MODBUS协议命令格式主要分为Modbus RTU格式和Modbus ASCII格式。下面分别介绍两种格式的命令格式。
MODBUS协议命令格式
Modbus RTU格式是以二进制数据方式传输数据,通讯速度快。它的命令格式如下:
| 地址码 | 功能码 | 数据 | CRC校验码 |
说明:
地址码:指定待通信的设备地址,可以是广播地址、单设备地址或多设备地址。地址码占1字节,有效值范围是1~247。
功能码:指令类型,详细说明程序执行的操作是读取、写入还是查询串口通信协议。功能码占1字节,有效值范围是1~255。
数据:根据执行的命令指令来封装数据内容,数据长度为多字节。
CRC校验码:数据传输前需要计算校验和,检验数据是否传输正确。CRC校验占2字节。
MODBUS协议命令格式
Modbus ASCII格式是以ASCII字符方式传输数据。它的命令格式如下:
| : | 地址码 | 功能码 | 数据 | 校验码 | 回车 | 换行 |
说明:
“:”:起始符,以冒号表示;
地址码:指定待通信的设备地址,可以是广播地址、单设备地址或多设备地址。地址码占2个ASCII字符,有效值范围是01~FE。
功能码:指令类型,详细说明程序执行的操作是读取、写入还是查询。功能码占2个ASCII字符,有效值范围是01~FF。
数据:根据执行的命令指令来封装数据内容,数据长度为多字节。
校验码:校验数据是否传输正确,占2个ASCII字符。
回车:表示数据传输结束,以回车符表示。
换行:表示数据传输结束,以换行符表示。