Basic
20 min

Palletizer (Simple)

palletizerconveyorcountingsequencing
Palletizer (Simple) 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 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_PICK

Photoeye: case present at pick position

BOOL · %I0.0

PATTERN_SELECT

Pattern selector (0=A, 1=B)

BOOL · %I0.1

LAYER_COMPLETE_LS

Limit switch: lift at top (layer done)

BOOL · %I0.2

PALLET_FULL_LS

Limit switch: pallet fully loaded

BOOL · %I0.3

START_PB

Start push-button (momentary)

BOOL · %I0.4

STOP_PB

Stop push-button (momentary)

BOOL · %I0.5

Outputs

PICK_ACTUATOR

Pick arm/suction actuator

BOOL · %Q0.0

INDEX_CONVEYOR

Index conveyor drive

BOOL · %Q0.1

LAYER_LIFT

Layer lift raise command

BOOL · %Q0.2

PALLET_EJECT

Pallet eject conveyor

BOOL · %Q0.3

READY_LAMP

System 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.

  1. #1Start energises system, READY_LAMP on

    START_PB sets the run bit and READY_LAMP illuminates

  2. #2PICK_ACTUATOR fires on CASE_AT_PICK

    When running and a case arrives, PICK_ACTUATOR asserts and INDEX_CONVEYOR follows

  3. #3LAYER_LIFT fires after 5 picks

    Physics counts 5 case picks then signals layer complete

  4. #4PALLET_EJECT fires after 3 layers

    Three complete layers trigger pallet ejection

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