Basic
20 min

Lift Station — Alternating Pumps

pumpswateralternationalarmthermal
Lift Station — Alternating Pumps scenario preview

Ready to build this?

Sign up free — no credit card required. This scenario requires the Basic plan.

Sign up to play this scenario →

Already have an account? Log in

Briefing

A wet-well lift station uses two submersible pumps in alternating duty. When the wet well rises to the HIGH level, the duty pump starts; it stops when the well drains to LOW. After each completed cycle the duty assignment swaps so both pumps accumulate equal runtime. A thermal trip on the duty pump hands control to the standby pump. If both thermals trip simultaneously, or the well overflows (above HIGH for too long without draining), the ALARM_HORN and ALARM_LAMP activate.

Objectives

  • WET_WELL_HIGH starts the duty pump; WET_WELL_LOW stops it
  • Duty alternates after each completed pump cycle (HIGH → LOW)
  • PUMP1_THERMAL trips Pump 1 — standby Pump 2 takes over immediately
  • PUMP2_THERMAL trips Pump 2 — standby Pump 1 takes over immediately
  • Both thermals tripped simultaneously triggers ALARM_LAMP and ALARM_HORN
  • Tank overflow (level stays at HIGH with no working pump) triggers ALARM_LAMP and ALARM_HORN

Hints

  • Use a DUTY_IS_2 latch bit that toggles on each falling edge of WET_WELL_HIGH
  • PUMP1_RUN := WET_WELL_HIGH AND (NOT DUTY_IS_2 OR PUMP2_THERMAL) AND NOT PUMP1_THERMAL
  • PUMP2_RUN := WET_WELL_HIGH AND (DUTY_IS_2 OR PUMP1_THERMAL) AND NOT PUMP2_THERMAL
  • ALARM := (PUMP1_THERMAL AND PUMP2_THERMAL) OR OVERFLOW_BIT
  • ALARM_LAMP := ALARM; ALARM_HORN := ALARM

I/O Table

Inputs

WET_WELL_HIGH

High level float switch (>90%)

BOOL · %I0.0

WET_WELL_LOW

Low level float switch (<20%)

BOOL · %I0.1

PUMP1_THERMAL

Pump 1 thermal overload trip

BOOL · %I0.2

PUMP2_THERMAL

Pump 2 thermal overload trip

BOOL · %I0.3

Outputs

PUMP1_RUN

Pump 1 run contactor

BOOL · %Q0.0

PUMP2_RUN

Pump 2 run contactor

BOOL · %Q0.1

ALARM_LAMP

Alarm indicator lamp

BOOL · %Q0.2

ALARM_HORN

Alarm horn / sounder

BOOL · %Q0.3

Your program will be tested against:

All test cases run automatically when you submit. Assertions are hidden until you pass.

  1. #1Pump 1 (duty) starts on WET_WELL_HIGH

    With no thermals tripped, Pump 1 starts when level rises to HIGH

  2. #2Duty pump stops on WET_WELL_LOW

    Pump 1 stops when level drains to LOW

  3. #3Duty alternates after each fill cycle

    After one complete cycle Pump 2 becomes duty

  4. #4Pump 1 thermal trip hands off to Pump 2

    PUMP1_THERMAL while Pump 1 is duty causes Pump 2 to start

  5. #5Both thermal trips activate alarm

    PUMP1_THERMAL AND PUMP2_THERMAL triggers ALARM_LAMP and ALARM_HORN

Ready to build this?

Sign up free — no credit card required. This scenario requires the Basic plan.

Sign up to play this scenario →

Already have an account? Log in