虚拟仪器实验三_第1页
虚拟仪器实验三_第2页
虚拟仪器实验三_第3页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、实验三 LabVIEW编程的数组和簇与图形显示(一) LabVIEW编程的数组和簇一、实验目的1掌握如何创建、使用数组;数组函数的功能和应用,掌握它们的区别以及相应操作。2掌握如何创建、使用簇;簇函数的功能和应用,掌握它们的区别以及相应操作。二、实验原理1数组是一些具有相同类型的元素组成的集合。数组包含两方面的内容:元素和维数。 数组中的元素可以是数字、布尔、字符、路径、波形和簇等数据类型。一个数组可以是一维或 者多维,如果必要,每维最多可有231-1个元素。可以通过数组索引访问其中的每个元素。数组元素不能是数组、图表或者图形。LabVIEW 提供了很多用于操作数组的功能函数,位于函数Func

2、tions? 数Array中。其中包括创建数组、初始化数组、数组大小、数组子集、索引数组等。创建数组:用于根据标量值或者其他的数组创建一个数组。初始化数组:创建所有元素值都相等的数组。数组大小:返回输入数组中的元素个数。数组子集:选取数组或者矩阵的某个部分。索引数组:用于访问数组中的某个元素。建立数组的步骤如下:1) 从数组和类子模板(Controls-All Controls-Array & Cluster )上选中数组,放置在前面板中,此时为数组空壳,可以向里边添加(用拖拽的方法)数字、布尔、字符等数据类型的控制 器或指示器,来建立相应的数组控制器和指示器。此时可以看到数组上有两个

3、显示窗口:标号显示窗:标号从 0开始,每单击一次“增加”键,标号显示值顺序递增。这个标 号就是数组元素的序号;对于一个含n个元素的数组,其标号为 0n-1。元素显示窗:用来显示元素的数值。数组中的元素按序号排列。数组元素的查找按行 /列标号进行。2) 右键单击标号窗口,弹出一个快捷菜单,选择Add Dimension来增加数组的维数。2簇(Cluster)是另一种数据类型,它的元素可以是不同类型的数据。它类似于C语言中的structure。使用簇可以把分布在框图中各个位置的数据元素组合起来,这样可以减少连线 的拥挤程度,减少子 VI的连接端子的数量。簇相当于一个容器, 容器中的元素可以是各种不

4、同的数据类型。也就是说,可以在一个簇中放置控制模板上的各种控件,如数字控件、布尔控件、数组控件等,但是不能将输入控件和输出控件同时放入其中。因此,在编辑流程图时,可以减少连线数以及连线的节点数,最终简化流程图。它有多个输入,一个输出。要建立簇,可以选择控制模板中数组和类子模板上的Cluster,将其调入前面板。向类控件中放入元素,即将控制模板中的相应控件放入其中,俗称把元素“捆绑”在一起。捆绑(Bundle)数据iCLL1LJ.IBun die功能将分散的元件集合为一个新的簇,或允许你重置一个已有的簇中的元素。可以用位置工具拖曳其图标的右下角以增加输入端子的个数。最终簇的序是取决于被捆绑的输入

5、的顺序。右图中Bun die图标中部的Cluster端子用于用新元素重置原簇中的元素。分解(Unbundle )簇 EBUnbun die是Bun die的逆过程,它将一个簇分解为若干分离的 元素。如果要对一个簇分解,就必须知道它的元素个数。LabVIEW还提供一种可以根据元素的名字来捆绑或分解簇的方法。右键单击簇控件的边缘,弹出快捷菜单,如图3-1。其中:Reorder Controls In Cluster :用于设置类控件中各元素的排列顺序,这个排列顺序是输出信号顺序,如图3-2所示。在Cluster输出1和输出2两个簇控件中,元素输出的排列顺序不一样。AutoSizing :右键单击该

6、选项后,出现如图3-3所示的菜单,选择相应的选项,可自动调节类控制的边框大小及排列方式。图 3-3 AutoSizing 设置Properties:用来定义类控件的一些属性,如"AutoSizi ng",改变标签的名称,是否显示标签等内容及填入描述信息。属性页将前面板的属性特征集中到了一些简单的配置对话框中。数组和簇的区别如下:簇可以包含不同的数据类型,而数组仅可以包含相同的数据类型;簇具有固定的大小。三、实验内容1 练习数组的基本创建。利用循环的自动索引功能创建一个装有 10个随机数的一维数组, 并计算数组元素的平方和,同时求出该数组索引为 3、长度为2的子数组。要求前面

7、板显示该 一维数组及平方和结果、输出的子数组。平亡和毛眾朝旳干储S.912550 |c.8ti2S7a |o.W79«9*3QK2 |1907 |0979 |0l?30 |0.7&£lo.32. 编辑下列 VI,理解一维数组和二维数组的产生,存为Two Dimensional Array Demo.vi 。3-4 Two Dimensional Array3. 创建一个VI,实现将输入控件值与输入数组合并连接起来生成新的数组。该VI使用数组大小和初始化数组两函数来创建维数合适的新数组,并将新数组的所有元素初始化为1。最后,VI计算两新数组间的差,并将结果显示在前面板

8、中。前面板和基本程序框图组成如图3-5所示,最后将该 VI保存为Practice with Arrays .vi文件。图3-5 Practice with Arrays前面板和程序框图4创建由一个控件簇和一个显示簇所组成的VI。要求输入控件数值加一,开关二反相,显示簇同时进行相应的显示。前面板组成如图3-6,最后将该 VI保存为Cluster.vi文件。vu-Jth 9图3-6 Cluster前面板和程序框图五、实验报告要求1调试编辑以上 VI,按顺序打印以上 VI的前面板与程序框图后,贴在实验报告上;实 验报告中要求详细说明设计步骤要点。2. 心得体会及其它。(二) LabVIEW编程的图形

