1、概述
通信協(xié)議詳細(xì)地描述了DT-THBXD的輸入和輸出命令、信息和數(shù)據(jù),以便第三方使用和開發(fā)。
1.1通信協(xié)議的作用
使信息和數(shù)據(jù)在上位機(jī)(主站)和DT-THBXD之間有效地傳遞, 允許訪問DT-THBXD的所有測量數(shù)據(jù)。
DT-THBXD溫濕度傳感器可以實時采集現(xiàn)場溫濕度的值,具備一個RS485通訊口,能滿足小型溫濕度監(jiān)控系統(tǒng)的要求。其功能和技術(shù)指標(biāo)參見用戶手冊。
DT-THBXD溫濕度傳感器通信協(xié)議(1.0)采用MODBUS RTU協(xié)議,本協(xié)議規(guī)定了應(yīng)用系統(tǒng)中主機(jī)與DT-THBXD溫濕度傳感器之間,在應(yīng)用層的通信協(xié)議,它在應(yīng)用系統(tǒng)中所處的位置如下圖所示:
主機(jī)
RS485 |
從機(jī): 溫濕度傳感器
1.2 物理接口:
連接上位機(jī)的主通信口,采用標(biāo)準(zhǔn)串行RS485通訊口,使用接線端子。
信息傳輸方式為異步方式,起始位1位,數(shù)據(jù)位8位,停止位1位,無校驗。
數(shù)據(jù)傳輸缺省速率為9600b/s
2、MODBU RTU通信協(xié)議詳述
2.1 協(xié)議基本規(guī)則
以下規(guī)則確定在回路控制器和其他串行通信回路中設(shè)備的通信規(guī)則。
1)所有回路通信應(yīng)遵照主/從方式。在這種方式下,信息和數(shù)據(jù)在單個主站和從站(監(jiān)控設(shè)備)之間傳遞。
2)主站將初始化和控制所有在通信回路上傳遞的信息。
3)無論如何都不能從一個從站開始通信。
4)所有環(huán)路上的通信都以“打包”方式發(fā)生。一個包裹就是一個簡單的字符串(每個字符串8位),一個包裹中*多可含255個字節(jié)。組成這個包裹的字節(jié)構(gòu)成標(biāo)準(zhǔn)異步串行數(shù)據(jù),并按8位數(shù)據(jù)位,1位停止位,無校驗位的方式傳遞。串行數(shù)據(jù)流由類似于RS232C中使用的設(shè)備產(chǎn)生。
5)所有回路上的傳送均分為兩種打包方式:
A) 主/從傳送
B) 從/主傳送
6)若主站或任何從站接收到含有未知命令的包裹,則該包裹將被忽略,且接收站不予響應(yīng)。
2.2數(shù)據(jù)幀結(jié)構(gòu)描述
每個數(shù)據(jù)幀組成如下:
RTU模式
地址
功能代碼
數(shù)據(jù)數(shù)量
數(shù)據(jù)1
...
數(shù)據(jù)n
CRC 16位校驗
功能代碼
數(shù)據(jù)數(shù)量
數(shù)據(jù)1
...
數(shù)據(jù)n
CRC 16位校驗
3、傳輸格式
(1)命令報文格式
讀數(shù)據(jù):
地址
|
功能碼
|
數(shù)據(jù)起始地址高位
|
數(shù)據(jù)起始地址低位
|
數(shù)據(jù)個數(shù)高位
|
數(shù)據(jù)個數(shù)低位
|
CRC
16位校驗
|
|
04
|
|
|
|
|
低位在前
|
返回:
地址
|
功能碼
|
字節(jié)長度
|
數(shù)據(jù)1輸入
|
數(shù)據(jù)2輸入
|
…
|
CRC16位校驗
|
|
04
|
|
高位在前
|
|
|
低位在前
|
(2)、異常應(yīng)答返回
非法功能:
從站地址
|
功能碼
|
異常碼
|
CRC16校驗
|
|
80H+原功能碼
|
01
|
|
非法數(shù)據(jù)地址:
從站地址
|
功能碼
|
異常碼
|
CRC16校驗
|
|
80H+原功能碼
|
02
|
|
非法數(shù)據(jù)值:
從站地址
|
功能碼
|
異常碼
|
CRC16校驗
|
|
80H+原功能碼
|
03
|
|
幀格式(10位)
起始位
|
D0
|
D1
|
D2
|
D3
|
D4
|
D5
|
D6
|
D7
|
停止位
|
4、DT-THBXD溫濕度傳感器內(nèi)部報文信息
功能代碼
|
數(shù)據(jù)起始地址
|
數(shù)據(jù)個數(shù)
|
內(nèi)容說明
|
04H
|
0000H
|
1
|
溫度值
|
0001H
|
1
|
濕度值
|
注意:每一個數(shù)據(jù)用兩個字節(jié)整數(shù)表示,高位在前,低位在后
如: 帶符號整數(shù) 范圍 -32768---32767
上傳數(shù)據(jù)需除十,如濕度上傳16進(jìn)制 &H0311,對應(yīng)十進(jìn)制00785,表示78.5%
上傳數(shù)據(jù)需除十,如溫度上傳16進(jìn)制 &H00FF,對應(yīng)十進(jìn)制00255,表示25.5℃
上傳數(shù)據(jù)需除十,如溫度上傳16進(jìn)制 &H8064,高位為1,表示負(fù)數(shù),對應(yīng)的數(shù)高位取反,表示-10.0℃
5、 網(wǎng)絡(luò)采樣定時
DT-THBXD溫濕度傳感器中,上位機(jī)讀取數(shù)據(jù)每次間隔時間不小于500ms,推薦值1s。
6、命令舉例:
DT-THBXD溫濕度傳感器的地址為1,讀所有數(shù)據(jù)為:
下發(fā)命令:
01 04 0000 0002 71CB (讀從數(shù)據(jù)起始地址為0000H開始的2個模擬量)
DT-THBXD溫濕度傳感器返回命令如下:
01 04 04,溫度H,溫度L,濕度H,濕度L,CRCL,CRCH。
只讀溫度數(shù)據(jù)時:
上位機(jī)發(fā)送: 01 04 0000 0001 600A(讀從數(shù)據(jù)起始地址為0000H開始的1個模擬量)
下位機(jī)返回: 01 04 02,溫度H,溫度L,CRCL,CRCH。
只讀濕度數(shù)據(jù)時:
上位機(jī)發(fā)送: 01 04 0001 0001 31CA(讀從數(shù)據(jù)起始地址為0001H開始的1個模擬量)
下位機(jī)返回: 01 04 02,濕度H,濕度L,CRCL,CRCH。
地址為2時:
上位機(jī)發(fā)送: 02 04 0000 0002 71F8(讀從數(shù)據(jù)起始地址為0000H開始的2個模擬量)
下位機(jī)返回: 02 04 04,溫度H,溫度L,濕度H,濕度L,CRCL,CRCH。