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