LabVIEW中結構體控件編程示例

1、結構體簡介

LabVIEW中的結構體(中文版翻譯為“簇”)是常用的一種數據結構類型,一個結構體控件中可以包含任意多個任意類型的不同元素。與數組不同的地方在於,它包含的元素數據類型可以相同,也可以不同,而數組中只能包含相同類型的多個元素。另外,在結構體控件中,包含的元素必須同時都是輸入控件或同時是顯示控件。

由於結構體控件把數據類型不同,但邏輯相關的多個控件封裝在了一起,因此,在編程中使用結構體控件的好處是操作更方便,條理更清晰,特別是在編寫子VI程序時,如果使用結構體控件作為輸入輸出參數的話,則可以在一個數據端口上傳遞多個不同的參數,可以大大減少連線及端口的數量。

下面給小夥伴們介紹下LabVIEW中結構體(簇)控件的編程及使用方法。

2、結構體控件的創建

以在前面板上創建一個包含學生信息的結構體控件為例說明。

創建完成後的樣子及程序框圖上對應的數據端口圖標如下圖所示:


LabVIEW中結構體控件編程示例


創建方法:

  • 先從控件模板的“數組、矩陣與簇”子模板中選擇“簇”控件,將其放在前面板中,這樣就創建了一個結構體控件的空殼子用以存儲結構體成員變量控件。
  • 然後分別選擇三個控件拖放到該空殼子中用來存儲學生的姓名、性別及分數,其類型分別為字符串、枚舉及數值型控件,並分別命名為姓名、性別及分數。
  • 最後,分別對姓名、性別及分數賦初值就完成了一個結構體控件的創建。

3、結構體控件值的讀寫方法

在LabVIEW函數模板中,提供了結構體控件值的讀寫操作函數,如下圖所示:


LabVIEW中結構體控件編程示例


其中,最常用到的是前兩個即“按名稱解綁”及“按名稱捆綁”兩個函數,下面仍以學生結構體控件為例進行說明。

如下圖中所示,先使用“按名稱解綁”函數讀取了學生“x”的姓名、性別及分數信息,在三個控件上分別進行顯示,然後在x的基礎上,使用“按名稱捆綁”函數改變該學生的分數值,輸出到結構體控件“y”上進行顯示。其中,使用“按名稱捆綁”函數時,必須連接一個已知的結構體控件,這樣才可以知道結構體控件的所有成員變量信息,從而達到修改某個變量的值,而保持其它值不變的目的。程序運行後的結果顯示,已成功修改了學生“x”的分數值。


LabVIEW中結構體控件編程示例


4、其它注意事項

在LabVIEW中使用結構體控件編程,以下幾點需要注意:

  • 在結構體控件右鍵菜單中選擇“自動調整大小”---->“調整為匹配大小”,可使結構體控件的大小自動隨著其包含的所有控件的大小自動適應顯示;
  • 兩個外觀完全相同結構體控件未必等價,因為結構體內部的成員變量控件還有一個順序的概念,默認每個控件的順序是按在創建時放入到結構體空殼子中的順序定義,在結構體控件右鍵菜單中選擇“重新排序簇中控件...”,可以修改每個成員變量控件的順序;
  • 結構體控件可以放到數組中,創建一個結構體類型的數組,從而進行更為複雜的操作,甚至反過來也可以在結構體控件中放置數組控件作為其中的一個成員變量。


分享到:


相關文章: