第8章LabVIEW_第1頁
第8章LabVIEW_第2頁
第8章LabVIEW_第3頁
第8章LabVIEW_第4頁
第8章LabVIEW_第5頁
已閱讀5頁,還剩41頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)

文檔簡介

1、第8章 LabVIEW 程序設(shè)計技巧第第8 8章章 LabVIEWLabVIEW 程序設(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)部使用,每個局部變量都對應(yīng)前面板上的一個控件,一個控件可以創(chuàng)建多個局部變量。局部變量位于FunctionsAll 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)上顯示一個問號。用操作工具單擊圖標(biāo),會出現(xiàn)一個下拉選單,選單列出了前面板上所有控制或指示的名稱,選擇所需

3、要的名稱,就完成了前面板對象的一個局部變量的創(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 程序設(shè)計技巧在默認(rèn)情況下,新創(chuàng)建的局部變量都是只能寫入的端子,在局部變量

4、上彈出快捷菜單,選擇Change To Read即可把局部變量變?yōu)樽x端子。與控件的框圖端子相似,局部變量為讀端子時的邊框要比為寫端子時的邊框粗一些。再次彈出快捷菜單,選擇Change To Write,將把局部變量變回寫端子。2局部變量的特點局部變量的特點(1) 局部變量只能在同一個VI中使用,其生存期與它所在的VI模塊密切相關(guān),VI停止運行,在此VI內(nèi)定義的局部變量自動消失。(2) 局部變量必須依附在一個面板對象上。一個面板對象可以建立多個局部變量,但一個局部變量只能有一個端點與其對應(yīng)。第8章 LabVIEW 程序設(shè)計技巧(3) 局部變量就是其相應(yīng)前面板對象的一個數(shù)據(jù)拷貝,要占一定的內(nèi)存。在

5、程序中要控制局部變量的數(shù)量,特別是對于那些包含大量數(shù)據(jù)的數(shù)組,若在程序中使用多個這種數(shù)組的局部變量,將會占用大量的內(nèi)存,從而降低程序運行的效率。(4) LabVIEW是一種并行處理語言,只要節(jié)點的輸入有效,節(jié)點就會執(zhí)行。當(dāng)程序中有多個局部變量時,要特別注意這一點。因為這種并行執(zhí)行可能造成意想不到的錯誤,例如,在程序的某一處,用戶從一個控制的局部變量中讀出數(shù)據(jù),在另一處,根據(jù)需要又為這個控制的另一個局部變量賦值。如果這兩個過程是并行發(fā)生的,就有可能使讀出的數(shù)據(jù)不是前面板對象原來的數(shù)據(jù),而是賦值后的數(shù)據(jù)。這種錯誤不是明顯的邏輯錯誤,很難發(fā)現(xiàn),因此在編程中要特別注意,盡量避免這種情況發(fā)生。第8章 L

6、abVIEW 程序設(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)前幀添加局部變量。添加的局部變量最初是一個小的淺黃色方框,并且可以拖拽到邊框上任意未被占用的位置。若將數(shù)據(jù)連接到局部變量上,該幀端子中出現(xiàn)一個桔黃色的向外指的箭頭,表示該幀是向外輸出數(shù)據(jù)的數(shù)據(jù)源,稱為數(shù)據(jù)源幀。在以后的各幀中,局部變量端子包含一個向內(nèi)指的箭頭,表示數(shù)據(jù)源幀向本幀傳送數(shù)據(jù)。注意,在數(shù)據(jù)第8章 LabVIEW 程序設(shè)計技

7、巧源幀前面的幀中不能使用局部變量。要刪除局部變量端子,從端子上彈出快捷菜單選擇Remove即可。圖8-4顯示了一個4幀的堆疊的順序結(jié)構(gòu)。幀1中的局部變量傳遞隨機函數(shù)加5的值給幀2,該值可以在幀2中使用,將該值與2相乘后使用局部變量將數(shù)據(jù)傳遞給幀3,通過波形顯示出來。在幀0中不能使用局部變量的數(shù)據(jù)。第8章 LabVIEW 程序設(shè)計技巧圖8-4 順序結(jié)構(gòu)中局部變量傳遞數(shù)據(jù) 第8章 LabVIEW 程序設(shè)計技巧8.1.2 全局變量全局變量LabVIEW中的全局變量是以獨立的VI文件形式存在的,這個VI文件只有前面板,沒有程序框圖,不能進行編程。通過全局變量可以在不同的VI之間進行數(shù)據(jù)傳遞,一個全局變

8、量的VI文件可以包含多個不同數(shù)據(jù)類型的全局變量。與全局變量一樣,全局變量位于FunctionsAll FunctionsStructures子模板中,如圖8-5所示。1全局變量的創(chuàng)建全局變量的創(chuàng)建全局變量的創(chuàng)建較為復(fù)雜。首先從Structures子模板中選中Global Variable節(jié)點,并將其添加到程序框圖中;然后雙擊全局變量圖標(biāo),打開其前面板,在Controls模板中選擇需要的前面板對象放入全局變量的前面板,添加對象的類型和數(shù)量第8章 LabVIEW 程序設(shè)計技巧沒有限制;最后在菜單欄中選擇FileSave,保存這個全局變量為一個獨立的VI,如圖8-6所示。這樣就完成了一個全局變量的創(chuàng)

9、建。創(chuàng)建并保存全局變量VI后,將鼠標(biāo)切換至數(shù)據(jù)操作工具狀態(tài),單擊程序框圖中創(chuàng)建好的全局變量圖標(biāo)或右鍵單擊該圖標(biāo),從快捷菜單中選擇Select Item,彈出子選單列出了全局變量包含的所有對象名稱,根據(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的框圖程序中,選擇FunctionsAll FunctionsSelect a VI

10、,在彈出的Choose the VI to Open對話框中選擇所需的全局變量文件(*.gbl),在框圖程序放置一個默認(rèn)的全局變量,該全局變量與第一個放入全局變量文件中的前面板的對象相關(guān)。(2) 右鍵單擊全局變量節(jié)點,在Select Item項的彈出選單中選擇所需對象。(3) 若在一個VI中需要使用多個全局變量,可以使用拷貝和粘貼全局變量的方法。第8章 LabVIEW 程序設(shè)計技巧【例8.1】 利用全局變量在VI之間傳遞數(shù)據(jù)。本例創(chuàng)建了一個全局變量和兩個VI。全局變量中包含兩個對象,即數(shù)組和數(shù)值指示器。第一個VI利用快速VI產(chǎn)生一個帶噪聲的三角波,送至全局變量的數(shù)組中,并測量該波形的最大值,然

11、后送至全局變量的數(shù)值指示器中。第二個VI從全局變量中將波形數(shù)據(jù)和該波形的最大值讀出,并在前面板中顯示。全局變量和兩個VI的程序框圖如圖8-8所示。第8章 LabVIEW 程序設(shè)計技巧(a) 全局變量前面板(b) 第一個VI框圖程序第8章 LabVIEW 程序設(shè)計技巧(c) 第二個VI的前面板和框圖程序圖8-8 利用全局變量在VI之間傳遞數(shù)據(jù)第8章 LabVIEW 程序設(shè)計技巧8.2 屬屬 性性 節(jié)節(jié) 點點LabVIEW提供了各式各樣的前面板對象,應(yīng)用這些前面板對象,可以設(shè)計出儀表化的人機交互界面。但是,僅僅提供豐富的前面板對象是不夠的,在實際運用中,還經(jīng)常需要實時地改變前面板對象的顏色、大小和

12、是否可見等屬性,達(dá)到最佳的人機交互功能。LabVIEW引入屬性節(jié)點(Property Node)概念,通過改變前面板對象屬性節(jié)點中的屬性值,可以在程序運行中動態(tài)地改變前面板對象的屬性。8.2.1 屬性節(jié)點的創(chuàng)建屬性節(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)的右鍵彈出選單中選擇Pr

13、operties,會出現(xiàn)一個下拉選單,選單列出了前面板對象的所有屬性,可根據(jù)需要選擇相應(yīng)的屬性。屬性節(jié)點最初創(chuàng)建時僅顯示一個默認(rèn)屬性。若需要同時改變前面板對象的多個屬性,一種方法是創(chuàng)建多個屬性節(jié)點,另一種方法是在一個屬性節(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

14、章 LabVIEW 程序設(shè)計技巧屬性節(jié)點有Read和Write兩種屬性,在屬性節(jié)點圖標(biāo)某一端口的彈出選單中選擇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) 讀

15、屬性 第8章 LabVIEW 程序設(shè)計技巧8.2.2 基本屬性基本屬性從某種意義上說,屬性節(jié)點與局部變量是否有效使用,是衡量使用LabVIEW編程好壞的標(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

16、時,前面板對象在前面板上處于可視狀態(tài);當(dāng)Visible值為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 Fo

17、cus屬性用于控制前面板對象是否處于鍵盤焦點狀態(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è)計技巧4Blinking Blinking屬性用于控制前面板對象是否閃爍,其數(shù)據(jù)類型為布爾型。當(dāng)輸入為True時,前面板對象處于閃爍狀態(tài);當(dāng)輸入為False時,前面板對象處于正常狀態(tài)。前面板對象閃爍的速度和顏色是可以設(shè)置的,不過這

18、兩個屬性不能由屬性節(jié)點來設(shè)置,并且一旦設(shè)定了閃爍的速度和顏色,在VI處于運行狀態(tài)時,這兩種屬性值就不能再改變。設(shè)置對象閃爍速度和顏色的方法是:在LabVIEW主選單Tools中選擇Options,彈出名為Options的對話框,在對話框上部的下拉列表框中選擇Front Panel,出現(xiàn)如圖8-15所示的屬性設(shè)置選項,在Blink Speed中設(shè)置閃爍的速度;在對話框上部的下拉列表框中選擇Colors,出現(xiàn)如圖8-16所示的屬性設(shè)置選項,選項Blink Foreground和Blink Background可以分別設(shè)置閃爍的前景色和背景色。第8章 LabVIEW 程序設(shè)計技巧圖8-15 設(shè)置閃爍

19、速度第8章 LabVIEW 程序設(shè)計技巧圖8-16 設(shè)置閃爍的前景色和背景色第8章 LabVIEW 程序設(shè)計技巧5Position Position屬性用于設(shè)置和讀取前面板對象左上角在前面板窗口中的位置(這個位置以像素點為單位,是相對于窗口左上角坐標(biāo)原點而言的),其數(shù)據(jù)類型為簇,包含兩個不帶符號的長整型數(shù)。第一個整數(shù)(Left)定位前面板對象圖標(biāo)左邊緣的位置,第二個整數(shù)(Top)定位前面板對象圖標(biāo)上邊緣的位置,如圖8-17所示。6Bounds Bounds屬性為只讀屬性,用于獲得前面板對象圖標(biāo)的大小,包括高度和寬度。其數(shù)據(jù)類型為簇,包含兩個整型元素,一個為前面板對象的寬度,另一個為高度。Bou

20、nds屬性的使用如圖8-18所示。第8章 LabVIEW 程序設(shè)計技巧圖8-17 Position屬性的使用第8章 LabVIEW 程序設(shè)計技巧圖8-18 Bounds屬性的使用第8章 LabVIEW 程序設(shè)計技巧8.2.3 屬性節(jié)點的使用屬性節(jié)點的使用屬性節(jié)點的使用用一例子來進行說明。【例8.2】 利用容器(tank)的填充顏色(Fill Color)屬性,指示一個由隨機數(shù)發(fā)生器仿真的容量是否超過了用戶指定的限制。前面板和程序框圖如圖8-19所示。運行程序,該VI將容器值與設(shè)定容限值進行比較,如果容器值小于設(shè)定值,容器由紅色填充,否則由黃色填充。該VI用到了Color Box常數(shù)(Funct

21、ionsAll FunctionsNumericAdditional Numeric Constants),用于將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)的右

溫馨提示

  • 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論