- 虛擬儀器應(yīng)用(第2版)
- 劉科 宋秦中
- 11710字
- 2020-05-28 17:56:41
第1篇 LabVIEW基本使用
項(xiàng)目1 認(rèn)識LabVIEW
1.1 任務(wù)1 認(rèn)識虛擬儀器
1.1.1 虛擬儀器簡介
在了解什么是虛擬儀器(Virtual Instrumentation,VI)之前,這里先簡單回顧一下儀器技術(shù)的演進(jìn)歷程。在測試、測量領(lǐng)域,儀器經(jīng)歷了與電話類似的發(fā)展過程。它們或者被植入CPU、內(nèi)存中,安裝上軟件,具備了計(jì)算機(jī)的基本功能;或者被拆解開來,取其核心部件插入到計(jì)算機(jī)中去,使計(jì)算機(jī)具備測試功能。這兩種發(fā)展方向都使得儀器的功能更強(qiáng)大,速度更快,而其區(qū)別之處在于,把儀器移植到計(jì)算機(jī)中,更多考慮的是降低成本;而把計(jì)算機(jī)移植到儀器中,則更多的是為了滿足儀器小型化的需要。
在計(jì)算機(jī)運(yùn)算能力強(qiáng)大到一定程度之后,以“虛擬”為前綴的各項(xiàng)技術(shù)開始紛紛出現(xiàn),比如虛擬現(xiàn)實(shí)、虛擬機(jī)和虛擬儀器等。虛擬現(xiàn)實(shí)是指用計(jì)算機(jī)表現(xiàn)真實(shí)世界;虛擬機(jī)是指在一臺計(jì)算機(jī)上模擬多臺計(jì)算機(jī);虛擬儀器是指在計(jì)算機(jī)上完成儀器的功能。虛擬儀器的概念最早由美國國家儀器公司(National Instrument,NI)提出,虛擬儀器是相對于傳統(tǒng)儀器來說的。在傳統(tǒng)的實(shí)驗(yàn)室里做各種物理/電子學(xué)實(shí)驗(yàn)時,常常用到萬用表、示波器等儀器,它們每臺儀器就是一個固定的方盒子,它們所有的測量功能都在這個盒子內(nèi)完成,這就是所謂的傳統(tǒng)儀器。而進(jìn)入到虛擬儀器時代,這種單一功能的方盒子開始逐漸被計(jì)算機(jī)所取代。
用戶看不到傳統(tǒng)儀器的方盒子的內(nèi)部,更無法改變其結(jié)構(gòu)。因此,一臺傳統(tǒng)儀器一旦離開生產(chǎn)線后,其功能和外觀就固定下來了。用戶只能利用一臺傳統(tǒng)儀器完成某個功能固定的測試任務(wù),一旦測試需求改變,就必須再次購買滿足新需求的儀器。而虛擬儀器技術(shù)就是利用高性能的模塊化硬件,結(jié)合高效靈活的軟件來完成各種測試、測量和自動化應(yīng)用的。靈活高效的軟件能幫助用戶創(chuàng)建完全自定義的用戶界面(傳統(tǒng)儀器的軟件通常被稱為固件,無法由用戶改變),模塊化的硬件能方便地提供全方位的系統(tǒng)集成(傳統(tǒng)儀器就是一個個單獨(dú)的盒子),標(biāo)準(zhǔn)的軟硬件平臺能滿足用戶對同步和定時應(yīng)用的需求(傳統(tǒng)儀器的平臺各個廠商各不相同)。
虛擬儀器技術(shù)除了基礎(chǔ)的信號采集部分,其他軟硬件全部采用通用的計(jì)算機(jī)軟硬件設(shè)備。這些通用的軟、硬件設(shè)備可以低廉的價(jià)格進(jìn)行升級,或者被使用者按自己意愿進(jìn)行配置。比如,在虛擬儀器上,用戶可以通過升級CPU來加快儀器的處理速度,可以自己編寫程序來改變儀器的測試功能和交互界面。圖1-1給出了傳統(tǒng)儀器與虛擬儀器之間的結(jié)構(gòu)對比。我們很容易在圖1-1b中找到虛擬儀器所獨(dú)有的靈活高效的軟件、模塊化的硬件以及標(biāo)準(zhǔn)的與通用PC相兼容的軟硬件平臺。

