当前位置:首页 > 测试测量 > 测试测量
[导读]  在LabVIEW中我们分析或采集的数据通常都是时间的函数。例如,我们可能希望知道在一天中温度随着时间的变化,或者是变化的波形在时间轴上绘出之后的样子。  LabVIEW有一些特殊的数据类型可以用来帮助一般的用户

  在LabVIEW中我们分析或采集的数据通常都是时间的函数。例如,我们可能希望知道在一天中温度随着时间的变化,或者是变化的波形在时间轴上绘出之后的样子。

  LabVIEW有一些特殊的数据类型可以用来帮助一般的用户来以曲线的形式分析或展示这些数据。这些特殊的数据类型就是时标(Time Stamp)、波形(Waveform)和动态数据(dynamic data)。时标数据用来存储波形中的时间信息而多个波形可以保存在动态数据中。由于时标、波形以及动态数据的自然依赖关系,我们就在本文中对它们一起介绍。

时标(Time Stamp)

  时标这个数据类型用来存储绝对日期/时间值,比如数据采集的时间。它的精度非常高,不论是对于计数秒的整数部分还是分数部分都有19位的精度。

  虽然我们可通过将一个数值控件的显示方式设定为日期/时间来存储与显示时标值,不过数值控件保存的是相对值,而时标控件保存的则是绝对值。

  在LabVIEW中,我们可以使用Get Date/Time In Seconds函数来获取当前的时标值。一个时标控件如下图所示:

  时标是一个高精度保存绝对时间的手段,而时标控件则可以用来查看与修改时标的值。时标控件可以在Controls控件面板的Modern>>Numeric子面板中找到。

  通过点击你要修改的时标控件左侧的上下箭头就可以对该时标的值进行增减操作。或者是通过键盘直接键入数值来取代时标的当前值。也可以在时标控件上点击鼠标右键,并在右键菜单中选择Data Operations>>Set Time to Now将时标的值设置为当前的日期与时间。

日期/时间浏览按钮

  不过我们还有一个更有趣的修改时标的方法,那就是点击时标控件右侧的日期/时间浏览按钮。在点击该按钮之后,就会弹出下面的日期与时间设置对话框。从这个对话框,我们能够轻松的用这个日历式的界面来修改时标的日期与时间值。

  这个对话框也可以在时标控件上点击鼠标右键,在右键菜单中Data Operations>>Set Time and Data菜单项打开这个对话框。对于没有日期/时间浏览按钮的时标常量以及指示器类型的控件,使用这个右键菜单是最合适的方式。

相对时间计算

  有些时候我们也需要时间计算。比如下面程序框图中我们使用相减函数来计算两个时标之间的相对时间。

  通过这种方式,我们可以用来对某些程序代码的执行时间进行测试,比如在一个VI开始之前获取一个时标值,在VI结束之后获取一个时标值,将这两个值相减就可以知道这个VI的具体执行时间是多少了。

  另外我们也可以对时标数据进行加操作,将相对时间加上旧的时标值得到一个新的时标值,这个程序就不再演示了。

时标与数值之间的转换

  如前面的两个时标相减的例子,我们可以发现时标与数值两种数据类型是密切相关的。在有些情况下,我们需要在这两个数据类型之间进行转换。加、减这两个函数在对时标数据操作时,函数不是匹配为时标类型(由于这两个函数是可复用的)就是将时标强制转换为双精度浮点数。有些时候,我们也想要直接执行这个转换操作。我们可以在函数VI面板的Programming>>Numeric>>Conversion子面板上找到To Double Precision Float函数来将时标数据转换为双精度浮点数。或在Programming>>Numeric>>Conversion子面板上找到To Time Stamp函数将一个数值转换为时标数据(这个函数也可以在Programming>>Timing子面板上面找到)。

  这两个函数如下图所示:

  这里的To Double Precision Float函数可以将任何数值型数据转换为双精度浮点数。

