于琳 李猛 李榮偉
摘 要:針對傳統礦井機車監控系統監控內容單一,對機車不具有操作性等問題,設計了以C#為編程語言,以SQL Server 2016為數據存儲軟件的礦井機車監控系統。系統采用模塊化設計思想,包含登陸模塊、運行模塊、參數監控模塊、網絡監控模塊、視頻監控模塊、報警模塊等,實現對礦井機車行進速度、電壓、電流等各類運行參數的實時監控與記錄,并具有遠程遙控功能,可實現機車啟停、變速等運行操作。該系統運行穩定,性能可靠,提高了工作效率和安全性。
關鍵詞:礦井機車;遠程監控; C#;socket
DOI:10. 11907/rjdk. 182325
中圖分類號:TP319 文獻標識碼:A 文章編號:1672-7800(2019)005-0114-03
Abstract:Aiming at the single content of traditional monitoring system of mine locomotive and inoperability to locomotive, a mine locomotive monitoring system with C# as programming language and SQL Server 2016 as data storage software is designed. The idea of a modular design is applied in the system, the design of system includes landing module, operation module, parameter monitoring module, network monitoring module, video monitoring module, alarm module, etc. which can realise real-time monitoring and recording of mine locomotive speed, voltage, current and other kinds of operation parameters and has the function of remote control and can realize the locomotive start-stop, such as variable speed operation. The system is stable in operation and reliable in performance. It can realize remote monitoring of locomotive operation and improve working efficiency and safety.
Key Words: mine locomotive; remote monitoring; C#; socket
0 引言
隨著經濟的發展,各類礦產資源需求量越來越大,礦井開采數量也隨之上升[1]。地下礦井環境惡劣,為了盡可能降低礦井安全事故率,礦井機車朝著無人化方向發展。
礦井機車作為井下主要運輸工具,正常運行與否關系著開采的安全以及效率。傳統的礦井機車監控系統廣泛使用“信集閉”系統[2],即“信號、集中、閉塞”系統。這種傳統的監控系統對巷道要求高,需在井下大量布置傳感器,利用傳感器采集機車相關信息并反饋給上位機。但井下巷道環境惡劣,傳感器抗干擾能力弱,可靠性差、誤差大,且造價昂貴。相關研究有:鞠傳香等[3]設計了一種基于Android平臺的礦井安全監控系統,提出礦井監控系統的三層系統結構,實現對礦井的實時監控;王雪光等[4]設計了一種基于ZigBee的礦井監控系統網絡,提高了無線網絡技術的傳輸速率及視音頻質量,初步實現了礦井監控功能;趙洪磊等[5]設計了一種基于無線傳感器網絡的礦井監控系統,利用無線傳感器實現對礦井的有效監控;楊燁等[6]設計了一種基于移動網絡的礦井監控系統,以移動網絡為核心,綜合多種通信技術,初步實現了礦井監控功能。
上述文獻所設計的礦井監控大都停留在傳統監控系統階段,當無人礦井機車發生故障時,傳統監控系統只能對礦井機車進行單一性內容監控,無法對事故及時做出反應并處理[7-10]。
針對傳統礦井機車監控系統存在的缺陷,本文設計了基于C#平臺的礦井機車監控系統,采用多線程方式,實時接收、顯示并存儲來自礦井機車、巷道環境以及道軌設備的被監控參數,同時增加礦井機車控制功能,使監控人員可從遠端遙控機車運行[11-14]。
1 系統總體框架
如圖1所示,礦井機車監控系統通過各類傳感器采集機車的工作電壓、電流、轉速、溫度等參數以及信號燈、轉轍機等道軌設備狀態信息。這些信息通過局域網,與處于同一網關下的監控系統設備進行網絡通信,將需要監控的參數信息發送至礦井機車監控系統客戶端顯示。參數數據保存至SQL Server 2016數據庫中作為數據備份,用于數據分析和還原意外故障時丟失的數據[15]。監控人員通過監控系統客戶端對礦井機車遠程遙控,客戶端將控制指令發送至PLC,PLC解析控制指令并控制礦井機車的動作、信號燈以及轉轍機動作等,實現遠程遙控礦井機車和井下設備功能。
2 監控系統設計
2.1 監控系統客戶端框架與功能說明
礦井機車監控系統客戶端由登陸界面和功能界面兩部分組成,利用C#進行設計。C#是一種安全、較穩定、簡單易操作同時不失效率性和魯棒性的面向對象編程語言[16-17]。C#綜合了VB簡單的可視化操作和C++的高效率運行性,使程序編程更加簡單明了,客戶端總體架構如圖2所示。
2.1.1 登陸界面
登陸界面目的是保障系統的安全性。用戶第一次使用礦井機車監控系統時需要注冊一個賬號。注冊賬號時,用戶完成賬號及密碼填寫后還需填寫密保問題及答案,以備用戶忘記密碼時提供用戶身份驗證依據。如果用戶輸入的信息不完整或輸入的信息與數據庫中記錄的數據不一致,系統將提示相應的錯誤并提示重新輸入。
2.1.2 功能界面
礦井機車監控系統功能界面包含機車控制功能、參數監控功能、視頻監控功能、網絡監控功能以及報警功能。機車控制功能主要是監控人員遠程控制電機車、信號燈和轉轍機,通過遠程遙控實現礦井機車的無人化駕駛。參數監控功能主要將礦井機車上電機運行信息、信號燈狀態信息、轉轍機狀態信息進行監控及顯示。視頻監控功能是通過網絡監控攝像頭,為監控人員提供現場視頻信息。網絡監控功能是監控同一局域網內所有設備的連接狀況、網絡信息等。報警功能是當機車電機參數超過設定的安全值或其它故障,比如機車運行參數異常、信號燈異常、轉轍機異常等,客戶端會自動發出警示信息并作出應急處置。功能界面如圖3所示。
2.2 數據庫設計
數據庫在整個礦井機車監控系統中起著重要作用。系統正常工作時,數據庫對重要的機車參數數據進行保存,以便用戶在需要時進行數據分析、調取查看等。在系統發生故障或突然斷電等情況下,幫助用戶對數據進行保存、還原等,以保證系統的穩定性 [18]。
礦井機車監控系統數據庫使用SQL Server 2016數據庫。SQL Server 2016可靠性高、穩定性好且易操作,在中小型網絡數據庫系統中受到廣大用戶的青睞[19]。鑒于礦井機車監控系統的結構以及數據的動態查詢等特點,在數據庫開發過程中,采取在應用程序外建立數據庫并建立相關表,在應用程序內對數據庫進行連接、斷開、寫入及讀取數據等。在數據庫中創建登陸模塊中的賬戶密碼表、密保問題答案表,參數監控模塊中的機車歷史參數存儲表、巷道歷史參數存儲表、RFID標簽內容存儲表等。其中,RFID標簽內容存儲表應包含標簽對應的相應礦井位置信息,以便在定位模塊中調用判斷。
2.3 通訊模塊設計
通訊模塊指監控系統客戶端與機車之間的信息通信,為兩者提供穩定可靠的無線數據鏈路。通信信息包含監控參數信息以及遠程遙控的控制指令信息。
礦井機車監控系統通信建立在TCP/IP網絡協議基礎上,以工業以太網為骨干,以WiFi無線網絡為延伸,在井下設立若干WiFi基站(AP,Access Point),形成有線主干網與無線基站相結合的方式,覆蓋整個巷道區域。
TCP是TCP/IP體系中最重要的傳輸層協議。TCP采用全雙工方式傳輸字節流數據,可靠性高,能保證數據無差錯、不丟失、不重復地準確到達接收方,并且保證數據到達的順序與發出順序一致[20]。TCP用主機IP地址協同主機端口號作為TCP連接的端點,這種端點被稱為套接字。使用套接字(socket)作為TCP/IP協議應用程序的應用編程接口,實現網絡進程之間的通信,部分代碼如下:
Socket socket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
IPAddress IP = IPAddress.Parse(“192.168.1.174”);
IPEndPoint IPEndPoint = new IPEndPoint(IP, 6000);
socket.Connect(IPEndPoint);
byte[] data = new byte[] {0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00 };
socket.Send(data);
……
socket.receive(data);
2.4 定位模塊設計
為實時掌握機車在礦井中的位置,方便監控人員通過監控系統對機車進行實時監測并作出相應處理,機車實時定位尤為重要,本文采用射頻識別技術進行機車定位模塊設計。
射頻識別技術,也稱無線射頻識別,是一種通過無線電信號識別特定目標且無需與目標進行物理或光學接觸的新型識別技術。利用無限射頻識別進行機車定位的工作原理是:將RFID標簽布置在礦井機車行駛軌道上,將RFID閱讀器布置在礦井機車上,機車啟動后同時啟動RFID閱讀器,使其處于工作待機狀態,實時監測進入其工作范圍內的RFID標簽。當礦井機車行駛通過不同的RFID標簽時,閱讀器讀取到不同的標簽內容并上傳至車載計算機中,通過無線傳輸將讀取的信息上傳至礦井機車監控系統。系統通過實時獲取的標簽內容分析判斷礦井機車的位置信息。
定位原理如圖4所示,客戶端設計如下:
自定義標簽存儲內容、定義格式(僅為表頭設計)如表1所示。
區域碼為標簽所處礦井區域辨別碼,主要用于判斷所讀取標簽礦井區域分類。如讀取區域碼為01,則判斷為放礦口1區,若讀取區域碼為02,則判斷為放礦口2區;定位順序標識:將區域內機車道軌上布置的標簽從1開始定義,當閱讀器讀取到定位順序標識時,可以判斷此時機車處于具體標簽位置;校驗碼主要用于檢驗數據在傳輸過程中是否發生混亂,避免導致定位精度混亂,提高定位準確度。
2.5 遠程控制設計
車載控制器是礦井機車無人控制的核心單元,采用具有控制規律解算、數據采集與通訊的工業級PLC控制器。監控人員發送任務指令,通過無線通信發送至PLC控制器,經過PLC控制器解算后輸出至各執行單位,完成相關機車操作、道岔轉轍機、信號燈等設備的連鎖控制。控制系統結構如圖5所示。
通過TCP/IP與下位機西門子PLC通信,將控制命令發送給PLC的協議如表2所示。
其中,0B定義為每次發送的數據幀報頭,PLC識別到0B后開始接受數據工作;0A為每次數據幀發送尾幀,當PLC識別0A后停止數據接收工作,PLC根據接收數據中的01-09命令碼作出響應。數據發送利用套接字socket的socket.send()函數實現。
3 結語
針對傳統礦井機車監控系統監控內容單一以及對機車的不可操作性問題,以C#為設計平臺,以SQL Server 2016為數據存儲軟件,設計了一種可對礦井機車參數、巷道參數及巷道環境進行實時監控,對礦井機車進行遠程控制的監控系統。該系統采用多模塊分工設計,將系統細分為各個次級模塊,各模塊獨立工作又相互協作,實現了地面監控人員對礦井機車的監控以及礦井機車的無人操作。系統具有連接簡單、操作方便、直觀性強等特點,可滿足礦井機車監控要求,實現礦井機車無人操作。但系統在數據傳輸速率、質量以及界面UI方面仍有不足,這是今后研究完善的方向。
參考文獻:
[1] 金楓,張達,戰凱. 地下金屬礦無線通訊技術[J]. 有色金屬,2013,65(1):17-23.
[2] ANDREW TROELSEN. 精通C#[M]. 姚琪琳,朱曄,肖逵,等,譯. 北京:人民郵電出版社,2013.
[3] 鞠傳香,吳志勇. 基于Android平臺的礦井安全監控系統研制[J]. 煤炭工程,2013(1):165-171.
[4] 王雪光,姚瑤. 基于ZigBee的礦井監控系統網絡構建[J]. 煤礦安全,2015,46(2):103-105.
[5] 趙洪磊,王英龍,張先毅. 基于無線傳感器網絡的礦井監控系統[J]. 山東輕工業學院學報,2008,22(4):85-88.
[6] 楊燁,郭東瑜. 基于移動網絡的礦井監控系統設計與實現[J]. 煤礦機電,2016 (6):75-78.
[7] 王瑛,錢旭. 基于礦井監控系統軟件設計原則的研究[J]. 煤,2013,22(2):9-12.
[8] 趙丹,陳帥,潘競濤. 礦井監控預警診斷系統研究[J]. 中國安全科學學報,2015,25(4):63-69.
[9] 王濤. 我國煤炭礦井監控系統的現狀與發展[J]. 煤炭科學技術,2000,28(9):43-45.
[10] 孫繼平. 現場總線及其在礦井監控系統中的應用[J]. 煤礦自動化,1997(2):4-7.
[11] 胡曉健. 礦井綜合安全監控系統的設計與研究[D]. 合肥:合肥工業大學,2004.
[12] 沈力. 基于無線通信的礦井監控系統的優化設計研究[D]. 重慶:重慶大學,2012.
[13] 王志波. 礦井安全監測監控系統的研究[D]. 呼和浩特:內蒙古科技大學,2014.
[14] 唐筱彬. 基于ZigBee技術的礦井安全監控系統設計[D]. 蘭州:蘭州大學,2011.
[15] 張淼,趙銀銀,李蒙,等. 基于Java及SQL Server數據庫開發的企業進銷存管理系統[J]. 智能計算機與應用,2017,7(3):183-184.
[16] 劉奇,林崗. 基于Visual Studio 2010的UG二次開發研究[J]. 自動化技術與應用,2015,34(1):40-46.
[17] 明日科技. C#從入門到精通[M]. 北京:清華大學出版社,2012.
[18] 孫成才,羅承雙,黃艷國. 釩流電池監控管理系統設計與實現[J]. 軟件導刊,2018,17(3):90-92.
[19] 賀蘊杉. 基于SQL Server數據庫安全機制問題的研究與分析[J]. 信息安全與技術,2014(1):48-50.
[20] 秦利紅,秦會斌,諸堅彬,等. 基于Android平臺智能家居客戶端的設計與實現[J]. 計算機應用與軟件,2016,33(9):88-92.
(責任編輯:杜能鋼)