首页 理论教育簇数据在LabVIEW2012中的应用

簇数据在LabVIEW2012中的应用

【摘要】:解除捆绑函数用于从簇中提取单个元素,并将解除后的数据成员作为函数的结果输出。图6-75 创建簇数组函数的图标和端口图6-76 创建簇数组的错误使用图6-77和图6-78显示了两个簇合并成一个簇数组的前面板和程序框图。图6-81 数组至簇转换函数的图标和端口图6-82 默认时数组至簇转换函数的使用图6-83 数组至簇转换函数的使用

对簇数据进行处理的函数位于函数选板>>“编程”>>“簇与变体”子选板中,如图6-58所示。

1.解除捆绑和按名称解除捆绑

解除捆绑函数的节点图标及端口定义如图6-59所示。解除捆绑函数用于从簇中提取单个元素,并将解除后的数据成员作为函数的结果输出。当解除捆绑未接入输入参数时,右端只有两个输出端口,当接入一个簇时,解除捆绑函数会自动检测到输入簇的元素个数,生成相应个数的输出端口。如图6-60和图6-61所示,将一个含有数值、布尔、旋钮和字符串的簇解除捆绑。

按名称解除捆绑函数的节点图标如图6-62所示。按名称解除捆绑是把簇中的元素按标签解除捆绑,只有对于有标签的元素,按名称解除捆绑的输出端才能弹出带有标签的簇元素的标签列表。对于没有标签的元素,输出端不弹出其标签列表,输出端口的个数不限,可以根据需要添加任意数目的端口。如图6-63所示,由于簇中的布尔型数据没有标签,所以输出端没有它的标签列表,输出的是其他的有标签的簇元素。

978-7-111-40983-0-Chapter06-59.jpg

图6-60 解除捆绑函数使用的程序框图

978-7-111-40983-0-Chapter06-60.jpg

图6-61 解除捆绑函数的前面板

978-7-111-40983-0-Chapter06-61.jpg

图6-62 按名称解除捆绑函数的图标和端口

2.捆绑和按名称捆绑

捆绑函数的节点图标如图6-64所示。捆绑函数用于将若干基本数据类型的数据元素合成为一个簇数据,也可以替换现有簇中的值,簇中元素的顺序和捆绑函数的输入顺序相同。顺序定义是从上到下,即连接顶部的元素变为元素0,连接到第二个端子的元素变为元素1。如图6-65所示,使用捆绑函数将数值型数据、布尔型数据、字符串型数据组成了一个簇。

978-7-111-40983-0-Chapter06-62.jpg

图6-63 按名称解除捆绑函数的使用

978-7-111-40983-0-Chapter06-63.jpg

图6-64 捆绑函数的图标和端口

978-7-111-40983-0-Chapter06-64.jpg

图6-65 捆绑函数的使用

例6-2:创建学生基本情况表

创建一个学生情况基本表,包括学生的姓名、性别、身高、体重和成绩单,成绩单中包括数学、语文、外语的成绩。由于是不同类型元素的组合,所以可以使用簇数据来实现,其程序框图如图6-66所示。在图6-67中输入所需数据即可构成学生基本情况表。

978-7-111-40983-0-Chapter06-65.jpg

图6-66 例6-2的程序框图

978-7-111-40983-0-Chapter06-66.jpg

图6-67 例6-2的前面板

捆绑函数除了左侧的输入端子,在中间还有一个输入端子,这个端子是连接一个已知簇的,这时可以改变簇中的部分或全部元素的值,当改变部分元素值时,不影响其他元素的值。所以在使用捆绑函数时,若目的是创建新的簇而不是改变一个已知簇,则不需要连接捆绑函数的中间输入端子。如图6-68和图6-69所示,对一个含有4个元素的簇中的两个值进行修改,例如对其中的量表和字符串进行修改,在其对应的输入端口创建输入控件即可,在改变量表和改变字符串中输入想要的值,其相应的前面板就会输出相应的值。

