?

基于虛擬儀器技術的網絡實驗系統的研究

2011-07-25 06:49全曉莉周南權余永輝
計算機工程與設計 2011年9期
關鍵詞:前面板虛擬儀器服務器端

全曉莉, 周南權, 余永輝

(1.重慶理工大學電子信息與自動化學院,重慶400054;2.重慶航天職業技術學院電子工程系,重慶400021)

0 引 言

實驗教學在高等工科教育中起著相當重要的作用,但是在教學改革實施過程中,一體化項目教學方式的引入和學生人數的增多,使傳統的實驗室和實驗儀器數量很難滿足學生的需求,這就對學校的實驗設備和教學場地等相應配置提出了更高的要求[1]?;诰W絡的遠程實驗教學是教育現代化的一個重要發展方向[2],是高校實驗教學改革的一項重要內容,而虛擬儀器的出現和網絡技術的飛速發展,使得新型的遠程網上實驗成為可能[3-4]。網絡化的虛擬儀器是提供給用戶的一個基于網絡的數據共享、實驗教學、技術交流、共同研究、協同工作的平臺,它是借助數據采集卡,將實驗數據采集到計算機內[5-6],利用虛擬儀器進行分析和測量,再把結果通過網絡傳送到遠地點的客戶端形成網上實驗。使用網絡化的虛擬儀器可以節約實驗儀器設備成本投入,提高儀器性能,完善實驗手段。據此,本文以LabVIEW為開發平臺,構造了一個實時性強、交互性強、可擴展的網絡虛擬實驗系統[7]。該系統把基于B/S(Browser/Server)模式的遠程面板技術與基于C/S(Client/Server)模式的DataSocket技術兩個方面結合起來,既克服了遠程教學只有理論無法做實驗的缺陷,又可以充分利用網絡資源,減少硬件投資[8],是一種低成本、高收益的信息化建設,具有很大的現實意義。

1 網絡虛擬實驗系統的設計

根據遠程實驗數據流量狀況及不同的實驗需求可采用基于C/S和B/S兩種網絡模型組建遠程虛擬實驗系統。C/S模式適合數據傳送量大的情況,而且具有效率高,數據可靠完整、兼容性強等特點。而對于數據傳送量不大,需要遠程模擬仿真的情況可以采用B/S模式,這樣對于客戶端的需求會很低,不需在客戶端上安裝相應的客戶端軟件,只需要瀏覽器便可登陸服務器對遠程測試進行監控。功能完整的遠程虛擬實驗系統結構圖如圖1所示。該系統由Web服務器、客戶端層、LabVIEW服務器、數據庫層、虛擬實驗室等組成。

圖1 網絡虛擬實驗系統的結構

Web服務器是客戶端通過網絡訪問的服務器,它是客戶端和LabVIEW服務器的中間層,主要作用是提供Web接入服務、用戶認證管理、開放式交互實驗環境以及動態網頁的生成;客戶端的使用者就是用戶,客戶端通過瀏覽器監控遠程面板(B/S方式)建立與服務器端的網絡通信,監測和控制服務器端的作業,接收來自服務器端的作業數據,并進行數據分析處理、數據處理結果的存儲與顯示、生成數據報表以及數據或波形打印等;LabVIEW服務器是裝有LabVIEW應用軟件以及相關實驗的服務器,用戶將自己的數據通過Web服務器傳輸到此服務器上,通過運算后得到相應的實驗結果并在客戶端進行保存;數據庫層是配合用戶賬戶的管理、動態網頁的生成以及下載實驗結果時的所有數據,保證用戶提交的數據順利完成,并把數據提供給LabVIEW服務器訪問;本系統虛擬實驗室主要由虛擬儀器、模擬仿真和實時測量3個部分組成,如圖2所示。

圖2 虛擬實驗室的組成原理

虛擬儀器模塊是基于C/S的,采用的是NI公司提供的Data-Socket技術,主要是讓用戶熟悉操作一些常用的儀器,比如示波器、功率表、信號發生器、波特圖儀和頻率計等。模擬仿真模塊是基于B/S的,使用LabVIEW自帶的網頁發布功能,直接在Web服務器端生成嵌入實驗平臺的WWW網頁。學生利用網絡通過訪問方式登錄本仿真實驗平臺,可以在線做電子類仿真實驗[9-10]。在網絡仿真平臺上,不需要用到應用服務器,學生自己動手設置實驗參數,運行在服務器端的平臺仿真程序根據實驗原理進行仿真,并實時返回仿真結果。學生在線獲得仿真實驗的仿真過程數據,不僅驗證了理論,仿真過程的高度可視性更加深了學生對原理、理論的理解。優秀的學生更可以參加到實驗的開發中來,開發過程是更進一步實驗與實踐的過程。實時測量模塊也是基于B/S的,比模擬仿真平臺多了一個多媒體輔助模塊,并且它要用到應用服務器中的硬件設備,學生首先在多媒體輔助模塊中了解實驗內容與方法,然后通過網絡也可以用上專業設備(如數據采集卡等),在線獲取、分析專業實驗數據,從而實現貴重專業設備的網絡共享。

