模糊控制功能在InTouch平台DDE技术在组态软件中扩展先进控制功能的方法 第21页

先进控制在组态软件中的扩展与应用源代码

u(k)=evalfis([e_1 ec_1],a2);  

 

r2=ddereq(chann,'TAG3');              %INTOUCH中获取比例因子

 

   u(k)=r2*u(k);                     %乘以比例因子

   if u(k)>20                        %加限幅

       u(k)=20;

   end

   if u(k)<-20

       u(k)=-20;

   end

u_3=u_2;

u_2=u_1;

u_1=u(k);

 

  

y_3=y_2;                          %y(3),y(2),y(1)分别保存最近三次的实际输出

y_2=y_1;

y_1=yout(k);

 

r3=ddereq(chann,'TAG1');             %INTOUCH中获取量化因子

e_1=r3*error(k);                    %乘以量化因子

if e_1>=6                          %加限幅 

    e_1=6;

end

if e_1<=-6

    e_1=-6;

end

 

r4=ddereq(chann,'TAG2');              %INTOUCH中获取量化因子

ec_1=r4*(error(k)-error_1)/ts;           %乘以量化因子

   if ec_1>=6                       %加限幅

       ec_1=6;

   end

   if ec_1<=-6

       ec_1=-6;

   end

error_2=error_1;                     %保存最近两次的误差

error_1=error(k);

 

r5=ddepoke(chann,'TAG_XY',yout(k));

ddeterm(chann);

end                                %循环结束

 

figure(1);

plot(time,rin,'r',time,yout,'k');            %显示输入输出图形

xlabel('Time(second)');ylabel('rin,yout');

 << 上一页  [21] 

Copyright © 2007-2012 www.chuibin.com 六维论文网 版权所有