EtherCAT® Network Simulation

Run an EtherCAT controller with a simulated network

The EC-Simulator virtualizes EtherCAT® networks by simulating the EtherCAT® slave devices in order to run EtherCAT Master applications without real EtherCAT® slave hardware available.
The EtherCAT® simulation is provided on a physical network adapter or virtually, e.g. to realize a completely simulated machine setup. Configuring the simulation instance is seamless using the ENI file of the real network.
Reaction to Process Data, SDOs, Slave Stack interaction, etc. can be programmed using C/C++ or .NET opening the EtherCAT data to various other engineering, testing or virtualizing tools like ISG Virtuos®.

Use Cases

  • Virtual Commissioning with a Digital Twin
    • Test and optimize the application at an early stage of the engineering, even without any real existing hardware
    • Test error scenarios which are dangerous and/or lead to damages
  • EtherCAT control system release tests
    • Test extended scenarios, e.g., simulate topology changes
    • Simulate slave errors
    • Simulate huge networks
  • Software development and education

Hardware-in-Loop (HiL) Simulation

All slaves are simulated

The System-Under-Test (SUT) is communicating via an EtherCAT cable with the EC-Simulator software running on an external hardware, the HiL System.
In this setup the unchanged application together with the EtherCAT master can be tested using the standard, physical 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 which slaves will be simulated in acontis' EtherCAT configuration tool EC-Engineer. The resulting network configuration contains all slaves, with 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

Software Architecture

The EC-Simulator software is ready-to-run on various operating systems, e. g. Linux and Windows, and makes use of the acontis Real-time Ethernet drivers, the so called link layers.
EC-Simulator offers a “C” language API for integration into a Software PLC (LogicLab, logi.cals) or into professional simulation software like ISG Virtuos, etc.

Software-in-the-Loop (SiL) Simulation

The EtherCAT network is simulated by a software running on the System Under Test (SUT).
Instead of communicating with the Ethernet Controller, the EC-Master EtherCAT master is directly exchanging EtherCAT frames with the simulation software.

Software Architecture

Programming Interface

Process Data Provider

Various options are available for handling the process data in the application. The appropriate 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., CiA402, instead of process data image
    • Behavior of sample application can´t 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, e.g., switch 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, e. g. 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/EC-Engineer


  • Slaves with and without mailbox
  • Mailbox protocol CANopen over EtherCAT (CoE)
  • PDO configuration and assignment commands via CoE
  • Support for all mailbox initialization commands
  • Basic object dictionary
  • Support for distributed clocks
  • Supported Masters: EC-Master

More information

Please request additional information in our download area