基于MATLAB的自动控制系统响应演示设计_第1页
基于MATLAB的自动控制系统响应演示设计_第2页
基于MATLAB的自动控制系统响应演示设计_第3页
基于MATLAB的自动控制系统响应演示设计_第4页
基于MATLAB的自动控制系统响应演示设计_第5页
已阅读5页,还剩32页未读 继续免费阅读

下载本文档

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

文档简介

1、 摘 要摘 要MATLAB 是一门简单而且很实用的语言,它以其强大的矩阵计算能力和科学计算能力、数据处理与分析能力、灵活多样多变的程序设计流程方式、高质量高效率的图形可视化与GUI用户界面设计、与其它高级语言的便捷快速方便接口功能,成为当今国际上学术界和工业界最具有影响力和最具有有活力的多功能应用计算软件。MATLAB 是矩阵matrix+实验室laboratory前面三个字母缩写组合而成的,其强大快速有效的矩阵运算能力是当今世界上最好的,目前还没有其它语言能够与其相媲美,而矩阵的运算正是图像GUI用户设计的根本所在。文章首先在绪论部分重点介绍了自动控制系统的发展情况和发展趋势,以及各个阶段取

2、得了成果。第二章则是通过建立自动控制系统的数学模型,研究了自动控制系统单位阶跃响应的特性。第三章在自动控制系统的数学模型基础之上,分析了GUI设计的步骤。最后,本文以 MATLAB 提供的图形用户界面(GUI)为平台对自动控制系统GUI图形界面程序仿真系统进行设计,达到了很好的效果。关键字:自动控制系统;MATLAB;图形界面程序;GUI1AbstractAbstractMATLAB is a simple and very practical language, it with its powerful matrix computation ability and scientific co

3、mputing power, data processing and analysis ability, flexible and changeable programming process way, high quality high efficiency of graphical visualization and GUI user interface design, is convenient quickly and easily interface with other high-level language function, become academia and industr

4、y in the world, the most influential and most energetic multifunctional application calculation software.MATLAB matrix matrix + lab in front of the laboratory is a combination of three letter abbreviation, its powerful ability to matrix operations quickly and efficiently is one of the best in the wo

5、rld today, there is no other language can instead of comparable, and matrix calculations is the GUI of users in the image.This paper in the introduction part mainly introduces the development situation and the developing trend of automatic control system, and each stage has achieved results. Secondl

6、y, through the establishment of the mathematical model of the automatic control system, studies the characteristics of the automatic control system for the unit step response. Based on the mathematical model of automatic control system in the third chapter, the steps to design a GUI are analyzed. Fi

7、nally, the article provided in MATLAB graphical user interface (GUI) is a platform of automatic control system for GUI program simulation system design, achieved good results.Keywords: second-order system; MATLAB; graphical user interface; GUI2目 录目 录第一章 绪论11.1 选题依据及研究意义11.2 自动控制理论介绍及发展史11.2.1 经典控制理论

8、发展史21.2.2 现代控制理论发展史21.3 图像用户界面简介21.4 本文结构3第二章 自动控制系统的数学模型与分析42.1 自动控制系统简介42.2 二阶自动控制系统数学模型42.3 二阶自动控制系统动态性能指标72.3.1 欠阻尼自动控制系统动态响应72.3.2 自动控制系统性能指标分析82.3.3 自动控制系统性能指标演示92.4 自动控制系统的MATLAB分析12第三章 MATLAB图形界面设计163.1 MATLAB图形界面简介163.1.1 图形用户界面简介163.1.2 控件对象及属性163.2 自动控制系统GUI设计173.2.1 GUI设计分析173.2.2 GUI用户界

9、面设计18第四章 自动控制系统GUI仿真分析264.1 案例仿真26第五章 总结与展望305.1 全文总结305.2 展望30参考文献31致谢323第一章 绪论1.1 选题依据及研究意义随着当今科学和技术的不断发展以及不断创新,MATLAB这个强大的多功能软件逐渐的迎来了很大的发展空间。MATLAB在控制系统中发挥的作用越来越大,几乎所有的控制系统,只要给出传递函数既可以分析、设计、校正其动态和稳态性能。MATLAB可以分析出系统在给定阶跃函数的情况下,绘制系统的阶跃响应曲线、求取系统开环传递函数的频率特性、绘制系统波特图、绘制系统奈奎斯特图以及分析系统的稳定性等等。同时,随着MATLAB不断

10、的更新,其中给图形用户界面(Graphical User Interface, GUI)程序带来了越来越多的发展的空间,使它的应用领域不断的扩大,从而也促使图形用户界面程序能够得到了更加深入、广泛和迅速的发展。图形用户界面程序以及图像处理将会伴随着未来信息领域技术的发展,更加深入到生产和科研活动中,成为人类生产和生活中必不可少的内容。MATLAB是矩阵(Matrix )+实验室(Laboratory)的前面三个字母大写组合起来的简称,它是美国MathWorks公司于1984年开始更新至今陆续出产的一种用于科学计算和数据处理以及仿真的软件,在各个行业算法的开发、数据结构和数据分析可视化、数据处理

11、以及数值科学计算等都有很高的计算能力与处理能力。MATLAB主要包括simulation(仿真)以及link(链接)两大部分。MATLAB最主要的特点可以概况如下:(1)具有优秀的友好的工作运行平台与程序编写的环境;(2)具有简单易懂且易用的,符合人们思维的程序语言;(3)具有强大的矩阵计算、数据分析与处理以及科学计算功能,同时在各个行业中还有强大的工具箱和仿真模块用于处理和仿真某些学科;(4)具有优秀的图形显示和处理功能;(5)具有多学科应用与开发,包括广泛的各个专业模块集合工具箱simulink;(6)具有与其它程序接口的能力和处理发布平台的能力;(7)具有应用软件的设计和开发能力,与C语

12、言兼容的能力。1.2 自动控制理论介绍及发展史控制论一词Cybernetics,来自希腊语,原意为掌舵术,包含了调节、操纵、管理、指挥、监督等多方面的涵义。因此”控制”这一概念本身即反映了人们对征服自然与外在的渴望,控制理论与技术也自然而然地在人们认识自然与改造自然的历史中发展起来。 根据控制理论的理论基础及所能解决的问题的难易程度,我们把控制理论大体的分为了三个不同的阶段。这种阶段性的发展过程是由简单到复杂、由量变到质变的辩证发展过程。1.2.1 经典控制理论发展史经典控制论阶段(20世纪50年代末期以前)。经典控制理论,是以传递函数为基础,在频率域对单输入-单输入控制系统进行分析与设计的理

13、论。1、控制系统的特点。单输入-单输出系统的,线性定常或非线性系统中的相平面法也只含两个变量的系统。2、控制思路。基于频率域内传递函数的“反馈”和“前馈”控制思想,运用频率特性分析法、根轨迹分析法、描述函数法、相平面法、波波夫法,解决稳定性问题。3、主要成果。PID控制规律的产生,PID控制原理简单易于实现,具有一定的自适应性与鲁棒性,对于无时间延迟的单回路控制系统很有效,在工业过程控制中任然被广泛应用。1.2.2 现代控制理论发展史现代控制论阶段(50年代末期至70年代初期)。现代控制理论,基于时域内的状态空间分析法,着重时间系统最优化控制的研究。1、控制系统的特点。为多输入-多输出系统,系

14、统可以是线性或非线性,定常或时变的,单变量与多变量,连续与离散系统。2、控制思路。基于时域内的状态方程与输出方程对系统内的状态变量进行实施控制,运用极点配置、状态反馈、输出反馈的方法,解决最优化控制、随机控制、自适应控制问题。1.3 图像用户界面简介随着面向对象技术的兴起,图形用户界面设计成为了一种趋势。它不仅可以加快程序的设计工作,还可以减轻设计工作者的负担,基于此,许多带有图形用户界面设计功能的程序设计软件纷纷推出,图形用户界面(GUI)是人与演示机(或程序)之间进行交流互动的重要工具和方法,它主要是以诸如窗口、文本、按钮图标、工具栏以及菜单等图形对象的形式呈现给用户的,给用户提供了一个操

15、作界面,这样,用户就可以用某种方式来选择或者激活图形对象,从而使演示机去执行该图像对象所对应的相关程序,来回应用户的操作。图形用户界面的最大优势在于,用户在使用的过程中无需了解和关心内部程序是如何进行各项指令的,用户只需要掌握图形界面所提供的各种功能的使用方法就可以轻松的与演示机进行交流互动,而且这种交流互动非常的直观和方便。最为重要的是 MATLAB 恰恰为用户设计图形界面提供了一个高效、方便的集成环境。1.4 本文结构第一章绪论主要介绍了自动控制理论的发展史,介绍了不同发展时期主要事件,和MATLAB的产生与发展,介绍了MATLAB中图形界面设计的基本功能。第二章是自动控制系统分析,主要研

