睢潔 陳雯
摘要:海洋疏浚工程船在疏浚作業(yè)過程中將會產(chǎn)生大量的數(shù)據(jù),就目前而言這些重要的數(shù)據(jù)只能在船機工作室內(nèi)進行監(jiān)控。以往因為通信技術(shù)的限制,不能實現(xiàn)船岸一體化,但是隨著北斗衛(wèi)星集群數(shù)傳技術(shù)的成熟,船岸一體化中的數(shù)據(jù)傳輸問題得到了有效解決,因此通過互聯(lián)網(wǎng)技術(shù)將SCADA系統(tǒng)采集到的數(shù)據(jù)網(wǎng)絡(luò)化就成為了可能,Web-SCADA的任務(wù)就是要實現(xiàn)這些數(shù)據(jù)在岸端的顯示,通過瀏覽器端的仿真頁面監(jiān)控工程船的工作狀況。
關(guān)鍵詞:Web-SCADA;海洋疏浚;工程船;疏浚作業(yè);數(shù)據(jù)網(wǎng)絡(luò)化 文獻標識碼:A
中圖分類號:TP311 文章編號:1009-2374(2015)06-0064-02 DOI:10.13535/j.cnki.11-4406/n.2015.0459
現(xiàn)代海上工程船設(shè)備先進,已經(jīng)高度自動化、信息化,因為通信技術(shù)的限制,不能實現(xiàn)船岸一體化,因此被稱之為漂浮在海洋上的信息孤島。我國的北斗衛(wèi)星短報文通信打破了這個限制,在北斗衛(wèi)星集群數(shù)傳技術(shù)的支持下,在岸上實時監(jiān)控海上工程船的運行狀態(tài)、工作狀態(tài)就是一個Web實現(xiàn)問題,就是從獨立運行的SCADA系統(tǒng)到基于互聯(lián)網(wǎng)運行的Web-SCADA的技術(shù)實現(xiàn)問題。目前,SCADA系統(tǒng)憑借它在工業(yè)控制等方面的優(yōu)勢在海洋疏浚工程船中得到廣泛的應(yīng)用,但是SCADA系統(tǒng)因為如下原因已經(jīng)遠遠不能滿足實際工作中生產(chǎn)的需求:一是系統(tǒng)維護和升級存在困難,不能滿足大型系統(tǒng)的需求;二是系統(tǒng)質(zhì)量不能保證,為了讓數(shù)據(jù)庫與活動客戶保持連接,就要分散運算資源,導致系統(tǒng)性能的下降;三是在復雜的環(huán)境下,用戶有可能長時間等待,甚至系統(tǒng)會崩潰;四是C/S模型開發(fā)系統(tǒng)的生命周期短、可擴展性、可維護性差,研發(fā)周期長。SCADA系統(tǒng)只能將船機運行和工作狀態(tài)呈現(xiàn)在在船機工作室內(nèi),離船聯(lián)網(wǎng)提出的船岸一體化目標要求相距甚遠。隨著北斗集群數(shù)傳技術(shù)對于海上通信的技術(shù)和經(jīng)濟限制的突破,基于互聯(lián)網(wǎng)的Web-SCADA將有效地克服SCADA系統(tǒng)的局限性。
1 系統(tǒng)架構(gòu)
1.1 工作流程
海洋疏浚工程船Web-SCADA系統(tǒng)基于北斗集群數(shù)傳技術(shù),將遠洋疏浚工程船采集到的數(shù)據(jù)通過北斗衛(wèi)星集群數(shù)傳技術(shù)傳輸給岸基指揮中心,然后通過B/S架構(gòu)的網(wǎng)絡(luò)平臺將采集到的數(shù)據(jù)通過互聯(lián)網(wǎng)發(fā)布出去,從而在岸端的用戶可以通過互聯(lián)網(wǎng)查看到原本只能在船機工作室才能監(jiān)控到的工程數(shù)據(jù)。
1.2 基本組成
1.2.1 客戶終端:客戶終端分為兩部分:一是監(jiān)控終端;二是管理終端。(1)監(jiān)控終端。監(jiān)控終端為工作人員提供實時監(jiān)控工程船的船機狀態(tài)和工作狀態(tài)的平臺,并且把控制信息通過網(wǎng)絡(luò)上報到中心服務(wù)器,如預警信息,比如某個齒輪箱的溫度或者油壓過高需要調(diào)控等;(2)管理終端。管理終端實現(xiàn)用戶管理,Web-SCADA設(shè)計的目的之一就是實現(xiàn)多人、多地點對同一監(jiān)控目標的監(jiān)控,因此不同的工作人員登錄系統(tǒng)后根據(jù)身份獲得不同的權(quán)限,并且對本次登錄操作負責。
1.2.2 通信網(wǎng)絡(luò):通信網(wǎng)絡(luò)主要包括移動通信網(wǎng)絡(luò)和互聯(lián)網(wǎng),實現(xiàn)客戶端和中心服務(wù)器的雙向數(shù)據(jù)傳輸。Web-SCADA是基于互聯(lián)網(wǎng)設(shè)計的,良好的通信網(wǎng)絡(luò)是系統(tǒng)正常運行的必要條件。
1.2.3 中心服務(wù)器:中心服務(wù)器是Web-SCADA的核心所在,Web-SCADA主要運行在中心服務(wù)器之上的應(yīng)用服務(wù)的實現(xiàn),中心服務(wù)器包括兩個部分,分別是應(yīng)用服務(wù)器和數(shù)據(jù)庫服務(wù)器。應(yīng)用服務(wù)器負責監(jiān)聽相應(yīng)的網(wǎng)絡(luò)端口,接收工程船發(fā)送的海量數(shù)據(jù)并校驗,同時負責發(fā)布數(shù)據(jù)并響應(yīng)用戶的請求,為瀏覽器提供SCADA的仿真視圖。數(shù)據(jù)庫服務(wù)器實現(xiàn)對數(shù)據(jù)庫的訪問和管理,因為海洋作業(yè)產(chǎn)生的數(shù)據(jù)量非常巨大,所以采用分布式數(shù)據(jù)管理系統(tǒng)。
2 Web-SCADA實現(xiàn)技術(shù)
2.1 Flex仿真頁面技術(shù)
本文提出的Web-SCADA是基于Flex技術(shù)實現(xiàn)的。Flex技術(shù)是將桌面應(yīng)用的華麗界面與Web應(yīng)用的廣泛性、低成本以及多媒體通信集成于一體的新互聯(lián)網(wǎng)應(yīng)用技術(shù),具有極強的用戶互動性和豐富的用戶體驗性,是當前領(lǐng)先和成熟的RIA(富互聯(lián)網(wǎng)應(yīng)用程序)技術(shù)。
Flex框架由MXML頁面標記語言,ActionScript編程語言和Flex類庫組成。MXML是基于XML的標記語言,用于界面的布局和顯示控件。MXML提供了用戶界面和服務(wù)器端數(shù)據(jù)的綁定,極大簡化了數(shù)據(jù)訪問編程,提高了編程效率。ActionScript是類似JavaScript的強類型面向?qū)ο笳Z言,用于操控GUI組件、事件監(jiān)聽、數(shù)據(jù)訪問回調(diào)等。Flex類庫是核心,提供了種類繁多的各種控件、GUI組件、數(shù)據(jù)訪問組件、行為組件等,可以方便實現(xiàn)負責的用戶界面和響應(yīng)事件類型。利用Flex提供的豐富的組件繪制功能,可以繪制疏浚工程船SCADA界面的仿真頁面,這樣更符合工作人員習慣。
2.2 WebService服務(wù)
WebService是SOA的具體實現(xiàn),WebService適用于不同系統(tǒng)之間的接口調(diào)用或者不同編程語言實現(xiàn)的接口之間的調(diào)用。本系統(tǒng)客戶端的仿真頁面是基于Flex實現(xiàn),而應(yīng)用服務(wù)是基于.NET平臺實現(xiàn),因此非常適合適用WebService來做接口調(diào)用。WebService向外暴露一個可以通過Web進行調(diào)用的API,調(diào)用成功以后會返回XML數(shù)據(jù)。簡單地說,WebService是一個平臺獨立的,低耦合的,自包含的、基于可編程的Web的應(yīng)用程序,可使用開放的XML標準來描述、發(fā)布、發(fā)現(xiàn)、協(xié)調(diào)和配置這些應(yīng)用程序,用于開發(fā)分布式的互操作的應(yīng)用程序。
2.3 異步訪問
在對數(shù)據(jù)庫進行訪問時,為了避免同步訪問數(shù)據(jù)時所帶來的延遲,我們需要改進設(shè)計,以提高程序執(zhí)行效率。一方面,可以避免因頻繁刷新網(wǎng)頁給用戶以良好的使用體驗;另一方面,也降低了程序崩潰的可能性。Flex自帶異步組件,避免使用第三方插件,可以非常方便地實現(xiàn)異步訪問。
3 應(yīng)用服務(wù)架構(gòu)
應(yīng)用服務(wù)架構(gòu)即是Web架構(gòu),遵循多層架構(gòu)的設(shè)計思想,設(shè)計上采用四層架構(gòu),將數(shù)據(jù)、業(yè)務(wù)邏輯、服務(wù)提供以及客戶端操作分離開。這種架構(gòu)既便于系統(tǒng)的開發(fā)維護,又有利于系統(tǒng)的部署使用,還能提高系統(tǒng)的安全性和可擴展性。
3.1 數(shù)據(jù)層
數(shù)據(jù)層為Web-SCADA系統(tǒng)提供數(shù)據(jù)支持,本系統(tǒng)存儲的數(shù)據(jù)來自海洋疏浚工程船,包括工作人員數(shù)據(jù)、工程船數(shù)據(jù),所有數(shù)據(jù)都采用關(guān)系型數(shù)據(jù)的方式組織。
3.2 數(shù)據(jù)訪問層
數(shù)據(jù)訪問層主要是將業(yè)務(wù)邏輯層進行封裝處理,將系統(tǒng)的各項功能以WebService服務(wù)的方式發(fā)布給顯示層。該層充分體現(xiàn)了SOA的設(shè)計理念。
3.3 業(yè)務(wù)邏輯層
業(yè)務(wù)邏輯是對數(shù)據(jù)進行處理分析,為上層調(diào)用提供合適的信息。同時對系統(tǒng)的安全性、運算負載平衡、系統(tǒng)運行狀況等進行控制。
3.4 顯示層
顯示層即是Web-SCADA的客戶端,為工作人員提供圖形化的仿真頁面,并且提供眾多和中心服務(wù)器交互的接口,便于工作人員對海洋疏浚工程船的監(jiān)視和控制。
4 主要功能
船機工作室中SCADA系統(tǒng)上的所有界面及功能都被搬到了網(wǎng)絡(luò)上,工作人員借助Web-SCADA系統(tǒng)在岸端就可以對工程船進行監(jiān)控。
5 結(jié)語
本文提出了一套完整的實現(xiàn)船岸一體化的解決方案,建立Web-SCADA系統(tǒng)平臺用于監(jiān)控和調(diào)度海洋疏浚工程船。通過客戶端Flex異步調(diào)用服務(wù)器端WebService的相關(guān)方法,實現(xiàn)了一個頁面無刷新更新實時數(shù)據(jù)的Web-SCADA系統(tǒng)。岸基工作人員不再需要親臨疏浚工程船去觀看基于C/S架構(gòu)的監(jiān)控系統(tǒng)來指導疏浚工作,僅需要一個能聯(lián)網(wǎng)的瀏覽器,并且不需要安裝任何第三方組態(tài)軟件就能實時指導工程船工作。整個系統(tǒng)可以遠程訪問,使工作人員雖遠離現(xiàn)場,亦可處處監(jiān)控工程船的工作情況。此外,一個工作人員可同時監(jiān)控多個過程,使過程控制人員不再分身乏術(shù);多個工作人員也可以監(jiān)控同一過程,真正實現(xiàn)了數(shù)據(jù)的開放性及過程信號的透明化。該系統(tǒng)研制的成功解決了船岸一體化問題,對疏浚領(lǐng)域數(shù)字化監(jiān)控系統(tǒng)的升級和海洋工程船舶技術(shù)水平的提升起到了至關(guān)重要的作用。
參考文獻
[1] 何嗣隆.北斗集群數(shù)輸技術(shù)及其在海洋疏浚工程船中的應(yīng)用研究[D].華東師范大學,2014.
[2] 劉耀,李超良.組態(tài)軟件框架的研究與設(shè)計[J].微計算機信息,2005,21(6X).
[3] 陳群.基于ASP.NET AJAX新型Web SCADA的設(shè)計與實現(xiàn)[J].工業(yè)控制計算機,2009,(6).
[4] 蔡黃輝,馬文濤.軟件架構(gòu)設(shè)計的過程[M].北京:機械工業(yè)出版社,2010.
[5] 熊桂喜.計算機網(wǎng)絡(luò)(第三版)[M].北京:清華大學出版社,1998.
(責任編輯:秦遜玉)