📄 s6.m
字号:
add_block('built-in/Logical Operator',[sys,'/',['ExtConn/Logical',13,'Operator2']])
set_param([sys,'/',['ExtConn/Logical',13,'Operator2']],...
'orientation',3,...
'Operator','OR',...
'position',[527,230,558,250])
add_block('built-in/Switch',[sys,'/','ExtConn/Switch4'])
set_param([sys,'/','ExtConn/Switch4'],...
'Threshold','0.5',...
'position',[120,168,140,222])
add_line([sys,'/','ExtConn'],[65,50;760,50])
add_line([sys,'/','ExtConn'],[455,195;460,195;460,140;480,140])
add_line([sys,'/','ExtConn'],[65,50;475,50;475,90;520,90])
add_line([sys,'/','ExtConn'],[600,90;610,90;610,135;635,135])
add_line([sys,'/','ExtConn'],[140,355;210,355])
add_line([sys,'/','ExtConn'],[175,395;190,395;190,365;210,365])
add_line([sys,'/','ExtConn'],[250,360;265,360])
add_line([sys,'/','ExtConn'],[205,280;240,280])
add_line([sys,'/','ExtConn'],[200,330;210,330;210,290;240,290])
add_line([sys,'/','ExtConn'],[280,285;300,285;300,340;325,340])
add_line([sys,'/','ExtConn'],[305,360;325,360])
add_line([sys,'/','ExtConn'],[370,350;390,350])
add_line([sys,'/','ExtConn'],[405,105;465,105;465,125;480,125])
add_line([sys,'/','ExtConn'],[400,195;415,195])
add_line([sys,'/','ExtConn'],[65,175;80,175;80,280;155,280])
add_line([sys,'/','ExtConn'],[430,350;435,350;435,295;400,295])
add_line([sys,'/','ExtConn'],[445,280;400,280])
add_line([sys,'/','ExtConn'],[350,290;340,290;340,195;365,195])
add_line([sys,'/','ExtConn'],[350,290;340,290;340,105;370,105])
add_line([sys,'/','ExtConn'],[335,125;370,125])
add_line([sys,'/','ExtConn'],[260,85;370,85])
add_line([sys,'/','ExtConn'],[330,215;365,215])
add_line([sys,'/','ExtConn'],[275,175;365,175])
add_line([sys,'/','ExtConn'],[545,225;545,155;565,155])
add_line([sys,'/','ExtConn'],[750,125;785,125])
add_line([sys,'/','ExtConn'],[615,340;695,340;695,125;720,125])
add_line([sys,'/','ExtConn'],[570,280;550,280;550,255])
add_line([sys,'/','ExtConn'],[445,280;435,280;435,265;535,255])
add_line([sys,'/','ExtConn'],[665,145;720,145])
add_line([sys,'/','ExtConn'],[140,455;675,455;675,105;720,105])
add_line([sys,'/','ExtConn'],[570,280;550,280;550,330;575,330])
add_line([sys,'/','ExtConn'],[430,350;575,350])
add_line([sys,'/','ExtConn'],[510,135;530,135;530,200;780,200])
add_line([sys,'/','ExtConn'],[65,175;115,175])
add_line([sys,'/','ExtConn'],[545,225;545,215;500,215;500,245;95,245;95,195;115,195])
add_line([sys,'/','ExtConn'],[145,195;165,195;165,215;250,215])
add_line([sys,'/','ExtConn'],[145,195;165,195;165,175;195,175])
add_line([sys,'/','ExtConn'],[145,195;165,195;165,125;250,125])
add_line([sys,'/','ExtConn'],[145,195;165,195;165,85;195,85])
add_line([sys,'/','ExtConn'],[595,155;635,155])
add_line([sys,'/','ExtConn'],[510,135;565,135])
% Finished composite block 'ExtConn'.
set_param([sys,'/','ExtConn'],...
'position',[135,276,185,394])
add_block('built-in/Clock',[sys,'/','Clock'])
set_param([sys,'/','Clock'],...
'position',[75,110,95,130])
add_block('built-in/Note',[sys,'/','psidr'])
set_param([sys,'/','psidr'],...
'position',[419,395,424,400])
add_block('built-in/Note',[sys,'/','psiqr'])
set_param([sys,'/','psiqr'],...
'position',[400,225,405,230])
add_block('built-in/Note',[sys,'/','vqs'])
set_param([sys,'/','vqs'],...
'position',[235,175,240,180])
add_block('built-in/Note',[sys,'/',['v''ds']])
set_param([sys,'/',['v''ds']],...
'position',[240,310,245,315])
add_block('built-in/Note',[sys,'/','psiqs'])
set_param([sys,'/','psiqs'],...
'position',[405,170,410,175])
add_block('built-in/Note',[sys,'/','iqs'])
set_param([sys,'/','iqs'],...
'position',[400,190,405,195])
add_block('built-in/Note',[sys,'/',['i''ds']])
set_param([sys,'/',['i''ds']],...
'position',[390,355,395,360])
add_block('built-in/Note',[sys,'/',['psi''ds']])
set_param([sys,'/',['psi''ds']],...
'position',[385,340,390,345])
% Subsystem 'Rotor'.
new_system([sys,'/','Rotor'])
set_param([sys,'/','Rotor'],'Location',[149,82,804,355])
add_block('built-in/Outport',[sys,'/','Rotor/out_Tem'])
set_param([sys,'/','Rotor/out_Tem'],...
'position',[540,60,560,80])
add_block('built-in/Sum',[sys,'/','Rotor/Taccl'])
set_param([sys,'/','Rotor/Taccl'],...
'inputs','++-',...
'position',[355,95,370,175])
add_block('built-in/Gain',[sys,'/','Rotor/1//2H'])
set_param([sys,'/','Rotor/1//2H'],...
'Gain','1/(2*H)',...
'position',[395,109,460,161])
add_block('built-in/Integrator',[sys,'/','Rotor/1//s'])
set_param([sys,'/','Rotor/1//s'],...
'Initial','wrbywbo',...
'position',[480,120,510,150])
add_block('built-in/Outport',[sys,'/','Rotor/out_wr//wb'])
set_param([sys,'/','Rotor/out_wr//wb'],...
'Port','2',...
'position',[550,123,570,147])
add_block('built-in/Gain',[sys,'/',['Rotor/Damping',13,'coefficient']])
set_param([sys,'/',['Rotor/Damping',13,'coefficient']],...
'orientation',2,...
'Gain','Domega',...
'position',[440,177,510,213])
add_block('built-in/Note',[sys,'/','Rotor/Tdamp'])
set_param([sys,'/','Rotor/Tdamp'],...
'position',[405,175,410,180])
add_block('built-in/Fcn',[sys,'/','Rotor/Tem_'])
set_param([sys,'/','Rotor/Tem_'],...
'Expr','Tfactor*(u[3]*u[2]-u[1]*u[4])',...
'position',[150,96,310,124])
add_block('built-in/Mux',[sys,'/','Rotor/Mux'])
set_param([sys,'/','Rotor/Mux'],...
'position',[105,26,130,194])
add_block('built-in/Inport',[sys,'/','Rotor/in_psiqs'])
set_param([sys,'/','Rotor/in_psiqs'],...
'position',[55,40,75,60])
add_block('built-in/Inport',[sys,'/','Rotor/in_iqs'])
set_param([sys,'/','Rotor/in_iqs'],...
'Port','2',...
'position',[55,80,75,100])
add_block('built-in/Inport',[sys,'/',['Rotor/in_psi''ds']])
set_param([sys,'/',['Rotor/in_psi''ds']],...
'Port','3',...
'position',[55,120,75,140])
add_block('built-in/Inport',[sys,'/',['Rotor/in_i''ds']])
set_param([sys,'/',['Rotor/in_i''ds']],...
'Port','4',...
'position',[55,160,75,180])
add_block('built-in/Inport',[sys,'/','Rotor/in_Tmech'])
set_param([sys,'/','Rotor/in_Tmech'],...
'Port','5',...
'position',[55,200,75,220])
add_line([sys,'/','Rotor'],[515,135;545,135])
add_line([sys,'/','Rotor'],[80,210;310,210;310,135;350,135])
add_line([sys,'/','Rotor'],[375,135;390,135])
add_line([sys,'/','Rotor'],[465,135;475,135])
add_line([sys,'/','Rotor'],[315,110;350,110])
add_line([sys,'/','Rotor'],[315,110;325,110;325,70;535,70])
add_line([sys,'/','Rotor'],[515,135;530,135;530,195;515,195])
add_line([sys,'/','Rotor'],[435,195;330,195;330,160;350,160])
add_line([sys,'/','Rotor'],[135,110;145,110])
add_line([sys,'/','Rotor'],[80,50;100,50])
add_line([sys,'/','Rotor'],[80,90;100,90])
add_line([sys,'/','Rotor'],[80,130;100,130])
add_line([sys,'/','Rotor'],[80,170;100,170])
% Finished composite block 'Rotor'.
set_param([sys,'/','Rotor'],...
'position',[575,223,620,387])
add_block('built-in/Note',[sys,'/','wr//wb'])
set_param([sys,'/','wr//wb'],...
'position',[640,320,645,325])
add_block('built-in/Note',[sys,'/','Tem'])
set_param([sys,'/','Tem'],...
'position',[629,242,634,247])
% Subsystem 'Tmech'.
new_system([sys,'/','Tmech'])
set_param([sys,'/','Tmech'],'Location',[5,40,315,196])
add_block('built-in/Outport',[sys,'/','Tmech/out_1'])
set_param([sys,'/','Tmech/out_1'],...
'position',[285,60,305,80])
add_block('built-in/Look Up Table',[sys,'/','Tmech/Look-Up Table'])
set_param([sys,'/','Tmech/Look-Up Table'],...
'Input_Values','t',...
'Output_Values','y',...
'position',[210,58,250,82])
add_block('built-in/Fcn',[sys,'/','Tmech/Fcn1'])
set_param([sys,'/','Tmech/Fcn1'],...
'Expr','rem(u[1],period)',...
'position',[110,60,150,80])
add_block('built-in/Clock',[sys,'/','Tmech/Clock'])
set_param([sys,'/','Tmech/Clock'],...
'position',[45,60,65,80])
add_line([sys,'/','Tmech'],[255,70;280,70])
add_line([sys,'/','Tmech'],[70,70;105,70])
add_line([sys,'/','Tmech'],[155,70;205,70])
set_param([sys,'/','Tmech'],...
'Mask Display','plot([t,t+period,t+2*period],[y,y,y])',...
'Mask Type','Repeating table',...
'Mask Dialogue','Repeating table.\nEnter values of time and output for first cycle.|Time values:|Output values:')
set_param([sys,'/','Tmech'],...
'Mask Translate','period = max(@1); t = @1; y = @2;',...
'Mask Help','Repeats cycle given in table. Time values should be monotonically increasing.',...
'Mask Entries','tmech_time\/tmech_value\/')
% Finished composite block 'Tmech'.
set_param([sys,'/','Tmech'],...
'position',[460,379,530,401])
add_block('built-in/To Workspace',[sys,'/','To Workspace'])
set_param([sys,'/','To Workspace'],...
'mat-name','y',...
'buffer','80000',...
'position',[475,26,520,44])
add_block('built-in/Scope',[sys,'/','Scope'])
set_param([sys,'/','Scope'],...
'orientation',2,...
'Vgain','200.000000',...
'Hgain','2.000000',...
'Vmax','400.000000',...
'Hmax','4.000000',...
'Window',[4,392,781,579])
open_system([sys,'/','Scope'])
set_param([sys,'/','Scope'],...
'position',[270,24,290,46])
add_block('built-in/Note',[sys,'/',['Single-Phase Induction ',13,'Machine Simulation']])
set_param([sys,'/',['Single-Phase Induction ',13,'Machine Simulation']],...
'position',[145,20,150,25])
add_block('built-in/Sine Wave',[sys,'/','Sine Wave'])
set_param([sys,'/','Sine Wave'],...
'amplitude','Vm',...
'frequency','we',...
'phase','-pi/2',...
'position',[60,280,105,300])
% Subsystem 'm6'.
new_system([sys,'/','m6'])
set_param([sys,'/','m6'],'Location',[10,55,1133,881])
add_block('built-in/Note',[sys,'/',['m6/Masked block of m6.m to initialize s6.m ',13,'and plot results']])
set_param([sys,'/',['m6/Masked block of m6.m to initialize s6.m ',13,'and plot results']],...
'position',[85,60,90,65])
set_param([sys,'/','m6'],...
'Mask Display','Initialize\nand plot',...
'Mask Type','Masked block of m6.m',...
'Mask Dialogue','eval(''m6'')',...
'Mask Help','Uses m6.m to initialize and plot')
% Finished composite block 'm6'.
set_param([sys,'/','m6'],...
'Drop Shadow',4,...
'position',[68,177,139,220])
add_line(sys,[335,315;315,315;315,230;330,230])
add_line(sys,[190,335;290,335;290,370;325,370])
add_line(sys,[190,295;190,195;330,195])
add_line(sys,[335,270;305,270;305,405;325,405])
add_line(sys,[625,345;660,345;660,415;425,415;425,275;365,275])
add_line(sys,[625,345;660,345;660,415;425,415;425,310;365,310])
add_line(sys,[385,60;385,35;470,35])
add_line(sys,[385,60;385,35;295,35])
add_line(sys,[375,235;385,235;385,265;365,265])
add_line(sys,[370,400;400,400;400,320;365,320])
add_line(sys,[535,390;550,390;550,365;570,365])
add_line(sys,[375,190;530,190;530,245;570,245])
add_line(sys,[375,205;515,205;515,275;570,275])
add_line(sys,[370,355;440,355;440,305;570,305])
add_line(sys,[370,370;495,370;495,335;570,335])
add_line(sys,[370,370;390,370;390,455;105,455;105,350;130,350])
add_line(sys,[625,345;660,345;660,465;90,465;90,320;130,320])
add_line(sys,[110,290;130,290])
add_line(sys,[100,120;110,120;110,90])
add_line(sys,[190,295;190,130;165,130;165,90])
add_line(sys,[190,335;220,335;220,90])
add_line(sys,[625,345;660,345;660,90])
add_line(sys,[625,265;645,265;645,160;605,160;605,90])
add_line(sys,[535,390;550,390;550,90])
add_line(sys,[370,370;495,370;495,90])
add_line(sys,[370,355;440,355;440,90])
add_line(sys,[375,205;385,205;385,90])
add_line(sys,[375,190;375,135;330,135;330,90])
add_line(sys,[190,375;275,375;275,90])
add_line(sys,[370,415;380,415;380,440;120,440;130,380])
drawnow
% Return any arguments.
if (nargin | nargout)
% Must use feval here to access system in memory
if (nargin > 3)
if (flag == 0)
eval(['[ret,x0,str,ts,xts]=',sys,'(t,x,u,flag);'])
else
eval(['ret =', sys,'(t,x,u,flag);'])
end
else
[ret,x0,str,ts,xts] = feval(sys);
end
else
drawnow % Flash up the model and execute load callback
end
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -