双泵轮换运行:一用一备交替启动
供水系统常配两台泵,一用一备。如果永远只用同一台,那台先坏、备用泵反而锈死。 正确做法是每次启动自动换泵:这次 1 号、下次 2 号,两台泵的寿命和状态保持一致。 这个题目的核心不是定时器,而是「用一个中间位记住这次轮到谁」,再配上互锁。 练习时可直接打开 PLC 在线仿真器 边搭边跑,其它示例见 梯形图示例库。
题目
两台水泵 Q0.0、Q0.1:按启动建压运行,按停止全部停机;每次停止后自动轮换,下一次启动使用另一台泵。任意时刻最多一台泵运行。
变量表
| 变量名 | 类型 | 习惯地址 | 说明 |
|---|---|---|---|
| 启动 | 布尔 | I0.0 | 点动按钮 |
| 停止 | 布尔 | I0.1 | 程序里用常闭触点 |
| 运行 | 布尔 | M0 | 起保停后的系统运行标志 |
| 轮换标志 | 布尔 | M1 | 0 = 本次用 1 号泵;1 = 本次用 2 号泵 |
| 1 号泵 | 布尔 | Q0.0 | 输出 |
| 2 号泵 | 布尔 | Q0.1 | 输出 |
| 1 号泵故障 | 布尔 | I0.2 | 过载/保护动作时为 1(延伸用) |
| 2 号泵故障 | 布尔 | I0.3 | 过载/保护动作时为 1(延伸用) |
梯形图逻辑
先做运行标志的起保停,再让「轮换标志」在每次停止的瞬间翻转一次:
[ I0.0 常开 ] ─┬─ [ I0.1 常闭 ] ─ ( M0 常开线圈“运行” ) [ M0 常开 ] ───┘ [ M0 负脉冲 ] ─ [ M1 常闭 ] ─ ( 置位线圈 M1 ) [ M0 负脉冲 ] ─ [ M1 常开 ] ─ ( 复位线圈 M1 ) [ M0 常开 ] ─ [ M1 常闭 ] ─ [ Q0.1 常闭 ] ─ ( Q0.0 “1 号泵” ) [ M0 常开 ] ─ [ M1 常开 ] ─ [ Q0.0 常闭 ] ─ ( Q0.1 “2 号泵” )
逻辑:
M0 = (I0.0 + M0) · /I0.1 翻转(M0 下降沿触发,两行合起来就是一个翻转开关): M0↓ · /M1 → 置位 M1 M0↓ · M1 → 复位 M1 Q0.0 = M0 · /M1 · /Q0.1 Q0.1 = M0 · M1 · /Q0.0
翻转是怎么发生的
- 初始 M1 = 0;按启动,M0 = 1,Q0.0 得电 —— 1 号泵运行
- 按停止,M0 由 1 变 0,产生一个只持续一个扫描周期的下降沿脉冲
- 该脉冲经过「/M1 常闭」置位 M1(因为此时 M1 还是 0)→ M1 = 1
- 再按启动,Q0.1 得电 —— 2 号泵运行;再停止时脉冲经过「M1 常开」复位 M1 → 回到 1 号泵
搭建步骤
- 变量表建好上表中前 6 个变量(加故障信号则再加两个布尔输入)
- 第一梯级:起保停,得到运行标志 M0
- 第二梯级:放一个负脉冲(下降沿)触点,绑定 M0;串联常闭触点绑定 M1;末端放置位线圈绑定 M1
- 第三梯级:同样的负脉冲触点,串联常开触点绑定 M1;末端放复位线圈绑定 M1
- 第四、五梯级:按上面的表达式搭两台泵,注意两处互锁(对方的常闭触点)
- 仿真:启动→停止→启动→停止,观察每两次启动分别点亮 Q0.0 和 Q0.1
要点:
① 翻转放在停止时做,而不是启动时。如果在运行中误按启动就翻转标志,程序会带载切泵;按「下次启动换泵」的语义做,永远只在停机间隙切换。
② 两台泵必须互锁:程序里互串对方常闭触点,真实柜子里再用接触器常闭触点做电气互锁。软件互锁省不了硬件互锁。
③ 有故障信号时可以让轮换更聪明:故障泵被跳过。
延伸:故障自动切换
加上两个故障输入后,公式改成(I0.2 = 1 号泵故障,I0.3 = 2 号泵故障):
Q0.0 = M0 · /Q0.1 · /I0.2 · (/M1 + I0.3) Q0.1 = M0 · /Q0.0 · /I0.3 · ( M1 + I0.2)
含义:正常时按轮换标志选泵;如果被选中的泵有故障,则自动改选另一台;两台都故障时全部停机。
更多变体
- 按时长轮换:不是每次启停轮换,而是每运行 2 小时换泵——用接通延时定时器加比较即可,翻转思路不变
- 液位触发:把启动/停止换成高低水位开关,就是 水池水位自动控制 的轮换版(无人值守泵站的标准配置)
- 三台泵轮换:把翻转标志换成计数器,每次停止计数 +1,再与 3 取余决定用哪台,思路一致
想再练互锁,可以回头做 电机正反转。 如果要把这套轮换逻辑用到真实的西门子 S7-1500 工程里,可以先用 梯形图转 SCL 得到结构化文本,再用 TiaLink(博途 MCP 网关) 写进博途工程并下载到 PLCSIM 仿真。