9、显示一、实验目的1学习并掌握 Chart和Graph的使用,理解它们的区别。2. 掌握Chart的三种显示模式。3. 了解其它二维图形的绘制。二、实验原理图形显示是虚拟仪器面板设计的重要内容。图形是以曲线来显示数组中的数据,常用的二维图形控件有 Chart、Graph和XY Graph,可显示多条曲线。并可以改变曲线显示的格式。在LabVIEW的图形显示中 Graph和Chart是两个基本的概念。一般说来Chart是将数据源(例如采集得到的数据)在某一坐标系中,实时、逐点地显示出来,它可以反映被测物理量的 变化趋势,例如显示一个实时变化的波形或曲线,传统的模拟示波器、波形记录仪就是这样。 而G

10、raph则是对已采集数据进行事后处理的结果。它先将被采集数据存放在一个数组之中, 然后根据需要组织成所需的图形显示出来。它的缺点是没有实时显示,但是它的表现形式要丰富得多。例如采集了一个波形后,经处理可以显示出其频谱图。如数字示波器。LabVIEW的Graph子模板中有许多可供选用的控件,其中常用的见下表:ChartGraphWaveform (波形)*XY*Intensity (强度图)*Digital (数字图)*3D Curve (三维曲线)*由表中可以看出,Chart方式尽管能实时、直接地显示结果,但其表现形式有限,而Graph 方式表现形式要远为丰富,但这是以牺牲实时为代价的。1.

11、Graph控件(波形图)以Graph为例,图3-7为它的控件,这些控件都包含在图形菜单的Visible Items选项下。| 标签(Label)1虐弋a¥ tauafi'ir ii Gt apt.说明(Caption)0Q-曲线图例刻度图例十翳W |r光P标網(ScaleQatipI i in 1 JM/(Cursor Legend)Legend)o JOfl OD1I5m彷 EE t.”1旳图形模板(Graph图3-7 Graph的图形控件、线粗细、颜曲线图例可用来设置曲线的各种属性,包括线型(实线、虚线、点划线等) 色以及数据点的形状等。图形模板可用来对曲线进行操作,包括

12、移动、对感兴趣的区域放大和缩小等。光标图例用来设置光标、移动光标,帮助你用光标直接从曲线上读取感兴趣的数据。刻度图例用来设置坐标刻度的数据格式、类型(普通坐标或对数坐标),坐标轴名称以及刻度栅格的颜色等。2. Chart (波形图表)的独有控件Chart的数据并没有事先存在一个数组中,它是实时显示的,为了能够看到先前的数据, Chart控件内部含有一个显示缓冲器,其中保留了一些历史数据。这个缓冲器按照先进先出的 原则管理,其最大容量是 1024个数据点。滚动条(Scrollbar) 丿卜它直接对应于显示缓冲器,通过它可以前后观察缓冲器内任何位置的数据。数据显示(Digital Display)

13、选中它,可以在图形右上角出现一个数字显示器,这样可以在画出曲线的同时显示当前最新的一个数据值。刷新模式(Update Mode)Chart提供了三种画面的刷新模式,分别是:? Strip Chart Mode (条状图):它与纸带式图表记录仪类似。曲线从左到右连续绘制, 当新的数据点到达右部边界时,先前的数据点逐次左移。? Scope Chart Mode (示波器模式):它与示波器类似。曲线从左到右连续绘制,当新 的数据点到达右部边界时,清屏刷新,从左边开始新的绘制。它的速度较快。? Sweep Chart Mode (扫描模式):与示波器模式的不同在于当新的数据点到达右部边 界时,不清屏,

14、而是在最左边出现一条垂直扫描线,以它为分界线,将原有曲线逐 点向右推,同时在左边画出新的数据点。如此循环下去。堆叠式图区(Stack Plots)在相同的纵坐标下,由于各种测量信号的差异,将几条曲线显示在同一个图区有困难时, 可以组织出一种纵坐标相同,而有各自横坐标的堆叠式图区。三、实验内容1. Chart (波形图表)和 Graph (波形图)的比较创建一个VI,用Chart和Graph分别显示40个随机数产生的曲线,比较程序的差别。图3-8 Chart和Graph的比较显示的结果是一样的,但实现方法不同。Chart产生在循环内,每得到一个数据点,就立刻显示。而Graph 在循环外,40个数

15、都产生之后,跳岀循环,然后一次显示岀整个曲线。从运行过程可以看到这一点。还有For循环执行40次,产生的40个数据存储在一个数组中, 这个数组创建于For循环的边界上(使用 自动索引功能)。在For循环结束之后,该数组就将被传送到外面的Graph。仔细看流程图,穿过循环边界的连线在内、外两侧粗细不同,内侧表示浮点数,外侧表示 数组。2.设计一个 VI来测量温度(利用随机数模拟产生温度值:20*rand+70),每隔250ms测一次,共测定10秒。在数据采集过程中,VI将在波形据波形曲线,并算出温度的最大值、最小值和平均值。Graph上一次性画出数图表Chart上实时地显示测量结果。在采集过程结束后,在波形图3. 利用XY Graph构成李萨育图形波形图(Waveform Graph)有一个特征,其 X是测量点序号、时间间隔等,Y是测量数据值。但是它并不适合描述一般的Y值随X值变化曲线,适合于这种情况的控件是XY Graph。我们通过一个构成李萨育图形的例子来看一下它的使用。如果控制XY方向的两个数组分别按正弦规律变化(假设其幅值、频率都相同),如果它们的相位相同,则李萨育图形是一条45度的斜线,当它们之间相位差90度时

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论