《虚拟仪器实用编程技术 数据采集.pptx》由会员分享,可在线阅读,更多相关《虚拟仪器实用编程技术 数据采集.pptx(63页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、主要学习内容主要学习内容 1熟悉信号和数据采集的一些基本知识。2熟悉 LabVIEW中DAQ库,重点掌握模 拟输入和模拟输出模块及其应用。第1页/共63页9.1.1 信号类型信号类型(1)数字信号(2)模拟直流信号(3)模拟时域信号(4)模拟频域信号第2页/共63页信号的分类第3页/共63页9.1.29.1.2采样频率、抗混叠滤波器和样本数采样频率、抗混叠滤波器和样本数根据采样定理,采样频率必须是采集信号最高频率的两倍以上。如果给定了采样频率,那么能够正确显示信号而不发生畸变的最大频率叫做奈奎斯特频率,它是采样频率的一半。如果信号中包含频率高于奈奎斯特频率的成分,信号将在直流和奈奎斯特频率之间
2、畸变。第4页/共63页下图显示了一个信号分别用合适的采样率和过低的采样率进行采样的结果。(a)足够的采样率下的采样结果(b)过低样率下的采样结果第5页/共63页采样率过低的结果是还原的信号的频率看上去与原始信号不同。这种信号畸变叫做混叠(aliasing)。出现的混频偏差(aliasing frequency)是输入信号的频率和最靠近的采样率整数倍的差的绝对值。第6页/共63页给出了一个例子。假设采样频率fs是100Hz,信号中含有25、70、160和510Hz的成分。说明混叠的例子 第7页/共63页那么低于奈奎斯特频率即fs/2=50Hz的信号可以被正确采样。而频率高于50Hz的信号成分被采
3、样时会发生畸变,分别产生了30HZ、40HZ和10Hz的畸变频率F2、F3和F4。计算混频偏差的公式是:混频偏差abs(采样频率的最近整数倍输入频率)其中abs表示对括号中的值取绝对值 第8页/共63页为了避免这种情况的发生,通常在信号被采集(即A/D转换)之前,经过一个低通滤波器,将信号中高于奈奎斯特频率的信号成分滤去,这种滤波器称为抗混叠滤波器。第9页/共63页采样频率应当怎样设置呢?采样频率应当怎样设置呢?通常用户可能会首先考虑用采集卡支持的最大频率,但是,长时间使用很高的采样频率可能会导致内存不足或者硬盘存储数据太慢。理论上设置采样频率为被采集信号最高频率成分的倍就够了,实际上工程中选
4、用510倍,有时为了较好地还原波形,甚至更高一些。第10页/共63页样本数的要求样本数的要求对样本数又有一定的要求,一般不能只提供一个信号周期的数据样本,希望有510个周期,甚至更多的数据样本,而且希望所提供的样本总数是整周期个数。这样可能产生一个问题,有时并不知道或不确切知道被采样信号的频率,因此不但采样频率不一定是信号频率的整倍数,也不能保证是整周期数的样本。所有的仅仅是一个时间序列的离散的函数x(n)和采样频率,这是测量与分析的惟一依据。第11页/共63页9.1.3 9.1.3 数据采集系统构成数据采集系统构成工程上使用具有PCI、PXI、USB、并口以及串口的计算机来获取测试数据,称为
5、基于PC的DAQ系统。这种系统一般有两种方案:一种是通过插入式的DAQ卡直接获取数据传输给计算机;另外一种是由计算机外部的DAQ硬件获取测试数据,然后通过各种总线,例如并口或者串口,传输给计算机。第12页/共63页基于PC的DAQ系统包含以下基本要素:个人计算机(PC);传感器;信号调理装置;DAQ设备;数据处理及驱动程序等软件 第13页/共63页 基于PC的DAQ系统 第14页/共63页 DAQ设备与计算机相连的整体系统框图 第15页/共63页9.1.4 9.1.4 信号调理信号调理 从传感器得到的信号大多要经过调理才能进入数据采集设备,信号调理功能包括放大、隔离、滤波、激励、线性化等。(1
6、 1)放大:微弱信号都要进行放大以提高分辨率和降低噪声,使调理后信号的电压范围和A/D的电压范围相匹配。(2 2)隔离:隔离是指使用变压器、光或电容耦合等方法在被测系统和测试系统之间传递信号,避免直接的电连接。(使用隔离的原因有两个:一是从安全的角度考虑;二是隔离可使从数据采集卡读出来的数据不受地电位和输入模式的影响。)第16页/共63页(3 3)滤波:滤波的目的是从所测量的信号中除去不需要的成分。大多数信号调理模块有低通滤波器,用来滤除噪声。并且为了滤除信号中最高频率以上的频率信号,还需要抗混叠滤波器。某些高性能的数据采集卡自身带有抗混叠滤波器。(4 4)激励:信号调理也能够为某些传感器提供
7、所需的激励信号,比如应变传感器、热敏电阻等需要外界电源或电流激励信号。很多信号调理模块都提供电流源和电压源以便给传感器提供激励。第17页/共63页(5 5)线性化 :许多传感器对被测量的响应是非线性的,因而需要对其输出信号进行线性化,以补偿传感器带来的误差。但目前的趋势是,数据采集系统可以利用软件来解决这一问题。(6 6)数字信号调理:即使传感器直接输出数字信号,有时也有必要进行调理。调理的作用是将传感器输出的数字信号进行必要的整形或电平调整。大多数数字信号调理模块还提供其他一些电路模块,使得用户可以通过数据采集卡的数字I/OI/O直接控制电磁阀、电灯、电动机等外部设备。第18页/共63页9.
8、1.5 9.1.5 数据采集数据采集(DAQ)(DAQ)卡及其配置卡及其配置(1 1)数据采集卡的功能 一个典型的数据采集卡的功能有模拟输入、模拟输出、数字I/O、计数器/计时器等,这些功能分别由相应的电路来实现。模拟输入是采集最基本的功能。它一般由多路开关(MUXMUX)、放大器、采样保持电路以及A/DA/D来实现。通过这些部分,一个模拟信号就可以转化为数字信号。A/DA/D的性能和参数直接影响着模拟输入的质量,要根据实际需要的精度来选择合适的A/DA/D。模拟输出通常是为采集系统提供激励。第19页/共63页(2 2)数据采集卡的软件配置在使用数据采集卡之前,必须先进行卡的配置,配置卡的通道
9、等。NI公司提供了一个数据采集卡的配置工具软件,即Measurement Automation Explorer(MAX)来对采集卡进行通道配置。第20页/共63页以NI公司的数据采集卡PCI-6014为例说明数据采集卡的配置过程。(1)首先将数据采集卡插在机箱后相应的PCI总线插槽上,然后安装相应的驱动程序。(2)从 开 始 菜 单 的 程 序 子 菜 单 中 选 择National InstrumentsMeasurement&Automation Explorer来运行MAX。(3)Measurement&Automation Explorer运行的初始界面如图(演示)。第21页/共63
10、页数据采集卡一旦安装在计算机中,在MAXMAX的Device and InterfaceDevice and Interface的下级目录中就会显示出相应的采集卡型号。本系统安装的是PCI-6014PCI-6014,其显示如图。Measurement&Automation Explorer的目录 第22页/共63页在PCI-6014数据采集卡项目上单击鼠标右键,将弹出快捷菜单,在此菜单中单击各项目即可进入相关的操作界面。单击属性操作(Properties)可得如下图所示的界面,可以对数据采集卡的属性进行配置和检查,数据采集卡的系统属性 第23页/共63页 数据采集卡的模拟输入属性操作 第24页
11、/共63页单击设备测试面板(Test Panel)将会出现如图所示的界面,可以选择相应项,进行通道测试。该PCI-6014采集卡被定义设备号1。设备测试第25页/共63页9.2 9.2 模拟输入模拟输入 模拟输入的相关参数模拟输入的相关参数 1分辨率(Resolution):分辨率就是用来进行模数转换的位数,A/D的位数越多,分辨率就越高,可区分的最小电压就越小。2电压范围(Range):电压范围由A/D能数字化的模拟信号的最高和最低电压决定。一般情况下,采集卡的电压范围是可调的,所以可选择和信号电压变化范围相匹配的电压范围以充分利用分辨率范围,得到更高的精度。3增益(Gain):增益主要用于
12、在信号数字化之前对衰减的信号进行放大。使用增益,可以等效地降低A/D的输入范围,使它能尽量将信号分为更多的等份,基本达到满量程,这样可以更好地复原信号。第26页/共63页9.2.2 9.2.2 模拟输入模块分类及简介模拟输入模块分类及简介1模拟输入模块分类 简易模入VIs中级模入VIs高级模入VIs通用模入VIs 模拟输入的各种模块 第27页/共63页(1)简易模入VIs(Easy Analog VIs)(2)中级模入VIs(Intermediate Analog Input VIs)(3)通用模入VIs(Utility Analog Input VIs)(4)高级模入VIs(Advanced
13、 Analog Input VIs)第28页/共63页在研究数据采集VI之前需要了解它们常用的输入输出端口定义。以多通道模入波形采集AI AI Acquire Waveform.viAcquire Waveform.vi为例来说明其常用端口定义:AI Acquire Waveform.vi的图标 第29页/共63页常用端口定义常用端口定义device:设备号。channels:指定数据样本的物理源。在LabVIEW LabVIEW VIVI中,一个通道或一组通道都用一个字符串来指定。通道通道 通道字符串通道字符串 通道通道2 2 2通道通道0 0到到7 7 0:7通道通道1 1,3 3,以及,
14、以及5 5到到7 7 1,3,5:7第30页/共63页scan rate(1000 scans/sec):为采样速率,缺省值是1000/秒。number of samples/ch:每通道要采集的样本数,缺省值是1000。high limit:被测信号的最高电平,其缺省值是0。设为缺省值时系统将按照在MAX中设定的处理。low limit:被测信号的最低电平,其缺省值是0。设为缺省值时系统将按照在MAX中设定的处理。high limit和low limit的值将决定采集系统的增益。waveforms:A/D转换后的输出,是一个二维的waveform数组,其每一列对应于一个输入通道,同时包含有反
15、映时间信息的t0和t。第31页/共63页2 2简易模拟输入函数(简易模拟输入函数(Easy Analog Easy Analog VIsVIs)这是LabVIEWLabVIEW提供的一组标准的、简单易用的采集VIVI。第32页/共63页从左到右,四个VI的功能为:从指定通道获得一个样本。从通道字符串规定的每个通道获得一个样本。这些样本返回到一个样本数组,顺序由通道号决定。按指定的采样率由一个通道得到一个波形(一组覆盖 一 个 周 期 的 样 本),这 些 样 本 返 回 到 一 个waveform数组。从通道字符串规定的每个通道获得一个波形。这些样本返回到一个波形的二维数组,顺序由通道号和采样
16、周期决定。通道数据的每个点占一列,时间增量由行决定。第33页/共63页例例9.1 9.1 直流电压信号采集直流电压信号采集目的:采集一个直流电压信号准备一个直流电源,本程序在设计过程中采用的是数据采集卡PCI-6014的内部电源作为信号源,连接到数据采集卡的0号通道模拟输入端。前面板设置包括单点数值显示,指针显示,采集时间,采集人,通道选择,电源工作指示灯,开始、返回按钮,然后添加其余的功能控件和修饰控件,并在控件上加汉字修饰,如图所示。第34页/共63页 单点采集前面板 第35页/共63页在框图程序中,使用的最主要的函数是简易模入AI Sample Channel.vi;本函数的设置为:设备
17、号(device)默认值1,high limit(0.0)和low limit(0.0)可以根据实际情况而设定。本函数可以实现单点采集;要想实现连续采集,则要加一个While循环,框图程序如图。第36页/共63页 单点采集框图程序 第37页/共63页 单点采集运行结果 n运行程序,可以得到采集数据、实现对单点电压的采集、存储等功能。程序的运行结果如图。第38页/共63页例例9.2 9.2 单波采集单波采集VIVI目的:采集一系列的电压或电流的波形信号。准备一个波形信号源,本程序在设计时采用VC1640-VC1640-0202函数发生器作为信号源。前面板设置,包括示波器显示波形,波形参数(如峰-
18、峰值、最大、最小值等),采集时间,采集人,波形存储路径,通道选择(可根据实际情况设定),设备号,扫描速率(可根据实际情况设定),电源工作指示灯,开始、返回按钮。添加其余的功能控件和修饰控件,并在控件上添加汉字标识。该程序能实现对电压波形的采集、存储等功能。前面板设置如图。第39页/共63页 单波采集前面板 第40页/共63页在框图程序中,使用的采集波形的函数是AI Acquire Waveform.vi。本函数的设置,设备号(device)为默认值1,单通道采样数(number of samples/ch)可不设定,单通道采样速率(sample rate)可以根据实际情况在前面板设定,也 可
19、以 设 为 默 认 值 1000samples/sec,high limit(0.0)和low limit(0.0)可以根据实际情况而设定,也可以不设。再添加Case结构和While循环结构实现对该程序的控制。另外,本程序中使用了Functions Signal Analysis Statistics.vi函数对采集波形进行描述。其波形参数有:信号最大值、信号最小值、峰-峰值、信号均方根值(RMS)、Time of Max等,具体见前面板。使用Write Waveforms to File.vi来保存所采集到的波形。第41页/共63页 单波采集的框图程序 第42页/共63页 单波采集运行结果
20、第43页/共63页例例9.3 9.3 双通道波形采集双通道波形采集VIVI目的:从多通道数据采集中提取样本数据。准备一个方波信号源和一个正弦波信号源,本程序在设计时采用两个VC1640-02VC1640-02函数发生器作为信号源。前面板设置中,包括3 3个示波器:1 1个显示双波形,其它2 2个分别显示电压电流单个波形、波形参数(如峰-峰值、信号均方根值等)、采集时间、采集人、波形存储路径、通道选择(可根据实际情况设定)、设备号、每通道样本数(可根据实际情况设定)、扫描速率(可根据实际情况设定)、电源工作指功能。添加其余的功能控件,选择控件和修饰控件。特别是通道选择控件极其重要,关系到波形的选
21、择。具体设置如下图所示。第44页/共63页 双通道波形采集前面板 第45页/共63页在框图程序中,使用的采集波形的函数是AI Acquire Waveforms.vi。函数的设置:设备号(device)为默认值1,单通道采样数 (number of samples/ch)可不设定,单通道采样速率 (sample rate)可以根据实际情况在前面板设定,也可以设 为 默 认 值 1000samples/sec,high limit(0.0)和low limit(0.0)可以根据实际情况而设定,也可以不设。添加Case结构和While循环结构实现对该程序的控制。本程序中还使用了Statistics
22、.vi函数两次,分别对两个采 集波形进行描述,波形参数有:信号最大值、信号最小 值、峰-峰值、信号均方根值(RMS)、Time of Max等。使用Write Waveforms to File.vi函数来保存所采集到的 波形。第46页/共63页 双通道波形采集的框图程序 第47页/共63页 双通道波形采集运行 第48页/共63页3 3中级模入中级模入Analog InputAnalog Input中级模入有更好的功能与灵活性,可以更有效地开发应用。它的特点包括控制内部采样率、使用外部触发、执行连续外部触发等。Analog InputAnalog Input包括下面的AI ConfigAI C
23、onfig,AI AI StartStart,AI ReadAI Read,AI Single-ScanAI Single-Scan和AI ClearAI Clear。第49页/共63页AI Config对指定的通道设置模入操作,包括硬件、计算机内buffer的分配。常用的端子有:devicedevice:采集卡的设备号。channelchannel:指定模拟输入通道号。input input limitlimit:指定输入信号的范围达到调节硬件增益的目的。buffer buffer sizesize:缓冲大小,单位是scan扫描的个数,控制用于采集数据的AI Config占用计算机内存的大小
24、。Interchannel delayInterchannel delay:在有通道时钟和扫描时钟的情况下,可用它来设置通道间的时间延迟,采用默认值可以让LabVIEW自动选择最小的时间延迟。第50页/共63页AI Start启动带缓冲的模入操作。它控制数据采集速率,数据采集点的数目,及使用硬件触发的选择。它的两个重要输入是:Scan Scan rate(scan/sec)rate(scan/sec):对每个通道设置的每秒扫描次数,即每通道的扫描速率。Number of scans to acquireNumber of scans to acquire:获得通道列表的扫描次数,即每通道的样本
25、数。AI Read:从被AI Config分配的缓冲区中读取数据。它能够控制由缓冲区读取的点数,读取数据在缓冲区中的位置,以及是否返回二进制数或标度的电压数。它的输出是一个二维数组,其中每一列数据对应于通道列表中的一个通道。第51页/共63页AI Single Scan:返回一个扫描数据。它的电压数据输出是通道列表中的每个通道读出的电压数据。使用这个 VI仅 与 AI Config有 关 联,不 需 要 AI Start和 AI Read。AI Clear:清除模入操作、计算机中分配的缓冲、释放所有数据采集卡的资源。当设置一个模入应用时,首先使用的VI总是AI Config。AI Config
26、会产生一个taskID(任务标识)和error cluster(出错信息簇)。所有其他模入VI接受这个taskID以识别操作的设备和通道,并且在操作完成后输出一个taskID。因为taskID是一个输入向另一个模入VI输出,所以该参数是数据采集VI之间的一个关联数据。第52页/共63页9.3 9.3 模拟输出(模拟输出(Analog Analog OutputOutput)基本参数与术语基本参数与术语 1 1建立时间(Settling Time)(Settling Time):变化量为满刻度时,达到终值1/2LSB时所需的时间。这个参数反映D/A转换从一个稳态值到另一个稳态值的过渡过程的长短。
27、建立时间一般为几十纳秒至几微秒。2 2转换速率(Slew Rate)(Slew Rate):D/A输出能达到的最大变化速率,即电平变化除以转换所用时间,通常指电压满范围内的转换速率。3 3精度(AccuracyAccuracy):精度分为绝对精度和相对精度。绝对精度是指输入某已知数字量时其理论输出模拟值和实际所测得的输出值之差,该误差一般应低于1/2LSB1/2LSB。相对精度是绝对精度相对于额定满度输出值的比值,可用偏差多少LSBLSB或者相对满度的百分比表示。D/AD/A的分辨率越高,数字电平的个数就越多,精度越高。D/AD/A范围增大,精度就会下降。第53页/共63页9.3.2 9.3.
28、2 模拟输出模块介绍模拟输出模块介绍1简易模出(Easy Analog Output)与简易模入类似,这里也提供了个模块,分别对应于单(多)通道输出波形或电压数据。第54页/共63页2中级模出(Analog Output)AO Config对指定的通道设置模出操作,包括硬件、计算机内buffer的分配。常用的端子有:devicedevice:采集卡的设备号。channelchannel:指定模出通道号。limit settingslimit settings:指定输出信号的范围。taskIDtaskID:用于所有后来的模出VI以确定操作的设备和通道。第55页/共63页AO Write:以电压数
29、据的方式写数据到模出数据缓冲区。它是一个二维数组,其中每一列数据对应于通道列表中的一个通道。注意:通常其他函数为其准备的波形数据是一个一维数组,且数据分布在一行中,这里需要将其“虚扩”为二维数组,并做一次转置。AO Start:启动带缓冲的模出操作。Update rate(scan/sec)是每秒发生的更新数据个数。如果你将写入number of buffer iterations端子,则卡将连续输出给缓冲,直到运行AO Clear功能。第56页/共63页AO Wait:在返回之前一直等待直到波形发生任务完成。它的电压数据输出是通道列表中的每个通道读出的电压数据。使用这个VI仅与AO Conf
30、ig有关联,不需要AO Start和AO Read。AO Clear:清除模出操作、计算机中分配的缓冲、释放所有数据采集卡的资源,例如计数器。当设置一个模出应用时,首先使用的VI总是AO Config。AO Config会产生一个taskID和error cluster(出错信息簇)。所有别的模出VI接受这个taskID以识别操作的设备和通道,并且在操作完成后输出一个taskID。该参数形成了采集VI之间的一个关联数据。第57页/共63页例例9.4 9.4 模拟输出电平和波形模拟输出电平和波形目的:产生一个模拟输出电平或模拟输出波形准备一个万用表,在程序设计时检测用。前面板的设置,包括操作员,
31、时间,设备号,通道选择(可根据实际情况设定),电源工作指示灯,波形相位,输出电平按钮,波形按钮,返回按钮,模拟输出电压指针指示,模拟输出波形显示,波形存储路径。添加其余的功能控件、选择控件和修饰控件,特别是输入电平值控件和输入初始相位控件。如果不加这两个控件,则无法输出所需值。前面板设置如图。第58页/共63页 模拟输出前面板 第59页/共63页在框图程序中,使用的采集波形的函数是AO Update Channel.vi和AO Generate Waveform.vi分别输出电平和波形。AO Update Channel.vi函数的设置:设备号(device)为默认值1,通道选择、输入端子value的值在前面板设定。AO Generate Waveform.vi函数的设置:设备号(device)为默认值1,单通道输出速率(update rate)可以根据实际情况在前面板设定,也可以设为默认值1000samples/sec;通道选择在前面板设定,Waveform通过波形产生函数Triangle Waveform.vi连接。框图程序和运行结果如图。第60页/共63页 模拟输出流程图 第61页/共63页模拟输出运行结果第62页/共63页感谢您的观看!第63页/共63页
限制150内