1. 项目背景与核心需求
在工业自动化控制领域,恒压供水系统是典型的闭环控制应用场景。传统的水泵控制方式往往采用人工调节或简单的启停控制,不仅能耗高,而且水压波动大,无法满足现代建筑、工厂等场所对供水稳定性的严苛要求。
我去年接手了一个老旧小区的供水改造项目,原系统采用工频直接启动方式,水泵要么全速运行要么完全停止。居民经常抱怨高层水压不足,而低层又存在水锤现象。更严重的是,三台55kW水泵每月电费高达2.8万元,能源浪费严重。
基于这些痛点,我们决定采用西门子S7-200 PLC作为控制核心,配合组态王上位机软件,构建一套智能化的三泵恒压供水系统。这个方案要实现几个关键目标:
- 保持管网压力恒定在0.35MPa±0.02MPa
- 根据流量需求自动切换水泵运行数量
- 实现水泵的循环软启动和均衡磨损
- 降低综合能耗30%以上
- 提供完善的故障保护和远程监控功能
2. 系统架构设计解析
2.1 硬件组成方案
整套系统的硬件架构采用分层设计,主要包含以下关键部件:
-
控制层核心:
- 西门子S7-200 CPU224XP:14DI/10DO,2AI/1AO
- EM231模拟量输入模块(4路RTD)
- EM232模拟量输出模块(2路)
-
执行机构:
- 3台55kW水泵电机(Y-△启动)
- 施耐德ATS48软启动器
- 西门子3TF接触器组
-
检测元件:
- 横河EJA510E压力变送器(0-1MPa)
- 西门子7ME6920流量计
- PT100温度传感器
-
人机界面:
- 组态王6.55上位机软件
- 研华工控机
- 21.5寸工业触摸屏
硬件选型心得:压力变送器特别选择了带HART协议的型号,虽然比普通型号贵30%,但后期调试时可以通过手操器在线修改量程和阻尼系数,省去了反复拆装的麻烦。
2.2 控制策略设计
系统采用"压力闭环PID+泵组调度"的复合控制策略,具体实现逻辑如下:
-
压力闭环控制:
- 采用增量式PID算法,控制周期100ms
- 压力设定值SP=0.35MPa
- PID参数:Kp=1.2,Ti=25s,Td=3s
- 输出限幅:0-50Hz(对应变频器输出)
-
泵组调度逻辑:
- 1#泵作为基础泵,始终由变频器驱动
- 当1#泵频率>45Hz持续30s,启动2#泵工频运行
- 当2#泵运行后总管压力仍低于SP值,启动3#泵
- 减泵逻辑反之,设置5%的回差防止震荡
-
轮换控制:
- 累计运行时间统计
- 每次启动优先选择累计时间最少的泵
- 最小运行时间约束≥10分钟

(注:此处应为实际流程图,演示用示例链接)
3. PLC程序实现细节
3.1 关键程序块设计
S7-200的程序采用模块化编程,主要包含以下功能块:
- 主循环OB1:
stl复制LD SM0.0
CALL SBR0, 压力采集处理
CALL SBR1, PID运算
CALL SBR2, 泵组控制
CALL SBR3, 故障处理
- PID算法实现:
采用西门子自带的PID指令向导生成,关键参数设置:
- 过程变量PV:AIW0(压力变送器4-20mA输入)
- 输出控制:AQW0(变频器模拟量给定)
- 死区设置:0.005MPa
- 采样周期:100ms
- 泵组控制逻辑:
stl复制// 1#泵变频控制
LD M0.0 // 系统运行标志
A I0.0 // 1#泵就绪信号
= Q0.0 // 变频器启动
// 2#泵工频投入条件
LD VW100 // 当前频率值
A>= 45.0 // 频率阈值
LD T37 // 延时定时器
TON 30, 300 // 30秒延时
= M1.0 // 2#泵启动条件
3.2 模拟量处理技巧
压力信号处理是系统稳定的关键,我们采用了多重滤波措施:
-
硬件滤波:
- 变送器输出端并联0.1μF电容
- EM231模块配置50Hz工频抑制
-
软件滤波:
- 移动平均滤波(窗口大小=5)
- 限幅滤波(最大变化率0.01MPa/s)
- 坏值剔除(连续3次超范围报警)
压力值换算公式:
code复制实际压力(MPa) = (AIW0 - 6400) / (32000 - 6400) × 1.0
(4-20mA对应6400-32000)
4. 组态王监控系统开发
4.1 画面组态要点
上位机监控系统主要包含以下功能界面:
-
工艺流程总览:
- 动态管道流向动画
- 泵运行状态(颜色变化)
- 实时压力曲线(5分钟趋势)
-
参数设置界面:
- PID参数在线调整
- 压力设定值修改
- 泵组运行模式选择
-
报警历史记录:
- 分级报警管理(警告/严重/紧急)
- 支持按时间筛选
- 报警确认功能
开发技巧:压力曲线显示使用了组态王的"超级XY曲线"控件,相比标准曲线控件,它能显示更多数据点且刷新更流畅。但需要注意设置合适的采样周期,我们实际使用200ms的采样间隔。
4.2 数据通信配置
PLC与组态王的通信采用PPI协议,关键配置参数:
-
通信参数:
- 波特率:187.5kbps
- 数据位:8位
- 停止位:1位
- 校验方式:偶校验
-
变量连接:
- 压力值:VW100(REAL格式)
- 频率给定:VW110(INT格式)
- 泵状态:VB20(BIT格式)
常见通信问题处理:
- 若出现通信中断,首先检查DP头终端电阻(末端ON)
- 长距离通信(>50m)建议增加RS485中继器
- 避免与变频器共用电缆桥架
5. 系统调试与优化
5.1 现场调试步骤
-
单机测试:
- 断开执行机构电源
- 模拟压力信号(4/8/12/16/20mA)
- 验证PLC采集精度(误差<0.5%)
-
闭环调试:
- 先设置P=0,观察纯比例控制效果
- 逐渐增加P值至出现等幅振荡
- 取振荡周期作为Ti基准值
- Td一般取Ti的1/8~1/10
-
带载运行:
- 初始设定保守参数(Kp减半)
- 观察切换过程中的压力波动
- 逐步优化加减泵的延时参数
5.2 典型问题处理
-
压力震荡问题:
- 现象:压力在设定值附近频繁波动
- 排查:检查PID微分作用是否过强
- 解决:增加Td滤波时间常数
-
泵频繁切换:
- 现象:工频泵在短时间内反复启停
- 排查:检查减泵延时设置
- 解决:将减泵延时从30s调整为60s
-
通信干扰:
- 现象:上位机数据偶尔跳变
- 排查:用示波器检查信号质量
- 解决:增加磁环滤波器
6. 运行效果与改进建议
经过三个月的实际运行,系统各项指标达到预期:
- 压力控制精度:±0.015MPa
- 水泵切换次数:<10次/天
- 综合节电率:37.6%
- 故障率下降:82%
后续改进方向:
- 增加基于流量预测的前馈控制
- 引入水泵效率监测功能
- 开发手机APP远程监控
- 接入能源管理系统
在实际部署中,我们发现变频器与PLC的接地处理特别关键。最初因接地不良导致模拟量信号有0.5Hz的周期性干扰,后来采用以下措施解决:
- 所有设备共地,接地电阻<4Ω
- 信号电缆采用双绞屏蔽线
- 模拟量电缆与动力电缆分层敷设