LabVIEW实验指导书
实验五 LabVIEW编程的数组与簇
一、实验目的
1.掌握如何创建、使用数组;数组函数的功能和应用,掌握它们的区别以及相应操作。 2.掌握如何创建、使用簇;簇函数的功能和应用,掌握它们的区别以及相应操作。 二、实验原理
1.数组是一些具有相同类型的元素组成的集合。数组包含两方面的内容:元素和维数。数组中的元素可以是数字、布尔、字符、路径、波形和簇等数据类型。一个数组可以是一维或者多维,如果必要,每维最多可有231-1个元素。可以通过数组索引访问其中的每个元素。数组元素不能是数组、图表或者图形。
LabVIEW提供了很多用于操作数组的功能函数,位于函数Functions?数组Array中。其中包括创建数组、初始化数组、数组大小、数组子集、索引数组等。 ? 创建数组:用于根据标量值或者其他的数组创建一个数组。 ? 初始化数组:创建所有元素值都相等的数组。 ? 数组大小:返回输入数组中的元素个数。 ? 数组子集:选取数组或者矩阵的某个部分。 ? 索引数组:用于访问数组中的某个元素。
建立数组的步骤如下:
1)从数组和类子模板(Controls-All Controls-Array & Cluster)上选中数组,放置在前面板中,此时为数组空壳,可以向里边添加(用拖拽的方法)数字、布尔、字符等数据类型的控制器或指示器,来建立相应的数组控制器和指示器。此时可以看到数组上有两个显示窗口:
? 标号显示窗:标号从0开始,每单击一次―增加‖键,标号显示值顺序递增。这个标号
就是数组元素的序号;对于一个含n个元素的数组,其标号为0~n-1。
? 元素显示窗:用来显示元素的数值。数组中的元素按序号排列。数组元素的查找按行/列标号进行。
2)右键单击标号窗口,弹出一个快捷菜单,选择Add Dimension来增加数组的维数。 2.簇(Cluster)是另一种数据类型,它的元素可以是不同类型的数据。它类似于C语言中的structure。使用簇可以把分布在框图中各个位置的数据元素组合起来,这样可以减少连线的拥挤程度,减少子VI的连接端子的数量。
簇相当于一个容器,容器中的元素可以是各种不同的数据类型。也就是说,可以在一个簇中放置控制模板上的各种控件,如数字控件、布尔控件、数组控件等,但是不能将输入控件和输出控件同时放入其中。因此,在编辑流程图时,可以减少连线数以及连线的节点数,最终简化流程图。它有多个输入,一个输出。
要建立簇,可以选择控制模板中数组和类子模板上的Cluster,将其调入前面板。向类控件中放入元素,即将控制模板中的相应控件放入其中,俗称把元素―捆绑‖在一起。 ? 捆绑(Bundle)数据
Bundle功能将分散的元件集合为一个新的簇,或允许你重置一个已有的簇中的元素。可以用位置工具拖曳其图标的右下角以增加输入端子的个数。最终簇的序是取决于被捆绑的输入的顺序。右图中Bundle图标中部的Cluster端子用于用新元
18
LabVIEW实验指导书
素重置原簇中的元素。
? 分解(Unbundle)簇
Unbundle是Bundle的逆过程,它将一个簇分解为若干分离的元素。如果要对一个簇分解,就必须知道它的元素个数。LabVIEW还提供一种可以根据元素的名字来捆绑或分解簇的方法。
右键单击簇控件的边缘,弹出快捷菜单,如图5-1。其中: Reorder Controls In Cluster:用于设置类控件中各元素的排列顺序,这个排列顺序是输出信号顺序,如图5-2所示。在Cluster输出1和输出2两个簇控件中,元素输出的排列顺序不一样。
AutoSizing:右键单击该选项后,出现如图5-3所示的菜单,选择相应的选项,可自动调节类控制的边框大小及排列方式。
图5-1 簇控件快捷菜单
Properties:用来定义类控件的一些属性,如―AutoSizing‖,改变标签的名称,是否显示标签等内容及填入描述信息。属性页将前面板的属性特征集中到了一些简单的配置对话框中。
数组和簇的区别如下:
? 簇可以包含不同的数据类型,而数组仅可以包含相同的数据类型; ? 簇具有固定的大小。 三、实验内容
1.练习数组的基本创建。利用循环的自动索引功能创建一个装有10个随机数的一维数组,并计算数组元素的平方和,同时求出该数组索引为3、长度为2的子数组。要求前面板显示该一维数组及平方和结果、输出的子数组。
图5-2 Reorder Controls In Cluster设置
图5-3 AutoSizing设置
2.编辑下列VI,理解一维数组和二维数组的产生,存为Two Dimensional Array Demo.vi。
5-4 Two Dimensional Array
19
LabVIEW实验指导书
3.创建一个VI,实现将输入控件值与输入数组合并连接起来生成新的数组。该VI使用数组大小和初始化数组两函数来创建维数合适的新数组,并将新数组的所有元素初始化为1。最后,VI计算两新数组间的差,并将结果显示在前面板中。前面板和基本程序框图组成如图5-5所示,最后将该VI保存为Practice with Arrays .vi文件。
图5-5 Practice with Arrays前面板和程序框图
4.创建由一个控件簇和一个显示簇所组成的VI。要求输入控件数值加一,开关二反相,显示簇同时进行相应的显示。前面板组成如图5-6,最后将该VI保存为Cluster.vi文件。
图5-6 Cluster前面板和程序框图
四、思考题
1.讨论数组和簇的相同点和不同点。 2.用户可以创建一个包含数组的数组。( a. 真 b. 假)
3.将两个输入数组和一个For循环相连。自动索引在两个通道中都有效。一个数组有10个元素,另一个数组有5个元素。如图所示,计数接线端与一个值7相连。这个VI运行完之后,循环显示控件的值是多少呢?
虽然For循环运行5次,但是循环计数从0开始,因此循环显示控件值显示为4。 五、实验报告要求
1.调试编辑以上VI,按顺序打印以上VI的前面板与程序框图后,贴在实验报告上;实验报告中要求详细说明设计步骤要点。
2.心得体会及其它。
20
LabVIEW实验指导书
实验六 LabVIEW编程的图形显示
一、实验目的
1.学习并掌握Chart和Graph的使用,理解它们的区别。 2.掌握Chart的三种显示模式。 3.了解其它二维图形的绘制。 二、实验原理
图形显示是虚拟仪器面板设计的重要内容。图形是以曲线来显示数组中的数据,常用的二维图形控件有Chart、Graph和XY Graph,可显示多条曲线。并可以改变曲线显示的格式。 在LabVIEW的图形显示中Graph和Chart是两个基本的概念。一般说来Chart是将数据源(例如采集得到的数据)在某一坐标系中,实时、逐点地显示出来,它可以反映被测物理量的变化趋势,例如显示一个实时变化的波形或曲线,传统的模拟示波器、波形记录仪就是这样。而Graph则是对已采集数据进行事后处理的结果。它先将被采集数据存放在一个数组之中,然后根据需要组织成所需的图形显示出来。它的缺点是没有实时显示,但是它的表现形式要丰富得多。例如采集了一个波形后,经处理可以显示出其频谱图。如数字示波器。
LabVIEW的Graph子模板中有许多可供选用的控件,其中常用的见下表:
Waveform(波形) XY Intensity(强度图) Digital(数字图) 3D Curve(三维曲线) Chart * * Graph * * * * * 由表中可以看出,Chart方式尽管能实时、直接地显示结果,但其表现形式有限,而Graph方式表现形式要远为丰富,但这是以牺牲实时为代价的。
1.Graph控件(波形图)
以Graph为例,图6-1为它的控件,这些控件都包含在图形菜单的Visible Items选项下。
标签(Label) 曲线图例 说明 (Caption) 图形模板 (Graph Palette) 光标图例 (Cursor Legend) 刻度图例 (Scale Legend) 图6-1 Graph的图形控件
曲线图例可用来设置曲线的各种属性,包括线型(实线、虚线、点划线等)、线粗细、颜色以及数据点的形状等。
21
LabVIEW实验指导书
图形模板可用来对曲线进行操作,包括移动、对感兴趣的区域放大和缩小等。
光标图例用来设置光标、移动光标,帮助你用光标直接从曲线上读取感兴趣的数据。 刻度图例用来设置坐标刻度的数据格式、类型(普通坐标或对数坐标),坐标轴名称以及刻度栅格的颜色等。
2.Chart(波形图表)的独有控件
Chart的数据并没有事先存在一个数组中,它是实时显示的,为了能够看到先前的数据,Chart控件内部含有一个显示缓冲器,其中保留了一些历史数据。这个缓冲器按照先进先出的原则管理,其最大容量是1024个数据点。 ? 滚动条(Scrollbar)
它直接对应于显示缓冲器,通过它可以前后观察缓冲器内任何位置的数据。 ? 数据显示(Digital Display)
选中它,可以在图形右上角出现一个数字显示器,这样可以在画出曲线的同时显示当前最新的一个数据值。
? 刷新模式(Update Mode)
Chart提供了三种画面的刷新模式,分别是: ? Strip Chart Mode(条状图):它与纸带式图表记录仪类似。曲线从左到右连续绘制,
当新的数据点到达右部边界时,先前的数据点逐次左移。 ? Scope Chart Mode(示波器模式):它与示波器类似。曲线从左到右连续绘制,当新的数据点到达右部边界时,清屏刷新,从左边开始新的绘制。它的速度较快。 ? Sweep Chart Mode(扫描模式):与示波器模式的不同在于当新的数据点到达右部边
界时,不清屏,而是在最左边出现一条垂直扫描线,以它为分界线,将原有曲线逐点向右推,同时在左边画出新的数据点。如此循环下去。
? 堆叠式图区(Stack Plots)
在相同的纵坐标下,由于各种测量信号的差异,将几条曲线显示在同一个图区有困难时,可以组织出一种纵坐标相同,而有各自横坐标的堆叠式图区。 三、实验内容
1.Chart(波形图表)和Graph(波形图)的比较
创建一个VI,用Chart和Graph分别显示40个随机数产生的曲线,比较程序的差别。
图6-2 Chart和Graph的比较
显示的结果是一样的,但实现方法不同。Chart产生在循环内,每得到一个数据点,就立刻显示。而Graph在循环外,40个数都产生之后,跳出循环,然后一次显示出整个曲线。从运行过程可以看到这一点。
还有For循环执行40次,产生的40个数据存储在一个数组中,这个数组创建于For循环的边界上(使用自动索引功能)。在For循环结束之后,该数组就将被传送到外面的Graph。仔细看流程图,穿过循环边界的连线在内、外两侧粗细不同,内侧表示浮点数,外侧表示数组。
2.设计一个VI来测量温度,每隔250ms测一次,共测定10秒。在数据采集过程中,VI将在波形Chart上实时地显示测量结果。在采集过程结束后,在Graph上一次性画出数据波形
22
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说教育文库《虚拟仪器技术》实验指导书(6)在线全文阅读。
相关推荐: