技术咨询:18982180645
服务热线:028-83268936 English
前沿资讯 真实、准确的物联网、互联网行业新闻

Modbus RTU,Modbus TCP,Modbus协议区别,Modbus RTU与Modbus TCP区别

你的位置: 网站首页 新闻动态 技术应用
Modbus RTU与Modbus TCP协议区别详解
2020-10-19 16:54:38 阅读:17 发布人:纵横智控

Modbus通信协议由Modicon公司于1979年发明的,是全球最早用于工业现场的总线规约。由于其免费公开发行,使用该协议的厂家无需缴纳任何费用,因此Modbus协议在全球得到了广泛的应用。

Modbus通信协议具有多个变种,其中最常见的是Modbus RTU和Modbus TCP协议。

这两种协议很相似,下面以读取多个保持寄存器为例说明一下它们之间的区别:

Modbus RTU通信发送格式为:从站地址01(表示从站地址) 功能码03(读单/多个保持寄存器) 数据起始地址 00 00(表示从40001开始) 数据个数00 02(表示读两个字) CRC检验码xx xx(这里的CRC校验码为C4 0B),连起来就是01 03 00 00 00 02 C4 0B。发送过去之后,从站会返回数据,数据格式为:01 03 04 01 02 03 04 5B 3C,其中01从站地址,03功能码读,04数据字节数,01 02 03 04数据内容,5B 3C为CRC校验码。

图片关键词

而Modbus TCP协议则是在Modbus RTU协议上加一个MBAP报文头,由于TCP是基于可靠连接的服务,RTU协议中的CRC校验码就不再需要,所以在Modbus TCP协议中是没有CRC校验码,这个MBAP报文头共七个字节长度,除了第五、六个字节外,其余的基本上都是不变。例如用Modbus TCP完成上面的操作则是发送00 01 00 00 00 06 ff 03 00 00 00 02即可,第五、六个字节为00 06 表示00 06之后有6个字节。具体操作见下图

图片关键词

返回值则是00 01 00 00 00 07 ff 03 04 01 02 03 04。其中前7个字节是MBAP报文头,03功能码读,04数据字节数,01 02 03 04表示数据内容。

所以Modbus TCP协议其实就是Modbus RTU协议去掉CRC校验码,去掉前面的从站地址码,然后在最前面加上7个字节的长度的MBAP报文头。

图片关键词

而Modbus TCP是基于以太网的基础上演变来的,物理接口就决定了它通讯速率和校验方式。

以上就是Modbus RTU与Modbus TCP协议之间的基本区别,描述得比较清楚了,希望能解决大家的疑惑。