A classic PLC design tend to use what we call “Remote IO”. We basically have a top-side control system that read some input and control some output through a “long wire”. The PLC itself contains little or no intelligence. This design have a legacy from days where CPU power was a limitation, but it is still very popular because it is simple and in many cases sufficient.
The drawing above illustrate Remote IO using a light switch PLC style. As we change the switch the signal will be sent all the way to top-side where logic decide that we need to set the light on/off and the signal is sent all the way back down.
This drawing illustrate a modern approach with distributed processing as implemented in Plain. In this case we only use top-side to control the behaviour of logic executing on the device.
Distributed processing is little supported in PLC languages, so this have more or less been the domain of advanced systems written in languages where we write logic per device. In this case we would need complementing software on 4 devices (top-side, 2 x Hub’s and the device). Plain simplify this to a single small application where the user easily can decide wherever processing should happen top-side or distributed.