•  
  • 网站首页
  • 关于我们
  • 新闻资讯
  • 产品中心
  • 解决方案
  • 服务支持
  • 人力资源
  • 渠道建设
  • 联系我们
    • 新闻资讯
    • 新闻首页
    • 公司新闻
    • 行业资讯
    • 应用案例
  • 您当前位置:网站首页 > 新闻资讯 > 行业资讯 > 两台西门子Smart200 PLC之间 Modbus RTU通讯实例
    • 两台西门子Smart200 PLC之间 Modbus RTU通讯实例
    • 发布时间: 2021.01.04
    • 通讯材料: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 RTU通讯程序,相对从站通讯程序比较简单,仅仅只是指定通讯种类由

      Mbus_init

      管脚指定maxIQ/maxAI/maxHOLD/Holdstart定义,其它管脚根据主站定义匹配进行,相对主站需要根据从站地址偏移量来确定。

      通讯数据:





      Modbus通讯程序相对的难点是通讯映射的地址关系。

      主站读取从站的数据,起始地址是根据从站Holdstart管脚定义的起始地址开始算,而不是指从站的V区物理地址。在验证程序中,从站的Mbus_init起始地址为VB11,那么,主站MSG指令的Addr 40001,应该是指从站的VB11地址。



      同理,从站读取主站系统时钟,主站的MSG指令的Addr 40011,对应到从站的地址相当于偏移了10个字(偏移量10word + 11byte = 31byte) ,即为VB31开始的8个字节中存放,Modbus通讯地址计算是40001开始的。















  • 关于我们
    公司简介
    企业文化
    发展历程
    资质荣誉
    正航生活
    联系我们
  • 新闻资讯
    公司新闻
    行业资讯
    应用案例
  • 产品中心
    PLC
    分布式I/O
    人机界面
    开关电源
    快速接线
    伺服系统
    冗余系列
  • 解决方案
    水处理
    制冷制热及供热
    纺织机械
    采矿及治金
    其它领域
  • 服务支持
    服务保障
    售后保障
    技术咨询及购买
    文档与资料
    客户反馈
  • 渠道建设
    渠道政策
    渠道申请
  •  
  • 上海正航电子科技有限公司
    地址:上海松江区九亭镇久富开发区叶亭路28号1栋
    电话:021-64757771   54979238   54979653
    传真:021-64757772-830
    网址:http://www.zhenghangPLC.com
    电邮:zhdz@zhenghangPLC.com

    正航电子微信公众号
  • © 2015 上海正航电子科技有限公司 版权所有 沪ICP备05043961号-2