学习笔记-modbus rut over tcp/ip

modbus TCP和modbus rtu的报文区别:


41d9593abb6747758bd3a35eb3691c7b.png

Modbus-TCP:由TCP头+地址+PDU(Protocol Data Unit,协议数据单元)组成
Modbus-RTU:由地址+PDU+CRC校验组成
modbus rtu Over tcp/ip:是tcp网络通信,但是发送的报文还是按照rtu格式。
很多rtu转TCP的硬件并不能完全实现报文的转换,虽然由串口转成了网口,但还是按照rtu的报文格式来发送,以蝶舞TXB021为例:


image.png

TCP设置为client模式,配置好server的IP和端口后,通过串口向网口发送报文可以收到,但是没有回复。原因是硬件并没有把串口的报文转成TCP发送,而是原样转发了。
解决办法:

需要把TCP server端改成modbus rtu Over tcp/ip或者在串口端发送时按照TCP的报文格式进行发送才能收到回复。


server端为TCP原文发送收不到回复

串口端按TCP报文格式发送可收到回复

server端改成modbus rtu Over tcp/ip也能后正常
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容