From Saturday, Nov 23rd 7:00 PM CST - Sunday, Nov 24th 7:45 AM CST, ni.com will undergo system upgrades that may result in temporary service interruption.
We appreciate your patience as we improve our online experience.
From Saturday, Nov 23rd 7:00 PM CST - Sunday, Nov 24th 7:45 AM CST, ni.com will undergo system upgrades that may result in temporary service interruption.
We appreciate your patience as we improve our online experience.
本文主要介绍了数组和簇数据类型,以及创建和操作数组和簇的方法。
数组由元素和维度构成,可以是输入控件或显示控件,但不能同时包含输入控件和显示控件。元素是数组中包含的数据或值。维度是数组的长度、高度或深度。如果使用的是一组同类的数据集或需要存储重复计算历史时,就可以使用数组。
数组内的元素是按一定顺序排列的。数组中的每个元素都有一个对应的索引值,通过数组索引可访问数组中的某个特定元素。在NI LabVIEW软件中,数组索引从0开始。也就是说,如果一维(1D)数组包含n个元素,那么索引范围就是0~n – 1,其中索引0指向数组中的第一个元素,索引n – 1指向数组中的最后一个元素。
簇可将不同类型的数据元素归为一组。LabVIEW错误簇就是簇的一个例子,它包含一个布尔值、一个数值和一个字符串。簇类似于文本编程语言中的记录体或结构体。
与数组相似,簇也可以是输入控件或显示控件,但不能同时包含输入控件和显示控件。簇和数组的不同之处在于簇的大小是固定的,而数组的大小可以变化。此外,簇可以包含多种数据类型,但数组只能包含一种数据类型。
要在LabVIEW中创建数组,必须在前面板上放置一个数组外框,并在其中放置一个元素(如数值、布尔或波形输入控件或显示控件)。
上述步骤介绍了创建一维数组的方法。而二维数组则是以网格或矩阵的方式存储元素。二维数组中的每个元素都包含两个对应的索引值:行索引和列索引。一维数组相同,二维数组的行索引和列索引也是从0开始的。
创建二维数组前,必须先创建一个一维数组,然后增加其维度。现在回到之前创建的一维数组。
至此,创建数组的数值元素均显示为灰色的0。灰色数组元素表示元素未被初始化。单击元素内部,将灰色0替换为需要的数字,可初始化元素。
元素可初始化为任何选择的值。元素值无需统一,如上图所示。
数组常量用于存储常量数据或用于同另一个数组进行比较。
如果将数组连线到For循环的输入端,通过自动索引功能,LabVIEW可将For循环计数接线端自动设置为数组大小。右键单击连线至数组的循环隧道,选择启用索引(禁用索引)。
如启用了自动索引,For循环的每次迭代传递数组中对应的元素。
连线值作为For循环的输出时,启用自动索引会输出一个数组。数组大小与For循环执行的迭代次数相同,数组包含For循环的输出值。
程序框图
前面板
如果在多个循环隧道上启用了自动索引并连线For循环计数接线端,则迭代次数等于较小的计数。如下图所示,For循环计数接线端设为运行15次,数组1包含10个元素,数组2包含20个元素。如果运行下图的VI,则For循环执行10次且数组结果包含10个元素。请自行进行测试。
如下图所示,可使用嵌套式For循环和自动索引创建二维数组。外部的For循环创建了行元素,内部的For循环创建了列元素。
这样,通过一根连线就可以将数值、字符串和布尔控件在程序框图中进行连线,而无需三根单独的连线。
与数组常量相似,簇常量可用于存储常量数据或用于同另一个簇进行比较。创建簇常量的方式与前面所述创建数组常量的步骤相同。
如您已有簇输入控件或显示控件,需要创建包含同样数据类型的簇常量,可首先复制程序框图上的簇输入控件或显示控件,然后右键单击副本并从快捷菜单中选择转换为常量。
本教程介绍四种常用于簇的簇函数。它们分别是捆绑、解除捆绑、按名称捆绑以及按名称解除捆绑函数。
捆绑函数可用于将单个元素组合成簇。要将元素连线至捆绑函数,可使用鼠标重新调整函数大小,或右键单击函数并从快捷菜单中选择添加输入。
按名称捆绑或捆绑函数可用于修改现有的簇。可按照捆绑函数相同的方式重新调整按名称捆绑函数的大小。
按名称捆绑函数在修改现有簇时十分有用,因为通过该函数可知道具体修改的簇元素。例如,假设一个簇包含两个标签为“字符串1”和“字符串2”的字符串元素。如果使用捆绑函数修改簇,函数接线端将以粉红色abc的形式出现。因此无法获知哪个接线端修改了“字符串1”,哪个接线端修改了“字符串2”。
但如果使用按名称捆绑函数修改簇,函数接线端会显示元素标签,因此哪个接线端修改哪个标签十分清楚。
使用解除捆绑函数将簇分解为独立的元素。按名称解除捆绑函数可用于返回根据名称指定的特定簇元素。可通过捆绑和按名称捆绑函数相同的方式重新调整这些函数的大小,以容纳多个元素。
簇元素的逻辑顺序与元素在簇外框中的位置无关。放入簇中的第一个对象是元素0,第二个为元素1,依此类推。如删除某个元素,顺序会自动调整。簇顺序决定了簇元素在程序框图上的捆绑和解除捆绑函数上作为接线端出现的顺序。右键单击簇边框,在快捷菜单中选择重新排序簇中控件可查看和修改簇顺序。
每个元素上的白色小框显示了该元素当前在簇中的顺序。黑色小框表示元素新的顺序。要设置簇元素的顺序,可在单击设置文本框中输入新的顺序编号并单击元素。元素簇顺序发生改变后,其他元素的簇顺序会自动调整。单击工具栏上的确认按钮可保存修改。单击取消按钮可恢复原来的顺序。