16、究了自动控制系统的数学模型,根据数学模型研究了系统的在欠阻尼和过阻尼时的阶跃响应,推导了自动控制系统闭环传递函数、特征根、上升时间、调整时间、超调量、延时时间的解析表达式,为今后更好的研究基于MATLAB软件的关于自动控制系统的研究打下了更加坚实夯厚的基础。第三章主要介绍了MATLAB中GUI的设计思路,根据用户想要达到的目标,在GUI中按照系统给出的工具,结合用户的目标设计一个简单、方便、快捷的用户界面程序,使得操作性增强,效率优化,对于分析自动控制系统提高了效率。第四章主要根据毕业论文的要求,验证了第三章利用MATLAB中GUI设计的用户界面程序的正确性,用户界面程序由2个大图、阻尼系数、

17、自然角频率、按钮模块构成,其中2个大图用于显示自动控制系统的单位阶跃响应和自动控制系统开环频率响应曲线;阻尼系数和自然角频率为可编辑文本,在里面输入相应的阻尼系数和系统角频率,按钮模块是启动演示的模块,系统通过接收用户输入的阻尼系数和无阻尼自然角频率,演示自动控制系统的单位阶跃响应和自动控制系统开环频率响应曲线,分别在2个图中显示。第五章主要是对全文进行了总结以及今后发展的方向。论文最后部分是致谢和参考文献,致谢表达了对有关人士的感谢,参考文献是为了完成本论文而阅读的文献,本文正是在这些文献的基础上才得以完成。第二章 自动控制系统的数学模型与分析2.1 自动控制系统简介自动控制理论发展至今也有

18、大几十年的时间,在这大几十年的时间中,自动控制理论从起初的经典控制理论逐渐发展到现代控制理论,后续随着计算机的发展,再发展到智能控制理论。同时,自动控制理论随着计算机、程序语言、以及现代工业的发展,它拥有者着众多的分支学科和不同的研究发展方向。随着自动化控制技术的不断发展以及在学术和工业界取得的巨大进步,自动控制理论和控制技术广泛在各行各业都有着营养,比如制造业中的电机拖动自动控制、农业中的农机控制技术、医学中的各种检查装置、交通中列车和公路中的交通灯、航空自动控制技术及航天等众多产业部门。一般来说用数学里面的微分方程能够描述的实际系统,称之位自动控制系统,一般为二阶系统,其拉普拉斯变换后最高

19、项的次数为2次,但是由于实际中精确的数学模型大多都为高阶系统,考虑工程应用允许出现一定的误差,一般都能将复杂的高阶系统等效成为二阶系统或是二阶系统的串并联的形式。自动控制系统和控制策略在整个控制系统中的应用可以说是极为的广泛,例如,电路中的RLC并联或串联网络、不考虑电枢电感以及电枢反应影响后的电机、弹簧储能物质质量摩擦缓冲阻尼器所组成的机械系统、扭转弹簧储能系统等等。此外,由于实际中的系统多数都为高阶系统,然而在满足一定条件下,这些高阶系统又可以转成二阶系统,这是这种等效转换和简化,因此,详细的研究和分析二阶控制系统的数学模型和控制特性,不管是在学术界还是在工业界都具有重要深远意义。2.2

20、二阶自动控制系统数学模型图2-1 典型二阶自动控制系统方框图如图2-1所示的是一个典型的二阶自动控制系统框图,同时它也是一个具有单位负反馈的系统,它的闭环传递函数可以表示如下: (2-1)对于二阶自动控制系统来说,为了能够使所研究的关于二阶控制系统的结论具有普遍性和结论性,可以将式(2-1)所示的形式写成经典型形式或标准形式 (2-2)其中式(2-2)所示的经典形式还可以进一步化简为目前一般二阶自动控制系统的闭环传递函数的形式,如式(2-3)所示。 (2-3)图2-1(b)中为所研究的二阶自动控制系统的一般结构示意图,在式(2-3)所示的标准形式中 (2-4) (2-5) (2-6)由式(2-

21、4)(2-6)可见,二阶自动控制系统的动态特性和稳态特性完全可以由二阶自动控制系统阻尼比和二阶自动控制系统自然频率wn (或时间常数)两个参数确定。二阶自动控制系统在一般形式下,其的闭环特征方程可以表示为 (2-7)式(2-7)所示的二阶自动控制系统特征方程的特征根,即二阶自动控制系统的闭环极点可以表示为 (2-8)当二阶自动控制系统的阻尼比较小,即时,那么二阶自动控制系统的特征方程有一对实部为负的共轭复根,表示系统处于s平面的左半平面,系统是稳定的 (2-9)当二阶自动控制系统的单位阶跃响应随着时间的变化具有上下振荡的特性时特性,我们一般称这种情况为欠阻尼状态。当系统阻尼系数时,二阶自动控制

