数据采集与分析技术(第2版)课件:使用 LabVIEW 进行数据采集与分析_第1页
数据采集与分析技术(第2版)课件:使用 LabVIEW 进行数据采集与分析_第2页
数据采集与分析技术(第2版)课件:使用 LabVIEW 进行数据采集与分析_第3页
数据采集与分析技术(第2版)课件:使用 LabVIEW 进行数据采集与分析_第4页
数据采集与分析技术(第2版)课件:使用 LabVIEW 进行数据采集与分析_第5页
已阅读5页,还剩60页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

使用LabVIEW进行数据采集与分析11.1LabVIEW简介11.2使用LabVIEW进行数据采集实例

11.1LabVIEW简介

LabVIEW是由美国国家仪器(NationalInstruments,

NI)公司开发的、优秀的商用图形化编程开发平台,是LaboratoryVirtualInstrumentEngineeringWorkbench的缩写,意为实验室虚拟仪器集成环境。

LabVIEW提供了一种图形化的编程语言,被称为G语言。通常把利用LabVIEW编写的程序称为虚拟仪器(VirtualInstrument,

VI)。从1986年NI公司正式发布LabVIEW1.0forMacintosh到2009年推出最新版本LabVIEW2009,

LabVIEW是目前应用最广、发展最快、功能最强的图形化软件集成开发环境。NI公司的口号是“软件就是仪器”。

根据调查,目前已有85%的财富500强制造型企业正在使用NI公司的LabVIEW系列软件,例如惠普、英特尔、AMD、诺基亚、西门子、本田、宝洁等诸多著名国际品牌。

11.1.1LabVIEW的基本特点

1.图形化编程

LabVIEW为用户提供了一个简单易用的图形化编程环境。图11.1所示是一个温度监测(温度信号的数据采集与显示)的典型例子,展示了用LabVIEW进行编程的基本情况。图11.1用于温度监测的LabVIEW程序(a)LabVIEW应用程序的前面板;图11.1用于温度监测的LabVIEW程序(b)LabVIEW应用程序的程序框图

如图11.1所示,

LabVIEW应用程序的基本组成部分是虚拟仪器(VI),它由前面板(用来设计用户界面)和程序框图(用来创建图形化代码)组成,具有非常强的直观可读性。

LabVIEW使用的是NI公司已获专利的数据流编程模式,它能使我们从基于文本程序语言的结构形式中解脱出来。由于LabVIEW采用的是图形化代码,因此对于熟悉框图和流程图的用户就显得非常方便。LabVIEW的执行顺序是由节点间的数据流而不是由文本行的顺序所决定的,因此可以轻松地建立程序框图来并行执行多个操作,并借助于LabVIEW的并行特性而使得多任务和多线程更易于实现。

2.模块化设计

LabVIEW的VI是设计过程中的模块,可以单独运行或者使其成为子VI(SubVI),对应于传统文本编程中的程序和子程序,因此,

LabVIEW具有良好的模块化和层次结构特点。LabVIEW中有许多内置的模块,主要分为前面板中的控件模块(Controls)(如图11.2所示)和程序框图中的函数模块(Functions)(如图11.3所示)两类,与传统文本编程中的函数库具有功能上的相似性。图11.2前面板中的控件模块(Controls)图11.3程序框图中的函数模块(Functions)

3.高效率

考虑到程序的执行速度,虽然采用了图形化编程方式,但LabVIEW是具有编译器的编程环境,所生成的代码已经经过了优化,其执行速度完全可与编译后的C语言程序相媲美。因此,采用LabVIEW可以大大地提高开发效率而不牺牲执行速度。

4.开放性

LabVIEW是具有开放性的开发环境,能够方便地与第三方软件相连接,例如.net组件、ActiveX、DLL及广泛的网络协议等;还可以把LabVIEW创建成能够在其他软件环境中调用的独立执行程序或动态连接库文件,如Delphi、C++Builder、VisualC++等。

11.1.2LabVIEW的具体功能

LabVIEW支持多平台,可以运行在Windows95、Windows98、WindowsMe、WindowsNT、Windows2000、WindowsXP和嵌入式NT环境下,同时还支持MacOS、

SunSolaris与Linux等操作系统。在某一平台下编写的虚拟仪器程序(VI)能够直接转移到其他的LabVIEW平台上,所需要做的仅仅是在新环境下重新打开它即可。

下面以Windows平台下的LabVIEW为例,简要列举其具体功能,并把那些仅仅支持Windows的功能以“*”标识出来。

