📄 fuzzy_limited.txt
字号:
FUZZYCONTROL:PROCEDURE;
DECLARE(GE,GEC) BYTE;
DECLARE EE1 INTEGER;
DISABLE;
/*E0 前次误差 E1 本次误差 EC 本次误差的变化率*/
E1=SIGNED(AIM_SPD-RUN_SPD);
EE1=E1;
IF IABS(EE1)>42 THEN DO;
IF AIM_SPD>RUN_SPD THEN EE1=42;
ELSE EE1=-42;
END;
GE=UNSIGN(EE1/6+7);
EC=E1-E0;
IF IABS(EC)>7 THEN DO;
IF E1>E0 THEN EC=7;
ELSE EC=-7;
END;
GEC=UNSIGN(EC+7);
EE1=SIGNED(FUZZY(GE*15+GEC)-7);
/*LIMITED*/
IF IABS(EE1)>4 THEN
DO;
IF EE1>0 THEN
PWM_WIDTH=PWM_WIDTH+UNSIGN(EE1);
ELSE PWM_WIDTH=PWM_WIDTH-UNSIGN(EE1);
END;
IF PWM_WIDTH>100 THEN PWM_WIDTH=100;
IF PWM_WIDTH<2 THEN PWM_WIDTH=2;
E0=E1;
ENABLE;
END FUZZYCONTROL;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -