首页 理论教育LabVIEW2015虚拟仪器程序设计:图形显示功能与实例

LabVIEW2015虚拟仪器程序设计:图形显示功能与实例

【摘要】:LabVIEW强大的显示功能增强了用户界面的表达能力,除了数据的显示,图形化波形显示是LabVIEW在虚拟仪器设计中的特点。图3-34 图形显示1.波形图波形图用于将测量值显示为一条或多条曲线。图3-44 直线和椭圆的显示4.强度图强度图是LabVIEW提供的另一种波形显示,它用一个二维强度图表示一个三维的数据类型,一个典型的强度图如图3-45所示。

LabVIEW强大的显示功能增强了用户界面的表达能力,除了数据的显示,图形化波形显示是LabVIEW在虚拟仪器设计中的特点。

波形显示不单单是几条曲线的显示,根据不同的功能数据输出,可以将波形分为13种,如图3-34所示,下面主要介绍波形图、波形图表、XY图、强度图和强度图表。

978-7-111-53194-4-Chapter03-50.jpg

图3-34 图形显示

1.波形图

波形图用于将测量值显示为一条或多条曲线。波形图仅绘制单值函数,即在y = f(x)中,各点沿x轴均匀分布。波形图可显示包含任意个数据点的曲线。波形图接收多种数据类型,从而最大程度地降低了数据在显示为图形前进行类型转换的工作量。波形图显示波形是以成批数据一次刷新方式进行的,数据输入基本形式是数据数组(一维或二维数组)、簇或波形数据,如图3-35、3-36所示。

978-7-111-53194-4-Chapter03-51.jpg

图3-35 波形图的简单使用

978-7-111-53194-4-Chapter03-52.jpg

图3-36 产生随机数的程序框图和前面板

波形图是一次性完成显示图形刷新出来的,所以其输入数据必须是完成一次显示所需要的所有数据数组,而不能把测量结果一次一次的输入,因此不能把随机数函数的输出节点直接与波形图的端口相连。

波形图显示的每条波形,其数据都必须是一个一维数组,这是波形图的特点,所以要显示n条波形就必须有n组数据。至于这些数据数组如何组织,用户可以根据不同的需要来确定。

应当注意的是,如果不同曲线间的数据量或数据的大小差距太大,则不适合用一个波形图来进行显示。因为波形图总是要在一个显示屏的范围内把一个数组的数据完全显示出来,如果一维数据与另一组数据的数据量相差太大,长度长的波形将被压缩,影响显示效果。

除了数组和簇,波形图还可以显示波形数据。波形数据是LabVIEW的一种数据类型,本质上还是簇。

2.波形图表

波形图表是一种特殊的指示器,在图形子选板中找到,选中后拖入前面板即可,如图3-37所示。

978-7-111-53194-4-Chapter03-53.jpg

图3-37 波形图表位于图形子选板中

波形图表在交互式数据显示中有3种刷新模式:示波器图表、带状图表和扫描图。用户可以在右键菜单中的高级中选择刷新模式即可,如图3-38所示。

978-7-111-53194-4-Chapter03-54.jpg

图3-38 改变波形图表的模式:示波器图表、带状图表和扫描图

示波器图表、带状图表和扫描图在处理数据时略有不同。带状图表有一个滚动显示屏,当新的数据到达时,整个曲线会向左移动,最原始的数据点将移出视野,而最新的数据则会添加到曲线的最右端。这一过程与实验中常见的纸带记录仪的运行方式非常相似,如图3-39所示。

978-7-111-53194-4-Chapter03-55.jpg

图3-39 带状图表

示波器图表、扫描图表和示波器的工作方式十分相似。当数据点多到足以使曲线到达示波器图表绘图区域的右边界时,将清除整个曲线,并从绘图区的左侧开始重新绘制,扫描图表和示波器图表非常类似,不同之处在于当曲线到达绘图区的右边界时,不是将旧曲线消除,而是用一条移动的红线标记新曲线的开始,并随着新数据的不断增加在绘图区中逐渐移动,如图3-40所示。示波器图表和扫描图表比带状图表运行速度快。

978-7-111-53194-4-Chapter03-56.jpg

图3-40 示波器图表和扫描图表

波形图表和波形图的不同之处是:波形图表保存了旧的数据,所保存旧数据的长度可以自行指定。新传给波形图表的数据被接续在旧数据的后面,这样就可以在保持一部分旧数据显示的同时显示新数据。也可以把波形图表的这种工作方式想象为先进先出的队列,新数据到来之后,会把同样长度的旧数据从队列中挤出去。

3.XY图

波形图和波形图表只能用于显示一维数组中的数据或是一系列单点数据,对于需要显示横、纵坐标对的数据,它们就无能为力了。前面讲述的波形图的Y值对应实际的测量数据,X值对应测量点的序号,适合显示等间隔数据序列的变化。例如按照一定采样时间采集数据的变化,但是它不适合描述Y值随X值变化的曲线,也不适合绘制两个相互依赖的变量如Y/X)。对于这种曲线,LabVIEW专门设计了XY图。

与波形图相同,XY波形图也是一次性完成波形显示刷新,不同的是XY图的输入数据类型是由两组数据打包构成的簇,簇的每一对数据都对应一个显示数据点的X、Y坐标。

用XY图时,也要注意数据类型的转换,以绘制单位圆为例,如图3-41所示。

978-7-111-53194-4-Chapter03-57.jpg

图3-41 绘制单位圆

对于Express XY图,可以双击打开其属性对话框,如图3-42所示,在其属性对话框中可以设置是否在每次调用时清除数据。

对于上一个示例,也可将正弦函数和余弦函数分开来做,使用两个正弦波来实现,当输入相位1的值和相位2的值相差为90°或270°时,输出波形与上个示例相同,如图3-43所示,显示了单位圆。(www.chuimin.cn)

978-7-111-53194-4-Chapter03-58.jpg

图3-42 Express XY图属性对话框

978-7-111-53194-4-Chapter03-59.jpg

图3-43 单位圆的显示

当相位差为0°时,绘制的图形为直线,当相位差不为0°、90°、270°时,图形为椭圆。如图3-44所示,直线和椭圆的显示。

978-7-111-53194-4-Chapter03-60.jpg

图3-44 直线和椭圆的显示

4.强度图

强度图是LabVIEW提供的另一种波形显示,它用一个二维强度图表示一个三维的数据类型,一个典型的强度图如图3-45所示。

从图中可以看出强度图与前面介绍过的曲线显示工具在外形上的最大区别是,强度图表拥有的标签为幅值的颜色控制组件,如果把标签为时间和频率的坐标轴分别理解为X轴和Y轴,则幅值组件相当于Z轴的刻度。

在使用强度图前先介绍一下颜色梯度,颜色梯度在控制选板中的“经典”→“经典数值”子选板中,当把这个控件放在前面板时,默认建立一个指示器,如图3-46所示。

978-7-111-53194-4-Chapter03-61.jpg

图3-45 强度图

978-7-111-53194-4-Chapter03-62.jpg

图3-46 前面板上的颜色梯度指示器

可以看到颜色梯度指示器的左边有一个颜色条,颜色条上有数字刻度,当指示器得到数值输入数据时,输入值作为刻度在颜色条上对应的颜色显示在控件右侧的颜色框中。若输入值不在颜色条边上的刻度值范围之内,当超过100时,显示颜色条上方小矩形内的颜色,默认时为白色;当超过下界时,显示颜色条下方小矩形内的颜色,默认时为红色。当输入为100和-1时,分别显示为白色和红色,如图3-47所示。

978-7-111-53194-4-Chapter03-63.jpg

图3-47 默认超界时的颜色

在编辑和运行程序时,用户可单击上下两个小矩形,这时会弹出颜色拾取器,在里面可定义越界颜色,如图3-48所示。

实际上,颜色梯度只包含5个颜色值:0对应黑色,50对应蓝色,100对应白色。0~50之间和50~100之间的颜色都是插值的结果。在颜色条上弹出的快捷菜单中选择添加刻度可以增加新的刻度,如图3-49所示。添加刻度之后,可以改变新刻度对应的颜色,这样就为刻度梯度增加了一个数值颜色对。

978-7-111-53194-4-Chapter03-64.jpg

图3-48 定义超界颜色

978-7-111-53194-4-Chapter03-65.jpg

图3-49 添加刻度

在使用强度图时,要注意其排列顺序,如图3-50所示。原数组的第0行在强度图中对应于最左面的一列,而且元素对应色块按从下到上的排列。值为100时,对应的白色在左上方,值为0时,对应的黑色在底端的中间。

978-7-111-53194-4-Chapter03-66.jpg

图3-50 原数组在强度图中的排序

5.强度图表

与强度图一样,强度图表也是用一个二维的显示结构来表达一个三维的数据类型,它们之间的主要区别在于图像的刷新方式不同:当强度图接收到新数据时,会自动清除旧数据的显示;而强度图表会把新数据的显示接续到旧数据的后面。也就是波形图表和波形图的区别。

强度图的数据格式为一个二维的数组,它可以一次性把这些数据显示出来。虽然强度图表也是接收和显示一个二维的数据数组,但它显示的方式不一样。它可以一次性显示一列或几列图像,它在屏幕及缓冲区保存一部分旧的图像和数据,每次接收到新的数据时,新的图像紧接着在原有图像的后面显示。当下一列图像将超出显示区域时,将有一列或几列旧图像移出屏幕。数据缓冲区同波形图表一样,也是先进先出,大小可以自己定义,但结构与波形图表(二维)不一样,而强度图表的缓冲区结构是一维的。这个缓冲区的大小是可以设定的,默认为128个数据点,若想改变缓冲区的大小,可以在强度图表上单击右键,从弹出的快捷菜单中选择图表历史长度,即可改变缓冲区的大小,如图3-51所示。

978-7-111-53194-4-Chapter03-67.jpg

图3-51 设置图表历史长度

图3-52显示了强度图表的使用,在这个过程中,先让正弦函数在循环的边框通道上形成一个一维数组,然后再形成一个列数为1的二维数组送到控件中去显示。因为二维数组是强度图表所必需的数据类型,所以即使只有一行,这一步骤也是必要的。

978-7-111-53194-4-Chapter03-68.jpg

图3-52 强度图表的使用