⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 s4.m

📁 simulink electrical machine(2)
💻 M
📖 第 1 页 / 共 3 页
字号:
function [ret,x0,str,ts,xts]=s4(t,x,u,flag);
%s4	is the M-file description of the SIMULINK system named s4.
%	The block-diagram can be displayed by typing: s4.
%
%	SYS=s4(T,X,U,FLAG) returns depending on FLAG certain
%	system values given time point, T, current state vector, X,
%	and input vector, U.
%	FLAG is used to indicate the type of output to be returned in SYS.
%
%	Setting FLAG=1 causes s4 to return state derivatives, FLAG=2
%	discrete states, FLAG=3 system outputs and FLAG=4 next sample
%	time. For more information and other options see SFUNC.
%
%	Calling s4 with a FLAG of zero:
%	[SIZES]=s4([],[],[],0),  returns a vector, SIZES, which
%	contains the sizes of the state vector and other parameters.
%		SIZES(1) number of states
%		SIZES(2) number of discrete states
%		SIZES(3) number of outputs
%		SIZES(4) number of inputs
%		SIZES(5) number of roots (currently unsupported)
%		SIZES(6) direct feedthrough flag
%		SIZES(7) number of sample times
%
%	For the definition of other parameters in SIZES, see SFUNC.
%	See also, TRIM, LINMOD, LINSIM, EULER, RK23, RK45, ADAMS, GEAR.

% Note: This M-file is only used for saving graphical information;
%       after the model is loaded into memory an internal model
%       representation is used.

% the system will take on the name of this mfile:
sys = mfilename;
new_system(sys)
simver(1.3)
if (0 == (nargin + nargout))
     set_param(sys,'Location',[27,71,780,445])
     open_system(sys)
end;
set_param(sys,'algorithm',     'Adams/Gear')
set_param(sys,'Start time',    '0.0')
set_param(sys,'Stop time',     'tstop')
set_param(sys,'Min step size', '1e-4')
set_param(sys,'Max step size', '5e-3')
set_param(sys,'Relative error','5e-6')
set_param(sys,'Return vars',   '')

add_block('built-in/Note',[sys,'/','vq'])
set_param([sys,'/','vq'],...
		'position',[220,170,225,175])

add_block('built-in/Note',[sys,'/','v0'])
set_param([sys,'/','v0'],...
		'position',[215,235,220,240])

add_block('built-in/Sine Wave',[sys,'/','va'])
set_param([sys,'/','va'],...
		'Font Number',3,...
		'amplitude','Vm',...
		'frequency','we',...
		'phase','pi/2',...
		'position',[65,169,90,191])

add_block('built-in/Sine Wave',[sys,'/','vb'])
set_param([sys,'/','vb'],...
		'Font Number',3,...
		'amplitude','Vm',...
		'frequency','we',...
		'phase','-pi/6',...
		'position',[65,209,90,231])


%     Subsystem  'abc2qd0'.

new_system([sys,'/','abc2qd0'])
set_param([sys,'/','abc2qd0'],'Location',[454,254,1125,632])

add_block('built-in/Outport',[sys,'/','abc2qd0/vqr'])
set_param([sys,'/','abc2qd0/vqr'],...
		'position',[595,70,615,90])

add_block('built-in/Outport',[sys,'/','abc2qd0/vdr'])
set_param([sys,'/','abc2qd0/vdr'],...
		'Port','2',...
		'position',[590,145,610,165])

add_block('built-in/Outport',[sys,'/','abc2qd0/vd0'])
set_param([sys,'/','abc2qd0/vd0'],...
		'Port','3',...
		'position',[590,225,610,245])

add_block('built-in/Fcn',[sys,'/','abc2qd0/abc2q'])
set_param([sys,'/','abc2qd0/abc2q'],...
		'Expr','(2*u[1]- u[2] - u[3])/3',...
		'position',[150,129,290,151])

add_block('built-in/Fcn',[sys,'/','abc2qd0/abc20'])
set_param([sys,'/','abc2qd0/abc20'],...
		'Expr','(u[1] + u[2]  + u[3])/3',...
		'position',[150,224,290,246])

add_block('built-in/Fcn',[sys,'/','abc2qd0/abc2d'])
set_param([sys,'/','abc2qd0/abc2d'],...
		'Expr','(u[3] -u[2])/sqrt(3)',...
		'position',[150,174,290,196])

add_block('built-in/Inport',[sys,'/','abc2qd0/vc'])
set_param([sys,'/','abc2qd0/vc'],...
		'Port','3',...
		'position',[40,210,60,230])

