labview曲线图与波形图控件的组成
- 格式:doc
- 大小:294.50 KB
- 文档页数:3
LabVIEW中的XY曲线图我们常用的曲线图的设计目的就是用来显示以固定间隔采样的波形数据的。
不过当我们使用不规则间隔进行采样或者是需要绘制对每个X值都有多个Y值的数学函数时,我们就得通过使用坐标来确定每个数据点了。
XY曲线图就是用来绘制这种特殊的数据的;它们的输入数据类型与波形曲线图控件的输入数据类型是不一样的。
一个单曲线XY曲线图控件以及对应的程序框图如下所示。
对于只有一条曲线的情况,XY曲线图的输入应该是一个X数组(上端的输入)与一个Y数组(下端的输入)的绑定。
这个绑定函数(Bundle函数,可以在Programming>>Cluster & Variant子面板找到)将X与Y数组绑定为一个簇,并将这个簇输入到XY曲线图中。
可以看到这时的XY曲线图的端点显示为它是一个簇类型的数据。
如果打开在线帮助窗口,并将鼠标光标移动到XY曲线图的输入端点,就可以看到可以连接到XY曲线图控件的单曲线或多曲线的数据类型的详细描述。
对于多曲线的XY曲线图,就像下图这样创建一个单曲线簇的数组即可。
需要注意的是,我们很容易将Bundle和Build Array函数搞混,在为曲线图提供数据的时候要留意不要搞错了。
除了在Context Help窗口中所提到的XY曲线图所能使用的数据类型之外,我们也可以创建一个由XY簇(配对坐标值)所组成的数组来绘制一条曲线。
如下图所示。
使用这种方式的唯一缺点就是不能够使用这种方式来创建可以绘制多条曲线的数组。
在XY曲线图显示可选位面XY曲线图可以用来显示特殊的网格线,这些特殊网格线被称为位面(planes),启用的方式就是在XY曲线图上点击鼠标右键并在右键菜单的Optional Plane子菜单中选择。
可选项包括了Nyquist、Nichols、S以及Z位面。
这些位面在射频(RF)以及声音与振动分析中是十分有用的,因为在这些情况下信号是在频域而非时域进行分析的。
通过在XY 曲线图的右键菜单的Optional>>Show Cartesian Lines选项,你可以设置是否显示笛卡尔坐标系的网格线。
波形显示控件图形是虚拟仪器的重要组成部分,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中的XY曲线图我们常用的曲线图的设计目的就是用来显示以固定间隔采样的波形数据的。
不过当我们使用不规则间隔进行采样或者是需要绘制对每个X值都有多个Y值的数学函数时,我们就得通过使用坐标来确定每个数据点了。
XY曲线图就是用来绘制这种特殊的数据的;它们的输入数据类型与波形曲线图控件的输入数据类型是不一样的。
一个单曲线XY曲线图控件以及对应的程序框图如下所示。
对于只有一条曲线的情况,XY曲线图的输入应该是一个X数组(上端的输入)与一个Y数组(下端的输入)的绑定。
这个绑定函数(Bundle函数,可以在Programming>>Cluster & Variant子面板找到)将X与Y数组绑定为一个簇,并将这个簇输入到XY曲线图中。
可以看到这时的XY曲线图的端点显示为它是一个簇类型的数据。
如果打开在线帮助窗口,并将鼠标光标移动到XY曲线图的输入端点,就可以看到可以连接到XY曲线图控件的单曲线或多曲线的数据类型的详细描述。
对于多曲线的XY曲线图,就像下图这样创建一个单曲线簇的数组即可。
需要注意的是,我们很容易将Bundle和Build Array函数搞混,在为曲线图提供数据的时候要留意不要搞错了。
除了在Context Help窗口中所提到的XY曲线图所能使用的数据类型之外,我们也可以创建一个由XY簇(配对坐标值)所组成的数组来绘制一条曲线。
如下图所示。
使用这种方式的唯一缺点就是不能够使用这种方式来创建可以绘制多条曲线的数组。
在XY曲线图显示可选位面XY曲线图可以用来显示特殊的网格线,这些特殊网格线被称为位面(planes),启用的方式就是在XY曲线图上点击鼠标右键并在右键菜单的Optional Plane子菜单中选择。
可选项包括了Nyquist、Nichols、S以及Z位面。
这些位面在射频(RF)以及声音与振动分析中是十分有用的,因为在这些情况下信号是在频域而非时域进行分析的。
通过在XY 曲线图的右键菜单的Optional>>Show Cartesian Lines选项,你可以设置是否显示笛卡尔坐标系的网格线。
Labview波形显示控件
图形是虚拟仪器的重要组成部分,Labview为用户提供了丰富的图形显示功能,在图形子模版中提供了许多可供使用的显示控件,如图:
我们将在下面的章节通过一些例子向大家介绍前三种图形显示控件的使用。
波形图及波形图表
首先放置一个波形图表到前面板上,然后在上面单击右键,如图:
或者右击后选择属性,便可以看到所有能对该控件操作的选项,如图:
例一:用波形图表显示两组随机数。
新建一个VI,在前面板上放置一个波形图表,取消X轴和Y轴的刻度标签,如图:
定位工具上下拖动边框,让它显示两条曲线图注,如图:
然后把他们拖动到合适的位置。
如图:
切换到程序框图,放置一个For循环,计数端子取值为100,这样每次运行产生100个数据。
在循环体内放置两个随机数产生函数,分别乘上一个因子5 和-5。
如图:
运行结果如图:
例二:温度临界预警器
新建一个VI,在前面板上放置一个波形图表,将Y轴的刻度标签改为温度,然后选择隐藏图例,然后将Y轴坐标的自动调整取消,如图:
添加一个布尔圆形指示灯,并调整为合适大小,把标签内容改为报警当温度超出临界值时点亮报警灯,同时在前面板放置一个停止开关。
在程序框图上放置如图所示的程序,其中添加一个定时工具,把时间间隔设为200ms。
如图:运行结果如图:。
LabVIEW中的曲线图LabVIEW的曲线图与波形图控件不同之处在于:波形图可以交互的实时绘出数据曲线;而曲线图则是一次性绘出预先生成的数据数组,曲线图没有向已有数据追加新数据的能力。
在LabVIEW中有多种曲线图控件的类型,这大大提高了曲线图控件的灵活性,这些类型包括了波形曲线图、XY曲线图、密度曲线图、3D曲线图、数字信号波形曲线图以及一些特殊类型的曲线图。
在本文里面我们主要讲一下波形和XY曲线图。
波形曲线图以及XY曲线图控件在VI程序的前面板中的外观是一样的,不过其功能却是完全不同的。
一个有多个曲线的曲线图控件如下图所示:这两种类型的曲线图控件可以在Controls控件面板的Modern>>Graph子面板中找到。
波形曲线图空间只能用来绘制单值曲线(就是说对每个X值只对应一个Y值),并且这些值所对应的X轴的间距都是一致的,例如由固定采样间隔采集到的波形数据曲线。
这个控件最适合绘制数据点均匀分布的数组数据。
XY曲线图控件则是通用的、基于笛卡尔坐标系的曲线图控件,可以用来绘制变时基或者一个X值对应多个Y值的数据曲线。
这两种曲线图控件看起来一样,不过它们的输入数据类型是不同的,这一点要非常注意才是。
单曲线波形曲线图对于简单的单点曲线图,你可以如下图所示将一个Y值的数组直接连接到波形曲线图控件的输入端点上。
在这种模式下,默认X的初始值为0,并且X值的增量为1。
你可以看到在下图中,程序框图中曲线图控件的输入端点是一个数组指示控件。
如前面所讲到的数组的介绍,上图中的For循环中的输出就是一个一维的数组。
有些时候,为了灵活起见,你可能需要修改曲线图的时基。
例如,你在进行数据采集的起始时间并不是0,或者是你的数据采样间隔并不是1个标准单位(可能大或者小于一个标准单位)。
这是要修改时基的话,就将X0起始值、ΔX 值以及数据数组绑定到一个簇中,之后再将这个簇连接到曲线图。
如下图所示,可以看到曲线图控件的输入端已经变成簇指示器的模样了。
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 索引。
LabVIEW中有很多图形显示控件,最常用的有三个:波形图(Waveform Graph),波形图(Waveform Chart),XY图(XY Graph)。
本文主要讲本人使用XY图的一些心得,多有不足,还望各位海涵。
XY图专门用于表示Y值随X值得变化规律,很多资料中都说“XY图只能用来一次显示接收到的数据,并无实时显示能力”,但是合理编程,还是可以实时显示的,下文中我会讲到这样一种实时显示方法。
XY图控件位置为:前面板——图形——XY图,其完整路径及控件如下:
下面来说XY图的应用。
首先是单曲线的显示,有两种方法。
方法一:先将单个点的X,Y坐标捆绑成簇,再组成数组送给XY图;
方法二:X,Y轴坐标先输出为一维数组,再捆绑为簇送给XY图。
对于两条曲线显示,有多种方法。
方法一:将两条曲线的坐标分别捆绑为簇,再组成数组送给XY图(和单曲线显示方法一类似);
方法二:各曲线X,Y轴坐标输出为一维数组,分别捆绑为簇之后,再创建簇数组送给XY图(和单曲线显示方法一类似);
方法三:各曲线X,Y轴坐标分别捆绑为簇,输出为一维簇数组,然后捆绑为簇,创建簇数组送给XY图。
双曲线显示还有另外一种方法方法四,就是我说的可以实现即时显示功能的。
不过似乎最多两条,再多我不知道为什么不可以了。
最后说一下超过两条曲线输出时可用的方法,在单纯两条曲线显示方法中,方法一和方法四是不可以实现三条以上曲线同时输出的。
方法二和方法三则通用于任何情况。
由于时间和经验关系,先写这么点吧,欢迎补充。
多有不足,还望见谅。
LabVIEW中的XY曲线图我们常用的曲线图的设计目的就是用来显示以固定间隔采样的波形数据的。
不过当我们使用不规则间隔进行采样或者是需要绘制对每个X值都有多个Y值的数学函数时,我们就得通过使用坐标来确定每个数据点了。
XY曲线图就是用来绘制这种特殊的数据的;它们的输入数据类型与波形曲线图控件的输入数据类型是不一样的。
一个单曲线XY曲线图控件以及对应的程序框图如下所示。
对于只有一条曲线的情况,XY曲线图的输入应该是一个X数组(上端的输入)与一个Y数组(下端的输入)的绑定。
这个绑定函数(Bundle函数,可以在Programming>>Cluster & Variant子面板找到)将X与Y数组绑定为一个簇,并将这个簇输入到XY曲线图中。
可以看到这时的XY曲线图的端点显示为它是一个簇类型的数据。
如果打开在线帮助窗口,并将鼠标光标移动到XY曲线图的输入端点,就可以看到可以连接到XY曲线图控件的单曲线或多曲线的数据类型的详细描述。
对于多曲线的XY曲线图,就像下图这样创建一个单曲线簇的数组即可。
需要注意的是,我们很容易将Bundle和Build Array函数搞混,在为曲线图提供数据的时候要留意不要搞错了。
除了在Context Help窗口中所提到的XY曲线图所能使用的数据类型之外,我们也可以创建一个由XY簇(配对坐标值)所组成的数组来绘制一条曲线。
如下图所示。
使用这种方式的唯一缺点就是不能够使用这种方式来创建可以绘制多条曲线的数组。
在XY曲线图显示可选位面XY曲线图可以用来显示特殊的网格线,这些特殊网格线被称为位面(planes),启用的方式就是在XY曲线图上点击鼠标右键并在右键菜单的Optional Plane子菜单中选择。
可选项包括了N y quist、Nichols、S以及Z位面。
这些位面在射频(RF)以及声音与振动分析中是十分有用的,因为在这些情况下信号是在频域而非时域进行分析的。
混合信号曲线图
当我们希望在LabVIEW中能够将模拟信号以及数字信号同时显示在一起,以便观察它们之间的时间关系的时候,我们就可以使用混合信号曲线图控件了。
这个控件可以在LabVIEW的控件工具面板的Modern>>Graph子面板上面找到。
一个混合信号曲线图控件的例子如下图所示:
这个曲线图的输入为一个簇,在这个簇里面包含了可以连接到波形图控件、XY曲线图控件、数字信号波形图控件的各种数据元素。
上面VI的框图程序如下:
这个混合信号曲线图会在一个或多个曲线图区域绘出所有的这些元素。
你可以在一个已有的曲线图区域上面点击鼠标右键,在右键菜单中选择Add Plot Area选项来增加曲线图区域。
你也可以通过这种方法,通过在右键菜单选择Remove Plot Area来删除一个曲线图区域。
混合信号曲线图的图例是一个树形控件,在这个树形控件中,每个曲线的名称与属性以曲线群名称的子节点显示的。
你可以在两个曲线群之间通过使用鼠标拖拉的方式移动曲线,不过你不能将模拟信号曲线与数字信号曲线放到一个曲线群中。
而在实际操作中,当你在程序框图中将数据联线到混合信号曲线控件时,如果你的信号中既有模拟信号也有数字信号的话,LabVIEW会强制启用至少两个曲线图区域来分别显示模拟与数字信号。
混合信号曲线图的组成如下图所示:。
曲线图与波形图控件的组成
曲线图与波形图有很多强大的特色功能,通过掌握对这些功能的应用,你可以自定义自己的曲线。
在本文中将讲解如何运用与配置这些曲线图的选项。
一个曲线图的组成元素如下图所示:
其中每个组件的说明如下:
1——曲线图例(Plot legend)
2——光标(Cursor)
3——分度标记(Grid mark)
4——小分度标记(Minor-grid mark)
5——曲线图工具栏(Graph palette)
6——光标移动器(Cursor mover)
7——光标图例(Cursor legend)
8——比例图标(Scale legend)
9—— X轴刻度(X-scale)
10——Y轴刻度(Y-scale)
11——曲线图标记(Label)
玩转比例尺
波形图与曲线图都能自动调整它们的水平与垂直方向的刻度比例以对绘于其上的数据点作出反应,也就是说比例尺能够按最大的分辨率调整自己以显示数据曲线上的所有数据点。
你可以在曲线图或波形图对象上面点击鼠标右键,在右键弹出菜单中的X Scale菜单或Y Scale菜单里面对AutoScale X或AutoScale Y选项进行设置就可以将自动比例尺调整功能关闭或打开。
在比例图标(Scale Legend)里面我们也可以对自动比例尺调整进行设置(在后面我们会讲到这些)。
在LabVIEW中,默认是将曲线图控件的自动调整功能启用的,而波形图控件这是默认关闭的。
不过,通过启用这个选
项可能会使波形图或曲线图更新缓慢,缓慢程度与计算机的处理性能和显示性能有关,缓慢的原因是每条曲线的新比例在每次数据更新的时候都要重新计算一次。
X与Y轴比例尺菜单
X与Y轴的比例尺都有一个用来设置的子菜单,如下图所示:
通过选择该菜单中的AutoScale选项,就可以关闭或打开自动比例尺功能。
一般情况下,当你执行自动比例尺功能的时候,比例尺就设定为输入数据的实际数值范围。
如果你想要让LabVIEW 将比例尺显示为更好看的数值,可以启用菜单中的Loose Fit选项。
在启用该选项之后,比例尺上的数值就成为比例尺增量的整数倍值。
比如,你的比例尺的增量为5,那么比例尺的最大最小值就是5个倍数而不是实际的数值范围。
Formatting...选项就会打开一个曲线图属性对话框,并显示该对话框的格式与精度页面(Format and Precision),如下图所示。
在这里就可以配置比例尺上的数字的格式。
在Scale标签页里面,如下图所示。
可以对如下选项进行设置:
是坐标轴标签;
2.Show scale label选项可以用来设置显示与隐藏坐标轴标签;
3.Log选项用来设置数值是以线性(不选中)或是对数(选中)比例进行显示;
4.Inverted选项用来设置比例尺的最大与最小值翻转(选中)或正常(不选);
5.Autoscale选项用来启用或关闭自动比例功能。
如果自动比例关闭,就可以在下面的最大值以及最小值里面设
置比例尺的取值范围;
6.Scale Style and Colors部分可以设置主分隔与从分隔的颜色;
7.Scaling Factors部分,在Offset处,你可以设置该坐标轴值的起点,在Multiplier部分可以设置坐标增量。