labview数组、簇和图形的区别

上传人:宝路 文档编号:22273517 上传时间:2017-11-26 格式:DOC 页数:15 大小:464.03KB
返回 下载 相关 举报
labview数组、簇和图形的区别_第1页
第1页 / 共15页
labview数组、簇和图形的区别_第2页
第2页 / 共15页
labview数组、簇和图形的区别_第3页
第3页 / 共15页
labview数组、簇和图形的区别_第4页
第4页 / 共15页
labview数组、簇和图形的区别_第5页
第5页 / 共15页
点击查看更多>>
资源描述

《labview数组、簇和图形的区别》由会员分享,可在线阅读,更多相关《labview数组、簇和图形的区别(15页珍藏版)》请在金锄头文库上搜索。

1、1数组是同类型元素的集合。一个数组可以是一维或者多维,如果必要,每维最多可有 2311 个元素。可以通过数组索引访问其中的每个元素。索引的范围是 0到 n 1,其中 n是数组中元素的个数。图所显示的是由数值构成的一维数组。注意第一个元素的索引号为 0,第二个是 1,依此类推。数组的元素可以是数据、字符串等,但所有元素的数据类型必须一致。图数组示意图簇(Cluster)是另一种数据类型,它的元素可以是不同类型的数据。它类似于 C语言中的 stuct。使用簇可以把分布在流程图中各个位置的数据元素组合起来,这样可以减少连线的拥挤程度。减少子 VI的连接端子的数量。波形(Waveform)可以理解为一

2、种簇的变形,它不能算是一种有普遍意义的数据类型,但非常实用。数组的创建及自动索引创建数组一般说来,创建一个数组有两件事要做,首先要建一个数组的“壳” (shell) ,然后在这个壳中置入数组元素(数或字符串等) 。如果需要用一个数组作为程序的数据源,可以选择FunctionsArrayArray Constant,将它放置在流程图中。然后再在数组框中放置数值常量、布尔数还是字符串常量。下图显示了在数组框放入字符串常量数组的例子。左边是一个数组壳,中间的图上已经置入了字符串元素,右边的图反映了数组的第个元素为:”ABC”,后两个元素均为空。图数组的创建在前面板中创建数组的方法是,从 Contro

3、ls模板中选择Array & Cluster,把数组放置在前面板中,然后选择一个对象(例如数值常量)插入到数组框中。这样就创建了一个数值数2组。也可以直接在前面板中创建数组和相应的控制对象,然后将它们复制或者拖曳到流程图中,创建对应的常数。还有很多在流程图中创建和初始化数组的方法,有些功能函数也可以生成数组。数组控制对象、常数对象和显示对象通过把数组与数值、布尔数、字符串或者簇组合在一起,可以在前面板和流程图中创建任何一种控制对象、常数对象和显示对象。数组元素不能是数组、图表或者图形。如果您想查看一些数组的例子,请查看 ExamplesGeneralarrays.llb中的例子。自动索引For

4、 循环和 While 循环可以自动地在数组的上下限范围内编索引和进行累计。这些功能称为自动索引。在启动自动索引功能以后,当把某个外部节点的任何一维元素连接到循环边框的某个输入通道时,该数组的各个元素就将按顺序一个一个地输入到循环中。循环会对一维数组中的标量元素,或者二维数组中的一维数组等编制索引。在输出通道也要执行同样的工作数组元素按顺序进入一维数组,一维数组进入二维数组,依此类推。在默认情况下,对于每个连接到 For循环的数组都会执行自动索引功能。可以禁止这个功能的执行,方法是用鼠标右键单击通道(输入数组进入循环的位置),在快捷菜单中选择Disable Indexing。练习 创建一个自动索

