1.5 The difference to classical PLC programming

Classical PLC programs are imperative: they consist of instructions that are executed step by step. Selmo programs are declarative: they describe, what should hold, not how it is executed.

An example: In a conventional PLC program it would say:

IF StartButton = TRUE THEN Cylinder1Extend := TRUE; IF FrontSensor = TRUE THEN NextStep := 2; END_IF; END_IF;

In Selmo the description instead reads:

  • State 1: “Waiting for start button” → Button (IN zone) has operand S.

  • State 2: “Extend cylinder 1” → Cylinder 1 (IN_OUT zone) has operand S.

  • If feedback = TRUE, the state machine automatically moves to the next state.

No code, no nested logic, no misinterpretation – the sequence is described by the model itself.

Last updated

Was this helpful?