通过循环处理数组中的单个元素



LabVIEW 2018帮助


版本日期:2018年3月
产品编号:371361R-0118
查看产品信息

下载帮助(仅限Windows)


LabVIEW 2016帮助
LabVIEW 2017帮助
LabVIEW 2018帮助
LabVIEW 2019帮助
LabVIEW 2020帮助

如将数组连接至For循环或While循环,可启用自动索引读取和处理数组中的每个元素。将数组从循环外的节点连接到循环边框上的输入隧道,启用输入隧道的自动索引后,从第一个元素开始每次有一个数组元素进入循环。

按照下列步骤,将数组元素传入隧道:

  1. 右键单击循环边框的隧道。
  2. 根据要处理元素的方式酌情选择下列选项之一:
    • 从快捷菜单中选择禁用索引。禁用索引后,数组中所有元素传入循环,输出隧道返回等量元素的数组。
    • 从快捷菜单中选择启用索引。启用索引后,数组中的单个元素依次传入循环,每循环一次向隧道输出一个元素。
    注 注:为避免循环不执行时出现的默认数据输出值,For循环中每次有输出通道时均应启用自动索引。

循环输出隧道上的方括号表示已启用自动索引。

配置输出隧道以返回选择值

按照下列步骤配置循环输出隧道,以返回数组的索引值、最终值或连接值:

  1. 右键单击输出隧道。
  2. 在快捷菜单中选择隧道模式»最终值索引,或连接

关于隧道可返回的输出选项的详细信息,见下表。

输出名称说明
索引每循环一次,输出数组中就增加一个元素。因此,自动索引的输出数组的大小等于循环的次数。例如,如循环执行了10次,那么输出数组就含有10个元素。
最终值输出隧道只返回最后一次循环的元素值。
连接LabVIEW按顺序连接所有输入,形成与连接的输入数组相同维度的输出数组。连接隧道模式下,连接数组的方式和创建数组函数的方式相同。

输出隧道和下一个节点之间的连线粗细程度也反映了数组是索引模式、返回最终值模式,还是连接模式。索引模式的连线比连接模式下的粗。因为索引模式下,输出数组比输入数组多了一个维度,用来存放元素的索引值。而返回终值模式下的连线比索引和连接模式下的连线均要细。

注 注:循环对数组的索引作用表现为,一维数组进入循环时,隧道提取其中的标量值;二维数组进入循环时,隧道提取其中的一维数组。输出隧道的情况正好相反。标量元素在输出隧道上按顺序累积形成一维数组,一维数组累积形成二维数组,以此类推。

关于禁用自动索引的范例,见labview\examples\Arrays\Arrays.lvproj

为连线至循环的数组选择自动索引类型

循环类型数组配置解释范例
For循环输入端连接一个数组,循环总数接线端不连线如对连线至For循环输入隧道的数组启用自动索引,For循环执行的次数将与数组的大小一致,因此不必连接循环总数接线端。默认情况下,LabVIEW对连接到For循环的每个数组均启用自动索引。
注: 注:如不必每次只处理数组中的一个元素,可以禁用自动索引。
For循环连线循环总数接线端此时如启用自动索引,实际循环次数将取两者中的较小值。例如,如连线至For循环的数组元素个数为10,而循环总数接线端的连线值为15,此时循环将只执行10次。
For循环多个数组与上例类似,如为多个隧道启用自动索引,实际循环次数将取其中的较小值。例如,如两个数组进入For循环,分别含有10个和20个元素,同时将值15连接到总数接线端,这时该循环仍将只执行10次,For循环索引第一个数组的所有元素,索引第二个数组中的前10个元素。

再如,假设要在一个图形上绘制两个数据源,且只需绘制前100个元素,这时可将值100连接到循环总数接线端。然而,如果较小的数据源只含有50个元素,那么循环将执行50次,并且只索引数据源的前50个元素。数组的大小可使用“数组大小”函数确定。
While循环一个已连线数组如果为一个进入While循环的数组启用自动索引,While循环索引数组的方式与For循环相同。但是,While循环只有在满足特定条件时才会停止执行,因此While循环的执行次数不受该数组大小的限制。当While循环索引超过输入数组的大小时,LabVIEW会将该数组元素类型的默认值输入循环。

使用“数组大小”函数可以防止将数组默认值传递到While循环中。“数组大小”函数显示数组中元素的个数。可设置While循环在循环次数等于数组大小时停止执行。

While循环的自动索引功能默认是关闭的。
提示:由于不能预先确定输出数组的大小,因此相较于While循环,对For循环的输出启用自动索引更为有效。循环次数过多可能会引起系统内存溢出。

相关信息

For循环

While循环

输入控件和显示控件的数据类型

自动连接离开循环的数组

“创建数组”函数

文章是否对您有帮助?

没有帮助