虛擬儀器技術與應用-項目3 應用結構設計程序_第1頁
虛擬儀器技術與應用-項目3 應用結構設計程序_第2頁
虛擬儀器技術與應用-項目3 應用結構設計程序_第3頁
虛擬儀器技術與應用-項目3 應用結構設計程序_第4頁
虛擬儀器技術與應用-項目3 應用結構設計程序_第5頁
已閱讀5頁,還剩80頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

項目3應用結構設計程序2024/1/3121:20目錄3.1任務1應用For循環(huán)編寫VI3.2任務2應用While循環(huán)設計VI3.3應用條件結構設計VI3.4應用順序結構設計VI3.5應用事件結構設計VI

3.1項目目標知識目標能力目標素養(yǎng)目標1. 了解LabVIEW的結構有哪些。2. 熟練掌握應用For循環(huán)和While循環(huán)編寫程序的方法。3. 熟練掌握應用條件結構編寫簡單程序,以及綜合應用條件結構和While循環(huán)編寫程序。4. 掌握應用順序結構編寫簡單程序的方法。5. 熟練掌握應用事件結構編寫程序的方法。6. 掌握綜合應用事件結構、順序結構和While循環(huán)編寫程序。會應用For循環(huán)和While循環(huán)編寫程序。會使用For循環(huán)和While循環(huán)的移位寄存器功能。會應用順序結構、事件結構編寫程序。會綜合應用事件結構、順序結構和While循環(huán)編寫程序。會進行程序調試運行,以及錯誤處理等。具有良好的編程習慣,程序框圖設計整齊美觀,前面板設計美觀、操作方便。具有良好的工程意識,程序命名規(guī)范、各個控件命名規(guī)范。具有良好的實驗習慣,操作規(guī)范。具有良好自我學習能力,具有勇于創(chuàng)新、敬業(yè)樂業(yè)的工作作風。3.2任務1應用For循環(huán)編寫VILabVIEW中除了擁有C語言中所有的程序結構外,還有一些特殊的程序結構,如事件結構、公式節(jié)點等,通過這些可以方便快捷地實現任何復雜的程序結構。同其它的文本語言一樣,LabVIEW中也有各種結構。LabVIEW中的結構主要有While循環(huán)、For循環(huán)、順序結構、條件結構、事件結構等。選擇函數選板→編程→結構,打開結構子選板。LabVIEW中的結構放置在程序框圖中,其外形一般是一個大小可以縮放的邊框,當它與其他節(jié)點的連線有數據傳遞時,邊框內的一段代碼將反復執(zhí)行或有條件執(zhí)行或按某一定的順序執(zhí)行。結構內的該段代碼則被稱為子框圖。LabVIEW中的循環(huán)與結構位于程序框圖的“函數”選板下的“結構”子選板中?!敖Y構”子選板界面3.2任務1應用For循環(huán)編寫VI1.For循環(huán)結構

在結構子選板中找到For循環(huán),鼠標左鍵單擊,移動鼠標到程序框圖上,找到合適位置,按下鼠標左鍵,定位框體的左上角,然后移動鼠標??梢钥吹诫S鼠標移動而變化的矩形虛線框。釋放鼠標左鍵,就出現一個For循環(huán)結構。3.1.1設計循環(huán)計數器

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

3.3.3設計循環(huán)累加器3.3任務2應用While循環(huán)編寫VI4)在默認的情況下,在For循環(huán)的總數接線端N輸入數值,確定For循環(huán)執(zhí)行的次數,一旦開始執(zhí)行后,只有達到N次才能終止;而While循環(huán)事先不設置循環(huán)次數,只要滿足條件端子的停止條件,就停止循環(huán)跳出循環(huán)體。如果一定要用For循環(huán)實現滿足條件,停止循環(huán)跳出循環(huán)體,只需在其邊框上的任意位置右擊,在快彈出的捷菜單里選擇“條件接線端”,可用來實現滿足停止條件,停止循環(huán)。3.3任務2應用While循環(huán)編寫VI2.設計循環(huán)累加器要求:設計VI實現產生隨機數,并進行累加,當累加和大于10或者累加20次時停止運行。分析:從要求上看,應該使用For循環(huán)的條件停止。

