Example: AKD PDMM and PCMM Heavily Loaded CPU
This example shows an application that is heavily loading a AKD PDMM or PCMM with the EtherCAT Cycle Time = 250 microseconds.
Specifically, this example looks at:
1. MotionExec and PLCProgExec Times
Use the techniques described in Practical Application: Using Trace Time To Measure CPU Load to examine the MotionExec and PLCProgExec times.
Figure 1: MotionExec and PLCProgExec Times
- The average MotionExec and PLCProgExec times are 50 + 105 = 155 microseconds.
- This is 62% (155 / 250) of the cycle time.
2. PLCProgExec Peaks
Figure 2: Peaks
This shows there is not much time left over:
- MotionExec = 62 microsec.
- PLCProgExec = 114.
3. RealTimeMargin
Next, look at the RealTimeMargin:
Figure 3: RealTimeMargin
- The minimum time is 20 microseconds.
- This is 8% Real-Time margin (20 / 250).
- This is not a comfortable margin for deterministic Real-Time performance.
4. Controller Log
The Controller log shows that the Virtual Machine (PLCProgExec) is occasionally missing a cycle:
Figure 4: Controller Log
5. CPU Load
Look at the overall CPU load.
- This is 88%.
- There’s not much CPU bandwidth available.
Figure 5: CPU load
See Also