Labview谐波测量分析系统(2)

2019-01-26 19:39

常熟理工学院课程设计报告

2 虚拟仪器的概述

2.1 虚拟仪器的定义及组成

虚拟仪器(Virtural Instrument, VI)的概念是由美国国家仪器公司提出来的,虚拟仪器本质上是虚拟现实一个方面的应用结果。也就是说虚拟仪器是一种功能意义上的仪器,它充分利用计算机系统强大的数据处理能力,在基本硬件的支持下,利用软件完成数据的采集、控制、数据分析和处理以及测试结果的显示等,通过软、硬件的配合来实现传统仪器的各种功能,大大的突破了传统仪器在数据处理、显示、传送、存储等方面的限制,使用户可以方便地对仪器进行维护、扩展和升级。

虚拟仪器是基于计算机的仪器,计算机和仪器的紧密结合是目前仪器发展的一个重要方向,虚拟仪器就是在通过计算机上加一组软件和硬件,使得使用者在操作这台计算机时,就像是在操作一台自己设计使用的专用的传统电子仪器。

在虚拟仪器系统中,硬件仅仅是为了实现信号的输入、输出,软件才是整个仪器系统的关键。任何一个使用者都可以通过修改软件的方法,很方便的改变、增减仪器系统的功能与规模,所以有“软件就是仪器”之说。

虚拟仪器的基本构成包括计算机、虚拟仪器软件、硬件接口模块等,其中,硬件接口模块可以包括插入式数据采集卡(DAQ)、串/并口、IEEE488接口(GPIB)卡、VXI控制器以及其他接口卡。目前较为常用的虚拟仪器系统是数据采集卡系统、GPIB仪器控制系统、VXI仪器系统以及这三者之间的任意组合。

一般来说, 虚拟仪器是由通用仪器硬件平台(简称硬件平台) 和应用软件两大部分构成的。

(一)虚拟仪器的硬件平台构成虚拟仪器的硬件平台有两部分。 (1) 计算机。一般为一台PC 机或工作站, 是硬件平台的核心; (2) I/ O 接口设备。

I/ O 接口设备主要完成被测输入信号的采集、放大、模/ 数转换。不同的总线其相应的I/ O 接口硬件设备,如利用PC 机总线的数据采集卡/ 板(DAQ) 、GPIB 总线仪器、VXI 总线仪器模块、串口总线仪器等。虚拟仪器的I/ O 接口设备主要有5 种类型。①PC -DAQ 系统。PC - DAQ 系统是以数据采集板、信号调理电路及计算机为仪器硬件平台组成的插卡式虚拟仪器系统。这种系统采用PCI 或计算机本身的ISA 总线, 将数据采集卡/ 板(DAQ) 插入计算机的空槽中即可。GPIB系统。③VXI 系统。④PXI 系统。⑤串口系统。它们分别是以其自身的标准总线仪器与计算机为仪器硬件平台组成的虚拟仪器测试系统。

5

常熟理工学院课程设计报告

(二)虚拟仪器的软件

目前的虚拟仪器软件开发工具主要有如下两类:

文本式编程语言: 如Visual C + + , Visual Basic , Lab2Windows/ CVI 等。 图形化编程语言: 如LabVIEW,HPVEE 等。这些工具为用户设计虚拟仪器应用软件提供了最大限度的方便条件与良好的开发环境。

2.2 传统仪器与虚拟仪器系统的比较

虚拟仪器的最大特点是将计算机资源与仪器硬件,DSP技术相结合,在系统内共享软硬件资源,打破了以往由厂家定义仪器功能的模式,由用户自己定义仪器功能。在虚拟仪器中,使用相同的硬件系统,通过不同的软件编程,就可以实现功能完全不同的测量仪器。传统仪器与虚拟仪器系统的比较如下表所示。

表3-1传统仪器与虚拟仪器系统的比较

系统标准 系统关键 系统更改 系统连接 传统仪器 仪器厂商定义 硬件 仪器功能,规模固定 虚拟仪器系统 用户自定义 软件 系统功能,规模可通过软件修改,增减 系统封闭,与其他设备连开放的系统,可方便的与外设,网络及其接受限 他应用连接 低,可重复使用 1~2年 低 价格 技术更新周期 开发,维护费用 昂贵 5~10年 高 由此可见,虚拟仪器尽可能采用通用的硬件,各种仪器的差异主要是软件,同时能充分发挥计算机的能力,有强大的数据处理功能,可以创造出功能更强的特性仪器。

2.3 虚拟仪器的特点

虚拟仪器和传统仪器相比具有以下的特点: (1) 具有可变性、多层性、自助性的面板。