add_block('built-in/Inport',[sys,'/','abc2qd0/vb'])
set_param([sys,'/','abc2qd0/vb'],...
		'Port','2',...
		'position',[40,175,60,195])

add_block('built-in/Inport',[sys,'/','abc2qd0/va'])
set_param([sys,'/','abc2qd0/va'],...
		'position',[40,140,60,160])

add_block('built-in/Mux',[sys,'/','abc2qd0/Mux'])
set_param([sys,'/','abc2qd0/Mux'],...
		'inputs','3',...
		'position',[90,129,115,241])

add_block('built-in/Note',[sys,'/','abc2qd0/vds'])
set_param([sys,'/','abc2qd0/vds'],...
		'position',[325,150,330,155])

add_block('built-in/Inport',[sys,'/','abc2qd0/cos_thetar'])
set_param([sys,'/','abc2qd0/cos_thetar'],...
		'Port','4',...
		'position',[40,60,60,80])

add_block('built-in/Mux',[sys,'/','abc2qd0/Mux1'])
set_param([sys,'/','abc2qd0/Mux1'],...
		'position',[375,56,400,189])

add_block('built-in/Inport',[sys,'/','abc2qd0/sin_thetar'])
set_param([sys,'/','abc2qd0/sin_thetar'],...
		'Port','5',...
		'position',[40,95,60,115])

add_block('built-in/Note',[sys,'/','abc2qd0/abc2qd0'])
set_param([sys,'/','abc2qd0/abc2qd0'],...
		'position',[205,275,210,280])

add_block('built-in/Note',[sys,'/','abc2qd0/qds2qdr'])
set_param([sys,'/','abc2qd0/qds2qdr'],...
		'position',[470,275,475,280])

add_block('built-in/Fcn',[sys,'/','abc2qd0/qds2dr'])
set_param([sys,'/','abc2qd0/qds2dr'],...
		'Expr','u[2]*u[3] + u[1]*u[4] ',...
		'position',[425,143,560,167])

add_block('built-in/Fcn',[sys,'/','abc2qd0/qds2qr'])
set_param([sys,'/','abc2qd0/qds2qr'],...
		'Expr','u[1]*u[3] - u[2]*u[4]',...
		'position',[425,68,560,92])

add_block('built-in/Note',[sys,'/','abc2qd0/vqs'])
set_param([sys,'/','abc2qd0/vqs'],...
		'position',[325,118,330,123])
add_line([sys,'/','abc2qd0'],[120,185;125,185;125,140;145,140])
add_line([sys,'/','abc2qd0'],[120,185;145,185])
add_line([sys,'/','abc2qd0'],[405,125;405,80;420,80])
add_line([sys,'/','abc2qd0'],[405,125;405,155;420,155])
add_line([sys,'/','abc2qd0'],[65,150;85,150])
add_line([sys,'/','abc2qd0'],[65,185;85,185])
add_line([sys,'/','abc2qd0'],[65,220;85,220])
add_line([sys,'/','abc2qd0'],[565,80;590,80])
add_line([sys,'/','abc2qd0'],[565,155;585,155])
add_line([sys,'/','abc2qd0'],[120,185;125,185;125,235;145,235])
add_line([sys,'/','abc2qd0'],[65,70;370,70])
add_line([sys,'/','abc2qd0'],[65,105;370,105])
add_line([sys,'/','abc2qd0'],[295,140;370,140])
add_line([sys,'/','abc2qd0'],[295,185;325,185;325,175;370,175])
add_line([sys,'/','abc2qd0'],[295,235;585,235])


%     Finished composite block 'abc2qd0'.

set_param([sys,'/','abc2qd0'],...
		'Font Number',3,...
		'position',[160,172,200,268])


%     Subsystem  'qd_motor'.

new_system([sys,'/','qd_motor'])
set_param([sys,'/','qd_motor'],'Location',[165,178,780,654])

add_block('built-in/Outport',[sys,'/','qd_motor/iq_motor'])
set_param([sys,'/','qd_motor/iq_motor'],...
		'position',[340,80,360,100])

add_block('built-in/Inport',[sys,'/','qd_motor/vq'])
set_param([sys,'/','qd_motor/vq'],...
		'position',[60,65,80,85])

add_block('built-in/Product',[sys,'/','qd_motor/prod1'])
set_param([sys,'/','qd_motor/prod1'],...
		'orientation',2,...
		'Font Number',3,...
		'position',[165,148,185,172])

add_block('built-in/Product',[sys,'/','qd_motor/prod2'])
set_param([sys,'/','qd_motor/prod2'],...
		'orientation',2,...
		'Font Number',3,...
		'position',[165,193,185,222])

