Real-time EtherCAT® Network Simulation

Run an EtherCAT Controller with a Simulated Network

EC-Simulator virtualizes EtherCAT networks by simulating the EtherCAT slave devices in order to run EtherCAT Master applications without real EtherCAT slave hardware devices 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 Slave 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

Master Software Development

  • Run the EtherCAT Master application without real EtherCAT slave devices
  • Convenient and easy integration of the EtherCAT master stack software with the master application, for example, implement and test functions for slaves which aren't available
  • Enable implementing and testing of advanced EtherCAT features like Hot Connect, Firmware download via FoE, etc.
  • Validate the master 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 slave types

Fieldbus Master Device Test

  • Replace manual test procedures by automatic programmable test procedures
  • Simulate slave errors like when a slave drops down from OP to SAFEOP state
  • Simulate cable breaks, frame loss, bad connections, etc.
  • Simulate large networks with many slaves and large amounts of process data
  • Simulate error scenarios at precise locations within the network, including before or after real slaves
  • 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

Slave Firmware Development

  • Develop slave firmware before real hardware is available
  • EC-Simulator is based on the Beckhoff® EtherCAT Slave 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 slave 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 slaves 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 master along with the master application requires no changes from how it is implemented when connected with real slaves, and can be tested using the standard physical Ethernet network interface.

Mix of real slaves and simulated slaves

  • 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 slaves
  • Define the slaves to be simulated in acontis' EtherCAT configuration tool EC-Engineer. The resulting network configuration (ENI) contains all slaves, with the simulated slaves indicated as such.
  • Create a Digital Twin step-by-step: partly simulated combined with partly real slaves
  • Simulate error scenarios at any location, including before or after the real slaves

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, the so called acontis Link Layers.  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 Master 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!

Programing Interface (API)

Process Data Provider

Numerous options are available for handling the process data in the application. The desired option can be selected individually for each slave.

  • Default implementation (Slave 1):
    • Process data logic implemented by customer application from process data image
  • Use integrated sample application (Slave 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 slave firmware (Slave 3):
    • Interface for developing and testing own slave firmware: Hook existing own APPL_XXX() slave functions to own code
    • Control EtherCAT State Machine, handle process, CoE objects

Network Operations

  • Change the network topology
  • Disconnect/connect/move a slave
  • Power down/up a slave
  • Change a slave state like switching to PREOP state
  • API to simulate lost frames at a specific slave / port
  • API to simulate a lost link at a specific slave / port

Diagnosis Functions

  • API to read and write slave registers, for example, read slave states
  • API to read and write slave EEPROM content
  • API to read simulator object dictionary
  • API to evaluate the network topology
  • RAS server for connecting EC-Lyser or EC-Engineer


  • Simulation of up to 2000 EtherCAT slaves
  • Slaves 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 Masters: acontis EC-Master, Beckhoff TwinCAT®, CoDeSys®

More information about EC-Simulator

Please request additional information in our download area

Free Evaluation Request