Modbus RTU如何工作?
Modbus协议基本上是一个处理来自电子设备的请求和响应的系统。 主/从体系结构与主设备请求一起使用,这些请求由从设备响应。
什么是Modbus RTU主站?
Modbus RTU主站是从连接的从站设备请求信息的中央设备。 自动化生产系统中的中央控制器可以扮演Modbus RTU主站的角色。 Modbus实现有一个主服务器。 主设备从从设备获取信息,也可以写入从设备的寄存器。
什么是Modbus RTU从站?
Modbus RTU从站是响应主设备请求的设备。 它无法启动信息传输,并且在响应主服务器发出的请求之前处于保持模式。
如上所述,Modbus RTU实现中有一个主设备,最多可以有247个从设备。 每个从设备由从地址1到247标识。
Modbus协议的核心是被称为的组件 协议数据单元 (PDU). PDU由功能代码和数据组成,无论使用何种Modbus传输模式,都可以一致地构建。 功能代码指定主站请求的数据。
在Modbus RTU传输模式中,附加信息包裹在PDU周围以创建完整的应用数据单元(ADU)。 在信号流中和功能代码之前,在Modbus RTU模式下,发送1字节的从ID以识别应满足请求的从设备。 附加到PDU的是2字节CRC,确保发送和接收正确数量的字节。
Modbus设备支持四个数据表,用于促进设备之间的通信。 它们是离散输入,离散输出(线圈),输入寄存器和保持寄存器。 寄存器执行不同的功能,并不是每个设备都包含在内。 在某些情况下,只有保持寄存器用于I / O功能。
领域 |
访问 |
尺寸 |
描述 |
离散输入 |
只读 |
1位 |
用作输入 |
线圈输出 |
读/写 |
1位 |
用于控制离散 |
输入寄存器 |
只读 |
16位 |
用于输入 |
持有寄存器 |
读/写 |
16位 |
用于各种事物,包括输入,输出,配置数据等。 |
功能代码指示主设备如何与从设备ID中指定的从设备进行交互。 根据发送的功能代码,主设备可以读取从机的一个寄存器,或写入它们。
当从站接收到包含请求中的错误的数据包时,它们会返回错误代码。 对于诸如非法功能请求,指定从站无法访问的非法寄存器地址以及指示从设备忙或已经发生故障的消息等问题,将返回错误代码。
Modbus RTU要求您在启动通信时知道或定义波特率,字符格式(8位无奇偶校验等)和从站ID等参数。 任何这些参数不匹配都会导致您的通信尝试失败。