圖1-1 傳統(tǒng)儀器與虛擬儀器的結(jié)構(gòu)對比
a)傳統(tǒng)儀器 b)虛擬儀器
在后面的項(xiàng)目中將介紹如何構(gòu)建一個典型的虛擬儀器測控系統(tǒng),這里首先來認(rèn)識一個常常與“虛擬儀器”成對出現(xiàn)的名稱——LabVIEW。在很多情況下,LabVIEW容易和虛擬儀器混為一談,這里有必要著重指出,虛擬儀器技術(shù)依賴于靈活高效的軟件+模塊化的硬件+標(biāo)準(zhǔn)的軟硬件平臺,而LabVIEW是靈活高效軟件的最重要代表之一。
1.1.2 LabVIEW簡介
實(shí)驗(yàn)室虛擬儀器工程平臺(Laboratory Virtual Instrumentation Engineering Workbench,LabVIEW)是NI創(chuàng)立的一種功能強(qiáng)大而又靈活的儀器和分析軟件應(yīng)用開發(fā)工具,它是一種編程語言,與其他常見的編程語言相比,其最大的特點(diǎn)就是圖形化的編程環(huán)境。
常見的編程語言(如C語言等)都是文本式的編程語言。文本語言是抽象的,但是效率高,能用簡短的語言表達(dá)豐富的含義。而對于使用者而言,無疑需要花費(fèi)較長的時間和較多的精力去熟悉精通這些語言。
對于大多數(shù)的工程師,尤其是非精通軟件的工程師,他們的精力更多的是投入在所希望實(shí)現(xiàn)的功能上,而非編程語言的掌握上。NI提供的這樣一款圖形化的編程軟件,恰恰符合了這樣的需求。對于軟件初學(xué)者,LabVIEW只需要兩、三天便可以入門,工程師就可以運(yùn)用LabVIEW來實(shí)現(xiàn)很多簡單的功能。
LabVIEW不但在設(shè)計(jì)程序前界面部分使用了圖形化的方式,在程序代碼的編寫和功能實(shí)現(xiàn)上也使用了圖形化的方式。由于LabVIEW采用的是圖形化開發(fā)環(huán)境,所以也經(jīng)常會被稱為G語言(Graphical Programming Language)。LabVIEW不僅可以應(yīng)用于測控行業(yè),而且被廣泛地用于仿真、教育、快速開發(fā)、多硬件平臺的整合使用等方面。同時LabVIEW還支持實(shí)時操作系統(tǒng)和嵌入式系統(tǒng)(如FPGA等)。
1.2 任務(wù)2 認(rèn)識VI
1.2.1 VI簡介
VI有兩個含義,其一是虛擬儀器(Virtual Instrument)的縮寫(虛擬儀器是一門技術(shù),是基于計(jì)算機(jī)技術(shù),包含硬件和軟件兩大組成部分),另一個含義是LabVIEW程序。以往稱文本式編程語言所編寫的代碼為源代碼,稱使用LabVIEW編寫的代碼為VI,LabVIEW程序的擴(kuò)展名為.vi。簡單地講,“一個VI就是一個LabVIEW程序”。
與文本編程語言中所說的主函數(shù)、子函數(shù)類似,VI也有主VI和子VI,它們在編寫過程中沒有什么本質(zhì)差別,只是稱被調(diào)用的VI為子VI,而調(diào)用者即為主VI。
1.2.2 VI的組成
打開LabVIEW2011有兩種方式,可以通過用鼠標(biāo)雙擊桌面快捷方式,或者在開始菜單中運(yùn)行“National Instruments LabVIEW 2011 SP1”。LabVIEW 2011的啟動窗口如圖1-2所示。啟動界面的右邊是LabVIEW給用戶提供的豐富資源,下方有一個范例查找器,提供了豐富的例子,使用者可以查找其中的范例進(jìn)行相關(guān)的學(xué)習(xí)。也可以在菜單欄的“幫助”中打開范例查找器。啟動界面的左邊是用來創(chuàng)建、打開程序和項(xiàng)目的選項(xiàng)。

圖1-2 LabVIEW 2011的啟動窗口
1.新建VI
在LabVIEW中新建一個VI有多種方法。
1)在啟動窗口的左側(cè)選擇“新建”下的“VI”,就可以創(chuàng)建一個空白VI;選擇“基于模版的VI”,可用來創(chuàng)建一個基于模版的VI;選擇“更多”可以選擇其中更多的模版來創(chuàng)建基于模版的VI或者項(xiàng)目。
2)選擇“項(xiàng)目”就可以新建一個項(xiàng)目,彈出圖1-3所示的“項(xiàng)目瀏覽器”窗口。在圖中的“我的電腦”上用鼠標(biāo)右鍵單擊,從彈出的快捷菜單中選擇“新建”→“VI”,即可創(chuàng)建新的VI。

圖1-3 “項(xiàng)目瀏覽器”窗口
3)在前面板或者程序框圖的“文件”菜單中選擇“新建VI”。
新創(chuàng)建的VI窗口如圖1-4所示。從圖中看到,一個完整的VI包含3大組成部分,即前面板、程序框圖、圖標(biāo)/連線板。

圖1-4 新創(chuàng)建的VI窗口
LabVIEW的前面板和程序框圖的窗口與Windows下的其他軟件(比如Office)類似,最上面是標(biāo)題欄,標(biāo)題欄下面是菜單欄,接著是工具欄。工具欄下面是工作區(qū)域,用戶可以在這里編輯用戶界面或程序框圖。與其他軟件不同的是,在前面板和程序框圖窗口的右上角都有一個圖標(biāo)/連線板。前面板是圖形化用戶界面,相當(dāng)于實(shí)際儀器儀表的面板,而程序框圖用來定義該儀器儀表的功能,相當(dāng)于儀器儀表內(nèi)部的功能部件。
2.LabVIEW菜單欄
LabVIEW的菜單欄有兩種,一種是下拉菜單,另一種是快捷菜單。下拉菜單與其他軟件類似,不進(jìn)行詳細(xì)介紹。快捷菜單在控件、函數(shù)和連線等處單擊鼠標(biāo)右鍵時就會出現(xiàn)。LabVIEW有著豐富的右鍵功能,在后面的相關(guān)章節(jié)會詳細(xì)介紹。
(1)工具欄
1)前面板工具欄。
程序運(yùn)行鍵。若程序運(yùn)行鍵變?yōu)?img alt="" class="h-pic" src="https://epubservercos.yuewen.com/9C6059/16948916404923306/epubprivate/OEBPS/Images/978-7-111-58726-2-Part01-7.jpg?sign=1753249036-8nq8K9B3g1xsYdYIdGw3vKVj7RdA9TDp-0-b9fe683338092439fc7f492656f0771e">,則說明此時程序框圖中有錯誤。比如有斷線、對必需的端口未連接連線端子和子VI不能運(yùn)行等。
連續(xù)運(yùn)行鍵。連續(xù)運(yùn)行當(dāng)前程序。
中止執(zhí)行鍵。強(qiáng)制停止所運(yùn)行的程序,一般不推薦使用該按鍵停止運(yùn)行的程序,強(qiáng)制停止可能導(dǎo)致已占用的資源未完全釋放。
暫停鍵。在連續(xù)運(yùn)行時,用來暫停程序,如需繼續(xù)運(yùn)行,再單擊該按鍵即可。
文本設(shè)置鍵。修改當(dāng)前選中的文本的字體、大小和顏色等。
分別是對齊對象、分布對象和調(diào)整對象大小,用來排布當(dāng)前選中的控件的排列方式以及大小,如中心對齊、左對齊和右對齊等距排布控件,依據(jù)某控件大小修改所有選中控件的大小。
重新排序鍵。可用于鎖定控件或背景圖片以及置前或置后。
搜索鍵。用來查找需要幫助的內(nèi)容。
即時幫助鍵。用來打開和關(guān)閉即時幫助窗口。
2)程序框圖工具欄。程序框圖工具欄中相同圖標(biāo)與前面板功能相同,其中:
亮顯示鍵。調(diào)試程序單擊該按鈕,放慢程序運(yùn)行速度,查看經(jīng)過每個節(jié)點(diǎn)的數(shù)據(jù)是否正常。
保留連線值。單擊該按鈕,可以保留上一次運(yùn)行時每個數(shù)據(jù)線上的數(shù)據(jù),若使用探針(probe)查看,則可以看到之前一次的數(shù)據(jù)。
單步調(diào)試程序按鍵。
整理程序框圖連線。
以上所有的描述都可以在LabVIEW的幫助文檔中找到相關(guān)的說明。
(2)“工具”選板
“工具”選板是經(jīng)常使用的一個工具,如圖1-5所示,在前面板和程序框圖中都可以使用。如果該選板沒有出現(xiàn),則可以在菜單欄下選擇“查看”→“工具選板”命令來顯示,或者在空白處按<Shift>鍵+鼠標(biāo)右鍵。工具選板的默認(rèn)狀態(tài)是選擇上方的“自動工具選擇工具”和“選擇”,此時,“自動工具選擇工具”的指示燈亮,而箭頭形狀的“選擇工具”
處于選中狀態(tài)。在這種狀態(tài)下,當(dāng)光標(biāo)移動到某個對象上時,會根據(jù)這個對象與其他對象當(dāng)前的關(guān)系,自動選擇一種合適的工具。當(dāng)自動選擇工具不適合時,可以手動選擇需要的工具。在選擇了任一種工具后,鼠標(biāo)箭頭就會變成該工具相應(yīng)的形狀。“工具”選板中各工具的具體功能含義見表1-1。

