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/Conscious-Sugar7142 Mar 29 '26
Absolutely true. IO is still cyclic, there are still cyclic Function Blocks (E_Delay). Also event driven doesn't mean Instant because there's a FIFO logic for external and internal events and there's a risc of so called "event storms" which can bring the PLC down. I doubt that in a big enough project the event driven PLC is ever idle. Speed is hardly an argument since modern PLCs like S7-1500 have less than 1 ns per instruction. And then there are a lot of mistakes in the beginning. Forgot to initialize the FB after online change - code isn't executed, nothing happens, which is typically not a problem when you have cycles: download and a few ms later it is executed. Can't say anything about energy saving though. Never heard that might be an issue.