回复:应用探讨——S7-1200 通信的应用

Automann

  • 帖子

    6168
  • 精华

    138
  • 被关注

    308

论坛等级:至圣

注册时间:2004-12-23

普通 普通 如何晋级?

发布于 2011-12-01 15:30:44

25楼

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
图2是S7-200的Modbus从站通信程序。刚进入RUN模式时,执行一次MBUS_INIT(Modbus初始化)指令。
S7-200的模式开关在RUN位置时(SM0.7 = 1),才能执行Modbus协议通信。模式开关切换到TERM位置(SM0.7 = 0)时,将SM30.0 复位,通信模式被设置为PPI协议。



图2
在S7-1200的数据块DB3中生成一个数据类型为Word的数组,设置该数组前3个元素的初始值。
在S7-1200的I0.0的上升沿,图1左边的指令将DB3的前3个字(DBW0~DBW4)写入S7-200的VW100~VW104。在S7-1200的I0.1的上升沿,图1右边的指令读取S7-200的VW100~VW104,然后保存到DB3的DBW6~DBW10。监控DB3,可以验证通信是否实现。
S7-200的V存储区被默认为有断电保持功能。用状态表可以看到S7-1200的数据被成功地写到了VW100~VW104。
详细的操作方法见《S7-1200 PLC编程及应用》第2版。
追求完美
评论
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-1200系列

共有15106条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

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

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

  • 分享

  • 只看
    楼主

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