1MODBUS RTU
读寄存器请求序号意义所占字节字节存放格式
1从设备地址1个字节0x00−0xff 2功能码1个字节0x03
3起始寄存器基地址两个字节高字节在前
4寄存器个数两个字节高字节在前
5CRC校验码两个字节低字节在前
读寄存器回应序号意义所占字节字节存放格式1从设备地址1个字节0x00−0xff
2功能码1个字节0x03
3数据长度1个字节寄存器个数×2
4数据寄存器个数×2个字节每个寄存器高字节在前5CRC校验码两个字节低字节在前
写单个寄存器请求序号意义所占字节字节存放格式1从设备地址1个字节0x00−0xff 2功能码1个字节0x06
3起始寄存器地址两个字节高字节在前
4寄存器值两个字节 高字节在前
5CRC校验码 两个字节 低字节在前
写单个寄存器回应序号意义所占字节字节存放格式1从设备地址1个字节0x00−0xff 2功能码1个字节0x10
3起始寄存器地址两个字节高字节在前
4寄存器值两个字节 高字节在前
5CRC校验码 两个字节 低字节在前
1
写多个寄存器请求序号意义所占字节字节存放格式1从设备地址1个字节0x00−0xff
2功能码1个字节0x10
3起始寄存器地址两个字节高字节在前
4寄存器个数两个字节 高字节在前
5数据长度 1个字节 寄存器个数×2
6数据寄存器个数×2个字节每个寄存器高字节在前7CRC校验码 两个字节 低字节在前
写多个寄存器回应序号意义所占字节字节存放格式1从设备地址1个字节0x00−0xff 2功能码1个字节0x10
3起始寄存器地址两个字节高字节在前
4寄存器个数两个字节 高字节在前
5CRC校验码 两个字节 低字节在前
错误返回序号意义所占字节字节存放格式1从设备地址1个字节0x00−0xff
2功能码1个字节请求功能码+0x80 3错误码1个字节 其代号见下面表格4CRC校验码 两个字节 低字节在前
错误代号错误代号意义
0x01不支持该功能码
0x02越界
0x03寄存器数量超出范围
0x04读写错误
2
2MODBUS TCP
读寄存器请求序号意义所占字节字节存放格式1事务处理标识两个字节高字节在前
2协议标识两个字节高字节在前
3长度两个字节高字节在前
4单元标识1个字节0x00−0xff 6功能码1个字节0x03
7起始寄存器基地址两个字节高字节在前
8寄存器个数两个字节高字节在前
•事务处理标识,该标识在主机和从机都是一样的,亦即是说从机收到MODBUS协议包时,该标识原封不动地回传给主机。
•协议标识,0表示MODBUS协议。
•长度,该长度是指紧跟其后的数据长度。
•单元标识,和RTU的地址是一样的。
读寄存器回应序号意义所占字节字节存放格式1事务处理标识两个字节高字节在前
2协议标识两个字节高字节在前
3长度两个字节高字节在前
4单元标识1个字节0x00−0xff
5功能码1个字节0x03
6数据长度1个字节寄存器个数×2
7数据寄存器个数×2个字节每个寄存器高字节在前
写单个寄存器请求序号意义所占字节字节存放格式1事务处理标识两个字节高字节在前
2协议标识两个字节高字节在前
3长度两个字节高字节在前
4单元标识1个字节0x00−0xff 5功能码1个字节0x10
6寄存器地址两个字节高字节在前
7寄存器值两个字节 高字节在前
3
写单个寄存器回应序号意义所占字节字节存放格式1事务处理标识两个字节高字节在前
2协议标识两个字节高字节在前
3长度两个字节高字节在前
4单元标识1个字节0x00−0xff 5功能码1个字节0x10
6寄存器地址两个字节高字节在前
7寄存器值两个字节 高字节在前
写多个寄存器请求序号意义所占字节字节存放格式1事务处理标识两个字节高字节在前
2协议标识两个字节高字节在前
3长度两个字节高字节在前
4单元标识1个字节0x00−0xff
5功能码1个字节0x10
6起始寄存器地址两个字节高字节在前
7寄存器个数两个字节 高字节在前
8数据长度 1个字节 寄存器个数×2
9数据寄存器个数×2个字节每个寄存器高字节在前
写多个寄存器回应序号意义所占字节字节存放格式1事务处理标识两个字节高字节在前
2协议标识两个字节高字节在前
3长度两个字节高字节在前
4单元标识1个字节0x00−0xff 5功能码1个字节0x10
6起始寄存器地址两个字节高字节在前
7寄存器个数两个字节 高字节在前
4
错误返回序号意义所占字节字节存放格式1事务处理标识两个字节高字节在前
2协议标识两个字节高字节在前
3长度两个字节高字节在前
4单元标识1个字节0x00−0xff
5功能码1个字节请求功能码+0x80 6错误码1个字节 其代号见上面表格
5