Pneumatic Press Cycle
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 pneumatic press with a safety guard. The guard must be closed before the cycle can start. Pressing START_PB energises the EXTEND_VALVE, pushing the ram down. When EXTEND_LS confirms the ram is fully extended, the extend valve de-energises and the RETRACT_VALVE energises, pulling the ram back. When RETRACT_LS confirms retraction, the cycle completes and CYCLE_COMPLETE_LAMP pulses. Opening the guard mid-cycle drops all valves immediately.
Objectives
- GUARD_CLOSED must be true before START_PB is effective
- START_PB energises EXTEND_VALVE; RETRACT_VALVE stays off
- When EXTEND_LS true: EXTEND_VALVE drops; RETRACT_VALVE energises
- When RETRACT_LS true: RETRACT_VALVE drops; CYCLE_COMPLETE_LAMP pulses
- Opening guard mid-cycle (GUARD_CLOSED goes false) drops all valves immediately
- ESTOP drops all valves immediately
Hints
- Use a sequence state: IDLE → EXTENDING → RETRACTING → COMPLETE
- PHASE_EXTEND: S= by START_PB AND GUARD_CLOSED; R= by EXTEND_LS or guard opening
- PHASE_RETRACT: S= by EXTEND_LS AND PHASE_EXTEND; R= by RETRACT_LS or guard opening
- EXTEND_VALVE := PHASE_EXTEND AND GUARD_CLOSED AND ESTOP
- RETRACT_VALVE := PHASE_RETRACT AND GUARD_CLOSED AND ESTOP
I/O Table
Inputs
GUARD_CLOSEDGuard / barrier closed sensor
BOOL · %I0.0
START_PBCycle start push-button (momentary)
BOOL · %I0.1
RETRACT_LSRam fully retracted limit switch
BOOL · %I0.2
EXTEND_LSRam fully extended limit switch
BOOL · %I0.3
ESTOPE-stop (NC — true=healthy)
BOOL · %I0.4
Outputs
EXTEND_VALVEPneumatic extend valve solenoid
BOOL · %Q0.0
RETRACT_VALVEPneumatic retract valve solenoid
BOOL · %Q0.1
CYCLE_COMPLETE_LAMPCycle complete indicator lamp
BOOL · %Q0.2
Your program will be tested against:
All test cases run automatically when you submit. Assertions are hidden until you pass.
- #1Guard must be closed before cycle can start
START_PB with guard open does nothing
- #2START_PB with guard closed energises EXTEND_VALVE
Normal cycle start: EXTEND_VALVE energises, RETRACT_VALVE stays off
- #3EXTEND_LS transitions to retract phase
When EXTEND_LS fires, extend valve drops and retract valve energises
- #4RETRACT_LS completes cycle and lights CYCLE_COMPLETE_LAMP
Full cycle: extend → retract → CYCLE_COMPLETE_LAMP on
- #5Opening guard mid-cycle drops all valves
Guard opened during extend phase immediately drops EXTEND_VALVE
Related scenarios
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