




已阅读5页,还剩22页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
基于LabVIEW的温度分析仪毕业论文目录摘 要IIAbstractIII1 引言12 虚拟仪器概述22.1 虚拟仪器的特点及优势22.2 虚拟仪器的开发软件62.3 虚拟仪器的分类62.4 虚拟仪器与传统仪器的比较83 虚拟仪器软件体系93.1 概述93.2 LabVIEW简介103.3 LabVIEW应用程序构成103.4 用LabVIEW虚拟仪器编程设计的步骤114 基于LabVIEW的温度分析仪的实现114.1 程序框图主要功能模块介绍134.2 详细设计步骤164.3 完整程序框图设计204.4 运行结果215 结论22致谢23参考文献24附录25(一)程序连线面板25(二)程序框图26基于LabVIEW的温度分析仪1 引言虚拟仪器是基于计算机技术而发展起来的仪器测量技术,是计算机技术和仪器技术密切结合的产物,是将来仪器发展的一个重要方向。计算机和仪器的结合方式主要有两种。一种是将计算机装入仪器,比较典型的例子是智能化仪器,随着计算机功能日益强大及体积的日趋缩小,这类仪器的功能也越来越强大,逐渐形成含嵌入式的仪器。另一种方式是将仪器系统装入计算机,以通用的计算机硬件及操作系统为依托,实现各种仪器功能,常说的虚拟仪器主要是这种方式,美国国家仪器(NT)公司开发的LabVIEW软件是目前实现虚拟仪器最流行的设计工具软件之一。其应用在工业界,学术界和研究室各个领域,被公认为标准的数据采集和仪器控制软件,现已成为测试测量和控制行业的标准软件平台。本文所介绍的应用软件,即基于LabVIEW的温度分析仪,是基于LabVIEW 8.6 虚拟平台,使用图形语言编程,利用软件代替DAQ数据采集卡进行温度数据的采集,模拟温度测量;利用“演示读取电压”子程序来仿真电压测量,然后把所得的电压数值换成摄氏或者华氏温度读数。在数据采集过程中,温度计控件能够实时地显示温度数据。用户可以设置温度上限,并计算出采集温度的最大值、最小值和平均值。其优点表现在,开发成本低,开发环境简单,操作简单,应用范围广等,而且其发展的空间也相当的大。2 虚拟仪器概述和仪器的密切结合是目前仪器发展的一个重要方向。粗略地说这种结合有两种方式,一种是将计算机装入仪器,其典型的例子就是所谓智能化的仪器。随着计算机功能的日益强大以及其体积的日趋缩小,这类仪器功能也越来越强大,目前已经出现含嵌入式系统的仪器。另一种方式是将仪器装入计算机。以通用的计算机硬件及操作系统为依托,实现各种仪器功能。虚拟仪器(virtual instruments)主要是指这种方式,充分利用现有计算机资源,配以独特设计的软硬件,实现普通仪器的全部功能以及一些在普通仪器上无法实现的功能。2.1 虚拟仪器的特点及优势虚拟仪器是基于计算机的功能化硬件模块和计算机软件构成的电子测试仪器,而软件是虚拟仪器的核心,如图1-1所示,其中软件的基础部分是设备驱动软件,而这些标准的仪器驱动软件使得系统的开发与仪器的硬件变化无关。这是虚拟仪器最大的优点之一,有了这一点,仪器的开发和换代时间将大大缩短。虚拟仪器中应用程序将可选硬件(如GPIB,VXI,RS-232,DAQ板)和可重复用库函数等软件结合在一起,实现了仪器模块间的通信、定时与触发。源代码库函数为用户构造自己的虚拟仪器(VI)系统提供了基本的软件模块。由于VI的模块化、开放性和灵活性,以及软件是关键的特点,当用户的测试要求变化时可以方便地由用户自己来增减硬、软件模块,或重新配置现有系统以满足新的测试要求。这样,当用户从一个项目转向另一个项目时,就能简单地构造出新的VI系统而不丢失己有的硬件和软件资源。虚拟仪器技术的优势在于可由用户定义自己的专用仪器系统,且功能灵活,很容易构建,所以应用面极为广泛。虚拟仪器技术十分符合国际上流行的“硬件软件化”的发展趋势,因而常被称作“软件仪器” 。它功能强大,可实现示波器、逻辑分析仪、频谱仪、信号发生器等多种普通仪器全部功能,配以专用探头和软件还可检测特定系统的参数,如汽车发动机参数、汽油标号、炉窑温度、血液脉搏波、心电参数等多种数据;它操作灵活,完全图形化界面,风格简约,符合传统设备的使用习惯,用户不经培训即可迅速掌握操作规程。图 1-1 虚拟仪器开发框图2.1.1虚拟仪器测试系统的组成集部件(如外置或内置数据采集卡、图形图像采集卡及摄像机及其用于辅助测量并能与计算机通讯的常规仪器等)、通用计算机、打印机等构成。系统软件部分通常用专虚拟仪器是基于计算机的仪器。计算机和仪器的密切结合是目前仪器发展的一个重要方向。这种结合基本有两种方式,一种是将计算机装入仪器,其典型的例子就是所谓智能化的仪器。随着计算机功能的日益强大以及其体积的日趋缩小,这类仪器功能也越来越强大,目前已经出现含嵌入式系统的仪器。另一种方式是将仪器装入计算机。以通用的计算机硬件及操作系统为依托,实现各种仪器功能,虚拟仪器主要是指这种方式9。虚拟仪器的组成与传统仪器一样,主要由数据采集与控制、数据分析和处理、结果显示三部分组成。如图 1-2所示。图 1-2 虚拟仪器内部功能的划分对于传统仪器,这三个部分几乎均由硬件完成;对于虚拟仪器,前一部分由硬件构成,后两部分主要由软件实现。与传统仪器相比,虚拟仪器设计日趋模块化、标准化,设计工作量大大减小。通常虚拟仪器测试系统硬件组成部分是由传感器部件、信号调理及信号采用的虚拟仪器开发语言(如LabVIEW)编写而成,并可通过Internet实现网络扩展。2.1.2 虚拟仪器I/O接口设备I/O接口设备主要用来完成被测输入信号的采集、放大、模数转换。可根据实际情况采用不同的I/O接口硬件设备,如数据采集卡/板(DAQ)、GPIB总线仪器、VXI总线仪器、串口仪器、USB等。这里主要讲数据采集卡。DAQ(Data Acquisition)数据采集卡是指基于计算机标准总线(如ISA、PCI、USB等)的内置功能插卡。其中USB是最新技术的数据采集卡,具有精度高,可携性好等优点,它更加充分地利用计算机的资源,大大增加了测试系统的灵活性和扩展性;利用DAQ卡可方便快速地构建虚拟仪器系统。在性能上,随着A/D转换技术,滤波技术和信号调理技术的发展,DAQ卡的采样速率已达1GB/s,精度高达24位,通道数高达64个,并具有数字I/O,模拟I/O和计数器/定时器等通道。各仪器厂家生产了大量的DAQ卡功能模块供用户选择,如示波器、串行数据分析仪、动态信号分析仪、任意波形发生器等。在计算机上挂接多个DAQ功能模块,配合相应的软件,就可以构成一台具有多功能的测试仪器。这种基于计算机的仪器,既具有高档仪器的测量品质,又能满足测量需求的多样性。对我国大多数用户来说,它具有很高的性能价格比,是一种特别适合我国国情的虚拟仪器方案。2.1.3 虚拟仪器的软件结构虚拟仪器技术的核心是软件,其软件基本结构如图1-3所示。用户可以采用各种编程软件来开发自己所需要的应用软件。以美国NI公司的软件产品LabVIEW和LabWindows/CVI为代表的虚拟仪器专用开发平台是当前流行的集成化开发工具。这些软件开发平台提供了强大的仪器软面板设计工具和各种数据处理工具,再加上虚拟仪器硬件厂商提供的各种硬件的驱动程序模块,简化了虚拟仪器的设计工作。随着软件技术的迅速发展,软件开发的模块化、复用化,和各种硬件仪器驱动软件的模块化、标准化,虚拟仪器软件开发将变得更加快速、方便。 图 1-3 虚拟仪器软件结构2.1.4 虚拟仪器发展历程虚拟仪器的起源可以追朔到20世纪70年代,那时计算机测控系统在国防、航天等领域已经有了相当的发展。PC机出现以后,仪器级的计算机化成为可能,甚至在Microsoft公司的Windows诞生之前,NI公司已经在Macintosh计算机上推出了LabVIEW2.0以前的版本。对虚拟仪器和LabVIEW长期、系统、有效的研究开发使得该公司成为业界公认的权威。虚拟仪器从概念的提出到目前技术的日趋成熟,体现了计算机技术对传统工业的革命。大致说来,虚拟仪器发展至今,可以分为三个阶段,而这三个阶段又可以说是同步进行的。第一阶段,利用计算机增强传统仪器的功能。由于GPIB总线标准的确立,计算机和外界通信成为可能,只需要把传统仪器通过GPIB和RS-232同计算机连接起来,用户就可以用计算机控制仪器。随着计算机系统性能价格比的不断上升,用计算机控制测控仪器成为一种趋势。这一阶段虚拟仪器的发展几乎是直线前进。第二阶段,开放式的仪器构成。仪器硬件上出现了两大技术进步:一是插入式计算机数据处理卡 ( plug-in PC-DAQ );二是VXI仪器总线标准的确立。这些新的技术使仪器的构成得以开放,消除了第一阶段内在的由用户定义和供应商定义仪器功能的区别。第三阶段,虚拟仪器框架得到了广泛认同和采用。软件领域面向对象技术把任何用户构建虚拟仪器需要知道的东西封装起来。许多行业标准在硬件和软件领域以产生,几个虚拟仪器平台已经得到认可并逐渐成为虚拟仪器行业的标准工具。发展到这一阶段,人们也认识到了虚拟仪器软件框架才是数据采集和仪器控制系统实现自动化的关键。2.2 虚拟仪器的开发软件2.2.1 图形化虚拟仪器开发平台LabVIEWLabVIEW(Laboratory Virtual Instrument Engineering)是一种图形化的编程语言,它广泛地被工业界、学术界和研究实验室所接受,视为一个标准的数据采集和仪器控制软件。LabVIEW集成了与满足GPIB、VXI、RS-232和RS-485协议的硬件及数据采集卡通讯的全部功能。它还内置了便于应用TCP/PI、ActiveX等软件标准的库函数,是一个功能强大且灵活的软件。利用它可以方便地建立自己的虚拟仪器,其图形化的界面使得编程及使用过程都更加形象化。传统的文本式编程是一种顺序的设计思路,设计者必须写出执行的语句。而LabVIEW是基于数据流的工作方式,同时是基于图形化的编程,这使得设计者不必掌握大量的编程语言和程序设计技巧便可设计出虚拟仪器系统11。目前,在以PC机为基础的测试和工控软件中,LabVIEW的市场普及率仅次于C+/C语言。LabVIEW具有一系列无与伦比的优点:首先,LabVIEW作为图形化语言编程,采用流程图式的编程,运用的设备图标与科学家、工程师们习惯的大部分图标基本一致,这使得编程过程和思维过程非常相似;同时,LabVIEW提供了丰富的VI库和仪器面板素材库,近600种设备的驱动程序(可扩充)如GPIB设备控制、VXI总线控制、串行口设备控制、以及数据分析、显示和存储;并且LabVIEW还提供了专门用于程序开发的工具箱,使得用户能够设置断点,调试过程中可以使用数据探针和动态执行程序来观察数据的传输过程,更加便于程序的调试。因此,LabVIEW受到越来越多工程师、科学家的普遍青睐。2.3 虚拟仪器的分类虚拟仪器的发展随着微机的发展和采用总线方式的不同,可分为五种类型:(1) PC总线插卡型虚拟仪器这种方式借助于插入计算机内的数据采集卡与专用的软件如LabVIEW相结合(注:美国NI公司的LabVIEW是图形化编程工具,它可以通过各种控件自已组建各种仪器。Labview/cvi是基于文本编程的程序员提供高效的编程工具,通过三种编程语言Visual C+,Visual Basic,Labviews/cvi构成测试系统,它充分利用计算机的总线、机箱、电源及软件的便利。但是受PC机机箱和总线限制,且有电源功率不足,机箱内部的噪声电平较高,插槽数目也不多,插槽尺寸比较小,机箱内无屏蔽等缺点。另外,ISA总线的虚拟仪器已经淘汰,PCI总线的虚拟仪器价格比较昂贵。(2) 并行口式虚拟仪器最新发展的一系列可连接到计算机并行口的测试装置,它们把仪器硬件集成在一个采集盒内。仪器软件装在计算机上,通常可以完成各种测量测试仪器的功能,可以组成数字存储示波器、频谱分析仪、逻缉分析仪、任意波形发生器、频率计、数字万用表、功率计、程控稳压电源、数据记录仪、数据采集器。美国LINK公司的DSO-2XXX系列虚拟仪器,它们的最大好处是可以与笔记本计算机相连,方便野外作业,又可与台式PC机相连,实现台式和便携式两用,非常方便。由于其价格低廉、用途广泛,特别适合于研发部门和各种教学实验室应用。(3) GBIB总线方式的虚拟仪器GPIB技术是IEEE488标准的虚拟仪器早期的发展阶段。它的出现使电子测量独立的单台手工操作向大规模自动测试系统发展,典型的GPIB系统由一台PC机、一块GPIB接口卡和若干台GPIB形式的仪器通过GPIB电缆连接而成。在标准情况下,一块GPIB接口可带多达14台仪器,电缆长度可达40米。GPIB技术可用计算机实现对仪器的操作和控制,替代传统的人工操作方式,可以很多方便地把多台仪器组合起来,形成自动测量系统。GPIB测量系统的结构和命令简单,主要应用于台式仪器,适合于精确度要求高的,但不要求对计算机高速传输状况时应用。(4) VXI总线方式虚拟仪器VXI总线是一种高速计算机总线VME总线在VI领域的扩展,它具有稳定的电源,强有力的冷却能力和严格的RFI/EMI屏蔽。由于它的标准开放、结构紧凑、数据吞吐能力强、定时和同步精确、模块可重复利用、众多仪器厂家支持的优点,很快得到广泛的应用。经过十多年的发展,VXI系统的组建和使用越来越方便,尤其是组建大、中规模自动测量系统以及对速度、精度要求高的场合。有其他仪器无法比拟的优势。然而,组建VXI总线要求有机箱、零槽管理器及嵌入式控制器,造价比较高。(5) PXI总线方式虚拟仪器PXI总线方式是PCI总线内核技术增加了成熟的技术规范和要求形成的,增加了多板同步触发总线的技术规范和要求形成的,增加了多板发总线,以使用于相邻模块的高速通讯的局总线。PXI的高度可扩展性。PXI具有8个扩展槽,而台式PCI系统只有34个扩展槽,通过使用PCIPCI桥接器,可扩展到256个扩展槽,台式PC的性能价格比和PCI总线面向仪器领域的扩展优势结合起来,将形成未来的虚拟仪器平台。2.4 虚拟仪器与传统仪器的比较独立的传统仪器,例如示波器和波形发生器,性能强大,但是价格昂贵,且被厂家限定了功能,只能完成一件或几件具体的工作,因此,用户通常都不能够对其加以扩展或自定义其功能。仪器的旋钮和开关、内置电路及用户所能使用的功能对这台仪器来说都是固定的。另外,开发这些仪器还必须要用专门的技术和高成本的元部件,从而使它们身价颇高且很不容易更新。我们不妨把虚拟仪器与传统仪器加以比较,看看各自的特点,比较结果如表21所示。 传统仪器虚拟仪器关键是硬件关键是软件开发与维护的费用高开发与维护的费用低技术更新周期长技术更新周期短价格高价格低,并且可重用性与可配置性强厂商定义仪器功能用户定义功能系统封闭、固定系统开放、灵活,与计算机的进步同步不易与其他设备连接与其他设备极易相连表21 传统仪器与虚拟仪器的比较从表21中可见,传统仪器与虚拟仪器最重要的区别在于:虚拟仪器的功能由用户使用时自己定义,而传统仪器的功能是由厂商事先定义好的。从这一意义上讲,那些功能固定的插卡式计算机仪器不能称作虚拟仪器。而且,没有面向科技与工程人员的图形化开发平台就难以涉及虚拟仪器。普通的PC有一些不可避免的弱点。用它构建的虚拟仪器或计算机测试系统性能不可能太高。目前作为计算机化仪器的一个重要发展方向是制定了VXI标准,这是一种插卡式的仪器。每一种仪器是一个插卡,为了保证仪器的性能,又采用了较多的硬件,但这些卡式仪器本身都没有面板,其面板仍然用虚拟的方式在计算机屏幕上出现。这些卡插入标准的VXI机箱,再与计算机相连,就组成了一个测试系统。VXI仪器价格昂贵,目前又推出了一种较为便宜的PXI标准仪器。3 虚拟仪器软件体系3.1 概述虚拟仪器技术最核心的思想,就是利用计算机的硬/软件资源,使本来需要硬件实现的技术软件化(虚拟化),以便最大限度地降低系统成本,增强系统的功能与灵活性。基于软件在VI系统中的重要作用,NI提出了软件就是仪器(The software is the instrument)的口号。VPP系统联盟提出了系统框架、驱动程序、VISA、软面板、部件知识库等一系列VPP软件标准,推动了软件标准化的进程。虚拟仪器的软件框架从低层到顶层,包括三部分:VISA库、仪器驱动程序、应用软件。VISA(Virtual Instrumentation software Architecture)虚拟仪器软件体系结构,实质就是标准的I/O函数库及其相关规范的总称。一般称这个I/O函数库为VISA库。它驻留于计算机系统之中执行仪器总线的特殊功能,是计算机与仪器之间的软件层连接,以实现对仪器的程控。它对于仪器驱动程序开发者来说是一个个可调用的操作函数集。仪器驱动程序是完成对某一特定仪器控制与通信的软件程序集。它是应用程序实现仪器控制的桥梁。每个仪器模块都有自己的仪器驱动程序,仪器厂商以源码的形式提供给用户。应用软件建立在仪器驱动程序之上,直接面对操作用户,通过提供直观友好的测控操作界面、丰富的数据分析与处理功能,来完成自动测试任务。虚拟仪器应用软件的编写,大致可分为两种方式:(1) 用通用编程软件进行编写。主要有Microsoft公司的Visual Basic与Visual C+、Borland公司的Delphi、Sybase公司的PowerBuilder;(2) 用专业图形化编程软件进行开发。如HP公司的VEE、 NI公司的LabVIEW 和Lab windows/CVI等。应用软件还包括通用数字处理软件。通用数字处理软件包括用于数字信号处理的各种功能函数,如频域分析的功率谱估计、FFT、FHT、逆FFT、逆FHT和细化分析等;时域分析的相关分析、卷积运算、反卷运算、均方根估计、差分积分运算和排序等。以及数字滤波等等。这些功能函数为用户进一步扩展虚拟仪器的功能提供了基础。在此,本章简单现今用到最多的面向仪器与测控过程的图像化开发平台LabVIEW。3.2 LabVIEW简介LabVIEW (laboratory virtual instrument engineering wokbench实验室虚拟仪器工程平台)的概念,是直观的前面板与流程图式的编程方法的结合,是构建虚拟仪器的理想工具。LabVIEW和仪器系统的数据采集、分析、显示部分一起协调工作, 是简化了而又更易于使用的基于图形化编程语言G的开发环境。前面板是一个传统的仪器概念,而软件前面板其实是自动化的拓展,因为它们保持了传统直观的视觉和感觉效果。同时,软件前面板创建了一个真正的接口,无论用户使用什么类型的硬件,并且,不像硬件前面板,软件前面板只包含了对于一个应用场合很重要的参数,用户能够很容易地从一个单一前面板控制多台,并把整个系统作为一台虚拟仪器来看待。流程图式的程序设计与科技工程人员较为熟悉的数据流和方块图的概念是一致的,而且由于流程图与传统程序设计语言的语法细节无关,构建和测试程序就可以少费时间。使用流程图方法可以实现内部的自我复制,采用前面板、流程图、图标等,用户就对整个系统实现图形化描述,同时,用户还能够重用虚拟仪器,可以随时改变虚拟仪器来满足自己的需要。LabVIEW集成了很多仪器硬件库,如GPIB/VXI/PXI/基于计算机的仪器、RS232/485协议、插入式数据采集、模拟/数字/计数器/、信号调理、分布式数据采集、图像获取和机器视觉、运动控制、PLC/数据日志等。与传统的编程方式相比,使用LabVIEW设计虚拟仪器,可以提高效率410倍。同时,利用其模块化和递归方式,用户可以在很短的时间内构建、设计和更改自己的虚拟仪器系统。3.3 LabVIEW应用程序构成所有的LabVIEW应用程序,即虚拟仪器(VI),它包括前面板(Front Panel)、流程图(Block Diagram)以及图标/连结器(Icon/Connector)三部分。(1) 前面板:前面板是图形用户界面,也就是VI的虚拟仪器面板,这一界面上有用户输入和显示输出两类对象,具体表现有开关、旋钮、图形以及其他控制和显示对象。但并非画出两个控件后程序就可以运行,在前面板后还有一个与之对应的流程图。(2) 流程图:流程图提供VI的图形化源程序。在流程图中对VI编程,以控制和操纵定义在前面板上的输入和输出功能。流程图中包括前面板上的控件连线端子,还有一些前面板上没有,但编程必须有的东西,例如函数、结构和连线等。如果将VI与传统仪器相比较,那么前面板上的控件对应的就是传统仪器上的按钮、显示屏等控件,而流程图上的连线端子相当于传统仪器箱内的硬件电路。在许多情况下,使用VI可以仿真传统仪器,不仅在屏幕上出现一个惟妙惟肖的标准仪器面板,而且其功能也与传统标准仪器相差无几。3.4 用LabVIEW虚拟仪器编程设计的步骤(1) 总体设计:根据用户需求,进行VI总体结构设计,确定面板布局与程序流程,并保证所使用的虚拟仪器硬件在LabVIEW函数库中有相应的驱动程序。(2) 前面板设计:在LabVIEW的前面板编辑窗口内,利用工具模板和控件模板进行VI前面板的设计。(3) 方框图编程:在LabVIEW的方框图编辑窗口内,利用工具模板和函数模板进行方框图编程。(4) 程序调试:单击前面板编辑窗口或方框图编辑窗口工具条中的运行按钮,执行VI程序;同时可利用LabVIEW工具模板中的断点工具和探针工具调试缩编程序。4 基于LabVIEW的温度分析仪的实现基于labview的温度分析仪( 以下简称为本课题 )是基于LabVIEW 8.6 虚拟平台,使用图形语言编程,利用软件代替DAQ数据采集卡进行温度数据的采集,模拟温度测量;利用“演示读取电压”子程序来仿真电压测量,然后把所得的电压数值换成摄氏或者华氏温度读数。在数据采集过程中,温度计控件能够实时地显示温度数据。用户可以设置温度上限,并计算出采集温度的最大值、最小值和平均值。图4-1 温度分析仪的前面板本课题设计内容主要包括3个部分:数字温度计部分、温度数据采集部分和温度数据分析部分。本课题使用的 LabVIEW 8.6 函数选板中主要相关函数包括while循环、条件结构、数组函数和族函数等等。此外,并且还涉及了空间属性节点和温度计子VI设计等方面的基本知识。下面进行详细介绍。图 4-2 温度分析仪的程序框图4.1 程序框图主要功能模块介绍如图4.2所示,温度分析仪实例的程序框图设计分为3个主要功能块:数字温度子VI模块、“数组最大值与最小值”函数、“均值”函数以及族捆绑函数。接下来将对每个功能块如何实现其具体处理功能和任务进行详细介。4.1.1数字温度计子VI模块数字温度计子VI模块的主要功能是创建一个VI程序来模拟温度测量。此子VI命名为Thermometer.vi,其函数端子图如图4-3所示。本设计中假设传感器输出电压与温度成正比,并使用“演示读取电压”子程序来仿真电压测量,代替DAQ数据采集卡。“演示读取电压”子程序每次从预存的一组数值中读取一个数来模拟从数据采集卡的0通道读取电压,再将读数乘以100.0转换成华氏温度读数,或者再把华氏温度转换成摄氏温度。本设计中假设传感器输出电压与温度成正比,并使用“演示读取电压”子程序来仿真电压测量,代替DAQ数据采集卡。“演示读取电压”子程序每次从预存的一组数值中读取一个数来模拟从数据采集卡的0通道读取电压,再将读数乘以100.0转换成华氏温度读数,或者再把华氏温度转换成摄氏温度。本设计中假设传感器输出电压与温度成正比,并使用“演示读取电压”子程序来仿真电压测量,代替DAQ数据采集卡。“演示读取电压”子程序每次从预存的一组数值中读取一个数来模拟从数据采集卡的0通道读取电压,再将读数乘以100.0转换成华氏温度读数,或者再把华氏温度转换成摄氏温度。图 4-3 数字温度计子VI的函数端子图4.1.2 “数组最大值与最小值”函数“数组最大值与最小值 ”函数的功能是当一次采集过程结束后,计算采集的温度数据中温度的最大值和最小值。“数组最大值与最小值”函数位于数组子选板中,其调用路径是“函数编程数组数组最大值与最小值”。“数组最大值与最小值”函数可以从一个数组中获取最大值和最小值及它们的索引值。参数名称说明数组可以是n维任意类型的数组最大值返回数组的最大值最大索引返回第一个最大值的索引值。如果输入数组是多维的,则最大索引是一个数组最小值返回数组的最小值最小索引返回第一个最小值的索引。表4-1“数组最大值与最小值”函数节点的参数说明表4.1.3“ 均值”函数 此“均值”函数的功能是计算采集的温度数据中温度的平均值。该还数计算均值的公式为 (4-1)式中,u为X序列的均值;n为X序列中元素个数。该函数位于数学子选板中(如图4-4所示),其调用路径为“函数数学概率与统计均值”。图 4-4数学子选版以及“均值”函数4.1.4 簇捆绑函数(控件) 簇是LabVIEW 8.6为用户提供的一种特殊结构类型,是由不同的数据类型的数据构成的集合。簇既可以在前面板上创建,也可以在程序图上创建。簇捆绑函数可以对一些基本类型的数据进行捆绑,以生成一个“簇”数据类型。(1) “解除捆绑”函数接线端子的功能是解开簇并获取簇中各个元素的值。默认情况下,他会根据输入簇自动调整输出端子的数目和数据类型,并根据簇内部元素索引的顺序排列。(2) “捆绑”函数接线端子的功能是给参考簇中的各元素赋值。在输入的数据顺序和类型与簇的定义相匹配时,不需要参考簇,但当簇的内部元素较多或用户没有把握时建议加上参考簇,参考簇与输入簇完全相同。(3) “索引与捆绑簇数组”函数接线端子的功能是从输入的多个一维数组中,按照索引值重新构成一个新的簇数组。4.2 详细设计步骤温度分析仪实例的设计主要可以分为以下几个步骤:(1) 程序框图的设计,包括温度数据的采集、温度数据的分析、温度超限报警和温度采集过程的图形显示。(2) 图形显示界面的设计,即在程序框图的主要设计基础上,在前面板上添加相应的数值输入控件、数值显示控件、布尔控件和波形图控件等。(3) 前面板界面布局及显示部件的属性设置,包括对前面板进行的整体布局规划设计,以及对部分控件进行的相关外观属性设置。接下来将对温度分析仪的设计步骤进行详细说明:4.2.1 数字温度计子VI的设计(1) 创建新VI,命名为Thermometer.vi ,其操纵路径为“文件新建VI”,当然如果在LabVIEW 8.2 的启动界面,直接单击新建栏中的VI即可。(2) 子VI前面板的设计。 切换到前面板设计窗口下,执行“控件新式数值”,从数值子选板中选择温度计控件并将其放置到设计区。 执行“控件新式布尔”打开布尔子选板,选择垂直滑动杆并将其放置在设计区的适当位置,将标签内容改为“C/F转换”;利用标签工具,在开关“真”位置旁边输入自由标签“C”,在“假”位置旁边输入自由标签“F”。(3) 子VI 程序框图的设计。 切换到程序框图设计窗口下,执行“函数选择VI”弹出“选择需要打开的VI窗口”,从LabVIEW 8.2 的安装文件夹下的“vi.labtutorial.llb”中选择“演示读取电压”子程序,即“Demo Voltage Read.vi”。在本例中,“演示读取电压”子程序模拟的是从DAQ卡的0通道读取电压值,将读取电压值乘以100,即可获得华氏温度。 从函数选板的结构子选板中选择条件结构并将其放置到程序框图设计区,适当拖放其大小,当条件为“真”时,输出摄氏温度,此时,需在条件结构中放置一个“公式节点”,输入公式“C=(F-32)/1.8;”,将华氏温度转化为摄氏温度;当条件为“假”时,直接输出华氏温度。 将各节点图标利用连线工具连接起来,完成子VI程序框图的设计(如图4-5所示)。图 4-5 VI程序图设计(4) 创建子VI 图标。 用户可以根据需要自行设计程序图标,此图标可以将现行程序当做子VI在其他程序中调用。 LabVIEW 8.2 为每个程序创建默认的图标显示在前面板和程序框图右上角。右键单击该图标,将弹出一个快捷菜单(如图4-6所示),从中选择“编辑图标”即可打开“图标编辑器”对话框。图4-6 打开“图标编辑器”对话框 对图标进行编辑。编辑完成单击“确定”按钮予以确认并关闭该对话框,可以看到前面板和程序框图右上角的图标改变为编辑后的图标。(5) 创建连接器端口。 VI 只有设置了连接器端口后才能作为子VI使用,如果不对其进行设置,则调用的只是一个独立的VI程序,不能改变其输入参数也不能显示或传输其运行结果。移动光标到前面板右上角图标上,单击鼠标右键,从弹出的快捷菜单中执行“显示连线板”菜单命令,则前面板右上角的图标会切换成连接器图标。如图23-12所示,连接器的每个小长方形区域代表一个输入或输出端口。 移动光标到连线板图标上,单击鼠标右键,从弹出的快捷菜单中执行“模式”菜单命令。本例子只有两个端口,一个是“C/F转换”开关,一个是“温度计”显示控件,因此选择两个端口模式。 打开工具选板,单击选板 上的“正在连线”选项,鼠标转化为连线状态。左键单击选中的控件,控件周围会出现虚线框,表示此控件已经被选中。把鼠标移至连接器图标上,左键单击其中一个端口,此时端子颜色改变,表示连接器端口与控件已建立连接。如图23-14给出了子VI连接器端口和控件对象的关联关系。至此,数字温度计子VI的创建和设计全部完成。用户可以在其他程序中调用该子VI。在其他程序的框图窗口里,该子VI节点用前面创建的图标来表示。该子VI节点的输入端用于选择华氏温度或摄氏温度,输出端用于输出温度值。4.2.2 前面板的设计(1) 创建新VI,命名为Temperature Analysis.vi。其操作路径为“文件新建VI”。当然,如果在LabVIEW 8.6的启动界面,直接单击新建栏中的VI即可。(2) 切换到前面板设计窗口下,打开“文件控件布尔”子选板,选择一个“翘板开关”并将其放置到前面板中,用来开始/停止数据采集。(3) 打开“控件新式数组、矩阵与簇”子选板,放置2个控件“簇”到前面板中,修改“簇”的属性,将其中一个簇的标签名改为“温度分析”,将另一个改为“温度控制”。(4) 适当调整簇容器的大小,按照顺序,依次在“温度分析”簇容器中放置3个数值显示控件,并按顺序依次修改其标签名为“最大值”、“最小值”和“均值”;在“温度控制”簇容器中,以此放置“转盘”控件、“垂直滑动杆开关”控件和“数值输入”控件,修改各控件的属性,完成簇的创建,如图4-7所示。图 4-7 簇的创建(5) 在前面板上放置1个“温度计”控件,用来实时显示数字温度计的温度值;放置一个“圆形指示灯”控件,其标签名为“报警”;设置一个“字符串显示”控件,其标签名为“当前温度状态”。当“当前温度状态”显示为“正常”时,“报警”指示灯关闭;当“当前温度状态”显示为“超限”时,“报警”指示灯闪亮报警。(6) 在前面板上,执行“控件新式图形波形图表”,放置2个波形图表控件,分别命名为“温度历史趋势”和“温度曲线”。在设计过程中,为更好地显示波形,可以对相应的波形图表控件进行相关属性的设置,这里不再详细介绍。4.2.3 温度数据采集 数字温度计子VI每次只能生产一个模拟温度数据,通过采用While循环可以实现温度数据的连续采集,并利用定时器控制数据采集的时间间隔。此外,本章还设计了温度预警程序,当温度超过预设的温度上限时,LED指示灯会闪亮变红。(1) 切换到程序框图设计窗口下,放置While循环,调整循环框的大小,把先前从前面板创建的节点(除了“温度分析”簇节点和“温度曲线”波形图表节点外)移入循环框内。(2) 打开“函数选择VI”函数选板,弹出“选择需打开的VI”对话框,设置数字温度计子VI的路径和文件名,单击“选择需打开的VI”对话框的“确定”按钮,并关闭该对话框。此时,在程序框图设计区放置了一个子VI“Thermometer.vi”的节点图标。(3) 打开“函数编程簇与变体”函数选板,选择“解除捆绑”函数节点,将“温度控制”簇函数节点和“解除捆绑”函数节点相连,可以看到“解除捆绑” 函数节点的输出端口变成了3个,与“温度控制”簇函数节点中的元素相对应。(4) 移动光标到“解除捆绑”函数节点的输出端附近,可以看到对端口的输出解释和输出连线端。(5) 打开“函数编程簇与变体” 函数选板,选择“捆绑”函数节点,对“解除捆绑”函数节点的“高限温度”输出端口和“Thermometer.vi”的输出端口进行捆绑,之后通过“温度历史趋势”波形图表将温度数据采集结果显示出来。(6) 打开“函数编程定时” 函数选板,选择“等待下一个整数倍毫秒”函数节点,将其放置到While循环内,通过连线,该程序将通过“延迟时间(Sec)”转盘控件控制温度数据的采集时间间隔。(7) 打开“函数编程结构”函数选板,选择“条件结构”函数节点并将其放置到While循环节点内,通过选择条件设计温度预警程序,当温度超过预设的温度上限时,LED指示灯闪亮变红。4.2.4 温度分析当温度采集过程结束后,“While循环”函数的“自动索引”功,能将循环框内的温度数据累计成一个数组,并输出到循环框外的“数组最大值与最小值”函数、“均值”函数和波形图表上,从而可计算温度的最大值、最小值和均值,并显示出温度变化曲线。(1) 打开“函数编程数组” 子选板,选择“数组最大值与最小值”函数节点并将其放置到“While
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论