一、MODBUS RTU 通訊協(xié)議
波特率:9600
數(shù)據(jù)位:8
停止位:1
校驗位:無
1、CRC 說明
以下所有說明中,MODBUS RTU 協(xié)議中的CRC16兩字節(jié),按照 MODBUS規(guī)定:低字節(jié)在前,高字節(jié)在后。 以下說明中,假定傳感器地址0xFF(傳感器缺省地址為FF)。
2、返回錯誤碼規(guī)定
傳感器對于錯誤指令的接收(包括CRC16效驗錯誤),均實行不返回錯誤碼方式。上位機可在指令發(fā)出100ms后收不到返回數(shù)據(jù)時認為發(fā)出指令失敗,可重新發(fā)送指令。
3、標準 MODBUS 寄存器說明
特別注意:MODBUS 命令中寄存器的數(shù)量或長度一項均為兩字節(jié)16位為一個單位(高字節(jié)在前,低字節(jié)在后),而非單字節(jié)8 位為一個單位。
用戶應保證命令中寄存器的地址和數(shù)量這兩項參數(shù)的范圍在 本系統(tǒng)規(guī)定范圍之內(nèi)。如果超出范圍,傳感器的輸出結果將無法預測,用戶應在上位機軟件設計中保證MODBUS命令符合本手冊要求。
輸入寄存器:用功能碼 03 讀
地址 | 操作 | 內(nèi)容 | 備注 |
0x0001 | 只讀 | 噪聲,放大 10 倍的 16 進制數(shù),如 0x021C 表示噪聲為 54.0dB | |
0x0002 | 只讀 | 保留 | |
0x0003 | 只讀 | SO2 濃度,16 進制數(shù),如 0x0172 表示 SO2 濃度為 370ppb | |
0x0004 | 只讀 | NO2 濃度,16 進制數(shù),如 0x0036 表示 NO2 濃度為 54ppb | |
0x0005 | 只讀 | CO 濃度,16 進制數(shù),如 0x0A00 表示 CO 濃度為 2560ppb | |
0x0006 | 只讀 | O3 濃度,16 進制數(shù),如 0x0123 表示 O3 濃度為 291ppb | |
0x0007 | 只讀 | PM2.5 濃度,16 進制數(shù),如 0x0172 表 示 PM2.5 濃度為 370ug/m3 | |
0x0008 | 只讀 | PM10 濃度,16 進制數(shù),如 0x0193 表 示 PM10 濃度為 403ug/m3 | |
0x0009 | 只讀 | 空氣溫度,加40放大100倍的16進 制數(shù),如 0x1B00 表示 6912/100-40=29.12°C | |
0x000A | 只讀 | 空氣濕度,放大 100 倍的 16 進制數(shù), 如 0x1603 表示 5635/100=56.35% | |
0x000B | 只讀 | 大氣壓強,放大 10 倍的 16 進制數(shù), 如 0x2784 表示 10116/10=1011.6hPa | |
0x000C | 只讀 | 風速,放大 100 倍的 16 進制數(shù),如 0x0125 表示 293/100=2.93m/s | |
0x000D | 只讀 | 風向,放大 10 倍的 16 進制數(shù),如 0x0C14 表示 3092/10=309.2° | 北為 0° |
0x000E | 只讀 | 雨量,放大 10 倍的 16 進制數(shù),如 0x0016 表示 2.2mm | 默認為 10分 鐘雨量 |
0x000F | 只讀 | 輻射,16 進制數(shù),如 0x0172 表示輻 射強度為為 370W/m2 | |
0x0010 | 只讀 | 光照,放大 100 倍的 16 進制數(shù),例如 如 0x0123 表示光照強度為 2.91.Klux | |
0x0011 | 只讀 | 紫外指數(shù),16 進制數(shù),如 0x05 代表 紫外指數(shù)為 5 | |
0x0012 | 只讀 | CO2,16 進制數(shù),如 0x01F4 表示 CO2 濃度為 500ppm | |
0x0013 -0x001 f | 只讀 | 保留 | |
0x0105 | 只讀 | 電子羅盤,16 進制數(shù),如 0x0036 表示目前 指向 54° | 北為0 |
內(nèi)部寄存器:用功能碼 03 讀; 功能碼 06 寫
地址 | 操作 | 內(nèi)容 | 備注 |
0x0000 | 讀寫 | 傳感器地址,范圍0x01-0xFF (十進制),出廠設置為0xFF |
注:地址部分的數(shù)據(jù)為 16 進制表示,例:地址 20(十進制) 讀寫值為 0x14
4、通訊示例
下面舉例介紹一下利用 Modbus RTU命令訪問系統(tǒng)寄存器的方法:
(1)讀取多個輸入寄存器(5個實時數(shù)據(jù))命令 ,發(fā)送:FF 03 00 09 00 05 40 15
FF | 03 | 00 09 | 00 05 | 40 15 |
系統(tǒng)地址 | 功能碼 | 寄存器地址 | 寄存器數(shù)量 | 軟件自動產(chǎn)生的CRC16校驗位 |
回答:FF 03 0A 1A 57 0C 5F 27 83 00 00 0C 14 36 E0
FF | 03 | 0A | 1A 57 0C 5F 27 83 00 00 0C 14 | 36 E0 |
系統(tǒng) 地址 | 功能碼 | 數(shù)據(jù)段字節(jié)數(shù)量 | 數(shù)據(jù)段數(shù)據(jù) | CRC16校驗位 |
解析數(shù)據(jù):
0x1A57= 0x1A * 256 + 0x57= 6743
溫度 = 6743/100-40=27.43°C 0x0C5F= 0x0C * 256 + 0x5F= 3167
濕度=3167/100=31.67%RH
0x2783= 0x27 * 256 + 0x83= 10115
氣壓=10115/10=1011.5hPa
0x0000=0
風速=0/100=0.00m/s
0x0C14=0x0C * 256 + 0x14= 3092
風向=3092/10=309.2°
(2)讀取單個輸入寄存器命令 發(fā)送:FF 03 00 01 00 01 C0 14
FF | 03 | 00 01 | 00 01 | C0 14 |
系統(tǒng)地址 | 功能碼 | 寄存器地址 | 寄存器數(shù)量 | 軟件自動產(chǎn)生的 CRC16 校驗位 |
回答:FF 03 02 02 1C 91 39
FF | 03 | 02 | 02 1C | 91 39 |
系統(tǒng)地址 | 功能碼 | 數(shù)據(jù)段字節(jié)數(shù)量 | 數(shù)據(jù)段數(shù)據(jù) | CRC16 校驗位 |
解析數(shù)據(jù):
0x021C= 0x02 * 256 + 0x1C= 540
噪聲 = 540/10=54.0dB
(3)讀取地址寄存器命令
發(fā)送:00 03 00 00 00 01 85 DB
00 | 03 | 00 00 | 00 01 | 85 DB |
功能碼 | 寄存器地址 | 寄存器數(shù)量 | 軟件自動產(chǎn)生的 CRC16 校驗位 |
回答:00 03 02 00 01 44
00 | 03 | 02 | 00 01 | 44 44 |
功能碼 | 數(shù)據(jù)段的字節(jié)數(shù)量 | 數(shù)據(jù)段數(shù)據(jù) | CRC16校驗位 |
數(shù)據(jù)段數(shù)據(jù)為0x0001 =01 表示系統(tǒng)地址01
(4)修改內(nèi)部寄存器(系統(tǒng)地址)命令(把地址改為0x33) 發(fā)送:00 06 00 00 00 33 C8 0E
00 | 06 | 00 00 | 00 33 | C8 0E |
功能碼 | 寄存器地址 | 新地址 | CRC16校驗位 |
回答:00 06 00 00 00 33 C8 0E (表示修改成功)
00 | 06 | 00 00 | 00 33 | C8 0E |
功能碼 | 起始地址 | 新地址 | CRC16校驗位 |
(5)讀取電子羅盤(輸出值為羅盤北與傳感器指北箭頭的夾角) 發(fā)送:FF 03 01 05 00 01 80 29
FF | 03 | 01 05 | 00 01 | 80 29 |
站號 | 功能碼 | 寄存器地址 | 寄存器 數(shù)量 | 軟件自動產(chǎn)生的 CRC16校驗位 |
回答:FF 03 02 00 36 11 86
FF | 03 | 02 | 00 36 | 11 86 |
站號 | 功能碼 | 數(shù)據(jù)段的字節(jié)數(shù)量 | 數(shù)據(jù)段數(shù)據(jù) | CRC16校驗位 |
(6)設置雨量累計時間 發(fā)送:00060104 000A 4821
00 | 06 | 01 04 | 00 0A | 48 21 |
功能碼 | 起始地址 | 累計時間(分鐘) | CRC16校驗位 |
回答:00 06 01 04 00 0A 48 21 (表示修改成功)
00 | 06 | 01 04 | 00 0A | 48 21 |
功能碼 | 起始地址 | 累計時間(分 鐘) | 97CRC16校驗位 |
注:設備出廠默認立即時間為 10 分鐘
將雨量累計時間設置為 0 時,設備不自動清零降雨量,一直累計,可通過斷電重啟重新設置雨量累計時間的方式將 降雨量清零。
設置完成后需重啟設備。
(7)設置磁偏角修正(僅針對選配電子羅盤時) 發(fā)送:00060103 0005 B9E4
00 | 06 | 01 04 | 00 05 | B9 E4 |
功能碼 | 寄存器地址 | 修正角 | CRC16校驗位 |
回答:00 06 01 03 00 05 B9 E4 (表示修改成功)
00 | 06 | 01 03 | 00 05 | B9 E4 |
功能碼 | 起始地址 | 修正角 | CRC16校驗位 |
修正角含義
高八位表示修正方向,0x00 代表正修正,0x01 為負修正,低八位為需要修正的角度。
例 0x00 05 表示需要在輸出值上增加 5 度。0x01 03 表示需要在輸出值上減少 3 度。
(8)GPRS 設置網(wǎng)絡信息(針對選配 GPRS 款)
設置 IP AT+GPRSIP=xxx.xxx.xxx.xxx#
設置端口 AT+GPRSPORT=xxxxx#
保存并生效設置 AT+GPRSRESET
讀取 IP、端口 RD+GPRSADD=
(9)讀取經(jīng)緯度信息
發(fā)送 AT+GPS#
回復 GPS:36.12345,N;114.12345,E#
7.5 其他 可根據(jù)用戶需求定制協(xié)議,具體需要可咨詢廈門佰馬科技專屬銷售。
穩(wěn) 定 性: 傳感器使用周期內(nèi)小于1%
反應時間: 小于10 秒
預熱時間: 30S(SO2\NO2\CO\O3 12 小時)
工作電流:DC12V≤60ma(HCD6815)-DC12V≤180ma(HCD6820)
功耗:DC12V≤0.72W(HCD6815);DC12V≤2.16W(HCD6820)
壽命:壽命不小于 3 年 ,高污染環(huán)境不做保證
輸出:RS485、MODBUS 通訊規(guī)約
殼體材料: ASA 工程塑料 工作環(huán)境:溫度-30~70°C、工作濕度:0-100%
標配線長:3 米 最遠引線長度:RS485 1000米
防護等級: IP65
現(xiàn)象 | 解決方法 |
沒有通訊 | 檢查電源,連接電纜 檢查通訊配置參數(shù) |
數(shù)據(jù)異常 | 檢查傳感器是否被異物污染 檢查周圍是否有干擾源 |
如故障仍無法排除請聯(lián)系廈門佰馬科技客服,私自拆開設備將不再享受質(zhì)保。
佰馬Baimatech,集M2M產(chǎn)品研發(fā)、IoT平臺服務、國際化運營于一體,讓我們聯(lián)接,共創(chuàng)未來