APP下载

基于LabWindows/CVI的双通道数据采集系统

2013-10-17周子龙王兆丰王舒弘

电子科技 2013年6期
关键词:采集卡虚拟仪器量程

周子龙,王兆丰,王舒弘

(1.哈尔滨工程大学信息与通信工程学院,黑龙江哈尔滨 150001;2.西安航空动力股份有限公司经理部,陕西西安 710021;3.吉林供电公司吉电集团送电分公司,吉林吉林 132001)

物体的特征有多种,如温度、压力、流量、液位等,本文以温度为例。通过获知部分特征,可以确定其当前状况。因此特征的获知尤为重要。通常用专业的仪器测量这些信号,所需仪器较昂贵。虚拟仪器利用高性能的模块化硬件,加上高效灵活的软件完成测试。目前国内、国际虚拟仪器市场,主要采用LabView软件,但LabView作为一款图形化的开发工具,不够灵活。因此NI公司推出了面向测控领域的LabWindows/CVI软件开发平台,这款测量软件将控件和编程结合在一起,灵活高效[1]。

1 总体架构

首先通过传感器测量物体的特征,以温度为例,将模拟温度信号转换为相应大小的电压信号,对电压信号进行调理放大并去噪,然后通过数据采集卡对电压信号进行采集,实现A/D转换,处理所采信号,将之转变为相应的温度信号加以显示,如图1所示。

图1 温度采集系统

1.1 硬件方面

处理器用 PXI-8106。PXI-8106是2.16 GHz IntelCore 2 Duo双核处理器。PXI-8106插在PXI机箱的0号插槽上,通过机箱上的高速PXI总线与插在1号插槽上的PXI数据采集卡相连接。LabWindows/CVI与NI[2]的数据采集卡配套使用灵活方便,但考虑到成本,选用了凌华公司的PXI-2005数据采集卡。其是一款4通道16位并行多功能数据采集卡,最高采样速率为500 ksample/s,满足项目需要。

1.2 软件方面

使用NI公司的LabWindows/CVI编写上位机界面,对采集到的数据进行处理和显示。

LabWindows/CVI是NI公司推出的面向计算机测控领域的虚拟仪器软件开发平台,能够在多操作系统下运行。LabWindows/CVI将用于测控的专业工具与C语言平台结合,利用测控专业工具的集成化开发环境、交互式编程方法、函数面板和丰富的库函数大幅增强了C语言的功能,为开发设计人员编写检测系统、数据采集系统、过程监控系统等应用软件提供了一个理想的软件开发环境[3]。

LabWindows/CVI适用于测试盒测量的ANSI C开发环境,提高了生产效率,广泛用于制造测试、军事/航天、通讯、设计验证和汽车工业等领域[3]。

2 测量系统

测量系统首先要驱动数据采集卡[4-6],对数据进行采集,并进行数据处理,最后将处理结果显示到界面上。

2.1 数据采集卡的驱动

在驱动数据采集的过程如下:数据采集卡首先要经过硬件初始化,这个过程多数由生产商提供的驱动程序完成。初始化完成以后,在工程内加入D2KDask.lib,就可使用生产商提供的软件操作语句对数据采集卡进行控制。

数据采集卡的硬件驱动一般由硬件生产厂家提供的驱动完成。硬件生产厂家会提供函数库以供使用该数据采集卡。

2.1.1 PXI-2005编程所用主要函数

(1)D2K_Register_Card。

该函数用于初始化凌华的板卡,函数原型为:D2K_Register_Card(U16 CardType,U16card_num)。

CardType是板卡类型,如使用 PXI-2005即添DAQ_2005;card_num为板卡所插插槽,只用一块板卡就添0,有两块板卡则用0、1区分开。

(2)D2K_AI_ContBufferSetup。

为连续采集数据分配内存,函数原型为:D2K_AI_ContBufferSetup(U16 CardNumber,void*Buffer,U32 ReadCount,U16*BufferId)。

CardNumber是所操作板卡的ID;*Buffer即分配内存的名称;ReadCount为所需内存的大小;*BufferId是分配好内存返回的序列。

(3)D2K_AI_ContScanChannels。

开始连续的A/D转换,函数原型为:D2K_AI_ContScanChannels(U16 CardNumber,U16 Channel,U16 BufId,U32 ReadScans,U32 ScanIntrv,U32 SampIntrv,U16 SyncMode)。

Channel为使用的最多的通道数,如PXI-2005可以使用0,1,2,3这4个通道;BufId为数据存放的内存位置;ReadScans为每通道采样数;最大扫描速率除以ScanIntrv即为当前扫描速率;SampIntrv为A/D转换最小间隔,最大采样速率除以SampIntrv即为当前采样速率。

(4)D2K_Release_Card。

释放使用中的数据采集卡,函数原型为:D2K_Release_Card(U16 CardNumber)。

2.1.2 PXI-2005数据采集卡驱动实例

驱动凌华PXI-2005数据采集卡,进行4通道、采样速率为500 kHz、每通道采样点数为60 000的采样。

2.2 软件整体设计

软件设计总体框图[7-8]如图2所示。

图2 测量系统框架图

LabWindows/CVI由自行选用的插件以及C代码组成,除此之外,系统还配有各类丰富的软件包,从而更方便地构建软件系统,界面如图3所示。

图3 测量系统界面

2.2.1 显示界面

将采集到的数据显示到界面上,有两种方式:(1)静态方式。将所采集到的点一次性显示在界面上,如果要继续显示,则要将之前界面上的点擦除后才可以继续。(2)动态方式。以带状图实时显示图形数据,可以包含一个或多个同时刷新的曲线,每一条曲线代表一个连续量的数据通道[3]。为显示处理过的数据,要选用静态显示。而静态显示只能显示一次,因此需要使用CVI内置时钟Timer隔几秒刷新显示数据。某一区间的数据可以以横轴为时间、纵轴为幅度显示,也可以其他方式显示。这里选择环形图显示。

2.2.2 环形图显示

环形图显示如图4所示,显示的是温度信号,单位℃。图中有两个圆。大圆代表最大量程值,小圆代表最小量程值。图中共有86条线段,代表这一段时间被平分为86段,每条线段代表一个时间点。测量到的数据依照时间先后在这86个线段上逆时针标出,数据越大越靠近大圆,数据越小越靠近小圆。将这些点依次连接,易看到哪一时间点上的数据较大,而哪一时间点上的数据较小。直观地显示出所测时间内数据的大小变化。左下角最大量程显示的是大圆代表的值,最小量程显示着小圆代表的值,这两个量程可以重新输入设置,以便观察数据在更小量程里的变化[9-10]。

图4 环形图显示界面

3 数据的处理

3.1 数据的分离

数据采集卡是将采集到的数据以交错方式存储内存当中。所谓交错即内存中的存储依次是第1,2,3,4通道的数据。以4通道采集为例,把第一位数据和每隔3位后的第4位数据存放在一起,形成了第一通道数据,从第3位开始,每隔3位数据存储在一起,则形成了第3通道数据。再将这些数据用于处理和显示。

3.2 数据的转换

数据采集卡采集到的数据并不是10进制的电压数据,而是由某种对应关系对应得到的数字信号,需要进行一次转换得到10进制电压数据。转换原理如下:PXI-2005这款数据采集卡是16位的,采集最大电压范围是-10~+10 V;基准电压是+10 V,因此数字0对应-10 V,数字215对应0 V,数字216对应10 V。因此得出数据转换公式为

这样就将从模拟电压上采集到的原始数字数据(data_collect)转换为相应的10进制数字电压数据(data_D)。

3.3 数据的存储

数据是以TDMS格式存储,TDMS是NI公司主推的一种二进制记录文件,拥有高速、易存取等多种优势,能在NI的各种数据分析或软件之间进行无缝交互,而且提供一系列 API函数供 LabWindows/CVI使用。

存储的数据是采集转换后的电压数据。每通道内的数据都是单独存储的,互不影响。存储后的TDMS文件可以通过安装CVI时同时安装的一个插件—Excel Importer打开,打开效果如图5和图6所示。

图5 TDMS打开后的第一页

图6 TDMS打开后的第二页

PXI-2005这款数据采集卡是4通道的,本试验中只用到了两通道,如图6所示,只有1、3通道有数据存储,2、4通道的数据是0。

3.4 生成报表

将采集到的数据计算后整理到word文件上以供打印。报表如图7所示。报表中存储的是已经转换的温度数据,单位℃。

图7 报表页面显示

使用word的函数语句包含在wordreport.fp文件里,因此要先要在工程内加载wordreport.fp,然后才能使用其中包含的函数来制作word文件。

4 结束语

由LabWindows/CVI搭建的数据采集系统,具有快速测量、实时显示等功能。搭配相应的传感器,容易制作成相应领域的测量仪器。同时CVI可以应用到大多数操作系统上,具有良好的移植性、使用简单。相比MFC,CVI的研发,因为拥有大量专业测控插件而显得更加方便快捷;相比LabView,CVI的可编程性使其更加灵活,更能满足研发人员的思想。同时,CVI插件的随意放大缩小功能也适合移植到大小不一的触摸屏上使用,适用于嵌入式系统。由此可见CVI在测量方面有着较大的优势,将成为虚拟仪器发展过程中的重要工具。

[1]史君成,张淑伟,律淑珍.LabWindows虚拟仪器设计[M].北京:国防工业出版社,2007.

[2]孙晓云.基于LabWindows/CVI的虚拟仪器设计与应用[M].2版.北京:电子工业出版社,2010.

[3]宋宇峰.LabWindows/CVI逐步深入与开发实例[M].北京:机械工业出版社,2003.

[4]高琴,陈树君.多功能虚拟示波器的设计与实现[J].通信技术,2010(4):225-228.

[5]DOMENICO G,SERGIO R.Hardware and software to design virtual laboratory for education in instrumentation and measurement[J].Measurement,2009(6):475-493.

[6]BARBOUR M K,REEVES T C.The reality of virtual schools:A review of the literature[J].Computer & Education,2009(2):53-60.

[7]ALI B,TOSHIYUHI O,JUN S Z.Tools with built-in film thermocouple sensor for monitoring cutting temperature[J].International Journal of Machine Tools & Manufacture,2007(2):48-52.

[8]MATANLE L.PC-based virtual test and measurement speed bench testing[J].Assermbly Automation,1995(3):12-13.

[9]ZHOU Chuande,WEN Cheng,HUANG Guangliang.Online virtual measurement system for numerical control machine[J].Measurement and Diagnosis,2011(8):255-258.

[10]王琳,商周,王学伟.数据采集系统的发展与应用[J].电测与仪表,2004(8):11-12.

猜你喜欢

采集卡虚拟仪器量程
高精度AD采集卡性能测试及评价方法研究
基于惯性导航量程扩展的滚动再次受控方法
宽量程计量自动切换及远程传输技术
血液采集卡存储装置的设计与应用
煤气化装置中吹扫转子流量计量程选取探讨
PCB 刻制机功能开发及在虚拟仪器实验室建设中的应用
面向数控机床的多通道传感数据采集卡设计
虚拟仪器及其在电工电子实验中的应用
并行高速采样在地震物理模拟采集中的应用
虚拟仪器技术在农业装备测控中的应用