霍尼艾格粉塵濃度檢測儀通信協議
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 |
實際標氣濃度 |
可讀/可寫 |