# 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)