霍尼艾格粉尘浓度检测仪通信协议
2022-04-21 14:54:57 来源:深圳市霍尼艾格科技有限公司
Honeyeagle指令集
- RS485接口采用标准modbusRTU协议,波特率9600,无校验位,8个数据位,1个停止位。
- 支持功能码:03:读单个或多个寄存器值;06:写单个寄存器值。
- 读取寄存器内容使用03功能码
03功能码使用格式
主机发送:
地址 |
03 |
起始地址高位 |
起始地址低位 |
寄存器数量高位 |
寄存器数量低位 |
CRCL |
CRCH |
备注:数据地址范围: 0~47(即0x0000~0x002F),对用户而言有效数据地址见下文。其余地址保留。
从机回复:
地址 |
03 |
字节数n*2 |
数据1高位 |
数据1低位 |
…… |
数据n高位 |
数据n低位 |
CRCL |
CRCH |
备注:主机读取数据时,*大地址不可超过0x002F,即起始地址+数据个数不可超过0x002F,否则报错,读取失败。
注意:实时检测值、低报值、高报值、设备满量程、报警回差、标定点浓度这6个参数需结合小数点位数计算,例如实时检测值为十进制1256,此设备小数点为2位,则真实的实时检测值为12.56,其余5个参数同理。
- 读取实时检测值(FE为广播地址,使用时须换成特定从机号,下同)
主机发送:01 03 00 00 00 01 84 0A
从机回复:01 03 02 00 02 39 85 (气体实时浓度为2ppm)
- 读取低报值
主机发送:01 03 00 01 00 01 D5 CA
从机回复:01 03 02 00 40 B9 B4 (低报值为64)
- 读取高报值
主机发送:01 03 00 02 00 01 25 CA
从机回复:01 03 02 00 64 B9 AF (高报值为100)
- 读取设备地址(不知道设备地址情况下使用万能码FE,万能码适用于03、06所有指令)
主机发送:01 03 00 0C 00 01 44 09
从机回复:01 03 02 00 01 79 84 (地址为#1)
- 读取设备满量程
主机发送:01 03 00 0B 00 01 F5 C8
从机回复:01 03 02 03 E8 B8 FA (满量程为1000)
- 读取设备种类
主机发送:01 03 00 0E 00 01 E5 C9
从机回复:01 03 02 00 09 78 42 (设备检测对象CO)
(以下使用Hex码表示,包含但不限于表中气体种类)
0x00 |
空 |
0x01 |
ASH3 |
0x02 |
Br2 |
0x03 |
C2H4 |
0x04 |
C7H8 |
0x05 |
CH4 |
0x06 |
CH2O |
0x07 |
CL2 |
0x08 |
CLO2 |
0x09 |
CO |
0x0A |
CO2 |
0x0B |
COCL |
0x0C |
ETO |
0x0D |
Ex |
0x0E |
F2 |
0x0F |
GEH4 |
0x10 |
H2 |
0x11 |
H2S |
0x12 |
HBr |
0x13 |
HCHO |
0x14 |
HCL |
0x15 |
HCn |
0x16 |
HF |
0x17 |
N2 |
0x18 |
NH3 |
0x19 |
NO |
0x1A |
NO2 |
0x1B |
NOX |
0x1C |
O2 |
0x1D |
O3 |
0x1E |
PH3 |
0x1F |
PLG |
0x20 |
PM2.5 |
0x21 |
PM10 |
0x22 |
S1H4 |
0x23 |
SO2 |
0x24 |
TBM |
0x25 |
THT |
0x26 |
VOC |
0x27 |
XXXX |
0x28 |
PM |
0x29 |
H2O2 |
0x2A |
CH3Br |
0x2B |
SF6 |
0x2C |
SO2F2 |
0x2D |
Ar |
0x2E |
He |
0x2F |
NMP |
0x30 |
C2H3N |
0x31 |
PM100 |
0x32 |
PM1.0 |
0x33 |
CH |
- 读取小数点
主机发送:01 03 00 0D 00 01 15 C9
从机回复:01 03 02 00 02 39 85 (2位小数点)
- 单位读取
主机发送:01 03 00 17 00 01 34 0E
从机回复:01 03 02 00 F6 38 02 (ppm)
0000:空; 00F6:ppm; 005F:ppb; 200E:%LEL; 380E:%VOL; 3900:ug/m3; 4000:mg/m3
- 读取回差
主机发送:01 03 00 24 00 01 C4 01
从机回复:01 03 02 00 14 B8 4B(回差值为:0x0014=20)
- 修改寄存器内容使用06功能码(修改地址时请使用万能码FE)
主机发送
FE |
06 |
地址寄存器高位 |
地址寄存器低位 |
修改数值高位 |
修改数值低位 |
CRCL |
CRCH |
从机回复
地址 |
06 |
地址寄存器高位 |
地址寄存器低位 |
修改数值高位 |
修改数值低位 |
CRCL |
CRCH |
- 修改低报寄存器
主机发送:01 06 00 01 00 30 D8 1E
从机回复:01 06 00 01 00 30 D8 1E(低报修改为0x30,即是48)
- 修改高报寄存器
主机发送:01 06 00 02 00 64 29 E1
从机回复:01 06 00 02 00 64 29 E1(高报修改为0x64,即是100)
- 修改地址寄存器
主机发送:01 06 00 0C 00 02 C8 08
从机回复:01 06 00 0C 00 02 C8 08(地址修改为2)
备注:在执行完修改地址寄存器指令后再执行下一条指令时,需把地址字节更换为新的地址,否则不能正常通信,CRC16校验码也就需要重新计算了。
- 设备调零
主机发送:01 06 00 19 00 00 58 0D
从机回复:01 06 00 19 00 00 58 0D(在干净大气中进行调零)
- 设备标定
主机发送:01 06 00 19 08 29 9E 13(标定为2089,与小数点无关)
从机回复:01 06 00 19 08 29 9E 13
- 修改回差
主机发送:01 06 00 24 00 32 48 14
从机回复:01 06 00 24 00 32 48 14(将回差修改为0x0032,即50)
寄存器功能 |
寄存器地址 |
范围 |
读/写 |
实时浓度 |
0x0000 |
---- |
只读 |
低报警值 |
0x0001 |
一般为量程的20% |
可读/可写 |
高报警值 |
0x0002 |
一般为量程的50% |
可读/可写 |
|
|
|
|
PM1.0浓度值 |
0x0005 |
|
只读 |
PM2.5浓度值 |
0x0006 |
|
只读 |
PM10浓度值 |
0x0007 |
|
只读 |
|
|
|
|
设备满量程 |
0x000B |
---- |
只读 |
设备地址 |
0x000C |
出厂为1号 |
可读/可写 |
小数点位数 |
0x000D |
0,1,2,3 |
可读/可写 |
设备种类 |
0x000E |
|
只读 |
|
|
|
|
单位 |
0x0017 |
0000:空;
00F6:ppm;
005F:ppb; 200E:%LEL; 380E:%VOL; 3900:ug/m3; 4000:mg/m3 |
只读 |
调零/标定 |
0x0019 |
只对气体有效 |
只写 |
报警回差 |
0x0024 |
出厂为0 |
可读/可写 |
标定浓度 |
0x0026 |
实际标气浓度 |
可读/可写 |