好文档 - 专业文书写作范文服务资料分享网站

第三章 数组、簇和波形

天下 分享 时间: 加入收藏 我要投稿 点赞

第三章 数据类型:数组、簇和波形

3.1 概述

数组是同类型元素的集合。一个数组可以是一维或者多维,

31

如果必要,每维最多可有2-1个元素。可以通过数组索引访问其中的每个元素。索引的范围是0到n – 1,其中n是数组中元素的个数。图3-1所显示的是由数值构成的一维数组。注意第一个元素的索引号为0,第二个是1,依此类推。数组的元素可以是数据、字符串等,但所有元素的数据类型必须一致。

图3-1 数组示意图

簇(Cluster)是另一种数据类型,它的元素可以是不同类型的数据。它类似于C语言中的stuct。使用簇可以把分布在流程图中各个位置的数据元素组合起来,这样可以减少连线的拥挤程度。减少子VI的连接端子的数量。

波形(Waveform)可以理解为一种簇的变形,它不能算是一种有普遍意义的数据类型,但非常实用。

3.2 数组的创建及自动索引

3.2.1 创建数组

一般说来,创建一个数组有两件事要做,首先要建一个数组的“壳”(shell),然后在这个壳中置入数组元素(数或字符串等)。

如果需要用一个数组作为程序的数据源,可以选择Functions?Array?Array Constant,将它放置在流程图中。然后再在数组框中放置数值常量、布尔数还是字符串常量。下图显示了在数组框放入字符串常量数组的例子。左边是一个数组壳,中间的图上已经置入了字符串元素,右边的图反映了数组的第0个元素为:”ABC”,后两个元素均为空。

Array Constant00Array ConstantABC0Array ConstantABC 图3-1 数组的创建

1

在前面板中创建数组的方法是,从Controls模板中选择Array & Cluster,把数组放置在前面板中,然后选择一个对象(例如数值常量)插入到数组框中。这样就创建了一个数值数组。

也可以直接在前面板中创建数组和相应的控制对象,然后将它们复制或者拖曳到流程图中,创建对应的常数。

还有很多在流程图中创建和初始化数组的方法,有些功能函数也可以生成数组。

3.2.2 数组控制对象、常数对象和显示对象

通过把数组与数值、布尔数、字符串或者簇组合在一起,可以在前面板和流程图中创建任何一种控制对象、常数对象和显示对象。数组元素不能是数组、图表或者图形。如果您想查看一些数组的例子,请查看Examples\\General\\arrays.llb中的例子。

3.2.3 自动索引

For循环和While循环可以自动地在数组的上下限范围内编索引和进行累计。这些功能称为自动索引。在启动自动索引功能以后,当把某个外部节点的任何一维元素连接到循环边框的某个输入通道时,该数组的各个元素就将按顺序一个一个地输入到循环中。循环会对一维数组中的标量元素,或者二维数组中的一维数组等编制索引。在输出通道也要执行同样的工作――数组元素按顺序进入一维数组,一维数组进入二维数组,依此类推。

在默认情况下,对于每个连接到For循环的数组都会执行自动索引功能。可以禁止这个功能的执行,方法是用鼠标右键单击通道(输入数组进入循环的位置),在快捷菜单中选择Disable Indexing。

练习 3-1 创建一个自动索引的数组

目的:使用 For 循环的自动索引功能创建数组,并用一个图形(Graph)显示该数组。

前面板

图3-2 练习3-1的面板

1. 打开一个新的前面板。

2. 选择Controls?Array & Cluster,在前面板中放置一个数组。设置它的标签为Waveform Array。

3. 选择Controls?Numeric,在

2

数组框中插入一个数字式显示对象。如右图所示。它用于显示数组的内容。

4. 选择Controls?Graph,在前面板中放置一个波形图。设置它的标签为Waveform Graph。

5. 隐藏图例和模板。

6. 用鼠标右键单击图形,并在快捷菜单中取消选中 Y Scale?Autoscale Y,禁止自动坐标功能。

7. 使用文本工具,把Y轴的范围改为-0.5到1.5。

流程图

8. 按照下图创建流程图。 Delta X X0 1 0 Waveform Graph Waveform Array 图3-2 练习3-1的流程图

? 由Functions?Select a VI…寻找LabVIEW\\activity目录下的Generate Waveform VI ,它的作用是返回波形中的某一点。这个VI需要输入一个索引,我们将循环周期连接到这个输入。

? 注意Generate Waveform VI连出来的连线在循环边界变成一个数组时会变粗,正是在这个边界处形成了一维数组。

? For循环会自动累计边界内的数组。这种功能叫做自动索引。在这个例子中,连接到循环计数输入的数值常数令For循环创建了一个由100个元素组成的数组。

? Bundle函数( Functions? Cluster)——将图块中的各个组件组合成一个簇,在正确连接以前需要改变该函数的图标的大小。将移位工具放在图标的左下角。变形工具会变成如左图所示,拖曳鼠标直到出现第三个输入端子。

? 数值常数( Functions?Numeric)——三个数值常数用于设置For循环执行的周期数N=100,初始X=0和delta X=1。

9. 从前面板执行该VI。该VI将把自动索引后的波形图数组显示在波形图中。

10. 把 X的delta值改为0.5,X的初始值改为20。再次执行该VI。注意,波形图现在同样显示100个点,而每个点的初始值为20,X的delta值为0.5(见X轴)。

11. 只需在显示器中输入元素的索引号就可以查看波形数组中的任何元素。如果输入的数比数组的元素个数大,那么显示

100 3

第三章 数组、簇和波形

第三章数据类型:数组、簇和波形3.1概述数组是同类型元素的集合。一个数组可以是一维或者多维,31如果必要,每维最多可有2-1个元素。可以通过数组索引访问其中的每个元素。索引的范围是0到n–1,其中n是数组中元素的个数。图3-1所显示的是由数值构成的一维数组。注意第一个元素的索引号为0,第二个是1,依此类推。
推荐度:
点击下载文档文档为doc格式
5bvg75veq51oirv327pb3jk4h7sgsg00ppn
领取福利

微信扫码领取福利

微信扫码分享