add_block('built-in/Outport',[sys,'/','qd_motor/id_motor'])
set_param([sys,'/','qd_motor/id_motor'],...
		'Port','6',...
		'position',[240,310,260,330])


%     Subsystem  'qd_motor/d_cct'.

new_system([sys,'/','qd_motor/d_cct'])
set_param([sys,'/','qd_motor/d_cct'],'Location',[71,250,1020,767])

add_block('built-in/Outport',[sys,'/','qd_motor/d_cct/Out_psid'])
set_param([sys,'/','qd_motor/d_cct/Out_psid'],...
		'position',[585,45,605,65])

add_block('built-in/Outport',[sys,'/','qd_motor/d_cct/Out_psimd'])
set_param([sys,'/','qd_motor/d_cct/Out_psimd'],...
		'Port','3',...
		'position',[835,120,855,140])

add_block('built-in/Fcn',[sys,'/','qd_motor/d_cct/Fcn3'])
set_param([sys,'/','qd_motor/d_cct/Fcn3'],...
		'Expr','xMD*(u[1]/xls+u[2]+u[3]/xplkd)',...
		'position',[565,114,775,146])

add_block('built-in/Mux',[sys,'/','qd_motor/d_cct/Mux3'])
set_param([sys,'/','qd_motor/d_cct/Mux3'],...
		'inputs','3',...
		'position',[520,87,545,173])

add_block('built-in/Integrator',[sys,'/','qd_motor/d_cct/psid_'])
set_param([sys,'/','qd_motor/d_cct/psid_'],...
		'Initial','Psido',...
		'position',[390,127,420,153])

add_block('built-in/Fcn',[sys,'/','qd_motor/d_cct/Fcn'])
set_param([sys,'/','qd_motor/d_cct/Fcn'],...
		'Expr','wb*(u[2]+u[3]+(rs/xls)*(u[1]-u[4]))',...
		'position',[180,125,375,155])

add_block('built-in/Inport',[sys,'/','qd_motor/d_cct/In_wrpsiq'])
set_param([sys,'/','qd_motor/d_cct/In_wrpsiq'],...
		'Port','2',...
		'position',[50,160,70,180])

add_block('built-in/Inport',[sys,'/','qd_motor/d_cct/In_vd'])
set_param([sys,'/','qd_motor/d_cct/In_vd'],...
		'position',[50,105,70,125])

add_block('built-in/Mux',[sys,'/','qd_motor/d_cct/Mux'])
set_param([sys,'/','qd_motor/d_cct/Mux'],...
		'position',[135,86,160,189])

add_block('built-in/Inport',[sys,'/','qd_motor/d_cct/In_Ipm'])
set_param([sys,'/','qd_motor/d_cct/In_Ipm'],...
		'Port','3',...
		'position',[50,225,70,245])

add_block('built-in/Mux',[sys,'/','qd_motor/d_cct/Mux4'])
set_param([sys,'/','qd_motor/d_cct/Mux4'],...
		'inputs','2',...
		'position',[520,194,540,261])

add_block('built-in/Fcn',[sys,'/','qd_motor/d_cct/Fcn4'])
set_param([sys,'/','qd_motor/d_cct/Fcn4'],...
		'Expr','(u[1]-u[2])/xls',...
		'position',[570,217,660,243])

add_block('built-in/Outport',[sys,'/','qd_motor/d_cct/Out_id'])
set_param([sys,'/','qd_motor/d_cct/Out_id'],...
		'Port','2',...
		'position',[835,220,855,240])

add_block('built-in/Scope',[sys,'/','qd_motor/d_cct/daxis_Scope'])
set_param([sys,'/','qd_motor/d_cct/daxis_Scope'],...
		'Vgain','3.000000',...
		'Hgain','0.050000',...
		'Vmax','6.000000',...
		'Hmax','2.000000',...
		'Window',[451,130,627,387],...
		'position',[835,347,855,373])

add_block('built-in/Outport',[sys,'/','qd_motor/d_cct/Out_iplkd'])
set_param([sys,'/','qd_motor/d_cct/Out_iplkd'],...
		'Port','4',...
		'position',[835,305,855,325])

add_block('built-in/Fcn',[sys,'/','qd_motor/d_cct/Fcn5'])
set_param([sys,'/','qd_motor/d_cct/Fcn5'],...
		'Expr','(u[1]-u[2])/xplkd',...
		'position',[565,302,660,328])

