Modbus RTU(Remote Terminal Unit) 是一种 串行通信协议,运行在 RS-485、RS-232 等物理层之上,用于实现 主从通信。
- 由 Modicon 公司于 1979 年制定
- 被广泛应用于 PLC、工业控制系统、远程I/O模块
1.通信架构:主从式
- 主站(PLC 或上位机)发出请求
- 从站(接口模块)按地址响应
2.报文结构(标准 RTU 帧)
[起始静默] [从站地址] [功能码] [数据] [CRC校验] [结尾静默]
其中:
- [起始静默] 时间长度≥3.5个字符时间,表示一次传输开始
- [从站地址] 长度1字节(8bit),表示目标设备地址(1~247)
- [功能码] 长度1字节,表示操作类型,如读写寄存器
- [数据] 长度N字节(由要读或写的位决定),表示操作参数,如寄存器地址、数量等
- [CRC校验] 长度2 字节(16bit),帧尾16位 CRC 检查码
- [结尾静默] 时间长度≥3.5个字符时间,表示一次传输结束
标准 RTU 帧没有开始帧和结束帧,而是以时间作为界定
3.常用功能码

最常用的有01(读一个/多个位),05(写一个位),15(写多个位)03(读一个/多个寄存器),06(写一个寄存器),16(写多个寄存器)
详细功能码见Modbus RTU 协议产品的用户手册
4.其他
学习Modbus RTU 协议可以使用Modbus poll(Modbus 主机设备模拟软件)和Modbus slave(Modbus 从机设备模拟软件)
使用RS485转USB工具你才能连接到电脑使用串口助手发送或接收数据包