虛擬儀器應用-項目3_第1頁
虛擬儀器應用-項目3_第2頁
虛擬儀器應用-項目3_第3頁
虛擬儀器應用-項目3_第4頁
虛擬儀器應用-項目3_第5頁
已閱讀5頁,還剩65頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

項目3

應用結(jié)構(gòu)設計程序目錄3.1任務1應用For循環(huán)編寫VI3.2任務2應用While循環(huán)設計VI3.3應用條件結(jié)構(gòu)設計VI3.4應用順序結(jié)構(gòu)設計VI3.5應用事件結(jié)構(gòu)設計VI

3.1任務1應用For循環(huán)編寫VI

LabVIEW中除了擁有C語言中所有的程序結(jié)構(gòu)外,還有一些特殊的程序結(jié)構(gòu),如事件結(jié)構(gòu)、公式節(jié)點等,通過這些可以方便快捷地實現(xiàn)任何復雜的程序結(jié)構(gòu)。

同其它的文本語言一樣,LabVIEW中也有各種結(jié)構(gòu)。LabVIEW中的結(jié)構(gòu)主要有While循環(huán)、For循環(huán)、順序結(jié)構(gòu)、條件結(jié)構(gòu)、事件結(jié)構(gòu)等。選擇函數(shù)選板→編程→結(jié)構(gòu),打開結(jié)構(gòu)子選板。3.1任務1應用For循環(huán)編寫VILabVIEW中的結(jié)構(gòu)放置在程序框圖中,其外形一般是一個大小可以縮放的邊框,當它與其他節(jié)點的連線有數(shù)據(jù)傳遞時,邊框內(nèi)的一段代碼將反復執(zhí)行或有條件執(zhí)行或按某一定的順序執(zhí)行。結(jié)構(gòu)內(nèi)的該段代碼則被稱為子框圖。LabVIEW中的循環(huán)與結(jié)構(gòu)位于程序框圖的“函數(shù)”選板下的“結(jié)構(gòu)”子選板中。3.1任務1應用For循環(huán)編寫VI“結(jié)構(gòu)”子選板界面3.1任務1應用For循環(huán)編寫VI1.For循環(huán)結(jié)構(gòu)

在結(jié)構(gòu)子選板中找到For循環(huán),鼠標左鍵單擊,移動鼠標到程序框圖上,找到合適位置,按下鼠標左鍵,定位框體的左上角,然后移動鼠標??梢钥吹诫S鼠標移動而變化的矩形虛線框。釋放鼠標左鍵,就出現(xiàn)一個For循環(huán)結(jié)構(gòu)。3.1任務1應用For循環(huán)編寫VI3.1.1設計循環(huán)計數(shù)器

要求:應用For循環(huán),設計循環(huán)計數(shù)器。設置“循環(huán)總數(shù)”為5,觀察“循環(huán)計數(shù)”的輸出,并記錄循環(huán)次數(shù)。

循環(huán)總數(shù):輸入要循環(huán)的次數(shù)。循環(huán)次數(shù)為正整數(shù),因此N為藍色。在默認的情況下確立了For循環(huán)執(zhí)行的次數(shù),一旦開始執(zhí)行后,只有達到輸入的循環(huán)次數(shù)才能終止其運行。也可以給N輸入0值,此時不會執(zhí)行該循環(huán)中的內(nèi)容。循環(huán)計數(shù):表示它是一個循環(huán)計數(shù)器i。計數(shù)由0開始計數(shù),第一次循環(huán)結(jié)束,i計數(shù)為0,之后依次加1,一直記到i=N-1。3.1任務1應用For循環(huán)編寫VI步驟:1)新建一個VI。2)在“計數(shù)接線端”的右側(cè)端點上點擊鼠標右鍵,創(chuàng)建顯示控件,并把該控件命名為“循環(huán)計數(shù)”,用來顯示i的數(shù)值。3)構(gòu)造反饋結(jié)構(gòu),實現(xiàn)每執(zhí)行一次循環(huán)體內(nèi)部程序,計數(shù)的數(shù)值加1,用來觀察循環(huán)次數(shù);并顯示“循環(huán)次數(shù)”。4在循環(huán)體內(nèi)放置一個“等待”節(jié)點,使得For循環(huán)每運行一次等待1秒。5)保存VI,切換到前面板,然后運行VI,觀察兩個數(shù)值控件數(shù)據(jù)變化情況:可以看到顯示控件的數(shù)據(jù)每秒加1;“循環(huán)計數(shù)”從0遞增到4、“循環(huán)次數(shù)”從1增加到5。3.1任務1應用For循環(huán)編寫VI從運行結(jié)果可以看出,F(xiàn)or循環(huán)的循環(huán)次數(shù)由循環(huán)總數(shù)N決定;循環(huán)計數(shù)器從0開始計數(shù),計到N-1For循環(huán)停止。3.1任務1應用For循環(huán)編寫VI1.For循環(huán)中的自動索引

