官术网_书友最值得收藏!

第1篇 LabVIEW基本使用

項目1 認識LabVIEW

1.1 任務1 認識虛擬儀器

1.1.1 虛擬儀器簡介

在了解什么是虛擬儀器(Virtual Instrumentation,VI)之前,這里先簡單回顧一下儀器技術的演進歷程。在測試、測量領域,儀器經歷了與電話類似的發展過程。它們或者被植入CPU、內存中,安裝上軟件,具備了計算機的基本功能;或者被拆解開來,取其核心部件插入到計算機中去,使計算機具備測試功能。這兩種發展方向都使得儀器的功能更強大,速度更快,而其區別之處在于,把儀器移植到計算機中,更多考慮的是降低成本;而把計算機移植到儀器中,則更多的是為了滿足儀器小型化的需要。

在計算機運算能力強大到一定程度之后,以“虛擬”為前綴的各項技術開始紛紛出現,比如虛擬現實、虛擬機和虛擬儀器等。虛擬現實是指用計算機表現真實世界;虛擬機是指在一臺計算機上模擬多臺計算機;虛擬儀器是指在計算機上完成儀器的功能。虛擬儀器的概念最早由美國國家儀器公司(National Instrument,NI)提出,虛擬儀器是相對于傳統儀器來說的。在傳統的實驗室里做各種物理/電子學實驗時,常常用到萬用表、示波器等儀器,它們每臺儀器就是一個固定的方盒子,它們所有的測量功能都在這個盒子內完成,這就是所謂的傳統儀器。而進入到虛擬儀器時代,這種單一功能的方盒子開始逐漸被計算機所取代。

用戶看不到傳統儀器的方盒子的內部,更無法改變其結構。因此,一臺傳統儀器一旦離開生產線后,其功能和外觀就固定下來了。用戶只能利用一臺傳統儀器完成某個功能固定的測試任務,一旦測試需求改變,就必須再次購買滿足新需求的儀器。而虛擬儀器技術就是利用高性能的模塊化硬件,結合高效靈活的軟件來完成各種測試、測量和自動化應用的。靈活高效的軟件能幫助用戶創建完全自定義的用戶界面(傳統儀器的軟件通常被稱為固件,無法由用戶改變),模塊化的硬件能方便地提供全方位的系統集成(傳統儀器就是一個個單獨的盒子),標準的軟硬件平臺能滿足用戶對同步和定時應用的需求(傳統儀器的平臺各個廠商各不相同)。

虛擬儀器技術除了基礎的信號采集部分,其他軟硬件全部采用通用的計算機軟硬件設備。這些通用的軟、硬件設備可以低廉的價格進行升級,或者被使用者按自己意愿進行配置。比如,在虛擬儀器上,用戶可以通過升級CPU來加快儀器的處理速度,可以自己編寫程序來改變儀器的測試功能和交互界面。圖1-1給出了傳統儀器與虛擬儀器之間的結構對比。我們很容易在圖1-1b中找到虛擬儀器所獨有的靈活高效的軟件、模塊化的硬件以及標準的與通用PC相兼容的軟硬件平臺。

圖1-1 傳統儀器與虛擬儀器的結構對比

a)傳統儀器 b)虛擬儀器

在后面的項目中將介紹如何構建一個典型的虛擬儀器測控系統,這里首先來認識一個常常與“虛擬儀器”成對出現的名稱——LabVIEW。在很多情況下,LabVIEW容易和虛擬儀器混為一談,這里有必要著重指出,虛擬儀器技術依賴于靈活高效的軟件+模塊化的硬件+標準的軟硬件平臺,而LabVIEW是靈活高效軟件的最重要代表之一。

1.1.2 LabVIEW簡介

實驗室虛擬儀器工程平臺(Laboratory Virtual Instrumentation Engineering Workbench,LabVIEW)是NI創立的一種功能強大而又靈活的儀器和分析軟件應用開發工具,它是一種編程語言,與其他常見的編程語言相比,其最大的特點就是圖形化的編程環境。

常見的編程語言(如C語言等)都是文本式的編程語言。文本語言是抽象的,但是效率高,能用簡短的語言表達豐富的含義。而對于使用者而言,無疑需要花費較長的時間和較多的精力去熟悉精通這些語言。

