文档库 最新最全的文档下载
当前位置:文档库 › 基于LabVIEW的虚拟仪器设计研究

基于LabVIEW的虚拟仪器设计研究

基于LabVIEW的虚拟仪器设计研究
基于LabVIEW的虚拟仪器设计研究

大学

毕业设计(论文)报告

课题名称基于LabVIEW的虚拟仪器设计研究

学生姓名

所在院、系(队)

专业通信工程

学号

申请学位级别工学学士

指导教师单位

指导教师姓名

技术职务

二○一一年五月

目录

摘要

第一章绪论

1.1 问题的提出

1.2 虚拟仪器的介绍

1.3虚拟仪器的现状和发展方向

第二章 LabVIEW介绍及设计方案

2.1 LabVIEW介绍

2.2 LabVIEW设计虚拟仪器的方法

第三章仪器硬件平台与LabVIEW信息采集

3.1五种类型的虚拟仪器总线

3.2 LabVIEW数据采集卡

第四章虚拟数字存储示波器的软件设计4.1虚拟实验仪器的软件设计方案

4.2 数据采集模块

4.3虚拟示波器前面板的设计

4.4 电压测量

4.5 频率测量

4.6 数据存储和回放模块

第五章系统调试与试验结果分析

5.1 虚拟仪器的调试

5.2 试验结果分析

结论

致谢

参考文献

摘要

虚拟仪器是指在通用计算机上添加一层软件和一些硬件模块,使用户操作这台通用计算机就像操作一台自己专门设计的仪器一样。虚拟仪器系统与传统仪器相比,具有性价比高、开放性、智能化程度高、界面友好等特点。LabVIEW是目前应用最

广泛的虚拟仪器开发平台软件之一。LabVIEW是一种用图标代替文本行创建应用程

序的图形化编辑语言,集成了与满足GPIB、VXI、RS-232和RS-485协议的硬件及数

据采集卡通讯的全部功能,而且内置了便于应用TCP/IP、Active等软件标准的库函数,可以方便地建立自己的虚拟仪器,已广泛的被工业界、学术界和研究实验室所接受,视为一个标准的数据采集和仪器控制软件。

本文介绍了虚拟仪器的概念,并以虚拟存储示波器为例介绍了虚拟仪器开发平台LabVIEW的特点及应用,并讲述了虚拟数字存储示波器各个功能模块的软件设计,并对系统进行了调试和实验,验证了虚拟实验仪器的实用性和优越性。

关键词:虚拟仪器LabVIEW 虚拟数字存储示波器

ABSTRACT

On the virtual instrument is a general-purpose computer adds a layer of software and hardware modules, enables users to operate the universal computer is like operating a proprietary design of the instrument. Compared with the traditional instruments,Virtual instrument system have these features with cost-effective, high degree of open, intelligent, friendly interface and others. LabVIEW virtual instruments development platform is the most widely used one of all the virtual instrument. LabVIEW,using icon instead of text line ,create application of graphics of edit language, integrated and satisfy GPIB, VXI, RS-232 and RS-485 agreement of hardware and the data acquisition card communications of all function, and built-in software standard of library function for TCP/IP, and Active,It can convenient to established it’s own virtual instrument,and has widely accept by industry, academia and research laboratory .It has considered a standard of data acquisition and instrument control software.

This article introduces the concept of virtual instruments, and use virtual storage oscilloscope for an example to introduce the development platform of virtual instrument LabVIEW’s featur es and applications, and describes each functional module of the software design of virtual digital storage oscilloscope, progress system debugging and experiments, verify the usefulness and superiority of the virtual experiment instrument.

KEY WORDS: Virtual laboratory instrument system LabVIEW

Virtual digital storage oscilloscope

第一章绪论

1.1问题的提出

由于电子技术、计算机技术和网络技术的高速发展及其在电子测量技术与仪器领域中的应用,新的测试理论、新的测试方法、新的测试领域以及新的仪器结构不断出现。电子测量仪器的功能和作用已发生质的变化,其中计算机处于核心地位,计算机软件技术和测试系统更紧密的结合成一个有机整体,导致仪器的结构、概念和设计观点等也发生突破性的变化。在上述的背景下,出现了新的仪器概念——虚拟仪器。

在通用计算机平台上,根据测试任务的需要来定义和设计仪器的测试功能,充分利用计算机来实现和扩展传统仪器功能,开发结构简单、操作方便、费用低的虚拟实验仪器,包括数字示波器、频谱分析仪、函数发生器等,既可以减少实验设备资金的投入,又为学员做创新性实验、掌握现代仪器技术提供了条件。

1.2虚拟仪器介绍

1.2.1 虚拟仪器的概念