22、系统系统有一对相等的负实根 (2-10)二阶自动控制系统的动态特性和单位阶跃响应则会失去随时间增长上下振荡的动态特性,或者说,二阶自动控制系统处于动态特性的振荡与动态特性不振荡的临界状态,故称为二阶自动控制系统=1时为系统的临界阻尼状态。当二阶自动控制系统阻尼系数比较大,即当时,二阶自动控制系统此时有两个不相等的负实根,可以表示为 (2-11)这时二阶自动控制系统单位阶跃响应,即单位阶跃响应,具有单调的特性,称为二阶自动控制系统的过阻尼状态。当二阶自动控制系统的阻尼系数=0时,二阶自动控制系统此时有一对纯虚根,即s12=jn称二阶自动控制系统的这种状态为无阻尼状态。二阶自动控制系统单位阶跃响应

23、为等幅振荡,其震荡的幅值取决于二阶自动控制系统的初始条件,而震荡的频率则取决于二阶自动控制系统自身结构与参数。综合以上述各种情况,在MATLAB中进行了仿真研究,相应的单位阶跃响应如图2-2所示。图2-2 不同阻尼系数时二阶自动控制系统单位阶跃响应曲线2.3 二阶自动控制系统动态性能指标2.3.1 欠阻尼自动控制系统动态响应在众多二阶自动控制系统中,欠阻尼的二阶自动控制系统在日常生活中和科学研究中是最为常见的。由于二阶自动控制系统的特征方程具有两个实部为负的共轭复根,经过拉普拉斯变换分析之后,可以发现二阶自动控制系统的单位阶跃响应经过起升后会呈现衰减振荡的特性,故又称二阶自动控制系统为振荡环节

24、。当二阶自动控制系统的阻尼比01时,二阶自动控制系统闭环特征方程的两个共轭复根可以用式(2-12)表示如下 (2-12)式(2-12)中自然频率。当输入信号为单位阶跃函数时,输出的拉氏变换式由式(2-3)可得 (2-13)式(2-13)还可以化为 (2-14)对上式(2-14)所示的闭环传递函数进行拉普拉斯反变换分析,得欠阻尼二阶自动控制系统的单位阶跃响应可以由式(2-15)表示为 (2-15)将式(2-15)简化,可得 (2-16) 式中或由式(2-16)可见,二阶自动控制系统系统的单位阶跃响应由是有系统的稳态分量与瞬态(暂态)分量两部分共同组成,由于单位阶跃信号的幅值为1,二阶自动控制系统

25、的稳态分量值也等于单位阶跃信号的幅值1,然后二阶自动控制系统的瞬态分量是一个随着时间t的增长呈现衰减状态的振荡过程,二阶自动控制系统的振荡角频率为d,它的大小取决于系统阻尼比和二阶自动控制系统无阻尼自然频率n。图2-3所示为二阶自动控制系统在不同欠阻尼情况下的单位阶跃响应动态特性。图2-3 欠阻尼下不同阻尼系统二阶自动控制系统单位阶跃响应曲线2.3.2 自动控制系统性能指标分析由图2-3分析可知道,二阶自动控制系统阻尼比越大,单位阶跃响应的超调量越小,单位阶跃响应的振荡越弱,则二阶自动控制系统的动态特性平稳性越好。反之,二阶自动控制系统阻尼比越小,则阶跃响应动态响应过程振荡越强烈,系统动态特性