自動索引的功能是使循環(huán)框外面的數(shù)組成員逐個進入循環(huán)框內(nèi),或使循環(huán)框內(nèi)的數(shù)據(jù)累加成一個數(shù)組輸出到循環(huán)框外面。

For循環(huán)的索引可通過鼠標右鍵單擊循環(huán)邊框的數(shù)據(jù)通道來啟動和關閉,F(xiàn)or循環(huán)默認開啟自動索引功能。3.1.2利用For循環(huán)創(chuàng)建二維數(shù)組3.1任務1應用For循環(huán)編寫VI用自動索引后,循環(huán)框內(nèi)的標量數(shù)據(jù)在循環(huán)框外變成一維數(shù)組;循環(huán)框內(nèi)一維數(shù)組在循環(huán)框外就變成二維數(shù)組,因此通過自動索引可改變數(shù)組維度。2.創(chuàng)建二維數(shù)組要求:利用兩個嵌套的For循環(huán),創(chuàng)建一個4行5列的二維數(shù)組,數(shù)組如下:123451112131415212223242531323334353.1任務1應用For循環(huán)編寫VI步驟:1)新建一個VI,在程序框圖窗口工作區(qū)放置放置兩個個嵌套的For循環(huán),把循環(huán)總數(shù)內(nèi)層設為5,外層設為4。2)生成行元素一維數(shù)組。3)生成二維數(shù)組。4)保存VI,命名為“創(chuàng)建二維數(shù)組”。5)運行該VI,二維數(shù)組有4行、5列??梢姡鈱友h(huán)總數(shù)為數(shù)組行數(shù),內(nèi)層循環(huán)總數(shù)為數(shù)組列數(shù)。3.1任務1應用For循環(huán)編寫VI3.1任務1應用For循環(huán)編寫VI3.1.3移位寄存器使用移位寄存器是LabVIEW循環(huán)結(jié)構(gòu)中的一個附加對象,其功能是將當前循環(huán)完成的某個數(shù)據(jù)傳遞給下一個循環(huán)開始。在For循環(huán)的左邊框或右邊框上右擊,打開快捷菜單,選擇“添加移位寄存器”。此時左右框各出現(xiàn)一個黑色移位寄存器端口。右邊端口存儲檔次循環(huán)結(jié)束時的數(shù)據(jù),下次循環(huán)開始時,該數(shù)據(jù)傳遞給左邊端口。3.1任務1應用For循環(huán)編寫VI3.1.3移位寄存器使用為了存儲多次循環(huán)的數(shù)據(jù),可以在寄存器的左端添加端口。方法是在端口上右擊,打開的菜單中選擇“添加元素”或“刪除元素”來改變移位寄存器的位數(shù)。(a)添加寄存器(b)寄存器賦值(c)初始化與添加端口3.1任務1應用For循環(huán)編寫VI一般來說,移位寄存器可以存儲任何類型的數(shù)據(jù),但是連接在同一個寄存器兩個端子上的數(shù)據(jù)必須是同一類型的。在使用移位寄存器之前,可對寄存器進行初始化,即在左側(cè)寄存器端口連接一個常量作為初始值。如果不進行初始化,首次運行,把“0”作為初始值;非首次運行則把上次運行的數(shù)據(jù)作為初始值。3.1任務1應用For循環(huán)編寫VI移位寄存器用來將本次循環(huán)的數(shù)據(jù)存儲下來,以備下一次循環(huán)使用,在下一次循環(huán)使用以后,其中的數(shù)據(jù)被新的數(shù)據(jù)所覆蓋。把初始化數(shù)據(jù)設為“5”,在每個端口添加一個顯示控件,并放置一個探針,如圖3-7所示。運行VI時,右端口數(shù)據(jù)送入左測的第1個端口,左側(cè)數(shù)據(jù)按照三角箭頭的方向傳遞,1號端口數(shù)據(jù)送入2號端口,依次下傳。第0次運行i=0,“0”被送給右側(cè)端口,左側(cè)3個端口被賦值“5”,運行結(jié)果為“0,5,5,5”;第1次運行,數(shù)據(jù)為“1,0,5,5”;第2次結(jié)果“2,1,0,5”,第3次“3,2,1,0”……第9次運行結(jié)果。3.1任務1應用For循環(huán)編寫VI3.1任務1應用For循環(huán)編寫VI3.2任務2應用While循環(huán)設計VI1.While循環(huán)結(jié)構(gòu)While循環(huán)也在函數(shù)選板的結(jié)構(gòu)子選板中,放置方法與For循環(huán)相同,功能結(jié)構(gòu)也與For循環(huán)類似。While循環(huán)由循環(huán)框架、循環(huán)計數(shù)端子、條件端子三個部分組成。While循環(huán)無固定的運行次數(shù),當滿足停止條件時,循環(huán)停止。循環(huán)計數(shù)端子i由0開始計數(shù),也就是說第一次循環(huán)結(jié)束,i計數(shù)為0,之后依次累加1。條件端子需要輸入一個布爾量,否則程序無法運行。默認狀態(tài)是指當條件輸入為真(True)時,循環(huán)停止。點擊條件端子,其會變?yōu)椋藭r條件輸入為假(False)時,循環(huán)停止。3.2.1設計復數(shù)運算VI2.設計復數(shù)運算VI要求:設計VI實現(xiàn)復數(shù)運算代數(shù)式和指數(shù)式的互相轉(zhuǎn)換。該任務中要用到“復數(shù)”和“數(shù)學與科學常量”兩個子選板。這兩個子選板都在數(shù)值子選板中。3.2任務2應用While循環(huán)設計VI3.2任務2應用While循環(huán)設計VI步驟:1)新建一個VI,在程序框圖上放置一個While循環(huán),在條件停止端子上創(chuàng)建一個輸入控件,用來停止該循環(huán)。2)實現(xiàn)把復數(shù)的極坐標式轉(zhuǎn)換成代數(shù)式,并在該控件屬性里設置“精度位數(shù)”為小數(shù)點后2位。3)實現(xiàn)把復數(shù)的代數(shù)式轉(zhuǎn)換成極坐標式,數(shù)值顯示控件的“精度位數(shù)”設置為小數(shù)點后2位。4)運行該VI。?在模和幅角輸入控件分別輸入5和36.87,觀察代數(shù)式輸出為4+3i。?在實部和虛部輸入控件分別輸入4和3,得到的模是5,幅角是36.87度。3.2任務2應用While循環(huán)設計VI3.2任務2應用While循環(huán)設計VI3.2.2設計溫度轉(zhuǎn)換與報警VI要求:溫度測量輸入為攝氏溫度,調(diào)用在“1.3任務3創(chuàng)建VI”中創(chuàng)建的“ConvertCtoF.vi”,把攝氏溫度轉(zhuǎn)換成華氏溫度。當溫度超過華氏200度時,指示燈點亮,并停止運行VI。3.2任務2應用While循環(huán)設計VI3.2任務2應用While循環(huán)設計VI1.While循環(huán)與For循環(huán)比較1)For循環(huán)的數(shù)組默認為自動索引開啟,While循環(huán)中的數(shù)組默認為自動索引禁用??稍谘h(huán)的通道上單擊鼠標右鍵彈出快捷菜單選擇“啟用\禁用索引”選項。另外,在創(chuàng)建二維數(shù)組時一般使用For循環(huán)而不使用While循環(huán)。2)和For循環(huán)一樣,While循環(huán)也有移位寄存器,使用方法和For循環(huán)一樣。

