1 MODBUS-RTU 协议 1 . 数据格式说明 1、1 通讯模式 本仪表采用 MODBUS RTU 格式。 协议用于主从查询模式,进行数据通讯。通讯流程如下图。 在 RTU 模式下,数据格式说明如下。 2 1、2 数据格式 数据格式为n,8,1(1 个起始位、8 个数据位、无校验、1 个停止位) 波特率可选五种,1200、2400、4800、9600、19200 其中:T1、T2、T3、T4 为每帧之间的时间间隔,两帧之间的传输必须大于间隔时间。 1、3 地址 协议中规定仪表的地址为“01-99”,“0”地址用于广播,本协议不支持广播,其余地址保留。 2 . 命令说明 2.1 本仪表使用了 MODBUS 协议中3 条指令: 命令 03(HEX) 读单个或多个寄存器 命令 06(HEX) 写单个寄存器 此命令包含在“命令 10”中 命令 10(HEX) 写多个寄存器 此命令包含“命令 6” 2.2 数据格式 协议中的数据包括:16 进制数、整数、BCD 码、浮点数 寄存器地址下列表中的属性指数据的读写属性,R-只读;W-写;R/W-既可读,也可写入。 单精度浮点数SINGLE 格式为IEEE754,数据由低到高。 32 位浮点数共计 32 位,折合 4 字节。 由最高到最低位分别是第 31、30、29、……、0 位 。 31 30-23 22-0 S 阶码 尾数 31 位是符号位(S),1 表示该数为负,0 反之; 3 30-23 位,一共8 位是阶码; 22-0 位,一共23 位是尾数。 BCD 码格式有两种: 格式1:4 字节BCD 编码,数据低→高,如数据20100617,表示为4 字节 2 0 1 0 0 6 1 7 地址低 地址高 格式2: (内部应用)6 字节BCD 编码,表示固定小数点的数据,数据低→高,如12345.678 表示为6 字节 0 0 0 0 1 2 3 4 5· 6 7 8 地址低 地址高 小数点默认为第 9 位数的后面。 无符号整数Uint 为0-65536。 各指令的格式及示例见下面的说明。 4 命令3 格式如下(读寄存器命令): MODBU S 请求 仪表地址 1 BYTE 01-99 功能码 1 BYTE 03 起始地址 2 BYTE 0-FFFF 读取数量 2 BYTE 1-7D CRC 低位 1 BYTE CRC 高位 1 BYTE MODBU S 响应 仪表地址 1 BYTE 01-99 功能码 1 BYTE 03(06、10) 字节计数 1 BYTE N 输入状态 N*2 BYTE CRC 低位 1 BYTE CRC 高位 1 BYTE 错误 响应 仪表地址 1 BYTE 01-99 功能码 1 BYTE 03(06、10)+ 80 错误代码 1 BYTE 01、02、03 CRC 低位 1 BYTE ...