第9章 虚拟仪器与LabVIEW 编程_第1页
第9章 虚拟仪器与LabVIEW 编程_第2页
第9章 虚拟仪器与LabVIEW 编程_第3页
第9章 虚拟仪器与LabVIEW 编程_第4页
第9章 虚拟仪器与LabVIEW 编程_第5页
已阅读5页,还剩43页未读 继续免费阅读

下载本文档

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

文档简介

第9章虚拟仪器与LabVIEW

编程基础9.1.1虚拟仪器的概念20世纪80年代末美国研制成功了虚拟仪器。虚拟仪器的发展标志着自动测试与电子测量仪器领域技术发展的一个崭新方向。所谓虚拟仪器(VirtualInstrument,简称VI),就是在以通用计算机为核心的硬件平台上,由用户设计定义、具有虚拟面板、测试功能由测试软件实现的一种计算机仪器系统。

“虚拟”二字主要包含两方面的含义:

第一、虚拟仪器的面板是虚拟的第二、虚拟仪器测量功能是由软件编程来实现的。

虚拟仪器的特点可归纳为:9.1.2虚拟仪器的特点④研制周期较传统仪器大为缩短。①在通用硬件平台确定后,由软件取代传统仪器中的硬件来完成仪器的功能。②仪器的功能是用户根据需要由软件来定义的,而不是事先由厂家定义好的。③仪器性能的改进和功能扩展只需进行相关软件的设计更新,而不需购买新的仪器。⑤虚拟仪器开放、灵活,可与计算机同步发展,可与网络及其它周边设备互联。9.1.3虚拟仪器的构成传统仪器虚拟仪器功能定义仪器厂家用户技术关键硬件软件功能升级固定通过修改软件进行增减开放性封闭基于计算机的开发系统技术更新较慢较方便、较快开发周期较长相对快工作频率较高受限与A/D与D/A的速度应用领域通用测量、计量大多为测控系统价格较高价格且可重复利用虚拟仪器由通用仪器硬件平台(简称硬件平台)和应用软件两大部分构成。1.通用仪器硬件平台构成虚拟仪器的硬件平台有两部分:(1)计算机:一般为一台PC机或者工作站,它是硬件平台的核心。(2)I/O接口设备:主要完成被测输入信号的采集、放大、模/数转换。可根据实际情况采用不同的I/O接口硬件设备,如数据采集卡 / 板(DAQ)、GPIB总线仪器、VXI总线仪器模块、串口仪器等。虚拟仪器的构成方式主要有五种类型,如图9-1框图所示。

2.软件结构虚拟仪器软件由两大部分构成。(1)应用程序。它包含两个方面的程序:①实现虚拟面板功能的前面板软件程序。②定义测试功能的流程图软件程序。(2)I/O接口仪器驱动程序

完成特定外部硬件设备的扩展、驱动与通信。开发虚拟仪器,必须有合适的软件工具。

虚拟仪器的软件开发工具。文本式编程语言:如C、VisualC++、VisualBasic、Labwindows/CVI等;图形化编程语言:如LabVIEW、HPVEE等。这些软件开发工具为用户设计虚拟仪器应用软件提供了最大限度的方便条件与良好的开发环境。本书要介绍的是LabVIEW图形化编程语言。

9.2LabVIEW8.5编程基础

LabVIEW(LaboratoryVirtualinstrumentEngineeringWorkbench,实验室虚拟仪器工程平台)是由美国NI公司(NationalInstrumentCompany)推出的一种基于G语言(GraphicsLanguage,图形化编程语言)的虚拟仪器软件开发工具。启动LabVIEW主程序后,出现如图9-3所示的LabVIEW启动窗口,在这个窗口中可创建新VI、选择最近打开的LabVIEW

文件、查找范例以及打开LabVIEW帮助。图9-39.2.1LabVIEW应用程序的构成

应用Labview开发平台编制的程序称为虚拟仪器程序,简称为VI。VI程序由前面板(FrontPanel)、流程图(BlockDiagram)和图标/连接器(Icon/Connector)三个部分构成。

1.前面板

