1汕头大学工学院二级项目报告项目题目:基于labview的温度采集系统指导教师:庄哲民系别:电子工程系专业:电子信息工程完成时间:2011年8月1日至9月10日成绩:评阅人:庄哲民2摘要虚拟仪器是将仪器技术、计算机技术、总线技术和软件技术紧密的融合在一起,利用计算机强大的数字处理能力实现仪器的大部分功能,打破了传统仪器的框架,形成的一种新的仪器模式。本设计采用USB5935数据采集卡,运用虚拟仪器及其相关技术于温度采集系统的设计。该系统具有数据同时采集、采集数据实时显示、存储与管理、报警记录等功能。本文首先概述了测控技术和虚拟仪器技术,探讨了虚拟仪器的总线及其标准、框架结构、LabVIEW开发平台,然后介绍了数据采集的相关理论,给出了数据采集系统的硬件结构图。在分析本系统功能需求的基础上,介绍了程序模块化设计中用到的技术,最后一章给出了本设计的前面板图。关键字:虚拟仪器;数据采集;LabVIEW3绪论1.1引言测控技术在现代科学技术、工业生产和国防科技等诸多领域中应用十分广泛,它的现代化已被认为是科学技术、国防现代化的重要条件和明显标志。20世纪70年代以来,计算机、微电子等技术迅猛发展,在其推动下,测控仪器与技术不断进步,相继诞生了智能仪器、PC仪器、VXI仪器、虚拟仪器及互换性虚拟仪器等微机化仪器及其自动测控系统,计算机与现代化仪器设备间的界限日渐模糊,测控领域和范围不断拓宽[1]。近年来,以计算机为中心、以网络为核心的网络化测控技术与网络化测控系统得到越来越多的应用,尤其是在航空航天等国防科技领域。网络化的测控系统大体上由两部分组成:测控终端与传输介质,随着个人计算机的高速发展,测控终端的位置越来越多的被个人计算机所占据,其中,软件系统是计算机系统的核心,甚至是整个测控系统的灵魂,应用于测控领域的软件系统称为监控软件。传输介质组成的通信网络主要完成数据的通信与采集,这种数据采集系统是整个测控系统的主体,是完成测控任务的主力。因此,这种“监控软件-数据采集系统”构架的测控系统结构在很多领域都得到了广泛的应用,并形成了一套完整的理论[1]。1.2课题背景虚拟仪器(VI)是计算机技术和传统的仪器技术相结合的产物,是仪器发展的一个重要方向。LabVIEW是一个基于图形化编程语言的虚拟仪器软件开发工具。本文重点介绍了虚拟仪器的界面,LabVIEW应用,并设计了一个基于虚拟仪器的数字化温度测量和控制系统,阐述了系统开发过程中数据的采集和软硬件的设计,虚拟仪器设备可以由使用者自己定义,这意味着可以自由地组合计算机平台,硬件(包括传统仪器),软件,以及各种实现应用所需要的附件。这种灵活性在由供应商定义,功能固定,独立的传统仪器上是很难达到的。常用的数字万用表,示波器,信号发生器,数据记录仪,以及温度和压力监控仪器就是这种传统仪器的代表。从传统仪器设备向虚拟仪器设备的转变,为现代实验带来了更多实际的利益,同时也促进着实验手段不断更新。1.3本设计所做的工作本设计以两个独立通道进行设计,从传感器来的模拟输入信号,经过信号调理后,输入到USB5935数据采集卡,然后经过USB总线送入PC机,由软件进行数据处理,包括采样波形的实时显示,并进行历史数据保存,边采集边保存,还有实时报警并记录处理等功能。4虚拟仪器2.1虚拟仪器技术概述2.1.1虚拟仪器的概念虚拟仪器的概念是由美国国家仪器公司(NationalInstruments)最先提出的[4][5]。所谓虚拟仪器是基于计算机的软硬件测试平台,它可代替传统的测量仪器,如示波器、逻辑分析仪、信号发生器、频谱分析仪等;可集成于自动控制、工业控制系统之中;可自由构建成专有仪器系统。虚拟仪器是智能仪器之后的新一代测量仪器。虚拟仪器的核心技术思想就是“软件即是仪器”。该技术把仪器分为计算机、仪器硬件和应用软件三部分。虚拟仪器以通用计算机和配备标准数字接口的测量仪器(包括GPIB、RS-232等传统仪器以及新型的VXI模块化仪器)为基础,将仪器硬件连接到各种计算机平台上,直接利用计算机丰富的软硬件资源,将计算机硬件(处理器、存储器、显示器)和测量仪器(频率计、示波器、信号源)等硬件资源与计算机软件资源(包括数据的处理、控制、分析和表达、过程通讯以及图形用户界面)有机的结合起来。2.1.2虚拟仪器的特点及优势虚拟仪器是基于计算机的功能化硬件模块和计算机软件构成的电子测试仪器,而软件是虚拟仪器的核心[6][7][8],如图1所示,其中软件的基础部分是设备驱动软件,而这些标准的仪器驱动软件使得系统的开发与仪器的硬件变化无关。这是虚拟仪器最大的优点之一,有了这一点,仪器的开发和换代时间将大大缩短。虚拟仪器中应用程序将可选硬件(如GPIB,VXI,RS-232,DAQ板)和可重复用库函数等软件结合在一起,实现了仪器模块间的通信、定时与触发。源代码库函数为用户构造自己的虚拟仪器(VI)系统提供了基本的软件模块。由于VI的模块化、开放性和灵活性,以及软件是关键的特点,当用户的测试要求变化时可以方便地由用户自己来增减硬、软件模块,或重新配置现有系统以满足新的测试要求。这样,当用户从一个项目转向另一个项目时,就能简单地构造出新的VI系统而不丢失己有的硬件和软件资源。虚拟仪器开发者虚拟仪器软件面板虚拟仪器软件开发平台底层驱动程序硬件模块虚拟仪器开发者操作系统图1虚拟仪器开发框图虚拟仪器技术的优势在于可由用户定义自己的专用仪器系统,且功能灵活,很容易构建,所以应用面极为广泛。虚拟仪器技术十分符合国际上流行的“硬件软件化”的发展趋势,因而常被称作“软件仪器”。它功能强大,可实现示波器、逻辑分析仪、频谱仪、信号发生器等多种普通仪器全部功能,配以专用探头和软件还可5检测特定系统的参数,如汽车发动机参数、汽油标号、炉窑温度、血液脉搏波、心电参数等多种数据;它操作灵活,完全图形化界面,风格简约,符合传统设备的使用习惯,用户不经培训即可迅速掌握操作规程。2.1.3虚拟仪器测试系统的组成虚拟仪器是基于计算机的仪器。计算机和仪器的密切结合是目前仪器发展的一个重要方向。这种结合基本有两种方式,一种是将计算机装入仪器,其典型的例子就是所谓智能化的仪器。随着计算机功能的日益强大以及其体积的日趋缩小,这类仪器功能也越来越强大,目前已经出现含嵌入式系统的仪器。另一种方式是将仪器装入计算机。以通用的计算机硬件及操作系统为依托,实现各种仪器功能,虚拟仪器主要是指这种方式[9]。虚拟仪器的组成与传统仪器一样,主要由数据采集与控制、数据分析和处理、结果显示三部分组成。如图2所示。采集与控制插入式数据采集板GPIB仪器VXI/PXI仪器RS-232仪器数据分析和处理数字信号处理数字滤波统计分析数值分析结果显示网络通信硬盘拷贝输出文件I/O图形用户接口图2虚拟仪器的内部功能的划分对于传统仪器,这三个部分几乎均由硬件完成;对于虚拟仪器,前一部分由硬件构成,后两部分主要由软件实现。与传统仪器相比,虚拟仪器设计日趋模块化、标准化,设计工作量大大减小。通常虚拟仪器测试系统硬件组成部分是由传感器部件、信号调理及信号采集部件(如外置或内置数据采集卡、图形图像采集卡及摄像机及其用于辅助测量并能与计算机通讯的常规仪器等)、通用计算机、打印机等构成。系统软件部分通常用专用的虚拟仪器开发语言(如LabVIEW)编写而成,并可通过Internet实现网络扩展。2.1.4虚拟仪器I/O接口设备I/O接口设备主要用来完成被测输入信号的采集、放大、模数转换。可根据实际情况采用不同的I/O接口硬件设备,如数据采集卡/板(DAQ)、GPIB总线仪器、VXI总线仪器、串口仪器、USB等。这里主要讲数据采集卡。DAQ(DataAcquisition)数据采集卡是指基于计算机标准总线(如ISA、PCI、USB等)的内置功能插卡。其中USB是最新技术的数据采集卡,具有精度高,可携性好等优点,它更加充分地利用计算机的资源,大大增加了测试系统的灵活性和扩展性;利用DAQ卡可方便快速地构建虚拟仪器系统。在性能上,随着A/D转换技术,滤波技术和信号调理技术的发展,DAQ卡的采样速率已达1GB/s,精度高达24位,通道数高达64个,并具有数字I/O,模拟I/O和计数器/定时器等通道。各仪器厂家生产了大量的DAQ卡功能模块供用户选择,如示波器、串行数据分析仪、动态信号分析仪、任意波形发生器等。在计算机上挂接多个DAQ功能模块,配合相应的软件,就可以构成一台具有多功能的测试仪器。这种基于计算机的仪器,既具有高档仪器的测量品质,又能满足测量需求的多样性。对我国大多数用户来说,它具有很高的性能价格比,是一种特别适合我国国情的虚拟仪器方案。2.1.5虚拟仪器的软件结构虚拟仪器技术的核心是软件,其软件基本结构如图3所示。用户可以采用各种编程软件来开发自己所需要的应用软件。以美国NI公司的软件产品LabVIEW和LabWindows/CVI为代表的虚拟仪器专用开发平台是当前6流行的集成化开发工具。这些软件开发平台提供了强大的仪器软面板设计工具和各种数据处理工具,再加上虚拟仪器硬件厂商提供的各种硬件的驱动程序模块,简化了虚拟仪器的设计工作。随着软件技术的迅速发展,软件开发的模块化、复用化,和各种硬件仪器驱动软件的模块化、标准化,虚拟仪器软件开发将变得更加快速、方便。硬件驱动程序数据处理用户界面图3虚拟仪器软件结构2.2虚拟仪器的开发软件2.2.1图形化虚拟仪器开发平台——LabVIEWLabVIEW(LaboratoryVirtualInstrumentEngineering)是一种图形化的编程语言,它广泛地被工业界、学术界和研究实验室所接受,视为一个标准的数据采集和仪器控制软件。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.2.2基于LabVIEW平台的虚拟仪器程序设计所有的LabVIEW应用程序,即虚拟仪器(VI),它包括前面板(FrontPanel)、流程图(BlockDiagram)以及图标/连结器(Icon/Connector)三部分。1)前面板:前面板是图形用户界面,也就是VI的虚拟仪器面板,这一界面上有用户输入和显示输出两类对象,具体表现有开关、旋钮、图形以及其他控制和显示对象。但并非画出两个控件后程序就可以运行,在前面板后还有一个与之对应的流程图。72)流程图:流程图提供VI的图形化源程序。在流程图中对VI编程,以控制和操纵定义在前面板上的输入和输出功能。流程图中包括前面板上的控件连线端子,还有一些前面板上没有,但编程必须有的东西,例如函数、结构和连线等。如果将VI与传统仪器相比较,那么前面板上的控件对应的就是传统仪器上的按钮、显示屏等控件,而流程图上的连线端子相当于传统仪器箱内的硬件电路。在许多情况下,