虚拟仪器(Virtual Instrument,简称VI),就是在以计算机为核心的硬件平台上,其功能由用户设计和定义,具有虚拟面板,其测试功能由测试软件实现的一种计算机仪器系统。虚拟仪器的实质是利用计算机显示器的显示功能来模拟传统仪器的控制面板,以多种形式表达输出检测结果;利用计算机强大的软件功能实现信号数据的运算、分析和处理;利用I/O接口设备完成信号的采集测量与调理,从而完成各种测试功能的一种计算机测试系统。使用者用鼠标或键盘操作虚拟面板,就如同使用一台专用测量仪器一样。因此,虚拟仪器的出现,使测量仪器与计算机的界限模糊了。

虚拟仪器的“虚拟”两字主要包含以下两方面的含义。

(1)虚拟仪器的面板是虚拟的

虚拟仪器面板上的各种“图标”与传统仪器面板上的各种“器件”所完成的功能是相同的:由各种开关、按钮、显示器等图标实现仪器电源的“通”、“断”,实现被测信号的“输入通道”、“放大倍数”等参数的设置,以及实现测量结果的“数值显示”、“波形显示”等。

传统仪器面板上的器件都是“实物”,而且是由“手动”和“触摸”进行操作的:虚拟仪器前面板是外形与实物相像的“图标”,每个图标的“通’、“断”、“放大”等动作通过用户操作计算机鼠标或键盘来完成。因此,设计虚拟仪器前面板就是在前面板设计窗口中摆放所需的图标,然后对图标的属性进行设置。

(2)虚拟仪器测量功能是通过对图形化软件流程图的编程来实现的

虚拟仪器是在以PC为核心组成的硬件平台支持下,通过软件编程来实现仪器的功能。因为可以通过不同测试功能软件模块的组合来实现多种测试功能,所以,在硬件平台确定后,就有“软件就是仪器”的说法。这也体现了测试技术与计算机深层次的结合。虚拟仪器技术的实质是充分利用最新的计算机技术来实现和扩展传统仪器的功能。软件是虚拟仪器的关键,当硬件确定以后,就可以通过不同的软件实现不同的功能。用户可以根据自己的需要,设计自己的仪器系统,满足多种多样的应用要求。利用计算机丰富的软、硬件资源,可以大大突破传统仪器在数据的分析、处理、表达、传递、储存等方面的限制,达到传统仪器无法比拟的效果。它不仅可以用于电子测量、测试、分析、计量等领域,而且还可以用于进行设备的监控以及工业过程自动化。虚拟仪器还可以广泛应用于电力工程、物矿勘探、医疗、振动分析、声学分析、故障诊断及教学科研等多个方面。

1.2.2虚拟仪器的构成

虚拟仪器通常由通用仪器硬件平台和应用软件平台两大部分构成。

1、虚拟仪器的硬件平台

构成虚拟仪器的硬件平台有两部分。

①计算机。它一般为一台PC机或工作站,是硬件平台的核心。

②I/O接口设备。I/O接口设备主要完成被测输入信号的采集、放大、模/数转换。不同的总线有其相应的Uo接口硬件设备,如利用PC机总线的数据采集卡(DAQ)、GPIB总线仪器、VXl总线仪器模块、串口总线仪器等。虚拟仪器的构成方式主要有5种类型,如图1-1所示。

图 1-1 虚拟仪器的构成

2、虚拟仪器的软件平台

开发虚拟仪器必须有合适的软件工具,目前的虚拟仪器软件开发工具有如下两类。

●文本式编程语言:如VisualC++,Visual Basic,LabWindows/CVI等。

●图形化编程语言:如LabVIEW,HPVEE等。虚拟仪器软件由两部分构成,即应用程序和I/O接口仪器驱动程序。虚拟仪器的应用程序包含两方面功能的程序,即实现虚拟面板功能的软件程序和定义测试功能的流程图软件程序。I/O接口仪器驱动程序完成特定外部硬件设备的扩展、驱动与通信。

1.2.3虚拟仪器的优势

与传统仪器相比,虚拟仪器在智能化程序、处理能力、性能价格比、可操作性等方面都具有明显的技术优势,具体表现为:

智能化程度高,处理能力强。虚拟仪器的处理能力和智能化程度主要取决于仪

器软件水平。用户完全可以根据实际应用需求,将先进的信号处理算法、人工智能技术和专家系统应用于仪器设计与集成,从而将智能仪器水平提高到一个新的层次。

复用性强,系统费用低。应用虚拟仪器思想,用相同的基本硬件可构造多种不同功能的测试分析仪器,如同一个高速数字采样器,可设计出数字示波器、逻辑分析仪、计数器等多种仪器。这样形成的测试仪器系统功能更灵活、系统费用更低。通过与计算机网络连接,还可实现虚拟仪器的分布式共享,更好地发挥仪器的使用价值。

