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