這篇我們將介紹 LabVIEW 的 Array。
Array 是一個相同資料型態的集合。在 LabVIEW 裏,建立 Array 是很簡單的一件事。底下我們用個簡單的例子來介紹如何建立 Array。
建立 Array
當你在 Block Diagram 上按滑鼠右鍵,打開 Functions Palette > Array, Matrix & Cluster,你會看到第一個選項就是 Array,像下圖這樣,把它拖曳放到 Block Diagram 上就可以建立一個 Array:
底下我們建立了兩個 Array,右手邊的圖是 Block Diagram:
注意 Block Diagram 上這兩個 Terminals 的框線是黑色的,這代表它們的資料型態還未定義。
我們可以在 Array 上放上 Boolean, Numeric, String 或其它種類的元件,這樣就可以明確定義 Array 的資料型態。比如我們現在用滑鼠拖曳 Vertical Toggle Switch 到陣列的框架中:
這樣就可以產生一個 Toggle Switch Array,同時 Block Diagram 上對應的 Terminal 框線顏色也會跟著變成綠色的,代表它是一個 Boolean Array:
依樣畫葫蘆在 Array2 上放個 Round LED,順便利用滑鼠調整 Toggle Switch 和 Round LED 的大小:
接著只要用滑鼠拖曳 Array 的邊框,然後橫或是往直的拉,就可以增加 Array 的元素,例如下圖左往橫的拉四格後,即呈現圖右的結果,得到有 4 個元素的 Togglw Switch Array:
照同樣的方法做出有 4 個元素的 Round LED Array:
接著切到 Block Diagram,然後用接線把兩個 Array 連接起來:
為了方便,我們再用個 While Loop 放程式碼框起來,並在 While 右下角的 Loop Condition 上按右鍵點選 Create Control 建立 Stop 鈕:
現在當我們按 Run 鈕執行這支程式,你會看到 Round LED Array 的狀態會對應到 Toggle Switch Array。
現在是全部為 False 的狀態:
當我們改變 Toggle Switch Array 的狀態,就會看到 Round LED Arrary 對應的 LED 狀態會跟著同步改變:
用同樣的方法,我們可以建立 Vertical Pointer Slide 和 Thermometer 的 Arrays,如下:
底下是將兩個同為 Numeric 型態的 Arrays 連接起來並放到 While Loop 後的 Block Diagram:
當我們按 Run 鈕執行這支程式,就可以利用畫面上方的 Vertical Pointer Slide 來控制底下對應的 Thermometer:
Array functions
在 Block Diagram 上,打開 Function Palette > Array,你會看到 LabVIEW 提供了很多 Array functions:
我們可以利用 Array functions 來操控 array,例如利用 Array Size 取得陣列的大小、利用 Index Array 取出陣列指定位置的元素、用 Insert Into 插入新的資料到陣列中,或是用 Delete From Array 刪除陣列中的元素等。
底下以最常用的 Array Size 和 Index Array 示範 Array functions。首先是 Array Size,我們在 Block Diagram 上放個 Array Size,並為其 Create Indicator,然後像下圖這樣把它連接到 Vertical Pointer Slide Array 的輸出:
因為 Vertical Pointer Slide Array 目前總共有 4 個元素,所以現在當我們執行這支程式,就會看到 size(s) 上會顯示數值 4:
現在放一個 Index Array 到 Block Diagram 上,一樣把它連接到 Vertical Pointer Slide Array 的輸出,然後照下圖這樣用 Create Control 建立一個 Control,並且用 Create Indicator 建立一個 Indicator:
這時 Front Panel 會得到如下結果:
我們可以利用 Index Array 取出陣列指定位置的元素,而上圖 index 這個 Control 是讓你指定陣列的索引,而 element 這個 Indicator 則會顯示陣列指定元素的數值。
LabVIEW 陣列跟 C/C++ 語言一樣,索引是從 0 開始算起,所以如果我們要指定陣列第 3 個元素,那麼當我們按 Run 鈕執行這支程式,然後在 index 上輸入 2,你就會看到第 3 個元素的數值,如下圖,其值為 50:
0 意見:
張貼留言