APP下载

基于MATLAB GUI的自动控制典型环节虚拟实验平台的开发*

2013-07-07赵新宽梁建广王艺橙

职业教育研究 2013年5期
关键词:控件自动控制数学模型

赵新宽 梁建广 王艺橙

(1.珠海城市职业技术学院 广东 珠海 519090;2.博世(珠海)安保系统有限公司 广东 珠海 519090)

《自动控制原理与系统》是高职电气自动化技术专业的主干课程之一。它主要以自动控制理论作为系统分析的工具,通过对典型控制系统,如直流调速系统的性能分析与改善,使学生掌握自动控制系统的构成、性能指标、校正方法等(知识目标),能够对典型环节进行判断和测试,能够正确组建反馈控制系统,能够根据性能要求改变调节器参数(能力目标)。

该课程涉及知识面广、信息量大,而且理论性和实践性较强,特别是高职学生由于基础比较薄弱,学习数学建模十分吃力,系统分析也常常力不从心。因此,该课程历来是高职相关专业教学改革的重点,改革主要是对知识进行重构,把学科体系的讲授内容变换成行动导向的学习内容。

在教学方法上,大部分院校都使用了基于MATLAB软件的仿真教学。MATLAB中SIMULINK工具箱是系统分析和设计的有力工具。但从教学实践来看,由于基础较差,高职学生对MATLAB的运用有很大的障碍,造成仿真学习效率不高,教师往往要花很大的精力讲授仿真软件的使用。而且,学生在仿真时看到的是数学模型,而非真实的环节和系统,使得学生学到的理论知识难以有效迁移。如果可以把真实环节、系统同其背后的数学模型对应呈现,学生修改真实环节、系统的物理参数后,马上可以看到数学模型的对应变化,看到不同信号的响应情况。

虚拟实验平台即是把真实自动控制环节、系统同数学建模有机结合的实验平台。学生可以在平台上修改物理参数、改变输入信号、观察响应情况,同时可以观察数学模型的变化情况。现以典型环节为例介绍虚拟实验平台的设计和开发。

基于MATLAB GUI的典型环节虚拟实验平台的设计

MATLAB开发环境提供了创建用户界面的捷径(GUIDE)。GUIDE可以根据用户GUI的版面设计过程直接自动生成M文件框架。设计之后的编码工作,集中在相应的Callback函数上,因此,更加标准化和简化。

本实验平台的界面如图1所示。在最左边的设置面板中,可以选择不同的典型环节,如比例环节、积分环节、惯性环节、振荡环节等六种环节。在通过下拉菜单选定环节之后,相应的模拟电路会出现在中间的展示区域,对应的物理参数出现在设置面板中(不同环节的构成不同,参数有异),可以根据实验目的进行参数设置,设置完毕确认后,对应的数学模型马上予以呈现。可以选择不同的输入信号,如脉冲信号、阶跃信号、斜坡信号、加速度信号等作为信号源进行实验。点击“运行”按钮,输入信号和响应信号会以不同颜色对比呈现出来。由于本环节仅是虚拟实验平台的一部分,所以还有一个返回主菜单按钮。还可以在本环节中加入菜单栏,引入响应曲线存储、打印等功能。

图1 典型环节虚拟实验平台界面示意图

典型环节虚拟实验平台的实现

虚拟实验环节的使用,不涉及任何的编程。但是在实验功能的背后,却离不开M-file编程与SIMULIK建模,只不过这些对于使用者而言都是透明的。

(一)模拟电路和数学模型的正确显示

首先应当把不同环节对应的模拟电路图片同.fig文件和.m文件存放于一个文件夹下,以备读取,然后在“环节选择”下拉菜单控件的callback函数中进行相应编程。调用get()函数,读取“环节选择”控件值,handles是包含所有控制句柄和用户数据的structure。根据所做的选择调用显示对应的图片,正确显示需要设置的参数名称,禁用多余的数值输入框,具体如下:

传递函数是以文本的形式显示在界面上(当然也可以改为框图模式),用户输入的数值也是以字符串的形式。因此,在对应的输入控件callback中要把字符串转换为数值,并进行有效性检查。在“确定”按钮控件的callback函数应该进行正确的运算,再把最终的结果以正确的表示形式显示。如下:

(二)实验运行功能的实现

虚拟实验室运行功能的实现依赖于SIMULINK的正确建模,以及根据面板设置的不同,修改仿真模型相应环节的参数,并把仿真结果读取到工作空间后,正确显示在面板上。在本模块中,在同一个.mdl文件中(该文件与.fig等文件在同一文件夹下),针对四种输入信号,各建立一个模型,如对于阶跃信号如图2所示。

图2 阶跃信号仿真模型示意图

“运行”控件的回调函数要进行打开模型,判断输入信号类型,以便正确修改模块参数等等。

如果模型文件正确打开,则根据选择的输入信号类型选择具体的模型,然后根据选择的典型环节类型,读取相关全局变量,进行传递函数模块分子和分母矩阵表达式的设置:

kesai_wn与wn_wn是全局变量,在参数设置“确定”控件的callback进行计算,分别对应于振荡环节标准表达式中的2ξωn与 ω2n。 mat2str()函数把矩阵转化为表达式,这是由传递函数模块参数类型决定的。

simset()函数是进行仿真的设置,此处把基本工作空间设置为目标工作空间。至此,在界面上就可以运行得到输入输出的对比曲线。

结语

本文所介绍的只是笔者教学实践中所使用的虚拟实验室的一部分,虚拟实验室的构建思路是既可以进行虚拟的“实验”(看到表面发生了什么),也可以看到数学模型的变化(本质上发生了什么)。在后续单、双闭环调速系统的调试学习中,改变PID调节器模拟电路的参数后,幅频、相频特性以及响应曲线都对比显示出来,能使学生清楚看到系统动态、稳态性能发生的变化,以及时域、频域指标的情况,学习效果较好,解决了理论与实验相脱节的问题。

[1] 沈玉梅.MATLAB在《自动控制原理与系统》教学中的应用[J].职业教育研究,2009(11):148-149.

[2] 陈贵银.高职《自动控制原理与系统》课程教学改革探索[J].长沙航空职业技术学院学报,2009(3):20-22.

[3] 李念念,张红梅.基于MATLAB GUI的信号与系统分析软件开发[J].工业控制计算机,2011(3):19.

猜你喜欢

控件自动控制数学模型
AHP法短跑数学模型分析
活用数学模型,理解排列组合
基于.net的用户定义验证控件的应用分析
电工电子技术在无功补偿自动控制中的应用
基于电力机器人控制系统的数学模型简述
关于.net控件数组的探讨
电力拖动系统的自动控制和安全保护
M2W中波发射机自动控制天线倒换系统
对一个数学模型的思考
唐钢热轧1810线工艺润滑改造自动控制的实现