LabVIEW与数据采集小组成员:蔺勇智杨永华罗国涛内容与安排虚拟仪器与LabVIEW简介数据采集的相关介绍LabVIEW中的数据采集LabVIEW中数据采集的扩展应用介绍若干实例第一部分虚拟仪器简介NI公司于20世纪70年代中期提出了虚拟仪器的概念。虚拟仪器是在以通用计算机为核心的硬件平台上,由用户设计定义,具有虚拟面板,测试功能由测试软件实现的一种计算机仪器系统,是计算机技术与仪器技术相结合的产物,其基础是计算机系统,核心是软件技术。简而言之,虚拟仪器就是在开放架构的基础上创建用户自定义的测试系统。虚拟仪器大大突破了传统仪器在数据采集、处理、显示、存储等方面的限制,是一个测试和自动化系统的高性能、低成本运载平台。虚拟仪器的构成虚拟仪器与传统仪器的比较独立式传统仪器的基本框架类似于基于PC机的虚拟仪器根本区别在于两者不同的灵活性,用户是否能够根据各自不同的需求对其进行修改和扩展虚拟仪器的特点软件是虚拟仪器的核心性价比高缩小了仪器厂商与用户之间的距离具有良好的人机界面具有方便、灵活的互联可靠性高具有开放性、模块化、可重复使用及互换性等特点维护、维修方便什么是LabVIEWLabVIEW是美国NI(NationalInstrument)公司推出的一种基于G语言(GraphicsLanguage,图形化编程语言)的虚拟仪器软件开发工具。LabVIEW为虚拟仪器设计者提供了一个便捷、轻松的设计环境。利用它,设计者可以像搭积木一样轻松组建一个测量系统和构造自己的仪器面板,而无需进行任何繁琐的计算机代码的编写。LabVIEW的特点与优点图形化编程方式提供丰富的数据采集、分析及存储的库函数即提供传统的程序调试手段,同时提供独到的高亮执行工具,程序调试、开发更方便包括了DAQ、GPIB、PXI、VXI、RS-232/485、USB在内的各种仪器通信总线标准的功能函数提供大量与外部代码或软件进行连接的机制,如DLL、DDE、ActiveX等强大的网络功能,支持常用网络协议LabVIEW程序实例(前面板)输入控件显示控件按钮LabVIEW程序实例(后面板)生成函数第二部分数据采集的任务数据采集系统的任务,具体地说,就是采集传感器输出的模拟信号并转换成计算机能识别的数字信号,然后送入计算机进行相应的计算和处理,得出所需的数据。与此同时,将计算得到的数据进行显示或打印,以便实现对某些物理量的监视,其中一部分数据还将被生产过程中的计算机控制系统用来控制某些物理量。数据采集系统性能的好坏,主要取决于它的精度和速度。模拟信号的数字化处理数据采集的核心过程就是将连续的模拟信号转换成离散的数字信号采样点太多,会占用大量内存单元;采样点太少,会使模拟信号的某些信息被丢失,出现失真现象混叠干扰图中采样频率500Hz,5个正弦波的频率分别为100Hz,200Hz,300Hz,375Hz和400Hz。因为100Hz,200Hz的信号频率小于fs/2,可以由离散信号还原出原始的正弦波连续信号。而300Hz,375Hz和400Hz的信号频率都大于fs/2,故离散信号重构原信号时形成了频率不同于原信号频率的信号,即混叠(aliasing)干扰。采样定理在进行信号采样时,需要遵循采样定理:设连续模拟信号X(t)的频谱为X(f),以采样间隔Ts采样得到的离散模拟信号为X(nTs),如果X(f)和Ts满足以下条件,离散信号X(nTs)可以完全确定频谱X(f)X(f)有截止频率(即最高频率)fh,即当|f|≥fh时,X(f)=0Ts≤1/2fh或fs≥2fh混叠的消除由采样定理可知,如果要求不产生混叠干扰,首先应使被采样信号X(t)成为有限带宽的信号。为此,对不满足此要求的信号,在采样之前,使其先通过模拟低通滤波器滤除高频成分,使其成为带限信号。这种处理称为抗混叠滤波预处理。其次,应使采样频率fs大于带限信号最高频率fh的2倍,即fs2fh。在实际工作中,考虑到实际的模拟低通滤波器不可能有理想的截止特性,在其截止频率fh之后总有一定的过渡带,故采样频率常常选为(3~4)fh,甚至更高。量化为了能用计算机处理信号,须将采样信号转换成数字信号,也就是将采样信号的幅值用二进制码来表示,由于二进制码的位数是有限的,只能代表有限个信号的电平,故在编码之前,首先要对采样信号进行“量化”。量化就是把采样信号的幅值与某个最小数量单位的一系列整倍数比较,以最接近于采样信号幅值的最小数量单位倍数来代替该幅值。这一过程称为“量化过程”,简称“量化”。最小数量单位称为量化单位。量化单位定义为量化器满量程电压FSR(FullScaleRange)与2n的比值,用q表示,有:2nFSRq式中,n为量化器的位数,也就是采集卡的采样位数。量化误差由量化引起的误差叫做量化误差(也常叫做量化噪声,因为它常与噪声有相同影响)。量化误差的最大值为q,它是一种原理性误差,只能减小而不能完全消除。由前面q的定义式可以看出,减小量化误差可以通过两个途径:减小FSR,即根据输入信号的大小,设置合理的采集卡通道的输入信号范围;增大n的值,即选择采样分辨率高的采集卡。信号分类在数据采集应用领域,常将被测信号分为数字信号和模拟信号(也称连续时间信号)。数字(二进制)信号分为开关信号或脉冲信号。模拟信号可分为直流、时域、频域信号,如下图所示。模拟信号的连接方式接入数据采集设备的信号根据参考点的不同可以分为接地信号和浮动信号两种类型。接地信号浮动信号接地信号:就是以系统地(如建筑物的地)为参考点的信号,也称参考信号。因为接地信号用的是系统地,所以与数据采集设备是共地的。最常见的接地信号源是通过墙上的接地引出线接入建筑物地的设备,如信号发生器和电源。一个不与任何地(如大地或建筑物的地)连接的电压信号称为浮动信号,浮动信号的每个端口都与系统地独立。一些常见的浮动信号源有电池、热电偶、变压器和隔离放大器等。测量系统分类---差分测量系统信号的正负极分别与一个模拟输入通道相连接。具有仪器放大器(InstrumentationAmplifier)的数据采集设备可配置成差分测量系统。一个理想的差分测量系统能够精确测量(+)和(-)输入端口之间的电位差,并将共模电压完全抑制掉。需要注意,若输入共模电压超过允许范围,将会降低测量系统的共模抑制比。为了避免测量误差,需要限制信号地与数据采集卡的地之间的浮地电压。测量系统分类---参考地单端测量系统所有信号均使用同一个参考电压或接地电压,也称为接地测量系统。在接地测量系统中,被测信号一端接模拟输入通道,另一端直接与系统地AIGND相连。测量系统分类---无参考地单端测量系统所有测量都有一个共同的参考源,但此类参考电压可根据测量系统的地面实际情况而有所不同。在无参考地单端测量系统中,信号的一端接模拟输入通道,另一端接一个公共参考端(AISENSE),但这个参考端电压相对于测量系统的地来说是不断变化的。一个单通道的无参考地单端测量系统和一个单通道的差分测量系统是一样的。测量系统的选择连接方式接地信号浮动信号差分√√参考地单端√无参考地单端√√单端输入以一个共同点为参考点,这种方式适用于输入信号为高电平(大于1V)且信号源与采集端之间的距离较短(通常小于5m)的应用场合。如果不能满足上述条件,则需要使用差分输入。在差分输入方式下,每个输入可以有不同的参考点,并且有效地消除了共模噪声的影响,所以差分输入方式的采集精度较高。数据采集系统的组成模拟多路开关模拟多路开关可以分时选通来自多个输入通道的某一路信号,使得在一个特定的时间范围内,只允许一路模拟信号输入到A/D转换器。因此,在多路开关后的单元电路,如采样/保持电路、A/D及处理器电路等,只需一套即可,这样可以降低成本,减小设备体积。多路开关从一个通道切换到另一个通道时会发生瞬变现象,使输出产生短暂的尖峰电压。模拟多路开关的源负载效应误差和串扰等因素对检测精度有较大的影响,尤其是在信号源内阻较大的时候,因此,信号源的内阻应该尽可能的小。数据采集卡的功能功能描述模拟输入数据采集卡最基本、最常用的功能,将模拟电压信号通过A/D转换成数字信号。常用于检测温度、压力、流量等传感器的输出电压信号。模拟输出通过D/A转换将自定义的数字信号转化成模拟信号输出。常用作信号发生器为其他系统提供激励。数字I/O处理二值信号,多数采用TTL电平标准。通常用于获取/设置数据采集系统外围设备的状态,可以利用其与外围设备进行通信,还能驱动步进电机等。计数器实现定时功能,或生成数字脉冲信号,以驱动步进电机一类的执行元器件。也能对脉冲信号计数,如测量数字脉冲信号的频率等。采集卡基本参数以NI公司的PCI-6071E多功能采集卡为例,介绍采集卡的一般参数:模拟输入:64路单端/32路双端,输入范围:±10V分辨率:12位采样频率:最高1.25MS/s模拟输出:2路,12位,1MS/s,输出范围:±10V数字I/O:8路计数器:2路,24位,基准时钟20MHz或100KHz第三部分为什么选择LabVIEW做数据采集?LabVIEW是一种面向工程师的编程语言,采用图形化编程,多线程同步运行,只需要连线就能进行软件的编制。提供了丰富的函数库和控件,搭建软件的界面非常迅速,一个熟练的工程师可能只需要几分钟就能搭建一个数据采集系统。NI的数据采集卡提供了对LabVIEW丰富且完备的支持,驱动函数都是在底层的基础函数上进行了高度封装,用户不需要对采集卡具体工作有深入的了解,只要掌握这些驱动函数输入/输出端口的意义,就能进行数据采集开发。LabVIEW中的模拟输入形式描述单点采集采集设备从一个或多个输入通道分别获取一个信号值,然后LabVIEW立即返回这个值,这是一个即时、无缓冲的操作。效率和灵活性低。波形采集在计算机内存中开辟一段缓冲区,设备将采集的数据存入其中,当指定的数据采集完成后,LabVIEW再将缓冲区中的数据一次读出,此时输出的是一段有限长度的信号波形。连续采集开辟一段循环缓冲区,设备连续采集数据并将数据向缓冲区中存放的同时,LabVIEW依据设置,将缓存中的数据一段一段地读取出来。最常用的采集方式。连续模拟输入采到缓冲区中的数据(AIStart)数据结束端当前读取标志LabVIEW从缓冲区中读取的数据(AIRead)数据结束端数据结束端数据结束端当前读取标志当前读取标志连续模拟输入需要注意,程序读取数据的速度要不慢于设备往缓冲区中存放数据的速度,这样才能保证连续运行时,缓冲区中的数据不会溢出。可以通过调节以下3个参数来达到上述要求:buffersize(缓存的大小)scanrate(采样速率)numberofscanstoreadatatime(每次读取的样本数)连续采集的程序模型为:AIConfigAIStartAIReadDataProcessAIClear循环连续模拟输入程序实例模拟输入的讨论对于一些复杂的采集任务,可以采用一些特殊的采集方式,例如采用外部时钟采集、触发采集等;触发采集种类很多,根据触发信号类型可以分为数字信号触发和模拟信号触发;根据触发形式可以分为边沿触发和窗口触发;根据触发功能可以分为启动触发、暂停触发和参考触发;不是每个数据采集卡都具有这些特殊采样功能的,使用前要查看采集卡的使用手册;在模拟输入采集系统中,实现数据采集并不复杂,数据处理与分析才是难点。LabVIEW中的模拟输出形式描述单点模出将一个数据直接写到模拟输出通道,产生一个模拟直流信号,是一个即时、无缓冲的操作波形模出在计算机内存中开辟一段缓冲区,LabVIEW将一段数字波形写入缓冲区中,然后设备将缓冲区中的数据通过DAC输出,就得到一段模拟波形连续模出开辟一段循环缓冲区,LabVIEW将数字波形写入缓冲区中,设备连续将缓冲区中的数据通过DAC输出。最常用的采集方式。连续模拟输出AOConfigAOStartAOWriteAOClear循环AOWriteDigitalSign