The IEC 61131-3 languages

The Core Idea

Programmable logic controller (PLC) programming languages are different ways to express control instructions. Ladder shows logical paths, Structured Text (ST) uses statements, Function Block Diagram connects blocks, and Sequential Function Chart organizes steps and transitions.

What you will learn

  • Recognize the four representations and what their main symbols mean.

  • Read the same start/stop requirement in Ladder and Structured Text.

  • Understand where each representation is useful.

Why it matters

A PLC project may combine several languages. Recognizing their structure helps you read an unfamiliar program and understand why its author chose that view.

Different backgrounds, different starting points

Coming from electrical work: Ladder often feels familiar

Ladder grew out of relay-based electrical control diagrams. Its contacts, coils, and branches make it a common starting point for electricians and technicians who already know how to trace a control circuit. You can follow a condition through a visible path and see why an output is on or off.

That makes Ladder approachable for start/stop circuits, permissives, interlocks, and everyday machine troubleshooting. Its visual structure is especially helpful when the person maintaining the machine needs to find which condition is preventing it from running.

As a task grows into many calculations, operations on arrays, or a detailed algorithm, expressing everything as rungs can become bulky and harder to follow. Ladder can still do substantial work; the question is how clearly that work can be expressed and maintained.

Coming from text-based programming: ST often feels familiar

Structured Text is often a natural entry point for someone used to writing software as text. Assignments, expressions, conditional statements, loops, and function calls provide familiar ways to organize a program.

ST is particularly useful for complex calculations, repeated operations on collections, and algorithms that would spread across many rungs. It can make that complexity more manageable, provided the code is named and structured clearly. A long, tangled ST routine is no easier to maintain simply because it uses text.

You still need to learn PLC execution and equipment behavior. Familiar syntax does not remove the need to understand scans, persistent state, timing, or what a command means on the machine.

Motion control is a useful example of the tradeoff

Complex motion can involve calculations, several axes, and careful coordination of commands and completion conditions. ST can be a useful way to organize that logic, while Sequential Function Chart (SFC) can make its sequence of operations easier to see.

Motion is also programmed in Ladder and Function Block Diagram (FBD) using supported motion instructions or function blocks. The controller, motion hardware, and available libraries determine the capabilities; choosing ST alone does not add them. A project may use Ladder for machine permissives and ST for calculations around the same motion system.

Choose for the task and the people who will maintain it. These are complementary tools: your background can guide where you start, without limiting which representations you learn next.

One example, four views

A motor starts when the operator presses Start, keeps running after Start is released, and stops when Stop is pressed. Stop takes priority over Start.

The Stop button is wired normally closed. Its input, STOP_PB, is TRUE while the circuit is healthy and the button is released; pressing Stop makes it FALSE.

SignalMeaning
START_PBTRUE while Start is pressed.
STOP_PBTRUE while Stop is released and its circuit is healthy.
MOTOR_RUNThe remembered run request.
MOTOR_OUTThe command to the motor contactor.

The Ladder example below is running, with buttons you can operate. The ST code and the FBD and SFC illustrations show other ways to represent the same requirement.

Ladder Diagram (LD): logical paths

Contacts test conditions, branches offer alternative paths, and coils write results. Here, Start and the remembered run request provide parallel paths. Stop is in series with both, so it can clear the request regardless of which path was keeping it on.

The second rung copies the remembered request to the motor output. This contact-and-coil view is useful when following a relay-like control circuit.

Structured Text (ST): statements and expressions

ST writes the same decision as text. OR combines Start with the remembered request, AND applies the Stop condition, and := assigns the result.

MOTOR_RUN := STOP_PB AND (START_PB OR MOTOR_RUN);
MOTOR_OUT := MOTOR_RUN;

The first statement reads the existing value of MOTOR_RUN before writing its new value. The second statement copies that result to MOTOR_OUT. Expressions and statements also make ST useful for calculations and working with collections of values.

Function Block Diagram (FBD): connected blocks

Simplified teaching illustration: this drawing is imperfect and is not an exact reproduction of a PLC editor's FBD notation or layout.

FBD connects values to the named inputs and outputs of blocks. This illustration uses a reset-dominant RS memory block: Start sets its output, and a pressed Stop resets it. The NOT block converts the healthy Stop signal into the reset request. Reset wins when both requests are TRUE.

Start/stop control using a reset-dominant RS block

RS S R1 Q1 NOT START_PB STOP_PB MOTOR_RUN MOTOR_OUT RS remembers its output; reset has priority.

The RS block keeps the remembered state internally. Blocks are especially useful for showing signal connections around timers, calculations, and process controllers. Exact block and pin names vary between systems.

Sequential Function Chart (SFC): steps and transitions

Simplified teaching illustration: this drawing is imperfect and is not an exact reproduction of a PLC editor's SFC notation or layout.

SFC shows which step is active and what condition allows the next step to become active. The double border marks Idle as the initial step. Each short horizontal bar is a transition on the connecting path, with its condition written beside it.

Start/stop sequence with connected steps, transitions, and actions

Initial step Idle Run START_PB AND STOP_PB NOT STOP_PB N Motor off N Motor on N: the associated action runs while its step is active.

Idle's action commands the motor off; Run's action commands it on. A healthy Stop together with Start allows Idle to advance to Run. Pressing Stop allows the return to Idle. This is a diagram to read, rather than an executable SFC in this lesson.

Step charts become especially useful for longer operations such as Fill → Mix → Drain, where the order of operations is central to understanding the machine.

Where each view helps

RepresentationParticularly useful for
Ladder DiagramTracing contacts, permissives, and relay-like circuits.
Structured TextWriting expressions, calculations, and operations on collections.
Function Block DiagramFollowing values through connected control and calculation blocks.
Sequential Function ChartSeeing active steps, their actions, and the conditions for advancing.

These are choices of representation, not a ranking. A project might use SFC to organize a sequence, Ladder for a motor circuit, ST for a calculation, and FBD to connect control blocks.

For the illustrated notation, see the vendor references for reset-dominant RS blocks, SFC steps and transitions, and SFC actions.

For language selection and motion support, see Rockwell Automation's language-use guide and ABB's introduction to PLCopen motion function blocks.

Historical note: Instruction List (IL) was the fifth language; it was removed from IEC 61131-3 in the 2025 edition.

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