发布于 2006-08-23 10:43:31
0楼
光增量式就一个公式,其他还要加一些东西.
SUBROUTINE_BLOCK 张力:SBR1
TITLE=张力控制
VAR_INPUT
Sv:INT;
Pv:INT;
Kc:INT;
Ki:INT;
F:REAL;
EnCheck:BOOL;
END_VAR
VAR_IN_OUT
PvLast:INT;
OutLast:REAL;
END_VAR
VAR_OUTPUT
Errer:BOOL;
Out:INT;
END_VAR
BEGIN
Network 1
// Pv(k-1)-Pv(k)
LD SM0.0
MOVW LW13, AC1
-I LW2, AC1
Network 2
LDN L12.0 //禁止断带检测
R L19.0, 1
JMP 0
Network 3
LD SM1.2 //张力在增大
R L19.0, 1
NOT //张力在减小
S L19.0, 1
Network 4
LBL 0
Network 5
// U(k)=U(k-1) + △U △U=Kc[E(k)-E(k-1)]+KiE(k)=Kc[Pv(k-1)-Pv(k)] + Ki[Sv-Pv]
LD SM0.0
MOVW LW2, LW13
MOVW LW0, AC2
-I LW2, AC2
MUL LW4, AC1 //比例项
MUL LW6, AC2 //积分项
+D AC1, AC2
DTR AC2, AC3
*R LD8, AC3 //乘以额定频率工程量值(5000=50.00HZ)
/R 3.2E+007, AC3 //1000*32000;HMI内PI参数为三位小数,故除以1000
+R AC3, LD15
Network 6
// 上限限幅
LDR> LD15, LD8
MOVR LD8, LD15
Network 7
// 下限限幅
LDR< LD15, 0.0
MOVR 0.0, LD15
Network 8
// 输出
LD SM0.0
ROUND LD15, AC3
DTI AC3, LW20
Network 9
END_SUBROUTINE_BLOCK
I can do it