LabVIEW又稱為G語言,簡單易學、形象直觀,采用圖形化的編程方式,是專為測試、測量和控制應用而設計的系統工程軟件。
在上篇文章(請參考:順序結構編程)中已經講了順序結構的編程方法,下面通過具體例子演示條件結構的編程使用方法。
條件結構框架特點條件結構也可稱作選擇結構、分支結構等,其目的是根據不同的輸入條件,程序執行不同的分支,用來改變程序的執行流程。在LabVIEW中條件結構框架樣式如下圖所示:
由上圖可看出,條件結構由選擇框架、選擇端口、選擇标簽,以及遞增/遞減按鈕等組成。其特點是:
1. 選擇端口上可連接多種數據類型的輸入,如布爾型、數值型、枚舉型、字符串型等;
2. 必需有一個默認處理條件(default case),用來處理超出條件選項範圍的情況;
3. 輸入數據時,每個子條件框可連也可不連數據通道;
4. 輸出數據時,每個子條件框必須為數據通道連接數據。否則程序不能運行,這時通道的圖标是空心的,隻有為每個子條件框的數據端口都連接數據後,圖标才變成實心。為簡單起見,也可在數據通道端口的右鍵菜單中選擇“未連線時使用默認”,可使程序中沒有連線的子條件框輸出該數據類型對應的默認值。
下面根據不同的數據類型的條件輸入,列舉幾個常用類型的編程例子。
示例1:布爾型的條件輸入LabVIEW中默認創建的條件結構就是布爾型輸入的情況,這種結構類似于C語言中的“if...else...”結構,隻存在真和假兩個分支。一個簡單的示例程序框圖代碼如下圖所示:
在上圖中對于輸入的數值x,根據其值與0進行比較的結果作為條件結構的輸入,如果其值大于等于0,則輸出y值為1,否則輸出y值為-1。
注意,此種情況也可以直接輸入一個錯誤簇(LabVIEW内置的數據類型,本質上為一種結構體類型),其會自動分為錯誤和無錯誤兩個分支,然後在兩個分支中分别寫入對應的處理代碼即可。
示例2:數值型的條件輸入對于數值型的條件輸入,由于計算機在作數值比較時存在着精度原因,其隻允許輸入整數數值,包括有符号和無符号整型數值,若輸入單/雙精度類型時将會自動轉換為有符号整數。此時可以輸入單個數字,也可以輸入一段區間的數值。示例程序框圖代碼如下圖所示:
上圖中對于輸入的分數值,根據其所在的區間段或值得出最終的結論信息,涉及到了單個數值、區間段及默認情況的處理。
注意,對于整數數值輸入,在分支中符号“..”表示選擇一段區間,如“60..69”表示的是所有大于等于60且小于等于69之間的整數,“..60”表示的是所有小于等于60的整數;符号“,”表示多個數值的選擇,如“2,5,8”表示當條件等于2、5、8時選擇這個分支。
示例3:字符串型的條件輸入這種分支比較簡單,示例程序框圖代碼如下圖所示:
程序中模拟顯示了程序的執行過程,輸入“執行步驟”信息,其值當輸入“步驟1”、“步驟2”和“步驟3”時,“執行信息”控件中會顯示當前程序運行信息。
當輸入其它信息時,程序會執行默認分支,在該分支中,由于在“執行信息”數據通道的右鍵菜單中選擇了“未連線時使用默認值”,因此“執行信息”的值将輸出為空白字符。
示例4:枚舉型的條件輸入這種枚舉型的條件輸入,在LabVIEW中應該是最正宗的條件結構了,類似于C語言的“switch...case...”結構,并且在創建分支時,可在右鍵菜單中選擇“為每個值添加分支”,此時程序會自動為枚舉類型輸入變量中的每個值創建一個分支框,省去了手動添加每個分支的過程,添加分支後,再将其中的一個分支設置為默認分支即可。一個簡單的示例程序框圖代碼如下圖所示:
在上圖中“季節”是一個枚舉型的輸入控件,根據其值自動輸出當前的季節信息。
總結本文針對LabVIEW中條件結構,給出了當輸入不同數據類型的條件時,其典型的編程方法。從這些例子中可看出,LabVIEW中提供的這種條件結構,功能非常強大,完全可以實現C語言中的“if...else...”、“switch...case...”等結構類型的功能,而且編程方法也是非常簡潔方便的。
本文由編碼那些事原創,請關注 轉發 收藏 點贊,帶你一起長知識!
,更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!