3.3任務2應用While循環(huán)編寫VI1.While循環(huán)與For循環(huán)比較While循環(huán)同For循環(huán)一樣可以使用移位寄存器,添加移位寄存器的方法也相同。下面設計一個用While循環(huán)和移位寄存器實現循環(huán)點亮指示燈的程序。要求:3個指示燈,每個燈點亮1秒,循環(huán)執(zhí)行。3.3.4利用移位寄存器循環(huán)點亮指示燈3.3任務2應用While循環(huán)編寫VI步驟:1)設計程序的前面板。先制作3個燈的蔟,并設置3個燈的顏色屬性,分別設置為紅色、綠色、藍色。在前面板,打開控件選板,前面的例子,使用“新式”選項中的控件,這個例子學習使用“銀色”選項中的控件。選擇“銀色→布爾”中的LED(銀色),放置在前面板,右擊LED,快捷菜單中,顯示項選項下的“標簽”選項單擊,去掉上面的√,表示不顯示標簽。選中LED,工具欄上,鼠標左鍵點擊“調整對象大小”,選擇“設置寬度和高度”,如圖3-17所示,彈出“調整對象大小”窗口,如圖3-18所示。在寬度和高度數據框中輸入數據,比如該VI中,設置為60,然后點擊“應用寬度和高度”,最后單擊確定按鈕,完成大小設置。3.3任務2應用While循環(huán)編寫VI

3.3任務2應用While循環(huán)編寫VI設置控件寬度和高度調整對象大小窗口把大小修改好的LED復制成3個,排列整齊,然后右擊第一個LED,彈出的快捷菜單中,選擇“屬性”,打開布爾類的屬在該圖中可以看到,也可以在此進行標簽可見設置、控件寬度和高度設置等。圖中的左下方,可以進行控件的顏色設置,這里的“開”對應的是LED點亮時的顏色,“關”對應的是LED熄滅時的顏色。單擊“開”右邊的淡綠色方塊,彈出顏色選擇對話框,如圖3-20左邊所示,可以在上方的顏色條中選擇顏色,也可以在下方的“用戶”、“歷史”、“系統(tǒng)”下的選項選擇顏色。最上邊顏色條是從黑到白漸變色,而最右邊的性窗口。是透明選項,選擇該選項,控件透明。這個LED開的狀態(tài)顏色為紅色,在“用戶”下的顏色方塊中選擇紅色即可。然后把關的狀態(tài)設置成暗紅色。單擊“關”右邊的深綠色方塊,彈出顏色選擇對話框,顏色選擇對話框中,沒有暗紅色選項,可以在上方的彩色顏色條中選擇,也可以點擊右下角的調色盤,彈出圖3-20右邊“顏色”窗口,在該窗口可以自定義顏色。3.3任務2應用While循環(huán)編寫VI可以在左邊選擇定義好的顏色方塊;也可以在右邊顏色區(qū)域單擊鼠標左鍵選擇顏色;還可以在右邊數據框輸入紅、綠、藍三原色的數據,數據范圍0-255,紅、綠、藍數值都為零時候,是黑色;都為255時候是白色。三原色的數據不同會得到不同顏色。三原色的數值越大顏色越淡,還可以拖拽右邊的色條改變顏色的深淺。配置好顏色后,單擊確定按鈕,回到屬性窗口,這樣,開和關的顏色屬性就設置好了,單擊確定按鈕,回到VI的前面板。按照此法把前面板的第三個LED設置成開為淡藍色、關為深藍色即可,第二個指示燈為綠色不用修改。3.3任務2應用While循環(huán)編寫VI

3.3任務2應用While循環(huán)編寫VI布爾屬性窗口

