湖北民族学院 张 俊 完颜幸幸 邢润国 陈坤燚 谭必灯
随着计算机技术的发展,数字仿真技术也逐渐发展起来,目前已经成为研究电力系统的有效手段之一,MATLAB/simul ink为电力系统数字仿真提供了便捷的平台。迄今,有许多学者利用simul ink作了大量的电力系统仿真研究,然而,这些研究多是以解决某一特殊问题而设计的仿真模型,具有较强的针对性,不适合用于电力系统实验教学。利用图形用户界面的直观性、可调性、便捷性可以很好地向学生们展示电力系统实验的实验原理和过程。从以上分析来看,本文借助MATLAB/simul ink方便、快捷的电力系统数字仿真能力以及MATLAB/GUI的界面制作功能来研制具有通用性、直观性、系统性的电力系统数字实验平台具有重要意义。
本仿真平台的设计流程图如图1所示。用户通过主界面选择实验项目,仿真平台切换至相应的GUI实验界面,在这个GUI界面上有一些实验所要用到的模块。编辑框用来储存simul ink参数的值和显示实验结果的数据部分,坐标系则用来显示实验原理图和实验结果中的图形部分,“电力系统实验simul ink模型”和“电力电子实验simul ink模型”用来储存实验所需要的simul ink模型,按钮是运行整个界面的开始键,点击按钮,GUI界面首先会将编辑框内的数据赋给simul ink模型,然后调用并运行该模型,运行结束后的实验结果将显示在坐标系和编辑框内,其缩放比例可以通过修改用户界面的编辑框内的值来进行调整。为便于对图像进行更多的后期处理,本平台还将自动创建了f igure处理框。
图1 系统结构图
在明确系统功能后,搭建完成主界面框图。在这个界面中设计了两个坐标系:上方坐标系用来显示实验的原理图,下方坐标系用来显示实验的结果图;设计了静态文本框,用来显示控件功能说明;设计了按钮,用于开始运行simul ink模型;设计了编辑框,用于对simul ink模型中相应元件赋值和显示实验数据;建立一级菜单“电力系统实验”、“电力电子实验”,并在相应菜单下建立子菜单项,对应于两类实验的各个子实验。由于每个实验的控制参数和输出结果都不同,一个界面难以满足所有实验需求,所以每一个实验都需要搭建独有的界面,这些界面可以通过点击一级菜单下的子菜单来相互切换。
界面搭建完成后会生成相应的m文件,通过在m文件中编写函数来给相应控件赋予相应的功能。
(1)电压、电阻、电抗编辑框的功能实现。将simulink中的元件值赋成变量,例如为k,则用:k=str2num(get(handles.edit1,’string’));语句将GUI界面中编辑框中的的值赋值给k,这样就可以随意在GUI界面更改simulink模型里的各个元件参数值,也因此可以获得不同参数值下的输出结果。这里我们已经设定了其初始值。
(2)功率曲线结果图,控制信号结果图按钮的功能实现。使用options = simset(‘SrcWorkspace’,
‘current’);sim(‘fengli’,[],options);会在按钮激活时运行名为guangfu的simulink模型,并通过plot(tout,yout)和plot(tout,yout1)绘图函数将所得结果显示在相应的坐标系中。
(3)测量值编辑框功能实现。其功能是将莫一时刻运行的结果值显示到编辑框内,回调函数为:
w=q/3.5591e-004;
e=round(w);
y=yout(e);
set(handles.edit4,’string’,y);
其中q值我们所需测量的时间值。由于y=yout(e)语句是取第e步的输出值,所以需要将q值转换为步长,既w=q/3.5591e-004 ,通过assignin(‘base’,’valueX’,tout);函数将基本工作空间里的tout值以valueX名字保存到workspace空间,进而可以获得每步的时间3.5591e-004。此外还要对其取整e=round(w);注意的是,由于simulink取得是变步长,所以得到的y值并不为十分精确的值。
(4)“可更改坐标轴”编辑框的功能实现。有时候我们只需要研究某一段时间内的结果图,因此就需要根据我们的要求限定返回图形的x、y轴的坐标上下限。因为坐标限定函数axis[k1,k2,k3,k4]中k的值必须都为有效值,不能为空,当只需限定x轴或者y轴时该函数就会报错。而xlim和ylim函数只允许单独对x、y坐标的限定,当我们没有给出有效值时,该函数会出错。因此在这里可以将xlim、ylim和axis函数相结合,使用try——catch——end结构可以使其功能得以兼顾优化,既:
try
axis([k1,k2,k3,k4]);
catch
try
xlim([k1 k2]);
catch
ylim([k3 k4]);
end
当坐标轴的范围值超出仿真时长或者编辑框输入格式不正确时,GUI界面就不会运行,此时就需要显示错误类型并提醒用户更改参数,将显示错误输入框。一般的GUI界面关闭时没有任何提示,为了防止错误关闭设计了提醒框,关闭时会提醒是否关闭当前界面,避免了错误关闭。
当需要对结果图进行保存或者对图形做更多的处理时,可以在仿真按钮函数下添加h=fi gure;plot(tout,yout)语句,运行时会自动弹出fi gure处理框,在这里面可以对图形做更多的处理。
GUI界面运行时会调用运行“电力系统实验simulink模型”和“电力电子实验simulink模型”中的模型,其运行结果将会显示在GUI界面中,每个实验对应一个simulink模型。以“电力电子实验simulink模型”中的太阳能发电最大功率点的simulink模型为例,此模型意在用采用爬山法实现光伏系统的MPPT自动控制(为简化过程,光伏电池可用电压源+内阻模型代替),并将输出功率稳定在最大功率点附近,最终搭建完成总模型。
图2 没有使用爬山算法时的功率输出图
在进行用爬山法实现太阳能发电最大功率点跟踪这一实验时,当系统没有使用爬山算法模型时,其功率输出如图2所示。横坐标显示时间,纵坐标显示系统输出功率的大小。根据实验原理,输出功率曲线随时间表现为一条先上升后下降的曲线,最终功率不能稳定在最大功率点附近。由图可知,此系统的输出功率不能稳定在最大发电功率下。在使用爬山法模型后的功率输出结果如图3所示。此系统的输出功率就可以稳定在最大功率点的附近。综上所述,此平台的输出结果与实验本身结果一致。
图3 使用爬山法模型后的功率输出图
这个平台拥有较为完善的电力系统实验和电力电子实验仿真模型,在使用时可以直接调用,并且参数修改方便,所得结果也很清晰明确,节省了大量时间,有很好的教学实用性,直观的结果图还方便大家理解。后期还可以进一步扩展开发其他的实验功能和添加工程实例,增加实验的多样性有效性。
此界面可生成独立于MATLAB之外的可执行程序,使其运行可以不依赖于MATLAB软件的有无,使其具有的功能满足了大部分情况下的教学要求。
[1]王兆安,刘进军.电力电子技术:第5版[M].北京:机械工业出版社,2009.
[2]陈晓娟.基于Matlab/GUI的电力电子技术应用仿真实验设计[J].电子世界,2014,01:141-142.
[3]王二飞.基于MATLAB的GUI信号与系统实验平台设计[J].硅谷,2013,21:29-30.
[4]尚丽,淮文军.基于Matlab/Simulink和GUI的运动控制系统虚拟实验平台设计[J].实验室研究与探索,2010,06:66-71.
[5]余长庚,韦秋云.基于Matlab的电力系统短路电流分析与仿真[J].中国西部科技,2011,17:13-14+85.
[6]周志刚,敖章洪.基于MATLAB/SIMULINK的电力电子实验仿真[J].赤峰学院学报(自然科学版),2011,09:204-205.