DX6000H-ST型SF6&O2双气体探测器
1. 信号输出
信号输出:RS485 (MODBUS RTU)输出。
接口定义:采用 4 芯的 2.54 间距的插座作为用户接口。J2 为 485 接口,端子定义为:VCC GNDAB
注:当模组为冷启动时,开机后二分钟内数字输出与模拟输出的浓度值信号不作为测量依据。
1.1 MODBUSRTU 协议(传感器模组使用的协议) 主机发送协议格式
协议由固定格式的数据包组成。数据包的大小根据报文的内容不同而不同。
字节 | 内容 |
1 | 通讯单元的地址(传感器地址) |
2 | 功能码 |
3 | 数据区位 |
4 | 数据区第二位 |
5 | 数据区第三位 |
6 | 数据区第四位 |
……. | 其它数据 |
n-1 | CRC 低位 |
n | CRC 高位 |
通讯单元的地址:这里是指主机与下位机通讯时,下位机单元的地址。数据包的第二字节是指示该报文是读命令还是写命令。03 说明该报文是读命令,06 说明该报文是写命令。CRC 用于校验,校验传送数据的正确性。数据是由低字节向高字节的顺序传送。文本按照从左到右的顺序传送。所有数据传送完毕,将由CRC 校验低位和高位结束。
设备返回协议格式
协议由固定格式的数据包组成。数据包的大小根据报文的内容不同而不同。命令类型
(1) 读取传感器浓度值:如读当前 32(20H)号传感器数据, 主机向传感器发送命令:
20 03 00 00 00 02 C2 BA
20:当前传感器地址
03:读传感器浓度
00 00 00 02: 数据区内容
00 00:寄存器地址
00 02:寄存器个数C2:CRC 高位BA:CRC 低位
循环冗余校验码(CRC)的基本原理是:在 K 位信息码后再拼接 R 位的校验码,
整个编码长度为 N 位,因此,这种编码也叫(N,K)码。对于一个给定的(N,K) 码,可以证明存在一个次幂为 N-K=R 的多项式 G(x)。根据 G(x)可以生成 K 位信息的校验码,而 G(x)叫做这个 CRC 码的生成多项式。 校验码的具体生成过程为:假设要发送的信息用多项式 C(X)表示,将 C(x)左移 R 位(可表示成C(x)*2R),这样 C(x)的右边就会空出 R 位,这就是校验码的位置。用 C(x)*2R 除以生成多项式 G(x)得到的余数就是校验码。
设备将返回数据如下:
例如:SF6 气体浓度为 3048ppm,O2 浓度为 20.9% 20 03 04 0B E8 14 09 49 21(16 进制)
20:当前传感器地址
03:读传感器浓度
04: 数据区长度。
0B E8:显示 SF6 浓度,单位为 PPM。
14 09:显示 O2 浓度百分比数值的整数位和小数位。
以上数据均为 16 进制数,需先将其转换为 10 进制数再计算浓度值49:CRC 高位
21:CRC 低位
(2) 设置传感器地址:例如将 32(20H)号传感器地址改为 01 号主机向传感器发送命令:
20 06 00 00 00 01 4E BB(16 进制)
20: 当前传感器地址
06:功能码(设置传感器地址)
00 00 00 01:数据区(修改后传感器新地址 00 01,即为 01)
4E:CRC 高位BB:CRC 低位
CRC 校验值同上
设备将返回数据如下:
20 06 00 00 00 01 4E BB (16 进制)
同输入一致
改完地址之后,新的读数据命令只需要将位地址修改为当前地址修改后的地址并进行 CRC 校验得到新的校验位即可:
01 03 00 00 00 02 C4 0B(16 进制)
新的设置传感器地址命令为: 01 06 00 00 00 XX xx xx
XX:为需要再次修改的地址xx xx:新的校验位
(3) 关于设置红外气体传感器初始地址(内部用)
短接 MCDL,即 MCDL 和地相连,8 秒内为校零, 10 秒以上为传感器初始地址的设定. 默认为 32 号。每个传感器出厂时地址设置为 32(20H),当用户修改传感器地址后,必须将 MCDL 短接 10 秒钟以上才能恢复地址出厂时设置。