5、引的数组目的:使用 For 循环的自动索引功能创建数组,并用一个图形(Graph)显示该数组。前面板图练习的面板1. 打开一个新的前面板。2. 选择 ControlsArray & Cluster,在前面板中放置一个数组。设置它的标签为 Waveform Array。3. 选择 ControlsNumeric,在数组框中插入一个数字式显示对象。3如右图所示。它用于显示数组的内容。4. 选择 ControlsGraph,在前面板中放置一个波形图。设置它的标签为 Waveform Graph。5. 隐藏图例和模板。6. 用鼠标右键单击图形,并在快捷菜单中取消选中 Y ScaleAutoscale

6、Y,禁止自动坐标功能。7. 使用文本工具,把 Y轴的范围改为-0.5 到 1.5。流程图8. 按照下图创建流程图。图练习的流程图 由 FunctionsSelect a VI寻找LabVIEWactivity目录下的 Generate Waveform VI ,它的作用是返回波形中的某一点。这个 VI需要输入一个索引,我们将循环周期连接到这个输入。 注意 Generate Waveform VI连出来的连线在循环边界变成一个数组时会变粗,正是在这个边界处形成了一维数组。 For循环会自动累计边界内的数组。这种功能叫做自动索引。在这个例子中,连接到循环计数输入的数值常数令For循环创建了一个由

7、100个元素组成的数组。 Bundle函数( Functions Cluster)将图块中的各个组件组合成一个簇,在正确连接以前需要改变该函数的图标的大小。将移位工具放在图标的左下角。变形工具会变成如左图所示,拖曳鼠标直到出现第三个输入端子。 数值常数( FunctionsNumeric)三个数值常数用于设置 For循环执行的周期数 N=100,初始 X=0和 delta X=1。9. 从前面板执行该 VI。该 VI将把自动索引后的波形图数组显示在波形图中。10. 把 X的 delta值改为 0.5,X 的初始值改为 20。再次执行该 VI。注意,波形图现在同样显示 100个点,而每个点的初始

8、值为 20,X 的 delta值为 0.5(见 X轴)。11. 只需在显示器中输入元素的索引号就可以查看波形数组中的任何元素。如果输入的数比数组的元素个数大,那么显4示器将变暗,表示您没有为该元素设置索引。如果需要一次查看多个元素,可以通过改变数组显示对象的大小来实现。 把定位工具放置在数组框的右下角。工具将变成右图所示的变形工具。当工具变形时,用鼠标拖曳数组的右边或者下边。数组现在就可以按照元素索引的上升顺序显示多个素,以某个与指定索引对应的元素开始,如下图所示。图练习中多个数组元素的同时观察在前面的流程图中,您为波形图指定了初始的 X值和delta X值。默认的 X初始值是 0,delta

9、 X 值是 1。这样,也可以把波形数组直接连接到波形图端子, 而无需指定初始的 X值和 delta X值,如图所示。图 练习使用默认 X 及 Delta X 时简化后的流程图12. 按上图删除 Bundle 功能函数和它所连接的常数对象。方法是用移位工具选择该功能函数和连接的常数对象,按下。再选择 EditRemove Bad Wires。按照上图完成流程图的连线。13. 执行该 VI。注意初始的 X值是,delta X 值是 1。 多图区图形可以创建含有多条曲线的图形,方法是创建一个数组,用它来汇集传给单图区图形的类型的数据元素。5图练习多图区图形的流程图14. 按照上图创建流程图。 正弦函

10、数(FunctionsNumericTrigonometric)在这里,它用于在 For循环中创建一个由数据点组成的数组,表示一个正弦波周期。 Pi常数(FunctionsNumericAdditional Numeric Constants) Build Array (FunctionsArray)在这里,它用于创建合适的数据结构(一个二维数组),在波形图中绘制两条曲线。用移位工具拖曳边角可以增大该函数的面积,创建两个输入端子。15. 返回前面板,执行该 VI。注意同一个波形中的两个图区。默认情况下,它们的 X初始值都是 0,delta X 初始值都是1。下图是该程序的运行结果(前面板未改动

11、)。16. 把该 VI保存为 LabVIEWActivity 目录中的 Graph Waveform Arrays.vi。17. 可以修改图形中的某个图区的外观。方法是,用鼠标右键单击这个图形,再从弹出菜单选择对应的图例。图练习多图区图形的面板显示练习 结束。在上面这个例子中,由于计算端子连接了一个值为 100的常数对象,所以 For循环将执行 100次。下面这个例子显示了另外一种控制循环执行次数的方法。6更详细的例子建议调阅 ExamplesFundamentals Graphs and ChartsGraph ExamplesWaveform Graph 例子。练习 对输入数组使用自动索引

12、功能目的:打开并执行一个 VI,它将在一个 For 循环中使用自动索引功能处理一个数组。1. 选择 FileOpen,打开ExamplesGeneralarrays.llb中的 Separate Array Values VI 。2. 打开流程图。下面的示意图显示的是在 TRUE和 FALSE时的情况。图练习的流程图注意,Input Array 引出的连线与 For循环外的粗线不同,表示这是一个数组,而循环内部的细线则表示这是一个数组元素。 数组元素在每个循环期间将自动编号。 用自动索引功能设置 For 循环的计数器注意,计数器端子还没有连线。当您对某个进入 For循环的数组使用自动索引功能时

13、,循环就将根据数组的大小执行相应的次数,这样就无需连接某个值到计数器的端口。如果对一个以上的数组使用自动索引功能,或者在使用自动索引功能之外还需要设置计数器时,实际的循环次数将是其中最小的数。3. 执行该 VI。在输入的八个数中,可以看到 4个属于正数数组,另外 4个属于负数数组。4. 从流程图中将一个值为 5的常数对象连接到 For 循环7的计数器端子。执行该 VI。可以看到尽管输入数组仍然有八个元素,但是 3个位于正数数组,另外 2个位于负数数组。这说明,如果设置了 N并开启了自动索引功能,那么实际循环的次数将取较小的数。5. 关闭该 VI,不要保存任何修改。注:练习 的算法说明下面是一段

14、伪代码,解释上面的算法,假定输入数组为A(已赋值),B(正数)、C(负数)。Sbr 、Scr 分别是与 B数组、C 数组对应的右寄存器数组,Sbl 、Scl 分别是与 B数组、C数组对应的左寄存器数组,size 运算为测数组实际大小,ins运算为将一个数插入数组中最左边的空位。B=0 初始化C=0K=size(A(.) 测A数组大小For i=0 to k-1p=A(i) 取第I个元素值if p=0 thenIns p,Sbr 将p值插入右寄存器Else Ins p,Scrend ifSbl=Sbr 右寄存器值送给左寄存器Scl=ScrNext iB=Sbr 右寄存器值送到正数组C=ScrPr

15、int B 显示Print CEnd练习 结束。数组功能函数LabVIEW 提供了很多用于操作数组的功能函数,位于FunctionsArray 中。其中包括 Replace Array Element,、Search 1D Array、Sort 1D Array、 Reverse 1D Array 和 Multiply Array Elements 等等。 创建数组Build Array 函数(FunctionsArray) ,用于根据标量值或8者其他的数组创建一个数组。开始时,Build Array 函数具有一个标量输入端子。您可以根据需要向该功能函数中加入任意数量的输入,输入可以是标量或者数组。如果要添加其他的输入,用鼠标单击函数的左侧,在弹出菜单中选择 Add Element Input 或者 Add Array Input。还可以用变形工具来增大节点的面积(把移位工具放置在某个对象的边角就会变成变形光标) 。也可以使用变形光标或者选择 Remove Input 来删除输入。下图显示了利用流程图中的常数对象的值创建和初始化数组的两种方法。左侧的方法是,将 5 个字符串常数放入一个一维字符串数组中。右侧的方法是,将三组数值常数放入三个一维数值数组,再将这三个数组组成一个二维数组。这样最后产生的是一个 3x3 的数组,三列分别是 3, 4, 7; 1, 6, 2

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 其它办公文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号