1. 西门子恒压供水系统概述
恒压供水系统是现代建筑供水工程中的核心控制方案,通过PLC实时调节水泵运行状态,确保管网压力恒定。这次分享的西门子S7-200 SMART系列PLC搭建的恒压供水系统,最大的特点是其模块化设计理念——支持2-6台水泵的灵活配置,并集成了18种工作模式切换功能。
系统硬件采用西门子SR20/SR30主控模块搭配AM03扩展模块,配合昆仑通态TPC7022触摸屏构成完整控制方案。其中SR20+AM03组合最多支持3主泵+1辅泵配置,SR30+AM03则可扩展至5主泵+1辅泵。这种"主泵+备用泵"的设计既满足了常规供水需求,又提供了应急备用方案。
关键优势:系统采用开放式架构设计,PID调节由PLC直接实现,不依赖变频器内置PID功能,因此可适配各种品牌变频器,大大提升了设备选型的灵活性。
2. 系统硬件架构详解
2.1 PLC选型与配置
系统核心控制器选用西门子S7-200 SMART系列,这是专为中国市场开发的紧凑型PLC,具有以下特点:
- SR20标准型:12输入/8输出,最多支持3主泵+1辅泵控制
- SR30扩展型:18输入/12输出,通过AM03模块扩展后,可控制5主泵+1辅泵
- 内置RS485接口,支持Modbus RTU协议与变频器通信
- 本体集成2路高速脉冲输出,可用于直接驱动变频器
AM03模拟量模块提供了4路AI和2路AO:
- AI0:接管网压力变送器信号(4-20mA)
- AI1:接水箱液位传感器信号
- AI2/AI3:备用或接其他监测信号
- AO0:输出PID调节信号至变频器
2.2 人机界面设计
昆仑通态TPC7022触摸屏作为操作终端,具有以下功能特点:
- 7英寸高亮度TFT液晶屏
- 内置128MB存储空间,可存储压力曲线数据
- 支持与西门子S7-200 SMART直接PPI通信
- 开发环境使用McgsPro组态软件
屏保设计采用了动态压力曲线显示,主界面包含:
- 实时压力显示区
- 泵组运行状态指示灯
- 模式选择按钮组
- PID参数调整窗口
- 报警信息显示区
3. 核心控制程序设计
3.1 工作模式切换机制
系统最具特色的就是18种工作模式设计,通过PLC的CASE语句实现模式切换:
st复制// 模式选择变量
#Mode_Select := "DB_Main".iOperationMode;
// 根据模式字切换控制方式
CASE #Mode_Select OF
1: // 定时轮换模式
FB_PumpControl(mode:=1);
2: // 压力优先模式
FB_PumpControl(mode:=2);
3: // 流量跟随模式
FB_PumpControl(mode:=3);
...
18: // 应急模式
FB_PumpControl(mode:=18);
END_CASE;
典型工作模式解析:
- 模式1(定时轮换):按设定时间间隔自动切换主泵,均衡各泵运行时间
- 模式2(压力优先):优先保证压力稳定,允许泵频繁启停
- 模式3(流量跟随):根据历史用水曲线预测需求,提前调整泵组状态
- 模式18(应急):只运行备用泵,同时关闭所有非必要负载
3.2 PID调节算法实现
系统采用西门子PID_Compact算法块实现压力闭环控制:
st复制// PID参数结构体
TYPE PID_Para :
STRUCT
Gain : REAL := 0.6; // 比例系数
Ti : TIME := T#5s; // 积分时间
Td : TIME := T#1s; // 微分时间
END_STRUCT;
END_TYPE
// 调用PID功能块
PID_Compact(
Input := #ActualPressure,
Setpoint := #SetPressure,
Para := #PID_Parameters,
Output => #PID_Output);
调试经验:
- 比例系数(Gain)初始建议设0.5-0.8,过大易引发振荡
- 积分时间(Ti)一般设为5-10秒,太短会导致"水泵抽搐"
- 微分时间(Td)通常设为积分时间的1/5-1/10
- 必须配置输出限幅(如30%-90%),保护水泵电机
3.3 泵组控制逻辑
泵组启停采用位控制算法,根据PID输出值自动计算需要运行的泵数量:
st复制// 泵启停控制字
#Pump_Control := 2#000000;
// 根据压力偏差激活泵
FOR #i := 1 TO 6 DO
IF #PID_Output >= (#i * 20.0) THEN
#Pump_Control := #Pump_Control OR SHL(1, #i-1);
END_IF;
END_FOR;
// 写输出到实际泵
"Pump1" := (#Pump_Control AND 2#000001) <> 0;
"Pump2" := (#Pump_Control AND 2#000010) <> 0;
...
该算法特点:
- 每20%输出区间对应增加一台泵
- 支持泵组顺序轮换启动
- 可与工作模式配合,决定优先启动主泵或辅泵
4. HMI与PLC协同设计
4.1 画面自动切换实现
昆仑通态屏通过脚本实现画面自动切换:
lua复制-- 画面切换脚本
if ModeValue >=1 and ModeValue <=6 then
ScreenChange(Window1)
elseif ModeValue >=7 and ModeValue <=12 then
ScreenChange(Window2)
else
ScreenChange(Window3)
end
优化技巧:
- 在PLC模式切换后增加500ms延时,确保画面切换同步
- 不同模式画面采用差异化配色方案,便于操作员识别
- 关键参数变更时添加确认对话框,防止误操作
4.2 报警处理机制
系统设计了完善的故障处理逻辑:
st复制// 变频器通讯故障处理
IF #Comm_Error THEN
#Retry_Counter := #Retry_Counter + 1; // 当前重试次数
IF #Retry_Counter > 3 THEN // 最大重试3次
// 触发报警并切换备用泵
Alarm_Trigger(16#7001);
SwitchToBackupPump();
END_IF;
END_IF;
报警代码示例:
- 16#7001:变频器通信故障
- 16#7002:压力传感器断线
- 16#7003:水箱水位超限
- 16#7004:泵电机过载
5. 工程实施要点
5.1 电气安装注意事项
- 信号线必须采用屏蔽双绞线,屏蔽层单端接地
- 模拟量信号线与动力线保持至少30cm间距
- 在变频器输入端加装电抗器,抑制高频干扰
- AM03模块的AI通道地线要单独连接
5.2 调试流程建议
- 先进行静态测试:检查所有IO点状态
- 手动模式测试:逐台启动水泵,确认转向正确
- PID参数整定:先纯比例调节,再引入积分
- 模式切换测试:验证各模式下的控制逻辑
- 故障模拟测试:人为制造断线、超压等异常
5.3 常见问题排查
-
压力波动大:
- 检查传感器取样管是否有气泡
- 适当增大PID微分时间
- 确认水泵最小运行频率设置合理
-
泵频繁启停:
- 调整PID死区参数
- 检查压力罐预充压力是否正常
- 考虑增加泵最小运行时间限制
-
通信中断:
- 检查终端电阻设置(通常120Ω)
- 确认波特率与站地址设置一致
- 使用示波器检查信号质量
这套系统的最大价值在于其完整的注释体系和模块化设计,从硬件配置到软件逻辑都体现了工业控制的标准化思想。在实际项目中,我们根据这个框架已经成功实施了多个供水改造工程,系统平均无故障运行时间超过8000小时。