虚拟仪器的面板可以做到与传统仪器一样, 可以有显示器显示波形; 有LED指示数字; 有指针式表头指示刻度; 有旋钮、滑动条、开关按钮; 有报警指示灯和声响等等。而虚拟仪器的优越之处在于传统仪器面板上的元器件是硬件, 由厂商设计确定, 不可改变地安装在专用的面板上。而虚拟仪器的面板由计算机的显示器构成, 面板上的各种显示控制元件是软件图库中的各种功能图形, 由用户设计面板, 调用图形块, 用户可以不受“标准件”和“加工工艺”限制,随意增、删、移动元器件, 变化尺寸、色彩等等。还可以制作

6

常熟理工学院课程设计报告

多层下拉面板, 帮助文件等等, 做出远远超过传统仪器的全汉化、生动美观、界面友好的面板。

(2) 强大的信号处理能力

用适当的硬件接口电路, 对信号进行采集、放大、滤波、隔离、A/ D 转换后,虚拟仪器就可以灵活、充分地利用通用计算机的大量实用软件工具, 对信号进行各种计算、分析、判断、处理、图形或数字显示, 经D/ A 转换后控制执行器件的动作。

(3) 功能、性能、指标可由用户定义

即可以根据用户的不同要求对同一仪器的功能、性能、指标进行修改或增删, 彻底打破了传统仪器一经设计、制造完成后, 其功能、性能、指标不可改变的封闭性、单一性。另一方面也可以将多种仪器的功能、性能、指标等以软件的形式集成在一个“功能软件库” ———虚拟仪器库内, 通过它们的不同组合以及与各种不同类型的硬件接口搭配, 使得在一台个人计算机上就可实现各种仪器的不同功能, 大大提高了仪器功能的灵活性, 甚至可以进行非常复杂性的测试工作。

(4) 具有标准的、功能强大的接口总线、板卡及相应软件

GPIB 通用接口总线( General Purpose InterfacBus)又称IEEE488 国际标准接口总线, 30 年来广泛应用于仪器领域。但是只适用于消息基器件的互操作, 不适用于寄存器基器件。VXI 总线1987 年被首次推出,迅速成为IEEE1155 国际标准。VXI 硬件的通用性,使任意厂家、各种类型仪器接口不会发生电气和机械方面的冲突。VXI 总线的开放性, 保证任何系统一旦建立, 将来仍能得到很好的效用。VXI 能保持每个仪器之间精确定时和同步, 具有40Mbytes/ s 的高数据传输率。VXI 模块化仪器被认为是虚拟仪器最理想的硬件平台, 是仪器硬件的发展方向。此外, 还有VISA、PCI 等标准I/ O 卡及其相应驱动程序库为虚拟仪器的数据采集和控制提供强大支持。

(5) 此外, 虚拟仪器还具有开发周期短、成本低、维护方便, 易于应用新理论、新算法和新技术,实现仪器的换代升级等特点。

2.4 虚拟仪器LabVIEW图形化程序的组成和特点

2.4.1 LabVIEW的图形显示

LabVIEW的特性之一是对数据的图形化显示提供了丰富的支持。强大的图形显示功能增强了用户界面的表达能力,极大地方便了用户对虚拟仪器的学习和掌握。

Graph(事后记录图)和Chart(实时趋势图)是图形显示的两类主要控件。这两类控件的区别在于两者数据组织方式及波形的刷新方式不同。Chart将数据在坐标系中实时、

7

常熟理工学院课程设计报告

逐点地显示出来,可以反映被测物理量的变化趋势,例如显示一个实时变化的波形或曲线,传统的模拟示波器和波形记录仪就是按照这种方式显示的。而Graph则是对已采集数据进行事后处理的结果,它先将被采集数据存放在一个数组之中,然后根据需要将这些数据组织成所需的图形一次性显示出来。缺点是没有实时显示,但其变现形式较丰富。例如,采集了一个波形后,经处理可以显示其频谱图。 2.4.2 图形化编程环境LabVIEW

LabVIEW是实验室虚拟仪器工程平台Laboratory Virtual Instrument Engineering Workbench 的缩写, 它是世界上第一个采用图形化编程技术的面向仪器的32位编译型程序开发系统, 由美国国家仪器NI (National Instrument) 公司推出。

LabVIEW是一种用图形代码来代替编程语言创建应用程序的开发工具。在基于文本的编程语言中, 程序的执行依赖于文本所描述的指令, 而LabVIEW使用数据流编程方式来描述程序的执行。LabVIEW用图形语言( G语言) 、图标和连线(wires)

