s3.m
来自「simulink electrical machine(2)」· M 代码 · 共 1,389 行 · 第 1/4 页
M
1,389 行
set_param([sys,'/','qde2abc/ids^e*'],...
'Port','2',...
'position',[65,110,85,130])
add_block('built-in/Outport',[sys,'/','qde2abc/ias*'])
set_param([sys,'/','qde2abc/ias*'],...
'position',[565,90,585,110])
add_block('built-in/Fcn',[sys,'/','qde2abc/iqs^s'])
set_param([sys,'/','qde2abc/iqs^s'],...
'Expr','u[1]*u[3] + u[2]*u[4]',...
'position',[175,96,300,124])
add_block('built-in/Fcn',[sys,'/','qde2abc/ics'])
set_param([sys,'/','qde2abc/ics'],...
'Expr','-(u[1] -sqrt(3)*u[2])/2',...
'position',[405,182,535,208])
add_block('built-in/Mux',[sys,'/','qde2abc/Mux1'])
set_param([sys,'/','qde2abc/Mux1'],...
'inputs','2',...
'position',[330,96,355,189])
add_block('built-in/Fcn',[sys,'/','qde2abc/ibs'])
set_param([sys,'/','qde2abc/ibs'],...
'Expr','-(u[1] + sqrt(3)*u[2])/2',...
'position',[405,131,535,159])
add_block('built-in/Fcn',[sys,'/','qde2abc/ids^s'])
set_param([sys,'/','qde2abc/ids^s'],...
'Expr','-u[1]*u[4] + u[2]*u[3]',...
'position',[175,161,300,189])
add_block('built-in/Fcn',[sys,'/','qde2abc/ias'])
set_param([sys,'/','qde2abc/ias'],...
'Expr','u[1]',...
'position',[410,86,535,114])
add_block('built-in/Mux',[sys,'/','qde2abc/Mux'])
set_param([sys,'/','qde2abc/Mux'],...
'position',[115,62,140,218])
add_block('built-in/Inport',[sys,'/','qde2abc/iqs^e*'])
set_param([sys,'/','qde2abc/iqs^e*'],...
'position',[65,70,85,90])
add_block('built-in/Inport',[sys,'/','qde2abc/sin_rho'])
set_param([sys,'/','qde2abc/sin_rho'],...
'Port','4',...
'position',[65,190,85,210])
add_block('built-in/Inport',[sys,'/','qde2abc/cos_rho'])
set_param([sys,'/','qde2abc/cos_rho'],...
'Port','3',...
'position',[65,150,85,170])
add_line([sys,'/','qde2abc'],[360,145;375,145;375,195;400,195])
add_line([sys,'/','qde2abc'],[360,145;400,145])
add_line([sys,'/','qde2abc'],[360,145;375,145;375,100;405,100])
add_line([sys,'/','qde2abc'],[305,175;310,175;310,165;325,165])
add_line([sys,'/','qde2abc'],[305,110;310,110;310,120;325,120])
add_line([sys,'/','qde2abc'],[145,140;150,140;150,175;170,175])
add_line([sys,'/','qde2abc'],[145,140;150,140;150,110;170,110])
add_line([sys,'/','qde2abc'],[90,80;110,80])
add_line([sys,'/','qde2abc'],[540,100;560,100])
add_line([sys,'/','qde2abc'],[90,120;110,120])
add_line([sys,'/','qde2abc'],[540,145;560,145])
add_line([sys,'/','qde2abc'],[90,160;110,160])
add_line([sys,'/','qde2abc'],[90,200;110,200])
add_line([sys,'/','qde2abc'],[540,195;560,195])
% Finished composite block 'qde2abc'.
set_param([sys,'/','qde2abc'],...
'position',[275,171,315,264])
% Subsystem 'Field_Orient'.
new_system([sys,'/','Field_Orient'])
set_param([sys,'/','Field_Orient'],'Location',[337,454,1015,790])
add_block('built-in/Fcn',[sys,'/','Field_Orient/Fcn'])
set_param([sys,'/','Field_Orient/Fcn'],...
'Expr','cos(u[1])',...
'position',[450,193,520,217])
add_block('built-in/Sum',[sys,'/','Field_Orient/rho'])
set_param([sys,'/','Field_Orient/rho'],...
'position',[400,237,415,273])
add_block('built-in/Integrator',[sys,'/','Field_Orient/theta2'])
set_param([sys,'/','Field_Orient/theta2'],...
'position',[325,194,360,226])
add_block('built-in/Note',[sys,'/','Field_Orient/w2'])
set_param([sys,'/','Field_Orient/w2'],...
'position',[295,190,300,195])
add_block('built-in/Fcn',[sys,'/','Field_Orient/we-wr'])
set_param([sys,'/','Field_Orient/we-wr'],...
'Expr','(rpr*wb/xr)*(u[1]/u[2])',...
'position',[105,192,275,228])
add_block('built-in/Mux',[sys,'/','Field_Orient/Mux'])
set_param([sys,'/','Field_Orient/Mux'],...
'inputs','2',...
'position',[135,55,160,90])
add_block('built-in/Inport',[sys,'/','Field_Orient/Tem*'])
set_param([sys,'/','Field_Orient/Tem*'],...
'position',[35,55,55,75])
add_block('built-in/Inport',[sys,'/','Field_Orient/thetar'])
set_param([sys,'/','Field_Orient/thetar'],...
'Port','3',...
'position',[35,255,55,275])
add_block('built-in/Outport',[sys,'/','Field_Orient/cos_rho'])
set_param([sys,'/','Field_Orient/cos_rho'],...
'Port','3',...
'position',[560,195,580,215])
add_block('built-in/Fcn',[sys,'/','Field_Orient/Fcn1'])
set_param([sys,'/','Field_Orient/Fcn1'],...
'position',[450,253,520,277])
add_block('built-in/Outport',[sys,'/','Field_Orient/sin_rho'])
set_param([sys,'/','Field_Orient/sin_rho'],...
'Port','4',...
'position',[560,255,580,275])
add_block('built-in/Outport',[sys,'/','Field_Orient/iqs^e*'])
set_param([sys,'/','Field_Orient/iqs^e*'],...
'position',[560,65,580,85])
add_block('built-in/Inport',[sys,'/','Field_Orient/lambdadre'])
set_param([sys,'/','Field_Orient/lambdadre'],...
'Port','2',...
'position',[35,130,55,150])
add_block('built-in/Derivative',[sys,'/','Field_Orient/Derivative'])
set_param([sys,'/','Field_Orient/Derivative'],...
'position',[110,130,140,150])
add_block('built-in/Mux',[sys,'/','Field_Orient/Mux2'])
set_param([sys,'/','Field_Orient/Mux2'],...
'inputs','2',...
'position',[165,111,185,149])
add_block('built-in/Outport',[sys,'/','Field_Orient/ids^e*'])
set_param([sys,'/','Field_Orient/ids^e*'],...
'Port','2',...
'position',[560,120,580,140])
add_block('built-in/Mux',[sys,'/','Field_Orient/Mux1'])
set_param([sys,'/','Field_Orient/Mux1'],...
'inputs','2',...
'position',[450,89,480,116])
add_block('built-in/Fcn',[sys,'/','Field_Orient/ids^e'])
set_param([sys,'/','Field_Orient/ids^e'],...
'Expr','(xr*u[2]+rpr*wb*u[1])/(rpr*xm)',...
'position',[230,111,405,149])
add_block('built-in/Fcn',[sys,'/','Field_Orient/iqs^e'])
set_param([sys,'/','Field_Orient/iqs^e'],...
'Expr','(4/(3*P))*u[1]*xr/(xm*u[2])',...
'position',[220,59,405,91])
add_line([sys,'/','Field_Orient'],[420,255;430,255;430,265;445,265])
add_line([sys,'/','Field_Orient'],[420,255;430,255;430,205;445,205])
add_line([sys,'/','Field_Orient'],[365,210;375,210;375,245;395,245])
add_line([sys,'/','Field_Orient'],[280,210;320,210])
add_line([sys,'/','Field_Orient'],[485,105;505,105;505,170;80,170;80,210;100,210])
add_line([sys,'/','Field_Orient'],[410,75;435,75;445,95])
add_line([sys,'/','Field_Orient'],[165,75;215,75])
add_line([sys,'/','Field_Orient'],[60,65;130,65])
add_line([sys,'/','Field_Orient'],[410,75;555,75])
add_line([sys,'/','Field_Orient'],[60,140;90,140;90,80;130,80])
add_line([sys,'/','Field_Orient'],[525,205;555,205])
add_line([sys,'/','Field_Orient'],[60,265;395,265])
add_line([sys,'/','Field_Orient'],[525,265;555,265])
add_line([sys,'/','Field_Orient'],[60,140;105,140])
add_line([sys,'/','Field_Orient'],[145,140;160,140])
add_line([sys,'/','Field_Orient'],[60,140;90,140;90,120;160,120])
add_line([sys,'/','Field_Orient'],[190,130;225,130])
add_line([sys,'/','Field_Orient'],[410,130;555,130])
add_line([sys,'/','Field_Orient'],[410,130;435,130;445,110])
% Finished composite block 'Field_Orient'.
set_param([sys,'/','Field_Orient'],...
'position',[180,168,220,267])
add_block('built-in/Mux',[sys,'/','Mux'])
set_param([sys,'/','Mux'],...
'orientation',3,...
'inputs','7',...
'position',[123,75,717,85])
add_block('built-in/Scope',[sys,'/','Scope'])
set_param([sys,'/','Scope'],...
'Vgain','300.000000',...
'Hgain','2.000000',...
'Vmax','600.000000',...
'Hmax','4.000000',...
'Window',[20,463,832,625])
open_system([sys,'/','Scope'])
set_param([sys,'/','Scope'],...
'position',[465,32,485,58])
add_block('built-in/To Workspace',[sys,'/','To Workspace'])
set_param([sys,'/','To Workspace'],...
'orientation',2,...
'mat-name','y',...
'buffer','40000',...
'position',[305,37,355,53])
add_block('built-in/Note',[sys,'/','thetar_'])
set_param([sys,'/','thetar_'],...
'position',[205,322,210,327])
add_block('built-in/Note',[sys,'/','wrm'])
set_param([sys,'/','wrm'],...
'position',[160,355,165,360])
add_block('built-in/Fcn',[sys,'/',['Rotor flux ',13,'magnitude']])
set_param([sys,'/',['Rotor flux ',13,'magnitude']],...
'Expr','sqrt(u[1]*u[1]+u[2]*u[2])',...
'position',[730,382,825,408])
add_block('built-in/Sum',[sys,'/','Sum'])
set_param([sys,'/','Sum'],...
'inputs','+++',...
'position',[805,175,820,235])
% Subsystem 'Tmech1'.
new_system([sys,'/','Tmech1'])
set_param([sys,'/','Tmech1'],'Location',[5,40,315,196])
add_block('built-in/Outport',[sys,'/','Tmech1/out_1'])
set_param([sys,'/','Tmech1/out_1'],...
'position',[285,60,305,80])
add_block('built-in/Look Up Table',[sys,'/','Tmech1/Look-Up Table'])
set_param([sys,'/','Tmech1/Look-Up Table'],...
'Input_Values','t',...
'Output_Values','y',...
'position',[210,58,250,82])
add_block('built-in/Fcn',[sys,'/','Tmech1/Fcn1'])
set_param([sys,'/','Tmech1/Fcn1'],...
'Expr','rem(u[1],period)',...
'position',[110,60,150,80])
add_block('built-in/Clock',[sys,'/','Tmech1/Clock'])
set_param([sys,'/','Tmech1/Clock'],...
'position',[45,60,65,80])
add_line([sys,'/','Tmech1'],[255,70;280,70])
add_line([sys,'/','Tmech1'],[70,70;105,70])
add_line([sys,'/','Tmech1'],[155,70;205,70])
set_param([sys,'/','Tmech1'],...
'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,'/','Tmech1'],...
'Mask Translate','period = max(@1); t = @1; y = @2;',...
'Mask Help','Repeats cycle given in table. Time values should be monotonically increasing.',...
'Mask Entries','time_tmech\/tmech_tmech\/')
% Finished composite block 'Tmech1'.
set_param([sys,'/','Tmech1'],...
'position',[490,299,530,321])
% Subsystem ['Speed',13,'Ref1'].
new_system([sys,'/',['Speed',13,'Ref1']])
set_param([sys,'/',['Speed',13,'Ref1']],'Location',[5,40,315,196])
add_block('built-in/Outport',[sys,'/',['Speed',13,'Ref1/out_1']])
set_param([sys,'/',['Speed',13,'Ref1/out_1']],...
'position',[285,60,305,80])
add_block('built-in/Look Up Table',[sys,'/',['Speed',13,'Ref1/Look-Up Table']])
set_param([sys,'/',['Speed',13,'Ref1/Look-Up Table']],...
'Input_Values','t',...
'Output_Values','y',...
'position',[210,58,250,82])
add_block('built-in/Fcn',[sys,'/',['Speed',13,'Ref1/Fcn1']])
set_param([sys,'/',['Speed',13,'Ref1/Fcn1']],...
'Expr','rem(u[1],period)',...
'position',[110,60,150,80])
add_block('built-in/Clock',[sys,'/',['Speed',13,'Ref1/Clock']])
set_param([sys,'/',['Speed',13,'Ref1/Clock']],...
'position',[45,60,65,80])
add_line([sys,'/',['Speed',13,'Ref1']],[255,70;280,70])
add_line([sys,'/',['Speed',13,'Ref1']],[70,70;105,70])
add_line([sys,'/',['Speed',13,'Ref1']],[155,70;205,70])
set_param([sys,'/',['Speed',13,'Ref1']],...
'Mask Display','plot([t,t+period,t+2*period],[y,y,y])',...
'Mask Type','Repeating table')
set_param([sys,'/',['Speed',13,'Ref1']],...
'Mask Dialogue','Repeating table.\nEnter values of time and output for first cycle.|Time values:|Output values:',...
'Mask Translate','period = max(@1); t = @1; y = @2;')
set_param([sys,'/',['Speed',13,'Ref1']],...
'Mask Help','Repeats cycle given in table. Time values should be monotonically increasing.',...
'Mask Entries','time_wref\/speed_wref\/')
% Finished composite block ['Speed',13,'Ref1'].
set_param([sys,'/',['Speed',13,'Ref1']],...
'orientation',2,...
'position',[80,120,120,140])
add_block('built-in/Note',[sys,'/','wref'])
set_param([sys,'/','wref'],...
'position',[55,110,60,115])
add_block('built-in/Note',[sys,'/','iqs^e*'])
set_param([sys,'/','iqs^e*'],...
'position',[240,160,245,165])
add_block('built-in/Note',[sys,'/','cos_rho'])
set_param([sys,'/','cos_rho'],...
'position',[245,210,250,215])
add_block('built-in/Transfer Fcn',[sys,'/',['Torque',13,'Controller']])
set_param([sys,'/',['Torque',13,'Controller']],...
'Numerator','[30 7]',...
'Denominator','[1 0]',...
'position',[90,166,145,204])
add_block('built-in/Gain',[sys,'/','vag'])
set_param([sys,'/','vag'],...
'Gain','500*Zb',...
'position',[410,155,430,175])
add_block('built-in/Sum',[sys,'/','Sa'])
set_param([sys,'/','Sa'],...
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?