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.
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’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.
This article provides the test results for the following hardware
To complete the test, connect the following additional hardware:
The Figure 2 shows how NI calibrates the hardware for the tests.
Figure 2: The EtherCAT Test Configuration
NI performed three separate cases:
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.
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
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.