對于大多數的工程師,尤其是非精通軟件的工程師,他們的精力更多的是投入在所希望實現的功能上,而非編程語言的掌握上。NI提供的這樣一款圖形化的編程軟件,恰恰符合了這樣的需求。對于軟件初學者,LabVIEW只需要兩、三天便可以入門,工程師就可以運用LabVIEW來實現很多簡單的功能。

LabVIEW不但在設計程序前界面部分使用了圖形化的方式,在程序代碼的編寫和功能實現上也使用了圖形化的方式。由于LabVIEW采用的是圖形化開發環境,所以也經常會被稱為G語言(Graphical Programming Language)。LabVIEW不僅可以應用于測控行業,而且被廣泛地用于仿真、教育、快速開發、多硬件平臺的整合使用等方面。同時LabVIEW還支持實時操作系統和嵌入式系統(如FPGA等)。

1.2 任務2 認識VI

1.2.1 VI簡介

VI有兩個含義,其一是虛擬儀器(Virtual Instrument)的縮寫(虛擬儀器是一門技術,是基于計算機技術,包含硬件和軟件兩大組成部分),另一個含義是LabVIEW程序。以往稱文本式編程語言所編寫的代碼為源代碼,稱使用LabVIEW編寫的代碼為VI,LabVIEW程序的擴展名為.vi。簡單地講,“一個VI就是一個LabVIEW程序”。

與文本編程語言中所說的主函數、子函數類似,VI也有主VI和子VI,它們在編寫過程中沒有什么本質差別,只是稱被調用的VI為子VI,而調用者即為主VI。

1.2.2 VI的組成

打開LabVIEW2011有兩種方式,可以通過用鼠標雙擊桌面快捷方式,或者在開始菜單中運行“National Instruments LabVIEW 2011 SP1”。LabVIEW 2011的啟動窗口如圖1-2所示。啟動界面的右邊是LabVIEW給用戶提供的豐富資源,下方有一個范例查找器,提供了豐富的例子,使用者可以查找其中的范例進行相關的學習。也可以在菜單欄的“幫助”中打開范例查找器。啟動界面的左邊是用來創建、打開程序和項目的選項。

圖1-2 LabVIEW 2011的啟動窗口

1.新建VI

在LabVIEW中新建一個VI有多種方法。

1)在啟動窗口的左側選擇“新建”下的“VI”,就可以創建一個空白VI;選擇“基于模版的VI”,可用來創建一個基于模版的VI;選擇“更多”可以選擇其中更多的模版來創建基于模版的VI或者項目。

2)選擇“項目”就可以新建一個項目,彈出圖1-3所示的“項目瀏覽器”窗口。在圖中的“我的電腦”上用鼠標右鍵單擊,從彈出的快捷菜單中選擇“新建”→“VI”,即可創建新的VI。

圖1-3 “項目瀏覽器”窗口

3)在前面板或者程序框圖的“文件”菜單中選擇“新建VI”。

新創建的VI窗口如圖1-4所示。從圖中看到,一個完整的VI包含3大組成部分,即前面板、程序框圖、圖標/連線板。

圖1-4 新創建的VI窗口

LabVIEW的前面板和程序框圖的窗口與Windows下的其他軟件(比如Office)類似,最上面是標題欄,標題欄下面是菜單欄,接著是工具欄。工具欄下面是工作區域,用戶可以在這里編輯用戶界面或程序框圖。與其他軟件不同的是,在前面板和程序框圖窗口的右上角都有一個圖標/連線板。前面板是圖形化用戶界面,相當于實際儀器儀表的面板,而程序框圖用來定義該儀器儀表的功能,相當于儀器儀表內部的功能部件。

2.LabVIEW菜單欄

LabVIEW的菜單欄有兩種,一種是下拉菜單,另一種是快捷菜單。下拉菜單與其他軟件類似,不進行詳細介紹。快捷菜單在控件、函數和連線等處單擊鼠標右鍵時就會出現。LabVIEW有著豐富的右鍵功能,在后面的相關章節會詳細介紹。

(1)工具欄

1)前面板工具欄。

程序運行鍵。若程序運行鍵變為,則說明此時程序框圖中有錯誤。比如有斷線、對必需的端口未連接連線端子和子VI不能運行等。

連續運行鍵。連續運行當前程序。

