• 华林优配

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

    • 时间 :2025-07-03
    • 作者 :华林优配科技
    • 浏览数 :2087

    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协议中定义具体的通信请求和响应。

    联系我们
    联系我们

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