1. 项目概述:小型水厂恒压供水系统的PLC控制方案
这个基于S7-200 PLC和MCGS组态软件的小型水厂恒压供水系统,是我去年为某乡镇水厂改造项目设计的核心控制方案。相比传统继电器控制,这套系统通过PID算法实现了0.05MPa的恒压精度,水泵切换时的压力波动控制在3%以内,完全满足了《村镇供水工程技术规范》的要求。
系统最突出的特点是"双闭环控制":内环是PLC通过模拟量输入模块实时采集管网压力(4-20mA信号),外环是MCGS人机界面提供的压力设定和运行状态监控。当用水量变化导致压力波动时,PLC会在200ms内完成PID运算并输出控制信号,通过变频器调整水泵转速。这种架构既保证了控制实时性,又方便了现场操作人员的参数调整。
2. 系统硬件架构与IO分配
2.1 主要设备选型清单
- PLC主机:西门子S7-224XP CN(14DI/10DO,2AI/1AO)
- 扩展模块:EM231 CN(4AI RTD)用于水温监测
- 变频器:MM420 7.5kW(带Modbus RTU通讯卡)
- 压力变送器:两线制4-20mA,量程0-1.0MPa
- MCGS触摸屏:TPC7062KX(7寸,800×480)
2.2 IO分配表详解
| 信号类型 | 地址 | 设备名称 | 备注 |
|---|---|---|---|
| DI | I0.0 | 1#泵手动/自动切换 | 旋钮开关 |
| DI | I0.1 | 2#泵手动/自动切换 | 旋钮开关 |
| DI | I0.2 | 1#泵故障信号 | 常开触点 |
| DI | I0.3 | 2#泵故障信号 | 常开触点 |
| DI | I0.4 | 水池低水位 | 浮球开关 |
| DO | Q0.0 | 1#泵运行指令 | 继电器输出 |
| DO | Q0.1 | 2#泵运行指令 | 继电器输出 |
| AO | AQW0 | 变频器频率给定 | 0-10V对应0-50Hz |
| AI | AIW0 | 管网压力反馈 | 4-20mA对应0-1.0MPa |
特别注意:S7-200的模拟量地址是固定的,AIW0-AIW62对应各通道输入,AQW0-AQW30对应输出。实际接线时,压力变送器的负极必须与PLC的M端子共地。
3. 控制程序设计要点
3.1 主程序流程图设计
程序采用模块化结构,包含以下功能块:
- 系统初始化(SBR0):设置定时器基准、PID参数初始值
- 手动控制模式(SBR1):独立控制各泵启停
- 自动控制逻辑(SBR2):
- 根据压力偏差计算PID输出
- 水泵轮换控制(累计运行时间平衡)
- 休眠唤醒功能(夜间低流量时段)
- 故障处理程序(INT0):过压、欠压、缺相保护
3.2 关键梯形图程序解析
ladder复制// 网络1:PID指令调用
LD SM0.0
MOVR VD100, VD104 // 将设定值SP存入PID表
MOVR AIW0, VD108 // 过程变量PV
PID VB200, 0 // 调用PID回路0
// 网络2:变频器控制
LD SM0.0
MOVR VD112, AQW0 // 输出控制值CV
这段代码展示了PID算法的核心实现。其中:
- VB200是PID参数表的起始地址,包含增益、积分时间等参数
- VD100存储来自MCGS的压力设定值(0.0-1.0对应0-100%)
- 实际项目中需增加输出限幅(如AQW0=32000对应50Hz)
3.3 水泵切换逻辑
采用"先启先停+时间均衡"策略:
- 压力低于设定值0.05MPa时启动1#泵
- 30秒后压力仍未达标,启动2#泵并联运行
- 压力恢复后,先停止后启动的泵
- 每月自动交换主备泵角色
4. MCGS组态设计技巧
4.1 通讯参数配置
在设备窗口添加"西门子S7-200PPI"驱动,关键参数:
- 站地址:2(必须与PLC波特率开关一致)
- 通讯波特率:19200bps
- 数据位:8
- 停止位:1
4.2 重点组态画面元素
- 压力趋势图:添加实时曲线和历史曲线,采样周期设为1秒
- 参数设置窗口:
- PID参数(比例带、积分时间)
- 压力上下限报警值
- 水泵运行时间清零按钮
- 动画连接:
- 水泵图标颜色关联Q0.0/Q0.1状态
- 压力表指针关联AIW0的线性变换
实测发现:MCGS对S7-200的V区访问速度较慢,建议将频繁刷新的数据放在M区(如MW0-MW50)
5. 现场调试经验总结
5.1 PID参数整定步骤
- 先将积分时间Ti设为最大值,微分Td设为0
- 逐渐增大Kp直到系统出现等幅振荡
- 取振荡时Kp值的60%作为最终比例系数
- 逐步减小Ti直到消除静差
- 本项目最终参数:Kp=1.2,Ti=8.0s,Td=0.5s
5.2 常见故障排查
-
压力波动大:
- 检查压力变送器阻尼时间(建议设为0.3s)
- 确认PID采样时间(与PLC扫描周期匹配)
-
MCGS通讯中断:
- 测量PPI电缆两端电压(2.5-5V为正常)
- 在PLC程序添加通讯心跳检测(如M0.0每秒翻转)
-
变频器干扰:
- 动力电缆与信号线分开走线槽
- 在变频器输出端加装磁环
6. 系统优化方向
这套系统经过三个月连续运行后,我又做了以下改进:
- 增加压力预测控制:通过记录每日不同时段的用水规律,提前调整PID设定值
- 开发手机监控功能:利用MCGS的Web服务模块,实现微信端压力查询
- 添加能效分析报表:计算每吨水的平均耗电量,指导节能运行
在最近一次水泵更换时,我还测试了用PTO输出直接驱动伺服电机的新型方案,相比变频器控制,动态响应时间从1.2秒缩短到了0.3秒。不过考虑到成本因素,当前项目还是维持了变频器方案。