中止執行鍵。強制停止所運行的程序,一般不推薦使用該按鍵停止運行的程序,強制停止可能導致已占用的資源未完全釋放。

暫停鍵。在連續運行時,用來暫停程序,如需繼續運行,再單擊該按鍵即可。

文本設置鍵。修改當前選中的文本的字體、大小和顏色等。

分別是對齊對象、分布對象和調整對象大小,用來排布當前選中的控件的排列方式以及大小,如中心對齊、左對齊和右對齊等距排布控件,依據某控件大小修改所有選中控件的大小。

重新排序鍵。可用于鎖定控件或背景圖片以及置前或置后。

搜索鍵。用來查找需要幫助的內容。

即時幫助鍵。用來打開和關閉即時幫助窗口。

2)程序框圖工具欄。程序框圖工具欄中相同圖標與前面板功能相同,其中:

亮顯示鍵。調試程序單擊該按鈕,放慢程序運行速度,查看經過每個節點的數據是否正常。

保留連線值。單擊該按鈕,可以保留上一次運行時每個數據線上的數據,若使用探針(probe)查看,則可以看到之前一次的數據。

單步調試程序按鍵。

整理程序框圖連線。

以上所有的描述都可以在LabVIEW的幫助文檔中找到相關的說明。

(2)“工具”選板

“工具”選板是經常使用的一個工具,如圖1-5所示,在前面板和程序框圖中都可以使用。如果該選板沒有出現,則可以在菜單欄下選擇“查看”→“工具選板”命令來顯示,或者在空白處按<Shift>鍵+鼠標右鍵。工具選板的默認狀態是選擇上方的“自動工具選擇工具”和“選擇”,此時,“自動工具選擇工具”的指示燈亮,而箭頭形狀的“選擇工具”處于選中狀態。在這種狀態下,當光標移動到某個對象上時,會根據這個對象與其他對象當前的關系,自動選擇一種合適的工具。當自動選擇工具不適合時,可以手動選擇需要的工具。在選擇了任一種工具后,鼠標箭頭就會變成該工具相應的形狀。“工具”選板中各工具的具體功能含義見表1-1。

圖1-5 “工具”選板

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

當需要對程序的前面板、控件、程序框圖和各種結構修改顏色的時候,用戶可以選擇“工具”選板下方的“設置顏色”選項,選擇自己所需顏色即可。需要注意的是選項,是一個透明色的填充(Transparent)。

1.2.3 VI的前面板

前面板是圖形化的人機界面,用于設置輸入量和觀察輸出量,它模擬真實儀器的前面板。如同真實的儀器儀表一樣,要對它輸入參數并觀察測量結果。虛擬儀器在前面板也提供了實現這樣功能的控件。其中,輸入量被稱為Controller(輸入控件),用戶可以通過控件向VI中設置輸入參數,如旋鈕、開關和按鈕等;輸出量被稱為Indicator(指示控件),如圖形、圖表和指示燈等,VI通過指示器向用戶提示狀態或輸出數據等信息。這些控件可以從“控件選板”中選擇。

打開控件選板有兩種方法,一是在菜單欄里選擇“查看”下的“控件選板”,或者用鼠標右鍵單擊前面板空白處,都會出現圖1-6所示的“控件選板”對話框。

圖1-6 “控件選板”對話框

1.控件選板

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

圖1-7 更改可見類別窗口

a)單擊“自定義”出現下拉菜單 b)“更改可見類別”對話框

選擇其中的“更改可見類別”,彈出圖1-7b所示“更改可見類別”的對話框,勾選里面的復選項,單擊“確定”按鈕,回到控件選板,就會看到所有選中的類別。也可以單擊控件選板下端展開,看到所有類別選項。注意,控件選板可以通過拖動標題欄移動到任意位置,控件選板的大小也可以通過拖動邊框和四角任意拉伸。

控件選板里的許多控件外觀都很形象,尤其“新式”子選板里面的控件,也比較美觀,這里重點介紹。在圖1-7中,單擊“自定義”按鈕,打開“更改可見類別”對話框,勾選“新式”選項,單擊“確定”按鈕,回到控件選板。在控件選板中單擊“新式”按鈕,打開“新式控件”子選板,如圖1-8所示。新式控件子選板包含以下幾類控件。

圖1-8 “新式控件”子選板