自定義顏色方法圖在控件選板的“銀色”選項中選擇“數據容器→蔟(銀色)”,放置在前面板,拖拽變大,然后把三個LED全部選中,拖進蔟里面。右擊蔟邊框,設置不顯示標簽。3.3任務2應用While循環(huán)編寫VI前面板2)設計程序框圖。在程序框圖窗口放置While循環(huán),前面板放置一個銀色的停止按鈕,在程序框圖中把該按鈕連接到循環(huán)條件端。右擊While循環(huán)邊框,彈出的快捷菜單中選擇“添加移位寄存器”,添加后,在左邊拖拽成3位,用來放置3個布爾量。把移位寄存器進行初始化,一位連接真常量、兩位連接假常量。在函數選板中,選擇“蔟、類與變體→捆綁”,放置在While循環(huán)中,并拖拽成3個輸入端子,把移位寄存器的3位捆綁成蔟,然后連接到做好的LED蔟控件的輸入端。最后放一個等待函數,等待時間設置成1000毫秒,表示每個LED燈點亮一秒。設計好的程序框圖,如圖3-21(b)所示。設計好程序之后,保存VI,切換到前面板,運行程序,觀察3個LED順序點亮。3.3任務2應用While循環(huán)編寫VI程序框圖1.真假條件在文本語言中有if…else語句、Switch語句等,在LabVIEW中也有與之類似的結構—條件(Case)結構當條件選擇器上連接的是布爾量時,相當于if…else語句。條件選擇器上還可以連接其它數據類型,如數值、字符串、枚舉型、錯誤簇等。條件結構由結構框架、條件選擇端口、選擇器標簽、遞增/減按鈕組成。條件結構一般可與For循環(huán)、While循環(huán)配合使用。3.4.1設計數值選擇輸出VI3.4任務3應用條件結構設計VI3.4任務3應用條件結構設計VI2.設計數值選擇輸出VI要求:生成10個0~10的隨機數,當隨機數的數值大于等于5時取整;小于5時取值5。然后把這10個數組成數組顯示。3.4任務3應用條件結構設計VI3.4.2多種選擇條件應用1.多種選擇條件條件結構的所有輸入端子,包括隧道和選擇端子的數據對所有分支都可以通過連線使用,甚至不用連線也可使用。分支不一定要使用輸入數據或提供輸出數據,但是如果任一分支有輸出數據,則其他所有的分支也必須在該數據通道有數據輸出,否則將可能導致編程中的代碼錯誤。如果有多種選擇的情況,可以為分支選擇器連接一個“枚舉”輸入控件。在條件選擇端連接枚舉變量的時候,選擇器的值變?yōu)椤?”、“1”,對應兩個分支。在條件結構框架上單擊鼠標右鍵,在彈出的快捷菜單中選擇“在后面添加分支”菜單項用戶就可以為條件結構添加新的分支。添加完新分支后可在快捷菜單中選擇“重排分支”菜單項。打開“重排分支”對話框,在對話框的分支列表中用鼠標拖動列表項可以對分支重新排序。通常,排序按鈕以第一個選擇值為基準對選擇器標簽值進行排序。刪除分支的操作與添加分支相同。3.4任務3應用條件結構設計VI在前面板,右擊枚舉控件,在打開的快捷菜單中選擇“編輯項”,打開編輯項窗口如圖所示,可以在此窗口進行添加項、刪除項、排序操作。要注意,枚舉的項要與分支一一對應,即選擇枚舉“0”,執(zhí)行“0”分支框里的程序,項和分支不對應程序報錯。3.4任務3應用條件結構設計VI2.設計數碼管顯示VI1)制作數碼管簇在控件選板中布爾控件“方形指示燈”,放置在前面板,在控件上點右鍵,去掉控件的標簽顯示。把方形指示燈拖放為細長形狀,然后復制控件,用此方法做4個豎條和3個橫條。把控件拼出“8”的形狀,并在8的右下角放置一個圓形指示燈,表示小數點,然后右擊控件,取消控件的標簽(label)顯示。調整布爾控件的位置,使其更加美觀。在控件選板中,選擇“新式→數據容器→簇”,將簇的外框放置在前面板上,將數碼管拖放到簇中。右擊簇的外框,在快捷菜單中,選擇“自動調整大小→調整為匹配大小”。在簇邊框上右擊鼠標,選擇“重新排序簇中控件”,左上面的控件開始按照順時針方向右0到7排序,如圖所示。排序后,選擇窗口上的對鉤,關閉排序窗口,即完成了一個數碼管的制作。3.4任務3應用條件結構設計VI3.4任務3應用條件結構設計VI數碼管及簇中的控件排序2)一位數碼顯示實現一位數碼顯示的程序框圖如圖3-26a圖所示,這里主要用到條件結構。在條件結構的分支選擇器上,連接一個整數的輸入控件,設計0~9一共十個分支,每個分支里都有一個布爾常量組成的常量數組。在0分支,第0~5段數碼亮、6、7段滅,因此數組中,第0~5號元素為“T”、6和7為“F”。同理,1分支的數組中,第2和第3號元素為,“T”其他元素為“F”,依此法編輯所有分支。編輯好之后,在數組輸出端與簇之間放置了一個“數組至簇轉換”函數(該函數位于“編程→數組”),該函數默認大小為9個成員,由于該數碼管有8個,在該函數上點右鍵,把大小修改成8個。當數值輸入控件輸入“0”時,選擇0分支,數碼管顯示“0”,以此類推。如果在數值輸入控件中,輸入9,顯示效果如圖3-26b圖所示。3.4任務3應用條件結構設計VI3.4任務3應用條件結構設計VI一位數碼管3)三位數碼顯示在程序框圖窗口,把圖3-26中程序除了數值控件之外,都復制成3個,分別把蔟標簽修改為百位、十位和個位。對于輸入的數據進行判斷,如果>0就把該數值分解成百位、十位、個位;如果<0,就記為“0”,然后,用帶余數的除法,除100,得到的商是百位,余數再除以10,得到商是十位、余數是個位。當運行VI時,在數值輸入控件輸入1000以內的數據,就會在數碼管中顯示出來。為了獲得較好的顯示效果,需要進行一些修飾。在前面板菜單欄中,查看→工具選板,將調色板的選項配置為T(透明色),涂色簇的外框,將三個簇的外框隱去。在控件選板中,選擇“修飾→平面圓盒”,將簇放置到平面圓盒上,并將該盒子移至后面。用涂色功能,將平面圓盒涂黑。根據需要,適當調整控件的擺布和黑色平面圓盒的大小形狀。3.4任務3應用條件結構設計VI設計好的三位數碼顯示程序框圖和顯示結果如圖3-27所示。把三位數碼顯示VI保存為“數碼管subVI.vi”,并進行圖標和連線板的編輯,以備其它VI調用。連線板有一個數值型輸入端“Numeric”和三個簇輸出端,即三個數碼管簇。

3.4任務3應用條件結構設計VI三位數碼顯示程序框圖和顯示效果3.設計氣溫監(jiān)測VI要求:模擬當前溫度T變化當T≤20℃,顯示溫度偏低、指示燈藍色;當21℃≤T≤28℃度,顯示溫度舒適、指示燈綠色;當29℃≤T≤35℃,溫度偏高、指示燈黃色;當T≥36℃,溫度太高、指示燈紅色。分析:這是一個動態(tài)改變顏色屬性的例子,考慮用條件結構和屬性節(jié)點。3.4任務3應用條件結構設計VI3.設計氣溫監(jiān)測VI步驟:程序框圖中函數選板→編程→結構里找到條件結構,拖拽的合適大小。在前面板中的控件選板→新式→數值里面,選擇水平指針滑動桿,標簽修改為模擬環(huán)境溫度,修改上下線和大小。再放一個數值顯示控件,標簽修改為“當前溫度”。在程序框圖中與模擬環(huán)境溫度連接。3.4任務3應用條件結構設計VI3.設計氣溫監(jiān)測VI放一個條件結構,把模擬溫度后面連接一個強制轉換,把數據類型轉換為長整型“I32”然后再連接到條件結構的分支選擇器上。在條件結構的默認分支標簽修改為:“..20,默認”,1分支修改為“21..28”。右擊選擇器標簽,在后面添加分支,標簽修改為“29..35”,同樣方法再添加一個分支,標簽修改為“36..”。條件結構編寫完成之后,下面分別編輯條件結構的各個分支。3.4任務3應用條件結構設計VI3.設計氣溫監(jiān)測VI編輯溫度狀態(tài)顯示字符串。在條件結構的每個分支放置一個字符串常量,分別是“溫度偏低”、“溫度舒適”、“溫度偏高”和“溫度太高”。把字符串常量連接到條件結構邊框,在數據隧道上右擊,創(chuàng)建顯示控件,標簽修改為“溫度狀態(tài)”。編輯指示燈顏色。前面板放置一個指示燈,在指示燈上右擊,創(chuàng)建屬性節(jié)點,選擇顏色[4],如圖所示。屬性節(jié)點上右擊,轉為寫入,在屬性節(jié)點的“Color[4]”輸入端右擊,創(chuàng)建常量,如圖b)所示。把顏色蔟常量分別放在條件結構的每個分支,溫度偏低分支修改為藍色、溫度舒適分支修改為綠色、溫度偏高分支修改為橙色、溫度太高分支修改為紅色,再把這幾個顏色蔟連接到顏色屬性節(jié)點上。3.4任務3應用條件結構設計VI指示燈顏色屬性設置3.設計氣溫監(jiān)測VI編輯滑動桿填充色。模擬溫度滑動桿上右擊,創(chuàng)建屬性節(jié)點,選擇“填充顏色”,然后右擊屬性節(jié)點,轉為寫入。在條件結構的每個分支分別放置顏色盒常量,顏色和指示燈的顏色一一對應,然后連接到屬性節(jié)點的“FillColor”輸入端。在上面編寫好的程序中放置一個While循環(huán),框住所有程序,再在條件端上創(chuàng)建輸入控件,編寫好的程序如圖所示。3.4任務3應用條件結構設計VI3.設計氣溫監(jiān)測VI運行程序,拖拽滑動桿,觀察溫度值和指示燈、滑動桿的顏色變化。3.4任務3應用條件結構設計VI4.編寫水果總價計算VI要求:列出4種水果,如蘋果、香蕉、橙子、梨子。選擇水果種類,輸入重量,運行VI,計算該種水果的總價。3.4任務3應用條件結構設計VI步驟:1)創(chuàng)建VI,命名為“水果總價計算.vi”2)編輯前面板。在控件選板的“新式→字符串與路徑”子選板中找到組合框,拖放在前面板,并把標簽修改為“水果種類”。鼠標右擊該控件,選擇“編輯項”選項,打開編輯項屬性對話框進行編輯。完成項的編輯然后點擊“確定”按鈕。在前面板放置一個數值輸入控件,標簽為“重量”;放置一個數值顯示控件,標簽為“總價”。

