江蘇省郵電規(guī)劃設計院有限公司 張德景
西安創(chuàng)聯(lián)電氣科技有限公司 錢 璐
江蘇省郵電規(guī)劃設計院有限公司 朱明明 顧 晨
隨著“互聯(lián)網+”口號的提出,必將迎來通信機房大規(guī)模的新建和升級。如果通信機房中溫度過高,將導致設備故障引起通信中斷,嚴重時設備可能損毀。為了保證通信網絡安全穩(wěn)定地運行,設計一種實時溫度監(jiān)測系統(tǒng)顯得尤為重要。
本文提出一種串口數據通信協(xié)議[1],無論下位機何種方式采集數據,只要遵循文中的通信協(xié)議,將采集到的數據進行打包并通過串口傳遞給上位機PC,上位機PC采用圖形化編程軟件LabVIEW開發(fā)系統(tǒng)[2]完成對數據包的處理,實現了對溫度數據的波形實時顯示、存儲和報警等功能,降低了溫度監(jiān)測系統(tǒng)的開發(fā)成本,提高了該系統(tǒng)的智能化。
本系統(tǒng)主要包含下位機數據采集部分和上位機溫度數據監(jiān)測部分。下位機又包含溫度傳感器和數據轉換處理部分,溫度傳感器主要完成各個點實時溫度數據的采集;數據轉換處理部分使用STC89C51單片機及外圍電路組成[3-5],主要完成對溫度傳感器采集到的數據進行初步的轉換,并對數據按照規(guī)定的串口協(xié)議進行打包處理和串口輸出到上位機;上位機對下位機傳遞的數據包根據規(guī)定的數據協(xié)議進行解析,分離出溫度數據,并對數據進行實時波形顯示、上下限告警、儲存及基本溫度數據處理,如圖1所示。

圖1 系統(tǒng)結構圖
軟件設計主要涉及上位機界面的編程和下位機從控CPU采集數據的編程兩部分,下位機采集數據的打包部分按照文中規(guī)定的協(xié)議進行,其他初始化與初始數據的處理根據不同的傳感器和從控CPU進行編程實現。文中采用LabVIEW圖形化編程語言編寫上位機主控界面和數據處理界面系統(tǒng)[6-7],主要包括串口配置、串口數據讀取、數據包解析、數據存儲、數據顯示五個模塊,這五個模塊相互之間協(xié)作完成實時溫度的監(jiān)測;如圖2所示。
通信協(xié)議是通信的雙方所達成的一種約定,其中統(tǒng)一規(guī)定數據格式、同步方式、傳送速度、傳送步驟、檢糾錯方式以及控制字符定義等問題,且在雙方的通信中必須共同遵守[7]。為實現下位機采集的實時數據能夠快速準確的傳送到上位機主控PC上,并且為使得該監(jiān)測系統(tǒng)達到通用性的目的,因此規(guī)定一種簡單有效的串口通信協(xié)議就必不可少。文中串口通信協(xié)議的制定是基于面向連接的服務的,可以按層次方式進行組織,串口通信協(xié)議體系結構如圖3所示。

圖2 監(jiān)測軟件結構圖

圖3 串口通信協(xié)議體系結構圖
握手幀用于驗證上位機主控PC與下位機設備間是否正常通信。上位機串行通信接口定時向下位機設備發(fā)送詢問幀,若上位機與下位機設備硬件連接正常,且下位機設備正常工作,則下位機設備在收到詢問幀后,向上位機主控PC發(fā)送應答幀,上位機收到應答幀,通過和校驗正確后,雙方握手成功,即可以進行下一步的數據采集控制及數據傳輸。握手幀格式格式為:

幀頭 設備地址 詢問標識 和校驗 幀尾FFH 00H—FFH ABH 1字節(jié) FEH
設備地址占用一個字節(jié),用于區(qū)分多個下位機設備,一個設備一個固定的地址,地址范圍為00H~FFH,和校驗是為了防止數據包在傳輸過程受到干擾,使得某些位改變,造成數據錯誤,經過和校驗就可驗證傳送的數據包是否正確,若不正確下位機請求上位機重新發(fā)送查詢幀,直到接收到正確的查詢幀,下位機向上位機發(fā)送應答幀,格式與查詢幀格式相同。
控制幀是為了完成相應的控制功能而制定的,控制幀可以實現上位機對設備的控制,如讀寫數據、發(fā)送請求等。上位機向下位機設備發(fā)送控制幀,下位機執(zhí)行控制幀中的命令,并向上位機發(fā)送響應幀,上位機接收到響應幀才可以進行下一步操作。文中控制幀主要用于上位機主控PC對下位機設備數據采集的控制,用戶在應用中可以根據幀格式,增加其他的控制指令。控制幀格式為:

幀頭 幀長度 設備地址 控制命令標識 和校驗 幀尾FFH 00H~FFH 00H~FFH 2字節(jié) 1字節(jié) FEH
響應幀格式為:

