基于GUI的自动控制系统基本性能分析(共38页).doc
《基于GUI的自动控制系统基本性能分析(共38页).doc》由会员分享,可在线阅读,更多相关《基于GUI的自动控制系统基本性能分析(共38页).doc(38页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、精选优质文档-倾情为你奉上毕业设计(论文)设计(论文)题目基于GUI的自动控制系统基本性能分析专心-专注-专业目 录摘 要自动控制系统就是在无人直接操作或干预的条件下,通过控制装置使控制对象自动的按照给定的规律运行,使被控量按照给定的规律去变化的系统。在现代工业生产中,自动控制系统已经遍布每一个角落,对于线性时不变系统,可以通过时域、频域分析法来分析系统的性能,但是对于多输入多输出的控制系统,时域、频域分析已经无能为力,鉴于这样的控制系统,可以通过线性系统的状态空间分析法来分析。本文针对自动控制系统的设计很大程度上还依赖于实际系统的反复实验,结合具体的实例,介绍了利用先进的 Matlab 软件
2、对自动控制系统进行时域、频域分析和线性系统状态空间分析的方法,通过快速直观的仿真和分析达到自动控制系统的优化,并利用GUI实现。Matlab GUI是一种包含多种对象的图形窗口,利用GUI能进行可视化界面的设计并对实例进行仿真。 关 键 词Matlab 、GUI、自动控制系统、时域 、频域 、状态空间。 Abstract Automatic control system makes object operate according to a certain law automatically to let the controlled quantity change by given law
3、on the condition that nobody operate and control directly.Automatic control system exists every corner of the world in the modern industrialized production,which can analyze the performance of the system by time domain and frequency domain for the linear time-invariant control systems. However, to t
4、he system with multiple inputs and multiple outputs,the way to analyze through time domain and frequency domain can not do anything. Due to the control system, it can analyze through linear system state space.Due to this point that the design of automatic control system largely depends on repeated p
5、ractice and modification, combined with the concrete example, this paper introduces the way to analyze and simulate the time domain and frequency domain and linear system state space of automatic control system by advanced Matlab,it can reach the optimal of automatic control system by direct and fas
6、t with GUI.GUI is a kind of graphical window with several objects. GUIDE has provided a flexible and efficient integrated environment. Key wordsMatlab、GUI、Automatic control system、Time domain、Frequency domain、State space. 一、绪论(一)、课题研究的目的和意义在学习自动控制系统的过程中发现,当需要建立数学模型、绘制根轨迹、波特图、尼克尔斯和奈奎斯特曲线等都需要大量繁琐的计算才能
7、计算和绘制相应的图,从而在MATLAB中对自动控制系统进行研究分析就是有必要的,它省去了大量繁琐的计算。在学习MATLAB过程中了解到它具有强大的数学应用功能,MATLAB 的GUI是图形用户界面,可以通过设置用户界面调用内部函数,从而进行计算。图形用户界面非常直观的让使用者知道如何进行操作,使应用变得简单。本课题的目的是通过设计GUI界面,利用MATLAB对线性系统进行研究分析,从而使线性系统的分析研究变得简单,省去了大量的计算,在所设计的GUI应用界面中就可以得到67。(二)、自动控制系统概述 在现代社会生产过程中,为了提高产品的质量,需要对生产设备和生产过程进行自动控制,使被控的量按照期
8、望的规律去变化。这些被控的设备称为控制对象,被控制的量称为被控量或输出量。 自动控制系统是在无人直接参与的情况下,可使生产过程按照期望的运行规律去运行的控制系统。系统是完成要求和任务的部分的组合。(三) 、MATLAB简介及GUI图形用户界面的应用概述MATLAB程序设计语言是Math Works公司于20世纪80年代推出的高性能的数值矩阵计算软件。其功能强大,适用范围广泛,提供了丰富的库函数,编程简单、易懂、效率高。MATLAB无论作为科学研究与工程运算的工具,还是作为控制系统方阵的教学工具,都是必不可少的。MATLAB主要由以下三个部分组成1117:MATLAB图形处理系统这是MATLAB
9、图形系统的基础,它包括生成二维数据和三维数据可视化、图像处理、动画及演示图形和创建完整的图形用户接口的命令。MATLAB数学函数库MATLAB提供了非常丰富的数学计算函数,可以进行简单和复杂的数学计算,比如矩阵求逆、级数求和和快速傅里叶变换等。MATLAB应用程序接口MATLAB用户能够在MATLAB环境中使用其它程序,也可从MATLAB中调用其它程序。GUI是提供人机交互的工具和方法。GUI是包含图形对象,如窗口、图标、菜单和文本的用户界面。以某种方式选择或激活这些对象,通常引起动作或发生变化。单击鼠标,标志着对象的选择或其他动作。一个设计优秀的GUI能够非常直观地让用户知道如何操作MATL
10、AB界面,了解设计者开发意图。令人兴奋的事,对于绝大多数使用GUI的计算机用户都知道如何去应用GUIDE的标准控件,这也为GUI设计提供了广阔的前景。MATLAB的GUI为开发者提供了一个不脱离MATLAB的开发环境,有助于MATLAB程序的集成19。由于MATLAB的工程计算、仿真能力使得越来愈多的用户从原先的开发环境转到MATLAB上来。MATLAB提供了一个简便的开发环境,可以让研究者很快的上手,让研究者更加专注于更需要的其他地方,提高研究者的效率7。二、基于GUI的线性控制系统分析设计原则(一)、GUI的设计原则MATLAB图形用户界面开发环境提供了一系列创建用户图形界面(GUI)的工
11、具极大的简化了GUI设计和生成的过程。 MATLAB设计GUI其实并不是很复杂的,主要设计4个方面的内有:添加组件、编辑菜单、设置属性和回调函数。 使用图形用户界面主要为了达到以下目的:(1)编写一个需多次反复使用的使用函数,菜单、按钮、文本框作为输入方法具有意义。(2)编写函数或开发应用程序供别人使用。(3)创建一个过程、技术或分析方法的交互式实例。为了实现这一目的,一个优良的图形用户界面有以下特性:(1)可使用性;(2)灵活性;(3)复杂性和可靠性719。(二) 、GUI的创建2.1 建立GUI的主要方式 本设计直接通过MATLAB的GUI编辑界面-GUIDE来建立GUI。GUIDE是一个
12、专用于GUI程序设计的快速开发环境,使用者通过鼠标就能迅速的产生各种GUI控件,从而帮助用户方便地设计各种符合要求的图形用户界面。由于这种方法比较直观、而且用这种方式建立的GUI在M文件的管理上也比较方便,如果日后要修改部分程序代码,可以快速且容易地找到修改的部分内容,因此本文采用该方式完成界面设计。2.2 通过GUIDE设计GUI的三个主要阶段 通过MATLAB的GUI编辑界面GUIDE来设计一个完整的GUI界面,包括以下三个主要阶段: (1)图形界面设计初步规划阶段。该阶段的主要设计任务是明确该图形界面设计的任务,从而确定所需要的控件类型及个数,菜单中将包含的命令等。 (2)图形用户界面的
13、结构设计阶段。该阶段的主要工作是利用设计向导构造整个图形界面的布局,合理设计菜单、按排控件位置等,并进行必要的属性设置。 (3)图形用户界面的功能设计阶段。该阶段的主要工作是为了菜单、控制编写回调函数的程序代码,具体实现界面的各种互动功能。 一个GUI应用软件的实现,最终是要通过对控件对象的操作来完成,而这些操作必定是通过MATLABE中函数代码的执行来实现。函数代码的编制即可以通过编写回调函数完成,而后在编写时可以把该控件的函数代码直接写在callback中;也可以把函数代码放在一个自动以的M文件中,而后在callback中只将其文件名写上。2.3 控件及其常用属性设置本设计是基于MATLA
14、B7.0开发设计的。使用GUI创建图形用户界面时,在打开的空白模板中GUI提供了用户界面控件及其设计工具来实现用户界面的创建。打开的GUI编辑界面如图2-3所示,它由设计向导、GUI控件和用户界面编辑窗口三部分组成。图2-3 GUI 设计窗口GUI对话框控件如下:1 按钮(Push Button)2 双位按钮(Toggle Button)3 单选按钮(Radio Button)4 列表框(List box)5 静态文本(Static Text)6 编辑框(Edit Box)7 弹出框(Popup Menu)8 边框(Frame)9 滑动条(Slider)10.复选框(Check Box)控件常
15、用的属性有; String属性:该属性的取值是字符串。它定义控件对象的说明文字,如按钮上的说明文字及单选按钮或复选按钮后面的说明文字等。FontSize属性:该属性的取值是数值,它定义控件对象标题等字体的字号。字号单位由FontUnits属性定义。默认值与系统有关。Tag属性:该属性的取值是字符串。允许用户建立起在对话框控件对象被选中后的响应命令。Callback属性:该属性的取值是字符串,可以是某个M文件名或一组MATLAB命令。在该菜单项被选中以后,MATLAB将自动调用此回调函数来作出对相应菜单项的响应。MATLAB中的控件属性很多,控件的功能及其它属性,会随着实际应用中遇到的问题不同而
16、变化,因此要设置哪些对象的属性,哪些对象的属性不用设置,都需做具体问题具体分析2。三、 基于GUI的线性控制系统基本性能分析设计实现(一)、 线性控制系统基本性能分析的主界面设计 本课题对线性系统进行研究分析了三个方面其中包括线性系统的时域、频域分析、状态空间分析。在GUI的设计时本文相应地设计了三个模块对线性系统进行研究分析,如图3-1所示的三个按钮。打开主页面弹出下图:图3-1 主界面 点击4个button按钮分别连接线性控制系统的时域分析、频域分析、线性系统的状态空间分析及运行结束的相关内容。1.1、在GUI的主界面创建打开图片文件菜单(1)步骤:在MATLAB的命令窗口口中运行guid
17、e命令,再打开guide界面; 选择空模板,点击OK,即可打开guide的设计界面; 点击工具栏上的菜单编辑器,打开菜单编辑器,在Menu Bar中新建一个菜单项,名字为“文件”,并设置其响应。 在“文件”菜单下添加菜单项:“打开”。 保存我的界面为untitled1.fig,保存完毕之后,会自动打开untitled1.m文件,而我们所有的程序都是要写在这个M文件里。在编辑中,我们的每一个鼠标动作都对应一个Callback函数。那么我们的菜单项也是如此。在界面上,单击鼠标右键选择“Property Inspector”,即可打开属性窗口。当我们点击不同的空间时,其对应的属性都会在这里显示,可以
18、进行修改,最主要的属性莫过于Tag属性和String属性。(2) 下面我们来写打开菜单项的函数,要打开一个图片,先打开对话框。在界面编辑中,打开对话框的函数时候uigetfile。关于它的详细说明用help uigetfile命令查看。下面是打开菜单的响应函数:function a_file_open_Callback(hObject, eventdata, handles)% hObject handle to a_file_open (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% h
19、andles structure with handles and user data (see GUIDATA)filename,pathname=uigetfile(*.bmp;*.jpg;*.png;,.Image Files(*.bmp,*.jpg,*.png);*.*,All Files(*.*),.Pick an image);axes(handles.axes_src);fpath=pathname filename;imshow(imread(fpath); 保存.m文件,并运行程序。点击“文件”下的“打开”,会打开如下的对话框: 选择一个文件之后,程序中的filename 就
20、是你选择的文件的文件名,pathname就是该文件所在的目录的路径。那么获得路径之后,我们要读入图片可以用imread函数,而显示可以在一个坐标轴上。我们需要在界面上画一个坐标轴,用于显示所选择打开的图片,并将坐标轴的Tag属性改为axes-src,更改后保存。如下图: 然后再m_file_open_Callback程序原来的基础上,再添加如下的程序:axes(handles.axes_src);%设置axes的string属性为axes-srcfpath=pathname filename;%将文件名和目录名组合成一个完整的路径imshow(imread(fpath);%用imread读入图
21、片,并用imshow在axes-src上显 示运行结果,通过“打开”菜单项,打开一个图片,效果如下: 1.2、对线性系统三个模块的调用通过按钮控制,可分别弹出线性系统的时域、频域、状态空间分析模块。利用figure( );函数即可实现相应窗口的调用。1.3、主窗口退出的实现 在退出按钮的callback中采用如下程序即可实现:answer=questdlg(Do you want to close the window?);if answer=Yes; closeend 效果如下图: (二)、线性系统的时域分析设计及MATLAB实现1.1、时域分析介绍:时域分析法是根据线性系统的微分方程,利用
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 GUI 自动控制系统 基本 性能 分析 38
限制150内