3.2.3設計循環(huán)累加器3.2任務2應用While循環(huán)設計VI3)For循環(huán)是在執(zhí)行前檢查是否符合條件,While循環(huán)是在執(zhí)行后再檢查條件端子。因此當While循環(huán)的條件端子停止條件為“真”時,也要執(zhí)行一次,即While循環(huán)至少執(zhí)行一次;而對于For循環(huán),當總數(shù)接線端N=0時,不執(zhí)行For循環(huán)內(nèi)的程序。4)在默認的情況下,在For循環(huán)的總數(shù)接線端N輸入數(shù)值,確定For循環(huán)執(zhí)行的次數(shù),一旦開始執(zhí)行后,只有達到N次才能終止;而While循環(huán)事先不設置循環(huán)次數(shù),只要滿足條件端子的停止條件,就停止循環(huán)跳出循環(huán)體。如果一定要用For循環(huán)實現(xiàn)滿足條件,停止循環(huán)跳出循環(huán)體,只需在其邊框上的任意位置右擊,在快彈出的捷菜單里選擇“條件接線端”,可用來實現(xiàn)滿足停止條件,停止循環(huán)。3.2任務2應用While循環(huán)設計VI2.設計循環(huán)累加器要求:設計VI實現(xiàn)產(chǎn)生隨機數(shù),并進行累加,當累加和大于10或者累加20次時停止運行。分析:從要求上看,應該使用For循環(huán)的條件停止。3.2任務2應用While循環(huán)設計VI

