完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
在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(属性),对其详细讲解如下:
在很多情况下,你可以将波形想象为一维数组,在这个一维数组中除了保存数据外还附加了一些关于数据点的时间以及采样时间的信息。波形数据在模拟信号采集中经常被用到。 实际上你也可以使用数组来保存你的数据而不是使用波形数据。不过,波形数据比数组数据要有以下几个优势:
在LabVIEW的函数面板的Programming下的Waveform面板上全部都是用于波形数据操作的函数,如下图所示: 这里的获取波形元素(Get Waveform Components)以及创建波形(Build Waveform)函数分别用来获取或设置模拟、数组波形和数字值的波形元素。 获取波形元素函数可以返回你需要的波形元素。你可以通过在该函数节点上面右键点击并选择Add Element并左键点击来选择需要的波形元素。这个函数是可扩展的。 创建波形函数可以用来创建一个新的波形或者是修改一个现有波形。如果不链接输入到waveform输入端,这个函数就会按照输入的数据来创建一个新的波形。如连接了一个波形到这个输入端,这个函数就会按照你输入的参数修改这个波形。这个函数也是可扩展的。 这两个函数都是可复用的,可以对模拟波形、数字波形以及数字数据进行操作。函数的waveform输入端会根据输入波形的不同而自动转换。 除此之外,还有很多对波形进行操作的函数,可以参考LabVIEW的自带帮助文件或例子来自己熟悉。 动态数据(Dynamic Data) 几乎所有的用于采集、分析、操作以及生成信号的Express VI都使用了一个特殊的数据类型传送信号数据,这个数据类型就是动态数据。简单地说,动态数据就是一个或多个通道的波形数据。实际上,你也可以将动态数据想象为只是一个简单的模拟波形的数组,用一个智能的线所表示。不过,在实际的使用中,动态数据确实也是非常智能的,比如将几个动态数据合并为一个动态数据的操作是非常简单的。 在LabVIEW中,将一个动态数据连线到另一个动态数据,LabVIEW会自动的添加一个合并信号的函数将这两个信号线合并为一个信号线。 对动态信号操作的函数都位于Express>>Signal Manipulation子面板中,大家可以通过帮助文件来熟悉这些函数的使用。 |
|
相关推荐
2 个讨论
|
|
只有小组成员才能发言,加入小组>>
有没有大佬知道labview中使用Halcon拍照算子采集图像后,如何把图像传入调用的Halcon算子?
3843 浏览 0 评论
LabVIEW对51单片机电压的采集,用VISA写入函数发送字符串voltage,VISA读取函数也是字符串?
2099 浏览 1 评论
1826 浏览 0 评论
7080 浏览 1 评论
2466 浏览 0 评论
3038浏览 1评论
4277浏览 0评论
有没有大佬知道labview中使用Halcon拍照算子采集图像后,如何把图像传入调用的Halcon算子?
3854浏览 0评论
2628浏览 0评论
2572浏览 0评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-27 09:00 , Processed in 0.648207 second(s), Total 56, Slave 43 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号