回复:请教fuzzycontrol的问题

伊默

西门子1847工业学习平台

  • 帖子

    4261
  • 精华

    118
  • 被关注

    220

论坛等级:至圣

注册时间:2003-10-24

白金 白金 如何晋级?

发布于 2005-06-02 15:10:56

0楼

发个我自己写的模糊+PID控制的程序,不过还没有调试,呵呵,只是看看累路。
在温度偏差小于一定的范围则用PID控制,否则用模糊控制。
DB10内为模糊规则表,不过是个很简单的(表只是我乱写的一个,调试时再改),E的论域为10,Ec的论域只有3,可以视情况改变论域。 另外PID用的是增量式的,而且没有用到微分作用。
DATA_BLOCK DB10
STRUCT
L0C00,L0C01,L0C02,L0C03,L0C04,L0C05,L0C06,L0C07,L0C08,L0C09:INT;
L1C00,L1C01,L1C02,L1C03,L1C04,L1C05,L1C06,L1C07,L1C08,L1C09:INT;
L2C00,L2C01,L2C02,L2C03,L2C04,L2C05,L2C06,L2C07,L2C08,L2C09:INT;
END_STRUCT
BEGIN
L0C00:=1;
L0C01:=2;
L0C02:=3;
L0C03:=4;
L0C04:=5;
L0C05:=6;
L0C06:=7;
L0C07:=8;
L0C08:=9;
L0C09:=10;
L1C00:=11;
L1C01:=12;
L1C02:=13;
L1C03:=14;
L1C04:=15;
L1C05:=16;
L1C06:=17;
L1C07:=18;
L1C08:=19;
L1C09:=20;
L2C00:=21;
L2C01:=22;
L2C02:=23;
L2C03:=24;
L2C04:=25;
L2C05:=26;
L2C06:=27;
L2C07:=28;
L2C08:=29;
L2C09:=30;
END_DATA_BLOCK


FUNCTION_BLOCK FB10
VAR_INPUT
SV,PV:INT;
Kc,Ki:REAL;
END_VAR
VAR_OUTPUT
OUT:WORD;
END_VAR
VAR
PVLast:INT;
OUTLast:REAL;
END_VAR
VAR_TEMP
L,C,E,Ec:INT;
OUTTMP:REAL;
END_VAR
LABEL
FUZZ,_PID,_END;
END_LABEL

BEGIN
E:=SV-PV; //偏差
Ec:=PVLast-PV; //偏差变化
IF Ec<-100 THEN L:=0;
ELSIF Ec<100 THEN L:=1;
ELSE L:=2;
END_IF;

IF E>-100 AND E<100 THEN GOTO _PID;
ELSIF E<-500 THEN C:=0;GOTO FUZZ;
ELSIF E<-400 THEN C:=1;GOTO FUZZ;
ELSIF E<-300 THEN C:=2;GOTO FUZZ;
ELSIF E<-200 THEN C:=3;GOTO FUZZ;
ELSIF E<-100 THEN C:=4;GOTO FUZZ;
ELSIF E<200 THEN C:=5;GOTO FUZZ;
ELSIF E<300 THEN C:=6;GOTO FUZZ;
ELSIF E<400 THEN C:=7;GOTO FUZZ;
ELSIF E<500 THEN C:=8;GOTO FUZZ;
ELSE C:=9;
END_IF;

FUZZ:OUT:=(DB10.DW[(L*20+C*2)]);GOTO _END;
_PID:OUTTMP:=OUTLast+Kc*Ec+Ki*E;
IF OUTTMP>2.7648e+4 THEN
OUTTMP:=27648e+4;
ELSIF OUTTMP<0.0e+0 THEN
OUTTMP:=0.0e+0;
END_IF;
OUTLast:=OUTTMP;
OUT:=INT_TO_WORD(REAL_TO_INT(OUTTMP/2.7648e+4*1.0e+2));
_END:PVLast:=PV;
END_FUNCTION_BLOCK
I can do it
评论
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-300/400

共有54618条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

快扫描右侧二维码晒一晒吧!

再发帖或跟帖交流2条,就能晋升VIP啦!开启更多专属权限!

  • 分享

  • 只看
    楼主

top
您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。