1)數值:數值的輸入和顯示。包括數值控件、滑動桿、滾動條、旋鈕、儀表、溫度計和顏色盒等。

2)布爾:邏輯數值的控制和顯示。包含布爾開關、按鈕和指示燈等。

3)字符串與路徑:包含字符串、路徑的輸入和顯示控件。

4)數組、矩陣與簇:包含數組、矩陣與簇的輸入控件和顯示控件。

5)下拉列表與枚舉:包含下拉列表和枚舉兩類控件。

6)圖形:包含二維和三維圖形圖表以及圖片控件等,用于顯示數據結果的趨勢圖和曲線圖。

7)列表、表格:包含列表框、表格、樹形和Ex-press表格等控件。

8)容器:包含分隔欄、選項卡、子面板和容器等,用于組合控件,或在當前VI的前面板上顯示另一個VI的前面板。

9)I/O:包含將所配置的DAQ通道名稱、VISA資源名稱和IVI邏輯名稱傳遞至I/OVI等的控件,與儀器或DAQ設備進行通信。

10)引用句柄:包含用于對文件、目錄、設備和網絡連接等進行的操作。

11)變體與類:包含變體和LabVIEW類,用來與變體和類數據進行交互。

12)修飾:包含各種圖框、三角形、圓形等圖形以及線段等,用于修飾和定制前面板的圖形對象。

2.前面板的編輯

(1)放置對象

在前面板編輯人機交互界面,需要用到各種控件,比如輸入數據、數值顯示、波形顯示以及開關按鈕等。用鼠標在控件選板上選擇需要的控件,將其拖放到前面板上,就可以設計前面板。

先在前面板上放置一些數值控件,即打開控件選板的“數值”子選板,選中“數值輸入”控件,將其拖放到前面板上,面板上會出現“數值”控件。把該控件的標簽“數值”改為“數值輸入”。用同樣方法放置一個數值輸出控件,改名為數值輸出。拖動控件選板右側滾動條,找到旋鈕、溫度計、垂直刻度條和儀表等,拖放到前面板上。然后放布爾量,即打開控件選板的“布爾”子選板,選擇“垂直搖桿開關”和“方形指示燈”,將其拖放到前面板上。放置對象的界面如圖1-9所示。在菜單欄下打開“文件”下拉菜單,選擇“保存”,VI名稱為“前面板程序框圖編輯”,窗口的標題欄內容由“未命名.vi”變為“前面板程序框圖編輯.vi”。

圖1-9 放置對象的界面

(2)調整對象

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

圖1-10 調整對象的窗口

改變對象的大小方法是,把鼠標移動到對象上,對象的邊緣就會出現拖動句柄,將鼠標移動到句柄上,單擊鼠標就可以任意拖動到合適的大小。例如,把指示燈和旋鈕適當拉大。

改變對象以及背景的顏色要用到工具選板。打開工具選板,單擊最下邊的“設置顏色”,可以進行前景和背景顏色的修改,如圖1-11所示。然后選擇一個顏色,鼠標變成毛筆形狀,單擊要修改對象即完成顏色修改,例如將旋鈕的顏色改為藍色。如果對顏色的修改不滿意,就可以在菜單欄打開“編輯”下拉菜單,取消該修改,其他修改也可以用同樣方法取消。

圖1-11 修改顏色

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

圖1-12 修改文本

LabVIEW支持剪切板,可以對面板上的對象進行復制粘貼,也可以把其他的圖片文本等復制粘貼到前面板上,還可以使用<Ctrl>+<C>(復制)、<Ctrl>+<V>(粘貼)組合鍵來完成。例如將“數值輸入”復制,粘貼后,出現新的數值輸入控件“數值輸入2”。要刪除對象,只需選中對象,然后按鍵盤上的<Delete>鍵即可。

(3)控件的快捷菜單和屬性修改

每個控件都有自己的屬性,在控件上單擊鼠標右鍵就會出現快捷菜單。不同類型的控件快捷菜單不盡相同,如圖1-13所示,左側為“數值輸入”控件的快捷菜單,右側顯示控件為“儀表”的快捷菜單。在數值輸入控件的快捷菜單中,有一個“轉換為顯示控件”選項;顯示控件的快捷菜單里有一個“轉換為輸入控件”選項,可見輸入控件和顯示控件可以互相轉換。

