tft每日頭條

 > 科技

 > labview循環結構設置

labview循環結構設置

科技 更新时间:2024-09-05 18:14:57

LabVIEW又稱為G語言,簡單易學、形象直觀,采用圖形化的編程方式,是專為測試、測量和控制應用而設計的系統工程軟件。

在上篇文章(請參考:順序結構編程)中已經講了順序結構的編程方法,下面通過具體例子演示條件結構的編程使用方法。

條件結構框架特點

條件結構也可稱作選擇結構、分支結構等,其目的是根據不同的輸入條件,程序執行不同的分支,用來改變程序的執行流程。在LabVIEW中條件結構框架樣式如下圖所示:

labview循環結構設置(手把手以實例教你學LabVIEW編程)1

由上圖可看出,條件結構由選擇框架、選擇端口、選擇标簽,以及遞增/遞減按鈕等組成。其特點是:

1. 選擇端口上可連接多種數據類型的輸入,如布爾型、數值型、枚舉型、字符串型等;

2. 必需有一個默認處理條件(default case),用來處理超出條件選項範圍的情況;

3. 輸入數據時,每個子條件框可連也可不連數據通道;

4. 輸出數據時,每個子條件框必須為數據通道連接數據。否則程序不能運行,這時通道的圖标是空心的,隻有為每個子條件框的數據端口都連接數據後,圖标才變成實心。為簡單起見,也可在數據通道端口的右鍵菜單中選擇“未連線時使用默認”,可使程序中沒有連線的子條件框輸出該數據類型對應的默認值。

下面根據不同的數據類型的條件輸入,列舉幾個常用類型的編程例子。

示例1:布爾型的條件輸入

LabVIEW中默認創建的條件結構就是布爾型輸入的情況,這種結構類似于C語言中的“if...else...”結構,隻存在真和假兩個分支。一個簡單的示例程序框圖代碼如下圖所示:

labview循環結構設置(手把手以實例教你學LabVIEW編程)2

在上圖中對于輸入的數值x,根據其值與0進行比較的結果作為條件結構的輸入,如果其值大于等于0,則輸出y值為1,否則輸出y值為-1。

注意,此種情況也可以直接輸入一個錯誤簇(LabVIEW内置的數據類型,本質上為一種結構體類型),其會自動分為錯誤和無錯誤兩個分支,然後在兩個分支中分别寫入對應的處理代碼即可。

示例2:數值型的條件輸入

對于數值型的條件輸入,由于計算機在作數值比較時存在着精度原因,其隻允許輸入整數數值,包括有符号和無符号整型數值,若輸入單/雙精度類型時将會自動轉換為有符号整數。此時可以輸入單個數字,也可以輸入一段區間的數值。示例程序框圖代碼如下圖所示:

labview循環結構設置(手把手以實例教你學LabVIEW編程)3

上圖中對于輸入的分數值,根據其所在的區間段或值得出最終的結論信息,涉及到了單個數值、區間段及默認情況的處理。

注意,對于整數數值輸入,在分支中符号“..”表示選擇一段區間,如“60..69”表示的是所有大于等于60且小于等于69之間的整數,“..60”表示的是所有小于等于60的整數;符号“,”表示多個數值的選擇,如“2,5,8”表示當條件等于2、5、8時選擇這個分支。

示例3:字符串型的條件輸入

這種分支比較簡單,示例程序框圖代碼如下圖所示:

labview循環結構設置(手把手以實例教你學LabVIEW編程)4

程序中模拟顯示了程序的執行過程,輸入“執行步驟”信息,其值當輸入“步驟1”、“步驟2”和“步驟3”時,“執行信息”控件中會顯示當前程序運行信息。

當輸入其它信息時,程序會執行默認分支,在該分支中,由于在“執行信息”數據通道的右鍵菜單中選擇了“未連線時使用默認值”,因此“執行信息”的值将輸出為空白字符。

示例4:枚舉型的條件輸入

這種枚舉型的條件輸入,在LabVIEW中應該是最正宗的條件結構了,類似于C語言的“switch...case...”結構,并且在創建分支時,可在右鍵菜單中選擇“為每個值添加分支”,此時程序會自動為枚舉類型輸入變量中的每個值創建一個分支框,省去了手動添加每個分支的過程,添加分支後,再将其中的一個分支設置為默認分支即可。一個簡單的示例程序框圖代碼如下圖所示:

labview循環結構設置(手把手以實例教你學LabVIEW編程)5

在上圖中“季節”是一個枚舉型的輸入控件,根據其值自動輸出當前的季節信息。

總結

本文針對LabVIEW中條件結構,給出了當輸入不同數據類型的條件時,其典型的編程方法。從這些例子中可看出,LabVIEW中提供的這種條件結構,功能非常強大,完全可以實現C語言中的“if...else...”、“switch...case...”等結構類型的功能,而且編程方法也是非常簡潔方便的。

本文由編碼那些事原創,請關注 轉發 收藏 點贊,帶你一起長知識!

,

更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!

查看全部

相关科技资讯推荐

热门科技资讯推荐

网友关注

Copyright 2023-2024 - www.tftnews.com All Rights Reserved