欢迎光临散文网 会员登陆 & 注册

Modbus RTU与Modbus ASCII之间的区别

2022-05-30 08:51 作者:北京微控工业网关  | 我要投稿

        Modbus是一种应用层协议,它定义了与基础网络无关的数据单元(ADU),可以在以太网(TCP/IP)或串行链路上(RS232、RS485等)进行通信(以太网ADU和串行ADU略有不同)。

        在串行链路上,Modbus协议有两种传输模式——ASCII模式和RTU模式。

        首先,让我们来看看Modbus的工作原理。

        Modbus采用主从(Master-Salve)通信模式,仅有主设备(Master)能对传输进行初始化,从设备(Slave)根据主设备的请求进行应答。典型的主设备包括现场仪表和显示面板,典型的从设备为可编程逻辑控制器(PLC)。

        在串行链路的主从通信中,Modbus主设备可以连接一个或N(最大为247)个从设备,主从设备之间的通信包括单播模式和广播模式。

        在广播模式中,Modbus主设备可同时向多个从设备发送请求(设备地址0用于广播模式),从设备对广播请求不进行响应。

        在单播模式中,主设备发送请求至某个特定的从设备(每个Modbus从设备具有唯一地址),请求的消息帧中会包含功能代码和数据,比如功能代码“01”用来读取离散量线圈的状态。从设备接到请求后,进行应答并把消息反馈主设备。

         在主从设备的通信中,可以使用ASCII模式或者RTU模式。

        在ASCII(AmericanStandard Code for Information Interchange)传输模式下,消息帧以英文冒号(“:”,ASCII3A Hex)开始,以回车和换号(CRLF,ASCII 0D and 0A Hex)符号结束,允许的传输的字符集为十六进制的0~9和A~F;网络中的从设备监视传输通路上是否有英文冒号(“:”),如果有的话,就对消息帧进行解码,查看消息中的地址是否与自己的地址相同,如果相同的话,就接收其中的数据;如果不同的话,则不予理会。

        在ASCII模式下,每个8位的字节被拆分成两个ASCII字符进行发送,发送的字符量比RTU增加一倍。ASCII模式的好处是允许两个字符之间间隔的时间长达1s而不引发通信故障,该模式采用纵向冗余校验(Longitudinal Redundancy Check ,LRC)) 的方法来检验错误,

        当控制器设为在Modbus 网络上以RTU 模式通信,消息中的每个8Bit 字节都包含两个4 Bit 的十六进制字符,这种模式没有开始和结束标记。其优点是: 在同样的波特率下,可比传送更多的数据。

        在RTU(RemoteTerminal Unit)模式下,每个字节可以传输两个十六进制字符,因此它的发送密度比ASCII模式高一倍;RTU模式采用循环冗余校验(CRC)。

        下面是对ASCII、RTU模式的总结:



Modbus RTU与Modbus ASCII之间的区别的评论 (共 条)

分享到微博请遵守国家法律