26、平稳性越差。当二阶自动控制系统阻尼系数比时,二阶系统的单位阶跃响应不出现峰值超调,即,二阶自动控制系统的单位阶跃响应单调地趋于稳态值。当二阶自动控制系统阻尼系数比时,二阶自动控制系统的单位阶跃响应幅值可以表示为 ,此时二阶自动控制系统的调节时间最小,超调量为,若按5%的误差带考虑,可认为。当二阶自动控制系统阻尼系数比时, 超调量会随着二阶自动控制系统阻尼系数比的减小而逐渐增大,二阶自动控制系统单位阶跃响应的过渡过程的峰值以及调节时间也同样会随二阶自动控制系统阻尼系数减小而增大。当二阶自动控制系统的阻尼比系数时,此时有, 那么表示二阶自动控制系统的特征方程具有一对纯虚根,二阶自动控制系统单位阶跃

27、响应的特性方程可以由式(2-16)表示为 (2-17)显然,这时二阶自动控制系统的单位响应具有无阻尼自然频率的等幅振荡,震荡的幅值大小与激发信号有关也与系统自身参数有关,称此时这种状态为无阻尼振荡状态。此外,当二阶自动控制系统的阻尼比系数过大时,二阶自动控制系统的单位阶跃响应会滞缓,系统的稳态调节时间ts会逐渐变成很长,自动控制系统的快速性也会随着变差;反之,二阶自动控制系统的阻尼系数过小时,虽然二阶系统的单位阶跃响应的起始速度会随着二阶自动控制系统的阻尼系数减小而较快,但是二阶自动控制系统的振荡会逐渐变得强烈,单位阶跃响应的暂态分量衰减得很缓慢,从而导致二阶自动控制系统的调节时间ts变成长,

28、那么二阶系统的动态特性的快速性则会变成差。由图3-12所示的二阶自动控制系统单位阶跃响应可见,对于5%的误差带,当二阶自动控制系统阻尼比系数=0.707,系统的调节时间较短短,即系统的动态响应快速性较好,此时系统的超调量,即系统动态响应的平稳性也较好,综合考虑系统的动态响应特性和超调量,所以把二阶自动控制系统的阻尼比=0.707时称之为系统的最佳阻尼比,在设计控制系统时可以将其设计为0.707。2.3.3 自动控制系统性能指标演示1)二阶自动控制系统单位阶跃响应的延迟时间:根据延时时间的定义,令式(2-16)所示的表达式等于0.5,即=0.5,那么整理后可得 (2-18)于是可以采用利用曲线拟

29、合二阶自动控制系统的响应的方法,那么可得二阶自动控制系统延迟时间的近似表达式可以表示为式(2-19) (2-19)或 (2-20)2)二阶自动控制系统阶跃响应的上升时间:根据阶跃响应上升时间的定义,令式(2-16)所示的表达式等于1,即 ,那么化简后可以得到 (2-21)因为,所以 (2-22)则有 (2-23) (2-24)因为 (2-25)所以 (2-26)从上面一些公式显然可以知道,当二阶自动控制系统阻尼比系数不变时,那么角也不变。如果二阶自动控制系统无阻尼振荡频增大,即增大了二阶自动控制系统闭环极点到频率坐标原点的长度距离,从而会导致二阶自动控制系统单位阶跃响应的上升时间就会进一步缩短

30、,必然导致二阶自动控制系统具有较好较快的动态响应速度;如果二阶自动控制系统阻尼比越小,就会升高,二阶自动控制系统单位阶跃响应的上升时间就会越短。3)二阶自动控制系统单位阶跃响应的峰值时间:将式(2-16)所示的表达式对时间进行求导,将得到的导数方程等于零,于是可以得到二阶自动控制系统单位阶跃响应的峰值时间推导过程为 (2-27)将上式整理得 (2-28)则有, , 。根据二阶自动控制系统单位阶跃响应的峰值时间,是指越过稳态值之后下降到达单位阶跃响应曲线上面第一个峰值点所需要的时间值,根据原理,那么应该应取。因此二阶自动控制系统单位阶跃响应的峰值时间可以用公式为式(2-29) 或 (2-29)上

31、式表明,二阶自动控制系统单位阶跃响应的峰值时间等于单位阶跃响应阻尼振荡周期一半。当二阶自动控制系统阻尼比不变时,二阶系统特征方程的闭环极点离实轴的距离是越远的,那么二级自动控制系统的峰值时间则会越短。4)二阶自动控制系统单位阶跃响应的超调量:将二阶自动控制系统单位阶跃响应的峰值时间式(2-29)后再代入式(2-16)中,得二阶自动控制系统单位阶跃响应输出量的最大值 (2-30)因为,代入上式,则 (2-31)根据二阶自动控制系统单位阶跃响应超调量的定义式,并在单位阶跃响应的条件下,经过推导计算,我们可以得到 (2-32)显然,二阶系统的超调量仅与阻尼比有关,与自然频率的大小无关。图2-4表示了

