




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、虚拟仪器技术虚拟仪器技术虚拟仪器技术虚拟仪器技术 第四章第四章 数组、簇和波形数组、簇和波形虚拟仪器技术虚拟仪器技术第四章第四章 数组、簇和波形数组、簇和波形4.1 数组数组4.2 簇簇4.3 波形波形虚拟仪器技术虚拟仪器技术4.1.数组定义数组定义v数组定义:数组定义: 数组是同类型元素的集合。数组长度可以数组是同类型元素的集合。数组长度可以随意改变。一个数组可以是一维或者多维。如随意改变。一个数组可以是一维或者多维。如果必要,每维最多可有果必要,每维最多可有231-1个元素。可以通过个元素。可以通过数组索引访问其中的每个元素。索引的范围是数组索引访问其中的每个元素。索引的范围是0到到n 1
2、,其中,其中n是数组中元素的个数。是数组中元素的个数。 数组由索引和元素区域两部分构成。数组由索引和元素区域两部分构成。虚拟仪器技术虚拟仪器技术4.1.数组定义数组定义v下图所显示的是由数值构成的一维数组。注意第下图所显示的是由数值构成的一维数组。注意第一个元素的索引号为一个元素的索引号为0 0,第二个是,第二个是1 1,依此类推。,依此类推。数组的元素可以是数据、字符串等,但所有元素数组的元素可以是数据、字符串等,但所有元素的数据类型必须一致。数组元素不能是数组、图的数据类型必须一致。数组元素不能是数组、图表或者图形。表或者图形。 虚拟仪器技术虚拟仪器技术4.2 数组的创建及自动索引数组的创
3、建及自动索引 创建数组创建数组 一般说来,创建一个数组有两件事要做,首一般说来,创建一个数组有两件事要做,首先要建一个数组框架(先要建一个数组框架(shellshell),然后在这个框),然后在这个框架中置入数组元素(数或字符串等)。架中置入数组元素(数或字符串等)。 如果需要用一个数组作为程序的数据源,可如果需要用一个数组作为程序的数据源,可以选择以选择FunctionsArrayArray ConstantFunctionsArrayArray Constant,将,将它放置在流程图中。然后再在数组框中放置数它放置在流程图中。然后再在数组框中放置数值常量、布尔数还是字符串常量。值常量、布尔
4、数还是字符串常量。虚拟仪器技术虚拟仪器技术4.2 数组的创建及自动索引数组的创建及自动索引 下图显示了在数组框放入字符串常量数组的下图显示了在数组框放入字符串常量数组的例子。左边是一个数组框架,中间的图上已经例子。左边是一个数组框架,中间的图上已经置入了字符串元素,右边的图反映了数组的第置入了字符串元素,右边的图反映了数组的第个元素为:个元素为:”ABC”ABC”,后两个元素均为空。,后两个元素均为空。 虚拟仪器技术虚拟仪器技术v在前面板中创建数组的方法是,从在前面板中创建数组的方法是,从Controls模模板中选择板中选择Array & Cluster,把数组放置在前,把数组放置在前
5、面板中,然后选择一个对象(例如数值常量)面板中,然后选择一个对象(例如数值常量)插入到数组框中。这样就创建了一个数值数组。插入到数组框中。这样就创建了一个数值数组。v也可以直接在前面板中创建数组和相应的控制也可以直接在前面板中创建数组和相应的控制对象,然后将它们复制或者拖曳到流程图中,对象,然后将它们复制或者拖曳到流程图中,创建对应的常数。创建对应的常数。v还有很多在流程图中创建和初始化数组的方法,还有很多在流程图中创建和初始化数组的方法,有些功能函数也可以生成数组。有些功能函数也可以生成数组。 虚拟仪器技术虚拟仪器技术4.3数组控制对象、常数对象和显示对象数组控制对象、常数对象和显示对象v通
6、过把数组与数值、布尔数、字符串或者簇通过把数组与数值、布尔数、字符串或者簇组合在一起,可以在前面板和流程图中创建组合在一起,可以在前面板和流程图中创建任何一种控制对象、常数对象和显示对象。任何一种控制对象、常数对象和显示对象。虚拟仪器技术虚拟仪器技术4.4 自动索引自动索引vFor循环和循环和While循环可以自动地在数组的上下限范围内循环可以自动地在数组的上下限范围内编索引和进行累计。这些功能称为自动索引。在启动自动编索引和进行累计。这些功能称为自动索引。在启动自动索引功能以后,当把某个外部节点的任何一维元素连接到索引功能以后,当把某个外部节点的任何一维元素连接到循环边框的某个输入通道时,该
7、数组的各个元素就将按顺循环边框的某个输入通道时,该数组的各个元素就将按顺序一个一个地输入到循环中。循环会对一维数组中的标量序一个一个地输入到循环中。循环会对一维数组中的标量元素,或者二维数组中的一维数组等编制索引。在输出通元素,或者二维数组中的一维数组等编制索引。在输出通道也要执行同样的工作道也要执行同样的工作数组元素按顺序进入一维数组,数组元素按顺序进入一维数组,一维数组进入二维数组,依此类推。一维数组进入二维数组,依此类推。v在默认情况下,对于每个连接到在默认情况下,对于每个连接到For循环的数组都会执行循环的数组都会执行自动索引功能。可以禁止这个功能的执行,方法是用鼠标自动索引功能。可以
8、禁止这个功能的执行,方法是用鼠标右键单击通道(输入数组进入循环的位置),在快捷菜单右键单击通道(输入数组进入循环的位置),在快捷菜单中选择中选择Disable Indexing。 虚拟仪器技术虚拟仪器技术自动索引举例自动索引举例v练习练习 :创建一个:创建一个For循环,循环次数定为循环,循环次数定为100次次 v在数学函数中调用在数学函数中调用Sinc函数,重复端子作为输入,函数,重复端子作为输入,输出用一个波形图表和一个数组显示。如图:输出用一个波形图表和一个数组显示。如图: 虚拟仪器技术虚拟仪器技术v练习练习 : 创建一个自动索引的数组创建一个自动索引的数组v目的:使用目的:使用 For
9、 循环的自动索引功能创建数组,循环的自动索引功能创建数组,并用一个图形(并用一个图形(Graph)显示该数组。)显示该数组。虚拟仪器技术虚拟仪器技术4.5 二维数组二维数组 v二维数组建立在一维数组的基础之上,在没有定义元素的一维数组框架的索引区或边框上弹出快捷菜单,如图:v如果要增加或减少数组的维度,既可以在索引框的快捷菜单上执行,如图: 虚拟仪器技术虚拟仪器技术二维数组二维数组 v对于二维数组来说,索引框中上一个为行索引,对于二维数组来说,索引框中上一个为行索引,下一个为列索引。下一个为列索引。 虚拟仪器技术虚拟仪器技术4.6 三维及多维数组三维及多维数组 v三维数组的索引由行、列和页组成
10、,每一页都可三维数组的索引由行、列和页组成,每一页都可认为是一个二维数组,其操作方式和低维相似。认为是一个二维数组,其操作方式和低维相似。虚拟仪器技术虚拟仪器技术4.7 数组操作函数数组操作函数 vLabVIEW提供了很多用于操作数组的功能函数,位于提供了很多用于操作数组的功能函数,位于FunctionsArray中。其中包括中。其中包括Replace Array Element,、Search 1D Array、Sort 1D Array、 Reverse 1D Array和和 Multiply Array Elements等等。数组函数的面板如图:等等。数组函数的面板如图:虚拟仪器技术虚拟
11、仪器技术数组操作函数数组操作函数 1、数组大小:Array Size函数,返回输入数组中的元素个数。 虚拟仪器技术虚拟仪器技术数组操作函数数组操作函数 v2、索引数组(、索引数组(Index Array)用于访问数组中用于访问数组中的某个元素。的某个元素。 虚拟仪器技术虚拟仪器技术数组操作函数数组操作函数 v下图显示了一个索引函数的例子,它用于访问数组下图显示了一个索引函数的例子,它用于访问数组中的第三个元素。注意,因为第一个元素的索引为中的第三个元素。注意,因为第一个元素的索引为0,所以第三个元素的索引是,所以第三个元素的索引是2。虚拟仪器技术虚拟仪器技术数组操作函数数组操作函数 v3 、
12、创 建 数 组、 创 建 数 组 B u i l d A r r a y 函 数函 数(FunctionsArray),用于根据标量值或者),用于根据标量值或者其他的数组创建一个数组。其他的数组创建一个数组。v开始时,开始时,Build Array函数具有一个标量输入端函数具有一个标量输入端子。您可以根据需要向该功能函数中加入任意子。您可以根据需要向该功能函数中加入任意数量的输入,输入可以是标量或者数组。如果数量的输入,输入可以是标量或者数组。如果要添加其他的输入,用鼠标单击函数的左侧,要添加其他的输入,用鼠标单击函数的左侧,在弹出菜单中选择在弹出菜单中选择Add Element Input或
13、者或者Add Array Input。还可以用变形工具来增大节点的。还可以用变形工具来增大节点的面积(把移位工具放置在某个对象的边角就会面积(把移位工具放置在某个对象的边角就会变成变形光标)。也可以使用变形光标或者选变成变形光标)。也可以使用变形光标或者选择择Remove Input来删除输入。来删除输入。虚拟仪器技术虚拟仪器技术数组操作函数数组操作函数 v4、初始化数组(、初始化数组(Initialize Array)用于创建用于创建所有元素值都相等的数组。下图中,该功能函数创所有元素值都相等的数组。下图中,该功能函数创建了一个一维数组。建了一个一维数组。虚拟仪器技术虚拟仪器技术数组操作函数
14、数组操作函数 v5、子集(、子集(Array Subset)选取数组或者矩阵选取数组或者矩阵的某个部分。的某个部分。虚拟仪器技术虚拟仪器技术数组操作函数数组操作函数 Building a higher dimension arrayConcatenate Inputs (default)Appending an element虚拟仪器技术虚拟仪器技术数组操作函数数组操作函数 Array SizeInitialize ArrayArray Subset虚拟仪器技术虚拟仪器技术数组操作函数数组操作函数 Building a higher dimension arrayConcatenate Inp
15、uts (default)Appending an element虚拟仪器技术虚拟仪器技术数组操作函数数组操作函数 v该函数可以返回从某个指针开始的部分数组,并包该函数可以返回从某个指针开始的部分数组,并包括了长度元素。下图显示了一些数组子集的例子,括了长度元素。下图显示了一些数组子集的例子,注意,数组索引从注意,数组索引从0开始。开始。虚拟仪器技术虚拟仪器技术4.2 簇 v簇是一种类似数组的复合数据结构,用于分组簇是一种类似数组的复合数据结构,用于分组数据。簇和数组有着重要的差别,其中一个重数据。簇和数组有着重要的差别,其中一个重要差别是,簇可以包含不同的数据类型,而数要差别是,簇可以包含不
16、同的数据类型,而数组仅可以包含相同的数据类型。例如,一个数组仅可以包含相同的数据类型。例如,一个数组可以包含组可以包含1010个数字指示器,一个簇却可以包个数字指示器,一个簇却可以包含一个数字控件,一个开关和一个字符串控件。含一个数字控件,一个开关和一个字符串控件。v簇和数组的另一个差别是簇具有固定的大小。簇和数组的另一个差别是簇具有固定的大小。即簇不能在运行时添加新元素,而数组的长度即簇不能在运行时添加新元素,而数组的长度在运行时可以自由改变。在运行时可以自由改变。虚拟仪器技术虚拟仪器技术4.2 簇 一个簇中的对象必须全部是一个簇中的对象必须全部是Control,或全是,或全是Indicat
17、or,不能在同一个簇中组合,不能在同一个簇中组合Control与与Indicator,因为簇本身的属性必须是其中之,因为簇本身的属性必须是其中之一。一。 一个簇将是一个簇将是Control或或Indicator,取决于其内,取决于其内的第一个对象的状态。如果需要可以使用工具的第一个对象的状态。如果需要可以使用工具重置簇的大小。重置簇的大小。v如果你要求簇严格地符合簇内对象的大小,可如果你要求簇严格地符合簇内对象的大小,可在簇的边界上弹出快速菜单选择自动定义大小在簇的边界上弹出快速菜单选择自动定义大小(Autosizing)虚拟仪器技术虚拟仪器技术创建簇控制和显示创建簇控制和显示v在前面板上放置
18、一个簇壳(在前面板上放置一个簇壳(Cluster shell)就)就创建了一个簇。然后你可以将前面板上的任何创建了一个簇。然后你可以将前面板上的任何对象放在簇中。例如数组,你也可以直接从对象放在簇中。例如数组,你也可以直接从Control 工具板上直接拖取对象堆放到簇中。工具板上直接拖取对象堆放到簇中。虚拟仪器技术虚拟仪器技术创建簇控制和显示创建簇控制和显示v下图所示是一个含个下图所示是一个含个Control的簇。也可以在流程图的簇。也可以在流程图上用类似的方法创建簇常数。上用类似的方法创建簇常数。v如果你要求簇严格地符合簇内对象的大小,可在簇的边如果你要求簇严格地符合簇内对象的大小,可在簇的
19、边界上弹出快速菜单选择自动定义大小(界上弹出快速菜单选择自动定义大小(Autosizing)虚拟仪器技术虚拟仪器技术簇的创建簇的创建v簇的创建框位于前面板中的控件簇的创建框位于前面板中的控件新式新式数组数组,矩阵和簇矩阵和簇簇簇,如图如图: 虚拟仪器技术虚拟仪器技术v然后就可以往簇的框中添加各种类型的控件了然后就可以往簇的框中添加各种类型的控件了,例如例如现在要建立一个学生的记录信息现在要建立一个学生的记录信息,包括学生的姓名包括学生的姓名,学学号号,性别和年龄性别和年龄.这就需要在簇外壳里依次放入两个字这就需要在簇外壳里依次放入两个字符串输入控件符串输入控件,一个数字控件和一个布尔控件一个数
20、字控件和一个布尔控件.如图如图:虚拟仪器技术虚拟仪器技术v与数组的创建类似,簇也可以从程序框图中创与数组的创建类似,簇也可以从程序框图中创建,先在程序框图上放置一个簇外壳,然后就建,先在程序框图上放置一个簇外壳,然后就可以在簇外壳里放置各种数据类型常数。如图:可以在簇外壳里放置各种数据类型常数。如图: 虚拟仪器技术虚拟仪器技术v簇内对象的大小是可以调整的,右击簇边界,在弹簇内对象的大小是可以调整的,右击簇边界,在弹出的快捷菜单中可以选择各种调节操作,如图:出的快捷菜单中可以选择各种调节操作,如图: 虚拟仪器技术虚拟仪器技术v选择调整为匹配大小,即可缩小簇的边框,如图为选择调整为匹配大小,即可缩
21、小簇的边框,如图为调整后的结果:调整后的结果: 虚拟仪器技术虚拟仪器技术簇结构中的元素排序簇结构中的元素排序v簇结构中的元素排列是按照它们簇结构中的元素排列是按照它们放置的先后放置的先后来排序来排序的,它与簇内元素的位置无关。放入的,它与簇内元素的位置无关。放入簇内的第一个元素序号为簇内的第一个元素序号为0,第二个元素序号,第二个元素序号是是1,依次向下排列。如果删除了一个元素,依次向下排列。如果删除了一个元素,序号将重新自动调整。簇的排序很重要,它序号将重新自动调整。簇的排序很重要,它直接影响着后面将要介绍的直接影响着后面将要介绍的“捆绑捆绑”以及以及“接触捆绑接触捆绑”函数的端口顺序。函数
22、的端口顺序。v如果你想将一个簇与另一个簇连接,这两个如果你想将一个簇与另一个簇连接,这两个簇的序和类型必须相同。簇的序和类型必须相同。虚拟仪器技术虚拟仪器技术如何改变簇内元素的排列顺序v如果想要改变簇内元素的排列顺序,可以右击簇结如果想要改变簇内元素的排列顺序,可以右击簇结构的边框,在弹出的快捷菜单中执行构的边框,在弹出的快捷菜单中执行“重新排序簇重新排序簇中控件中控件”,如图:,如图: 这时鼠标会变成一个带这时鼠标会变成一个带“”号的手柄箭头,黑框指出新设号的手柄箭头,黑框指出新设置的排列序号,白框表示原先置的排列序号,白框表示原先的排列序号,可以改变标题栏的排列序号,可以改变标题栏上的上的
23、“单击设置单击设置”内容,然后内容,然后单击簇元素即可设置新的序号。单击簇元素即可设置新的序号。设置完毕后单击工具栏上的设置完毕后单击工具栏上的“ ” ”按钮确定更改,如果想按钮确定更改,如果想恢复原先设定值,单击恢复原先设定值,单击“ ”“ ”取取消设置。消设置。虚拟仪器技术虚拟仪器技术使用簇与子VI传递数据v一个一个VI的连接窗口最大有的连接窗口最大有28个端子,如果个端子,如果你不希望使用全部你不希望使用全部28个端子传递数据,这个端子传递数据,这既烦琐又易出错。通过把控制或显示对象既烦琐又易出错。通过把控制或显示对象捆绑成一个簇的方法,仅使用一个端子就捆绑成一个簇的方法,仅使用一个端子
24、就可以实现该功能。可以实现该功能。 v1、捆绑(、捆绑(Bundle)数据(簇的合成)数据(簇的合成)v2、分解(、分解(Unbundle)簇)簇 (簇的分解)(簇的分解)虚拟仪器技术虚拟仪器技术v1、捆绑(、捆绑(Bundle)数据)数据 Bundle功能将分散的元件集合为一个新的簇,功能将分散的元件集合为一个新的簇,或允许你重置一个已有的簇中的元素。可以用位置或允许你重置一个已有的簇中的元素。可以用位置工具拖曳其图标的右下角以增加输入端子的个数。工具拖曳其图标的右下角以增加输入端子的个数。最终簇的序是取决于被捆绑的输入的顺序。最终簇的序是取决于被捆绑的输入的顺序。 v2、分解(、分解(Un
25、bundle)簇)簇 Unbundle功能是功能是Bundle的逆过程,它将一个簇的逆过程,它将一个簇分解为若干分离的元件。如果你要对一个簇分解,分解为若干分离的元件。如果你要对一个簇分解,就必须知道它的元素的个数。就必须知道它的元素的个数。 虚拟仪器技术虚拟仪器技术簇函数簇函数 v簇函数的模版如图:簇函数的模版如图: 簇函数中最主要的就簇函数中最主要的就是构造打包生成簇的是构造打包生成簇的“捆绑捆绑”函数,还有函数,还有从簇中解包提取簇中从簇中解包提取簇中元素的元素的“解除捆绑解除捆绑”函数。它们是根据簇函数。它们是根据簇成员的顺序来进行操成员的顺序来进行操作的。作的。虚拟仪器技术虚拟仪器技
26、术簇函数举例:簇函数举例:v1、创建簇,解包簇,再打包簇、创建簇,解包簇,再打包簇 v使用簇的两个基本函数,如图:首先放置一个簇外使用簇的两个基本函数,如图:首先放置一个簇外壳到前面板上,将标签内容改为壳到前面板上,将标签内容改为“输入簇输入簇” 在簇外壳中依次放入字符串控在簇外壳中依次放入字符串控件件 “ N a m e ” ,N a m e ” , 布 尔 控 件布 尔 控 件“Sex”Sex”,数字输入控件,数字输入控件“Pay”Pay”以及字符串控件以及字符串控件“Address”Address”,通过这些簇,通过这些簇元素来组成某一公司内一名元素来组成某一公司内一名员 工 的 工 资
27、 记 录 。员 工 的 工 资 记 录 。 虚拟仪器技术虚拟仪器技术簇函数簇函数 v切换到程序框图,放置一个切换到程序框图,放置一个“解除捆绑解除捆绑”解包簇函解包簇函数,函数刚放入时,它的右侧只有数,函数刚放入时,它的右侧只有2个输出端口,个输出端口,当输入端口与当输入端口与“输入簇输入簇”端子相连后,右侧端口会端子相连后,右侧端口会自动增加为簇元素的数目,端口从上向下排列的顺自动增加为簇元素的数目,端口从上向下排列的顺序与簇内元素的放置顺序相对应,并且数据类型也序与簇内元素的放置顺序相对应,并且数据类型也是与簇元素数据类型相对应。如图:是与簇元素数据类型相对应。如图:虚拟仪器技术虚拟仪器技
28、术簇函数簇函数 v同样放置一个同样放置一个“捆绑捆绑”打包簇函数,用定位工具将打包簇函数,用定位工具将输入端口的数目增加到输入端口的数目增加到4个,依次将它们与解包出个,依次将它们与解包出来的来的4个簇元素相连,表示又把它们进行打包生成个簇元素相连,表示又把它们进行打包生成一个新的簇。在输出端口创建一个簇显示器,把标一个新的簇。在输出端口创建一个簇显示器,把标签改为签改为“输出簇输出簇”,如图:,如图:虚拟仪器技术虚拟仪器技术练习创建簇、分解簇,再捆绑簇并且在练习创建簇、分解簇,再捆绑簇并且在另一个簇中显示其内容。另一个簇中显示其内容。虚拟仪器技术虚拟仪器技术打开前面板,创建一个簇壳(打开前面板,创建一个簇壳(Array & Cluster Array & Cluster palettepalette),标签改为),标签改为Input ClusterInput Cluster,拖曳至适当大小。,拖曳至适当大小。在这个簇壳中放置一个数字在这个簇壳中放置一个数字ControlControl,两个布尔开关,和,两个布尔开关,和一个串一个串ControlControl。仿照以上步骤,创建仿照以上步骤,创建Output ClusterOutp
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 肾脏内科护理专业培养体系
- 2025年事业单位工勤技能-湖南-湖南客房服务员三级(高级工)历年参考题库含答案解析
- 2025年事业单位工勤技能-湖南-湖南农机驾驶维修工三级(高级工)历年参考题库含答案解析
- 2025年事业单位工勤技能-湖北-湖北放射技术员二级(技师)历年参考题库含答案解析
- 高速公路智能交通系统2025年智能交通法规与标准研究
- 2025年数字人民币跨境支付技术挑战与金融创新解决方案全解
- 建筑信息模型(BIM)在2025年建筑工程项目施工质量保证体系构建应用研究报告
- 2025年事业单位工勤技能-浙江-浙江水工监测工四级(中级工)历年参考题库含答案解析(5套)
- 2025年事业单位工勤技能-河南-河南堤灌维护工五级(初级工)历年参考题库典型考点含答案解析
- 2025年事业单位工勤技能-河北-河北农机驾驶维修工五级(初级工)历年参考题库含答案解析(5套)
- 小学1530安全教育
- 牢记教师初心不忘育人使命作新时代合格人民教师课件
- 门窗工程采购相关知识
- 2025风电机组无人机巡检技术方案
- 浙江省台州市住在室内装修施工合同书
- 2025年高压电工资格考试国家总局模拟题库及答案(共四套)
- 《服务器安装与维护》课件
- 金蝶K3供应链操作手册
- 老年患者护理心理护理
- 《食品经营许可证》延续申请书
- 电缆中间接头防火整改方案
评论
0/150
提交评论