幀頭 設備地址 幀尾FFH 00H~FFH FEH
這里以采集數據為例來說明控制幀,上位機向地址為01H的下位機設備發(fā)送采集數據的控制幀“FF 05 01 CJ 11 FE”,下位機接收到控制幀,開始控制傳感器采集溫度數據,同時向上位機發(fā)送響應幀“FF 01 FE”,上位機接收到響應幀,即可進行下面的操作。
在上位機主控PC與下位機設備握手成功,且上位機已向下位機設備發(fā)送控制采集數據幀,并接收到響應幀后,上位機即可向下位機設備發(fā)送數據請求,下位機收到請求后,將傳感器采集到的溫度數據初步處理,然后按照數據幀格式打包,并發(fā)送給上位機主控PC。數據幀包含幀頭、設備地址、數據區(qū)長度、數據區(qū)、檢驗和及幀尾六個部分,幀頭、幀尾和設備地址與前面的控制幀保持一致,與前面兩類幀格式比較,數據幀增加了數據區(qū)長度和數據區(qū),增加數據區(qū)長度主要目的是在上位機數據包解析過程中防止數據與其他字符混淆,造成數據錯誤。數據區(qū)長度為1個字節(jié),數據區(qū)最多可以占用256個字節(jié)。數據幀格式為:

幀頭 設備地址 數據區(qū)長度 數據區(qū) 校驗和 幀尾FFH 00H~FFH 00H~FFH n個字節(jié) 1字節(jié) FEH
為了驗證設計溫度監(jiān)測系統(tǒng)的可行性,文中選擇數字溫度濕度傳感器SHT1x作為終端現場溫度數據的采集,采集到的溫度數據經點到點Zigbee無線通信系統(tǒng)[8-10]CC2530模塊作簡單處理并通過串口傳給上位機主控PC。下位機無線溫度數據采集部分由多個Zigbee模塊CC2530[11]組成,其中一個將其配置成協(xié)調器,其余的配置成終端節(jié)點。協(xié)調器用于完成上電啟動、配置網絡、控制終端采集數據及接收終端數據并將其通過串口傳遞給上位機PC等功能,終端節(jié)點上帶有溫度濕度傳感器SHT1x,完成現場溫度數據的采集及數據的打包傳送。測試系統(tǒng)構成如圖4所示。

圖4 測試系統(tǒng)圖

圖5 溫度監(jiān)測軟件界面
數據接收處理功能是是測試中最重要的環(huán)節(jié),主要包括數據包解析、溫度數據的實時顯示、儲存與告警功能,檢測流程為,上位機收到下位機回傳的控制響應幀后,發(fā)送數據幀到協(xié)調器,協(xié)調器控制對應的目標地址終端器將采集數據按照數據幀格式打包,以無線形式傳送給協(xié)調器,協(xié)調器再經串口將數據包傳輸到上位機,上位機接收到數據包,并對其進行解析,從中截取出數據段,并對數據進行計算轉換,然后輸送到界面的波形圖表中顯示,并判斷是否超出限定溫度值,若超出,則界面報警燈點亮,提示溫度超標,如圖5所示。同時還可應用LABVIEW中的文件讀寫函數,可將數據保存成文件格式,以便事后查看并分析數據。
本文設計了基于LabVIEW的遠程通信機房溫度監(jiān)測系統(tǒng),監(jiān)測界面美觀、操作便捷。規(guī)定一種簡單有效地串口通信協(xié)議,使得下位機設備與上位機進行準確可靠的信息傳輸。經測試,該系統(tǒng)既可進行多點和單點溫度測試,還可進行有線和無線連接溫度測試,且系統(tǒng)具有操作簡便、控制靈活[10]和易于擴展等優(yōu)點,因此可以廣泛適用于通信機房溫度的監(jiān)測,可以直觀得看到溫度變化趨勢圖,還可以對已保存溫度值進行事后數據分析。
[1]陳傳波,杜娟,張智杰.WIN32下基于RS232C協(xié)議的串口通信方法及應用研究[J].南昌大學學報,2005,27(3):71-75.
[2]唐麗嬋,齊亮,王慶東,等.基于LabVIEW的無線遠程溫度監(jiān)控系統(tǒng)[J].上海電氣技術,2009,2(1):21-24.
[3]薛玲,孫曼,張志會,等.基于單片機AT 89S51的溫濕度控制儀[J].化工自動化及儀表,2010,37(7):66-69.
[4]邢睦紳.基于單片機的數據采集系統(tǒng)設計[J].信息通信,2014,12:56-57.
[5]朱芳.基于單片機的數據采集系統(tǒng)設計[J].重慶科技學院學報(自然科學版),2009,11(2):95-97.
[6]韓英,李景濤.基于LabVIEW的溫度監(jiān)控系統(tǒng)設計[J].機械工程與自動化,2010,2(2):175-177.
[7]宋振龍,于海磊,陳鋒,等.基于LabVIEW的地源熱泵機組設備遠程監(jiān)控系統(tǒng)[J].電子測試,2008,3(3):43-46.
[8]焦尚彬,宋丹,張青,等.基于ZigBee無線傳感器網絡的煤礦監(jiān)測系統(tǒng)[J].電子測量與儀器學報,2013,27(5):436-441.
[9]韓華峰,杜克明,孫忠富,等.基于ZigBee網絡的溫室環(huán)境遠程監(jiān)控系統(tǒng)設計與應用[J].農業(yè)工程學報,2009,25(7):158-163.
[10]梁光勝,劉丹娟,郝福珍,等.基于CC2430的ZigBee無線網絡節(jié)點設計[J].電子設計工程,2010,18(2):15-18.
[11]章偉聰,俞新武,李忠成,等.基于CC2530及ZigBee協(xié)議棧設計無線網絡傳感器節(jié)點[J].計算機系統(tǒng)應用,2011,20(7):184-187.