Engineering a PLC Control System
Translating sensors and actuators into reliable control logic — scan cycles, structured text, and why industrial code is written differently.
BY ASHLIN DARIUS GOVINDASAMY
A PLC (Programmable Logic Controller) doesn't run code the way a server does. It runs a scan cycle: read every input, evaluate the entire logic program against those inputs, write every output, repeat — continuously, deterministically, at a fixed cycle time. That difference shapes how control logic has to be written.
The scan cycle
Because every input is read at the start of the cycle and every output is written at the end, logic inside the cycle behaves like it's operating on a stable snapshot — which is what makes PLC programs predictable in a way that interrupt-driven code often isn't.
IF sensor_overtemp THEN
motor_run := FALSE;
fault_output := TRUE;
ELSIF start_button AND NOT stop_button THEN
motor_run := TRUE;
fault_output := FALSE;
END_IF;What makes it different from application code
- Failure modes have physical consequences — a bug can mean a motor stays on, not a 500 response.
- Interlocks and safety logic take priority over feature logic, by convention and often by regulation.
- Determinism matters more than throughput — the scan cycle time is a hard constraint, not a target.
Software engineering discipline — clear state machines, defensive logic, careful review — transfers directly here. What changes is the cost of getting it wrong.
TAGS
RELATED