当前位置:首页 > 测试测量 > 测试测量
[导读] 摘要:基于虚拟仪器技术, 利用LabVIEW 语言进行信号采集系统的研制具有重要意义。文章介绍信号采集与处理系统的主要流程。详细介绍PCI-1714 数据采集卡的原理及功能,通过数据采集程序实例介绍基于LabVIEW 语

      摘要:基于虚拟仪器技术, 利用LabVIEW 语言进行信号采集系统的研制具有重要意义。文章介绍信号采集与处理系统的主要流程。详细介绍PCI-1714 数据采集卡的原理及功能,通过数据采集程序实例介绍基于LabVIEW 语言实现PCI-1714 采集卡的全过程,利用LabVIEW 语言编写的程序用于将存储数据调出,并对信号波形特点进行分析。

  1 概述

  实验室虚拟仪器工程平台(LabVIEW)是一种专门用于数据采集、分析及仪器控制的图形化软件,它所开发的虚拟仪器将计算机强大的数据处理能力与仪器的硬件测试控制能力很好地结合在一起。

  LabVIEW 的图形化开发环境具有精确、高效、功能强大、开发简易、实时性强、界面友好等优点,为用户提供了强大功能和使用的灵活性, 非常适合用于进行仿真、实时检测和控制。目前,LabVIEW 已经成为测试领域应用最广泛和最有前途的软件开发平台之一,也是应用最广、发展最快、功能最强的图形化软件开发集成环境之一。

  虚拟仪器可以利用高性能的模块化硬件, 结合高效灵活的软件来完成各种测试、测量和自动化应用,与传统的测量仪器相比,具有成本低、功能强大、集成度高、质量可靠、维护方便等优点,能很方便地组建测试系统,满足多种测量要求。因此,基于虚拟仪器技术, 利用LabVIEW 语言进行信号采集系统的研制具有重要意义。

  LabVIEW 虚拟仪器主要包括前面板、框图和图标/ 接口部件三部分。

  前面板是VI 的交互式用户界面, 即用户与程序代码发生联系的窗口。VI 前面板是控件和指示器的组合,控件仿真常规仪器上的输入输出设备类型,如旋钮和开关,并提供一种机制,将输入从前面板传送到基本框图。

  信号采集与处理系统主要应用的是数据采集卡的A / D(模/ 数)转换功能,通过数据采集卡将采集端采集到的模拟电信号利用高速模数转换电路转换为数字信号,经过数据采集卡板载缓存,最后利用计算机中的程序不断从缓存中提取数据, 存入计算机中,并进行相关处理,提取有用数据进行硬盘存储。

  利用LabVIEW 语言编写数据采集卡的驱动程序,对信号分析处理及存储流程如图1 所示。


图1 信号采集与处理系统总流程图。

  2 PCI-1714 数据采集卡

  Advantech 公司的PCI-1714 是一款PCI 接口的高速4 通道同步数据采集卡, 可用于高速数据采集应用,性价比较高,适用于仪器测试、图像处理、视频数字化处理及声音与振动测试等领域。

  PCI-1714 是高速、高分辨力、高容量的PCI 数据采集卡, 配备4 组模拟输入端, 具备同步采集功能。其特性可归纳为:a)内含4 个独立ADC(模数转换器),可使4 个信道同步取样,当4 组模拟输入同时使用时,采样频率理论最高可达30 MS/s。b)每路ADC 内建32 K FIFO 内存,使用者在高速采样时有足够缓冲区可供暂存, 以维持数据采集速度及完整性。c)提供多种输入范围,包含±5 V、±2.5 V、±1 V、±0.5 V 等, 使用者通过工具程序即可轻松完成设定。d) 高达6 种触发模式, 包含软件触发、Pacer、Post-Trigger、Pre-Trigger、Delay-Trigger 及About-Trigger 触发方式,方便客户按需求自行设定。

  基于PCI-1714 的通用高速数据采集系统结构如图2 所示。


