Common Circuit Patterns

A visual reference of the most frequently used ladder logic patterns. Each pattern includes the Boolean model, a description of when to use it, and an interactive simulator rung.


1. Direct Assignment

Boolean: OUTPUT = INPUT

The simplest pattern. Output directly follows input — ON when input is ON, OFF when OFF.

Use when: Indicator lights, simple signal pass-through, status mirroring.


2. AND — Permissive Chain

Boolean: OUTPUT = A · B · C

All conditions must be true. Used for safety permissives where every requirement must be satisfied before an output can energize.

Use when: Motor start permissives, safety interlocks, multi-condition enable logic.


3. OR — Alternate Conditions

Boolean: OUTPUT = A + B

Any condition is sufficient. Used when multiple sources can trigger the same output.

Use when: Multiple alarm sources, redundant sensors, alternate start conditions.


4. NOT — Inhibit / Fault Block

Boolean: OUTPUT = ¬FAULT

Output is ON when the condition is NOT active. Used for fault inhibits and safety blocks.

Use when: "Run unless faulted", safety OK signals, enable-when-clear logic.


5. AND-NOT — Qualified Permissive

Boolean: OUTPUT = A · B · ¬C

Multiple conditions must be true AND an inhibit must be clear. The most common real-world pattern — "do this when conditions are met and nothing is blocking."

Use when: Fan runs when temp high AND auto AND no fault.


6. Mixed AND-OR

Boolean: OUTPUT = (A · B) + C

A group of AND conditions OR an override. Combines series and parallel logic.

Use when: Automatic conditions with manual override, primary/backup logic.


7. Seal-In (Start/Stop Memory)

Boolean: M_RUN = (START + M_RUN) · STOP

Output uses its own previous state to maintain itself. The fundamental motor control pattern.

Use when: Any output that must stay ON after a momentary trigger until explicitly stopped.


8. Set/Reset (Latch/Unlatch)

Boolean: MOTOR = S(RUN_CMD) / R(STOP_CMD)

Set coil latches ON, reset coil clears OFF. Alternative to seal-in for retained state.

Use when: Outputs that must retain state, especially across multiple rungs or conditions.


Quick Reference Table

PatternBooleanSeries/ParallelKey Characteristic
DirectY = ASingle contactOutput follows input
ANDY = A · BSeriesAll must be true
ORY = A + BParallelAny is sufficient
NOTY = ¬ANC contactInverts condition
AND-NOTY = A · ¬BSeries with NCPermissive + inhibit
MixedY = (A·B)+CSeries in parallelGroups + override
Seal-inY = (S+Y)·PSelf-referencingMemory via feedback
Set/ResetS/R coilsSeparate rungsMemory via latch

Enable JavaScript to run the embedded simulator and complete the interactive exercises.