29 septembre 2026

Programming a PLC: coding or engineering?

Short answer: coding isn’t deciding everything

You’re working on a PLC, an optimization tool, a control script, an AI model. You code. You test. You tweak. You fix bugs.

For you, it’s clear: you’re coding. You program in Ladder logic, configure tags, connect an HMI screen, get the PLC to communicate with an API, or fix a bug in a sequence. No need to crack open the Engineers Act.

Then, someone asks you to change a setpoint, add an interlock, change the startup conditions, tweak an ESD sequence, or decide what should trigger an alarm.

At that point, it’s no longer just a matter of syntax, code logic, or whether a button works. When you choose how the process should react, you’re not just “churning out code.”

What is reserved: defining the logic

In an industrial process, the control logic isn’t a technical detail hidden in the code. It’s what determines how the process behaves: which thresholds trigger an alarm, which conditions allow or prevent startup, which interlocks force a stop, which steps must occur in sequence.

This logic must be defined or approved by an engineer because it directly influences how the equipment or system operates and reacts.

What isn’t reserved: programming what’s already been defined

Once this logic has been established, the programming itself isn’t a reserved activity. If an engineer has prepared the instructions, parameters, or functional description, someone with the necessary technical knowledge can code what’s been defined.

In other words: writing the code isn’t always the issue. The issue is knowing who decided what the code should do.

 

What are you doing? The right move
You’re programming a PLC based on a predefined algorithm. Generally OK.
You’re fixing an interface bug. Generally OK.
You’re changing an alarm threshold. Has an engineer approved the new threshold?
You’re changing an automated sequence. Did an engineer define the sequence?
You’re adding an interlock. Has an engineer approved the conditions?
You’re preparing a functional description. Immediate control and supervision required.
You’re deciding when a system should shut down. Engineer approval required.

When it’s no longer just programming

You don’t have to ask yourself a thousand questions every time you open your code editor. But if you’re asked to change the process logic, set a threshold, change a stop condition, add an automated sequence, or decide what’s safe or acceptable, there’s one question you should ask.

And that question is simple: “Was this logic been defined or validated by an engineer?”

Your scrum master can help you manage the sprint. But they can’t make the call on whether an activity is reserved. To find out if a technical decision must be supervised by an engineer, check with the person overseeing your work or the engineer in charge of the project. And if you’re still not sure, the OIQ can help.

See also