基于Labview的控制系统设计与仿真.docx
- 文档编号:8967736
- 上传时间:2023-02-02
- 格式:DOCX
- 页数:32
- 大小:613.50KB
基于Labview的控制系统设计与仿真.docx
《基于Labview的控制系统设计与仿真.docx》由会员分享,可在线阅读,更多相关《基于Labview的控制系统设计与仿真.docx(32页珍藏版)》请在冰豆网上搜索。
基于Labview的控制系统设计与仿真
本科生毕业设计(论文)
题目:
基于Labview的控制系统
设计与仿真
姓名:
基于Labview的控制系统设计与仿真
摘要
虚拟仪器是基于计算机的仪器,它是电子测量和计算机测试的先进技术.它具有优秀的分析和强大的数据采集和运算功能,基于Labview平台,虚拟仪器将在控制和仪表领域的研究和应用大大提高.
在控制理论教学和实验过程中,存在着诸多的问题,如设备短缺,单调的教学方法等.因此,可以使用虚拟仪器有效地解决这些问题.本文介绍了基于Labview的控制系统设计与仿真研究,提出并确定实施方案的基于虚拟仪器的控制系统仿真.应用NI公司的Labview2009、控制设计工具包作为软件开发工具,实现了控制系统的建模、分析与设计,这一系列过程可在计算机中仿真.用户可以在控制系统建模、性能分析、PID设计等设计和其他方面做研究.它将提供教学的质量和加快实验领域改革和创新.
本课题基于虚拟仪器技术,应用控制设计仿真模块,实现常见的典型控制系统的仿真.理论分析和算法分析系统的每一个子模块和虚拟仪器程序编写的主要部分.
关键词:
控制系统;仿真;Labview;虚拟仪器技术
ABSTRACT
Virtualinstrumentisacomputer-basedinstrument,itisanadvancedelectronicmeasurementtechnologyandcomputertests.Ithasexcellentanalyticalandpowerfuldatacollectionandcomputingcapabilities,basedonLabviewplatform,virtualinstrumentsandappliedresearchinthefieldofcontrolandinstrumentationgreatlyimproved
Intheprocessofcontroltheoryteachingandexperiment,therearemanyproblems,suchasshortageofequipment,monotonousteachingmethods,etc.Therefore,wecanusethevirtualinstrumenttosolvetheseproblemseffectively.ThispaperintroducesthedesignandsimulationofcontrolsystembasedonLabview,thedeterminationandimplementationplanofcontrolsystemsimulationbasedonvirtualinstrument.TheNICompanyLabviewapplication,controldesignkit2009asasoftwaredevelopmenttool,andimplementsthemodeling,analysisanddesignofthecontrolsystemofthisseriesofprocesscomputersimulation.Theusercancontrolthesystemmodeling,performanceanalysis,PIDdesign,designandotheraspectsoftheresearch.Itwillprovidethequalityofteachingandacceleratetheexperimentalfieldofreformandinnovation.
Thistopicisbasedonvirtualinstrumenttechnology,theapplicationofcontroldesignandsimulationmodule;realizethesimulationoftypicalcontrolsystemofcommon.Eachsub-moduletheoreticalanalysisandalgorithmanalysissystemsandvirtualinstrumentarewritteninthemainpartoftheprogram.
Keywords:
ControlSystem;Simulation;Labview;VirtualInstrumentTechnology
第1章绪论
1.1课题背景
控制理论是众多工科专业普遍开设的一门专业基础课,由于控制理论较抽象、课堂教学手段单一,学生接受起来较为困难.而随着高等教育规模的不断扩大,原有教学仪器设备资源相对短缺,也无法满足实验教学的需要.旧的实验教学模式越来越不适应时代发展的要求,教学和实验的体制和模式的改革势在必行[1].
在控制理论教学中,实验能够使学生加深对所学知识的理解,提高将理论应用于实践的能力,是教学活动中不可缺少的环节,对于培养学生的综合素质和实践技能都至关重要.采用虚拟实验的方式,一方面能够给学生提供更充分的时间和更多的机会来接触和研究所做的实验,打破了传统的实验模式,给学生更多思考和分析时间,培养学生理论联系实际的思维方式;另一方面由于虚拟实验可以为硬件(实验设备)和软件(数据分析)的结合,这样可以激发学生的兴趣来自己设计和改进虚拟实验的程序,给他们更多的自主性,调动创新意识,培养创新能力[2].
本课题是基于虚拟仪器技术,实现常见的典型控制系统的仿真.输入相关参数,即可得出仿真结果;将抽象的、静态的理论知识转化为具体的、动态的演示模型.根据教学需要,将控制理论中常见的、典型的实例利用相关软件工具(如Labview、MATLAB等)实现建模、分析、设计过程的仿真,一方面有利于理论教学工作的开展;另一方面对于实验教学会起到一定的指导作用;此外控制系统的综合设计也将有利于学生综合掌握控制理论,而不是将控制理论看作章节割裂的理论.以上几点对于教学实际具有非常现实的意义.
1.2控制系统仿真的意义
随着计算机仿真理论与技术的发展,目前各个科学与工程领域均已开展了仿真技术的研究.系统仿真是通过对系统模型的实验,研究一个存在或设计中的系统.系统仿真技术已经被公认为是一种新的实验手段,在科学与工程领域发挥着越来越重要的作用[2].
早期的控制系统设计可以由纸笔等工具容易地计算出来.但随着控制理论的迅速发展,只利用纸笔以及计算器等简单的运算工具难以达到预期的效果,加之计算机领域取得了迅速的发展,于是很自然地出现了控制系统的计算机辅助设计方法.控制系统的计算机辅助设计技术的发展目前已达到了相当高的水平,并一直受到控制界的普遍重视.
“控制系统仿真”就是利用计算机研究控制系统性能的一门学问,它依赖于现行《自动控制原理》课程的基础知识,但侧重点不同[3].控制系统仿真更侧重于控制理论问题的计算机求解,可以解决以往控制原理不能解决的问题,使学生或科研工作者将主要精力集中在控制系统理论和方法上,而不是花费在没有太大价值的底层重复性机械劳动上.这样可以对控制系统建模、分析、设计过程有较好的整体了解,避免“只见树木,不见森林”的认识偏差,提高控制器设计的效率和可靠性[4].
1.3控制系统仿真的研究现状
控制系统仿真的研究与计算机仿真理论与技术的发展是密不可分的,国际上控制系统计算机辅助设计软件的发展大致分为几个阶段:
软件包阶段、交互式语言阶段及当前的面向对象的程序环境阶段.其中影响较大、具有代表性的软件有:
瑞典Lund工学院的教授主持开发的一套交互式CACSD软件INTRAC;
日本的古田胜久(KatsuhisaFuruta)教授主持开发的DPACS-F软件
英国Manchester理工大学的控制系统计算机辅助设计软件包
英国剑桥大学推出的线性系统分析与设计软件CLADP
NASALangley研究中心的Armstrong开发的LQ控制器设计的ORACLS
美国Mitchell与GauthierAssociate公司推出的仿真语言ACSL
美国IBM公司开发的仿真语言CSMP
美国学者CleveMoler等人推出的交互式MATLAB语言
TheMathWorks公司推出的图形化的基于框图的Simulink仿真环境
我国较有影响的控制系统仿真与计算机辅助设计成果有:
中科院系统科学研究所韩京清研究员等主持的国家自然科学基金重大项目开发的CADCSC软件;清华大学孙增圻、袁曾任教授的著作和程序;北京化工学院吴重光、沈成林教授的著作和程序,以及中科院沈阳自动化研究所马纪虎研究员主持开发的CSMP-C仿真语言等[5].
在上述软件中,MATLAB语言能反映当今系统仿真领域的最高水平,同时也是最实用的软件.当然,这并不意味着我们在控制系统仿真方面仅仅满足于使用MATLAB语言而不考虑新的可行方案.例如,Labview控制与仿真工具包既可实现控制系统仿真又弥补了MATLAB人机界面设计不方便、无法进行端口操作、不能实现实时监控等不足之处,在一定程度上可以替代MATLAB成为控制系统仿真的有力工具.
1.4本课题研究内容
本课题结合控制理论教学与实验的实际需要,选取控制理论中常见的、典型的实例.应用NI公司的Labview2009、Labview控制设计工具包为软件开发工具,实现控制系统的建模、分析、设计过程的仿真.主要研究内容有以下几个方面:
(1)控制系统仿真方案的选定
提出“基于Labview的控制系统仿真”的可行性方案并对其进行分析、论证,确定最终的实施方案.
(2)控制理论中典型实例选择与理论分析
选取控制理论教学和实验中常见的、典型的实例,完成其理论方面的建模、分析、设计.
(3)控制模型相应的仿真VI设计
在
(2)的基础上,基于Labview2009平台,使用必要的工具包完成建模、分析、设计的相应的VI设计,完成控制系统仿真的主要程序设计.
1.5本章小结
本章介绍了本课题研究的背景、控制系统仿真的意义、控制系统仿真的研究现状和本课题研究的内容.本课题是基于虚拟仪器技术,实现常见的典型控制系统的仿真.输入相关参数,即可得出仿真结果;将抽象的、静态的理论知识转化为具体的、动态的演示模型.
第2章Labview软件介绍
2.1Labview简介
Labview是一种所谓的编程语言,与其他常见的编程语言相比,图形化编程语言是他的最大的特点.常见的编程语言(如C、Java、VB等)都是文本编程语言,它们使用的领域和方法虽然各不相同,但都有一个共同特点:
都是使用字母构成单词,用单词表示数据存储的地址或对数据的各种操作;再由单词构成语句,用语句表示完整的对某个数据的赋值、计算等操作.文本编程语言由指令和语句的先后顺序来判断哪些程序先执行,哪些后执行;但是数据流编程方式是Labview采用的方式,程序的执行顺序由程序框图中节点之间的数据流向来决定,Labview的函数用图标来表示,它的数据流向用连线来表示[6].
Labview平台提供了很多的控件,这与传统仪器(如万用表、示波器)外观相似,可以提供便利为创建用户界面.Labview中,用户界面就是我们常说的前面板,在后端,我们可以使用连线和图表,用户界面上对象通过编程的方式来实现对其的控制,这就是图形化源代码,也可称为G(Graphics)代码,某种程度上而言,G代码和数据流程图是差不多的,所以也被称为程序框图代码,前面板上的控件都与程序框图中每一个对象相对应,控件会根据自己的特性用某种固定的方式来显示出数据当有数据进来的时候,例如图形,数字或开关[7].图2-1和2-2就是一个Labview程序的前面板与程序框图,该例模拟了一个温度采集系统.
图2-1Labview前面板框图
图2-2Labview程序框图举例
Labview程序被称为VI(VirtualInstrument),既虚拟仪器,这是因为它的很多界面控件与操作都模拟了现实世界中的仪器,例如示波器与万用表等.Labview的核心概念就是软件即是仪器,即虚拟仪器概论[8].Labview中提供了大量的函数与工具进行存储与显示、分析和数据采集等.这些工具都是面向用户的工具,我们只需要按照提示去做,参数的设置和仪器的连接就不难实现.但是我们不需要去花时间来记住这些函数,这些函数被集成在Labview的函数面板上并且以图标和名称的形式显示出来.使用时,先在函数面板上面找到需要的函数,再把它拖到程序框图中就完成了.没有图形化的编程语言,这一切就不可能实现.
工业界、研究实验室和学术界广泛地使用Labview这个软件,把它当作一个标准的生产设备控制软件和数据采集软件.Labview提供了ActiveX、TCP/IP等软件的库函数以便于应用,并且提供了数据采集卡通信的所有作用.它还提供了VXI、GPIB和串口通信协议.Labview是一个功能强大并且灵活的软件[9].可以利用Labview便捷地设计虚拟仪器按自己的需要.Labview图形化的界面使得编程及使用过程都生动有趣.
2.2虚拟仪器(VI)
2.2.1虚拟仪器的概念
Labview软件提供了强大的虚拟仪器功能.Labview早期是专为模拟测试测量仪器而设计的,Labview的第一个版本始于1986年.把相关的数据采集卡插在一台计算机上,再配上一段Labview程序,就成了一台可以完成一定的测量功能的虚拟仪器.因此,Labview的源代码文件的后缀名在保存时采用了VI(虚拟仪器VirtualInstrument的首字母缩写)[10].
虚拟仪器指的是为实现各种仪器的功能而依托通用的计算机硬件和操作系统.虚拟仪器是建立在计算机上面的仪器,随着计算机技术的快速发展,虚拟仪器的功能也得到很大的发展.虚拟仪器可以用来完成仿真、控制、测量测试等各种功能,其借助于高性能的模块化硬件和灵活通用的软件.
NI公司提出了虚拟仪器理念的核心思想即“软件即是仪器”概念.被这思想的感染,使用I/O部件、软件和工作站或个人电脑来创建虚拟仪器.I/O部件可以是传感器、数据采集板(DAQ)、模块化仪器或独立仪器.NI提供的虚拟仪器产品有VXI控制产品、数据采集产品、信号处理产品、DSP产品、图像采集产品和软件产品(如Labview)等.
2.2.2虚拟仪器技术的优势
虚拟仪器技术与其他技术比起来具有四个优势[11]:
1.高性能
在PC技术的基础上发展起来的虚拟仪器技术包含了现代PC技术的优点,包含文件I/O和性能强大的处理器,在磁盘高速导入数据的同时可以对数据进行分析.还有,虚拟仪器技术得益于计算机网络的不断发展,其优势正在不断加强.
2.拓展性好
NI硬件和软件工具,使我们不再受到现有技术的限制.感谢NI软件的灵活性,倘若要改进整个系统,只需要少量硬件上面的投入和极少甚至不需要软件上的升级.用户可以把最新的技术集成到现有的测量设备中,这将最终使成本较低,并加快产品上市时间.
3.开发周期短
在应用和驱动两个层面上,NI高效的软件构架能方便地与计算机和虚拟仪器的最新技术结合在一起.为了方便用户的操作就是NI设计这一软件构架的目的.同时提供了强大的功能和灵活性,让用户可以轻松地配置、创建、修改和维护控制和测量解决方案,这个方案拥有高性能和低成本的特点.
4.无缝集成
从本质上来说虚拟仪器是一个集成了软硬件的系统.随着产品功能的不断复杂化,测试需求也不断提高,测试需要的设备也不断增加,而不同设备的连接和集成一般会消耗比较多的时间.NI的虚拟仪器平台定义了标准的接口,所有的设备都是用标准的接口,借助于这一点,可以轻松的把多个测量设备集成到一个系统,使复杂的任务简单化[12].
2.3Labview编程语言的特点
在学术界和工业界中普遍使用Labview作为仪器分析软件、控制软件和开发数据采集系统的标准语言,在工程应用和科学研究领域使用是很理想的.工程师和科学家们利用它种类丰富的函数库可以便捷快速地搭建功能复杂的测控系统.数据流驱动和图形化编程是Labview编程语言最主要的两个特点[13].
2.3.1图形化编程
Labview是一种编程语言,与其他常见的编程语言相比,最大的特点就在于它是一种图形化编程语言.Labview不是唯一的图形化编程语言,却是当今最完善、影响力最大的一种图形化语言.常见的编程语言(如C、Java、VB等)都是文本编程语言,它们使用的领域和方法虽然各不相同,但都有一个共同特点:
都是使用字母构成单词,用单词指定数据存储的地址或对数据的各种操作;再由单词构成语句,用语句表示完整的对某个数据的赋值、计算等操作[14].这几种计算机语言都借鉴了人类的自然语言,尽管他们比自然语言要简略、死板、严格,但是他们的词法、语法等概念和自然语言是一样的.
文本语言它的优点是效率高,用简短的文字就可以表达丰富的含义;它的缺点也很明显:
文本不够直观,也不容易学习.在使用文本语言编程之前,必须花费较多的时间学习并熟记其关键字、数据的表示方法、语法等.
目前,多数高级的编程语言都引进了可视化设计的方式在进行程序界面设计时,或者成为所见即所得的设计方式.编程者就不需要敲入文本得命令,直接使用鼠标就可以调整和选择应用程序的界面,直接看到程序运行时的结果.但是,这样的编程语言仍不能被称为图形的编程语言,他们在设计界面时虽然采用了图形的方式,但程序功能依然通过文本编程来实现.Labview不但在程序界面设计时采用了与其他高级语言类似的图形化方式,更重要的是在编写程序代码、实现程序功能的同时,使用的也是图形化的操作方式[15].打开Labview的程序,由许多条彩色线段连接起来的、各式各样的小图形块而不是逐行的文本.这种全新的编程方式由于图形比文字更为直观,因而Labview比其他编程语言更适合初学者学习.
Labview的编程效率之高也是文本的编程语言所无法比拟的.Labview拥有丰富的工具包,可以为编程者提供其所需的大部分功能,尤其是针对测控、仿真等领域.因此,在Labview的程序中,有时几个非常简单的图形和连线就能够完成文本语言中的几十行甚至上百行代码才能完成的功能.
在Labview软件启动时,将出现一个未命名的前面板窗口.该窗口是VI代码的接口界面,也是组成VI的两种Labview窗口之一.另一个窗口是程序框图,其中包含了各种以图形方式(诸如图标、连线等)表示的程序代码.图形对象组成了前面板和程序框图.前面板提供了了很多指示器和控件(即输出和输入).前面板上的指示器和控件对应于程序框图中包含的端子,程序框图中还提供连线、结构、子VI、函数以及常量.程序的控制元素(比如While循环和For循环)是结构.
如图2-3所示的是一个典型的正在运行的VI实例的前面板,前面板表示的是一个温度采集系统的仿真界面.前面板主要包括菜单项、前面板工具条、控件选项板和工具选项板等,如前面板图中所示的各部分.VI前面板组合了指示器和控件.控件仿真普通仪器上的输入设备类型,如开关和旋钮,并通过一个通道将输入从前面板发送到程序框图.指示器包括字符串指示器、数字、布尔型、图表和图形.
图2-3温度采集系统的前面板
前面板是VI的交互式用户界面,外观和功能都类似于传统仪器面板,用户的输入数据通过前面板传递给框图,计算和分析结果也在前面板上以数字、图形、表格等各种不同方式显示出来.
如图2-4所示的是温度采集系统的仿真前面板对应的程序框图.利用其作为一个Labview的虚拟仪器功能应用的一个简单例子,通过该实例,介绍Labview的虚拟仪器功能.程序框图主要包括菜单项、框图工具条、函数选项板和工具选项板等,如框图中所示的各部分,由框图组成的图形对象共同构成出通常说的程序代码.而此处并不是一般的文本程序代码,而是图形化编程的图标语言.所以Labview的框图(表面上类似于计算机程序流程图)与文本编辑语言中的文本行相对应.事实上,框图是实际的可执行代码,编程时代码及时编译,当出现错误时则立即反馈,例如不兼容的数据类型连线错误.框图是通过将完成特定功能的对象连接在一起构建出来的.框图的组件属于以下三类对象之一:
1.节点(Nodes):
程序执行元素;2.端子(Terminals):
在框图和前面板之间以及框图节点之间数据传输通过的端口;3.连线(Wires):
端子间的数据路径.
图2-4温度采集系统程序框图
图标是VI图形的符号,连接器则用来定义输入和输出的,每一个VI都有图标和连接器.用户要做的工作就是适当地设置参数,并连接各个子VI.用鼠标选取合适的模块、连线和设置参数的过程是编程一般步骤,与烦琐枯燥的文本编程相比更为简单、生动和直观.图2-5所示的是一个子VI的图标和连接器,以及通过连线进行编程的过程.
图2-5虚拟仪器(VI)的图标和连接器
如果拿传统仪器与虚拟仪器做个比较,传统仪器的操作和显示面板就相当于虚拟仪器前面板,提供相关数据的显示和参数的设置,程序框图就像是仪表内部的控制器,对输入的参数进行运算而得到结果并输出,而图标和连接器就相当于控制器的各个元件.这些东西组合在一起,使仪器能够提供用户所需要的功能.
2.3.2数据流驱动
Labview是数据流驱动的编程语言:
数据在数据线上流动,每个节点通过输入端的连线接收到数据,对其进行处理,再把结果传给输出端连线.为了符合数据流的概念,多数情况下Labview函数(或子VI)使用的传递参数方式是值传递:
就仿佛是整个数据在连线上流动,遇到一个节点,便一股脑都传到节点中去.必要时,譬如数据线分叉的时候,数据便生成一个副本,这样就有了两份同样的数据,沿着不同的分支继续传递.
在Labview中选择“高亮显示执行过程”,就可以以动画方式来显示程序框图的执行过程,如图2-6所示,可以观察到数据流驱动的方式.数据用有色的小圆点来表示,在节点间的连线上按照设定的方向移动,图中液罐的体积和底面积的值被传送到除法器运算过后再把结果发送到下一个节点,这就是数据流驱动方式.
图2-6数据流驱动方式
2.4Labview的应用领域
Labview编程语言有很多优点,尤其在某些特定领域,它的优势更加明显[15].
测试测量:
Labview当初本意就是为了测试测量而设计的,因而当前Labview被应用得最广泛的领域就是测试测量.经过多年发展,Labview在测试测量领域获得了广泛的支持.至今,使用Labview可以非常便捷地控制这些硬件设备因为大多数主流的测试仪器、数据采集设备都拥有专门的Labview驱动程序.用户也可以十分方便地找到各种适用于测试测量领域的Labview工具包.同时用户也可以十分方便地控制这些硬件设备[18].这些工具包几乎覆盖了用户所需的所有功能,用户在这些工具包的基础之上再开发程序就容易多了.有时甚至只需要简单地调用工具包中的函数,就可以组成一个完整的测试测量应用程序.
快速开发:
根据统计,完成一个与这功能类似的大型应用软件,熟练的Labview程序员所需的开发时间,大概只是熟练的C程序员所需实践的1/5左右.所以如果项目开发实践紧张,应该优先考虑使用虚拟仪器,以缩短开发时间.
跨平台:
如果同一个程序需要在多个硬件设备之上运行,也可以优先考虑使用Labview.因为Lab
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 Labview 控制系统 设计 仿真