3.3任務3應用條件結構設計VI

3.4任務3應用條件結構設計VI組合框編輯項窗口3)在程序框圖窗口,放置條件結構,把組合框連接到條件結構的分支選擇器上把選擇器標簽修改為“a”、“b”。在“b”分支上右擊鼠標,在彈出的快捷菜單中選擇“在后面添加分支”,來添加、“p”分支。在a分支把重量與蘋果的單價相乘,b分支把重量與香蕉單價相乘,o分支重量與橙子單價相乘,p分支重量與梨子單價相乘。把每個分支的乘積與“總價”相連。把以上的程序代碼放到While循環(huán)中。3.4任務3應用條件結構設計VI4)運行VI,在前面板組合框“水果種類”中選擇一種水果(如蘋果),選擇框里面就會顯示該種水果名稱。再輸入重量,“總價”顯示控件中就會顯示該水果的總價。3.4任務3應用條件結構設計VI3.5應用順序結構設計VI3.5.1順序結構在LabVIEW中,可以用順序結構來控制程序執(zhí)行順序。順序結構由多個框架組成,從框架0到框架n。程序運行時,首先執(zhí)行的是放在框架0中的程序,然后執(zhí)行的是放在框架1中的程序,……,這樣依次執(zhí)行下去。這些子框圖看起來就像一幀幀的電影膠片,因此每個框架稱為一幀。在程序運行時,只有上一個框架中的程序運行結束后才能運行下一個框架中的程序。順序結構共有兩種類型:層疊式順序結構和平鋪式順序結構。平鋪式,結構比較簡單,從第0號開始依次排列;層疊式每次只能看到一幀,與條件結構類似,框架上端有“選擇器標簽”,可以選擇某一幀來察看該幀的程序。這兩種類型選擇器功能相同,順序結構簡單直觀不需要在框架之間的切換;層疊結構使程序簡潔,節(jié)省視覺空間;兩種類型之間是可以互相切換。3.4應用順序結構設計VI3.5.2編寫順序點亮指示燈VI

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

溫馨提示

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

評論

0/150

提交評論