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

2. RealTimeMargin

3. Controller Log

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 = 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