Example: AKD PDMM and PCMM Over Loaded CPU
This example shows an application that is overloading an AKD PDMM or PCMM with the EtherCAT Cycle Time = 250 microseconds.
Specifically, this example looks at:
1. MotionExec and PLCProgExec Times
Using the techniques described in Practical Application: Using Trace Time To Measure CPU Load, examine the MotionExec and PLCProgExec times:
Figure 1: MotionExec and PLCProgExec Times
- The average MotionExec and PLCProgExec times are 57 + 110 = 167 microseconds.
- This is 67% (167 / 250) of the Cycle Time.
- Notice the big spikes on the PLCProgExec.
- The PLC cannot complete all the programs within one cycle period.
2. RealTimeMargin
Figure 2: RealTimeMargin
- There is between 25 to 0 microseconds of margin.
- There are many cycles with zero real-time margin.
- This example shows up to 1 second of no real time margin available.
- This is a degraded case.
3. Controller Log
The Controller log confirms the missing VM cycles and an A23 alarm:
Figure 3: Controller log
4. CPU Load
Look at the overall CPU load.
- This is 99%.
- Clearly this application is overloading the CPU:
Figure 4: CPU load
See Also