NI公司提供了三种LabVIEW版本:专业版(ProfessionalDevelopmentSystem,PDS)、完全版(FullDevelopmentSystem,

FDS)和基础版(BasePackage,且仅针对Windows平台提供)。目前NI公司还针对高校教学领域推出了没有使用时间限制的学生版,面向的是学生和教师,其功能与完整版相同,并且针对中国用户免费发放。

各个版本的其他情况,可以到

/china/labview查看更为详尽的信息。表11.1简单地列出了各个版本中的具体功能。

11.1.3LabVIEW在数据采集领域的应用

LabVIEW提供的最有力的特性就是图形化的编程环境。借助于LabVIEW,可以在电脑屏幕上创建出完全符合自己要求的用户界面,从而可以操作仪器程序、控制硬件、分析

采集到的数据和显示结果等。

到的数据和显示结果等。由于LabVIEW的高效率和开放性,目前已有许多第三方软硬件生产厂家在开发并维

护成百上千个LabVIEW函数库及仪器驱动程序,以帮助用户借助于LabVIEW来轻松使用他们的产品。例如,凌华(Adlink)和研华(Advantech)等公司,均提供了比较丰富的

LabVIEW驱动和编程开发支持。

从实际过程来看,测量应用程序可以被分为三个部分:①连接或采集实际数据;②分析数据以获取有用的信息;③向最终用户显示信息。而LabVIEW的开放式环境可以简化

与任何测量硬件的连接,从而便于实现信号的采集。通过LabVIEW,并使用LabVIEW仪器驱动、交互式仪器助手和内置的仪器I/O库,可以快速地采集来自GPIB、串口、以太网、PXI、USB和VXI等仪器的数据。

当前的LabVIEW支持任意的测量信号:温度、压力、振动、声音、电压、电流、频率、光、电阻、脉冲、周期等。

以研华(Advantech)公司的LabVIEW驱动为例,图11.

4展示了安装后显示在程序框图中的LabVIEW函数库。图11.4研华公司提供的LabVIEW函数库

11.2使用LabVIEW进行数据采集实例

11.2.1实现数据显示下面介绍一个简单的信号显示的例子,以此来向读者展示LabVIEW编程的强大功能和易学易用性。

1.创建VI程序首先打开LabVIEW,经过一个欢迎画面后,可以看到图11.5所示的界面。图11.5LabVIEW的主操作界面

然后单击“New”按钮,选择BlankVI,则生成了一个空白的VI程序,如图11.6所示。如前所述,该VI程序由前面板和程序框图组成,并分别有相应的内置模块显示出来,右上角则是在线帮助窗口。图11.6新建的空白VI程序(a)空白VI程序的前面板窗口;图11.6新建的空白VI程序(b)空白VI程序的程序框图窗口

2.添加控件模块

1)添加示波器

在前面板的内置模块中选择“GraphInds”,单击“Chart”,再用鼠标单击前面板,可以看到,在前面板放置了一个示波器控件,它在程序框图里也有相应的显示,如图11.7所示。图11.7添加一个示波器控件的VI程序

2)添加输入信号

在程序框图中放置一个仿真的输入信号,即选择“Input”,单击“SimulateSig”,放置到程序框图11.

8中。此时会弹出一个对话框,从中可以详细配置这个仿真信号。这里取默认的10Hz正弦信号(采样频率为1000Hz、点数为100点),如图11.9所示,以后也可以通过双击该仿真信号在程序框图中的图标来打开此对话框并进行适当配置。图11.8所示的是添加了输入信号的程序框图,图11.9所示的是仿真输入信号的配置对话框。图11.8在程序框图中添加输入信号

3.图形化编程

在程序框图窗口中,从上面的菜单项“Windows”中选择“ShowToolsPalette”,选择连线工具,把仿真信号的输出端与示波器控件的输入端相连,如图11.10所示。图11.10连线

4.运行程序

选择菜单“Operate”中的“Run”(或者工具栏中的图标

),即可看到前面板中的正弦信号输出,如图11.11所示。图11.11程序运行结果

5.程序改进

在图11.11的运行结果中,只显示了一个正弦波。为了能够持续不断地产生并显示正弦波形,需要在程序框图中添加一个循环,这里选用While循环,并由一个“STOP”按钮控制退出。

在函数面板中选择“ExecCtrl”,单击“WhileLoop”,然后拖拉并包含仿真信号、示波器控件所在的范围。单击图标,可以看到图11.12所示的画面(为了看得清楚,这里已

经把信号改为1Hz)。