按名称捆绑节点的图标如图6-70所示。按名称捆绑函数可以将相互关联的不同或相同数据类型的数据组成一个簇,或给簇中的某些元素赋值。与捆绑函数不同的是,在使用本函数时,必须在函数中间的输入端口输入一个簇,确定输出簇的元素的组成。由于该函数是按照元素名称进行整理的,所以左端的输入端口不必像捆绑函数那样有明确的顺序,只要按照在左端输入端口弹出的选单中所选的元素名称接入相应数据即可。如图6-71和图6-72所示。不需改变的元素,在左端输入端不应显示其输入端口,否则将出现错误,若将图6-71改为图6-73,即没改变字符串却显示了字符串的输入接口,则出现连线错误,如图6-74所示。

978-7-111-40983-0-Chapter06-67.jpg

图6-68 改变簇中元素值的程序框图

978-7-111-40983-0-Chapter06-68.jpg

图6-69 改变簇中元素的前面板

978-7-111-40983-0-Chapter06-69.jpg

图6-70 按名称捆绑函数的图标和端口

978-7-111-40983-0-Chapter06-70.jpg

图6-71 按名称捆绑使用的程序框图(www.chuimin.cn)

978-7-111-40983-0-Chapter06-71.jpg

图6-72 按名称捆绑使用的前面板

978-7-111-40983-0-Chapter06-72.jpg

图6-73 按名称捆绑的错误使用

978-7-111-40983-0-Chapter06-73.jpg

图6-74 显示错误

3.创建簇数组

创建簇数组函数的节点图标和端口定义如图6-75所示。创建簇数组函数的用法与创建数组函数的用法类似,与创建数组不同的是其输入端口的分量元素可以是簇。函数会首先将输入到输入端口的每个分量元素转化簇,然后再将这些簇组成一个簇的数组,输入参数可以都为数组,但要求维数相同,要注意的是,所有从分量元素端口输入的数据的类型必须相同,分量元素端口的数据类型与第一个连接进去的数据类型相同。如图6-76所示,第一个输入的是字符串类型,则剩下的分量元素输入端口将自动变为紫色,即表示是字符串类型,所以当再输入数值型数据或布尔型数据时将发生错误。

978-7-111-40983-0-Chapter06-74.jpg

图6-75 创建簇数组函数的图标和端口

978-7-111-40983-0-Chapter06-75.jpg

图6-76 创建簇数组的错误使用

图6-77和图6-78显示了两个簇(簇1和簇2)合并成一个簇数组的前面板和程序框图。

978-7-111-40983-0-Chapter06-76.jpg

图6-77 创建簇数组的使用的程序框图

978-7-111-40983-0-Chapter06-77.jpg

图6-78 创建簇数组的使用的前面板

4.簇至数组转换和数组至簇转换

簇至数组转换函数的节点图标如图6-79所示。

簇至数组转换函数要求输入簇的所有元素的数据类型必须相同,函数按照簇中元素的编号顺序将这些元素组成一个一维数组,如图6-80所示,一个含有布尔型的簇通过使用簇至数组转换函数成为了一维布尔型数组。

978-7-111-40983-0-Chapter06-78.jpg

图6-79 簇至数组转换函数的图标和端口

978-7-111-40983-0-Chapter06-79.jpg

图6-80 簇至数组转换函数的使用

数组至簇转换函数的节点图标如图6-81所示。

数组至簇转换是簇至数组转换的逆过程,将数组转换为簇。需要注意的是,此函数并不是将数组中所有的元素都转换为簇,而是将数组中的前n个元素组成一个簇,n由用户自己设置,默认为9,当n大于数组的长度时,函数会自动补充簇中的元素,元素值为默认值。如把图6-80直接进行逆过程,则出现图6-82的情况。

此时应在数组至簇函数的图标上,点右键,从快捷菜单中选择簇大小,并改为6,再运行就可得到正确的输出,如图6-83所示。

978-7-111-40983-0-Chapter06-80.jpg

图6-81 数组至簇转换函数的图标和端口

978-7-111-40983-0-Chapter06-81.jpg

图6-82 默认时数组至簇转换函数的使用

978-7-111-40983-0-Chapter06-82.jpg

图6-83 数组至簇转换函数的使用