Engineering · PLC · Project 4 of 15 · Conveyors and doors · Level 2
Conveyor with warning horn
A horn sounds for 3 seconds before the conveyor starts, as required by safety rules.

You will learn
An on-delay timer (TON) starts timing when its rung is true and sets its done bit after the preset time. Using a memory bit (RUNREQ) keeps the request separate from the output.
How it works
- Press START. The horn sounds for 3 seconds while the belt stays still.
- The timer finishes, the horn stops and the conveyor starts.
- Press Put a box to load a box. Press STOP to halt the belt.
In real life
Long conveyors in warehouses and airports sound a horn or flash a beacon before moving, so nobody is trapped.
Inputs, outputs and addresses
The same signals on seven PLC brands. Inputs and outputs are numbered in order; check your own hardware and software, because addresses depend on the model and module position.
| Name | What it is | Type | Siemens S7-1200 | Allen-Bradley CompactLogix | Mitsubishi iQ-F FX5U | Delta DVP / AS | Omron CP2E | Schneider M241 | Inovance H5U |
|---|---|---|---|---|---|---|---|---|---|
| START | START push-button | Input | %I0.0 | Local:1:I.Data.0 | X0 | X0 | 0.00 | %IX0.0 | X0 |
| STOP | STOP push-button (N.C.) | Input | %I0.1 | Local:1:I.Data.1 | X1 | X1 | 0.01 | %IX0.1 | X1 |
| OL | Overload contact (N.C.) | Input | %I0.2 | Local:1:I.Data.2 | X2 | X2 | 0.02 | %IX0.2 | X2 |
| HORN | Warning horn | Output | %Q0.0 | Local:2:O.Data.0 | Y0 | Y0 | 100.00 | %QX0.0 | Y0 |
| CONV | Conveyor motor contactor | Output | %Q0.1 | Local:2:O.Data.1 | Y1 | Y1 | 100.01 | %QX0.1 | Y1 |
Ladder diagram (shown for Siemens, live state)
Green wires carry power in the moment captured below. Switch the brand and the language in the simulator.
Structured text, Siemens SCL
(* Siemens S7-1200, CPU 1214C DC/DC/DC - TIA Portal - SCL *)
(* Rung 1: Run request with seal-in *)
"RUNREQ" := ("START" OR "RUNREQ") AND "STOP" AND "OL";
(* Rung 2: Horn timer (3 s) *)
"T1"(IN := "RUNREQ", PT := T#3s);
(* Rung 3: Horn sounds until the timer ends *)
"HORN" := "RUNREQ" AND NOT "T1".Q;
(* Rung 4: Conveyor runs after the warning *)
"CONV" := "RUNREQ" AND "T1".Q;Structured text, Allen-Bradley
(* Allen-Bradley CompactLogix 5069 (L306ER) - Studio 5000 Logix Designer - Structured Text *)
(* Rung 1: Run request with seal-in *)
RUNREQ := (START OR RUNREQ) AND STOP AND OL;
(* Rung 2: Horn timer (3 s) *)
Timer1.PRE := 3000; (* ms *)
Timer1.TimerEnable := RUNREQ;
TONR(Timer1);
(* Rung 3: Horn sounds until the timer ends *)
HORN := RUNREQ AND NOT Timer1.DN;
(* Rung 4: Conveyor runs after the warning *)
CONV := RUNREQ AND Timer1.DN;Try this
- Press START and STOP quickly to see the timer reset.
- Change the delay to 5 s in the table and see the ladder update.
Parts to buy
The links open a search on each store, so you see what is in stock today. Check the model, voltage and price before you order.
This is a learning tool. It teaches the logic, not the exact keystrokes of each vendor’s software. Check the manual of your own PLC.