Ladder Logic: The Visual Language of PLCs
Ladder logic (ladder diagram, LD) is the most widely used programming language for PLCs — a graphical language that looks like an electrical schematic instead of lines of text. Power flows conceptually from the left rail through contacts (conditions) to coils (outputs) on horizontal rungs, stacked like the rungs of a ladder.
It looks old-fashioned next to modern code, and that is exactly the point: ladder logic was designed so the electricians and technicians who maintain machines can read the program the same way they read the wiring diagrams it replaced. Fifty years on, it is still the default language of the plant floor.
The three symbols that do most of the work
| Symbol | Name | What it does |
|---|---|---|
| -] [- | Normally open (NO) contact — "examine if on" | Passes power when its bit is TRUE (e.g., button pressed) |
| -]/[- | Normally closed (NC) contact — "examine if off" | Passes power when its bit is FALSE (e.g., stop button NOT pressed) |
| -( )- | Output coil | Sets its bit TRUE while the rung has power (e.g., run the motor) |
Logic falls out of the wiring metaphor naturally: contacts in series = AND (all must be true); contacts in parallel branches = OR (any can be true). That is genuinely most of ladder logic — the rest is instructions placed on the same rails.
Your first real program: the start/stop seal-in
The "hello world" of industrial control — a motor that starts with a momentary button and keeps running after you let go:
- Pressing Start powers the rung (Stop is NC, so it passes power while untouched) — the Motor coil turns on.
- The parallel Motor contact below "seals in" around the Start button: once the motor bit is on, it holds the rung true after Start is released.
- Pressing Stop breaks the rung; the coil drops; the seal-in contact opens; the motor stays off. Latched on, safely released — with three symbols.
The instructions you meet next
- Timers (TON/TOF) — "when the rung is true, wait 5 seconds, then act." Delays, warnings before start, purge cycles.
- Counters (CTU/CTD) — count parts, cycles, or rejects; act at a preset.
- Latch/unlatch (OTL/OTU) — outputs that stay set until explicitly reset; powerful and dangerous, use with care.
- Compare and math — greater-than, equals, add/multiply on analog values (temperatures, speeds, levels).
- Move/copy — shuttle values between tags: recipes, setpoints, display data.
With contacts, coils, timers, counters, and compares you can read the majority of real factory programs — the sophistication is in how simply they are combined.
Rules that keep you out of trouble
- One coil, one rung. Writing the same output coil on two rungs is the classic beginner bug — the scan cycle executes top to bottom, so the last rung silently wins. Use branch logic instead.
- Order matters. Rungs execute in sequence every scan; a value computed on rung 10 is fresh for rung 11 but one scan old for rung 5.
- Name and comment everything.
Conveyor2_JamDetectbeatsB3:0/4forever. Plant programs outlive their authors. - Structure by machine section. Group rungs by physical area (infeed, wrapper, outfeed) so troubleshooters can navigate by walking the line.
- Respect running equipment. Online edits reach real motors and real people. Understand the change fully before it goes live.
Ladder vs the other PLC languages
The IEC 61131-3 standard defines five PLC languages: ladder, function block diagram, structured text, instruction list, and sequential function chart. Ladder dominates discrete machine control because maintenance can read it live; structured text (Pascal-like code) wins for math-heavy logic and data handling; function blocks suit process loops. Modern programs mix them — but ladder remains the shared language of the floor, which is why it is the right one to learn first.
How to practice, starting today
- Get a simulator (free and paid options exist for every major ecosystem) and build: start/stop, then a traffic light, then a two-conveyor sequence with a jam timer.
- Watch your program execute online — seeing rungs highlight in real time is where the scan cycle clicks.
- Rebuild something real: pick any machine you know (garage door, car wash, elevator) and program its logic — inputs, outputs, states, faults.
From there, the career track is mapped in our PLC programmer guide — this one skill, practiced honestly, is the whole entry ticket to the field.
Frequently asked questions
What is ladder logic in simple terms?
A graphical PLC programming language that looks like an electrical schematic: conditions (contacts) and outputs (coils) sit on horizontal rungs, and "power flow" through them decides what the machine does. It was designed so electricians could read programs like wiring diagrams.
Why is ladder logic still used?
Because the people who keep machines running can read it. A technician can go online with a faulted machine at 2 a.m. and watch the logic execute live — a maintainability advantage text languages have never matched on the plant floor.
Is ladder logic hard to learn?
The basics are learnable in weeks: three symbols (NO contact, NC contact, coil) plus series/parallel logic cover most programs, and timers and counters cover most of the rest. Fluency comes from practicing on a simulator and then on real equipment.
What is a seal-in circuit?
The fundamental ladder pattern: an output coil\u2019s own contact is placed in parallel with the momentary start button, so once the output turns on it holds itself on until a stop condition breaks the rung. It is how machines latch "running" from a momentary button, safely.
Planning a project in this area?
Tell us what you are automating and where you are stuck — we will point you in the right direction.
Get In Touch