# EC-Simulator

> EC-Simulator documentation


2026-Oct-14, acontis technologies GmbH

## Pages

- [EC-Simulator](index.html.md): EC-Simulator user manual: EtherCAT network and SubDevice simulation for Hardware-in-the-Loop (HiL) and Software-in-the-Loop (SiL) testing, architecture, software integration, and the API reference.
- [Introduction](intro.html.md): EtherCAT® (Ethernet for Control Automation Technology) is a high-performance Ethernet Fieldbus techn...
- [EC-Simulator - Features](intro_features.html.md): Feature ID:  Unique identification used in ETG.1500 EtherCAT® MainDevice Classes
- [Editions (HiL / SiL)](intro_editions.html.md): The System-Under-Test (SUT) is communicating via an Ethernet cable with the EC-Simulator software ru...
- [Protected version](intro_protected-version.html.md): The EC-Simulator software is available in different protected versions:
- [Known restrictions](intro_known-restrictions.html.md): Some SubDevices require extended information to be simulated.
- [License](intro_license.html.md): According to EC-Simulator Software License Agreement (SLA).
- [Getting Started](architecture.html.md): This chapter introduces the EC-Simulator architecture and its HiL/SiL editions, extended EXI and mix...
- [EC-Simulator Architecture](architecture_overview.html.md): The EC-Simulator library is implemented in C++ and can be easily ported to any embedded OS platforms...
- [Extended EtherCAT® Network Configuration (EXI)](architecture_extended-exi.html.md): The EC-Simulator stack has to know about the EtherCAT® bus topology and the cyclic/acyclic frames to...
- [Mixed mode of real SubDevices and simulated SubDevices](architecture_mixed-mode.html.md): In order to implement restbus simulation it is possible to mix real SubDevices and simulated SubDevi...
- [Operating system configuration](architecture_os-configuration.html.md): The main task is to setup the operating system to support the appropriate network adapter for EtherC...
- [EC-Simulator Software Development Kit (SDK)](architecture_sdk.html.md): The EC-Simulator SDK is needed to write applications based on the EC-Simulator stack.
- [Software Integration](software-integration.html.md): The example application EcSimulatorHilDemo will handle the following tasks:
- [Process data update and synchronization](software-integration_process-data-sync.html.md): The EtherCAT® MainDevice cyclically sends frames containing the outputs of the Process Data Image to...
- [Accessing process data in the application](software-integration_accessing-process-data.html.md): The process data, exchanged between the EC-Simulator stack and the SubDevices in every cycle, are st...
- [Hot Connect](software-integration_hot-connect.html.md): The EC-Simulator supports Hot Connect. The initial presence of Hot Connect groups can be configured.
- [Cable Redundancy](software-integration_cable-redundancy.html.md): The EC-Simulator supports Cable Redundancy by using two Network Interfaces to provide the Redundancy...
- [Error detection and diagnosis](software-integration_error-detection.html.md): The EC-Simulator API functions generally return [`EC_E_NOERROR`](error-codes_generic.html.md#c.EC_E_...
- [RAS-Server for EC-Lyser and EC-Engineer](software-integration_ras-server.html.md): To use the diagnosis tool EC-Lyser with a customer application, some modifications have to be done d...
- [Motion](software-integration_motion.html.md): The EC-Simulator HiL includes an internal DS402 state machine simulation with actual position emulat...
- [Platform and Operating Systems (OS)](os.html.md): Setup and build instructions for the EC-Simulator demo application across all supported operating systems and platforms, including Windows, Linux, VxWorks, QNX, RTX, INtime, and Xenomai.
- [tenAsys INtime](os_intime.html.md): tenAsys INtime
- [Linux](os_linux.html.md): Linux itself is not real-time capable, so it is recommended to use it with the additional PREEMPT_RT...
- [QNX Neutrino](os_qnx.html.md): QNX Neutrino
- [IntervalZero RTX](os_rtx.html.md): IntervalZero RTX
- [Windriver VxWorks](os_vxworks.html.md): Windriver VxWorks
- [Microsoft Windows](os_windows.html.md): Microsoft Windows
- [Xenomai](os_xenomai.html.md): ******* -->
- [Real-time Ethernet Driver](emll.html.md): The EC-Simulator stack currently supports a variety of different Real-time Ethernet Driver modules, ...
- [Real-time Ethernet Driver initialization](emll_init.html.md): The different Real-time Ethernet Driver modules are selected and parameterized by a Real-time Ethern...
- [Intel Pro/1000 - emllIntelGbe](emllintelgbe.html.md): The parameters to the Real-time Ethernet Driver Intel Pro/1000 are setup-specific.
- [Intel Pro/100 - emllI8255x](emlli8255x.html.md): The parameters to the Real-time Ethernet Driver Intel Pro/100 are setup-specific.
- [Broadcom Genet - emllBcmGenet](emllbcmgenet.html.md): The parameters to the Real-time Ethernet Driver Broadcom® Genet are setup-specific.
- [Broadcom NetXtreme - emllBcmNetXtreme](emllbcmnetxtreme.html.md): The parameters to the Real-time Ethernet Driver Broadcom® NetXtreme are setup-specific.
- [Beckhoff CCAT - emllCCAT](emllccat.html.md): The parameters to the Real-time Ethernet Driver CCAT are setup-specific.
- [Texas Instruments CPSW - emllCPSW](emllcpsw.html.md): The parameters to the Real-time Ethernet Driver CPSW are setup-specific.
- [Linux DPDK - emllDpdk](emlldpdk.html.md): The Real-time Ethernet Driver emllDpdk is based on the Data Plane Development Kit (DPDK V23.11). See...
- [DW3504 - emllDW3504](emlldw3504.html.md): The parameters to the Real-time Ethernet Driver Synopsys DesignWare 3504-0 Universal 10/100/1000 Eth...
- [Freescale TSEC / eTSEC - emllETSEC](emlletsec.html.md): The parameters to the Real-time Ethernet Driver ETSEC are setup-specific. The function `CreateLinkPa...
- [Freescale FslFec - emllFslFec](emllfslfec.html.md): The parameters to the Real-time Ethernet Driver FslFec are setup-specific. The function `CreateLinkP...
- [Cadence GEM/MACB - emllGEM](emllgem.html.md): The parameters to the Real-time Ethernet Driver GEM are setup-specific. The function `CreateLinkParm...
- [INtime HPE - emllHPE](emllhpe.html.md): emllHPE is part of EC-Simulator for INtime. emllHPE uses the INtime High-Performance Ethernet (HPE) ...
- [Texas Instruments ICSS - emllICSS](emllicss.html.md): The parameters to the Real-time Ethernet Driver ICSS are setup-specific. The function `CreateLinkPar...
- [Windows NDIS - emllNdis](emllndis.html.md): As default EC-Simulator for Windows contains `emllNdis.dll` to use a native Windows driver for Ether...
- [Windows WinPcap - emllPcap](emllpcap.html.md): An Ethernet Driver based on the WinPcap library is shipped with the EC-Simulator. This Ethernet Driv...
- [RDC R6040 - emllR6040](emllr6040.html.md): The parameters to the Real-time Ethernet Driver RDC R6040 are setup-specific. The function `CreateLi...
- [emllRemote](emllremote.html.md): The emllRemote is used to tunnel EtherCAT® frames within a TCP socket between EC-Master and EC-Simul...
- [Realtek RTL8169 - emllRTL8169](emllrtl8169.html.md): The parameters to the Real-time Ethernet Driver Realtek RTL8169 are setup-specific. The function `Cr...
- [VxWorks SNARF - emllSNARF](emllsnarf.html.md): Using the EC-Simulator stack’s SNARF Real-time Ethernet Driver it is possible to use any of the stan...
- [Linux SockRaw - emllSockRaw](emllsockraw.html.md): emllSockRaw is part of EC-Simulator for Linux. emllSockRaw uses the network interface of the native ...
- [Linux SockXdp - emllSockXdp](emllsockxdp.html.md): The Real-time Ethernet Driver SockXdp does not need the atemsys driver and uses already established ...
- [Windows TAP - emllTap](emlltap.html.md): The parameters to the Windows TAP Real-time Ethernet Driver are setup-specific. The function `Create...
- [Application programming interface, reference](api.html.md): Function prototypes, definitions etc. of the API can be found in the header file `EcSimulator.h` whi...
- [Header files](api_general.html.md): Function prototypes, definitions etc. of the API can be found in the header file `EcSimulator.h` whi...
- [Process Data Access Functions](api_process_data_access_functions.html.md): Gets the process data input image pointer.
- [Notifications](api_notifications.html.md): The application can register a notification handler using [`esRegisterClient()`](api_general.html.md...
- [Network operation functions](api_network_operation_functions.html.md): Connect a slave ESC port to another slave ESC port or to a network adapter.
- [Error simulation functions](api_error_simulation_functions.html.md): Trigger loss of sent or received EtherCAT frames at slave port (“single shot”).
- [SubDevice control and status functions](api_slave_control_and_status_functions.html.md): Returns the number of slaves which are configured in the ENI.
- [ADS over EtherCAT® (AoE)](api_mailbox.html.md): To handle AoE object transfers within the application, the callbacks pfnAoeRead, pfnAoeWrite and/or ...
- [Distributed Clocks (DC)](api_dc.html.md): Distributed Clocks are rudimentarily supported.
- [Error Codes](error-codes.html.md): |   **No.** | **Group**                                  | **Abbr.**   | **Description**            ...
- [Generic Error Codes](error-codes_generic.html.md): 0x00000000: No Error
- [DCM Error Codes](error-codes_dcm.html.md): 0x981201C0: Unspecific DCM Error
- [ADS over EtherCAT® (AoE) Error Codes](error-codes_aoe.html.md): 0x9813000D: AoE: No Rtime
- [CAN application protocol over EtherCAT® (CoE) SDO Error Codes](error-codes_coe.html.md): 0x98110040: SLV: SDO: Toggle bit not alternated (CoE abort code 0x05030000 of slave)
- [File Transfer over EtherCAT® (FoE) Error Codes](error-codes_foe.html.md): 0x98110060: SLV: ERROR FoE: not defined (FoE Error Code 0 (0x8000) of slave)
- [Servo Drive Profil over EtherCAT® (SoE) Error Codes](error-codes_soe.html.md): 0x98110078: ERROR SoE: Invalid access to element 0
- [Remote API Error Codes](error-codes_ras.html.md): 0x9811017D: RAS: Socket disconnected (e.g. IP connection terminated or lost)

---

For more comprehensive documentation, see [llms-full.txt](llms-full.txt)
