PLC 在线仿真器

双泵轮换运行:一用一备交替启动

供水系统常配两台泵,一用一备。如果永远只用同一台,那台先坏、备用泵反而锈死。 正确做法是每次启动自动换泵:这次 1 号、下次 2 号,两台泵的寿命和状态保持一致。 这个题目的核心不是定时器,而是「用一个中间位记住这次轮到谁」,再配上互锁。 练习时可直接打开 PLC 在线仿真器 边搭边跑,其它示例见 梯形图示例库。

题目

两台水泵 Q0.0、Q0.1:按启动建压运行,按停止全部停机;每次停止后自动轮换,下一次启动使用另一台泵。任意时刻最多一台泵运行。

变量表

变量名类型习惯地址说明
启动布尔I0.0点动按钮
停止布尔I0.1程序里用常闭触点
运行布尔M0起保停后的系统运行标志
轮换标志布尔M10 = 本次用 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

翻转是怎么发生的

  1. 初始 M1 = 0;按启动,M0 = 1,Q0.0 得电 —— 1 号泵运行
  2. 按停止,M0 由 1 变 0,产生一个只持续一个扫描周期的下降沿脉冲
  3. 该脉冲经过「/M1 常闭」置位 M1(因为此时 M1 还是 0)→ M1 = 1
  4. 再按启动,Q0.1 得电 —— 2 号泵运行;再停止时脉冲经过「M1 常开」复位 M1 → 回到 1 号泵

搭建步骤

  1. 变量表建好上表中前 6 个变量(加故障信号则再加两个布尔输入)
  2. 第一梯级:起保停,得到运行标志 M0
  3. 第二梯级:放一个负脉冲(下降沿)触点,绑定 M0;串联常闭触点绑定 M1;末端放置位线圈绑定 M1
  4. 第三梯级:同样的负脉冲触点,串联常开触点绑定 M1;末端放复位线圈绑定 M1
  5. 第四、五梯级:按上面的表达式搭两台泵,注意两处互锁(对方的常闭触点)
  6. 仿真:启动→停止→启动→停止,观察每两次启动分别点亮 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)

含义:正常时按轮换标志选泵;如果被选中的泵有故障,则自动改选另一台;两台都故障时全部停机。

更多变体

翻转标志这一个套路,能让很多「轮流做」的题目迎刃而解。

无需安装博途、无需授权,支持触点、线圈、定时器、计数器、比较与数学指令,打开即用。

打开 PLC 在线仿真器 →

想再练互锁,可以回头做 电机正反转。 如果要把这套轮换逻辑用到真实的西门子 S7-1500 工程里,可以先用 梯形图转 SCL 得到结构化文本,再用 TiaLink(博途 MCP 网关) 写进博途工程并下载到 PLCSIM 仿真。