前面板用于设置输入数值和观察输出量,用于模拟真实仪表的前面板。在程序前面板上,输入量被称为控制(Controls),输出量被称为显示(Indicators)。控制和显示是以各种图标形式出现在前面板上,如旋钮、开关、按钮、图表、图形等,这使这得前面板直观易懂、易于控制数据的输入

2.流程图每一个程序前面板都对应着一段框图程序。框图程序用Labview图形编程语言编写,可以把它理解成传统程序的源代码。框图程序由端口、节点、图框和连线构成。其中端口被用来同程序前面板的控制和显示传递数据,节点被用来实现函数和功能调用,图框被用来实现结构化程序控制命令,而连线代表程序执行过程中的数据流,定义了框图内的数据流动方向。3.图标/连接器图标/连接器是子VI被其它VI调用的接口。图标是子VI在其他程序框图中被调用的节点表现形式;而连接器则表示节点数据的输入/输出口,就像函数的参数。用户必须指定连接器端口与前面板的控制和显示一一对应。连接器一般情况下隐含不显示,除非用户选择打开观察它。9.2.2LabVIEW8.5操作模板

主要介绍工具模板、控制模板和功能模板的主要功能和使用方法。1.工具模板工具模板提供了用于操作、编辑前面板和流程图上对象的各种工具。若想选用某操作工具,只需用鼠标点击该工具图标即可。当从模板内选择了任一种工具后,鼠标箭头就会变成与该工具对应的形状。图9-4工具模板的调用方法:选择“查看→工具选板”可以打开工具选板,如图9-4所示。将工具模板变成浮动板留在屏幕上的方法:用鼠标点击控制模板或功能模板左上角的“大头针”。9.2.2LabVIEW8.5操作模板

2.控件模板。控件模板在前面板显示,它包含创建前面板时可用的全部对象。最常用控件可以以新式(modern)、经典(classic)和系统(system)三种风格显示。选择主菜单查看→控件选板选项或右击前面板空白处就可以显示控件选板。如图9-5所示,控件的种类有:数值控件(如滑动杆和旋钮)、图形、图表、布尔控件(如按钮和开关)、字符串、路径、数组、簇、列表框、树形控件、表格、下拉列表控件、枚举控件和容器控件等等。图9-59.3LabVIEW

中的ExpressVI--快速搭建专业测试系统用户在程序开发过程中,只需在整个程序流程图中简单地调用ExpressVI程序,并使用属性设置页面配置系统的采集、分析与显示功能,实现应用程序的快速开发与设计,极大地提高了程序开发效率。

9.3.1初识Express技术Express技术包含前面板控件和程序框图VI函数如图9-7和图9-8所示。图9-7图9-8后面板的ExpressVI函数面板前面板的Express控件面板包含了最常用的一些控件。大部分实际上和普通控件完全一样,放在Express面板下只是为了方便用户。只有波形图表和ExpressXY图控件会自动在程序框图中产生代码。程序框图中的函数选板上的ExpressVI面板包含了大量的ExpressVI函数,主要分6大类。信号输入ExpressVls

用来从仪器采集信号或产生仿真信号。信号分析ExpressVIs

用来对信号进行分析处理。输出ExpressVIs

用于将数据存入文件,产生报表以及与仪器连接,输出真实信号等。信号操作ExpressVIs

主要用于对信号数据进行操作,比如类型转换、信号合并等。执行控制ExpressVIs和程序结构体包含了一些基本的程序结构以及时间函数。算术与比较ExpressVIs