2 虛擬儀器的實現

“軟件就是儀器”,下面以虛擬信號發生器為例,介紹用LabVIEW開發虛擬儀器的基本思路。

信號發生器又稱函數信號發生器[11],是教學實驗中最為常用的儀器,在實驗中用做模擬信號源。本系統所設計的虛擬函數信號發生器能夠產生頻率為0Hz~10kHz,幅度-5V~+5V的直流、正弦波、三角波、方波和鋸齒波5種基本波形信號,并且可以調節波形的初相位、偏移量和幅度衰減量,方波信號還可以調節占空比。我們還為該信號發生器設計了添加噪聲的功能,該信號發生器可以在基本波形的基礎之上疊加多種噪聲,實現了更完善的功能。除此之外該信號發生器還具有輸出公式波形的能力,在前面板公式輸入控件中輸入所需要的公式,就可以得到相對應的波形。該儀器完全可以替代目前實驗室廣泛使用的傳統信號發生器,甚至在某些功能上更為完善。

虛擬函數發生器的前面板如圖3所示,圖中的波形為基本正弦波疊加高斯白噪聲所產生的波形。虛擬函數發生器的主程序設計如圖4所示,整個程序框圖中主要調用了事件結構(Event Structure)、While循環結構、條件結構(Case Structure)、Sine Waveform.vi、Square Waveform.vi、Sawtooth Waveform.vi、TriangleWaveform.vi、GaussianWhiteWaveform.vi等典型函數模塊完成了4個事件的響應、基本波形的生成和噪聲的產生等功能。然后用LabVIEW進行編程,將波形數據送到數據采集卡的緩沖區內,再由數據采集卡進行D/A轉換,將計算機發出的數字信號轉換為模擬信號供實驗用的信號源。

圖3 信號發生器的前面板

圖4 信號發生器的程序

3 實時測量的實現

實時測量模塊是通過數據采集卡把信號采集到計算機,然后對信號數據進行顯示、分析處理和保存。下面以計算機聲卡為硬件平臺,通過LabVIEW軟件編程,建立了一套音頻信號實時采集與測試分析系統[12-13]。圖5和圖6分別為聲音信號采集與分析系統的前面板和程序框圖。用戶可以通過前面板對設備ID、采樣頻率、采樣精度、聲道選擇、緩存大小進行設置;把采集到的聲音信號通過Waveform Chart控件實時顯示,實時存儲和時頻域分析。在程序框圖中首先從 LabVIEW 軟件聲音模塊(Graphics&Sound)中找到聲音輸入打開函數(SI Start.vi)、聲音輸入配置函數(SI Config.vi)、聲音輸入讀取函數(SI Read.vi)、聲音輸入清除函數(SI Clear.vi)和聲音輸入關閉函數(SIStop.vi),再加上條件結構(CaseStructure)和WhileLoop循環語句結構就可以實現整個程序的信號采集、實時顯示和分析等功能。

圖5 音頻信號實時采集的前面板

圖6 音頻信號實時采集的程序

4 網絡虛擬實驗室通訊技術實現

4.1 LabVIEW中通信方式簡介

LabVIEW具有強大的通信功能[14],以下3種方式可以滿足一個遠程虛擬實驗室不同的要求。

(1)用LabVIEW編寫TCP或UDP通信的服務器端和客戶端應用程序,如圖7所示,這種方式是基于C/S模式的。

圖7 TCP或UDP通信的C/S模式構成

(2)用LabVIEW編寫DataSocket通信的服務器端和客戶端應用程序,二者通過DataSocket服務器傳遞數據,如圖8所示,這種方式也是基于C/S模式的。

圖8 DataSocket通信的C/S模式構成

(3)由LabVIEW的WebServer提供Web服務,將己被載入服務器內存中的VI前面板嵌入網頁,客戶端在瀏覽器輸入相應地址就可以觀察遠端面板的顯示情況,并可以遠程控制程序。這種方式是基于B/S模式的,如圖9所示。

4.2 遠程虛擬儀器通訊方式的選擇

