在下图中,我们示意了对簇中的元素数据的捆绑以及解绑的概念:
如果需要访问簇中的数据,可以对簇进行全部解绑或者是有选择的解绑来分离出要访问的数据。簇的解绑函数有两种,分别可以用来全部解绑或是索引式的只解绑某一特定数据元素。对于解绑簇,可以想象为割开电话电缆,之后就可以看到其间的不同颜色的电线。簇与数组的不同点是,数组的大小是可以动态变化的,而簇的大小是固定的,簇通过解绑引出的线的个数是固定的。
如果在LabVIEW的框图中两个簇之间进行连接,只有在这两个簇类型一致的情况下才能够连接成功。也就是说这两个簇必须有同样数目的元素,并且对应元素的数据类型与其在簇中的排列次序必须一致。只要两个簇之间的数据类型一致,对于数组适用的复用运算规则对簇也是适用的。
在使用LabVIEW编程的时候,我们经常可以在调用的子VI上看到簇被用于错误处理。在VI的面板上看到下图所示的Error In.ctl与Error Out.ctl两个簇控件在程序框图中用于在多个VI之间传递程序错误记录。这个错误簇在LabVIEW中十分常用,以至于在控件面板的Modern>>Array, Matrix & Cluster就可以看到LabVIEW已经将其做成了内置控件。
如何创建簇控件及簇指示器
首先,在前面板上面先放置簇外壳(可以在控件工具栏的Modern>>Array, Matrix & Cluster里面找到)。之后,就可以将任何种类的前面板控件放到这个簇的外壳里面。这一点与数组的操作很像,你可以直接从控件工具栏中将控件拖入簇中或者是将前面板的其他空间拖入簇中。不过有一点需要切记,就是簇中的控件只能全部是控件类型或全部是指示器类型,不能有两类的混合。因为簇本身只能作为控件或者是指示器。根据你第一个放入的控件的类型,簇就自动设定为何种类型的控件了。如果簇的内部空间不够,可以在簇的边界使用鼠标进行拖动即可。
在程序框图中创建簇也基本上就是和上面的两步一样。
如果想要让簇与其内部的元素大小一致,可以在簇的边界点击鼠标右键,在弹出的菜单中选择Autosizing即可。
簇中元素的次序
簇中的元素有一个逻辑的次序,这个次序与这些元素在簇中的位置无关。第一个放置进入簇中的元素的次序为0,第二个放入的次序为1,以此类推。如果删除了一个元素,这个次序就会自动调整。如果你想要让你的簇与其他的簇相连,就得特别注意这两个簇中的元素的次序完全一致。同样,在你解绑簇的时候,你也需要知道第几个元素对应着哪个输出。
如果要改变簇中元素的次序,可以在簇的边界点击鼠标右键,在弹出的菜单中选择“Reorder Controls in Cluster...”选项。之后,在工具栏就会出现几个新的图标,簇的显示也会改变,在该界面上就可以调整簇中元素的次序了。
原文:LabVIEW中的簇
原文地址:http://www.vigeek.org/2009/08/cluster-in-labview.html 来源:维极网 - 虚拟仪器技术
你在维极网看到的文章都是GeekZ所写的原创内容。如果转载,请保留上面两行版权声明!
发表评论