


摘 要:系統基于工業以太網和CAN總線網絡開發,下位機采用ATMEL系列Atmega128單片機開發,實現數據多通道自動采集上傳。上位機在線監測軟件采用.NET平臺C#語言編程開發,使用Sqlserver2005數據庫,運用socket、數據庫存儲過程、多線程等關鍵技術,實現實時數據讀取存儲、曲線顯示、實時控制、歷史查詢、閾值報警等功能。監測軟件界面友好、操作靈活,實現了數據傳輸效率、準確性及人機交互性,并通過現場工程實踐驗證了軟件的各項功能。
關鍵詞:在線監測;.NET平臺;C#;socket;存儲過程;多線程
引言
水害作為煤礦井下主要災害之一,嚴重威脅著煤礦安全生產,其表現形式是礦井涌水量突然增大超出礦井排水系統的排水能力,因此,井下出水點涌水量、排水溝水流量監測是一項非常重要的工作。隨著科技的進步,井下涌水監測由人工采樣和實驗室分析為主向自動化、智能化和網絡化為主的監測方向發展。為實現井下出水點重要參數的連續、在線、快速監測,研發一套基于工業以太網的在線監測系統,對提高煤礦井下突水預警的整體水平具有重大意義。文章介紹了一種多參數突水預警在線監測軟件的設計和實現方法,軟件具有較高的穩定性和良好的可擴展性,適當修改設置后,即可進行其它水質參數的自動采集和實時存儲[1-3]。
1 基于CAN總線和工業以太網的通訊網絡
1.1 系統結構
控制器局域網CAN(Controller Area Network)屬于現場總線的范疇,是一種有效支持分布式控制系統的串行通信網絡,具有突出的可靠性、實時性和靈活性,廣泛應用于工業自動化、過程控制等諸多領域。基于工業以太網使用TCP/IP協議簇,通過CAN與以太網協議轉換,可實現跨網絡自由通訊。工業以太網通訊設備包括監測服務器、數據庫服務器、數據傳輸分站(網關設備)、以太網交換機等;CAN總線采集設備包括采集分站、通訊分站(網關設備)[4-5]。整個系統結構如圖1所示。
1.2 CAN總線應用層協議
涌水異常在線監測系統的數據傳輸分為井下傳輸和井上傳輸兩部分。井下數據傳輸過程以CAN總線傳輸和以太網光纖傳輸為主。其中,CAN總線網絡用于井下數據采集分站與通信分站之間的數據傳輸。系統通訊以標準CAN總線傳輸層協議為基礎,CAN數據幀包含1字節幀信息、4字節幀ID(含設備ID和傳感器ID各2字節)及8字節幀數據共13個字節。總線波特率默認設置10kbps,用戶可通過上位機軟件遠程設置總線波特率。CAN數據幀中最后字節用于校驗,其它非有效數據字節填0x00,使用異或校驗法[6-8]。每個數據采集終端有唯一ID號,且ID號的設置應允許掉電保持。傳感器類型ID不可隨意更改,必須按照預先協議規定設置。如表1所示。
1.3 基于工業以太網的UDP/IP協議
通訊分站采用CANET-II工業級雙路智能CAN轉以太網接口卡實現CAN與以太網協議轉換。上位機軟件運行在服務器端,在線監聽采集終端發送的數據并可實現設備遠程控制。由于UDP協議在數據傳輸過程中無須建立邏輯連接,不檢查數據報,因此UDP傳輸效率高,具有較好的實時性。為此,軟件通訊模塊采用標準的網絡傳輸報文協議UDP/IP協議簇作為系統以太網中物理層及以上各層的通訊協議,默認通過保留的UDP端口號8001來訪問通訊分站。監測軟件與通訊分站通訊原理如圖2所示。
2 上位機監測軟件
2.1 軟件結構
在整個涌水異常監測系統中,每臺采集分站由傳感器(水溫、水壓、流速、PH值、電導率、含氧量、濁度)采集信號并將其存儲到單片機Flash中,同時將數據通過CAN總線發送至通訊分站,經CAN-Ethernet協議轉換后,發送至上位機。上位機監測軟件負責監聽通訊分站轉發的實時采集數據,功能包括:實時數據采集和存儲;實時動態曲線顯示;遠程集中控制,對現場的采集分站實現重啟、設備自檢、ECHO應答、總線速率、發送間隔等參數設置;系統通訊狀態顯示、設備故障報警;歷史數據查詢、歷史曲線生成等。圖3所示為上位機監測軟件結構。
2.2 軟件核心功能
涌水異常監測軟件采用.NET平臺C#語言開發,使用WinSocket技術開發通訊模塊,采用Sqlserver2005數據庫實現實時數據存儲、歷史數據查詢。主要功能模塊包括:實時監控、歷史查詢、報警查詢、參數設置、用戶管理、數據管理等模塊[9-10]。軟件主程序流程如圖4所示。
軟件綜合運用線程池管理、線程同步、數據庫存儲過程等關鍵技術,實現了數據采集、數據存儲、動態曲線、歷史查詢、歷史曲線等多任務高效并發[7-8]。其中,軟件曲線動態顯示功能使用MsChart圖表控件呈現,規定X軸坐標顯示采集時間,Y軸坐標顯示采集數值,編程增加鼠標懸浮提示功能,預設每隔5秒刷新數據,并可在系統參數設置模塊修改刷新時間間隔。曲線動態數據管理工作線程CurveDisplayThread負責獲取最新監測數據,并利用回調技術實現軟件前臺曲線監測界面無閃爍刷新。數據監聽程序運行在服務器端,負責監聽來自通訊分站的實時采集數據。數據庫管理工作線程負責將監聽到的數據批量存入Sqlserver2005數據庫,利用信號量
2.3 數據包校驗
CAN數據包采用異或校驗法。校驗范圍包括 CAN 數據幀的前12個字節,即幀信息、幀 ID及幀數據中的前7個字節。數據監聽過程中,數據庫管理工作線程會調用CheckXor函數來校驗接收到的CAN數據包,如果函數返回true,證明接收數據無錯誤,執行Sqlserver數據庫存儲操作,否則返回1,程序自動視作無效數據包而丟棄。異或校驗函數代碼如下:
2.4 數據庫設計
數據存儲功能基于SqlServer2005開發。核心數據表為WaterInfo,包括信息編號(InfoID)、采集分站地址(CollectorAddress)、傳感器地址(SensorAddress)、采集時間(ParameterTime)、采集值(SensorValue)五個字段,如圖5所示。
存儲過程(Stored Procedure)是大型數據庫系統中,一組為了完成特定功能的SQL語句集,存儲在數據庫中,只需一次編譯便可通過在程序中指定存儲過程名字及傳入參數實現調用,能夠有效提升數據訪問效率、節省網絡資源[12-13]。為提高數據存儲訪問及邏輯計算效率,數據庫設計充分利用SqlServer2005數據庫的可編程性,通過編寫存儲過程GetRealWaterInfo,結合.NET開發平臺多線程管理技術,實現數據采集和存儲、動態曲線顯示、歷史數據查詢等操作任務的高效并發,有效提升了用戶體驗。
監測軟件中,用戶可方便維護系統參數,包括采集分站信息、傳感器信息、通訊設置、曲線設置等。軟件為避免用戶誤操作,設定了權限管理,用戶只有在通過身份密碼驗證的情況下,才能進行相關權限操作,同時用戶可以方便修改賬戶密碼,管理員可以維護基礎用戶信息,進一步提高了監測系統的安全性和靈活性。部分監測軟件界面如圖6、圖7所示。
3 結束語
文章介紹了基于工業以太網、CAN總線網絡的煤礦多參數涌水異常在線監測軟件設計與開發,從通訊協議、功能模塊、界面設計等幾個方面詳細進行了闡述。軟件經過工程現場實踐,可靠性高、實時性強,實現了對現場采集設備的自動數據采集,并可對采集分站發送控制指令,用戶可以隨時了解井下出水點各重要參數變化,并可根據水源水質實時監測數據變化情況,判斷是否可能發生突水事故,為煤礦安全生產管理提供科學及時地決策數據支撐。軟件當前能夠以閾值設置為基礎,實現簡單預警功能。下一步,軟件可以煤礦涌水水質分析數學模型為基礎,對煤礦涌水進行更為科學有效的預警。文章對于其他工業現場監測軟件也具有一定的借鑒意義。
參考文獻
[1]ZHANG Yan, LIU Ying-feng, Lv Ming-da. Key technologies on mine water inrush monitoring and warning system[J].Coal Geology Exploration,2012,04:60-62.
[2]CHEN Pei-pei, LIU Xiu-e. Research and Application of Water Inrush Early Warning System to Mine Roof[J].Coal Science and Technology,2010,12:93-96.
[3]HOU Guanhui, ZHANG Yingmei, WEI Hongxia. Study on the Predictive Method of Coal Mining Face Water Inrush Based on Information Fusion[J].Journal of Taiyuan University of Technology, 2013,44(1):25-29.
[4]閆廣,王昕,縱鑫,等.煤礦分布式突水監測系統設計[J].工礦自動化,2015,4:5-8.
[5]周琦.礦井水文監測系統的研究與設計[D].安徽理工大學,2014.
[6]陳偉.基于CAN總線的煤礦安全監控系統的研究[J].煤礦現代化,2012,1:51-52.
[7]董力川,戰久國.CAN總線研究及應用[J].黑龍江自動化技術與應用,1999,18(5):55-56.
[8]廖忠明,徐秀紅,彭小軍.一種基于CAN總線的煤礦遠程監控系統[J].煤炭技術,2012,31(1):97-98.
[9]隋濤,孔維維,王明欽,等.基于C#礦井提升機溫度監測系統的設計[J].煤礦現代化,2015,5:83-85.
[10]種衍芬.煤礦涌水監測分析與預警系統研究[J].山東煤炭科技,2014,4:155-156.
[11]張允剛,劉常春.基于Socket和多線程的遠程監控系統[J].控制工程,2006,7(2):175-177.
[12]韓翔宇.數據庫存儲過程的探討及應用[J].信息系統工程,
2015,12:48.
[13]Robert Vieira.SQL Server 2005高級程序設計[M].北京:人民郵電出版社,2008.