1.真假條件在文本語言中有if…else語句、Switch語句等,在LabVIEW中也有與之類似的結(jié)構(gòu)—條件(Case)結(jié)構(gòu)當條件選擇器上連接的是布爾量時,相當于if…else語句。條件選擇器上還可以連接其它數(shù)據(jù)類型,如數(shù)值、字符串、枚舉型、錯誤簇等。條件結(jié)構(gòu)由結(jié)構(gòu)框架、條件選擇端口、選擇器標簽、遞增/減按鈕組成。條件結(jié)構(gòu)一般可與For循環(huán)、While循環(huán)配合使用。3.3.1設計數(shù)值選擇輸出VI3.3應用條件結(jié)構(gòu)設計VI3.3應用條件結(jié)構(gòu)設計VI2.設計數(shù)值選擇輸出VI要求:生成10個0~10的隨機數(shù),當隨機數(shù)的數(shù)值大于等于5時取整;小于5時取值5。然后把這10個數(shù)組成數(shù)組顯示。3.3應用條件結(jié)構(gòu)設計VI3.3.2編寫水果總價計算VI1.多種選擇條件分支不一定要使用輸入數(shù)據(jù)或提供輸出數(shù)據(jù),但是如果任一分支有輸出數(shù)據(jù),則其他所有的分支也必須在該數(shù)據(jù)通道有數(shù)據(jù)輸出,否則將可能導致編程中的代碼錯誤。如果有多種選擇的情況,可以為分支選擇器連接一個“枚舉”輸入控件。在條件結(jié)構(gòu)框架上單擊鼠標右鍵,在彈出的快捷菜單中選擇“在后面添加分支”菜單項用戶就可以為條件結(jié)構(gòu)添加新的分支。添加完新分支后可在快捷菜單中選擇“重排分支”菜單項。打開“重排分支”對話框,在對話框的分支列表中用鼠標拖動列表項可以對分支重新排序。通常,排序按鈕以第一個選擇值為基準對選擇器標簽值進行排序。刪除分支的操作與添加分支相同。3.3應用條件結(jié)構(gòu)設計VI3.3應用條件結(jié)構(gòu)設計VI2.水果總價計算VI要求:列出4種水果,如蘋果、香蕉、橙子、梨子。選擇水果種類,輸入重量,運行VI,計算該種水果的總價。3.3應用條件結(jié)構(gòu)設計VI步驟:1)創(chuàng)建VI,命名為“水果總價計算.vi”2)編輯前面板。在控件選板的“新式→字符串與路徑”子選板中找到組合框,拖放在前面板,并把標簽修改為“水果種類”。鼠標右擊該控件,選擇“編輯項”選項,打開編輯項屬性對話框進行編輯。完成項的編輯然后點擊“確定”按鈕。在前面板放置一個數(shù)值輸入控件,標簽為“重量”;放置一個數(shù)值顯示控件,標簽為“總價”。

3.3應用條件結(jié)構(gòu)設計VI

