Modbus RTU Over TCP 与 Modbus TCP 有啥区别?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Modbus RTU Over TCP 与 Modbus TCP 有啥区别?相关的知识,希望对你有一定的参考价值。

Modbus
RTU
Over
TCP指的是在TCP上使用MODBUS
RTU,与MODBUS
TCP是一个概念,并无区别。当然在TCP底层的通讯协议当中,的确会在MODBUS数据包前后自动增加TCP包头包尾,这是为了确定数据包的出发点和目标点,经过自动解析后,提供给最终用户的还是纯粹的MODBUS数据包。而在串口信道中使用MODBUS是不需要包头和包尾的,直接发MODBUS数据包即可。RTU指的是二进制方式,此外MODBUS还有ASCII方式。MODBUS
TCP默认使用RTU方式。
参考技术A modbus
是一种标准的工业控制数据交换协议,可以用rtu和ascii两种方式进行协议数据的互传,rtu是通过二进制数据方式直接传送数据,而ascii是通过将每字节二进制数据转换为固定两位十六进制字符串,再依次串联在一起,以ascii码形式进行数据传送,一般用得最多的还是rtu方式。
modbus
tcp与modbus
rtu不是一个概念,modbus
tcp指的是在以太网上进行modbus数据传送,在modbus
tcp中既可以使用rtu,也可以使用ascii。本回答被提问者采纳

Modbus RTU/TCP协议解析

Modbus通信协议由Modicon公司(现已经为施耐德公司并购,成为其旗下的子品牌)于1979年发明的,是全球最早用于工业现场的总线规约。由于其免费公开发行,使用该协议的厂家无需缴纳任何费用,Modbus通信协议采用的是主从通信模式(即Master/Slave通信模式),其在分散控制方面应用极其广泛,从而使得Modbus协议在全球得到了广泛的应用。

Modbus通信协议具有多个变种,其具有支持串口(主要是RS-485总线),以太网多个版本,其中最著名的是Modbus RTU,Modbus ASCII和Modbus TCP三种。其中Modbus RTU与Modbus ASCII均为支持RS-485总线的通信协议,其中Modbus RTU由于其采用二进制表现形式以及紧凑数据结构,通信效率较高,应用比较广泛。而Modbus ASCII由于采用ASCII码传输,并且利用特殊字符作为其字节的开始与结束标识,其传输效率要远远低于Modbus RTU协议,一般只有在通信数据量较小的情况下才考虑使用Modbus ASCII通信协议,在工业现场一般都是采用Modbus RTU协议,一般而言,大家说的基于串口通信的Modbus通信协议都是指Modbus RTU通信协议。

在此我们着重讨论Modbus RTU协议,而Modbus TCP协议则是在RTU协议上加一个MBAP报文头,由于TCP是基于可靠连接的服务,RTU协议中的CRC校验码就不再需要,所以在Modbus TCP协议中是没有CRC校验码,用一句比较通俗的话说就是:Modbus TCP协议就是Modbus RTU协议在前面加上五个0以及一个6,然后去掉两个CRC校验码字节就OK.虽然这句话说得不是特别准确,但是也基本上把RTU与TCP之间的区别说得比较清楚了。

Modbus RTU 无 01 03 01 8E 00 04 25 DE

Modbus TCP 00 00 00 00 00 06 00 无 03 01 8E 00 04 无


Modbus RTU与Modbus TCP读指令对比

RTU 无 01 10 01 8E 00 01 02 00 00 A8 7E

TCP 00 00 00 00 00 09 00 无 10 01 8E 00 01 02 00 00 无

Modbus RTU与Modbus TCP写指令对比

文章转自互联网,侵删

以上是关于Modbus RTU Over TCP 与 Modbus TCP 有啥区别?的主要内容,如果未能解决你的问题,请参考以下文章

Java实现使用Modbus4j+seroUtils读取Mudbus RTU/ASCII Over TCP/IP连接设备数据

modbus协议与tcp协议有啥关系?

omron cp1h modbus tcp 怎么设置

ModBus(RTU TCP UDP通信)及利用socket通信(DTU)实现Modbus-RTU通信协议

ModBus RTU与ModBus TCP通信协议详解

Modbus TCP和Modbus Rtu的区别