楊志強(qiáng)
(青海師范大學(xué) 計算機(jī)學(xué)院,青海 西寧 810008)
計算機(jī)科學(xué)和微電子技術(shù)的迅速發(fā)展和普及,電子產(chǎn)品的更新?lián)Q代越來越快,傳統(tǒng)的實驗是基于實驗室的物理環(huán)境來進(jìn)行的。首先,受實驗場地、實驗條件、實驗經(jīng)費、實驗時間等限制,難以保證實驗效率和時間;其次,電路設(shè)計越來越復(fù)雜,設(shè)計階段根據(jù)新的計算方法要求不斷更新,產(chǎn)品形成后難以升級,滿足不了科研人員的要求,給科研工作帶來額外的科研成本[1]。由計算機(jī)、應(yīng)用軟件和儀器硬件構(gòu)成的虛擬儀器具有靈活、經(jīng)濟(jì)、高效、功能強(qiáng)、技術(shù)新等特點,已得到廣泛應(yīng)用[2]。常用的儀器開發(fā)軟件有 VB、VC、Del-phi、LabVIEW、LabWindows/CVI、VEE 等,其中,Lab Windows/CVI是為熟悉C語言的開發(fā)人員準(zhǔn)備的、在Windows環(huán)境下的標(biāo)準(zhǔn)ANSIC開發(fā)環(huán)境。而LabVIEW是目前惟一的編譯型圖形化編程語言,界面友好、編程方便、功能強(qiáng)大,成為虛擬儀器系統(tǒng)開發(fā)應(yīng)用最為廣泛。
LabVIEW(Laboratory Virtual instrument Engineering)是美國國家儀器公司(National Instruments,簡稱 NI)開發(fā)研制,專門用于虛擬儀器開發(fā)的圖形化軟件編程平臺,也是目前應(yīng)用最廣、發(fā)展最快、功能最強(qiáng)的圖形化軟件集成開發(fā)環(huán)境,用圖標(biāo)代替文本行創(chuàng)建應(yīng)用程序的圖形化編程語言,能夠?qū)崿F(xiàn)標(biāo)準(zhǔn)的數(shù)據(jù)采集和儀器控制功能[3-4]。LabVIEW集成了與滿足GPIB、VXI、RS-232和RS-485協(xié)議的硬件及數(shù)據(jù)采集卡通訊的全部功能。它還內(nèi)置了便于應(yīng)用TCP/IP、ActiveX等軟件標(biāo)準(zhǔn)的庫函數(shù)。這是一個功能強(qiáng)大且靈活的軟件。目前最新版本為LabVIEW 2012。其特點是擺脫繁雜的代碼。利用軟件提供的各種新工具和資源,包括模板和范例項目、在線自學(xué)培訓(xùn)、更高的穩(wěn)定性等,助您完成高質(zhì)量測量或控制應(yīng)用,意味著用戶可快速進(jìn)行大膽創(chuàng)新,在提高效率的同時仍可開發(fā)出高品質(zhì)的可靠解決方案。
LabVIEW是一種圖形化的編程語言。圖形化的源代碼,又稱為G(Graphics)代碼。LabVIEW的圖形化源代碼在某種程度上類似于數(shù)據(jù)流流程圖,即程序框圖代碼[5-6]。使用這種語言編程時,基本上不寫程序代碼,取而代之的是標(biāo)準(zhǔn)流程圖和圖形化程序圖。它盡可能利用了技術(shù)人員、科學(xué)家、工程師所熟悉的術(shù)語、圖標(biāo)和概念,因此,LabVIEW是一個面向最終用戶的工具。它可以增強(qiáng)你構(gòu)建自己的科學(xué)和工程系統(tǒng)的能力,提供了實現(xiàn)儀器編程和數(shù)據(jù)采集系統(tǒng)的便捷途徑。使用它進(jìn)行原理研究、設(shè)計、測試并實現(xiàn)儀器系統(tǒng)時,可以大大提高工作效率,加快開發(fā)速度。
1)用LabVIEW開發(fā)平臺編制的程序稱為虛擬儀器程序(VI), 它包括前面板 (front panel)、 源代碼的數(shù)據(jù)流程圖(block diagram)以及圖標(biāo)/連結(jié)器(icon/connector)三部分。 用戶只需將各個圖標(biāo)連在一起創(chuàng)建各種流程圖表,即可完成虛擬儀器程序的開發(fā)[7]。
2)LabVIEW內(nèi)建了600多個分析函數(shù),功能十分強(qiáng)大。通過圖形化的編程環(huán)境和操作界面,完成對待測對象的信號調(diào)理、過程控制,數(shù)據(jù)采集、數(shù)組、文件處理、波形處理、信號處理、數(shù)據(jù)表達(dá)、數(shù)學(xué)運(yùn)算、分析、顯示和存儲,故障診斷以及網(wǎng)絡(luò)通信等功能。
3)LabVIEW還提供了專門用于程序開發(fā)的工具箱,使得用戶能夠設(shè)置斷點又可以設(shè)置探針,可在程序運(yùn)行中觀察數(shù)據(jù)流的變化,以方便進(jìn)行調(diào)試。
4)通過 DLL、CIN 節(jié)點、ActiveX、.NET 或 MATLAB 腳本節(jié)點技術(shù),用戶在LabVIEW平臺上能調(diào)用其他軟件平臺編譯的模塊,提供對對象鏈接和嵌入(簡稱OLE)技術(shù)的支持,實現(xiàn)與其他編程語言混合編程,成為一個完全開放式的開發(fā)平臺。
5)LabVIEW還直接支持動態(tài)數(shù)據(jù)交換(DDE)、結(jié)構(gòu)化查詢語言(SQL)、TCP和UDP網(wǎng)絡(luò)協(xié)議等。
6)LabVIEW提供大量的驅(qū)動與專用工具,幾乎能與任何接口的硬件輕松連接。
溫度監(jiān)測儀可監(jiān)測人體體溫、爐溫、土壤溫度、糧倉溫度等。根據(jù)需求可設(shè)定上、下線,溫度超過上限報警值、低于下限報警值、超出上限與下限設(shè)定的區(qū)間報警值,并輸出開關(guān)量信號,可以控制加溫或通風(fēng)換氣設(shè)備。采用先進(jìn)的微處理器進(jìn)行智能控制,適用于溫度、濕度、壓力、液位、瞬時流量、速度等多種物理量檢測信號的顯示控制,可巡回檢測多路測量信號。
2.2.1 創(chuàng)建前面板
前面板是VI的交互式用戶接口,直接面向用戶,包含旋鈕、刻度盤、開關(guān)、圖表、圖形和其他界面工具,允許用戶通過鍵盤或鼠標(biāo)獲取數(shù)據(jù)顯示結(jié)果。用于輸入量控制和輸出量的顯示,輸入數(shù)值和觀察輸出量。設(shè)計這部分時,主要考慮界面美觀、操作簡潔,用戶能通過面板上的各種按鈕、開關(guān)等來控制。
溫度監(jiān)測儀前面板設(shè)置,選擇 “控件|新式|圖形|波形圖表”,作為溫度的顯示器。選中該控件,單擊鼠標(biāo)右鍵,對其屬性進(jìn)行設(shè)置,如根據(jù)被顯示的文字工具,顯示器橫(時間)、縱(溫度)坐標(biāo)的刻度重新設(shè)置。用于顯示溫度波形圖。選擇“控件|新式|數(shù)值|數(shù)值顯示控件”,顯示溫度數(shù)值。選擇“控件|新式|布爾|圓形指示燈”,用于報警。 選擇“控件|新式|布爾|停止按鈕”,終止程序運(yùn)行。前面板設(shè)置如圖1所示。
2.2.2 編輯程序框圖
每一個程序的前面板都對應(yīng)著一段程序框圖,程序框圖用LabVIEW圖形編程語言編寫,可以把它理解成傳統(tǒng)程序的源代碼。流程圖中包括前面板上的控件的連線端子,還有一些前面板上沒有,但編程必須需要的如函數(shù)、結(jié)構(gòu)和連線等。在程序框圖窗口放置節(jié)點、圖標(biāo)等,按照一定原則使用連線工具將端口、節(jié)點、圖標(biāo)依次相連。其中端口被用來實現(xiàn)程序前面板的控制和顯示傳遞數(shù)據(jù),節(jié)點被用來實現(xiàn)函數(shù)和功能調(diào)用,圖框被用來實現(xiàn)結(jié)構(gòu)化程序控制命令,而連線代表程序執(zhí)行過程中的數(shù)據(jù)流,定義框圖內(nèi)的數(shù)據(jù)流動方向,實現(xiàn)數(shù)據(jù)從源頭到目的終點的流向。溫度監(jiān)測儀程序框圖如圖2所示。

圖1 前面板Fig.1 Front panel

圖2 程序框圖Fig.2 Program diagram
2.2.3 運(yùn)行調(diào)試
單擊前面板窗口運(yùn)行按鈕(Run),運(yùn)行VI程序,在前面板波形圖表中可實時顯示溫度曲線圖,溫度值控件中顯示溫度值,當(dāng)溫度高于設(shè)置值(39攝氏度)時,報警燈亮,單擊停止按鈕可終止程序運(yùn)行。一邊修改程序框圖中的參數(shù)一邊運(yùn)行程序,直至得到最佳的實驗結(jié)果。
采用溫度傳感器和數(shù)據(jù)采集(DAQ)卡等把設(shè)計的溫度檢測儀轉(zhuǎn)為實際的產(chǎn)品。溫度傳感器采集數(shù)據(jù),數(shù)據(jù)采集卡將采集到并經(jīng)處理的電信號轉(zhuǎn)換成數(shù)字信號送入計算機(jī)系統(tǒng)。采集到的信號在PC機(jī)中利用LabVIEW平臺上編寫的程序,對信號進(jìn)行分析和顯示。一般數(shù)據(jù)采集卡的功能有模擬輸入、模擬輸出、數(shù)字、計數(shù)器/定時器操作等,這些功能分別由相應(yīng)的電路模塊來實現(xiàn)。如果需要進(jìn)行數(shù)據(jù)的實時采集,那么就要選擇適當(dāng)?shù)臄?shù)據(jù)采集卡(DAQ)插入PC機(jī)插槽,通過相應(yīng)的驅(qū)動程序和硬件模塊連接便可以實現(xiàn)。設(shè)計流程如圖3所示。

