Basic
10 min

Two-Speed Motor Control

motortwo-speedinterlocksafety
Two-Speed Motor Control 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 two-speed (Dahlander or separate windings) motor starter. HIGH_PB runs the motor at high speed; LOW_PB at low speed. The two contactors are interlocked — only one can be energised at a time. Changing speed requires pressing STOP_PB first (direct high-to-low or low-to-high switching is not permitted, preventing winding damage). ESTOP drops both contactors immediately.

Objectives

  • HIGH_PB seals in HIGH_CONTACTOR (while stopped and no fault)
  • LOW_PB seals in LOW_CONTACTOR (while stopped and no fault)
  • STOP_PB de-energises the active contactor
  • Direct speed change without STOP is inhibited — pressing HIGH while low is running does nothing
  • ESTOP drops both contactors and latches FAULT_LAMP
  • RUN_LAMP on while either speed is running

Hints

  • HIGH_BIT: S= by HIGH_PB AND /LOW_BIT; R= by STOP_PB or /ESTOP
  • LOW_BIT: S= by LOW_PB AND /HIGH_BIT; R= by STOP_PB or /ESTOP
  • HIGH_CONTACTOR := HIGH_BIT AND /FAULT_BIT; LOW_CONTACTOR := LOW_BIT AND /FAULT_BIT
  • FAULT_BIT: S= by /ESTOP; R= by STOP_PB AND ESTOP

I/O Table

Inputs

HIGH_PB

High speed push-button (momentary)

BOOL · %I0.0

LOW_PB

Low speed push-button (momentary)

BOOL · %I0.1

STOP_PB

Stop push-button (momentary)

BOOL · %I0.2

ESTOP

E-stop (NC — true=healthy)

BOOL · %I0.3

Outputs

HIGH_CONTACTOR

High-speed winding contactor coil

BOOL · %Q0.0

LOW_CONTACTOR

Low-speed winding contactor coil

BOOL · %Q0.1

RUN_LAMP

Running indicator lamp (either speed)

BOOL · %Q0.2

Your program will be tested against:

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

  1. #1HIGH_PB seals in HIGH_CONTACTOR

    Momentary HIGH_PB seals in high-speed contactor; STOP drops it

  2. #2LOW_PB seals in LOW_CONTACTOR

    Momentary LOW_PB seals in low-speed contactor

  3. #3Cannot switch from high to low without STOP first

    Pressing LOW_PB while HIGH is running is inhibited — must STOP first

  4. #4ESTOP drops both contactors and latches fault

    E-stop de-energises all and latches fault; STOP_PB clears after ESTOP restored

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