Modbus _rtu 通信数据格式

Modbus-RTU 通信应用的场合是比较多的,今天我们主要讲的内容是关于Modbus 通信的时候字节长度的注意事项,举几个例子来证明下,我这边主要用的是S7-1200 与流量计、PH智能计、智能液晶显示温度控制器进行通信。

首先理解西门子的高低字节:比如MW0 分别有MB0 和MB1组成,这里MB0是高字节排在左边,MB1是低字节排在右边,如果还不理解,那再比如A2代表一个16进制的数存储在MW0中,A就存储在MB0中,2存储在MB1中,有的通信设备会写出LO w 和HI w,那这个就是反的,如图:

还有的通信设备会写成2143的数据类型,这样也表示反着的,所以要分清楚。在这里贴几张图出来给大家看看。




当数据格式不一致的时候,需要进行高低字节进行转换,我用博图来进行转换的,下面给大家贴一个图。


这部分就是为了将高低字节进行转换,因为是16位,采用这样的寻址方式是可以进行的输入%W0,这个在别的地方也会应用到的。

总结:如果涉及到Modbus—RTU的通信,除了基本的波特率,设备地址,校验方式,这个数据格式也是非常重要的,如果有不清楚的,欢迎留言进行交流,如果有写的不好的地方,请大家指出来。

你可能感兴趣的:(Modbus _rtu 通信数据格式)