• 登录
社交账号登录

工业路由器中的ModBus协议

作者:admin 发布时间:2024-10-31 点击数:

工业路由器中的ModBus协议

1. 介绍

Modbus是一种请求-应答协议,基于主/从或客户端/服务器架构。在主从关系中,通讯是成对出现。一个设备必须发起请求,然后等待响应。发起的设备(称为主设备)负责启动每次交互。通常,主设备是一个HMI或SCADA系统,从设备是传感器、可编程逻辑控制器(PLC)或可编程自动控制器(PAC)。在标准的Modbus网络中,有一个主设备和多达247个从设备。每个从设备都有一个从1到247的唯一从设备地址。2. Modbus 协议详解

目前,modbus协议主要用于串口和以太网。对于串口连接,又分为modbus RTU和mobus ASCII,它们在数据和协议细节上略有不同。对于以太网连接,使用modbus TCP。

2.1  Modbus数据传输模式

1) Modbus RTU用于串口通信,使用二进制数据来进行协议通信。RTU格式使用循环冗余校验和作为错误检查机制,以确保数据的可靠性。Modbus RTU是Modbus最常用的实现方式。一个Modbus RTU消息必须一次连续传输,不能有字符间的停顿。Modbus消息通过空闲(沉默)期分隔。

2) Modbus ASCII也用于串口通信,使用ASCII字符进行协议通信。ASCII格式使用纵向冗余校验校验和。Modbus ASCII消息由冒号(":")和尾部换行符(CR/LF)来作为一首尾标识。

3) Modbus TCP用于TCP/IP网络通信的Modbus,连接端口为502。它不需要计算校验和,因为TCP/IP底层已经提供了校验和保护。

2.2  Modbus ASCII,RTU,TCP的差异

Modbus RTU和Modbus ASCII使用相同的协议。唯一的区别是传输的字节在RTU中以二进制形式呈现,而在ASCII中以可读的文本形式呈现。需要注意的是RTU消息没有文本开始的标志,通讯中的接收方使用"静默"时间来确定新消息的开始,而ASCII有一个文本开始的标记。二进制消息比ASCII短,因此理论上RTU方式比ASCII方式传输/接收速度更快。

Modbus TCP基本上可以理解为通过以太网TCP/IP传输的的Modbus RTU协议。Modbus数据结构是使用TCP/IP协议中的应用层定义的。TCP协议用于确保正确接收和发送数据,而IP协议包含地址和路由信息。Modbus TCP命令通过TCP/IP协议打包传输的Modbus RTU命令。Modbus TCP的优势在于可以使用通用的以太网设备。

3. 中新通信设备中的ModBus应用

中新通信DTU、RTU及工业路由器设备均可支持通过ModBus协议采集传感器或设备数据,通过5G/4G通信网络上传到远程服务器,支持透传及协议转换。