Archived: NI-Industrial Communications for EtherCAT Master Benchmarks

NI does not actively maintain this document.

This content provides support for older products and technology, so you may notice outdated links or obsolete information about operating systems or other relevant products.

Overview

EtherCAT is an Ethernet-based deterministic synchronized protocol. National Instruments provides the NI-Industrial Communications for EtherCAT driver to install a master software stack to several targets including Real-Time Compact RIO, Compact DAQ, and Compact Vision Systems. This article aims to document how National Instruments’ benchmarks NI Masters and provides results using the benchmark.

Contents

How EtherCAT Benchmarks Work

EtherCAT benchmarks consist of four components: the logic, driver, EtherCAT network, and I/O.

Figure 1: A Typical EtherCAT System that NI Supports

For the EtherCAT master controller, benchmarks depend on user’s code and the NI-Industrial Communications for EtherCAT driver, which transmits data using the code and the EtherCAT network.  Typically, a combination of the EtherCAT master controller and the cyclic data payload is the bottleneck for system loop rates.  This is because the controller’s processing power greatly affects its ability to process both the user’s code and the data.  Generally, the more powerful the controller, the more I/O it can handle in a shorter period of time.

NI uses CPU idle time to assess NI-Industrial Communication for EtherCAT master controller performance.  CPU idle time is the time that any program does not use the processor.  The test will determine the CPU idle time over a fixed scan period and the fastest scan period.  NI develops a series of test cases with various cyclic data payloads over several National Instruments controllers.  All NI-Industrial Communications for EtherCAT project settings are left as the default setting.

NI System Loop Benchmarks

NI’s benchmark code determines the CPU idle time.  This code is attached to this white paper.   For multi-core targets, CPU0 is measured, while other CPU cores are reserved.  A test fails if the data is missing or a loop that finishes late is not available for the test.  The fastest loop rate test ends under this condition and is determined as the scan period of the previous iteration for the current iteration.

Install the software in the following order for the EtherCAT master benchmark testing. Visit ni.com/downloads for more information about purchasing and installing each product and verifying the version compatibility.

  • NI LabVIEW 2014 SP1
  • NI LabVIEW Real-Time Module 2014 SP1
  • NI-RIO 14.5
  • NI-Industrial Communications for EtherCAT 14.5

This article provides the test results for the following hardware

  • cRIO-9024
  • cRIO-9068
  • cRIO-9030
  • cRIO-9082
  • PXIe-8840

To complete the test, connect the following additional hardware:

  • NI 9144 x 4 (NI EtherCAT Slave)
  • NI 9474 x 1 (Digital Output Module)
  • NI 9423 x 1 (Digital Input Module)
  • NI 9215 x 1 (Analog Input Module)
  • NI 9263 x 1 (Analog Output Module)
  • NI 9214 x 23 (Thermocouple Input Module)

The Figure 2 shows how NI calibrates the hardware for the tests.

Figure 2: The EtherCAT Test Configuration

Test Cases

NI performed three separate cases:

  • Low payload – This test utilizes the NI 9474, NI 9423, NI 9215, and NI 9263 for a total of 9 bytes of data. 
  • Middle payload – This test utilizes the NI 9474, NI 9423, NI 9215, NI 9263, and eight NI 9214s for a total of 553 bytes of data.
  • High payload – This test utilizes all the hardware shown in Figure 2 for a total of 1573 bytes.

For all analog modules, set the value precision to 0.02, value range to 20, and value base to 10.  The real-time test passes if the inputs match the outputs two cycles in the future for 90 seconds. NI chose fixed test scan periods at 500 microseconds, 1,000 microseconds, and 10,000 microseconds. To search for the fastest scan period, NI steps through scan period increments of 50 microseconds. 

You can modify the value precision, value range, value base, and scan periods to customize tests.

Results

The first set of results is related to the fastest scan period that can be achieved by a particular controller given the three data payloads (low, middle, and high).  Figure 3 and Figure 4 show the performance and CPU idle time for each scan period.

Figure 3: EtherCAT Master Performance for Each Controller in Different Scan Periods in Microseconds

In Figure 3, a shorter bar shows that the controller performs faster.  The figure indicates that when the payload increases, scan periods become longer.  High performance controllers such as the cRIO-9082 and PXIe-8840 perform better than value controllers, such as the cRIO-9068.

Figure 4: EtherCAT Master Performance for Each Controller Using Different CPU Idle Time

Figure 4 indicates which controller can better handle the data in the given the scan period.  CPU becomes less idle if the bar is shorter.  Note that NI is only testing NI-Industrial Communications for EtherCAT on the RT processor.  If you had any other application running on the controller it would also require processor time, which can affect achievable speeds.

The following tables show the CPU Idle Time and standard deviation for various test points, specifically at 500 microseconds, 1000 microseconds, and 10000 microseconds.  These tests were also performed at 9 bytes, 553 bytes and 1573 bytes.

 

Table 1: The EtherCAT Master Performance of the cRIO-9024

Table 2: The EtherCAT Master Performance of the cRIO-9068

Table 3: The EtherCAT Master Performance of the cRIO-9030

Table 4: The EtherCAT Master Performance of the cRIO-9082

Table 5: The EtherCAT Master Performance of the NI PXIe-8840

Conclusions

Use the document to understand the factors that affect EtherCAT performance on NI RT Targets.  To sum up, four factors affect the performance: logic, the driver, EtherCAT network, and I/O.  Learn the benchmarks to help you choose appropriate devices and settings for your tests. Choose high performance controllers if applications require fast speed and high data payloads.

Was this information helpful?

Yes

No