32、二阶自动控制系统单位阶跃响应的超调量与二阶自动控制系统的阻尼比系数的关系曲线,通常设计阻尼比为0.707。图2-4 不同阻尼系统与超调量之间的关系5)二阶自动控制系统单位阶跃响应的调节时间: 为了准确求取二阶自动控制系统单位阶跃响应调节时间的表达式是相当困难的。一般在自动控制系统的初步分析和初步设计中,工程上经常采用的是近似的方法。对于欠阻尼的二阶自动控制系统的单位阶跃响应来说,指数曲线是阶跃响应衰减振荡的上下二条包络线,因此,二阶控制系统的单位阶跃响应一定是包含在这上和下二条包络线之内的。由此可见,二阶控制系统的单位阶跃响应的实际响应收敛速度肯定是比包络线的收敛速度还要快,根据以上分析,于是

33、可以采指数曲线当着用包络线的方法来代替二阶控制系统的单位阶跃响应实际响应曲线来估算调节时间是可靠的。根据上述的分析,当二阶控制系统的阻尼系数时,工程应用中经常采用下列两个近似的公式来表示二阶控制系统的单位阶跃响应调节时间。 取5%误差带 (2-33)或 取2%误差带 (2-34)2.4 自动控制系统的MATLAB分析MATLAB是一个功能强大的仿真分析软件,在控制系统中也有很好的应用,如图2-6为典型的自动控制系统框图。图2-5 典型自动控制系统框图图2-5中K为开环传递函数的增益,不妨假设K=1,=0.707,n=314下同。通过手工演示出来的闭环传递函数为 (2-35)将K=1,=0.70

34、7,n=314代入式(2-35)可以得到 (2-35)在MATLAB中输入如下图2-7所示的命令,也可以得到式(2-35)图2-7 MATLAB演示开环闭环传递函数同理,利用MATLAB自带的函数bode可以演示出开环状态下,自动控制系统的开环频率响应,命令执行顺序如下图2-8所示,MATLAB绘制的开环频率响应为图2-9。图2-8 绘制开环频率响应命令图2-9 MATLAB绘制的自动控制系统开环频率响应曲线利用MATLAB自带的step函数可以简单的绘制自动控制系统单位阶跃响应曲线,其具体命令和绘制的阶跃响应曲线见下图2-10和图2-11。图2-10 MATLAB阶跃响应命令图2-11 MA

35、TLAB绘制的自动控制系统单位阶跃响应曲线第三章 MATLAB图形界面设计3.1 MATLAB图形界面简介3.1.1 图形用户界面简介图形用户界面GUI(Graphical User Interfaces)是MATLAB中自带的一种用于用户和演示机两种之间进行信息互动和交流的工具箱和活动方式。GUI是由各种特定或自定义的图形对象组成的综合集合。于是,在这种总和结合的用户开发界面下,为了实现某种功能,用户可以不再使用命令代码,而是通过鼠标等电脑可识别的输入设备,将需要的各种图形经过鼠标拖入GUI设计界面中来完成对象的相应功能。软件开发者不需要编写负载的程序代码,而是只需在由专门的软件开发工具,比

36、如使用MATLAB完成某个系统的自动演示,这些工具都能自动生成相应功能的程序代码,并将这些程序代码添加到自己的设计运算中,就可以很轻松的完成相应应用程序的设计。不完全统计下,现今有90%以上的应用程序设计和软件设计过程都是在GUI环境下进行设计运行完成的。MATLAB环境中为用户提供了两种相关的GUI图形界面控件的创建模式。第一种是命令代码编程方式制作,第二种是基于图形目标的创建方式进行相应有效制作。本文主要介绍第二种基于图形界面向导的方式进行用户界面设计。3.1.2 控件对象及属性1) MATLAB图形界面的GUI控件对象类型(The mode of controller object)MA

