摘 要: 本文介紹了一種基于Web技術(shù)的虛擬實(shí)驗(yàn)室仿真實(shí)驗(yàn)平臺(tái)的構(gòu)建方法。這種方法能夠節(jié)省資金,使實(shí)驗(yàn)不受時(shí)間及空間的限制。依靠這種基于Web的實(shí)驗(yàn)室,用戶(hù)僅需配置標(biāo)準(zhǔn)的網(wǎng)絡(luò)瀏覽器,以及LabVIEW的運(yùn)行引擎Run-Time Engine,就可通過(guò)網(wǎng)絡(luò)實(shí)現(xiàn)對(duì)實(shí)驗(yàn)的訪問(wèn)以及操作。本設(shè)計(jì)在LabVIEW環(huán)境下,利用Remote Panels技術(shù)實(shí)現(xiàn)了基于C/S結(jié)構(gòu)的遠(yuǎn)程訪問(wèn)及控制,通過(guò)仿真實(shí)驗(yàn)與遠(yuǎn)程操作的結(jié)合,實(shí)現(xiàn)了綜合性的虛擬實(shí)驗(yàn)環(huán)境。
關(guān)鍵詞: 虛擬實(shí)驗(yàn)室 仿真實(shí)驗(yàn)平臺(tái) Remote Panels技術(shù) C/S結(jié)構(gòu)
1.引言
所謂虛擬儀器,就是在通用計(jì)算機(jī)平臺(tái)上,用戶(hù)根據(jù)需求來(lái)定義和設(shè)計(jì)儀器的測(cè)試功能,其實(shí)質(zhì)是充分利用計(jì)算機(jī)的最新技術(shù)來(lái)實(shí)現(xiàn)和擴(kuò)展傳統(tǒng)儀器的功能[1]。虛擬儀器系統(tǒng)的構(gòu)成有多種方式,主要取決于系統(tǒng)所采用的硬件和接口方式,其基本構(gòu)成如圖1所示[2]。
虛擬儀器包括硬件和軟件兩個(gè)基本要素。硬件的主要功能是獲取真實(shí)世界中的被測(cè)信號(hào),可分為兩類(lèi)[3]:一類(lèi)是滿(mǎn)足一般科學(xué)研究與工程領(lǐng)域測(cè)試任務(wù)要求的虛擬儀器,最簡(jiǎn)單的是基于PC總線的插卡式儀器,也包括帶GPIB接口和串行接口的儀器;另一類(lèi)是用于高可靠性的關(guān)鍵任務(wù),如航空、航天、國(guó)防等應(yīng)用的高端VXI儀器。
LabVIEW是美國(guó)國(guó)家儀器公司(NI)的產(chǎn)品,是一種基于圖形編程語(yǔ)言的開(kāi)發(fā)環(huán)境G語(yǔ)言,主要用于儀器控制、數(shù)據(jù)采集、數(shù)據(jù)分析、數(shù)據(jù)顯示等領(lǐng)域[6]。LabVIEW是一個(gè)開(kāi)放式的開(kāi)發(fā)環(huán)境,用戶(hù)可以將其與任何測(cè)量硬件輕松連接。
虛擬實(shí)驗(yàn)就是指利用計(jì)算機(jī)技術(shù)與網(wǎng)絡(luò)通訊技術(shù),以Web為實(shí)現(xiàn)平臺(tái),將一系列軟件和硬件有機(jī)結(jié)合起來(lái),通過(guò)鼠標(biāo)的點(diǎn)擊、拖動(dòng)和鍵盤(pán)操作等,按照實(shí)驗(yàn)要求和實(shí)驗(yàn)過(guò)程組裝成一個(gè)完整的實(shí)驗(yàn)系統(tǒng)。
2.網(wǎng)絡(luò)虛擬實(shí)驗(yàn)系統(tǒng)
網(wǎng)絡(luò)虛擬實(shí)驗(yàn)系統(tǒng)是基于網(wǎng)絡(luò)的仿真現(xiàn)實(shí)中現(xiàn)場(chǎng)操作實(shí)驗(yàn)的計(jì)算機(jī)應(yīng)用系統(tǒng),它實(shí)現(xiàn)的基礎(chǔ)是計(jì)算機(jī)技術(shù)、網(wǎng)絡(luò)技術(shù)與儀器技術(shù)的結(jié)合。網(wǎng)絡(luò)虛擬實(shí)驗(yàn)系統(tǒng)降低了科研成本,節(jié)省了研究經(jīng)費(fèi)并且提高了使用效率。它突破了傳統(tǒng)教學(xué)模式受時(shí)間、地點(diǎn)的限制,提高教學(xué)效率。
2.1網(wǎng)絡(luò)虛擬實(shí)驗(yàn)系統(tǒng)的體系結(jié)構(gòu)
基于網(wǎng)絡(luò)的虛擬實(shí)驗(yàn)室一般采用C/S(Client/Server)結(jié)構(gòu)式構(gòu)建,其主要分為兩類(lèi)——基于Internet的C/S結(jié)構(gòu)以及基于Web的C/S結(jié)構(gòu)。
針對(duì)虛擬實(shí)驗(yàn)室應(yīng)用于高校教育上的特點(diǎn),我們采用了基于Web的分布式C/S結(jié)構(gòu)。Web的C/S模式,也即通常意義上的B/S(Browser/Server)模式,客戶(hù)機(jī)上無(wú)需安裝專(zhuān)門(mén)的客戶(hù)端軟件,只要有標(biāo)準(zhǔn)的Web瀏覽器就可以實(shí)現(xiàn)對(duì)虛擬實(shí)驗(yàn)室的訪問(wèn),不過(guò)其缺點(diǎn)在于不適合大量數(shù)據(jù)的傳輸。由于將實(shí)驗(yàn)系統(tǒng)的主體部分集中到了服務(wù)器端,對(duì)系統(tǒng)的維護(hù)以及實(shí)驗(yàn)項(xiàng)目的增加也只需在服務(wù)器端進(jìn)行。這樣不僅使系統(tǒng)的維護(hù)工作大大減輕,而且當(dāng)實(shí)驗(yàn)項(xiàng)目增加時(shí),只需要對(duì)服務(wù)器端進(jìn)行更新,使系統(tǒng)具有高擴(kuò)展性和適應(yīng)性[3]。
2.2Remote Panels技術(shù)
從LabVIEW 6.1開(kāi)始,LabVIEW集成了Remote Panels技術(shù),允許用戶(hù)直接在客戶(hù)端計(jì)算機(jī)上打開(kāi)并操作位于服務(wù)器端計(jì)算機(jī)上的VI的前面板,甚至可以將LabVIEW VIs的前面板窗口嵌入到一個(gè)網(wǎng)頁(yè)中并在網(wǎng)頁(yè)中直接操作它,這是一種軟件操作界面共享方式。
LabVIEW的Remote Panels不僅可以觀看,而且可以在LabVIEW的環(huán)境中或?yàn)g覽器上加以控制 。這個(gè)強(qiáng)大的功能讓開(kāi)發(fā)人員可以輕松地創(chuàng)建遠(yuǎn)程應(yīng)用程序,使用戶(hù)在周末的時(shí)候坐在家中的計(jì)算機(jī)前輕松地監(jiān)控辦公室、實(shí)驗(yàn)室甚至生產(chǎn)線上的各種情況。
2.3遠(yuǎn)程訪問(wèn)原理
網(wǎng)絡(luò)實(shí)驗(yàn)室仿真實(shí)驗(yàn)平臺(tái),主要針對(duì)大學(xué)物理、數(shù)字電子,模擬電子、電學(xué)、磁學(xué)、傳感器原理等方面。學(xué)生利用網(wǎng)絡(luò)登陸本仿真實(shí)驗(yàn)平臺(tái),可以在線做理工類(lèi)仿真實(shí)驗(yàn)。在網(wǎng)絡(luò)仿真平臺(tái)上,學(xué)生自己動(dòng)手設(shè)置實(shí)驗(yàn)參數(shù),運(yùn)行在服務(wù)器端的平臺(tái)仿真程序根據(jù)實(shí)驗(yàn)原理進(jìn)行仿真,并實(shí)時(shí)返回仿真結(jié)果。主要原理圖如圖2:
實(shí)驗(yàn)者可以通過(guò)瀏覽器觀察模擬實(shí)驗(yàn)過(guò)程,通過(guò)鼠標(biāo)的點(diǎn)擊以及拖曳動(dòng)作來(lái)操作和控制虛擬的實(shí)驗(yàn)過(guò)程。在本文所介紹的過(guò)程控制虛擬實(shí)驗(yàn)室系統(tǒng)中,學(xué)生通過(guò)瀏覽器就可以觀察到參數(shù)的調(diào)節(jié)對(duì)控制過(guò)程產(chǎn)生的各種影響,使得他們很方便的觀察到不同的控制效果并很容易地掌握控制原理,極大地提高了他們的學(xué)習(xí)興趣和效率。本系統(tǒng)的開(kāi)發(fā)為用戶(hù)訪問(wèn)遠(yuǎn)程虛擬實(shí)驗(yàn)室提供了技術(shù)支持,通過(guò)計(jì)算機(jī)網(wǎng)絡(luò)把實(shí)驗(yàn)過(guò)程、方法,以及實(shí)驗(yàn)結(jié)果迅速而直觀的展示給遠(yuǎn)程用戶(hù)。
下面以磁化曲線為例介紹仿真實(shí)驗(yàn)平臺(tái)的設(shè)計(jì)。
3.磁化曲線
3.1基本原理
如果在由電流產(chǎn)生的磁場(chǎng)中放入鐵磁物質(zhì),則磁場(chǎng)將明顯增強(qiáng),此時(shí)鐵磁物質(zhì)中的磁感應(yīng)強(qiáng)度比沒(méi)放入鐵磁物質(zhì)時(shí)電流產(chǎn)生的磁感應(yīng)強(qiáng)度增大百倍,甚至在千倍以上。鐵磁物質(zhì)內(nèi)部的磁場(chǎng)強(qiáng)度H與磁感應(yīng)強(qiáng)度B有如下的關(guān)系:B=μH
對(duì)于鐵磁物質(zhì)而言,磁導(dǎo)率μ并非常數(shù),而是隨的變化而變化的物理量,即μ=f(H),為非線性函數(shù)。所以B與H也是非線性關(guān)系,如圖3所示:
鐵磁材料的磁化過(guò)程為:其未被磁化時(shí)的狀態(tài)稱(chēng)為去磁狀態(tài),這時(shí)若在鐵磁材料上加一由小到大變化的磁化場(chǎng),則鐵磁材料內(nèi)部的磁場(chǎng)強(qiáng)度H與磁感應(yīng)強(qiáng)度B也隨之變大。但當(dāng)H增加到一定值(Hs)后,B幾乎不再隨著H的增加而增加,說(shuō)明磁化達(dá)到飽和,如圖3中的OS段曲線所示。從未磁化到飽和磁化的這段磁化曲線稱(chēng)為材料的起始磁化曲線。可以看出,鐵磁材料的B和H不是直線,即鐵磁材料的磁導(dǎo)率μ=B/H不是常數(shù)。
3.2設(shè)計(jì)思想及實(shí)現(xiàn)
當(dāng)U = 0,0.2,0.4,0.6 ...3.0 V時(shí),根據(jù)前面板中的電路圖計(jì)算出U,U,H和B,作出B-H曲線即磁化曲線,如圖4。
由磁化曲線的程序框圖,即圖5可知,本設(shè)計(jì)主要是由兩個(gè)公式節(jié)點(diǎn)、各種運(yùn)算控件,Build XY Graph控件和圖形控件XY Graph組成。與Waveform Graph一樣,XY Graph也是一次性完成波形顯示刷新。不同的是,XY波形記錄控件在波形顯示的同時(shí)還反映測(cè)量點(diǎn)X、Y值的變化,所以它的輸入數(shù)據(jù)結(jié)構(gòu)是由兩組數(shù)據(jù)大包(bundle)構(gòu)成的簇,簇的每一對(duì)數(shù)據(jù)都對(duì)應(yīng)一個(gè)顯示數(shù)據(jù)點(diǎn)的X坐標(biāo)和Y坐標(biāo)[4]。
由數(shù)組控件得到一串?dāng)?shù)組U,經(jīng)過(guò)公式節(jié)點(diǎn)中運(yùn)算處理后得到B的一串?dāng)?shù)組以及H的一串?dāng)?shù)組。經(jīng)Build XY Graph捆綁后由XY Graph輸出波形。
4.基于Web的交互型虛擬實(shí)驗(yàn)室設(shè)計(jì)
4.1Web服務(wù)器設(shè)置
發(fā)布一個(gè)站點(diǎn)基本上是將站點(diǎn)上的文件提制到一個(gè)目的地,讓其他人可以訪問(wèn)站點(diǎn)[5]。在發(fā)布站點(diǎn)之前,應(yīng)該測(cè)試站點(diǎn)的各項(xiàng)操作都能正常工作,來(lái)確認(rèn)站點(diǎn)已準(zhǔn)備好發(fā)布。有一個(gè)好的方法可以確認(rèn)您的站點(diǎn)已準(zhǔn)備就緒,那就是在Web瀏覽器上進(jìn)行預(yù)覽并且瀏覽站點(diǎn),檢查所有文件的狀態(tài)。這就需要通過(guò)配置IIS服務(wù)器來(lái)構(gòu)建測(cè)試Web應(yīng)用程序的環(huán)境。最后,將測(cè)試成功的Web應(yīng)用程序發(fā)布到Internet上[6]。
IIS默認(rèn)的Web文件存放于系統(tǒng)根目錄中的%system%?搖Inetpubwwroot中,如果主頁(yè)就放在這個(gè)目錄下,出于安全考慮,微軟建議用NTFS格式化使用IIS的驅(qū)動(dòng)器。
4.2主頁(yè)及仿真實(shí)驗(yàn)頁(yè)面設(shè)計(jì)
主頁(yè)界面如下圖6所示,頁(yè)面右下角是在線聊天程序。訪問(wèn)此張頁(yè)面的人都可以進(jìn)行相互地聊天,教師也可以在線指導(dǎo)學(xué)生更好地完成實(shí)驗(yàn)以及在線答疑,使網(wǎng)絡(luò)虛擬實(shí)驗(yàn)室的交互性有了很大的提高。
在各個(gè)實(shí)驗(yàn)網(wǎng)頁(yè)中也可加入另一些美化框圖或程序來(lái)完善頁(yè)面,具體方法與設(shè)計(jì)網(wǎng)頁(yè)一樣。
教師要介紹虛擬實(shí)驗(yàn)室在網(wǎng)絡(luò)部分的構(gòu)建方法,包括Web服務(wù)器和LabVIEW服務(wù)器的設(shè)置,以及VI的嵌套實(shí)現(xiàn)和網(wǎng)頁(yè)設(shè)計(jì)。
5.結(jié)語(yǔ)
本文設(shè)計(jì)主要分為兩個(gè)部分:一部分是仿真平臺(tái)的設(shè)計(jì),另一部分是通過(guò)Web的網(wǎng)頁(yè)形式來(lái)調(diào)用此仿真平臺(tái)。
虛擬實(shí)驗(yàn)室雖然能很大程度地輔助教學(xué),但并不代表可以代替真的實(shí)驗(yàn)室。若學(xué)生要有真實(shí)的控制儀器的經(jīng)驗(yàn),便需要在真實(shí)的實(shí)驗(yàn)室里做實(shí)驗(yàn)。如果某項(xiàng)實(shí)驗(yàn)只是集中于設(shè)計(jì)、解決問(wèn)題的過(guò)程,而不是要求學(xué)生對(duì)儀器的親自控制,這時(shí)就可以利用虛擬實(shí)驗(yàn)室。
參考文獻(xiàn):
?。?]李莉玲,方康玲,周波.LabVIEW在遠(yuǎn)程虛擬平臺(tái)中的應(yīng)用[J].武漢科技大學(xué)學(xué)報(bào),2004,(7):34-36.
?。?]馬宏斌,楊波.虛擬實(shí)驗(yàn)室管理系統(tǒng)實(shí)現(xiàn)技術(shù).信息技術(shù)報(bào)[J].2005,(2):78-81.
?。?]蔣英.對(duì)虛擬現(xiàn)實(shí)技術(shù)構(gòu)建虛擬實(shí)驗(yàn)室的初淺認(rèn)識(shí).實(shí)驗(yàn)室科學(xué)[J].2006,(3):67.
[4]吳曉男.高校虛擬實(shí)驗(yàn)室的構(gòu)建[J].國(guó)外電子測(cè)量技術(shù),2006,(10):23-25.
?。?]袁太文,羅世勇,李迅波.Web分布式虛擬實(shí)驗(yàn)室的研究與實(shí)現(xiàn)[J].中國(guó)測(cè)試技術(shù),2005,(6):34.
?。?]David Kahaner. Japanese Activities in Virtual Reality[J].Computer Graphics and Applications,Vo1.14.No.1,Jan 1994:75-78.
注:“本文中所涉及到的圖表、公式、注解等請(qǐng)以PDF格式閱讀”