




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
虛擬儀器技術及應用LabVIEW的程序流程控制LabVIEW提供了多種控制程序流程的結構:條件結構、順序結構、循環結構等,這些結構在函數選板的結構子選板中,如圖4-1所示。圖4-1函數選板結構子選板4.1條件結構條件結構由選擇框架、條件選擇端口、框架標識符、框架切換鈕組成。組成如圖
4-2
所示。圖4-2條件結構的組成條件結構根據條件的不同控制程序執行不同的過程。編程時,將外部控制條件連接至條件選擇端口上,程序運行時選擇端口會判斷送來的控制條件,引導條件結構執行相應框架中的內容。LabVIEW外部控制條件的數據類型有:布爾型、數字整型、字符串型和枚舉型。控制條件為布爾型時,條件結構的框架標識符的值為真和假兩種。控制條件為數字整型時,條件結構的框架標識符的值為整數0,1,2,…,如圖4-3所示。圖4-3控制條件為數字整型控制條件為字符串型時,條件結構的框架標識符的值為由雙引號括起來的字符串,如圖4-4所示,框架標識符值為“1”。圖4-4控制條件為字符串型4.1.2條件結構分支的添加、刪除與排序
條件結構分支的添加、刪除與排序可以右擊邊框,在彈出的快捷菜單中選擇相應的選項完成。選擇“在后面添加分支”在當前顯示的分支后添加分支,選擇“在前面添加分支”在當前顯示的分支前添加分支,選擇“復制分支”復制當前顯示的分支。當執行以上操作時,框架標識符也隨之更新以反映出插入或刪除的子框圖。選擇重排分支進行分支排序時,在分支列表中將想要移動的分支直接拖拉到合適的位置即可。重新排序后的結構不會影響條件結構的運行性能,只是為了符合編程習慣而已。4.1.3條件結構數據的輸入與輸出條件結構有邊框通道用于選擇與框架外部交換數據。當外部數椐連接到選擇框架上供其內部節點使用時,條件結構的每一個子框架都能從該通道中獲得輸入的外部數據。如果任一子框圖輸出數據時,則所有其他的分支也必須有數據從該數據通道輸出。當其中一子框圖連接了輸出,則所有子框圖在同一位置出現一中空的數據通道。只有所有子框圖都連接了該輸出數據,數據通道才會變為實心且程序才可運行。4.2順序結構LabVIEW中程序的運行順序依據數據流的走向而定,因此可以依靠數據連線來限定程序執行順序,另外還可以通過順序結構來強制規定程序執行順序。LabVIEW提供了兩種順序結構:平鋪式順序結構和層疊式順序結構。4.2.1平鋪式順序結構的組成與建立平鋪式順序結構像一卷展開的電影膠片,所有的子框圖在一個平面上。在執行過程中按由左至右的順序依次執行到最后邊的一個子框圖。順序結構的每一個子框圖又被稱為一個“幀”,子框圖從0開始依次編號。圖4-5
單框架平鋪式順序結構從函數選板的結構子選板上將平鋪式順序結構拖至程序框圖中放大,這時只有一個子框圖,如圖4-5所示。右擊順序結構邊框,在彈出的快捷菜單中選擇“在后面添加幀”或“在前面添加幀”,就可添加框架,增加子框圖后的平鋪順序結構如圖4-6所示。圖4-5
多框架平鋪式順序結構4.2.2層疊式順序結構的組成與建立層疊式順序結構將所有的子框圖全部重疊在一起,每次只能看到一個子框圖,執行時按照子框圖的排列序號執行。LabVIEW2015版沒有直接提供層疊式順序結構,需要將平鋪式順序結構替換為層疊式順序結構。圖4-7單框架層疊式順序結構層疊式順序結構原始形狀如圖4-7所示,為單框架順序結構,只能執行一步操作。右擊順序結構邊框,選擇“在后面添加幀”或“在前面添加幀”,就可添加框架,增加子框圖后的層疊順序結構如圖4-8所示。圖4-7多框架層疊式順序結構邊框的頂部出現子框圖標識框,它的中間是子框圖標識,顯示出當前框在順序結構序列中的號碼(0到n-1),以及此順序結構共有幾個子框圖。子框圖標識兩邊分別是降序、升序按鈕,單擊它們可以分別查看前一個或后一個子框圖。圖4-8順序框架的切換程序運行時,順序結構就會按框圖標識符0,1,2…的順序逐步執行各個框架中的程序。在程序編輯狀態時用鼠標單擊框架標識符,可從下拉菜單中選擇切換到任一編號的順序框架,如圖4-8所示。為與順序框架外部的程序節點進行數據交換,順序結構中設有框架數據通道。輸入端口數據:其任何子框圖都可以通過連線使用數據通道輸入端口的數據。輸出端口數據:只能有一個子框圖連接這個數據的通道的輸出端口,并且這個通道上的數據只有所有的子框圖執行完后才能輸出。4.2.3順序結構局部變量的創建層疊順序結構在各個子框圖之間傳遞數據,需要借助于順序局部變量。順序結構局部變量如圖4-9所示。圖4-9順序結構局部變量的創建建立方法:右擊順序式結構邊框,選擇“添加順序局部變量”。邊框上出現一個黃色小方框,小方框連接數據后中間出現一個指向順序結構框外的箭頭,并且顏色也變為與連接的數據類型相符,這時一個數據已經存儲到順序局部變量中。順序局部變量賦值之前的子框圖不能訪問這個數據。順序局部變量賦值之后的子框圖,可以訪問這個數據,這些順序局部變量圖標都有一個向內的箭頭,如圖4-10所示。圖4-10順序結構局部變量的創建For循環是LabVIEW最基本的結構之一,它執行指定次數的循環。For循環就是使其邊框內的代碼即子程序框圖重復執行,執行到計數端口預先確定的次數后跳出循環。4.3For循環結構從函數選板的結構子選板上將For循環結構拖至程序框圖中放大,其最基本的For循環結構如圖4-11所示:由循環框架、計數端口、循環端口組成。圖4-11控件選板For循環執行的是包含在循環框架內的程序節點。循環端口初始值為0,每次循環的遞增步長為1。若要用到不同的初始值或步長,可對循環端口產生的數據進行一定的數據運算,也可用移位寄存器來實現。計數端口設置循環次數N,在程序運行前必須賦值。移位寄存器的功能是將第i-1,i-2,i-3…次循環的計算結果保存在For循環的緩沖區內,并在第i次循環時將這些數據從循環框架左側的移位寄存器中送出,供循環框架內的節點使用。4.3.2移位寄存器與框架通道右擊循環結構邊框,在彈出的快捷菜單中選擇“添加移位寄存器”,可創建一個移位寄存器,如圖4-12所示。圖4-12移位寄存器和框架通道用鼠標(定位工具狀態)在左側移位寄存器的右下角向下拖動,或右擊左側移位寄存器,在彈出的快捷菜單中選擇“添加元素”,可創建多個左側移位寄存器,如圖4-13所示。圖4-13創建多個移位寄存器在第i次循環開始時,左側每一個移位寄存器便會將前幾次循環由右側移位寄存器存儲到緩沖區的數據送出來,供循環框架內的各種節點使用。左側第1個移位寄存器送出的是第i-1次循環時存儲的數據,第2個移位寄存器送出的是第i-2次循環時存儲的數據,第3個、第4個……移位寄存器送出的數據依此類推。數據在移位寄存器中流動。框架通道是For循環與循環外部進行數據交換的數據通道,其功能是在For循環開始運行前,將循環外其他節點產生的數據送至循環內,供循環框架內的節點使用。還可在For循環運行結束時將循環框架內節點產生的數據送至循環外,供循環外的其他節點使用。在循環條件滿足的情況下,循環結構會以最快的速度執行循環體內的程序,即一次循環結束后將立即開始執行下一次循環。可以通過函數選板定時函數子選板中的時間延遲函數或等待下一個整數倍毫秒函數來控制循環的執行速度。4.3.3For循環的時間控制4.4While循環結構與For循環類似,While循環執行的是包含在其循環框架中的程序模塊,但執行的循環次數卻不固定,只有當滿足給定的條件時,才停止循環的執行。從函數選板的結構子選板上將While循環結構拖至程序框圖中,其原始形狀如圖4-14所示。最基本的While循環由循環框架、循環端口及條件端口組成。圖4-14While循環結構的組成循環端口:一個輸出端口,它輸出當前循環執行的次數,循環計數是從0開始的,每次循環的遞增步長為1。條件端口:控制循環是否執行。每次循環結束時,條件端口便會檢測通過數據連線輸入的布爾值。條件端口是一個布爾量,條件端口的默認值是“假”。如果條件端口值是“真”,那么執行下一次循環,直到條件端口的值為“假”時循環結束。4.4.2While循環編程要點由于循環結構在進入循環后將不再理會循環框外面數據的變化,因此產生循環終止條件的數據源(如停止按鈕)一定要放在循環框內,否則會造成死循環。技巧:為避免程序運行時出現邏輯錯誤導致死循環,編程時在前面板上臨時添加一個停止按鈕,在程序框圖放在循環結構中與條件端口相連。可通過這個停止按鈕來強行結束程序的運行。另外,出現死循環時,通過窗口工具條上的停止按鈕也可以強行終止程序的運行。4.5定時結構定時結構是一個經過改進的While循環,有了它,用戶可以設定精確的代碼定時、協調多個對時間要求嚴格的測量任務,并定義不同優先級的循環,以創建具備多采樣率的應用程序。在函數選板結構子選板中專門為定時結構設計了一個小的選板,如圖4-15所示。在該選板中放置了多個VIs和ExpressVIs,用于定時循環的設計與控制。圖4-15定時結構子選板VIs和ExpressVIs的功能1、定時循環:在While循環的基礎上改進,具備While循環的基本特征。2、定時順序:不需要手動設置,在設定時間下按順序執行程序框圖內容的結構。適用于開發只執行一次的精確定時、執行反饋、定時特征等動態改變或有多層執行優先級的VI。3、創建定時源:為定時循環創建時序源,有1kHz和1MHz兩種選擇。4、清除定時源:用于停止和清除為定時循環創建的時序源。5、同步定時結構開始:用于使多個定時循環同步運行。6、定時結構停止:用于停止定時循環的運行。7、創建定時源層次結構:用于創建定時循環的時序源層次。4.6事件結構事件結構是一種可改變數據流執行方式的結構。使用事件結構可實現用戶在前面板的操作(事件)與程序執行的互動。4.6.1事件驅動的概念LabVIEW在編程中可以設置用戶在前面板的互動操作,對數據流進行干預。例如,單擊鼠標產生的鼠標事件、按下鍵盤產生的鍵盤事件等。數據流:將整個程序看作一個數據流的通道,數據按照程序流程從控制量到顯示量流動。在事件驅動程序中,首先是等待事件發生,然后按照對應指定事件的程序代碼對事件進行響應,然后再回到等待事件狀態。事件結構實現用實現用戶和程序間的互動操作:響應用戶在前面板上面的一些操作(如按下某個按鈕、改變窗體大小、退出程序等。)4.6.2事件結構的創建LabVIEW中的事件結構位于函數選板中的結構子選板中,如圖4-16所示。包括超時端口、子框圖標識符和事件數據節點
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 廣西中遠職業學院《法醫學與司法精神病學》2023-2024學年第二學期期末試卷
- 廈門南洋職業學院《算法設計與分析》2023-2024學年第二學期期末試卷
- 山西大同大學《小學教育專業導論與研討》2023-2024學年第二學期期末試卷
- 第14課 歷史上的疫病與醫學成就 課件
- 陜西青年職業學院《國際學術交流英語》2023-2024學年第二學期期末試卷
- 陽泉師范高等專科學校《心理科學研究方法》2023-2024學年第二學期期末試卷
- 臺州學院《人力資源管理與開發》2023-2024學年第二學期期末試卷
- 玉溪職業技術學院《概率論與數理統計輔導》2023-2024學年第二學期期末試卷
- 重慶科創職業學院《城市能源系統》2023-2024學年第二學期期末試卷
- 南京財經大學《空間分析實驗》2023-2024學年第二學期期末試卷
- 村項目驗收表(村級驗收)
- 收費站年度工作計劃
- xx縣精神病醫院建設項目可行性研究報告
- ECMO技術參數要求
- 城市軌道交通供電技術442頁完整版教學課件匯總全書電子教案
- 高填深挖路基穩定性監控觀測方案
- 安全標準化現場評審所需資料清單(共14頁)
- 班組會議運作技巧ppt課件
- 鏈家房屋買賣合同范本(共10篇)
- 柱上變壓器臺與設備安裝標準
- 技術比武理論復習題(繼電保護)
評論
0/150
提交評論