圖1-5 “工具”選板
表1-1 “工具”選板中各工具的具體功能含義

當(dāng)需要對程序的前面板、控件、程序框圖和各種結(jié)構(gòu)修改顏色的時候,用戶可以選擇“工具”選板下方的“設(shè)置顏色”選項(xiàng),選擇自己所需顏色即可。需要注意的是選項(xiàng),是一個透明色的填充(Transparent)。
1.2.3 VI的前面板
前面板是圖形化的人機(jī)界面,用于設(shè)置輸入量和觀察輸出量,它模擬真實(shí)儀器的前面板。如同真實(shí)的儀器儀表一樣,要對它輸入?yún)?shù)并觀察測量結(jié)果。虛擬儀器在前面板也提供了實(shí)現(xiàn)這樣功能的控件。其中,輸入量被稱為Controller(輸入控件),用戶可以通過控件向VI中設(shè)置輸入?yún)?shù),如旋鈕、開關(guān)和按鈕等;輸出量被稱為Indicator(指示控件),如圖形、圖表和指示燈等,VI通過指示器向用戶提示狀態(tài)或輸出數(shù)據(jù)等信息。這些控件可以從“控件選板”中選擇。
打開控件選板有兩種方法,一是在菜單欄里選擇“查看”下的“控件選板”,或者用鼠標(biāo)右鍵單擊前面板空白處,都會出現(xiàn)圖1-6所示的“控件選板”對話框。

圖1-6 “控件選板”對話框
1.控件選板
控件選板默認(rèn)類別為“Express”面板。在選板的上端有“搜索”和“查看”兩個鍵,單擊“搜索”按鈕可以查找需要的控件。單擊“自定義”按鈕會出現(xiàn)下拉菜單,如圖1-7a所示。在菜單中可選擇查看“控件選板”的方式。

圖1-7 更改可見類別窗口
a)單擊“自定義”出現(xiàn)下拉菜單 b)“更改可見類別”對話框
選擇其中的“更改可見類別”,彈出圖1-7b所示“更改可見類別”的對話框,勾選里面的復(fù)選項(xiàng),單擊“確定”按鈕,回到控件選板,就會看到所有選中的類別。也可以單擊控件選板下端展開,看到所有類別選項(xiàng)。注意,控件選板可以通過拖動標(biāo)題欄移動到任意位置,控件選板的大小也可以通過拖動邊框和四角任意拉伸。
控件選板里的許多控件外觀都很形象,尤其“新式”子選板里面的控件,也比較美觀,這里重點(diǎn)介紹。在圖1-7中,單擊“自定義”按鈕,打開“更改可見類別”對話框,勾選“新式”選項(xiàng),單擊“確定”按鈕,回到控件選板。在控件選板中單擊“新式”按鈕,打開“新式控件”子選板,如圖1-8所示。新式控件子選板包含以下幾類控件。

圖1-8 “新式控件”子選板
1)數(shù)值:數(shù)值的輸入和顯示。包括數(shù)值控件、滑動桿、滾動條、旋鈕、儀表、溫度計(jì)和顏色盒等。
2)布爾:邏輯數(shù)值的控制和顯示。包含布爾開關(guān)、按鈕和指示燈等。
3)字符串與路徑:包含字符串、路徑的輸入和顯示控件。
4)數(shù)組、矩陣與簇:包含數(shù)組、矩陣與簇的輸入控件和顯示控件。
5)下拉列表與枚舉:包含下拉列表和枚舉兩類控件。
6)圖形:包含二維和三維圖形圖表以及圖片控件等,用于顯示數(shù)據(jù)結(jié)果的趨勢圖和曲線圖。
7)列表、表格:包含列表框、表格、樹形和Ex-press表格等控件。
8)容器:包含分隔欄、選項(xiàng)卡、子面板和容器等,用于組合控件,或在當(dāng)前VI的前面板上顯示另一個VI的前面板。
9)I/O:包含將所配置的DAQ通道名稱、VISA資源名稱和IVI邏輯名稱傳遞至I/OVI等的控件,與儀器或DAQ設(shè)備進(jìn)行通信。
10)引用句柄:包含用于對文件、目錄、設(shè)備和網(wǎng)絡(luò)連接等進(jìn)行的操作。
11)變體與類:包含變體和LabVIEW類,用來與變體和類數(shù)據(jù)進(jìn)行交互。
12)修飾:包含各種圖框、三角形、圓形等圖形以及線段等,用于修飾和定制前面板的圖形對象。
2.前面板的編輯
(1)放置對象
在前面板編輯人機(jī)交互界面,需要用到各種控件,比如輸入數(shù)據(jù)、數(shù)值顯示、波形顯示以及開關(guān)按鈕等。用鼠標(biāo)在控件選板上選擇需要的控件,將其拖放到前面板上,就可以設(shè)計(jì)前面板。
先在前面板上放置一些數(shù)值控件,即打開控件選板的“數(shù)值”子選板,選中“數(shù)值輸入”控件,將其拖放到前面板上,面板上會出現(xiàn)“數(shù)值”控件。把該控件的標(biāo)簽“數(shù)值”改為“數(shù)值輸入”。用同樣方法放置一個數(shù)值輸出控件,改名為數(shù)值輸出。拖動控件選板右側(cè)滾動條,找到旋鈕、溫度計(jì)、垂直刻度條和儀表等,拖放到前面板上。然后放布爾量,即打開控件選板的“布爾”子選板,選擇“垂直搖桿開關(guān)”和“方形指示燈”,將其拖放到前面板上。放置對象的界面如圖1-9所示。在菜單欄下打開“文件”下拉菜單,選擇“保存”,VI名稱為“前面板程序框圖編輯”,窗口的標(biāo)題欄內(nèi)容由“未命名.vi”變?yōu)椤扒懊姘宄绦蚩驁D編輯.vi”。

圖1-9 放置對象的界面
(2)調(diào)整對象
可以對圖1-9中對象的位置、大小和顏色等進(jìn)行修改。先把輸入控件拖放到左側(cè)、顯示控件拖放到右側(cè)。方法是將鼠標(biāo)移動到對象上,當(dāng)鼠標(biāo)圖標(biāo)變成箭頭時,按下左鍵,移動鼠標(biāo)到合適位置,然后釋放鼠標(biāo)。如果不整齊,就可以使用工具欄上的對齊對象和分布對象
鍵來調(diào)整。調(diào)整對象的窗口如圖1-10所示,選中要對齊的對象,然后單擊“對齊”按鈕選擇里面的對齊方式即可。在將對象移動對齊后的圖1-10中,分隔線左側(cè)為輸入控件,右側(cè)為顯示控件。

圖1-10 調(diào)整對象的窗口
改變對象的大小方法是,把鼠標(biāo)移動到對象上,對象的邊緣就會出現(xiàn)拖動句柄,將鼠標(biāo)移動到句柄上,單擊鼠標(biāo)就可以任意拖動到合適的大小。例如,把指示燈和旋鈕適當(dāng)拉大。
改變對象以及背景的顏色要用到工具選板。打開工具選板,單擊最下邊的“設(shè)置顏色”,可以進(jìn)行前景和背景顏色的修改,如圖1-11所示。然后選擇一個顏色,鼠標(biāo)變成毛筆形狀,單擊要修改對象即完成顏色修改,例如將旋鈕的顏色改為藍(lán)色。如果對顏色的修改不滿意,就可以在菜單欄打開“編輯”下拉菜單,取消該修改,其他修改也可以用同樣方法取消。

圖1-11 修改顏色
改變文字的顏色、大小字體和樣式要用到工具欄里面的“文本設(shè)置”鍵。修改文本如圖1-12所示。

圖1-12 修改文本
LabVIEW支持剪切板,可以對面板上的對象進(jìn)行復(fù)制粘貼,也可以把其他的圖片文本等復(fù)制粘貼到前面板上,還可以使用<Ctrl>+<C>(復(fù)制)、<Ctrl>+<V>(粘貼)組合鍵來完成。例如將“數(shù)值輸入”復(fù)制,粘貼后,出現(xiàn)新的數(shù)值輸入控件“數(shù)值輸入2”。要刪除對象,只需選中對象,然后按鍵盤上的<Delete>鍵即可。
(3)控件的快捷菜單和屬性修改
每個控件都有自己的屬性,在控件上單擊鼠標(biāo)右鍵就會出現(xiàn)快捷菜單。不同類型的控件快捷菜單不盡相同,如圖1-13所示,左側(cè)為“數(shù)值輸入”控件的快捷菜單,右側(cè)顯示控件為“儀表”的快捷菜單。在數(shù)值輸入控件的快捷菜單中,有一個“轉(zhuǎn)換為顯示控件”選項(xiàng);顯示控件的快捷菜單里有一個“轉(zhuǎn)換為輸入控件”選項(xiàng),可見輸入控件和顯示控件可以互相轉(zhuǎn)換。

圖1-13 不同類型的控件快捷菜單
在控件的快捷菜單中都有“屬性”選項(xiàng),在這個選項(xiàng)里面,可以進(jìn)行一些屬性設(shè)置。選中“屬性”選項(xiàng)會打開“屬性設(shè)置”對話框,進(jìn)行外觀、操作、數(shù)據(jù)綁定和快捷鍵等的設(shè)置。
對控件有些屬性的設(shè)置,也可以不打開屬性對話框,比如刻度范圍的修改。以水平指針滑桿為例,滑桿默認(rèn)刻度范圍為0~10,要修改成-20~100,只需單擊最小值處,輸入“-20”,單擊最大值處,輸入“100”即可。刻度范圍設(shè)置如圖1-14所示。旋鈕、儀表和溫度計(jì)等也可以依樣修改量程。

圖1-14 刻度范圍設(shè)置
1.2.4 VI的程序框圖
程序框圖是用來編寫VI邏輯功能的圖形化源代碼的。在前面板上放置的控件是程序的數(shù)據(jù)接口稱為Terminal(接線端子),而控件在程序框圖中會以Icon(圖標(biāo))的形式顯示。在圖1-15a所示Convert C to F.VI的前面板中,前面板有3個控件,分別是攝氏溫度℃的數(shù)值、華氏溫度F的數(shù)值以及溫度計(jì),在圖1-15b所示的程序框圖中有對應(yīng)這3個控件同名的端子。在程序框圖中看到控件圖示就是前面板上控件本身的樣子,這個是所謂的View As I-con(顯示為圖標(biāo))。在程序框圖中用鼠標(biāo)右鍵單擊任意一個接線端子,將彈出的快捷菜單中的“顯示為圖標(biāo)”勾選去掉,就可以將Terminal變?yōu)榭s小版本。

圖1-15 Convert C to F.VI的前面板和程序框圖
a)Convert C to F.VI的前面板 b)程序框圖
1.函數(shù)選板
除了與前面板控件對應(yīng)的接線端子外,程序框圖中還有函數(shù)(Function)、子VI(Sub VI)、常量(Constant)、結(jié)構(gòu)(Structure)和連線(Line)等。在圖1-15中有3個接線端子、兩個函數(shù)和兩個常量。
在LabVIEW的函數(shù)選板中包含了大量的結(jié)構(gòu)、數(shù)據(jù)類型、定時函數(shù)、數(shù)學(xué)算法、各個硬件驅(qū)動和已安裝的工具包等。在編程時可以選擇所需函數(shù),放置在窗口內(nèi),并用連線連接起來,以實(shí)現(xiàn)所需的功能。
打開函數(shù)選板有兩種方式,一是在程序框圖的菜單欄中單擊“查看”按鈕,在下拉菜單中選擇“函數(shù)選板”;另一種方式是在程序框圖的窗口內(nèi)空白處用鼠標(biāo)右鍵單擊。打開的“函數(shù)選板”對話框,如圖1-16所示。

圖1-16 “函數(shù)選板”對話框
函數(shù)選板也可以像控件選板一樣改變大小、位置和展開等。界面默認(rèn)為“編程”子選板。下面簡單介紹該選板,其他選板的內(nèi)容在相關(guān)章節(jié)中介紹。
1)結(jié)構(gòu)。包含程序控制結(jié)構(gòu)命令,提供循環(huán)、條件、順序結(jié)構(gòu)、公式節(jié)點(diǎn)、全局變量和結(jié)構(gòu)變量等編程要素。
2)數(shù)組。包含數(shù)組運(yùn)算函數(shù)、數(shù)組轉(zhuǎn)換函數(shù)和常數(shù)數(shù)組等。
3)簇、類與變體。包含簇的處理函數(shù)等。提供各種捆綁、解除捆綁、創(chuàng)建簇?cái)?shù)組、索引與捆綁簇?cái)?shù)組、簇和數(shù)組之間的轉(zhuǎn)換以及變體屬性設(shè)置等功能。
4)數(shù)值。數(shù)學(xué)運(yùn)算、標(biāo)準(zhǔn)數(shù)學(xué)函數(shù)、各種常量和數(shù)據(jù)類型變換以及各種數(shù)值常數(shù)等。
5)文件I/O。包含處理文件輸入/輸出的程序和函數(shù)。
6)布爾。包含各種布爾運(yùn)算函數(shù)、布爾常量等。
7)字符串。包含各種字符串操作函數(shù)、數(shù)值與字符串之間的轉(zhuǎn)換函數(shù)以及字符(串)常量數(shù)等。
8)比較。包含數(shù)字量、布爾量和字符串變量之間比較運(yùn)算功能的函數(shù)等。
9)定時。包含時間計(jì)數(shù)器、時間延遲、獲取時間日期和設(shè)置時間標(biāo)識常量等。
10)對話框與用戶界面。包含各種按鈕對話框、簡單錯誤處理、顏色盒常量、菜單、游標(biāo)和簡單的幫助信息等。
11)波形。包含創(chuàng)建波形、提取波形,數(shù)-模轉(zhuǎn)換和模-數(shù)轉(zhuǎn)換等處理工具。
12)應(yīng)用程序控制。包括動態(tài)調(diào)用VI、標(biāo)準(zhǔn)可執(zhí)行程序等功能的函數(shù)。
13)同步。包含提供通知器操作、隊(duì)列操作、信號量和首次調(diào)用等功能的工具。
14)圖形與聲音。包含聲音、圖形和圖片等功能模塊。
15)報(bào)表生成。包含提供生成各種報(bào)表和簡易打印VI前面板或說明信息等功能模塊。
2.程序框圖的編輯
1)在前面板切換到“程序框圖”的方法主要有:
①通過菜單欄的“窗口”下拉菜單選擇“顯示程序框圖”。
②使用<Ctrl>+<E>組合鍵,實(shí)現(xiàn)前面板與程序框圖之間的切換。
③選中前面板上的任意控件,雙擊鼠標(biāo)左鍵。
打開“前面板程序框圖編輯.vi”,切換到“程序框圖”窗口,如圖1-17所示。圖1-16中包含與前面板上控件一一對應(yīng)的端子,同樣使用<對齊><分布>鍵,把所有對象排列整齊,并且將輸入端子放在左側(cè),顯示端子放在右側(cè)。觀察發(fā)現(xiàn),輸入端子的右側(cè)和顯示端子的左側(cè)都有一個“△”符號,當(dāng)將鼠標(biāo)移動到該位置時,會出現(xiàn)一個接線端子,同時鼠標(biāo)變成線軸形狀的連線工具。

圖1-17 “程序框圖”窗口
在程序框圖中要實(shí)現(xiàn)一定功能,光有接線端子是不夠的,還需要放置相關(guān)的函數(shù)。比如在本例子中,放一個加法運(yùn)算函數(shù)。加法運(yùn)算函數(shù)的位置在函數(shù)選板→編程→數(shù)值里面。打開數(shù)值子選板,把“加法”函數(shù)拖放到程序框圖面板上。加法函數(shù)有兩個輸入和一個輸出端子,使用時,這三個端子必須都連接使用。
對該函數(shù)的使用如有疑問,可以查看它的幫助信息。
2)查看幫助信息的方法主要有:
①在前面板和程序框圖窗口的右上角,即工具欄的右側(cè)有個問號,是即時幫助開關(guān),單擊這個按鍵,可以通過該鍵打開或關(guān)閉“即時幫助”對話框,如圖1-18所示。

圖1-18 “即時幫助”對話框
②也可以使用使用<Ctrl>+<H>組合鍵打開或關(guān)閉。“即時幫助”對話框。
要想詳細(xì)了解該節(jié)點(diǎn),可單擊窗口內(nèi)的“詳細(xì)幫助信息”,打開“LabVIEW幫助”窗口,如圖1-19所示;還可以單擊在“即時幫助”對話框左下角的3個按鍵:該按鍵可以隱藏或顯示可選連線端口的解釋;
該按鍵可以鎖定當(dāng)前即時幫助窗口所顯示的內(nèi)容,使其不會因?yàn)槭髽?biāo)的移動而改變其顯示的內(nèi)容;
該按鍵用于打開LabVIEW的幫助文檔,查看當(dāng)前顯示內(nèi)容的詳細(xì)幫助文檔。

圖1-19 “LabVIEW幫助”窗口
在一個接線端子的連接點(diǎn)單擊鼠標(biāo)左鍵移動鼠標(biāo),會出現(xiàn)一條虛線。將鼠標(biāo)移動到下一個連接點(diǎn),再單擊鼠標(biāo),虛線就會變成實(shí)線,這樣就完成了一個連接。如果需要轉(zhuǎn)彎,那么只需要在轉(zhuǎn)彎處單擊一下鼠標(biāo)即可,如圖1-20所示。以此方法連接所有連接,把輸入控件與顯示控件直接或者通過運(yùn)算函數(shù)相連,完成的程序框圖如圖1-21所示。

圖1-20 編輯連線

圖1-21 完成的程序框圖
完成所有連接后切換至前面板,保存文件后,單擊工具條上的連續(xù)運(yùn)行鍵。鼠標(biāo)操作輸入控件,改變輸入控件的數(shù)據(jù),觀察顯示控件,會看到與它連接的顯示控件數(shù)據(jù)跟隨輸入的變化而變化。VI運(yùn)行時的前面板如圖1-22所示。

圖1-22 VI運(yùn)行時的前面板
1.2.5 VI的圖標(biāo)和連線板
圖標(biāo)/連線板是VI的第3個組成部分。在前面板和程序框圖的右上角都有“圖標(biāo)/連線板”的顯示,用鼠標(biāo)雙擊右上角的“圖標(biāo)”就可以打開圖1-23所示的“圖標(biāo)編輯器”對話框,可以對其修改、涂色、寫字等。這是圖標(biāo)修改的一種方式。若有自己喜歡的圖片,則可以通過直接拖拉圖片至前面板右上方圖標(biāo)的位置,替換掉VI的已有圖標(biāo),這是圖標(biāo)修改的另一種形式。

圖1-23 “圖標(biāo)編輯器”對話框
連線板是LabVIEW的一個編程接口,為子VI定義輸入、輸出端口和這些端口的連接線端類型。當(dāng)調(diào)用子VI節(jié)點(diǎn)時,子VI輸入端子接收從外部控件或其他對象傳輸?shù)礁鞫俗拥臄?shù)據(jù),經(jīng)子VI內(nèi)部處理后又從子VI輸出端子輸出結(jié)果,傳送給子VI外部顯示控件,或作為輸入數(shù)據(jù)傳送給后面的程序。
用鼠標(biāo)右鍵單擊前面板“連線板”的位置(連線板定義如圖1-24所示),可以打開快捷菜單,對該連線板進(jìn)行模式選擇、添加/刪除端子等操作。端口的模式里面提供了多種端子數(shù)量和排列方式,如果模式中沒有需要的類型,就可以通過添加/刪除端子來修改。

圖1-24 連線板定義
若要定義某個連線端口與某個前面板的控件相關(guān)聯(lián),可用鼠標(biāo)單擊連線板上的某個端口,再單擊待選的控件即可。
一般情況下,VI只有設(shè)置了連接器端口才能作為子VI使用,如果不對其進(jìn)行設(shè)置,調(diào)用的只是一個獨(dú)立的VI程序,而不能改變其輸入?yún)?shù),也不能顯示或傳輸其運(yùn)行結(jié)果。
如希望編寫的VI有如圖所示的端口形式,則修改某端口的定義,就可以將當(dāng)前VI的接口定義變?yōu)楸匦璧模ù煮w),或推薦的(普通字體),或可選的(灰色字體)。
1.3 任務(wù)3 創(chuàng)建VI
1.3.1 創(chuàng)建一個簡單的VI
下面,以一個簡單的溫度轉(zhuǎn)換VI為例來介紹創(chuàng)建VI的步驟。
【例1-1】要求:實(shí)現(xiàn)將攝氏溫度轉(zhuǎn)換為華氏溫度的功能,并在前面板顯示攝氏溫度和華氏溫度。
操作步驟如下。
1)用鼠標(biāo)雙擊計(jì)算機(jī)桌面上的LabVIEW圖標(biāo),打開LabVIEW。
2)在啟動界面里面選擇選擇左側(cè)“新建”下的“VI”,新建一個VI。
3)在前面板上放置數(shù)值輸入控件,用來輸入待轉(zhuǎn)換的攝氏溫度;放置數(shù)值顯示控件,用來顯示轉(zhuǎn)換結(jié)果。
①展開“新式”面板,選擇其中的“數(shù)值控件”,展開數(shù)值控件面板。分別選擇數(shù)值輸入控件和數(shù)值輸出控件,放在前面板上,為了形象起見,再放一個“溫度計(jì)”,用來指示華氏溫度。
②用鼠標(biāo)雙擊數(shù)值輸入控件上面的文本“數(shù)值1”,將其修改為“攝氏溫度C”,用同樣方法把數(shù)值輸出控件文本修改為“華氏溫度F”,把溫度計(jì)的量程更改為“-50~200”。
③打開菜單欄中的“文件”,在下拉菜單中選擇“保存”,選擇一個合適的位置,將程序命名為“Convert C to F”,此時在標(biāo)題欄中就會顯示“Convert C to F.vi前面板”。
4)在程序框圖中實(shí)現(xiàn)轉(zhuǎn)換功能,即華氏溫度=攝氏溫度×1.8+32。
①從前面板切換至程序框圖,然后打開函數(shù)選板,選擇“編程”→“數(shù)值”,展開“數(shù)值面板”,選擇其中的“乘”、“加”兩個函數(shù),放置在程序框圖窗口內(nèi)。
②把所有元件連接起來。
③在乘法和加法的輸入端各有一個空閑的連接點(diǎn),需加一個常數(shù)。把鼠標(biāo)移動到空閑的連接點(diǎn)上,單擊鼠標(biāo)右鍵,出現(xiàn)一個快捷菜單,選擇“創(chuàng)建→常量”(如圖1-25所示),然后輸入數(shù)值即可。

圖1-25 創(chuàng)建→常量
5)編輯圖標(biāo)/連線板。
①在圖標(biāo)/連線板上用鼠標(biāo)右鍵單擊,在彈出菜單中選擇“編輯圖標(biāo)”,在圖標(biāo)上繪“CtoF”文字。
②在前面板圖標(biāo)/連線板處用鼠標(biāo)右鍵單擊,打開連線板,在連線板上用鼠標(biāo)右鍵單擊選擇端口模式。由于該VI中有一個輸入變量和一個輸出變量,所以選擇端口的數(shù)目為兩個的模式即可。用鼠標(biāo)單擊連線板左側(cè)矩形框,然后再單擊“攝氏溫度℃”控件,就完成了輸入端的鏈接。用同樣方法,把輸出端子與“華氏溫度F”連接起來。編輯好的連接器如圖1-26所示。

圖1-26 編輯好的連接器
6)完成程序框圖編寫后,保存程序?yàn)椤癈onvert C to F.vi”,然后切換到前面板。在數(shù)值輸入控件中輸入待轉(zhuǎn)換的攝氏溫度數(shù)值,比如30℃,然后,單擊工具欄中的“運(yùn)行”鍵,觀察輸出數(shù)值控件的變化和溫度計(jì)控件的變化。運(yùn)行結(jié)果如圖1-26所示。
7)輸入不同的溫度值,并驗(yàn)算計(jì)算結(jié)果。
1.3.2 子VI的創(chuàng)建和調(diào)用
與文本編程語言中所說的主程序、子程序類似,VI也有主VI和子VI,在編寫它們過程中沒有什么本質(zhì)差別,只是被調(diào)用的VI稱為子VI,而調(diào)用者稱為主VI。
上例中創(chuàng)建的溫度轉(zhuǎn)換VI,就可以作為子VI被其他VI調(diào)用。一般情況下,子VI要進(jìn)行圖標(biāo)/連線板的編輯,尤其是連線板。這樣才能實(shí)現(xiàn)主VI與子VI之間的數(shù)據(jù)傳遞。如果沒有數(shù)據(jù)傳遞,只是調(diào)用子VI執(zhí)行,就可以不進(jìn)行連接器編輯。圖標(biāo)編輯是為了在程序框圖中能夠明顯區(qū)分各個子VI。
創(chuàng)建子VI的另一個方法是,在現(xiàn)有的VI中選定程序框圖中的一部分內(nèi)容作為子VI,如圖1-27中的虛線部分所示。在“編輯”的下拉菜單中選擇“創(chuàng)建子VI”,虛線部分就變成了一個圖標(biāo)。用鼠標(biāo)雙擊該圖標(biāo),打開子VI,可對其進(jìn)行編輯和重命名等操作。

圖1-27 創(chuàng)建子VI的另一個方法
1.4 任務(wù)4 數(shù)據(jù)流和運(yùn)行及調(diào)試VI
1.4.1 數(shù)據(jù)流
LabVIEW作為一種通用的編程語言,與其他文本編程語言一樣,它的數(shù)據(jù)操作是最基本的操作。LabVIEW是用“數(shù)據(jù)流”的運(yùn)行方式來控制VI程序,數(shù)據(jù)流是LabVIEW的生命,運(yùn)行程序就是將所有輸入端口上的數(shù)據(jù)通過一系列節(jié)點(diǎn)送到目的端口。
下面通過一個例子來介紹數(shù)據(jù)流思想。打開前面創(chuàng)建的VI“Convert C to F.vi”,單擊程序框圖中高亮按鍵,然后單擊運(yùn)行按鍵,在程序框圖中可以看到“小氣泡”向后移動,這就是數(shù)據(jù)一步步地向后傳遞。
在LabVIEW的程序框圖中,任意一個函數(shù)和子VI等都可稱為一個節(jié)點(diǎn),每個節(jié)點(diǎn)都有自己的輸入端和輸出端。所謂的數(shù)據(jù)流思想的重點(diǎn)在于,對于一個節(jié)點(diǎn),只有當(dāng)它所有的輸入端口的數(shù)據(jù)都準(zhǔn)備好以后,程序才會進(jìn)入它內(nèi)部執(zhí)行其功能,然后將結(jié)果送至輸出端口。如果有某個輸入端口的數(shù)據(jù)因?yàn)橐恍┧惴ǎ瑪?shù)據(jù)準(zhǔn)備上有延時,那么該節(jié)點(diǎn)就會處于等待狀態(tài),直到數(shù)據(jù)送來以后,才進(jìn)入其內(nèi)部執(zhí)行相關(guān)的算法。
在圖1-28所示的Convert C to F.vi框圖中,乘法和加法分別為一個節(jié)點(diǎn),在乘法完成之前,它無法將乘法的結(jié)果傳遞給加法的輸入端口,所以加法必然是在乘法完成之后才進(jìn)行的。

圖1-28 Convert C to F.vi框圖
LabVIEW中的函數(shù)、子VI的輸入端口都在左邊,輸出端口都在右邊,編程的整個的方向也是從左至右的,所以好像數(shù)據(jù)流就是從左至右執(zhí)行程序。這樣的想法不完全正確,正確理解和使用數(shù)據(jù)流,可以更好地編寫出用戶所需功能的程序,不需要添加一些結(jié)構(gòu),就可以控制各個程序功能之前的執(zhí)行順序。
1.4.2 運(yùn)行及調(diào)試VI
首先按照圖1-29所示創(chuàng)建一個VI,命名為“調(diào)試練習(xí).vi”,功能是實(shí)現(xiàn)兩個數(shù)據(jù)x、y的加法、減法和乘法運(yùn)算。

圖1-29 調(diào)試練習(xí).vi
1.找出語法錯誤
在編寫VI的過程中,工具欄中的運(yùn)行按鈕有時為完整的箭頭,有時箭頭斷開,如圖1-29所示,即為斷開狀態(tài)。此時VI程序存在語法錯誤,程序不能被執(zhí)行。單擊這個斷開的鍵就會彈出“錯誤列表”對話框,如圖1-30所示。該對話框提示錯誤原因和警告信息。單擊其中任何一個所列出的錯誤,選擇對話框下方的“顯示錯誤”,就會回到程序框圖,且錯誤的對象上或端口就會變成高亮,此處“減法運(yùn)算”變成高亮,錯誤原因是一個輸入端子沒有連接。把它連接到數(shù)據(jù)y,工具欄中的運(yùn)行按鈕就變?yōu)橥暾募^。

圖1-30 “錯誤列表”對話框
2.高亮執(zhí)行程序
在LabVIEW的工具條上有“高亮執(zhí)行程序”鍵,單擊這個鍵使它變成高亮形式
,再單擊“運(yùn)行”按鈕,VI程序就以較慢的速度運(yùn)行,沒有被執(zhí)行的代碼顯示灰色,執(zhí)行后的代碼顯示高亮,并顯示數(shù)據(jù)流線上的數(shù)據(jù)值,如圖1-31所示,可以根據(jù)數(shù)據(jù)的流動狀態(tài)跟蹤程序的執(zhí)行。

圖1-31 放置探針和探針監(jiān)視窗口
a)放置探針 b)探針監(jiān)視窗口
3.斷點(diǎn)與單步執(zhí)行
為了查找程序中的邏輯錯誤,有時希望流程圖程序一個節(jié)點(diǎn)接一個節(jié)點(diǎn)地被執(zhí)行。使用斷點(diǎn)工具可以在程序的某一地點(diǎn)中止程序執(zhí)行,用探針或者單步方式
查看數(shù)據(jù)。當(dāng)使用斷點(diǎn)
工具時,單擊希望設(shè)置或者清除斷點(diǎn)的地方。斷點(diǎn)的顯示是,對于節(jié)點(diǎn)或者圖框表示為紅框,對于連線表示為紅點(diǎn)。當(dāng)VI程序運(yùn)行到斷點(diǎn)被設(shè)置處時,程序被暫停在將要執(zhí)行的節(jié)點(diǎn)上,以閃爍表示。按下“單步執(zhí)行”按鈕,閃爍的節(jié)點(diǎn)被執(zhí)行,下一個將要執(zhí)行的節(jié)點(diǎn)變?yōu)殚W爍,指示它將被執(zhí)行。也可以單擊“暫停”按鈕,這樣程序?qū)⑦B續(xù)執(zhí)行,直到下一個斷點(diǎn)為止。
4.探針
可用探針工具來查看當(dāng)流程圖程序流經(jīng)某一根連接線時的數(shù)據(jù)值。放置探針可從工具選板選擇探針工具,再用鼠標(biāo)左鍵單擊希望放置探針的連接線;在流程圖中使用選擇工具或連線工具,在連線上單擊鼠標(biāo)右鍵,在連線的彈出式菜單中選擇“探針”命令,同樣可以為該連線加上一個探針。
在圖1-31a中數(shù)據(jù)y的連線上,放置探針1,彈出圖1-31b所示的探針監(jiān)視窗口。在窗口中顯示該探針位置、值和更新時間等信息。
1.5 思考題
1.參考例1-1創(chuàng)建一個VI,實(shí)現(xiàn)將華氏溫度轉(zhuǎn)換為攝氏溫度的功能,并在前面板顯示攝氏溫度和華氏溫度。
2.創(chuàng)建一個VI實(shí)現(xiàn)兩個輸入數(shù)據(jù)的加、減、乘運(yùn)算,并顯示數(shù)據(jù)的和、差與乘積。
- 班組長人員管理培訓(xùn)教程
- 有限元分析:圖解COSMOSWorks(Simulation)
- SolidWorks 2018機(jī)械設(shè)計(jì)教程
- 高等職業(yè)教育機(jī)械專業(yè)教學(xué)法
- 透平式壓縮機(jī)(第二版)
- 新型金屬材料:性能與應(yīng)用
- 圖解液壓閥維修
- 塔式起重機(jī)駕駛員讀本
- 基于虛擬儀器和單片機(jī)的機(jī)電控制系統(tǒng)設(shè)計(jì)與實(shí)踐
- 機(jī)電一體化系統(tǒng)設(shè)計(jì)
- 機(jī)器視覺技術(shù)
- 液壓與氣壓傳動:附習(xí)題詳解
- 圖解注塑機(jī)操作與維修
- 焊條電弧焊技術(shù)問答
- 機(jī)械A(chǔ)utoCAD項(xiàng)目化教學(xué)