图2 基于PCI-1714 的高速数据采集系统结构框图。

  将需监测的现场信号经滤波器滤波后送入PCI-1714 板卡, 卡上A / D 转换器对信号进行高速模数转换。转换数据首先暂存在板卡的32 K 板载FIFO (先入先出) 中, 当FIFO 半满或全满时,向DMA(动态内存存取)控制器发送DMA 请求,使用直接内存存取方式,经PCI(外设组件互连)总线将数据从FIFO 输出到内部缓冲区中,PCI 总线传输带宽很宽, 可以满足4 通道高速同步采样时所带来的高速数据传输要求。

  内部缓冲区作为高速数据采集系统的海量缓存,它与用户缓冲区一样,都是数据采集程序动态分配给驱动程序使用的两块内存区域, 区别在于内部缓冲区存放的是从FIFO 取来的原始值, 用户缓冲区存放的是经转换之后的电压值。

  在进行长时间高速数据采集时,PCI-1714 多采用循环方式。在此方式下,启动一次采集过程能进行无数次的A / D 转换。此时内部缓冲区分成前后对等的两个半区使用,当前半区填满后,将此半区的数据向用户缓冲区传送, 同时将新转换的数据放在内部缓冲区的后半部分。当后半区填满后,此半区数据向用户缓冲区传送。同时自动将新转换的数据放到早已传输完毕的前半个缓冲区。可通过查询状态寄存器的状态来判断FIFO 缓冲区的状态, 分别判断空标志位(Empty flag)、半满标志位(Half full flag)以及全满标志位(Full flag)。

  内部缓冲区和用户缓冲区的数据可以在程序控制下以文件的形式保存至计算机中, 实现采集数据永久性存储,便于后期数据分析处理。

  3 基于LabVIEW 语言实现的PCI-1714采集卡数据采集程序实例

  下面介绍用LabVIEW 语言编写的PCI-1714 采集卡数据采集驱动程序。该程序能够实现对传感系统外界信号的数据进行连续采集, 并能根据需要对有用数据进行存储。

  从功能上分,该程序主要分为三部分:a)对采集卡进行初始化,完成采集卡重要工作参数的设置,如用户缓存、采样速率(scan rate)、输入限制等。b)进行数据采集和有用数据的存储, 就是将数据先放入采集卡的板载缓存FIFO 中, 再由计算机读取板载缓存中的数据, 写入由计算机的内存中分配出的用户缓存, 然后根据需要将有用数据从内存中存入计算机硬盘。具体存储格式可以为多种,该部分中包括的子VI 有读取数据模块、数据存储模块以及显示所采集信号的时域图形的模块。c)在采集结束后关闭采集卡。

  为了使用PCI-1714 进行连续高速的数据采集,需要对采集速率、用户缓存大小等重要参数进行合理设置。如前所述,数据采集卡进行A / D 转换时是连续进行的, 也就是说采集卡往板载缓存中放入数据是连续进行的, 而计算机从板载缓存FIFO 中读取数据放入用户缓存时是在FIFO 半满或全满的状态下批量读取的,同时,如果要进行数据的存储,从用户缓存再向硬盘中写入数据时也是批量进行的。

  由于用户缓存的大小受计算机内存空间大小的限制,不可能无限大,在使用过程中,只能尽量设得比较大,一般可以设为内存的十分之一左右。在保持一定的数据采样率并且用户缓存确定的情况下, 如果存储过程中,单批量写入硬盘的数据过少,会出现不能及时将数据从用户缓存中读出, 从而导致用户缓存溢出的错误。而当单批量写入硬盘的数据过多时,又会出现从用户缓存读取数据过快, 可能会读出空数据的错误,所以这几个参数必须互相配合设定才能使采集卡获得良好的采集和数据存储的性能。

  4 基于LabVIEW 的数据调用与处理

  利用上述程序完成信号采集的同时可以将有用信号存储,用于后续分析,下面举例说明如何将存储之后的波形数据重新调出并进行分析。

  将以TXT 格式存储的数据从文件中调出并进行频谱分析的程序。在程序前面板中可以同时将一段数据表示的信号时域波形及利用“FFT 功率谱”VI分析获得功率谱波形显示出来。

  利用LabVIEW 语言编写一个用于将存储数据调出并对信号波形特点进行分析的程序,该程序可以将一个具有多信道的监测信号从存储文件中调出,不同信道的监测信号各不相同,根据信号波形的特点,可以选用相关方法进行信号处理,分析各信号对应的监测环境的变化。利用LabVIEW 所提供的“调用库函数节点”模块,可以很方便地把C 语言编写的程序嵌入LabVIEW 程序中, 并且可以封装成子VI,供主程序调用。适用于一些LabVIEW 语言编程效率不高的应用场合,利用“调用库函数节点”模块编写的子VI 程序。

  5 结束语

  从以上分析可以看出, 利用LabVIEW 语言可以方便地解决信号采集与处理领域的相关问题,无论是对数据采集卡PCI1714 的驱动编写、数据的存储, 还是对数据的调用与分析都可以充分的调用该语言提供的专用VI, 并且在图形化语言编写环境中,获得清晰的数据流程。而且LabVIEW 语言也支持用户对VI 的二次开发,并可以调用其他语言编写的程序, 还可以将用户自行编写的程序方便地封装成标准VI,供后续程序调用,为提高程序编写的效率及扩展程序功能带来极大方便。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

