Real-time EtherCAT® Network Simulation
Run an EtherCAT Controller with a Simulated Network
EC-Simulator virtualizes EtherCAT networks by simulating the EtherCAT SubDevices in order to run EtherCAT MainDevice applications without real EtherCAT SubDevices available.
EtherCAT simulation is possible via a physical network adapter, or also virtually, to realize a completely simulated machine setup. Configuring the simulation instance is seamless using the ENI file of the real network.
With EC-Simulator it is possible to react to Process Data (PDOs), send and receive Service Data (SDOs), interact with the SubDevice Stack, and more. This is all possible to be programmed via the API available for C/C++ or .NET, enabling the connection of EtherCAT data to various other professional software tools for the imitation of real-world systems.
Use Cases

MainDevice Software Development
- Run the EtherCAT MainDevice application without real EtherCAT SubDevices
- Convenient and easy integration of the EtherCAT MainDevice stack software with the MainDevice application, for example, implement and test functions for SubDevices which are not available
- Enable implementing and testing of advanced EtherCAT features like Hot Connect, Firmware download via FoE, etc.
- Validate the MainDevice application with different network configurations and topologies → As simple as loading a different ENI file into EC-Simulator
- User-friendly debugging of complex topologies and complicated scenarios with numerous varying SubDevice types

Fieldbus MainDevice Test
- Replace manual test procedures by automatic programmable test procedures
- Simulate SubDevice errors, e.g. a SubDevice drops down from OP to SAFEOP state
- Simulate cable breaks, frame loss, bad connections, etc.
- Simulate large networks with many SubDevices and large amounts of process data
- Simulate error scenarios at precise locations within the network, including before or after real SubDevices
- Implement enhanced test scenarios like simulating topology changes

Virtual Commissioning
- Develop and test applications based on a software emulation (Digital Twin) of the machine logic
- Test and optimize the application at a very early stage of the development prior to having any real target hardware and devices
- Test error scenarios that are dangerous and/or could lead to physical damage

SubDevice Firmware Development
- Develop SubDevice firmware before real hardware is available
- EC-Simulator is based on the Beckhoff® EtherCAT SubDevice Stack ET9300, and all standard APPL_XXX() functions are available on the application layer
- Develop firmware in Windows or Linux with a convenient and easy-to-use IDE
- Use recorded network frames or generated test data as process data input for SubDevice firmware
- Capture and trace process data outputs and states to files
- Test upload and download of parameters via CoE and VoE
- Test firmware downloads via FoE
Hardware-in-the-Loop (HiL) Simulation
All SubDevices are simulated
In this scenario the System-Under-Test (SUT) is communicating via a physical EtherCAT compliant cable with the EC-Simulator software running on an external hardware, referred to as the HiL System. The HiL System can be a standard PC or an embedded microprocessor as it doesn't require any special hardware. Just a standard Ethernet controller and interface can be used.
In this setup the EtherCAT MainDevice along with the MainDevice application requires no changes from how it is implemented when connected with real SubDevices, and can be tested using the standard physical Ethernet network interface.
Mix of real SubDevices and simulated SubDevices
- A HiL System with one Ethernet port must be the last device on the network
- A HiL System with multiple ports can be connected anywhere in the network, even between real SubDevices
- Define the SubDevices to be simulated in acontis' EtherCAT configuration tool EC-Engineer. The resulting network configuration (ENI) contains all SubDevices, with the simulated SubDevices indicated as such.
- Create a Digital Twin step-by-step: partly simulated combined with partly real SubDevices
- Simulate error scenarios at any location, including before or after the real SubDevices
General Software Architecture
The EC-Simulator software is available and ready-to-run on various operating systems (Linux, Windows, QNX, VxWorks, etc.) and makes use of the acontis Real-time Ethernet drivers. EC-Simulator offers a C/C++ language Application Programing Interface (API) for integration into the application.
Software architecture on Windows
On Windows, the acontis RtaccWin technology guarantees stable, real-time operation of the EC simulator. For this purpose, a CPU is reserved exclusively for the simulation and the RtaccDevice.sys driver grants the acontis Real-time Ethernet driver direct, fast access to the physical network controller from Windows user mode. Together with other measures, the EC simulator can be operated with an EtherCAT bus cycle time of one millisecond and even below.
Software-in-the-Loop (SiL) Simulation
In this scenario the EtherCAT network is simulated by a software running on the System Under Test (SUT) and there is no need for a separate hardware.
Instead of communicating with the Ethernet Controller, the acontis EtherCAT MainDevice software EC-Master is directly exchanging EtherCAT frames with the simulation software.
Software Architecture
EC-Simulator replaces the Ethernet controller driver normally used for the physical interface. No physical network interface required!
Virtual Commissioning with Simulation model
Functional Mock-up Interface (FMI)
- Process Data simulation using model implemented as Functional Mock-up Unit (FMU)
- Any simulation tool which supports FMI standard interface can be used, e.g. Matlab or Dymola
- The EC-Simulator FMI Library provides all needed APIs
- No FMU specific coding needed. Use ready-to-run example application
Programming Interface (API)
Process Data Provider
Numerous options are available for handling the process data in the application. The preferred option can be selected individually for each SubDevice .
- Default implementation (SubDevice 1):
- Process data logic implemented by customer application from process data image
- Use integrated sample application (SubDevice 2):
- Process data provided by sample application (e.g. CiA 402) instead of process data image
- Behavior of sample application cannot be changed
- Select “Sample application” in EC-Engineer
- Implement own SubDevice firmware (SubDevice 3):
- Interface for developing and testing own SubDevice firmware: Hook existing own APPL_XXX() SubDevice functions to own code
- Control EtherCAT State Machine, handle process, CoE objects
Network Operations
- Change the network topology
- Disconnect/connect/move a SubDevice
- Power down/up a SubDevice
- Change a SubDevice state like switching to PREOP state
- API to simulate lost frames at a specific SubDevice/ port
- API to simulate a lost link at a specific SubDevice/ port
Diagnosis Functions
- API to read and write SubDevice registers, for example, read SubDevice states
- API to read and write SubDevice EEPROM content
- API to read simulator object dictionary
- API to evaluate the network topology
- RAS server for connecting EC-Lyser or EC-Engineer
Features
- Simulation of up to 2000 EtherCAT SubDevices
- SubDevices with and without mailbox protocol support
- Mailbox protocol CAN application protocol over EtherCAT (CoE)
- PDO configuration and assignment commands via CoE
- Mailbox protocol Vendor over EtherCAT (VoE)
- Mailbox protocol File access over EtherCAT (FoE)
- Support for all mailbox initialization commands
- Basic object dictionary
- Support for distributed clocks
- Supported MainDevices: EC-Master, Beckhoff TwinCAT® with add-on license, CoDeSys® with add-on license
More information about EC-Simulator
Please request additional information in our download area