基于Matlab的数字实验软件的开发

2017-09-03 10:56雷建和胡廷轩宫汝林
实验科学与技术 2017年4期
关键词:传递函数自动控制绘制

雷建和,胡廷轩,宫汝林,张 栋

(青岛理工大学 自动化工程学院,山东 青岛 266520)

基于Matlab的数字实验软件的开发

雷建和,胡廷轩,宫汝林,张 栋

(青岛理工大学 自动化工程学院,山东 青岛 266520)

Matlab在绘制自动控制原理的相关图形时具有局限性,需要使用者掌握编程语言才能使用,对使用者要求较高。鉴于此,开发了一个可供教学和科研的数字实验软件,该软件实现了在绘图时只需输入相关参数就可生成相关图形的功能。通过利用Matlab GUI工具设计实验界面,采用模块化的设计方法,先设计各个子模块,再通过回调函数将各模块连接在一起,组成一个系统。同时,还设计了利用Simulink进行仿真的实验,方便学生更好地去学习自控原理课程,提高课堂教学效率。该系统具有界面友好、使用方便、功能强的特点,且涵盖了自动控制的主要绘图。该软件不仅可用于实验教学,也可以用在相关领域的科研工作上。

自动控制原理;数字实验软件;Matlab;图形用户界面(GUI)

在进行自动控制系统的分析和设计中,目前所用工具是Matlab软件[1]。使用Matlab软件进行分析和设计时,必须能熟练地应用Matlab语言进行编程,否则就无法使用该软件,因而较为费事费力。尤其是在分析系统的参数对系统性能的影响时,参数每变化一次就需要重新进行绘图分析。同时,在目前学时压缩的情况下,要对学生讲解系统的分析也需要进行一些图形的绘制。

针对以上情况,本文采用Matlab语言设计一款“傻瓜”型的软件,能够根据使用者的要求,输入系统的相应参数,系统就能自动地绘制出使用者进行系统分析所需要的图形,从而避免了采用编程绘制图形带来的麻烦。该软件不但可用作为自动化科研所进行系统开发的辅助工具,同时也可以用于与自动化有关专业的高等学校的教学[2-3]。

1 实验软件的开发环境

1.1 开发平台的选取

Matlab是一款将高性能的数值计算和可视化集成在一起的软件,具有强大的数据处理能力和方便的绘图功能[4],是用来学习自控原理的最佳选择。在学习自控原理时,往往需要绘制时域、复域和频域等相关图形,而Matlab又具有出色的绘图功能,可以通过编程绘制所需图形,还能进行图形的计算和分析[5],所以本文选择Matlab作为开发软件。

GUIDE(graphical user interface development environment)是Matlab图形用户接口开发环境,它提供了一系列工具用于建立GUI对象,通过窗口、按钮、图标和文本等图形对象构成用户界面[6]。在使用GUI时,会生成一个相应的M文件,可以在此文件内编写所需的回调函数来控制相关控件。本文利用GUI来设计实验界面,可以让使用者直接输入相关参数以绘制出所需要的图形,具有界面友好、使用方便的特点。生成的exe文件,还可以脱离Matlab环境,在未安装Matlab的机器上使用,使本软件具有更广泛的使用空间。

在学习自控原理时,常常需要进行一些仿真实验,而Simulink常用于对动态系统的仿真,它不仅适用于线性系统和非线性系统,也适用于连续系统和离散系统[7-8]。本文利用Simulink设计了一些常用的仿真实验,使用者不用再去组建仿真模型,可直接在仿真界面修改相应参数进行仿真实验,节约了使用者的时间,提高了教学和科研效率[9-10]。

下面介绍GUI界面的创建过程。

1.2 系统总体设计内容

本设计为基于Matlab的数字实验软件的开发,借助于可视化的图形用户界面GUI工具,克服Matlab本身在绘制图形时的局限性,生成一个exe文件,通过输入相关参数就可以绘制图形。本设计主要完成以下功能:

1)可以完成阶跃响应曲线、根轨迹、Bode图、Nichols图和Nyquist曲线等图形的绘制;

2)可以进行Simulink仿真实验;

3)支持数据输入、图形输出、保存界面和保存实验数据等功能;

4)界面友好,使用方便,结果便于分析。

1.3 系统总体设计步骤

1)利用GUI,先绘制实验主界面、实验子界面;

2)编写实验子界面的回调函数,让每个子界面都能完成自己的功能;

3)编写实验主界面的回调函数,用来调用各个子界面,使之具有一个完整的功能;

4)把各个界面的M文件打包编译生成exe文件,从而成为一个完整的系统。

1.4 系统总体结构图

本系统共包括6个模块:主模块、引导模块、时域分析法模块、复域分析法模块、频域分析法模块和Simulink仿真模块[11-12]。

这些模块都有下一级的模块,如时域分析法模块下又有阶跃响应曲线模块,阶跃响应曲线模块下又有使用说明模块;复域分析法模块下又有根轨迹模块,根轨迹模块下又有使用说明模块;频域分析法模块下又有Bode图模块和Nyquist曲线模块,且这两个模块下又有各自的使用说明模块。

系统的总体设计功能结构图如图1所示。

图1 系统整体设计功能结构图

2 实验软件平台的开发

Matlab 的GUIDE中包含所有设计GUI所需的工具,还具有支持界面优化功能,如界面外观、界面属性等。本文利用GUIDE设计GUI界面,界面之间主要利用回调函数来连接。GUI界面实现流程图如图2所示。

Matlab GUI实验系统设计主要分为3个部分,即界面布局、编写回调函数和生成exe文件。首先,对实验界面进行整体布局,包括创建菜单栏和子菜单,并将所需控件布局在GUI设计窗口中;其次,设置控件和子菜单的属性,在M文件中编写其回调函数,文件运行后生成图形用户界面;最后合并fig文件和M文件生成exe可执行文件,并在其他电脑运行可执行程序。

图2 GUI设计流程图

3 具体实验举例

系统主界面如图3所示,本系统包括两部分,即自控原理绘图计算部分和Simulink仿真实验部分。

通过点击界面上按钮进入下一界面,点击退出可以关闭本软件。

图3 系统界面

下面以线性系统的频域分析法为例,介绍绘图计算部分的内容及使用方法。

频率分析法是根据频率特性曲线的形状及其特征量来分析研究系统的特性,而不是对系统模型求解,它是以传递函数为基础的又一种图解法,采用图形化的工具来对系统进行分析[7]。频率特性曲线包括3种常用形式:极坐标图(又称Nyquist图)、对数坐标图(又称Bode图)和对数幅相图(又称Nichols图)。

传递函数有一般式和零极点增益形式。

1)一般式

(1)

2)零极点增益形式

(2)

式中:K0为放大系数;s=s1,s2,…,sn,传递函数的极点;z=z1,z2,…,zn,传递函数的零点;分母多项式为相应微分方程的特征多项式;传递函数的极点为微分方程的特征根。

本实验提供了两种传递函数的输入形式,即传递函数的一般式形式和传递函数零极点增益形式。在本界面上,可以按照说明输入相关参数在指定位置,如分子系数、分母系数、响应时间、零点、极点和增益等。说明按钮所链接的界面也对本实验做了一个详细的使用说明,以方便使用本软件。点击“退出”按钮,可以关闭本界面。

实验结果如图4所示。

实验结果保存图形如图5所示。

图5 实验保存结果

4 结束语

自动控制原理课程理论性较强,需要大量的图形和仿真来帮助研究系统,如果单纯地利用编程来实现这些功能,工作量将会非常大。利用Matlab的GUI功能,可以更加方便地去绘制图形,可以开发用途更为广泛的应用软件,应用于课堂实验教学,减轻老师和学生的负担,不仅可以改善教学效果,同时还提高了教学效率。

[1]结硕,韩光胜.Matlab在自动控制原理中的应用[J].实验技术与管理,2012,29(2):95-97,108.

[2]邹伯敏.自动控制理论[M].北京:机械工业出版社,2009.

[3]胡寿松.自动控制原理[M].北京:科学出版社,2007.

[4]周建兴.Matlab从入门到精通[M].2版.北京:人民邮电出版社,2012.

[5]魏克新.Matlab语言与自动控制系统设计[M].北京:机械工业出版社,1997.

[6]罗华飞.Matlab GUI设计学习手记[M].北京:北京航空航天大学出版社,2011.

[7]王正林.Matlab/Simulink与控制系统仿真 [M].3版.北京:电子工业出版社,2012.

[8]张德丰.Matlab /Simulink建模与仿真实例精讲[M].北京:机械工业出版社,2010.

[9]杨欣,苏玉刚,谢昭莉,等.工程类专业的自动控制原理实验教学体系探究[J].实验室研究与探索,2011,30(10):312-314.

[10]肖理庆,李巍.“自动控制原理”实验教学改革[J].电气电子教学学报,2012,34(3):88-89,98.

[11]刘金颂,张庆阳,苏晓峰,等.Matlab软件在自动控制原理实验中的应用[J].实验技术与管理,2014,31(6):138-140,145.

[12]王晓燕,冯江.自动控制理论实验与仿真[M].广州:华南理工大学出版社,2006.

TheDevelopmentofDigitalExperimentSoftwareBasedonMatlab

LEI Jianhe,HU Tingxuan,GONG Rulin,ZHANG Dong

(College of Auto mation Engineering,Qingdao Technological University,Qingdao,266520,China)

Because Matlab in drawing the principle of automatic control of the relevant graphics with limitations,it often has a higher requirement to the users with a good command of the programming language.In view of this,the paper develops a digital experiment software for teaching and research.The software can achieve the functions that when enters the relevant parameters it can generate the relevant graphics.This paper designs the experimental interface by using Matlab GUI tool,utilizing the modular design methods.First design the various sub-modules,and then callback function to connect the modules together to form a system..Meanwhile,it also designs to use Simulink simulation experiment to facilitate the students’ to better study the principle of self-control theory courses to improve the classroom efficiency.This system has some distinguishing features such as user-friendly,easy-to-use, strong functions,covering the main drawings of the principles of automatic control.The software can not only be used for experimental teaching,but also can be used in related areas of scientific research.

principles of automatic control;digital experiment software;Matlab;graphical user interface

2016-04-22;修改日期:2016-05-12

山东省高等学校科技计划(J14LN26);青岛理工大学名校建设工程(MX4-1)。

雷建和(1961-),男,博士,副教授,主要从事信息获取与处理、模式识别与智能系统等方面的研究。

TP319

A

10.3969/j.issn.1672-4550.2017.04.006

猜你喜欢
传递函数自动控制绘制
扰动输入时偏差传递函数计算方法探讨
简易热水器自动控制设计
超萌小鹿课程表
基于LabVIEW的火焰传递函数测量系统
放学后
红外成像系统的调制传递函数测试
编组站停车器自动控制开通方案
唐钢热轧1810线工艺润滑改造自动控制的实现
在转变中绘制新蓝图
基于传递函数自我优化的BP网络算法改进