NI提供的软件包经济省时,不仅帮助开发人员节省时间,还为创客提供了新的机遇

关键字: LabVIEW 自动化测试系统

强大的图形化编程工具使整个测试和测量过程的各个方面实现可视化

关键字: LabVIEW 图形化编程工具

Spectrum仪器全新旗舰型号集10GS/s、12位分辨率、4.7GHz带宽与12.8GB/s数据流传输于一体

关键字: 数字化仪卡 信号采集

摘要:对于每一型新机试飞,或者是重大的研究性试飞和验证试飞,都必须实施遥测监控。现基于TTS(TextToSpeech)语音合成技术,结合飞行试验遥测监控系统的不足,利用TTS引擎在LabVIEW开发环境下设计并实现了遥...

关键字: 飞行试验遥测监控系统 TTS LabVIEW

运算放大器在信号的采集、放大等各种应用中非常广泛,其应用电路也非常多,因此我们特地针对运算放大器的各种电路的实现、参数和一些关键的特性做了总结,以供各位小伙伴查阅。

关键字: 运算放大器 信号采集 同相放大器

在科研以及应用软件领域,LabVIEW和MATLAB作为比较常用的2款工具,相信很多人都用过吧。简单的概括一下,LabVIEW侧重测试测量和数据采集,MATLAB侧重科学计算和数据分析。

关键字: LabVIEW matlab 混合编程

摘要:利用单片机和虚拟仪器LabVIEW在PC端设计了温湿度测量及控制系统,用于温湿度数据监测。该系统上位机为PC端监控界面,下位机为单片机,单片机采集温湿度数据,并将采集到的数据通过串口发送给监控界面进行监测和管理。该...

关键字: DHT11 LabVIEW 单片机

摘要:当前闭环步进电机在自动化设备中的应用越来越广泛,故为了进一步满足闭环步进电机的应用需求,采用LabVIEW上位机+运动控制卡+驱动器模块的控制方案进行了多轴运动系统的设计,通过设计的上位机软件实现闭环步进电机的实时...

关键字: 闭环步进电机 精度测试 LabVIEW

拥有10 GSample/s速率、12位分辨率+ 和12.8 GByte/s流式传输速度的新产品

关键字: PCIe数字化仪卡 信号采集

摘要:为满足某扭矩检测试验标准要求,基于LabView设计开发了一款扭矩检测装置,该装置能检测某类零部件的断裂力矩,满足试验标准要求,其他零部件的扭矩也可在该装置上检测。类似的扭矩装置可参考该装置进行设计。

关键字: 伺服电机 LabVIEW PLC
关闭
关闭