1、背景
工作需要,需要使用Modbus-RTU实现RS485通行,于是简单学习并实践了一下。
2、参考资料
一文看懂Modbus协议
3、协议说明
3.1、协议类型
当前设备采用Modbus-RTU协议,采用CRC-16_Modbus校验算法,数据链路层私用标准串口协议,物理层采用RS485进行数据传输。
3.2、帧结构
帧结构 | 说明 |
---|---|
地址码(1) | 指定待通信的设备地址,可以是广播地址、单设备地址或多设备地址。地址码占1字节,有效值范围是1~247。 |
功能码 (1) | 指令类型,详细说明程序执行的操作是读取、写入还是查询串口通信协议。功能码占1字节,有效值范围是1~255 |
起始地址(2) | 寄存器地址,2个字节 |
数据(N) | 根据执行的命令指令来封装数据内容,数据长度为多字节 |