LabVIEW中的簇

  在前面的几篇文章中,我们已经介绍过了LabVIEW中的数组了,现在我们就讲一下簇(Cluster)。与数组类似,簇也是一种将数据集合到一起的一种数据结构。簇与数组的不同点在于:数组只能将同一类型的数据集合到一起,而簇却能将不同种类的数据集合到一起(例如布尔类型、数值类型以及字符串等等)。如果将簇与传统编程语言中的数据类型进行比较的话,它就类似于C语言中的结构(struct)或是C++或Java语言中类(class)中的数据元素。在LabVIEW中,一个簇可以想象为一个将多根线捆在一起的捆线器,就像是包含了多根电线的电缆一样。在这根缆中的每根线代表了簇中不同的元素。由于簇在LabVIEW的框图中只有一根线,使用簇就可以减少连线太多而导致的框图混乱不堪的情况,并能够有效减小子VI的端点的个数。另外,在绘制曲线图的时候,我们也会大量接触到簇。
  在下图中,我们示意了对簇中的元素数据的捆绑以及解绑的概念:

LabVIEW中的簇的示意图 
  如果需要访问簇中的数据,可以对簇进行全部解绑或者是有选择的解绑来分离出要访问的数据。簇的解绑函数有两种,分别可以用来全部解绑或是索引式的只解绑某一特定数据元素。对于解绑簇,可以想象为割开电话电缆,之后就可以看到其间的不同颜色的电线。簇与数组的不同点是,数组的大小是可以动态变化的,而簇的大小是固定的,簇通过解绑引出的线的个数是固定的。
  如果在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所写的原创内容。如果转载,请保留上面两行版权声明!

引用通告

发送引用通告网址: http://www.vigeek.org/mtos/mt-tb.cgi/32
如果您想引用这篇文章到您的Blog,请复制上面的链接,放置到您发表文章时的相应界面中。

发表评论

关于

  本站专注于虚拟仪器技术、也就是基于计算机的测试、控制以及自动化技术。这里的所...

赞助商

最新日记

关闭