清华版labview教程数据采集

上传人:ji****n 文档编号:45677948 上传时间:2018-06-18 格式:DOC 页数:10 大小:1.15MB
返回 下载 相关 举报
清华版labview教程数据采集_第1页
第1页 / 共10页
清华版labview教程数据采集_第2页
第2页 / 共10页
清华版labview教程数据采集_第3页
第3页 / 共10页
清华版labview教程数据采集_第4页
第4页 / 共10页
清华版labview教程数据采集_第5页
第5页 / 共10页
点击查看更多>>
资源描述

《清华版labview教程数据采集》由会员分享,可在线阅读,更多相关《清华版labview教程数据采集(10页珍藏版)》请在金锄头文库上搜索。

1、1清华版 LabVIEW 教程第六章 数据采集概述在计算机广泛应用的今天,数据采集的重要性 采样定理与抗混叠滤波器 数据采集系统的构成 模入信号类型与连接方式 信号调理 数据采集问题的复杂程度评估 概念与名词ACAC: Alternating Current,交流电流,泛指交流信号。 DCDC: Direct Current,直流电流,泛指直流信号。 ADCADC: Analog-to-Digital Conversion,模数变换,有时也表示为 A/D。 DAQDAQ: Data Acquisition,数据采集。 DMADMA: Direct Memory Access,直接内存访问。它允

2、许将采集的数据直接送给计算机的 内存,数据传输速率较高。 GPIB:GPIB: General Purpose Interface Bus,也称为 IEEE 488.2 总线。它是一种应用最 广泛的仪器总线。 SCXISCXI: Signal Conditioning extensions for Instrumention,信号调理器。 VISAVISA: Virtual Instrument Standard Architecture,虚拟仪器软件体系结构。它是 控制 GPIB、VXI、RS-232 和其他类型仪器的接口库。 数据采集结构上图表示了数据采集的结构。在数据采集之前,程序将对

3、DAQ 板卡初始化,板卡上和 内存中的 Buffer 是数据采集存储的中间环节。需要注意的两个问题是:是否使用 Buffer?是否使用外触发启动、停止或同步一个操作。2缓冲(Buffers) 这里的缓冲指的是 PC 内存的一个区域(不是 DAQ 卡上的 FIFO 缓冲) ,它用来临时存放 数据。例如,你需要采集每秒采集几千个数据,在一秒内显示或图形化所有数据是困难的。 但是将采集卡的数据先送到 Buffer,你就可以先将它们快速存储起来,稍后再重新找回它 们显示或分析。需要注意的是 Buffer 与 DAQ 操作的速度及容量有关。如果你的卡有 DMA 性 能,模拟输入操作就有一个通向计算机内存

4、的高速硬件通道,这就意味着所采集的数据可 以直接送到计算机的内存。 不使用 Buffer 意味着对所采集的每一个数据你都必须及时处理(图形化、分析等) , 因为这里没有一个场合可以保持你着手处理的数据之前的若干数据点。 下列情况需要使用 Buffer I/O: 需要采集或产生许多样本,其速率超过了实际显示、存储到硬件,或实时分析的 速度。 需要连续采集或产生 AC 数据(10 样本秒) ,并且要同时分析或显示某些数据。采样周期必须准确、均匀地通过数据样本。下列情况可以不使用 Buffer I/O: 数据组短小,例如每秒只从两个通道之一采集一个数据点。 需要缩减存储器的开支。触发(Trigger

5、ing) 触发涉及初始化、终止或同步 DAQ 事件的任何方法。触发器通常是一个数字或模拟信 号,其状态可确定动作的发生。软件触发最容易,你可以直接用软件,例如使用布尔面板 控制去启动/停止数据采集。硬件触发让板卡上的电路管理触发器,控制了 DAQ 事件的时间 分配,有很高的精确度。硬件触发可进一步分为外部触发和内部触发。当某一模入通道发 生一个指定的电压电平时,让卡输出一个数字脉冲,这是内部触发的例子。采集卡等待一 个外部仪器发出的数字脉冲到来后初始化采集卡,这是外部触发的例子。许多仪器提供数 字输出(常称为“trigger out” )用于触发特定的装置或仪器,在这里,就是 DAQ 卡。 下

6、列情况使用软件触发: 用户需要对所有 DAQ 操作有明确的控制,并且 事件定时不需要非常准确。 下列情况使用硬件触发: DAQ 事件定时需要非常准确。 用户需要削减软件开支。 DAQ 事件需要与外部装置同步。 下面我们可以看到怎样使用 DAQ 的 VI 程序设置有 Buffer 及无 Buffer 的 I/O 操作,以 及设置触发的类型。 模拟 I/O(Analog I/O) 基本概念 在研究 DAQ VI 之前需要了解如下的几个定义。我们以下图的 AI Acquire Waveform.vi 为例说明。3device设备号。在 NI DAQ 设置工具中设定。该参数告诉 LabVIEW 你使用

7、什么 卡,它可以使 DAQ VI 自身独立于卡的类型,也就是说,如果你稍后使用了另一种卡,并 且赋予它同样的设备号,你的 VI 程序可正常工作而无须修改。 samples表示一个 A/D 转换:它是一个点、一个与测量发生时的实际模拟量对应 的数据。 channel指定数据样本的物理源。例如,一个卡有个模拟输入通道,你就可 以同时采集组数据点。在 LabVIEW VI 中,一个通道或一组通道都用一个字符串来指 定。例如:通道通道串 通道 55 通道 0 到 40:4 通道 1,8,以及 10 到 131,8,10:13scanscan是在多通道采样时,由一个单独的通道得到的样本。 wavefor

8、mwaveform是由一个通道得到的一组样本,采集若干周期或一定时间。通常,但不 是必须,数据点之间的时间对给定的 waveform 是一个常数。 初学者经常对 scan 和 waveform 感到迷惑。scan 是相对于若干通道的一组样本(对每 一个通道的一个瞬时得到一个样本) ,waveform 是相对于时间的一组样本(由一个通道得 到) 。 highhigh limitlimit 和 lowlow limitlimit你期望的对信号的限制。输入信号变化的缺省值是 10V 到-10V,可以设置 DAQ 系统的增益,例如,对大多数卡,如果你将其设为 5 到-5V,则 增益为 2。如果你将其设

9、为 1 到-1V,则增益为 10。所以如果你知道你的输入信号与缺省值 不同,可以改写这些值。可以用下面的公式确当所使用的增益:增益采集卡输入范围(High Limit|-|Low limit|) 许多采集卡只支持某些预先确定的增益值。如果你设置一个理论上的增益是得不到支 持的,LabVIEW 会自动将其调整到最近的预置值。典型的采集卡所支持的增益值有 0.5,1,2,5,10,20,50,100。 taskIDtaskID一个位的整数(I32 类型) 。某些 DAQ VI 用来识别指定的加于其上的 I/O 操作。许多 DAQ VI 需要接受一个 taskIDtaskID inin 并且返回一个

10、 taskIDtaskID outout 给下一个 VI。 你不能通过 taskID 给每一个 VI 提供采集卡的信息,如采样率、电压限制等。但一个初始 化的 VI 可以把这些信息传给 taskID out,它可以信息告诉别的需要设置的 VI。后面将有 例子说明。简单 Analog I/O 这是 LabVIEW 提供的一组标准的、简单易用的 DAQ VI。Analog Input4从左到右,个 VI 的功能为: 从指定通道获得一个样本。 从由通道字符串规定的一组通道每通道获得一个样本。这些样本返回到一个样本 数组,顺序由通道号决定。 按指定的采样率由一个通道得到一个波形(一组覆盖一个周期的样本

11、) ,这些样本 返回到一个 wareform 数组。 从由通道字符串规定的每个通道获得一个波形。这些样本返回到一个波形的维 数组,顺序由通道号和采样周期决定。通道数据的每个点占列,时间增量由行 决定。Analog Output从左到右,个 VI 的功能为: 在指定输出通道设置一个规定电压。 在指定输出通道设置一组规定电压。这些电压在输出通道一直保持恒定,直到其 自身改变或装置复为位。 在指定输出通道产生一个波形,波形的点(以电压为单位)是预先由波形数组提 供的。更新速率(Update rate)规定了两个点之间的时间。 与上类似,多波形,每通道一个,可同时发生。每个波形存放在 2 维数组的 1

12、 列。练习练习 目的:采集一个直流电压信号准备一个直流电源(例如 0.5V)作为信号源连接到 DAQ 卡的 0 通道模入端。 构造前面板和框图如上面所示。 运行程序。可得到 Meter 指示 0.5V。 练习练习 结束结束练习练习 目的:多通道数据采集5准备一个方波信号源和一个正弦波信号源。分别连接到模入通道和。 设置前面板与框图如上。 在前面板上的 graph 上用快捷菜单选择 TransposeTranspose ArrayArray。因为 AIAI SampleSample ChannelChannel 功能返回的 2D 数组是每列反映一个通道的电压,而在一般情况下 graph 图形是行

13、对列, 所以需要对数组做一次转置,以使 Y 轴表示电压值。 在框图上将起始时刻、实际采样周期和采样数据使用 BundleBundle 功能捆绑成一个数组,送 给了 graph。注意捆绑的顺序是 I32、SGL 和数组,如果变为 I32、数组和 SGL,可能 出错。 设置 scan 速率、通道号、每通道样本数如前面板所示。 运行该程序。 保存为 Acquire Multiple Channels.vi。 该程序是无缓冲、软件触发的。练习练习 结束结束多通道 I/O 的一个重要限制必须说明。如果对它设置一个高 scan 速率,并且从每个 通道实时观察数据(不是由数组观察) ,你或许会看到通道之间的

14、相位延迟。这是为什么? 大多数卡在一个时刻只能执行一个 A/D 变换。这就是为什么它被称为扫描:输入端口的数 据被依次数字化,每时刻一个通道。延迟,或通道间的延迟,发生在每个通道样本之间。 默认的情况是通道间的延迟足够小,但是它与卡关系密切。 对直流或低频信号,这个相位延迟一般不是问题。通道间的延迟远小于扫描周期,看 起来每个通道的采样是同时的。例如,通道间的延迟是微秒级的,而采样速率是 1 scan/sec。但是对高频信号,延迟就必须引起注意,如果你关心信号的同步,测量就可能 出现问题。6ch1ch2ch1ch2通道间延迟scan 间隔中级 Analog I/O上面介绍的简单 Analog

15、I/O 的基本局限是执行 DAQ 任务的庸余。例如,你每一次调 用 AI Sample Channel,都必须为特定类型的测量设置硬件,告诉它采样率等。显然,如 果你经常要采集大量的样本,你未必需要在每一次重复时都去设置测量。 中级 Analog I/O 有更好的功能与灵活性,可以更有效地开发你的应用。它的特点包括 控制内部采样率,使用外部触发,执行连续外部触发等。下面我们将仔细描述它的各种 VI,你应该注意其大量输入、输出端子中的部分内容。有效地使用这些 VI 只需要关注你 需要的端子。在大多数情况下,你不需要为在 help 中解释的端子的选项烦恼。Analog InputAIAI ConfigConfig 对指定的通道设置模入操作,包括硬件、计算机内 buffer 的分配。常用的 端子有: Device采集卡的设备号。 Channel指定模入通道号的串数组。 Intput limit指定输入信号的范围达到调节硬件增益的目的。 Buffer size单位是 scan,控制用于采集数据的 AI Config 占用计算机内存 的大小。 Interchannel delay对扫描间隔设置通道间的偏差。AIAI StartStart 启动带缓冲的模入操作。它控制数据采集速率,采集点的数目,及使用任何 硬件触发的选择。它的两个重要输入是: Scan rate(scan/sec)对每个通

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 中学教育 > 初中教育

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号