EtherCAT Master Software on Windows
EtherCAT and Windows
Today, EtherCAT has become one of the most popular real-time Ethernet solutions in the world. The EtherCAT Technology Group (ETG) is responsible for keeping the EtherCAT technology open for all potential users. The ETG is the fieldbus organization with the largest number of members in the world. The list of members can be found on its homepage.
Running an EtherCAT Master Stack on Windows only requires a standard Ethernet network interface. EC-Master for Windows uses either an onboard (built into the motherboard) Ethernet controller, or an inexpensive external standard network card. No special interface card is required.
Of course Windows is not a real-time operating system (RTOS) and that means that a deterministic, stable, fast EtherCAT cycle time cannot be guaranteed. While it is possible to achieve update rates >= 10 milliseconds, even these relatively slow cycle times are still not always going to be met. Due to this, the Distributed Clocks (DC) feature of EtherCAT typically cannot be used.
One option for improving the performance in Windows is by replacing the Windows network driver with the acontis real-time Ethernet driver. By replacing the driver and using the optimized driver from acontis, the impact of the Windows networking stack can be eliminated. This will lead to a much improved soft real-time behavior, where Distributed Clocks can even be used. There will still be a lack of determinism, so even this solution is not recommended for production purposes
A better solution is to run Windows in conjunction with the hard real-time solution EC-Win. EC-Win utilizes acontis' real-time hypervisor technology to run Windows and an RTOS together which enables the possibility to create extremely fast, deterministic, hard real-time EtherCAT applications with update rates as fast as 20 kHz (50 microseconds).
Below we will describe the different options acontis offers for an EtherCAT Master implementation within Windows.
Solution Without Real-time Performance: Windows NDIS Filter Driver
The Network Driver Interface Specification (NDIS) is the specification for a network driver architecture that allows transport protocols like TCP/IP to communicate with an underlying physical network adapter. This specification was developed jointly by Microsoft and is used in Windows. Therefore, for sending and receiving EtherCAT frames in Windows, EC-Master includes an NDIS Link Layer (emllNdis.dll) to utilize the Ethernet driver that is part of the Windows networking stack.
Architecture for update rates >=10 ms (not guaranteed):
Solution with Soft Real-time Performance: Acontis Ethernet Driver
To achieve a faster update rate the standard Windows network driver is replaced by the acontis kernel module EcatDrv and the optimized real-time Ethernet Driver. The EcatDrv kernel module grants direct access to the physical network controller from user space. This enables the sending and receiving of EtherCAT frames without any Windows software in between.
The result is a lower CPU load, reduced jitter, and no detrimental impact introduced by other network traffic.
Architecture for update rates: >=1 ms (not guaranteed):
Solution with Hard Real-time Performance: EC-Win
For the best EtherCAT performance in Windows it is recommended to run an RTOS in conjunction with Windows. Acontis provides a real-time hypervisor for Windows that can run real-time Linux (RT-Linux) alongside Windows. When combined with EC-Master, we call this complete solution for EtherCAT in Windows: EC-Win.
With EC-Win, the EtherCAT Master stack and associated EtherCAT application runs within RT-Linux, enabling hard real-time performance with update rates up to 20 kHz (50 microseconds). Furthermore, acontis provides optimized real-time Ethernet drivers for Linux further improving the overall EtherCAT performance. And with the acontis real-time hypervisor, Windows and RT-Linux are safely separated, providing protection for the real-time Linux applications (including EtherCAT) from Windows system failures. Despite this separation, it is still possible to use the familiar Microsoft® Visual Studio® for the development and debugging environment, both for Windows applications and the real-time Linux applications.
Real-time Ethernet Drivers (Link Layers)
- Windows NDIS filter driver (emllNdis)
- Intel Pro/1000 (emllI8254x)
- Realtek Gigabit (emllRTL8169)
- Beckhoff CCAT (emllCCAT)