毕业论文论文范文课程设计实践报告法律论文英语论文教学论文医学论文农学论文艺术论文行政论文管理论文计算机安全
您现在的位置: 毕业论文 >> 论文 >> 正文

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

更新时间:2008-9-8:  来源:毕业论文

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

%Fuzzy Controller

clear all;close all;

a=newfis('w1');                                    %定义模糊控制器

                                    

f1=1.0;

a=addvar(a,'input','e',[-6*f1,6*f1]);                     % 输入变量e定义

a=addmf(a,'input',1,'NB','trapmf',[-8*f1,-6*f1,-5*f1,-1*f1]);

a=addmf(a,'input',1,'NS','trapmf',[-5*f1,-3*f1,-2*f1,0]);

a=addmf(a,'input',1,'ZR','trimf',[-2*f1,0,2*f1]);

a=addmf(a,'input',1,'PS','trapmf',[0,2*f1,3*f1,5*f1]);

a=addmf(a,'input',1,'PB','trapmf',[3*f1,5*f1,6*f1,8*f1]);

 

f2=1.0;

a=addvar(a,'input','ec',[-6*f2,6*f2]);                     % 输入变量ec定义

a=addmf(a,'input',2,'NB','trapmf',[-8*f2,-6*f2,-5*f2,-1*f2]);

a=addmf(a,'input',2,'NS','trapmf',[-5*f2,-3*f2,-2*f2,0]);

a=addmf(a,'input',2,'ZR','trimf',[-2*f2,0,2*f2]);

a=addmf(a,'input',2,'PS','trapmf',[0,2*f2,3*f2,5*f2]);

a=addmf(a,'input',2,'PB','trapmf',[3*f2,5*f2,6*f2,8*f2]);

 

f3=1.0;

a=addvar(a,'output','u',[-6*f3,6*f3]);                     % 输出变量u定义

a=addmf(a,'output',1,'NB','trapmf',[-8*f3,-6*f3,-5*f3,-1*f3]);

a=addmf(a,'output',1,'NS','trapmf',[-5*f3,-3*f3,-2*f3,0]);

a=addmf(a,'output',1,'ZR','trimf',[-2*f3,0,2*f3]);

a=addmf(a,'output',1,'PS','trapmf',[0,2*f3,3*f3,5*f3]);

a=addmf(a,'output',1,'PB','trapmf',[3*f3,5*f3,6*f3,8*f3]);

 

 

rulelist=[1 1 1 1 1;                                  % 模糊控制规则定义

          1 2 2 1 1;

          1 3 2 1 1;

          1 4 3 1 1;

          1 5 4 1 1;

 

          2 1 1 1 1;

          2 2 2 1 1;

          2 3 3 1 1;

          2 4 3 1 1;

          2 5 4 1 1;

         

          3 1 2 1 1;

          3 2 2 1 1;

          3 3 3 1 1;

          3 4 4 1 1;

          3 5 4 1 1;

         

          4 1 2 1 1;

          4 2 3 1 1;

          4 3 3 1 1;

          4 4 4 1 1;

          4 5 5 1 1;

      

          5 1 2 1 1;

          5 2 3 1 1;

          5 3 4 1 1;

          5 4 4 1 1;

          5 5 5 1 1;];

         

a=addrule(a,rulelist);                   %将模糊控制规则加到a

a1=setfis(a,'DefuzzMethod','centroid');     %解模糊的方法设置为centroid

writefis(a1,'w1');                      %aw1命名写到磁盘

                                        

a2=readfis('w1');                      %从磁盘中读出并保存在工作空间中

 

ts=0.01;                             %设置采样时间  

sys=tf(9,[10,11,1]);                    %被控对象传递函数

dsys=c2d(sys,ts,'z');                      %将被控对象的传递函数离散化为差分方程

需要完整内容的请联系QQ752018766,本文免费,转发请注明源于www.youerw.com

                 %初始化实际输出

 

error_1=0;                           %初始化误差,误差变化率

e_1=0.0;

ec_1=0.0;

ei=0;

%----------------------------------------

%  Start of Control

%----------------------------------------

for k=1:1:300                          %循环开始

time(k)=k*ts;

 

chann=ddeinit('view','tagname');          %连接通道号

r1=ddereq(chann,'TAG_JY');             %INTOUCH中获取输入阶跃信号

rin(k)=r1;                            %设置输入值

 

yout(k)=-den(2)*y_1-den(3)*y_2+num(2)*u_1+num(3)*u_2;    %计算输出

error(k)=rin(k)-yout(k);                                   %计算偏差

ei=ei+error(k)*ts;

 << 上一页  [11] [12] [13] [14] [15] [16] [17] [18] [19] [20]  ... 下一页  >> 

模糊控制功能在InTouch平台DDE技术在组态软件中扩展先进控制功能的方法 第20页下载如图片无法显示或论文不完整,请联系qq752018766
设为首页 | 联系站长 | 友情链接 | 网站地图 |

copyright©youerw.com 优文论文网 严禁转载
如果本毕业论文网损害了您的利益或者侵犯了您的权利,请及时联系,我们一定会及时改正。