网站标志
导航菜单
当前日期时间
当前时间:
购物车
购物车中有 0 件商品 去结算 我的订单
商品搜索
商品搜索:
文章正文
s7-200与s7-300的mpi通信
作者: 来源:中国机电工程网    发布于:2019-06-04 20:41:07    文字:【】【】【

mpi(多点接口)是西门子内部使用的通信协议,物理层为rs-485。通过mpi网络的s7基本通信,s7-300可以用系统功能x_get和x_put来读、写s7-200的存储区,最多可读、写76字节的数据,s7-200不需要编写通信程序。其优点是使用自带的rs-485通信接口,不需要增加通信用的硬件,编程简单,容易实现。

1.通信参数的设置

用系统块设置cpu 224在mpi网络中的站地址为3。为了方便下载和监控,将s7-200、s7-300和计算机的通信速率均设置为19.2 kbit/s。需要将系统块下载到cpu,设置的参数才会起作用。

组态时将cpu 315-2dp连接到mpi网络上,设置mpi站地址为2。将设置的参数下载到cpu 315-2dp。

2.cpu 315-2dp读写cpu 224的v区的编程#p#分页标题#e#

在cpu 315-2dp的ob35中调用sfc 68“x_put”,将本站的db 1的76字节数据发送到通信伙伴的db 1的dbb100~dbb175,即cpu 224的vb100~vb175。调用sfc 67“x_get”,读取cpu 224的vb200~vb275(即db 1的dbb200~dbb275)中的数据,将它们存放到db 2。执行ob35的时间间隔为默认的100ms。

下面是cpu 315-2dp的循环中断组织块ob35的程序:

程序段1:将本站的db1中的数据写入cpu 224的#p#分页标题#e#v区

call"x_put"

req:=true

cont:=true

dest_id:=w#16#3//s7-200的mpi地址

var_addr:=p#db1.dbx100.0 byte 76//s7-200要写入数据的vb100~vb175

sd:=p#db1.dbx0.0 byte 76//存放本站要发送的数据的地址区

ret_val:=mw2

busy:=m0.1

程序段2:读取cpu 224的v区的数据,保存到本站的db 2

call"x_get"

req:=true

cont:=true

dest_id:=w#16#3

#p#分页标题#e#var_addr:=p#db1.dbx200.0 byte 76//要读取s7-200的vb200~vb275

ret_val:=mw4

busy:=m0.3

rd:=p#db2.dbx0.0 byte 76//保存读取的数据的地址区

为了验证通信是否实现,在初始化程序ob100将数据块db 1的76字节数据发送区的字预置为w#16#3333,将db 2的76字节数据接收区复位为0。

3.cpu 224的程序

为了验证通信是否实现,在cpu 224的ob1中,在第一个扫描周期将发送数据区vw204~vw274预置为16#2222,将接收数据区vw100~vw174清零。

ldsm0.1

fill#p#分页标题#e#16#2222, vw204, 38

fill16#0, vw100, 38

可以用cpu 315-2dp的变量表和cpu 224的状态表来监视参与通信的存储区。

我第1次做实验的时候,很顺利地一下就成功了。总的感觉是只要组态和编程没有问题,通信很容易实现。

浏览 (37) | 评论 (0) | 评分(0) | 支持(0) | 反对(0) | 发布人: 来源:中国机电工程网
将本文加入收藏夹
新闻详情
脚注栏目
|
脚注信息
机电工程网(C) 2015-2020 All Rights Reserved.    联系我们