LabVIEW课件-[5数组、簇、波形数据].ppt

上传人:牧羊曲112 文档编号:6510691 上传时间:2023-11-07 格式:PPT 页数:26 大小:317.49KB
返回 下载 相关 举报
LabVIEW课件-[5数组、簇、波形数据].ppt_第1页
第1页 / 共26页
LabVIEW课件-[5数组、簇、波形数据].ppt_第2页
第2页 / 共26页
LabVIEW课件-[5数组、簇、波形数据].ppt_第3页
第3页 / 共26页
LabVIEW课件-[5数组、簇、波形数据].ppt_第4页
第4页 / 共26页
LabVIEW课件-[5数组、簇、波形数据].ppt_第5页
第5页 / 共26页
点击查看更多>>
资源描述

《LabVIEW课件-[5数组、簇、波形数据].ppt》由会员分享,可在线阅读,更多相关《LabVIEW课件-[5数组、簇、波形数据].ppt(26页珍藏版)》请在三一办公上搜索。

1、1,LabVIEW 数 据 类 型,数组、簇和波形,2,概述 数组,1.数组是同类型元素的集合。一个数组可以是一维或者多维,如果必要,每维最多可有2311个元素。2.可通过数组索引访问其中的每个元素。索引的范围是0到n 1,其中n是数组中元素的个数。,3,概述 簇、波形,簇(Cluster)是另一种数据类型,它的元素可以是不同类型的数据。它类似于C语言中的structure。使用簇可以把分布在流程图中各个位置的数据元素组合起来,这样可以减少连线的拥挤程度。减少子VI的连接端子的数量。波形(Waveform)可以理解为一种簇的变形,它不能算是一种有普遍意义的数据类型,但非常实用。,4,数组的创建

2、及自动索引,数组的创建:创建一个数组有两件事要做,首先要建一个数组的“壳”(shell),然后在这个壳中置入数组元素(数或字符串等)。也可以直接在前面板中创建数组和相应的控制对象,然后将它们复制或者拖曳到流程图中,创建对应的常数。,数组作为数据源创建框图,5,数组控制、常数和显示对象,通过把数组与数值、布尔数、字符串或者簇组合在一起,可以在前面板和流程图中创建任何一种控制对象、常数对象和显示对象。数组元素不能是数组、图表或者图形。,6,数组功能函数,LabVIEW 提供了很多用于操作数组的功能函数,位于FunctionsArray中。其中包括Replace Array Element,、Sea

3、rch 1D Array、Sort 1D Array、Reverse 1D Array和 Multiply Array Elements等等。创建数组:Build Array函数(FunctionsArray),用于根据标量值或者其他的数组创建一个数组。初始化数组(Initialize Array):用于创建所有元素值都相等的数组。下图中,该功能函数创建了一个一维数组。,7,数组功能函数,利用流程图中的常数对象的值创建和初始化数组的两种方法(Build Array?),左侧的方法是,将5个字符串常数放入一个一维字符串数组中 右侧的方法是,将三组数值常数放入三个一维数值数组,再将这三个数组组成一

4、个二维数组,8,数组功能函数,初始化数组(Initialize Array):用于创建所有元素值都相等的数组初始化一维数组,初始化三维数组:如果所有的维长度输入都是0,该函数会创建一个具有指定数据类型和维数的空数组,9,数组功能函数,数组大小,Array Size函数:返回输入数组中的元素个数,10,数组功能函数,数组子集(Array Subset):选取数组或者矩阵的某个部分。,该函数可以返回从某个指针开始的部分数组,并包括了长度元素。下图显示了一些数组子集的例子,注意,数组索引从0开始。,11,数组功能函数,索引数组(Index Array):用于访问数组中的某个元素。,12,数组功能函数

5、,索引数组(Index Array)例子,从二维数组中提取一维数组例子,13,创建数组功能函数,使用创建数组函数,把一些元素和输出组织成一个更大的数组,14,多态化组合(标量与数组),多态化是指一种函数功能,即可以协调不同格式、维数或者显示的输入数据,大多数LabVIEW的函数都是多态化的。,15,自动索引,For循环和While循环可以自动地在数组的上下限范围内编索引和进行累计,该功能称为自动索引。在启动自动索引功能以后,当把某个外部节点的任何一维元素连接到循环边框的某个输入通道时,该数组的各个元素就将按顺序一个一个地输入到循环中。循环会对一维数组中的标量元素,或者二维数组中的一维数组等编制

