回复:应用探讨——S7-200 PLC通信常遇到的问题

Automann

  • 帖子

    6168
  • 精华

    138
  • 被关注

    308

论坛等级:至圣

注册时间:2004-12-23

普通 普通 如何晋级?

发布于 2011-05-15 09:57:09

55楼

S7-1200作主站的modbus RTU通信
S7-200和 S7-1200可以实现modbus RTU通信,它们可以作通信中的主站,也可以作从站。S7-1200需要增加一块RS485通信模块。
在下面的例子中,S7-1200作主站,S7-200作从站。
在S7-1200的初始化组织块OB100中调用MB_COMM_LOAD指令(FB1080),来组态通信接口,设置通信的波特率、奇偶校验方式。
MB_MASTER指令(FB1081)用于主站的modbus通信。在REQ输入(见图1)的上升沿,将数据发送到从站。
MB_ADDR是站地址,MODE用于选择modbus功能的类型,DATA_ADDR是要访问的从站数据的起始地址。MODE和DATA_ADDR一起确定报文中的功能代码。
DATA_LEN是要访问的数据长度,DATA_PTR是要读取或写入数据时用到的本站的源地址或目标地址。DONE为1表示操作已完成,BUSY为1表示正在处理任务。


图1
下面是S7-200的modbus从站通信程序:
LD SM0.1
CALL MBUS_INIT:SBR1, 1, 2, 19200, 0, +0, +128, +32, +200, &VB100, M0.1, MB1

LD SM0.7
CALL MBUS_SLAVE:SBR2, M0.2, MB2

LDN SM0.7
EU //若转换为TEAM模式,则设置为PPI协议(SM30.0=0)
R SM30.0, 1
在S7-1200的数据块DB3中生成一个数据类型为Word的数组,设置该数组前3个元素的初始值(见图2)。


图2
接通和断开S7-1200的I0.0外接的小开关,图1左边的指令将DB3的前3个字(见图2)写入S7-200的VW100~VW104。接通和断开S7-1200的I0.1外接的小开关,图1右边的指令读取S7-200的VW100~VW104,然后保存到图2下面的3个字中。
S7-200的V存储区被默认为有断电保持功能。用状态表可以看到S7-1200的数据被成功地写到了VW100~VW104。
追求完美
评论
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-200

共有33257条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

快扫描右侧二维码晒一晒吧!

再发帖或跟帖交流2条,就能晋升VIP啦!开启更多专属权限!

  • 分享

  • 只看
    楼主

top
您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。