# EC-Master

> EtherCAT® Master Stack documentation


2026-Oct-14, acontis technologies GmbH

## Pages

- [EtherCAT® Master Stack Class B](index.html.md): EtherCAT® Master Stack Class B user manual: software integration, EtherCAT network configuration, real-time Ethernet drivers, and the complete API reference.
- [Introduction](intro.html.md): EtherCAT® (Ethernet for Control Automation Technology) is a high-performance Ethernet Fieldbus techn...
- [The EC-Master - Features](intro_features.html.md): Feature ID:     Unique identification used in ETG.1500 EtherCAT MainDevice Classes
- [Protected version](intro_protected-version.html.md): The EC-Master software can be delivered in 3 different versions:
- [Dongled version](intro_dongled-version.html.md): The Master library is encrypted and requires a dongle to execute. The following dongles are supporte...
- [License](intro_license.html.md): According to EC-Master Software License Agreement (SLA).
- [Getting Started](gettingstarted.html.md): This chapter helps you get EC-Master up and running quickly. It gives a brief overview of the MainDe...
- [EC-Master Architecture](gettingstarted_architecture.html.md): The EC-Master EtherCAT® MainDevice stack is implemented in C++ and can be easily ported to any embed...
- [EtherCAT® Network Configuration (ENI)](gettingstarted_eni-configuration.html.md): The EtherCAT® MainDevice has to know about the EtherCAT® bus topology and the cyclic/acyclic frames ...
- [Operating system configuration](gettingstarted_os-configuration.html.md): The main task is to setup the operating system to support the appropriate network adapter for EtherC...
- [Running EcMasterDemo](gettingstarted_running-demo.html.md): The EcMasterDemo is available “out of the box” for different operating systems. It is an EC-Master e...
- [Compiling the EcMasterDemo](gettingstarted_compiling.html.md): The following main rules can be used to generate the example applications for all operating systems.
- [Software Integration](software-integration.html.md): This chapter describes how to integrate EC-Master into your application: the cyclic timing model, th...
- [Timing](software-integration_timing.html.md): EtherCAT® is a cycle-based fieldbus technology.
- [Example application](software-integration_example-application.html.md): The example application EcMasterDemo handles the following tasks:
- [EC-Master startup](software-integration_product-startup.html.md): The EC-Master stack has to be initialized once when the application is starting. After this one-time...
- [EtherCAT® Network Configuration ENI](software-integration_eni-configuration.html.md): For reading new input data values and writing new output data values (process data update) the Ether...
- [Process Data Access](software-integration_process-data-access.html.md): The process data is exchanged as variables between the EtherCAT® MainDevice and the SubDevices with ...
- [Process Data Memory](software-integration_process-data-memory.html.md): All mapped process data objects of the SubDevices are copied by the MainDevice into a process data m...
- [Error detection and diagnosis](software-integration_error-detection.html.md): The EC-Master API functions generally return [`EC_E_NOERROR`](error-codes_generic.html.md#c.EC_E_NOE...
- [EtherCAT® traffic logging in application](software-integration_traffic-logging.html.md): [`emLogFrameEnable()`](api_diagnosis.html.md#_CPPv416emLogFrameEnable10EC_T_DWORD18EC_T_PFLOGFRAME_C...
- [Trace Data](software-integration_trace-data.html.md): Trace Data allows applications to trace data in real-time on the network. To ensure real-time transm...
- [EC-Master MainDevice Stack Source Code](software-integration_source-code.html.md): In a source code delivery the MainDevice stack sources are divided into 4 parts:
- [Reduced Feature Set](software-integration_reduced-feature-set.html.md): On chosen platforms several EC-Master libraries with excluded features are available. They can be us...
- [Platform and Operating Systems (OS)](os.html.md): Setup and build instructions for the EC-Master demo application across all supported operating systems and platforms, including Windows, Linux, VxWorks, QNX, RTOS-32, INtime, and more.
- [CMSIS-RTOS for STM32](os_cmsis-rtos.html.md): CMSIS-RTOS for STM32
- [eCos](os_ecos.html.md): 1. Build the eCos kernel with the parameters associated to the application
- [FreeRTOS](os_freertos.html.md): ******** -->
- [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...
- [MacOS](os_macos.html.md): > 1. MacOS configuration
- [PC / BIOS](os_pc-bios.html.md): ********* -->
- [QNX Neutrino](os_qnx.html.md): QNX Neutrino
- [IntervalZero RTX](os_rtx.html.md): IntervalZero RTX
- [SylixOS](os_sylixos.html.md): ******* -->
- [TI-RTOS](os_ti-rtos.html.md): ******* -->
- [µC3 for STM32](os_uc3.html.md): µC3 for STM32
- [Windriver VxWorks](os_vxworks.html.md): Windriver VxWorks
- [Microsoft Windows](os_windows.html.md): Microsoft Windows
- [Microsoft Windows CE](os_windows-ce.html.md): Microsoft Windows CE
- [Xenomai](os_xenomai.html.md): ******* -->
- [Zephyr](os_zephyr.html.md): 1. Prerequisites
- [Real-time Ethernet Driver (RtEth)](emll.html.md): The EC-Master currently supports a variety of different Real-time Ethernet Driver modules, each cont...
- [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.
- [Berkeley Packet Filter - emllBPF](emllbpf.html.md): The Ethernet Driver BPF is always part of the EC-Master for QNX package. It uses already established...
- [Beckhoff CCAT - emllCCAT](emllccat.html.md): The parameters to the Real-time Ethernet Driver CCAT are setup-specific.
- [CMSIS - emllCmsisEth](emllcmsiseth.html.md): The parameters to the Real-time Ethernet Driver CmsisEth are setup-specific.
- [Texas Instruments CPSW - emllCPSW](emllcpsw.html.md): The parameters to the Real-time Ethernet Driver CPSW are setup-specific.
- [Texas Instruments CPSWG for AM6x and Jacinto 7 - emllCPSWG](emllcpswg.html.md): The parameters to the CPSWG Real-time Ethernet Driver 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...
- [Synopsys DW3504 - emllDW3504](emlldw3504.html.md): The parameters to the Real-time Ethernet Driver Synopsys DesignWare 3504-0 Universal 10/100/1000 Eth...
- [Synopsys DWXGMAC - emllDwXgmac](emlldwxgmac.html.md): The parameters to the Real-time Ethernet Driver Synopsys DesignWare Cores XGMAC - 10G/25G Ethernet M...
- [Freescale TSEC / eTSEC - emllETSEC](emlletsec.html.md): The parameters to the Real-time Ethernet Driver ETSEC are setup-specific. The function `CreateLinkPa...
- [NXP ENETC4 - emllFslEnetc](emllfslenetc.html.md): The parameters to the Real-time Ethernet Driver NXP ENETC4 (NETC, i.MX95) are setup-specific. The fu...
- [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-Master for INtime. emllHPE uses the INtime High-Performance Ethernet (HPE) int...
- [Texas Instruments ICSS - emllICSS](emllicss.html.md): The parameters to the Real-time Ethernet Driver ICSS are setup-specific. The function `CreateLinkPar...
- [Texas Instruments ICSSG - emllICSSG on AM654x](emllicssg.html.md): The parameters to the ICSSG Real-time Ethernet Driver are setup-specific. The function `CreateLinkPa...
- [Microchip LAN743x - emlllan743x](emlllan743x.html.md): The parameters to the Real-time Ethernet Driver LAN743x are setup-specific.
- [Beckhoff CUxxxx Multiplier - emllMultiplier](emllmultiplier.html.md): The parameters to the Multiplier Real-time Ethernet Driver are setup-specific. The function “CreateL...
- [Windows NDIS - emllNdis](emllndis.html.md): As default EC-Master for Windows contains `emllNdis.dll` to use a native Windows driver for EtherCAT...
- [Windows WinPcap - emllPcap](emllpcap.html.md): An Ethernet Driver based on the WinPcap library is shipped with the EC-Master. This Ethernet Driver ...
- [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...
- [Renesas RZ/T1 - emllRZT1](emllrzt1.html.md): The parameters to the Real-time Ethernet Driver Renesas RZ/T1 are setup-specific.
- [Renesas SHEth - emllSHEth](emllsheth.html.md): The parameters to the Renesas Real-time Ethernet Driver SuperH are setup-specific.
- [VxWorks SNARF - emllSNARF](emllsnarf.html.md): Using the EC-Master stack’s SNARF Real-time Ethernet Driver it is possible to use any of the standar...
- [Linux SockRaw - emllSockRaw](emllsockraw.html.md): emllSockRaw is part of EC-Master for Linux. emllSockRaw uses the network interface of the native dri...
- [Linux SockXdp - emllSockXdp](emllsockxdp.html.md): The Real-time Ethernet Driver SockXdp does not need the atemsys driver and uses already established ...
- [AMD Tri-Mode Ethernet Media Access Controller (TEMAC)](emlltemac.html.md): The parameters to the TEMAC Real-time Ethernet Driver are setup-specific. The function `CreateLinkPa...
- [Texas Instruments CPSWG for AM6x and Jacinto 7 based on Enet LLD - emllTiEnetCpswg](emlltienetcpswg.html.md): The parameters to the TiEnetCpswg Real-time Ethernet Driver are setup-specific. The function `Create...
- [Texas Instruments ICSSG for AM6x and Jacinto 7 based on Enet LLD - emllTiEnetIcssg](emlltieneticssg.html.md): The parameters to the Real-time Ethernet Driver TiEnetIcssg are setup-specific. The function `Create...
- [Virtual Local Area Network - emllVlan](emllvlan.html.md): The parameters to the VLAN Real-time Ethernet Driver are setup-specific. The function “CreateLinkPar...
- [Application programming interface, reference](toc_api.html.md): Function prototypes, definitions etc. of the API can be found in the header file `EcMaster.h` which ...
- [Generic API return status values](api_return_status.html.md): Most of the functions and also some notifications will return an error status value to indicate whet...
- [Multiple EtherCAT® Bus Support](api_multi_bus.html.md): Multiple EtherCAT® Bus support is included within the Class B and Class A MainDevice stack. For each...
- [General functions](api_general_functions.html.md): Initialize EC-Master.
- [Process Data Access](api_process_data.html.md): Blocking function to retrieve consistent process data from outside the JobTask context.
- [Generic notification interface](api_notifications.html.md): One of the parameters the client has to set when registering with the EtherCAT® MainDevice is a gene...
- [SubDevice control and status functions](api_slave_control.html.md): Returns the number of slaves which are configured in the ENI.
- [Diagnosis, error detection, error notifications](api_diagnosis.html.md): In case of errors on the bus or in one or multiple SubDevices the EtherCAT® MainDevice stack will no...
- [Performance Measurement](api_perfmeas.html.md): The acontis EC-Master software has a built-in performance measurement capability. This can be used t...
- [EtherCAT® Mailbox Transfer](mbx_tfer.html.md): To be able to initiate a mailbox transfer the client has to create a mailbox transfer object first. ...
- [Automation Device Specification over EtherCAT® (AoE)](mbx_aoe.html.md): The AoE protocol is used to access the Object dictionary of SubDevices of underlying field-buses, e....
- [CAN application protocol over EtherCAT® (CoE)](mbx_coe.html.md): Execute a CoE SDO download to an EtherCAT slave device.
- [File access over EtherCAT® (FoE)](mbx_foe.html.md): The File access over EtherCAT® (FoE) mailbox command specifies a standard way to download a firmware...
- [Servo Drive Profile according to IEC61491 over EtherCAT® (SoE)](mbx_soe.html.md): The SoE Service Channel (SSC) is equivalent to the IEC61491 Service Channel used for non-cyclic data...
- [Vendor specific protocol over EtherCAT® (VoE)](mbx_voe.html.md): VoE is for vendor specific protocols. With VoE the vendor has access to a raw EtherCAT® mailbox with...
- [Raw command transfer](mbx_raw.html.md): Transfers a single raw EtherCAT command to one or multiple slaves and waits for the result.
- [EtherCAT® Bus Scan](api_busscan.html.md): The acontis EtherCAT® MainDevice stack supports scanning the EtherCAT® Bus to determine which SubDev...
- [RAS Server for EC-Lyser and EC-Engineer](ras.html.md): The Remote Access Service (RAS) provides a socket-based uplink that lets diagnosis tools such as EC-...
- [Integration Requirements](ras_integration.html.md): To use the diagnosis tool EC-Lyser with a customer application, some modifications have to be done d...
- [Application programming interface, reference](ras_api.html.md): Starts the RAS Server.
- [MainDevice Object Dictionary](od.html.md): M/O/C: Mandatory, Optional, Custom
- [Introduction](od_introduction.html.md): Like SubDevices may support diagnosis and configuration that can be accessed by means of asynchronou...
- [Overview](od_overview.html.md): | **Index**   | **Object Type**   | **Name**                      | **Type**        | **M/O/C**   | ...
- [Communication Area Objects: 0x1000-0x1FFF](od_communication-area.html.md): | **Attribute**   | **Value**   |
- [Generic MainDevice Objects: 0x2000-0x20FF](od_generic-objects.html.md): | **Attribute**   | **Value**                                                                       ...
- [Distributed Clocks Objects: 0x2100-0x21FF](od_distributed-clocks.html.md): | **Attribute**   | **Value**          |
- [Bus Load Statistics Object 0x2200](od_bus-load.html.md): Object Type: RECORD, Manufacturer Specific Identity 0x44
- [SubDevice specific objects](od_subdevice-objects.html.md): The SubDevice specific object structures are repeated for each SubDevice. The number of SubDevice sp...
- [Device Area Objects: 0xF000-0xFFFF](od_device-area.html.md): Object Type: RECORD, Manufacturer Specific Identity 0x48
- [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)