6、索引。在输出通道也要执行同样的工作。数组元素按顺序进入一维数组,一维数组进入二维数组,依此类推。,16,自动索引,备注:在默认情况下,对于每个连接到For循环的数组都会执行自动索引功能。可以禁止这个功能的执行,方法是用鼠标右键单击通道(输入数组进入循环的位置),在快捷菜单中选择Disable Indexing。,17,练习1:输入数组使用自动索引,目的:打开并执行一个VI,它将在一个For循环中使用自动索引功能处理一个数组。,18,Case结构为False的流程图,19,练习2,步骤:1.执行该VI。在输入的八个数中,可以看到4个属于正数数组,另外4个属于负数数组。2.从流程图中将一个值为5的

7、常数对象连接到For 循环的计数器端子。执行该 VI。可以看到尽管输入数组仍然有八个元素,但是3个位于正数数组,另外2个位于负数数组。这说明,如果设置了N并开启了自动索引功能,那么实际循环的次数将取较小的数。3.关闭该VI,不要保存任何修改。,20,簇-创建簇控制和显示,在前面板上放置一个簇壳(Cluster shell)就创建了一个簇,然后你可以将前面板上的任何对象放在簇中。,图所示是一个含个Control的簇。也可以在流程图上用类似的方法创建簇常数,21,簇的序(Order),簇的元素有一个序,它与簇内元素的位置无关。簇内第一个元素的序为0,第二个是1,等等。如果你删除了一个元素,序号将自

8、动调整。如果你想将一个簇与另一个簇连接,这两个簇的序和类型必须同一。如果想改变簇内元素的序,可在快速菜单中选择Cluster Order(reorder controls in cluster),这时会出现一个窗口,在该窗口内可以修改序。,22,使用簇与子VI传递数据,一个VI的连接窗口最大有28个端子,如果你不希望使用全部28个端子传递数据,这既烦琐又易出错。通过把控制或显示对象捆绑成一个簇的方法,仅使用一个端子就可以实现该功能。捆绑(Bundle)数据 Bundle功能将分散的元件集合为一个新的簇,或允许你重置一个已有的簇中的元素。可以用位置工具拖曳其图标的右下角以增加输入端子的个数。最终

9、簇的序是取决于被捆绑的输入的顺序。右图中Bundle图标中部的Claster端子用于用新元素重置原簇中的元素 分解(Unbundle)簇 Unbundle功能是Bundle的逆过程,它将一个簇分解为若干分离的元件。如果你要对一个簇分解,就必须知道它的元素的个数。,23,簇 练习,目的:学习创建簇、分解簇,再捆绑簇并且在另一个簇中显示其内容 前面板,24,簇 练习,流程图,25,用名称捆绑与分解簇,有时你并不需要汇集或分解整个簇,而仅仅需要对其中某些元素操作。这时你可以用名称来捆绑与分解簇。在Cluster 工具模板中除了Bundle Unbundle 功能外,还提供有Bundle By Nam

10、e和Unbundle By Name功能。Bundle By Name虽可访问你需要的元素,但不能创建新簇;它只能重置一个已经存在的簇的元素,同时你必须给Bundle By Name图标中间的输入端子一个输入以申明要替换其元素的簇。Unbundle by name 可返回指定名称的簇元素,不必考虑簇的序和大小。,26,数组和簇的互换,由于LabVIEW中关于数组的操作功能函数多于簇。将数组变为簇(或者簇变为数组)很方便,其操作如下图:例如,前面板上有一个多按钮的簇,你希望颠倒这些按钮值的序。好了,Reverse 1D Array功能正好可用,但是它仅可用于数组。这没关系,你可以使用功能Cluster to Array将簇转换为数组,使用Reverse 1D Array切换开关的值,最后再利用Array to Claster 变换回簇。,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号