史瑞麟,韓芳,孔維健,王直杰
?。|華大學(xué) 信息科學(xué)與技術(shù)學(xué)院,上海 201600)
摘要:隨著互聯(lián)網(wǎng)技術(shù)的迅速發(fā)展,基于Web的虛擬控制實驗系統(tǒng)是高校遠(yuǎn)程實驗的重要組成部分。結(jié)合了一種虛擬控制實驗系統(tǒng)的體系結(jié)構(gòu),依托unity3D、APS.NET以及組態(tài)軟件等多種工具共同構(gòu)建基于Web的虛擬控制實驗系統(tǒng)。
關(guān)鍵詞:基于Web;ASP.NET;組態(tài)軟件;虛擬控制實驗軟件系統(tǒng)
0引言
現(xiàn)代的高校遠(yuǎn)程實驗以信息網(wǎng)絡(luò)技術(shù)為根本,具有資源共享,隨時隨地在有網(wǎng)絡(luò)的地方即可操作等優(yōu)點。近年來,隨著高校遠(yuǎn)程實驗的迅速發(fā)展,各大高校都開始進行遠(yuǎn)程虛擬實驗室的建設(shè),這對虛擬實驗室和現(xiàn)代教育等的發(fā)展具有重大的意義[1] 。
在高校教學(xué)實驗中,由于現(xiàn)場的生產(chǎn)設(shè)備比較貴重,難以搬到實驗室中來供學(xué)生實驗,并且學(xué)生也不能進入工廠生產(chǎn)線進行實驗[2]。虛擬實驗室作為一種全新的解決方案,為高校教學(xué)實驗提供了一個平臺。虛擬實驗室是一個對虛擬對象進行監(jiān)控的平臺,可以對任意工業(yè)現(xiàn)場進行建模, 然后組態(tài)監(jiān)控系統(tǒng),從而加深對工業(yè)生產(chǎn)線的了解。但是由于以往的虛擬對象只是一段“程序”或者一張平面圖,學(xué)生可能對虛擬對象不能直觀地了解。本文利用unity3D對虛擬對象進行模型建立, 這樣就會對想要了解的生產(chǎn)線有了立體直觀的印象,并且把3D虛擬模型與組態(tài)系統(tǒng)通過OPC通訊模塊來實現(xiàn)連接,這樣即可對3D虛擬對象進行監(jiān)控。
1基于Web的遠(yuǎn)程虛擬實驗軟件系統(tǒng)的總體設(shè)計
虛擬實驗是指把傳統(tǒng)實驗中的一些硬件設(shè)施用計算機技術(shù)來代替的一種方式,實驗者使用虛擬實驗技術(shù)獲取的實驗效果可能略遜于真實實驗場景下的結(jié)果,也可能更優(yōu),結(jié)果取決于具體的實驗。本文中的“虛擬實驗”是利用計算機技術(shù),以Web為實現(xiàn)平臺,把一系列軟件和硬件有機地結(jié)合起來,從而實現(xiàn)對真實實驗場景起到模擬的作用[35]。根據(jù)虛擬實驗的定義,該遠(yuǎn)程虛擬實驗軟件系統(tǒng)分成兩個組成部分:硬件和軟件。虛擬實驗軟件系統(tǒng)總體設(shè)計如圖1所示。
1.1虛擬實驗軟件系統(tǒng)硬件結(jié)構(gòu)
虛擬實驗軟件系統(tǒng)的硬件是由一套DCS組件構(gòu)成的,主要用來開發(fā)基于DCS系統(tǒng)的實驗項目以及實驗項目的Web發(fā)布方案。分布式控制系統(tǒng)(Distributed Control System,DCS)又稱集散式分布系統(tǒng),主要用于工控行業(yè)的生產(chǎn)線監(jiān)控。DCS主要分為控制站、操作站和工程師站。其中控制站是下位機,主要用來采集數(shù)據(jù)和控制與下位機相連接的儀器;操作站是上位機,主要用來監(jiān)視和控制整個生產(chǎn)線;工程師站則是用來配置整個監(jiān)控系統(tǒng),其中的配置工具是與DCS配套的組態(tài)軟件。目前國外的組態(tài)軟件有InTouch、IFix、Citech、WinCC以及ASPENtech等,國內(nèi)的組態(tài)軟件有世紀(jì)星、三維力控和組態(tài)王等。本文使用的組態(tài)軟件是浙江中自的Chitic。
組態(tài)軟件有硬件配置、數(shù)據(jù)庫組態(tài)、界面組態(tài)、算法組態(tài)等功能。數(shù)據(jù)庫組態(tài)主要是采集工藝流程中某些比較重要的點的數(shù)據(jù)來達(dá)到對整個工藝流程的監(jiān)視。另外還可以對數(shù)據(jù)設(shè)置報警,這樣當(dāng)數(shù)據(jù)的值越限時就會自動報警。界面組態(tài)可以用來組態(tài)工藝生產(chǎn)流程的人機界面。它將圖形畫面、報警、網(wǎng)絡(luò)等工程元素集中管理,工程人員可以一目了然地查看工程人機界面部分的各個組成部分。算法組態(tài)在完成數(shù)據(jù)庫組態(tài)后可以進行組態(tài)。Chitic軟件圖2虛擬實驗軟件系統(tǒng)
硬件結(jié)構(gòu)圖中提供了符合國際標(biāo)準(zhǔn)的IEC611313標(biāo)準(zhǔn)的五種工具:FBD、LD、SFC、ST和IL語言。
具體的硬件結(jié)構(gòu)如圖2所示。
1.2虛擬實驗軟件系統(tǒng)中的軟件結(jié)構(gòu)
虛擬實驗軟件系統(tǒng)中的軟件是指開發(fā)的一套基于Web的實驗管理系統(tǒng)?;赪eb的實驗管理系統(tǒng)主要采用B/S結(jié)構(gòu)進行開發(fā)。B/S結(jié)構(gòu)即Browser/Server,是一種新興的網(wǎng)絡(luò)結(jié)構(gòu)模式,Web瀏覽器是主要的客戶端軟件,也就是說用戶只需要安裝一個瀏覽器(具體瀏覽器根據(jù)腳本語言的兼容性來決定,但是現(xiàn)在絕大多數(shù)瀏覽器都支持幾乎所有腳本語言),就可以在線使用軟件,因此B/S結(jié)構(gòu)統(tǒng)一了客戶端,將軟件的核心放在服務(wù)器端,大大方便了軟件的開發(fā)和維護[6]。
B/S結(jié)構(gòu)分為兩部分,瀏覽器端和服務(wù)器端。用戶主要在瀏覽器端操作,當(dāng)客戶端運行瀏覽器,并且提出申請時,瀏覽器以HTTP形式向Web服務(wù)器發(fā)出請求;Web服務(wù)器接收到瀏覽器的請求,開始解析HTTP,然后將解析的結(jié)果轉(zhuǎn)化成SQL語言,提交給數(shù)據(jù)庫服務(wù)器;數(shù)據(jù)庫服務(wù)器接收到請求后,驗證請求的合法性,當(dāng)驗證通過以后,按照請求進行數(shù)據(jù)處理,當(dāng)處理完之后將結(jié)果返回到Web服務(wù)器端;Web服務(wù)器將返回的結(jié)果進行轉(zhuǎn)碼,并加入一些必要的信息、轉(zhuǎn)變成HTML文檔,返回到客戶端瀏覽器,并以頁面的形式顯示出來。采用B/S結(jié)構(gòu)主要有以下優(yōu)點:
(1)成本低。B/S結(jié)構(gòu)軟件的核心部分集中于服務(wù)器端,客戶端則不需要開發(fā)者來開發(fā)和維護,并且一般大型公司的服務(wù)器系統(tǒng)都采用Linux系統(tǒng),因為Linux系統(tǒng)穩(wěn)定、開源并且免費,能夠被公司二次開發(fā)。低成本也更符合虛擬實驗軟件系統(tǒng)的開發(fā)要求。
(2)維護簡單。B/S結(jié)構(gòu)的客戶端是瀏覽器,開發(fā)者并不需要專門開發(fā)瀏覽器來供用戶使用,因為目前市場上的瀏覽器基本上被Firefox、chrome、IE和Opera等瀏覽器壟斷,這樣開發(fā)者僅僅需要考慮服務(wù)器端的維護,大大節(jié)約了開發(fā)者的精力。
(3)硬件需求少。B/S結(jié)構(gòu)是依托廣域網(wǎng)的,不需要專門的硬件來構(gòu)造系統(tǒng)環(huán)境,比C/S結(jié)構(gòu)有更強的適應(yīng)性。
B/S結(jié)構(gòu)的具體結(jié)構(gòu)圖如圖3所示。
系統(tǒng)B/S結(jié)構(gòu)圖1.3虛擬實驗軟件系統(tǒng)軟硬件的交互
虛擬實驗軟件系統(tǒng)最重要的一步就是硬件和軟件的交互。本系統(tǒng)主要使用兩種途徑來實現(xiàn)軟硬件的交互。
?。?)網(wǎng)頁發(fā)布。硬件部分主要是使用組態(tài)軟件來實現(xiàn)實驗項目的建立和使用。其中組態(tài)軟件有網(wǎng)頁發(fā)布的功能,也就是說將組態(tài)軟件由C/S結(jié)構(gòu)轉(zhuǎn)化成B/S結(jié)構(gòu),這樣用戶就可以通過瀏覽器進行訪問或者使用。這種方式的優(yōu)點是,用戶可以通過組態(tài)軟件網(wǎng)頁版在線組態(tài)實驗項目,自由度非常高。
(2)遠(yuǎn)程訪問。遠(yuǎn)程訪問是現(xiàn)在大多數(shù)公司使用的技術(shù)。在服務(wù)器端設(shè)立多個虛擬機,在每個虛擬機內(nèi)安裝組態(tài)軟件,并且與DCS相連接,這樣每個用戶可以通過瀏覽器向服務(wù)器申請獨立的虛擬機,實現(xiàn)對實驗項目和硬件的訪問。這種方式的優(yōu)點是使用方便,并且對開發(fā)者來說開發(fā)簡單;同樣缺點也是顯而易見的,那就是對服務(wù)器要求比較高。
兩種方式各有優(yōu)劣,采取何種方法以開發(fā)者的意見為主。
2虛擬實驗軟件系統(tǒng)的設(shè)計
虛擬實驗軟件系統(tǒng)是基于B/S結(jié)構(gòu)開發(fā)一個DCS實驗管理軟件,作為學(xué)生遠(yuǎn)程、并行、基于Web訪問DCS實驗的入口與管理平臺。實驗管理平臺相當(dāng)于一個虛擬實驗室管理工具,它不僅提供了關(guān)于虛擬實驗室的相關(guān)資料、課程實驗的相關(guān)內(nèi)容、課程相關(guān)新聞等文字類的資料,而且學(xué)生還可以通過管理平臺提交實驗報告,老師通過平臺批改實驗報告、發(fā)布實驗時間等信息。這是實驗平臺的信息共享功能。實驗管理平臺最重要的功能就是能夠為學(xué)生提供實驗場景,這是虛擬實驗室的精髓。通過虛擬儀器構(gòu)建的實驗項目可以發(fā)布成網(wǎng)站,學(xué)生可以通過虛擬實驗室去操作實驗,并獲得實時數(shù)據(jù)等。本文采用現(xiàn)有系統(tǒng)的模塊化設(shè)計思想來搭建系統(tǒng)架構(gòu)。在設(shè)計系統(tǒng)架構(gòu)時,要考慮到提高各模塊的相對獨立性,以便于移植和擴充,并且要保持模塊的可理解和模塊的規(guī)模便于維護。虛擬實驗軟件系統(tǒng)總體模塊功能圖如圖4所示。
詳細(xì)的平臺介紹如下:
用戶管理平臺。該實驗管理平臺采用用戶登錄的模式,因為有時候需要實驗報告上傳或者留言板等功能,所以采用用戶管理制度能更利于平臺的管理,當(dāng)然老師的用戶權(quán)限要高于學(xué)生的權(quán)限。該模塊主要是從數(shù)據(jù)庫中讀取數(shù)據(jù),通過數(shù)據(jù)的某項數(shù)值來辨認(rèn)是否為老師,是則開啟某些老師特有的權(quán)限,否則取消這些權(quán)限。用戶登錄的持續(xù)時間則是由session值來設(shè)置,一般設(shè)置為2 h。用戶登錄2 h以后,則會自動退出登錄,需要用戶重新登錄。具體的時長會根據(jù)具體需要再次確定。所有的用戶數(shù)據(jù)只能由管理員從服務(wù)器端的數(shù)據(jù)庫中讀取,用戶只能獲取關(guān)于自己的信息,如果用戶想獲取這些信息,可以在管理平臺中查詢,然后由服務(wù)器響應(yīng)請求將數(shù)據(jù)從服務(wù)器的數(shù)據(jù)庫中傳遞到瀏覽器頁面上。
信息管理平臺。登錄后的首頁內(nèi)容,實時熱點新聞、老師簡介、課程簡介以及留言板等其實屬于信息管理平臺的范疇。老師可以對新聞進行添加,對課程加以介紹以及對實驗報告進行批改和對留言板進行監(jiān)控等。學(xué)生只能進行訪問和上傳文檔,不能對平臺的具體內(nèi)容進行修改。課程介紹、熱點新聞、老師簡介等數(shù)據(jù)是直接寫在前端部分,這部分?jǐn)?shù)據(jù)是直接顯示在瀏覽器中的,用戶并不需要提交請求便可獲得。但是實驗報告的批改和留言板等數(shù)據(jù)則是存儲在數(shù)據(jù)庫中的。這個數(shù)據(jù)庫和用戶數(shù)據(jù)庫是關(guān)系型數(shù)據(jù)庫,留言板與用戶表中的用戶ID或者學(xué)號(工號)綁定,與用戶表不同的是,留言板的內(nèi)容是用戶可以全部看到的。
理論學(xué)習(xí)平臺。理論學(xué)習(xí)平臺的實驗內(nèi)容、課程知識等都屬于理論學(xué)習(xí)部分的內(nèi)容,理論部分的在線教學(xué)是遠(yuǎn)程實驗的基礎(chǔ),其作用甚至比虛擬實驗更重要。因此在實驗管理平臺中,理論學(xué)習(xí)模塊是必不可少的。只有當(dāng)學(xué)生通過理論學(xué)習(xí),而且必須通過理論測試才可以進行實驗。這些數(shù)據(jù)與課程介紹等數(shù)據(jù)一樣,都是直接寫在前端。用戶可以通過點擊進入平臺,然后進行測試,由于主觀題開放性比較大,電腦較難對其進行評分,因此測試題目由選擇和判斷兩種題型組成。用戶的答案正確與否也是在前端頁面直接進行判斷,不需要后端參與。當(dāng)檢測用戶合格后,會把用戶數(shù)據(jù)表中的remark數(shù)據(jù)修改為true,遠(yuǎn)程實驗?zāi)K能否進入主要依據(jù)用戶數(shù)據(jù)表中的remark值,只有為true時才允許用戶進入。
虛擬實驗平臺。老師可以對實驗項目進行增刪改,而且可以通過時刻表來通知學(xué)生何時進行實驗課程等。該平臺的內(nèi)容主要是由組態(tài)軟件將實驗項目組態(tài)完成后發(fā)布成網(wǎng)頁,在該模塊調(diào)用。該模塊能否進入主要取決于該用戶在用戶數(shù)據(jù)表中的remark值是否為true。只有為true時才能進行實驗;若為false,則平臺會提示用戶先在理論學(xué)習(xí)平臺進行測試,通過后才能進行實驗。
整個虛擬實驗軟件系統(tǒng)需要各個模塊的相互合作才能組成一個完整的實驗管理平臺,軟件系統(tǒng)的設(shè)計主要用到了APS.NET、JavaScript、CSS以及HTML等網(wǎng)頁編程語言。
3虛擬控制軟件系統(tǒng)的實現(xiàn)
虛擬實驗軟件系統(tǒng)的客戶端是瀏覽器,因此前端的設(shè)計頁面也是格外重要的,具體的效果圖如圖5所示。
4結(jié)束語
本文介紹了虛擬實驗軟件系統(tǒng)的原理和具體設(shè)計,硬件使用DCS以及配套的組態(tài)軟件,軟件系統(tǒng)的設(shè)計采用B/S結(jié)構(gòu),并且使用網(wǎng)頁編程技術(shù)來制作。虛擬實驗軟件系統(tǒng)能夠有效地幫助用戶更好地進行遠(yuǎn)程實驗,并且有利于學(xué)校的管理,是高校虛擬實驗室的一種形式和延伸。
參考文獻
?。?] 康榮學(xué),賈海波,張優(yōu)云. 基于Internet的遠(yuǎn)程實驗研究[J].計算機工程與應(yīng)用, 2002,38(16) :168170.
[2] 白雁,張娟,潘瑾,等. 虛擬實驗室在高校儀器分析教學(xué)中的應(yīng)用[J].實驗技術(shù)與管理, 2011,28(12): 169171,174.
?。?] 劉澤良. 發(fā)揮虛擬實驗室建設(shè)對實驗教學(xué)的促進作用[J].實驗技術(shù)與管理,2011,28(7):193194,197.
?。?] 宋象軍. 虛擬實驗室在高校實驗教學(xué)中的應(yīng)用前景[J].實驗技術(shù)與管理,2005,22(1):3537,47.
?。?] 黃慕雄. 高校教學(xué)型虛擬實驗室建設(shè)的現(xiàn)狀與建議[J].電化教育研究,2005(9):7780.
?。?] 曾志,尹建偉. 基于B/S架構(gòu)Web遠(yuǎn)程控制的研究及實現(xiàn)[J].計算機應(yīng)用與軟件,2005,22(11):7074.