1. 项目背景与核心需求
去年接手某污水处理厂自动化改造项目时,面对的是一个运行了15年的老系统。原系统采用继电器逻辑控制,故障率高且能耗惊人。最要命的是曝气池溶解氧控制完全依赖人工经验,出水水质波动能达到±30%。厂方提出的核心诉求很明确:实现全流程自动化控制,将出水COD稳定在50mg/L以下,同时降低15%以上的能耗。
经过现场勘查,我们确定了三大改造重点:
- 液位连锁控制系统(解决泵房频繁启停问题)
- 溶解氧PID精确调节(关键生化处理环节)
- 触摸屏集中监控(替代原有的按钮操作台)
选型阶段对比了多个品牌后,最终敲定西门子S7-1200 PLC + KTP1200触摸屏的组合。这套方案的优势在于:
- 博途平台集成度高,从编程到HMI开发一套软件搞定
- 1200系列自带PID Compact指令块,特别适合曝气控制这类慢过程
- KTP1200的7寸屏足够显示关键工艺流程参数
2. 液位控制系统的精妙设计
2.1 硬件配置要点
污水提升泵站采用了两台22kW潜污泵(一用一备),液位检测选用E+H的FDU91超声波液位计。这里有个细节:安装时特意让探头偏离进水口位置,避免水流冲击导致虚假回波。实际测量范围设定为0.5-5米(对应4-20mA输出),盲区补偿设为0.3米。
2.2 PLC程序逻辑解析
液位控制的核心逻辑采用三级控制策略:
pascal复制// 液位分级控制逻辑
IF "液位" >= 3.5 THEN
"启动排水泵1" := TRUE;
"报警延时定时器"(IN := TRUE, PT := T#20s);
END_IF;
IF "液位" >= 4.0 THEN
"启动排水泵2" := TRUE;
"声光报警" := TRUE;
END_IF;
IF "液位" <= 1.0 THEN
"停止所有水泵" := TRUE;
END_IF;
特别说明几个关键设计点:
- 使用FP边沿检测指令过滤瞬时波动,只有持续20秒的超高液位才触发报警
- 两台水泵的启动阈值设置0.5米差值,避免同时启动造成电网冲击
- 增加"泵运行时间累计"功能,自动均衡两台泵的磨损
调试中发现原厂液位计在暴雨天气会出现±10cm的随机波动,后来在程序里增加了移动平均滤波:
pascal复制"液位滤波值" := ("液位滤波值" * 9 + "液位原始值") / 10;
3. 触摸屏人机交互设计
3.1 画面布局策略
KTP1200的800x480分辨率需要精打细算。我们采用三级画面结构:
- 总览页:显示工艺流程简图+关键参数(COD、流量、液位)
- 设备控制页:分组展示水泵、鼓风机等设备的操作面板
- 趋势页:用S7-1200内置的日志功能显示关键参数历史曲线
3.2 模式切换的防错设计
手动/自动模式切换是事故高发区,我们的解决方案:
pascal复制// 模式互锁逻辑
IF "手动模式按钮" THEN
"自动模式" := FALSE;
"手动模式" := TRUE;
"模式切换延时" := T#2s; // 防止快速连续切换
END_IF;
IF "自动模式按钮" AND NOT "模式切换延时" THEN
"手动模式" := FALSE;
"自动模式" := TRUE;
END_IF;
在画面上还增加了视觉提示:
- 自动模式时整个背景色变为浅蓝色
- 手动模式时操作按钮出现红色边框
- 模式切换过程中弹出2秒的过渡动画
4. 溶解氧PID控制的实战技巧
4.1 PID参数整定过程
曝气池使用HACH LDO溶解氧传感器,控制对象是37kW的罗茨鼓风机。调试时发现几个现象:
- 早晨进水负荷高时,固定参数会出现超调
- 午后流量降低时,系统响应又显得迟缓
- 夜间低负荷时,PID输出频繁震荡
最终采用分时段参数方案:
| 时间段 | P | I | D | 备注 |
|---|---|---|---|---|
| 6:00-10:00 | 1.2 | 40 | 5 | 高负荷期 |
| 10:00-16:00 | 0.8 | 60 | 8 | 平稳期 |
| 16:00-6:00 | 0.5 | 90 | 12 | 低负荷期 |
4.2 程序实现方法
使用S7-1200自带的PID_Compact指令块,关键配置:
pascal复制"DO_PID".PV := "溶解氧传感器";
"DO_PID".SP := 2.0; // 设定值2mg/L
"DO_PID".MAN_ON := "手动模式";
"DO_PID".CYCLE := T#1s;
// 分时段参数切换
CASE "当前时段" OF
1: // 早间参数
"DO_PID".GAIN := 1.2;
"DO_PID".TI := T#40s;
"DO_PID".TD := T#5s;
2: // 日间参数
...
END_CASE;
5. 现场维护的实用技巧
5.1 IO标注规范
在博途里建立变量时采用结构化注释:
pascal复制//AI0_1: 液位信号(4-20mA对应0.5-5m) E+H FDU91
//DO2_1: 排水泵1接触器 → 配电柜KM3
//DI5_1: 急停按钮 → 现场箱SB7
5.2 污泥浓度计维护
遇到过的典型故障及处理:
- 探头挂膜:每月用软布清洁传感器表面
- 气泡干扰:调整安装角度使探头面向水流方向
- 校准漂移:每季度用标准溶液进行两点校准
5.3 博途V16的隐藏功能
- 画面平移:在画面属性中勾选"允许平移",配合"Scroll"函数实现工艺流程图的拖拽查看
- 智能对象:将常用控件组合保存为"用户自定义对象",比如带状态指示的泵图标
- 离线模拟:在PLCSIM Advanced中可完整测试HMI交互逻辑
6. 项目验收数据对比
改造前后关键指标对比:
| 指标 | 改造前 | 改造后 | 改善幅度 |
|---|---|---|---|
| COD波动范围 | 35-85mg/L | 45-55mg/L | ±17% → ±5% |
| 单吨水电耗 | 0.78kWh | 0.62kWh | 降低20.5% |
| 设备故障率 | 3.2次/月 | 0.7次/月 | 下降78% |
| 人工干预频次 | 8次/班 | 1次/班 | 减少87.5% |
这个项目给我的最大启示是:自动化系统不仅要考虑控制逻辑本身,更要理解工艺特性。比如后来我们发现曝气池的PID参数应该与污泥龄(SRT)关联,又追加了基于MLSS的参数自整定功能。真正优秀的自动化系统,应该是工艺知识和控制技术的完美融合。