版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
1、第8章 LabVIEW 程序設(shè)計技巧第第8 8章章 LabVIEW LabVIEW 程序設(shè)計技巧程序設(shè)計技巧8.1 局部變量和全局變量局部變量和全局變量 8.2 屬性節(jié)點屬性節(jié)點 8.3 VI屬性設(shè)置屬性設(shè)置 習(xí)題習(xí)題8 第8章 LabVIEW 程序設(shè)計技巧本章將介紹LabVIEW編程中的一些技巧,包括局部變量、全局變量、屬性節(jié)點和VI屬性設(shè)置。第8章 LabVIEW 程序設(shè)計技巧8.1 局部變量和全局變量局部變量和全局變量局部變量和全局變量是LabVIEW為改善圖形化編程靈活性局限而專門設(shè)計的兩個特殊節(jié)點,主要解決數(shù)據(jù)和對象在同一VI程序中的復(fù)用和在不同的VI程序中的共享問題。8.1.1 局
2、部變量局部變量局部變量只是在同一個程序內(nèi)部使用,每個局部變量都對局部變量只是在同一個程序內(nèi)部使用,每個局部變量都對應(yīng)前面板上的一個控件應(yīng)前面板上的一個控件,一個控件可以創(chuàng)建多個局部變量一個控件可以創(chuàng)建多個局部變量。局部變量位于FunctionsStructures子模板中,如圖8-1所示。第8章 LabVIEW 程序設(shè)計技巧圖8-1 局部變量節(jié)點第8章 LabVIEW 程序設(shè)計技巧1局部變量的創(chuàng)建局部變量的創(chuàng)建局部變量的創(chuàng)建有兩種方法。第一種方法是選中Local Variable節(jié)點,將其添加到程序框圖中,這時由于局部變量還沒有和相應(yīng)的輸入或顯示控件相關(guān)聯(lián),故圖標(biāo)上顯示一個問號。用操作工具單擊
3、圖標(biāo),會出現(xiàn)一個下拉選單,選單列出了前面板上所有控制或指示的名稱,選擇所需要的名稱,就完成了前面板對象的一個局部變量的創(chuàng)建,如圖8-2(a)所示。也可以在圖標(biāo)的右鍵彈出選單中選擇Select Item,會出現(xiàn)一個與圖8-1(a)同樣的下拉選單,功能完全相同,如圖8-2(b)所示。第二種方式是在前面板或程序框圖中右擊需要創(chuàng)建局部變量的控件,選擇CreatLocal Variable選項創(chuàng)建該控件的局部變量,如圖8-3所示。第8章 LabVIEW 程序設(shè)計技巧圖8-2 第一種創(chuàng)建局部變量的方法(a) (b)第8章 LabVIEW 程序設(shè)計技巧圖8-3 第二種創(chuàng)建局部變量的方法第8章 LabVIEW
4、 程序設(shè)計技巧在默認(rèn)情況下,新創(chuàng)建的局部變量都是只能寫入的端子,在局部變量上彈出快捷菜單,選擇Change To Read即可把局部變量變?yōu)樽x端子。與控件的框圖端子相似,局部變量為讀端子時的邊框要比為寫端子時的邊框粗一些。再次彈出快捷菜單,選擇Change To Write,將把局部變量變回寫端子。2局部變量的特點局部變量的特點(1) 局部變量只能在同一個局部變量只能在同一個VI中使用,其生存期與它所在中使用,其生存期與它所在的的VI模塊密切相關(guān),模塊密切相關(guān),VI停止運行,在此停止運行,在此VI內(nèi)定義的局部變量內(nèi)定義的局部變量自動消失自動消失。(2) 局部變量必須依附在一個面板對象上。一個面
5、板對象局部變量必須依附在一個面板對象上。一個面板對象可以建立多個局部變量,但一個局部變量只能有一個端點與可以建立多個局部變量,但一個局部變量只能有一個端點與其對應(yīng)其對應(yīng)。第8章 LabVIEW 程序設(shè)計技巧(3) 局部變量就是其相應(yīng)前面板對象的一個數(shù)據(jù)拷貝局部變量就是其相應(yīng)前面板對象的一個數(shù)據(jù)拷貝,要占一定的內(nèi)存。在程序中要控制局部變量的數(shù)量,特別是對于那些包含大量數(shù)據(jù)的數(shù)組,若在程序中使用多個這種數(shù)組的局部變量,將會占用大量的內(nèi)存,從而降低程序運行的效率。(4) LabVIEW是一種并行并行處理語言,只要節(jié)點的輸入有效,節(jié)點就會執(zhí)行。當(dāng)程序中有多個局部變量時,要特別注意這一點。因為這種并行執(zhí)
6、行可能造成意想不到的錯誤,例如,在程序的某一處,用戶從一個控制的局部變量中讀出數(shù)據(jù),在另一處,根據(jù)需要又為這個控制的另一個局部變量賦值。如果這兩個過程是并行發(fā)生的,就有可能使讀出的數(shù)據(jù)不是前面板對象原來的數(shù)據(jù),而是賦值后的數(shù)據(jù)。這種錯誤不是明顯的邏輯錯誤,很難發(fā)現(xiàn),因此在編程中要特別注意,盡量避免這種情況發(fā)生。第8章 LabVIEW 程序設(shè)計技巧3局部變量的使用局部變量的使用下面是一個利用局部變量在順序結(jié)構(gòu)不同幀之間傳遞數(shù)據(jù)的例子。順序結(jié)構(gòu)局部變量是用于堆疊順序結(jié)構(gòu)不同幀之間傳遞數(shù)據(jù)的變量。2.3.1小節(jié)已經(jīng)提到,在結(jié)構(gòu)邊框上彈出快捷菜單選擇Add Sequence Local為當(dāng)前幀添加局部
7、變量。添加的局部變量最初是一個小的淺黃色方框,并且可以拖拽到邊框上任意未被占用的位置。若將數(shù)據(jù)連接到局部變量上,該幀端子中出現(xiàn)一個桔黃色的向外指的箭頭,表示該幀是向外輸出數(shù)據(jù)的數(shù)據(jù)源,稱為數(shù)據(jù)源幀。在以后的各幀中,局部變量端子包含一個向內(nèi)指的箭頭,表示數(shù)據(jù)源幀向本幀傳送數(shù)據(jù)。注意,在數(shù)據(jù)第8章 LabVIEW 程序設(shè)計技巧源幀前面的幀中不能使用局部變量。要刪除局部變量端子,從端子上彈出快捷菜單選擇Remove即可。圖8-4顯示了一個4幀的堆疊的順序結(jié)構(gòu)。幀1中的局部變量傳遞隨機函數(shù)加5的值給幀2,該值可以在幀2中使用,將該值與2相乘后使用局部變量將數(shù)據(jù)傳遞給幀3,通過波形顯示出來。在幀0中不能
8、使用局部變量的數(shù)據(jù)。第8章 LabVIEW 程序設(shè)計技巧圖8-4 順序結(jié)構(gòu)中局部變量傳遞數(shù)據(jù) 第8章 LabVIEW 程序設(shè)計技巧8.1.2 全局變量全局變量LabVIEW中的全局變量是以獨立的全局變量是以獨立的VI文件形式存在的,文件形式存在的,這個這個VI文件只有前面板,沒有程序框圖,不能進行編程文件只有前面板,沒有程序框圖,不能進行編程。通過全局變量可以在不同的全局變量可以在不同的VI之間進行數(shù)據(jù)傳遞之間進行數(shù)據(jù)傳遞,一個全局變量的VI文件可以包含多個不同數(shù)據(jù)類型的全局變量。與全局變量一樣,全局變量位于FunctionsStructures子模板中,如圖8-5所示。1全局變量的創(chuàng)建全局變
9、量的創(chuàng)建全局變量的創(chuàng)建較為復(fù)雜。首先從Structures子模板中選中Global Variable節(jié)點,并將其添加到程序框圖中;然后雙擊全局變量圖標(biāo),打開其前面板,在Controls模板中選擇需要的前面板對象放入全局變量的前面板,添加對象的類型和數(shù)量第8章 LabVIEW 程序設(shè)計技巧沒有限制;最后在菜單欄中選擇FileSave,保存這個全局變量為一個獨立的VI,如圖8-6所示。這樣就完成了一個全局變量的創(chuàng)建。創(chuàng)建并保存全局變量VI后,將鼠標(biāo)切換至數(shù)據(jù)操作工具狀態(tài),單擊程序框圖中創(chuàng)建好的全局變量圖標(biāo)或右鍵單擊該圖標(biāo),從快捷菜單中選擇Select Item,彈出子選單列出了全局變量包含的所有對
10、象名稱,根據(jù)需要選擇相應(yīng)的對象,如圖8-7所示。第8章 LabVIEW 程序設(shè)計技巧圖8-5 全局變量節(jié)點第8章 LabVIEW 程序設(shè)計技巧圖8-6 創(chuàng)建全局變量 第8章 LabVIEW 程序設(shè)計技巧圖8-7 選擇全局變量第8章 LabVIEW 程序設(shè)計技巧2全局變量的使用全局變量的使用全局變量的使用方法如下:(1) 在VI的框圖程序中,選擇FunctionsSelect a VI,在彈出的Choose the VI to Open對話框中選擇所需的全局變量文件(*.gbl),在框圖程序放置一個默認(rèn)的全局變量,該全局變量與第一個放入全局變量文件中的前面板的對象相關(guān)。(2) 右鍵單擊全局變量節(jié)
11、點,在Select Item項的彈出選單中選擇所需對象。(3) 若在一個VI中需要使用多個全局變量,可以使用拷貝和粘貼全局變量的方法。第8章 LabVIEW 程序設(shè)計技巧【例8.1】 利用全局變量在VI之間傳遞數(shù)據(jù)。本例創(chuàng)建了一個全局變量和兩個VI。全局變量中包含兩個對象,即數(shù)組和數(shù)值指示器。第一個VI利用快速VI產(chǎn)生一個帶噪聲的三角波,送至全局變量的數(shù)組中,并測量該波形的最大值,然后送至全局變量的數(shù)值指示器中。第二個VI從全局變量中將波形數(shù)據(jù)和該波形的最大值讀出,并在前面板中顯示。全局變量和兩個VI的程序框圖如圖8-8所示。第8章 LabVIEW 程序設(shè)計技巧(a) 全局變量前面板(b) 第
12、一個VI框圖程序第8章 LabVIEW 程序設(shè)計技巧(c) 第二個VI的前面板和框圖程序圖8-8 利用全局變量在VI之間傳遞數(shù)據(jù)第8章 LabVIEW 程序設(shè)計技巧8.2 屬屬 性性 節(jié)節(jié) 點點LabVIEW提供了各式各樣的前面板對象,應(yīng)用這些前面板對象,可以設(shè)計出儀表化的人機交互界面。但是,僅僅提供豐富的前面板對象是不夠的,在實際運用中,還經(jīng)常需要實時地改變前面板對象的顏色、大小和是否可見等屬性,達(dá)到最佳的人機交互功能。LabVIEW引入屬性節(jié)點(Property Node)概念,通過改變前面板對象屬性節(jié)點中的屬性值,可以在程序運行中動態(tài)地改變前面板對象的屬性。8.2.1 屬性節(jié)點的創(chuàng)建屬性
13、節(jié)點的創(chuàng)建屬性節(jié)點的創(chuàng)建方法是在前面板對象或其端口的右鍵彈出選單中選擇CreateProperty Node項,即在控件端子旁邊創(chuàng)建一個新的屬性節(jié)點,如圖8-9所示。第8章 LabVIEW 程序設(shè)計技巧圖8-9 屬性節(jié)點的創(chuàng)建第8章 LabVIEW 程序設(shè)計技巧創(chuàng)建的屬性節(jié)點帶有標(biāo)簽,為最初標(biāo)簽,可以對原標(biāo)簽進行修改。用操作工具直接單擊屬性節(jié)點的圖標(biāo),或在圖標(biāo)的右鍵彈出選單中選擇Properties,會出現(xiàn)一個下拉選單,選單列出了前面板對象的所有屬性,可根據(jù)需要選擇相應(yīng)的屬性。屬性節(jié)點最初創(chuàng)建時僅顯示一個默認(rèn)屬性。若需要同時改若需要同時改變前面板對象的多個屬性,一種方法是創(chuàng)建多個屬性節(jié)點,變前
14、面板對象的多個屬性,一種方法是創(chuàng)建多個屬性節(jié)點,另一種方法是在一個屬性節(jié)點的圖標(biāo)上添加多個端口。另一種方法是在一個屬性節(jié)點的圖標(biāo)上添加多個端口。添加多個端口的方法是使用位置工具拖動屬性節(jié)點圖標(biāo)的下邊緣或上邊緣,也可在屬性節(jié)點圖標(biāo)右鍵彈出的選單中選擇Add Element,如圖8-10所示。添加了新的屬性節(jié)點后,使用操作工具單擊新添項或在新添項單擊鼠標(biāo)右鍵選擇Properties項,彈出該對象所有屬性的列表,從中選擇新的屬性節(jié)點。第8章 LabVIEW 程序設(shè)計技巧圖8-10 屬性節(jié)點的添加第8章 LabVIEW 程序設(shè)計技巧屬性節(jié)點有Read和Write兩種屬性,在屬性節(jié)點圖標(biāo)某一端口的彈出選
15、單中選擇Change to Read或Change to Write可以改變該端口的讀、寫屬性,選擇Change All to Read或Change All to Write可以改變屬性節(jié)點圖標(biāo)中所有端口的讀、寫屬性,如圖8-11所示。注意注意:在讀、寫屬性節(jié)點的圖標(biāo)上,小箭頭的位置和方向是有區(qū)別的。當(dāng)屬性節(jié)點設(shè)置為讀屬性時,小箭頭在節(jié)點右側(cè),方向向外;當(dāng)屬性節(jié)點設(shè)置為寫屬性時,小箭頭在節(jié)點左側(cè),方向向內(nèi)。第8章 LabVIEW 程序設(shè)計技巧圖8-11 兩種屬性節(jié)點(a) 寫屬性 (b) 讀屬性 第8章 LabVIEW 程序設(shè)計技巧8.2.2 基本屬性基本屬性從某種意義上說,屬性節(jié)點與局部變
16、量是否有效使用,屬性節(jié)點與局部變量是否有效使用,是衡量使用是衡量使用LabVIEW編程好壞的標(biāo)準(zhǔn)編程好壞的標(biāo)準(zhǔn),因此在編程應(yīng)用中會經(jīng)常使用屬性節(jié)點。不同類型前面板對象的屬性種類繁多,各不相同,比如Wave Gragh顯示控件,其節(jié)點屬性最復(fù)雜,可控屬性多達(dá)33個。有效地使用屬性節(jié)點可以添加很多實用的功能,使用戶設(shè)計的圖形化人機交互界面更加友好、美觀,操作更加方便。下面以字符串控件為例,介紹一些前面板對象共有且常用屬性的用法。1Visible Visible屬性用來控制前面板對象在前面板窗口中是否可視,其數(shù)據(jù)類型為布爾型。當(dāng)Visible值為True時,前面板對象在前面板上處于可視狀態(tài);當(dāng)Vis
17、ible值為False時,前面板對象在前面板上處于隱藏狀態(tài),如圖8-12所示。第8章 LabVIEW 程序設(shè)計技巧圖8-12 Visible屬性的使用第8章 LabVIEW 程序設(shè)計技巧2Disabled 當(dāng)VI處于運行狀態(tài)時,通過Disabled屬性的設(shè)置,可以控制是否允許用戶訪問一個前面板對象,其數(shù)據(jù)類型為整型。前面板對象處于可視狀態(tài)(Visible)時,當(dāng)輸入值為0或1時,用戶可以訪問該前面板對象;當(dāng)輸入值為2時,前面板對象處于Disable狀態(tài),此時用戶不可以訪問該前面板對象。該屬性的設(shè)置如圖8-13所示。3Key Focus Key Focus屬性用于控制前面板對象是否處于鍵盤焦點狀
18、態(tài),其數(shù)據(jù)類型為布爾型。當(dāng)輸入為True時,前面板對象處于鍵盤焦點狀態(tài);當(dāng)輸入為False時,前面板對象處于失去鍵盤焦點狀態(tài),如圖8-14所示。第8章 LabVIEW 程序設(shè)計技巧圖8-13 Disabled屬性的使用第8章 LabVIEW 程序設(shè)計技巧圖8-14 Key Focus屬性的使用第8章 LabVIEW 程序設(shè)計技巧5Position Position屬性用于設(shè)置和讀取前面板對象左上角在前面板窗口中的位置(這個位置以像素點為單位,是相對于窗口左上角坐標(biāo)原點而言的),其數(shù)據(jù)類型為簇,包含兩個不帶符號的長整型數(shù)。第一個整數(shù)(Left)定位前面板對象圖標(biāo)左邊緣的位置,第二個整數(shù)(Top)
19、定位前面板對象圖標(biāo)上邊緣的位置,如圖8-17所示。6Bounds Bounds屬性為只讀屬性,用于獲得前面板對象圖標(biāo)的大小,包括高度和寬度。其數(shù)據(jù)類型為簇,包含兩個整型元素,一個為前面板對象的寬度,另一個為高度。Bounds屬性的使用如圖8-18所示。第8章 LabVIEW 程序設(shè)計技巧圖8-17 Position屬性的使用第8章 LabVIEW 程序設(shè)計技巧圖8-18 Bounds屬性的使用第8章 LabVIEW 程序設(shè)計技巧8.2.3 屬性節(jié)點的使用屬性節(jié)點的使用屬性節(jié)點的使用用一例子來進行說明?!纠?.2】 利用容器(tank)的填充顏色(Fill Color)屬性,指示一個由隨機數(shù)發(fā)生
20、器仿真的容量是否超過了用戶指定的限制。前面板和程序框圖如圖8-19所示。運行程序,該VI將容器值與設(shè)定容限值進行比較,如果容器值小于設(shè)定值,容器由紅色填充,否則由黃色填充。該VI用到了Color Box常數(shù),用于將True Case填充為紅色,F(xiàn)alse Case填充為黃色。用操作工具單擊這個常數(shù)可以選擇顏色。第8章 LabVIEW 程序設(shè)計技巧圖8-19 例8.2的前面板和程序框圖第8章 LabVIEW 程序設(shè)計技巧8.3 VI屬性設(shè)置屬性設(shè)置VI在運行時的表現(xiàn)除了在編輯過程中要進行適當(dāng)?shù)囊?guī)定外,更多的是在VI屬性設(shè)置中完成的。VI的屬性設(shè)置通過VI屬性對話框完成。打開VI屬性對話框的方法是從選單中選擇FileVI Properties,或者用鼠標(biāo)右鍵單擊前面板窗口右上角的圖標(biāo),彈出快捷選單,選擇VI Properties,如圖8-20所示。VI屬性對話框如圖8-21所示,在Category下拉列表框中選擇需要設(shè)定的屬性類別,目前的屬性類別有10項。第1個選項為General,是默認(rèn)選項,提供圖標(biāo)編輯,顯示VI路徑和版本信息。第2個選項為Memory Usage,顯示VI所占用的磁盤空間和系統(tǒng)信息。第8章 LabVIEW 程序設(shè)計技巧圖8-20 VI圖標(biāo)的右鍵彈出選單 第8章 LabVIEW 程序設(shè)計技巧圖
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五版申通快遞快遞運輸服務(wù)協(xié)議范本3篇
- 二零二五年度寵物領(lǐng)養(yǎng)服務(wù)合同標(biāo)準(zhǔn)范本2篇
- 紡織行業(yè)紡織培訓(xùn)
- 二零二五版國際貨運代理業(yè)投資監(jiān)管細(xì)則3篇
- 酒店管理的管理技能
- 二零二五年度物流倉儲行業(yè)搬運工勞務(wù)派遣服務(wù)協(xié)議3篇
- 二零二五年度個人與企業(yè)個人間文化藝術(shù)交流活動合同規(guī)范3篇
- 二零二五年度跨境電商品牌授權(quán)區(qū)域代理銷售委托代銷合同3篇
- 二零二五年度個人教育培訓(xùn)貸款合同模板2篇
- 二零二五年度入學(xué)新生教育法律協(xié)議書(全面創(chuàng)新發(fā)展)3篇
- 致命性大出血急救專家共識
- 住院成人高血糖患者血糖監(jiān)測醫(yī)護協(xié)議處方共識
- DL-T5816-2020分布式電化學(xué)儲能系統(tǒng)接入配電網(wǎng)設(shè)計規(guī)范
- 2024年4月自考00832英語詞匯學(xué)試題
- 競賽試卷(試題)-2023-2024學(xué)年六年級下冊數(shù)學(xué)人教版
- 《電力用直流電源系統(tǒng)蓄電池組遠(yuǎn)程充放電技術(shù)規(guī)范》
- T-ACEF 095-2023 揮發(fā)性有機物泄漏檢測紅外成像儀(OGI)技術(shù)要求及監(jiān)測規(guī)范
- 骨科手術(shù)的術(shù)后飲食和營養(yǎng)指導(dǎo)
- 旅游定制師入行培訓(xùn)方案
- 2024年中國南方航空股份有限公司招聘筆試參考題庫含答案解析
- 六年級上冊數(shù)學(xué)應(yīng)用題100題
評論
0/150
提交評論