6. Application programming interface, reference
Function prototypes, definitions etc. of the API can be found in the header file AtEthercat.h which is the main header file to include when using EC-Master.
- 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. emConfigureMaster
- 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_IOCTL_SET_CYCFRAME_LAYOUT
- 6.3.34. emIoControl - EC_IOCTL_SET_MASTER_DEFAULT_TIMEOUTS
- 6.3.35. emIoControl - EC_IOCTL_SET_COPYINFO_IN_SENDCYCFRAMES
- 6.3.36. emIoControl - EC_IOCTL_SET_BUS_CYCLE_TIME
- 6.3.37. emIoControl - EC_IOCTL_ADDITIONAL_VARIABLES_FOR_SPECIFIC_DATA_TYPES
- 6.3.38. emIoControl - EC_IOCTL_SLV_ALIAS_ENABLE
- 6.3.39. emIoControl - EC_IOCTL_SET_IGNORE_INPUTS_ON_WKC_ERROR
- 6.3.40. emIoControl - EC_IOCTL_SET_ZERO_INPUTS_ON_WKC_ERROR
- 6.3.41. emIoControl - EC_IOCTL_SET_ZERO_INPUTS_ON_WKC_ZERO
- 6.3.42. emIoControl - EC_IOCTL_SET_GENENI_ASSIGN_EEPROM_BACK_TO_EM
- 6.3.43. emIoControl - EC_IOCTL_SET_EOE_DEFFERED_SWITCHING_ENABLED
- 6.3.44. emIoControl - EC_IOCTL_SET_MAILBOX_POLLING_CYCLES
- 6.3.45. emIoControl - EC_IOCTL_SET_MASTER_MAX_STATE
- 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. emGetSlaveInpVarInfoNumOf
- 6.4.12. emGetSlaveInpVarInfo
- 6.4.13. emGetSlaveInpVarInfoEx
- 6.4.14. emGetSlaveOutpVarInfoNumOf
- 6.4.15. emGetSlaveOutpVarInfo
- 6.4.16. emGetSlaveOutpVarInfoEx
- 6.4.17. emGetSlaveInpVarByObjectEx
- 6.4.18. emGetSlaveOutpVarByObjectEx
- 6.4.19. emFindInpVarByName
- 6.4.20. emFindInpVarByNameEx
- 6.4.21. emFindOutpVarByName
- 6.4.22. emFindOutpVarByNameEx
- 6.4.23. emTraceDataConfig
- 6.4.24. emTraceDataGetInfo
- 6.4.25. EC_COPYBITS
- 6.4.26. EC_GET_FRM_WORD
- 6.4.27. EC_GET_FRM_DWORD
- 6.4.28. EC_GET_FRM_QWORD
- 6.4.29. EC_SET_FRM_WORD
- 6.4.30. EC_SET_FRM_DWORD
- 6.4.31. EC_SET_FRM_QWORD
- 6.4.32. EC_GETBITS
- 6.4.33. 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_T_PORT_OPERATION_NTFY_DESC
- 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_PDIWATCHDOG
- 6.7.40. ecatGetText
- 6.7.41. ecatPerfMeasInit
- 6.7.42. ecatPerfMeasDeinit
- 6.7.43. ecatPerfMeasEnable
- 6.7.44. ecatPerfMeasDisable
- 6.7.45. ecatPerfMeasStart
- 6.7.46. ecatPerfMeasEnd
- 6.7.47. ecatPerfMeasReset
- 6.7.48. ecatPerfMeasShow
- 6.7.49. ecatPerfMeasSetIrqCtlEnabled
- 6.7.50. emLogFrameEnable
- 6.7.51. emLogFrameDisable
- 6.7.52. emGetMasterInfo
- 6.7.53. emGetMemoryUsage
- 6.7.54. emGetMasterDump
- 6.7.55. emGetMasterSyncUnitInfoNumOf
- 6.7.56. emGetMasterSyncUnitInfo
- 6.7.57. emBadConnectionsDetect
- 6.7.58. emBadConnectionsReset
- 6.7.59. emNotify - EC_NOTIFY_BAD_CONNECTION
- 6.7.60. emSelfTestScan
- 6.8. Performance Measurement
- 6.8.1. Enabling performance measurements
- 6.8.2. Retrieving overall performance statistics (min/avg/max)
- 6.8.3. Recording performance histograms
- 6.8.4. Special benchmark types
- 6.8.5. Application benchmarks
- 6.8.6. API
- 6.8.6.1. emPerfMeasAppCreate
- 6.8.6.2. emPerfMeasAppDelete
- 6.8.6.3. emPerfMeasAppStart
- 6.8.6.4. emPerfMeasAppEnd
- 6.8.6.5. emPerfMeasAppReset
- 6.8.6.6. emPerfMeasAppGetNumOf
- 6.8.6.7. emPerfMeasAppGetInfo
- 6.8.6.8. emPerfMeasAppGetRaw
- 6.8.6.9. emPerfMeasInternalResetByTaskId
- 6.8.6.10. emPerfMeasInternalGetNumOfByTaskId
- 6.8.6.11. emPerfMeasInternalGetInfoByTaskId
- 6.8.6.12. emPerfMeasInternalGetRawByTaskId
- 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. emCoeGetODList
- 6.11.8. emNotify - eMbxTferType_COE_GETODLIST
- 6.11.9. emCoeGetObjectDesc
- 6.11.10. emNotify - eMbxTferType_COE_GETOBDESC
- 6.11.11. emCoeGetEntryDesc
- 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