来代替文本的形式编写程序。像VC + + 、VB 等高级编程语言一样, LabVIEW也是一种带有扩展函数的通用程序开发系统。LabVIEW拥有强大的库函数, 包括数据采集, GPIB ( General Purpose Interface Bus 通用接口总线) 和串口仪器控制, 数据显示、分析与存储等。LabVIEW可方便的调用Windows 动态链接库和用户自定义的动态链接库中的函数; LabVIEW还提供了CIN (C Interface Node) 节点使得用户可以使用由C 或C + + 语言, 如ANSI C , 编译的程序模块, 使得LabVIEW成为一个开放的开发平台。LabVIEW还支持动态数据交换(DDE) 、结构化查询语言( SQL) 、TCP和UDP 网络协议等。此外, LabVIEW还提供了专门用于程序开发的工具箱, 使得用户能够很方便的设置断点, 动态的执行程序来非常直观形象的观察数据的传输过程, 以及进行方便的调试。为了便于程序调试LabVIEW还带有传统的程序开发调试工具, 例如可设置断点, 可单步执行, 还可激活程序的执行过程, 以动画方式查看数据在程序中的流动执行。

LabVIEW的运行机制就宏观上讲已经不再是传统上的冯·诺伊曼计算机体系结构的执行方式了。传统的计算机语言(如C) 中的顺序执行结构在LabVIEW中被并行机制所代替; 从本质上讲, 它是一种带有图形控制流结构的数据流模式(Data Flow Mode) , 这种方式确保了程序中的函数节点( Function Node) 只有在获得它的全部数据后才能够被执行。也就是说, 在这种数据流程序的概念中, 程序的执行是数据驱动的, 它不受操作系统、计算机等因素的影响。

既然LabVIEW 程序是数据流驱动的, 数据流程序设计规定, 一个目标只有当它的所

8

常熟理工学院课程设计报告

有输入有效时才能够被执行; 而目标的输出只有当它的功能完全时才是有效的。这样LabVIEW中被连接的函数节点之间的数据流控制着程序的执行次序, 而不像文本程序受到行顺序执行的约束。从而, 我们可以通过相互连接函数节点快速简洁的开发应用程序, 甚至还可以有多个数据通道同步运行, 即所谓的多线程。

LabVIEW是一个通用编程系统, 不但能够完成一般的数学运算与逻辑运算和输入输出功能, 它还带有专门的用于数据采集和仪器控制的库函数和开发工具, 尤其还附带专业的数学分析程序包, 基本上可以满足复杂的工程计算和分析要求。 LabVIEW环境下开发的程序称之为虚拟仪器VI (Virtual Instruments) , 因为它的外型与操作方式可以模拟实际的仪器。实际上, Vis 类似于传统编程语言的函数或子程序。LabVIEW的核心是VI。VI 具有良好的人机交互界面—前面板(Front Panel) 和相当于源代码功能的框图程序(Diagram) 。前面板接受来自框图程序的指令。在VI的前面板中, 控件模拟了仪器的输入装置并把数据提供给VI 的框图程序; 而LabVIEW的指示器则模拟了仪器的输出装置并显示由框图程序产生的数据。当一个控件或指示器放到前面板上, LabVIEW便在框图程序中相应的产生一个终端( Terminals) , 这个从属于控件或指示器的终端不能随意被删除, 只有删除它对应的控件或指示器时它才会随之一起被删除。

利用LabVIEW编制框图程序时, 无须拘于传统程序设计语法细节的限制。首先, 从函数面板中选择需要的函数节点(Function Node) , 将之置于框图上适当位置; 然后用连线(Wires) 连接各函数节点在框图程序中的端(Port) , 用来在函数节点之间传输数据。这些函数节点包括了简单的计算函数、高级的采集和分析VI 以及用来存储和检索数据的文件输入输出函数和网络函数。

LabVIEW编制出的图形化VI 具有层次结构和模块化的特点。开发者可将之用于顶层(Top Level) 程序, 也可用作其他程序或子程序的子程序。VI 代码内含的VI 称为subVI。为了区分各个subVI , 它们的图标是可编辑的。LabVIEW依附并发展了模块化程序设计的概念。用户可以把一个应用任务分解成为一系列的简单的子任务, 为每一个子任务创建一个VI ,再把它们装配到另一个图标代码中完成一个复杂的任务。最后, 完成整个应用程序的创建。

总之, LabVIEW是一种易于理解和掌握的非常理想的虚拟仪器开发工具, 它提供了一个理想的编程环境, 采用LabVIEW编程可大大节省开发时间, 而运行速度却几乎不受影响。

2.4.3 LabVIEW平台设计谐波测量分析系统

9


Labview谐波测量分析系统(2).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:有机化学课后习题参考答案

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: