陕 西 理 工 学 院第 8章 数 据 采 集 CONTENTS目 录数 据 采 集 基 础01 DAQ设 备 的 安 装 与 测 试02 NI-DAQmx简 介03 DAQmx数 据 采 集 应 用 编 程 实 例04 CONTENTS目 录数 据 采 集 基 础01 DAQ设 备 的 安 装 与 测 试02 NI-DAQmx简 介03 DAQmx数 据 采 集 应 用 编 程 实 例04 8.1.1 奈 奎 斯 特 采 样 定 理自然界中的物理量大多是在时间、幅值上连续变化的模拟量,而信息处理多是以数字信号的形式由计算机来完成所以将模拟信号变为数字信号是实现信息处理的必要过程,该过程的第一步就是对模拟信号进行采样对模拟信号采样的基本原则是: 若连续信号x(t)是有限带宽的,其频谱的最高频率为fc,对x(t)采样时,若保证采样频率f s2 fc ,那么即可由采样后的数字信号x(nTs)恢复出x(t) 如果采样频率fs1,000,000 S/s 1MS10010,000S/s 10kS在连续采样中,如果“DAQmx读取”函数从缓存中读取数据的速度小于设备向缓 存中存放数据的速度,则会出现在向缓冲区写入数据时覆盖掉还没有被读取的数据而产生数据丢失,使数据采集不连续,这种情况下有时会返回错误,通过设置合适的“每通道采样数”的值可避免该错误的发生,通常此值设置为缓存大小的1/21/4较为合适。
在实际应用中,需要用数据采集设备输出模拟信号信号包括稳定的直流信号、有限波形信号和连续波形信号模拟信号输出与模拟信号输入所使用函数大部分是相同的,最大的区别在于模拟信号输入采用“DAQmx读取”函数,而模拟信号输出要采用“DAQmx写入“函数 当需要DAQ产生一个模拟直流信号时,一般采用单点模出 设置输出电压值,运行程序,则在模拟输出通道“Dev1/ao0”输出对应的直流电压,通过万用表或示波器可以测量到程序设置相同的电压值 需要注意的是,模拟输出时,产生信号的是硬件,即使停止而且清除了任务,采集卡输出端口将维持任务结束时最后一个数据样本的状态,直到新任务开始或设备断电如果采集卡在不需要输出信号时长期保持非零电平状态,容易造成损坏,因此 在模拟输出任务完成不需要输出信号后,需运行一段单点输出代码,将前面通道的输出置为0 8.4.2 模 拟 信 号 输 出 有限波形输出是输出一段固定长度的波形数据DAQmx创建通道”对输出信号幅度范围、接线端配置、物理通道等信息进行配置DAQmx定时”对采样时钟的采样率、采样模式及每通道采样进行配置,“采样率”参数可以确定输出信号的频率,“每通道采样”确定输出有限波形数据的长度。
DAQmx写入”负责将“数据”端给定数据写入通道,数据由“正弦信号”函数生成,其幅度为5V,周期为1s,采样数为128DAQmx结束前等待”函数用于VI在任务结束前确保完成指定操作 运行该VI,根据设定的参数,通过示波器对输出波形进行观察,可以得到输出频率为1Hz,幅值为5V,长度为8个周期的正弦波形 要输出一个连续的周期信号,不需要向缓冲区连续不停的传送数据,而只需要向一段缓冲区写入待输出信号一个周期的数据,DAQmx将在任务结束前自动不断的重复该段数据,以输出连续的周期信号 “DAQmx定时”函数的采样模式设置为“连续采样”,将“DAQmx结束前等待”函数置于一个While循环中,即可实现连续波形输出其中While循环的作用是保证任务不结束,这样硬件就会一直输出数据,除非发生错误或单击停止按钮 一般的数据采集卡都有数字端口和计数器,用于实现数据采集的触发、控制及计数等功能端口按照TTL逻辑电平设计,逻辑低电平在0-0.7V之间,逻辑高电平在3.4-5.0V之间数字I/O的重要组成部分是数字端口Port与数字线Line数字线是数据采集卡中单独连接一个数字信号的物理端子,一个数字线承载的数据称为位bit,它的二进制值是0或1。
多路数字线组成一组后称为端口Port,一般情况下,4或8路数字线组成一个端口许多数据采集设备要求一个端口中的线同时都是输出线,或同时都是输入线,即单向的,但也有一些设备的一个端口的数字线可以是双向的,即有的线输入有的线输出NI PCI-6251数据采集卡,有24条数字线,组成3个端口数字I/O的应用分为两类:无条件数字输入输出方式和握手方式无条件数字输入输出方式调用数字I/O函数后立即更新或读取某一路或端口状态;握手方式在在传递数据时都需要进行请求和应答NI PCI-6251不支持握手方式数字输入输出 数字I/O的编程方法与模拟输入、模拟输出的编程差别不大 8.4.3 数 字 I/O 先通过数据采集卡的端口0(port0)输出数据(10100111),在数据采集卡接线板上,通过导线将数据采集卡端口0(port0)和端口1(port1)对应的线连接起来这样,程序在端口0输出数据后,紧接着又通过端口1将端口0上各数字线上的读取出来 NI PCI-6251数据采集卡硬件配有两套通用计数器,分别标为CTR 0和CTR 1每个计数器的基本结构模型如图所示 GATE为计数器的闸门控制信号;SOURCE(CLK)为计数器时钟信号源;OUT为计数器的输出信号。
典型的计数器应用有事件定时/计数、产生单个脉冲、产生脉冲序列、频率测量、脉冲宽度测量和信号周期测量等 8.4.4 计 数 器 首先将“DAQmx创建通道”函数设置为“CI边沿计数”从而创建一个事件计数器的虚拟通道,并对物理通道、边沿、计数方向、初始计数等参数进行设置后面几个VI的作用分别是开始计数、读取数据、清除任务其中While循环的作用是实现连续计数从数据采集卡端子PFI8(CTR 0 SRC,对应引脚为37)端输入一数字脉冲,则程序运行后即对输入的数字脉冲序列进行计数 利用数据采集卡的计数器,可以实现频率测量,LabVIEW DAQmx提供三种频率测量方法:带1个计数器的低频:适用于被测信号频率相对于计数器的时基较低的情况,对应频率测量中的测周法;带2个计数器的高频:适用于信号频率较高或差异较大的情况,对应频率测量中的测频法;带2个计数器的大范围:适用于待测信号范围广且整个范围都需要较高的测量精度的情况,对应频率测量中的改进的测周法输入信号的频率和测量方法的不同,测量的结果有可能发生不同程度的误差,因此,应根据实际的测量要求选择合适的测量方法 首先“DAQmx创建通道”VI设置为“CI频率”创建一个虚拟通道,测量方法设置为“带1个计数器的低频”,测量范围分别设置为最大值10000Hz和最小值2Hz,开始边沿设置为“上升”,物理通道设置为“Dev1/ctr0”,对应采集卡的输入端子为PFI9(CTR 0 GATE,对应引脚为3)。
接着后面的几个VI的作用分别是开始任务、读取数据、清除任务 脉冲发生也是计数器的一个较为常用的功能,它通过计数器的OUT端口输出一个或一串脉冲来实现 “DAQmx创建通道”设置为“CO脉冲频率”创建一个虚拟通道,并对输出脉冲的频率、占空比、物理通道、空闲状态、初始延迟等参数进行设置DAQmx定时”VI设置为“隐式”并将采样模式设置为“连续采样”后面几个VI的作用分别是开始任务、判断任务是否完成、清除任务将“DAQmx任务完成”置于While循 环中,硬件一直输出脉冲,除非发生错误或单击停止按钮图示程序数据采集卡将输出频率为1kHz的方波信号。