搜索
您的当前位置:首页正文

基于PCI-6229的数据采集方法

来源:尚车旅游网
维普资讯 http://www.cqvip.com 总第162期 舰船_乜子L程 Vo1.27 No.6 2007年第6期 Ship Electl’onic Engineering 148 基于PCI一6229的数据采集方法 林朝阳叶晓慧姚祖文 (海军工程大学电了工程学院武汉430033) 摘要数据采集是席拟仪器的三个主要功能之一,是一切测试测量过程的第一步。LabVIEW作为虚拟仪器的开发 工具,功能强大的数据采集产品软件支持是其特色之一。针对M公司的PCI—M系列数据采集卡,介绍PCI一6229数据采 集卡的基本配置,讨沦在LabVIEW环境中的数据采集方法,具体分析用DAQmx完成数据采集任务,实际证明运用DAQmx 能够缩短开发时问,提高编程效率 关键词LabVlEW;数据采集;DAQmx 中图分类号TP274 成本,因为它利用高级的开发工具(NI—DAQ测量 1 引言 服务驱动软件)大大降低了系统构建时间。 随着计算机的广泛运用,计算机已经与现代仪 2数据采集卡基本情况 器结合H益紧密,基于Pc机的虚拟仪器具有性价 比高,升级方便等优点,已部分甚至全部取代传统 NI PCI一6229 A/D转换器的分辨率:l6位;采 仪器系统成为现代仪器的主流。LabVIEW是由美 样率:250kS/s;16位32路模拟输人;16位4路模 国NI公司开发的虚拟仪器开发平台,由于它具有 拟输f{I(833kS/s);48路数字I/0;2个32位计数 编程效率高,界面友好,功能强大等优点,因 nf在现 器,1个频率发生器;支持数字触发;NI—DAQmx 代虚拟仪器中得到了广泛应用。数据采集(DAQ) 测试软件和硬件配置程序支持。 系统就是由传感器、计算机、接口硬件和软件所组 PCI一6229板卡的模拟输人、输出范围均是± 成的系统,如图l所示,它是仪器系统的重要组成 10V,它有16个PFI(Programmable Function Inter. 部分,是一切测试测量过程的基础。 face)口,这些PFI口可以作为静态数字I/O口,而 … —'’ — f.篱0 I 誊 且像计数器输出、频率输出、采样时钟等定时信号 — 一, 可以输出到任何PFI广]上,当它作为静态数字I/O ns0Is md Co ̄dil1t knring C'nblc:s m试lt&gtDAQ w ̄'m2 tm~, ̄AQ  ComputPels'Ol 1el 口时,只能够软件定时,PFI12和PFI13还分别对 ‘ Ti7tl1sdLK e 应着计数器0、计数器l的输出端。 表1 PCI一6229管脚 图1数据采集系统 NI公司生产了多种类型的数据采集卡,自 模拟输入参考地输入方式信号的正极 信号的负极 LabVIEW7.0以来,提供r两套驱动程序,传统NI DAQ和NI—DAQmx,PCI一6229数据采集卡足 基于计算机PCI总线技术,它属于M系列卡,只支 持DAQmx的数据采集方法。M系列数据采集设 备不仅使每通道I/0的价格降低了30%,数据传 NI公司的数据采集卡对于模拟信号的输人可 输速率比以往提高5倍,而且还降低了测量系统总 以分为三种连接形式,差分(Differentia1),参考地单 收稿日期:2007年5月17日,修回日期:2007年6月29日 作者简介:林朝阳,男,硕士研究生,研究方向:虚拟仪器=叶晓慧,男,博士生导师,教授,研究方向:虚拟仪器。姚祖 文,男,硕上研究牛,研究方向:中频电源 维普资讯 http://www.cqvip.com 舰船电子工程 149 端(Reference Single—ended,RSE),无参考地单端 (Non—Referenced Single—Ended,NRSE),表1是 图4是设置触发模式函数,M系列采集卡均 支持数字触发,有的不支持模拟触发,触发就是设 h e_啊 s w 针对不同的连接方式所对应的PCI一6229的管脚。 置数据采集在什么条件下开始,source触发源可以 一出 一一5皇 涨一一一 3 NI—DAQmx的数据采集方法 下面首先介绍几个常用函数,DAQmx数据采 集函数化于LabVIEW后面板All Functions/NI Measurements/DAQmx—Data Acquisition上。 3.1配置通道函数 input t ̄vrrmal configuration..................... . ....—— }1)h h、 1 cha1111 ::三 ::=:l 姗e∞a 嘶一;r ,氲 ….1 —一  DAQmx Cl'eat Chain1el(AI—Voltage—Basic).v1 图2配置通道函数 2是配置通道函数,可以设置信号的输入、 输出通道名,按照所需要的任务设置成单通道或是 多通道模拟信号、数字信号、计数器的输入或输出, 这里以模拟输入,进行电压测量为例,设置输入电 压的范围。这是在数据采集中最常用的VI。 3.2硬件定时设置 taskout errorout 图3硬件定时设置函数 罔3是硬件定时设置函数,source对于模拟信 号来说叮以用数据采集卡上的时钟源,也可以由外 部时钟引入,当此端LI没有连接时,就是采用数据 采集卡上的默认时钟,对于数字信号不能使用采集 卡上的时钟源,sample mode设置采样模式,可以是 有限采集或是连续采集,当为有限样本采集时, sample per channel设置每通道昕要采集的样本数, ’ate设置采样率,当为连续采集时,sample per channel设置缓存大小。 3.3设置触发模式 slask/chan1 ̄etsil ——呷 mw抽一一L 一 一rout 1)AQmx Starl Triggel’(Mone).vi 图4触发摸式函数 由外部信号输入,这里选择数字触发,edge设置数 一 字信号的上升沿或是下降沿开始触发。 3.4任务开始函数 task/channels11"I—————E西要日———一lask()u1 a1∞r …— { 【一一《 en r 0ut 1)AQmx Ntart Task.vi 图5任务开始函数 图5是任务开始函数,一个数据采集任务开 始,如果不用这个Vi,当DAQmx Read Vi开始运行 时,会自动的开始这个测量任务 3.5读取数据函数 atsk/ chmmelsinnLL"I1[]t ̄of.‘. samples pfrchal"lnel————  § I da t a cnr ̄-in 一— 一 ;㈣_0r 0u DAQmx Bead(An along Wfm】Chum NSamp).vi 图6读取数据函数 图6是读取数据函数,可以读取一个或多个 通道的数据,数据类型可以是双精度浮点数据也呵 以是波形数据,number of samples per channel设置 每通道昕要读取的样本数,连续采集时,若此端u 设置为一1,将读取缓存中的可用数据;有限采集 时,此端口设置为一1,将等待获取所有的样本点后 再一次性读出。Time out设置超时时间,默认值足 10秒,为一l时将无限等待下去。data是返回的采 集的样本数据,对这个数据叮以进行显示、分析和 处理。与之相对应,当要输出信号时要用DAQmx Write Vi。 NI—DAQmx属于第三代DAQ驱动软件,它比 以前的版本更容易地进行测量与获取有意义的信 息。虽然它仍需处理各种各样的总线接I-I、传感器 和信号类型,但是现在重新设计的界面使它变的更 简单易用,即使是开发复杂的DAQ应用也足如此, 因为它为各种类型的操作提供了同样的函数和VI。 例如,以前要用Digital read函数从数宁线渎取数据 和用Analog read函数读取模拟数据,向现在可以用 同一个函数读取这两种数据,这样的函数叫多态函 数,他们根据输入值不同则呈现不同的特性。多态 函数是将儿个不同函数整合成一个界面,其结果是 为用户,也是为设备,提供了一条满意的 习曲线。 现在不用学习四种 同的方法为NI DAQ设备的四 种类型的操作(模拟输入与输出、数字UO、计数器/ 定时器)编写程序了,而只学习一种方法,然后重复 维普资讯 http://www.cqvip.com 15O 林朝阳等:基于PCI一6229的数据采集方法 总第162期 使用这个方法来为起它的操作编写程序即可,用户 率,同时计算电压的有效值,电压有效值还可以由 可以根据自己的测量任务轻松进行设置,降低了学 指针显示。 习的难度,减少了程序的开发时间。 在LabVIEW7.0之前,DAQ驱动软件都是单线 程的,结果用户发现如果不通过更复杂的程序很难 执行象连续的模拟输入和波形输出这样的并发操 作,现在这种新型驱动软件不需要增加额外的代码 就可以实现并发操作,因为它已被设计成以多线程 的方式操作了,因此,现在一个模拟输入操作可以在 一个线程中发生,并一直处于睡眠状态,直到它采集 了给定数量的样点才被唤醒,而在另一个单独的线 程中则可以操作模拟输出部分,这使得并发的DAQ 操作编程变得更简单 。通常只需将以上几个多态 图7 LabVIEW前面板 函数配合使用就可以完成各种数据采集任务。 图7是LabVIEW前面板,PCI一6229数据采 集卡可以外接两块CB一68LP板(信号输入、输出 4数据采集实例 板,NI公司生产),根据实际需要,我们只连接了一 块,即Devl,信号的输人方式设置为差分输入,因 下面以一个实例来说明如何用NI—DAQmx 为只有一路信号输入,我们用到模拟输入ai0h和 方法进行数据采集,首先在实验室用YB1620功率 ai8通道,输入电压范围设置为±10V之间,将信号 函数信号发生器产生一个50Hz,峰峰值为12V的 发生器的输出信号分别接CB一68LP板的68和34 正弦信号,通过PCI一6229将信号连接到计算机, 脚,依据采样定理,将样本采样率设为12.8kS/s, 用LabVIEW编制数据采集和处理程序,在前面板 所要采的样本数为65536个,采样触发设为数字信 我们可以进行各种参数配置,显示信号的波形、频 号触发,触发源为PF10口引入的信号,数字信号上 率和电压值,数据处理程序采用过零检测法计算频 升沿时触发数据采集。 图8 T alJVtEW后面板 (下转第154页) 维普资讯 http://www.cqvip.com l54 鲁爱国等:基于vxWorks的嵌入式软件远程调试 总第162期 5 结束语 嵌入式软件技术发展日新月异,调试作为嵌入 式软件开发中一个举足轻重的环节,越来越体现出 其重要性。技术的发展对软件开发人员提出了更 高的要求,掌握并熟练运用最新的调试手段和调试 参考文献 [1]陈智育,温彦军.vxWorks程序开发实践[M].北 京:人民邮电出版社,2004 [2]WindRiver System.VxWorks Prograrnmmer’S Guide [M].WindRiver System,2002 [3]黄瑞芳,朱敏,张卫民.远程调试的设计与实现 [J].计算机工程与应用,2001,(1):125—128 方法,对于加快嵌入式软件开发进度,提高嵌入式 软件的软件质量将起到重大的促进作用。 [3]Rick Eads.嵌入式发展需要新的调试工具[J].电 子产品世界,1998,9 (上接第150页) 图7是程序运行后显示的测量结果,可以看到 Wave Graph控件能清楚显示YB1620功率函数信 号发生器输出的正弦波形,频率为49.5256Hz,电 图8是我们的后面板,也就是设计的主程序, DAQmx的主要编程步骤是首先进行通道配置,然 后进行定时和触发设置,接着进行数据的读或写, 最后结束任务。为了计算电压和频率,我们还要对 压有效值为4.1942V,精确到小数点后四位数,所 得结果符合设计要求。 采集后得到的数据进行处理,由图8可知,程序将 采集设置为有限样本采集,样本数为65536个, DAQmx Read Vi将采集的样本值读出后放在计算 机缓存中,然后再从缓存中读出,我们选择输出的 是一维数组,数组中的元素的数值类型为为双精度 浮点型。 LabVIEW是一种图形化编程语言,功能强大, 5 结束语 PCI一6229卡的DAQmx数据采集方法简单易学, 操作方便,将JL个多态函数熟练掌握就能开发出强 大的数据采集系统,上面例子只是进行一路模拟信 由于样本数太多,为了在Wave Graph上清楚 显示,从数组中取出前2560个样本,然后建立波形 数据,连接到Wave Graph上,横坐标是时间(S), 号采集,同样,我们叮以进行多路数据采集和不同 类型信号的采集,程序结构不需做过多调整,只需 修改多态函数的配置参数或增加、减少个别多态函 数,这样就使没有丰富编程经验的人员从繁重的程 纵坐标是电压值(V),根据采样率计算可知显示了 10个周期的波形。后面板下方的程序用到了PCI 一6229板 上的一个计数器输出作为触发源,由 序文字编码中解脱出来,把更多的精力放在系统的 自诊断、故障报警、数据分析、系统性能测试上,大 大缩短系统的开发时问,提高编程的效率。 参考文献 图8可以看出,它与信号采集用到了几个相同的函 数,只是对参数进行了修改,它是连续输出,所以加 了个While循环,输出的是频率为10Hz,占空比为 0.5的数字信号,数字信号自PFI12/P2.4(2脚)口 输出,在硬件连接上,只需将CB一68LP板2脚与 [1 J M Series User Manual National Instrument,2006 2]National Instrument Data Acquisition NI—DAQ nix Help,2004 11脚相连即呵。在计算电压有效值和频率时,静 态调用了自己设计两个子Vi,即电压有效值子Vi 和频率计算子Vi,主要是对采集后的数据进彳『运 算,计算信号发生器输出信号的频率和电压有效 值,把它们保存成子VI形式,可以在主程序或其它 程序中方便、快速的调用,在开发自己的应用程序 过程中,可以将一些经常用到的功能模块设计成子 [3]杨乐平,李海涛,杨磊.LabVIEW程序设计与应用 (第二版)[M:.电子工业出版社,2005 [4]NI上海分公司.NI—DAQ7一数据采集软件演化的 下个阶段[J .国外电子测量技术,2004(1):39~40 [5]刘君华,贾惠芹,丁晖,阎晓艳.虚拟仪器图形化编 程语言LabVIEW教程[M].西安电子科技大学出版社, 2003 VI形式,将会帮助减少开发时间,对于这丽个子VI 的设计原婵,由于不属于数据采集的内容,这里就 不再阐述 [6]侯国『拜,土坤,叶齐鑫.LabVIEW7.1编程与虚拟仪 器设计[M .清华人学出版社,2005 

因篇幅问题不能全部显示,请点此查看更多更全内容

Top