37、TLAB中的控件对象是某个或者某些事件响应的用户图形界面对象。为了实现某种功能,当需要某种事件在某个特定的环境下发生时,MATLAB内部的应用程序就需要能够做出相应响应同时并且能有效的执行事先某些预定设计的的功能子程序,这部分称之为(Callback). MATLAB中的GUI设计界面为用户提供的常用基本控件可以概括如下:a)按钮(Push Buttons):执行某种事先设定预定的点击功能或点击操作;b)双位开关按钮(Toggle Button):顾名思义,它相当于一个开关,从而可以有效的产生一个动作,一个状态对应一种形式,那么可以对应一个二进制状态。当鼠标对这个双位开关按钮进行点击时,双位开

38、关按钮将下陷,同时并执行callback中事先输入的命令代码,当再次点击双位开关按钮时,此时按钮将会复原,那么再次执行callback 中事先输入的命令代码; c)单选框(Radio Button):MATLAB总的GUI单个单选框是用来在不同的两种状态之间切换需要用到的模块,他们可以组成一个集合,即可以用多个单选框经过相应的操作从而组成一个具有集合功能的单选框组,但是某个时刻用户只能在一组状态中来选择某个单一的状态,因此称之为单选项;d)复选框(Check Boxes):MATLAB中的单个的复选框是用来在两种状态不同的状态之间进行切换而设计的,同理,我们可以将多个复选框进行综合从而组成一个

39、具有多功能的复选框组,那么从而有效的使用户能够在一组状态中进行组合来选择相应的组合式的选择,因此称为多选项;e)文本编辑器(Editable Texts):这部分在你本文中也得到了相应的应用,用来使用键盘输入相应的需要的字符串的值,可以有效的对编辑框中的内容进行多次编辑、删除和替换等操作; f)静态文本框(Static Texts):仅仅用于显示单行的说明文字;g)滚动条(Slider):可输入指定范围的数量值;h)控件边框(Frames):在图形窗口圈出一块区域;i)列表框(List Boxes):在其中定义一系列可供选择的字符串;j)弹出式菜单(Popup):让用户从一列菜单项中选择一项作

40、为参数输入;k)坐标轴(Axes): 用于显示图形和图象。2)控件对象的描述(Description of controller object)。MATLAB中的控件大致可分为两种,一种为动作控件,鼠标点击这些控件时会产生相应的响应。一种为静态控件,是一种不产生响应的控件,如文本框等。每种控件都有一些可以设置的参数,用于表现控件的外形、功能及效果,既属性。属性由两部分组成:属性名和属性值,它们必须是成对出现的。控制对象的属性包括公共属性、基本控制属性、修饰控制属性、辅助属性和callback管理属性。3)控件对象的属性(Attributes of controller object)。用户可以

41、在创建控件对象时,设定其属性值,未指定时将使用系统缺省值。两大类控件对象属性:第一类是所有控件对象都具有的公共属性,第二类是控件对象作为图形对象所具有的属性。3.2 自动控制系统GUI设计3.2.1 GUI设计分析GUI设计包括图形界面的设计和功能设计两个方面。其一般步骤如下:1)分析界面所要实现的主要功能,明确设计任务;2)在稿纸上绘制界面草图,优化草图;3)按设计草图上机制作静态界面;4)编写界面动态功能的程序。本文需要设计的GUI,其基本要求如下。在MATLAB下开发一个图形用户界面程序,以典型的自动控制系统为例,来演示自动控制系统在不同参数下的的阶跃响应,并判断系统的稳定性,绘制不同参

42、数下的根轨迹,不同参数下系统开环频率特性的绘制。分析本论文的要求,可以得到如下信息。1)需要设计的系统是一个典型的自动控制系统,由于MATLAB分析这种系统功能完善,采用MATLAB中GUI的向导设计比较合理;2)需要演示不同参数时的动态特性。一个典型的自动控制系统。其参数有两个。一个是阻尼比,另一个是无阻尼震荡角频率n。通过本文以前的分析。可以知道。系统的动态特性和稳态特性与这两个参数有关。3)需要绘制阶跃响应和开环频率特性。这里一共有2个要求。从GUI中看,需要有2个图像来演示上述要求。综合1)3)可知,MATLAB中GUI草图需要两个可编辑文本框用于输入阻尼比和无阻尼自然震荡角频率、2个

