SCL编写PID算法

来源:百度知道 编辑:UC知道 时间:2024/05/10 06:51:45
基于SCL编程语言的PID控制算法设计
有会的吗?我要源程序

答对追加高分

在百度教程一下

这个……
很难解释的通
问问身边的高手吧

很难

给你个使用Step 7的SCL语言写的位置式PID控制的FC模块。带"_IN"与带"_OUT"的变量,如果前缀是一样的,要求连接同一个变量。

FUNCTION FC1 : VOID

VAR_INPUT
Run:BOOL;//True-运行,False-停止
Auto:BOOL;//True-自动,False-手动
ISW:BOOL;//True-积分有效,False-积分无效
DSW:BOOL;//True-微分有效,False-微分无效
SetMV:REAL;//手动时的开度设定值
SVSW:REAL;//当设定值低于SVSW时,开度为零
PV:REAL;//测量值
SV:REAL;//设定值
DeadBand:REAL;//死区大小
PBW:REAL;//比例带大小
IW:REAL;//积分带大小
DW:REAL;//微分带大小
dErr_IN:REAL;//误差累积
LastPV_IN:REAL;//上一控制周期的测量值
END_VAR

VAR_OUTPUT
MV:REAL;//输出开度
dErr_OUT:REAL;//误差累积
LastPV_OUT:REAL;//上一控制周期的测量值
END_VAR

VAR
Err:REAL;//误差
dErr:REAL;//误差累积
PBH:REAL;//比例带上限
PBL:REAL;//比例带下限
PVC:REAL;//测量值在一个控制周期内的变化率,即测量值变化速率
P:REAL;//比例项
I:REAL;//积分项
D:REAL;//微分项
END_VAR

IF Run=1 THEN
IF Auto=1 THEN
IF SV>=SVSW THEN