圖1-13 不同類型的控件快捷菜單

在控件的快捷菜單中都有“屬性”選項,在這個選項里面,可以進行一些屬性設置。選中“屬性”選項會打開“屬性設置”對話框,進行外觀、操作、數據綁定和快捷鍵等的設置。

對控件有些屬性的設置,也可以不打開屬性對話框,比如刻度范圍的修改。以水平指針滑桿為例,滑桿默認刻度范圍為0~10,要修改成-20~100,只需單擊最小值處,輸入“-20”,單擊最大值處,輸入“100”即可。刻度范圍設置如圖1-14所示。旋鈕、儀表和溫度計等也可以依樣修改量程。

圖1-14 刻度范圍設置

1.2.4 VI的程序框圖

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

圖1-15 Convert C to F.VI的前面板和程序框圖

a)Convert C to F.VI的前面板 b)程序框圖

1.函數選板

除了與前面板控件對應的接線端子外,程序框圖中還有函數(Function)、子VI(Sub VI)、常量(Constant)、結構(Structure)和連線(Line)等。在圖1-15中有3個接線端子、兩個函數和兩個常量。

在LabVIEW的函數選板中包含了大量的結構、數據類型、定時函數、數學算法、各個硬件驅動和已安裝的工具包等。在編程時可以選擇所需函數,放置在窗口內,并用連線連接起來,以實現所需的功能。

打開函數選板有兩種方式,一是在程序框圖的菜單欄中單擊“查看”按鈕,在下拉菜單中選擇“函數選板”;另一種方式是在程序框圖的窗口內空白處用鼠標右鍵單擊。打開的“函數選板”對話框,如圖1-16所示。

圖1-16 “函數選板”對話框

函數選板也可以像控件選板一樣改變大小、位置和展開等。界面默認為“編程”子選板。下面簡單介紹該選板,其他選板的內容在相關章節中介紹。

1)結構。包含程序控制結構命令,提供循環、條件、順序結構、公式節點、全局變量和結構變量等編程要素。

2)數組。包含數組運算函數、數組轉換函數和常數數組等。

3)簇、類與變體。包含簇的處理函數等。提供各種捆綁、解除捆綁、創建簇數組、索引與捆綁簇數組、簇和數組之間的轉換以及變體屬性設置等功能。

4)數值。數學運算、標準數學函數、各種常量和數據類型變換以及各種數值常數等。

5)文件I/O。包含處理文件輸入/輸出的程序和函數。

6)布爾。包含各種布爾運算函數、布爾常量等。

7)字符串。包含各種字符串操作函數、數值與字符串之間的轉換函數以及字符(串)常量數等。

8)比較。包含數字量、布爾量和字符串變量之間比較運算功能的函數等。

9)定時。包含時間計數器、時間延遲、獲取時間日期和設置時間標識常量等。

10)對話框與用戶界面。包含各種按鈕對話框、簡單錯誤處理、顏色盒常量、菜單、游標和簡單的幫助信息等。

11)波形。包含創建波形、提取波形,數-模轉換和模-數轉換等處理工具。

12)應用程序控制。包括動態調用VI、標準可執行程序等功能的函數。

13)同步。包含提供通知器操作、隊列操作、信號量和首次調用等功能的工具。

14)圖形與聲音。包含聲音、圖形和圖片等功能模塊。

15)報表生成。包含提供生成各種報表和簡易打印VI前面板或說明信息等功能模塊。

2.程序框圖的編輯

1)在前面板切換到“程序框圖”的方法主要有:

①通過菜單欄的“窗口”下拉菜單選擇“顯示程序框圖”。

②使用<Ctrl>+<E>組合鍵,實現前面板與程序框圖之間的切換。

③選中前面板上的任意控件,雙擊鼠標左鍵。

打開“前面板程序框圖編輯.vi”,切換到“程序框圖”窗口,如圖1-17所示。圖1-16中包含與前面板上控件一一對應的端子,同樣使用<對齊><分布>鍵,把所有對象排列整齊,并且將輸入端子放在左側,顯示端子放在右側。觀察發現,輸入端子的右側和顯示端子的左側都有一個“△”符號,當將鼠標移動到該位置時,會出現一個接線端子,同時鼠標變成線軸形狀的連線工具

圖1-17 “程序框圖”窗口

