基于LabVIEW的温度控制系统设计.doc
桂林电子科技大学毕业设计(论文)报告用纸 第 31 页 共 50页引言随着微电子技术、计算机技术、软件技术、网络技术和现代测量技术的迅速发展,一种新型的先进仪器-虚拟仪器成为当前系统研究的热点。虚拟仪器的出现开辟了仪器技术的新纪元,它是多门技术与计算机技术结合的产物,其基本思想逐步代替仪器完成某些功能,如数据的采集、分析、显示和存储等,最终达到取代传统电子仪器的目的.虚拟仪器通过软件开发平台将计算机硬件资源与仪器硬件有机地融为一体,把计算机强大的数据处理能力和仪器硬件的测量、控制能力结合在一起,通过软件实现对数据的显示、存储及分析处理,并通过交互式图形界面实现系统控制和显示测量数据,并使用框图模块指定各种功能.采用集成电路温度传感器和虚拟仪器方便地构建一个测温系统,且外围电路简单,易于实现,便于系统硬件维护、功能扩展和软件升级。 本设计利用LabVIEW作为语言开发平台,设计了一个温度控制系统,并利用计算机串口与下位机串行通讯,能实现温度的实时测量与控制。1 绪论现代计算机技术和信息技术的迅猛发展,冲击着国民经济的各个领域,也引起了测量仪器和测试技术的巨大变革。人们曾为测量仪器从模拟化、数字化到智能化的进步而欣喜,也为自动测试技术的日新月异的发展所鼓舞,当今虚拟仪器技术的出现又使得测量仪器进步入了高科技的殿堂。 与传统的仪器不同,虚拟仪器(virtual instrument)是基于计算机和标准总线技术的模块化系统,通常它是由控制模块、仪器模块和软件组成,在虚拟仪器中软件是至关重要的,仪器的功能都要通过它来实现,因此软件是虚拟仪器的核心,“软件就是仪器",从本质上反映了虚拟仪器的特征。 从构成方式上讲,虚拟仪器可分为四大类:GPIB体系结构、PC-DAQ体系结构、VXI体系结构和PXI体系结构。 GPIB体系结构是通过GPIB总线将具有GPIB接口的计算机和仪器集成的测试系统。其优点是用户可以充分利用自己的计算机和仪器资源,且组建方便灵活、操作简单,曾是国际流行的自动测试系统。当今,在VXI为主的体系结构中,有时也采用GPIB作为辅助,这样可以充分利用本单位仪器资源,或称补VXI仪器模块的不足。 VXI体系结构综合了。pib和vem总线的优点,它集成的系统硬件集成度高、数据传输率快、便携性好,是当今倍受业界关注的体系结构。 PXI体系结构是以PCI总线为基础的体系结构,由于其总线吞吐率高、硬件的价格较低被业内人士认为是符合国情的一种体系结构。 虚拟仪器应用程序的开发环境主要有两种=一种是基于传统的文本语言的软件开发环境,常用的有lab windows/cvi、.visual basidc=vc+等:一种是基于图形化语言的软件开发环境,常用的有LabVIEW和hp vee。其中图形化软件开发系统是用工程人员所熟悉的术语和图形化符号代替常规的文本语言编程,界面友好,操作简便,可大大缩短系统开发周期,深受专业人员的青睐. 1.1 课题背景 随着世界经济的发展,工业的迅速扩张,政府和企业家们花在设备上的投入越来越多,这笔巨大的开销,极大地限制了企业的资金,从而制约着企业的发展。而虚拟仪器技术凭借着其开发容易、开发成本低、开发周期短等明显的优点,渐渐地在工业测控领域崭露头角。它的出现使企业家们看到了降低成本的希望.本设计将就虚拟仪器怎样用在工业测控中进行一番简单的探讨。1.2虚拟仪器简介随着微电子技术、计算机技术、软件技术、网络技术和现代测量技术的迅速发展,一种新型的先进仪器-虚拟仪器成为当前系统研究的热点。虚拟仪器通过软件开发平台将计算机硬件资源与仪器硬件有机地融为一体,把计算机强大的数据处理能力和仪器硬件的测量、控制能力结合在一起,通过软件实现对数据的显示、存储及分析处理。在对大规模、集成化、智能化及数字电子仪器需求愈加迫切的形势下,计算机技术、仪器技术和通信技术相结合,产生了具有里程碑意义的新一代仪器-虚拟仪器。虚拟仪器的出现开辟了仪器技术的新纪元,它是多门技术与计算机技术结合的产物,其基本思想逐步代替仪器完成某些功能,如数据的采集、分析、显示和存储等,最终达到取代传统电子仪器的目的.虚拟仪器是计算机硬件资源、仪器硬件、数据分析处理、软件、通信软件极图形用户界面的又效结合,具有传统仪器所具备的信号采集、信号处理分析、信号输出等功能。其基本构成包括计算机、虚拟仪器软件、硬件接口和测试仪器等。虚拟仪器有以下优点:(1)利用了计算机丰富的软件资源。实现了部分仪器硬件的软件化,节省了物质资源,增加了系统的灵活性。通过软件技术和相应数值算法,实时直接地对测试数据进行各种分析与处理。图形用户界面(GUI)技术的应用,真正的做到界面友好、人机交互.(2)基于计算机网络技术和接口技术.虚拟仪器具有方便、灵活的互联能力(Connectivity),广泛支持诸如CAN、Field Bus、PROFIBUS等各种工业总线标准。因此,利用虚拟仪器技术可方便地构建自动测试系统,实现测量、控制过程的网络化。(3)基于计算机的开放式标准体系结构。虚拟仪器的硬、软件具有开放性、模块化、可重复使用及互换性等特点,用户可根据自己上的需要,选用不同厂家的标准接口产品,使仪器的开发更为高效,缩短仪器组建、开发时间。(4)具有很强的灵活性。虚拟仪器的功能由用户自己定义,这意味着可自由的组合计算机平台、硬件、软件以及各种实现应用系统所需要的附件.这种灵活性在由供应商定义、功能固定、独立的传统仪器是达不到的.从传统仪器的转变,为用户带来了更多的实际利益。上述虚拟仪器的特点不仅推进了仪器为基础的界面系统改造,同时也影响了以虚拟仪器为主的图形构造方法的进化.过去独立分散、互不相干的许多领域,虚拟仪器通过软件开发平台将计算机硬件资源与仪器硬件有机地融为一体,把计算机强大的数据处理能力和仪器硬件的测量、控制能力结合在一起,通过软件实现对数据的显示、存储及分析处理.虚拟仪器的出现是仪器发展史上的一场革命,代表着仪器发展的最新方向和潮流,是信息技术的一个重要领域,必将对科学技术的发展和工业生产产生不可估量的影响.1.2.1虚拟仪器的概念、发展传统仪器一般是一台独立的装置,从外观上看,它是一般由操作面板、信号输入端口、检测结果输出这几个部分组成.操作面板上一般有一些开关、按钮、旋钮等。检测结果的输出方式有数字显示、指针式表头显示、图形显示及打印输出等。从功能方面分析,传统仪器可分为信号的采集与控制、信号的分析与处理、结果的表达与输出这几个部分.传统仪器的功能都是通过硬件电路或固化软件实现的,而且由仪器生产厂家给定,其功能和规模一般都是固定的,用户无法随意改变其结构和功能。传统仪器大都是一个封闭的系统,与其它设备的连接受到限制。另外,传统仪器价格昂贵,技术更新慢,开发费用高。随着计算机技术、微电子技术和大规模集成电路技术的发展,出现了数字化仪器和智能仪器。尽管如此,传统仪器还是没有摆脱独立使用和受同操作的模式,在较为复杂的应用场合或测试参加较多的情况下,使用起来就不太方便.这三方面的原因,使传统仪器很难事业信息时代对仪器的需求。那么如何解决这个问题呢?可以设想,在必要的数据采集硬件和通用计算机支持下,通过软件来实现仪器的部分或全部功能,这就是设计虚拟仪器的核心思想。所谓虚拟仪器,就是在通用的计算机平台上定义和设计仪器的功能,用户操作计算机的同时就是在使用一台专门的电子仪器.虚拟仪器以计算机为核心,充分利用计算机强大的图形界面和数据处理能力,提供对测量数据的分析和显示功能.虚拟仪器技术给用户一个充分发挥自己的才能、想象力的空间。用户可以随心所欲地根据自己的需求,设计自己的仪器系统,满足多种多样的用户需求。表 2。1 为传统仪器与虚拟仪器的比较一览表。虚拟仪器作为一种新型的仪器种类,具有以下特点:(1)强调“软件即仪器”的概念,软件充当了仪器中相当重要的且以往由硬件充当的角色.(2)打破了传统仪器小而全的现状,可以将信号的分析、显示、存储、打印和其它管理利用计算机来完成。(3)便于工作和管理,虚拟仪器技术是仪器的设计和管理统一到虚拟仪器的标准,使得仪器管理规范,使用简便,维护费用低。(4)仪器自定义,科研和工程人员自己设计自己的仪器。由于虚拟仪器的开放性,用户可以方便地修改测试方案,构成各种专用仪器。仪器的开发周期短,升级容易,节省了硬件开发和生产的费用.(5)便于组成自动测试系统。虚拟仪器充分利用计算机技术,可以对测试方案进行编程;而且数据的远程传输、数据在软件之间的交换等,都使系统组建变得灵活;计算机的存储、打印和网络化等功能也进一步增进了虚拟仪器的功能。电子仪器发展至今,大体可分为四代:模拟仪器、数字仪器、智能仪器和虚拟仪器。第一代模拟仪器第一代模拟仪器如指针式万用表、晶体管电压表等,它们的基本结构是电磁机械式的,借助指针来显示最终结果。第二代数字化仪器数字化仪器目前相当普及,如数字电压表等.这类仪器将模拟信号的测量转化为数字信号的测量,并以数字方式输出最终结果,实用于快速响应和较高准确度的测量。第三代智能要求智能仪器内置微处理器,既能进行自动测试,又具有一定的数据处理,可取代部分脑力劳动,习惯上称为智能仪器.它的功能块全部都是以硬件的形式存在,无论是开发还是应用,都缺乏灵活性。第四代虚拟仪器虚拟仪器是现代计算机教技术和测量技术相结合的产物,是传统仪器观念的一次巨大变革,是将来虚拟产业发展的一个重要方向。从1988年开始,陆续有虚拟仪器产品面市.此后,虚拟仪器产品的陆续飞速增加。1.2。2虚拟仪器的工作原理虚拟仪器以透明的方式把计算与传统仪器一样.虚拟仪器同样划分为数据采集与控制、数据分析与处理、结果表达三大功机资源和仪器硬件的测试能力结合起来,实现了仪器功能的运作.虚拟仪器的功能模块如图所示。虚拟仪器用各种图标或控件来虚拟传统仪器面板上的各种器件。由各种开关图标实现仪器电源的通断;由各种按钮图标来设置被测信号的“放大倍数”、“通道”等参数;由各种显示控件以数值或波形的方式显示测量或分析结果;由计算机的鼠标和键盘操作来模拟传统仪器面板上的实际操作;以对图形化软件流程图的编程来实现各种信号测量和数据分析功能。PCDAQ采集器网络传输信号处理串口仪器磁盘复制数字滤波GPIB仪器文件I/O统计VXI仪器图形用户接口分析PXI仪器图1。1 虚拟仪器的功能模块1.2.3虚拟仪器与传统仪器的比较传统仪器和虚拟仪器的比较传统仪器虚拟仪器仪器厂商定义用户自己定义硬件是关键软件是关键仪器的功能、规模均已固定系统功能和规模可通过软件修改和增减封闭的系统,与其它设备连接受限制基于计算机的开放系统,可方便地同外设、网络及其它相应设备连接价格昂贵价格低,可重复利用技术更新慢技术更新快开发和维护费用高软件结构可大大节省开发和维护费用多为实验室拥有个人可拥有一个实验室1。3 图形化编程语言LabVIEW的简介LabVIEW(laboratory virtual instrument engineering workbench)是一种图形化的编程语言和开发环境,它广泛地被工业界、学术界和研究实验室所接收,被公认为是标准的数据采集和仪器控制软件。LabVIEW不仅提供了与遵从GPIB,VXI,RS-232和RS-485协议的硬件及数据采集卡通信的全部功能,还布置了支持TCP/IP,ActiveX等软件标准的库函数,而且图形化的编程界面使编程过程变得生动有趣。LabVIEW是一个功能强大且灵活的软件,利用他可以方便的建立自己的虚拟仪器。以LabVIEW为代表的图形化编程语言,又称为“G”语言。使用这种语编程时,基本上不需要编写程序代码,而是“绘制”程序流程图。LabVIEW尽可能利用工程技术人员所熟悉的术语、图标和概念,因而它是一种面向最终用户的开发工具,可以增强工程人员构建自己的科学和工程系统的能力,提供了实现仪器编程和数据采集系统的便捷途径.使用它进行原理研究、设计、测试并实现仪器系统时,可以大大提高工作效率。利用LabVIEW,可产生独立运行的可执行文件。LabVIEW是真正的32位编译器。像其他软件一样,LabVIEW提供了Windows,UNIX,Linux和Macintosh等多种版本。1。4 论文各章节的安排 在本论文中,作者将先在第二章中介绍一下本设计中所使用的一些基本原理和器件的一些知识,然后提出自己的软硬件设计方案的思路。然后在第三章介绍LabVIEW的一些编程的基本知识。在第四章中,将讨论LabVIEW的仪器控制和驱动.在第五章和第六章中,将分别就自己的硬软件设计方案提出论述。最后将谈一下自己的系统制作和调试过程中的一些问题和解决方法.1。5 本论文任务(1)设计一个由微控制器控制的温度采集装置,使其能够准确地采集环境温度。(2)通过某种通信协议,将采集到的温度送往上位机进行显示和处理。(3)用LabVIEW编写上位机的程序,使其能够接受下位机发送来的温度信息数据,并作出处理想,同时显示在PC屏幕上。(4)使用LabVIEW编写PID控制程序,能实现对温度的比较准确的控制。(5)使用LabVIEW编写模糊控制程序,能实现对温度的控制.图1.2 上位机界面图1.2 硬件实物图2 温度控制设计方案本设计采用LabVIEW和AVR单片机组成系统的主要模块。由下位机把单线式温度传感器DS18B20测量到的温度,通过串口发送到的由LabVIEW构建的上位机去。然后在上位机中进行处理和显示,通过PID或者模糊算法,计算出要输出的控制量,再由串口将数据发送到下位机,交由下位机处理。下位机根据一定的关系,输出一定的信号来控制固态继电器的通断。固态继电器的交流端就会因为通断而控制水泥电阻工作与否,以此达到控制温度的目的。2。1 硬件及软件的选择2.1。1硬件的选择系统的硬件设计主要分为四个部分:主控部分、DS18B20测温部分、通信部分、程序下载部分。在下位机控制器上,由于需要采用PWM技术对加热装置进行控制,而传统的51系列单片由于其内部并不具有专门的PWM模块,当从上位机发送控制数据时,就必须采取中断才能执行这个过程.由于AVR系列单片机内部均有现成的PWM模块,可以在进行采集温度的同时,进行PWM控制。所以,本设计选择Atmel公司生产的ATMega16八位高性能微处理器.AVR单片机是1997年由ATMEL公司研发出的增强型内置Flash的RISC(Reduced Instruction Set CPU) 精简指令集高速8位单片机。AVR的单片机可以广泛应用于计算机外部设备、工业实时控制、仪器仪表、通讯设备、家用电器等各个领域,它与51单片机、PIC单片机相比具有一系列的优点:(1)在相同的系统时钟下AVR运行速度最快;(2) 芯片内部的Flsah、EEPROM、SRAM容量较大;(3)所有型号的Flash、EEPROM都可以反复烧写、全部支持在线编程烧写(ISP);(4)多种频率的内部RC振荡器、上电自动复位、看门狗、启动延时等功能,零外围电路也可以工作;(5)每个IO口都可以以推换驱动的方式输出高、低电平,驱动能力强;(6)内部资源丰富,一般都集成AD、DA模数器、PWM、SPI、USART、TWI、I2C通信口、丰富的中断源等.目前支持AVR单片机编译器的语言主要有汇编语言、C语言、BASIC语言等。其中C编译器主要有CodeVisionAVR、AVRGCC、IAR、ICCAVR等,C语言编译器由于它具有功能强大、 运用灵活、代码小、运行速度快等先天性的优点,使得它在专业程序设计上具有不可代替的地位。测温部分,本设计采用美国DALLAS公司生产的一线式温度传感器DS18B20。数字式温度传感器DS18B20是美国DALLAS公司推出的一种可组网数字式温度传感器,采用1wire总线接口,测温范围为55-+125,精度可达0067 5,最大转换时间为200ms 。DS18B20能够直接读取被测物体的温度值,体积小,电压适用范围宽(3V5V),用户还可以通过编程实现9-12位的温度读数,即具有可调的温度分辨率。DS18B20与单片机的接口简单,只需将信号线与单片机的一位双向端口相连即可。系统中DS18B20采用外接电源方式,VDD端用3V55V电源供电.由于其测温分辨率较高(12位),因此对时序及电特性参数要求较高,必须严格按照时序要求操作.其数据的读写是由主机读写特定时间片来完成的,包括初始化、读时间片和写时间片。DS18B20的主要特征: 全数字温度转换及输出。 先进的单总线数据通信。 最高12位分辨率,精度可达土0.5摄氏度。12位分辨率时的最大工作周期为750毫秒。 可选择寄生工作方式。 检测温度范围为55°C +125°C (67°F +257°F) 内置EEPROM,限温报警功能。DS18B20引脚功能:·GND 电压地·DQ 单数据总线·VDD 电源电压图2。1 DS18B20功率控制部分,本设计采用无锡天豪公司生产的GTJ24-2A固态继电器.GTJ242A系列产品用于可编程序控制,各种自动化控制装置及计算机输出控制接口等;用于各种需双路控制的场合。其电气参数为:输入控制电压3-14VDC(自动限流),关断电压1。2VDC,开启电流5mA,控制电流25mA,工作电压24-240VAC。该固态继电器为过零型继电器,在电流过零时导通,过零时关断。相对于随机型的固态继电器,使用过零型的固态继电器可以使本设计比较方便地控制固态继电器中双向晶闸管的导通周期数,从而控制加热元件的工作时间。通信部分,由于温度变化并不是一个很快的过程,所以并不需要很高的数据采集和发送速度。而且,计算机的各种通信方式中,尤以串口通信方式最为简单,因此本设计采用传统的RS232串口通信。由于单片机的工作电平TTL电平,它要与计算机上的串口进行通信,就必须转换成相应的计算机串口电平,也就是RS-232电平.在本设计中采用美国MAXIM公司生产的MAX232进行电平转换。2.1。2软件的选择软件选择包括下位机程序的编译软件和上位机的编程软件。下位机的编译软件,通常有ICCAVR、WinAVR(也就是通常所说的GCC)、IAR AVR、CodeVision AVR、ATman AVR,在这里使用ICC AVR和AVR Studio的组合。这是因为市面上(大陆)的教科书使用ICC AVR作为例程的较多,集成代码生成向导,虽然它的各方面性能均不是特别突出,但使用较为方便;而AVR Studio集软硬件仿真、调试、下载编程于一体,有效弥补了ICC AVR仿真能力的不足,同时还可以有效地对程序进行调试。上位机方面,本设计采用目前NI最新的LabVIEW 8。6进行编程。结合上NI为工业控制而开发的PID和模糊逻辑控制包,可以轻松地实现PID或模糊控制。2.2 硬件及软件设计方案2.2.1硬件设计方案下图给出系统硬件组成框图,由计算机、单片机、测温电路及温度控制电路组成。该系统集计算机、强大的图形化编程软件和模块化硬件于一体,建立灵活且以计算机为基础的测量及控制方案,构建出满足需要的系统。利用传感器获取温度信号,再由单片机组成的小系统对温度信号进行采集、处理和转换,然后通过RS232串口将数据送给计算机并通过计算机运行的LabVIEW程序来分析处理输入数据最终由计算机显示结果。同时,通过计算机串口采样输入信号,利用LabVIEW中的PID控制算法,求出系统输出信号的大小,再由串口将输出信号传输至外部温度控制电路,以实现温度控制。温度测控对象温度控制电路温度测量电路单片机计算机图2.2 系统组成框图2.2。2软件设计方案(1)PID控制在自动控制中,一个系统的运行要求能够满足给定的性能指标,具有抗干扰能力和稳定性。对于被控制的对象,其本身的物理结构和工作过程是一定的,在给定信号作用时,对象的输出并不一定能满足系统的性能要求,所以需要加入一个控制器。控制器与被控对象以闭环的形式构成系统,以帮助整个系统的输出满足给定的性能指标,而控制器运用的控制规律多种多样。PID(Proportional Integral Derivative比例微分积分)控制是控制工程中技术成熟,应用广泛的一种控制策略,它经过长期工程实践,已形成了一套完整的控制方法和典型的结构。PID控制器结构简单、稳定性好、工作可靠、调整方便。当被控对象的结构和参数不能完全被掌握,或得不到精确的数学模型时,控制理论的其它技术难以采用,系统控制器的结构和参数必须依靠经验和现场调试来确定,这时应用PID控制技术最为方便.因此当不能完全了解一个系统和被控对象,或不能通过有效的测量手段来获得系统参数时,就是PID的用武之地。PID控制器执行机构被控对象测量装置期望值输出反馈图2。3 PID控制系统PID顾名思义,就是根据系统误差利用比例,微分,积分计算出控制量进行控制。比例,积分,微分这三个环节又相互独立,有各自不同的作用,在现场也可以根据实际情况来选择使用.P控制(比例控制)如果控制器的输出仅仅与误差成正比关系,即u(t)=Kp(t),便构成了一个比例控制器,可见比例控制器实际上是一个增益可调的放大器.比例控制器通过改变比例放大系数Kp调节输出,对误差的反应很快,但是其输出与期望值之间总是存在一个稳态误差,必须使用手动复位来消除,在实际运用中很不方便。提高Kp值可以增加系统的开环增益,使稳态误差减小,还能够增加系统的快速性;但容易使系统的稳定程度变差,振荡变多。而当Kp值小时,又会使系统动作变得缓慢,所以校正系统很少单独使用P控制。Kp误差图2。4 比例控制I控制(积分控制)由于P控制存在稳态误差需要手动复位,人们发现可以通过引入一个积分项来消除稳态误差。积分控制器的输出与误差信号的积分成正比,即,所以PI控制器的输出有:积分项对误差进行积分,随着时间的增加积分项增大,只要误差还存在,就会不断输出。这样,即便误差很小,积分项也会随着时间的增加而加大,推动控制器的输出增大使稳态误差进一步减小,直到等于零,以达到消除稳态误差的目的。因此,PI控制器,可以使系统在进入稳态后无稳态误差.但是对时间的积分必将影响系统的快速动态性能,对于一些系统会出现超调过大的现象,严重的甚至引起系统崩溃。D控制(微分控制)积分控制的动态性能不好,而微分项恰好可以弥补这点.微分控制器的输出和误差信号的微分成正比,即,所以PD控制器的输出有:微分作用反映的是误差信号的变化率,所以对系统控制具有预见性,能预见误差的变化趋势,因此能产生超前的控制作用.甚至在误差形成之前,可能已被微分调节作用消除。所以如果微分时间选择合适,可以减少超调和系统调节时间,使系统的动态性能大大提高.微分控制在实际运用中经常用来抵消积分控制产生的不稳定趋势,但因其反应的是误差的变化率,所以仅对动态过程作用,通常不单独使用。而且微分控制对噪声干扰有放大作用,过强地调节微分项对系统抗干扰能力不利。PID控制 PID控制即比例控制、积分控制、微分控制的组合,综合了3种控制器的优点。实际运用中,有时也不需要用到全部的三个部分,只有比例控制单元是必不可少的。对于PID控制器,输出为:PID控制实际就是根据经验,对Kp,Ti,Td这3个参数进行整定,以得到合适的输出值对系统进行控制。具体如何整定,根据不同的现场有所不同。目前PID不仅应用广泛,发展也很快,已研究出很多对这3个参数进行自整定的智能控制器。在和计算机这样的数字控制器结合后,还出现了数字PID的设计方法,不过具体原理还是遵循于传统。(2)模糊控制 模糊控制是以模糊集合论、模糊语言变量和模糊逻辑推理为基础的一种计算机数字控制。通常是一类缺乏精确数学模型的被控过程,采用模糊集合的理论,总结人们对系统的操作和控制经验。用模糊条件语句写出控制规律,再用算法语言来编写程序,按此程序对生产过程进行自动控制。模糊控制同常规的控制方案相比,主要特点有:模糊控制只要求掌握现场操作人员或有关专家的经验、知识或操作数据, 不需要建立过程的数学模型,所以适用于不易获得精确数学模型的被控过程,或其结构参数不很清楚等场合。模糊控制是一种语言变量控制器,其控制规律只用语言变量的形式定性地表达,不用传递函数与状态方程,只要对人们的控制经验加以总结,进而从中提炼出规则,直接给出语言变量,再应用推理方程进行观察与控制。系统的鲁棒性强,尤其适用于时变、非线性、时延系统的控制。从不同的观点出发,可以设计不同的目标函数,其语言控制规则分别是独立的,但是整个系统的设计可得到总体的协调控制。 模糊控制的理论基础是模糊集合理论,模糊集合是一种介于严格变量与定性间的数学表达形式,例如变量的数值分为正大(PL)、正中(PM)、正小(PS)、零(O)、负小(NS)、负中(NM)、负大(NB)等。其中P=Posive,B=Big,M=Medium,S=Small,O=Zero,N=Negative.模糊集合理论的核心是对复杂的系统或过程建立一种语言分析的数学模式,提供一个严格的数学框架,使日常生活中的自然语言能直接转化为计算机所能接受的算法语言。 模糊集合理论的一个基本概念是 函数或称隶属度。它表示某一个元素与模糊子集的关系(即隶属度),并用或表示.所有隶属度均满足下列要求,即,表示隶属于;,则表示不属于。模糊子集可表示成其中的U为论域(指被考虑过程的所有元素的全体)。式中的“+”号表示列举,并不是加号;作用每项中的分式也不表示相除,分母表示元素名称,分子表示该元素的隶属度。 模糊子集不仅可用隶属度来描述,也可用模糊向量(即隶属度向量)来表示,即 下图为模糊控制系统原理框图。模糊控制器执行机构被控对象测量装置期望值输出图2.5 模糊控制系统3 LabVIEW集成开发环境使用LabVIEW开发平台编制的程序称为虚拟仪器程序,简称为VI.设计程序主要是在以下两个窗口中进行的: 前面板设计窗口(Front Panel):它是与用户直接接触的图形用户界面,即VI的虚拟仪器面板。 后面板编辑窗口(Block Diagram):它是用户为完成特定功能而编写的程序,即VI的图形化源代码。3。1 LabVIEW前台显示面板 程序前面板是图形用户界面,这一界面上有用户输入控制和输出显示两类对象,用于模拟真实仪表的前面板。控制和显示是用各种各样的图标形式出现在前面板,具体表现为旋钮、开关、图形、图标以及其他的控制(Control)和显示(Indicator)对象等,这使得用户界面更加直观易懂。3.2 LabVIEW后台控制面板 后面板即是程序编辑窗口。流程图提供VI的图形化源程序,可以理解为传统程序的源代码。在流程图中队VI进行编程,以实现程序的输入和输出功能流程图由端口、节点、图框和连线构成。 LabVIEW有三类端口:前面板对象端口、全局变量与局部变量端口和常量端口。对象端口被用来与程序前面板上的控制件或显示件传递数据;常量端口只能在程序中作为数据流起点;全局变量和局部变量端口是LabVIEW用力啊传递数据的工具.节点类似于文本语言的函数或子程序,LabVIEW有两种节点类型:功能函数节点或子VI节点,二者的区别在于功能函数节点是LabVIEW本身提供给用户使用的,不可以对它进行修改;子VI则是用户可以进入并根据实际需要对其加以修改。图框被用来实现结构化控制命令,例如循环控制、顺序控制以及条件分支等;此外还有MATLAB脚本、HiQ脚本以及调用C语言编程的CIN节点等。连线用于代表程序执行过程中的数据流,它类似于文本程序的变量,数据是单向流动的。这些都是编程必须有的东西.3。3LabVIEW程序执行流程宏观上讲,LabVIEW的运行机制已经不是传统上的冯·诺依曼式计算机体系结构的执行方式了。传统计算机语言(如C语言)中的顺序执行结构在LabVIEW中被并行机制所代替。而且,对于那些数学和逻辑运算过程较复杂的程序,用花可以选择使用VC或者Matlab等开发工具将数学分析和处理过程编写为专用的动态链接库,LabVIEW提供了专门的接口函数可以调用之。这样,可以结合图形语言和文本语言各自优点,更为灵活、高效、易用。3.4 LabVIEW中的仪器控制和驱动虚拟仪器是仪器的未来,但在工作台上还有很多非虚拟仪器,毫无疑问需要用LabVIEW控制他们.对仪器的驱动是虚拟仪器实现对真实物理信号采集的基础,当仪器驱动后,才能由软件进行数据的分析处理进而实现某种测温功能,并求取测量结果。并且,有时使用外部仪器也是可以的。3。4。1仪器驱动的概念仪器驱动也称为仪器驱动器模式完成对某一特定仪器控制与通信的软件程序集,也可以认为是仪器的软件描述,它是应用程序实现仪器控制的桥梁。每个仪器模块都有自己的仪器驱动器,厂商将仪器驱动以源代码提供给用户。由于虚拟仪器需要提供模拟实际仪器操作面板的虚拟面板,因此虚拟仪器驱动器不仅是实施仪器控制的程控代码,还是仪器程控代码、高级软件编程与先进人机交互三者相结合的产物,是一个包含实际仪器使用和操作信息的软件模块。上层是一系列按工程分组的主/副软面板,软面板又由一些按键、旋钮、表头等控件组合而成,每个控件对应不同的功能,及其程控代码相异。底层部分则基于一组I/O函数和测试接口,实时模式下,测试人员对软面板上控件的操作将直接反映到真实仪器上.和用户直接打交道的部分是操作接口,及虚拟软面板和面板上的控件。 应用软件建立在仪器驱动程序之上,直接面对操作用户,通过提供友好直观的测控操作界面、丰富的数据分析和处理功能,来完成自动测试任务。仪器驱动程序模块负责处理与某一专门设备通信和控制的具体过程,通过封装复杂的仪器编程细节,为用户使用仪器提供简单的函数接口,用户不必对各种仪器硬件有专门的了解,就可以通过仪器驱动程序来使用这些仪器硬件。一般由仪器厂商以动态链接库的形式提供给用户。当需要更换新的仪器硬件时,只需要更新相应的驱动程序,并保证它对上层的接口保持不变,新的硬件就能在原系统中正常运行。3。4。2常用的仪器通信方式GPIB:通用接口总线(General Purpose Interface Bus)。有时候成为HP-IB(Hewlett-Packard Interface Bus)和IEEE 488。2总线(Institute of Electronic Engineer standard 488.2),它几乎是任何仪器与计算机通信的世界标准。IVI:可交换虚拟仪器(Interchangeable Virtual Instrument)。可以与许多不同的仪器协调工作的仪器驱动程序(用来控制外部仪器的软件)标准。 LXI:LAN在仪器领域的扩展(LAN eXtension for Instrumentation)。LXI协会给予工业标准以太网技术,为小型和中型系统提供模块化、灵活性和性能的仪器平台建议标准. RS232:232号推荐标准(Recommended Standard #232).美国仪器协会为串行通信提出的建议标准。可以与术语“串行通信"互换使用,尽管串行通信一般指的是一次传输一位.也许还会看到其他一些标准如RS-485、RS-422和RS-432.SCPI:可编程仪器标准命令(Standard Commands for Programmable Instrumentation).SCPI协会的一个建议标准,该标准使用简单、直观的ASCII命令为仪器通信制定了结构和语法。USB:通用串行总线(Universal Serial Bus),大多数PC与外部设备互联的标准总线。VISA:虚拟仪器标准体系结构(Virtual Instrument Standard Architecture),NI公司研发的一种驱动软件体系结构。其目的是尽量统一一起软件标准,不论仪器使用GPIB、PXI、VXI,还是串行接口(RS-232/422/485)。3.4.3 LabVIEW支持的GPIB、VXI、标准串口I/O仪器的驱动 通常LabVIEW有两张安装光盘,其中一张就是设备驱动盘,它包含了一个仪器驱动库,该库为NI生产的各种程控仪器(GPIB仪器、VXI仪器和串行仪器等)提供仪器驱动程序,例如HP34401A数字万用表的仪器驱动程序。仪器驱动程序在功能模块Instrument I/OInstrument Drivers子模板中。对于非NI公司生产的上述I/O接口仪器设备,可用Instrument I/O子模板上提供的VISA图标来进行驱动。利用这些仪器驱动器,用户可以很容易地控制各种仪器,并将主要精力放在仪器功能的实现上,而不必关心具体的编程细节,这一点是LabVIEW强大功能的体现。3。4。4 VISA简介VISA是NI公司发布的为统一软件标准的驱动软件体系结构。它是与驱动软件通信的LabVIEW 仪器驱动VI 中的底层函数。 VISA 本身不提供仪器编程功能. VISA 是一个调用低层驱动程序的高层API. VISA 能够控制VXI、GPIB、串口或者基于计算机的仪器,并能根据所用仪器的类型来调用合适的驱动程序。下表给出了本系统用到的几个通信模块的基本属性的描述. VI名称 VI功能 VISA Configure Serial Port 初始化VISA resource name指定的串口通讯参数 VISA Write 将输出缓冲区中的数据发送到VISA resource name指定的串口 VISA Read 将VISA resource name指定的串口接收缓冲区中的数据读取指定字节数的数据到计算机内存中 VISA Serial Break 向VISA resource name指定的串口发送一个暂停信号 VISA Bytes at Serial Port 查询VISA resource name指定的串口接收缓冲区中的数据字节数 VISA Close 结束与VISA resource name指定的串口资源之间的会话 VISA Set I/O Buffer Size 设置VISA resource name指定的串口的输入输出缓冲区大小 VISA Flush I/O Buffer 清空VISA resource name指定的串口的输入输出缓冲区3。5本章小结本章先介绍了LabVIEW软件编程的前后面板、执行机理,然后就其与外部仪器通信使用的GPIB、串口、以太网接口硬件方面做了简单的说明.同时学习了如何使用Instrument I/O Assistant Express VI快速与仪器通信,以及如何使用仪器通信函数的VISA框架.这些都是LabVIEW中与仪器通信需要用到的工具。有了VISA,用户可以使用LabVIEW与多种连接类型的众多仪器进行通信,如GPIB、以太网、TCP/IP、串口、USB等。4LabVIEW PID