




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
精通LabVIEW虛擬儀器程序設計與案例實現第4章LabVIEW中的程序結構第4章 LabVIEW中的程序結構2023/2/5LabVIEW中的程序結構函數→編程→結構第4章 LabVIEW中的程序結構2023/2/5本章內容基本程序結構的使用變量的使用公式節點的使用反饋節點的使用條件與禁用結構的使用第4章 LabVIEW中的程序結構2023/2/5循環結構——For循環
一個完整的For循環體它包含兩個端口:循環次數(輸入端口)和循環計數(輸出端口)。循環次數端口N用于指定框圖代碼的執行次數,它是一個輸入端口,除非應用了自動索引功能,否則用必須輸入一個整型數,當連接一個浮點數時,LabVIEW會自動對它按“四舍五入”的原則進行強制轉換。
循環次數和循環計數端口的數值范圍為0~2^31-1的長整型數,如果給N的賦值為0,則程序一次也不執行。第4章 LabVIEW中的程序結構2023/2/5實例——產生數據點數為1000的正弦波
在做算法仿真時,經常需要產生指定點數的數據波形,最基本的實現方法就是通過For循環+基本函數的方式。第4章 LabVIEW中的程序結構2023/2/5循環結構——For循環For循環的自動索引
正常情況下For循環是要指定循環次數程序才能正常執行的,但如果我們不知道具體的循環次數,那又該如何運用For循環呢?For循環的自動索引功能默認情況下是自動開啟的,在自動索引開啟的狀態下,數據進入循環體時是降維的。
切換索引功能開啟與關閉的方法為:鼠標右擊索引通道,選擇“禁用/啟用索引”即可。第4章 LabVIEW中的程序結構2023/2/5實例——自動索引功能使用
在LabVIEW中用框圖的嵌套來實現循環嵌套,一層一層執行。第4章 LabVIEW中的程序結構2023/2/5循環結構——For循環For循環的移位寄存器
如果程序后一次的運行需要用到前一次的值,則可以使用移位寄存器,它實際上是For循環和While循環獨有的局部變量。
移位寄存器的使用要經過創建和初始化兩步。
移位寄存器的左右端口可以成對出現,也可以“一對多”,在“一對多”的情況中要特別注意的是,只能是右側的“一個端口”對應左側的“多個端口”,而不能反向。第4章 LabVIEW中的程序結構2023/2/5循環結構——For循環“顯式初始化”
“非初始化”
移位寄存器初始化
移位寄存器可以存儲的數據類型有:數值型、布爾型、數組、字符串型等。不同初始化方式運行結果
第4章 LabVIEW中的程序結構2023/2/5實例——前100個自然數求和
對于求和的運算,基本可以用For循環+移位寄存器的結構實現,例如求階乘和、求前1000個素數和等等。
For循環的一個重要應用場合就是知道具體的循環次數。用For循環實現前100個自然數求和如何實現前100個奇數自然數求和?第4章 LabVIEW中的程序結構2023/2/5循環結構——While循環While包含兩個端口:條件接線端(輸入端口)和循環計數端(輸出端口)。While循環也可以用移位寄存器,索引通道,與For循環相同。While循環重復執行循環體內的代碼,直到滿足某種條件為止,它相當于傳統文本編程語言中的DoLoop或Repeat-Until循環。
當While循環開始執行后,外部數據就無法傳遞到循環體內,所以循環的控制條件一定要放置在循環體內,否則會造成死循環。
第4章 LabVIEW中的程序結構2023/2/5實例——While循環基本應用While循環的停止最常用的方法是用一個“停止”控件,當然,也可以用其它的條件判斷來終止While循環的執行。
使用While循環時,建議用戶設定循環間隔,因為如果沒有循環間隔的話,While循環是“全速”運行的,這樣會占用過多的系統資源,尤其是對需要長時間執行的循環。第4章 LabVIEW中的程序結構2023/2/5順序結構LabVIEW中的順序結構包括:LabVIEW是圖形化的編程語言,程序的執行順序是基本數據的流向的,也即,數據的連接即指定了程序的執行順序,沒有數據線連接的不同程序塊是并行執行的,所以一般情況下不用順序結構,但在某些特殊時候,如果一定指定某幾段程序執行的先后順序,則要用到順序結構。
它們的功能是相同的,只是圖形形式不同,也即編程時所占用的空間不同。平鋪式順序結構層疊式順序結構平鋪式順序結構層疊式順序結構第4章 LabVIEW中的程序結構2023/2/5平鋪式順序結構的數據流向數據流向執行效果第4章 LabVIEW中的程序結構2023/2/5層疊式順序結構的數據流向數據流向
執行結果第4章 LabVIEW中的程序結構2023/2/5定時結構定時循環定時順序定時VI平鋪式順序結構函數→編程→結構第4章 LabVIEW中的程序結構2023/2/5定時結構——定時循環開發支持多種定時功能的VI精確定時循環執行時返回值動態改變定時功能或者多種執行優先級平鋪式順序結構
定時循環根據指定的循環周期順序執行一個或多個子程序框圖或幀。
一般在以下情況中可以使用定時循環結構:第4章 LabVIEW中的程序結構2023/2/5定時結構——定時順序
定時順序結構由一個或多個子程序框圖(也稱“幀”)組成,在內部或外部定時源控制下按順序執行。與定時循環不同,定時順序結構的每個幀只執行一次,不重復執行。定時順序結構適于開發只執行一次的精確定時、執行反饋、定時特征等動態改變或有多層執行優先級的VI。第4章 LabVIEW中的程序結構2023/2/5定時結構——定時VI名稱圖標和端口基本功能創建定時源層次結構根據定時源名稱中輸入的名稱,創建一個層次結構的定時源。清除定時源停止或刪除為其它源所創建或指定的定時源。創建定時源創建用于控制定時結構執行的1kHz、1MHz或軟件觸發定時源發射軟件觸發定時源使用創建定時源VI創建軟件觸發定時源。定時結構停止停止名稱中輸入的定時循環或定時順序。同步定時結構開始將定時結構名稱中輸入的定時循環或定時順序結構名稱添加到同步組名稱所指定同步組,從而使上述循環或順序開始同步。第4章 LabVIEW中的程序結構2023/2/5實例——定時循環應用舉例
用定時循環產生兩個相差指定數據點數的正弦波形,也即兩波形起始相位不同,波形總點數可以任意指定。第4章 LabVIEW中的程序結構2023/2/5條件結構
條件結構也即選擇結構,用于根據條件判斷或者用戶選擇執行相應的程序代碼,相當于C語言中的“case”結構。
條件輸入端決定執行哪個子圖形的代碼,條件輸入值可以是整型、字符串型、布爾型或者枚舉型,默認情況是布爾型。選擇條件標識框里盛放了所有可以被選擇的條件,并顯示了當前子圖形代碼被執行的條件。條件結構的設置:條件輸入端口增減分支與默認分支數據通道第4章 LabVIEW中的程序結構2023/2/5實例——用條件結構實現正弦波-隨機數信號的選擇
本例中,主要演示條件選擇結構的基本功能。共有3個選項:隨機數、正弦波、其它。其中,“隨機數”和“正弦波”都分別對應一個分支,并且“正弦波”分支為默認分支,“其它”選項沒有對應具體的分支。按條件結構的約定,沒有具體分支的選項應該對應“默認分支”。
第4章 LabVIEW中的程序結構2023/2/5事件結構
編寫人機交互界面時,經常要用到事件驅動的機制,LabVIEW同樣支持事件驅動。(1)創建一個事件結構;(2)設置超時參數;(3)添加或刪除事件分支;(4)編輯觸發事件結構的事件源;(5)設置默認分支結構(系統默認將超時分支作為默認分支);(6)創建一個While循環,將事件結構包含在While循環體內。事件結構主要包括:
超時端口事件端口事件選擇標簽代碼框事件結構創建步驟:
第4章 LabVIEW中的程序結構2023/2/5事件結構——編輯事件編輯超時事件
添加新事件
第4章 LabVIEW中的程序結構2023/2/5公式節點
通過公式節點,用戶不僅可以實現復雜的數學公式,還能通過文本編程寫一些基本的邏輯語句,如if…else…、case、while等。
當一個公式或者函數比較復雜時,如果純粹用圖形化的模塊就會使程序看上去異常龐大,程序的可讀性將大大降低。第4章 LabVIEW中的程序結構2023/2/5公式節點中允許的運算符運算符含義**指數+、-、!、~、++、--一元加、一元減、邏輯非、補位、前向加和后向加*、/、%乘、除、取模(取余)+、–加法和減法>>、<<算術右移和左移>、<、>=、<=大于、小于、大于或等于、小于或等于!=、==不相等、相等&按位與^按位異或|按位或&&邏輯與||邏輯或?:條件判斷=op=賦值、計算并賦值,op可以是+、–、*、/、>>、<<、&、^、|、%,或**。在公式節點中可以選用的函數可以在其幫助文件中找到第4章 LabVIEW中的程序結構2023/2/5實例——用公式節點實現復雜函數
在畫波形圖時,如果用常規的波形圖或者波形圖表,則橫軸是從0開始的,如果想畫y關于x的圖像,或者說是非均勻采樣的圖像,則要用XY圖或者ExpressXY圖,關于這些圖形控件的詳細說明請參考第5章相關內容。第4章 LabVIEW中的程序結構2023/2/5反饋節點
“反饋節點”的基本功能與移位寄存器是相似的,它的優點在于可以節省空間,使程序看上去更緊湊。用反饋節點實現前N項求和第4章 LabVIEW中的程序結構2023/2/5變量局部變量全局變量共享變量第4章 LabVIEW中的程序結構2023/2/5局部變量程序內部傳遞數據作為控制量向其它對象傳遞數據作為顯示量接收其它對象傳遞過來的數據局部變量創建方法1局部變量創建方法2輸入/顯示轉換第4章 LabVIEW中的程序結構2023/2/5實例——用局部變量傳遞數據
局部變量只能在程序內部傳遞數據第4章 LabVIEW中的程序結構2023/2/5全局變量局部變量——程序內部傳遞數據全局變量——程序間傳遞數據全局變量創建方法1全局變量創建方法2第4章 LabVIEW中的程序結構2023/2/5實例——用全局變量傳遞數據
用全局變量實現程序間數據傳遞第4章 LabVIEW中的程序結構2023/2/5禁用結構程序框圖禁用結構——類似于C語言中的/*……*/,可用于大段地注釋程序禁用結構是從LabVIEW8中開始新增的功能,用來控制程序是否被執行。
條件禁用結構——類似于C語言中通過宏定義來實現條件編譯第4章 LabVIEW中的程序結構2023/2/5綜合實例1——求100以內能被3整除的自然數和
用For循環確定數據范圍用“商與余數”VI實現條件條件判斷用“條件結構”實現數據選擇第4章 LabVIEW中的程序結構2023/
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025如何高效管理電子合同
- 2025廣東石油交易所入市交易合同協議書
- 動畫制作合同范本
- 大樓租賃合同書
- 2025全球技術服務合同
- 2025臨時辦公空間租賃合同范本
- 房屋空白定購協議書
- 桉樹買賣協議書版本
- 2025年03月浙江臺州市椒江區事業單位公開招聘工作人員49人筆試歷年典型考題(歷年真題考點)解題思路附帶答案詳解
- 2025年03月河北邯鄲市市直事業單位(統一公開招聘)工作人員318名筆試歷年典型考題(歷年真題考點)解題思路附帶答案詳解
- 籃球智慧樹知到期末考試答案章節答案2024年浙江大學
- 《歸去來兮辭(并序)》課件
- 臨床生物化學檢驗練習題庫(含答案)
- X射線衍射儀(XRD)行業市場現狀供需分析及市場深度研究發展前景及規劃投資研究報告
- 2024年強基計劃解讀 課件-2024屆高三下學期主題班會
- 認識常用電子元件圖解
- DB21-T 3413-2021地下工程自防護混凝土結構耐久性技術規程
- 學校食品安全管理
- 團隊溝通與協作培訓
- 美的社會責任報告2023
- 2021年4月自考00908網絡營銷與策劃試題及答案含評分參考
評論
0/150
提交評論