,
(1.宿州職業(yè)技術(shù)學(xué)院機(jī)電工程系,安徽 宿州 234000;2.宿州職業(yè)技術(shù)學(xué)院計(jì)算機(jī)系,安徽 宿州 234000)
近年來(lái),隨著高校教育規(guī)模和水平的提高,高等院校的實(shí)習(xí)實(shí)訓(xùn)課程改革勢(shì)在必行。在目前發(fā)展階段,為了滿足實(shí)習(xí)實(shí)訓(xùn)的多種需求,各高校逐步探索尋求對(duì)傳統(tǒng)的實(shí)習(xí)實(shí)訓(xùn)課程進(jìn)行改革的方案,在諸多改革方案中,虛擬儀器是一種耗資少、易推行的方案。虛擬儀器是以計(jì)算機(jī)網(wǎng)絡(luò)為核心,依靠使用者的需求對(duì)儀器進(jìn)行升級(jí)與改造,利用軟件來(lái)完成對(duì)虛擬控制界面的布置和模擬相對(duì)應(yīng)硬件設(shè)備的綜合計(jì)算機(jī)系統(tǒng)[1]。使用者可以通過(guò)輸入設(shè)備(鍵盤、鼠標(biāo)、觸摸屏)來(lái)操控虛擬儀器面板,達(dá)到模擬使用真實(shí)儀器的目的。以LabVIEW軟件為基礎(chǔ),針對(duì)電工電子實(shí)驗(yàn)中常用的虛擬示波器、虛擬信號(hào)發(fā)生器進(jìn)行設(shè)計(jì),為理工學(xué)科的教學(xué)提供實(shí)驗(yàn)基礎(chǔ)。
在實(shí)習(xí)實(shí)訓(xùn)過(guò)程中,信號(hào)源是基礎(chǔ)條件,但是在真實(shí)的教學(xué)環(huán)境中的信號(hào)很難被獲取到,并且學(xué)生在實(shí)驗(yàn)教學(xué)過(guò)程中僅僅需要對(duì)部分信號(hào)有分析的能力和處理的方法,沒(méi)有獲取現(xiàn)場(chǎng)信號(hào)的必要。此時(shí),就需要有能夠產(chǎn)生信號(hào)的裝置,提供所需要的信號(hào)源。在科技領(lǐng)域和生產(chǎn)實(shí)踐過(guò)程中,信號(hào)發(fā)生器的作用和用途非常廣泛。通過(guò)在LabVIEW環(huán)境下的編程可以實(shí)現(xiàn)對(duì)部分函數(shù)——VI子函數(shù)調(diào)用,在信號(hào)輸出過(guò)程中,可實(shí)時(shí)依據(jù)實(shí)驗(yàn)的多種需求對(duì)面板的參數(shù)進(jìn)行調(diào)整[2]。
虛擬信號(hào)發(fā)生器是由硬件和軟件兩部分組成。其工作的原理為:配置完采集硬件后,會(huì)有一個(gè)LabVIEW編程指令產(chǎn)生,然后計(jì)算機(jī)就根據(jù)該指令向數(shù)據(jù)采集卡的緩沖區(qū)中傳送波形數(shù)據(jù),接下來(lái)波形數(shù)據(jù)會(huì)依據(jù)D/A轉(zhuǎn)換規(guī)則在數(shù)據(jù)采集卡中進(jìn)行轉(zhuǎn)換。如此,模擬信號(hào)就會(huì)被轉(zhuǎn)化成數(shù)字信號(hào),再根據(jù)給定的輸出率將緩沖區(qū)內(nèi)的數(shù)據(jù)向外進(jìn)行傳遞。[3]經(jīng)過(guò)這個(gè)過(guò)程,數(shù)字信號(hào)又可以轉(zhuǎn)化成模擬信號(hào),如圖1顯示了以上流程。
圖1 虛擬信號(hào)發(fā)生器系統(tǒng)框圖
以現(xiàn)有的發(fā)生器為參考原型,所開(kāi)發(fā)的發(fā)生器主要具有以下指標(biāo)和功能[4]:
(1) 能夠產(chǎn)生典型的波形,如方波、正弦波、鋸形波和三角波,頻率在10Hz到100Hz。
(2) 相位、頻率和幅度等參數(shù)能夠根據(jù)需要在規(guī)定幅度內(nèi)進(jìn)行調(diào)節(jié)。
(3) 在波形控制顯示面板中能夠顯示波形信號(hào)。
(4) 能夠?qū)λ袇?shù)進(jìn)行粗調(diào)或者進(jìn)行微調(diào)。
圖2為虛擬信號(hào)發(fā)生器的前面板。在設(shè)計(jì)之初,要充分考慮到界面的美觀、操作的便捷等因素。
圖2 信號(hào)發(fā)生器前面板
在儀器的前面板中有波形控件Waveform Graph,用于顯示生成的波形圖。實(shí)驗(yàn)過(guò)程中,所需要的波形以及輸出信號(hào)的周期都可以根據(jù)信號(hào)類型選擇板進(jìn)行選取,可通過(guò)對(duì)占空比、相位、頻率和幅值等參數(shù)進(jìn)行修改、調(diào)節(jié)。設(shè)定采樣信息可以通過(guò)控制采樣點(diǎn)和采樣頻率來(lái)完成。最后,點(diǎn)擊退出鍵便可以退出整個(gè)程序。
在圖3中顯示了虛擬信號(hào)發(fā)生器的程序框圖。
圖3 信號(hào)發(fā)生器程序框圖
在設(shè)計(jì)虛擬信號(hào)發(fā)生器時(shí),信號(hào)是通過(guò)基本函數(shù)發(fā)生器.Vi來(lái)實(shí)現(xiàn)不同信號(hào)的調(diào)用,能夠?qū)ζ鋮?shù)進(jìn)行調(diào)節(jié),例如信號(hào)的幅值、類型、頻率以及占空比等信息,形成實(shí)驗(yàn)中所需的波形。
圖4 接線端子以及波形發(fā)生函數(shù)
在虛擬框圖中顯示出的虛擬信號(hào)發(fā)生器的主要問(wèn)題是頻率的歸一化問(wèn)題。這個(gè)問(wèn)題主要是由于基于LabVIEW產(chǎn)生的全部仿真信號(hào)都是函數(shù)信號(hào),而在其內(nèi)層都是由數(shù)字頻率決定的,在調(diào)用的過(guò)程中往往調(diào)用數(shù)字頻率,因此就會(huì)產(chǎn)生調(diào)用問(wèn)題[5]。
數(shù)字頻率f為仿真信號(hào)的頻率fx和采樣頻率fs之比,f=fx/fs(即歸一化頻率)。采樣頻率的單位是采樣數(shù)的倒數(shù),模擬頻率的單位為周期的倒數(shù)HZ,因此上式f的單位為周期數(shù)/采樣數(shù)。
雙通道虛擬示波器應(yīng)具備模擬真實(shí)示波器的功能,它包含單雙通道輸出波形的顯示,多種觸發(fā)器極性的選擇;進(jìn)行水平分度和垂直分度調(diào)節(jié),可以清晰的顯示波形,圖5中列出了各個(gè)模塊之間的關(guān)系。
圖5 示波器各模塊之間的關(guān)系
圖6 示波器前面圖板
圖6為虛擬雙通道示波器的面板。在通道之間進(jìn)行選擇可以通過(guò)示波器前方的面板來(lái)實(shí)現(xiàn),設(shè)計(jì)中,可以利用示波器前面板實(shí)現(xiàn)通道A、B進(jìn)行單通道信號(hào)顯示或者使用A與B聯(lián)合進(jìn)行雙通道信號(hào)顯示;通過(guò)對(duì)源開(kāi)關(guān)的觸發(fā)以及觸發(fā)器的調(diào)節(jié),能夠?qū)崿F(xiàn)外觸發(fā)或者觸發(fā)通道B,而對(duì)觸發(fā)沿開(kāi)關(guān)的調(diào)節(jié)能夠設(shè)定正觸發(fā)或者負(fù)觸發(fā),實(shí)現(xiàn)電平的觸發(fā);使用定位調(diào)節(jié)的開(kāi)關(guān)能夠調(diào)節(jié)時(shí)間和幅值分度,使用此開(kāi)關(guān)能夠測(cè)試示波器中顯示波形的質(zhì)量,并且對(duì)波形進(jìn)行調(diào)節(jié);如果想終止該示波器的VI運(yùn)行,只需按下停止按鈕。
雙通道示波器的設(shè)計(jì)程序框圖如圖7。
下面簡(jiǎn)要的介紹下設(shè)計(jì)程序時(shí)應(yīng)該注意的問(wèn)題。
(1)數(shù)據(jù)的流向問(wèn)題
因程序使用數(shù)據(jù)流驅(qū)動(dòng)的LabVIEW進(jìn)行編程設(shè)計(jì),在整合程序中的每個(gè)模塊時(shí),要注意數(shù)據(jù)流的方向,尤其子面板窗口模塊,防止數(shù)據(jù)流向的紊亂[5]。因此,在編輯過(guò)程中,可以使用Sequence結(jié)構(gòu)實(shí)現(xiàn)對(duì)數(shù)據(jù)流向的控制功能,使其按照設(shè)計(jì)者的思路流動(dòng)。
(2)數(shù)據(jù)的耦合問(wèn)題和內(nèi)聚問(wèn)題
在編程的過(guò)程中,LabVIEW會(huì)出現(xiàn)模塊的內(nèi)聚以及耦合問(wèn)題,因此要遵循耦合性低且內(nèi)聚性高這一原則。特別是在使用循環(huán)結(jié)構(gòu)的時(shí)候,要時(shí)刻考慮到循環(huán)內(nèi)部的變量隨時(shí)可以被外部進(jìn)行調(diào)用,使用SubVI時(shí),不能對(duì)內(nèi)部的結(jié)構(gòu)和參數(shù)造成影響,更重視要對(duì)整個(gè)模塊的內(nèi)聚性和耦合性問(wèn)題[6]。
(3)系統(tǒng)調(diào)試問(wèn)題
使用的LabVIEW語(yǔ)言雖然功能很齊全,但是在調(diào)試的過(guò)程中或多或少會(huì)遇到錯(cuò)誤程序和代碼隱藏在程序內(nèi)部,造成系統(tǒng)調(diào)試出現(xiàn)問(wèn)題。在進(jìn)行程序開(kāi)發(fā)和調(diào)試的過(guò)程中一定要仔細(xì)的對(duì)每個(gè)環(huán)節(jié)進(jìn)行審查,將錯(cuò)誤扼殺在模塊的內(nèi)部,盡可能的減少程序的調(diào)試難度。
圖7 示波器程序框圖
通過(guò)一個(gè)通道選擇或者觸發(fā)源開(kāi)關(guān)的設(shè)定可以實(shí)現(xiàn)觸發(fā)源功能模塊,選取示波器波形觸發(fā)源波形,如圖8中程序框圖。在程序框圖的設(shè)計(jì)里使用了分支選擇結(jié)構(gòu)Case-Switch,若要進(jìn)行邏輯的連接和處理工作,只需將通道選擇開(kāi)關(guān)和觸發(fā)源開(kāi)關(guān)進(jìn)行連接便可實(shí)現(xiàn),然后將其結(jié)果作為選擇條件端的初始值,如果其結(jié)果為真,那么就會(huì)引發(fā)通道B的觸發(fā)[7]。
圖8 觸發(fā)源功能模塊程序框圖
利用子系統(tǒng)“通道A、B、AB.Vi”所創(chuàng)建的子模塊可以生成雙通道或者單通道,也可以實(shí)現(xiàn)通道的選擇等功能,如圖9所示。
圖9 選擇子VI前面板并且生成通道輸入信號(hào)
在圖10~12中,描述了子VI的選擇框圖和輸入通道的信號(hào)產(chǎn)生過(guò)程。在程序中,使用了分支選擇結(jié)構(gòu),該結(jié)構(gòu)的作用就是產(chǎn)生雙通道波形、A單通道波形和B單通道波形。在框圖的分支上,可通過(guò)改變?nèi)缯也ɑ蚍讲ǖ刃盘?hào)生成函數(shù)的數(shù)值來(lái)獲取信號(hào),再把該信號(hào)通過(guò)函數(shù)White Noise.vi疊加不同幅值的白噪聲,而后生成信號(hào),最后送入到觸發(fā)器VI得到輸出波形。
圖10 通道輸入信號(hào)生成和選擇VI(A&B)
圖11 通道輸入信號(hào)生成和選擇VI(B通道)
針對(duì)觸發(fā)器子VI的作用問(wèn)題,認(rèn)為其具有對(duì)輸入的信號(hào)具有選擇功能,當(dāng)然要通過(guò)對(duì)觸發(fā)源進(jìn)行設(shè)置,選擇后再將信號(hào)結(jié)果進(jìn)行輸出,在圖13中有所顯示。
圖12 通道輸入信號(hào)生成和選擇VI(A通道)
圖13 觸發(fā)器SubVI前面板
在圖14中顯示了觸發(fā)器的程序框圖。圖中利用一個(gè)分支選擇結(jié)構(gòu),此結(jié)構(gòu)的條件端子輸入值由觸發(fā)源選擇開(kāi)關(guān)提供,若B通道引發(fā)觸發(fā)開(kāi)關(guān),則可以輸入一個(gè)可以觸發(fā)電平.VI的一個(gè)序列號(hào)Index信號(hào);若是由EXT外觸發(fā)充當(dāng)觸發(fā)源,那么觸發(fā)器VI可以作為一個(gè)直接的觸發(fā)器進(jìn)行信號(hào)的輸出。在框圖中還有一個(gè)子函數(shù)集合Array Subset,其具有當(dāng)前的輸入數(shù)組中將起始長(zhǎng)度的為L(zhǎng)ength的數(shù)組返回到輸入的數(shù)組功能,該函數(shù)的位置在Array下的子模板位置[8]。
圖14 觸發(fā)器SubVI程序框圖
圖15 觸發(fā)電平SubVI前面板
圖16 觸發(fā)電平SubVI的程序框圖
觸發(fā)電平子VI的作用是將傳輸來(lái)的信號(hào)同觸發(fā)平臺(tái)中的信號(hào)進(jìn)行分析和對(duì)比,然后輸出序列號(hào)index。在圖15中顯示了觸發(fā)電平VI的控制面板。此前面板上控件如下: Level——輸入觸發(fā)電平、Array——輸入矩陣、Direction——觸發(fā)極性。
在圖16中列出了觸發(fā)電平子VI的程序系列圖,在對(duì)該程序進(jìn)行設(shè)計(jì)時(shí),首先將輸入信號(hào)以矩陣的形式形成數(shù)值以及索引數(shù)組,然后通過(guò)While循環(huán)實(shí)現(xiàn)level觸發(fā)電平的判斷標(biāo)準(zhǔn),然后對(duì)其范圍進(jìn)行判定,并且將函數(shù)In Range and Coerce進(jìn)行強(qiáng)制轉(zhuǎn)化[9]。這個(gè)結(jié)果將作為分支結(jié)構(gòu)的選擇條件初始輸入值,進(jìn)行索引矩陣和對(duì)應(yīng)信號(hào)矩陣進(jìn)行判斷后將索引值輸出。
圖17 水平分度調(diào)節(jié)處理模塊程序框圖
圖18 豎直幅值分度調(diào)節(jié)處理模塊程序框圖
在圖18中的豎直幅值分度模塊使用了分支選擇結(jié)構(gòu),其分支判斷條件的輸入值就是幅值分度數(shù)值。根據(jù)該值的不同,把兩路信號(hào)中幅值分度的兩個(gè)極值相捆綁形成一個(gè)簇,將該簇作為豎直分度范圍的設(shè)定值。
圖19 信息顯示處理模塊程序框圖
圖20 輸入輸出模塊
在圖19中,是信息顯示模塊的程序圖。在對(duì)該圖進(jìn)行設(shè)計(jì)時(shí),采用了分支選擇結(jié)構(gòu),并且把其分支選擇結(jié)構(gòu)中的選擇項(xiàng)的輸入值作為面板信息邏輯顯示開(kāi)關(guān)的設(shè)定值。最后以Cetinfo.Vi的路徑進(jìn)行輸入。
通道選擇模塊的功能是控制示波器面板上顯示器中的波形,使其單通道顯示或者雙通道同步顯示。在該程序的圖框中,同樣使用了分支選擇結(jié)構(gòu),通道選擇開(kāi)關(guān)在前端作為分支判斷結(jié)構(gòu)的輸入值。觸發(fā)極性、觸發(fā)電源的電平和采樣點(diǎn)數(shù)都將作為選擇標(biāo)準(zhǔn),對(duì)雙路信號(hào)進(jìn)行控制匹配,最后就將生成波形送至顯示器中顯示[10]。
在圖17中列出了水平分度調(diào)節(jié)功能模塊,它是將示波器中顯示的波形進(jìn)行水平分度上的調(diào)節(jié),以顯示整周期的波形。在該程序的圖框中,使用了分支選擇結(jié)構(gòu),其分支判斷條件的輸入值就是前面板上對(duì)水平分度旋鈕的設(shè)置。然后設(shè)置捆綁成簇,在將該簇作為水平分度在顯示器屬性中的設(shè)定值[10]。
圖20所示,在示波器的輸入和輸出部分的設(shè)計(jì)中,使用了平鋪式結(jié)構(gòu),將觸發(fā)源、觸發(fā)電平和觸發(fā)極性的屬性節(jié)點(diǎn)建立在輸入框圖中的輸出端和輸入端。在對(duì)程序進(jìn)行初始化時(shí),觸發(fā)源調(diào)節(jié)其后程序的輸出。在程序結(jié)束時(shí),使用結(jié)束控件完成程序的終止。
依據(jù)電工電子實(shí)驗(yàn)課程的教學(xué)要求,采用LabVIEW作為程序開(kāi)發(fā)工具,對(duì)虛擬儀器程序的特征和構(gòu)成進(jìn)行了詳細(xì)的研究與設(shè)計(jì),分析了其工作的原理、設(shè)計(jì)流程、儀器面板、儀器各模塊程序框圖,完成了虛擬信號(hào)發(fā)生器、虛擬示波器的程序設(shè)計(jì),以期通過(guò)借助硬件數(shù)據(jù)采集設(shè)備應(yīng)用到電工電子實(shí)驗(yàn)教學(xué)中。
參考文獻(xiàn):
[1] 許晨.電工電子虛擬實(shí)驗(yàn)平臺(tái)的設(shè)計(jì)[J].宿州教育學(xué)院學(xué)報(bào),2013,(06):95-97.
[2] 劉素貞,饒諾歆,李華,等.基于虛擬儀器技術(shù)的電工電子實(shí)驗(yàn)平臺(tái)設(shè)計(jì)[J],實(shí)驗(yàn)技術(shù)玉管理,2016,(12):101-103.
[3] 劉新艷.虛擬電工電子實(shí)驗(yàn)室的設(shè)計(jì)與實(shí)現(xiàn)[D].成都:電子科技大學(xué),2014.06.
[4] 鐘敏靜.基于LabVIEW的虛擬實(shí)驗(yàn)平臺(tái)設(shè)計(jì)[J].科技視界.2016(02):65-67.
[5] 張文正.基于LabVIEW的虛擬儀器技術(shù)在機(jī)械電子綜合實(shí)驗(yàn)中應(yīng)用[J].內(nèi)江師范學(xué)院學(xué)報(bào)(自然科學(xué)版).2016(06) :85-86.
[6] 喬月鳳,范春鳳,劉瑞翔.基于LabVIEW的虛擬實(shí)驗(yàn)教學(xué)系統(tǒng)設(shè)計(jì)[J].實(shí)驗(yàn)科學(xué)與技術(shù).2015.(04):131-132.
[7] 蔡鍔,孫林.基于Labview的網(wǎng)絡(luò)化虛擬儀器實(shí)驗(yàn)系統(tǒng)開(kāi)發(fā)[J].科教導(dǎo)刊(中旬刊).2015.(08):156.
[8] 穆春林.基于虛擬儀器的電子實(shí)驗(yàn)系統(tǒng)研究與設(shè)計(jì)[D].南京:南京理工大學(xué),2015.06.
[9] 馬坤.虛擬儀器在測(cè)控技術(shù)與儀器專業(yè)教學(xué)的應(yīng)用[J].中國(guó)新通信.2016.(10) :77-79.
[10] 蒲永紅,陸善婷,陳揚(yáng),等.基于LabVIEW的虛擬電工技術(shù)實(shí)驗(yàn)平臺(tái)設(shè)計(jì)[J].上海工程技術(shù)大學(xué)學(xué)報(bào).2017(03):229-232.