所谓曲线就是一组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中选择即可。

带状记录纸模式的显示和真正的带状记录设备的显示相像。示波器图模式则和真正示波器的曲线显示相像,该模式中当曲线到达波形图的右边界之后,整个曲线就会清除并从波形图的左边界重新开始显示。扫描图模式与示波器图模式十分相似,不过扫描图模式中曲线到达右边界后并不会有清除动作,而是有一个竖线出现在波形图中,该竖线标识着新数据的开始,并在新数据不停添加的时候,该竖线会慢慢移动。这些区别在看到实际波形图控件在不同刷新模式先运行之后就很容易区别开来的。由于示波器图模式与扫描图模式在追溯以往曲线上比带状记录纸模式的开销要少,所以这两种数据更新模式要比带状记录纸模式很明显的快得多。
注意:波形图中一直都是设定为X值代表了等间隔的点。在LabVIEW的波形图中,你可以只提供Y值而不用管X值。每次波形图中添加一个新的Y值之后,就会自动为X值加一。对于X值是任意值的情况就需要使用后面介绍的曲线图而不要使用波形图了。
波形图控件可以接收的数据类型包括了数值、数组以及波形数据类型。在波形数据类型中包含了时间信息(比如第一个数据点的时间标志以及每点之间的时间间隔)。波形图控件将使用这些时间信息来显示数据,这也就意味着这时初始的X值以及每点之间的间隔在每次有新数据写入到波形图时是不同的。

单曲线波形图

使用波形图控件的一个最简单的方法就是将一个数值在VI程序框图中连接到波形图控件的输入端点,如下图所示。在每循环一次就会有一个点被添加到波形图中所显示的波形中。

也可以通过一次添加多个点来更新单曲线的波形图,如下图所示,传送一个数组的数值给波形图。

多曲线波形图的连线
波形图控件也可以用来显示多条曲线。不过,由于比不能从多个数据源连线到单一的波形图控件输入端点,所以需要先使用捆绑函数(Bundle函数,可以在 Programming>>Cluster & Variant子面板找到)将多个数据捆到一起。如下图所示,该函数“捆绑”或聚合了三个不同的采集温度的VI的输出到了一个簇中,以便这些数据能够被波形图控件说显示。大家可以注意一下波形图控件的端点连接到捆绑函数的输出之后的变化。如果需要添加多个曲线,只要增加捆绑函数的输入端点的个数即可。

在连接多曲线的波形图的时候,要确保使用的是Bundle函数,而不是Build Array函数。LabVIEW会将数组中的数值看成同属于一条曲线,把簇中的数值看成是属于多条曲线。如果使用了创建数组函数,你得到的将是每次循环中有三个新数据点的单条曲线。这种情况在从硬件读取波形时是很有用的,因为这时你读取的是单个通道的多个采样点的数据。

单曲线与多曲线数据类型对比:需要记住的技巧

曲线图与波形图是可复用的。它们可以接受几种不同类型的数据,并可以用来显示单条或多条曲线。不过有些时候,很难记清楚用于单曲线、多曲线的数据类型。另外,曲线图与波形图也有多种类型,这使这一切变得更复杂了。
不过有一个简单快捷的方法可以找出用于某种曲线图或波形图的数据类型。这个方法就是在程序框图中,将鼠标光标移动到曲线图或波形图输入端点上方,这时在Context Help窗口中就可以看到曲线数据类型的详细描述了。这个Context Help窗口可以通过菜单Help>>Show Context Help或者是使用快捷键打开。

显示数值?
与其他的数值显示器控件类似,波形图也有显示或隐藏数值显示的选项(在曲线图上点击鼠标右键,在右键菜单的Visible Items>>Option中可以设置)。这个数值显示部分就会显示波形图中显示的最后一个数据的值。

X轴滚动栏

波形图也有一个X轴滚动栏,可以通过右键菜单Visible Items>>中的子菜单来设置其是否可见。你可以通过拖动这个滚动栏查看波形图中已经不在显示屏中的旧数据。

清空波形图

有些时候,我们必须从波形图中删除旧数据。可以通过右键菜单中的Data Operations>>Clear Chart选项在编辑模式下清空波形图中的所有数据。如果你的VI不在运行状态下一般就是处于编辑状态,如需要在VI未运行是更改状态,可以在 Operator菜单中选择Change to Run/Edit Mode即可。如果VI处于运行状态,Clear Chart选项就可以在右键菜单直接找到,而不用在Data Operations子菜单中寻找了。
如果需要在程序中通过编程来自动清除波形图中的数据,你就需要向波形图控件的History Data属性中写入一个空数组,如下图所示。

覆盖模式以及堆叠模式的波形图
如果你使用的是多曲线的曲线图控件,你可以选择将所有曲线共用同一个Y轴显示,这种显示模式就称为覆盖模式;或者是让每一条曲线有一个独立的Y轴,这种显示模式就称为堆叠模式。这可以在波形图的右键菜单中选择显示类型来完成设定。下图显示了这两种显示模式的区别:

多标度Y轴
如果一个波形图中有多条曲线,并且在覆盖模式下进行显示,有些时候就需要为每条曲线设定不同的Y轴标度。例如,一条曲线的Y值范围是从-1到+1,另一条曲线的Y值范围是-100到+100,这是使用覆盖模式并以同一个标度的Y轴进行显示就可能看不清Y值范围较小的那条曲线,这时使用多标度的Y轴就显得必要了。使用多标度Y轴的具体步骤如下,首先在Y轴点击鼠标右键在弹出的右键菜单中选择Duplicate Scale选项;之后,在这个新标度上点击鼠标右键,在右键菜单中选择Swap Sides将这个复制的标度移动到曲线图的另一侧。具体哪个坐标对应哪条曲线可以在波形图的属性对话框里修改。如果需要删除一个Y轴标度,就在该标度上点击鼠标右键并选择Delete Scale选项即可。下图是一个使用了两个Y轴标度的波形图的示例:

在波形图中不能够复制多个X轴标度。因为波形图控件只能有一个X轴标度。如果你试着在X轴标度上点击鼠标右键,就发现在弹出的右键菜单中Duplicate Scale选项是灰色不可用的。(在曲线图控件中则是可以使用多X轴标度的)
通过在曲线图或波形图上点击鼠标右键,在右键菜单中选择 Advanced>>Reset Scale Layout就可以复位曲线图或波形图的标度。执行这个操作之后,Y轴标度就会返回到曲线显示区域的左侧,X轴标度就会返回到曲线显示区域的下端,并复位标度数值。

波形图历史长度

默认情况下,波形图控件可以存储1024个数据点。如果你想让它存储更多或更少的数据,可以在右键菜单的 Chart History Lenggth...选项来设定一个新的数据点数值,该值的取值范围是10到2,147,483,647(不过实际的限制可能受你的计算机的内存大小的限制而会小些)。更改了这个缓存的大小并不会改变在波形图上一次显示的数据的个数,只会改变你通过滚动栏可以回溯的数据的总数。

