赵建勇, 汤加钰, 孙 丹, 年 珩, 吴 敏, 卢慧芬
(浙江大学电气工程学院,杭州 310027)
当前正值“双一流”战略加快发展之际,实验教学作为“双一流”建设的重要内容,对于高校人才培养、科学研究、社会服务功能的实现都是重要的技术支撑和有力保障。电力电子技术、电机控制等课程是电气工程专业的主干专业课程,有极强的工程实践性,该类课程的实验设置尤为重要[1-2]。随着实验项目和学生人数的增多,传统实验室的实验仪器数量和质量都很难满足实验的需求,在教学和学生使用上的不便之处也慢慢凸现出来。
在实验教学中,主要采取实物实验和虚拟实验的实验方式。实物实验受到实验空间、设备等资源的限制,往往存在:建设费用昂贵、部署空间受限、设备维护工作量大、难以灵活实现电路和电机参数的变更等问题,实验人数和课程设计的灵活性受到制约[3]。因此,探究虚拟仿真实验的相关平台开发对实验教学具有积极的现实意义。
现阶段,伴随着虚拟仿真技术的提升,电气工程相关专业课程陆续开发了多项虚拟仿真实验。如电力电子技术课程的“单相桥式半控整流电路”、电机控制课程的“晶闸管双闭环直流调速系统”、电气装备计算机控制系统课程的“数据采集计算机控制技术”等。这些虚拟仿真实验内容的开发,提升了相关课程实验教学范围的广度和实验教学内容的深度,为提升实验教学质量提供了有力支撑。
在开设虚拟仿真实验的同时也碰到了许多问题。例如:各门课程的实验未能使用统一平台,使实验开设的复杂程度加大;仿真软件复杂的使用方法耗费了大量的实验时间;各实验内容的差异导致实验学时数无法均衡等多项问题。因此,需要充分梳理各门课程的实验内容,将实验内容形成体系,归纳到统一的实验平台,并设置合理可行的使用方法,以此提高虚拟仿真实验课程的教学效率和学生受益率。
虚拟仿真教学近几年在国内外发展十分迅速,国内多所高校的电气学科都在建设不同类型的虚拟仿真教学系统。现在虚拟仿真实验教学从架构上分类可以如图1所示,主要有3类。
图1 虚拟仿真实验教学分类
(1)场景演示类。该类实验多以录像或动画演示为主,学生通过各功能键可观看实验系统图像及各类运行画面,部分实验提供了VR演示,该类型多针对规模大、系统复杂的实验,缺点是学生操作空间小,实验教学受益指数低。
(2)仿真软件类。该类实验一般借助不同的仿真软件实现,学生通过仿真软件自带的功能完成相应的实验,该类实验应用较广,可完成从基础到综合创新的各类实验。缺点是系统性差、部分软件操作复杂、需开发改造。
(3)虚实结合类。该类实验以远程网络平台控制现场实验装置为主,学生可通过网络平台远程完成实验操作,该类实验多针对信号处理、通信等弱电类实验。缺点是实现较复杂、现场维护量大、建设费用高、电机控制及电力电子类强电实验内容较难实现。
目前,面向电气工程的专业课程虚拟仿真实验平台主要提供场景演示类实验。结合专业软件开发一套具备电气工程类专业课程建模、调试及控制策略研究的虚拟仿真实验系统,将是对现有实验体系的有效补充和完善。
在电气工程虚拟仿真实验中,Matlab是最具影响的仿真软件之一,由于本科实验教学课时较少,而该软件部分功能使用复杂,学生不易上手,增加了本科实验教学中使用该软件的难度。因此,需要研究如何降低本科学生群体使用该软件进行虚拟仿真实验的入门门槛,提高其学习效率。Matlab/GUI提供的简单便捷可视化界面功能,为基于Matlab虚拟仿真实验平台搭建提供了良好的基础。通过GUI可以将各项实验内容规整到统一的使用平台,在该平台设计丰富的人机交互功能后可与实物实验互补,解决因教学资源不足、传统实验方式过于刻板、实验室教学和维护费时费力的问题。[4-6]
目前国内外已有部分基于Matlab/GUI的仿真实验探究案例,大多是针对特定的实验内容,实验项目固定,缺少可拓展性。尚未出现结合多门专业课程、具备多种实验模式的综合性虚拟仿真实验平台。同时,现有相关文献大多以实验内容的设计思路为主题,对实验平台构建技术要点并未介绍。本文将以现有各类虚拟仿真实验研究工作为基础,以Matlab各类仿真模型为理论和实践依据,借助Matlab/GUI功能,构建一套多课程、多层级、多功能综合虚拟仿真实验系统[7-9,11]。
实验系统在设计时以Matlab M函数、Simulink以及GUI人机界面功能为基础。M函数和simulink部分主要编写和提供各实验内容搭建模型必须的模块,GUI用于设计虚拟仿真系统的整体功能、各层级界面以及子层级功能[10]。
面向GUI的虚拟仿真实验系统需包含多门课程的实验架构和多个层次的实验体系,通过主界面选项框或菜单进入不同层次的虚拟仿真实验子界面。基础仿真实验层级:通过大量基础实验的仿真,使学生加深理解课程基本理论知识,掌握基础模块建模仿真、软件调试的方法和技能,逐步培养学生自主学习能力。探究性实验层级:通过自主建模仿真、图形分析,增强学生专业技能知识,强化学生综合实验能力。综合创新实验层级:引入各类科研热点内容,结合专业特色,使学生接触行业前沿,了解技术发展趋势,激发学生探索创新精神,提升学生科学研究素养。图2为实验平台设计流程图。
图2 实验平台设计流程图
综合分析各门课程实验内容要求,寻找课程分界点和衔接点,对纳入实验平台的实验内容统一进行分层级规划,结合课程教学计划将实验内容分为必做、选做、演示等多个类型。根据设计实验体系架构分别在simulink环境下建立对应的仿真模型,验证实验的可行性,对于Simulink中无法提供的模块,则通过M函数或S函数等方式编程建模。仿真模型调试完成后分别进行归类,将学生自主建模部分的模型拆分为多个子模型,并将模型放入对应的模型库,供学生实验时选用,演示实验则保留完整的实验模型,同时预留参数整定等调节端口,便于学生学习。最后结合Matlab/GUI人机界面设计功能,根据实验体系架构和实验要求建立相应的操作界面,完成虚拟仿真实验平台设计。
为满足电气工程学科虚拟实验教学的需求,实验平台需要具备以下功能:
(1)选择实验内容。实验平台能够根据课程、实验类型等选项,显示和索引各个实验,该功能将集成在一个具体的GUI界面;
(2)电路参数调节。实验平台能够对实验模型的特定参数进行修改,根据用户输入的参数更改模型并进行仿真,该功能将以GUI界面的形式进行体现;
(3)电路波形显示。实验平台能在仿真完成后将仿真输出数据绘制成曲线,显示在实验主界面中,并具有保存、编辑和上传等功能;
(4)实验讲义和资料的嵌入。实验平台能将实验相关的资料文件,如文档、讲义、图片等,显示或列于实验界面相关菜单栏中,便于查看;
(5)自主建模。实验平台将具有打开、编辑实验项目的simulink模型或新建模型的功能,并为用户使用simulink建模时方便查找对应模块提供便利。
按照设计思路,虚拟实验仿真平台主要由主界面、实验界面、输入参数编辑界面等部分构成,通过这些图形化的用户界面,用户可以完成实验选择、进行参数仿真、自主建模和实验内容编辑等诸多功能。
实验系统主界面如图3所示。该主界面左侧部分为实验选择区,用户可选择位于目录下的实验课程、实验类型和实验名称来查找到具体的实验所在位置。该界面的右侧部分为实验内容,显示该实验需要的文件。在选定实验后,该程序会识别并提取指定文件夹中的slx模型文件、mat数据文件作为输入的实验模型以及图片、文档等实验信息。右下侧按钮提供新建simulink模型的“自主建模”功能和打开指定模型、实验信息的“参数整定”功能。“添加快速索引”用于添加和删除自定义的库文件,可为自主建模提供便利。
图3 实验平台主界面
在主界面设计中,各项主要功能实现时的关键环节如下:
(1)实验信息索引通过控件回调调用函数完成,分为实验文件夹位置的索引和文件夹内信息的索引;
(2)检索课程函数scan_course()和检索实验函数scan_exp()利用Matlab函数dir()列出当前文件夹中的文件和文件夹,得到下一级文件的内容;
(3)检索文件后缀函数scan_model()在实验名称列表框控件值发生变化时被ValueChangedFcn()回调引用;
(4)加载自定义库时使用了函数addpath()、sl_refresh_customizations,其中addpath()将自定义库的slx模型文件和slblocks.m文件添加到Matlab的搜索路径中,sl_refresh_customizations指令可更新库浏览器的目录顺序,保障自定义库出现在置顶位置。
图4为参数整定实验界面示例,打开实验“单相桥式半控整流电路”。
图4 参数整定实验界面
界面布局可分为左、中、右3部分。界面左侧部分提供了实验相关的指导信息。界面左侧上方为实验原理图,可通过上方的复选框查看多张原理图;显示在界面左侧下方文本框内的文本为实验讲义,可通过左侧中间菜单分别选择查看实验目的、实验原理、实验步骤、实验要求等内容;同时,左侧中间菜单栏还设计了其他相关实验资料选择功能,可通过该功能查看实验相关的理论知识、仿真示例等资料。
界面中间部分是实验仿真结果的输出波形。波形显示个数可以自由确定,具体个数由界面右下侧相关菜单进行配置。波形数据来自simulink的示波器输出,标题、图例和坐标轴一并配置。仿真完成后,波形会自动绘制,通过右下面板可以更改波形的时间轴。
界面右侧为参数和功能设置部分。其中右上侧是实验参数设置部分。参数的名称、内容等可根据具体实验要求任意配置。输入参数的类型有文本框和下拉框2种,根据simulink模型元件中的参数类型自动选择;右下侧是实验操作功能选择部分,包括仿真指令、打开模型指令、绘图指令以及独立图像绘图指令等相关操作功能。
通过该界面中参数整定“编辑”和“保存”按钮可打开参数编辑界面,如图5所示,打开界面后,左侧列表框为模型中所有模块的名称,中间列表框为选定的模块的所有参数,右上侧的列表框为选中的输入参数,右下侧文本框为选定的参数的相关信息。通过该界面选择输入参数并输入名称后,可将输入参数返回到ExpUI界面,重新设置输入参数。
图5 参数编辑界面
在界面设计中,各项主要功能实现时的关键环节如下:
(1)实验原理图显示在Image控件上,通过更改ImageSource属性显示图片,通过复选框app.DropDown_scheme控件的回调ValueChangedFcn将图片文件输入Image控件的ImageSource属性,达到修改文件名称的目的;
(2)实验文档存储为txt文件,显示在文本框TextArea控件上,将相应文件内容打开后输入控件Value属性即可;
(3)实验讲义支持pdf、doc、ppt等形式,Matlab的open函数可以识别并选择相应应用程序打开;
(4)实验输入参数存储在mat文件para_in.mat中,通过输入面板的控件进行显示,参数整定界面ExpUI将会读取para_in.mat的内容到ExpUI的属性app.Exp_data.para_in,然后将数据赋予控件;
(5)模型加载主要通过在仿真界面初始化startupFcn,使用load_system()函数载入当前实验的仿真模型。
此外,需要注意,实验平台界面中的uiaxe控件对应的波形图像不能直接内部调用,输出按钮图标较难调整,在图像较小时难以选中。考虑到实验用户进一步查看和保存波形图像的需求,可添加将图像以如图6所示的Figure独立图窗形式显示的附加功能。
图6 独立图窗显示的波形
该实验平台通过Matlab Appdesigner编程环境开发,产生的程序代码为mlapp格式。可打包发布的格式有3种:Matlab App、Web App、独立桌面App。
考虑到该实验平台主要针对Matlab/simulink仿真实验,并且与simulink仿真软件进行了大量的数据交互,如果打包为独立于Matlab的App会需要安装大量的功能包,对于该实验平台显得不必要。因此考虑打包为Matlab App,在Matlab环境下安装。
打包时,选取实验选择界面Homepage_new()作为主程序,加入实验文件夹和库文件夹作为共享文件,然后点击打包选项,完成实验程序的打包。
该实验平台具有通用性,可用于各类使用simulink仿真的实验课程教学。作为电气工程学科的虚拟实验平台,主要用于专业课程实验教学。为检验平台的效能,对电力电子技术、电机控制和电气装备计算机控制技术等课程的多个实验进行效果测试。
该实验基于图7所示实验模型(为节省篇幅,后续案例不再体现实验模型图)的“单相桥式半控整流电路”,可调节电源的频率、电压、触发移相角、续流二极管以及负载等参数,仿真该电力电子电路的基本的工况。调整图像时间轴范围至几个波形周期,点击仿真按钮,待运行完毕输出仿真结果,如图8所示,可看到在感性负载下,输出电压为缺块的半波,缺块为60°,由于模型使用的Pulse Generator(Thyristor,6-Pulse)模块输入α比实际电路小30°,与触发脉冲匹配。输出电流为带有纹波的直流电流,同时可观察到器件上的尖峰电流。实验结果输出符合该电力电子电路特性[12]。
图7 单相桥式半控整流电路实验模型
图8 单相半控整流电路实验界面
该实验模型为“直流电动机双闭环控制系统”,需要设置内外环的PI控制参数、速度的阶跃指令给定以及负载的阶跃扰动。将PI参数设置在可以稳定控制的数值。先后给定速度的阶跃指令和负载的阶跃扰动。运行该实验,仿真结果如图9所示,可见,该电动机模型可在经历一次超调后稳定到给定速度。电枢电流在稳态时根据负载稳定在固定值附近,在电动机加速时和加载时出现不同电流峰值,体现电功率和机械功率的转换。实验结果符合双闭环晶闸管电动机控制系统的特性[13]。
图9 晶闸管双闭环不可逆直流调速实验界面
该实验模型为“SVPWM电动机驱动系统”主要环节为三相异步调制波的生成,可设置三角载波的频率与运行频率。设置完成后,调节仿真时长至几个周波开始仿真。得到结果如图10所示,可观察到三角波、载波和输出的PWM信号,可将时间轴进一步缩短查看其波形的对应关系。此外,也可查看该PWM信号驱动下的电动机三相电压、电流和电动机转速。实验结果符合异步电动机驱动系统的特性[14]。
图10 SVPWM驱动电动机实验界面
图11为电气装备课程中的“继电器、接触器硬件电路实验”。实验内容是搭建电动机驱动系统模型以及通过继电器和接触器实现对电动机的启停和正反转控制。启停和正反转控制指令分别通过2个不同周期、占空比和相位的方波产生。设置指令的6个输入参数后开始进行仿真,可观察到电动机转速的方向符合方向指令。电动机的转速和电流对电动机启停指令的响应,符合一般的电动机的电流和转速特性。验证了电动机继电器硬件电路能够有效控制该电动机的运行[15]。
图11 继电器、接触器硬件电路实验界面
Matlab/Simulink仿真是研究电气工程模型、分析电路运行原理的有效手段。本文设计了一种基于Matlab/GUI的电气工程虚拟仿真实验平台,平台在实验内容上可以支撑电力电子技术、电机控制、运动控制技术以及电气装备计算机控制技术等多门课程,具有实验选择、电路参数调节、电路波形显示、实验讲义和资料的嵌入以及自主建模等多种功能。
从应用上,该平台在使用中可很方便地新建、修改各种实验项目,具有很强的二次拓展性。通过简单的测试,该平台对于从简单的电力电子电路到异步电动机矢量控制模型的广泛电气工程仿真实验模型都具有良好的适应性。该平台在应用范围上可进一步扩大到自动控制原理、电气控制技术等课程。
从未来功能扩展而言,平台在设计上考虑了二次优化开发的可能,实验平台依托Matlab/GUI环境运行,易于修改调整布局。后续可方便地开发虚拟网络实验,丰富自主建模库等功能,提升实验用户的理论分析能力和虚拟仿真实践能力,适合目前国内高校的实际状况,对电气工程实验教学改革具有积极的促进意义。