Engineering in transition
1.1 Engineering in transition
This chapter describes, why the engineering of machines has fundamentally changed — and why proven practices are increasingly reaching their limits.
It's about not yet about Selmo, but about the context in which Selmo has become necessary.
Increasing complexity of modern machines
Machines today are:
modular in design
highly automated
flexibly configurable
relevant to safety and liability
software-driven
What used to be manageable is now a complex system of states, dependencies and constraints.
Typical drivers of this complexity are:
variety of variants
increasing safety requirements
shorter product life cycles
growing integration of software, sensors and communication
increasing demands on diagnosis and documentation
This complexity arises not from poor engineering, but from real technical and regulatory requirements.
Limits of classic PLC programming
Classic PLC programming is historically designed to:
link signals
switch sequences
represent states implicitly in code
This approach works reliably — as long as complexity is limited.
However, with increasing complexity systemic limits become apparent:
Sequence, safety and operation mix together in the code
States are not explicitly defined but arise implicitly
Behavior can only be understood through code analysis
Diagnosis is created afterwards and manually
Documentation no longer reflects the actual code state
The code says:
What is happening right now.
However it does not say:
why it is happening
what is actually expected
what is allowed or forbidden in this state
Consequences for engineering and responsibility
This development has direct consequences:
Machines become hard to explain
Commissioning becomes more elaborate
Troubleshooting becomes slower and dependent on individuals
Changes increase the risk of unintended side effects
Responsibility and liability are hard to justify
The problem is not the PLC technology, but the lack of a formal, explicit model for machine behavior.
Transition to the next question
The central question therefore is no longer:
How do I program a machine?
But:
How do I describe machine behavior so that it is explainable, verifiable and accountable?
This question is the starting point for the Selmo attitude.
Last updated
Was this helpful?