LabVIEW波形图(waveform chart)相关推荐

  1. labview—波形图(表)的使用教程

    文章目录 一.概述 1.图(graph)和图表(charts)的区别 2.图表的所有种类 二.波形图(表) 1.波形图 2.波形图表 labview自带范例 写在前面: 本文参考官方文档和软件自带范例 ...

  2. labview波形图两个游标,LabVIEW数据可视化:使用波形图表控件逐点显示曲线的方法...

    LabVIEW平台中提供了强大的2D/3D数据的可视化控件,如波形图.波形图表.XY图.强度图.数字波形图.混合信号图.二维/三维图片及用于特殊用途的极坐标图.Smith图.雷达图控件等. 上篇文章: ...

  3. C#生成波形图(chart)

    做一些软件时需要输出图表(折线图等),本文介绍的就是vs拥有的chart控件 当然还有其他单独的控件等,这里就不进行其他的描述了,毕竟自带的就是香 折线图如下(波形图在这里就不进行展示了) 在图表启动 ...

  4. LabVIEW——波形图总结

    1.只是已知y 2.已知x的起始点.间隔和y 3.已知一个x一个y 4.已知一个x多个y 5. 已知多个x多个y

  5. 报表 labview_干货!24个LabVIEW初学者常见问题及解答汇总

    写在前面 在分享LabVIEW相关资料.知识点时,小编后台也经常收到一些小伙伴的提问,有些问题的出现率很高,基于这种情况,我们搜集了一批LabVIEW学习中常见的问题以及解答,希望对大家有所帮助. 1 ...

  6. labview问题集锦

    1.Labview如何实现由一个事件引发其他三个事件的顺序发生,且这三次事件间的时间间隔为50ms? A:可以引用状态机来设计程序,将触发事件作为状态机的状态控制参数,后面发生的三个事件依次作为状态机 ...

  7. 基于LabVIEW和Access数据库的温湿度监测系统上位机程序设计

    1.设计要求 (1) 使用串口调试助手(提供软件:串口调试助手V2.2.exe)模拟下位机,模拟的下位机每隔5s从串口发送数据包,数据包格式为"SDDTDDHF".其中,第1位&q ...

  8. 基于Labview的信号发生器的设计 [转】

    基于Labview的信号发生器的设计 目录 1 .引    言... 2 1.1 Labview开发平台... 4 1.1.1  程序前面板... 5 1.1.2  框图程序... 5 1.1.3  ...

  9. 基于Labview的信号发生器的设计

    目录 1 .引    言... 2 1.1 Labview开发平台... 4 1.1.1  程序前面板... 5 1.1.2  框图程序... 5 1.1.3  图标/连接器... 5 1.1.4  ...

最新文章

  1. 【GAN优化】小批量判别器如何解决模式崩溃问题
  2. C#中线程池的简单应用
  3. OAuth2.0 授权的工作原理
  4. java二叉树算法_java构建二叉树算法
  5. 教你 Shiro + SpringBoot 整合 JWT
  6. javascript-抽象工厂模式
  7. java---解析XML文件,通过反射动态将XML内容封装到一个类中
  8. 编程之美第一篇 01分数规划
  9. JMeter学习笔记(四)
  10. 论坛php 图片上传,图片上传、分享网站
  11. 基于稀疏表示的图像超分辨
  12. pytest+seleniumUI自动化框架设计
  13. 3t中文 studio_mongodb,Studio 3T | MongoDB中文社区
  14. Google Colab 详细注册教程
  15. 苹果笔记本硬盘怎么解锁_笔记本如何加装内存、硬盘,怎么增大C盘容量
  16. VMware Workstation创建Windows 8虚拟机
  17. HIVE语法基础及实战----干货
  18. RFT学习--环境配置
  19. 前端面试超全整理1( js 浏览器安全 性能)
  20. 如何在未越狱iOS设备上安装IPA

热门文章

  1. java防止sql注入方正_有效防止SQL注入的5种方法总结
  2. 大赛导师教程:冷风——商战王参考图片法,深扒光感氛围展现
  3. 新发现,新挑战,技术出海的机遇与挑战丨PingCAP DevCon 2022 出海专场
  4. 汽车+大数据=变形金刚?解读汽车大数据价值
  5. JSONObject对象常用方法讲解--fromObject和toBean
  6. selenium+phantomjs 爬虫 获取中国移动,电信,联通通话记录
  7. 计算机 自考 学校,山东哪些学校能自考计算机专业
  8. vscode调整界面字体大小方法
  9. Android布局优化之ViewStub、include、merge使用与源码分析
  10. ADDS:卸载/降级域控制器