1. 项目概述
这个小型水厂恒压供水系统项目,是我去年为某乡镇水厂改造时做的实际案例。当时他们还在用老式继电器控制,水压波动大,能耗高,经常半夜被居民投诉。用S7-200 PLC+MCGS组态的方案改造后,不仅实现了24小时恒压供水,还能远程监控,运维人员再也不用半夜爬起来调水泵了。
系统核心就三点:PLC程序保证控制逻辑可靠,电气接线确保设备安全,组态画面让人机交互直观。别看是"小型"水厂,从取水、过滤到加压供水,整套自动化系统做下来,涉及到的技术细节可一点都不少。下面我就把整个项目的实战经验拆开揉碎了讲,包括那些厂家手册里不会写的避坑技巧。
2. 系统设计与核心需求
2.1 恒压供水的基本原理
恒压供水的本质是PID闭环控制。我们设定一个目标压力值(比如0.3MPa),PLC实时采集管网压力反馈,通过PID算法动态调节水泵转速。这里有个关键点:乡镇水厂用水量昼夜差异大,早上6-8点是用水高峰,半夜用水量可能不到白天的10%。传统工频泵要么全速运行导致超压,要么频繁启停损坏设备。
我的解决方案是:
- 主泵采用变频控制,根据压力偏差无级调速
- 备用泵工频运行,高峰时段自动投入
- 设置压力死区(±0.02MPa)避免频繁调节
- 夜间自动切换至小流量模式
2.2 硬件选型要点
PLC选型:
S7-200 CPU224XP是性价比之选,自带:
- 14DI/10DO(实际用了9入8出)
- 2路模拟量输入(接压力变送器)
- 1路模拟量输出(控制变频器)
- 485端口连接MCGS触摸屏
变频器:
选用MM420系列,关键参数:
- 电机功率7.5kW(匹配现有水泵)
- 内置PID功能(实际用PLC的PID更灵活)
- 故障自复位功能(防止雷击导致系统瘫痪)
压力变送器:
选用扩散硅型,量程0-0.6MPa,注意:
- 必须带防雷保护模块(山区水厂必配)
- 4-20mA信号传输距离超过100米要加信号放大器
3. 电气设计与接线实战
3.1 IO分配表设计
| 地址 | 设备 | 备注 |
|---|---|---|
| I0.0 | 急停按钮 | 常闭触点 |
| I0.1 | 手动/自动切换 | 旋钮开关 |
| I0.2 | 水位低报警 | 浮球开关 |
| AIW0 | 管网压力 | 0-0.6MPa→0-10V |
| Q0.0 | 变频器启停 | 继电器输出 |
| AQW0 | 变频器速度 | 0-10V对应0-50Hz |
关键技巧:DI点全部采用常闭接线,这样线缆断开时会触发报警,比常开接线更安全。
3.2 主电路接线图要点
-
电源隔离:
- PLC、变频器、传感器分别用独立空开
- 加装隔离变压器(农村电网电压波动大)
-
抗干扰措施:
- 模拟量信号用双绞屏蔽线(型号RVVP2×1.0)
- 变频器输出电缆穿金属管敷设
- 所有柜内接地线径不小于4mm²
-
安全保护:
- 每台水泵加相序保护器
- 变频器输出端加装dv/dt滤波器
- 压力变送器信号端并联TVS二极管
4. PLC程序设计详解
4.1 主程序流程图
pascal复制// 伪代码示例
IF 急停激活 THEN
所有泵停止
ELSE IF 手动模式 THEN
执行手动操作
ELSE
// 自动控制逻辑
PID计算(设定值, 反馈值, 输出值)
根据输出值控制变频器转速
IF 压力<下限持续10s THEN
启动备用泵
END_IF
END_IF
4.2 PID参数整定经验
现场调试时用临界比例度法整定:
- 先设Ti=∞, Td=0,逐渐增大Kp直到系统等幅振荡
- 记录此时的比例增益Ku和振荡周期Tu
- 按Z-N公式:
- Kp=0.6Ku = 0.45
- Ti=0.5Tu = 12s
- Td=0.125Tu = 3s
实际运行中发现两个优化点:
- 夜间用水量小时,将Kp减小30%避免超调
- 泵切换时加入5秒延时防止水锤效应
4.3 关键子程序说明
水泵轮换逻辑:
- 累计运行时间统计
- 每24小时自动切换主/备泵
- 故障泵自动退出轮换队列
睡眠模式:
- 当流量<10%持续30分钟
- 变频器降至20Hz运行
- 关闭消毒设备电源
5. MCGS组态画面开发
5.1 主界面设计要点
-
压力趋势图:
- 双Y轴显示设定值与实际值
- 时间轴可缩放(1h/8h/24h)
-
设备状态区:
- 水泵用动画显示运行/停止
- 变频器频率用百分比进度条
- 故障信息红色闪烁并记录
-
操作权限管理:
- 普通操作员只能启停设备
- 工程师可修改PID参数
- 管理员密码每30天强制更换
5.2 报警处理机制
-
分级报警:
- 一级报警(水位低):声光报警+自动停机
- 二级报警(压力偏差):仅屏幕提示
- 三级报警(设备故障):短信通知维护员
-
报警历史查询:
- 按时间/类型筛选
- 支持导出Excel报表
- 关联操作记录追踪
6. 现场调试避坑指南
6.1 典型故障排查表
| 现象 | 可能原因 | 解决方案 |
|---|---|---|
| 压力波动大 | PID参数不合适 | 重新整定Ti参数 |
| 变频器频繁报过流 | 电机电缆长度超过50米 | 加装输出电抗器 |
| 触摸屏通信中断 | 485终端电阻未启用 | 拨码开关置ON位置 |
| 凌晨时段频繁启停 | 睡眠模式阈值设置过高 | 将唤醒压力从0.25调至0.2 |
6.2 防雷击实战经验
这个项目在山区,雷雨季节曾导致PLC损坏。后来采取的防护措施:
- 所有柜体用16mm²铜缆接地,接地电阻<4Ω
- 信号线入口加装防雷模块(型号DEHNrail)
- 在PLC电源前端串联UPS(山特C1K)
- 编程中加入看门狗复位逻辑
7. 系统优化与扩展
运行半年后做的改进:
-
节能优化:
- 根据历史用水数据自动调整压力设定值
- 引入模糊控制算法减少泵切换次数
-
远程维护:
- 加装4G DTU模块
- 开发微信小程序监控关键参数
- 故障时自动推送维修手册链接
-
数据应用:
- 分析日用水曲线优化水泵配置
- 通过压力波动检测管网泄漏
这套系统从调试完成到现在稳定运行了14个月,最让我自豪的是帮水厂节省了37%的电费。乡镇水厂的项目预算有限,但用S7-200+MCGS这样的经济型方案,同样能做出可靠的自动化系统。关键是要吃透工艺需求,在细节处多下功夫——比如所有开关量信号都加了RC滤波,这个看似简单的操作,让系统在电网质量差的农村环境也能稳定工作。