1. 项目概述
这套基于西门子S7-300 PLC的四泵恒压供水系统,是我上周刚完成调试的一个工业自动化项目。核心目标是通过变频调速实现管网压力的恒定控制,同时根据用水量变化自动调节水泵运行数量。这种方案相比传统工频供水能节能30%-50%,特别适合写字楼、小区等用水量波动较大的场所。
系统硬件配置相当经典:S7-315-2DP作为主控制器,搭配SM331模拟量输入模块采集压力信号,SM332模拟量输出模块控制变频器。现场仪表选用的是0-1.6MPa量程的4-20mA压力变送器,四台水泵采用3用1备配置,其中1台变频运行,其余工频运行。上位监控用的是组态王6.55,主要实现压力曲线显示、报警记录和远程操作功能。
2. 系统架构设计
2.1 控制逻辑解析
恒压供水的核心在于PID闭环控制。系统工作时,压力变送器实时检测管网压力,PLC将采集到的压力信号与设定值比较,通过PID运算输出0-50Hz的频率信号给变频器。当用水量增大导致变频泵达到50Hz仍无法满足压力要求时,系统会自动启动工频泵,同时降低变频泵频率维持压力稳定。
这里有个关键设计点:我们采用"先启先停"的轮换策略,通过累计运行时间记录实现水泵均衡磨损。在PLC程序中用M区变量存储各泵运行时长,每次启泵优先选择累计时间最短的那台。
2.2 硬件选型要点
压力变送器的选型直接影响控制精度。我们最终选用的是扩散硅原理的传感器,相比陶瓷压阻式有更好的长期稳定性。量程选择也有讲究——1.6MPa的量程对10层以下建筑足够,如果是高层建筑需要分段加压。
变频器选用的是西门子MM440系列,关键参数设置:
- P0700=2(端子控制)
- P1000=2(模拟量给定)
- P1080=20Hz(最小频率,防止水泵汽蚀)
- P1120=15s(加速时间初始值)
3. PLC程序详解
3.1 IO分配与信号处理
系统DI/DO点配置如原文所示,这里重点说明模拟量处理。压力信号通过SM331模块的PIW304通道采集,需要先用FC105进行量程转换:
pascal复制CALL FC105
IN :=PIW304
HI_LIM:=1.600000e+000
LO_LIM:=0.000000e+000
BIPOLAR:=FALSE
RET_VAL:=MW200
OUT :=MD204
这个转换块将0-27648的原始值映射为0-1.6MPa的工程值。调试时发现,如果传感器量程与程序设置不一致,会导致控制异常。比如现场实际是0-1.0MPa的传感器,但程序按1.6MPa设置,就会出现压力显示值偏小的问题。
3.2 水泵切换逻辑
水泵加减控制是程序的核心难点。我们采用压力偏差触发延时判断的方式:
pascal复制NETWORK 1
LD MD204 // 实际压力
L MD208 // 设定压力
-R // 计算偏差
L 0.05 // 5%偏差阈值
*R // 计算绝对偏差值
T MD212 // 存储偏差值
NETWORK 2
LD MD212
L MW216 // 回差设定
>R
= M10.0 // 增泵条件
当实际压力低于设定值超过5%并持续30秒时,触发增泵操作。这个延时通过TON定时器实现:
pascal复制NETWORK 3
LD M10.0
TON T1 // 延时定时器
IN:=M10.0
PT:=T#30S
Q:=M10.1
重要提示:延时时间需要根据管网容积调整。容积大的系统需要更长延时,否则容易导致水泵频繁启停。我们调试时发现30秒对200m³的管网最合适。
4. 组态监控系统实现
4.1 动态画面设计
组态王画面通过颜色变化直观显示设备状态。以水泵状态显示为例:
vb复制If \本站点\1号泵状态 == 1 Then
FillColor = RGB(0,255,0) '运行状态为绿色
Else
FillColor = RGB(255,0,0) '停止状态为红色
EndIf
压力曲线显示使用了历史数据趋势控件,采样间隔设为1秒。调试时发现如果采样太快会导致曲线锯齿严重,太慢又会丢失关键波动信息。
4.2 报警管理系统
报警记录采用ODBC连接Access数据库,关键SQL语句:
sql复制INSERT INTO AlarmLog (Time, Device, Content)
VALUES ('#SystemTime#', '\本站点\报警设备', '\本站点\报警内容')
实际使用中发现,如果直接记录原始报警信息会导致数据库快速膨胀。后来改进为只记录确认后的报警,并在画面上增加报警确认按钮。
5. 调试经验与问题排查
5.1 信号干扰处理
调试初期遇到2号泵误动作问题,表现为夜间低水位时无故启动。用示波器检查发现AI通道上有约100mV的工频干扰。解决方案:
- 压力变送器信号线改用双绞屏蔽电缆
- 在SM331模块输入端并联0.1μF滤波电容
- 屏蔽层在PLC端单点接地
5.2 PID参数整定
恒压供水系统的PID整定有其特殊性:
- 比例带(P)一般设3-5%,太大响应慢,太小易震荡
- 积分时间(I)建议120-300秒,用于消除静差
- 微分(D)通常设为0,因为水压变化本身有滞后
我们最终采用的参数:
- 比例增益:4%
- 积分时间:180秒
- 微分时间:0秒
调试口诀:"先调P消除震荡,再调I消除余差,D参数最后加"
5.3 变频器参数优化
变频器有几个关键参数需要特别注意:
- 加速时间(P1120):初始设为20秒,系统稳定后逐步下调至12秒
- 减速时间(P1121):必须大于加速时间,防止过压
- 跳跃频率(P1091-P1093):设为30-35Hz避开管道共振点
6. 系统优化建议
经过一周试运行,总结出几个改进点:
- 增加压力预测功能:通过记录24小时压力变化规律,提前调整水泵运行策略
- 完善故障自诊断:当某台泵连续三次启动失败后自动切换到备用泵
- 优化节能算法:在保证压力前提下,尽量让更多泵运行在高效区(35-45Hz)
这套系统从调试到稳定运行花了5天时间,期间最大的教训是:信号线一定要与动力电缆分开敷设。有次为了省事将两者放在同一线槽,结果导致压力信号波动达0.2MPa,严重影响控制精度。后来重新布线才解决问题。