EtherCAT Master Software on Windows
EtherCAT and Windows
Today, EtherCAT has become one of the world's most popular real-time Ethernet solutions. 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 globally. The list of members can be found on its homepage.
Running an EtherCAT Master Stack on Windows requires a standard Ethernet network interface, which is commonly found. The acontis EC-Master software for Windows uses 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 with an off-the-shelf installation. While achieving update rates around 4 milliseconds and greater is possible, even these relatively slow cycle times will only sometimes be met. Accordingly, EtherCAT’s Distributed Clocks (DC) synchronization feature typically cannot be used in Windows.
One option to significantly improve the performance in Windows is to isolate a CPU dedicated to the real-time application and the EtherCAT master. This is achieved with standard Windows tools and the acontis Real-time Accelerator technology. A stable and precise clock is generated using the Real-time Accelerator while enabling direct access of the EtherCAT master to the Ethernet controller.
An alternative solution, in which the real-time part is not based on Windows, is to run Windows in conjunction with the acontis hard real-time solution EC-Win. EC-Win utilizes acontis' real-time hypervisor technology to run Windows and a Real-time Operating System (RTOS) together, which enables the possibility of creating EtherCAT applications that are high-speed and deterministic, even meeting hard real-time requirements.
Below, we will describe the different options acontis offers for an EtherCAT Master implementation within Windows.
The Network Driver Interface Specification (NDIS) is a network driver architecture specification that allows transport protocols like TCP/IP to communicate with an underlying physical network adapter. This specification was developed by Microsoft and is used in Windows. Therefore, to send and receive EtherCAT frames in Windows, EC-Master includes an NDIS Link Layer (emllNdis.dll) to utilize the standard Ethernet driver included in the Windows networking stack.
- Off-the-shelf Windows used (Windows is used “as-is,” no specific settings are applied)
- EC-Master and customer application run in Windows User Space
- acontis Windows NDIS filter driver: Use any available Ethernet Interface for EtherCAT
- Minimum cycle time = 4 milliseconds with high jitter
- Synchronization of devices with Distributed Clocks (DC) is not possible
- Easy and quick installation
- Standard Windows 10/11 Pro and Enterprise
On PCs with Windows IoT Enterprise, the acontis Real-time Accelerator technology enables the stable, real-time operation of the EtherCAT master and the application with a guaranteed cycle time of 1 millisecond. First, a CPU core is reserved exclusively for the real-time application using the Real-time Accelerator configuration tool. The remaining CPU cores are available for standard Windows applications.
The Real-time Accelerator includes a Windows system driver that supplies the precise, adjustable clock for the entire application, including the EtherCAT master. Replacing the standard Windows network driver with an acontis real-time Ethernet driver is also necessary to ensure deterministic behavior.
The Real-time Accelerator also includes a kernel module that grants direct access to the physical network controller from Windows User Space. This enables EtherCAT frames to be sent and received without going through the Windows networking stack. The result is deterministic behavior, low jitter, significantly lower CPU utilization, and no negative impacts from other Ethernet traffic on other network interfaces.
- EC-Master and customer application run in Windows User Space
- Non-real-time part and real-time part can run within a single application process
- Minimum reliable cycle time = 1 millisecond
- Hard real-time with Real-time Accelerator technology on Windows 10 IoT Enterprise using CPU core isolation
- Real-time Accelerator technology
- Real-time part of the application and master stack run on an isolated CPU core
- Real-time Accelerator driver required to support stable cycle time
- Real-time Accelerator kernel module needed to support deterministic EtherCAT frame exchange
For the best EtherCAT performance in Windows, running an RTOS in conjunction with Windows is recommended. Acontis provides a real-time hypervisor for Windows that can run real-time Linux (PREEMPT-RT) alongside Windows. When combined with EC-Master, we call this combined solution for EtherCAT in Windows EC-Win.
With EC-Win, the EtherCAT Master stack and associated EtherCAT application runs within real-time Linux, enabling hard real-time performance with up to 10 kHz (100 microseconds) update rates. Furthermore, acontis provides optimized real-time Ethernet drivers for Linux, further improving the overall EtherCAT performance. With the acontis real-time hypervisor, Windows and real-time Linux are safely separated, protecting 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® IDE for development and debugging, both for Windows and real-time Linux applications.
- Hypervisor + Real-time Operating System ( real-time Linux)
- Real-time Linux controlled by acontis Hypervisor runs in parallel with Windows
- Run EC-Master and associated customer applications on Real-time Linux with hard real-time performance
- Minimum reliable cycle time = 100 microseconds
- Windows and RTOS are isolated and fully separated
- Windows System Failure (Blue Screen of Death) does not affect the RTOS and associated EtherCAT application
- A communication layer between Windows and RTOS is required
Real-time Ethernet Drivers (Link Layers)
- Windows NDIS filter driver (emllNdis)
- Intel Pro/1000 (emllI8254x)
- Realtek Gigabit (emllRTL8169)
- Beckhoff CCAT (emllCCAT)