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