版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
虛擬儀器技術(shù)及應(yīng)用LabVIEW的程序流程控制LabVIEW提供了多種控制程序流程的結(jié)構(gòu):條件結(jié)構(gòu)、順序結(jié)構(gòu)、循環(huán)結(jié)構(gòu)等,這些結(jié)構(gòu)在函數(shù)選板的結(jié)構(gòu)子選板中,如圖4-1所示。圖4-1函數(shù)選板結(jié)構(gòu)子選板4.1條件結(jié)構(gòu)條件結(jié)構(gòu)由選擇框架、條件選擇端口、框架標(biāo)識符、框架切換鈕組成。組成如圖
4-2
所示。圖4-2條件結(jié)構(gòu)的組成條件結(jié)構(gòu)根據(jù)條件的不同控制程序執(zhí)行不同的過程。編程時,將外部控制條件連接至條件選擇端口上,程序運行時選擇端口會判斷送來的控制條件,引導(dǎo)條件結(jié)構(gòu)執(zhí)行相應(yīng)框架中的內(nèi)容。LabVIEW外部控制條件的數(shù)據(jù)類型有:布爾型、數(shù)字整型、字符串型和枚舉型??刂茥l件為布爾型時,條件結(jié)構(gòu)的框架標(biāo)識符的值為真和假兩種。控制條件為數(shù)字整型時,條件結(jié)構(gòu)的框架標(biāo)識符的值為整數(shù)0,1,2,…,如圖4-3所示。圖4-3控制條件為數(shù)字整型控制條件為字符串型時,條件結(jié)構(gòu)的框架標(biāo)識符的值為由雙引號括起來的字符串,如圖4-4所示,框架標(biāo)識符值為“1”。圖4-4控制條件為字符串型4.1.2條件結(jié)構(gòu)分支的添加、刪除與排序
條件結(jié)構(gòu)分支的添加、刪除與排序可以右擊邊框,在彈出的快捷菜單中選擇相應(yīng)的選項完成。選擇“在后面添加分支”在當(dāng)前顯示的分支后添加分支,選擇“在前面添加分支”在當(dāng)前顯示的分支前添加分支,選擇“復(fù)制分支”復(fù)制當(dāng)前顯示的分支。當(dāng)執(zhí)行以上操作時,框架標(biāo)識符也隨之更新以反映出插入或刪除的子框圖。選擇重排分支進行分支排序時,在分支列表中將想要移動的分支直接拖拉到合適的位置即可。重新排序后的結(jié)構(gòu)不會影響條件結(jié)構(gòu)的運行性能,只是為了符合編程習(xí)慣而已。4.1.3條件結(jié)構(gòu)數(shù)據(jù)的輸入與輸出條件結(jié)構(gòu)有邊框通道用于選擇與框架外部交換數(shù)據(jù)。當(dāng)外部數(shù)椐連接到選擇框架上供其內(nèi)部節(jié)點使用時,條件結(jié)構(gòu)的每一個子框架都能從該通道中獲得輸入的外部數(shù)據(jù)。如果任一子框圖輸出數(shù)據(jù)時,則所有其他的分支也必須有數(shù)據(jù)從該數(shù)據(jù)通道輸出。當(dāng)其中一子框圖連接了輸出,則所有子框圖在同一位置出現(xiàn)一中空的數(shù)據(jù)通道。只有所有子框圖都連接了該輸出數(shù)據(jù),數(shù)據(jù)通道才會變?yōu)閷嵭那页绦虿趴蛇\行。4.2順序結(jié)構(gòu)LabVIEW中程序的運行順序依據(jù)數(shù)據(jù)流的走向而定,因此可以依靠數(shù)據(jù)連線來限定程序執(zhí)行順序,另外還可以通過順序結(jié)構(gòu)來強制規(guī)定程序執(zhí)行順序。LabVIEW提供了兩種順序結(jié)構(gòu):平鋪式順序結(jié)構(gòu)和層疊式順序結(jié)構(gòu)。4.2.1平鋪式順序結(jié)構(gòu)的組成與建立平鋪式順序結(jié)構(gòu)像一卷展開的電影膠片,所有的子框圖在一個平面上。在執(zhí)行過程中按由左至右的順序依次執(zhí)行到最后邊的一個子框圖。順序結(jié)構(gòu)的每一個子框圖又被稱為一個“幀”,子框圖從0開始依次編號。圖4-5
單框架平鋪式順序結(jié)構(gòu)從函數(shù)選板的結(jié)構(gòu)子選板上將平鋪式順序結(jié)構(gòu)拖至程序框圖中放大,這時只有一個子框圖,如圖4-5所示。右擊順序結(jié)構(gòu)邊框,在彈出的快捷菜單中選擇“在后面添加幀”或“在前面添加幀”,就可添加框架,增加子框圖后的平鋪順序結(jié)構(gòu)如圖4-6所示。圖4-5
多框架平鋪式順序結(jié)構(gòu)4.2.2層疊式順序結(jié)構(gòu)的組成與建立層疊式順序結(jié)構(gòu)將所有的子框圖全部重疊在一起,每次只能看到一個子框圖,執(zhí)行時按照子框圖的排列序號執(zhí)行。LabVIEW2015版沒有直接提供層疊式順序結(jié)構(gòu),需要將平鋪式順序結(jié)構(gòu)替換為層疊式順序結(jié)構(gòu)。圖4-7單框架層疊式順序結(jié)構(gòu)層疊式順序結(jié)構(gòu)原始形狀如圖4-7所示,為單框架順序結(jié)構(gòu),只能執(zhí)行一步操作。右擊順序結(jié)構(gòu)邊框,選擇“在后面添加幀”或“在前面添加幀”,就可添加框架,增加子框圖后的層疊順序結(jié)構(gòu)如圖4-8所示。圖4-7多框架層疊式順序結(jié)構(gòu)邊框的頂部出現(xiàn)子框圖標(biāo)識框,它的中間是子框圖標(biāo)識,顯示出當(dāng)前框在順序結(jié)構(gòu)序列中的號碼(0到n-1),以及此順序結(jié)構(gòu)共有幾個子框圖。子框圖標(biāo)識兩邊分別是降序、升序按鈕,單擊它們可以分別查看前一個或后一個子框圖。圖4-8順序框架的切換程序運行時,順序結(jié)構(gòu)就會按框圖標(biāo)識符0,1,2…的順序逐步執(zhí)行各個框架中的程序。在程序編輯狀態(tài)時用鼠標(biāo)單擊框架標(biāo)識符,可從下拉菜單中選擇切換到任一編號的順序框架,如圖4-8所示。為與順序框架外部的程序節(jié)點進行數(shù)據(jù)交換,順序結(jié)構(gòu)中設(shè)有框架數(shù)據(jù)通道。輸入端口數(shù)據(jù):其任何子框圖都可以通過連線使用數(shù)據(jù)通道輸入端口的數(shù)據(jù)。輸出端口數(shù)據(jù):只能有一個子框圖連接這個數(shù)據(jù)的通道的輸出端口,并且這個通道上的數(shù)據(jù)只有所有的子框圖執(zhí)行完后才能輸出。4.2.3順序結(jié)構(gòu)局部變量的創(chuàng)建層疊順序結(jié)構(gòu)在各個子框圖之間傳遞數(shù)據(jù),需要借助于順序局部變量。順序結(jié)構(gòu)局部變量如圖4-9所示。圖4-9順序結(jié)構(gòu)局部變量的創(chuàng)建建立方法:右擊順序式結(jié)構(gòu)邊框,選擇“添加順序局部變量”。邊框上出現(xiàn)一個黃色小方框,小方框連接數(shù)據(jù)后中間出現(xiàn)一個指向順序結(jié)構(gòu)框外的箭頭,并且顏色也變?yōu)榕c連接的數(shù)據(jù)類型相符,這時一個數(shù)據(jù)已經(jīng)存儲到順序局部變量中。順序局部變量賦值之前的子框圖不能訪問這個數(shù)據(jù)。順序局部變量賦值之后的子框圖,可以訪問這個數(shù)據(jù),這些順序局部變量圖標(biāo)都有一個向內(nèi)的箭頭,如圖4-10所示。圖4-10順序結(jié)構(gòu)局部變量的創(chuàng)建For循環(huán)是LabVIEW最基本的結(jié)構(gòu)之一,它執(zhí)行指定次數(shù)的循環(huán)。For循環(huán)就是使其邊框內(nèi)的代碼即子程序框圖重復(fù)執(zhí)行,執(zhí)行到計數(shù)端口預(yù)先確定的次數(shù)后跳出循環(huán)。4.3For循環(huán)結(jié)構(gòu)從函數(shù)選板的結(jié)構(gòu)子選板上將For循環(huán)結(jié)構(gòu)拖至程序框圖中放大,其最基本的For循環(huán)結(jié)構(gòu)如圖4-11所示:由循環(huán)框架、計數(shù)端口、循環(huán)端口組成。圖4-11控件選板For循環(huán)執(zhí)行的是包含在循環(huán)框架內(nèi)的程序節(jié)點。循環(huán)端口初始值為0,每次循環(huán)的遞增步長為1。若要用到不同的初始值或步長,可對循環(huán)端口產(chǎn)生的數(shù)據(jù)進行一定的數(shù)據(jù)運算,也可用移位寄存器來實現(xiàn)。計數(shù)端口設(shè)置循環(huán)次數(shù)N,在程序運行前必須賦值。移位寄存器的功能是將第i-1,i-2,i-3…次循環(huán)的計算結(jié)果保存在For循環(huán)的緩沖區(qū)內(nèi),并在第i次循環(huán)時將這些數(shù)據(jù)從循環(huán)框架左側(cè)的移位寄存器中送出,供循環(huán)框架內(nèi)的節(jié)點使用。4.3.2移位寄存器與框架通道右擊循環(huán)結(jié)構(gòu)邊框,在彈出的快捷菜單中選擇“添加移位寄存器”,可創(chuàng)建一個移位寄存器,如圖4-12所示。圖4-12移位寄存器和框架通道用鼠標(biāo)(定位工具狀態(tài))在左側(cè)移位寄存器的右下角向下拖動,或右擊左側(cè)移位寄存器,在彈出的快捷菜單中選擇“添加元素”,可創(chuàng)建多個左側(cè)移位寄存器,如圖4-13所示。圖4-13創(chuàng)建多個移位寄存器在第i次循環(huán)開始時,左側(cè)每一個移位寄存器便會將前幾次循環(huán)由右側(cè)移位寄存器存儲到緩沖區(qū)的數(shù)據(jù)送出來,供循環(huán)框架內(nèi)的各種節(jié)點使用。左側(cè)第1個移位寄存器送出的是第i-1次循環(huán)時存儲的數(shù)據(jù),第2個移位寄存器送出的是第i-2次循環(huán)時存儲的數(shù)據(jù),第3個、第4個……移位寄存器送出的數(shù)據(jù)依此類推。數(shù)據(jù)在移位寄存器中流動??蚣芡ǖ朗荈or循環(huán)與循環(huán)外部進行數(shù)據(jù)交換的數(shù)據(jù)通道,其功能是在For循環(huán)開始運行前,將循環(huán)外其他節(jié)點產(chǎn)生的數(shù)據(jù)送至循環(huán)內(nèi),供循環(huán)框架內(nèi)的節(jié)點使用。還可在For循環(huán)運行結(jié)束時將循環(huán)框架內(nèi)節(jié)點產(chǎn)生的數(shù)據(jù)送至循環(huán)外,供循環(huán)外的其他節(jié)點使用。在循環(huán)條件滿足的情況下,循環(huán)結(jié)構(gòu)會以最快的速度執(zhí)行循環(huán)體內(nèi)的程序,即一次循環(huán)結(jié)束后將立即開始執(zhí)行下一次循環(huán)??梢酝ㄟ^函數(shù)選板定時函數(shù)子選板中的時間延遲函數(shù)或等待下一個整數(shù)倍毫秒函數(shù)來控制循環(huán)的執(zhí)行速度。4.3.3For循環(huán)的時間控制4.4While循環(huán)結(jié)構(gòu)與For循環(huán)類似,While循環(huán)執(zhí)行的是包含在其循環(huán)框架中的程序模塊,但執(zhí)行的循環(huán)次數(shù)卻不固定,只有當(dāng)滿足給定的條件時,才停止循環(huán)的執(zhí)行。從函數(shù)選板的結(jié)構(gòu)子選板上將While循環(huán)結(jié)構(gòu)拖至程序框圖中,其原始形狀如圖4-14所示。最基本的While循環(huán)由循環(huán)框架、循環(huán)端口及條件端口組成。圖4-14While循環(huán)結(jié)構(gòu)的組成循環(huán)端口:一個輸出端口,它輸出當(dāng)前循環(huán)執(zhí)行的次數(shù),循環(huán)計數(shù)是從0開始的,每次循環(huán)的遞增步長為1。條件端口:控制循環(huán)是否執(zhí)行。每次循環(huán)結(jié)束時,條件端口便會檢測通過數(shù)據(jù)連線輸入的布爾值。條件端口是一個布爾量,條件端口的默認值是“假”。如果條件端口值是“真”,那么執(zhí)行下一次循環(huán),直到條件端口的值為“假”時循環(huán)結(jié)束。4.4.2While循環(huán)編程要點由于循環(huán)結(jié)構(gòu)在進入循環(huán)后將不再理會循環(huán)框外面數(shù)據(jù)的變化,因此產(chǎn)生循環(huán)終止條件的數(shù)據(jù)源(如停止按鈕)一定要放在循環(huán)框內(nèi),否則會造成死循環(huán)。技巧:為避免程序運行時出現(xiàn)邏輯錯誤導(dǎo)致死循環(huán),編程時在前面板上臨時添加一個停止按鈕,在程序框圖放在循環(huán)結(jié)構(gòu)中與條件端口相連??赏ㄟ^這個停止按鈕來強行結(jié)束程序的運行。另外,出現(xiàn)死循環(huán)時,通過窗口工具條上的停止按鈕也可以強行終止程序的運行。4.5定時結(jié)構(gòu)定時結(jié)構(gòu)是一個經(jīng)過改進的While循環(huán),有了它,用戶可以設(shè)定精確的代碼定時、協(xié)調(diào)多個對時間要求嚴格的測量任務(wù),并定義不同優(yōu)先級的循環(huán),以創(chuàng)建具備多采樣率的應(yīng)用程序。在函數(shù)選板結(jié)構(gòu)子選板中專門為定時結(jié)構(gòu)設(shè)計了一個小的選板,如圖4-15所示。在該選板中放置了多個VIs和ExpressVIs,用于定時循環(huán)的設(shè)計與控制。圖4-15定時結(jié)構(gòu)子選板VIs和ExpressVIs的功能1、定時循環(huán):在While循環(huán)的基礎(chǔ)上改進,具備While循環(huán)的基本特征。2、定時順序:不需要手動設(shè)置,在設(shè)定時間下按順序執(zhí)行程序框圖內(nèi)容的結(jié)構(gòu)。適用于開發(fā)只執(zhí)行一次的精確定時、執(zhí)行反饋、定時特征等動態(tài)改變或有多層執(zhí)行優(yōu)先級的VI。3、創(chuàng)建定時源:為定時循環(huán)創(chuàng)建時序源,有1kHz和1MHz兩種選擇。4、清除定時源:用于停止和清除為定時循環(huán)創(chuàng)建的時序源。5、同步定時結(jié)構(gòu)開始:用于使多個定時循環(huán)同步運行。6、定時結(jié)構(gòu)停止:用于停止定時循環(huán)的運行。7、創(chuàng)建定時源層次結(jié)構(gòu):用于創(chuàng)建定時循環(huán)的時序源層次。4.6事件結(jié)構(gòu)事件結(jié)構(gòu)是一種可改變數(shù)據(jù)流執(zhí)行方式的結(jié)構(gòu)。使用事件結(jié)構(gòu)可實現(xiàn)用戶在前面板的操作(事件)與程序執(zhí)行的互動。4.6.1事件驅(qū)動的概念LabVIEW在編程中可以設(shè)置用戶在前面板的互動操作,對數(shù)據(jù)流進行干預(yù)。例如,單擊鼠標(biāo)產(chǎn)生的鼠標(biāo)事件、按下鍵盤產(chǎn)生的鍵盤事件等。數(shù)據(jù)流:將整個程序看作一個數(shù)據(jù)流的通道,數(shù)據(jù)按照程序流程從控制量到顯示量流動。在事件驅(qū)動程序中,首先是等待事件發(fā)生,然后按照對應(yīng)指定事件的程序代碼對事件進行響應(yīng),然后再回到等待事件狀態(tài)。事件結(jié)構(gòu)實現(xiàn)用實現(xiàn)用戶和程序間的互動操作:響應(yīng)用戶在前面板上面的一些操作(如按下某個按鈕、改變窗體大小、退出程序等。)4.6.2事件結(jié)構(gòu)的創(chuàng)建LabVIEW中的事件結(jié)構(gòu)位于函數(shù)選板中的結(jié)構(gòu)子選板中,如圖4-16所示。包括超時端口、子框圖標(biāo)識符和事件數(shù)據(jù)節(jié)點
溫馨提示
- 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)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025版文化遺產(chǎn)保護工程承包合同示范文本2篇
- 2025年度大型商場租賃合同及租賃期限調(diào)整規(guī)范
- 二零二五年度新型房產(chǎn)抵押貸款咨詢與評估合同3篇
- 2025版無產(chǎn)權(quán)儲藏室買賣及藝術(shù)品展示合作協(xié)議3篇
- 2025版商場物業(yè)管理與商業(yè)糾紛調(diào)解服務(wù)合同3篇
- 上海市奉賢區(qū)2022-2023學(xué)年高三上學(xué)期一模語文試卷 附答案
- 二零二五年度車輛運輸與汽車后市場服務(wù)合同2篇
- 湖州浙江湖州長興縣人民檢察院編外人員招錄3人筆試歷年參考題庫附帶答案詳解
- 溫州浙江溫州平陽縣人民法院招聘編外人員筆試歷年參考題庫附帶答案詳解
- 2025年度教育機構(gòu)課程開發(fā)與培訓(xùn)服務(wù)合同
- 中國農(nóng)業(yè)銀行小微企業(yè)信貸業(yè)務(wù)貸后管理辦法規(guī)定
- 領(lǐng)導(dǎo)干部的情緒管理教學(xué)課件
- 初中英語-Unit2 My dream job(writing)教學(xué)課件設(shè)計
- 市政道路建設(shè)工程竣工驗收質(zhì)量自評報告
- 優(yōu)秀支行行長推薦材料
- 中國版梅尼埃病診斷指南解讀
- 創(chuàng)業(yè)投資管理知到章節(jié)答案智慧樹2023年武漢科技大學(xué)
- 暨南大學(xué)《經(jīng)濟學(xué)》考博歷年真題詳解(宏觀經(jīng)濟學(xué)部分)
- 藥店員工教育培訓(xùn)資料
- eNSP簡介及操作課件
- 運動技能學(xué)習(xí)與控制課件第七章運動技能的協(xié)調(diào)控制
評論
0/150
提交評論