包含一些基本的数学函数、比较操作符、数字和字符串。以一个滤波器为例初步感受ExpressVI的用法。(1)产生仿真信号图9-9仿真信号ExpressVI属性配置对话框将函数选板上的Express|输入|仿真信号VI函数放置在程序框图上,同时会弹出如图9-9所示的配置对话框,用于对仿真信号进行配置。我们将其配置为100Hz的正弦信号,同时加上均匀白噪声。(3)创建波形显示器(2)放置滤波器将函数选板上的Express|信号分析|滤波器函数放置在程序框图上,在放置的同时也会自动弹出类似图9-9所示的配置对话框。在这里可以选择滤波器的类型以及一些必要的滤波器参数。这里我们采用低通滤波器。将以上两个VI放置在程序框图中后,将仿真信号的信号输出与滤波器的信号输入连接起来。右击仿真信号的信号输出端选择创建|图形显示控件创建仿真信号波形图。与之类似,在滤波器的信号输出端也创建一个滤波后的波形图(FilteredSignal)。(4)加上程序控制结构用ExpressⅥ面板上的执行过程控制|While循环将信号发生器程序围在其中。我们可以看到与普通的While循环不一样,它会自动给While循环添加一个停止(Stop)按钮,这样就简化了编程步骤。接着我们再放置一个延时器在While循环中用以降低CPU的利用率。它在ExpressⅥ面板上的位置为执行过程控制|时间延迟。同样它会自动弹出一个对话框让用户输入延时长度。图9-10利用ExpressVI搭建的信号滤波器将函数放置在程序框图上后双击函数图标也可以弹出配置对话框。此外,所有的函数参数也可以由输入端子输入。9.3.2ExpressVIs简介1.信号输入(Input)ExpressVIs图9-11信号输入控件信号输入ExpressVIs在Express->输入面板下,主要用来从仪器采集信号或产生仿真信号;通过这些函数,信号可以来源于仪器,也可以来源于文件或者由计算机仿真产生。信号输入控件如图9-11所示。2.信号分析(SignalAnalysis)ExpressVIs图9-12信号分析面板信号分析ExpressVIs在Express->信号分析面板下。该面板下包含了最常用的信号分析函数,例如谱测量、失真度测量、曲线拟合、滤波器和直方图等。信号分析面板如图9-12所示。3.输出(Output)ExpressVIs图9-13输出面板OutputExpressVIs在Express->输出面板下,用于将信号数据存入文件,产生报表或向仪器输出真实信号等。输出面板如图9-13所示。4.信号操作(SignalManipulation)ExpressVIs图9-14信号操作面板信号操作ExpressVIs在Express->信号操作面板下。主要用于对信号数据进行各种操作,譬如信号合并、类型转换、信号连接、抽样信号、触发信号和选择信号等。信号操作面板如图9-14所示。5.算术与比较(Arithmetic&Comparison)ExpressVIs图9-15算术与比较面板

算术与比较ExpressVIs在Express->算术与比较面板下,它包含一些基本的数学函数和比较操作符,以及数字和字符串等。算术与比较面板如图9-15所示。6.执行控制ExpressVIs图9-16执行过程控制面板执行控制ExpressVIs在Express->执行过程控制面板下,包含了一些基本的程序结构以及时间函数,譬如While结构,Case结构,时间延时和消逝时间等,如图9-16所示。9.4信号分析图9-17信号处理面板LabVIEW尤其适合数字信号处理,主要优势有:具有良好的图形显示功能,能够以多样化的方式直观显示各种信号波形;图形化的编程方式,学习门槛较低,易于掌握,省去了许多烦琐的编程细节;拥有数量众多、功能齐全的各种信号分析与处理VI,供用户随意调用;具有良好的扩展性,通过附加工具包扩展,以及与其他平台扩展。函数面板—〉信号处理面板如图9-17所示。9.4.1波形和信号生成图9-18波形生成VI库图9-19信号生成VI库在很多情况下需要在没有硬件的情况下对系统仿真或验证系统的正确性,在某些情况下可能还需要通过D/A变换向硬件输出波形。这时就需要波形发生函数来模拟产生需要的波形。准确快捷地产生符合所需参数的信号波形,是准确进行后续仿真分析和处理的基础。1.波形和信号生成相关的VI波形信号生成举例图9-20基本信号生成波形生成有多种方法:第一种是基本信号的产生,只需把参数输入既可;第二种是根据公式法产生信号;实际中,有的根据实际情况经过数学运算和其他运算加噪音等方法模拟出接近于实际的信号。(2)公式法产生的波形图9-21公式法产生的波形9.4.2信号时域分析图9-22波形测量VI库图9-23信号运算VI库信号时域分析是指在时间域上对信号的时域参数进行测量和计算,从而提取出有助于研究和分析的信号时域特性。时域分析往往是对原始信号进行分析的第一个步骤,信号的时域特性往往也是使用其他方法进行分析的重要参考和基础。1.信号时域分析相关的VI

