|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?我要加入
x
<P><br>请教各位老师我调用了一个S函数,在SIMULINK仿真时弹出Block Parameters:S-Function对话框需要输入S-Function Name和S-Function Parameters两个项目,请问S-Function Parameters应该如何填写呢?<br>最好您给给我讲解一下这个S-Function Parameters指的是什么,以免下次同样的问题困惑我和其他遇到这个问题的其他初学者。我填入了t,x,u,flag,出现错误提示说没有定义这些变量,呵呵...郁闷中...</P>
<P>我调用的S函数源程序为:</P>
<P>function [sys,x0,str,ts] = spacemodel(t,x,u,flag)</P>
<P>switch flag,<br>case 0,<br> [sys,x0,str,ts]=mdlInitializeSizes;<br>case 1,<br> sys=mdlDerivatives(t,x,u);<br>case 3,<br> sys=mdlOutputs(t,x,u);<br>case {2,4,9}<br> sys=[];<br>otherwise<br> error(['Unhandled flag=',num2str(flag)]);<br>end</P>
<P>function [sys,x0,str,ts]=mdlInitializeSizes<br>sizes=simsizes;<br>sizes.NumContStates=2;<br>sizes.NumDiscStates=0;<br>sizes.NumOutputs=3;<br>sizes.NumInputs=2;<br>sizes.DerFeedthrough=1;<br>sizes.NumSampleTimes=1; %At least one sample time is needed<br>sys=simsizes(sizes);<br>x0=[0;0];<br>str=[];<br>ts=[0 0];</P>
<P>function sys=mdlDerivatives(t,x,u)</P>
<P>%Servo system Parameters<br>J=0.6;Ce=1.2;Km=6;<br>Ku=11;R=7.77;<br>Kv=2.0;</P>
<P>alfa=0.01;<br>a1=1.0; %Effect on the shape of friction curve<br>Fm=20;<br>Fc=15;<br>Kv=2.0;</P>
<P>F=J*u(1);<br>if abs(x(2))<=alfa<br> if F>Fm<br> Ff=Fm;<br> elseif F<-Fm<br> Ff=-Fm;<br> else<br> Ff=F;<br> end<br>end<br>if x(2)>alfa<br> Ff=Fc+(Fm-Fc)*exp(-a1*x(2))+Kv*x(2);<br>elseif x(2)<-alfa<br> Ff=-Fc-(Fm-Fc)*exp(a1*x(2))+Kv*x(2);<br>end</P>
<P>sys(1)=x(2);<br>sys(2)=-Km*Ce/(J*R)*x(2)+Ku*Km*u(2)/(J*R)-Ff/J;</P>
<P>function sys=mdlOutputs(t,x,u)</P>
<P>%Servo system Parameters<br>J=0.6;Ce=1.2;Km=6;<br>Ku=11;R=7.77;<br>Kv=2.0;</P>
<P>alfa=0.01;<br>a1=1.0; %Effect on the shape of friction curve<br>Fm=20;<br>Fc=15;<br>Kv=2.0;</P>
<P>F=F*u(1);<br>if abs(x(2))<=alfa<br> if F>Fm<br> Ff=Fm;<br> elseif F<-Fm<br> Ff=-Fm;<br> else<br> Ff=F;<br> end<br>end<br>if x(2)>alfa<br> Ff=Fc+(Fm-Fc)*exp(-a1*x(2))+Kv*x(2);<br>elseif x(2)<-alfa<br> Ff=-Fc-(Fm-Fc)*exp(a1*x(2))+Kv*x(2);<br>end</P>
<P>sys(1)=x(1); %Angle<br>sys(2)=x(2); %Angle speed<br>sys(3)=Ff; %Friction force<br></P>
[此贴子已经被电力仿真于2006-6-6 20:58:24编辑过]
|
|