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没有发生变化的情况。

相关推荐
LabVIEW开发3 天前
LabVIEW气体污染无线监测
网络·labview·labview知识·labview功能·labview程序
LabVIEW开发3 天前
使用 LabVIEW 的调用库函数节点访问 DLL 函数
labview·labview知识·labview功能·labview程序
LabVIEW开发4 天前
LabVIEW 泵轮检测系统
labview·labview知识·labview功能·labview程序
LabVIEW开发4 天前
LabVIEW加载 STL 模型至 3D 场景 源码见附件
3d·labview·labview知识·labview功能·labview程序
小咪一会4 天前
JVM 基础
jvm·1024程序员节
空灵之海8 天前
Ubuntu系统安全合规配置
linux·ubuntu·系统安全·1024程序员节
LabVIEW开发8 天前
LabVIEW汽车发动机振动测试
汽车·labview
阿啄debugIT10 天前
装饰(Decorator)模式可以在不修改对象外观和功能的情况下添加或者删除对象功能
软件工程·1024程序员节
上位机付工11 天前
上位机通信速度有多快?
开发语言·c#·上位机·plc
上位机付工12 天前
2025年了,学C#上位机需要什么条件
c#·上位机·西门子