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

相关推荐
惜.己16 小时前
Jmeter中的断言(二)
测试工具·jmeter·1024程序员节
Gentle58617 小时前
labview关于文件路径的问题
labview
西电研梦1 天前
考研倒计时30天丨和西电一起向前!再向前!
人工智能·考研·1024程序员节·西电·西安电子科技大学
惜.己1 天前
Jmeter中的断言(四)
测试工具·jmeter·1024程序员节
·云扬·1 天前
Java IO 与 BIO、NIO、AIO 详解
java·开发语言·笔记·学习·nio·1024程序员节
网安_秋刀鱼2 天前
PHP代码审计 --MVC模型开发框架&rce示例
开发语言·web安全·网络安全·php·mvc·1024程序员节
HUODUNYUN2 天前
小程序免备案:快速部署与优化的全攻略
服务器·网络·web安全·小程序·1024程序员节
Crazy Struggle2 天前
C# 开发的环境监测上位机应用
c#·.net·上位机·上位机软件
惜.己2 天前
Jmeter的后置处理器(二)
测试工具·github·1024程序员节
惜.己2 天前
Jmeter中的断言(一)
测试工具·jmeter·1024程序员节