Example: PCMM2G Over Loaded CPU
This example shows an application that is overloading a PCMM2G with the EtherCAT ***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-80: 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 5-81: RealTimeMargin
- The PLCMarginTime is zero.
- There is not enough time to complete the PLC "Programmable Logic Controller" A Programmable Logic Controller, PLC, or Programmable Controller is a digital computer used for automation of industrial processes, such as control of machinery on factory assembly lines. Used to synchronize the flow of inputs from (physical) sensors and events with the flow of outputs to actuators and events programs every cycle.
3. Controller Log
The Controller log confirms the missing PLC execution cycles:
Figure 5-82: 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