6.讨论

如上所述,用LabVIEW非常方便地实现了一个仿真信号的显示。如果把仿真信号换成真实的采集信号,再在信号的输出端连接相应的分析模块,例如FFT、谱分析、小波分析等,就构成了一个完整的数据采集、分析与显示系统,这里不再赘述。图11.12程序改进后的运行结果

11.2.2驱动数据采集卡

下面以研华公司的数据采集卡为例,简单介绍利用LabVIEW进行数据采集的基本过程。可以看到,有了LabVIEW的支持,进行数据采集将会是一件非常简单和轻松的事情。

数据采集卡,即实现数据采集(DAQ)功能的计算机扩展卡,可以通过USB、PCI、ISA、485、232和以太网等各种方式接入计算机。

1.安装硬件产品和驱动程序

首先安装数据采集卡以及驱动程序,然后分别安装DLL驱动和设备管理程序,如图11.13所示。驱动程序可在研华公司赠送的驱动光盘上找到,也可从研华公司的官方网站上下载,网址是www.advantech.com。图11.13研华公司的DLL驱动程序和设备管理程序

2.安装LabVIEW函数库

从数据采集卡附带的光盘上可以找到安装程序,也可以到研华公司的官方网站上下载其最新版本,名为LabVIEW.

exe。双击该程序进行安装即可,注意自己的LabVIEW版本和安装目录。

3.进行配置

图11.4已经显示了研华公司LabVIEW函数库的存放位置,这里只介绍硬件的配置情况。

1)运行设备管理程序

首先需要找到并运行设备管理程序,不妨查看“[开始]菜单→程序→AdvantechDeviceDriverV2.0b”,单击AdvantechDeviceManager快捷方式。运行后界面如图11.14所示。图11.14研华公司的设备管理程序

2)添加硬件

从图11.14中可见,对于没有(正确)安装的硬件,前面都有红色的叉号进行标识;而且研华已经自动安装了一个虚拟的数据采集卡,名为“AdvantechDEMOBoard”,可用于研华板卡编程的学习。

选择该DEMO卡,单击“Add”按钮,则出现如图11.15所示的对话框,要求设置该卡的基地址。不妨采用默认的数字,不做修改。图11.15研华DEMO板的基地址设置

这时可以看到图11.16所示的画面,表示研华的DEMO卡已经添加完成,可以使用了。该DEMO卡的基地址为1H(十六进制表示),设备编号为000,利用此设备编号可以对该DEMO卡实施相关操作。图11.16添加研华DEMO采集卡

3)硬件测试

单击图11.16中的“Test”按钮,则可以对已经添加的卡进行测试,分别是模拟输入/输出、数字输入/输出、计数器等,显示了各个通道的配置情况,如图11.17所示。由于是虚拟出来的数据采集卡,因而这里不做修改,采用默认的设置。图11.17研华DEMO卡的配置画面

4.利用研华DEMO卡构建数据采集系统

1)创建VI程序

首先,新建一个VI程序,如图11.18所示。在前面板上放置一个示波器控件,将来用于显示所采集到的数据;从研华的LabVIEW函数库中找到DeviceOpen.

Vi、DeviceClose.Vi和AIVoltageIn.vi三个函数,分别用于打开采集设备、关闭采集设备和实施数据采集,其位置关系情况如图11.19所示,而程序框图中的情况则如图11.20所示。图11.18前面板上放置示波器控件图11.19研华LabVIEW函数的位置图11.20程序框图中的各个模块

2)图形化编程

利用连线工具,把DeviceOpen

的输出端与AIVoltageIn的输入端相连,再把AIVoltageIn的输出端与DeviceClose

的输入端相连。注意两个模块相连时,不仅要把需要传递的参数DevHandle相连(蓝色线条),而且要把出错信息连接起来(粉红色线条),最后添加一个出错提示函数(在程序框图的内置模块中的“Time&Dialog”里的“SimpleErrorHandler.vi”)。这样一旦系统出现问题就可以比较容易地判断问题出在系统的哪一个部分。

前面已经提到,所安装并添加的数据采集硬件,都分配有一个唯一的设备编号。给DeviceOpen的输入端添加一个整数常量,若为0,则表示我们前面所添加的DEMO

卡。最后把测量到的数据送到示波器显示控件,即把AIVoltageIn

的Voltage输出端连接到示波器的输入端。图形化编程结束后的程序框图如图11.21所示。

3

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论