可操作性强。虚拟仪器面板可由用户定义,针对不同应用可以设计不同的操作显示界面。使用计算机的多媒体处理能力可以使仪器操作变得更加直观、简便、易于理解,测量结果可以直接进入数据库系统或通过网络发送。测量完后还可打印,显示所需的报表或曲线,这些都使得仪器的可操作性大大提高。

1.3 虚拟仪器的现状和发展方向

1.3.1 虚拟仪器的现状

虚拟仪器的概念,是美国国家仪器公司(National Instruments Corp,简称NI)于1986年提出的。80年代以来,NI公司研制和推出了许多总线系统的虚拟式仪器,成为这类新型仪器世界第一生产大户。此后,美国的惠普(HP)公司,Tektronix公司,Racal公司等也相继推出了许多此类仪器,并在短短的lO余年便占有了世界仪

器市场的10%左右。虚拟仪器技术目前在国外发展很快,以NI公司为代表的一批厂商已经在市场上推出了基于虚拟仪器技术而设计的商品化仪器产品。在美国,虚拟仪器系统及其图形编程语言,已作为各大学理工科学生的一门必修课程。美国的斯坦福大学的机械工程系要求三、四年级的学生在实验时应用虚拟仪器进行数据采集和实验控制。据“世界仪表及自动化”杂志预测,2l世纪初叶,世界虚拟仪器的生产厂家将超过千家,其品种将达到数千种,市场占有率将达到50%左右。虚拟仪器将成为本世纪仪器发展的方向,而且有逐步取代传统硬件化电子仪器的趋势。

近年来,世界各国的虚拟仪器公司开发了不少虚拟仪器开发平台软件,以便使用者利用这些仪器公司提供的开发平台软件组建自己的虚拟仪器或测试系统,并编制测试软件。最早和最具影响的开发软件,是NI公司的LabVIEW软件和LabWindows

/CVI开发软件。LabVIEW采用图形化编程方案,是非常实用的开发软件。LabWindows /CVI是为熟悉c语言的开发人员准备的、在Windows环境下的标准ANSIC开发环境。

除了上述的优秀开发软件之外,美国HP公司的HP-VEE和HPTIG平台软件,美国Tektronis公司的Ez-Test和Tek--TNS软件,以及美国HEM Data公司Snap-Marter平台软件,也是国际上公认的优秀虚拟仪器开发平台软件。

1.3.2 虚拟仪器展望

随着计算机、通信、微电子技术的不断发展,以及网络时代的到来和信息化要求的不断提高,网络技术应用到虚拟仪器领域中是虚拟仪器发展的大趋势。虚拟仪器技术经过十几年发展,而今正沿着总线与驱动程序标准化、硬/软件模块化、编程平台图形化和硬件模块的即插即用方向前进,以开放式模块化仪器标准为基础的虚拟仪器标准正日趋完善,加上计算机技术和网络技术的迅猛发展,建立在虚拟仪器技术上的各种功能强大、性能优良的先进仪器将层出不穷,价格也会越来越低,使用虚拟仪器进行研究、设计、测试将成为一种趋势,同样,虚拟仪器及技术也将成为学校未来教学科研的重要方法和手段,特别是在理工科学校其应用前景非常广阔。虚拟仪器可以取代测量技术传统领域的各类仪器,“没有测量就没有鉴别,科学技术就不能前进”。虚拟仪器将会在科学技术的各个领域得到广泛应用,对科学技术的发展和工业生产将产生不可估量的影响。

第二章 LabVIEW介绍及设计方案

2.1 LabVIEW 介绍

LabVIEW是实验室虚拟仪器集成环境(Laboratory Virtual Instrument Engineering Workbench)的简称,是美国国家仪器公司(NI)的创新软件产品,也是目前应用最广泛、发展最快、功能最强的图形化软件开发环境。LabVlEW是一个开放式的虚拟仪器开发系统应用软件,它为设计者提供了一个便捷、轻松的设计环境,利用它设计者可以象搭积木一样,轻松组建一个测量系统或数据采集系统,并任意构造自己的仪器面板,而无需进行任何繁琐的计算机程序代码的编写,从而可以大大简化程序的设计。LabVIEW与Visual C++,Visual Basic,LabWindows/CVI等编程语言不同,后者采用的是基于文本语言的程序代码,而LabVIEW则是使用图形化程序设计语言G,用方框图代替了传统的程序代码。G语言是LabVlEW的核心。LabVlEW 所运用的设备图标与科学家、工程师们习惯的大部分图标基本一致,这使得编程过程和思维过程非常相似。用LabVIEW设计的虚拟仪器可以脱离LabVIEW开发环境,最

终用户看见的是和实际的硬件仪器相似的操作面板。

所有的LabVlEW应用程序,即虚拟仪器,它包括前面板(front panel)、流程图(block diagram)以及图标/连结器(icon/connector)三部分。前面板是图形用户界面,也就是VI的虚拟仪器面板,这一界面上有用户输入和显示输出两类对象,具体表现有开关、旋钮、图形以及其他控制(contr01)和显示对象(indicator)。

