LabVIEW应用开发——控件的使用(三)

接上文,这篇介绍簇Cluster控件。

LabVIEW应用开发------控件的使用(二)

1、簇Cluster

1)创建

蔟控件 又称为组合、集群控件,顾名思义它是一个类似于C语言的结构体 的一个数据结构 控件。在描述一个对象的时候,使用簇是必不可少的。比如要描述一只猫,它应该存在颜色、身高、体重,还存在一些行为的属性等等。几乎所有的编程语言都存在类似簇的数据结构,此数据结构让数据更好的实现分类和分层,也因此诞生了面向对象的改变。

簇控件也是LabVIEW的核心数据结构,创建方式和数组Array类似。区别在Array多了一个直接右键数据控件直接转换成Array的操作,簇控件不存在此方法。

簇控件拥有输入和输出属性,里面的控件的属性与簇控件相同。通过快捷菜单可以修改该属性,也可以通过改变其中的一个控件类型,簇控件属性也跟着变化,其他控件类型都会随之被修改。而如果后续有控件再加入,即使是相反的属性,也会自动适应被转换。

2)大小和排序

簇中的每个元素都是相对独立的,具有自己的标签和标题,每个控件都可以修改自己的属性。而簇本身的属性就比较简单,除了常规的标题、标签、大小、使能之外,只有一个自动调整大小属性,该属性包含四个选项:

  • :默认项,用户可以自由对控件的位置进行拖动,
  • 自动调整大小:控件位置由用户绝对,但是框架会自动缩小,让控件不占用其他空间,
  • 水平和垂直排列:控件排列的同时,簇会自动调整框架和控件的大小。
3)簇的逻辑次序

簇中的顺序是很重要的一个特性,先加入的序号为0,后面依次递增1、2、3.....,簇相关的函数运算有些是需要根据簇的序号操作,右键Reorder Controls重新排序,可以查看控件的序号,光标变成手形,根据序号依次点击元素,进行重新排序。

4)簇的自定义

簇作为一种数据结构类型,模块化子VI的场景下,通常需要采用同一种数据结构,这种情况下簇的作用就非常的明显。

我们可以再一个VI中创建簇结构,然后复制粘贴使得每个VI采用相同的簇。但是这种方法有个致命的缺陷,如果簇结构中需要增加一个或者多个新元素,那么全部的子VI都需要重新构造。解决该问题的方法是自定义簇文件,把簇结构保存在单独的文件中,使得每个使用它的VI都能和该文件保持链接关系。

下面我们通过一个学生信息的簇结构,来了解如何构造自定义簇。学生信息分两个,个人信息和基本信息,个人信息包括姓名、年龄、性别,基本信息包括班级、学号、职务。

第一步:打开自定义控件编辑器

第二步:建立两个控件并自定义簇,保存学生个人信息和基本信息,选择严格自定义控件Strict Type Def.,否则无法与子VI建立链接。

第三步:建立子VI与自定义控件的链接,簇中包含两个元素,分别为第二步建立的自定义簇。

这时候如果修改了簇控件的内容,比如我们基本信息新增"座位",会发现在子VI中的基本信息控件显示为灰色,并且执行的时候报错。

在子控件中选择文件File->应用修改Apply Changes,即可应用到全部使用该控件的子VI中。

在日常的编程中,我们要尽可能的使用严格自定义方式,避免出现子控件中簇发生修改,而子VI没有发生变化的情况。

相关推荐
木字春3 小时前
超高精电容传感器PCAP01调试+LABVIEW数据可视化调试手记
stm32·labview
LabVIEW开发9 小时前
LabVIEW透视变换
算法·计算机视觉·labview·labview开发
LabVIEW开发10 小时前
LabVIEW与OpenCV图像处理对比
计算机视觉·labview·labview开发
LabVIEW开发15 小时前
LabVIEW图像分段线性映射
计算机视觉·labview·labview开发
街 三 仔1 天前
【LabVIEW学习篇 - 2】:LabVIEW的编程特点
学习·labview
街 三 仔1 天前
【LabVIEW学习篇 - 3】:程序结构——顺序结构、for循环、while循环
学习·labview
LabVIEW开发1 天前
非NI GPIB卡与LabVIEW兼容性分析
labview·labview开发·gpib
LabVIEW开发1 天前
LabVIEW汽车ECU测试系统
汽车·labview·labview开发·ecu
LabVIEW开发4 天前
LabVIEW新能源汽车电池性能测试系统
汽车·labview
LabVIEW开发4 天前
在Linux (Ubuntu 16) 下安装LabVIEW
ubuntu·labview·labview开发