本教程介紹了數(shù)組和簇數(shù)據(jù)類型,以及創(chuàng)建和使用數(shù)組和簇的方法。
數(shù)組由元素和維度構(gòu)成,可以是輸入控件或顯示控件,但不能同時包含輸入控件和顯示控件。 元素是數(shù)組中包含的數(shù)據(jù)或值。 維度是數(shù)組的長度、高度或深度。 數(shù)組適用于使用一組同類數(shù)據(jù)集或需要存儲重復(fù)計算歷史時。
數(shù)組中的元素是有序的, 數(shù)組中的每個元素都有一個對應(yīng)的索引值,通過數(shù)組索引可訪問數(shù)組中的某個特定元素。 NI LabVIEW軟件中的數(shù)組索引從0開始。 也就是說,如果一維(1D)數(shù)組包含n個元素,那么索引范圍就是0~n – 1,其中索引0指向數(shù)組中的第一個元素,索引n – 1指向數(shù)組中的最后一個元素。
簇可以將混合類型的數(shù)據(jù)集合在一起。 LabVIEW錯誤簇就是一個常見的簇,它包含一個布爾值、一個數(shù)值以及一個字符串。 簇類似于文本編程語言中的記錄或者結(jié)構(gòu)體。
與數(shù)組相似,簇也可以是輸入控件或顯示控件,但不能同時包含輸入控件和顯示控件。 簇和數(shù)組的不同之處在于特定簇的大小是固定的,而特定數(shù)組的大小可以變化。 同時,簇可以包含多種數(shù)據(jù)類型,但數(shù)組只能包含一種數(shù)據(jù)類型。
創(chuàng)建數(shù)組輸入控件和顯示控件
要在LabVIEW中創(chuàng)建數(shù)組,必須在前面板上放置一個數(shù)組,并在數(shù)組內(nèi)放置一個元素(如數(shù)值、布爾或波形輸入控件或顯示控件)。
1. 新建一個VI。
2. 右鍵單擊前面板,顯示控件選板。
3. 在控件選板上,瀏覽新式?數(shù)組、矩陣與簇并將數(shù)組拖曳至前面板。
?
4. 在控件選板上,瀏覽新式?數(shù)值,拖曳并放置一個數(shù)值顯示控件至數(shù)組內(nèi)。
?
5. 將鼠標(biāo)懸浮于數(shù)組上方,拖曳數(shù)組右側(cè)可展開數(shù)組并顯示多個元素。
?
上述步驟介紹了創(chuàng)建一維數(shù)組的方法。 而二維數(shù)組則是以網(wǎng)格或矩陣的方式存儲元素。 二維數(shù)組中的每個元素都包含兩個對應(yīng)的索引值:行索引和列索引。 與一維數(shù)組相同,二維數(shù)組的行索引和列索引也是從0開始的。
創(chuàng)建二維數(shù)組前,必須先創(chuàng)建一個一維數(shù)組,然后增加其維度。 現(xiàn)在返回到之前創(chuàng)建的一維數(shù)組。
1. 在前面板上右鍵單擊索引顯示并從快捷菜單中選擇添加維度。
?
2. 將鼠標(biāo)懸浮于數(shù)組上方,拖曳數(shù)組的一個角可展開數(shù)組并顯示多行和多列。
?
至此,創(chuàng)建數(shù)組的數(shù)值元素均顯示為灰色的0。 灰色數(shù)組元素表示元素未被初始化。 單擊元素內(nèi)部,將灰色0替換為需要的數(shù)字,可初始化元素。
?
元素可初始化為任何選擇的值。 元素值無需統(tǒng)一,如上圖所示。
創(chuàng)建數(shù)組常量
數(shù)組常量用于存儲常量數(shù)據(jù)或用于同另一個數(shù)組進(jìn)行比較。
1. 右鍵單擊程序框圖,顯示函數(shù)選板。
2. 在函數(shù)選板上,瀏覽編程?數(shù)組并將數(shù)組常量拖曳至程序框圖。
?
3. 在函數(shù)選板上,瀏覽編程?數(shù)值并將數(shù)值常量拖曳至“數(shù)組常量”。
?
4. 重新調(diào)整數(shù)組常量大小并初始化一些元素。
?
數(shù)組輸入/輸出
如果將數(shù)組連線到For循環(huán)的輸入端,通過自動索引功能,LabVIEW可將For循環(huán)計數(shù)接線端自動設(shè)置為數(shù)組大小。 右鍵單擊連線至數(shù)組的循環(huán)隧道,選擇啟用索引(禁用索引)。
如啟用了自動索引,F(xiàn)or循環(huán)的每次迭代傳遞數(shù)組中對應(yīng)的元素。
連線值作為For循環(huán)的輸出時,啟用自動索引會輸出一個數(shù)組。 數(shù)組大小與For循環(huán)執(zhí)行的迭代次數(shù)相同,數(shù)組包含F(xiàn)or循環(huán)的輸出值。
1. 新建一個VI。 瀏覽文件?新建VI。
2. 在程序框圖上創(chuàng)建并初始化2個一維數(shù)組常量,每個數(shù)組常量包含6個數(shù)值元素,類似下圖所示的數(shù)組常量。
?
3. 在前面板上創(chuàng)建一個一維數(shù)值數(shù)組顯示控件。 將數(shù)值類型改為32位整型。 右鍵單擊數(shù)組并選擇表示法?I32。
?
4. 在程序框圖上創(chuàng)建一個For循環(huán),并在其內(nèi)部放置一個“加”函數(shù)。
5. 將一個數(shù)組常量連入For循環(huán)并將其連接至“加”函數(shù)的x接線端。
?
6. 將另一個數(shù)組常量連入For循環(huán)并將其連接至“加”函數(shù)的y接線端。
?
7. 將“加”函數(shù)的輸出接線端連出For循環(huán),并將其連接至數(shù)值數(shù)組顯示控件的輸入接線端。
?
8. 最終程序框圖和前面板應(yīng)與下圖相似。
?
程序框圖
?
?
前面板
9. 回到前面板并運行VI。 注意數(shù)值數(shù)組顯示控件中的每個元素被兩個數(shù)組常量中對應(yīng)元素的和填充。
?
如果在多個循環(huán)隧道上啟用了自動索引并連線For循環(huán)計數(shù)接線端,則迭代次數(shù)等于較小的計數(shù)。 如下圖所示,F(xiàn)or循環(huán)計數(shù)接線端設(shè)為運行15次,數(shù)組1包含10個元素,數(shù)組2包含20個元素。 如果運行下圖的VI,則For循環(huán)執(zhí)行10次且數(shù)組結(jié)果包含10個元素。 請自行進(jìn)行測試。
?
如下圖所示,可使用嵌套式For循環(huán)和自動索引創(chuàng)建二維數(shù)組。 外部的For循環(huán)創(chuàng)建了行元素,內(nèi)部的For循環(huán)創(chuàng)建了列元素。
?
創(chuàng)建簇
1. 新建一個VI。
2. 右鍵單擊前面板,顯示控件選板。
3. 在控件選板上,瀏覽新式?數(shù)組、矩陣與簇并將簇拖曳至前面板。
?
4. 重新調(diào)整簇的大小,以便容納多個元素。
?
5. 在控件選板上,瀏覽新式?數(shù)值,拖曳并放置一個數(shù)值輸入控件至簇內(nèi)。
?
6. 在控件選板上,瀏覽新式?字符串與路徑,拖曳并放置一個字符串輸入控件至簇內(nèi)。
?
7. 在控件選板上,瀏覽新式?布爾,拖曳并放置一個垂直搖桿開關(guān)至簇內(nèi)。
?
8. 您的簇應(yīng)該與下圖類似。
?
這樣,通過一根連線就可以將數(shù)值、字符串和布爾控件在程序框圖中進(jìn)行連線,而無需三根單獨的連線。
創(chuàng)建簇常量
與數(shù)組常量相似,簇常量可用于存儲常量數(shù)據(jù)或用作與別的簇進(jìn)行比較的基礎(chǔ)。 創(chuàng)建簇常量的方式與前面所述創(chuàng)建數(shù)組常量的步驟相同。
?
如您已有簇輸入控件或顯示控件,需要創(chuàng)建包含同樣數(shù)據(jù)類型的簇常量,可首先復(fù)制程序框圖上的簇輸入控件或顯示控件,然后右鍵單擊副本并從快捷菜單中選擇轉(zhuǎn)換為常量。
?
簇函數(shù)
本教程介紹四種常用于簇的簇函數(shù)。 它們分別是捆綁、解除捆綁、按名稱捆綁以及按名稱解除捆綁函數(shù)。
?
捆綁函數(shù)可用于將單個元素組裝成簇。 要將元素連線至捆綁函數(shù),可使用鼠標(biāo)重新調(diào)整函數(shù)大小,或右鍵單擊函數(shù)并從快捷菜單中選擇添加輸入。
?
按名稱捆綁或捆綁函數(shù)可用于修改現(xiàn)有的簇。 可按照捆綁函數(shù)相同的方式重新調(diào)整按名稱捆綁函數(shù)的大小。
?
按名稱捆綁函數(shù)在修改現(xiàn)有簇時十分有用,因為通過該函數(shù)可知道具體修改的簇元素。 例如,假設(shè)一個簇包含兩個標(biāo)簽為“字符串1”和“字符串2”的字符串元素。 如使用捆綁函數(shù)修改簇,函數(shù)接線端以粉色abc的形式出現(xiàn)。因此,無法獲知哪個接線端修改“字符串1”,哪個接線端修改“字符串2”。
?
但如果使用按名稱捆綁函數(shù)修改簇,函數(shù)接線端會顯示元素標(biāo)簽,因此哪個接線端修改哪個標(biāo)簽十分清楚。
?
解除捆綁函數(shù)可用于將簇分解成單個元素。 按名稱解除捆綁函數(shù)可用于返回根據(jù)名稱指定的特定簇元素。 可通過捆綁和按名稱捆綁函數(shù)相同的方式重新調(diào)整這些函數(shù)的大小,以容納多個元素。
?
簇順序
簇元素包含一個與其在簇中位置無關(guān)的邏輯順序。 簇中放置的第一個對象是元素0,第二個對象是元素1,依此類推。 刪除元素時順序會自動調(diào)整。 簇順序決定了元素出現(xiàn)在程序框圖上捆綁和解除捆綁函數(shù)接線端的順序。 右鍵單擊簇邊界并從快捷菜單中選擇重新排序簇中控件,可查看和修改簇順序。
?
每個元素上的白色小框顯示了該元素當(dāng)前在簇中的順序。 黑色小框表示元素新的順序。 要設(shè)置簇元素的順序,可在單擊設(shè)置文本框中新的順序編號并單擊元素。 元素簇順序發(fā)生改變后,其他元素的簇順序會自動調(diào)整。 單擊工具欄上的確認(rèn)按鈕可保存修改。 單擊取消按鈕可回到原始順序。
評論