圖一
如圖一所示:如果要撰寫一個VI,比較輸入矩陣(Input Array)的各個元素是否大於指定數值(Assigned Value),並將大於的數值輸出,可以運用以下手法實作:
圖二
但是以上的這個應用,其實還有另一個更為簡潔的作法。LabVIEW從2012版開始,對於穿過邊框的陣列(array),提供了一種新的Tunnel mode,叫做Conditional,可以針對啟動auto indexing的輸出tunnel,加入一個判斷式:
圖三
圖三的程式效果,與圖二完全相同,但程式內的case structure不見了,shift register也被一般的auto-indexing tunnel取代,而右邊框上的tunnel,就是Conditional Tunnel;設定方式是先拉出一般的tunnel,然後按右鍵叫出捷徑選單:
圖四
Conditional Tunnel雖然方便,但並不能取代所有shift register + build array的應用場合。下一篇文章〈動態地讓Array Size增長 - Part 2〉將會為各位讀者介紹更多案例。
程式2載點:DynamicallyOutputArrayElement_ConditionalTunnel.vi
沒有留言:
張貼留言