粉塵在線監測儀(MODBUS-RTU)通訊協議
粉塵在線監測儀(MODBUS-RTU)通訊協議
1、概述
通信協議詳細地描述了粉塵在線監測儀的輸入和輸出命令、信息和數據,以便第三方使用和開發。
1.1通信協議的作用
使信息和數據在上位機(主站)和粉塵在線監測儀之間有效地傳遞, 允許訪問粉塵在線監測儀的所有測量數據。
粉塵在線監測儀可以實時采集現場粉塵濃度的值,具備一個RS485通訊口,能滿足粉塵或PM2.5濃度監控系統的要求。其功能和技術指標參見用戶手冊。
粉塵在線監測儀通信協議采用MODBUS-RTU協議,本協議規定了應用系統中主機與粉塵在線監測儀之間,在應用層的通信協議,它在應用系統中所處的位置如下圖所示:
主機
本協議所處的位置
從機: 粉塵在線監測儀
1.2 物理接口:
連接上位機的主通信口,采用標準串行RS485通訊口,使用接線端子。
信息傳輸方式為異步方式,起始位1位,數據位8位,停止位1位,無校驗。
數據傳輸缺省速率為9600b/s
MODBU RTU通信協議詳述
2.1 協議基本規則
以下規則確定在回路控制器和其他串行通信回路中設備的通信規則。
所有回路通信應遵照主/從方式。在這種方式下,信息和數據在單個主站和從站(監控設備)之間傳遞。
主站將初始化和控制所有在通信回路上傳遞的信息。
無論如何都不能從一個從站開始通信。
所有環路上的通信都以“打包”方式發生。一個包裹就是一個簡單的字符串(每個字符串8位),一個包裹中最多可含255個字節。組成這個包裹的字節構成標準異步串行數據,并按8位數據位,1位停止位,無校驗位的方式傳遞。串行數據流由類似于RS232C中使用的設備產生。
所有回路上的傳送均分為兩種打包方式:
A) 主/從傳送
B) 從/主傳送
若主站或任何從站接收到含有未知命令的包裹,則該包裹將被忽略,且接收站不予響應。
2.2數據幀結構描述
每個數據幀組成如下:
RTU模式
地址
功能代碼
數據數量
數據1
...
數據n
CRC 16位校驗
3、傳輸格式
(1)命令報文格式
讀數據:
地址 |
功能碼 |
數據起始地址高位 |
數據起始地址低位 |
數據個數高位 |
數據個數低位 |
CRC 16位校驗 |
|
03或04 |
|
|
|
|
低位在前 |
返回:
地址 |
功能碼 |
字節長度 |
數據1輸入 |
數據2輸入 |
… |
CRC16位校驗 |
|
03或04 |
|
高位在前 |
|
|
低位在前 |
寫數據:
地址 |
功能碼 |
數據起始地址高位 |
數據起始地址低位 |
數據個數高位 |
數據個數低位 |
CRC 16位校驗 |
|
03或04 |
|
|
|
|
低位在前 |
(2)、異常應答返回
異常碼01:無效的功能碼
從站地址 |
功能碼 |
異常碼 |
CRC16校驗 |
|
80H+原功能碼 |
01 |
|
異常碼02:無效的起始地址
從站地址 |
功能碼 |
異常碼 |
CRC16校驗 |
|
80H+原功能碼 |
02 |
|
異常碼03:無效的數據個數
從站地址 |
功能碼 |
異常碼 |
CRC16校驗 |
|
80H+原功能碼 |
03 |
|
幀格式(10位)
起始位 |
D0 |
D1 |
D2 |
D3 |
D4 |
D5 |
D6 |
D7 |
停止位 |
寫單個數據:
地址 |
功能碼 |
寄存器地址高位 |
寄存器地址低位 |
數據高位 |
數據低位 |
CRC 16位校驗 |
|
06 |
|
|
|
|
低位在前 |
寫多個數據:
地址 |
功能碼 |
起始地址高位 |
起始地址低位 |
寄存器數據高位 |
寄存器數據低位 |
字節數 |
寄存器值高位 |
寄存器值低位 |
CRC 16位校驗 |
|
10 |
|
|
|
|
|
|
|
低位在前 |
5、粉塵在線監測儀內部報文信息
功能代碼 |
數據起始地址 |
數據個數 |
內容說明 |
03H |
0000H |
1 |
地址 |
0001H |
1 |
粉塵報警值 |
|
04H
|
0000H |
2 |
粉塵30秒內的平均值的濃度 |
0001H |
2 |
粉塵1秒內的濃度 |
注意:每一個數據用兩個字節整數表示,高位在前,低位在后
如: 帶符號整數 范圍 -32768---32767
上傳數據需除十,如上傳16進制 &H0311,對應十進制00785,表示785
上傳數據需除十,如粉塵上傳16進制 &H00FF,對應十進制00255,表示255
6、 網絡采樣定時
粉塵在線監測儀中,上位機讀取數據每次間隔時間不小于2s,推薦值3s。
7、命令舉例:
粉塵在線監測儀的地址為1:
(1)讀所有數據為:
下發命令:
01 04 0000 0002 71CB (讀從數據起始地址為0000H開始的2個模擬量)
粉塵在線監測儀返回命令如下:
01 04 04,30s濃度H,30s濃度L,1s濃度H,1s濃度L,CRCL,CRCH。
(2)只讀30s粉塵濃度數據時:
上位機發送: 01 04 00 00 00 01 31 CA(讀從數據起始地址為0000H開始的1個模擬量)
下位機返回: 01 04 02, 30s濃度H,30s濃度L,CRCL,CRCH。
(3)只讀1秒粉塵濃度數據時:
上位機發送: 01 04 00 01 00 01 60 0A(讀從數據起始地址為0001H開始的1個模擬量)
下位機返回: 01 04 02, 1s濃度H,1s濃度L,CRCL,CRCH。
(4)讀設備的寄存器:
上位機發送: 01 03 00 00 00 04 44 09。
下位機返回: 01 03 08 00 01 00 50 00 50 01 AE C5 26
(5)寫單個設備寄存器,如濃度報警值:
上位機發送:01 06 00 01 00 23 99 D3。
下位機返回:01 06 00 01 00 23 99 D3。
(6)寫多個設備寄存器:
上位機發送:01 10 00 00 00 04 08 00 01 00 23 00 23 00 1E 12 BF
下位機返回:01 10 00 00 00 04 C1 CA
勒夫邁激光傳感器應用領域:空氣凈化器,空調,PM2.5檢測儀,抽油煙機,煙霧報警器,新風系統,專用PM2.5傳感器,空氣探測儀,穿戴設備等。