
S7-300 PLC与Wincc组态污水处理程序组态
上周调试了个污水厂的项目,发现用S7-300搭WinCC确实挺顺手。这行当的老规矩——先拿液位控制
开刀。别急着写程序,先理清工艺流程图,进出水泵、搅拌机、加药阀这些设备的联动关系比代码重要得多。
在OB1里塞了个定时中断块,污水池的超声波液位计信号处理是关键。看这段STL代码:
```
L PIW256 // 读取液位计原始值
T MW20 // 存入中间变量
CALL "SCALE" // 量程转换
IN :=MW20
HI_LIM :=3000.0
LO_LIM :=0.0
BIPOLAR:=FALSE
RET_VAL:=MW22
OUT :=MD24 // 实际液位值
```
这个SCALE功能块把4-20mA信号转成0-3米量程,调试时遇到过信号跳变,后来在WinCC里加了0.5秒
的滤波时间。别小看这个细节,半夜报警能把人折腾疯。
曝气池的PID控制用了FB41,参数整定要命。现场师傅总说"调成自动就乱套",最后发现是DO模块的
输出通道烧了。分享个PID程序结构:
```
// 在循环中断OB35中调用
CALL "FB41", "DB10"
COM_RST :=FALSE
MAN_ON :=#ManualMode
PV_IN :=#Actual_Oxygen
SP_INT :=#Setpoint
GAIN :=2.5
TI :=T#30s
TD :=T#5s