LebVIEW入門
1.? 1.簡(jiǎn)介
LabVIEW是一種功能強(qiáng)大而又復(fù)雜的鞭策和功能環(huán)境,能夠通過圖形編程語(yǔ)言來(lái)開發(fā)數(shù)據(jù)采集、信號(hào)分析及儀器控制領(lǐng)域的虛擬儀器應(yīng)用程序。
LabVIEW是一種圖形化的編程語(yǔ)言的開發(fā)環(huán)境,它廣泛地被工業(yè)界、學(xué)術(shù)界和研究實(shí)驗(yàn)室所接受,被視為一個(gè)標(biāo)準(zhǔn)的數(shù)據(jù)采集和儀器控制軟件。LabVIEW 集成了與滿足 GPIB、VXI、RS-232和 RS-485 協(xié)議的硬件及數(shù)據(jù)采集卡通訊的全部功能。它還內(nèi)置了便于應(yīng)用TCP/IP、ActiveX等軟件標(biāo)準(zhǔn)的庫(kù)函數(shù)。利用它可以方便地建立自己的虛擬儀器,其圖形化的界面使得編程及使用過程都生動(dòng)有趣。圖形化的程序語(yǔ)言,又稱為“G”語(yǔ)言。使用這種語(yǔ)言編程時(shí),基本上不寫程序代碼,取而代之的是程序圖或框圖。它盡可能利用了技術(shù)人員、科學(xué)家、工程師所熟悉的術(shù)語(yǔ)、圖標(biāo)和概念,因此LabVIEW 是一個(gè)面向最終用戶的工具。它可以增強(qiáng)你構(gòu)建自己的科學(xué)和工程系統(tǒng)的能力,提供了實(shí)現(xiàn)儀器編程和數(shù)據(jù)采集系統(tǒng)的便捷途徑。使用它進(jìn)行原理研究、設(shè)計(jì)、測(cè)試并實(shí)現(xiàn)儀器系統(tǒng)時(shí),可以大大提高工作效率。利用LabVIEW,可產(chǎn)生獨(dú)立運(yùn)行的可執(zhí)行文件,它是一個(gè)真正的32位/64位編譯器。
LabVIEW具有開發(fā)編程環(huán)境直觀圖形化、測(cè)控相關(guān)控件和處理函數(shù)豐富、前面板空間風(fēng)格多樣、界面設(shè)計(jì)簡(jiǎn)潔、具有直觀的數(shù)據(jù)流編程方式及無(wú)需學(xué)習(xí)文本編程語(yǔ)法規(guī)則。
2.?? 2.軟件界面
2.1 啟動(dòng)界面
? ? ? ? ? ? ? ? ? ?

? ? ? ? ? ? ? ? ? ? ? ? ?
圖 1 LabVIEW啟動(dòng)界面
LabVIEW的啟動(dòng)界面如圖 1所示,可以選擇創(chuàng)建新項(xiàng)目或打開現(xiàn)有項(xiàng)目。
選擇創(chuàng)建項(xiàng)目后,有預(yù)設(shè)好的各種模板可供選擇。如果單純練習(xí)編程可以直接創(chuàng)建VI,但要實(shí)現(xiàn)復(fù)雜點(diǎn)的功能,單個(gè)VI是不夠用的,就需要?jiǎng)?chuàng)建項(xiàng)目。

圖 2 選擇文件模板

圖 3 項(xiàng)目瀏覽器
創(chuàng)建完成新項(xiàng)目后,會(huì)彈出項(xiàng)目瀏覽器界面,里面包含了項(xiàng)目中所有VI文件和其他的文件設(shè)置。之后,選擇文件-新建VI來(lái)創(chuàng)建一個(gè)空白程序文件。
VI,是Virtual Instrument的縮寫,意為虛擬儀器。在VI文件中進(jìn)行編程相當(dāng)于通過LabVIEW開發(fā)一臺(tái)虛擬的儀器,通過我們編寫的代碼與前面板的控件相配合,來(lái)實(shí)現(xiàn)各種儀器的功能。
新建VI后彈出兩個(gè)窗口,分別是前面板和程序框圖。
前面板是LabVIEW的重要組成部分,是圖形用戶界面,該界面上有用戶輸入控制和輸出顯示兩類對(duì)象,用于模擬真實(shí)儀表的前面板??刂坪惋@示是以各種各樣的圖標(biāo)形式出現(xiàn)在前面板中,具體以旋鈕、開關(guān)、圖形、圖標(biāo)以及其他控制和顯示對(duì)象等;
程序框圖又稱代碼窗口或流程圖,是VI圖形化的源程序,是VI的核心。在程序框圖中對(duì)VI編程,以控制和操縱定義在前面板上的輸入和輸出等功能。程序框圖中包含前面板上控制量和顯示量的接線端子,還有在前面板上沒有但編程必須有的元素,如函數(shù)、結(jié)構(gòu)和連線等。在前面板工具欄中可以通過選擇“窗口”—“顯示程序框圖”命令打開程序框圖,也可以使用快捷鍵Ctrl+E來(lái)完成。

圖 4 VI文件編程界面
3.?? 3.程序結(jié)構(gòu)
3.1 順序結(jié)構(gòu)
順序結(jié)構(gòu)會(huì)按順序執(zhí)行子框圖,由于每個(gè)子框圖連接起來(lái)像一幀幀的電影膠片,因此被叫做幀。LabVIEW中提供了兩種順序結(jié)構(gòu)平鋪式順序結(jié)構(gòu)和層疊式順序結(jié)構(gòu)。平鋪式順序結(jié)構(gòu)如圖 5所示,首先在第一幀進(jìn)行加法運(yùn)算,然后在第二幀進(jìn)行乘法運(yùn)算,第一幀的加法函數(shù)輸出端可以直接連接到第二幀的乘法函數(shù)的輸入端。層疊式順序結(jié)構(gòu)與平鋪式順序結(jié)構(gòu)不同的是,層疊式循序結(jié)構(gòu)各個(gè)幀之間的數(shù)據(jù)通過順序局部變量進(jìn)行傳遞的,如需節(jié)省框圖空間可使用層疊式順序結(jié)構(gòu)。
?

圖 5 LabVIEW兩種順序結(jié)構(gòu)
3.2 循環(huán)結(jié)構(gòu)
LabVIEW中存在兩種循環(huán)結(jié)構(gòu):for循環(huán)和while循環(huán)。for循環(huán)預(yù)先指定了循環(huán)次數(shù),會(huì)執(zhí)行指定次數(shù)的重復(fù)操作;而while循環(huán)會(huì)一直執(zhí)行,直到輸入條件變?yōu)镕alse為止。
圖 6 for循環(huán)
for循環(huán)將子框圖中的代碼執(zhí)行N次,N為計(jì)數(shù)端子的輸入值,如圖 6所示。在for循環(huán)中有兩個(gè)端子:計(jì)數(shù)端子(輸入端子)和重復(fù)端子(輸出端子)。通過從循環(huán)外連接一個(gè)數(shù)值到計(jì)數(shù)端子,可以設(shè)置循環(huán)次數(shù)(計(jì)數(shù)值)。重復(fù)端子包含了已執(zhí)行循環(huán)的次數(shù),從0開始計(jì)數(shù),即0為第1次重復(fù),N-1為第N次重復(fù)。
圖 7 while循環(huán)
如圖 7所示,while循環(huán)會(huì)重復(fù)執(zhí)行子框圖中的代碼知道滿足某種條件為止。while循環(huán)中有兩個(gè)端子:條件端子(輸入端子)和重復(fù)端子(輸出端子)。while循環(huán)的重復(fù)端子的作用和for循環(huán)重復(fù)端子是一樣的,用來(lái)輸出已執(zhí)行循環(huán)的次數(shù)。條件段子的輸入是布爾變量:True或False。當(dāng)布爾值為False時(shí),while循環(huán)停止執(zhí)行。
下面將通過循環(huán)顯示隨機(jī)數(shù)來(lái)展現(xiàn)for循環(huán)和while循環(huán)的用法。
3.3 for循環(huán)示例
首先,通過for循環(huán)來(lái)實(shí)現(xiàn)循環(huán)顯示隨機(jī)數(shù),如圖 8所示,其VI程序構(gòu)建步驟如下:
(1)在框圖上放置隨機(jī)數(shù)函數(shù),并為隨機(jī)數(shù)函數(shù)創(chuàng)建指示器并設(shè)置標(biāo)簽;
(2)在框圖上放置for循環(huán)并包圍隨機(jī)數(shù)函數(shù);
(3)從計(jì)數(shù)端子彈出菜單,創(chuàng)建循環(huán)常數(shù),設(shè)置為100,讓循環(huán)執(zhí)行100次;
(4)在重復(fù)端子出創(chuàng)建指示器并設(shè)置標(biāo)簽;
(5)調(diào)試并運(yùn)行程序;
(6)在前面板上能夠看到循環(huán)計(jì)數(shù)從0增加到99(循環(huán)100次),而每次重復(fù)都會(huì)顯示一個(gè)0-10的隨機(jī)數(shù)。
圖 8 使用for循環(huán)顯示隨機(jī)數(shù)
3.3 while循環(huán)示例
通過while循環(huán)實(shí)現(xiàn)隨機(jī)數(shù)顯示如圖 9所示,其VI程序構(gòu)建步驟如下:
(1)在框圖上放置隨機(jī)數(shù)函數(shù),并為隨機(jī)數(shù)函數(shù)創(chuàng)建指示器并設(shè)置標(biāo)簽;
(2)在框圖上放置while循環(huán)并包圍隨機(jī)數(shù)函數(shù);
(3)從計(jì)數(shù)端子彈出菜單,為條條件端子創(chuàng)建控件,框圖上會(huì)出現(xiàn)布爾變量,同時(shí)前面板上將出現(xiàn)開關(guān)按鈕。在程序運(yùn)行時(shí),開關(guān)按鈕用于停止while循環(huán)
(4)在重復(fù)端子出創(chuàng)建指示器并設(shè)置標(biāo)簽;
(5)調(diào)試并運(yùn)行程序;
(6)在前面板上能夠看到循環(huán)計(jì)數(shù)持續(xù)增加,直至按下開關(guān)按鈕,顯示為“OFF”,此時(shí)條件段子變?yōu)镕alse,while循環(huán)停止。
圖 9 使用while循環(huán)顯示隨機(jī)數(shù)
?