信号传输模式对比
一、RTU与ASCII
1、Modbus ASCII协议拥有开始和结束标记,Modbus RTU没有。
这就使得ASCII协议中对数据包的处理能够更加的方便。
例如:ASCII协议中一个数据包之间的传输间隔可以高达1s(一般不超过1s,超过1s接收设备认为出错)。
RTU协议中规定每两个字节中之间发送或接收时间不得超过3.5倍的字符传输时间,否则超过这一规定时间则会认为是新帧的开始。
2、ASCII协议的可读性强、传输效率低。
由于ASCII协议传输的都是可见的ASCII字符,所以调试阶段会显得更加直观。
但是这同时也是它的缺点,可读性的增加带来的就是通讯传输效率低。例如传输1个十六进制数0xF9,ASCII就要传送“F”和“9”两个字符,其对应的ASCII码是0x46和0x39两个字节,而RTU只需要1个字节就可以完成传输。
而Modbus作为应用于工业领域的通信协议,面向的主要是技术工人和工程师,不需要很强的可读性,反而传输的数据量一般会比较大,所以在工业现场很少会采用ASCII协议。
3、校验程序不同
RTU采用CRC校验,而ASCII采用LRC校验。LRC校验程序相对CRC校验程序简单。两种校验方法会在后续文章中详细介绍。
二、TCP与Rtu
1、概念不同:Modbus是一种标准的工业控制数据交换协议,可以用RTU和ASCII两种方式进行协议数据的互传,RTU是通过二进制数据方式直接传送数据,而TCP是通过将每字节二进制数据转换为固定两位十六进制字符串,再依次串联在一起,以TCP码形式进行数据传送,一般用得最多的还是RTU方式。
2、通信方式不同:以太网,对应的通信模式是Modbus TCP。异步串行传输(各种介质如有线RS-232-/422/485/;光纤、无线等),对应的通信模式是Modbus Rtu或Modbus ASCII。高速令牌传递网络,对应的通信模式是Modbus PLUS。
Modbus功能码