Palletizer (Simple)
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 simple layer-based palletizer. Cases arrive at a pick station, are indexed to pattern positions within a layer (5 cases per layer), then the layer lift rises to allow the next layer to be placed. After 3 layers the pallet is ejected. The operator starts/stops the cycle via push-buttons and PATTERN_SELECT chooses the arrangement.
Objectives
- PICK_ACTUATOR fires when CASE_AT_PICK is asserted and the system is running
- INDEX_CONVEYOR indexes the case to the next pattern position after each pick
- After 5 cases, LAYER_LIFT raises and the case counter resets for the next layer
- After 3 layers, PALLET_EJECT fires and layer count resets
- READY_LAMP is lit when the system is running and not faulted
- STOP_PB stops the cycle cleanly at any point
Hints
- Use a CASE_COUNT (0..4) and LAYER_COUNT (0..2) to track position
- PICK_ACTUATOR pulses on CASE_AT_PICK rising edge; INDEX_CONVEYOR follows
- LAYER_LIFT goes high when CASE_COUNT reaches 5 (LAYER_COMPLETE_LS confirms); reset CASE_COUNT
- PALLET_EJECT fires when LAYER_COUNT reaches 3 (PALLET_FULL_LS confirms); reset LAYER_COUNT
- READY_LAMP := RUN_BIT — illuminate any time the cycle is active
I/O Table
Inputs
CASE_AT_PICKPhotoeye: case present at pick position
BOOL · %I0.0
PATTERN_SELECTPattern selector (0=A, 1=B)
BOOL · %I0.1
LAYER_COMPLETE_LSLimit switch: lift at top (layer done)
BOOL · %I0.2
PALLET_FULL_LSLimit switch: pallet fully loaded
BOOL · %I0.3
START_PBStart push-button (momentary)
BOOL · %I0.4
STOP_PBStop push-button (momentary)
BOOL · %I0.5
Outputs
PICK_ACTUATORPick arm/suction actuator
BOOL · %Q0.0
INDEX_CONVEYORIndex conveyor drive
BOOL · %Q0.1
LAYER_LIFTLayer lift raise command
BOOL · %Q0.2
PALLET_EJECTPallet eject conveyor
BOOL · %Q0.3
READY_LAMPSystem ready/running indicator lamp
BOOL · %Q0.4
Your program will be tested against:
All test cases run automatically when you submit. Assertions are hidden until you pass.
- #1Start energises system, READY_LAMP on
START_PB sets the run bit and READY_LAMP illuminates
- #2PICK_ACTUATOR fires on CASE_AT_PICK
When running and a case arrives, PICK_ACTUATOR asserts and INDEX_CONVEYOR follows
- #3LAYER_LIFT fires after 5 picks
Physics counts 5 case picks then signals layer complete
- #4PALLET_EJECT fires after 3 layers
Three complete layers trigger pallet ejection
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