基于NI myDAQ的数据采集系统的设计Word格式文档下载.docx
《基于NI myDAQ的数据采集系统的设计Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《基于NI myDAQ的数据采集系统的设计Word格式文档下载.docx(32页珍藏版)》请在冰豆网上搜索。
虚拟仪器;
LabVIEW;
NImyDAQ
Abstract
Inthepast,avarietyofdataacquisitionisperformedbyartificialmeans,ithasalotoflimitations,whichcannotbedoneonalargenumberofexperimentaldata.Withthedevelopmentofelectronictechnology,peoplecancollectandprocessinglargeamountsofsignaldataandanalyzethedatathroughcomputers.
Virtualinstrumentisonlyaproceduralinstrument.Itispossibletocompleteaseriesofdataprocessingandanalysisworkinthepre-programmedprocedureswiththecombinationofvirtualinstrumentandcomputers.
ThispaperfocusesonsometypicaldataacquisitionsystembasedonNImyDAQanddesignsmanyusefulvirtualinstrument.SuchasVirtualdigitalvoltmeter,whichreplacedthetraditionalvoltmeterandimprovedtheefficiencyandaccuracy.ContinuouspulsesequenceVI,itcangenerateaanydutyandanyfrequencysquarewave.Pulsewidthmeasurementcanmeasurethewidthofthepulsesequencequicklyandeasilybysettingthecountingmethods.ContinuoussignalacquisitionistoacquiresignalsbyusingDAQmxAPI.SimpleEdgeCountVIcanchoosethewayofcounting,itcancountthenumberofasquarewavecrestquicklyandeasily.Meanwhile,basedontheoriginaldataacquisitionsystem.Thispaperupgradepartofthesystemtoachievearicherfunction.
Keywords:
Virtualinstrument;
LabVIEW,;
NImyDAQ
第一章绪论
本章主要讲述了基于NIMyDAQ的数据采集系统设计的背景和意义,国内外所设计的数据采集系统的开发现状以及尚未解决的问题,随后简要提及了虚拟仪器的基本知识,最后列出本文的主要结构。
1.1研究背景及意义
由于科技的局限,先前测试现场的几乎所有数据都是采用人工的方法进行读取和记录,无法同时准确有效的处理分析大量实验数据,所带来的后果就是无法对其进行准确全面的分析,计算,所以阻碍了科学技术的发展以及仪器的大量普及[1]。
第三次工业革命发生以后,计算机技术得到了飞速的发展,伴随着精度越来越高、性能越来越好的数据采集系统的广泛应用,使得多路数据不需要使用人工进行采集并且分析全部由计算机自动完成,从而提高了测量精度和可信度。
而虚拟仪器的良好灵活多变性,使得虚拟仪器可以在PC端完美地兼容运行,同时在这个整体中是必不可少的[2]。
把传感器和硬件设备连接起来,需要一个媒介能够进行信号处理,使得该信号能够被计算机识别,分析,处理。
虚拟数据采集系统一般是由以下几个部分组成,首先是一个软件程序,其次要有一个能够分析处理数据的PC端,然后必备一个数据采集卡,最后是各种传感器和数据分析仪[3]。
1.2国内外发展现状
(1)在科技比较发达的现代,数据采集系统几乎都有高速度,高性能计算机的影子,高性能计算机的应用,极大的提高了对数据处理分析的准确性和可靠性,更重要的是数据采集系统不再需要很多硬件支持,节省了人力,物力,财力。
(2)配套的软件控制在每一次的数据测量采集中扮演着重要的角色,从而使得系统设计变得更加方便和高效。
(3)数据采集与数据处理完美地结合成一个整体,因而可以完成数据采集与数据处理、数据分析的几乎所有工作。
(4)数据采集过程几乎都是随时随地的,随时随地的标准是能满足实际需要;
对于一般用户所使用的数据采集系统,开发者则希望此系统能有比先前更高的速率和更大的准确率,以满足更复杂,更多变的实际情况。
(5)工业革命以来,微型电子电路技术也得到了空前的发展。
电路设计得比先前更小更精炼,数据采集系统的速度得到了质的飞跃,同时可信度非常之大,近几年来单片机也被应用到该系统中,出现了突破传统数据采集系统[4]。
(6)近年来,随着总线技术概念的提出,该技术在数据采集系统中取得了重要的地位,总线技术在一整套的测量测试系统中扮演着重要的角色。
1.3虚拟仪器
1.3.1虚拟仪器产生的背景
传统仪器技术经历了漫长的改进,一直到现在,已经度过了从传统的模拟仪器、后来的数字仪器和近代的虚拟仪器这三个过程,从1980年开始这些测量工具的发展进入到了一个更高的阶段即:
虚拟仪器时代。
在大多数的实际情况下,在要测量某些数据时需要很多工具,如函数发生器、示波器、电压表、频率仪、电流表等,如果要测量更加庞大,功能更多的数字或者模拟电路系统还需要分析仪、IC测试仪等。
这么多的测量仪器有很多缺点和不便,比如:
需要很多钱、测量仪器太过庞大、小的实验室容纳不下,相互关联起来使用时很容易发生错误,而且经常由于仪器之间的连接、信号带宽等方面的问题给每一次的测试测量造成很多不便利因素,使得数据测量变得更加困难[5]。
要提高电子测量仪器的测量可信度和准确性,就要求设计的仪器本身具有自动调节、自动校准、量程转换、处理分析和寻找故障的功能,实现了自己保存大量测量数据并在开发者需要调用的时候自动调出并参与运行处理,这些指标对于传统仪器来说几乎不可能实现,在智能虚拟仪器实现之前几乎被认为是不可能完成的任务。
然而,计算机科学和微型电路电子技术的一步步发展壮大,极大的地加快了近几年来虚拟仪器科技向前迈进的步伐。
目前,科学家正在努力钻研的的第五代全自动测试测量系统中,计算机扮演着非常重要的角色,计算机软件技术和测量控制系统的强大兼容性,使得他们能够很有效的融为一体并且更加高效,更加便捷[6]。
随着观念的变化,科学家对传统意义上仪器设计思路和方法等都发生了质的转化,人们提出了不同于传统的仪器概念——虚拟仪器。
由于虚拟仪器软件能够拥有测量采集、过程指导、数据分析、数据处理、结果显示和人机交互界面等能力,使得先前老旧的传统仪器能够被后来开发者设计的软件程序所替代。
1.3.2虚拟仪器的概念
虚拟仪器首次是由美国国家仪器公司提出来的,虚拟仪器实际上是虚拟现实技术的一个分支,其实虚拟仪器是仅仅是一种功能意义上的仪器,但它能充分发挥高性能计算机系统快速分析数据,处理数据能力的优势,在高度集成的以及必要的硬件条件允许的情况下,利用事先编好的程序完成数据的一系列复杂的处理分析工作。
,利用软件程序、计算机的配合来完成那些老旧的传统仪器不能完成的任务,大大地提升了传统仪器在一系列数据分析和处理方面的能力,让使用者能够随时随地对虚拟仪器进行更新升级,甚至增强其功能[7]。
虚拟仪器离不开计算机的支持,因为它是通过计算机编写的程序,高性能计算机和仪器的紧密结合是以后虚拟仪器发展的重要突破口,所谓的虚拟仪器就是在常见的计算机上编写一些软件程序,并通过外界接口搭建硬件环境,使得使用者在使用这些虚拟的仪器的时候,就像在使用为自己量身定制的测量测试仪器。
在上述系统中,外接硬件用来接收外界所要测量处理的信号,开发者自己编写的软件程序才是整个系统的核心内容。
几乎所有操作者都可以利用编写程序的方法,很快速并且高效地改变、添加,删除虚拟仪器系统能实现的模块,业内把它称之为“软件程序等同于传统仪器”。
1.3.3虚拟仪器的开发语言
目前,开发者把虚拟仪器定义为“基于高性能计算机的测控系统”,这里并没有说明这个虚拟系统的程序开发语言,目前许多种语言都有开发成功的虚拟仪器案例,但是众多的开发人员经过多方实践,摸索和探究。
考虑到各个方面的内容,一致认为LabVIEW是虚拟仪器领域最便捷的图形语言开发外在条件[8]。
由于“G“语言的构成基础是一个个形象的图形,所以把这种用图像表示的编程方式称为G语言,它和传统意义上的C++,JAVA,汇编语言等存在很大的相似点,如相似的编程结构、相似的控制语句流、程序调试工具以等。
但G语言和其他编程语言也有着显著的差异,常见的编程方法用一个个字符,字母来表示,而G语言用更加通俗易懂的图像化语言来构成编程基础,以一个个小模块来完成最终的程序编写。
在这样的开发环境下,一般使用者只需要少许的编程知识,因为这个开发环境下使用的都是开发者所熟悉的,形象的图形和图像,比如:
各种旋钮、开关和波形图等,界面友好是它的一大特点。
因此在这样的开发环境下,就算没有很多编程知识,也能设计出高效的产品,软件。
LabVIEW目前已经广泛地被社会各界所接受,LabVIEW可以说是一个完美的数据采集测量处理分析软件。
LabVIEW本身包含了很多数据库和函数包含了所有满足GPIB、HUI、ZNNX-2893和UY-987协议的硬件和NImyDAQ的所有功能。
该软件自带了很多库函数,由于它具备这么多功能,所以其强大的灵活性深受开发者的喜爱。
LabVIEW设计的初衷是提供一个大众化的,方便的,快捷的开发工具。
这个软件极大的发展了虚拟仪器科学和数据采集系统,使得人们可以在很多情况下的测量处理分析数据变得更加方便,当我们利用这个平台进行数据采集,分析,处理,显示,规划的时候,极大的节省了使用者的时间,避免耗费巨大的人力和物力[9]。
1.4本文的主要结构
在接下来的章节中,将更深入的描述本课题所介绍的基于NImyDAQ的数据采集系统的设计。
第二章主要介绍了NImyDAQ的运行原理和使用方法。
第三章主要介绍了LabVIEW的使用方法以及G语言的基本知识。
第四章着重分析了几种典型的基于NImyDAQ的数据采集系统,并在已有的基础上拓展了他们的功能。
在论文的结尾,对基于NImyDAQ的数据采集系统作了个简单的总结,同时也指出了尚未完全克服的问题。
第二章DAQ简介
本节详细介绍了数据采集器的软件,硬件以及这个设备的基本配置方法。
2.1数据采集卡的硬件简介
USB接口技术被应用在NImyDAQ上,NI数据采集卡采提供了模拟输出(AO)、数字输入和输出(DIO)、电源和数字万用表(DMM)函数。
NImyDAQ的硬件电路和模拟输入输出模块中的电路电子板是由美国德州仪器公司(Texas
Instruments)提供。
图2-1所展示的是NI
myDAQ的硬件设备[10]。
图2-1硬件程序框图
NI
myDAQ提供了两个模拟输入通道。
通过修改参数这两个模拟输入通道可被使用该软件的人设置差分放大输入和音频输入。
数字输入被应用了一种叫做多路复用的技术,业界认为的多路复用技术就是通过模拟和数字转换器(ADC)对低阻抗差分放大输入以及音频输入通道在同一时间进行速率很高的采样识别。
在一般的实际情况下,信号有范围限制,区间在负10伏到正10伏。
如果使用者把它调节到音频模式,则数据采集卡的两个模拟信号可以看作是音频的信号输入。
输入到这个通道的信号频率可高达20000HZ,如此高的模拟输入速率满足了波形采集的要求。
要分析处理模拟输入,开发者在大部分情况下必须使用NIELVISmx示波器、动态信号分析器和Bode分析仪[11]。
数据采集卡上一般带有8个数字输入输出的数据线接口。
数据采集卡提供+15V,-15V,+5V的电压的电源。
+15
V和–15
V通常被用于模拟组件。
例如,电阻和变压器。
+5V的电源通常用于电源数字组件。
例如:
数字输入输出等。
电源、阻抗和数字I/O的总功率是有范围限制的,最大上限为500mW,最小下限为100mW。
2.2数据采集卡的软件简介
ELVISmx是使NI
myDAQ能正常实现其功能所不能缺少的驱动软件。
ELVISmx能使用基于LabVIEW的软件,并且他最重要的功能是能够控制NImyDAQ设备并且该软件配备许多常见的使用的功能供开发者使用。
ELVISmx安装时还会安装LabVIEW
Express
VI这个不能缺少,当开发者在编写程序的时候能够用它给软件实现更多更丰富的功能。
在NI
Multisim中使用NI
ELVISmx可模拟信号、与NI
myDAQ两者联合测量实际的信号并且可以处理分析计算总结采集的信号。
2.3设置NImyDAQ设备
DAQ中有一个连接器他有20位螺栓,要正确安装这个连接器需注意与NI
myDAQ保持在同一水平面上。
如果插入该复杂的连接器时与NI
myDAQ不对齐或者有角度的时候,势必会造成硬件破损[12]。
为保证正确的信号连接,螺栓端子必须按规定规范的插入数据采集卡中。
图2-2显示了我们该如何正确的插入连接器。
图2-2数据采集卡的连接框图
图2-3为可通过3.5
mm音频插头和螺栓端子连接器访问的音频、AI、AO、DIO、GND和电源信号。
表2-1为信号的详细说明。
图2-3数据采集卡的I/O连接器
表2-1螺栓端子信号说明
信号名称
参考
方向
说明
AUDIOIN
-
输入
音频输入-立体声连接器的左侧和右侧音频输入
AUDIOOUT
输出
音频输出-立体声连接器的左侧和右侧音频输入
+15V/-15V
AGND
音频输出-立体声连接器的左侧和右侧音频输出
+15V/-15V电源
AO0/AO1
模拟地-AI、AO、+15V和-15V的参考接线端
AI0+/AI0-;
AI1+/AI1-
模拟输出通道0和1
DIO<
0.7>
DGND
输入或
模拟输入通道0和1
数字地-DIO数据线和+5V电源的参考地
5V
5V电源
图2-4为NI
myDAQ上DMM连接的示意图。
表2-2为信号说明。
图2-4DMM测量的连接
表2-2DMM的信号说明
HI(VΩ)
COM
电压、电阻和二极管测量的正接线端
DMM测量的参考端
HI(A)
电流测量的正接线端(熔断:
F1.25A250V快速反应)
开发者要正确设定输入通道和连接信号,就必须分清什么是浮接信号和什么是接地信号,所以我们必须明确信号到底是属于什么。
接下来的一节里我专门介绍了上述两种信号。
用作接地-参考的信号源必须连接大地或者建筑物。
具有非隔离的特性,并且输出并导入建筑物或者大地供电系统的设备或仪器是被认定为接地参考信号源。
连接至同一供电系统的数字仪器之间是一定会存在电势差的,但他们电势差的范围很小,通常是1mV~100
mV之间。
如果电势差显著增大,则提示电子线路接线不规范。
接地信号测量方式也很重要,如果测量方法不规范,则电势差是引起巨大误差的主要原因。
被称作是浮接的信号源由于没有连接至数据采集卡的参考地。
常见的浮接信号源有通过传统锂电池供电的设备、降压器输入、热阻抗、电池设备、声学检测器输出和隔离放大器。
一般情况下定义一个浮接信号源是看它是否具有隔离输出的功能。
要建立信号的参考一定要用跳线或者电阻把浮接信号连接都数据采集卡的工地引脚。
否则,需要测量的输入信号会在信号源超出共模电压最大或者最小极限时产生误差,从而影响测量。
如果要配置信号源到共地引脚参考的最快捷方便的做法是用数据线把信号的正接线端和数据采集卡的AI+端相联系起来[13]。
然而也有特殊情况,如果电路中出现了较大的源阻抗,上述连接方式将导致测量结果产生明显误差。
由于导线连接在大地端,所以正极线产生的静电会导致耦合并导致噪声的产生,噪声有可能会单独存在。
噪声不会以共模信号的形式出现,而是以差分模拟信号的方式出现,并且将会干扰使用者的测量结果。
如图2-5,在该情况下,通过一个电阻连接负极线至AGND,需要注意的是这个电阻的阻值是源阻抗的100倍,如果直接把连线负极连接至共地端是不对的。
阻值大小要恰到好处,最理想的情况是源阻抗100倍的电阻,只有这样能使信号路径趋于稳定[14]。
图2-5浮接信号源的非差分关联
连接另一个等值电阻至共地端的正极输入可完全稳定信号路径,如图2-6所示。
虽然这个平衡输入方法能更有效的降低噪声,抑制噪声的产生,从而提高测量精度,缺点是会算入两个电阻阻值总和,并且是在串联方式下的阻值总和,从而加大了电路的负载。
例如,源阻抗为2
kW,每个电阻为100
kW,则为源引入了200
kW的多余的电路阻值负载,同时生成了一个–1%的误差范围[15]。
图2-6带2个电阻的差分连接方式
满足模拟输入数据线的正端口和负端口均为直流路径接地的条件下,才能保证该电子电路放大器的正常工作。
如信号源的阻抗不是很大,则优先考虑阻值较大的负载。
开发者不但要注意电阻阻值太小产生载入源,同时也要注意电阻阻值太大产生的显著输入误差,这两种情况均会导致误差的产生,影响精度。
解决方法是,直接连接负输入端至共地端。
2.4本章小结
本章主要介绍了数据采集卡的软硬件基本知识,同时列出了该仪器的基本配置使用方法。
第三章LabVIEW简介
本节从四个方面详细介绍了LabVIEW,首先介绍了LabVIEW和G语言,接着探讨了LabVIEW的编程环境,然后详细展示了G语言的基本使用方法,最后给大家展示了LabVIEW的界面设计过程。
3.1LabVIEW和G语言的概述
LabVIEW它的编程环境是用一个个图像模块完成,所以更加形象。
该软件编写的程序是基于图像的;
在LabVIEW中使用的G语言和通常意义上的编程语言有很大的不同,传统意义上的编程语言运行的方向是由上而下的,是根据代码的先后顺序运行的,采用数据流进行编程方式是该软件使用上的一大特色,在程序中常见的模块用图表表示,并且用不同颜色的数据线表示运行的方向。
业界通常把这种图形化的编程语言称为“G”语言即用图形编程,LabVIEW写软件的最大好处是它不用写复杂繁琐的代码,取而代之的是非常直观形象的流程图。
整个编程过程所用到的点都是使用者常见的图形和图表。
LabVIEW有以下几个特点:
(l)上手很容易。
与传统的编程语言相比,LabVIEW这种图像化的编程软件存在一个巨大的优势:
代码的产生不是通过文本的方式来生成,而是使用图形来完成软件的编写。
所以由它书写的的程序是图形化的,用图形,非常直观形象的颠覆了程序就是代码的观点。
(2)通用编程系统。
采用图形化编程方式不但没有禁锢LabVIEW的能力,反而增强了其实用性,同时兼备了传统的编程系统的优点。
由于LabVIEW有一个丰富的函数库,所以可完根据不同的需要完成几乎是任何软件的编写。
LabVIEW既有突破传统的优势,也保留了一般常见的程序编译软件。
LabVIEW对数据的处理采用了一种叫做实时动态监控的的方法,所以它比传统意义上的编程语言更高效,更快捷。
(3)模块化。
LabVIEW中的程序由许多小模块组成,可以不用特别的编写,直接使用;
另外,通过该开发环境编写的程序,不但可以单独执行,而且可以作为其他更复杂的程序的子系统,同时协调使用。
LabVIEW已经渗透到了在社会的很多领域:
测试测量:
LabVIEW当初设计的初衷是为了采集数据,所以现在很多虚拟仪器和数据采集系统都配备有对应的LabVIEW驱动程序,LabVIEW也包含了很多采集处理的工具包,开发者能够在第一时间检索并利用这些工具。
有时一个复杂的测量工作只需要调用,组合几个简单的子程序。
控制:
LabVIEW同时配备有适用于控制的子程序——LabVIEW
DSC。
仿真:
大量的高等算法函数也包含在该软件的中,为模拟、编译、软件编程等方面提供了更快捷的方式。
高速研发:
完成一个功能强大的,使用方便的,并且可以在很多场合应用的大型应用软件,熟练的开发者所需的研发时间更短,比其他语言的编程时间缩短了将近二分之一。
跨平台:
LABVEWI具有良好的兼容性。
体现在LabVIEW的图形化语言不需要考虑兼容性就可以在几乎所有的操作系统上执行:
Windows、Mac
OS及Linux。
3.2
LabVIEW编程环境
通过G语言开发的软件程序,即虚拟仪器(VI),它包括前面板、程序框图两部分。
一个经典的LabVIEW程序结构如图3-1所示,类似于几乎所有的软件设计,在创建一个虚拟仪器程序前,开发人员需要根据实际要求构思友好的人机交互界面,对于虚拟仪器而言,界面设计最大的难点就是前面板的设计,其中就有添加各种显示控件控件、布尔变量、必要的文字概述和图片等,其次就是通过具体的图像化编程实现开发者想要所需要的能力。
然而在一般情况下,开发人员都是上述两种方法的穿插施行。
图3-1LabVIEW程序图
3.2.1
启动界面
双击LabVIEW图标,启动LabVIEW,就打开了LabVIEW的启动界面,如下图3.2所示。
在这个界面中可以看到有菜单栏,编辑栏,帮助栏等。
3.2.2