EtherNet/IP Functions Using Large Amount of CPU on Real-Time Target

Updated Aug 27, 2019

Reported In

Software

  • LabVIEW

Driver

  • NI-Industrial Communications for Ethernet/IP

Issue Details

When using EtherNet/IP functions on a real time target, there is an unexpectedly high CPU load causing it to drop out or crash.
 

Solution

By default, the "TimerTickInterval" property of an EtherNet/IP session is set to 1ms which results in high CPU usage. Increasing the interval between the timer ticks will reduce CPU usage.

This property can be changed through a property node. (Note: "TimerTickPreemption" must also be set to FALSE)

Make sure the TimerTickInterval is less that your fastest UDP otherwise you may experience connection issues. A good rule of thumb is at least half of the fastest UDP's period. 

Additional Information

If the CPU load still exceeds your requirements:
  1. Consider if a different communications protocol would be suitable for the application
  2. If a different communication protocol is not available then consider upgrading your Real-Time target

Attachments