PLC LEARNING GUIDE

Ladder logic for beginners

Ladder logic (ladder diagram, or LD) is a graphical way to express control conditions with contacts, branches and coils. Start by understanding what a rung evaluates, then practice predicting its result before opening a PLC programming environment.

The example below is for an isolated simulator only. It is not a design for a real tank, motor, pump, machine interlock or safety function.

What do ladder contacts and coils do?

Think of a ladder diagram as a series of conditions evaluated by the controller. A normal open-style contact tests whether its assigned Boolean expression is true. A negated or normally closed-style contact tests whether that expression is false. A coil writes a Boolean result according to the vendor language and instruction semantics. The symbols do not, by themselves, tell you how a field switch is wired.

Illustrative symbolMeaning in a basic Boolean rungCommon beginner mistake
--[ A ]--Condition A is trueAssuming A must be a physically normally-open pushbutton
--[/ B ]--Condition B is falseAssuming it identifies the wiring of the field device
--( C )--Stores the evaluated result in C in this simplified exampleConfusing a program output with a verified machine-safe output

Series conditions represent logical AND; parallel branches can represent OR. Most environments also provide timers, counters, comparisons and function blocks. Controller scan behavior, duplicate coil handling, retained values and special instructions vary by vendor, so check the actual programming manual.

The current IEC 61131-3:2025 specification defines ladder diagram alongside structured text and function block diagram. A Schneider Electric language reference provides a readable description of contacts, coils and LD networks.

Example: an imaginary tank-fill request

This single rung calculates a simulated request flag. It does not start a pump or control hardware. Suppose the training screen has two independent Boolean variables: Level_Low indicates a request to fill, and Level_High indicates that the high threshold is reached.

LEFT RAIL                                    RIGHT RAIL
|----[ Level_Low ]----[/ Level_High ]----( Fill_Request )----|

Boolean equivalent:
Fill_Request := Level_Low AND (NOT Level_High);

Because the two contacts are in series, the flag is true only when Level_Low is true and Level_High is false. This logic intentionally contains no latch, automatic refilling strategy, physical level instrumentation or safety system. It is a beginner’s Boolean example, not a complete process-control strategy.

Predict the truth table before running it

Try the Boolean expression

Toggle the two simulated variables to see how this one rung evaluates. Nothing here is connected to equipment.

Fill_RequestOff

Boolean expression: Level_Low AND NOT Level_High. Toggle both inputs and compare with the table below.

All combinations of two simulated Boolean inputs and their expected output.
Level_LowLevel_HighFill_RequestWhy?
FalseFalseOffThe low-level request is absent.
TrueFalseOnLow-level request is present and high-level indication is absent.
TrueTrueOffHigh-level indication blocks the request.
FalseTrueOffThe low-level request is absent; high-level indication also blocks it.

In particular, the pair Level_Low = true and Level_High = true is intentionally shown in this exercise. Conflicting sensor values can be an important diagnostic scenario; a real design needs an explicit specification for instrument failures rather than silently accepting this illustration as adequate protection.

Try a safe, repeatable simulator exercise

  1. Write a one-sentence specification: the request flag is true only when the low condition is true and the high condition is false.
  2. Create three Boolean tags: Level_Low, Level_High and Fill_Request. Use simulator-only tags disconnected from physical I/O.
  3. Implement the equivalent rung: use one direct condition, one negated condition and one output flag. Vendor symbols and instruction names may differ.
  4. Test every truth-table row: record expected versus observed values; then invert one condition to observe an intentional failure and restore the correct version.
  5. Document your work: save a screenshot, a tag list, the four test results and a short paragraph explaining why it works and what it does not protect against.

Do not connect this exercise to field outputs, bypass safeguards, change a production controller, or treat normal program logic as a safety-rated circuit. Physical training hardware requires appropriate qualified instruction and safe isolation procedures.

What should you learn after one rung?

Next, practice OR branches, seal-in/latching patterns in simulation, on-delay timers, counters, comparison instructions, state sequencing and explicit fault detection. Before connecting programming skills to plant equipment, learn electrical schematics, digital and analog I/O, HMI behavior, change control and commissioning responsibilities.

Technical sources and editorial scope

This introductory example is an original teaching illustration prepared with AI assistance and checked against the references above by PLC & SCADA Jobs. It is not a vendor-certified lesson or an independently practitioner- or safety-reviewed implementation. Actual products differ; follow the official manual and a qualified training supervisor for real systems. Our job listings link to the employers’ own application destinations.