LabVIEW入門第九天
歡迎大家閱讀本篇文章,今天給大家介紹數組和簇,歡迎有興趣的一起學習探討。
一,LabVIEW數組和簇的含義
數組由元素和維度構成,可以是輸入控件或顯示控件,但不能同時包含輸入控件和顯示控件。 元素是數組中包含的數據或值。 維度是數組的長度、高度或深度。 數組適用於使用一組同類數據集或需要存儲重複計算歷史時。
數組中的元素是有序的, 數組中的每個元素都有一個對應的索引值,通過數組索引可訪問數組中的某個特定元素。 NI LabVIEW軟件中的數組索引從0開始。 也就是說,如果一維(1D)數組包含n個元素,那麼索引範圍就是0~n – 1,其中索引0指向數組中的第一個元素,索引n – 1指向數組中的最後一個元素。
簇可以將混合類型的數據集合在一起。 LabVIEW錯誤簇就是一個常見的簇,它包含一個布爾值、一個數值以及一個字符串。 簇類似於文本編程語言中的記錄或者結構體。
與數組相似,簇也可以是輸入控件或顯示控件,但不能同時包含輸入控件和顯示控件。 簇和數組的不同之處在於特定簇的大小是固定的,而特定數組的大小可以變化。 同時,簇可以包含多種數據類型,但數組只能包含一種數據類型。
二,創建數組輸入控件和顯示控件
-
新建一個VI。
-
右鍵單擊前面板,顯示控件選板。
-
在控件選板上,瀏覽新式»數組、矩陣與簇並將數組拖曳至前面板。
-
在控件選板上,瀏覽新式»數值,拖曳並放置一個數值顯示控件至數組內。
-
將鼠標懸浮於數組上方,拖曳數組右側可展開數組並顯示多個元素。
上述步驟介紹了創建一維數組的方法。 而二維數組則是以網格或矩陣的方式存儲元素。 二維數組中的每個元素都包含兩個對應的索引值:行索引和列索引。 與一維數組相同,二維數組的行索引和列索引也是從0開始的。
三,創建二維數組
二維數組前,必須先創建一個一維數組,然後增加其維度。 現在返回到之前創建的一維數組。
-
在前面板上右鍵單擊索引顯示並從快捷菜單中選擇添加維度。
-
將鼠標懸浮於數組上方,拖曳數組的一個角可展開數組並顯示多行和多列。
至此,創建數組的數值元素均顯示爲灰色的0。 灰色數組元素表示元素未被初始化。 單擊元素內部,將灰色0替換爲需要的數字,可初始化元素。
元素可初始化爲任何選擇的值。 元素值無需統一,如上圖所示。
四,創建數組常量
數組常量用於存儲常量數據或用於同另一個數組進行比較。
-
右鍵單擊程序框圖,顯示函數選板。
-
在函數選板上,瀏覽編程»數組並將數組常量拖曳至程序框圖。
-
在函數選板上,瀏覽編程»數值並將數值常量拖曳至“數組常量”。
4. 重新調整數組常量大小並初始化一些元素。
五,數組輸入/輸出
如果將數組連線到For循環的輸入端,通過自動索引功能,LabVIEW可將For循環計數接線端自動設置爲數組大小。 右鍵單擊連線至數組的循環隧道,選擇啓用索引(禁用索引)。
如啓用了自動索引,For循環的每次迭代傳遞數組中對應的元素。
連線值作爲For循環的輸出時,啓用自動索引會輸出一個數組。 數組大小與For循環執行的迭代次數相同,數組包含For循環的輸出值。
-
新建一個VI。 瀏覽文件»新建VI。
-
在程序框圖上創建並初始化2個一維數組常量,每個數組常量包含6個數值元素,類似下圖所示的數組常量。
-
在前面板上創建一個一維數值數組顯示控件。 將數值類型改爲32位整型。 右鍵單擊數組並選擇表示法»I32。
-
在程序框圖上創建一個For循環,並在其內部放置一個“加”函數。
-
將一個數組常量連入For循環並將其連接至“加”函數的x接線端。
-
將另一個數組常量連入For循環並將其連接至“加”函數的y接線端。
-
將“加”函數的輸出接線端連出For循環,並將其連接至數值數組顯示控件的輸入接線端。
-
最終程序框圖和前面板應與下圖相似。
-
回到前面板並運行VI。 注意數值數組顯示控件中的每個元素被兩個數組常量中對應元素的和填充。
如果在多個循環隧道上啓用了自動索引並連線For循環計數接線端,則迭代次數等於較小的計數。 如下圖所示,For循環計數接線端設爲運行15次,數組1包含10個元素,數組2包含20個元素。 如果運行下圖的VI,則For循環執行10次且數組結果包含10個元素。 請自行進行測試。
如下圖所示,可使用嵌套式For循環和自動索引創建二維數組。 外部的For循環創建了行元素,內部的For循環創建了列元素。
六,創建簇
-
新建一個VI。
-
右鍵單擊前面板,顯示控件選板。
-
在控件選板上,瀏覽新式»數組、矩陣與簇並將簇拖曳至前面板。
-
重新調整簇的大小,以便容納多個元素。
-
在控件選板上,瀏覽新式»數值,拖曳並放置一個數值輸入控件至簇內。
-
在控件選板上,瀏覽新式»字符串與路徑,拖曳並放置一個字符串輸入控件至簇內。
-
在控件選板上,瀏覽新式»布爾,拖曳並放置一個垂直搖杆開關至簇內。
-
您的簇應該與下圖類似。
這樣,通過一根連線就可以將數值、字符串和布爾控件在程序框圖中進行連線,而無需三根單獨的連線。
七,創建簇常量
與數組常量相似,簇常量可用於存儲常量數據或用作與別的簇進行比較的基礎。 創建簇常量的方式與前面所述創建數組常量的步驟相同。
如您已有簇輸入控件或顯示控件,需要創建包含同樣數據類型的簇常量,可首先複製程序框圖上的簇輸入控件或顯示控件,然後右鍵單擊副本並從快捷菜單中選擇轉換爲常量。
八,簇函數
本教程介紹四種常用於簇的簇函數。 它們分別是捆綁、解除捆綁、按名稱捆綁以及按名稱解除捆綁函數。
捆綁函數可用於將單個元素組裝成簇。 要將元素連線至捆綁函數,可使用鼠標重新調整函數大小,或右鍵單擊函數並從快捷菜單中選擇添加輸入。
按名稱捆綁或捆綁函數可用於修改現有的簇。 可按照捆綁函數相同的方式重新調整按名稱捆綁函數的大小。
按名稱捆綁函數在修改現有簇時十分有用,因爲通過該函數可知道具體修改的簇元素。 例如,假設一個簇包含兩個標籤爲“字符串1”和“字符串2”的字符串元素。 如使用捆綁函數修改簇,函數接線端以粉色abc的形式出現。因此,無法獲知哪個接線端修改“字符串1”,哪個接線端修改“字符串2”。
但如果使用按名稱捆綁函數修改簇,函數接線端會顯示元素標籤,因此哪個接線端修改哪個標籤十分清楚。
解除捆綁函數可用於將簇分解成單個元素。 按名稱解除捆綁函數可用於返回根據名稱指定的特定簇元素。 可通過捆綁和按名稱捆綁函數相同的方式重新調整這些函數的大小,以容納多個元素。
九,簇順序
簇元素包含一個與其在簇中位置無關的邏輯順序。 簇中放置的第一個對象是元素0,第二個對象是元素1,依此類推。 刪除元素時順序會自動調整。 簇順序決定了元素出現在程序框圖上捆綁和解除捆綁函數接線端的順序。 右鍵單擊簇邊界並從快捷菜單中選擇重新排序簇中控件,可查看和修改簇順序。
每個元素上的白色小框顯示了該元素當前在簇中的順序。 黑色小框表示元素新的順序。 要設置簇元素的順序,可在單擊設置文本框中新的順序編號並單擊元素。 元素簇順序發生改變後,其他元素的簇順序會自動調整。 單擊工具欄上的確認按鈕可保存修改。 單擊取消按鈕可回到原始順序。