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