朱建淼 賈 波 華金晶 汪圣華
浙江省安全生產(chǎn)科學研究院 浙江省安全工程與技術研究重點實驗室
危險源是安全生產(chǎn)和人身安全重要管控的內(nèi)容,一旦發(fā)生事故將對財產(chǎn)和人身構成極大威脅。隨著社會的發(fā)展,由危險源產(chǎn)生的重大災害事故也屢屢發(fā)生,因此做好危險源的管控尤為重要。目前重大危險源監(jiān)測、監(jiān)控、預警技術,已成為我國當前安全科學領域研究熱點,部分領域已經(jīng)推廣應用了一系列監(jiān)測預警系統(tǒng),包括有限空間危險性氣體檢測分析系統(tǒng)[1]、重大危險源監(jiān)控系統(tǒng)[2]、尾礦庫在線監(jiān)控檢測系統(tǒng)等監(jiān)測監(jiān)控系統(tǒng)[3]。
在監(jiān)測系統(tǒng)無線架構中,數(shù)據(jù)通訊一般采用服務器輪詢客戶端的方式,但當某個客戶終端出現(xiàn)故障時,往往會引起服務器資源的死鎖和浪費,導致其余終端數(shù)據(jù)通訊的阻塞。因此,本文根據(jù)安全生產(chǎn)中危險源無線監(jiān)測工作中遇到的實際情況,提出了一種基于心跳包的數(shù)據(jù)通訊機制,詳細介紹了通訊模型并進行了工程示范。
心跳包機制是實現(xiàn)網(wǎng)絡高效、高可靠性,保證危險源監(jiān)測的正常運行和服務不中斷的常用技術,通過收發(fā)自定義協(xié)議的、定時的、循環(huán)發(fā)送的數(shù)據(jù)包,判斷節(jié)點是否在線。目前已廣泛用于網(wǎng)絡通信服務、故障檢測等領域。
對于存在大量數(shù)據(jù)傳輸?shù)木W(wǎng)絡通信系統(tǒng),為了保證通信可靠,大多采用流式套接字,一般采用的是TCP協(xié)議,建立雙向、有序、無重復的數(shù)據(jù)流服務[4]。Socket連接一個運行于客戶端(ClientSocket),另一個運行于服務器端(ServerSocket),包含:服務器監(jiān)聽、客戶端請求和連接確認三個階段。連接建立后,客戶機和服務器之間就可以調(diào)用receive()和send()的函數(shù)來實現(xiàn)數(shù)據(jù)流的發(fā)送和接收,數(shù)據(jù)傳送結束后調(diào)用close()關閉。
基于Socket通信時,實際應用中經(jīng)常會出現(xiàn)服務器無法判斷客戶端狀態(tài),即:服務器無法區(qū)分客戶端是長時間空閑還是掉線。所以,必須建立心跳包來判斷連接是否正常。而心跳數(shù)據(jù)包也是在服務器與客戶機之間建立連接后,循環(huán)調(diào)用receive()和send()來接收和發(fā)送一種自定義的特定數(shù)據(jù)包。
一般心跳包的主動發(fā)包方可以是客戶也可以是服務端,由于考慮到危險源在線監(jiān)測的數(shù)據(jù)單向性為主,本文以單服務器/多客戶機為基本模型,數(shù)據(jù)中心為服務器,DTU設備作為客戶端[5]。
根據(jù)危險源監(jiān)測機制,心跳模型為:客戶終端主動向服務器發(fā)送自定義心跳數(shù)據(jù)包,數(shù)據(jù)包含用于檢測連接的數(shù)據(jù)及終端標識,當服務器收到心跳包數(shù)據(jù)后,通過后臺數(shù)據(jù)庫查詢,直接反饋傳感器的查詢指令,利用DTU的透傳功能將查詢指令發(fā)送至傳感器,當傳感器返回監(jiān)測數(shù)據(jù)后,將查詢結果解析入庫。然后等待下一個心跳包,系統(tǒng)結構,如圖1。
圖1 數(shù)據(jù)通信系統(tǒng)結構圖
監(jiān)測通訊初始化包括以下三個方面:
(1)設置心跳包的發(fā)送周期[6]。本項目工程應用中,考慮到中國移動的通訊效率及項目監(jiān)測的需求,心跳包頻率設置為30s/次,經(jīng)實踐檢驗,GPRS在線率和監(jiān)測數(shù)據(jù)的實時性均達到了項目預期目標,實現(xiàn)了良好的通訊效果。
(2)設置心跳包參數(shù)和通訊參數(shù)。在項目設計中,將設備標識和心跳包指令融合為一,通過數(shù)據(jù)庫配置,獲取連接DTU的儀表查詢指令。同時做好DTU的透傳通訊配置,主要參數(shù)必須與傳感器一致。
(3)對獲取的查詢值進行解析。將終端MODBUS協(xié)議的數(shù)據(jù)解析方式進行配置,實現(xiàn)通信數(shù)據(jù)的轉(zhuǎn)換入庫。
以噴涂企業(yè)安全隱患重點區(qū)域噴漆房通風管道通風效率量化監(jiān)測和預警為例,將基于心跳包的Socket通信機制應用于噴漆房通風系統(tǒng)風速風量在線監(jiān)測系統(tǒng),依靠移動互聯(lián)網(wǎng)GPRS無線傳輸實現(xiàn)對監(jiān)測對象的量化檢測和實時監(jiān)測。
項目在杭州市蕭山區(qū)杭州天宏焊接材料有限公司進行了示范,現(xiàn)場將2臺風速傳感器安裝于噴漆房通風管道,通過現(xiàn)場的數(shù)據(jù)采集模塊、DTU模塊的整合應用,實現(xiàn)了實時在線監(jiān)測。
風速傳感器(英格瑪YGM305)。根據(jù)噴漆房有機溶劑易揮發(fā)、可燃、可爆的特性,選用基于伯努力方程和皮托管原理的防爆型管道式空氣風量變速器,測量風道截面積的平均流速,監(jiān)測范圍為0~30m/s,防護等級IP65,信號以4~20mA的兩線制輸出。
數(shù)據(jù)采集模塊(KonNaDC2000-A2-SMX 2400)。選用4路模擬輸入,1路485信號輸出的串口I/O聯(lián)網(wǎng)模塊,通過4~20mA的電流信號輸入轉(zhuǎn)換數(shù)字信號并以485串口的MODBUS協(xié)議進行輸出。
DTU模塊(USR-GPRS-730)。具備網(wǎng)絡透傳功能,實現(xiàn)DTU與網(wǎng)絡端的雙向透明傳輸。支持雙路網(wǎng)絡鏈接,可將數(shù)據(jù)向2個服務器發(fā)送,實現(xiàn)數(shù)據(jù)備份、遠程異常診斷等功能。設備作為Client客戶端鏈接后,可自定義心跳注冊包做標識。選用中國移動物聯(lián)卡作為GPRS數(shù)據(jù)通信介質(zhì)。
串口通訊設置:數(shù)據(jù)采集模塊(KonNaDC2000-A2-SMX2400)默認將設備串口參數(shù)設置為:9600,N,8,1,根據(jù)數(shù)據(jù)采集模塊參數(shù)要求,在DTU中的串口通信設置也設為9600,N,8,1。
網(wǎng)絡通訊設置:在DTU模塊(USR-GPRS-730)中將網(wǎng)絡通訊地址配置為服務器ip地址和鏈接端口,自定義心跳包標識為Hearthzxh0004,根據(jù)中國移動的通訊效率要求和系統(tǒng)實時監(jiān)測的需求,將心跳頻率設為30s/次。
監(jiān)測系統(tǒng)的數(shù)據(jù)流運行分服務器和DTU客戶端的交互,主要由服務器(數(shù)據(jù)中心)、DTU模塊和前端傳感設備組成,將中國移動物聯(lián)SIM卡置于DTU模塊,數(shù)據(jù)信號以GPRS模式通過INTERNET與服務器建立連接,由DTU的心跳包進行通訊發(fā)起,服務器接收數(shù)據(jù)后判斷并解析是否為心跳包,確認后,通過后臺配置庫獲取對應的物聯(lián)設備查詢指令并發(fā)送給DTU,DTU通過透傳設置將指令直接下發(fā)給物聯(lián)監(jiān)測設備,物聯(lián)監(jiān)測設備通過查詢指令反饋查詢結果的數(shù)據(jù)給服務器,服務器則通過MODBUS協(xié)議對查詢結果的數(shù)據(jù)進行解析入庫,完成數(shù)據(jù)的交互。數(shù)據(jù)流圖,如圖2。
圖2 系統(tǒng)交互數(shù)據(jù)流圖
在線監(jiān)測系統(tǒng)分為數(shù)據(jù)交互系統(tǒng)和監(jiān)測服務系統(tǒng),其中數(shù)據(jù)交互系統(tǒng)分成數(shù)據(jù)接收、發(fā)送指令、數(shù)據(jù)入庫三個模塊,實現(xiàn)基于心跳包的Socket數(shù)據(jù)通信交互機制的應用。數(shù)據(jù)交互采集系統(tǒng)界面,如圖3。
數(shù)據(jù)交互入庫后,通過數(shù)據(jù)應用層的開發(fā),實現(xiàn)對監(jiān)測數(shù)據(jù)的有效管理和展示,監(jiān)測服務系統(tǒng)展示結果,如圖4。
圖3 噴漆房通風系統(tǒng)風速風量數(shù)據(jù)采集交互系統(tǒng)
圖4 在線監(jiān)測數(shù)據(jù)展示界面-2017年8月11日
本文提出了一個基于心跳包的Socket通信解析模型,并將其應用于一個C/S模型的噴漆房通風系統(tǒng)風速風量數(shù)據(jù)采集系統(tǒng)。測試表明,通過使用心跳包的辨識進行通信發(fā)起,實現(xiàn)了非廣播式的點對點通信,有利于提升系統(tǒng)的可靠性,極大的節(jié)省了網(wǎng)絡資源和服務器壓力,在基于無線網(wǎng)絡通信的危險源遠程監(jiān)控系統(tǒng)中具有良好的移植性和適用性。
[1] 黃文宏,李學盛,王海龍,等.典型石化有限空間危險氣體在線監(jiān)控系統(tǒng)構建[J].浙江化工,2011,42(6):25-27
[2] 蔣誠航,李學盛.基于組態(tài)系統(tǒng)的重大危險源儲罐監(jiān)控系統(tǒng)研究[C].安全生產(chǎn)應急管理與安全信息化的實踐研究—2015浙江·第四屆安全科學與工程技術研討會論文集,浙江工業(yè)大學,2015
[3] 楊杰,李青.地下位移實時監(jiān)測系統(tǒng)研究[J].中國計量學院學報,2008,(1):41-46
[4] 陳元謀,吳長奇.基于Socket的遠程監(jiān)控的通信系統(tǒng)實現(xiàn)[J].計算機安全,2011,(3):60-62
[5] 劉志雄,余臻,陳燕萍. GPRS DTU 數(shù)據(jù)中心通信設計[J].工業(yè)控制計算機,2007,20(12):23-24
[6] 胡志坤,何多昌,桂衛(wèi)華,等.基于改進心跳包機制的整流遠程監(jiān)控系統(tǒng)[J].計算機應用,2008,28(2):363-366