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