(4)仿真开始和停止
从[Simulation]菜单中选取[Start]命令,仿真立即开始运行,这时[Start]变为[Stop]。若要停止仿真,从[Simulation]菜单中选择[Stop],仿真运行立即停止。
若要使仿真运行暂停,可从[Simulation]菜单中选择[Pause],这时[Pause]变为[Continue]。若要使仿真继续运行,选择[Continue]。
2、MATLABCOMMAND窗口下的仿真运行
在MATL为返回的状态矩阵;
ABCOMMAND窗口下运行Simulink模型仿真也可进行,方法是在MATLABCOMMAND窗口下调用函数SIM,调用格式为:
其中:t为返回的仿真时间向量;y为返回的输入矩阵,从输出模块输出的数据;model为框图模型文件名或MEX-文件或M-文件S函数;
timespan=[tStart,tFinal];Options为仿真参数选项,由函数Simset()产生;ut为加在第一级输入模块的外部输入,如一个函数u(t)等;p1,…,pn为S-函数参数;如sys=Sfun(t,x,u,flag,p1,p2,…,pn)仅用于M-文件和MEX-文件系统。
例如,图2.17所示系统,在MATLABCOMMAND窗口下仿真
[t,y]=Sim(‘hexm’);
Plot(t,y)
比较在Simulink模型窗口下的仿真结果,可见两种方法仿真结果相同。
由于在MATLABCOMMAND窗口下运行Simulink模型不如直接在Simulink模型窗口下仿真方便、直观,因此不推荐采用。
利用Mux模块和Scope模块可显示多个变量的运动轨迹,如图2.18所示。
图2.18显示多个变量轨迹
五、仿真结果输出
Simulink可通过下列三种方法之一绘制输出轨迹曲线。
1、利用Scope模块
在仿真期间,Scope模块能动态地显示输出轨迹。Scope模块还具有放大、缩小功能以便更清晰显示感兴趣的区域,Scope模块还可将数据存储在丁作空间(Workspace)内。
利用XY图形模型,可显示两个变量之间变化轨迹。
2、利用变量返回值
利用Connectionl模块子库的Out模块,建立如图2.19的模型。仿真运行后,输出量yout保存在工作空间内,可供用户调用,绘制输出轨迹。
图2.19Out模块应用
也可从[Simulation]菜单调用Simulationparameters对话WorkspaceI/O页面,定义时间变量为tout,输出变量为yout。仿真结速后,在MATLABCOMMAND窗口下键入plot(tout,yout)观察输出轨迹。
3、利用ToWorkspace模块
建立如图2.20所示的Simulink模型,模型中采用两个ToWorkspace模块,一个用于记录时间变量t,一个用来记录变量y。变量名t和y通过打开ToWorkspace模块对话框填入。ToWorkspace只能接受一个输入变量。仿真结束后,在MATLABCOMMAND窗口下,键入plot(t,y)可观察输出y的轨迹。
图2.20ToWorkspace模块应用
仿真结果可以以数据文件的形式存起来,有两种方法:
(l)利用MATLABCOMMAND窗口,键入
ty=[ty];
savetyydout.dat-Ascii
(2)利用ToFile模块[4]。
三、系统建模与分析
电机驱动的位置伺服系统示意图如图3.1所示。由前文分析可知,PMSM电机的d-q轴分解及分轴控制在商业驱动器内部完成,本章所涉及的问题主要是基于商业驱动器模式下的电动位置伺服系统建模与特性验证。
图3.1电动位置伺服系统示意图
3.1电动位置伺服系统建模
通常,基于d-q轴分解驱动后的电动位置伺服系统的模型可建立如下。
1)惯性负载的运动学方程
基于牛顿第二定律,惯性负载的运动学方程可建模如下:
(3-1)