海水养殖ORP水质传感器
附录 数据通讯数据格式
Modbus通信默认的数据格式为: 9600、n、8、1(波特率9600bps,1个起始位,8个数据位,无校验,1个停止位)。
波特率等参数可以定制。
信息帧格式读数据指令帧06 03 xx xx xx xx xx xx
地址 功能码 寄存器地址 寄存器数量 CRC校验码(低字节在前)
读数据应答帧06 03 xx xx……xx xx xx
地址 功能码 字节数 应答数据 CRC校验码(低字节在前)
写数据指令帧06 06 xx xx xx xx xx xx
地址 功能码 寄存器地址 写入数据 CRC校验码(低字节在前)
写数据应答帧(同写数据指令帧)06 06 xx xx xx xx xx xx
地址 功能码 寄存器地址 写入数据 CRC校验码(低字节在前)
寄存器地址寄存器地址 | 名称 | 说明 | 寄存器个数 | 访问方式 |
40001 (0x0000) | 测量值 | 2个双字节整数,分别为测量值、测量值小数位数。 | 2(4字节) | 读 |
44097 (0x1000) | 零点校准 | 在标准溶液中校准,写入数据为标准溶液实际值。 | 1(2字节) | 写 |
44103 (0x1006) | 零点校准值 | 读出数据为零点偏移量。 | 1(2字节) | 读 |
48195 (0x2002) | 传感器地址 | 默认为6,写入数据范围1-127。 | 1(2字节) | 写/读 |
48225 (0x2020) | 恢复出厂 | 校准值恢复出厂设置,写入数据为0。 | 1(2字节) | 写 |
注意:
寄存器地址为根据Modbus协议定义的带寄存器类型的寄存器起始地址(括号中的16进制表示的实际的寄存器起始地址)。更改传感器地址时,返回指令中的传感器地址为更改后的新地址。读取数据时返回测量值的数据定义:xx xx xx xx
2字节测量值 2字节测量值小数位数
数据类型默认为:双字节整型,高字节在前;其他如浮点数类型可选。
命令示例设置设备ID地址作用:设置电极的Modbus设备地址;
将设备地址06改为01,范例如下
请求帧:06 06 20 02 00 01 E3 BD
应答帧:01 06 20 02 00 01 E2 0A
开始测量指令作用:获取测量探头的ORP值,ORP的值为mV。
请求帧:06 03 00 00 00 02 C5 BC
应答帧:06 03 04 00 78 00 00 B6 64
读数示例:
ORP值 |
00 78 00 00 |
如,ORP值: 00 78 表示十六进制读数ORP值,00 00 表示ORP数值不带小数点,无温度值,转换成十进制数值为120。
校准指令ORP变送器只需一点校准,在使用另一种校准液校准前,必须使用后一种校准液清洗探头,否则将引起较大的测试误差。
在配制好的86mV或256mV标准溶液中,输入相应校准指令。
标准液为86mV:
请求帧:06 06 10 00 00 56 0C 83;
应答帧:06 06 10 00 00 56 0C 83;
标准液为256mV:
请求帧:06 06 10 00 01 00 8D 2D;
应答帧:06 06 10 00 01 00 8D 2D。
注意:ORP值有负值,如-40mV其计算方法为:
-{FFFF-FFD7软件测试值)}=-28;十进制即为-40mV。
错误响应如果传感器不能正确执行上位机命令,则会返回如下格式信息:
定义 | 地址 | 功能码 | CODE | CRC校验 |
数据 | ADDR | COM+80H | xx | CRC 16 |
字节数 | 1 | 1 | 1 | 2 |
03 – 数据错
COM:接收到的功能码海水养殖ORP水质传感器