圖3 設(shè)計流程Fig.3 Process of design
基于開放式的LabVIEW虛擬儀器開發(fā)平臺的虛擬測試技術(shù),在編程特性、圖形界面、擴(kuò)展功能、虛擬儀器技術(shù)等各方面作為數(shù)字邏輯電路設(shè)計具有很大的優(yōu)勢。通過溫度監(jiān)測儀的設(shè)計,進(jìn)行了研究和分析,能夠較準(zhǔn)確的完成了數(shù)據(jù)的采集、處理、顯示。證實了它具有良好的可設(shè)計性和可操作性。不但使測試工作更加簡便、快速,而且使測試更加直觀。因此,使用LabVIEW來設(shè)計數(shù)字邏輯電路,可以利用其強(qiáng)大的數(shù)據(jù)分析處理工具,靈活地加以各種智能算法進(jìn)行參數(shù)的自整定,并可顯示各種過程參數(shù)。使開發(fā)周期縮短,費用降低,測試速度、準(zhǔn)確度及可復(fù)用性提高,易于測量和調(diào)試,且更便于維護(hù)和擴(kuò)展。為數(shù)字電路設(shè)計和仿真、電器測量、數(shù)據(jù)采集與處理,提供了另一個高效易用的軟件平臺。
[1]程雪敏,仲蓁蓁.基于LabVIEW的虛擬儀器實驗教學(xué)系統(tǒng)的設(shè)計[J].廣西輕工業(yè),2010,10(10):90-91.
CHENG Xue-min,ZHONG Zhen-zhen.The design of virtual instrument experiment teaching system based on LabVIEW[J].Guangxi Light Industry,2010,10(10):90-91.
[2]田野,呂薔華,萬維龍.基于LabVIEW的虛擬儀器在《信號與系統(tǒng)》實驗教學(xué)中的應(yīng)用[J].哈爾濱師范大學(xué)自然科學(xué)學(xué)報,2005,6(6):50-52.
TIAN Ye,LV Qiang-hua,WAN Wei-long.The virtual instrument based on LabVIEW in 《Signal and System》applied in experimental teaching[J].Natural Science Journal of Harbin Normal University,2005,6(6):50-52.
[3]謝國善,熊鵬俊.基于LabVIEW的虛擬儀器設(shè)計研究[J].艦船電子工程,2010,10(10):126-128.
XIE Guo-shan,XIONG Peng-jun.The virtual instrument design and research based on LabVIEW[J].Ship Electronic Engineering,2010,10(10):126-128.
[4]張芳蘭,馬捷中.基于LabVIEW的虛擬儀器設(shè)計及遠(yuǎn)程測控[J].微處理機(jī),2008,2(1):144-146.
ZHANG Fang-lan,MA Jie-zhong.Design ofa virtual instrument design based on LabVIEW and remote control[J].the Microprocessor,2008,2(1):144-146.
[5]錢聲強(qiáng),王露.基于LabVIEW的數(shù)字電路課程遠(yuǎn)程實驗平臺開發(fā)[J].常州信息職業(yè)技術(shù)學(xué)院學(xué)報,2010,2(1):63-65.
QIAN Sheng-qiang,WANG Lu.Theremoteexperiment platform of digital circuit based on LabVIEW[J].Journal of Changzhou College of Information Technology,2010,2 (1):63-65.
[6]李海瀾,劉源.一種基于Labview的虛擬儀器測試分析系統(tǒng)[J].山西電子技術(shù),2007,5(5):23-24.
LI Hai-lan,LIU Yuan.A virtual instrument test analysis system based on LabVIEW[J].Shanxi Electronic Technology,2007,5(5):23-24.
[7]陳錫輝,張銀鴻.LabVIEW8.20程序設(shè)計從入門到精通[M].北京:清華大學(xué)出版社,2007.
[8]林君,謝宣松.虛擬儀器原理及應(yīng)用[M].北京:科學(xué)出版社,2006.