SEARCH
Tastek Information
了解更多塔石的讯息
首页 / 新闻资讯 / 技术交流
News

Modbus TCP协议与Modbus RTU协议的5个区别,不看不知道.

2021-03-12

Modbus TCP协议与Modbus RTU协议的5个区别,不看不知道.

以下均为原创内容,如需转载或复制,请与塔石物联网联系。


Modbus 是一种常见的通迅协议,依据它的变化还可以分裂成为TCP协议、RTU协议、ASCII协议等。

Modbus TCP协议与Modbus RTU协议的5个区别

今天我们就着重来讲一讲 TCP协议和 RTU协议之间到底有何区别。


①传输方式不同

Modbus TCP协议与Modbus RTU协议的5个区别

RTU协议需要将控制器设置成RTU模式,用二进制数据的传输方式就可以直接传送数据。

使用RTU协议传输的数据会有规定的间隔时间,每传输3.5个字节就会先停止其他数据的传输,等第一个字节传输完成后,下一个字节才能继续传输,如果一个新的字节接着上一个字节传输并且刚好凑成了3.5个字,那么设备就会自动将这两个字节当作是一个字节,CRC码检验时就会出错。

TCP协议在以太网的物理层上工作,是传输层第四层的协议,它先将每字节进行二进制传输再转换为十六进制的两个字节,依次这样操作将转换好的字节串联在一起。


②硬件接口不同

RTU协议使用的是233、422、485的串行接口。

串行接口整个操作过程比较方便,通过两个引脚就可以通迅,这两个引脚分别为Rx和Tx,它们的用途是用来传送和接收数据。

串行接口默认的波特率为9600、奇偶校验为否、数据位为8、 停止位为1。

从表现形式和结构来看,RTU协议的使用度比TCP协议更广泛。

TCP协议使用的是以太网接口,能直接连接网络,连接后它可以自行与其他的网络设备联系并确定一种目前最简便的工作方式。

以太网接口的工作模式分为全双工模式和半双工模式。

以太网接口根据类型可以分为传统接口和快速接口,具体有SC光纤的接口、RJ45的接口、AUI的接口、FDDI的接口、BNC的接口和Console的接口。


③校验码不同

RTU协议中为了检验整个数据的内容要用到16位的CRC校验,这个校验分别计算传输端的和接收端的帧内容,两个CRC值比较出来是相符合的就接收数据,若不相符就拒收这个数据并报告到上级设备。

TCP协议在连接时有着“确认对方信息”、“排序数据”、“控制数据流量”、“避免阻塞”的四个步骤,这样的连接协议相对来说会比较可靠,所以不需要再用额外的校验码去检验数据的帧内容。


④指令内容不同

Modbus TCP协议与Modbus RTU协议的5个区别

RTU协议的指令内容有五个字节,分别为从站地址、功能码、数据起始地址、数据数量量和CRC检验。

例如01、03、00 00、00 02、C4 0B。

TCP协议的指令内容在RTU指令内容的基础上增加了一个MBAP报文头,删除了CRC校验。

例如00 00 00 00 00 06 ff 03 00 00 00 02,其中00 00 00 00 00 06 ff七个字节为MBAP报文头。


⑤传输速度不同


使用RTU协议因使用的是232、422、485这样的串行接口,因此在传输速度上会比较慢,

使用TCP协议时的传输速度较快,如果想要更快的速度可以连接PLC总线的方式去扩展以太网模块的范围,但对于许多设备来说并不需要这么快的速度,速度过快,设备向上级设备报告数据的次数就会变多间接增加了设备的工作量。


RTU协议的推出早于TCP协议,随着网络环境的发展,TCP协议凭借着RTU协议没有的功能开始渐渐超越RTU协议,但目前为止,RTU协议的使用度还是要高于TCP协议。