Class B
- 1. Introduction
- 2. Getting Started
- 3. Software Integration
- 4. Platform and Operating Systems (OS)
- 4.1. CMSIS-RTOS for STM32
- 4.2. eCos
- 4.3. FreeRTOS
- 4.3.1. Setting up and running EcMasterDemo on Xilinx Zynq UltraScale+ (ZCU104) and Xilinx Zynq-7000 (ZC702 Evaluation Kit)
- 4.3.2. Setting up and running EcMasterDemo on TI AM64x EVM for R5 Core
- 4.3.3. Setting up and running EcMasterDemo on TI AM243x LP and TI AM243x EVM
- 4.3.4. Setting up and running EcMasterDemo on TI J784s4 EVM for R5 Core
- 4.4. tenAsys INtime
- 4.5. Linux
- 4.6. PC / BIOS
- 4.7. QNX Neutrino
- 4.8. Renesas
- 4.9. IntervalZero RTX
- 4.10. SylixOS
- 4.11. TI-RTOS
- 4.12. µC3 for STM32
- 4.13. Windriver VxWorks
- 4.14. Microsoft Windows
- 4.15. Microsoft Windows CE
- 4.16. Xenomai
- 4.17. Zephyr
- 5. Real-time Ethernet Driver
- 5.1. Real-time Ethernet Driver initialization
- 5.2. Intel Pro/1000 - emllIntelGbe
- 5.3. Intel Pro/100 - emllI8255x
- 5.4. Broadcom Genet - emllBcmGenet
- 5.5. Broadcom NetXtreme - emllBcmNetXtreme
- 5.6. Berkeley Packet Filter - emllBPF
- 5.7. Beckhoff CCAT - emllCCAT
- 5.8. CMSIS - emllCmsisEth
- 5.9. Texas Instruments CPSW - emllCPSW
- 5.10. Texas Instruments CPSWG for AM6x and Jacinto 7 - emllCPSWG
- 5.11. Linux DPDK - emllDpdk
- 5.12. DW3504 - emllDW3504
- 5.13. Freescale TSEC / eTSEC - emllETSEC
- 5.14. Freescale FslFec - emllFslFec
- 5.15. Xilinx Zynq-7000/Ultrascale (GEM) - emllGEM
- 5.16. Texas Instruments ICSS - emllICSS
- 5.17. Texas Instruments ICSSG - emllICSSG on AM654x
- 5.18. Microchip LAN743x - emlllan743x
- 5.19. Beckhoff CUxxxx Multiplier - emllMultiplier
- 5.20. Windows NDIS - emllNdis
- 5.21. Windows WinPcap - emllPcap
- 5.22. RDC R6040 - emllR6040
- 5.23. emllRemote
- 5.24. Realtek RTL8169 - emllRTL8169
- 5.25. Renesas RZ/T1 - emllRZT1
- 5.26. Renesas SHEth - emllSHEth
- 5.27. VxWorks SNARF - emllSNARF
- 5.28. Linux SockRaw - emllSockRaw
- 5.29. Linux SockXdp - emllSockXdp
- 5.30. Texas Instruments CPSWG for AM6x and Jacinto 7 based on Enet LLD - emllTiEnetCpswg
- 5.31. Texas Instruments ICSSG for AM6x and Jacinto 7 based on Enet LLD - emllTiEnetIcssg
- 5.32. Virtual Local Area Network - emllVlan
- 6. Application programming interface, reference
- 6.1. Generic API return status values
- 6.2. Multiple EtherCAT Bus Support
- 6.3. General functions
- 6.3.1. emInitMaster
- 6.3.2. emDeinitMaster
- 6.3.3. emGetMasterParms
- 6.3.4. emSetMasterParms
- 6.3.5. emScanBus
- 6.3.6. emRescueScan
- 6.3.7. emConfigureNetwork
- 6.3.8. emConfigGet
- 6.3.9. emConfigExtend
- 6.3.10. emRegisterClient
- 6.3.11. emUnregisterClient
- 6.3.12. emGetSrcMacAddress
- 6.3.13. emSetMasterState
- 6.3.14. emGetMasterState
- 6.3.15. emGetMasterStateEx
- 6.3.16. emStart
- 6.3.17. emStop
- 6.3.18. emExecJob
- 6.3.19. emGetVersion
- 6.3.20. emSetLicenseKey
- 6.3.21. emSetOemKey
- 6.3.22. emIoControl
- 6.3.23. emIoControl - EC_IOCTL_GET_PDMEMORYSIZE
- 6.3.24. emIoControl - EC_IOCTL_REGISTER_PDMEMORYPROVIDER
- 6.3.25. emIoControl - EC_IOCTL_REGISTER_CYCFRAME_RX_CB
- 6.3.26. emIoControl - EC_IOCTL_ISLINK_CONNECTED
- 6.3.27. emIoControl - EC_IOCTL_GET_LINKLAYER_MODE
- 6.3.28. emIoControl - EC_IOCTL_GET_CYCLIC_CONFIG_INFO
- 6.3.29. emIoControl - EC_IOCTL_IS_SLAVETOSLAVE_COMM_CONFIGURED
- 6.3.30. emIoControl - EC_LINKIOCTL…
- 6.3.31. emIoControl - EC_LINKIOCTL_GET_ETHERNET_ADDRESS
- 6.3.32. emIoControl - EC_LINKIOCTL_GET_SPEED
- 6.3.33. emIoControl - EC_LINKIOCTL_GET_PCI_INFO
- 6.3.34. emIoControl - EC_IOCTL_SET_CYCFRAME_LAYOUT
- 6.3.35. emIoControl - EC_IOCTL_SET_MASTER_DEFAULT_TIMEOUTS
- 6.3.36. emIoControl - EC_IOCTL_SET_COPYINFO_IN_SENDCYCFRAMES
- 6.3.37. emIoControl - EC_IOCTL_SET_BUS_CYCLE_TIME
- 6.3.38. emIoControl - EC_IOCTL_ADDITIONAL_VARIABLES_FOR_SPECIFIC_DATA_TYPES
- 6.3.39. emIoControl - EC_IOCTL_SLV_ALIAS_ENABLE
- 6.3.40. emIoControl - EC_IOCTL_SET_IGNORE_INPUTS_ON_WKC_ERROR
- 6.3.41. emIoControl - EC_IOCTL_SET_ZERO_INPUTS_ON_WKC_ERROR
- 6.3.42. emIoControl - EC_IOCTL_SET_ZERO_INPUTS_ON_WKC_ZERO
- 6.3.43. emIoControl - EC_IOCTL_SET_GENENI_ASSIGN_EEPROM_BACK_TO_EM
- 6.3.44. emIoControl - EC_IOCTL_SET_EOE_DEFFERED_SWITCHING_ENABLED
- 6.3.45. emIoControl - EC_IOCTL_SET_MAILBOX_POLLING_CYCLES
- 6.3.46. emIoControl - EC_IOCTL_SET_MASTER_MAX_STATE
- 6.3.47. emIoControl - EC_IOCTL_ACTIVATE_VOE_RECV_FIFO
- 6.3.48. emIoControl - EC_IOCTL_SET_GEN_ENI_PARM
- 6.4. Process Data Access
- 6.4.1. emGetProcessData
- 6.4.2. emGetProcessDataBits
- 6.4.3. emSetProcessData
- 6.4.4. emSetProcessDataBits
- 6.4.5. emForceProcessDataBits
- 6.4.6. emReleaseProcessDataBits
- 6.4.7. emReleaseAllProcessDataBits
- 6.4.8. emGetProcessImageInputPtr
- 6.4.9. emGetProcessImageOutputPtr
- 6.4.10. emGetDiagnosisImagePtr
- 6.4.11. emGetDiagnosisImageSize
- 6.4.12. emGetSlaveInpVarInfoNumOf
- 6.4.13. emGetSlaveInpVarInfo
- 6.4.14. emGetSlaveInpVarInfoEx
- 6.4.15. emGetSlaveOutpVarInfoNumOf
- 6.4.16. emGetSlaveOutpVarInfo
- 6.4.17. emGetSlaveOutpVarInfoEx
- 6.4.18. emGetSlaveInpVarByObjectEx
- 6.4.19. emGetSlaveOutpVarByObjectEx
- 6.4.20. emFindInpVarByName
- 6.4.21. emFindInpVarByNameEx
- 6.4.22. emFindOutpVarByName
- 6.4.23. emFindOutpVarByNameEx
- 6.4.24. emTraceDataConfig
- 6.4.25. emTraceDataGetInfo
- 6.4.26. EC_COPYBITS
- 6.4.27. EC_COMPAREBITS
- 6.4.28. EC_GET_FRM_WORD
- 6.4.29. EC_GET_FRM_DWORD
- 6.4.30. EC_GET_FRM_QWORD
- 6.4.31. EC_SET_FRM_WORD
- 6.4.32. EC_SET_FRM_DWORD
- 6.4.33. EC_SET_FRM_QWORD
- 6.4.34. EC_GETBITS
- 6.4.35. EC_SETBITS
- 6.5. Generic notification interface
- 6.6. Slave control and status functions
- 6.6.1. emGetNumConfiguredSlaves
- 6.6.2. emGetNumConnectedSlaves
- 6.6.3. emGetSlaveId
- 6.6.4. emGetSlaveIdAtPosition
- 6.6.5. emSetSlaveState
- 6.6.6. emGetSlaveState
- 6.6.7. emIsSlavePresent
- 6.6.8. emGetSlaveProp
- 6.6.9. emSlaveSerializeMbxTfers
- 6.6.10. emSlaveParallelMbxTfers
- 6.6.11. emIoControl - EC_IOCTL_SET_MBX_RETRYACCESS_PERIOD
- 6.6.12. emNotify - EC_NOTIFY_SLAVE_STATECHANGED
- 6.6.13. emNotify - EC_NOTIFY_SLAVES_STATECHANGED
- 6.6.14. emWriteSlaveRegister
- 6.6.15. emWriteSlaveRegisterReq
- 6.6.16. emReadSlaveRegister
- 6.6.17. emReadSlaveRegisterReq
- 6.6.18. emNotify - EC_NOTIFY_SLAVE_REGISTER_TRANSFER
- 6.6.19. emReadSlaveEEPRom
- 6.6.20. emReadSlaveEEPRomReq
- 6.6.21. emWriteSlaveEEPRom
- 6.6.22. emWriteSlaveEEPRomReq
- 6.6.23. emAssignSlaveEEPRom
- 6.6.24. emAssignSlaveEEPRomReq
- 6.6.25. emActiveSlaveEEPRom
- 6.6.26. emActiveSlaveEEPRomReq
- 6.6.27. emReloadSlaveEEPRom
- 6.6.28. emReloadSlaveEEPRomReq
- 6.6.29. emNotify - EC_NOTIFY_EEPROM_OPERATION
- 6.6.30. emResetSlaveController
- 6.6.31. emIoControl - EC_IOCTL_ALL_SLAVES_MUST_REACH_MASTER_STATE
- 6.6.32. emGetCfgSlaveInfo
- 6.6.33. emGetCfgSlaveEoeInfo
- 6.6.34. emGetBusSlaveInfo
- 6.6.35. emReadSlaveIdentification
- 6.6.36. emReadSlaveIdentificationReq
- 6.6.37. emNotify - EC_NOTIFY_SLAVE_IDENTIFICATION
- 6.6.38. emIoControl - EC_IOCTL_SET_AUTO_ACK_AL_STATUS_ERROR_ENABLED
- 6.6.39. emIoControl - EC_IOCTL_SET_AUTO_ADJUST_CYCCMD_WKC_ENABLED
- 6.6.40. emSetSlaveDisabled
- 6.6.41. emSetSlaveDisconnected
- 6.6.42. emSetSlavesDisconnected
- 6.6.43. emGetSlavePortState
- 6.6.44. emSetSlavePortState
- 6.6.45. emSetSlavePortStateReq
- 6.6.46. emNotify - EC_NOTIFY_PORT_OPERATION
- 6.6.47. emIoControl - EC_IOCTL_SET_NEW_BUSSLAVES_TO_INIT
- 6.7. Diagnosis, error detection, error notifications
- 6.7.1. emEthDbgMsg
- 6.7.2. emIoControl - EC_IOCTL_GET_SLVSTATISTICS
- 6.7.3. emGetSlaveStatistics
- 6.7.4. emIoControl - EC_IOCTL_CLR_SLVSTATISTICS
- 6.7.5. emClearSlaveStatistics
- 6.7.6. emIoControl - EC_IOCTL_GET_SLVSTAT_PERIOD
- 6.7.7. emIoControl - EC_IOCTL_SET_SLVSTAT_PERIOD
- 6.7.8. emIoControl - EC_IOCTL_FORCE_SLVSTAT_COLLECTION
- 6.7.9. emIoControl - EC_IOCTL_CLEAR_MASTER_INFO_COUNTERS
- 6.7.10. emIoControl - EC_IOCTL_SET_FRAME_RESPONSE_ERROR_NOTIFY_MASK
- 6.7.11. emIoControl - EC_IOCTL_SET_FRAME_LOSS_SIMULATION
- 6.7.12. emIoControl - EC_IOCTL_SET_RXFRAME_LOSS_SIMULATION
- 6.7.13. emIoControl - EC_IOCTL_SET_TXFRAME_LOSS_SIMULATION
- 6.7.14. Error notifications - general information
- 6.7.15. emNotify - EC_NOTIFY_CYCCMD_WKC_ERROR
- 6.7.16. emNotify - EC_NOTIFY_MASTER_INITCMD_WKC_ERROR
- 6.7.17. emNotify - EC_NOTIFY_SLAVE_INITCMD_WKC_ERROR
- 6.7.18. emNotify - EC_NOTIFY_FOE_MBSLAVE_ERROR
- 6.7.19. emNotify - EC_NOTIFY_EOE_MBXSND_WKC_ERROR
- 6.7.20. emNotify - EC_NOTIFY_COE_MBXSND_WKC_ERROR
- 6.7.21. emNotify - EC_NOTIFY_FOE_MBXSND_WKC_ERROR
- 6.7.22. emNotify - EC_NOTIFY_VOE_MBXSND_WKC_ERROR
- 6.7.23. emNotify - EC_NOTIFY_S2SMBX_ERROR
- 6.7.24. emNotify - EC_NOTIFY_FRAME_RESPONSE_ERROR
- 6.7.25. emNotify - EC_NOTIFY_SLAVE_INITCMD_RESPONSE_ERROR
- 6.7.26. emNotify - EC_NOTIFY_MBSLAVE_INITCMD_TIMEOUT
- 6.7.27. emNotify - EC_NOTIFY_MASTER_INITCMD_RESPONSE_ERROR
- 6.7.28. emNotify - EC_NOTIFY_NOT_ALL_DEVICES_OPERATIONAL
- 6.7.29. emNotify - EC_NOTIFY_ALL_DEVICES_OPERATIONAL
- 6.7.30. emNotify - EC_NOTIFY_STATUS_SLAVE_ERROR
- 6.7.31. emNotify - EC_NOTIFY_SLAVE_ERROR_STATUS_INFO
- 6.7.32. emNotify - EC_NOTIFY_SLAVES_ERROR_STATUS
- 6.7.33. emNotify - EC_NOTIFY_SLAVE_UNEXPECTED_STATE
- 6.7.34. emNotify - EC_NOTIFY_SLAVES_UNEXPECTED_STATE
- 6.7.35. emNotify - EC_NOTIFY_ETH_LINK_NOT_CONNECTED
- 6.7.36. emNotify - EC_NOTIFY_ETH_LINK_CONNECTED
- 6.7.37. emNotify - EC_NOTIFY_CLIENTREGISTRATION_DROPPED
- 6.7.38. emNotify - EC_NOTIFY_EEPROM_CHECKSUM_ERROR
- 6.7.39. emNotify - EC_NOTIFY_MBXRCV_INVALID_DATA
- 6.7.40. emNotify - EC_NOTIFY_PDIWATCHDOG
- 6.7.41. ecatGetText
- 6.7.42. emLogFrameEnable
- 6.7.43. emLogFrameDisable
- 6.7.44. emGetMasterInfo
- 6.7.45. emGetMemoryUsage
- 6.7.46. emGetMasterDump
- 6.7.47. emGetMasterSyncUnitInfoNumOf
- 6.7.48. emGetMasterSyncUnitInfo
- 6.7.49. emBadConnectionsDetect
- 6.7.50. emBadConnectionsReset
- 6.7.51. emNotify - EC_NOTIFY_BAD_CONNECTION
- 6.7.52. emSelfTestScan
- 6.8. Performance Measurement
- 6.9. EtherCAT Mailbox Transfer
- 6.10. Automation Device Specification over EtherCAT (AoE)
- 6.11. CAN application protocol over EtherCAT (CoE)
- 6.11.1. emCoeSdoDownload
- 6.11.2. emCoeSdoDownloadReq
- 6.11.3. emNotify - eMbxTferType_COE_SDO_DOWNLOAD
- 6.11.4. emCoeSdoUpload
- 6.11.5. emCoeSdoUploadReq
- 6.11.6. emNotify - eMbxTferType_COE_SDO_UPLOAD
- 6.11.7. emCoeGetODListReq
- 6.11.8. emNotify - eMbxTferType_COE_GETODLIST
- 6.11.9. emCoeGetObjectDescReq
- 6.11.10. emNotify - eMbxTferType_COE_GETOBDESC
- 6.11.11. emCoeGetEntryDescReq
- 6.11.12. emNotify - eMbxTferType_COE_GETENTRYDESC
- 6.11.13. emCoeProfileGetChannelInfo
- 6.11.14. emNotify - EC_NOTIFY_COE_INIT_CMD
- 6.11.15. CoE Emergency (emNotify - eMbxTferType_COE_EMERGENCY)
- 6.11.16. CoE Abort (emNotify - EC_NOTIFY_MBSLAVE_COE_SDO_ABORT)
- 6.11.17. emConvertEcErrorToCoeError
- 6.12. File access over EtherCAT (FoE)
- 6.12.1. Specification
- 6.12.2. emFoeFileDownload
- 6.12.3. emFoeFileUpload
- 6.12.4. emFoeDownloadReq
- 6.12.5. emFoeSegmentedDownloadReq
- 6.12.6. emFoeUploadReq
- 6.12.7. emFoeSegmentedUploadReq
- 6.12.8. emConvertEcErrorToFoeError
- 6.12.9. emNotify - EC_NOTIFY_FOE_MBXSND_WKC_ERROR
- 6.12.10. emNotify - EC_NOTIFY_FOE_MBSLAVE_ERROR
- 6.12.11. Extending EC_T_MBX_DATA
- 6.13. Servo Drive Profil according to IEC61491 over EtherCAT (SoE)
- 6.14. Vendor specific protocol over EtherCAT (VoE)
- 6.15. Raw command transfer
- 6.16. EtherCAT Bus Scan
- 6.16.1. emIoControl - EC_IOCTL_SB_ENABLE
- 6.16.2. emIoControl - EC_IOCTL_SB_RESTART
- 6.16.3. emIoControl - EC_IOCTL_SB_STATUS_GET
- 6.16.4. emIoControl - EC_IOCTL_SB_SET_TOPOLOGY_CHANGED_DELAY
- 6.16.5. emIoControl - EC_IOCTL_SB_SET_TOPOLOGY_CHANGED_DELAYS
- 6.16.6. emIoControl - EC_IOCTL_SB_SET_ERROR_ON_CROSSED_LINES
- 6.16.7. emIoControl - EC_IOCTL_SB_SET_ERROR_ON_LINEBREAK
- 6.16.8. emIoControl - EC_IOCTL_SB_SET_TOPOLOGY_CHANGE_AUTO_MODE
- 6.16.9. emIoControl - EC_IOCTL_SB_ACCEPT_TOPOLOGY_CHANGE
- 6.16.10. emNotify - EC_NOTIFY_SB_STATUS
- 6.16.11. emNotify - EC_NOTIFY_SB_MISMATCH
- 6.16.12. emNotify - EC_NOTIFY_SB_DUPLICATE_HC_NODE
- 6.16.13. emNotify - EC_NOTIFY_SLAVE_PRESENCE
- 6.16.14. emNotify - EC_NOTIFY_SLAVES_PRESENCE
- 6.16.15. emNotify - EC_NOTIFY_LINE_CROSSED
- 6.16.16. emNotify - EC_NOTIFY_SLAVE_NOTSUPPORTED
- 6.16.17. emNotify - EC_NOTIFY_FRAMELOSS_AFTER_SLAVE
- 6.16.18. emNotify - Bus Scan notifications for Feature Packs
- 6.16.19. emIoControl - EC_IOCTL_SB_NOTIFY_UNEXPECTED_BUS_SLAVES
- 6.16.20. emIsTopologyChangeDetected
- 6.16.21. emNotify - EC_NOTIFY_HC_TOPOCHGDONE
- 6.16.22. emIoControl - EC_IOCTL_SB_SET_NO_DC_SLAVES_AFTER_JUNCTION
- 7. RAS-Server for EC-Lyser and EC-Engineer
- 7.1. Integration Requirements
- 7.2. Application programming interface, reference
- 7.2.1. emRasSrvStart
- 7.2.2. emRasSrvStop
- 7.2.3. emRasNotify - xxx
- 7.2.4. emRasNotify - ECMASTERRAS_NOTIFY_CONNECTION
- 7.2.5. emRasNotify - ECMASTERRAS_NOTIFY_REGISTER
- 7.2.6. emRasNotify - ECMASTERRAS_NOTIFY_UNREGISTER
- 7.2.7. emRasNotify - ECMASTERRAS_NOTIFY_MARSHALERROR
- 7.2.8. emRasNotify - ECMASTERRAS_NOTIFY_ACKERROR
- 7.2.9. emRasNotify - ECMASTERRAS_NOTIFY_NONOTIFYMEMORY
- 7.2.10. emRasNotify - ECMASTERRAS_NOTIFY_STDNOTIFYMEMORYSMALL
- 7.2.11. emRasNotify - ECMASTERRAS_NOTIFY_MBXNOTIFYMEMORYSMALL
- 8. Error Codes