首页 理论教育LabVIEW2012中文版虚拟仪器入门与精通

LabVIEW2012中文版虚拟仪器入门与精通

【摘要】:波形图用于将测量值显示为一条或多条曲线。如图7-2所示,使用波形图显示40个随机数的情况。图7-3 波形图的使用图7-4 波形图的使用波形图显示的每条波形,其数据都必须是一个一维数组,这是波形图的特点,所以要显示n条波形就必须有n组数据。本题的做法是同上一例类似,将形成的二维数组进行打包,然后送入波形。

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

如图7-1所示,使用波形图输出了一个正弦函数和一个余弦函数。

如图7-2所示,使用波形图显示40个随机数的情况。

978-7-111-40983-0-Chapter07-1.jpg

图7-1 波形图的简单使用

978-7-111-40983-0-Chapter07-2.jpg

图7-2 产生随机数的程序框图和前面板

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

下面将通过一些简单的例子来说明波形图的使用:

波形图的使用(1),如图7-3所示,使随机数函数产生的波形从20ms后开始,每隔5ms采样一次,共采集40个点。图中使用了簇的捆绑函数来将需要延迟的时间,间隔采样时间及原始输出波形捆绑在一起。在图中可以看出X轴起始位置为20。需要注意的是在默认情况下,X轴的标度总是根据起始位置、步长及数据数组的长度自动适应调整的。并且数据捆绑的顺序不能错,必须以起始位置、步长、数据数组的顺序进行。在Y轴上,如果配置为默认配置,Y轴将根据所有显示数据的最大最小值之间的范围进行自动标度,一般情况来说,默认设置可满足大多数的应用。

波形图的使用(2),如图7-4所示,输出一个随机函数产生的波形图,输出由每个采样点和其前三个点的平均值产生的波形图。

图7-4所示VI要在一个波形图上显示两个波形曲线,此时若没有特殊要求,则只要把两组数据波形组成一个二维数组,在把这个二维数组送入到波形显示控件即可,这是多波形曲线在同一波形图中显示的最简单的方法。

978-7-111-40983-0-Chapter07-3.jpg

图7-3 波形图的使用(1)

978-7-111-40983-0-Chapter07-4.jpg

图7-4 波形图的使用(2)

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

波形图的使用(3),将结合波形图的使用(1)和波形图的使用(2),如图7-5所示。

波形图的使用(4),在同一时间内,两个随机函数发生器产生了两组数据,一组采集了20个点,一组采集了40个点。用波形图来显示结果。(www.chuimin.cn)

LabVIEW在构建一个二维数组时,若两个数组的长度不一致,整个数组的存储长度将以较长的那个数组的长度为准,而数据较少的那组在所有的数据存储完后,余下的空间将被0填充,所以若直接使用创建数组函数将出现下面的情况,如图7-6所示。

978-7-111-40983-0-Chapter07-5.jpg

图7-5 波形图的使用(3)

978-7-111-40983-0-Chapter07-6.jpg

图7-6 波形图的使用(4)

在上图中可以看出,白线在采集点超过20时变为了值为1的直线,为了解决这个问题,可以使用捆绑函数,先把数据数组打包,然后在组成显示时所需的一个二维数组,程序框图和前面板如图7-7所示。

从上图中可以看出,波形图已正确显示。这种改进的方法可以这样理解,因为这个二维数组中的元素不是两个一维数组而是两个包。所以程序不会对数组直接进行处理,而是单独处理每个包。在处理包元素时,包里是一个一维的数组,所以LabVIEW会将其处理为一条单独的波形。

波形使用(5),如图7-8所示,假设两个随机函数采集时都有相同的起始采样位置和相同的步长,要求X轴刻度能显示出实际的开始采样位置和相应的步长。本题的做法是同上一例类似,将形成的二维数组进行打包,然后送入波形。

978-7-111-40983-0-Chapter07-7.jpg

图7-7 波形使用(4)的改进

978-7-111-40983-0-Chapter07-8.jpg

图7-8 波形使用(5)

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

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

例7-1:求稳定状态时的曲线。

假设一组数起始值为0.2,满足差分方程Xk+10=R×Xk×(1-Xk),R为变化率,由输入控件中的值来控制,X的初始值为0.02,要求通过波形图中能显示出Y达到稳定状态时的曲线。具体程序框图和前面板如图7-9所示。从图中运行情况可以看出,左侧的For循环连续的给R输入了0.1~4的值,增量为0.1。当R在1~3之间时,Y的值比较稳定,稳态值在两个值之间振荡,若将程序框图左侧的For循环的值设置大于40时,可以发现当R大于4时,执行结果无规律可言。随着参数的不断增加,执行结果进入混沌状态。

978-7-111-40983-0-Chapter07-9.jpg

图7-9 例7-1的程序框图和前面板