基于虛擬儀器的網(wǎng)絡(luò)虛擬實驗室構(gòu)建
將虛擬儀器技術(shù)推向網(wǎng)絡(luò)應(yīng)用,更能發(fā)揮其“軟件就是儀器”的優(yōu)勢,更有助于形成分布式的網(wǎng)絡(luò)測量體系,實現(xiàn)數(shù)據(jù)和儀器的遠(yuǎn)程共享,從而為遠(yuǎn)程測控服務(wù)。本文介紹網(wǎng)絡(luò)虛擬實驗室的使用BSDA結(jié)構(gòu),由客戶端、Web服務(wù)器、應(yīng)用服務(wù)器以及實驗設(shè)備四個模塊組成,具備開發(fā)周期短,成本低的特點,同時又具有很強(qiáng)的兼容性和擴(kuò)展性,能夠大大提高儀器的使用效率。
圖1:網(wǎng)絡(luò)虛擬實驗室構(gòu)成原理圖。
網(wǎng)絡(luò)虛擬實驗室是一個無墻的中心,通過計算機(jī)網(wǎng)絡(luò)系統(tǒng),研究人員或?qū)W生將不受時空的限制,隨時隨地與同行協(xié)作,共享儀器設(shè)備,共享數(shù)據(jù)和計算資源,得到教師的遠(yuǎn)程指導(dǎo)以及與同行相互研討。
由于通過網(wǎng)絡(luò)虛擬實驗室能夠?qū)崿F(xiàn)跨時空跨學(xué)科的儀器設(shè)備遠(yuǎn)程共享,甚至遠(yuǎn)程控制,滿足科研教學(xué)對分布式實驗系統(tǒng)的要求,同時解決棘手的教學(xué)資源緊張問題,國 外的很多科研院所也已經(jīng)進(jìn)行了相關(guān)的有益嘗試。如Carnegie-Mellon大學(xué)的卡Carnegie Mellon虛擬實驗室,Johns Hopkins大學(xué)的虛擬工程與科學(xué)實驗室,以及Tennessee大學(xué)的網(wǎng)上工程實驗室是其中的比較成功的范例。
網(wǎng)絡(luò)虛擬實驗室大多使用的是CS(客戶端/服務(wù)端)結(jié)構(gòu),按其實現(xiàn)功能基本可分為三類:
1. 軟件共享網(wǎng)絡(luò)虛擬實驗室。其特點為,服務(wù)端共享本地的虛擬實驗室模擬軟件平臺,接受客戶端發(fā)送的實驗請求,分析和處理實驗參數(shù),經(jīng)過計算模擬最終將結(jié)果返回客戶端。整個系統(tǒng)不涉及具體的實驗儀器硬件設(shè)備,只是利用軟件模擬實驗的過程;
圖2:網(wǎng)絡(luò)虛擬實驗室的組成原理圖。
2.儀器共享網(wǎng)絡(luò)虛擬實驗室。服務(wù)端同樣接受客戶端的實驗請求和實驗參數(shù),使用實驗參數(shù)配置與之連接的實驗儀器硬件設(shè)備,由實驗儀器硬件設(shè)備進(jìn)行實驗,并將實 驗結(jié)果返回服務(wù)端,最后返回到用戶端,實現(xiàn)實驗儀器的共享,實驗數(shù)據(jù)的共享。
3. 遠(yuǎn)程控制網(wǎng)絡(luò)虛擬實驗室。與儀器共享網(wǎng)絡(luò)虛擬實驗室最大的區(qū)別在于除了實驗儀器實驗數(shù)據(jù)的共享之外,它還要實現(xiàn)客戶端對實驗儀器設(shè)備的遠(yuǎn)程控制。
網(wǎng)絡(luò)虛擬實驗室實現(xiàn)原理
網(wǎng)絡(luò)虛擬實驗室的構(gòu)建多使用瀏覽器/服務(wù)器/數(shù)據(jù)和應(yīng)用(BSDA,Browser/Server/Database&Application)結(jié)構(gòu),其原 理如圖1所示,典型的網(wǎng)絡(luò)虛擬實驗室由客戶端、網(wǎng)頁服務(wù)器端、應(yīng)用服務(wù)器端以及實驗儀器設(shè)備四部分組成。網(wǎng)頁服務(wù)器主要作用是提供Web接入服務(wù)、用戶認(rèn) 證管理、開放式交互實驗環(huán)境以及動態(tài)網(wǎng)頁的生成;應(yīng)用服務(wù)器主要作用是控制和管理實驗儀器、采集和處理實驗數(shù)據(jù);數(shù)據(jù)庫的主要作用則是配合用戶帳戶的管 理、動態(tài)網(wǎng)頁的生成以及實驗數(shù)據(jù)的存儲和管理。
本網(wǎng)絡(luò)虛擬實驗室,主要由模擬仿真和實時測量兩個部分組成,如圖2所示。模擬仿真部分,主要 完成驗證型、原理演示型實驗,使用LabVIEW自帶的網(wǎng)頁發(fā)布功能,直接在Web服務(wù)器端生成嵌入實驗平臺的WWW網(wǎng)頁,用戶只需使用網(wǎng)頁瀏覽器即可通 過互聯(lián)網(wǎng)訪問網(wǎng)絡(luò)虛擬實驗室,進(jìn)行實驗。
圖3:網(wǎng)絡(luò)虛擬實驗的硬件結(jié)構(gòu)。
實時測量部分,主要完成儀器共享型、遠(yuǎn)程控制型實驗,有一個多媒體輔助模塊,是對實際實驗平臺界面的虛擬呈現(xiàn),讓學(xué)生在進(jìn)入實時測量模塊之前來操作,用來檢 驗學(xué)生的預(yù)習(xí)程度,讓學(xué)生預(yù)先了解實驗內(nèi)容,熟悉具體的實驗步驟;另一個是實時測量模塊,它是實時測量部分的核心,負(fù)責(zé)本地實驗數(shù)據(jù)的采集,并按遠(yuǎn)程用戶 的操作要求進(jìn)行分析、存儲以及顯示,可使用LabVIEW的網(wǎng)頁發(fā)布功能來實現(xiàn),也可使用基于LabVIEW編程的 Application Server模塊與客戶端API模塊來實現(xiàn)網(wǎng)絡(luò)互連,數(shù)據(jù)通信,完成遠(yuǎn)程實驗。
網(wǎng)絡(luò)虛擬實驗室的硬件結(jié)構(gòu)
我們使用的是以NI-PXI構(gòu)架為核心的硬件體系,并以一臺Dell PowerEdge4600為網(wǎng)絡(luò)服務(wù)器,如圖3所示。Dell PowerEdge4600為Web服務(wù)器配備了2個Intel Xeon 2.8GHz處理器,2GB ECC DDR RAM,3×36GB SCSI RAID(冗余磁盤陣列),以及Broadcom 千兆網(wǎng)卡,充分滿足多線程、大流量、高帶寬的使用要求。
應(yīng)用服務(wù)器使用的是一臺PXI-1000B機(jī)箱,嵌入了PXI-8176控制器,以及PXI-6070E,PXI-6071E多功能數(shù)據(jù)采集卡,用來實現(xiàn)高速的 數(shù)模轉(zhuǎn)換、數(shù)模輸入輸出以及數(shù)據(jù)采集;PXI-5102高性能示波器卡來完成信號的發(fā)生,提供穩(wěn)定可靠的信號源;PXI-2501矩陣模塊用來實現(xiàn)不同測 量元器件之間的自動切換,以滿足遠(yuǎn)程用戶不同的測量要求,實現(xiàn)測量的多樣性;PXI-1422圖像采集卡用來完成PCB板、IC芯片的圖像提取,滿足電路 檢查、IC設(shè)計的需要;PXI-7344運動控制卡用來實現(xiàn)電機(jī)伺服系統(tǒng)的參數(shù)提取,狀態(tài)跟蹤等。
圖4:模擬仿真實驗原理圖。
一臺SCXI-1000機(jī)箱,嵌入了SCXI-1320和SCXI-1125信號調(diào)理模塊,用來對微電子系統(tǒng),微電流電壓信號的放大、降噪、濾波,保持整個 體系的高精確度。一臺最新的NI-ELVIS用于實驗?zāi)P偷慕ⅲ罱▽嶒炿娐?,?gòu)建小型的電子電路系統(tǒng),實現(xiàn)電子電路實驗的遠(yuǎn)程共享。
系統(tǒng)設(shè)計技術(shù)實現(xiàn)
1. 模擬仿真部分
模擬仿真部分,我們以LabVIEW內(nèi)置的網(wǎng)頁發(fā)布功能為基礎(chǔ),通過HTML設(shè)計網(wǎng)頁,并使用Microsoft IIS 5.0發(fā)布功能,直接在服務(wù)器端生成嵌入實驗平臺的WWW網(wǎng)頁,用戶只需使用網(wǎng)頁瀏覽器進(jìn)入我們的站點,即可通過互聯(lián)網(wǎng)進(jìn)行實驗,其原理如圖4所示。
LabVIEW 內(nèi)置的Remote Panel Connection Manager用來對用戶的使用情況進(jìn)行監(jiān)控與調(diào)度,NI網(wǎng)絡(luò)服務(wù)器按照遠(yuǎn)端實驗操作者制定的實驗數(shù)據(jù),分析、計算數(shù)據(jù)最后顯示實驗曲線以及實驗結(jié)果,并 將實驗結(jié)果嵌入生成的HTML網(wǎng)頁中,用戶只需使用瀏覽器即可實時顯示實驗數(shù)據(jù)以及實驗曲線,以及完成報告生成等后續(xù)工作。
2. 實時測量部分
圖5:實時測量部分Browser & NI Web Server結(jié)構(gòu)原理圖。
實時測量部分,我們使用了兩種實現(xiàn)方案,用來滿足不同情況下用戶對遠(yuǎn)程實驗的要求:一種是瀏覽器和NI網(wǎng)絡(luò)服務(wù)器結(jié)構(gòu),另一種是應(yīng)用服務(wù)器API結(jié)構(gòu)。使用PXI-1000B機(jī)箱以及嵌入的PXI板卡來作為NI網(wǎng)絡(luò)服務(wù)器與應(yīng)用服務(wù)器。
瀏覽器和NI網(wǎng)絡(luò)服務(wù)器結(jié)構(gòu)是在模擬仿真實現(xiàn)的基礎(chǔ)上,在NI網(wǎng)絡(luò)服務(wù)器上連接相應(yīng)的DAQ、SCXI硬件,它再與實際的實驗儀器連接,用來實現(xiàn)遠(yuǎn)程客戶端 與實驗儀器的數(shù)據(jù)通信,完成實驗儀器的遠(yuǎn)程共享,其原理如圖5所示。該結(jié)構(gòu)適用于瘦客戶體系,客戶端無需計算分析數(shù)據(jù),只需安裝因特網(wǎng)瀏覽器接收服務(wù)端傳 輸?shù)臄?shù)據(jù)流,即可進(jìn)行實驗,方便簡單,效率高,但是對服務(wù)器的運算能力、帶寬以及多線程狀態(tài)下的穩(wěn)定性等指標(biāo)要求比較高;同時由于每一時刻只允許一位用戶 掌握控制權(quán),所以比較適用于遠(yuǎn)程控制型實驗。
應(yīng)用服務(wù)器和API結(jié)構(gòu)使用LabVIEW編程,以其內(nèi)置TCP/IP模塊為基 礎(chǔ),構(gòu)造一個應(yīng)用服務(wù)器端和一個API用戶終端,由TCP/IP模塊完成網(wǎng)絡(luò)互連,數(shù)據(jù)通信以及容錯處理。應(yīng)用服務(wù)器用來采集傳輸實驗數(shù)據(jù),管理用戶,記 錄用戶使用情況;而API用戶終端則提供操作者GUI界面,實現(xiàn)數(shù)據(jù)的獲取、分析運算以及顯示存儲等,其原理如圖6所示。
該結(jié)構(gòu)要求API用戶終端將應(yīng)用服務(wù)器端板卡采集的實驗數(shù)據(jù)下載到本地終端來分析、計算、顯示以及存儲,除了對網(wǎng)絡(luò)帶寬、穩(wěn)定性有很高的要求之外,對API用戶終端的計算機(jī)性能也有很高的要求,適用于遠(yuǎn)程軟件共享和儀器共享型實驗,可以實現(xiàn)多用戶廣播式共享實驗數(shù)據(jù)。
測試實驗為例
下面以半導(dǎo)體晶體管直流特性測試實驗為例,介紹應(yīng)用服務(wù)器和API結(jié)構(gòu)LabVIEW編程的實現(xiàn)方法。用戶首先進(jìn)入的是一個多媒體仿真界面,用來檢驗預(yù)習(xí)狀 況,并熟悉實際的儀器操作。如圖7所示,借助一套實際儀器的圖形面板,我們使用LabVIEW模擬了晶體管直流特性測試曲線,用戶使用旋鈕以及各種開關(guān), 可以像操作實際儀器一般,了解實驗的具體內(nèi)容和步驟。
圖6:實時測量部分Application Server & API結(jié)構(gòu)原理圖。
完成模擬之后,可以按下進(jìn)入測量按鈕,進(jìn)入實時測量面板,如圖8所示。面板上方的工具欄是相關(guān)的模式選擇、參數(shù)設(shè)置以及數(shù)據(jù)存儲等操作,中央的是實驗曲線的 顯示界面。主程序框圖結(jié)構(gòu)如圖9所示,客戶端API模塊先向服務(wù)端發(fā)送用戶信息和實驗請求,經(jīng)服務(wù)端驗證通過,建立TCP連接;服務(wù)端然后接受客戶端實驗 參數(shù)并在進(jìn)行實驗儀器初始化;服務(wù)端采集實驗數(shù)據(jù)并通過TCP/IP協(xié)議發(fā)送數(shù)據(jù)包,客戶端接受實驗采樣數(shù)據(jù),并按一定數(shù)據(jù)格式插入測量數(shù)組,同步顯示波 形;采集完全部實驗數(shù)據(jù),服務(wù)器發(fā)結(jié)束信息,然后斷開網(wǎng)絡(luò)聯(lián)接,完成實驗。
圖8顯示的是客戶端在遠(yuǎn)端實測的CCMS實驗室本地晶體管的Ic-Vce曲線圖,圖10顯示晶體管放大倍數(shù)β的計算值,并實時顯示β-Ib曲線,用戶可以選擇保存按鈕,將實驗數(shù)據(jù)以需要的格式保存,進(jìn)行相應(yīng)的運算,使用HIQ生成實驗報告,最終完成實驗。
效果與結(jié)論
我們已經(jīng)建立起以電子科學(xué)與技術(shù)專業(yè)為基礎(chǔ)的十幾套實驗系統(tǒng),初步構(gòu)成了一個跨時空、跨學(xué)科、跨平臺的網(wǎng)絡(luò)虛擬實驗室雛形,實現(xiàn)了實驗儀器的遠(yuǎn)程共享以及遠(yuǎn) 程實驗。以NI虛擬儀器平臺為基礎(chǔ)的網(wǎng)絡(luò)虛擬實驗室,開發(fā)周期短,使用效率高,可擴(kuò)展性強(qiáng),成本低廉,是解決目前資源緊張問題的一種行之有效的途徑。