Example: PCMM2G Over Loaded CPU
This example shows an application that is overloading a PCMM2G 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 = 20 microseconds.
- This is about 8% (20 / 250) of the cycle time.
- The average PLCProgExec = 235 microseconds.
- This is about 94% (235 / 250) of the cycle time.
2. RealTimeMargin
Figure 2: RealTimeMargin
- The PLCMarginTime is zero.
- There is not enough time to complete the PLC programs every cycle.
3. Controller Log
The Controller log confirms the missing PLC execution cycles:
Figure 3: Controller log
- The PCMM2G controller CPU core has plenty of time to execute the Motion Engine and Axes.
- However, the CPU core running the PLC cannot complete within one Motion/EtherCAT cycle.
- The PLC programs are spanning multiple Motion/EtherCAT cycles.
- This may cause trouble for application programs that rely on Motion and EtherCAT data updated every PLC cycle.
See Also