PLC Simulator
Reference + cheat sheet

Ladder Logic Symbols and Meanings

The complete ladder diagram symbol reference — contacts, coils, timers and counters — with mnemonics, IEC 61131-3 equivalents and plain-English meanings. Then practise every symbol live in your browser, no install or PLC licence needed.

Contacts (inputs)

Contacts are the conditions on the left of a rung. In series they form an AND; in parallel they form an OR.

XIC--| |--

Normally-open contact

Examine If Closed. Passes power when its bit is TRUE (1). The default "input" element — a Start button is usually an XIC.

XIO--|/|--

Normally-closed contact

Examine If Open. Passes power when its bit is FALSE (0). A Stop button is wired to an XIO so the rung breaks when pressed.

Coils (outputs)

Coils sit on the right of a rung and drive a real output or an internal memory bit.

OTE--( )--

Output coil

Output Energise. Follows the rung — TRUE while the rung is true, FALSE otherwise. The standard output instruction.

L
OTL--(S)--

Latch coil

Output Latch (Set). Sets the bit TRUE and holds it even after the rung goes false. Pair with an unlatch on the same address.

U
OTU--(R)--

Unlatch coil

Output Unlatch (Reset). Clears a latched bit back to FALSE. Always used as the partner to an OTL on the same address.

Timers

Timer blocks measure elapsed time. Allen-Bradley names them TON / TOF / RTO; IEC 61131-3 uses TON / TOF / TONR.

TONEN DN
TONTON

On-delay timer

Starts timing when the rung goes TRUE; sets DN after the preset elapses. Resets to zero when the rung goes false.

TOFEN DN
TOFTOF

Off-delay timer

DN is TRUE while energised; starts timing when the rung goes FALSE and holds DN for the preset after de-energising.

RTOEN DN
RTOTONR

Retentive timer

Accumulates run-time across multiple TRUE periods and keeps its value when the rung goes false. Cleared with a RES.

Counters

Counter blocks tally false-to-true transitions of their input rung against a preset value.

CTUCU DN
CTUCTU

Count-up counter

Increments the accumulator on each false-to-true transition of the rung; sets DN when the count reaches the preset.

CTDCD DN
CTDCTD

Count-down counter

Decrements the accumulator on each false-to-true transition. Often paired with a CTU for a bidirectional count.

Compare & math

Once you move past on/off logic, instruction blocks work on numbers. Compare blocks gate the rung; math and move blocks act at the end of the rung like a coil.

EQUA B
EQUEQ

Equal compare

True when two source values are equal. Compare blocks sit in the power path and gate the rung like a contact. Siblings: LES, GRT, LEQ, GEQ, NEQ.

GEQA B
GEQGE

Greater-than-or-equal

True when source A is greater than or equal to source B. Same family as LES, GRT, LEQ, NEQ — all gate the rung.

ADDA+B
ADDADD

Add (math)

Stores A + B in a destination tag when the rung is true. SUB, MUL and DIV share the shape and act at the end of the rung like a coil.

MOVsrc dest
MOVMOVE

Move

Copies a source value into a destination tag — the workhorse for setting presets, clearing registers and shuffling data.

Edge & one-shot

Edge-detection symbols fire for a single scan on a transition, instead of staying true for as long as a bit is held.

ONS
ONSR_TRIG

One-shot

Passes power for a single scan on a rising (0→1) edge, then blocks until the input cycles low and high again. Triggers an action once per event.

P
PR_TRIG

Positive transition contact

Pulses TRUE for one scan on a 0→1 edge — the IEC rising-edge one-shot. Good for capturing a button press cleanly.

N
NF_TRIG

Negative transition contact

Pulses TRUE for one scan on a 1→0 edge — the falling-edge one-shot. Fires when a signal drops.

Allen-Bradley vs IEC 61131-3 symbol names

The drawn shapes are nearly universal — the names differ by dialect. Allen-Bradley uses three-letter mnemonics (XIC, XIO, OTE); IEC 61131-3 and Siemens lean on the drawn symbol itself. The key mappings: XIC = -[ ]- = normally-open, and XIO = -[/]- = normally-closed — no matter what the toolbar calls them. The drawn symbol never lies; only the label changes. Learn the mapping once and you stop being thrown when you switch platforms.

How to read any ladder symbol

When you hit a symbol you don't recognise, work through it the same way every time:

  1. 1Identify the shape. Contact (two vertical bars), coil (parentheses), or a named instruction block.
  2. 2Check for the slash. A slash through a contact marks it normally-closed (XIO) — it passes power when the bit is FALSE.
  3. 3Read the tag. The address or tag name tells you which bit the symbol touches.
  4. 4Trace power flow. Follow left to right: series contacts are AND, parallel branches are OR.
  5. 5Find the coil. The output on the right is the result — it writes a bit only when a complete path of power reaches it.

