1. 项目背景与需求分析
上个月隔壁工厂因为供水压力不稳导致爆管事故,直接造成三天停产,这让我意识到恒压供水系统在工业环境中的重要性。作为自动化工程师,我决定用三菱FX3U PLC搭建一套三泵恒压供水控制系统,通过压力闭环控制实现稳定供水。
这套系统需要满足以下核心需求:
- 维持管网压力在设定值±5%范围内
- 根据用水量自动调节运行泵的数量(1-3台)
- 实现三台水泵的均载运行
- 具备手动/自动切换功能
- 提供直观的人机交互界面
2. 硬件系统设计
2.1 主要硬件选型
PLC主机:三菱FX3U-48MT/ES-A
- 基本单元自带24输入/24输出
- 扩展能力强,支持最多8个特殊功能模块
模拟量模块:FX3U-4AD
- 4通道模拟量输入
- 支持4-20mA电流信号输入
- 12位分辨率(0-4000对应4-20mA)
变频器:施耐德ATV312系列
- 功率匹配水泵电机(本例为7.5kW)
- 支持Modbus RTU通信
- 具备电机保护功能
压力变送器:选用4-20mA输出型
- 量程0-1.6MPa
- 精度0.5%FS
- 防护等级IP65
2.2 I/O分配表
| 信号类型 | 地址 | 功能描述 |
|---|---|---|
| DI | X0 | 自动模式 |
| DI | X1 | 手动模式 |
| DI | X2 | 急停按钮 |
| DI | X3 | 压力超限报警 |
| DO | Y0 | 1#泵变频启停 |
| DO | Y1 | 2#泵变频启停 |
| DO | Y2 | 3#泵变频启停 |
| DO | Y3 | 稳压指示灯 |
| AI | D100 | 当前压力值(来自AD模块) |
| 参数 | D200 | 设定压力值 |
3. 控制程序设计
3.1 主程序框架
ladder复制|--[MOV K300 D200]------------------(设定1.0MPa)
|--[CALL P0]------------------------(压力采集子程序)
|--[CALL P1]------------------------(PID控制子程序)
|--[CALL P2]------------------------(泵组管理子程序)
3.2 压力采集处理
ladder复制P0:
|--[FROM K0 K0 D100 K1]------------(读取AD模块通道1数据)
|--[DIV D100 K4000 D101]-----------(转换为0-1.0MPa量程)
|--[MUL D101 K1600 D100]-----------(映射到0-1.6MPa实际值)
|--[RET]---------------------------(子程序返回)
注意:实际调试时需要根据变送器量程调整转换系数,本例中1600对应1.6MPa满量程
3.3 PID控制算法实现
ladder复制P1:
|--[PID D100 D200 D300]------------(压力闭环计算)
|--[LIMIT K0 K1000 D300]-----------(限制输出范围0-100%)
|--[CALL P10]----------------------(输出滤波处理)
|--[TO K1 K1 D300 K1]--------------(输出到变频器)
|--[RET]
PID参数设置经验:
- 比例增益P:建议从30开始调整
- 积分时间I:初始设为10秒
- 微分时间D:通常设为0(水系统惯性大)
3.4 泵组轮换逻辑
ladder复制P2:
|--[ROTP Y0 Y1 Y2 K1]-------------(泵组轮换指令)
|--[> D100 D200]---|/|----[INC D50]--(压力过高时计时)
|--[<= D100 D200]--| |----[RST D50]
|--[D50 > K50]-----| |----[CALL P20](启动增泵程序)
|--[RET]
泵切换策略说明:
- 单泵运行时压力低于95%设定值持续5秒,启动第二台泵
- 双泵运行时压力仍低于95%持续5秒,启动第三台泵
- 压力高于105%设定值持续10秒,逐台停止备用泵
4. HMI组态设计
使用GT Designer3设计的组态画面包含以下关键元素:
- 压力趋势图:实时显示当前压力曲线和设定值线
- 设备状态区:
- 三台水泵动态图标(颜色表示状态)
- 变频器运行频率显示
- 操作面板:
- 手动/自动切换按钮
- 单泵强制启停按钮
- 压力设定值数字输入键盘
- 报警信息栏:显示压力超限、设备故障等报警
5. 调试经验与问题解决
5.1 压力震荡问题
初期调试时出现压力剧烈波动,采取以下措施解决:
- 在PID输出后增加滤波程序:
ladder复制P10:
|--[MOV D300 D301]------------------(原始输出值)
|--[MOV D301 D302]------------------(前次值)
|--[/= D301 D302]---| |----[MOV D302 D300](输出变化量超限时保持)
|--[RET]
- 调整采样周期从100ms改为500ms
- 在变频器参数中增加加速/减速时间(设为10秒)
5.2 泵切换冲击问题
泵组切换时出现水锤现象,解决方案:
- 在变频器中设置预置频率功能
- 新增泵启动前先升至30Hz再投入并联
- 停泵时先降频至20Hz再断开
6. 系统优化建议
- 能耗监控:增加电能计量模块,记录各泵耗电量
- 远程监控:通过4G模块实现手机APP监控
- 故障预测:基于运行时间记录进行设备维护提醒
- 备用泵自投:检测到运行泵故障时自动切换备用泵
这套系统经过三个月连续运行验证,压力控制精度保持在±2%以内,三台水泵运行时间差控制在8小时以内,完全达到设计目标。特别值得一提的是自主开发的泵组轮换算法,不仅实现了均载运行,还将切换冲击降到了最低。
