600 likes | 844 Views
LabVIEW 与数据采集. 顾永刚 2008.04.03. 内容与安排. 虚拟仪器与 LabVIEW 简介 数据采集的相关介绍 LabVIEW 中的数据采集 LabVIEW 中数据采集的扩展应用 介绍若干实例. 第一部分. 虚拟仪器与 LabVIEW 简介. 虚拟仪器简介.
E N D
LabVIEW与数据采集 顾永刚 2008.04.03
内容与安排 • 虚拟仪器与LabVIEW简介 • 数据采集的相关介绍 • LabVIEW中的数据采集 • LabVIEW中数据采集的扩展应用 • 介绍若干实例
第一部分 虚拟仪器与LabVIEW简介
虚拟仪器简介 NI公司于20世纪70年代中期提出了虚拟仪器的概念。虚拟仪器是在以通用计算机为核心的硬件平台上,由用户设计定义,具有虚拟面板,测试功能由测试软件实现的一种计算机仪器系统,是计算机技术与仪器技术相结合的产物,其基础是计算机系统,核心是软件技术。简而言之,虚拟仪器就是在开放架构的基础上创建用户自定义的测试系统。虚拟仪器大大突破了传统仪器在数据采集、处理、显示、存储等方面的限制,是一个测试和自动化系统的高性能、低成本运载平台。
虚拟仪器与传统仪器的比较 • 独立式传统仪器的基本框架类似于基于PC 机的虚拟仪器 • 根本区别在于两者不同的灵活性,用户是否能够根据各自不同的需求对其进行修改和扩展
虚拟仪器的特点 • 软件是虚拟仪器的核心 • 性价比高 • 缩小了仪器厂商与用户之间的距离 • 具有良好的人机界面 • 具有方便、灵活的互联 • 可靠性高 • 具有开放性、模块化、可重复使用及互换性等特点 • 维护、维修方便
什么是LabVIEW • LabVIEW是美国NI(National Instrument)公司推出的一种基于G语言(Graphics Language,图形化编程语言)的虚拟仪器软件开发工具。 • LabVIEW为虚拟仪器设计者提供了一个便捷、轻松的设计环境。利用它,设计者可以像搭积木一样轻松组建一个测量系统和构造自己的仪器面板,而无需进行任何繁琐的计算机代码的编写。
LabVIEW的特点与优点 • 图形化编程方式 • 提供丰富的数据采集、分析及存储的库函数 • 即提供传统的程序调试手段,同时提供独到的高亮执行工具,程序调试、开发更方便 • 包括了DAQ、GPIB、PXI、VXI、RS-232/485、USB在内的各种仪器通信总线标准的功能函数 • 提供大量与外部代码或软件进行连接的机制,如DLL、DDE、ActiveX等 • 强大的网络功能,支持常用网络协议
LabVIEW程序实例(前面板) 显示控件 输入控件 按钮
LabVIEW程序实例(后面板) 生成函数
第二部分 数据采集的相关介绍
数据采集的任务 • 数据采集系统的任务,具体地说,就是采集传感器输出的模拟信号并转换成计算机能识别的数字信号,然后送入计算机进行相应的计算和处理,得出所需的数据。与此同时,将计算得到的数据进行显示或打印,以便实现对某些物理量的监视,其中一部分数据还将被生产过程中的计算机控制系统用来控制某些物理量。 • 数据采集系统性能的好坏,主要取决于它的精度和速度。
模拟信号的数字化处理 • 数据采集的核心过程就是将连续的模拟信号转换成离散的数字信号 • 采样点太多,会占用大量内存单元;采样点太少,会使模拟信号的某些信息被丢失,出现失真现象
混叠干扰 图中采样频率500Hz,5个正弦波的频率分别为100Hz,200Hz,300Hz,375Hz和400 Hz。因为100Hz,200Hz的信号频率小于fs/2,可以由离散信号还原出原始的正弦波连续信号。而300Hz,375Hz和400Hz的信号频率都大于fs/2,故离散信号重构原信号时形成了频率不同于原信号频率的信号,即混叠(aliasing)干扰。
采样定理 • X(f)有截止频率(即最高频率)fh,即当|f|≥ fh时,X(f)=0 • Ts ≤1/2fh或 fs≥2fh 在进行信号采样时,需要遵循采样定理:设连续模拟信号X(t)的频谱为X(f),以采样间隔Ts采样得到的离散模拟信号为X(nTs),如果X(f)和Ts满足以下条件,离散信号X(nTs)可以完全确定频谱X(f)
混叠的消除 • 由采样定理可知,如果要求不产生混叠干扰,首先应使被采样信号X(t)成为有限带宽的信号。为此,对不满足此要求的信号,在采样之前,使其先通过模拟低通滤波器滤除高频成分,使其成为带限信号。这种处理称为抗混叠滤波预处理。其次,应使采样频率fs大于带限信号最高频率fh的2倍,即fs>2fh。 • 在实际工作中,考虑到实际的模拟低通滤波器不可能有理想的截止特性,在其截止频率fh之后总有一定的过渡带,故采样频率常常选为(3~4)fh,甚至更高。
量化 为了能用计算机处理信号,须将采样信号转换成数字信号,也就是将采样信号的幅值用二进制码来表示,由于二进制码的位数是有限的,只能代表有限个信号的电平,故在编码之前,首先要对采样信号进行“量化”。 量化就是把采样信号的幅值与某个最小数量单位的一系列整倍数比较,以最接近于采样信号幅值的最小数量单位倍数来代替该幅值。这一过程称为“量化过程”,简称“量化”。 最小数量单位称为量化单位。量化单位定义为量化器满量程电压FSR(Full Scale Range)与2n的比值,用q表示,有: 式中,n为量化器的位数,也就是采集卡的采样位数。
量化误差 • 由量化引起的误差叫做量化误差(也常叫做量化噪声,因为它常与噪声有相同影响)。 • 量化误差的最大值为q,它是一种原理性误差,只能减小而不能完全消除。 • 由前面q的定义式可以看出,减小量化误差可以通过两个途径: • 减小FSR,即根据输入信号的大小,设置合理的采集卡通道的输入信号范围; • 增大n的值,即选择采样分辨率高的采集卡。
信号分类 • 在数据采集应用领域,常将被测信号分为数字信号和模拟信号(也称连续时间信号)。数字(二进制)信号分为开关信号或脉冲信号。模拟信号可分为直流、时域、频域信号,如下图所示。
模拟信号的连接方式 • 接入数据采集设备的信号根据参考点的不同可以分为接地信号和浮动信号两种类型。 接地信号:就是以系统地(如建筑物的地)为参考点的信号,也称参考信号。因为接地信号用的是系统地,所以与数据采集设备是共地的。最常见的接地信号源是通过墙上的接地引出线接入建筑物地的设备,如信号发生器和电源。 一个不与任何地(如大地或建筑物的地)连接的电压信号称为浮动信号,浮动信号的每个端口都与系统地独立。一些常见的浮动信号源有电池、热电偶、变压器和隔离放大器等。
测量系统分类 ---差分测量系统 信号的正负极分别与一个模拟输入通道相连接。具有仪器放大器(Instrumentation Amplifier)的数据采集设备可配置成差分测量系统。 一个理想的差分测量系统能够精确测量(+)和(-)输入端口之间的电位差,并将共模电压完全抑制掉。 需要注意,若输入共模电压超过允许范围,将会降低测量系统的共模抑制比。为了避免测量误差,需要限制信号地与数据采集卡的地之间的浮地电压。
测量系统分类 ---参考地单端测量系统 所有信号均使用同一个参考电压或接地电压,也称为接地测量系统。在接地测量系统中,被测信号一端接模拟输入通道,另一端直接与系统地AIGND相连。
测量系统分类---无参考地单端测量系统 所有测量都有一个共同的参考源,但此类参考电压可根据测量系统的地面实际情况而有所不同。在无参考地单端测量系统中,信号的一端接模拟输入通道,另一端接一个公共参考端(AISENSE),但这个参考端电压相对于测量系统的地来说是不断变化的。一个单通道的无参考地单端测量系统和一个单通道的差分测量系统是一样的。
测量系统的选择 单端输入以一个共同点为参考点,这种方式适用于输入信号为高电平(大于1V)且信号源与采集端之间的距离较短(通常小于5m)的应用场合。如果不能满足上述条件,则需要使用差分输入。在差分输入方式下,每个输入可以有不同的参考点,并且有效地消除了共模噪声的影响,所以差分输入方式的采集精度较高。
模拟多路开关 • 模拟多路开关可以分时选通来自多个输入通道的某一路信号,使得在一个特定的时间范围内,只允许一路模拟信号输入到A/D转换器。因此,在多路开关后的单元电路,如采样/保持电路、A/D及处理器电路等,只需一套即可,这样可以降低成本,减小设备体积。 • 多路开关从一个通道切换到另一个通道时会发生瞬变现象,使输出产生短暂的尖峰电压。 • 模拟多路开关的源负载效应误差和串扰等因素对检测精度有较大的影响,尤其是在信号源内阻较大的时候,因此,信号源的内阻应该尽可能的小。
采集卡基本参数 • 以NI公司的PCI-6071E多功能采集卡为例,介绍采集卡的一般参数: • 模拟输入:64路单端/32路双端,输入范围:±10V • 分辨率:12位 • 采样频率:最高1.25MS/s • 模拟输出:2路,12位,1MS/s,输出范围:±10V • 数字I/O:8路 • 计数器:2路,24位,基准时钟20MHz或100KHz
第三部分 LabVIEW中的数据采集
为什么选择LabVIEW做数据采集? • LabVIEW是一种面向工程师的编程语言,采用图形化编程,多线程同步运行,只需要连线就能进行软件的编制。提供了丰富的函数库和控件,搭建软件的界面非常迅速,一个熟练的工程师可能只需要几分钟就能搭建一个数据采集系统。 • NI的数据采集卡提供了对LabVIEW丰富且完备的支持,驱动函数都是在底层的基础函数上进行了高度封装,用户不需要对采集卡具体工作有深入的了解,只要掌握这些驱动函数输入/输出端口的意义,就能进行数据采集开发。
连续模拟输入 • 需要注意,程序读取数据的速度要不慢于设备往缓冲区中存放数据的速度,这样才能保证连续运行时,缓冲区中的数据不会溢出。可以通过调节以下3个参数来达到上述要求: • buffer size(缓存的大小) • scan rate(采样速率) • number of scans to read at a time(每次读取的样本数) • 连续采集的程序模型为: AI Config AI Start AI Read Data Process AI Clear 循 环
模拟输入的讨论 • 对于一些复杂的采集任务,可以采用一些特殊的采集方式,例如采用外部时钟采集、触发采集等; • 触发采集种类很多,根据触发信号类型可以分为数字信号触发和模拟信号触发;根据触发形式可以分为边沿触发和窗口触发;根据触发功能可以分为启动触发、暂停触发和参考触发; • 不是每个数据采集卡都具有这些特殊采样功能的,使用前要查看采集卡的使用手册; • 在模拟输入采集系统中,实现数据采集并不复杂,数据处理与分析才是难点。
连续模拟输出 • 有两种形式的连续模拟输出,第一种就是在模拟输出之前,将数字信号写入缓冲区中,然后设备连续不断地将缓冲区中的数据通过DAC重复输出。这种连续模出执行效率很高,但是需要写入的数字信号必须是整周期的,不然输出模拟信号将会不连续,在使用上不够灵活。 Digital Signal Nothing AO Config AO Write AO Start AO Write AO Clear 循 环
连续模拟输出 • 第二种方式就是在设备将缓冲区中数据输出的同时,不断地将数字信号写入缓冲区中,这种方式在编程上比较复杂,但是灵活性比较高,只要保证这一次写入缓冲区的数字信号和上次是连续的就行,不需要每次写入的信号是整周期的。 Digital Signal 长度为其1/2 Digital Signal AO Config AO Write AO Start AO Write AO Clear 循 环
LabVIEW中的数字I/O • 一般情况下,数字I/O按照TTL逻辑电平设计,其逻辑低电平在0到0.7V之间,高电平在3.4到5.0V之间; • 在硬件设备上,多路(Line)数字I/O组成一组后被称为端口(Port)。一个端口由多少个数字通路组成是依据其设备而定的,在多数情况下8个数字通路组成一个端口; • 在LabVIEW中对数字I/O的操作非常简单,可以对整个端口进行操作,也可以对端口中的一路或多路同时进行操作。
LabVIEW中的计数器 如左图为计数器的简化模型:一个SOURCE输入口、一个GATE输入口、一个OUT输出口,以及一个计数寄存器 • 可以设置对SOURCE输入端口由高到低或由低到高的信号状态进行计数;可以设置内部计数寄存器的计数方式为递增或递减; • GATE端口的输入控制计数器的计数操作,可以设置为以下几种门限工作方式:高电位计数、低电位计数、上升沿触发计数、下降沿触发计数,以及无门限方式; • 可以使用OUT口发生多种类型的波形,或者用于计数器的串级使用中,从而增大计数器的量程。
并行安排 • 多功能DAQ设备上的模拟输入、模拟输出、数字I/O和计数器等功能是能够同时运行的,可以在程序中并行安排这些功能,还能实现它们的同步。 • 如下图,是一个连续采集和连续模拟输出并行安排的程序,利用传递error信息的数据线安排并行的执行顺序。
第四部分 LabVIEW中数据采集 的扩展应用
对外接口与调用 NI采集卡 LabVIEW 传统DAQ或DAQmx驱动 二次封装DLL 调用DAQmx C API 创建DLL 非NI采集卡 其它环境, 如VC、VB 调用DLL
基于网络的远程数据采集 • 要实现远程数据采集,可以通过网络使多台计算机(客户机)共享一台计算机(服务器)上的DAQ设备,这样就不必在每台客户机上都安装DAQ设备,只需要在服务器上配置DAQ设备即可,整个远程数据采集系统的组成如下图所示。
远程采集的实现方法 • 远程设备访问(RDA)技术 NI公司专为远程数据采集而提供的一项技术,它可将DAQ设备在网络上共享,通过一定的设置后,在客户机上可以控制该远程设备,并且使用起来和本地的DAQ设备并无差别。 • DataSocket技术 NI公司提供的一种新的实时数据传输技术,可用于一个计算机内或网络中多个应用程序之间的数据交换。它克服了传统TCP/IP传输协议需要较为复杂的底层编程、传输速率较慢(特别是对动态数据)等缺点,大大简化了实时数据的传输问题。 • 其它技术 可以通过TCP/UDP网络协议、远程面板(Remote Panels)等实现远程数据采集,各种方法各有优缺点。
基于声卡的数据采集 • 声卡作为语音信号与计算机的通用接口,其主要功能就是经过DSP(数字信号处理)音效芯片的处理,进行模拟音频信号与数字信号的转换,因此,从其功能上来看,声卡也可以作为一块数据采集卡来使用。声卡价格低廉,现在一般的电脑上都已经集成了声卡,用其取代常规的DAQ设备是一种很好的选择,而且LabVIEW中提供了专门用于声卡操作的函数节点,所以用声卡搭建数据采集系统也是非常方便的。
声卡的技术参数 • 声卡的技术参数主要有两个:采样位数和采样频率。 • 声卡采样位数的概念和数据采集卡的位数概念是一样的,是指将模拟信号转化为数字信号的二进制位数,反映了对信号描述的准确程度。位数显然是越高越好,目前市面上几乎所有声卡的主流产品都是16位,而一般数据采集卡大多只是12位,所以从这方面来讲,声卡的精度是比较高的。 • 声卡的采样频率一般不是很高,因为它只是处理音频信号,目前最高采样率为44.1KHz,少数能达48KHz。对于普通声卡,采样频率一般设为4挡:44.1KHz、22.05KHz、11.025KHz和8KHz。 • 另外,还要考虑声卡的频率响应,一般声卡只是对20Hz~20KHz的音频信号有比较好的响应,对这范围之外的信号有很强的衰减作用。对于测试,信号频率在50Hz~10KHz范围内比较好。
声卡的硬件接口 • 对于不同的声卡,其硬件接口有所不同,对于最普通的集成声卡,一般有3个接口,从外观上区分,粉红色的为Mic In,草绿色的为Wave Out,浅蓝色的为Line In。 • Mic In接口只能接受较弱的信号,易受干扰,对于数据采集,一般常用Line In接口,它可接受幅值约不超过1.5V的信号,这两个输入接口内部都有隔直电容,直流或频率较低的信号不能被声卡接受。 • 用集成声卡做数据采集时,被测信号应从浅蓝色的Line In口引入,输出信号应从草绿色Wave Out口输出 。 Line In Wave Out Mic In