




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領
文檔簡介
1、第四講 LabVIEW的基本程序結(jié)構(gòu)2015年3月24日第四講 LabVIEW的基本程序結(jié)構(gòu)2015年3月24日第四講 LabVIEW的基本程序結(jié)構(gòu)LabVIEW的函數(shù)選板中有一個極其重要的子選板:“結(jié)構(gòu)”。結(jié)構(gòu)與其它節(jié)點(比如函數(shù)、子VI、常量、裝飾等)的區(qū)別在于,結(jié)構(gòu)是用于控制程序的執(zhí)行順序的,會改變程序的流程;而其他節(jié)點則多是用于改變程序中的數(shù)據(jù)。此外,結(jié)構(gòu)體內(nèi)可以放置程序代碼,即其他節(jié)點和連線。第四講 LabVIEW的基本程序結(jié)構(gòu)LabVIEW的函數(shù)選板 LabVIEW中的結(jié)構(gòu)放置在程序框圖中,其外形一般是一個大小可以縮放的邊框,當它與其他節(jié)點的連線有數(shù)據(jù)傳遞時,邊框內(nèi)的一段代碼將反復
2、執(zhí)行或有條件執(zhí)行或按某一定的順序執(zhí)行。結(jié)構(gòu)內(nèi)的該段代碼則被稱為子框圖。結(jié)構(gòu)框圖可以看成是個代碼容器。容器內(nèi)的代碼按照某種條件反復執(zhí)行。本講將介紹LabVIEW中的for循環(huán)結(jié)構(gòu)、while循環(huán)結(jié)構(gòu)、條件結(jié)構(gòu)和順序結(jié)構(gòu) LabVIEW中的結(jié)構(gòu)放置在程序框圖中,其外形一般是一個大4.1 For循環(huán)4.1.1 For循環(huán)的組成LabVIEW中的循環(huán)與結(jié)構(gòu)位于程序框圖的“函數(shù)”選板下的“結(jié)構(gòu)”子選板中,如圖4-1所示。圖4-1 “結(jié)構(gòu)”子選板界面4.1 For循環(huán)4.1.1 For循環(huán)的組成圖4-1 找到For循環(huán)后,用鼠標左鍵單擊For循環(huán)后會發(fā)現(xiàn)鼠標箭頭變成一個表示For循環(huán)的小圖標,此時用戶可在
3、程序框圖上用鼠標拖放一個任意大小和位置的For循環(huán)邊框,如圖4-2所示。最基本的For循環(huán)由循環(huán)框架、總數(shù)接線端(輸入端)、計數(shù)接線端(輸出端)組成。圖4-2 For循環(huán)界面循環(huán)體,代碼有輸入、輸出端子循環(huán)變量i,僅有輸出找到For循環(huán)后,用鼠標左鍵單擊For循環(huán)后會發(fā)現(xiàn)鼠標箭頭變For循環(huán)相當于C語言中的下列程序代碼: for(i=0;iN;i+) ;N:總循環(huán)次數(shù),i:循環(huán)變量,初值為0,增值為1,循環(huán)體內(nèi)為代碼For循環(huán)相當于C語言中的下列程序代碼:4.1.2 簡單For循環(huán)應用示例圖4-3 簡單For循環(huán)示例FOR循環(huán)簡單示例? 沒有連加4.1.2 簡單For循環(huán)應用示例圖4-3 簡單
4、For循4.1.3 自動索引在For循環(huán)內(nèi)的應用自動索引的功能是使循環(huán)框外面的數(shù)組成員逐個進入循環(huán)框內(nèi),或使循環(huán)框內(nèi)的數(shù)據(jù)累加成一個數(shù)組輸出到循環(huán)框外面。循環(huán)內(nèi)-循環(huán)外,元素-數(shù)組,一維-二維,自動索引值,在完成循環(huán)后才一次性輸出。For循環(huán)的索引可通過鼠標右鍵單擊循環(huán)邊框的數(shù)據(jù)通道來啟動。4.1.3 自動索引在For循環(huán)內(nèi)的應用自動索引的功能是使4.1.3 自動索引在For循環(huán)內(nèi)的應用盡管For循環(huán)和While循環(huán)都支持自動索引功能,但其主要區(qū)別在于:For循環(huán)的數(shù)組默認為能自動索引,如不需要索引,可在數(shù)組進入循環(huán)的通道上單擊鼠標右鍵彈出快捷菜單選擇“禁用索引”選項;而While循環(huán)中的數(shù)組
5、默認為不能自動索引,如果需要索引,可在循環(huán)的通道上單擊鼠標右鍵彈出快捷菜單選擇“啟用索引”選項。另外,在創(chuàng)建二維數(shù)組時一般使用For循環(huán)而不使用While循環(huán)。4.1.3 自動索引在For循環(huán)內(nèi)的應用盡管For循環(huán)和W圖4-4 For循環(huán)自動索引示例自動索引示例自動索引示例24.1.3 自動索引在For循環(huán)內(nèi)的應用圖4-4 For循環(huán)自動索引示例自動索引示例自動索引示例24.1.4 移位寄存器在For循環(huán)內(nèi)的應用移位寄存器是LabVIEW的循環(huán)結(jié)構(gòu)中的一個附加變量對象,其功能是在循環(huán)的不同迭代間傳遞數(shù)據(jù)。一般來說,移位寄存器可以存儲任何類型的數(shù)據(jù),但是連接在同一個寄存器兩個端子上的數(shù)據(jù)必須是同
6、一類型的。移位寄存器的類型與第一個連接到其端子之一的對象數(shù)據(jù)的類型相同。起到C語言中,i+的作用。在LABVIEW中,不支持變量的自賦值。只能通過移位寄存器解決。使用LabVIEW時,凡是循環(huán)內(nèi)需要使用變量的地方,應首先考慮使用移位寄存器。4.1.4 移位寄存器在For循環(huán)內(nèi)的應用移位寄存器是La圖4-5 For循環(huán)移位寄存器示例當前的i上一次的i當前循環(huán)的結(jié)果值上次循環(huán)的結(jié)果值圖4-5 For循環(huán)移位寄存器示例當前的i上一次的i當前循圖4-6 For循環(huán)中不添加移位寄存器的結(jié)果移位寄存器成對出現(xiàn),在程序中使用同一塊內(nèi)存;使用移位寄存器需要賦初值;圖4-6 For循環(huán)中不添加移位寄存器的結(jié)果移
7、位寄存器成對和移位寄存器一樣,反饋節(jié)點也是用來實現(xiàn)數(shù)據(jù)在前后兩次循環(huán)中的傳遞。但與移位寄存器相比,使用反饋節(jié)點有時能讓程序更加簡潔易懂。循環(huán)中一旦連線構(gòu)成反饋,就會自動出現(xiàn)反饋節(jié)點的符號。反饋節(jié)點符號由兩部分構(gòu)成,分別為初始化端子和反饋節(jié)點箭頭。和移位寄存器一樣,反饋節(jié)點也是用來實現(xiàn)數(shù)據(jù)在前后兩次循環(huán)中的4.1.5 反饋節(jié)點在For循環(huán)內(nèi)的應用 初始化端子 既可位于For循環(huán)框圖內(nèi),也可位于For循環(huán)框圖外,默認為位于For循環(huán)框圖內(nèi)。 反饋節(jié)點箭頭 表示連線上的數(shù)據(jù)流動方向,它可以是正向的,也可以是反向的。4.1.5 反饋節(jié)點在For循環(huán)內(nèi)的應用 圖4-7 For循環(huán)中使用反饋節(jié)點示例此處沒
8、有開啟自動索引功能。實心框圖4-7 For循環(huán)中使用反饋節(jié)點示例此處沒有開啟自動索引在for循環(huán)結(jié)構(gòu)的右鍵菜單中選擇“條件接線端”,可以為for循環(huán)創(chuàng)建一個接收停止循環(huán)命令的接線端,它類似于C語言中跳出循環(huán)的break語句。條件接線端有兩種停止模式,既可以接收“真”值,讓循環(huán)停止運行,也可以接收“假”值,讓循環(huán)停止運行。當條件接線端顯示為一個紅色圓形 時,表示收到“真”值,停止循環(huán)運行。單擊條件接線端,使其變成綠色環(huán)形箭頭 ,則表示在收到“假”值時,停止循環(huán)。4.1.6 結(jié)束條件在for循環(huán)結(jié)構(gòu)的右鍵菜單中選擇“條件接線端”,可以為for4.2 While循環(huán)4.2.1 While循環(huán)的組成在
9、如圖4-1所示的界面中找到While循環(huán)后,用鼠標左鍵單擊While循環(huán)后會發(fā)現(xiàn)鼠標箭頭變成一個表示W(wǎng)hile循環(huán)的小圖標,此時用戶可在程序框圖上用鼠標拖放一個任意大小和位置的While循環(huán)邊框,如圖4-8所示。4.2 While循環(huán)4.2.1 While循環(huán)的組成圖4-8 While循環(huán)界面 最基本的While循環(huán)由循環(huán)框架、條件接線端(輸入端)和計數(shù)接線端(輸出端)組成。 圖4-8 While循環(huán)界面 最基本的 與For循環(huán)的計數(shù)接線端一樣,While的計數(shù)接線端也是輸出循環(huán)已執(zhí)行次數(shù)的數(shù)字輸出端子。While的條件接線端是一個布爾變量,需要輸入一個布爾值。 條件接線端用于控制循環(huán)是否繼續(xù)
10、執(zhí)行時,有兩種使用狀態(tài): 默認狀態(tài)的條件接線端屬性為“真(T)時停止”,此時的圖標是一個方框圈住的實心的紅色圓點,如圖4-8右下角所示,這表示當條件為真時循環(huán)停止。 與For循環(huán)的計數(shù)接線端一樣,While 當在條件接線端圖標上單擊鼠標右鍵選擇“真(T)時繼續(xù)”,則圖標變成如圖4-9所示,此時表示當條件為真時循環(huán)繼續(xù)。當每一次循環(huán)結(jié)束時,條件端口檢測通過數(shù)據(jù)連線輸入的布爾值和其使用狀態(tài)決定是否繼續(xù)執(zhí)行循環(huán)。圖4-9 條件端子變換后的While循環(huán)界面 當在條件接線端圖標上單擊鼠標右鍵選擇“ 與For循環(huán)是在執(zhí)行前檢查是否符合條件不同,While循環(huán)是在執(zhí)行后再檢查條件端子。因此,While循環(huán)
11、至少執(zhí)行一次。圖4-10 簡單While循環(huán)示例 與For循環(huán)是在執(zhí)行前檢查是否符合條件不4.3 條件結(jié)構(gòu)條件結(jié)構(gòu)同樣位于“函數(shù)”選板下的“結(jié)構(gòu)”子選板中。與創(chuàng)建循環(huán)的方法類似,我們可以從結(jié)構(gòu)選板中選擇條件結(jié)構(gòu),用鼠標在程序框圖上任意位置拖放任意大小的條件結(jié)構(gòu)圖框。條件結(jié)構(gòu)由結(jié)構(gòu)框架、分支選擇器、選擇標簽等組成,如圖4-11所示。 4.3 條件結(jié)構(gòu)條件結(jié)構(gòu)同樣位于“函數(shù)”選板下的“結(jié)構(gòu)”子圖4-11 條件結(jié)構(gòu)界面圖4-11 條件結(jié)構(gòu)界面4.3.1 添加、刪除與排序分支在條件結(jié)構(gòu)框架上單擊鼠標右鍵,在彈出的快捷菜單中選擇“在后面添加分支”菜單項用戶就可以為條件結(jié)構(gòu)添加新的分支,如圖4-12所示。
12、圖4-12 分支的添加和排序添加完新分支后可在快捷菜單中選擇“重排分支”菜單項打開重排分支對話框,在對話框的分支列表中用鼠標拖動列表項可以對分支重新排序。通常,排序按鈕以第一個選擇值為基準對選擇器標簽值進行排序。刪除分支的操作與添加分支相同。創(chuàng)建新的分支后可以為新分支添加分支名。 4.3.1 添加、刪除與排序分支在條件結(jié)構(gòu)框架上單擊鼠標右4.3.2 布爾類型的條件選擇結(jié)構(gòu)條件結(jié)構(gòu)的一種常見程序模式是:首先比較某個數(shù)據(jù),然后把比較的結(jié)果傳遞給分支選擇器。條件結(jié)構(gòu)中的兩個分支分別是比較結(jié)果為“真”、“假”時需要執(zhí)行的代碼。最為常見的布爾型條件結(jié)構(gòu)是用來處理錯誤數(shù)據(jù)線的。4.3.2 布爾類型的條件選
13、擇結(jié)構(gòu)條件結(jié)構(gòu)的一種常見程序模字符串、整數(shù)和枚舉類型的數(shù)據(jù)都可以作為條件結(jié)構(gòu)的條件。這些數(shù)據(jù)類型與布爾數(shù)據(jù)的區(qū)別在于,布爾型數(shù)據(jù)只有兩個值:“真”或“假”;而其余數(shù)據(jù)類型可能值都是無窮的。條件結(jié)構(gòu)不可能為每一個可能值都設置一個分支,因此,這時需要選擇一個分支作為默認分支,在數(shù)據(jù)不能滿足其他分支的條件時就執(zhí)行默認分支的代碼。條件結(jié)構(gòu)中的一個分支可以對應多個條件,不同條件用逗號隔開。條件標簽還可以是一段值,在兩個值間用兩個點連接就表示這兩個數(shù)值間的一段值。不同分支的條件必須是唯一的,如果同一條件出現(xiàn)在不同的分支中,會報錯。4.3.3 其他數(shù)據(jù)類型的條件選擇結(jié)構(gòu)字符串、整數(shù)和枚舉類型的數(shù)據(jù)都可以作為
14、條件結(jié)構(gòu)的條件。這些數(shù)例:比較兩個整數(shù)和,時,彈出對話框顯示“”;時,彈出對話框顯示“” ;時,彈出對話框顯示“”4.3. 合理設置選擇條件直接按照程序邏輯描述寫,會出現(xiàn)嵌套結(jié)構(gòu)程序的可讀性差。變換一下程序的條件判斷邏輯,即可避免條件結(jié)構(gòu)嵌套,優(yōu)化程序代碼,改善程序的可讀性和效率。把共同的代碼放在結(jié)構(gòu)之外,這個原則在條件結(jié)構(gòu)中務必遵循例:比較兩個整數(shù)和,時,彈出對話框顯示“”;4.3. 條件結(jié)構(gòu)隧道可為條件結(jié)構(gòu)創(chuàng)建多個輸入輸出隧道。條件結(jié)構(gòu)的各個分支上都有輸入,但是不是每個分支都必須使用輸入。在條件結(jié)構(gòu)一個分支的邊框上創(chuàng)建輸出隧道時,其他分支邊框上也會出現(xiàn)輸出隧道。只要有一個輸出隧道沒有連線,
15、則條件結(jié)構(gòu)每個分支邊框上的輸出的隧道都顯示為白色正方形。隧道可使用數(shù)據(jù)類型的默認值,不是每個隧道都必須連線。右鍵單擊輸出隧道,從快捷菜單中選擇未連接時使用默認,這樣所有未連線的隧道都將使用隧道數(shù)據(jù)類型的默認值。 將隧道配置為未連線時自動連接輸入和輸出隧道,這是推薦的方法 注:每個條件分支的同一輸出隧道可以定義不同的數(shù)據(jù)源,但各個條件必須兼容這些數(shù)據(jù)類型。4.3. 條件結(jié)構(gòu)隧道可為條件結(jié)構(gòu)創(chuàng)建多個輸入輸出隧道。(a)不正確的連接邊框上的數(shù)據(jù)通道為中空狀態(tài)(b)正確的連接邊框上的數(shù)據(jù)通道為實心狀態(tài)圖4-13 連接數(shù)據(jù)的輸入與輸出實心框空心框(a)不正確的連接邊框上的數(shù)據(jù)通道為中空狀態(tài)(b)正確的連
16、4.3. 選擇函數(shù)4.3. 選擇函數(shù)4.3. 條件結(jié)構(gòu)示例圖4-14 執(zhí)行兩個數(shù)相乘或相加運算的Case條件結(jié)構(gòu)示例4.3. 條件結(jié)構(gòu)示例圖4-14 執(zhí)行兩個數(shù)相乘或相加圖4-15 執(zhí)行兩個數(shù)相乘或相加運算的Case條件結(jié)構(gòu)示例圖4-15 執(zhí)行兩個數(shù)相乘或相加運算的Case條件結(jié)構(gòu)示例4.4 順 序 結(jié) 構(gòu)4.4.1 程序執(zhí)行順序4.4 順 序 結(jié) 構(gòu)4.4.1 程序執(zhí)行順序第4講LabVIEW的基本程序結(jié)構(gòu)課件4.4.2 創(chuàng)建順序結(jié)構(gòu)要讓相互間沒有數(shù)據(jù)線相連的幾部分代碼按照特定順序執(zhí)行,可以使用順序結(jié)構(gòu);4.4.2 創(chuàng)建順序結(jié)構(gòu)要讓相互間沒有數(shù)據(jù)線相連的幾部分代碼第4講LabVIEW的基本程
17、序結(jié)構(gòu)課件4.4.3 兩種順序結(jié)構(gòu)順序結(jié)構(gòu)順序地執(zhí)行子框圖,而這些子框圖看起來就像一幀幀的電影膠片,因此稱之為幀。順序結(jié)構(gòu)根據(jù)幀排列的不同共有兩種類型:層疊式順序結(jié)構(gòu)、平鋪式順序結(jié)構(gòu);層疊式順序結(jié)構(gòu)和平鋪式順序結(jié)構(gòu)的功能相同,不同在于可讀性和占用面積的不同。4.4.3 兩種順序結(jié)構(gòu)順序結(jié)構(gòu)順序地執(zhí)行子框圖,而這些子框例子第一幀與第三幀間如何傳遞數(shù)據(jù)?例子第一幀與第三幀間如何傳遞數(shù)據(jù)?圖4-16 層疊式順序結(jié)構(gòu)界面層疊式順序結(jié)構(gòu)中的數(shù)據(jù)要借助于順序結(jié)構(gòu)變量來傳遞。圖4-16 層疊式順序結(jié)構(gòu)界面層疊式順序結(jié)構(gòu)中的數(shù)據(jù)要借助(a)未賦值的局部變量 (b)連接數(shù)據(jù) (c)賦值后的局部變量 (d)結(jié)果 圖4-17 順序局部變量的創(chuàng)建與使用后續(xù)幀中只需根據(jù)需要通過連線把順序局部變量中的數(shù)據(jù)引出來(a)未賦值的局部變量 (b)連接數(shù)據(jù) (c)賦值后的第4講LabVIEW的基本程序結(jié)構(gòu)課件圖4-18 順序結(jié)構(gòu)中的數(shù)據(jù)通道圖4-18 順序結(jié)構(gòu)中的數(shù)據(jù)通道平鋪式順序結(jié)構(gòu)的一個鮮明的特點是它的多個框架不是層疊在一起,而是自左至右平鋪,并按從左至右的順序執(zhí)行。圖4-19 平鋪式順序結(jié)構(gòu)界面平鋪式順序結(jié)構(gòu)的一個鮮明的特點是它的多個框架不是層疊在一起, 層疊式順序結(jié)構(gòu)與平鋪式順序結(jié)構(gòu)的功能完全相同。他們的主要區(qū)別在于平鋪式順序結(jié)
溫馨提示
- 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 教育心理學與科技趨勢智能教學系統(tǒng)的心理影響
- 教育政策的未來走向與挑戰(zhàn)
- 面向未來的智慧城市物聯(lián)網(wǎng)基礎設施融資策略探討
- 實踐中的智慧教育機器人技術(shù)助力教學
- 動態(tài)學習評估與教育心理學的結(jié)合
- 教學機器人在數(shù)學輔導中的卓越表現(xiàn)
- 銷售技巧培訓課件名稱
- 教育大數(shù)據(jù)與教育公平的探索
- 藥店pop海報培訓課件
- 面向未來的智能型教學互動機器人研究
- 天門山污水處理廠二期擴建項目環(huán)境影響報告書
- 婦產(chǎn)科學 妊娠合并心臟病
- -衛(wèi)生資格-副高-疾病控制-副高-章節(jié)練習-慢性非傳染性疾病控制-試題(單選題)(共1125題)
- 骨質(zhì)疏松病人的護理
- 高中英語全國高考考綱詞匯3600匯總
- GB/T 35068-2018油氣管道運行規(guī)范
- GB/T 13277.7-2021壓縮空氣第7部分:活性微生物含量測量方法
- 2023年婁底冷水江市廣播電視臺(融媒體中心)招聘筆試模擬試題及答案解析
- 特勞特戰(zhàn)略定位總裁課程課件
- 陳寶光-TTT課程開發(fā)與設計(講義)V2.1
- 六年級開學主題班會課件
評論
0/150
提交評論