全曉莉, 周南權(quán), 余永輝
(1.重慶理工大學(xué)電子信息與自動化學(xué)院,重慶400054;2.重慶航天職業(yè)技術(shù)學(xué)院電子工程系,重慶400021)
實驗教學(xué)在高等工科教育中起著相當(dāng)重要的作用,但是在教學(xué)改革實施過程中,一體化項目教學(xué)方式的引入和學(xué)生人數(shù)的增多,使傳統(tǒng)的實驗室和實驗儀器數(shù)量很難滿足學(xué)生的需求,這就對學(xué)校的實驗設(shè)備和教學(xué)場地等相應(yīng)配置提出了更高的要求[1]。基于網(wǎng)絡(luò)的遠程實驗教學(xué)是教育現(xiàn)代化的一個重要發(fā)展方向[2],是高校實驗教學(xué)改革的一項重要內(nèi)容,而虛擬儀器的出現(xiàn)和網(wǎng)絡(luò)技術(shù)的飛速發(fā)展,使得新型的遠程網(wǎng)上實驗成為可能[3-4]。網(wǎng)絡(luò)化的虛擬儀器是提供給用戶的一個基于網(wǎng)絡(luò)的數(shù)據(jù)共享、實驗教學(xué)、技術(shù)交流、共同研究、協(xié)同工作的平臺,它是借助數(shù)據(jù)采集卡,將實驗數(shù)據(jù)采集到計算機內(nèi)[5-6],利用虛擬儀器進行分析和測量,再把結(jié)果通過網(wǎng)絡(luò)傳送到遠地點的客戶端形成網(wǎng)上實驗。使用網(wǎng)絡(luò)化的虛擬儀器可以節(jié)約實驗儀器設(shè)備成本投入,提高儀器性能,完善實驗手段。據(jù)此,本文以LabVIEW為開發(fā)平臺,構(gòu)造了一個實時性強、交互性強、可擴展的網(wǎng)絡(luò)虛擬實驗系統(tǒng)[7]。該系統(tǒng)把基于B/S(Browser/Server)模式的遠程面板技術(shù)與基于C/S(Client/Server)模式的DataSocket技術(shù)兩個方面結(jié)合起來,既克服了遠程教學(xué)只有理論無法做實驗的缺陷,又可以充分利用網(wǎng)絡(luò)資源,減少硬件投資[8],是一種低成本、高收益的信息化建設(shè),具有很大的現(xiàn)實意義。
根據(jù)遠程實驗數(shù)據(jù)流量狀況及不同的實驗需求可采用基于C/S和B/S兩種網(wǎng)絡(luò)模型組建遠程虛擬實驗系統(tǒng)。C/S模式適合數(shù)據(jù)傳送量大的情況,而且具有效率高,數(shù)據(jù)可靠完整、兼容性強等特點。而對于數(shù)據(jù)傳送量不大,需要遠程模擬仿真的情況可以采用B/S模式,這樣對于客戶端的需求會很低,不需在客戶端上安裝相應(yīng)的客戶端軟件,只需要瀏覽器便可登陸服務(wù)器對遠程測試進行監(jiān)控。功能完整的遠程虛擬實驗系統(tǒng)結(jié)構(gòu)圖如圖1所示。該系統(tǒng)由Web服務(wù)器、客戶端層、LabVIEW服務(wù)器、數(shù)據(jù)庫層、虛擬實驗室等組成。
圖1 網(wǎng)絡(luò)虛擬實驗系統(tǒng)的結(jié)構(gòu)
Web服務(wù)器是客戶端通過網(wǎng)絡(luò)訪問的服務(wù)器,它是客戶端和LabVIEW服務(wù)器的中間層,主要作用是提供Web接入服務(wù)、用戶認證管理、開放式交互實驗環(huán)境以及動態(tài)網(wǎng)頁的生成;客戶端的使用者就是用戶,客戶端通過瀏覽器監(jiān)控遠程面板(B/S方式)建立與服務(wù)器端的網(wǎng)絡(luò)通信,監(jiān)測和控制服務(wù)器端的作業(yè),接收來自服務(wù)器端的作業(yè)數(shù)據(jù),并進行數(shù)據(jù)分析處理、數(shù)據(jù)處理結(jié)果的存儲與顯示、生成數(shù)據(jù)報表以及數(shù)據(jù)或波形打印等;LabVIEW服務(wù)器是裝有LabVIEW應(yīng)用軟件以及相關(guān)實驗的服務(wù)器,用戶將自己的數(shù)據(jù)通過Web服務(wù)器傳輸?shù)酱朔?wù)器上,通過運算后得到相應(yīng)的實驗結(jié)果并在客戶端進行保存;數(shù)據(jù)庫層是配合用戶賬戶的管理、動態(tài)網(wǎng)頁的生成以及下載實驗結(jié)果時的所有數(shù)據(jù),保證用戶提交的數(shù)據(jù)順利完成,并把數(shù)據(jù)提供給LabVIEW服務(wù)器訪問;本系統(tǒng)虛擬實驗室主要由虛擬儀器、模擬仿真和實時測量3個部分組成,如圖2所示。
圖2 虛擬實驗室的組成原理
虛擬儀器模塊是基于C/S的,采用的是NI公司提供的Data-Socket技術(shù),主要是讓用戶熟悉操作一些常用的儀器,比如示波器、功率表、信號發(fā)生器、波特圖儀和頻率計等。模擬仿真模塊是基于B/S的,使用LabVIEW自帶的網(wǎng)頁發(fā)布功能,直接在Web服務(wù)器端生成嵌入實驗平臺的WWW網(wǎng)頁。學(xué)生利用網(wǎng)絡(luò)通過訪問方式登錄本仿真實驗平臺,可以在線做電子類仿真實驗[9-10]。在網(wǎng)絡(luò)仿真平臺上,不需要用到應(yīng)用服務(wù)器,學(xué)生自己動手設(shè)置實驗參數(shù),運行在服務(wù)器端的平臺仿真程序根據(jù)實驗原理進行仿真,并實時返回仿真結(jié)果。學(xué)生在線獲得仿真實驗的仿真過程數(shù)據(jù),不僅驗證了理論,仿真過程的高度可視性更加深了學(xué)生對原理、理論的理解。優(yōu)秀的學(xué)生更可以參加到實驗的開發(fā)中來,開發(fā)過程是更進一步實驗與實踐的過程。實時測量模塊也是基于B/S的,比模擬仿真平臺多了一個多媒體輔助模塊,并且它要用到應(yīng)用服務(wù)器中的硬件設(shè)備,學(xué)生首先在多媒體輔助模塊中了解實驗內(nèi)容與方法,然后通過網(wǎng)絡(luò)也可以用上專業(yè)設(shè)備(如數(shù)據(jù)采集卡等),在線獲取、分析專業(yè)實驗數(shù)據(jù),從而實現(xiàn)貴重專業(yè)設(shè)備的網(wǎng)絡(luò)共享。
“軟件就是儀器”,下面以虛擬信號發(fā)生器為例,介紹用LabVIEW開發(fā)虛擬儀器的基本思路。
信號發(fā)生器又稱函數(shù)信號發(fā)生器[11],是教學(xué)實驗中最為常用的儀器,在實驗中用做模擬信號源。本系統(tǒng)所設(shè)計的虛擬函數(shù)信號發(fā)生器能夠產(chǎn)生頻率為0Hz~10kHz,幅度-5V~+5V的直流、正弦波、三角波、方波和鋸齒波5種基本波形信號,并且可以調(diào)節(jié)波形的初相位、偏移量和幅度衰減量,方波信號還可以調(diào)節(jié)占空比。我們還為該信號發(fā)生器設(shè)計了添加噪聲的功能,該信號發(fā)生器可以在基本波形的基礎(chǔ)之上疊加多種噪聲,實現(xiàn)了更完善的功能。除此之外該信號發(fā)生器還具有輸出公式波形的能力,在前面板公式輸入控件中輸入所需要的公式,就可以得到相對應(yīng)的波形。該儀器完全可以替代目前實驗室廣泛使用的傳統(tǒng)信號發(fā)生器,甚至在某些功能上更為完善。
虛擬函數(shù)發(fā)生器的前面板如圖3所示,圖中的波形為基本正弦波疊加高斯白噪聲所產(chǎn)生的波形。虛擬函數(shù)發(fā)生器的主程序設(shè)計如圖4所示,整個程序框圖中主要調(diào)用了事件結(jié)構(gòu)(Event Structure)、While循環(huán)結(jié)構(gòu)、條件結(jié)構(gòu)(Case Structure)、Sine Waveform.vi、Square Waveform.vi、Sawtooth Waveform.vi、TriangleWaveform.vi、GaussianWhiteWaveform.vi等典型函數(shù)模塊完成了4個事件的響應(yīng)、基本波形的生成和噪聲的產(chǎn)生等功能。然后用LabVIEW進行編程,將波形數(shù)據(jù)送到數(shù)據(jù)采集卡的緩沖區(qū)內(nèi),再由數(shù)據(jù)采集卡進行D/A轉(zhuǎn)換,將計算機發(fā)出的數(shù)字信號轉(zhuǎn)換為模擬信號供實驗用的信號源。
圖3 信號發(fā)生器的前面板
圖4 信號發(fā)生器的程序
實時測量模塊是通過數(shù)據(jù)采集卡把信號采集到計算機,然后對信號數(shù)據(jù)進行顯示、分析處理和保存。下面以計算機聲卡為硬件平臺,通過LabVIEW軟件編程,建立了一套音頻信號實時采集與測試分析系統(tǒng)[12-13]。圖5和圖6分別為聲音信號采集與分析系統(tǒng)的前面板和程序框圖。用戶可以通過前面板對設(shè)備ID、采樣頻率、采樣精度、聲道選擇、緩存大小進行設(shè)置;把采集到的聲音信號通過Waveform Chart控件實時顯示,實時存儲和時頻域分析。在程序框圖中首先從 LabVIEW 軟件聲音模塊(Graphics&Sound)中找到聲音輸入打開函數(shù)(SI Start.vi)、聲音輸入配置函數(shù)(SI Config.vi)、聲音輸入讀取函數(shù)(SI Read.vi)、聲音輸入清除函數(shù)(SI Clear.vi)和聲音輸入關(guān)閉函數(shù)(SIStop.vi),再加上條件結(jié)構(gòu)(CaseStructure)和WhileLoop循環(huán)語句結(jié)構(gòu)就可以實現(xiàn)整個程序的信號采集、實時顯示和分析等功能。
圖5 音頻信號實時采集的前面板
圖6 音頻信號實時采集的程序
LabVIEW具有強大的通信功能[14],以下3種方式可以滿足一個遠程虛擬實驗室不同的要求。
(1)用LabVIEW編寫TCP或UDP通信的服務(wù)器端和客戶端應(yīng)用程序,如圖7所示,這種方式是基于C/S模式的。
圖7 TCP或UDP通信的C/S模式構(gòu)成
(2)用LabVIEW編寫DataSocket通信的服務(wù)器端和客戶端應(yīng)用程序,二者通過DataSocket服務(wù)器傳遞數(shù)據(jù),如圖8所示,這種方式也是基于C/S模式的。
圖8 DataSocket通信的C/S模式構(gòu)成
(3)由LabVIEW的WebServer提供Web服務(wù),將己被載入服務(wù)器內(nèi)存中的VI前面板嵌入網(wǎng)頁,客戶端在瀏覽器輸入相應(yīng)地址就可以觀察遠端面板的顯示情況,并可以遠程控制程序。這種方式是基于B/S模式的,如圖9所示。
LabVIEW具有強大的遠程數(shù)據(jù)采集能力[15],實現(xiàn)方法主要有DAQ設(shè)備共享方式、軟件操作界面共享方式、數(shù)據(jù)發(fā)布方式和數(shù)據(jù)共享方式。其中DAQ設(shè)備共享方式是采用RDA技術(shù)實現(xiàn)設(shè)備的遠程控制,RDA是一種硬件共享技術(shù),沒有數(shù)據(jù)傳輸能力,而要實現(xiàn)虛擬儀器在網(wǎng)絡(luò)平臺上的應(yīng)用,就必須實現(xiàn)在不同應(yīng)用之間的數(shù)據(jù)共享,RDA技術(shù)對此無能為力:并且使用該技術(shù),必須要求使用者掌握數(shù)據(jù)采集卡的相關(guān)使用方法,同時掌握DAQ編程技術(shù),這對學(xué)生來說要求過高,而且沒有必要;軟件操作界面共享方式是利用Remote Panels技術(shù)實現(xiàn)遠程數(shù)據(jù)采集,允許用戶直接在客戶端計算機上打開并操作位于服務(wù)器端計算機上的VI的前面板,甚至可以將Lab-VIEWVIs的前面板窗口嵌入到一個網(wǎng)頁中并在網(wǎng)頁中直接操作它,按照常規(guī)方式編寫服務(wù)器端軟件,控制DAQ設(shè)備完成數(shù)據(jù)采集,通過一定的設(shè)置將服務(wù)器端軟件的前面板發(fā)布到客戶機中,這樣,用戶在客戶機上就可以直接操作位于服務(wù)器上的軟件,實現(xiàn)遠程數(shù)據(jù)采集;數(shù)據(jù)發(fā)布方式是利用TCP技術(shù)實現(xiàn)遠程數(shù)據(jù)采集,TCP/IP技術(shù)只能組建C/S模式的測控網(wǎng)絡(luò),不能滿足本系統(tǒng)傳送實時數(shù)據(jù)的要求;數(shù)據(jù)共享方式是利用DataSocket技術(shù)實現(xiàn)遠程數(shù)據(jù)采集,服務(wù)器端軟件控制DAQ設(shè)備完成數(shù)據(jù)采集,將測試數(shù)據(jù)放到一個數(shù)組控件中,在客戶機端軟件中利用同樣的數(shù)組控件通過DataSocket Server接收這些數(shù)據(jù),然后通過進一步的編程對這些數(shù)據(jù)進行相關(guān)處理。綜合以上的分析,鑒于本系統(tǒng)的實際情況,虛擬儀器模塊是采用DataSocket技術(shù)傳輸數(shù)據(jù),模擬仿真模塊和實時測量模塊是采用Remote Panels技術(shù)實現(xiàn)數(shù)據(jù)傳輸。
圖9 基于LabVIEW Web Server構(gòu)建B/S模式
本文針對傳統(tǒng)教學(xué)儀器設(shè)備資源相對短缺、分散和陳舊老化而無法滿足實驗教學(xué)需求、管理和更新升級的特點,提出了一個基于LabVIEW的網(wǎng)絡(luò)虛擬實驗系統(tǒng)的構(gòu)建方案。該方案利用已有的校園網(wǎng)絡(luò)設(shè)施,合理地選擇軟硬件,把Data-Socket技術(shù)和Remote Panels技術(shù)結(jié)合起來,使教學(xué)、科研、實驗三者合一,既克服了遠程教學(xué)只有理論無法做實驗的缺陷,又可以充分利用網(wǎng)絡(luò)資源,減少硬件投資。該方案主要解決了數(shù)字電路、模擬電路、電子測量等多門課程的絕大部分實驗以及一些理工科方面的研究,降低了實物損耗率,能夠大大提高儀器的使用效率。開發(fā)周期短,成本低,同時又具有很強的兼容性和擴展性,易于升級換代和維護。后續(xù)的工作是將更多流行的網(wǎng)絡(luò)技術(shù)充分應(yīng)用到網(wǎng)絡(luò)平臺的構(gòu)建中,進一步完善遠程虛擬實驗室的建設(shè),將面向?qū)ο蟮脑O(shè)計思想和軟件工程理論充分運用到軟件及數(shù)據(jù)庫的開發(fā)過程中,優(yōu)化軟件結(jié)構(gòu),實行多線程編程,提高遠程虛擬實驗室的實時性,實用性,完善系統(tǒng)功能。
[1]錢聲強,王露,李晴.基于LabVIEW的數(shù)字電路課程遠程實驗平臺開發(fā)[J].常州信息職業(yè)技術(shù)學(xué)院學(xué)報,2010,9(1):63-65.
[2]林鵬.基于DataSocket技術(shù)的虛擬實驗室系統(tǒng)設(shè)計[J].實驗科學(xué)與技術(shù),2008,6(3):53-54.
[3]王太成,蔡勇.利用虛擬機技術(shù)完成復(fù)雜網(wǎng)絡(luò)實驗[J].計算機技術(shù)與發(fā)展,2009,69(4):252-255.
[4]李海芳,張民,陳俊杰,等.LabVIEW下遠程虛擬實驗室的研究與實現(xiàn)[J].太原理工大學(xué)學(xué)報,2010,41(2):147-149.
[5]郭龍鋼,王宇炎.基于LABVIEW的單片機串口數(shù)據(jù)采集系統(tǒng)[J].自動化技術(shù)與應(yīng)用,2009,28(11):129-131.
[6]張雪華,萬舟,吳建德.基于LabVIEW與DSP串口通信的數(shù)據(jù)采集系統(tǒng)設(shè)計[J].云南大學(xué)學(xué)報(自然科學(xué)版),2009(S2):123-128.
[7]景軍鋒,聶魯華,李鵬飛.基于LabVIEW的遠程控制實驗系統(tǒng)[J].微型機與應(yīng)用,2010,29(4):77-80.
[8]楊宏,李國輝,常淑娟.基于LabVIEW的虛擬實驗室建設(shè)[J].現(xiàn)代電子技術(shù),2010,33(7):154-155.
[9]嚴(yán)文娟.LabVIEW在數(shù)字電路教學(xué)中的應(yīng)用[J].計算機與現(xiàn)代化,2009(7):123-125.
[10]李敏,陳興文,劉燕.基于LabVIEW開發(fā)數(shù)字信號處理綜合性實驗[J].實驗科學(xué)與技術(shù),2008,6(5):11-12.
[11]賀良華,王洪亮,王洪雷.基于LabVIEW的虛擬信號發(fā)生器的研究與實現(xiàn)[J].計算機測量與控制,2009,17(9):210-212.
[12]SUN Ai-jing,LIU Yu,MA He-zhou.Design of the filter with data acquisition by using audio-card based on labVIEW[J].Journal of Computer Applications,2009,24(5):45-47.
[13]楊大志.基于聲卡的信號采集技術(shù)[J].儀表技術(shù)與傳感器,2007,7(7):74-75.
[14]張桐,陳國順,王正林.精通LabVIEW程序設(shè)計[M].北京:電子工業(yè)出版社,2008.
[15]吳成東,孫秋野,盛科.LabVIEW虛擬儀器程序設(shè)計及應(yīng)用[M].北京:人民郵電出版社,2008.