• 1.36 MB
  • 2022-04-22 13:36:57 发布

基于LabVIEW的虚拟仪器设计与开发毕业论文.doc

  • 31页
  • 当前文档由用户上传发布,收益归属用户
  1. 1、本文档共5页,可阅读全部内容。
  2. 2、本文档内容版权归属内容提供方,所产生的收益全部归内容提供方所有。如果您对本文有版权争议,可选择认领,认领后既往收益都归您。
  3. 3、本文档由用户上传,本站不保证质量和数量令人满意,可能有诸多瑕疵,付费之前,请仔细先通过免费阅读内容等途径辨别内容交易风险。如存在严重挂羊头卖狗肉之情形,可联系本站下载客服投诉处理。
  4. 文档侵权举报电话:19940600175。
'基于LabVIEW的虚拟仪器设计与开发毕业论文目录第一章绪论-1-1.1仪器的发展过程-1-1.2虚拟仪器概述-1-1.3虚拟仪器的种类与特点-1-1.3.1虚拟仪器的发展概况与种类-1-1.3.2虚拟仪器的特点-2-1.3.3虚拟仪器与传统仪器的比较-3-1.4虚拟仪器的构成-4-1.5国内外虚拟仪器的现状与展望-5-1.6本文设计的内容及意义-5-第二章虚拟示波器设计方案-6-2.1硬件及软件的选择-6-2.1.1软件的选择-6-2.1.2硬件的选择-7-2.2软件设计方案-7-2.2.1虚拟示波器的软件结构-7-2.2.2仪器功能-7-第三章虚拟仪器集成开发环境-9-3.1软件操作平台-9-3.2软件开发工具-9-3.3LabVIEW前台显示面板-9-3.4LabVIEW后台控制面板-10-3.5LabVIEW程序执行流程-10-第四章仪器驱动-11-4.1仪器驱动的概念-11-4.2LabVIEW平台上仪器驱动的方法-11-4.2.1LabVIEW支持的DAQ产品的驱动-11-4.2.2LabVIEW支持的GPIB,VXI、标准串口I/O仪器的驱动-12-4.2.3LabVIEW不支持的数据采集卡的驱动-12-4.3本章小结-13-第五章数据采集-14- 5.1概述-14-5.1.1DAQ基本概念-14-5.1.2数据采集卡的基本性能指标-14-5.2本文采用的采集卡-16-5.2.1多功能数据采集卡ARTPCI-2300-16-5.2.2系统测试流程-16-5.2.3.多功能数据采集卡ARTPCI-2300编程-16-5.3本章小结-16-第六章虚拟示波器软面板及程序设计-17-6.1数据采集模块-17-6.2波形显示模块-17-6.2.1波形显示模块的功能及控件-17-6.2.2波形显示模块的一前面板及框图-19-6.3参数测量及时间序例生成模块-19-6.3.1时间序例生成功能及功能节点-19-6.3.2测量模块前面板及框图-20-6.4频谱分析模块-20-6.4.1分析模块功能及节点-20-6.4.2分析模块前面板及框图-21-6.5虚拟信号产生模块的设计-21-6.6小结-21-第七章调试及实验结果-22-7.1虚拟示波仪的调试-22-7.2实验结果-22-第八章结论与展望-25-致谢-26-参考文献-27- 第一章绪论1.1仪器的发展过程测量仪器发展至今,大体经历了四代发展历程,即模拟仪器、分立元件式仪器、数字化仪器和智能仪器。第一代——模拟仪器。是以电磁感应基本定律为基础的指针式仪器。第二代——分立元件式仪器。当20世纪50、60年代产生了以电子管或晶体管电子电路为基础的第二代仪器。第三代——数字化仪器。20世纪70年代,诞生了以集成电路芯片为基础的第三代仪器。这类仪器将模拟信号的测量转化为数字信号的测量,并以数字方式输出最终结果,适用于快速响应和较高准确度的测量。第四代——智能仪器。这类仪器内置微处理器,既能进行自动测试,又具有一定的数据处理功能,可取代部分脑力劳动,习惯上称其为智能仪器。其缺点是它的功能块全部都以硬件(或固化的软件)的形式存在,缺乏灵活性。由于电子技术、计算机技术和网络技术的高速发展及在测量技术与仪器领域中的应用,新理论、新方法、新领域及新仪器结构不断出现。电子测量仪器的功能和作用已发生质的变化,其中计算机处于核心地位,计算机软件技术和测试系统更紧密地结合成一个有机整体,导致仪器的结构、概念和设计观点等也发生突破性的变化。在上述背景下,出现了新的仪器概念—虚拟仪器。1.2虚拟仪器概述所谓虚拟仪器(VirtualInstrument,简称VI),即是将现有的计算机主流技术与革新的灵活易用的软件和高性能模块化硬件结合在一起,建立起功能强大又灵活易变的基于计算机的测试测量与控制系统。虚拟仪器是计算机技术和仪器技术深层次结合的产物,是计算机辅助测试(CAT)领域的一项重要技术,是计算机硬件资源、仪器与测控系统硬件资源和虚拟仪器软件资源三者有效的结合。它强调在通用计算机平台的基础上,通过软件和软面板,把由厂家定义的传统仪器转变为由用户定义的、由计算机软件和几种模块组成的专用仪器。虚拟仪器的出现,彻底打破了传统仪器由厂家定义、用户无法改变的模式。1.3虚拟仪器的种类与特点1.3.1虚拟仪器的发展概况与种类虚拟仪器的发展过程有两条线:(I)适合大型高精度集成系统的GPIB--VXI-PXI总线方式。GPIB于1978年问世,VXL于1987年问世,PXI于1997年问世。 (2)适合于普及型的廉价系统,有广阔应用发展前景的PC插卡~并口式~串口USB方式。PC插卡式于80年代初问世,并行口方式于1995年问世,串口USB方式于1999年问世。而虚拟仪器的发展随着微机的发展和采用总线方式的不同,可分为五种类型:第一类:PC总线—插卡型虚拟仪器这种方式借助于插入计算机内的数据采集卡与专用的软件相结合,充分利用计算机的总线、机箱、电源及软件的便利。但是受PC机机箱和总线限制,且有电源功率不足,机箱内部的噪声电平较高,插槽数目也不多,插槽尺寸比较小,机箱内无屏蔽等缺点。第二类:并行口式虚拟仪器最新发展的一系列可连接到计算机并行口的测试装置,它们把仪器硬件集成在一个采集盒内。可实现台式和便携式两用,价格低廉、用途广泛,特别适合于研发部门和各种教学实验室应用。第三类:GPIB总线方式的虚拟仪器GPIB技术是IEEE488标准的虚拟仪器早期的发展阶段。它的出现使电子测量独立的单台手工操作向大规模自动测试系统发展。GPIB技术可用计算机实现对仪器的操作和控制,替代传统的人工操作方式,可以很方便地把多台仪器组合起来,形成自动测量系统。第四类:VXI总线方式虚拟仪器VXI总线是一种高速计算机总线VME总线在VI领域的扩展,它具有稳定的电源,强有力的冷却能力和严格的RFIlEM1屏蔽。由于它的标准开放、结构紧凑、数据吞吐能力强、定时和同步精确、模块可重复利用、众多仪器厂家支持的优点,很快得到广泛的应用。第五类:PXI总线方式虚拟仪器PXI总线方式是PCI总线内核技术增加了成熟的技术规范和要求形成的。它增加了多板同步触发总线的技术规范和要求,增加了多板触发总线,及用于相邻模块的高速通讯的局部总线。综上所述,对于虚拟仪器的发展而言,计算机是载体,软件是核心,高质量的A/D采集仁及调理放大器是关键。1.3.2虚拟仪器的特点虚拟仪器(virtualinstrumentation)是基于计算机的仪器。计算机和仪器的密切结合是目前仪器发展的一个重要方向。粗略地说这种结合有两种方式,一种是将计算机装入仪器,其典型的例子就是所谓智能化的仪器。随着计算机功能的日益强大以及其体积的日趋缩小,这类仪器功能也越来越强大,目前已经出现含嵌入式系统的仪器。另一种方式是将仪器装入计算机。以通用的计算机硬件及操作系统为依托,实现各种仪器功能。虚拟仪器主要是指这种方式。下面的框图反映了常见的虚拟仪器方案。 图1-1虚拟仪器结构原理框图虚拟仪器的主要特点有:n尽可能采用了通用的硬件,各种仪器的差异主要是软件。n可充分发挥计算机的能力,有强大的数据处理功能,可以创造出功能更强的仪器。n用户可以根据自己的需要定义和制造各种仪器。1.3.3虚拟仪器与传统仪器的比较虚拟仪器已经成为目前测试应用中的主流技术,大多数测试行业已接受虚拟仪器技术的概念,或者倾向于采用虚拟仪器技术。其与传统仪器区别如下表所示。表1-1虚拟仪器与传统仪器的比较虚拟仪器传统仪器开放、灵活,可与计算机技术保持同步发展封闭性、仪器间相互配合较差关键是软件,系统性能升级方便,通过网络下载升级程序既可关键是硬件,升级成本较高,且升级必须上门服务价格低廉,仪器间资源可重复利用率高价格昂贵,仪器间一般无法相互利用用户可定义仪器功能只有厂家能定义仪器功能可以与网络及周边设备方便互连与其他仪器设备的连接十分有限软件使得开发与维护费用降至最低开发与维护开销高技术更新周期短(1--2年)技术更新周期长(5--10年)数据可编辑、存储、打印数据无法编辑虚拟仪器在灵活性、性价比、用户化等方面,有着得天独厚的优势,是传统仪器无法媲美的。1.3.3.3虚拟仪器和传统仪器能否兼容许多工程师和科学家都在实验室里将虚拟仪器和传统仪器结合使用。虚拟仪器可与传统仪器完全兼容,无一例外。虚拟仪器软件通常提供了与常用普通仪器总线(如GPIB、串行总线和以太网)相连接的函数库。除了提供库之外,200多家仪器厂商也为NI仪器驱动库提供了4000余种仪器驱动。仪器驱动提供了一套函数和仪器接口,每一个仪器驱动都专为仪器某一特定的模型而设计,从而为它独特的性能提供接口。 1.4虚拟仪器的构成虚拟仪器的基本构架是:高性价比的通用计算机,模块化的通用硬件平台,高效且功能强大的专业测试软件系统。1.虚拟仪器的硬件系统虚拟仪器是基于计算机的测量设备,硬件由通用计算机和模块化硬件设备组成。通用计算机可以是便携式PC机、台式PC机或工作站等。最常用的模块化硬件设备是数据采集(DAQ)卡,再配以相应的调理电路,即构成硬件平台。高性价比传感器高性能计算机高性能传感器图1-2虚拟仪器系统硬件结构的基本框图VirtualInstruments(虚拟仪器)VirtualInstruments(虚拟仪器)VirtualInstruments(虚拟仪器)VirtualInstruments(虚拟仪器)VirtualInstruments(虚拟仪器)VirtualInstruments(虚拟仪器)VirtualInstruments(虚拟仪器)InstrumentsDriver(仪器驱动程序)InstrumentsHardware(虚拟硬件)InstrumentsDriver(仪器驱动程序)InstrumentsHardware(虚拟硬件)2.虚拟仪器的软件系统图1-3虚拟仪器的软件结构图形化开发环境与图形化VI框架不同,主要区别在于其VI组件可复用原码模块的能力,后者的这些原码模块必须具有被其他原码模块继承性调用的能力,。 1.5国内外虚拟仪器的现状与展望由于虚拟仪器技术的强有力支持,科学家和工程师们可以方便地建立适合自己需要的测控系统,再也不必将自己封闭在固定传统仪器的狭窄天地中。在电子测量、电力工程、物矿勘探、医疗、振动分析、声学分析、故障诊断及教学科研等诸多领域中都有极为广泛的应用。在电子和通信工程中,虚拟仪器可用于电子测量和信号分析;在自动化检测领域内,虚拟仪器可用于数据采集和控制;在航天航空学科里,虚拟仪器可用于监测和分析火箭或卫星传递来的复杂数据,已被美国航天航空局(NASA)用于火星探险;在基础学科的研究中,虚拟仪器可用于设计实验系统,例如用于生化领域中监测薄膜分子的相互作用,以及医学领域中研究嗅觉和视觉。我国还基本处于传统仪器与计算机化仪器互相分离的状态,世界各大相关产品商家都在向中国这个巨大的市场进军结合我国的实际情况,我们必须走引进与自行开发相结合的道路。图形化编程平台的进一步发展与完善是虚拟仪器发展的一个重要方向,VXI总线将成为未来虚拟仪器的理想硬件平台,虚拟仪器将向高性能、多功能、集成化、网络化方向发展。虚拟仪器技术不断地扩展其功能及应用范围。现在LabVIEW不仅能在PC上开发测试程序,而且可以在嵌入式处理器和FPGA上设计硬件。1.6本文设计的内容及意义虚拟示波器作为虚拟仪器中的一种典型仪器,是仪器仪表、无线电通信、雷达系统等领域不可缺少的一部分同时也是实验、教学、科研中常用的电子仪器,可以采集信号并进行分析,但传统仪器都具有设备更新慢、功能单一、价格贵等缺点,而高精度、具有数据存储能力的示波器,由于工艺复杂、技术要求高,因而价格昂贵。本文设计的虚拟数字示波器可以克服上述的缺点,充分集合了软件和计算机强大的数字计算能力。可以实现实时测量,节约了设备投资,并且可以通过调整一部分软件,方便的实现系统的优化。本课题的目的是基于虚拟仪器的概念,使用目前最为流行的虚拟仪器软件开发环境——LabVIEW,进行数据采集系统中信号的传输、处理与图示的研究,最终目的是使自主开发的数据采集卡和软件相结合,实现数字存储示波器、频率计和频谱仪的功能,可以对采集的信号进行进一步时域和频域处理,或与其它虚拟仪器(如信号发生器)相结合,实现由用户定制的专用测量仪器。本课题通过编制LabVIEW驱动程序,实现了在LabVIEW中对非NI的数据采集卡进行控制,对采集的数据进行传输并存储在计算机中;通过软件面板的开发,实现了虚拟数字示波器,可以对信号进行显示和处理。 第二章虚拟示波器设计方案2.1硬件及软件的选择虚拟仪器由仪器硬件和功能模块软件两部分组成。虚拟仪器的硬件主体是电子计算机,通常是个人计算机,也可以是任何通用计算机。所设计的虚拟数字存储示波器主要是有一块PCI总线的多功能数据采集卡和用LabVIEW开发的功能模块软件组成。2.1.1软件的选择在给定计算机必要的仪器硬件之后,构成和使用虚拟仪器的关键在于软件。软件为用户提供了集成开发环境、高水平的仪器硬件接口和用户接口。美国国家仪器公司提出的“软件即仪器”(TheSoftwareistheInstrument)形象地概括了软件在虚拟仪器技术中的重要作用。对于虚拟仪器应用软件的编写,大致可分为两种方式:(1)通用编程软件进行编写。主要有Microsoft公司的VisualBasic。与VisualC++,Borland公司的Delphi,Sybase公司的PowerBuilder:(2)用专业图形化编程软件进行开发。如HP公司的VEE,NI公司的LabVIEW和Labwindows/CVI等。LabVIEW虽然是为计算机测控领域开发的,但它的函数包含了一般高级计算机语言中的绝大多数程序控制功能。LabVIEW作为开发环境所具有的优点总结如下所述:(1)图形化编程,降低了对使用者编程经验的要求,易于工程师使用;(2)采用而面向对象的方法和概念,有利于软件的开发和再利用;(3)对象、框图及其构成的虚拟仪器在Windows,WindowsNT,UNIX等多平台之间和各种PC机及工作站间兼容,便于软件移植;(4)支持550多种标准总线设备及数据采集卡,如串行接口、GPIB,VXI等;(5)具有丰富的库函数和例子,对于大多数应用程序,用户可以从例子中得程序框架,便于提高开发速度;(6)具有比较完备的代码接口,可调用动态链接库(DLL)弥补自身某些不足;(7)直接支持动态数据交换(DDE)、对象联接与嵌入(OLE)、结构化查询语言(SQL),便于与其它Windows应用程序和数据库应用程序接口;在许多应用程序中,运行速度是至关重要的。LabVIEW是当今唯一带有可以生产最佳编码的编译器的图形化开发环境,运行速度等同于编好的C或C十+程序。因此LabVIEW是虚拟示波器设计的最佳选择。 2.1.2硬件的选择计算机与数据采集卡组成了虚拟示波器的硬件平台的基础。数据采集卡是虚拟示波器的重要组成部件,其性能指标直接影响着虚拟示波器的采样速率、精度等主要指标的因素。CPU的速度及计算机的内存影响着示波器处理数据的速度;计算机的硬盘决定它的存储数据的容量。本文选择北京阿尔泰公司的ARTPCI2300型多功能采集卡。2.2软件设计方案2.2.1虚拟示波器的软件结构虚拟示波器是采用基于计算机的虚拟技术,用以模拟通用示波器的面板操作和处理功能,也就是使用个人计算机及其接口电路来采集现场或实验室信号,并通过图形用户界面(GUI)来模仿示波器的操作面板,完成信号采集、调理、分析处理和显示输出等功能。图2-1虚拟示波器的结构框图我们所开发的虚拟示波器,是在数据采集硬件的支持下,配备一定功能的软件,完成波形的存储、分析、显示等功能。一般测试仪器由信号采集、信号处理和结果显示三大部分组成,这三部分均由硬件构成。虚拟示波器也是由这三大部分组成,但是除了信号采集部分是由硬件实现之外,其它两部分都是由软件实现。我们所设计的虚拟示波器总体上包括数据采集、波形显示、参数测量、频谱分析、以及滤波模块等五大模块组成,其结构框图2.2所示2.2.2仪器功能本文开发的虚拟数字存储示波器除了具有通用功能外,又具有普通示波器所没有的许多优点,如下:(1)虚拟示波器可将多个通道的信号波形同时映现在屏幕的不同窗口中,这使虚拟示波器可用于对控制系统多个工作部位的工程状况进行实时监测。(2)虚拟示波器可以对10Hz~10kHz的输入波形进行显示、观察、测量。(3)虚拟示波器具有虚拟信号源演示,内部虚拟信号源有标准的正弦波、方波、三角波、锯齿波信号输出,各自的频率、幅值、偏移、相位等参数均可调。(4) 虚拟示波器除了具有单踪数字示波器功能模块、双踪数字示波器功能模块外还具有(Y1+Y2)/(Y1-Y2)功能模块、(Y1*Y2)/(Y1/Y2)功能模块、Y1/Y1微分功能模块、Y1/Y1积分功能模块、Y1/Y1微分功能模块、Y1/Y1积分功能模块、李萨如波形生成功能模块、频谱分析功能模块等高级信号处理模块,延伸普通数字示波器的功能范围。(1)本虚拟示波器集成网络显示模块,可以进行远程监视和控制,方便网络化远程教学与科研的实现。 第三章虚拟仪器集成开发环境3.1软件操作平台PC机上的操作系统的发展历程,经历了DOS,Windows3.X、直至今天的Windows9X,Windows2000以WindowsXP。最初的DOS操作系统是一种实时操作系统(realtimesystem),而Windows的各个版本都属于分时操作系统(timesharingsystem)。显然,对于实时性要求较高的测试系统,选用DOS操作平台及其开发软件要好一些,但是在其它方面,Windows操作系统给程序编制者和软件用户带来了极大的便利,尤其是图形显示方面,其次,共享网络资源的网络环境下的操作系统的使用己经是当今社会的主流,考虑到这些因素,作者把虚拟仪器平台软件开发平台定位为目前拥有最大用户群的Windows操作系统。3.2软件开发工具LabVIEW(实验室虚拟仪器集成环境)是一个程序开发环境。它类似于VisualBasic,VisualC++。但LabVIEW的特点在于:它使用图形化编程语言G在流程图中创建源程序,而没有使用基于文本的语言来产生源程序代码。LabVIEW是一个多线程、最佳化的图形编译器,它能在最大程度上优化系统的性能。无论是使用基于计算机的插入式仪器设备,还是使用GPIB,VXI,Ethernet接口或是串口的独立仪器设备,LabVIEW内置的驱动程序库和具有工业标准的设备驱动软件都可以对仪器系统进行全面的控制。LabVIEW数据采集库包含了许多有关采集和生成数据的函数,它们与NI的插卡式或远程数据采集产品协同工作。LabVIEW专业版开发系统包括应用程序生成器(ApplicationBuilder),可以创建并发布独立的可执行程序、动态连接库(DLL)。DLL提供最大的灵活性,可以将LabVIEW与其它开发工具如VB,VC和NI的MeasurementStudio结合起来。LabVIEW是一个基于G(Graphic)语言的图形编程开发环境,在工业界和学术界中广泛用作开发数据采集系统、仪器控制软件和分析软件的标准语言,对于科学研究和工程应用来说是很理想的语言。它含有种类丰富的函数库,科学家和工程师们利用它可以方便灵活地搭建功能强大的测试系统。LabVIEW用框图代替了传统的程序代码,编程的过程即是使用图形符号表达程序行为的过程。LabVIEW的框图中使用了丰富的设备和模块图标,与科学家、工程师们习惯的大部分图标基本一致,这使得编程过程和思维过程非常的相似。3.3LabVIEW前台显示面板前面板是VI的交互式用户界面,外观和功能都类似于传统仪器面板,用户的输入数据通过前面板传递给框图,计算和分析结果也在前面板上以数字、图形、表格等各种不同方式显示出来。一个典型的VI前面板如图3.1所示: 图3-1虚拟仪器(VI)的前面板3.4LabVIEW后台控制面板(a)图标(b)连接器(c)通过连线进行编程图3-2虚拟仪器(VI)的图标和连接器3.5LabVIEW程序执行流程宏观上讲,LabVIEW的运行机制已不再是传统上的冯·诺伊曼式计算机体系结构的执行方式了。传统计算机语言(如C语言)中的顺序执行结构在LabVIEW中被并行机制所代替。而且,对于那些数学和逻辑运算过程较复杂的程序,用户可以选择使用VC或者Matlab等开发工具将数学分析和处理过程编写为专用的动态链接库,LabVIEW提供了专门的接口函数可以调用之。这样,可以结合图形语言和文本语言各自优点,更为灵活、高效、易用。 第四章仪器驱动对仪器的驱动是虚拟仪器实现对真实物理信号采集的基础,当仪器驱动后,才能由软件进行数据的分析处理进而实现某种测量功能,并求取测量结果。4.1仪器驱动的概念仪器驱动也称为仪器驱动器,是完成对某一特定仪器控制与通信的软件程序集,也可以认为是仪器的软件描述,它是应用程序实现仪器控制的桥梁。每个仪器模块都有自己的仪器驱动器,厂商将仪器驱动以源代码提供给用户。由于虚拟仪器需要提供模拟实际仪器操作面板的虚拟面板,因此虚拟仪器驱动器不仅是实施仪器控制的程控代码,还是仪器程控代码、高级软件编程与先进人机交互三者相结合的产物,是一个包含实际仪器使用和操作信息的软件模块。上层是一系列按功能分组的主/副软面板,软面板又由一些按键、旋钮、表头等控件组合而成,每个控件都对应不同的功能,即其程控代码相异。底层部分则基于一组I/O函数和测试接口,实时模式下,测试人员对软面板上控件的操作将直接反映到真实仪器上。和用户直接打交道的部分是操作接口,即虚拟软面板和面板上的控件。应用软件建立在仪器驱动程序之上,直接面对操作用户,通过提供友好直观的测控操作界面、丰富的数据分析和处理功能,来完成自动测试任务。仪器驱动程序模块负责处理与某一专门设备通信和控制的具体过程,通过封装复杂的仪器编程细节,为用户使用仪器提供简单的函数接口,用户不必对各种仪器硬件有专门的了解,就可以通过仪器驱动程序来使用这些仪器硬件。一般由仪器厂商以动态链接库的形式提供给用户。当需要更换新的仪器硬件时,只需要更新相应的驱动程序,并保证它对上层的接口保持不变,新的硬件就能在原系统中正常运行。4.2LabVIEW平台上仪器驱动的方法1、LabVIEW支持的数据采集卡,如NI公司自行生产的各类数据采集卡,可利用LabVIEW自带的驱动函数驱动。设计者只需要正确输入参数就可以实现数据采集的任务,而不需要编写代码程序。2、LabVIEW不支持的数据采集卡,可利用LabVIEW能与外部程序接口的特性来实现。4.2.1LabVIEW支持的DAQ产品的驱动一般而言,所有能够在计算机控制下完成数据采集与控制任务的板卡产品都称为DAQ产品。LabVIEW对NI公司的全部DAQ产品都提供了专门的驱动程序库,因此,在LabVIEW下应用NI的DAQ产品无需专门考虑驱动程序的问题。由于LabVIEW的广泛应用,许多其它厂商也将LabVIEW驱动程序作为其DAQ产品的标准配置。 在LabVIEW中用户是通过LabVIEWDAQVIs来完成DAQ编程应用的,所有的LabVIEWDAQVIs都包含在功能模板MeasurementI/O:DAQmx-DataAcquisition子模板中。MeasurementI/O:DAQmx-DataAcquisition子模板共包含多个子模板,每个子模板分别完成不同的数据采集任务,图4-1MeasurementI/O:DAQmx-DataAcquisition子模板4.2.2LabVIEWEW支持的GPIB,VXI、标准串口I/O仪器的驱动通常LabVIEW有两张安装光盘,其中一张就是设备驱动盘,它包含了一个仪器驱动库,该库为NI生产的各种程控仪器(GPIB仪器、VXI仪器和串行仪器等)提供仪器驱动程序,例如HP34401A数字万用表的仪器驱动程序。仪器驱动程序在功能模板~InstrumentI/O--InstrumentDrivers子模板中。对于非NI公司生产的上述I/O接口仪器设备,可用InstrumentI/O子模板上提供的v1sA图标来进行驱动。利用这些仪器驱动器,用户可以很容易地控制各种仪器,并将主要精力放在仪器功能的实现上,而不必关心具体的编程细节,这一点是LabVIEW强大功能的体现。4.2.3LabVIEWEW不支持的数据采集卡的驱动LabVIEW支持的数据采集卡,是MeasurementAutomation软件检验时可识别的,从而是可以进行参数设置的数据采集卡。这种数据采集卡可以调用DataAcquisition子模板上的数据采集图标进行各种方式的数据采集。LabVIEW不支持的数据采集卡,Measurement&Automation软件检验时是不可识别的,当然非NI公司生产的数据采集卡通常属于此列,对于这类数据采集卡,一般需要用户自己开发驱动程序。而一般的数据采集卡都会有DLL(动态链接库)形式或源代码形式的I/O驱动程序,而且通常是采用C语言编写的,这样我们就可以利用LabVIEW与外部编程语言之间的接口技术CLF和CIN来完成对此类数据采集卡的驱动。1.CIN技术CIN技术即代码接口(codeinterface node)技术是LabVIEW中调用C源代码的通用方法。C语言是目前公认的功能强大的程序语言,LabVIEW通过与C语言接口,可大大扩展其整体功能。很多其他厂商生产的DAQ设备的驱动程序并不支持LabVIEW,但是大多数的驱动程序都是用C语言开发的,因此,使用CIN技术调用这些C语言开发的驱动程序,就可以在LabVIEW中使用各种DAQ设备。图4-2CIN节点图标2.CLF技术LabVIEW提供了一个调用库函数(calllibraryfunction.CLF)节点,利用CLF节点,可以在LabVIEW中实现DLL和API函数的调用。由于在本课题所选用的I/O设备是北京阿尔泰公司的示波卡PCI2300,在本课题中将采用CLF来调用示波卡的I/O驱动程序以实现对示波卡的驱动。要使用CLF调用DLL;首先要在框图程序中创建一个空的CLF节点,CLF节点位于LabVIEW功能模板Advanced子模板中。单击Advanced子模板中的CLF节点图标,就可以将CLF节点图标拖放到LabVIEW框图程序中。图4-9CLF节点图标2.2.4支持LabVIEW的数据采集卡的驱动由于LabVIEW的广泛使用,越来越多的厂家给自己的产品配备了LabVIEW形式的驱动程序,一般将其安装在目录NationalInstruments/LabVIEW下,其中x为LabVIEW的安装路径。安装完成后再次启动LabVIEW会在功能模板Users"VI子模板中看到相应设备的图标形式的驱动模块。研华数据采集/控制卡即配备有LabVIEW形式的驱动:图4-4LabVIEW中为采集卡开发的VI4.3本章小结本章介绍了仪器驱动的概念,在此基础上讨论了各种LabVIEW支持和不支持的数据采集卡在LabVIEW中的驱动方法,并且针对本课题所采用的数据采集卡各自的特色,给出了在LabVIEW开发环境中驱动它们的具体方法。 第五章数据采集5.1概述一般情况下,DAQ硬件设备的基本功能包括模拟量输入(A/D)、模拟量输出(D/A)、数字I/O(DigitalI/O)和定时(Timer)/计数(Counter)。因此,LabVIEW环境下数据采集模块的设计也是围绕这4大功能来组织的,图5-1为LabVIEW环境下数据采集应用的结构。下面简要介绍一些与此有关的DAQ基本概念。图5-1数据采集应用的结构5.1.1DAQ基本概念1)A/DA/D转换器是把输入模拟量转换为输出数字量的器件。A/D转换有3种方法:逐次逼近法、双积分法和并行比较法。衡量A/D转换器性能好坏主要有两个指标,一是采样分辨率,即A/D转换器位数,二是A/D转换速度。这二者都与A/D转换器的工作原理有关。2)D/AD/A转换器就是将数字量信号转换为模拟量输出的器件。D/A转换器的主要性能参数是分辨率和线性误差分辨率,分辨率取决于D/A转换器的位数,线性误差则刻画了D/A转换器的精度。3)数字I/O数字I/O是采集外部设备工作状态,建立与外部设备的通信,此时就需要用到DAQ设备的功能。一般的数字I/O板卡均采用TTL电平。4)定时/计数器定时/计数器的两个主要性能指标是分辨率和始终频率,分辨率越大,计数器位数越大,计数值越高。5.1.2数据采集卡的基本性能指标1.模拟信号输入部分1)模拟输入通道数。该参数表明数据采集卡所能够采集的最多的信号路数。2)信号的输入方式。一般待采集信号的输入方式有: 单端输入:即信号的其中一个端子接地。单端输入以一个共同接地点为参考点。这种方式适用于输入信号为高电平(大于一伏),信号源与采集端之间的距离较短(小于巧英尺),并且所有输入信号有一个公共接地端。如果不能满足上述条件,则需要使用差动输入。差动输入:即信号的两端均浮地。差分输入方式下,每个输入可以有不同的接地参考点。并且,由于消除了共模噪声的误差,所以差分输入的精度较高。3)模拟信号的输入范围(量程)。指ADS能够量化处理的最大、最小输入电压值。DAQ卡提供了可选择的输入范围,它与分辨率、增益等配合,以获最佳测量精度。4)放大器增益。表示输入信号被处理前放大或缩小的倍数。给信号设置一个增益值,就可以实际减小信号的输入范围,使模数转换能尽量地细分输入信号。5)分辨率。分辨率是模/数转换所使用的数字位数。分辨率越高,输入信号的细分程度就越高,能够识别的信号变化量就越小。2.A/D转换部分1)采样速率。指在单位时间内数据采集卡对模拟信号的采集次数,是数据采集卡的重要技术指标。由采样定理,为了使采样后输出的离散时间序列信号能无失真地复现原输入信号,必须使采样频率九至少为输入信号最高有效频率的两倍,否则会出现频率混淆误差.实际系统中,为了保证数据采样精度,一般有下列关系:(5-1)式中N为多通道数据采集系统的通道数。采样率决定了模/数变换的速率。采样率高,则在一定时间内采样点就多,对信号的数字表达就越精确。采样率必须保证一定的数值,如果太低,则精确度就很差。2)位数b。是指A/D转换器输出二进制数的位数。当输入电压由U=0增至满量程值U=UH时,一个八位((b=8)A/D的数字输出由八个“0”变为八个“1",共计变化2b个状态,故A/D转换器产生一个最低有效位数字量的输出改变量。3)分辨率与分辨力。指数据采集卡可分辨的输入信号最小变化量。分辨率一般以A/D转换器输出的二进制位数或BCD码位数表示。分辨力为1LSB(最低有效位数)。4)精度。一般用量化误差表示,量化误差e为LSB/2。(5-2)3.D/A数模转换部分1)分辨率。指当输入数字发生单位数码变化即1LSB时,所对应输出模拟量的变化量。通常用D/A转换器的转换位数b表示。2)标称满量程.指相当于数字量标称值2b的模拟输出量。3)响应时间:指数字量变化后,输出量稳定到相应数值范围内(LSB/2)的时间。 5.2本文采用的采集卡本课题的所实现的虚拟仪器采用的是最基本的虚拟仪器构成方式,即PC-DAQ构成方式。在PC的控制下对DAQ发出控制命令来完成数据的采集,然后利用PC强大的数据处理和显示功能来得到用户需要的有效信息。5.2.1多功能数据采集卡ARTPCI-2300PCI2300卡是一种基于PCI总线的数据采集卡,可直插在IBMPC/AT或兼容机内的任一PCI插槽中,构成实验室、产品质量检测中心等各种领域的数据采集、工业生产过程监控系统。PCI2300板上装有12Bit分辨率的A/D转换器,为用户提供了16双/32单的模拟输入通道。输入信号仪表放大器AD620调整到合适的范围,保证最佳转换精度。A/D转换器输入信号范围±5V、±10V、0~10V。5.2.1.1性能及技术指标模拟信号输入部分A/D转换电路部分模拟通道输入数32路单端或16路双端输入A/D分辨率12Bit(4096)模拟输入电压范围±5V、±10V、0~+10V系统测量精度0.1%模拟输入阻抗100MΩ转换时间10us模拟输入共模电压范围>±2V非线性误差±1LSB(最大)放大器建立时间20us5.2.2系统测试流程1、进入测试系统:当您正确安装ARTPCI2300驱动程序后,在Windows的系统菜单中启动“ArtVCTestApplication……”即可进入设备测试系统。2.进行数据采集:先设采样首末通道,频率等硬件参数,再“开始”按钮。3.进行数据处理5.2.3.多功能数据采集卡ARTPCI-2300编程对于采集卡一般要先创建设备对象来激活设备,然后初始化所需要的模块,然后开始数据采集,采集结束后要释放相关组件,最后释放设备。下面具体说明:第一步创建设备对象第二步初始化设备对象中的AD部件第三步开始循环采集AD数据第四步释放设备对象中的AD部件第五步释放设备对象5.3本章小结本章首先介绍了数据采集的基本概念,列举了在进行数据采集时应该注意的要点。针对板卡在整个数据采集系统中不同阶段发挥的不同作用,分别描述了具体的应用方案。 第六章虚拟示波器软面板及程序设计6.1数据采集模块数据采集模块是虚拟示波器软件的硬件驱动部分,主要完成数据采集的控制、数据格式的定义与转换,下面是具体框图:图6-1数据采集模块框图6.2波形显示模块6.2.1波形显示模块的功能及控件波形显示模块主要是对虚拟示波器的波形进行显示,它主要包括多种显示力一式:(Y1+Y2)/(Y1-Y2)、(Y1*Y2)/(Y1/Y2)、Y1/Y1微分、Y1/Y1积分、李萨如波形生成、频谱分析等。它主要完成对波形进行放大、频率调整等方面的控制。(1)Y1模式(2)Y2模式 (3)(Y1+Y2)/(Y1-Y2)模式(4)Y1/Y2模式(5)(Y1*Y2)/(Y1/Y2)模式(6)Y1/Y1微分模式(7)Y1/Y1积分模式(8)Y2/Y2微分模式 (9)Y2/Y2积分模式(10)李萨如波形模式图6-2波形显示模块框图6.2.2波形显示模块的前面板及框图前面板参见图6-3,在该图中,1是现实波形类型选择按钮,详细类型参见图6-4,2是虚拟信号源通道Y1的波形选择按钮,3是虚拟信号源通道Y2的波形选择按钮,4是Y坐标名称,5是波形显示窗,6是X坐标名称。图6-3前面板图图6-4显示波形类型选择按钮详细类型图6.3参数测量及时间序例生成模块6.3.1时间序例生成功能及功能节点图6-5时间生成序列图 时间生成序列是生成时间序列来作为X坐标轴的输入变量,在李萨如波形模式下,由其中一个输入信号代替时间序列。6.3.2测量模块前面板及框图测量模块是对输入信号进行测量处理的模块它包括7个部分,1是测量指针选择工具,2是缩放选择工具,3是波形平移选择,4是测量指针微调选择工具,5是波形属性调整工具,6是X、Y坐标锁定工具,7是测量指针坐标显示工具图6-6测量模块图6.4频谱分析模块6.4.1分析模块功能及节点对于周期信号而言,在进行频谱分析时,可以利用傅里叶级数,也可以利用傅里叶变换,傅里叶级数相当于傅里叶变换的一种特殊表达形式。任意周期函数都可以展开为傅里叶级数的形式:将周期函数分解为傅里叶技术后信号的三角级数不含偶次分量,只有奇次分量,然后用一些线段代表振幅的大小,按着频率高低依次排列起来,这样就形成了频谱图。下面是频谱分析的结构图。图6-7频谱分析结构图 6.4.2分析模块前面板及框图图6-8频谱前面板效果图6.5虚拟信号产生模块的设计虚拟信号产生模块通过内部信号源有标准的正弦波、方波、三角波、锯齿波,其各种参数均可调,可以进行教学演示,得到非常好的效果。图6-9虚拟信号产生模块调节面版图(左)与结构图(右)6.6小结本章是设计的关键部分,主要介绍了虚拟示波器各个功能模块:数据采集模块、波形显示模块、参数测量模块、频谱分析模块及虚拟喜好产生模块的具体设计。将这些模块在主VI的框图程序中按照一定的逻辑关系组合起来,就形成一个完整的虚拟示波器。 第七章调试及实验结果7.1虚拟示波仪的调试本虚拟数字存储示波器的设计是参阅通用的双通道台式数字示波器的功能,并且在仪器分析和功能上有所扩展。仪器的主要功能包括双通道信号输入、通道控制、时基控制、波形显示、频谱分析、李萨如波形以及滤波等实际输入信号处理和各种虚拟信号的虚拟信号输入、通道控制、时基控制、波形显示、频谱分析、李萨如波形以及滤波相关功能。由于LabVIEW具有各种信号处理的相关模块,因此多功能虚拟示波仪的调试重点在于采集卡的输入信号调试上,本文采用的是北京阿尔泰公司的ARTPCI2300型多功能数据采集卡,采集卡采集后的数据类型为数据流,必须转换为数组类型或波形类型才能被LabVIEW的信号处理模块采用为数据源,因此在波形处理模块加了带有时间间隔的循环,以确保信号可以正常稳定显示,而间隔时间却不易确定,经过大量试验,确定间隔时间即稳定参数定为1000附近。例如1kHz信号输入,其稳定参数为963.6。7.2实验结果图7-1多功能虚拟示波仪主界面图 2微分1正弦图7-2Y1通道正弦信号输入图图7-3Y1通道信号与其微分波形图(输入信号:正弦频率:1kHz(输入信号:正弦频:1kHz0000000000幅值:4VPP)幅值:4VPP1-正弦波形2-微分波形)图7-4Y1通道信号与其积分波形图图7-5XY模式李萨如波形显示(输入信号:正弦频率:1kHz(X-正弦波形频率:1kHz幅值:4VPP00幅值:4VPP1-正弦波形2-积分波形)Y-正弦波形频率:1kHz幅值:4VPP)1次谐波1方波2正弦5次谐波3次谐波图7-6输入信号频谱分析图图7-7虚拟信号源双通道波形图(输入信号:方波频率1kHz)(虚拟信号:1方波频率2Hz2正弦频率4Hz) Y1/Y2Y1*Y2Y1-Y2Y1+Y2图7-8虚拟信号源(Y1+Y2)/(Y1-Y2)模式7-9虚拟信号源(Y1*Y2)/(Y1/Y2)模式(Y1正弦幅值40vppY2正弦幅值40vpp)(Y1正弦幅值40vppY2正弦幅值40vpp)2积分1正弦1正弦2微分图7-10虚拟信号源Y1/Y1微分模式图7-11虚拟信号源Y1/Y1积分模式(Y1正弦幅值40vppY2正弦幅值40vpp)(Y1正弦幅值40vppY2正弦幅值40vpp)135次偕波135次偕波135次偕波图7-12虚拟信号源李萨如波形图图7-13虚拟信号源频谱分析图(X正弦频率2HzY正弦频率4Hz)(信号输入:方波频:10Hz) 第八章结论与展望本文介绍的虚拟数字存储示波器不仅具有台式数字存储示波器的功能,而且充分发挥了微机强大的功能和软件设计的灵活性,其主要技术特性为:本文开发的虚拟数字存储示波器除了具有通用功能外,又具有普通示波器所没有的许多优点,如下:1)虚拟示波器可将多个通道的信号波形同时映现在屏幕的不同窗口中,这使虚拟示波器可用于对控制系统多个工作部位的工程状况进行实时监测。2)虚拟示波器可以对10Hz~10kHz的输入波形进行显示、观察、测量。3)虚拟示波器具有虚拟信号源演示,内部虚拟信号源有标准的正弦波、方波、三角波、锯齿波信号输出,各自的频率、幅值、偏移、相位等参数均可调。4)虚拟示波器除了具有单踪数字示波器功能模块、双踪数字示波器功能模块外还具有(Y1+Y2)/(Y1-Y2)功能模块、(Y1*Y2)/(Y1/Y2)功能模块、Y1/Y1微分功能模块、Y1/Y1积分功能模块、Y1/Y1微分功能模块、Y1/Y1积分功能模块、李萨如波形生成功能模块、频谱分析功能模块等高级信号处理模块,延伸普通数字示波器的功能范围。5)本虚拟示波器集成网络显示模块,可以进行远程监视和控制,方便网络化远程教学与科研的实现。6)硬件具有开放性,允许通过升级硬件来提高其性能;7)在相同硬件条件下,可以通过修改或增加软件模块,形成新的仪器功能。虑拟示波器在使用和功能上共有许多优点。与传统示波器比较,其优点主要表现在:1)捕捉的波形可以保存在磁盘中或从打印机打印出来备份,并且可以在文本编辑器中察看数据;2)测量准确度高,虚拟示波器采用自动测量或光标测量,能减少输入放大器和示波管线性度的影响,可以获得较高的准确度;3)波形均匀、稳定、无闪烁,同时还能跟随观察窗口的放大、缩小而放大、缩小,为用户作细致的观测提供方便:4)通过用户编程模块,可扩充用户自己的数据处理和分析。因此,虚拟示波器适合对系统进行性能测试和故障诊断;5)多窗口显示模式,虚拟示波器可将多个通道的实测波形同时映现在屏幕的不同窗口中,此功能使虚拟示波器可用于对控制系统多个工作部位的工况同时进行监视;6) 性价比高,PC机在价格上通常只有数据存储示波器的1/5到1/10左右,此外,PC机的资源并非全部为测试专用。当不需要进行测量时,其可用作其它用途。由于作者水平有限以及实验条件有限,本设计尚存在许多未尽人意的地方,主要有以下几个方面进行改进和研究:(1)影响虚拟示波器系统各个性能的因素很多,而数据采集卡的采样速率、和分辨率影响着示波器的分辨率和显示的波形。本设计由于经费问题,所选用的数据采集卡的采样速率较低,因此需要选用各方面性能都较高的采集卡,这才能充分发挥虚拟仪器的优点。 致谢论文终于写到了最后,原以为自己会很激动,而此刻的心情却万分平静。忽然间,觉得这四年的读研光阴是如此的短暂。回首这四年,可以说是艰辛的四年,难忘的四年,也是我人生中收获最大的四年,它必将给我留下深刻的印迹。本论文的全部工作都是在指导老师何道清教授的悉心指导下完成的,从论文的选题、设计中具体问题的讨论,到论文的撰写、修改和定稿无不凝结着恩师的心血。恩师渊博的学术知识、深厚的专业功底、丰富的实践工作经验、严谨的治学态度、诲人不倦的育人精神和忘我的工作精神都给我留下了极其深刻的印象,使我受益匪浅。正是何老师的言传身教激励我克服在研究工作中遇到的一个又一个困难,使我有信心在人生的旅途中去面对各种挑战。 参考文献[1]GaryW.Johson.《LabVIEW图形编程》.北京:北京大学出版社[2]刘君华.《基于LabVIEW的虚拟仪器设计》.北京:电子工业出版社[3]杨乐平.《LabVIEW程序设计与开发》.北京:电子工业出版社[4]路林吉,饶家明,等.虚拟仪器概论.电子技术,2000,1:44-47[5]白凤山,等.多功能虚拟示波器的研究与实现.电测与仪表,2001,38(4):36-38[6]耿世钧,等.新一代的智能仪器虚拟仪器.河北工业大学学报,1999.23-26[7]潘莹玉.虚拟仪器及其应用.电力自动化设备,1999,19(1):44-v46[8]徐炉清,顿敦.动态链接库(DLL)的应用.机械与电子,1999,4:67-68[9]朱晓华,等.基于组件技术的虚拟仪器开发方法的研究.上海大学学报,1999,4[10]路林吉,等.虚拟仪器的应用.电子技术,2000,6:40-42[11]刘鹏翔.虚拟示波器VS研制:.西安:西安交通大学硕士,1997[12]NationalInstruments.LabVIEW测量与自动化的专业软件.2001.7-10[13]LabVIEW图形化编程软件动手课程NATIONALINSTRUMENTS[14]测试测量和自动化NATIONALINSTRUMENTS[15]GaryWGodson.LabVIEWGraphicProgramming.USA:MCGrew-Hill1998[16]GProgrammingReferenceManual.USA:NationalInstrumentsCorporation1998[17]LabVIEWUserManual.USA:NationalInstrumentsCorporation,1998[18]LabVIEWFunctionManual.USA.NationalInstrumentsCorporation,1998[19]NoelAdorns.DevelopingaLabVI1WInstrumentsDriver.USA:TheApplicationNote:NationalInstrumentsCorporation'