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

📄 s3g.m

📁 simulink electrical machine(2)
💻 M
📖 第 1 页 / 共 3 页
字号:
function [ret,x0,str,ts,xts]=s3g(t,x,u,flag);
%s3g	is the M-file description of the SIMULINK system named s3g.
%	The block-diagram can be displayed by typing: s3g.
%
%	SYS=s3g(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 s3g 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 s3g with a FLAG of zero:
%	[SIZES]=s3g([],[],[],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',[92,64,592,364])
     open_system(sys)
end;
set_param(sys,'algorithm',     'RK-45')
set_param(sys,'Start time',    '0.0')
set_param(sys,'Stop time',     '10')
set_param(sys,'Min step size', '1e-4')
set_param(sys,'Max step size', '1e-2')
set_param(sys,'Relative error','1e-5')
set_param(sys,'Return vars',   '')
set_param(sys,'AssignWideVectorLines','on');

add_block('built-in/Clock',[sys,'/','Clock'])
set_param([sys,'/','Clock'],...
		'position',[225,26,240,44])

add_block('built-in/Constant',[sys,'/','Ef'])
set_param([sys,'/','Ef'],...
		'Value','Efo',...
		'position',[55,154,90,176])


%     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.')
set_param([sys,'/','Tmech'],...
		'Mask Entries','[0 1 1 4 4 7 7 10]\/[1 1 1.2 1.2 0.5 0.5 0.8 0.8]*Tmech\/')


%     Finished composite block 'Tmech'.

set_param([sys,'/','Tmech'],...
		'position',[55,196,90,224])

add_block('built-in/Constant',[sys,'/','Vd1'])
set_param([sys,'/','Vd1'],...
		'Value','Vd1',...
		'position',[55,111,90,129])

add_block('built-in/Constant',[sys,'/','Vq1'])
set_param([sys,'/','Vq1'],...
		'Value','Vq1',...
		'position',[55,65,90,85])


%     Subsystem  'gen'.

new_system([sys,'/','gen'])
set_param([sys,'/','gen'],'Location',[146,122,943,601])

add_block('built-in/Inport',[sys,'/','gen/in_vdse'])
set_param([sys,'/','gen/in_vdse'],...
		'Port','2',...
		'position',[80,255,100,275])

add_block('built-in/Inport',[sys,'/','gen/in_vqse'])
set_param([sys,'/','gen/in_vqse'],...
		'position',[30,230,50,250])

add_block('built-in/Note',[sys,'/','gen/vdr'])
set_param([sys,'/','gen/vdr'],...
		'position',[190,265,195,270])

add_block('built-in/Note',[sys,'/','gen/vqr'])
set_param([sys,'/','gen/vqr'],...
		'position',[188,223,193,228])


%     Subsystem  'gen/qde2qdr'.

new_system([sys,'/','gen/qde2qdr'])
set_param([sys,'/','gen/qde2qdr'],'Location',[103,460,628,647])

add_block('built-in/Mux',[sys,'/','gen/qde2qdr/Mux'])
set_param([sys,'/','gen/qde2qdr/Mux'],...
		'hide name',0,...
		'inputs','3',...
		'position',[75,50,105,130])

add_block('built-in/Fcn',[sys,'/','gen/qde2qdr/fcn'])
set_param([sys,'/','gen/qde2qdr/fcn'],...
		'Expr','u[1]*cos(u[3]) - u[2]*sin(u[3])',...
		'position',[150,52,390,78])

add_block('built-in/Fcn',[sys,'/','gen/qde2qdr/fcn1'])
set_param([sys,'/','gen/qde2qdr/fcn1'],...
		'Expr','u[1]*sin(u[3]) + u[2]*cos(u[3])',...
		'position',[150,97,390,123])

add_block('built-in/Inport',[sys,'/','gen/qde2qdr/vde'])
set_param([sys,'/','gen/qde2qdr/vde'],...
		'Port','2',...
		'position',[15,80,35,100])

add_block('built-in/Inport',[sys,'/','gen/qde2qdr/delta '])
set_param([sys,'/','gen/qde2qdr/delta '],...
		'Port','3',...
		'position',[15,124,35,146])

add_block('built-in/Inport',[sys,'/','gen/qde2qdr/vqe'])
set_param([sys,'/','gen/qde2qdr/vqe'],...
		'position',[15,35,35,55])

add_block('built-in/Outport',[sys,'/','gen/qde2qdr/vdr'])
set_param([sys,'/','gen/qde2qdr/vdr'],...
		'Port','2',...
		'position',[445,100,465,120])

add_block('built-in/Outport',[sys,'/','gen/qde2qdr/vqr'])
set_param([sys,'/','gen/qde2qdr/vqr'],...
		'position',[445,55,465,75])
add_line([sys,'/','gen/qde2qdr'],[395,110;440,110])
add_line([sys,'/','gen/qde2qdr'],[40,45;50,45;50,65;70,65])
add_line([sys,'/','gen/qde2qdr'],[395,65;440,65])
add_line([sys,'/','gen/qde2qdr'],[110,90;125,90;125,65;145,65])
add_line([sys,'/','gen/qde2qdr'],[110,90;125,90;125,110;145,110])
add_line([sys,'/','gen/qde2qdr'],[40,135;50,135;50,115;70,115])
add_line([sys,'/','gen/qde2qdr'],[40,90;70,90])


%     Finished composite block 'gen/qde2qdr'.

set_param([sys,'/','gen/qde2qdr'],...
		'position',[135,229,175,301])


%     Subsystem  'gen/q_cct'.

new_system([sys,'/','gen/q_cct'])
set_param([sys,'/','gen/q_cct'],'Location',[154,128,1103,645])

add_block('built-in/Outport',[sys,'/','gen/q_cct/Out_psiq'])
set_param([sys,'/','gen/q_cct/Out_psiq'],...
		'position',[585,45,605,65])

add_block('built-in/Outport',[sys,'/','gen/q_cct/Out_-iq'])
set_param([sys,'/','gen/q_cct/Out_-iq'],...
		'Port','2',...
		'position',[830,230,850,250])

add_block('built-in/Outport',[sys,'/','gen/q_cct/Out_psimq'])
set_param([sys,'/','gen/q_cct/Out_psimq'],...
		'Port','3',...
		'position',[835,120,855,140])

add_block('built-in/Mux',[sys,'/','gen/q_cct/Mux4'])
set_param([sys,'/','gen/q_cct/Mux4'],...
		'inputs','2',...
		'position',[520,204,540,271])

add_block('built-in/Fcn',[sys,'/','gen/q_cct/Fcn4'])
set_param([sys,'/','gen/q_cct/Fcn4'],...
		'Expr','-(u[1]-u[2])/xls',...
		'position',[565,227,655,253])

add_block('built-in/Fcn',[sys,'/','gen/q_cct/Fcn3'])
set_param([sys,'/','gen/q_cct/Fcn3'],...
		'Expr','xMQ*(u[1]/xls+u[2]/xplkq2+u[3]/xplkq)',...
		'position',[565,114,775,146])

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

add_block('built-in/Integrator',[sys,'/','gen/q_cct/psipkq_'])
set_param([sys,'/','gen/q_cct/psipkq_'],...
		'Initial','Psikqo',...
		'position',[390,357,420,383])

add_block('built-in/Fcn',[sys,'/','gen/q_cct/Fcn2'])
set_param([sys,'/','gen/q_cct/Fcn2'],...
		'Expr','wb*rpkq*(u[1]-u[2])/xplkq',...
		'position',[180,356,365,384])

add_block('built-in/Integrator',[sys,'/','gen/q_cct/psipkq2_'])
set_param([sys,'/','gen/q_cct/psipkq2_'],...
		'Initial','Psikq2o',...
		'position',[390,247,420,273])

add_block('built-in/Fcn',[sys,'/','gen/q_cct/Fcn1'])
set_param([sys,'/','gen/q_cct/Fcn1'],...
		'Expr','wb*rpkq2*(u[1]-u[2])/xplkq2',...
		'position',[175,245,375,275])

add_block('built-in/Integrator',[sys,'/','gen/q_cct/psiq_'])
set_param([sys,'/','gen/q_cct/psiq_'],...
		'Initial','Psiqo',...
		'position',[390,127,420,153])

add_block('built-in/Mux',[sys,'/','gen/q_cct/Mux2'])
set_param([sys,'/','gen/q_cct/Mux2'],...
		'inputs','2',...
		'position',[130,330,155,405])

add_block('built-in/Mux',[sys,'/','gen/q_cct/Mux1'])
set_param([sys,'/','gen/q_cct/Mux1'],...
		'inputs','2',...
		'position',[135,220,160,300])

add_block('built-in/Fcn',[sys,'/','gen/q_cct/Fcn'])
set_param([sys,'/','gen/q_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,'/','gen/q_cct/In_wrpsid'])
set_param([sys,'/','gen/q_cct/In_wrpsid'],...
		'Port','2',...
		'position',[50,160,70,180])

add_block('built-in/Inport',[sys,'/','gen/q_cct/In_vqr'])
set_param([sys,'/','gen/q_cct/In_vqr'],...
		'position',[50,105,70,125])

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

add_block('built-in/Scope',[sys,'/','gen/q_cct/qaxis_Scope'])
set_param([sys,'/','gen/q_cct/qaxis_Scope'],...
		'Vgain','3.000000',...
		'Hgain','0.050000',...
		'Vmax','6.000000',...
		'Hmax','2.000000',...
		'Window',[451,130,627,387],...
		'position',[835,402,855,428])
add_line([sys,'/','gen/q_cct'],[75,170;95,170;95,150;130,150])
add_line([sys,'/','gen/q_cct'],[75,115;95,115;95,125;130,125])
add_line([sys,'/','gen/q_cct'],[165,140;175,140])
add_line([sys,'/','gen/q_cct'],[380,140;385,140])
add_line([sys,'/','gen/q_cct'],[425,140;435,140;435,205;115,205;115,175;130,175])
add_line([sys,'/','gen/q_cct'],[165,260;170,260])
add_line([sys,'/','gen/q_cct'],[380,260;385,260])
add_line([sys,'/','gen/q_cct'],[160,370;175,370])
add_line([sys,'/','gen/q_cct'],[370,370;385,370])
add_line([sys,'/','gen/q_cct'],[425,370;460,370;460,430;110,430;110,385;125,385])
add_line([sys,'/','gen/q_cct'],[425,140;435,140;435,100;515,100])
add_line([sys,'/','gen/q_cct'],[425,260;450,260;450,130;515,130])
add_line([sys,'/','gen/q_cct'],[425,370;460,370;460,160;515,160])
add_line([sys,'/','gen/q_cct'],[550,130;560,130])
add_line([sys,'/','gen/q_cct'],[545,240;560,240])
add_line([sys,'/','gen/q_cct'],[425,140;470,140;470,220;515,220])
add_line([sys,'/','gen/q_cct'],[780,130;790,130;790,305;495,305;495,255;515,255])
add_line([sys,'/','gen/q_cct'],[780,130;790,130;790,445;90,445;90,350;125,350])
add_line([sys,'/','gen/q_cct'],[780,130;790,130;790,445;90,445;90,240;130,240])
add_line([sys,'/','gen/q_cct'],[780,130;790,130;790,80;115,80;115,100;130,100])
add_line([sys,'/','gen/q_cct'],[780,130;830,130])
add_line([sys,'/','gen/q_cct'],[660,240;825,240])
add_line([sys,'/','gen/q_cct'],[425,140;435,140;435,55;580,55])
add_line([sys,'/','gen/q_cct'],[425,260;435,260;435,320;115,320;115,280;130,280])


%     Finished composite block 'gen/q_cct'.

set_param([sys,'/','gen/q_cct'],...
		'position',[260,193,300,267])

add_block('built-in/Note',[sys,'/','gen/wr//wb'])
set_param([sys,'/','gen/wr//wb'],...
		'position',[585,155,590,160])

add_block('built-in/Outport',[sys,'/','gen/out_|It|'])
set_param([sys,'/','gen/out_|It|'],...
		'Port','2',...
		'position',[640,55,660,75])

add_block('built-in/Outport',[sys,'/','gen/out_Pgen'])
set_param([sys,'/','gen/out_Pgen'],...
		'Port','3',...
		'position',[580,80,600,100])

add_block('built-in/Outport',[sys,'/','gen/out_Qgen'])
set_param([sys,'/','gen/out_Qgen'],...
		'Port','4',...
		'position',[640,105,660,125])

add_block('built-in/Outport',[sys,'/','gen/out_|Vt|'])
set_param([sys,'/','gen/out_|Vt|'],...
		'position',[580,30,600,50])


%     Subsystem  'gen/VIPQ'.

new_system([sys,'/','gen/VIPQ'])
set_param([sys,'/','gen/VIPQ'],'Location',[217,186,928,574])

add_block('built-in/Mux',[sys,'/','gen/VIPQ/Mux'])
set_param([sys,'/','gen/VIPQ/Mux'],...
		'position',[180,75,210,260])

add_block('built-in/Inport',[sys,'/','gen/VIPQ/vdr'])
set_param([sys,'/','gen/VIPQ/vdr'],...
		'Port','3',...
		'position',[115,180,135,200])

add_block('built-in/Fcn',[sys,'/','gen/VIPQ/Fcn'])
set_param([sys,'/','gen/VIPQ/Fcn'],...
		'Expr','sqrt(u[1]*u[1] + u[3]*u[3])',...
		'position',[285,75,450,105])

add_block('built-in/Fcn',[sys,'/','gen/VIPQ/P'])
set_param([sys,'/','gen/VIPQ/P'],...
		'Expr','u[1]*u[2] + u[3]*u[4]',...
		'position',[285,180,450,210])

add_block('built-in/Fcn',[sys,'/','gen/VIPQ/Q'])
set_param([sys,'/','gen/VIPQ/Q'],...
		'Expr','u[1]*u[4]-u[2]*u[3]',...
		'position',[285,230,450,260])

add_block('built-in/Outport',[sys,'/','gen/VIPQ/Pgen'])
set_param([sys,'/','gen/VIPQ/Pgen'],...
		'Port','3',...
		'position',[510,185,530,205])

add_block('built-in/Outport',[sys,'/','gen/VIPQ/Out_|Vt|'])
set_param([sys,'/','gen/VIPQ/Out_|Vt|'],...
		'position',[510,80,530,100])

add_block('built-in/Fcn',[sys,'/','gen/VIPQ/Fcn1'])
set_param([sys,'/','gen/VIPQ/Fcn1'],...
		'Expr','sqrt(u[2]*u[2] + u[4]*u[4])',...
		'position',[285,125,450,155])

add_block('built-in/Outport',[sys,'/','gen/VIPQ/Qgen'])
set_param([sys,'/','gen/VIPQ/Qgen'],...

⌨️ 快捷键说明

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