Controls › PLC Systems
Programming
The five IEC languages and the structures that make a program maintainable.
Written guides in this section
Full references, procedures, and diagnostic guides published under Programming.
Function Block Diagram
The graphical data-flow language of IEC 61131-3: how blocks, pins, and wires work, execution order, where FBD beats ladder and structured text, building reusable equipment blocks, and the habits that keep a diagram readable.
9 min readUpdated Sep 5, 2026
Structured Text
The text language of IEC 61131-3: syntax, control structures, how it fits alongside ladder, the conventions that keep it readable for the next person, and the mistakes that make structured text a liability in a plant that troubleshoots online.
10 min readUpdated Sep 5, 2026
Sequential Function Chart
The IEC 61131-3 language for sequences: steps, transitions, actions and their qualifiers, alternative and simultaneous branches, where it fits in water and wastewater, and the rules that keep a chart from sticking in a step.
9 min readUpdated Sep 5, 2026
IEC 61131-3
The standard behind PLC programming languages: the five languages, the common elements of data types, variables, and program organization units, what conformance actually means, and how the standard shows up in real platforms.
9 min readUpdated Sep 5, 2026
Program Organization
Structuring a controller program so that someone else can maintain it: a layout that follows the plant, one routine per job, standard device blocks, I/O mapped in one place, a fixed execution order, naming that means something, and comments that say why.
10 min readUpdated Sep 5, 2026
State Machines in PLC Programs
Writing sequences as explicit states instead of tangled interlock chains: what a state is, how transitions are written, the pattern in structured text and in ladder, publishing the state to the HMI, and the failure handling every state machine needs.
11 min readUpdated Sep 5, 2026
Topics in this area
Ladder Logic
Rungs, contacts, coils, and the relay-logic conventions the language inherited.
Function Block Diagram
Function Block Diagram — practical reference notes for controls engineers, integrators, and technicians working with programming.
Structured Text
Structured Text — practical reference notes for controls engineers, integrators, and technicians working with programming.
Sequential Function Chart
Sequential Function Chart — practical reference notes for controls engineers, integrators, and technicians working with programming.
IEC 61131-3
The standard that defines the five PLC programming languages and the common elements behind them.
Program Organization
Routines, program organization units, and structuring code someone else can maintain.
State Machines
Writing sequences as explicit states instead of tangled interlock chains.
Sequencers
Step-based control for repeatable batch and startup sequences.
Interlocks
Conditions that stop or prevent an action, and where they belong in a program.
Permissives
Conditions that must be true before an action is allowed to start.
Alarms
Generating alarm conditions in the controller rather than in the graphics.
Control Strategies
Choosing between on/off, sequenced, cascade, and closed-loop control.
Direct contact
Have a controls question?
Reach Eric Sullivan directly about anything on this site, a controls or automation topic, or one of his personal projects.
References to manufacturers, products, model numbers, software platforms, technical specifications, companies, standards organizations, or other organizations are provided for informational purposes and do not imply sponsorship, endorsement, authorization, or affiliation unless expressly stated. Manufacturer specifications must be independently verified against current manufacturer documentation.