Pro
20 min

Safety Light Curtain Mute Logic

safetylight-curtainmutingESTOPseal-in
Safety Light Curtain Mute Logic scenario preview

Ready to build this?

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

Sign up to play this scenario →

Already have an account? Log in

Briefing

A light curtain guards the entry to a conveyor feed zone. Normally the curtain must be clear (unbroken) for the feeder to run. However, during an **eject cycle** the physics engine raises **MUTE_ACTIVE** — the muting window — which bypasses the curtain so product can pass through without stopping the line. Write the safety supervisory logic: 1. **SAFE_WINDOW** = CURTAIN_CLEAR OR MUTE_ACTIVE. 2. **3-wire seal-in**: START latches RUN_BIT; STOP or /ESTOP_OK resets it. START is only accepted when ESTOP_OK and SAFE_WINDOW are both true. 3. **FEED_RUN** = RUN_BIT AND ESTOP_OK AND SAFE_WINDOW. 4. **FAULT_LAMP** latches when: - ESTOP_OK goes false (E-stop tripped), OR - RUN_BIT AND NOT CURTAIN_CLEAR AND NOT MUTE_ACTIVE (beam break while running, no mute). Clears when ESTOP_OK is restored and the safety window is valid again.

Objectives

  • SAFE_WINDOW := CURTAIN_CLEAR OR MUTE_ACTIVE
  • 3-wire seal-in with ESTOP_OK and SAFE_WINDOW gate on START
  • FEED_RUN := RUN_BIT AND ESTOP_OK AND SAFE_WINDOW
  • FAULT_LAMP latches on E-stop trip or curtain break while running

Hints

  • | CURTAIN_CLEAR OR MUTE_ACTIVE | := SAFE_WINDOW ; — this is a parallel branch rung
  • The FAULT_LAMP latch reset: | ESTOP_OK AND (CURTAIN_CLEAR OR MUTE_ACTIVE) | R= FAULT_LAMP ;

I/O Table

Inputs

START

Start push-button (momentary NO)

BOOL · %I0.0

STOP

Stop push-button (momentary NO)

BOOL · %I0.1

CURTAIN_CLEAR

Physics/op: light-curtain beam unbroken

BOOL · %I0.2

MUTE_ACTIVE

Physics: muting window active (eject cycle)

BOOL · %I0.3

ESTOP_OK

Physics/op: E-stop relay healthy

BOOL · %I0.4

EJECT_CYCLE

Physics trigger: starts the muting window

BOOL · %I0.5

Outputs

FEED_RUN

Feeder conveyor run output

BOOL · %Q0.0

FAULT_LAMP

Safety fault indicator lamp

BOOL · %Q0.1

Your program will be tested against:

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

  1. #1Normal run: curtain clear + ESTOP_OK → FEED_RUN on

    With ESTOP_OK=true and CURTAIN_CLEAR=true, START latches run and FEED_RUN turns on.

  2. #2E-stop trip → FEED_RUN off, FAULT_LAMP on

    While running, drop ESTOP_OK — FEED_RUN must go off and FAULT_LAMP must latch.

  3. #3Mute active: beam break does not stop FEED_RUN

    When EJECT_CYCLE is true (MUTE_ACTIVE=true), a curtain beam break should NOT trip FEED_RUN.

Ready to build this?

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

Sign up to play this scenario →

Already have an account? Log in