在程序框圖中要實現一定功能,光有接線端子是不夠的,還需要放置相關的函數。比如在本例子中,放一個加法運算函數。加法運算函數的位置在函數選板→編程→數值里面。打開數值子選板,把“加法”函數拖放到程序框圖面板上。加法函數有兩個輸入和一個輸出端子,使用時,這三個端子必須都連接使用。

對該函數的使用如有疑問,可以查看它的幫助信息。

2)查看幫助信息的方法主要有:

①在前面板和程序框圖窗口的右上角,即工具欄的右側有個問號,是即時幫助開關,單擊這個按鍵,可以通過該鍵打開或關閉“即時幫助”對話框,如圖1-18所示。

圖1-18 “即時幫助”對話框

②也可以使用使用<Ctrl>+<H>組合鍵打開或關閉。“即時幫助”對話框。

要想詳細了解該節點,可單擊窗口內的“詳細幫助信息”,打開“LabVIEW幫助”窗口,如圖1-19所示;還可以單擊在“即時幫助”對話框左下角的3個按鍵:該按鍵可以隱藏或顯示可選連線端口的解釋;該按鍵可以鎖定當前即時幫助窗口所顯示的內容,使其不會因為鼠標的移動而改變其顯示的內容;該按鍵用于打開LabVIEW的幫助文檔,查看當前顯示內容的詳細幫助文檔。

圖1-19 “LabVIEW幫助”窗口

在一個接線端子的連接點單擊鼠標左鍵移動鼠標,會出現一條虛線。將鼠標移動到下一個連接點,再單擊鼠標,虛線就會變成實線,這樣就完成了一個連接。如果需要轉彎,那么只需要在轉彎處單擊一下鼠標即可,如圖1-20所示。以此方法連接所有連接,把輸入控件與顯示控件直接或者通過運算函數相連,完成的程序框圖如圖1-21所示。

圖1-20 編輯連線

圖1-21 完成的程序框圖

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

圖1-22 VI運行時的前面板

1.2.5 VI的圖標和連線板

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

圖1-23 “圖標編輯器”對話框

連線板是LabVIEW的一個編程接口,為子VI定義輸入、輸出端口和這些端口的連接線端類型。當調用子VI節點時,子VI輸入端子接收從外部控件或其他對象傳輸到各端子的數據,經子VI內部處理后又從子VI輸出端子輸出結果,傳送給子VI外部顯示控件,或作為輸入數據傳送給后面的程序。

用鼠標右鍵單擊前面板“連線板”的位置(連線板定義如圖1-24所示),可以打開快捷菜單,對該連線板進行模式選擇、添加/刪除端子等操作。端口的模式里面提供了多種端子數量和排列方式,如果模式中沒有需要的類型,就可以通過添加/刪除端子來修改。

圖1-24 連線板定義

若要定義某個連線端口與某個前面板的控件相關聯,可用鼠標單擊連線板上的某個端口,再單擊待選的控件即可。

一般情況下,VI只有設置了連接器端口才能作為子VI使用,如果不對其進行設置,調用的只是一個獨立的VI程序,而不能改變其輸入參數,也不能顯示或傳輸其運行結果。

如希望編寫的VI有如圖所示的端口形式,則修改某端口的定義,就可以將當前VI的接口定義變為必需的(粗體),或推薦的(普通字體),或可選的(灰色字體)。

1.3 任務3 創建VI

1.3.1 創建一個簡單的VI

下面,以一個簡單的溫度轉換VI為例來介紹創建VI的步驟。

1-1】要求:實現將攝氏溫度轉換為華氏溫度的功能,并在前面板顯示攝氏溫度和華氏溫度。

操作步驟如下。

1)用鼠標雙擊計算機桌面上的LabVIEW圖標,打開LabVIEW。

2)在啟動界面里面選擇選擇左側“新建”下的“VI”,新建一個VI。

3)在前面板上放置數值輸入控件,用來輸入待轉換的攝氏溫度;放置數值顯示控件,用來顯示轉換結果。

①展開“新式”面板,選擇其中的“數值控件”,展開數值控件面板。分別選擇數值輸入控件和數值輸出控件,放在前面板上,為了形象起見,再放一個“溫度計”,用來指示華氏溫度。

②用鼠標雙擊數值輸入控件上面的文本“數值1”,將其修改為“攝氏溫度C”,用同樣方法把數值輸出控件文本修改為“華氏溫度F”,把溫度計的量程更改為“-50~200”。

③打開菜單欄中的“文件”,在下拉菜單中選擇“保存”,選擇一個合適的位置,將程序命名為“Convert C to F”,此時在標題欄中就會顯示“Convert C to F.vi前面板”。

4)在程序框圖中實現轉換功能,即華氏溫度=攝氏溫度×1.8+32。

①從前面板切換至程序框圖,然后打開函數選板,選擇“編程”→“數值”,展開“數值面板”,選擇其中的“乘”、“加”兩個函數,放置在程序框圖窗口內。

②把所有元件連接起來。

③在乘法和加法的輸入端各有一個空閑的連接點,需加一個常數。把鼠標移動到空閑的連接點上,單擊鼠標右鍵,出現一個快捷菜單,選擇“創建→常量”(如圖1-25所示),然后輸入數值即可。

圖1-25 創建→常量

5)編輯圖標/連線板。

①在圖標/連線板上用鼠標右鍵單擊,在彈出菜單中選擇“編輯圖標”,在圖標上繪“CtoF”文字。

②在前面板圖標/連線板處用鼠標右鍵單擊,打開連線板,在連線板上用鼠標右鍵單擊選擇端口模式。由于該VI中有一個輸入變量和一個輸出變量,所以選擇端口的數目為兩個的模式即可。用鼠標單擊連線板左側矩形框,然后再單擊“攝氏溫度℃”控件,就完成了輸入端的鏈接。用同樣方法,把輸出端子與“華氏溫度F”連接起來。編輯好的連接器如圖1-26所示。

圖1-26 編輯好的連接器

6)完成程序框圖編寫后,保存程序為“Convert C to F.vi”,然后切換到前面板。在數值輸入控件中輸入待轉換的攝氏溫度數值,比如30℃,然后,單擊工具欄中的“運行”鍵,觀察輸出數值控件的變化和溫度計控件的變化。運行結果如圖1-26所示。

7)輸入不同的溫度值,并驗算計算結果。

1.3.2 子VI的創建和調用

與文本編程語言中所說的主程序、子程序類似,VI也有主VI和子VI,在編寫它們過程中沒有什么本質差別,只是被調用的VI稱為子VI,而調用者稱為主VI。

上例中創建的溫度轉換VI,就可以作為子VI被其他VI調用。一般情況下,子VI要進行圖標/連線板的編輯,尤其是連線板。這樣才能實現主VI與子VI之間的數據傳遞。如果沒有數據傳遞,只是調用子VI執行,就可以不進行連接器編輯。圖標編輯是為了在程序框圖中能夠明顯區分各個子VI。

創建子VI的另一個方法是,在現有的VI中選定程序框圖中的一部分內容作為子VI,如圖1-27中的虛線部分所示。在“編輯”的下拉菜單中選擇“創建子VI”,虛線部分就變成了一個圖標。用鼠標雙擊該圖標,打開子VI,可對其進行編輯和重命名等操作。

圖1-27 創建子VI的另一個方法

1.4 任務4 數據流和運行及調試VI

1.4.1 數據流

LabVIEW作為一種通用的編程語言,與其他文本編程語言一樣,它的數據操作是最基本的操作。LabVIEW是用“數據流”的運行方式來控制VI程序,數據流是LabVIEW的生命,運行程序就是將所有輸入端口上的數據通過一系列節點送到目的端口。

下面通過一個例子來介紹數據流思想。打開前面創建的VI“Convert C to F.vi”,單擊程序框圖中高亮按鍵,然后單擊運行按鍵,在程序框圖中可以看到“小氣泡”向后移動,這就是數據一步步地向后傳遞。

在LabVIEW的程序框圖中,任意一個函數和子VI等都可稱為一個節點,每個節點都有自己的輸入端和輸出端。所謂的數據流思想的重點在于,對于一個節點,只有當它所有的輸入端口的數據都準備好以后,程序才會進入它內部執行其功能,然后將結果送至輸出端口。如果有某個輸入端口的數據因為一些算法,數據準備上有延時,那么該節點就會處于等待狀態,直到數據送來以后,才進入其內部執行相關的算法。