LabVIEW具有強大的遠程數據采集能力[15],實現方法主要有DAQ設備共享方式、軟件操作界面共享方式、數據發布方式和數據共享方式。其中DAQ設備共享方式是采用RDA技術實現設備的遠程控制,RDA是一種硬件共享技術,沒有數據傳輸能力,而要實現虛擬儀器在網絡平臺上的應用,就必須實現在不同應用之間的數據共享,RDA技術對此無能為力:并且使用該技術,必須要求使用者掌握數據采集卡的相關使用方法,同時掌握DAQ編程技術,這對學生來說要求過高,而且沒有必要;軟件操作界面共享方式是利用Remote Panels技術實現遠程數據采集,允許用戶直接在客戶端計算機上打開并操作位于服務器端計算機上的VI的前面板,甚至可以將Lab-VIEWVIs的前面板窗口嵌入到一個網頁中并在網頁中直接操作它,按照常規方式編寫服務器端軟件,控制DAQ設備完成數據采集,通過一定的設置將服務器端軟件的前面板發布到客戶機中,這樣,用戶在客戶機上就可以直接操作位于服務器上的軟件,實現遠程數據采集;數據發布方式是利用TCP技術實現遠程數據采集,TCP/IP技術只能組建C/S模式的測控網絡,不能滿足本系統傳送實時數據的要求;數據共享方式是利用DataSocket技術實現遠程數據采集,服務器端軟件控制DAQ設備完成數據采集,將測試數據放到一個數組控件中,在客戶機端軟件中利用同樣的數組控件通過DataSocket Server接收這些數據,然后通過進一步的編程對這些數據進行相關處理。綜合以上的分析,鑒于本系統的實際情況,虛擬儀器模塊是采用DataSocket技術傳輸數據,模擬仿真模塊和實時測量模塊是采用Remote Panels技術實現數據傳輸。

圖9 基于LabVIEW Web Server構建B/S模式

5 結束語

本文針對傳統教學儀器設備資源相對短缺、分散和陳舊老化而無法滿足實驗教學需求、管理和更新升級的特點,提出了一個基于LabVIEW的網絡虛擬實驗系統的構建方案。該方案利用已有的校園網絡設施,合理地選擇軟硬件,把Data-Socket技術和Remote Panels技術結合起來,使教學、科研、實驗三者合一,既克服了遠程教學只有理論無法做實驗的缺陷,又可以充分利用網絡資源,減少硬件投資。該方案主要解決了數字電路、模擬電路、電子測量等多門課程的絕大部分實驗以及一些理工科方面的研究,降低了實物損耗率,能夠大大提高儀器的使用效率。開發周期短,成本低,同時又具有很強的兼容性和擴展性,易于升級換代和維護。后續的工作是將更多流行的網絡技術充分應用到網絡平臺的構建中,進一步完善遠程虛擬實驗室的建設,將面向對象的設計思想和軟件工程理論充分運用到軟件及數據庫的開發過程中,優化軟件結構,實行多線程編程,提高遠程虛擬實驗室的實時性,實用性,完善系統功能。

[1]錢聲強,王露,李晴.基于LabVIEW的數字電路課程遠程實驗平臺開發[J].常州信息職業技術學院學報,2010,9(1):63-65.

[2]林鵬.基于DataSocket技術的虛擬實驗室系統設計[J].實驗科學與技術,2008,6(3):53-54.

[3]王太成,蔡勇.利用虛擬機技術完成復雜網絡實驗[J].計算機技術與發展,2009,69(4):252-255.

[4]李海芳,張民,陳俊杰,等.LabVIEW下遠程虛擬實驗室的研究與實現[J].太原理工大學學報,2010,41(2):147-149.

[5]郭龍鋼,王宇炎.基于LABVIEW的單片機串口數據采集系統[J].自動化技術與應用,2009,28(11):129-131.

[6]張雪華,萬舟,吳建德.基于LabVIEW與DSP串口通信的數據采集系統設計[J].云南大學學報(自然科學版),2009(S2):123-128.

[7]景軍鋒,聶魯華,李鵬飛.基于LabVIEW的遠程控制實驗系統[J].微型機與應用,2010,29(4):77-80.

[8]楊宏,李國輝,常淑娟.基于LabVIEW的虛擬實驗室建設[J].現代電子技術,2010,33(7):154-155.

[9]嚴文娟.LabVIEW在數字電路教學中的應用[J].計算機與現代化,2009(7):123-125.

[10]李敏,陳興文,劉燕.基于LabVIEW開發數字信號處理綜合性實驗[J].實驗科學與技術,2008,6(5):11-12.

[11]賀良華,王洪亮,王洪雷.基于LabVIEW的虛擬信號發生器的研究與實現[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]楊大志.基于聲卡的信號采集技術[J].儀表技術與傳感器,2007,7(7):74-75.

[14]張桐,陳國順,王正林.精通LabVIEW程序設計[M].北京:電子工業出版社,2008.

[15]吳成東,孫秋野,盛科.LabVIEW虛擬儀器程序設計及應用[M].北京:人民郵電出版社,2008.

猜你喜歡
前面板虛擬儀器服務器端
顏值高和散熱強可以并存3款高品質機箱推薦
Linux環境下基于Socket的數據傳輸軟件設計
電競潮牌范航嘉GX520S機箱評測
電競潮牌范 航嘉GX520S機箱評測
PCB 刻制機功能開發及在虛擬儀器實驗室建設中的應用
虛擬儀器及其在電工電子實驗中的應用
一種基于虛擬儀器的電控柴油機實驗臺的設計
基于Qt的安全即時通訊軟件服務器端設計
基于Qt的網絡聊天軟件服務器端設計
虛擬儀器技術在農業裝備測控中的應用
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合