Modbus协议地址的设定 点击:136 | 回复:0



xiexie1999

    
  • [版主]
  • 精华:1帖
  • 求助:12帖
  • 帖子:717帖 | 3886回
  • 年度积分:977
  • 历史总积分:161101
  • 注册:2013年4月29日
发表于:2020-01-02 09:07:51
楼主

      利用Modbus协议可以实现设备间的数据交换。Modbus通讯理论上支持4种Modicon PLC地址,即0*、1*、3* 和4*四种,分别表示开出(中间线圈)、开入、模入、模出(中间寄存器)等数据地址。与西门子或其它设备中的开入、开出、模入、模出地址完全不对应。可以理解为0*和1*对应位地址的读写操作,3* 和4*字地址的读写操作。

此处0*、1*、3* 和4*表示长度有的为5位数字、有的为6位,其实和Modbus通讯无关,只是和软件的表示方式有关。
按照Modbus通讯时最常用的是RTU读请求格式:
从站地址(1个字节)、功能代码(1个字节)、从站数据起始地址(2个字节)、读数据长度(2个字节)、CRC校验(2个字节)
可见,只需设置起始从站数据区起始地址和通讯长度即可。

特别注意,Modbus地址遵从IEC1的地址标准(最小地址为*1),西门子遵从IEC0的标准(最小地址为0,如M0.0)。因此,不同标准的地址做通讯时需要做地址变换,即加1的操作。

1分不嫌少!


楼主最近还看过


热门招聘
相关主题

官方公众号

智造工程师