Basic
20 min

Palletizer (Simple)

palletizerconveyorcountingsequencing

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

Palletizer (Simple) scenario preview

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

Runnable simulator field guide

Simple palletizer PLC scenario: test checklist

Direct answer

The learner can define explicit states, prove every material movement with sensors, prevent duplicate counts and recover from a stopped or missing-item condition.

Written for pLC learners programming a guarded compact palletizing model with conveyor sensing, part counts, transfer motion and layer completion.

a guarded compact manufacturing cell used to test conveyor sensing, pneumatic transfer, counting, palletizing and recoverable sequence behavior while studying palletizer accumulation, count, transfer, pattern and recovery sequence
System map / 02

NODE 01observable

Scenario setup

Product and pallet model, infeed sensor, accumulation, part count, row and layer pattern, transfer axes or pneumatic motion, end feedback, interlocks, timeout, stop and restart policy.

NODE 02observable

I/O and state map

Product arrival through detection and count to accumulation, transfer command, position proof, pallet placement, pattern update, completed layer and release.

NODE 03observable

Normal run

Representative products are counted once and placed in the declared pattern with every motion and completion transition proved.

NODE 04observable

Boundary run

Held photoeye, missing carton, double product, count mismatch, axis timeout, full pallet, pallet absent, interruption, reset and power return.

NODE 05observable

Injected fault

A material, sensor, count, pattern, state, command, axis, feedback, timeout or restart mismatch.

NODE 06observable

Target check

The control behavior transferred into a guarded target cell with motion, payload, safety and throughput validation.

Answer surface / 07

What logic does a simple palletizer need?

It needs material detection, one-event counting, accumulation, explicit transfer states, position feedback, pallet presence, pattern tracking, timeouts and controlled recovery.

Why should palletizer count and motion state be separate?

A count records material history while motion state controls current action; combining them makes missing or repeated transfers harder to diagnose.