2.信号时域分析举例图9-24测量波形的直流分量与均方根值(1)测量波形的直流分量与均方根值测量波形的直流分量与均方根值如图9-24所示。具体步骤如下。①新建“直流分量与均方根值的测量.vi”,添加一个While循环结构,以便连续地生成和观察信号波形。②在While循环中放入生成一个混有白噪声、带直流分量的正弦波信号,只需将参数设置好。③图9.24中运行后可以看到测得的直流分量与设定的相同,有效值为8.69。(2)周期信号时域特性的测量实例

图9-25周期信号时域特性的测量

9.4.3信号频域分析信号频域分析指将时域信号通过傅立叶变换等方法转换到频率域上,然后进行分析。一些从时域上无法解决的问题,往往从频域分析的角度可以得到有效的解决。1.信号的FFT分析与FFT相关的VI在函数选板的位置:①信号处理—〉波形测量;②信号处理—〉变换;③信号处理—〉逐点—〉变换(逐点)。2.信号的FFT分析实例(1)FFT分析幅度谱和相位谱实例FFT分析幅度谱和相位谱的测量图如图9-26所示具体步骤如下。①新建“使用FFT分析信号幅度谱和相位谱.vi”,并添加混合单频与噪声波形VI(TonesandNoiseWaveform.vi)用来生成两个不同频率、幅值和初相位的正弦波叠加信号,另外叠加均方根值为1的白噪声信号。②添加“FFTSpectrum(Mag-Phase).vi”来分析所生成的原始信号,使用Hanning窗。图9-26FFT分析幅度谱和相位谱的测量图

(2)信号的傅立叶变换傅立叶变换是数字信号处理中最重要的变换之一,它的意义在于使人们能够在频域中观察一个信号的特征。它的一个基本应用就是计算信号的频谱,通过频谱可以方便地观察和分析信号的频率组成成分。现在通过2个正弦信号发生器产生2个不同频率不同振幅的正弦信号,并将其叠加为同一个信号作为傅立叶变换函数的输入,如图9-27所示。图9-27双边傅立叶变换9.5虚拟仪器设计举例虚拟仪器将仪器功能分为一些通用模块,由输入、输出、数据处理三个部分组成。本节将介绍基于NI公司生产的数据采集卡PCI-6014的虚拟仪器设计方法。基于NI数据采集卡的虚拟双踪示波器设计1.Measurement&AutomationExplorer(MAX)

NI公司提供一个专用的管理软件MAX,来对所有NI公司产品相关的硬件进行管理。针对数据采集卡,这个软件可以完成NI公司数据采集卡的检测、性能测试、属性配置和删除。一般在硬件驱动程序安装的同时,MAX会自动安装到计算机中。运行MAX后,在其主界面中将显示计算机中和NI公司相关的项目,如图9-28所示。在DeviceandInterface的下级目录中显示该计算机安装了PCI-6014数据采集卡,并被分配设备号为1,在以后的数据采集VI调用中,就用这个设备号来标识这块PCI-6014数据采集卡。图9-28MAX主界面在PCI-6014(Device1)项目上单击鼠标右键,将弹出快捷菜单,其中包含了MAX中对数据采集卡PCI-6014能够进行的操作,即TestPanels(性能测试)、Delete(硬件删除)和Properties(属性配置),单击各项目即可进入相关操作界面。