在圖1-28所示的Convert C to F.vi框圖中,乘法和加法分別為一個節點,在乘法完成之前,它無法將乘法的結果傳遞給加法的輸入端口,所以加法必然是在乘法完成之后才進行的。

圖1-28 Convert C to F.vi框圖

LabVIEW中的函數、子VI的輸入端口都在左邊,輸出端口都在右邊,編程的整個的方向也是從左至右的,所以好像數據流就是從左至右執行程序。這樣的想法不完全正確,正確理解和使用數據流,可以更好地編寫出用戶所需功能的程序,不需要添加一些結構,就可以控制各個程序功能之前的執行順序。

1.4.2 運行及調試VI

首先按照圖1-29所示創建一個VI,命名為“調試練習.vi”,功能是實現兩個數據xy的加法、減法和乘法運算。

圖1-29 調試練習.vi

1.找出語法錯誤

在編寫VI的過程中,工具欄中的運行按鈕有時為完整的箭頭,有時箭頭斷開,如圖1-29所示,即為斷開狀態。此時VI程序存在語法錯誤,程序不能被執行。單擊這個斷開的鍵就會彈出“錯誤列表”對話框,如圖1-30所示。該對話框提示錯誤原因和警告信息。單擊其中任何一個所列出的錯誤,選擇對話框下方的“顯示錯誤”,就會回到程序框圖,且錯誤的對象上或端口就會變成高亮,此處“減法運算”變成高亮,錯誤原因是一個輸入端子沒有連接。把它連接到數據y,工具欄中的運行按鈕就變為完整的箭頭。

圖1-30 “錯誤列表”對話框

2.高亮執行程序

在LabVIEW的工具條上有“高亮執行程序”鍵,單擊這個鍵使它變成高亮形式,再單擊“運行”按鈕,VI程序就以較慢的速度運行,沒有被執行的代碼顯示灰色,執行后的代碼顯示高亮,并顯示數據流線上的數據值,如圖1-31所示,可以根據數據的流動狀態跟蹤程序的執行。

圖1-31 放置探針和探針監視窗口

a)放置探針 b)探針監視窗口

3.斷點與單步執行

為了查找程序中的邏輯錯誤,有時希望流程圖程序一個節點接一個節點地被執行。使用斷點工具可以在程序的某一地點中止程序執行,用探針或者單步方式查看數據。當使用斷點工具時,單擊希望設置或者清除斷點的地方。斷點的顯示是,對于節點或者圖框表示為紅框,對于連線表示為紅點。當VI程序運行到斷點被設置處時,程序被暫停在將要執行的節點上,以閃爍表示。按下“單步執行”按鈕,閃爍的節點被執行,下一個將要執行的節點變為閃爍,指示它將被執行。也可以單擊“暫停”按鈕,這樣程序將連續執行,直到下一個斷點為止。

4.探針

可用探針工具來查看當流程圖程序流經某一根連接線時的數據值。放置探針可從工具選板選擇探針工具,再用鼠標左鍵單擊希望放置探針的連接線;在流程圖中使用選擇工具或連線工具,在連線上單擊鼠標右鍵,在連線的彈出式菜單中選擇“探針”命令,同樣可以為該連線加上一個探針。

在圖1-31a中數據y的連線上,放置探針1,彈出圖1-31b所示的探針監視窗口。在窗口中顯示該探針位置、值和更新時間等信息。

1.5 思考題

1.參考例1-1創建一個VI,實現將華氏溫度轉換為攝氏溫度的功能,并在前面板顯示攝氏溫度和華氏溫度。

2.創建一個VI實現兩個輸入數據的加、減、乘運算,并顯示數據的和、差與乘積。

主站蜘蛛池模板: 牙克石市| 旺苍县| 肇东市| 花莲市| 比如县| 南华县| 中方县| 徐汇区| 读书| 遂平县| 陵川县| 德江县| 无为县| 改则县| 罗田县| 漾濞| 安溪县| 秀山| 安徽省| 洛阳市| 武宣县| 榆林市| 玛纳斯县| 五河县| 乌拉特中旗| 日喀则市| 墨竹工卡县| 吉林省| 三明市| 新安县| 佛山市| 西乡县| 遵义市| 施甸县| 衡南县| 汤原县| 哈密市| 贺州市| 江山市| 江城| 新蔡县|