+1-800-724-4209
Ladder Logic Basics: Symbols, Examples and Your First Start/Stop Circuit
Ladder logic is the most common way to program a PLC. A program looks like a ladder: two vertical rails and horizontal rungs between them. Each rung reads some conditions on the left and drives an output on the right. If the conditions make a continuous path, the output turns on.
The core symbols
| Symbol | Name | True when |
|---|---|---|
-| |- |
Normally open contact (examine if closed, XIC) | The referenced bit is ON |
-|/|- |
Normally closed contact (examine if open, XIO) | The referenced bit is OFF |
-( )- |
Output coil (OTE) | Turns its bit ON while the rung is true, OFF when false |
-(L)- / -(U)-
|
Latch / unlatch (set / reset) | Latch sets the bit and it stays ON until an unlatch resets it |
| TON / TOF | On-delay / off-delay timer | Done bit changes after the preset time |
| CTU / CTD | Count up / count down | Done bit turns ON when the count reaches the preset |
Names vary by brand (Allen-Bradley uses XIC, XIO and OTE; others say NO contact, NC contact and coil), but the logic is the same.
Series and parallel
- Contacts in series on a rung are AND logic: all must be true.
- Contacts in parallel branches are OR logic: any one path is enough.
Example: motor start/stop with seal-in
A classic first program. A momentary Start button starts a motor, and it keeps running after Start is released until Stop is pressed.
Stop_PB Start_PB Motor |----] [-----+-----] [-----+------------------( )----| | | | | | +-----] [-----+ | | Motor |
- Start_PB is wired NO; pressing it makes the rung true and turns on Motor.
- The parallel Motor contact is the seal-in (or holding) contact: once the motor bit is ON, it keeps the rung true after Start is released.
-
Stop_PB is wired as a physical NC button for fail-safe stopping, so its input is ON until pressed. That is why the program uses a normally open
] [contact for it. Press Stop, the input goes OFF, the rung breaks, and the seal-in drops out. See normally open vs. normally closed.
How the PLC scans the rungs
The PLC reads all inputs, then solves rungs from top to bottom, left to right, then writes all outputs (see what is a PLC). Two practical consequences:
- A bit changed on one rung is seen by rungs below it in the same scan, but not by rungs above it until the next scan.
- Writing the same output coil on two different rungs causes the last one to win. Use one coil per output and combine conditions with branches.
Timers and counters in practice
- TON: delay a conveyor start 5 seconds after a warning horn.
- TOF: keep a cooling fan running 2 minutes after the motor stops.
- CTU: count bottles from a photoelectric sensor and signal when a case of 24 is full; reset the count with a separate rung.
Tips for clean ladder programs
- Name and comment every tag and rung.
- Keep physical I/O on separate rungs from internal logic so wiring changes do not ripple through the program.
- Prefer seal-in circuits over latches for motors, so a power cycle does not restart equipment unexpectedly.
- Group logic by machine section or sequence step.
Practice for free
Unitronics' VisiLogic (Vision, Samba, Jazz) and UniLogic (UniStream) are free downloads with ladder editors. Many models also have simulation, so you can write and test ladder logic before buying hardware. A small controller such as the Jazz JZ20-R16 or Vision V130 makes an affordable trainer.
Frequently asked questions
Is ladder logic still used?
Yes. It remains the most common PLC language in North America, especially for discrete machine control.
What is the difference between a coil and a latch?
A coil follows the rung (ON only while true). A latch stays ON until explicitly unlatched.
Ready to build?
Browse Unitronics PLCs, read the Unitronics comparison, call 1-800-724-4209, or request a quote.