圖3-20組合框編輯項窗口3.3應用條件結(jié)構(gòu)設計VI3)在程序框圖窗口,放置條件結(jié)構(gòu),把組合框連接到條件結(jié)構(gòu)的分支選擇器上。把選擇器標簽修改為“a”、“b”。在“b”分支上右擊鼠標,在彈出的快捷菜單中選擇“在后面添加分支”,來添加、“p”分支。在a分支把重量與蘋果的單價相乘,b分支把重量與香蕉單價相乘,o分支重量與橙子單價相乘,p分支重量與梨子單價相乘。把每個分支的乘積與“總價”相連。把以上的程序代碼放到While循環(huán)中。

3.3應用條件結(jié)構(gòu)設計VI4)運行VI,在前面板組合框“水果種類”中選擇一種水果(如蘋果),選擇框里面就會顯示該種水果名稱。再輸入重量,“總價”顯示控件中就會顯示該水果的總價。3.3應用條件結(jié)構(gòu)設計VI3.4應用順序結(jié)構(gòu)設計VI3.4.1順序結(jié)構(gòu)在LabVIEW中,可以用順序結(jié)構(gòu)來控制程序執(zhí)行順序。順序結(jié)構(gòu)由多個框架組成,從框架0到框架n。程序運行時,首先執(zhí)行的是放在框架0中的程序,然后執(zhí)行的是放在框架1中的程序,……,這樣依次執(zhí)行下去。這些子框圖看起來就像一幀幀的電影膠片,因此每個框架稱為一幀。在程序運行時,只有上一個框架中的程序運行結(jié)束后才能運行下一個框架中的程序。順序結(jié)構(gòu)共有兩種類型:層疊式順序結(jié)構(gòu)和平鋪式順序結(jié)構(gòu)。平鋪式,結(jié)構(gòu)比較簡單,從第0號開始依次排列;層疊式每次只能看到一幀,與條件結(jié)構(gòu)類似,框架上端有“選擇器標簽”,可以選擇某一幀來察看該幀的程序。這兩種類型選擇器功能相同,順序結(jié)構(gòu)簡單直觀不需要在框架之間的切換;層疊結(jié)構(gòu)使程序簡潔,節(jié)省視覺空間;兩種類型之間是可以互相切換。3.4應用順序結(jié)構(gòu)設計VI3.4.2編寫順序點亮指示燈VI

