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.
Ladder Logic Fundamentals
Rungs, contacts, coils, and the relay conventions the language inherited — plus the patterns you will meet in almost every industrial program.
10 min readUpdated Aug 11, 2026
Interlocks and Permissives
A permissive lets you start. An interlock stops you. Confusing the two produces equipment that either will not run or will not protect itself.
7 min readUpdated Jun 27, 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, software platforms, products, companies, or organizations are provided for informational purposes and do not imply sponsorship, endorsement, or affiliation unless specifically stated.