Example: AKD PDMM and PCMM Heavily Loaded CPU

This example shows an application that is heavily loading a AKD PDMM or PCMM with the EtherCATClosed ***EtherCAT is an open, high-performance Ethernet-based fieldbus system. The development goal of EtherCAT was to apply Ethernet to automation applications which require short data update times (also called cycle times) with low communication jitter (for synchronization purposes) and low hardware costs 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 5-67: 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 5-68: Peaks

This shows there is not much time left over:

  • MotionExec = 62 microsec.
  • PLCProgExec = 114.

3. RealTimeMargin

Next, look at the RealTimeMargin:

Figure 5-69: 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 5-70: Controller Log

5. CPU Load

Look at the overall CPU load.

Figure 5-71: CPU load

See Also