资源描述:
《基于matlabgui的自动控制原理仿真软件设计》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、12计量与测试技术2011年第38卷第2期基于MATLABGUI的自动控制原理仿真软件设计DesignoftheSimulationSoftwareofAutomaticControlPrincipleBasedonMatlabGUI王华乔(中北大学仪器科学与动态测试教育部重点实验室,山西太原030051)摘要:自动控制技术在现代工业领域有着广泛的应用。MatlabGUI是一种简单易学的、功能强大的可扩展系统开发平台。借助Matlab强大的运算和数据可视化功能,设计出的GUI程序能便捷的模拟自控原理中的基本试验并准确、快速的绘制出结果,使试验操作更为简便、直观,
2、使用者的理解更为深刻。关键词:MatlabGUI;自控原理实验;自动控制;软件设计1引言自动控制原理实验主要包含有系统响应、控制系统自动控制技术在现代工业、农业、国防等科学技术的稳定性分析、系统频率特性、连续系统串联校正、PID控众多领域中得到了广泛的应用并起着越来越重要的作制、以及采样实验等。设计一个主界面,然后通过点击主用。作为自动控制理论教学中不可或缺的一环,自控原界面上的按钮分别进入各个具体实验的分界面,在各试理实验的质量直接关系着教学的成败。验界面上也可以随时返回到主界面。GUI运行总体流程图如图1所示。2MatlabGUI特点31GUIDE界面Mat
3、lab除了是无与伦比的矩阵计算、符号计算、可视GUIDE是Matlab下的GUI图形用户开发环境。它提化建模仿真和实时控制等功能之外,也是一种简单易用、供了一系列建立GUI的开发工具,图形化的界面极大的扩展性强调系统开发环境平台。基于Matlab的GUI设计简化了GUI设计过程中的界面布局操作。在GUIDE中不要求设计人员深入掌握面向对象的编程语言以及精通提供了多种功能强大但性能各异的GUI对象,设计者可面向对象的程序设计,只需熟悉Matlab的基本操作和基根据功能需要自由调用、组合。界面布局完成后,再编写本的C语言知识,上手快,开发周期短,而且设计的界面包含GUI对象运行
4、所需代码的M文件即可。每个GUI在功能和外观上都可与VisualC++等面向对象编程语界面设计包括后缀为fig的GUI界面布局文件和后缀为言相比拟。在自动控制领域,MATLAB提供了众多的专m的运行函数文件。业函数和工具箱,可以方便的实现自控领域的各种专业32主界面计算功能,大大简化编程语言,提高编程的效率和程序执行效率。3设计与实现图2主界面设计中的自动控制原理实验共有六个试验项目,将各个试验项目设计成对应的六个触控按钮,并将每个按钮的Tag属性改为对应试验项目的名称,使用者只需单击对应的按钮即可进入试验界面。然后对每个按钮的回调函数进行编辑就可实现上述功能。
5、对于系统响应试图1设计流程图验,在主界面对应的M文件中找到此按钮的回调函数,王华乔:基于MATLABGUI的自动控制原理仿真软件设计13编辑为以下内容:以上参数由图5中设置的四个输入框输入。输入框Automatic();内输入的参数在使用者变更系统类型后,没有意义的参close(handlesmain);数输入框会自动清除原有的输入并将该输入框置于非激第一行代码意为调用命名为Automatic的系统响应活态,使得只有与已指定系统对应的参数才能编辑输入,试验界面,第二行为关闭当前名称为main的主界面。以有效的避免了误输入;已有输入的对应参数编辑框能继此类推,各
6、个试验的界面设计好后,在主界面中就可以直续保留原有的的输入,无需重复输入,简化使用者的操接调用,整个GUI可以按照这样的方式模块化的组建。作。33试验界面控制系统的时域响应反映了该系统的性能。本设计中的系统响应有阶跃响应、斜坡响应、加速度响应三种。先选择信号源类型,再设定系统参数,最后求解系统响应。因此对应设计了三种信号源:阶跃信号、斜坡信号、加速度信号(如图3),实验者使用时只需单击选择所求响应对应的信号源。图4系统类型选择图3信号源选择及参数设置界面上述信号的时域表达式分别为:图5参数输入0,t<0r(t)=331A,t>0借助Matlab中控制系统工具箱
7、的线性系统时域分析0,t<0模块,我们只需求出输入信号的时域表达式和系统传递r(t)=332At,t!0函数表达式即可求出对应响应函数。0,t<0num=wn^2;r(t)=2333At,t!0den=[1,2*z1*wn,wn^2];A为信号幅值常量,由图3中信源幅值后的可编辑t=-50:01:5*10^3;文本框中输入,对应的回调函数编辑如下:u=Heaviside(t);str=get(hObject,∀string∀);u=val*u;val=str2num(str);[y,x]=lsim(num