要求:用平鋪式順序結(jié)構(gòu)編寫VI,實現(xiàn)紅、黃、綠三個指示燈依次點亮3秒。分析:用平鋪式順序結(jié)構(gòu),需要3幀,第1幀紅燈亮,黃燈和綠燈滅;第2幀黃燈亮,紅燈和綠燈滅;第3幀綠燈亮,紅燈和黃燈滅。3幀當中都要用到紅、黃、綠三個指示燈,因此要用到變量。3.4應用順序結(jié)構(gòu)設計VI(a)平鋪式順序結(jié)構(gòu)(b)層疊式順序結(jié)構(gòu)3.4應用順序結(jié)構(gòu)設計VI1.局部變量與全局變量在LabVIEW環(huán)境中,各個對象之間傳遞數(shù)據(jù)的基本途徑是通過連線。但是需要在幾個同時運行的程序之間傳遞數(shù)據(jù)時,顯然是不能通過連線的;即使在一個程序內(nèi)部各部分之間傳遞數(shù)據(jù)時,有時也會遇到連線的困難;還有的時候,需要在程序中多個位置訪問同一個前面板對象,甚至有些是對它寫入數(shù)據(jù)、有些是由它讀出數(shù)據(jù)。在這些情況下,就需要使用全局變量和局部變量。3.4應用順序結(jié)構(gòu)設計VI1.局部變量與全局變量在LabVIEW中的變量是程序框圖中的元素,通過它可以在另一位置訪問或存儲數(shù)據(jù)。根據(jù)不同的變量類型,數(shù)據(jù)的實際位置也不一樣,局部變量將數(shù)據(jù)存儲在前面板的輸入控件和顯示控件中;全局變量將數(shù)據(jù)存儲在特殊的可以通過多個VI訪問的倉庫中。局部變量的作用域是整個VI,用于在單個VI中傳輸數(shù)據(jù);全局變量的作用域是整臺計算機,主要用在多個VI之間共享數(shù)據(jù)。3.4應用順序結(jié)構(gòu)設計VI1)局部變量為控件創(chuàng)建局部變量的方法有兩種,一是在已有的控件對應端子上右擊,從彈出的快捷菜單中選擇創(chuàng)建→局部變量,如圖3-23所示。這樣就得到該對象的一個局部變量。另一種方法是選擇函數(shù)選板→結(jié)構(gòu)→局部變量,然后將其拖到框圖上,就可得到一個圖標。鼠標左鍵單擊該圖標,將其與框圖中已有的變量建立關聯(lián),即完成。3.4應用順序結(jié)構(gòu)設計VI局部變量可以是“寫入”也可以是“讀取”。默認情況下為寫入型,可以鼠標右鍵單擊圖標,選擇轉(zhuǎn)換為讀取。局部變量只是原變量的一個數(shù)據(jù)拷貝,但是它的屬性可以修改,并且這種改變不會影響原變量。局部變量有三種基本的用途:控制初始化、協(xié)調(diào)控制功能、臨時保存數(shù)據(jù)和傳遞數(shù)據(jù)。3.4應用順序結(jié)構(gòu)設計VI2)全局變量全局變量是LabVIEW中一個與VI地位等同的模塊,它以獨立文件的形式保存在磁盤中,文件后綴為.gbl。通過全局變量不同VI之間可以交換數(shù)據(jù)。創(chuàng)建全局變量的方法是在函數(shù)選板的“結(jié)構(gòu)→全局變量”,將其圖標拖到框圖中,得到全局變量,圖標。雙擊全局變量圖標,打開其前面板,在該面板上放上所需要的變量,例如一個數(shù)值量、一個布爾量、一個字符串變量等。保存這個變量,默認名稱為“全局1.gbl”。至此,全局變量創(chuàng)建完備,下面就可以用調(diào)用子VI的方法調(diào)用這個全局變量。3.4應用順序結(jié)構(gòu)設計VI全局變量的創(chuàng)建和調(diào)用3.4應用順序結(jié)構(gòu)設計VI在一個VI中調(diào)用全局變量的方法同調(diào)用子VI的方法,即在函數(shù)下選擇“選擇VI”然后打開所需的全局變量文件,如“全局1.gbl”。鼠標左鍵單擊全局變量圖標,“全局1”中包含的3個變量就以列表形式出現(xiàn),見圖8-17。選擇其中的布爾,該變量就是“布爾”控件的全局變量。有時需要從全局變量中讀數(shù),有時需要向全局變量寫數(shù)。這時可利用快捷菜單改變其屬性。方法是右擊全局變量圖標,選擇“轉(zhuǎn)換為讀取”或“轉(zhuǎn)換為寫入”來改變讀寫方式。全局變量不僅可以在不同VI間傳遞數(shù)據(jù),而且可以通過它傳遞消息,控制各VI的協(xié)調(diào)執(zhí)行。它在程序設計中很有用。3.4應用順序結(jié)構(gòu)設計VI無論是全局變量,還是局部變量使用過多也會帶來一些其它問題,必須引起注意。首先,從程序的靜態(tài)結(jié)構(gòu)上看,會使程序結(jié)構(gòu)不直觀,造成混亂。其次在程序運行過程中可能帶來數(shù)據(jù)狀態(tài)的競態(tài)現(xiàn)象,這主要指因為全局變量作為一種可讀可寫的中間變量,應當嚴格控制讀寫的操作,最好是使它們處于“一寫多讀”的狀態(tài)。否則可能帶來問題。3.4應用順序結(jié)構(gòu)設計VI2.程序設計步驟1)把平鋪式順序結(jié)構(gòu)拖放到工作區(qū),在后面添加2個分支。2)在第一個分支放置3個指示燈,分別為紅、黃、綠。在紅燈上右擊鼠標,創(chuàng)建一個常量,單擊一下改為真常量,為黃燈和綠燈分別創(chuàng)建一個假常量。3)在指示燈上右擊鼠標,分別創(chuàng)建紅、黃、綠燈的局部變量,放置在第二幀中,并設置黃燈為真,紅燈和綠燈為假;同樣方法在第三幀中,紅燈和黃燈將為假,綠燈為真。4)在每一幀中放置“等待(ms)”,并設置等待時間為3000ms3.4應用順序結(jié)構(gòu)設計VI2.程序設計步驟5)在前面板,改變指示燈的顏色。指示燈默認點亮為亮綠色,熄滅為暗綠色,因此,紅燈和黃燈需要修改一下。在紅燈上右擊鼠標,在彈出的快捷菜單中選擇“屬性”,打開屬性對話框。在標簽為“外觀”選項界面,看到顏色屬性中的“開”為亮綠色,單擊該綠色方塊,彈出顏色選擇窗口,選擇紅色。再單擊“關”對應的色塊,選擇暗紅色,然后單擊確定按鈕,即完成紅燈顏色設置。同樣方法設置黃燈的顏色。6)運行程序,觀察指示燈點亮過程。3.4應用順序結(jié)構(gòu)設計VI3.4應用順序結(jié)構(gòu)設計VI3.5應用事件結(jié)構(gòu)設計VI在LabVIEW中另一個常用的結(jié)構(gòu)就是事件結(jié)構(gòu)(Events),事件結(jié)構(gòu)用來作界面響應。當前面板上有數(shù)值變化、按鍵按下等情況時,就觸發(fā)事件結(jié)構(gòu)中的對應幀,實現(xiàn)相應的功能。事件結(jié)構(gòu)避免了程序運行中不斷地輪詢前面板是否有用戶交互事件的發(fā)生,而是在有事件發(fā)生時才做響應,避免了不必要的資源占用。3.5.1事件結(jié)構(gòu)所謂事件,是指對活動發(fā)生的異步通知。事件可以來自于用戶界面、外部I/O或其他方式。用戶界面事件包括鼠標點擊、鍵盤按鍵等動作;外部I/O事件則指諸如數(shù)據(jù)采集完畢或發(fā)生錯誤時硬件觸發(fā)器或定時器發(fā)出信號。其他方式的事件可通過編程生成并與程序的不同部分進行通信。LabVIEW支持用戶界面事件和通過編程生成的事件,但不支持外部I/O事件。LabVIEW中的事件結(jié)構(gòu)也是一種能改變數(shù)據(jù)流執(zhí)行方式的一種結(jié)構(gòu),使用事件結(jié)構(gòu)可以實現(xiàn)用戶在前面板的操作(事件)與程序執(zhí)行的互動。3.5應用事件結(jié)構(gòu)設計VI一個標準的事件結(jié)構(gòu)由框架、超時端子、事件數(shù)據(jù)節(jié)點、遞增/減按鈕、選擇器標簽組成。事件結(jié)構(gòu)也可以由多層框架組成,但與條件結(jié)構(gòu)不同的是,事件結(jié)構(gòu)雖然每次只能運行一個框圖,但可以同時響應幾個事件。事件結(jié)構(gòu)中,“超時端子”用來設定超時時間,其接入數(shù)據(jù)是以毫秒為單位的整數(shù)值。當超時時間設置成“-1”時,表示永不超時,程序運行時就不會進入超時幀。3.5應用事件結(jié)構(gòu)設計VI事件結(jié)構(gòu)注冊事件函數(shù)選板3.5應用事件結(jié)構(gòu)設計VI“事件數(shù)據(jù)節(jié)點”由若干個事件數(shù)據(jù)端子構(gòu)成,數(shù)據(jù)端子的增減可以通過拖拉事件數(shù)據(jù)節(jié)點來進行,也可以通過單擊鼠標右鍵從彈出的快捷菜單中選擇“添加/刪除元素”選項進行。事件結(jié)構(gòu)同樣支持隧道。3.5應用事件結(jié)構(gòu)設計VI動態(tài)事件結(jié)構(gòu)的創(chuàng)建就需要使用注冊事件節(jié)點注冊事件(指定事件結(jié)構(gòu)中事件的事件源和事件類型的過程稱為注冊事件),再將結(jié)果輸出到事件結(jié)構(gòu)動態(tài)事件注冊端子上。若要創(chuàng)建一個事件動態(tài)注冊端子,可以在事件結(jié)構(gòu)框圖上單擊鼠標右鍵,在彈出的快捷菜單中選擇“顯示動態(tài)事件接線端”選項即可。3.5應用事件結(jié)構(gòu)設計VI

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論