您好!欢迎光临工博士商城

西门子工控专营

产品:2316    
联系我们
您当前的位置:首页 » 新闻中心 » 两台西门子S7-200PLC如何通过Modbus RTU协议进行通讯?
产品分类
新闻中心
两台西门子S7-200PLC如何通过Modbus RTU协议进行通讯?
发布时间:2021-11-26        浏览次数:670        返回列表
   通讯资料:
 
  1)、PLC2台,分别是200SMART 的CR60和SR20;2)、2个DP插头(6ES7972-0BX12-0XA0)3)、衔接导线若干(plc电源及通讯)
 
  验证内容:令:CR60 PLC为主站,发送PLC体系时钟(8个字节的信息)给SR20从站;SR20从站发送一个双字的循环移位数据给主站,并由通讯数据VD100接纳输出到QD0。
 
  主站程序:

                      
 
  在验证过程中从前出现一个过错,使MSG指令始终显示为6,表明从站无呼应。我验证时,由于衔接2台plc之间的3+、8-没有承认,形成接线过错,使MSG的error过错信息为6,查看后找到原因,重新接线后依然报警6。***后查看为控制程序不完整,主要原因是没有给MB0一个初始化操作,形成过错值没有得到有用的刷新。于是,在程序段1中参加初始化操作得到解决。

                       
 
  主站MSG指令主要了解Addr地址的使用,下面有描绘。

                    
 
  从站程序:从站通讯地址设置为1#

                     
 
  从站自VB31开端为读取主站VB11开端的8个字节主站体系时钟数据,指定VB31的开端地址是由Addr地址40011定义的,从站循环指令VD11运转成果,将由Mbus_init的Holdstart定义的开端地址发送和接纳。
 
  通讯数据:

                     
 
  Modbus通讯程序相对的难点是通讯映射的地址关系。
 
  主站读取从站的数据,开端地址是根据从站Holdstart管脚定义的开端地址开端算,而不是指从站的V区物理地址。在验证程序中,从站的Mbus_init开端地址为VB11,那么,主站MSG指令的Addr 40001,应该是指从站的VB11地址。
 
  同理,从站读取主站体系时钟,主站的MSG指令的Addr 40011,对应到从站的地址相当于偏移了10个字(偏移量10word + 11byte = 31byte) ,即为VB31开端的8个字节中寄存,Modbus通讯地址计算是40001开端的。



 

联系热线:18621383619   联系人:尹少杰 联系地址:北京市朝阳区东土城路4号金泰腾达写字楼A座4层

技术和报价服务:星期一至星期六8:00-22:00 西门子工控专营