恒压供水系统完整电路图 + PLC 程序(西门子 S7-200 SMART 版)
你需要的恒压供水系统,核心是通过 PLC + 变频器 + 压力传感器,实现水泵根据管网压力自动调节转速 / 启停,达到恒压控制的目标。以下是工业现场最常用的一拖二(1 用 1 备) 恒压供水方案,包含完整电路图和可直接使用的 PLC 程序,适配西门子 S7-200 SMART PLC + 西门子 MM440 变频器。
一、 系统核心原理
恒压供水的核心是闭环 PID 调节:
二、 完整电路图
1. 系统硬件清单(核心部件)
| 部件名称 | 型号 / 规格 | 作用 |
|---|---|---|
| PLC | 西门子 S7-200 SMART SR20 | 核心控制器,执行 PID 运算、逻辑控制 |
| 变频器 | 西门子 MM440(适配电机功率) | 调节水泵电机转速 |
| 压力传感器 | 扩散硅压力变送器(0-1.6MPa,4-20mA 输出) | 采集管网压力 |
| 水泵电机 | 三相异步电机(2 台) | 供水执行机构 |
| 中间继电器 | MY2N-J 220VAC | 隔离 PLC 输出信号,控制接触器 |
| 接触器 | CJX2-1810 | 控制水泵电机工频启停 |
| 空气开关 | DZ47-63 | 短路保护 |
| 电源 | 24VDC 开关电源 | 给 PLC、传感器供电 |
2. 电气接线图(分模块绘制)
模块 1:PLC 与压力传感器接线(模拟量输入)
plaintext
压力传感器 PLC (S7-200 SMART SR20) 电源+24V ←→ PLC L+(24V正极) 电源GND ←→ PLC M(24V负极) 信号输出+ ←→ PLC AIW0(模拟量输入通道0,如EM AE04模块的0通道) 信号输出- ←→ PLC M(模拟量公共端)
模块 2:PLC 与变频器接线(模拟量输出 + 开关量控制)
plaintext
PLC 变频器(MM440) AQW0(0-10V) ←→ AI1(模拟量输入1,端子3) # PID输出调节转速 M(模拟量地) ←→ AGND(模拟量地,端子4) Q0.0 ←→ 继电器KA1 → 变频器DIN1(端子5) # 变频器启动信号 Q0.1 ←→ 继电器KA2 → 变频器DIN2(端子6) # 正转信号 24V L+ ←→ 变频器24V(端子9) # 变频器数字量电源 M ←→ 变频器GND(端子8) # 数字量公共端
模块 3:PLC 与水泵电机控制回路(开关量输出)
plaintext
PLC 中间继电器 接触器 电机 Q0.2 → KA3线圈 → KM1线圈 → 1#水泵(变频/工频) Q0.3 → KA4线圈 → KM2线圈 → 2#水泵(备用工频) Q0.4 → KA5线圈 → KM3线圈 → 变频器旁路(工频切换)
模块 4:电源与保护回路
plaintext
三相市电 → 总空气开关 → 变频器输入端子(R/S/T) 变频器输出端子(U/V/W) → KM1 → 1#电机 总空气开关 → KM2 → 2#电机(工频) 220VAC → 开关电源 → 24VDC → PLC、传感器、继电器供电
三、 PLC 程序(西门子 S7-200 SMART,梯形图 + 注释)
1. 程序前期准备
2. 完整程序(STL 语言,可直接导入 PLC)
stl
// 网络1:初始化(首次扫描) LD SM0.1 MOVB 16#01, SMB34 // 定时中断0周期100ms ATCH INT_0, 10 // 定时中断0关联INT_0子程序 ENI // 启用中断 // 网络2:模拟量采集(压力传感器) LD SM0.0 MOVW AIW0, VW100 // 读取压力传感器原始值(4-20mA→6400-32000) // 压力值转换:VW100 → 实际压力(MPa),公式:(VW100-6400)/(32000-6400)*1.6 MOVW VW100, VW102 -I 6400, VW102 MOVR VW102, VD104 /R 25600.0, VD104 *R 1.6, VD104 // VD104=实际压力值(MPa) // 网络3:PID参数设置 LD SM0.0 MOVR 0.4, VD110 // 设定压力0.4MPa MOVR 5.0, VD114 // PID比例增益P MOVR 30.0, VD118 // 积分时间Ti(s) MOVR 5.0, VD122 // 微分时间Td(s) MOVB 16#00, SMB35 // PID手动/自动=自动 // 网络4:PID运算(输出0-10V对应0-32000) LD SM0.0 PID VD104, VD110, VD114, VD118, VD122, 0, VD126, AQW0 // VD104=反馈值,VD110=设定值,AQW0=PID输出(0-32000→0-10V) // 网络5:变频器启动控制 LD SM0.0 O I0.0 // I0.0=系统启动按钮(常开) AN I0.1 // I0.1=系统停止按钮(常闭) AN I0.2 // I0.2=压力超高报警(常闭) = Q0.0 // Q0.0=变频器启动 = Q0.1 // Q0.1=变频器正转 // 网络6:备用泵启停逻辑(1#泵50Hz仍压力不足时启动2#泵) LD SM0.0 LDR>= VD126, 32000.0 // PID输出≥32000(变频器50Hz) LDR< VD104, 0.38 // 实际压力<0.38MPa(低于设定值) TON T37, 500 // 延时5s(防止频繁启停) LD T37 = Q0.3 // Q0.3=启动2#备用泵 // 网络7:备用泵停止逻辑(压力恢复后停止) LD SM0.0 LDR>= VD104, 0.42 // 实际压力≥0.42MPa(高于设定值) TON T38, 500 // 延时5s LD T38 R Q0.3, 1 // 停止2#备用泵 // 网络8:故障保护(变频器故障停机) LD I0.3 // I0.3=变频器故障信号(常闭) AN SM0.0 = Q0.0 // 停止变频器 = Q0.3 // 停止备用泵 = Q0.5 // Q0.5=故障报警指示灯