If the name is unfamiliar, map it back to the drawn symbol — that is the one constant across every PLC.

How to read a rung: the motor seal-in

Put the symbols together and you can read any rung. Here is the classic motor start/stop with a seal-in — power flows left to right.

|--[ Start ]--+--[/Stop ]--( Motor )--|
|             |
|--[ Motor ]--+
  • [ Start ] — XIC, normally-open. Closes when the Start button is pressed.
  • [ Motor ] in the lower branch — the seal-in contact. In parallel with Start (an OR), it keeps power flowing after Start is released.
  • [/Stop ] — XIO, normally-closed. Power passes through it until the Stop button is pressed, which breaks the rung.
  • ( Motor ) — OTE coil. Energises while a complete path of power reaches it.

Ladder logic symbols cheat sheet (printable PDF)

Every symbol on one page. Press Ctrl/Cmd + P and choose Save as PDF to download it.

SymbolMnemonicNotationMeaning
XIC--| |--Examine If Closed. Passes power when its bit is TRUE (1). The default "input" element — a Start button is usually an XIC.
XIO--|/|--Examine If Open. Passes power when its bit is FALSE (0). A Stop button is wired to an XIO so the rung breaks when pressed.
OTE--( )--Output Energise. Follows the rung — TRUE while the rung is true, FALSE otherwise. The standard output instruction.
L
OTL--(S)--Output Latch (Set). Sets the bit TRUE and holds it even after the rung goes false. Pair with an unlatch on the same address.
U
OTU--(R)--Output Unlatch (Reset). Clears a latched bit back to FALSE. Always used as the partner to an OTL on the same address.
TONEN DN
TONTONStarts timing when the rung goes TRUE; sets DN after the preset elapses. Resets to zero when the rung goes false.
TOFEN DN
TOFTOFDN is TRUE while energised; starts timing when the rung goes FALSE and holds DN for the preset after de-energising.
RTOEN DN
RTOTONRAccumulates run-time across multiple TRUE periods and keeps its value when the rung goes false. Cleared with a RES.
CTUCU DN
CTUCTUIncrements the accumulator on each false-to-true transition of the rung; sets DN when the count reaches the preset.
CTDCD DN
CTDCTDDecrements the accumulator on each false-to-true transition. Often paired with a CTU for a bidirectional count.
EQUA B
EQUEQTrue when two source values are equal. Compare blocks sit in the power path and gate the rung like a contact. Siblings: LES, GRT, LEQ, GEQ, NEQ.
GEQA B
GEQGETrue when source A is greater than or equal to source B. Same family as LES, GRT, LEQ, NEQ — all gate the rung.
ADDA+B
ADDADDStores A + B in a destination tag when the rung is true. SUB, MUL and DIV share the shape and act at the end of the rung like a coil.
MOVsrc dest
MOVMOVECopies a source value into a destination tag — the workhorse for setting presets, clearing registers and shuffling data.
ONS
ONSR_TRIGPasses power for a single scan on a rising (0→1) edge, then blocks until the input cycles low and high again. Triggers an action once per event.
P
PR_TRIGPulses TRUE for one scan on a 0→1 edge — the IEC rising-edge one-shot. Good for capturing a button press cleanly.
N
NF_TRIGPulses TRUE for one scan on a 1→0 edge — the falling-edge one-shot. Fires when a signal drops.

Don't just memorise symbols — run them

See every contact and coil switch state live as the program scans
No licence cost — Studio 5000 and TIA Portal require paid subscriptions
Runs in the browser on Mac, Linux, Chromebook and iPad — no install
Auto-graded scenarios drill the symbols in real motor, timer and counter logic
Switch between Allen-Bradley-style, Siemens-style and IEC dialects
Print the cheat sheet, then build the rung beside it
Questions

Ladder logic symbols FAQ

Ladder logic symbols represent the inputs, outputs and instructions on a rung. The two vertical lines are the power rails. A normally-open contact -| |- (XIC) passes power when its bit is TRUE; a normally-closed contact -|/|- (XIO) passes power when its bit is FALSE. An output coil -( )- (OTE) energises when the rung is true. Timer and counter blocks (TON, TOF, RTO, CTU, CTD) add time and event logic. Power is evaluated left-to-right along each rung.

Practise every ladder logic symbol in your browser

No install. No PLC licence. No credit card. Real contacts, coils, timers and counters with auto-graded feedback.

Create free account →