Labview結構的使用
條件結構
本文引用地址:http://www.104case.com/article/201701/336594.htm條件結構是執行條件語句的一種方法。這類似于文本編輯語言中常見的If…Then…Else語句。它位于程序框圖中,函數→編程→結構→條件結構。如圖所示:
條件結構包含有兩個或者更多的子框圖,每一個子框圖包含一段程序代碼,由此對應一個程序分支。多個子框圖就像一摞卡片重疊在一起,任何時候只有一個是可見的,執行哪一個取決于于選擇端子外部接口相連的某個整數,布爾數,字符串或者枚舉指,用戶也可以直接輸入所有可能出現的值。
1. 選擇端口的輸入值
條件結構選擇端口的輸入值是由與它相連的輸入控件對象決定的,數據類型可以是布爾量,整形,字符串型或者枚舉型。條件結構頂部中間是各分支的選擇標識,它自動調整為輸入的數據類型,可以在工具模板上使用標簽工具直接鍵入單個數值或某個數據范圍。數值之間用逗號來分開,例如:“..0,2,4..10”表示選擇條件為:≤0,2,4,5,6,7,8,9,10。
對于字符型和枚舉型數值在條件標識上會自動加上雙引號,當鍵入的選擇器標識值與連接選擇端口的數值類型不同時,選擇器標識變為紅色標識有錯誤。如圖:
設置默認分支的方法是,選擇一個分支結構,在快捷菜單中執行“本分支設置為默認分支”,它的作用是當選擇端口的值與選擇器標識值沒有一個匹配時,就執行默認分支。如圖:
2.條件結構的數據通道
條件結構的數據通道就是數據的輸入和輸出端口。將結構內外的端子相連后,邊框上就會出現一個小矩形框,這就是數據通道,用于傳輸數據。向條件結構的一個分支提供數據時,這個數據對于所有的分支都是有效的,也就是其他分支都可以使用這個輸入數據。條件結構的輸出通道有些不同,當在一個分支中創建輸出通道后,所有分支的同一位置都會出現一個白色小方框,它要求每一個分支都必須為這個通道予以連接,通道變為實心后程序才可以運行。也可以在通道的快捷菜單中選定“未連線時使用默認”為沒有連接的分支定義一個默認輸出值,這時輸出通道變為灰色。如圖:
條件結構應用舉例
例一:
該例的目的是檢查一個數是不是正數,如果是就計算該數的平方根值,如果不是則發出警告。
- 新建一個VI,在前面板上放置一個數值輸入控件和一個數字顯示控件。
- 在程序框圖上放置一個條件結構,調整邊框為合適大小。
- 在比較運算子模板中選取“大于等于0?”函數,如果數字大于或者等于0則返回真,否則返回假。它的輸出連接條件接口的選擇端口。
- 在數值數字運算子模板中選取“平方根”函數,放置在條件結構的“真”子代碼框。
- 選擇一個發聲函數,放到條件結構的“假”子代碼框。它位于函數→編程→圖形與聲音→蜂鳴聲。如圖:
- 在條件結構的假代碼框的輸出通道上選取創建常量,創建常數-999,表示當數值輸入為負數時輸出-999,同時蜂鳴器發出警告。
- 完成連線,如圖:
運行結果如圖:
例二:
該例的目的是首先要判斷液面的高度是否超過零界面,如果超過零界面則執行后續操作(循環判斷液面是否超位),否則停止執行程序。
因為Labview語言的While訓話是先執行,然后再判斷條件。而在實際應用中,經常是要求先進行判斷條件,只有當條件滿足時才執行,否則不執行。可以在While循環中加入條件結構來實現此功能
- 新建一個VI,在前面板上放置一個數值輸入控件,模擬容器“液面高度”同時放置一個“液面報警”指示燈,當液面超過零界面時點亮。
- 在程序框圖上放置一個While循環結構并在它內部放置一個條件結構,調整結構邊框位合適的大小。
- 在比較運算子模板中選取“大于0?”函數,如果數字大于0返回真,否則返回假。它的輸出連接條件的選擇端口,并且連接到While循環結構的循環條件端子,表示輸入數字量大于0則繼續循環,并且執行真分支。
- 在真分支代碼框中,放置“大于?”函數,將“液面高度”與上限值“5”進行比較,輸出送給“液面報警”指示燈。
- 完成連線,并運行程序。程序及運行結果如圖:
順序結構
順序框圖位于函數→編程→結構→平鋪式順序結構,層疊式順序結構。
順序結構依次執行程序,它可以包含多個代碼子框圖,這些代碼子框圖看起來就像是多幀電影膠片一樣,所以把每個子框圖稱為幀。右擊順序結構的框架,將彈出如圖所示的快捷菜單。
評論