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

相关推荐
QQ__17646198244 小时前
Labview信号采集与分析系统(可仿真)
数据分析·数据采集·labview
QQ__176461982420 小时前
Labview信号分析系统(含报告)
labview·信号分析·故障分析
LabVIEW开发1 天前
LabVIEW 燃气轮机气路故障诊断
labview·故障诊断·labview开发案例
Gentle5861 天前
关于labview中路径的问题
labview
秣厉科技2 天前
【秣厉科技】LabVIEW工具包——OpenCV 教程(14):features2d 基本应用
科技·opencv·labview
jamison_13 天前
文心一言与 DeepSeek 的竞争分析:技术先发优势为何未能转化为市场主导地位?
人工智能·ai·chatgpt·gpt-3·1024程序员节
NaZiMeKiY4 天前
HTML5前端第六章节
前端·html·html5·1024程序员节
鲤籽鲲6 天前
C# SerialPort 类中清空缓存区的方法
开发语言·c#·上位机
jamison_18 天前
颠覆未来:解锁ChatGPT衍生应用的无限可能(具体应用、功能、付费模式与使用情况)
ai·chatgpt·1024程序员节
zew10409945888 天前
基于LabVIEW 的虚拟功率分析仪设计(自动化院仪器专业)
labview·课设·labview数据处理·labview数据采集·labview文件存储·虚拟功率分析仪