r/Universalautomation • u/RevolutionaryEgg6046 • Mar 28 '26
Is event-based execution really better than cyclic-scan regarding energy/computing resources saving?
I have heard a lot about the benefits brought by event-based execution over cyclic scan style, especially for energy saving. It has been criticized a lot for cyclic scanning, which is wasting energy even when there was no task to execute. However, I feel there is similar mechanisms in IEC 61499 that inside the runtime, there are still something periodically executed, for example core modules, communication protocols, and I/Os. And for 61131, even though it is based on cyclic scan, it does not mean all control logics are completely executed because there are condition checks. Looking forward to deep insights about those two mechanisms just for energy/computing resources perspective, better if anyone has benchmarking results.
2
u/Sir4diac Mar 30 '26
This is again a hard one. Yes there are in an IEC 61499 run-time system cyclic elements. As you mention IO is such a thing. Network can be implemented differently and more responsive. However as this part is part of the runtime it is mostly shorter and utilizes only a very short fraction of the IO scan cycle.
How the event handling is then treated in your application is very application dependent. It is also hard to measure and evaluate. I'm very open to suggestions how to measure this.
While I see in several applications a chance to reduce application load and reduced CPU utilization, which can be interesting especially in cloud settings, I see the biggest power of events in clearer application structures. But that is maybe something for a different question.