LABVIEW第7章 波形显示
- 格式:ppt
- 大小:751.00 KB
- 文档页数:16
波形显示控件图形是虚拟仪器的重要组成部分,Labview为用户提供了丰富的图形显示功能,在图形子模版中提供了许多可供使用的显示控件,如图:我们将在下面的章节通过一些例子向大家介绍前三种图形显示控件的使用。
波形图及波形图表首先放置一个波形图表到前面板上,然后在上面单击右键,如图:或者右击后选择属性,便可以看到所有能对该控件操作的选项,如图:例一:用波形图表显示两组随机数。
1. 新建一个VI,在前面板上放置一个波形图表,取消X轴和Y轴的刻度标签,如图:2. 定位工具上下拖动边框,让它显示两条曲线图注,如图:3. 然后把他们拖动到合适的位置。
如图:4. 切换到程序框图,放置一个For循环,计数端子取值为100,这样每次运行产生100个数据。
在循环体内放置两个随机数产生函数,分别乘上一个因子5和-5。
如图:运行结果如图:例二:温度临界预警器1. 新建一个VI,在前面板上放置一个波形图表,将Y轴的刻度标签改为“温度”,然后选择隐藏图例,然后将Y轴坐标的自动调整取消,如图:2. 添加一个布尔圆形指示灯,并调整为合适大小,把标签内容改为“报警”当温度超出临界值时点亮报警灯,同时在前面板放置一个停止开关。
3. 在程序框图上放置如图所示的程序,其中添加一个定时工具,把时间间隔设为200ms。
如图:运行结果如图:波形图波形图和波形图表得大部分组建及其功能都是类似的,特别的是波形图具有光标指示器,利用它可以准确地读出波形曲线上的任何一点数据,便于分析某一时刻的特性值。
如图:波形图举例:例一:该例的目的是用随机数函数产生100个随机数据,分别用波形图和波形图表来显示,并比较他们的区别。
1. 新建一个VI,在前面板上分别放置一个波形图和一个波形图表,调整为合适大小,取消显示图例,取消Y标尺自动调整,最大值设为1,最小值设为0。
2. 切换到程序框图,放置一个For循环结构,内部添加一个随机数产生函数,For循环结构计数端口设为100,同时添加定时工具,每次循环间隔时间为100ms.3. 连线,如图所示:运行,程序结果如图:我们可以清楚地看到这两种显示工具的区别,它们地实现方法和过程不同,在程序框图也可以看出,波形图表产生在循环体内,这样每得到一个数据点,就立刻显示一个;而波形图产生在循环体外,100个数据都产生之后,跳出循环,然后一次显示出整个数据曲线。
LabVIEW中的波形数据与其他基于文本模式的编程语言不同,在LabVIEW中有一类被称为波形数据的数据类型,这种数据类型更类似于“簇”的结构,由一系列不同数据类型的数据构成。
但是波形数据又具有与“簇”不同的特点,例如它可以由一些波形发生函数产生,可以作为数据采集后的数据进行显示和存储。
这一节将主要介绍创建波形数据以及处理波形数据的方法。
1 波形数据的创建LabVIEW中的波形数据既可以由一些用于产生波形的函数、VIs以及Express VIs生成,也可以由数据采集函数从数据采集卡中采集数据而得到。
下面主要介绍用函数、VIs以及Express VIs生成波形数据的方法。
在LabVIEW中,与创建波形数据相关的函数、VIs以及Express VIs主要位于函数选板中的波形(Waveform)子选板以及信号处理(Signal Processing)子选板中,两个选板分别如图6-19以及图6-20所示。
图6-19 波形子选板图6-20 信号处理子选板下面介绍一些常用的用于产生波形数据的函数、VIs以及Express VIs的使用方法。
1.基本函数发生器函数(Basic Function Generation.vi)基本函数发生器函数可以产生正弦波、锯齿波、方波和三角波四种波形,并可以任意设定波形的频率、幅值、相位以及偏移量(叠加的直流分量)等属性。
图6-21所示的程序演示了基本函数发生器函数产生多种波形的方法,在例程中,用户可以指定波形的类型(正弦波、锯齿波、方波或三角波)、幅值、频率、相位以及叠加的直流分量的幅值等属性,根据这些属性生成相应的波形。
程序的后面板如图6-22所示。
图6-21 基本函数发生器函数演示程序的前面板图6-22 基本函数发生器函数演示程序的后面板2.调谐与噪声波形发生函数(Tones and Noise Waveform.vi)调谐与噪声波形发生函数用以产生多个一定频率、幅值、相位的正弦信号叠加的波形数据,同时可以模拟噪声和直流分量,并叠加到已有的波形数据上面。
Labview波形显示控件
图形是虚拟仪器的重要组成部分,Labview为用户提供了丰富的图形显示功能,在图形子模版中提供了许多可供使用的显示控件,如图:
我们将在下面的章节通过一些例子向大家介绍前三种图形显示控件的使用。
波形图及波形图表
首先放置一个波形图表到前面板上,然后在上面单击右键,如图:
或者右击后选择属性,便可以看到所有能对该控件操作的选项,如图:
例一:用波形图表显示两组随机数。
新建一个VI,在前面板上放置一个波形图表,取消X轴和Y轴的刻度标签,如图:
定位工具上下拖动边框,让它显示两条曲线图注,如图:
然后把他们拖动到合适的位置。
如图:
切换到程序框图,放置一个For循环,计数端子取值为100,这样每次运行产生100个数据。
在循环体内放置两个随机数产生函数,分别乘上一个因子5 和-5。
如图:
运行结果如图:
例二:温度临界预警器
新建一个VI,在前面板上放置一个波形图表,将Y轴的刻度标签改为温度,然后选择隐藏图例,然后将Y轴坐标的自动调整取消,如图:
添加一个布尔圆形指示灯,并调整为合适大小,把标签内容改为报警当温度超出临界值时点亮报警灯,同时在前面板放置一个停止开关。
在程序框图上放置如图所示的程序,其中添加一个定时工具,把时间间隔设为200ms。
如图:运行结果如图:。
LabVIEW中的波形图所谓曲线就是一组X与Y对应数值的图形化显示。
通常曲线图中的Y值代表了数据值,而X值则代表了时间。
波形图控件(waveform chart)可以在Controls工具面板的Modern>>Graph子面板中找到。
这个控件是一个专门用来显示一个或多个数据曲线的数值类型的指示器控件。
这个控件经常在循环结构中使用,用来保留与显示以前采集到的数据,并追加新产生的数据,将这些数据以连续更新的方式进行显示。
在波形图控件中,Y值表示了新产生的数据,X值表示了时间(通常,每次循环就产生一组新的Y值,而X值则表示了一个循环的时间)。
在LabVIEW中只有一种波形图控件,不过这个控件有三种数据刷新模式。
下图就是一个多曲线波形图的例子。
波形图更新模式波形图控件的三种数据更新模式分别是带状记录纸模式(strip chart),示波器图模式(scope chart)以及扫描图模式(sweep chart),如下图所示。
数据更新模式可以通过在波形图控件上面点击鼠标右键后在弹出菜单中的Advanced>>Update Mode>>子菜单来加以改变。
如果在VI程序运行期间想要修改波形图控件的数据更新模式,由于运行时的控件右键菜单与编程时的不同,就在该控件的邮件菜单中的Update Mode中选择即可。
带状记录纸模式的显示和真正的带状记录设备的显示相像。
示波器图模式则和真正示波器的曲线显示相像,该模式中当曲线到达波形图的右边界之后,整个曲线就会清除并从波形图的左边界重新开始显示。
扫描图模式与示波器图模式十分相似,不过扫描图模式中曲线到达右边界后并不会有清除动作,而是有一个竖线出现在波形图中,该竖线标识着新数据的开始,并在新数据不停添加的时候,该竖线会慢慢移动。
这些区别在看到实际波形图控件在不同刷新模式先运行之后就很容易区别开来的。
由于示波器图模式与扫描图模式在追溯以往曲线上比带状记录纸模式的开销要少,所以这两种数据更新模式要比带状记录纸模式很明显的快得多。
波形图表和波形图在LabVIEW 中经常使用的数据绘图工具是波形图表和波形图。
1. 波形图表:波形图表是显示一条或者多条曲线的特殊数值控件,一般用于显示一恒定速率采集到的数据。
波形图表会保留来源于此前更新的历史数据,又称缓冲区。
右键单击图表,从快捷菜单中选择图表历史长度可配置缓冲区大小。
波形图表的默认图表历史长度为1,024个数据点。
向图表传送数据的频率决定了图表重绘的频率。
图1.1显示了一个多曲线的波形图表。
红色曲线为白色曲线的的平均值。
该程序见附件 chart multi wave.vi 。
图1.1A图1.1B可以右键单击图表,选择高级>>刷新模式,可配置图表的更新模式,有以下3中,如图1.2。
图1.2中分别是带状图表,示波器图表和扫描图。
范例程序见附件Chart.vi 。
带状图表: 从左到右连续滚动的显示运行数据。
类似于纸带表记录器。
波形图示波器图表:当曲线到达绘图区域的右边界时,LabVIEW将擦除整条曲线并从左边界开始绘制新曲线。
类似于示波器。
扫描图:扫描图中有一条垂线将右边的旧数据和左边的新数据隔开。
类似于心电图仪。
如果使用波形图表显示多条曲线,可以使用捆绑将多条曲线合并。
如图1.3。
图1.3A 图1.3B2. 波形图带有图形的VI通常先讲数据放入数组中,然后在绘制到图形上。
波形图支持多种数据类型,降低了数据在显示为图形前进行类型转换的工作量。
波形图显示单条曲线:对于数值数组,每个数据被视为图形中的点,从x=0开始以1为增量递增x索引。
波形图也接收包含初始值,Δx及y数据数组的簇。
如图1.4所示。
在该例子中,使用For循环生成y数组,然后定义初始值x0=10和Δx=2。
该范例详见附件Xo = 10, dX = 2, Y) Single Plot。
图2.1A图2.1B波形图显示多条曲线:1. 波形图接收二维数值数组,数组中的一行即一条曲线。
波形图将数组中的数据视为图形上的点,从x = 0开始以1为增量递增x 索引。
1.xy图xy图也叫坐标图,用来绘制多变量函数曲线,如圆或具有可变时基的波形。
Xy图可显示任何均匀采样或非均匀采样的点的集合。
在xy图中显示多条曲线,只需将多个单条曲线(x,y捆绑数据)通过数组创建函数送给xy图显示即可。
其接受的数据不要求水平坐标等间隔分布。
如2.波形图波形图用于显示测量值为均匀采集的一条或多条曲线。
波形图仅绘制单变量函数,比如y=f(x),并且各点沿x轴均匀分布。
可接受多种类型和格式的数据(如数据类型包括数组,簇,波形数据。
数据格式包括一维数组,多维数组,簇数组)。
波形图是一个事后显示数据的图形控件,其要显示的数据全部到达后(即先将数据存放到一个数组中),一次性送给波形图显示。
1》波形图接受包含初值,步长、数据数组的簇。
波形图的数据类型如果是簇,则簇的元素必须按照起始点,步长,波形数组数据的顺序排放,否则波波形图不能接受其数据,因为其数据类型不匹配。
如下图所示:2》数组数据在波形图中显示注:波形图接收数组数据时,其默认起始点为0,步长为1,因此这两图都是显示一个周期的正弦波,但最终坐标值不一样,接受簇数组的为0+2*128=256,接收波形数组数据时为0+1*128=128。
3》簇数组数据类型在波形图中的显示(通过创建数组函数)4.波形图标波形图标显示一条或条曲线的特殊波形显示控件,一般用来显示以恒定采样率采集得到的数据。
与波形图不同的是,波形图标并不是一次性接收所有需要显示的数据,而是逐点地接受数据并逐点的显示数据,保留上一次数据的同时显示当前接受的数据。
显示数据的范围取决于设置的缓冲区的大小,当超过其大小时,便舍弃最早的数据,相当于一个队列,遵循先进先出的原则。
设置缓冲区的大小,可在波形图标上右击后选项“图标历史长度“设置。
其最大容量是1024个数据点。
波形图标的波形点数超过图形界面时,波形图标有三种刷新模式:带状图标、示波器图标和扫描图。
波形图标接受的数据类型和波形图相同,而显示相同波形时,二者接受的数据格式不一样。
labview中波形图和波形图标到底有什么区别2009-09-06 17:33先说明一下,不知道你在补充问题中说的公式模型发生器是什么函数,主要要看它的输出数据类型。
波形图和波形图表支持以下数据类型。
LabVIEW使用波形图和图表显示具有恒定速率的数据。
波形图用于显示测量值为均匀采集的一条或多条曲线。
波形图仅绘制单值函数,即在y = f(x)中,各点沿x轴均匀分布。
例如一个随时间变化的波形。
波形图可显示包含任意个数据点的曲线。
波形图接收多种数据类型,从而最大程度地降低了数据在显示为图形前进行类型转换的工作量。
注:数字波形图用于显示数字数据。
在波形图中显示单条曲线波形图接收多种数据类型以显示单条曲线。
对于一个数值数组,其中每个数据被视为图形中的点,从x = 0开始以1为增量递增x索引。
波形图接受包含初始x值、△x及y数据数组的簇。
波形图也接收波形数据类型,该类型包含了波形的数据、起始时间和时间间隔(△t)。
波形图还接收动态数据类型,用于Express VI。
动态数据类型除包括对应于信号的数据外,还包括信号信息的各种属性,如信号名称、数据采集日期和时间等。
属性指定了信号在波形图中的显示方式。
当动态数据类型中包含单个数值时,波形图将绘制该数值,同时自动将图例及x标尺的时间标识进行格式化。
当动态数据类型包含单个通道时,波形图将绘制整个波形,同时对图例及x标尺的时间标识自动进行格式化。
在波形图中显示多条曲线波形图接收多种数据类型以显示多条曲线。
波形图接收二维数值数组,数组中的一行即一条曲线。
波形图将数组中的数据视为图形上的点,从x = 0开始以1为增量递增x索引。
将一个二维数组数据类型连接到波形图上,右键单击波形图并从快捷菜单中选择转置数组,则数组中的每一列便作为一条曲线显示。
多曲线波形图尤其适用于DAQ设备的多通道数据采集。
DAQ设备以二维数组的形式返回数据,数组中的一列即代表一路通道的数据。
波形图还接收包含了初始x值、△x和y二维数组的簇。
第七章信号分析与处理7.1概述LabVIEW 6i版本中,有两个子模板涉及信号处理和数学,分别是Analyze子模板和Methematics子模板。
这里主要涉及前者。
进入Functions模板Analyze》Signal Processing子模板。
其中共有6个分析VI库。
其中包括:①.Signal Generation(信号发生):用于产生数字特性曲线和波形。
②.Time Domain(时域分析):用于进行频域转换、频域分析等。
③.Frequency Domain(频域分析):④.Measurement(测量函数):用于执行各种测量功能,例如单边FFT、频谱、比例加窗以及泄漏频谱、能量的估算。
⑤.Digital Filters(数字滤波器):用于执行IIR、FIR 和非线性滤波功能。
⑥.Windowing(窗函数):用于对数据加窗。
在labview\examples\analysis目录中可找到一些演示程序。
7.2信号的产生本节将介绍怎样产生标准频率的信号,以及怎样创建模拟函数发生器。
参考例子见examples\analysis\sigxmpl.llb。
信号产生的应用主要有:●当无法获得实际信号时,(例如没有DAQ板卡来获得实际信号或者受限制无法访问实际信号),信号发生功能可以产生模拟信号测试程序。
●产生用于D/A转换的信号在LabVIEW 6i中提供了波形函数,为制作函数发生器提供了方便。
以Waveform>>Waveform Generation中的基本函数发生器(Basic Function Generator.vi)为例,其图标如下:其功能是建立一个输出波形,该波形类型有:正弦波、三角波、锯齿波和方波。
这个VI会记住产生的前一波形的时间标志并且由此点开始使时间标志连续增长。
它的输入参数有波形类型、样本数、起始相位、波形频率(单位:Hz)参数说明:offset:波形的直流偏移量,缺省值为0.0。
LABview波形数据波形数据类型是由3个元素构成的簇:当第一个采样点为采集的初始时(t0),时间值的增加或步进值(dt),以及采集到的数据数组(Y)。
如果您测到的数据已经是波形数据类型的话,您可以直接把它连接到waveform chart和graph控件。
关于引入时间信息作为waveform chart和graph控件的x轴请参考以下的知识库链接。
非波形数据如果您采集的数据不是波形数据类型,但是您仍旧希望绘制数据及其采集时间的图,您需要做以下工作(参考下面的LabVIEW VI例程):1.使用Get Date/Time In Seconds VI位于Functions » Time & Dialog选板。
注意不要使用Get Date/Time String函数。
将该函数放置在您获得数据的循环内。
2. 使用Bundle函数位于Functions » Cluster选板将您的数据点和时间值在该循环内组合成簇。
注意,您需要将时间值连在bundle函数上面的输入端口,(对应x轴数值)数据位于bundle函数下端的输入端口(对应于y轴数值)3. 将Bundle函数的输出连到XY Graph端口位于您程序框图的循环之外。
该XY 图能够从前面板的Controls » Graph子选板中得到。
确认在循环的边界的簇连线上允许索引(enable indexing)。
您可以右击循环边界上的连线隧道选择允许索引实现该功能。
4. 右击前面板上的XY图进入并点击X Scale » Formatting...5. 从Format下拉菜单,选择Time & Date6. 完成您期望在x轴上显示的时间以及/或者日期格式7. 选择OK保存该更改。
LabVIEW中的波形数据与其他基于文本模式的编程语言不同,在LabVIEW中有一类被称为波形数据的数据类型,这种数据类型更类似于“簇”的结构,由一系列不同数据类型的数据构成。
但是波形数据又具有与“簇”不同的特点,例如它可以由一些波形发生函数产生,可以作为数据采集后的数据进行显示和存储。
这一节将主要介绍创建波形数据以及处理波形数据的方法。
1 波形数据的创建LabVIEW中的波形数据既可以由一些用于产生波形的函数、VIs以及Express VIs生成,也可以由数据采集函数从数据采集卡中采集数据而得到。
下面主要介绍用函数、VIs以及Express VIs生成波形数据的方法。
在LabVIEW中,与创建波形数据相关的函数、VIs以及Express VIs主要位于函数选板中的波形(Waveform)子选板以及信号处理(Signal Processing)子选板中,两个选板分别如图6-19以及图6-20所示。
图6-19 波形子选板图6-20 信号处理子选板下面介绍一些常用的用于产生波形数据的函数、VIs以及Express VIs的使用方法。
1.基本函数发生器函数(Basic Function Generation.vi)基本函数发生器函数可以产生正弦波、锯齿波、方波和三角波四种波形,并可以任意设定波形的频率、幅值、相位以及偏移量(叠加的直流分量)等属性。
图6-21所示的程序演示了基本函数发生器函数产生多种波形的方法,在例程中,用户可以指定波形的类型(正弦波、锯齿波、方波或三角波)、幅值、频率、相位以及叠加的直流分量的幅值等属性,根据这些属性生成相应的波形。
程序的后面板如图6-22所示。
图6-21 基本函数发生器函数演示程序的前面板图6-22 基本函数发生器函数演示程序的后面板2.调谐与噪声波形发生函数(Tones and Noise Waveform.vi)调谐与噪声波形发生函数用以产生多个一定频率、幅值、相位的正弦信号叠加的波形数据,同时可以模拟噪声和直流分量,并叠加到已有的波形数据上面。
║124 第7章 图形显示
其中“外观”、“精度与格式”、“说明信息”、“数据绑定”选项卡与一般控件属性对话框中的内容和功能一致。
7.1.2 波形图显示实例
波形图可以接收和显示多种类型和格式的数据,数据类型包括数组、簇、波形数据等,数据格式包括一维数组、多维数组、簇数组等。
例7.1:根据输入的数组和簇绘制波形图曲线。
∙打开位于LabVIEW安装文件夹\exmples\general\Graphs\gengraph.llb中的Waveform Graph.vi程序,程序框图如图7-19所示。
图7-19 Waveform Graph .vi程序框图
程序首先利用For循环分别产生在0~2π之间均匀分布的100个正弦曲线数据点和100个余弦曲线数据点,作为波形图的基本数据点,如图7-20所示;然后再将这些数据点转换成
不同的数据格式分别作为波形图的输入。
(1)一维数组绘制一条曲线。
将100个正弦函数数据点组成一个一维数组直接输入图中,对应图(Y) Single Plot,如图7-21所示。
(2)二维数组绘制两条曲线。
将100个正弦函数数据点数组和100个余弦函数数据点数组构成一个二维数组,作为新的图输入,对应图(Y) Multi Plot 1,如图7-22所示。
图7-20 For循环产生数据点。