您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 信息化管理 > LabVIEW编程及虚拟仪器设计(第四讲)
《LabVIEW编程及虚拟仪器设计》讲课教师:赵伟,黄松岭辅导教师:郝丽,郭建全电话:62772049(o)E-mail:zhaowei@tsinghua.edu.cn第四讲:图形显示、ExpressVI及LabVIEW的三个高级应用上节课内容回顾一、数组二、簇三、波形在LabVIEW中,数组是相同类型元素的集合,可以随意改变长度。•数组的创建——框架、性质、大小、具体数据(单一类型)•数组操作函数簇可以包含任意数目、任意类型的元素;但不能在运行时添加新元素(而数组长度可在运行时自由改变)。波形数据有4个组成部分:t0具有时间标识类型,表示波形数据的时间起点;dt表示波形相邻数据点之间的时间间隔;Y是按时间先后顺序给出的整个波形(被测对象)的所有数据点;而attribuates(变体)用于携带任意属性的信息。•簇的创建——框架、性质、大小、具体数据(可多类型)•簇操作函数本节课内容一、图形显示二、ExpressVI(快速VI)简介三、局部变量和全局变量四、属性节点五、练习一、图形显示(1)LabVIEW具有强大的图形显示功能软件(多种方式、适应多种需求),使得用户界面十分友好、丰富、表现力很强。LabVIEW中,所有图形显示控件均位于“控件”选板-“新式”-“图形”子选板上。波形图波形图表强度图形控件三维图形控件一、图形显示(2)“控件”选板-“新式”-“图形”子选板1.波形图波形图的基本显示模式:等时间间隔地显示被测对象的波形数据点,且每一时刻只有一个数据值与之对应。标签Y标尺图例X标尺一、图形显示(3)“帮助”\“查找范例”\“目录结构”\general\graphs\gengraph.llb中的WaveformGraph.vi“波形图”所能接受的数据组织格式举例:这里给出的是相应显示控件的图标最小化显示模式(在框图面板上点击图标弹出快捷菜单,由“显示为图标”选项实现新老模式转换)。一、图形显示(4)a)波形图能接受的数据格式:…“范例”\“目录结构”\general\graphs\gengraph.llb中的WaveformGraph.vi1)一维或二维数组(1,2);2)一维数组打包成簇,然后以簇为元素组成数组(3);3)簇类型的数据(4);4)以簇为元素的二维数组,每个元素均由t0、dt和数值数据组成;每个波形曲线的上述3个参数可不同(5);5)由t0、dt及数据类型的二维数组Y组成簇(6);6)由t0、dt和以簇为元素的数组这三者组成的簇(7)除前述的输入数据组织格式之外,波形图还可直接接受波形数据类型(单曲线)或元素为波形数据类型的数组(多曲线)作为输入数据。应用举例:利用产生正弦波、方波的“快速VI”生成波形图。一、图形显示(5)一、图形显示(6)b)定制波形图的属性(1)在波形图上弹出快捷菜单,可以配置波形图的一些基本属性。打开其中的“属性”选项对话框,就可对波形图的各种属性进行设置或修改。再则,改用波形图上不同选项(标签、图例、X坐标、Y坐标等)的快捷子菜单,也可实现对相关具体属性的设置或修改,其效果与前者一样。一、图形显示(7)b)定制波形图的属性(2)图例中的“常用曲线”在“波形图”上弹出快捷菜单并打开“显示项”子菜单,可以进行对所显示项目的属性的设置和调整。标签游标图例网格小网格标尺图例图形工具选板X滚动条锁定自动缩放一次性自动缩放标尺格式游标图例游标移动器一、图形显示(8)“控件”选板-“新式”-“图形”子选板-XY图2.XY图“XY图”与“波形图”相似,也用于显示完整的曲线数据。两者的不同在于:XY图不要求水平坐标等间隔分布,且允许绘制一对多的映射关系,比如各种封闭曲线等。举例路径:“函数”选板-“编程”-“波形”-“模拟波形”-“波形生成”-“正弦波形”。一、图形显示(9)找到演示示例的路径:“帮助”\“查找范例”\“目录结构”\general\graph\gengraph.llb中的XYGraph.vi•“XY图”的输入数据格式(1)---单曲线“XY图”绘制单条曲线时,接受两种数据格式:(1)x数组和y数组打包生成的簇。绘制曲线时,把相同索引的x和y数组元素的值作为一个点,并按索引顺序输出,且连接所有的数据点、形成曲线图;(2)簇组成的数组。每个数组元素都是由一个x坐标值和一个y坐标值打包生成的。绘制曲线时,按照所形成的数组的索引顺序,连接数组元素解包后组合而成的数据坐标点。一、图形显示(10)···“查找范例”\···\general\graph\gengraph.llb中的XYGraph.vi•“XY图”输入数据格式(2)---多曲线“XY图”绘制多条曲线时,也接受两种数据格式:(1)先由x数组和y数组打包成簇,建立一条曲线;然后,将多个这样的簇作为元素建立数组,即每个数组元素对应一条曲线。(2)先把x和y坐标值打包成簇作为一个点,并以点为元素建立数组。然后,把每个数组再打包成一个簇,每个簇表示一条曲线,最后建立由簇组成的数组。注意:把由点构成的数组进行打包这一步是完全必要的。因为LabVIEW不能建立以数组为元素的数组(即数组的元素不能是数组),而必须先把数组用簇打包起来,然后才能作为新建数组的元素。一、图形显示(11)···“查找范例”\···\general\graph\gengraph.llb中的XYGraph.vi•“XY图”输入数据格式示例:一、图形显示(12)LabVIEW中所谓快速VI即ExpressVI的特点是将一些基本函数或函数模块进一步打包,为用户提供更方便、简捷的编程途径。对于LabVIEW8.5,找到功能函数的快速VI的即ExpressVI的路径为:“函数”选板-“Express”子选板。而在前面板,经“控件”-“Express”-“图形显示控件”子选板路径,可找到ExpressXY图——普通“XY图”与“创建XY图”ExpressVI绑在了一起,于是,向前面板添加该VI,就意味着同时添加了“XY图”和“创建XY图”ExpressVI。一、图形显示(13)“控件”选板-“新式”-“图形”子选板3.波形图表前边介绍的“波形图”,其在接收到新数据时,是先将旧数据完全清除,然后再用新数据重新绘制出整条曲线。而“波形图表”则不然,它保存了旧数据,并将新数据接续在旧数据之后。“波形图表”的显示模式类似于波形记录仪、心电图仪等的工作方式。波形图表波形图波形**XY图形*强度图**数字图*三维曲面图*三维参数图*三维曲线图*特点比较:“波形图表”多用于实时显示;而“波形图”则多用于事后对波形的显示。一、图形显示(14)•“波形图表”的数据格式(a)单条曲线显示举例:前者10个数、后者1个数一循环。延迟为便于观看。一、图形显示(15)•“波形图表”的数据格式(b)多条曲线显示举例:具体均以两条曲线为例;原理同前。(1)缓冲区设置波形图表设有一个缓冲区,专用于保存历史数据。在波形图表快捷菜单的“图表历史长度…”选项中,可设定缓冲区长度。波形图表显示的点数,不能大于所设定的缓冲区的大小。(2)多条曲线显示方式设置默认状态下,波形图表会将多条曲线绘制在同一坐标系中。其快捷菜单中的“层叠显示曲线”选项,就用于将多条曲线绘制在各自不同的坐标系中;这些曲线坐标系从上到下排列。(3)数据更新模式设置在波形图表的快捷菜单(“高级”-“刷新模式”)可以指定三种数据更新模式。一、图形显示(16)•“波形图表”的属性设置•从左向右绘制,旧左出、新右进;•从左向右绘制,清空重来;•从左向右绘制,竖线左移,前(左)旧、后(右)新带状图表模式示波器图表模式扫描图模式一、图形显示(17)4.强度图表•是一种在二维坐标平面表征三维数据的显示工具。•数据类型是数值元素构成的二维数组。在“强度图表”中,数组的第0行对应于最左面的一列;且数组各元素对应的色块,按从下到上排列;数组第1行对应于左数第二列(即指名了数组索引与图上色块位置的对应关系)。“控件”选板-“新式”-“图形”子选板一、图形显示(18)“控件”选板-“新式”-“图形”子选板(E)三维图形控件与其它LabVIEW控件不同,“图形”选板上提供的三个三维图形空件(三维曲面图、三维参数图、三维曲线图)均非独立控件,即它们均包含了名为CWGraph3D的ActiveX控件的ActiveX容器,即均是该容器与某个三维绘图函数的组合。二、ExpressVI——快速VI(1)从LabVIEW7.x系列版本开始,出现了ExpressVI。它们面向应用,将LabVIEW中的一些基本函数或函数模块做了进一步打包(捆绑、整合),结果,为用户提供了更方便、简捷的编程途径,这类VI因此得名“快速VI”即ExpressVI。显然,在编程中使用ExpressVI,可减少连线、简化框图、突出所编制程序的主脉络;编得的VI更容易读懂。使用ExpressVI的另一个好处:可得到一个ExpressVI的多个不同实现。例如,把一个非快速的标准VI模块放置在同一框图的3个不同地方,得到的是该VI的3个备份,即它们的源码、默认值和在前面板上的外形等均完全相同。而将一个ExpressVI放置在同一框图的3个不同地方的结果却不然,如此,会产生3个互为独立的ExpressVI;它们可有不同名称和相互独立的配置。二、ExpressVI——快速VI(2)当把某个ExpressVI刚放在框图上时,配置该ExpressVI的对话框会自动打开,允许用户交互式地按照需求来配置该ExpressVI的属性;对于函数波形类的ExpressVI,配置结果可从对话框的“结果预览”框中查看。之后,若用户希望再修改或调整该ExpressVI的参数配置,可双击已放在框图上的该ExpressVI图标;或也可右键单击它,在弹出的对话框选择“属性”,从而打开属性配置对话框,再进行相关操作。但是,ExpressVI在具有简便、易用等优点之同时,也丧失了一些功能和灵活性。因此,若想得到一个高效的应用程序,可能还应更多地选用标准VI模块(“函数”选板中除Express外的其他子选板中的VI模块)。另外,ExpressVI并不支持在程序运行中的交互配置。三、局部变量和全局变量(1)局部变量(LocalVariable)可在一个VI的多个位置访问前面板控件,也可实现非连线框图区域之间的数据传递;且使用局部变量,可实现对控制器的写操作和对显示器的读操作。每个局部变量都是对某个前面板控件数据的一个引用。可以为一个前面板控件建立多个局部变量,且从任一个都可读取该前面板控件中的数据;向这些局部变量中任一个写入数据,都会改变包括控件本身和其它局部变量在内的所有数据拷贝。局部变量的创建:(1)在控件图标上弹出快捷菜单,选择“创建”/“局部变量”选项,以确定关联关系;(2)也可经“函数”选板\“编程”\“结构”\“局部变量”途径,由其快捷菜单再确定关联关系,见右图。没有关联的局部变量标签列表关联到Boolean控制器的局部变量三、局部变量和全局变量(2)全局变量可在同时运行的几个VI间传递数据。全局变量文件是只有“前面板”而无“框图”的一种特殊VI。全局变量的建立——在LabVIEW启动界面的“新建”列表中选择“更多”-“其他文件”-“全局变量”选项并单击“确定”,即可打开一个新建的全局变量窗口(样子似前面板)。可采用在前面板添加控件(输入、显示)的相同步骤,向新建全局变量窗口中添加控制器或显示器。之后,在主菜单选择“文件”-“保存”命令,把该新全局变量保存成扩展名为vi的磁盘文件。全局变量用法——在框图面板,经“函数”选板-“选择VI”途径,打开“选择需打开的VI”对话框界面,找到之前保存好的全局变量磁盘文件并将其打开,然后拖曳到合适位置后点击鼠标放置好即可。每个全局变量只能用来访问全局变量文件中的一个控件。三、局部变量和全局变量(3)利用局部变量和全局变量,会使VI编程更加灵活。但是在实际VI编程中应该慎用它们。这是因为:引起竞态条件示例:使用局部变量后,由于无法确认两段程序
本文标题:LabVIEW编程及虚拟仪器设计(第四讲)
链接地址:https://www.777doc.com/doc-1233105 .html