范海英,楊 嘉,張金鳳,趙云飛,丁 娜
(軍事交通學(xué)院 基礎(chǔ)部,天津 300161)
虛擬儀器是基于計算機的儀器,它的實質(zhì)是一個完整的計算機測試系統(tǒng)。首先,利用I/O接口設(shè)備可以完成被測信號的數(shù)據(jù)采集、整形、調(diào)理、A/D轉(zhuǎn)換等;其次,它可以利用計算機本身強大的計算功能來完成信號的運算、分析、處理、存儲等;最后,它利用計算機顯示器的顯示功能來模擬實際儀器的操作面板,可以以圖形圖表、指示燈、數(shù)值控件等多種形式來表達測量結(jié)果。因此,與傳統(tǒng)儀器一樣,虛擬儀器從功能上也可以劃分為三大模塊,即數(shù)據(jù)采集、數(shù)據(jù)處理、結(jié)果表達。虛擬儀器的最大特點是開發(fā)靈活,使用方便。用戶可以根據(jù)自身的使用需要,選擇開發(fā)或者放棄開發(fā)某種功能[1-2]。當前,由于計算機的日益普及,計算機與儀器的密切結(jié)合成為儀器發(fā)展的一個重要方向。
LabVIEW(Laboratory Virtual Instrument Engineering Workench,LabVIEW)是目前廣泛被工業(yè)控制領(lǐng)域、學(xué)術(shù)研究領(lǐng)域以及各基礎(chǔ)教學(xué)實驗室所接受的虛擬儀器教學(xué)開發(fā)平臺,它是一個標準的數(shù)據(jù)采集和儀器控制軟件[2]。LabVIEW與其他編程語言的顯著區(qū)別是:其他計算機語言如C語言是利用文本產(chǎn)生代碼,而LabVIEW開發(fā)的是編譯型圖形化編程G語言。G語言產(chǎn)生的是框圖的形式,它采用簡單的連線方法將各種功能圖標的功能連接起來實現(xiàn)任務(wù)。LabVIEW擁有一個能完成任何編程任務(wù)的龐大函數(shù)庫,有豐富的圖形生成界面模板,能進行數(shù)據(jù)采集、分析、存儲等功能,并提供多種硬件設(shè)備的驅(qū)動功能等。
在基礎(chǔ)實驗室中,用計算機控制實驗過程或采集實驗數(shù)據(jù)逐步得到普及。合理利用計算機不但可以提高實驗效率、降低實驗成本,還可以增加學(xué)生的實驗興趣[3-4]。本文立足于對部隊學(xué)員基本操作技能的培養(yǎng),以虛擬信號發(fā)生器和示波器的設(shè)計為例,借助虛擬儀器的開放、高效、靈活、易用的特點,開發(fā)設(shè)計了基于LabVIEW的虛擬信號發(fā)生器和示波器,對部隊學(xué)員進行有針對性的基礎(chǔ)訓(xùn)練,取得了較好的效果。
信號發(fā)生器和示波器是科學(xué)研究和工程設(shè)計中廣泛應(yīng)用的兩種通用儀器[3],在實驗教學(xué)中也經(jīng)常會用到。針對學(xué)員在大學(xué)物理實驗中需要掌握的信號發(fā)生器和示波器的使用內(nèi)容,文中利用虛擬儀器軟件LabVIEW 8.6架構(gòu)出虛擬信號發(fā)生器和示波器。虛擬的雙路信號發(fā)生器通過信號處理VI》波形生成VI選板中的Basic Function Generator.VI(基本函數(shù)發(fā)生器)節(jié)點構(gòu)成。此節(jié)點可產(chǎn)生正弦波、三角波、方波、鋸齒波四種信號。此信號發(fā)生器雙路信號均有開關(guān)獨立控制,并具備一個電源總開關(guān)。頻率微調(diào)旋鈕可實現(xiàn)0.0~10.0頻率范圍調(diào)節(jié),頻率檔位選擇通過一個簡單的條件結(jié)構(gòu)來實現(xiàn),由此可產(chǎn)生頻率從0~100 kHz無失真波形。通過旋鈕對頻率、振幅及方波占空比進行連續(xù)調(diào)節(jié),即可輸出想要的信號波形。儀器前面板如圖1所示。
圖1 虛擬信號發(fā)生器前面板
根據(jù)大學(xué)物理實驗所需真實示波器功能要求,本文設(shè)計的雙通道虛擬示波器主要包含以下功能:(1)實現(xiàn)通道選擇功能。通過條件結(jié)構(gòu)來控制所選通道,即 CH1、CH2、CH1&CH2、CH1+CH2。(2)實現(xiàn)觸發(fā)方式可選擇控制。內(nèi)觸發(fā)和外觸發(fā)。(3)分別實現(xiàn)兩路信號的垂直位置調(diào)節(jié)功能,即直流電平調(diào)節(jié)功能。(4)分別實現(xiàn)兩路信號的水平位置調(diào)節(jié)功能,即相位調(diào)節(jié)功能。(5)分別實現(xiàn)兩路信號波形幅度調(diào)節(jié),其電壓靈敏度從10 mV/DIV到5 V/DIV可選。(6)分別實現(xiàn)兩路波形時基調(diào)節(jié),其時間靈敏度從0.1μs到0.1s可選。(7)可根據(jù)信號源實時顯示李薩如圖形。(8)設(shè)置有電源開關(guān)控制及顯示。依照這些設(shè)計目標和功能要求,利用各顯示控件和波形圖標構(gòu)建示波器的前面板,通過對顯示控件和波形圖的屬性進行設(shè)置,并利用相關(guān)函數(shù)模塊編制程序框圖,最終完成虛擬示波器的整體功能要求。設(shè)計過程中還對學(xué)員操作進行適當關(guān)聯(lián)限制,如當通道選擇CH1時,CH2通道的電壓靈敏度旋鈕禁用并顯示為灰色,設(shè)計完成的虛擬示波器前面板如圖2所示。圖2中選擇的是CH1+CH2通道,顯示的是振幅相同,頻率為3∶2關(guān)系的兩路正弦信號產(chǎn)生的李薩如圖形。
虛擬信號發(fā)生器的信號生成程序框圖如圖3所示。在程序框圖中,主要用到了條件結(jié)構(gòu),其中的子條件結(jié)構(gòu)中含有多個分支,用于信號發(fā)生器頻率檔位的選擇,根據(jù)需要還可以繼續(xù)擴充??驁D中的基本函數(shù)發(fā)生器用來產(chǎn)生波形,通過各個控件可對發(fā)生波形進行設(shè)定。虛擬示波器對波形的顯示框圖如圖4所示,其中用到了While循環(huán)、條件結(jié)構(gòu)、波形圖、XY圖、創(chuàng)建XY圖等。框圖中還通過對多控件的屬性節(jié)點的靈活設(shè)置以達到設(shè)計要求。
圖2 虛擬示波器前面板
圖3 虛擬信號發(fā)生器的程序框圖
圖4 虛擬示波器的程序框圖
實驗過程中,為防止學(xué)員誤操作而退出程序,設(shè)置了退出提醒對話框,程序框圖如圖5所示。
圖5 退出提醒程序框圖
發(fā)布應(yīng)用程序是必要的一步。因為在Lab-VIEW開發(fā)環(huán)境下編寫出來的VI源文件只能在LabVIEW下被打開運行,我們必須把它生成為能在Windows等平臺上運行的獨立可執(zhí)行文件才可應(yīng)用于教學(xué)。LabVIEW為開發(fā)者提供了應(yīng)用程序生成工具:LabVIEW application builder,該工具不僅能夠生成獨立可執(zhí)行文件和安裝包,還能夠生成動態(tài)鏈接庫(.dll),發(fā)布源代碼或zip文件等。
應(yīng)用程序和安裝程序生成工具位于項目管理器,右鍵單擊項目管理器中的程序生成規(guī)范,選擇新建》應(yīng)用程序(EXE)或安裝程序。注意在制作安裝包之前必須先生成應(yīng)用程序。本程序生成之后經(jīng)過調(diào)試能夠順利運行,效果良好,可以確保系統(tǒng)能夠滿足大學(xué)物理實驗預(yù)備實驗的教學(xué)要求。
本文設(shè)計開發(fā)的虛擬信號發(fā)生器和示波器,可很好地實現(xiàn)真實儀器的基本功能,彌補基礎(chǔ)實驗室信號發(fā)生器和示波器資源的不足,代替真實儀器進行預(yù)備實驗教學(xué),延展了學(xué)員對基本儀器的使用和掌握,推動了傳統(tǒng)實驗教學(xué)改革。同時,還可以根據(jù)需要對本仿真實驗繼續(xù)改進,如增加電壓表、頻譜分析功能、結(jié)合數(shù)據(jù)采集卡采集外部輸入波形等。
[1]李瑞,周冰,胡仁喜,等.LabVIEW2009中文版虛擬儀器從入門到精通[M].北京:機械工業(yè)出版社,2010.
[2]王秀芳,郝建勛.虛擬示波器的設(shè)計與實現(xiàn)[J].儀器儀表學(xué)報,2005(增刊):253-254.
[3]鞏龍龔,馬強,丁偉,等.基于LabVIEW的虛擬信號發(fā)生器和示波器實驗[J].實驗科學(xué)與技術(shù),2011,9(6):7-9.
[4]賈小兵,楊茂田,殷潔,等.大學(xué)物理實驗教程[M].北京:人民郵電出版社,2007.