Labview學習筆記-條件結構的兩個問題


數組:“創建數組控件“用於連接數組 輸入端:數組+元素 或數組+數組 右鍵創建數組控件 在連接數組項上打鈎或取消,改變連接的數組維度
簇:就是C語言中的結構體 簇和數組的轉換 必須保證各元素數據類型一致

條件結構:
labview中真假分支都必須給隧道賦值 輸入隧道在每一個分支中都可,輸出隧道必須從每一個分支都得到明確的輸入值,否則程序無法運行。 輸出隧道是實心的,才表示所有分支都有接入值(接入值也可以通過打鈎未連線時使用默認。)
這樣就帶來了問題1::由於隧道的存在,任何分支都必須對已有隧道進行賦值操作,而無法像C語言中可以忽略一個分支 或在某一分支進行空操作

例如C語言中:

if(a<=0.1) b=1;

else          c=1;

這樣一個簡單的例子。C語言中允許在某分支中不進行操作即空操作。但是labview中不行,若是在a<=0.1的真分支里給b賦值為1,在假分支里也必須給b賦值,如果像程序中那樣在假分支里只改變c的值而不對b進行處理,是不可以的,如果任何一個分支里不給b賦值,程序都會報錯,提示隧道未賦值。即使你選擇未連線時使用默認,也會給b賦值為0。總問言

之任何已有隧道在任一分支里都要被賦值!

 

 


問題2::當多個分支嵌套時,由於每個分支的各個子分支在框圖里時疊合在一起的,因此想要清晰明了的讀出所有分支的走向就比較困難。

這樣一個三分支的程序,由於真假分支重疊,因此要一目了然比較困難。

 解決辦法:利用函數控件比較中的判定范圍並強制轉換可以將各個分支簡潔的列出,再將各個分支的結果放到一個布爾數組里,再利用函數空間布爾控件中的布爾數組至數值轉換將布爾數組轉換為對應的數值,比如三個分支中當第三個分支成立而前兩個不成立時,布爾數組為100(第一個分支再最低位),那么轉換為數值就為4,也就是這種情況下對應的結果是4,同理還可能會出現010=2,001=1,000=0共四種情況,這時候再創建一個條件結構,以0,1,2,4不同的數值為判定條件,即可將各分支理清,增強易讀性。

例如C程序:

if(a<=0.1)  b=1;

else if(a>0.1 && a<0.2)  b=2;

else if(a>=0.2 && a<0.3) c=1;

else                                      ;

判定范圍並強制轉換:這個控件有上限,下線,X,三個輸入接線端。右側有兩個接線端,右下角?標志接線端表示x是否在上下限范圍內,我們以此控件來輕松表示一個分支。

將各個分支表示完畢后,再將各個分支的判斷結果以布爾類型存放在一個布爾數組中,再把布爾數組轉換為數值

 

最后以不同分支結果對應不同數值為依據,創建條件結構

這種方法,無論對於易讀性還是修改都更方便。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2026 CODEPRJ.COM