add_block('built-in/Mux',[sys,'/','qd_motor/d_cct/Mux5'])
set_param([sys,'/','qd_motor/d_cct/Mux5'],...
		'inputs','2',...
		'position',[520,279,540,346])

add_block('built-in/Integrator',[sys,'/','qd_motor/d_cct/psipkd_'])
set_param([sys,'/','qd_motor/d_cct/psipkd_'],...
		'Initial','Psikdo',...
		'position',[395,282,425,308])

add_block('built-in/Fcn',[sys,'/','qd_motor/d_cct/Fcn2'])
set_param([sys,'/','qd_motor/d_cct/Fcn2'],...
		'Expr','wb*rpkd*(u[1]-u[2])/xplkd',...
		'position',[185,281,370,309])

add_block('built-in/Mux',[sys,'/','qd_motor/d_cct/Mux2'])
set_param([sys,'/','qd_motor/d_cct/Mux2'],...
		'inputs','2',...
		'position',[135,255,160,330])
add_line([sys,'/','qd_motor/d_cct'],[75,170;95,170;95,150;130,150])
add_line([sys,'/','qd_motor/d_cct'],[75,115;95,115;95,125;130,125])
add_line([sys,'/','qd_motor/d_cct'],[165,140;175,140])
add_line([sys,'/','qd_motor/d_cct'],[380,140;385,140])
add_line([sys,'/','qd_motor/d_cct'],[425,140;435,140;435,205;115,205;115,175;130,175])
add_line([sys,'/','qd_motor/d_cct'],[165,295;180,295])
add_line([sys,'/','qd_motor/d_cct'],[375,295;390,295])
add_line([sys,'/','qd_motor/d_cct'],[430,295;460,295;460,360;110,360;110,310;130,310])
add_line([sys,'/','qd_motor/d_cct'],[425,140;435,140;435,100;515,100])
add_line([sys,'/','qd_motor/d_cct'],[430,295;460,295;460,160;515,160])
add_line([sys,'/','qd_motor/d_cct'],[550,130;560,130])
add_line([sys,'/','qd_motor/d_cct'],[545,230;565,230])
add_line([sys,'/','qd_motor/d_cct'],[425,140;470,140;470,210;515,210])
add_line([sys,'/','qd_motor/d_cct'],[545,315;560,315])
add_line([sys,'/','qd_motor/d_cct'],[780,130;790,130;790,375;495,375;495,330;515,330])
add_line([sys,'/','qd_motor/d_cct'],[780,130;790,130;790,275;495,275;495,245;515,245])
add_line([sys,'/','qd_motor/d_cct'],[780,130;790,130;790,375;90,375;90,275;130,275])
add_line([sys,'/','qd_motor/d_cct'],[780,130;790,130;790,80;115,80;115,100;130,100])
add_line([sys,'/','qd_motor/d_cct'],[780,130;830,130])
add_line([sys,'/','qd_motor/d_cct'],[665,230;830,230])
add_line([sys,'/','qd_motor/d_cct'],[665,315;830,315])
add_line([sys,'/','qd_motor/d_cct'],[425,140;435,140;435,55;580,55])
add_line([sys,'/','qd_motor/d_cct'],[430,295;515,295])
add_line([sys,'/','qd_motor/d_cct'],[75,235;450,235;450,130;515,130])


%     Finished composite block 'qd_motor/d_cct'.

set_param([sys,'/','qd_motor/d_cct'],...
		'position',[150,253,190,327])

add_block('built-in/Inport',[sys,'/','qd_motor/Ipm'])
set_param([sys,'/','qd_motor/Ipm'],...
		'Port','3',...
		'position',[55,305,75,325])

add_block('built-in/Inport',[sys,'/','qd_motor/vd'])
set_param([sys,'/','qd_motor/vd'],...
		'Port','2',...
		'position',[55,255,75,275])


%     Subsystem  'qd_motor/Rotor'.

new_system([sys,'/','qd_motor/Rotor'])
set_param([sys,'/','qd_motor/Rotor'],'Location',[153,246,845,533])

add_block('built-in/Gain',[sys,'/','qd_motor/Rotor/gain4'])
set_param([sys,'/','qd_motor/Rotor/gain4'],...
		'Gain','wb',...
		'position',[490,123,530,157])

add_block('built-in/Gain',[sys,'/','qd_motor/Rotor/1//2H'])
set_param([sys,'/','qd_motor/Rotor/1//2H'],...
		'Gain','1/(2*H)',...
		'position',[325,120,395,160])

add_block('built-in/Sum',[sys,'/','qd_motor/Rotor/Tacc'])
set_param([sys,'/','qd_motor/Rotor/Tacc'],...

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -