S7-1200作主站的Modbus RTU通信 点击:2783 | 回复:1



稚若初现0

    
  • 精华:0帖
  • 求助:0帖
  • 帖子:104帖 | 384回
  • 年度积分:0
  • 历史总积分:4735
  • 注册:2012年4月20日
发表于:2012-09-03 17:30:37
楼主

 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是要访问的从站数据的起始地址。MODEDATA_ADDR一起确定报文中的功能代码。
 DATA_LEN
是要访问的数据长度。DATA_PTR是要读取或写入数据时用到的本站的源地址或目标地址。DONE1表示操作已完成,BUSY1表示正在处理任务。
 


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


 
2
     
S7-1200的数据块DB3中生成一个数据类型为Word的数组,设置该数组前3个元素的初始值。
 
S7-1200I0.0的上升沿,图1左边的指令将DB3的前3个字(DBW0~DBW4)写入S7-200VW100VW104。在S7-1200I0.1的上升沿,图1右边的指令读取S7-200VW100VW104,然后保存到DB3DBW6~DBW10。监控DB3,可以验证通信是否实现。
      S7-200
V存储区被默认为有断电保持功能。用状态表可以看到S7-1200的数据被成功地写到了VW100VW104




云锋

  • 精华:1帖
  • 求助:4帖
  • 帖子:252帖 | 5541回
  • 年度积分:0
  • 历史总积分:30376
  • 注册:2005年6月24日
发表于:2012-09-03 17:54:55
1楼

不错,图文并茂。

顶楼主。


热门招聘
相关主题

官方公众号

智造工程师