波形(Waveforms)

  在许多工程以及科技应用中,需要处理的数据都是一组随着时间变化的数值。例如,音频信号就是随着时间变化的压力值,心电图则是随着时间变化的电压值,滴落的水滴的表面就是随时间变化的其xyz坐标的值,计算机常用的数字信号则是随时间变化三维二进制值。LabVIEW中提供了波形数据这个数据类型来组织与处理这些时变信号。一个波形数据不但可以让你来存储数据的值,还可以用来存储第一个数据获取时的时标值、每个数据点之间的间隔时间以及数据的备注信息。它与LabVIEW中其他的数据类型类似,可以进行加减运算操作,以及其他的直接对波形进行的操作。你可以在I/O控件面板选择相应控件来在VI前面板上创建Wavwform或Digital Waveform类型的控件。

  上图中就是一个波形控件在前面板以及框图中的表现形式。下图中的则是数字波形控件在前面板以及框图中的表现形式。我们可以发现在程序框图中,波形控件的图标为棕/橙色而数值波形控件的则为绿色。

这两个图标里面,模拟波形是一个类似正弦波的波形,数值波形则是一个方波,再加上它们的颜色不同,区分它们还是很容易的。

  通过仔细检查波形数据类型,我们可以发现它其实就是一个特殊的簇类型的数据。在这个簇中包含了四个元素:Y、t0、dt以及Attributes(属性),对其详细讲解如下:

Y:这个元素是随着时间变化数据。对于一个模拟波形来说,这是一个元素为数值数据点的一维的数组,这个数据点可以是一个单点也可以是另外一个波形,根据所执行的操作的不同而不同。模拟信号类型的一维数组的元素数据类型为双精度浮点数。离散信号则被称为"数字"信号,离散信号一般就是只有两个状态的信号,比如TRUE或FALSE、0或5V、开或关等等。对于离散信号,我们需要使用的是数字波形。对于数字波形来说。Y元素是数字数据,你可以将其想象为一个二进制值的表格,列为数字线,行为变话的值。t0:这个元素是一个时标值,用来标识Y数组中第一个点采集时的时间(相对于当期的系统时间)。它也被称为初始时间或初始时标。dt:Δt,念作"得尔它T"(哈哈,小幽默一下)。用来表示Y数组中两个相邻数据点之间的间隔时间的数值。Attribute:默认情况下,这个元素是隐藏的,只有在波形上点击鼠标右键并在右键菜单中选择Visible Items>>Attribute才能看到。属性元素是可选的,它是可变数据类型的量,可以让你方便的捆绑自定义信息,比如设备编号、通道号等等。该元素不会影响波形数据的表现或Y与时间值。波形与数组的差别

在很多情况下,你可以将波形想象为一维数组,在这个一维数组中除了保存数据外还附加了一些关于数据点的时间以及采样时间的信息。波形数据在模拟信号采集中经常被用到。

  实际上你也可以使用数组来保存你的数据而不是使用波形数据。不过,波形数据比数组数据要有以下几个优势:

t0的标识:如果没有t0的话,你就不知道你的数据是什么时候得到的。波形数据则会自动在t0中返回数据采集的日期以及时间,这提供了你的数据的现实世界的时间。更易绘图:波形数据同样简化了数据曲线的绘制。在较老的LabVIEW版本中,你必须绑定初始点的值(x0)以及两点之间的间隔时间(delta x)到你的数据(Y数组),才能完成绘制曲线的工作。现在的波形数据就直接包括了这些元素,你只要将波形数据连线到曲线图控件就可以绘图了。更简单的多曲线图:波形数据也简化了多曲线的曲线图的绘制。在旧版的LabVIEW中,每条曲线需要先将x0、delta x以及Y数组绑定之后,再用它们创建一个数组之后才能绘制一个多曲线的曲线图。如果使用波形数据,只要将一个波形数据的一维数组连线到一个曲线图控件就可以绘出多曲线的曲线图了。波形函数

  在LabVIEW的函数面板的Programming下的Waveform面板上全部都是用于波形数据操作的函数,如下图所示:

  这里的获取波形元素(Get Waveform Components)以及创建波形(Build Waveform)函数分别用来获取或设置模拟、数组波形和数字值的波形元素。

  获取波形元素函数可以返回你需要的波形元素。你可以通过在该函数节点上面右键点击并选择Add Element并左键点击来选择需要的波形元素。这个函数是可扩展的。

  创建波形函数可以用来创建一个新的波形或者是修改一个现有波形。如果不链接输入到waveform输入端,这个函数就会按照输入的数据来创建一个新的波形。如连接了一个波形到这个输入端,这个函数就会按照你输入的参数修改这个波形。这个函数也是可扩展的。

  这两个函数都是可复用的,可以对模拟波形、数字波形以及数字数据进行操作。函数的waveform输入端会根据输入波形的不同而自动转换。

  除此之外,还有很多对波形进行操作的函数,可以参考LabVIEW的自带帮助文件或例子来自己熟悉。

动态数据(Dynamic Data)

  几乎所有的用于采集、分析、操作以及生成信号的Express VI都使用了一个特殊的数据类型传送信号数据,这个数据类型就是动态数据。简单地说,动态数据就是一个或多个通道的波形数据。实际上,你也可以将动态数据想象为只是一个简单的模拟波形的数组,用一个智能的线所表示。不过,在实际的使用中,动态数据确实也是非常智能的,比如将几个动态数据合并为一个动态数据的操作是非常简单的。

  在LabVIEW中,将一个动态数据连线到另一个动态数据,LabVIEW会自动的添加一个合并信号的函数将这两个信号线合并为一个信号线。

  对动态信号操作的函数都位于Express>>Signal Manipulation子面板中,大家可以通过帮助文件来熟悉这些函数的使用。


本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

NI提供的软件包经济省时,不仅帮助开发人员节省时间,还为创客提供了新的机遇

关键字: LabVIEW 自动化测试系统

强大的图形化编程工具使整个测试和测量过程的各个方面实现可视化

关键字: LabVIEW 图形化编程工具

摘要:对于每一型新机试飞,或者是重大的研究性试飞和验证试飞,都必须实施遥测监控。现基于TTS(TextToSpeech)语音合成技术,结合飞行试验遥测监控系统的不足,利用TTS引擎在LabVIEW开发环境下设计并实现了遥...

关键字: 飞行试验遥测监控系统 TTS LabVIEW

在科研以及应用软件领域,LabVIEW和MATLAB作为比较常用的2款工具,相信很多人都用过吧。简单的概括一下,LabVIEW侧重测试测量和数据采集,MATLAB侧重科学计算和数据分析。

关键字: LabVIEW matlab 混合编程

众所周知,霍尔传感器是一种磁传感器,用它可以检测磁场及其变化,可在各种与磁场有关的场合中使用。霍尔传感器以霍尔效应为其工作基础,是由霍尔元件和它的附属电路组成的集成传感器;其在工业生产、交通运输和日常生活中都有应用,因此...

关键字: 霍尔传感器 磁场 波形

摘要:利用单片机和虚拟仪器LabVIEW在PC端设计了温湿度测量及控制系统,用于温湿度数据监测。该系统上位机为PC端监控界面,下位机为单片机,单片机采集温湿度数据,并将采集到的数据通过串口发送给监控界面进行监测和管理。该...

关键字: DHT11 LabVIEW 单片机

摘要:当前闭环步进电机在自动化设备中的应用越来越广泛,故为了进一步满足闭环步进电机的应用需求,采用LabVIEW上位机+运动控制卡+驱动器模块的控制方案进行了多轴运动系统的设计,通过设计的上位机软件实现闭环步进电机的实时...

关键字: 闭环步进电机 精度测试 LabVIEW

摘要:为满足某扭矩检测试验标准要求,基于LabView设计开发了一款扭矩检测装置,该装置能检测某类零部件的断裂力矩,满足试验标准要求,其他零部件的扭矩也可在该装置上检测。类似的扭矩装置可参考该装置进行设计。

关键字: 伺服电机 LabVIEW PLC

在下述的内容中,小编将会对LabVIEW的相关消息予以报道,如果LabVIEW是您想要了解的焦点之一,不妨和小编共同阅读这篇文章哦。

关键字: LabVIEW 测试测量 NI

一直以来,LABVIEW都是大家的关注焦点之一。因此针对大家的兴趣点所在,小编将为大家带来LABVIEW的相关介绍,详细内容请看下文。

关键字: LabVIEW 测试测量 测试仪器
关闭
关闭