每一个程序前面板都对应着一段框图程序。框图程序用LabVIEW图形编程语言编写,可以把它理解成传统程序的源代码。框图程序由端口、节点、图框和连线构成。其中端口用来控制程序前面板和显示传递数据,节点被用来实现函数和功能调用,图框被用来实现结构化程序控制命令,而连线代表程序执行过程中的数据流,定义了框图内的数据流动方向。

图标/连接器是子VI被其它VI调用的接口。图标是子VI在其他程序框图中被调用的节点表现形式;而连接器则表示节点数据的输入/输出口,就像函数的参数。用户必须指定连接器端口与前面板的控制和显示一一对应。LabVIEW的强大功能归因于它的层次化结构,用户可以把创建的VI程序当作子程序调用,以创建更复杂的程序,而这种调用的层次是没有限制的。

2.1.1 LabVIEW的特点及优势

1、 LabVIEW的特点

LabVIEW具有十分强大的功能,包括数值函数运算、数据采集、信号处理、输入/输出控制、信号生成、图像的获取、处理和传输等等。LabVIEW与C、Pascal、Basic等传统编程语言有着诸多相似之处,如相似的数据类型、数据流控制结构、程序调试工具,以及模块化的编程特点等。但二者最大的区别在于:传统编程语言用文本语言编程;而LabVIEW使用图形语言(即各种图标、图形符号、连线等)编程,界面非常直观形象,而且使用的都是测试工程师们熟悉的旋钮、开关、波形图等,因此是一种直觉式图形程序语言。用LabVIEW编程无需太多编程经验,只要以很直觉的方法建立前面板人机界面和方块图程序,便可以完成编程过程,使用户免于传统程序语言线性结构的困扰,这对于没有丰富编程经验的工程师们来说无疑是个极好的选择。同时,LabVIEW的执行顺序是依方块图间数据的传递来决定的,并不像传统文字式程序语言必须逐行地执行,因此用户能设计出可同时执行多个程序的流程图。

2、 LabVIEW编程的优势

对于构建虚拟仪器,LabVIEW有许多特点和优势,诸如:仪器控制与数据采集

的图形化编程;直观明了的前面板用户界面和流程图式的编程风格;内置的编译器可加快执行速度;数据采集DAQ函数库可让用户采集测量信号或发出控制信号,适

合应用于快速且直接的控制;650多种仪器驱动程序,可驱动超过50多家厂商所制

造的仪器;内容丰富的高级分析库,可进行信号处理、统计、曲线拟合以及复杂的分析工作;利用ActiveX,DDE以及TCP/IP进行网络连接和进程通信;适用于Windows NT/95/3.1,MacOS,HP2UX,Sun以及Concurrent实时计算机等等。LabVIEW现成的人机界面工具可帮助用户很快地构成所需的图形化人机界面,包括趋势图、按钮、LED指示灯和图表等,完全无需从头开始去设计这些元件。并可更进一步以LabVIEW 的PC工具箱或其它绘图软件来订制人机界面元件,藉以呈现仪控符号和系统流程图。LabVIEW的特色还在于拥有功能超强且庞大的分析函数库,足以与专业数学分析套

装软件相匹敌。

2.1.2 LabVIEW编程语言特点

1、 LabVIEW编程环境

LabVIEW编程环境由前面版和后面板二部分组成。在前面板通过工具条可以根

据自己的需要画出美观的各种仪器仪表的界面。在后面板中对应产生所画控件的图标。然后就可以在后面板的工具条中根据需要实现的功能选择图标来表述。最后通过连线来联系不同图标之间的关系。在LabVIEW 7.0以后的版本中,由于鼠标移动到可以连线的地方时会有一个连线标志,从而使这些联线的工作非常方便。对于不同的数据类型,LabVIEW通过线条的粗细、颜色来区别,这就使程序的检查比较方便。

LabVIEW程序运行的方式也与传统编程语言有所区别,它不象传统编程语言那

样一条一条语句地往下执行,而是以数据流方式执行程序。也就是说,一个程序节点要在所有数据流都到达时,才开始运行,处理后的数据流同时向后面的各个节点流动。

LabVIEW的G语言编程与C语言也是兼容的,比如在一些数学公式的表述中,LabVIEW提供一些数学公式子VI,但有时使用图形化的方式画数学程序,一方面效

率不是很好,同时可能还不如C语言更加直观、易懂,这时可以在公式节点中写人

数学公式的C语言的语句。

2、 LabVIEW的G语言编程技巧

LabVIEW编程的一个很重要的概念就是VI结构。LabVIEW软件本身提供了大量的例程可以应用,这大大方便了工程技术人员。同时这些例程对于学习LabVIEW编程技术也是很好的范例。由于这些例程涉及的应用领域比较广泛,很多情况下,编程技术人员可以直接在原有范例的基础上修改,从而快捷地达到使用目的。对于自己创作的一些比较常用的程序段,也可以做成一个子VI,以方便以后使用的调用。LabVIEW还可以调用MatLab等数学工具的模块,这对于做人工神经网络、模糊控制领域的一些应用无疑是十分有利和方便的。

LabVIEW 7.0以上的版本,对于许多控件只要鼠标右击需要连线的端口就可以在产生的create选项中选择所需要的控件。这对于提高编程效率是十分方便的。对于初学LabVIEW的工程人员来讲,大量的控件可能不是很熟悉,LabVIEW的HELP中提供的“show context help”可以给出比较详细的解释和该控件的应用方法。同时,为了方便查找例程,在这里的“find examples”对应的对话框里可以直接查找。同样,在控件框里也可以通过search的方式来查找所需要的控件。

2.1.3 LabVIEW的操作模板

LabVlEW具有多个图形化的操作模板,用于创建和运行程序。这些操作模板可以随意在屏幕上移动,并可以放置在屏幕的任意位置。操作模板共有三类,工具(Tools)模板、控制(controls)模板和功能(Functions)模板。

工具模板(Tools Palette)为编程者提供了各种用于创建、修改和调试VI程序的工具,当从模板内选择了任一种工具后,鼠标箭头就会变成该工具相应的形状。控制模板(Controls Palette)可以为前面板添加输入控制和输出显示。功能模板(Functions Palette)是创建框图程序的工具。

2.2 LabVIEW设计虚拟仪器的方法

LabVlEW的图形化程序设计是基于现代软件的面向对象技术和数据流技术而发展起来的。数据流程序设计表示只有在所有输入都有效时,一个对象才开始执行,同样,只有当对象的功能完成以后,对象输出才有效。这样的话,互相在对象间的数据流控制执行顺序,执行顺序不局限于来自文本式程序设计的线性顺序,它可以不受其限制。用户能够通过连接功能模块来快速开发自己的应用程序,甚至能够使用多路数据通道,实现同步操作。

与传统的文本式程序设计一样,LabVIEW也有控制流程图功能执行的部分,它们包括Sequence Case Statement、For Loop、While Loop,它们被图形化地描述成边界结构,像在传统的线形化程序设计中可以插入代码段一样,可以把图标放在LabVIEW图形结构的界限内部。LabVIEW有一个图形编辑器来产生最优化编辑代码,虚拟仪器执行他们相当编译C的速度。利用应用程序生成器,用户能够产生虚拟仪器,就像独立的执行程序一样。下面按步骤说明进行图形化的程序设计。

1、建立方案:选用LabVlEW软件,可以构建虚拟仪器,而不是编写程序。有了交互式控制的软件系统,用户可以很方便地建立其前面板接口。为了实现具体的功能,用户利用向导把流程图组合在一起。

2、建立前面板:从控制模块上选择你需要的对象,放在虚拟仪器的前面板上。控制模板上的对象包括数字显示、表头、压力计、热敏计外壳、表、图片等。当你的虚拟仪器完成以后,就能在虚拟仪器工作时利用前面板去控制整个系统,如移动滑动片、在图像中变向、从键盘输入等。

3、构建图形化的流程图:对虚拟仪器进行程序设计,你不必担心很多传统程序设计所需的语法细节,而可自己构建流程图。从功能模板上选择对象(用图标表示),并用线将它们连接起来以便数据进行传递。功能模块上的对象包括简单的数学运算、高级数据采集和分析方法、以及网络和文件输入输出操作。

4、数据流程序设计:LabVlEW用一种精巧的数据流程序设计模式把用户从文本式语言的线性化方式构建程序的办法中解放出来。因为在LabVlEW软件中程序的执行顺序由各方块中的数据流决定。你也可以建立同步操作的流程图。LabVlEW软件是一个多任务系统——具有多线程功能并运行多个虚拟仪器。

5、模块化和层次:LabVlEW虚拟仪器实行模块化设计,因而任何虚拟仪器既能独立运行,又能被用作其他虚拟仪器的一部分。甚至可以创建自己的虚拟仪器图标,因而可以设计由虚拟仪器构成的多层系统,并可以改变它,同其他虚拟仪器交换和连接以满足不断变化的应用需要。

6、图形编辑器:在许多场合,程序运行速度都很关键。LabVIEW软件是唯一的带有编辑器的图形化编程环境、可以产生最优化的代码,其运行速度与编译C的速度相当。利用内置的绘图器,甚至能够对和时问很关键的代码部分进行分析和优化。因而,不会因为图形化编程降低了效率。图形化程序设计编程简单、直观、开发效率高。

第三章仪器硬件平台与LabVIEW信息采集

根据I/O接口设备总线类型的不同,虚拟仪器的构成方式主要有五种:PC—DAQ /PCI插卡式虚拟仪器系统,GPIB虚拟仪器测试系统、VXI总线虚拟仪器测试系统、串口总线虚拟仪器测试系统和PXI总线虚拟仪器测试系统。LabVIEW提供了各种图形化驱动程序,使用者不必熟悉PCI计算机总线、GPIB总线、VxI总线、串口总线,利用LabVIEW提供的图形化驱动程序就可以驱动上述各种总线的I/O接口设备,实现对被测信号的输入、数据采集、放大与模/数转换,进而供计算机进一步分析处理。

3.1五种类型的虚拟仪器总线

3.1.1 PC—DAQ/PCI插卡式虚拟仪器简述

这种方式借助于插入计算机内的数据采集卡与专用的软件,如LabVIEW相结合(注:美国NI公司的LabVIEW是图形化编程工具,它可以通过各种控件自己组建各种仪器。LabVIEW/CVI是基于文本编程的程序员提供高效的编程工具,通过三种编程语言Visual C++,Visual Basic, LabVIEW/CVI构成测试系统,它充分利用计算机的总线、机箱、电源及软件的便利。但是受PC机机箱和总线限制,且有电源功率不足,机箱内部的噪声电平较高,插槽数目也不多,插槽尺寸比较小,机箱内无屏蔽等缺点。

3.1.2 GPIB虚拟仪器简述

GPIB技术是IEEE488标准的虚拟仪器早期的发展阶段。它的出现使电子测量独立的单台手工操作向大规模自动测试系统发展,典型的GPIB系统由一台PC机、一块GPIB接口卡和若干台BPIB形式的仪器通过GPIB电缆连接而成。在标准情况下,一块GPIB接口可带多达14台仪器,电缆长度可达40米。GPIB技术可用计算机实现对仪器的操作和控制,替代传统的人工操作方式,可以很多方便地把多台仪器组合起来,形成自动测量系统。GPIB测量系统的结构和命令简单,主要应用于台式仪器,适合于精确度要求高的,但不要求对计算机高速传输状况时应用。

3.1.3 VXI总线虚拟仪器简述

VXI总线是一种高速计算机总线VME总线在VI领域的扩展,它具有稳定的电源,强有力的冷却能力和严格的RFI/EMI屏蔽。由于它的标准开放、结构紧凑、数据吞吐能力强、定时和同步精确、模块可重复利用、众多仪器厂家支持的优点,很

快得到广泛的应用。经过多年的发展,VXI系统的组建和使用越来越方便,尤其是组建大、中规模自动测量系统以及对速度、精度要求高的场合。有其他仪器无法比拟的优势。然而,组建VXI总线要求有机箱、零槽管理器及嵌入式控制器,造价比较高。

3.1.4 PXI总线方式虚拟仪器简述

PXI总线方式是PCI总线内核技术增加了成熟的技术规范和要求形成的,增加了多板同步触发总线的技术规范和要求形成的,增加了多板发总线,以使用于相邻模块的高速通讯的局总线。PXI的高度可扩展性。PXI具有8个扩展槽,而台式PCI 系统只有3~4个扩展槽,通过使用PCI—PCI桥接器,可扩展到256个扩展槽,台式PC的性能价格比和PCI总线面向仪器领域的扩展优势结合起来,将形成未来的虚拟仪器平台。

3.1.5 串口(RS--232/485)虚拟仪器简述

RS--232总线是早期采用的通用单行总线,最初多用于数据通信上,但随着工业测控行业的发展,许多测量仪器都带有RS--232串口总线接口。将带有RS--232总线接口的仪器作为I/O接口设备通过RS--232串口总线与PC计算机组成虚拟仪器系统目前仍然是虚拟仪器的构成方式之一,主要适用于速度较低的测试系统,与GPIB总线、VXI总线PXI总线相比,它的接口简单,使用方便。由串口总线组成虚仪器测试系统,其I/O接口设备就是带有RS--232/485接口的测试仪器,通常可以直接和计算机上的串口相连。如果计算机的串口己被其它资源占用,则需要在计算机的PCI或ISA槽中插入一块串口卡。

3.2 LabVIEW数据采集卡

虚拟仪器的硬件平台由PC计算机与数据采集卡(DAQ卡)组成。数据采集卡是虚拟示波器的重要组成部件,其性能指标直接影响虚拟示波器的采样速率、精度等主要指标。

数据采集系统的任务是采集原始信号,其主要指标有采样精度、采样速度。采样精度由转换器的位数来决定,而采样速度是与采样频率不可分的。从提高精度的角度出发,模数转换器的位数与采样频率之间是相互制约的。数据采集卡的选择主要与采样率、测量通道、分辨率和测量精度有关。采样率即在单位时间内的测量次数,一般用Hz即采样频率来表示,也有的用S/s表示。采样率的选择,取决于被测量的信号的变化速度,根据奈奎斯特采样定理,所需的采样频率应为所测信号

的最高频率分量的两倍以上,即应选用100kHz的板卡才能完成最高频率为50kHz 的被测信号的测量工作。

3.2.1 数据采集卡主要组成部分:

1、多路开关

多路开关将多路信号轮流切换到放大器的输入端,实现多参数多路信号的分时采集。

2、放大器

放大器将待采集信号放大或衰减至采样环节的量程范围内。通常实际系统中,放大器的增益是可调的,设计者可以根据输入信号幅值的大小选择不同的增益倍数。

3、采样/保持器

采样/保持器取出代测信号在某一瞬时的值,即实现信号的时间离散化,并在

A/D转换过程中保持信号不变。如果被测信号变化很缓慢,也可以不用采样/保持器。

4、A/D转换器

A/D转换器将输入的模拟量转化为数字量输出,并完成信号幅值的量化。随着电子技术的发展,通常将采样,保持器同A/D转换器集成在一块芯片上。

以上四个部分都处在PC的前向通道,是组成数据采集卡的主要部分。其他相关电路,如定时/计数器、总线接口电路等也集成在一块电路板上,完成对信号数据的采集、放大及模/数转换任务。

很多数据采集卡电路板上,还装有数/模(D/A),它处在PC的后向输出通道,用于将计算机输出的数字量转换为模拟量,从而实现控制功能。

3.2.2 数据采集卡参数设置

要使数据采集卡正确地实现数据采集功能,必须根据实际测量的需要对一些参数进行设置,这就是数据采集卡的软件驱动。待设置的参数主要有采集卡的设备号及地址码,此外还有如下设置项。

1、模拟输入部分的设置项

设置信号的输入方式:输入信号是单端输入还是双端输入,输入信号是单极性信号还是双极性信号等。

选择增益:根据输入信号幅值变化范围和分辨率要求,选择增益。

选择量程:一般根据输入信号是单极性还是双极性,选择合适量程。

2、A/D转换部分的设置项

设定信号输入通道号。

设定采样点数。

设定采样速率。

测量通道是整个系统所需测量的信号数量,产品不同,可测量的通道数也不同。在选取产品时需要注意:可测通道数是否满足系统要求;当需要差分输入测量时,板卡上有无差分输入以及差分输入的通道数;在测量道数多时,应注意产品能否扩展及最多可扩展的道数。测量中都需将模拟信号经A/D转换成二进制的数字信号,分辨率就是将满量程信号经A/D转换后鼐到的二进数的位数。分辨率越高,意味着可检测出来的电压变化越小,它和测量范围(可测量的最高电平)及增益(板卡的放大倍数)一起决定了该板卡可测的最小电压变化量。

第四章虚拟数字存储示波器的软件设计

4.1虚拟实验仪器的软件设计方案

图4-1 虚拟试验仪器系统框图

一般测试仪器由信号采集、信号处理和结果显示三大部分组成,这三部分均由硬件构成。虚拟仪器也是由这三大部分组成,但是除了信号采集部分是由硬件实现之外,其它两部分都是由软件实现的。虚拟数字存储示波器总体上包括数据采集、波形显示、参数测量、波形存储和回放等四大模块,虚拟示波器的主要性能指标如下:

1、垂直分辨率

A/D转换器通过把采样电压和许多参考电压进行比较来确定采样电压的幅度。A/D转换的位数决定了示波器垂直方向上的量化台阶数目,这个特性称为垂直分辨率。垂直分辨率越高,则示波器上的波形可以看到的信号细节越小,说明测量准确度越高。n位的A/D转换器有1/2^n的分辨率。本文采用12位A/D转换器,在垂直方向上可以分辩出4096个数据点,分辨率为1/4096,用百分数表示为0.02%。

2、时基和水平分辨率

在虚拟示波器中,时基的设置确保了对输入信号采集足够数量的采样值,并且每个采样值取自正确的时刻。根据:

采样速率=l/采样间隔

采样间隔=时基设置(s/格)/采样点数

设置每格采样点数,即可得到时基设置值。例如,虚拟示波器沿着水平轴显示10000个采样点,以每格100个采样点的水平分辨率进行显示,即水平轴长为10000/100=100格。当设置数据采集板的采样速率为2kHz,则:

时基设置值=100样点×采样间隔

=100/采样速率

=lOO/(2*10^3)

=0.05s/格

3、带宽

带宽是衡量虚拟示波器可靠度的一个重要指标。虚拟示波器有两种带宽:模拟带宽和数字带宽。模拟带宽是指虚拟示波器可以无失真接受的最高输入信号频率,它由虚拟示波器的信号调理电路所决定。数字示波器对重复信号采用顺序采样或随机采样技术所能达到的最高带宽为示波器的数字带宽,一般并不作为一项指标直接给出。根据Nyquist采样定理,采样频率应大于或至少等于信号截止频率的2倍,以保证数字化后的信号数据不丢失原信号的特性。但是因为Nyquist采样定理假设有一个理想的低通滤波器来恢复信号,并且被采样的信号的频带范围有限,这些条件在实际使用中是很难实现的,所以它只在理论上成立。本文硬件系统中采用的数据采集板的最高采集速率为lOOkHz,实测最高可达到80kHz,设计按5倍准则计算,则虚拟示波器的带宽为16kHz。

4.2 数据采集模块

4.2.1在LabVIEW中实现数据采集

本文选择了PC--DAQ/PCI插卡式虚拟仪器作为开发模式。LabVIEW支持多种数据采集板,但大多数均为National Instnunents公司自家的产品。考虑到兼容性的问题,采用了AD公司的AD7202数据采集板。

LabVIEW本身包含的一些接口设备的驱动程序是针对NI公司生产的接口板,对于国产的数据采集板,LabVIEW不能直接调用。因此,对AD7202数据采集板的驱动,是在LabVIEW中实现数据采集首要解决的问题。

1、 LabVIEW驱动通用数据采集板的三种方法

①、直接用LabVIEW的Inport,outport图标编程。LabVlEW的Function模板内Advanced>>Port I/O中Inport和outport图标,与C语言中_inp、_utp功能相同,因此可将它们用于程序框图中设计数据采集卡的驱动程序。

②、利用LabVIEW的CIN图标生成数据采集卡驱动程序的子程序(subVI) 。LabVIEW的Function模板内Advanced中有一个CodeInterface Node(CIN)图标,可以在LabVIEW程序框图中直接调用C语言写的代码。

③、利用LabVIEW的call library Function图标调用数据采集卡的动态链接库函数(.DLL)。许多数据采集卡附有.DLL库函数形式的驱动程序,可以直接利用Function模板内Advanced子模板中的Call Library Function图标调用它。当我们有现成的.DLL库函数时,这是最行之有效的一种方法。

2、 AD7202的驱动

由于AD7202数据采集板附带了.DLL库函数形式的驱动程序,因此本文采用第三种方法对其进行驱动。对AD7202数据采集板的驱动主要分为以下几步。

①、初始化采集卡。初始化是设置数据采集板的I/O基地址、中断号、内存分配等,打通应用程序和驱动程序的通道,使驱动程序能够对底层的硬件进行初始化。双击Call Library Function图标,在Functionname中调用Initial函数,并在parameter中添加I/O基地址(IOBase)、中断号(IRONum)、内存地址(PhyAdd)及DMA 通道号(DMAChn)等参数。该函数调用成功后返回非0值,即用户初始化成功。

②、启动采集卡。在Call Library Function中调用startIntr函数,添加并设置采样频率、采样通道、数据传输方式(单缓冲区方式或多缓冲区方式)等参数,启动实时采集。启动后,底层驱动程序就独立的控制硬件进行数据采集,并将结果存放在驱动程序的缓冲区中。

③、读取采集结果。在Call Library Function中调用QueryBuf函数用于查询

当前有多少缓冲区的数据已经填满,调用ADResu函数用来读取缓冲区中的数据结果。

④、停止采集。A/D采样结束后,在Call Library Function中调用StopIntr

函数使采集卡停止工作。

3、缓冲区方式

驱动程序存放数据的方式有两种,单缓冲区方式和多缓冲区方式。

单缓冲区方式下,采集结果始终不断地存放到缓冲区中,此工作方式可随时得到最新的采集结果,但两次取得的结果在时间上可能有重叠或丢失,相对时间关系不易确定。

多缓冲区方式下,系统(驱动程序)内部有NumBuf个缓冲区,每个缓冲区的采样点数为Num Samp个,采集启动后,采集结果顺序存放在各缓冲区中,上层软件就顺序地取出(最先)一个放满采集结果的缓冲区的内容(进行过此操作后此缓冲区又可

接收新的数据)。此工作方式适宜连续地记录A/D采集结果。连续两次成功取得的

数据在时间上不会重叠,之间数据是否丢失,要看返回结果的序列号(结果数组的

第一个值,为无符号短整数)是否递增1,若只增加1,说明两缓冲区在时间上是连

续的。在采样率较低时。通过多缓冲方式,有可能连续地记录、处理、保存长时间的A/D采集结果。

4.2.2 数据采集程序设计

数据采集模块是虚拟示波器软件的核心,主要完成数据采集的控制,包括触发控制、通道控制和时基控制等。

①触发控制包括触发模式、触发斜坡和触发电平控制。

②通道控制主要控制单通道或双通道测量。

③时基控制主要控制波形显示。

相关文档
相关文档 最新文档