涂婉麗 ,徐軼群
(集美大學(xué)輪機(jī)工程學(xué)院,福建 廈門(mén) 361021)
?
基于Web的船舶動(dòng)力裝置虛擬操作訓(xùn)練系統(tǒng)
涂婉麗,徐軼群
(集美大學(xué)輪機(jī)工程學(xué)院,福建 廈門(mén) 361021)
[摘要]為了解決以往工業(yè)組態(tài)軟件開(kāi)發(fā)的船舶動(dòng)力裝置虛擬操作訓(xùn)練系統(tǒng)的網(wǎng)絡(luò)功能局限性,文章對(duì)基于web的虛擬訓(xùn)練操作系統(tǒng)進(jìn)行了研究.提供了系統(tǒng)基于B/S模式的架構(gòu),并詳細(xì)闡述了系統(tǒng)開(kāi)發(fā)過(guò)程中的關(guān)鍵問(wèn)題和解決方案,如基于Web的系統(tǒng)操作界面及動(dòng)態(tài)交互功能的實(shí)現(xiàn)、多人協(xié)同開(kāi)發(fā)的解決方案等.并以.NET為開(kāi)發(fā)平臺(tái)設(shè)計(jì)了基于Web的船舶動(dòng)力裝置的虛擬操作訓(xùn)練系統(tǒng),包括用戶管理模塊、船舶動(dòng)力裝置訓(xùn)練項(xiàng)目操作模塊和操作過(guò)程記錄與評(píng)估模塊.以該方案設(shè)計(jì)的系統(tǒng)已經(jīng)投入運(yùn)行,應(yīng)用結(jié)果表明該系統(tǒng)充分利用了Internet,解決了傳統(tǒng)船舶動(dòng)力裝置虛擬操作訓(xùn)練系統(tǒng)受時(shí)間和空間限制的問(wèn)題,提高了遠(yuǎn)程教學(xué)訓(xùn)練的能力,具有良好的交互性、擴(kuò)展性及應(yīng)用價(jià)值.
[關(guān)鍵詞]Web;B/S模式;.NET;船舶動(dòng)力裝置;虛擬操作
0引言
傳統(tǒng)模式下,船舶動(dòng)力裝置的模擬操作訓(xùn)練主要在實(shí)物設(shè)備上進(jìn)行.隨著計(jì)算機(jī)、操作平臺(tái)、網(wǎng)絡(luò)、通信等技術(shù)的快速發(fā)展,對(duì)船員的操作訓(xùn)練信息化的要求也越來(lái)越多,采用虛擬操作系統(tǒng)用于輔助于實(shí)際設(shè)備的模擬訓(xùn)練,可以大大節(jié)省開(kāi)發(fā)成本和維護(hù)成本,縮短訓(xùn)練周期,具有重要意義.目前的船舶動(dòng)力裝置虛擬訓(xùn)練系統(tǒng)基本上都是由建立在客戶端/服務(wù)器(C/S)模式下的傳統(tǒng)組態(tài)軟件來(lái)實(shí)現(xiàn)的,仍以單機(jī)應(yīng)用為主.隨著網(wǎng)絡(luò)應(yīng)用的普及,船員虛擬訓(xùn)練系統(tǒng)不再滿足于本地的訓(xùn)練功能應(yīng)用,越來(lái)越多系統(tǒng)要求具有Web功能,如通過(guò)Internet網(wǎng)絡(luò)實(shí)現(xiàn)遠(yuǎn)程系統(tǒng)的操作訓(xùn)練、故障診斷等等.部分組態(tài)軟件雖具有Web功能,但發(fā)布模式復(fù)雜,限制條件多,對(duì)Internet的利用十分有限,而且不支持遠(yuǎn)程發(fā)布功能.當(dāng)訓(xùn)練系統(tǒng)的用戶量達(dá)到一定規(guī)模,操作地點(diǎn)分布到一定范圍后,組態(tài)軟件的Web功能已無(wú)法滿足訓(xùn)練需求[1].
基于上述分析,本文采用瀏覽器/服務(wù)器(B/S)模式,提出了一種基于Web的船舶動(dòng)力裝置虛擬操作訓(xùn)練系統(tǒng)的架構(gòu)方法,并設(shè)計(jì)實(shí)現(xiàn)了船舶動(dòng)力裝置虛擬操作訓(xùn)練系統(tǒng).當(dāng)采用該系統(tǒng)對(duì)船員進(jìn)行虛擬操作訓(xùn)練時(shí),能夠不受時(shí)間和空間的限制,將局域網(wǎng)內(nèi)實(shí)現(xiàn)的功能延伸到Internet上去[2].
1B/S模式下的船舶動(dòng)力裝置虛擬操作訓(xùn)練系統(tǒng)的架構(gòu)
B/S模式采用的是瀏覽器、Web服務(wù)器和數(shù)據(jù)庫(kù)服務(wù)器的體系結(jié)構(gòu),如圖1所示.應(yīng)用程序全部放在Web服務(wù)器上,所有的客戶端只是瀏覽器,通過(guò)Web服務(wù)器實(shí)現(xiàn)對(duì)數(shù)據(jù)庫(kù)服務(wù)器的訪問(wèn),可以在任何地方進(jìn)行操作而不用安裝專門(mén)的軟件.只需要管理服務(wù)器,客戶端零維護(hù),無(wú)論用戶規(guī)模有多大,只需要把服務(wù)器連接入網(wǎng)即可,實(shí)現(xiàn)遠(yuǎn)程維護(hù)、升級(jí)和共享,系統(tǒng)的擴(kuò)展也非常容易.
B/S模式下的船舶動(dòng)力裝置虛擬操作訓(xùn)練系統(tǒng)是基于Web Service的應(yīng)用程序,系統(tǒng)架構(gòu)可分成應(yīng)用表現(xiàn)層、業(yè)務(wù)邏輯層、數(shù)據(jù)服務(wù)層[3-4],如圖2所示.
應(yīng)用表現(xiàn)層即用戶端通過(guò)Internet瀏覽器界面直接與Web服務(wù)器端進(jìn)行動(dòng)態(tài)交互,代替了專門(mén)的客戶端軟件.業(yè)務(wù)邏輯層體現(xiàn)在用戶端通過(guò)嵌在Web頁(yè)面的ActiveX控件對(duì)數(shù)據(jù)端口進(jìn)行訪問(wèn),將數(shù)據(jù)寫(xiě)入數(shù)據(jù)庫(kù)服務(wù)器保存,而Web服務(wù)器將數(shù)據(jù)庫(kù)服務(wù)器的實(shí)時(shí)數(shù)據(jù)動(dòng)態(tài)發(fā)布到網(wǎng)上,客戶端則通過(guò)Internet瀏覽器進(jìn)行遠(yuǎn)程監(jiān)控.數(shù)據(jù)服務(wù)層指的是采用數(shù)據(jù)庫(kù)服務(wù)器進(jìn)行數(shù)據(jù)處理,數(shù)據(jù)庫(kù)服務(wù)器不直接服務(wù)于每個(gè)客戶機(jī),而與Web服務(wù)器溝通,系統(tǒng)的開(kāi)放性得到很大提高,開(kāi)發(fā)與維護(hù)更加方便.
2船舶動(dòng)力裝置虛擬操作訓(xùn)練系統(tǒng)的模塊功能與實(shí)現(xiàn)
本文設(shè)計(jì)的基于Web的船舶動(dòng)力裝置虛擬操作訓(xùn)練系統(tǒng)可以分為以下幾個(gè)功能模塊:用戶管理模塊、船舶動(dòng)力裝置訓(xùn)練項(xiàng)目操作模塊[5-6]、操作過(guò)程記錄與評(píng)估模塊,具體見(jiàn)圖3.
用戶管理模塊主要對(duì)被訓(xùn)練學(xué)生和管理員的信息和權(quán)限進(jìn)行設(shè)置.學(xué)生登錄系統(tǒng)后,進(jìn)入船舶動(dòng)力裝置訓(xùn)練項(xiàng)目模塊,學(xué)生選取要操作的訓(xùn)練項(xiàng)目,如:壓縮空氣系統(tǒng)、冷卻水系統(tǒng)、鍋爐系統(tǒng)等,每個(gè)訓(xùn)練項(xiàng)目均對(duì)應(yīng)一個(gè)操作頁(yè)面,如圖4是選擇鍋爐系統(tǒng)的交互界面.操作部分分成兩塊:左邊部分是鍋爐系統(tǒng)的管路原理圖,右邊部分是對(duì)鍋爐系統(tǒng)進(jìn)行虛擬控制的電氣控制箱.學(xué)生每進(jìn)行一步操作,均可以在界面右下方看到操作記錄,每個(gè)訓(xùn)練項(xiàng)目操作完成之后提交,后臺(tái)的操作過(guò)程記錄與評(píng)估模塊對(duì)學(xué)生的操作進(jìn)行記錄和評(píng)估.管理員登錄系統(tǒng)之后,可以進(jìn)行考生信息管理、訓(xùn)練項(xiàng)目管理、評(píng)估成績(jī)管理等操作.
3關(guān)鍵技術(shù)及實(shí)現(xiàn)
基于Web的船舶動(dòng)力裝置虛擬操作訓(xùn)練系統(tǒng)必須能夠在IE等瀏覽器中實(shí)現(xiàn)監(jiān)控系統(tǒng)操作界面的動(dòng)態(tài)交互,因此要采用一種可以產(chǎn)生和執(zhí)行動(dòng)態(tài)的、交互式、高效率的Web服務(wù)器應(yīng)用程序的工具,如Dreamweaver可視化工具、.NET Framework(以下簡(jiǎn)稱.NET平臺(tái))框架平臺(tái)、Java Script的HTML頁(yè)面等均可以生成系統(tǒng)的動(dòng)態(tài)交互操作界面,本文采用了微軟的.NET平臺(tái),Windows 7中包含了.NET平臺(tái)的最新版本.
在船舶動(dòng)力裝置虛擬操作訓(xùn)練系統(tǒng)中,客戶端通過(guò)Internet瀏覽器對(duì)系統(tǒng)進(jìn)行動(dòng)態(tài)操作時(shí),界面上對(duì)象的狀態(tài)變化要與實(shí)際的動(dòng)力裝置系統(tǒng)一致.如上所述的鍋爐系統(tǒng)中,管路、閥門(mén)、電源開(kāi)關(guān)、泵的啟停按鈕、儀表指示燈、液位計(jì)等均要能夠進(jìn)行實(shí)時(shí)交互.這種動(dòng)態(tài)交互邏輯功能的實(shí)現(xiàn)是設(shè)計(jì)虛擬訓(xùn)練系統(tǒng)的難點(diǎn),解決方案有采用圖片和動(dòng)畫(huà)技術(shù)實(shí)現(xiàn),或者直接采用ActiveX控件技術(shù)實(shí)現(xiàn).關(guān)于ActiveX控件技術(shù)的使用方法,可以參考文獻(xiàn)[7].本系統(tǒng)管路的流動(dòng)效果是以圖片和動(dòng)畫(huà)技術(shù)來(lái)實(shí)現(xiàn)的,而其他開(kāi)關(guān)量和模擬量的控制是采用ActiveX控件技術(shù)實(shí)現(xiàn)的.通過(guò)虛擬電氣控制箱,可以對(duì)壓縮系統(tǒng)中被控對(duì)象進(jìn)行操作,系統(tǒng)交互畫(huà)面生動(dòng),對(duì)象狀態(tài)跟隨控制指令實(shí)時(shí)變化.
在實(shí)現(xiàn)系統(tǒng)對(duì)象的動(dòng)態(tài)交互邏輯功能時(shí),服務(wù)器端主要負(fù)責(zé)生成界面和邏輯功能的腳本,并發(fā)送給客戶端瀏覽器.客戶端瀏覽器負(fù)責(zé)解析這些腳本并在系統(tǒng)交互操作時(shí)實(shí)時(shí)刷新頁(yè)面.當(dāng)需要和服務(wù)器端進(jìn)行數(shù)據(jù)通信時(shí),客戶端才發(fā)送所需的加密數(shù)據(jù),這樣就減輕了服務(wù)器端的負(fù)擔(dān),提高了交互的速度.通過(guò)測(cè)試,即使是船舶動(dòng)力裝置虛擬操作系統(tǒng)中管路最多、邏輯功能最復(fù)雜的模塊,在多人異地同時(shí)操作的情況下,系統(tǒng)交互頁(yè)面的實(shí)時(shí)刷新也不會(huì)出現(xiàn)卡的現(xiàn)象.
在系統(tǒng)的開(kāi)發(fā)中,還有一個(gè)難題來(lái)自于開(kāi)發(fā)人員本身.在動(dòng)態(tài)網(wǎng)頁(yè)的設(shè)計(jì)中,操作對(duì)象的定位、頁(yè)面的美工、特別是邏輯交互功能的編輯等等方面,均需要由專業(yè)的軟件開(kāi)發(fā)技術(shù)人員來(lái)完成.對(duì)于一般工程技術(shù)人員,雖然對(duì)自動(dòng)化系統(tǒng)的控制邏輯較為熟悉,但由于不是計(jì)算機(jī)專業(yè)出身,在實(shí)現(xiàn)這些功能時(shí)會(huì)遇到困難.此外,船舶動(dòng)力裝置系統(tǒng)是一個(gè)復(fù)雜的工程系統(tǒng),在開(kāi)發(fā)時(shí)間有限的情況下,需要多位技術(shù)人員協(xié)同開(kāi)發(fā)完成.為了提高開(kāi)發(fā)效率,同時(shí)保證動(dòng)態(tài)網(wǎng)頁(yè)的開(kāi)發(fā)質(zhì)量,在系統(tǒng)開(kāi)發(fā)時(shí)采取了以下方案:首先由系統(tǒng)負(fù)責(zé)人給各技術(shù)人員分配任務(wù)模塊,并制定出統(tǒng)一的規(guī)則來(lái)實(shí)現(xiàn)對(duì)象的命名、對(duì)象的顯示方法、對(duì)象邏輯功能的定義等;然后各技術(shù)人員在.NET平臺(tái)上利用WinForm進(jìn)行各自任務(wù)模塊交互界面的設(shè)計(jì),并完成單機(jī)上業(yè)務(wù)邏輯的編輯與調(diào)試;最后通過(guò)調(diào)用統(tǒng)一的GetCode()轉(zhuǎn)換程序轉(zhuǎn)換到Web頁(yè)面上.其中的GetCode轉(zhuǎn)換程序由系統(tǒng)負(fù)責(zé)人單獨(dú)開(kāi)發(fā).圖5顯示了所采用的協(xié)同開(kāi)發(fā)平臺(tái)架構(gòu)和工作流程圖.
以下是單機(jī)版調(diào)用GetCode()轉(zhuǎn)換程序的代碼:
private void FrmMain_Load(object sender,EventArgs e)
{
//以下調(diào)用轉(zhuǎn)換程序
GetCode gc=new GetCode();
//取得需轉(zhuǎn)換的*.cs源文件路徑
gc.path=m_path;
gc._Form=this;
gc.Explorer();
}
以下是GetCode()轉(zhuǎn)換程序的關(guān)鍵代碼:
#region轉(zhuǎn)換Frmmain.cs有關(guān)正則的一部分函數(shù)
///
///所有轉(zhuǎn)換
///
private void ReplaceAll()
{
string pathLocationExam=path+"LocaltionExam.txt"; //右側(cè)面板
string pathLocationOperate=path+"LocaltionOperate.txt"; //左側(cè)面板
string pathVariables=path+"Variable.js"; //定義變量
string pathStep=path+"Step.js";//定義操作步驟
string pathRefresh=path+"Refresh.js"; //各種刷新函數(shù)
//文件刪除
File.Delete(pathLocationExam);
File.Delete(pathLocationOperate);
File.Delete(pathVariables);
File.Delete(pathStep);
File.Delete(pathRefresh);
//追加文本
swExam=File.AppendText(pathLocationExam);
swOperate=File.AppendText(pathLocationOperate);
swVariable=File.AppendText(pathVariables);
swStep=File.AppendText(pathStep);
swRefresh=File.AppendText(pathRefresh);
swRefresh.WriteLine(" function SetBackgroundColor() {");
swStep.WriteLine("http://{0}//",_Form.Text);//輸出項(xiàng)目中各系統(tǒng)名稱
swStep.WriteLine("http://({0})",(_Form.AccessibleName==null || _Form.AccessibleName.Trim()=="")?"0":_Form.AccessibleName);//輸出子步驟可選必選數(shù)目
swStep.WriteLine("var WebPID='{0}';",(newRegular()).GetOneValueRegex("(?<=\\winform).*?(?=\\bin\\)",path)); //輸出WebPID
swStep.WriteLine("var steps=new Array();");//輸出steps變量
……
}
本文設(shè)計(jì)的船舶動(dòng)力裝置虛擬操作系統(tǒng)中數(shù)據(jù)庫(kù)服務(wù)器和Web服務(wù)器共享為一臺(tái),系統(tǒng)數(shù)據(jù)庫(kù)選用Microsoft SQL Server 2005~2008.SQL Server是一個(gè)關(guān)系型數(shù)據(jù)庫(kù)管理系統(tǒng),可跨越多種平臺(tái)使用,其內(nèi)部建立了一種可以與Web服務(wù)器相連接的機(jī)制,具有使用方便、可伸縮性好、相關(guān)軟件集成程度高等優(yōu)點(diǎn).
4結(jié)論
目前計(jì)算機(jī)、操作平臺(tái)、網(wǎng)絡(luò)、通信都進(jìn)入一個(gè)快速發(fā)展的新時(shí)期,船舶動(dòng)力裝置虛擬操作訓(xùn)練系統(tǒng)也必然從單機(jī)應(yīng)用向智能化,網(wǎng)絡(luò)化方向發(fā)展.以往的虛擬操作訓(xùn)練系統(tǒng)中存在的問(wèn)題,如用戶規(guī)模的增大、地域的分散、系統(tǒng)邏輯的復(fù)雜等問(wèn)題,在本文設(shè)計(jì)實(shí)現(xiàn)的基于Web的船舶動(dòng)力裝置虛擬操作訓(xùn)練系統(tǒng)中,均得到了解決.此外,該方案實(shí)現(xiàn)了快速組態(tài)的具有B/S架構(gòu)的功能.該虛擬訓(xùn)練系統(tǒng)解決了時(shí)間和空間限制的問(wèn)題,以此方案設(shè)計(jì)的船舶動(dòng)力裝置的虛擬操作系統(tǒng)目前已經(jīng)投入運(yùn)行,實(shí)踐表明,受訓(xùn)人員能夠較全面掌握動(dòng)力裝置系統(tǒng)的結(jié)構(gòu)組成和工作原理,系統(tǒng)提高了遠(yuǎn)程教學(xué)訓(xùn)練的能力,具有良好的交互性、維護(hù)性和擴(kuò)展性.當(dāng)然,針對(duì)高安全性要求的實(shí)際船舶動(dòng)力裝置系統(tǒng),還有待進(jìn)一步提高虛擬操作訓(xùn)練系統(tǒng)的穩(wěn)定性及可靠性.
[參考文獻(xiàn)]
[1]歐金成,歐世樂(lè),林德杰,等.組態(tài)軟件的現(xiàn)狀與發(fā)展[J].工業(yè)控制計(jì)算機(jī),2002,4:1-5.
[2]李亨,王麗萍,郭克宇,等.基于Web技術(shù)的工業(yè)信息遠(yuǎn)程實(shí)時(shí)監(jiān)測(cè)系統(tǒng)[J].計(jì)算機(jī)應(yīng)用研究,2000,7:63-65.
[3]朱韶平.基于Web ActiveX數(shù)據(jù)控件的網(wǎng)絡(luò)虛擬實(shí)驗(yàn)室構(gòu)建[J].計(jì)算技術(shù)與自動(dòng)化,2010,29(4):104-106.
[4]賀超波,陳啟買(mǎi).基于Web的實(shí)時(shí)數(shù)據(jù)監(jiān)測(cè)系統(tǒng)的研究和實(shí)踐[J].計(jì)算機(jī)技術(shù)與發(fā)展,2011,21(3):200-204.
[5]徐筱欣.船舶動(dòng)力裝置[M].上海:上海交通大學(xué)出版社,2007.
[6]姚壽廣,肖民.船舶動(dòng)力裝置[M].北京:國(guó)防工業(yè)出版社,2006.
[7]李躍峰,王文海.基于ActiveX技術(shù)的組態(tài)軟件Web服務(wù)功能的設(shè)計(jì)和實(shí)現(xiàn)[J].工業(yè)控制計(jì)算機(jī),2007,7:47-49.
(責(zé)任編輯陳敏英文審校鄭青榕)
Design and Implementation of a Web Based Virtual Operating andTraining System of a Marine Power PlantTU Wan-li,XU Yi-qun
(Marine Engineering Institute,Jimei University,Xiamen 361021,China)
Abstract:In order to solve the problems of the Web function limitation of the virtual operating training system for a marine power plant which usually was realized by industrial configuration software,a solution of Web-based training system was investigated.The system architecture based on Browser/Server mode was extablished and the key problems with their solutions existing in development process were detailed as follows: the implementation of system interface as well as its dynamic interactivity and the solution for multiplayer collaborative development and so on.With.NET development platform,the paper designed a Webbased virtual operating and training system for a marine power plant with function modules including user management modules,operation training modules of the marine power plant and operation record and evaluation module.The designed system was put into operation and the results showed that the system took full advantage of Internet and improved its performance on remote teaching.It had good interactivity,maintainability and scalability and broke the time and space limit of traditional virtual operation and training system.
Key words:Web;B/S model;.NET;Automatic;virtual operation
[中圖分類號(hào)]TP 391
[文獻(xiàn)標(biāo)志碼]A
[文章編號(hào)]1007-7405(2015)02-0128-06
[作者簡(jiǎn)介]涂婉麗(1982—),女,講師,碩士,從事船舶自動(dòng)化技術(shù)、機(jī)電檢測(cè)技術(shù)、信息集成等研究.
[基金項(xiàng)目]福建省自然科學(xué)基金資助項(xiàng)目(2012J01229)
[收稿日期]2014-06