43、图形窗口用于显示2个要求、两个静态文本框用于提示输入阻尼比和无阻尼自然震荡角频率以及一个按钮启动演示仿真分析。3.2.2 GUI用户界面设计在本文中已经分析了自动控制系统的动态特性和MATLAB图形用户界面设计的步骤,接下来是具体的GUI设计。首先,启动MATLAB,得到如下图3-1所示的界面。图3-1 启动MATLAB界面在MATLAB界面左上角有一个File下来菜单,点击File可以出现New,我们选择New菜单,如图3-2所示。然后可以看到GUI模块,点击GUI可以出现图3-2和3-3所示的GUI设计向导。图3-2 启动MATLAB图形用户界面设计图3-3 GUI设计向导一般情况下,我们

44、都是选择第一个Blank GUI(Default),单击ok,出现图3-4所示的GUI设计界面。图3-4 GUI设计界面在前面已经分析,MATLAB中GUI草图需要两个可编辑文本框用于输入阻尼比和无阻尼自然震荡角频率、2个图形窗口用于显示2个要求、两个静态文本框用于提示输入阻尼比和无阻尼自然震荡角频率以及一个按钮启动演示仿真分析。我们需要选择的工具向导控件如图3-5图3-8所示。图3-5 波形显示窗口控件图3-6 可编辑文本显示控件图3-7 静态文本显示控件图3-8 按钮启动演示口控件将上述控件拖至右边的方框中,最后可以得到如图3-9所示的界面。图3-9 GUI设计草图接下来是需要对每个控件的

45、属性进行设置。首先是对Push Bottom控件进行设置。设计控件显示为“演示”,大小为16,界面为蓝色,其中最重要的Tag设置为“yan_shi”字符串。如图3-10所示。图3-10 Push Bottom属性设置设置静态文本字体大小为14,提示字符串为“自动控制系统的阻尼比”和“自动控制系统的自然震荡频率”,由于此文本不需要Callback函数,因此可不比设置Tag。可编辑文本框字体设置大小14,Tag分别为“zunibi”和“jiaopinlv”。对图形控件的设置如下:axes1:字体大小为20,Tag为“step_response”,这个部分用于显示自动控制系统的单位阶跃响应曲线,其余

46、的设置为默认。axes2:字体大小为20,Tag为“bode_response”,这个部分用于显示自动控制系统的开环频率响应曲线,其余的设置为默认。设置后的自动控制系统演示GUI界面变为图3-11所示的样子。图3-11 GUI设置后的界面GUI设置到这里,准备工作基本完成,接下来是要产生我们需要的用户界面,于是需要激活GUI用户界面,我们可以点击界面最上面的按钮,图3-12所示为激活GUI用户界面的按钮,点击后,MATLAB提示保存当前窗口,我们将其命名为erjie_system,于是MATLAB自动生成一个名为zidongxitong.m的m文件和zidongxitong.fig的图形,图形

47、的样子与GUI设计向导里面的一摸一样,只是没有了控件,如图3-13所示。图3-12 GUI激活按钮图3-13 GUI激活后的界面基于MATLAB自动控制系统演示设计到目前为止,只有回调函数Callback没有填写了,我们这里只有演示按钮控件需要填写回调函数,其它的都不需要填写回调函数,但是在这里需要利用各个控件的Tag获取该控件的句柄。1)获取阻尼比和无阻尼自然角频率的数值在Push Bottom演示按钮中的回调函数(function Push_Bottom_Callback(hObject, eventdata, handles)中填写如下指令获取阻尼比和无阻尼自然角频率的数值。delta=

48、str2double(get(handles.zunibi,String); %获取阻尼比命令w=str2double(get(handles.jiaopinlv,String); %获取无阻尼自然角频率的命令2)自动控制系统闭环传递函数求取获取了上面两个参数之后,就是求取系统的闭环传递函数,其命令为chuandihanshu=tf(w2,1 2*delta*w w2);3)图形窗口句柄的获取为了在图形窗口中显示想要的图形,需要对各个图形窗口进行获取其句柄,其命令为axes(handles.step_response);4)目标功能的实现获取了各个图形窗口的句柄之后就是对该窗口进行相应的操作,可以绘制自动控制系统的单位阶跃响应和系统的开环频率响应特性。其具体命令如下所示。axes(handles.step_response);step(chuandihanshu);title(自动控制系统单位阶跃响应)grid on axes(handles.wendingxing);claaxes(handles.bode_response);bode(tf(w2,1 2*delta*w);title(自动控制系统开环频率响应特性)grid on第四章 自动控制系统GUI仿真分析4.1 案例仿

温馨提示

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

评论

0/150

提交评论