其中,利用性能测试功能可以对数据采集卡的功能进行简单的测试,如图9-29所示为模拟输入(AI)采样的测试界面,该测试功能将当前数据采集卡采集的信号显示在观察窗口中,并且提供了多种采样和显示方式,相当于一个现成的数据采集器和示波器,可以用它来检测数据采集卡的工作状态是否正常,或简单地观察一个信号的波形。图9-29数据采集卡的模拟输入测试界面利用属性配置操作可以对数据采集卡的属性进行配置和检查,在如图9-30和图9-31所示的界面中分别对数据采集卡的系统属性(System)和模拟输入属性(AI)进行检查和操作。其中系统属性中涉及到数据采集卡占用的内存、中断号和直接内存访问号,而在模拟输入属性中可以设置模拟输入范围和信号输入模式。另外,属性配置操作还可以对模拟输出(AO)、信号进入方式(Accessory)、数据采集和模拟输出的标定周期(OPC)和远程操作该数据采集卡的密码(RemoteAccess)等属性进行配置。图9-30数据采集卡的系统属性检查图9-31数据采集卡的模拟输入属性操作2.在MAX中添加DAQ通道

在MAX中添加DAQ通道的目的有两个:一是利用MAX对通道进行设置和测试,观察其是否可用;另一目的就是创建这些通道时,可以给这些通道根据用途的不同用带有特色的名字进行命名,不再使用通道1、通道2这样不易记忆的名字,方便识别并在LabVIEW等程序中进行有效调用。下面以传统DAQ通道为例,介绍添加DAQ通道的具体过程。(1)在MAX中展开DateNeighborhood分支,如图9-32所示。图9-32展开的DateNeighborhood分支选择TraditionalNI-DAQDevicesVirtualChannel,如图9-33所示。点击“Finish”按钮,将出现的界面,如图9-34所示。界面用来选择通道的类型:模拟输入(AnalogInput)、模拟输出(AnalogOutput)或数字输入输出(DigitalI/O)。这里选择模拟输入。图9-33添加新通道界面图9-34通道类型选择(2)点击“下一步”按钮,出现如图9-35所示的界面。在此输入通道的名称和简要的描述。这里采用的通道名称为“A”,描述为“CH1”。(3)选择传感器或测量的类型,如图9-36。可以根据需要选择电压、电流、电阻、各型热电隅、加速度计或应变片等,这里选择Voltage。图9-35通道名称和描述图9-36选择传感器或测量的类型(4)点击“下一步”按钮,出现如图9.37所示的界面。在此可设置信号的单位和范围。再点击“下一步”按钮,出现如图9.38所示的界面,可以设置缩放比例。这里都采用默认的方式。图9-37设置单位和范围图9.38设置缩放比例(5)点击“下一步”按钮,出现如图9-39所示的界面。在此选择DAQ设备、通道及输入模式,完成通道设置。这里选择的DAQ设备是PCI-6014,通道为6014的0通道,输入模式为Differential(差分输入)。通过以上5个步骤就完成了在传统DAQ通道向导下的一个通道添加与设置。这时展开的TraditionalNI-DAQDevicesVirtualChannels分支如图9-40所示。图9-39选择DAQ设备、通道及输入模式图9-40完成添加通道A虚拟双踪示波器需要两个输入通道,现在已经有了一个通道A,我们再为其增加一个通道B,方法是右击TraditionalNI-DAQDevicesVirtualChannels,选择AddChannel…,如图9-41所示。下面的通道B添加与设置过程与通道A的过程相同,完成后结果如图9-42所示。图9-41增加一个通道图9-42完成添加通道A、B如果要改变已有的设置,可以用鼠标选中要改变设置的通道,在弹出的右键菜单上选择Properties属性,就可以打开其属性窗口,在其中修改设置。3.LabVIEW中的数据采集VI在LabVIEW中,数据采集VI主要位于函数选板中的“测量I/O→DAQmx-DataAcquisition”子选板,如图9-43所示。图9-43DAQmx-DataAcquisition子选板在函数选板的Express子选板中也包含有输入、输出等与数据采集有关的快速VI。在NI-DAQmx中,任务是包括一条或多条通道以及定时、触发等属性的集合。从概念上来说,任务就是要进行的测量或生成。例如,测量DAQ设备一条或多条通道的温度就是一个任务。利用DAQmx-DataAcquisition子选板中的“DAQAssistantExpressVI”创建一个任务时,出现如图9.44所示的CreateNewExpressTask对话框。图9-44CreateNewExpressTask对话框选择“AcquireSignal

温馨提示

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

评论

0/150

提交评论