Performance Guidelines

Additional controller CPU usage is required when fieldbusesClosedA Fieldbus is an industrial network system for real-time distributed control (e.g. CAN or Profibus). It is a way of connecting instruments in a plant design are used to transmit and receive data between network devices and PLCClosed"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 variables. The impact to PLC execution time and the CPU load can be estimated as follows.

PLC Time = (Mapped PLC Variable Count * Exchange Time per Variable) + PLC Overhead
AKD PDMM or PCMM model Exchange Time per Variable
800 MHz 0.4 microseconds
1.2 GHz 0.2 microseconds

Table 7-32: Average Exchange Time per Variable by AKD PDMM / PCMM model used to calculate performance.


  • The exact Exchange Time per Variable is dependent on the data type. BOOL variables take less time, while REAL variables require more time.

EtherNet/IP

CPU Usage % = (PLC Time / ECAT Cycle Time) + (Assembly Count * Load per Assembly)
AKD PDMM or PCMM model PLC Overhead Load per Assembly
800 MHz 20 microseconds 0.0075 (0.75%)
1.2 GHz 10 microseconds 0.00375 (0.375%)

Table 7-33: Values by AKD PDMM and PCMM models used to calculate performance with EtherNet/IP.

The exact percent Load per Assembly is dependent on the data size per assembly and the Requested Packet Interval (RPI). The Load per Assembly values listed above represent the maximum percentage, with 496 bytes per Assembly and RPI = 10 milliseconds.

EtherNet/IP Performance Example

This example uses an 800 MHz AKD PDMM with 4x Assemblies, 372 mapped PLC variables, and a 1000 microsecond EtherCATClosedEtherCAT 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.

PLC Time = (372 * 0.4) + 20 = 169 microseconds
CPU Usage % = (169 / 1000) + (4 * .0075) = 0.20 (20%)

Thus, exchanging data with 372 PLC variables, over EtherNet/IP, will increase the PLC execution time by 169 microseconds and reduce the CPU Idle Time by 20%.