LabVIEW又稱為G語言,簡單易學、形象直觀,采用圖形化的編程方式,是專為測試、測量和控制應用而設計的系統工程軟件。
在前面兩篇文章(請參考:順序結構、條件結構)中分别講了順序結構與條件結構的編程方法,下面通過具體例子演示循環結構的編程使用方法。
循環結構框架特點對于循環結構,同C語言類似,LabVIEW中提供了兩種實現方式,分别為for循環和While循環,其框架樣式分别如下圖所示:
上圖中,左邊為for循環框,右邊為while循環框,這兩種循環的特點是:
1. 兩個循環框都有計數端口“i”,用以标記當前運行的次數。
2. For循環框多用于循環次數已知的情況,循環次數由端口“N”接入;while循環則多用于循環次數未知的情況,其循環的終止條件由條件端口給出。
3. While循環不滿足條件也要執行1次,即至少執行一次;for循環當N<1時可一次都不執行。
4. 在循環框上,可通過移位寄存器存儲某個變量前面幾次循環的值。
5. 在循環框上,當用連線工具連接循環框内外的數據端口時,在框架上會自動形成一個方形的數據通道圖标,圖标空心表明此時數據通道具有自動索引功能,圖标實心則不能索引。這兒的自動索引是指将循環框外面的數組成員逐個依次進入循環體内,或将循環框内的數據累加成一個數組輸出到循環框外面。
下面通過簡單的例子,演示LabVIEW中for循環和while循環編程的方法。
基本示例1:計算1-10之間所有整數的和本例要求計算1-10之間所有整數的和。可用for循環,也可用while循環,配合初始值為0的移位寄存器,可以很容易的求得計算結果為55。
使用for循環,設置循環次數為10次,程序框圖代碼如下圖所示:
使用while循環,終止條件在右鍵菜單中可設置為“真(T)時停止”或者“真(T)時繼續”,程序框圖代碼分别如下圖所示:
左圖中終止條件設置為“真(T)時停止”,意味着當“i 1”的值即當前數值≥10時退出循環。
右圖中終止條件設置為“真(T)時繼續”,意味着隻要“i 1”的值即當前數值<10時就一直執行循環。
實際上這兩種方式是完全等價的,終止條件的設置完全取決于個人的編程習慣。
擴展示例2:如何在循環執行的過程中退出循環在上例的基礎上思考下面的問題,在計算1-10之間所有整數和的過程中,要求當數值加到5時就退出循環,即隻計算1-5之間所有整數的和,在循環中如何實現?實際上這類似于C語言中的break語句的功能實現。
先看下for循環中的實現方法。在for循環邊框的右鍵菜單中選擇“條件接線端”,則在for循環内部自動添加一個類似while循環的終止條件,将“i 1”與5進行相等比較後的布爾值連接到這個終止條件上,就可實現要求的功能。程序框圖代碼如下圖所示:
對于while循環實現則相對較簡單,隻需在終止條件上額外再添加一種退出情況即可,即修改後的終止條件改為,“i 1”的值隻要滿足“≥10”或者“=5”就要退出循環。程序框圖代碼如下圖所示:
擴展示例3:如何在循環執行的過程中跳過本次循環
仍然在上例的基礎上思考下面的問題,在計算1-10之間所有整數和的過程中,要求當數值等于5時不計入求和結果中,即隻計算1-10之間除5以外所有整數的和,在循環中如何實現?這個問題實際上這類似于C語言中的continue語句的功能實現。
在LabVIEW語言的循環中并未直接提供continue語句功能的實現,但我們可以通過在循環内部嵌套條件結構,從而變相實現這個功能。
使用for循環實現時,在循環内部對當前“i 1”的值進行判斷,當不等于5時,在移位寄存器中加入當前“i 1”的值,否則,移位寄存器的值保留為上次的值,程序框圖代碼如下圖所示:
使用while循環實現時,其思路完全類似,程序框圖代碼如下圖所示:
總結
本文對于LabVIEW中的for及while循環結構,給出了其配合移位寄存器使用的基本編程方法,同時,也給出了類似C語言中“break”語句及“continue”語句的實現方法。從這兒可看出,高級編程語言之間都是相通的,如果你有了C或者其它編程語言的基礎,那麼,對比着理解學習LabVIEW将會是一件非常簡單的事情。
本文由編碼那些事原創,請關注 轉發 收藏 點贊,帶你一起長知識!
,更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!