摘 要:本文探討基于工業以太網的通信軟件系統在海軍機場油庫泵站遠程監控中的應用,構想有關體系結構、數據結構和設計過程等,并分析在現實過程中可能出現的若干問題。
關鍵詞:遠程監控 機場 油庫泵站
中圖分類號:V351.9文獻標識碼:A文章編號:1674-098X(2012)07(a)-0041-01
1 引言
海軍機場油庫泵站是海軍航空兵場站平戰時油料保障順利實施的重要保障平臺,如何實現海軍航空兵機場油庫泵站遠距離精確控制,是打贏信息化戰爭迫切期待解決的問題。以太網作為目前應用最為廣泛的局域網技術,在自動化和過程控制領域得到了越來越多的應用?;赥CP/IP協議的以太網使整個網絡只有一種底層通信協議,滿足控制系統各個層次的要求,便捷地訪問遠程系統或與Internet聯接實現遠程控制。
2 監控系統的基本結構
監控系統可分為前臺監控界面部分和后臺數據采集與傳輸部分。后臺數據采集及控制程序通過對下位機板卡的讀寫達到數據輸入和控制參數的輸出功能。前臺監控界面則通過與后臺數據采集及傳輸程序以共享數據單元方式或傳遞數據方式,得到實時采集的數據并在屏幕上加以顯示。
3 監控網絡系統體系結構
監控系統中通信網絡主要要求實時性和可靠性,為此,在設計該監測系統時,上層網絡選用標準以太網(Ethernet),而其底層網絡則采用了具有更高可靠性的工業現場總線—RS-485協議的總線技術。
機場油庫泵站現場設置四臺下位機作為微機保護裝置,本通信軟件實現了四臺微機保護裝置與監控中心的數據通信。微機保護裝置通訊協議采用的是許繼103號電力通訊規約。其物理鏈路是RS-485總線,由于監控系統下,線路要求的通信流量大,直接將RS-485總線與監控操作站連接,進行交換數據,數據采集周期長,數據刷新實時太慢,所以可以將幾個微機保護裝置下掛到一個以太網網關下,進行協議轉換。通過網關后,網絡通訊協議被網關轉化為104協議。利用以太網和TCP/IP協議把微機保護裝置的運行參數自動上送到遠程監控系統(上位機),上位機把控制指令下發給微機保護裝置,實現數據的網絡通信。
4 軟件的結構設計
設計基于監控系統的要求考慮,采用VC++作為開發工具。因為VC++具有精練的代碼,較高的執行效率,突出的靈活性,可以完成從底層平臺到上層直接面向用戶的軟件,是大型工程項目開發的強有力的工具。
4.1 通信軟件的功能分析
監控系統與現場智能設備聯系的紐帶是通信軟件。通過通信程序現場智能設備可順利地將現場設備運行的參數,設備狀態、設備診斷信息上傳到監控系統,監控系統下達正確控制指令也可通過數據發送的形式。
微機保護裝置通信軟件主要實現組態監控軟件與微機保護裝置服務器連接,下發同步時鐘、進行數據采集、數據分類、數據自動上傳。該通訊軟件共有4層,應用層、數據鏈路層、傳輸層、物理層,其中傳輸層采用TCP/IP協議、數據鏈路層采用滑動窗停等協議、數據鏈路共享采用載波偵聽、碰撞協議,CRC校驗,錯誤重發。通訊軟件在調試好之后,通過編譯軟件生成DLL,組態軟件通過事件觸發與定時調用。
4.2 軟件的設計思路
根據現場的實際情況和要求,軟件共分為兩個主要的部分:一部分是數據的傳輸,采用Windows Socket通信;另一個部分是數據解析,實現對電力信息數據的解析。本系統數據信息采用第104號電力設備網絡通訊協議。
4.3 軟件的詳細設計
(1)軟件模塊(類)的設計。根據我們的軟件功能,我們將設計如下幾個模塊:線程通信類(CSocketComm),實現采集微機保護裝置的運行參數,向微機保護裝置寫入參數的兩項功能;協議類(Cxj104),增加許繼104通訊功能實現通訊協議功能,即可以按照104協議自動定時完成數據采集、數據分數據召喚上送以及同步時鐘的下發,Cxj104實現設備層和通訊層的功能;地址結構體(SockAddrIn),對現場數據采集設備地址進行設置、判斷、獲取IP地址和端口號;報警結構體(DataWarn),包括報警類型、時間、地址和報警值。
(2)線程通信類的實現。線程通信是整個通信軟件的基礎,也是最關鍵的部分之一。我們采用基于TCP/IP的多線程開發模式,用WINSOCK實現網絡連接。而多線程機制可以最大限度的節約系統資源。
線程通信主要實現線程的建立、關閉,建立、關閉連接,讀寫線程數據等功能。104協議傳輸層采用TCP/IP協議,Winsock是TCP/IP的一個接口。在Windows環境下,網絡通訊協議的軟件開發接口就是Winsock函數。應用程序調用Windows Socket的API實現相互之間的通訊。應用程序要是向系統申請Socket,其便獲得了一個與其它應用程序通訊的輸入輸出接口?;赥CP/IP網絡通信的主要模式是客戶機/服務器方式,具體為:客戶程序發送請求服務程序,服務器對客戶的請求做出響應,并將結果返回給客戶。
(3)通信協議類實現。電力行業數據按類別主要分為遙信信息、遙測信息、電能信息。遙信信息一般表示開關量(電機起停、繼電器開合等);遙測信息用于表示電壓、電流、頻率等瞬時值;電能信息用于表示電量等累加值。
為了實現存儲數據單元,我們建立兩個數據結構體,一個是信息體數據結構體(DataStru),它包含了數據的公共地址、點號和值,實現對數據的存儲;另一個是單元數據結構體(UnitData),主要是為了對各種數據分別存儲,為了不相互影響,使用臨界區加鎖技術。
(4)導出函數設計。導出函數為DLL提供了對外的接口,它可以被MFC或非MFC應用程序調用,具有模塊定義文件。當有外部其他應用程序調用DLL時,就是通過調用導出函數來實現。
由于本通信軟件主要是向上位機組態監控軟件提供微機保護裝置的運行參數和向微機保護裝置寫入參數,其參數信息主要是遙測、遙控、報警等。所以導出函數主要有如下幾個:是否有報警,獲得遙測、單點遙信、雙點遙信、其它遙信、報警等。另外還有開始、結束協議,添加、刪除單元,建立、斷開連接等。
參考文獻
[1]段錦,齊紅,宋璐.實時數據遠程通信系統的設計[J].計算機工程.2002,28(4):263-264,267.
[2]張浩泉,馬寶波.油庫司泵[M].北京:解放軍出版社.1999.
[3]黨力.無線數據通信在遠程監控中的應用[J].石油化工自動化.2005(3):57-58,85.