凯发K8国际

干货:一文看懂Modbus RTU / ASCII / TCP协议的区别

  • 时间 :2025-07-03
  • 作者 :凯发K8国际科技
  • 浏览数 :1880

Modbus是Modicon公司于1979年开发的串行通信协议,是一种开放协议,支持使用RS232/RS485/RS422协议的串行设备。Modbus大致可以分为Modbus-RTU、Modbus-ASCII、Modbus-TCP,本问介绍了以上三种协议的主要区别。


一、Modbus-RTU协议

帧结构:帧结构=地址+功能码+数据+校验


   地址:一个字节,范围0-255,有效范围是1-247。

   功能码:一个字节,指明该指令类型,如功能码03表示读取数据,功能码06表示修改寄存器内容。

   数据:0-252个字节,根据功能码不同,有不同的结构。

   校验:两个字节,循环冗余校验,保证数据不错误。

   具体格式如下:

   

Modbus-RTU协议格式


二、Modbus ASCII协议

帧格式=起始+地址+功能码+数据+LRC+结束


起始:“:”,一个字节,消息帧以英文冒号开始,网络中从设备监视传输链路上是否有英文冒号“:”,如果有的话,就对消息帧进行解码,查看消息中的地址是否与自己相同,如果相同的话,就接受其中的数据;如果不同则不予理会。

地址:两个字节。

功能码:两个字节,指明指令类型。

数据:0-2*252字节。

LRC:两个字节,纵向冗余校验,保证数据不错误。

结束:两个字节,“CR,LF”,表示消息帧结束

 格式如下:

 

Modbus ASCII协议格式


相比于Modbus RTU协议,RTU协议发送一个字节,ASCII协议则需要发送两个字节。比如RTU发送一个字节0X30;ASCII需要发送两个字节,一个字节代表ASCII码3,一个字节代表ASCII码0。也就是说ASCII协议效率更低,但是用ASCII(文本模式)可以正常显示再计算机终端,方便调试显示。


三、Modbus TCP

Modbus TCP和modbus RTP基本相同,但Modbus是基于以太网的协议,基于TCP/IP协议栈进行通信。


主要区别在于:

1.从机地址不再重要,从某种意义上来说从机地址被IP地址取代。

2.CRC校验可以忽略,因为TCP数据包上已经存在校验。

3.Modbus TCP数据帧格式类似于TCP数据包,包含了IP地址、端口号等网络层信息以及Modbus应用数据单元(ADU)。

4.ADU由事务标识符、协议标识符、长度字段、单元标识符、功能码、数据等部分组成,用于在Modbus TCP协议中定义具体的通信请求和响应。

联系我们
联系我们

凯发K8国际Baimatech,集M2M产品研发、IoT平台服务、国际化运营于一体,让我们联接,共创未来