ECAT_Slave_in_ПЧ2П_c402  0.8
Реализация EtherCAT Slave для CM TMS320F28388D

SDO Service definitions. Подробнее...

#include "ecatcoe.h"
Граф включаемых заголовочных файлов для sdoserv.h:
Граф файлов, в которые включается этот файл:

См. исходные тексты.

Структуры данных

struct  MBX_STRUCT_PACKED_START
 CoE Mailbox header. Подробнее...
 
union  MBX_STRUCT_PACKED_START::MBX_STRUCT_PACKED_START
 

Макросы

#define ERROR_SDOINVALIDCOMMAND   0x1101
 Invalid SDO command. Подробнее...
 
#define ERROR_SDOINVALIDHEADER   0x1102
 Invalid SDO header. Подробнее...
 
#define ERROR_SDONOTSUPPORTED   0x1103
 SDO service not supported. Подробнее...
 
#define SDOHEADER_SIZEINDICATOR   ((UINT8) 0x01)
 Size Indicator size of data in Data Set Size specified. Подробнее...
 
#define SDOHEADER_TRANSFERTYPE   ((UINT8) 0x02)
 Transfer Type
1: Expedited
0: Normal. Подробнее...
 
#define SDOHEADER_DATASETSIZE   ((UINT8) 0x0C)
 Data Set Size (used for Expedited transfer) Подробнее...
 
#define SDOHEADER_COMPLETEACCESS   ((UINT8) 0x10)
 Complete Access indication
0: Only specified entry will be transferred
1: Whole object (with or without Subindex0) will be transferred) Подробнее...
 
#define SDOHEADER_COMMAND   ((UINT8) 0xE0)
 SDO Command. Подробнее...
 
#define SDOHEADERSHIFT_SIZEINDICATOR   ((UINT8) 0)
 Shift for Size Indicator. Подробнее...
 
#define SDOHEADERSHIFT_TRANSFERTYPE   ((UINT8) 1)
 Shift for Transfer Type. Подробнее...
 
#define SDOHEADERSHIFT_DATASETSIZE   ((UINT8) 2)
 Shift for Data Set Size. Подробнее...
 
#define SDOHEADERSHIFT_INDEXACCESS   ((UINT8) 4)
 Shift for Complete Access. Подробнее...
 
#define SDOHEADERSHIFT_COMMAND   ((UINT8) 5)
 Shift for SDO Command. Подробнее...
 
#define SDOSERVICE_INITIATEDOWNLOADREQ   ((UINT8) (0x01 << (SDOHEADERSHIFT_COMMAND)))
 SDO download request. Подробнее...
 
#define SDOSERVICE_INITIATEDOWNLOADRES   ((UINT8) (0x03 << (SDOHEADERSHIFT_COMMAND)))
 SDO download response. Подробнее...
 
#define SDOSERVICE_DOWNLOADSEGMENTREQ   ((UINT8) (0x00 << (SDOHEADERSHIFT_COMMAND)))
 SDO segmented download request. Подробнее...
 
#define SDOSERVICE_DOWNLOADSEGMENTRES   ((UINT8) (0x01 << (SDOHEADERSHIFT_COMMAND)))
 SDO segmented download response. Подробнее...
 
#define SDOSERVICE_INITIATEUPLOADREQ   ((UINT8) (0x02 << (SDOHEADERSHIFT_COMMAND)))
 SDO upload request. Подробнее...
 
#define SDOSERVICE_INITIATEUPLOADRES   ((UINT8) (0x02 << (SDOHEADERSHIFT_COMMAND)))
 SDO upload response. Подробнее...
 
#define SDOSERVICE_UPLOADSEGMENTREQ   ((UINT8) (0x03 << (SDOHEADERSHIFT_COMMAND)))
 SDO segmented upload request. Подробнее...
 
#define SDOSERVICE_UPLOADSEGMENTRES   ((UINT8) (0x00 << (SDOHEADERSHIFT_COMMAND)))
 SDO segmented upload response. Подробнее...
 
#define SDOSERVICE_ABORTTRANSFER   ((UINT8) (((UINT8) 0x04) << (SDOHEADERSHIFT_COMMAND)))
 SDO abort. Подробнее...
 
#define SDOHEADER_COMMANDOFFSET   0
 Memory offset for the command. Подробнее...
 
#define SDOHEADER_INDEXLOOFFSET   1
 Memory offset for the low Byte of the object index. Подробнее...
 
#define SDOHEADER_INDEXHIOFFSET   2
 Memory offset for the high Byte of the object index. Подробнее...
 
#define SDOHEADER_SUBINDEXOFFSET   3
 Memory offset for subindex. Подробнее...
 
#define SDOHEADER_COMMANDMASK   0xFF
 Mask to get the command Byte. Подробнее...
 
#define SDOHEADER_INDEXLOSHIFT   0
 Shift to get the low Byte of the object index. Подробнее...
 
#define SDOHEADER_INDEXHIMASK   0xFF
 Mask to get the high byte of the object index. Подробнее...
 
#define SDOHEADER_SUBINDEXSHIFT   0
 Shift to get the subindex. Подробнее...
 
#define INITSDO_HEADER_SIZE   4
 Size of the SDO header. Подробнее...
 
#define MAX_EXPEDITED_DATA   4
 Maximum number of Bytes handled via an expedited transfer. Подробнее...
 
#define MIN_SEGMENTED_DATA   ((UINT16) 7)
 Minimum number of Bytes required for a segmented transfer. Подробнее...
 
#define EXPEDITED_FRAME_SIZE   ( COE_HEADER_SIZE + INITSDO_HEADER_SIZE + (MAX_EXPEDITED_DATA) )
 Size of an expedited mailbox datagram. Подробнее...
 
#define DOWNLOAD_NORM_REQ_SIZE   ( COE_HEADER_SIZE + INITSDO_HEADER_SIZE + 4 )
 Size of an normal download request. Подробнее...
 
#define DOWNLOAD_NORM_RES_SIZE   ( COE_HEADER_SIZE + INITSDO_HEADER_SIZE + 4 )
 Frame size of an normal download response. Подробнее...
 
#define UPLOAD_NORM_RES_SIZE   ( COE_HEADER_SIZE + INITSDO_HEADER_SIZE + 4 )
 Frame size of an normal upload response. Подробнее...
 
#define SEGMENT_NORM_HEADER_SIZE   ( COE_HEADER_SIZE + 1 )
 Minimum SDO header size. Подробнее...
 
#define SEGMENT_NORM_RES_SIZE   ( (SEGMENT_NORM_HEADER_SIZE) + (MIN_SEGMENTED_DATA) )
 Minimum SDO size. Подробнее...
 
#define SEGMENT_MBX_SIZE   ( MBX_HEADER_SIZE + (SEGMENT_NORM_HEADER_SIZE) )
 Minimum mailbox datagram. Подробнее...
 
#define SEGHEADER_MASK   ((UINT8) 0xFF)
 SDO header mask. Подробнее...
 
#define SEGHEADER_NOMOREFOLLOWS   ((UINT8) 0x01)
 More segments follow flag. Подробнее...
 
#define SEGHEADER_SEGDATASIZE   ((UINT8) 0x0E)
 Segmented data size. Подробнее...
 
#define SEGHEADER_TOGGLE   ((UINT8) 0x10)
 Toogle flag. Подробнее...
 
#define SEGHEADER_COMMAND   ((UINT8) 0xE0)
 Command identifier. Подробнее...
 
#define SEGHEADERSHIFT_SEGDATASIZE   ((UINT8) 1)
 Shift for Segmented data size. Подробнее...
 
#define SEGHEADERSHIFT_TOGGLE   ((UINT8) 4)
 Shift for toggle flag. Подробнее...
 
#define SEGHEADERSHIFT_COMMAND   ((UINT8) 5)
 Shift for command identifier. Подробнее...
 
#define ABORT_NORM_RES_SIZE   (SIZEOF(TABORTSDOTRANSFERREQMBX) - SIZEOF(TMBXHEADER))
 Size of the SDO Abort datagram (without the mailbox header) Подробнее...
 
#define ABORT_NOERROR   0x00000000
 No SDO error. Подробнее...
 
#define ABORT_TOGGLE_BIT_NOT_CHANGED   0x05030000
 Toggle bit not changed. Подробнее...
 
#define ABORT_SDO_PROTOCOL_TIMEOUT   0x05040000
 SDO timeout. Подробнее...
 
#define ABORT_COMMAND_SPECIFIER_UNKNOWN   0x05040001
 Command specifier unknown. Подробнее...
 
#define ABORT_OUT_OF_MEMORY   0x05040005
 Out of memory. Подробнее...
 
#define ABORT_UNSUPPORTED_ACCESS   0x06010000
 Unsupported Access. Подробнее...
 
#define ABORT_WRITE_ONLY_ENTRY   0x06010001
 Write only entry. Подробнее...
 
#define ABORT_READ_ONLY_ENTRY   0x06010002
 Read only entry. Подробнее...
 
#define ABORT_ENTRY_CANT_BE_WRITTEN_SI0_NOT_0   0x06010003
 Entry can not be written because Subindex0 is not 0. Подробнее...
 
#define ABORT_COMPLETE_ACCESS_NOT_SUPPORTED   0x06010004
 The object can not be accessed via complete access. Подробнее...
 
#define ABORT_OBJECT_NOT_EXISTING   0x06020000
 Object not existing. Подробнее...
 
#define ABORT_OBJECT_CANT_BE_PDOMAPPED   0x06040041
 Object can not be mapped to PDO. Подробнее...
 
#define ABORT_MAPPED_OBJECTS_EXCEED_PDO   0x06040042
 Mapped Object exceeds PDO. Подробнее...
 
#define ABORT_PARAM_IS_INCOMPATIBLE   0x06040043
 Parameter is incompatible. Подробнее...
 
#define ABORT_INTERNAL_DEVICE_INCOMPATIBILITY   0x06040047
 Device incompatibility. Подробнее...
 
#define ABORT_HARDWARE_ERROR   0x06060000
 Hardware error. Подробнее...
 
#define ABORT_PARAM_LENGTH_ERROR   0x06070010
 Parameter length error. Подробнее...
 
#define ABORT_PARAM_LENGTH_TOO_LONG   0x06070012
 Parameter is too long. Подробнее...
 
#define ABORT_PARAM_LENGTH_TOO_SHORT   0x06070013
 Parameter is too short. Подробнее...
 
#define ABORT_SUBINDEX_NOT_EXISTING   0x06090011
 Subindex (Entry) not exists. Подробнее...
 
#define ABORT_VALUE_EXCEEDED   0x06090030
 Value exceeds. Подробнее...
 
#define ABORT_VALUE_TOO_GREAT   0x06090031
 Value is too great. Подробнее...
 
#define ABORT_VALUE_TOO_SMALL   0x06090032
 Value is too small. Подробнее...
 
#define ABORT_MODULE_ID_LIST_NOT_MATCH   0x06090033
 Detected Module Ident List (0xF030) and Configured Module Ident list (0xF050) does not match. Подробнее...
 
#define ABORT_MAX_VALUE_IS_LESS_THAN_MIN_VALUE   0x06090036
 Value is less than minimum value. Подробнее...
 
#define ABORT_GENERAL_ERROR   0x08000000
 General error. Подробнее...
 
#define ABORT_DATA_CANNOT_BE_READ_OR_STORED   0x08000020
 Data can not be read or written. Подробнее...
 
#define ABORT_DATA_CANNOT_BE_READ_OR_STORED_BECAUSE_OF_LOCAL_CONTROL   0x08000021
 Data can not be accessed because of local control. Подробнее...
 
#define ABORT_DATA_CANNOT_BE_READ_OR_STORED_IN_THIS_STATE   0x08000022
 Data can not be read or written in the current state. Подробнее...
 
#define ABORT_NO_OBJECT_DICTIONARY_IS_PRESENT   0x08000023
 Object is not in the object dictionary. Подробнее...
 
#define ABORTIDX_TOGGLE_BIT_NOT_CHANGED   0x01
 Index of "Toggle bit not changed". Подробнее...
 
#define ABORTIDX_SDO_PROTOCOL_TIMEOUT   0x02
 Index of "SDO timeout". Подробнее...
 
#define ABORTIDX_COMMAND_SPECIFIER_UNKNOWN   0x03
 Index of "Command specifier unknown". Подробнее...
 
#define ABORTIDX_OUT_OF_MEMORY   0x04
 Index of "Out of memory". Подробнее...
 
#define ABORTIDX_UNSUPPORTED_ACCESS   0x05
 Index of "Unsupported Access". Подробнее...
 
#define ABORTIDX_WRITE_ONLY_ENTRY   0x06
 Index of "Write only entry". Подробнее...
 
#define ABORTIDX_READ_ONLY_ENTRY   0x07
 Index of "Read only entry". Подробнее...
 
#define ABORTIDX_OBJECT_NOT_EXISTING   0x08
 Index of "Object not existing". Подробнее...
 
#define ABORTIDX_OBJECT_CANT_BE_PDOMAPPED   0x09
 Index of "Object can not be mapped to PDO". Подробнее...
 
#define ABORTIDX_MAPPED_OBJECTS_EXCEED_PDO   0x0A
 Index of "Mapped Object exceeds PDO". Подробнее...
 
#define ABORTIDX_PARAM_IS_INCOMPATIBLE   0x0B
 Index of "Parameter is incompatible". Подробнее...
 
#define ABORTIDX_INTERNAL_DEVICE_INCOMPATIBILITY   0x0C
 Index of "Device incompatibility". Подробнее...
 
#define ABORTIDX_HARDWARE_ERROR   0x0D
 Index of "Hardware error". Подробнее...
 
#define ABORTIDX_PARAM_LENGTH_ERROR   0x0E
 Index of "Parameter length error". Подробнее...
 
#define ABORTIDX_PARAM_LENGTH_TOO_LONG   0x0F
 Index of "Parameter is too long". Подробнее...
 
#define ABORTIDX_PARAM_LENGTH_TOO_SHORT   0x10
 Index of "Parameter is too short". Подробнее...
 
#define ABORTIDX_SUBINDEX_NOT_EXISTING   0x11
 Index of "Subindex (Entry) not exists". Подробнее...
 
#define ABORTIDX_VALUE_EXCEEDED   0x12
 Index of "Value exceeds". Подробнее...
 
#define ABORTIDX_VALUE_TOO_GREAT   0x13
 Index of "Value is too great". Подробнее...
 
#define ABORTIDX_VALUE_TOO_SMALL   0x14
 Index of "Value is too small". Подробнее...
 
#define ABORTIDX_MODULE_ID_LIST_NOT_MATCH   0x15
 Index of "Unequal Module Id list". Подробнее...
 
#define ABORTIDX_MAX_VALUE_IS_LESS_THAN_MIN_VALUE   0x16
 Index of "Value is less than minimum value". Подробнее...
 
#define ABORTIDX_GENERAL_ERROR   0x17
 Index of "General error". Подробнее...
 
#define ABORTIDX_DATA_CANNOT_BE_READ_OR_STORED   0x18
 Index of "Data can not be read or written". Подробнее...
 
#define ABORTIDX_DATA_CANNOT_BE_ACCESSED_BECAUSE_OF_LOCAL_CONTROL   0x19
 Index of "Data can not be accessed because of local control". Подробнее...
 
#define ABORTIDX_IN_THIS_STATE_DATA_CANNOT_BE_READ_OR_STORED   0x1A
 Index of "Data can not be read or written in the current state". Подробнее...
 
#define ABORTIDX_NO_OBJECT_DICTIONARY_IS_PRESENT   0x1B
 Index of "Object is not in the object dictionary". Подробнее...
 
#define ABORTIDX_ENTRY_CANT_BE_WRITTEN_SI0_NOT_0   0x1C
 Index of "Entry can not be written because Subindex0 is not 0". Подробнее...
 
#define ABORTIDX_COMPLETE_ACCESS_NOT_SUPPORTED   0x1D
 The object can not be accessed via complete access. Подробнее...
 
#define ABORTIDX_WORKING   0xFF
 Index of application is handling the SDO request. Подробнее...
 
#define SDOINFOSERVICE_OBJDICTIONARYLIST_Q   0x01
 SDO Info Get object list request. Подробнее...
 
#define SDOINFOSERVICE_OBJDICTIONARYLIST_S   0x02
 SDO Info Get object list response. Подробнее...
 
#define SDOINFOSERVICE_OBJDESCRIPTION_Q   0x03
 SDO Info Get object description request. Подробнее...
 
#define SDOINFOSERVICE_OBJDESCRIPTION_S   0x04
 SDO Info Get object description response. Подробнее...
 
#define SDOINFOSERVICE_ENTRYDESCRIPTION_Q   0x05
 SDO Info Get entry description request. Подробнее...
 
#define SDOINFOSERVICE_ENTRYDESCRIPTION_S   0x06
 SDO Info Get entry description request. Подробнее...
 
#define SDOINFOSERVICE_ERROR_Q   0x07
 SDO Info Error. Подробнее...
 
#define SDOINFOSERVICE_INCOMPLETE   0x80
 SDO Info Incomplete flag. Подробнее...
 
#define INFO_LIST_TYPE_LENGTH   0
 Length of all list types. Подробнее...
 
#define INFO_LIST_TYPE_ALL   1
 All objects. Подробнее...
 
#define INFO_LIST_TYPE_RXPDO   2
 Only RxPDO mappable objects. Подробнее...
 
#define INFO_LIST_TYPE_TXPDO   3
 Only TxPDO mappable objects. Подробнее...
 
#define INFO_LIST_TYPE_BACKUP   4
 Only backup objects. Подробнее...
 
#define INFO_LIST_TYPE_SET   5
 Only setting objects. Подробнее...
 
#define INFO_LIST_TYPE_MAX   5
 Max list identifier. Подробнее...
 
#define OBJFLAGS_MAXSUBINDEXMASK   0x00FF
 Max subindex mask. Подробнее...
 
#define OBJFLAGS_MAXSUBINDEXSHIFT   0
 Max subindex shift. Подробнее...
 
#define OBJFLAGS_OBJCODEMASK   0x0F00
 Mask Object code mask. Подробнее...
 
#define OBJFLAGS_OBJCODESHIFT   8
 Object code shift. Подробнее...
 
#define OBJCODE_VAR   0x07
 Object code VARIABLE. Подробнее...
 
#define OBJCODE_ARR   0x08
 Object code ARRAY. Подробнее...
 
#define OBJCODE_REC   0x09
 Object code RECORD. Подробнее...
 
#define SDO_INFO_OBJ_DESC_SIZE   SIZEOF(TSDOINFOOBJDESC)
 Object description size. Подробнее...
 
#define SDO_INFO_OBJ_DESC_RES_SIZE   SIZEOF(TSDOINFOOBJ)
 Size of the object description service data. Подробнее...
 
#define ACCESS_READWRITE   0x003F
 Read/write in all states. Подробнее...
 
#define ACCESS_READ   0x0007
 Read only in all states. Подробнее...
 
#define ACCESS_READ_PREOP   0x0001
 Read only in PreOP. Подробнее...
 
#define ACCESS_READ_SAFEOP   0x0002
 Read only in SafeOP. Подробнее...
 
#define ACCESS_READ_OP   0x0004
 Read only in OP. Подробнее...
 
#define ACCESS_WRITE   0x0038
 Write only in all states. Подробнее...
 
#define ACCESS_WRITE_PREOP   0x0008
 Write only in PreOP. Подробнее...
 
#define ACCESS_WRITE_SAFEOP   0x0010
 Write only in SafeOP. Подробнее...
 
#define ACCESS_WRITE_OP   0x0020
 Write only in OP. Подробнее...
 
#define OBJACCESS_NOPDOMAPPING   0x0000
 Not PDO mappable. Подробнее...
 
#define OBJACCESS_RXPDOMAPPING   0x0040
 Mappable in RxPDOs. Подробнее...
 
#define OBJACCESS_TXPDOMAPPING   0x0080
 Mappable in TxPDOs. Подробнее...
 
#define OBJACCESS_BACKUP   0x0100
 Backup entry. Подробнее...
 
#define OBJACCESS_SETTINGS   0x0200
 Setting Entry. Подробнее...
 
#define OBJACCESS_SAFEINPUTS   0x0400
 Safe input. Подробнее...
 
#define OBJACCESS_SAFEOUTPUTS   0x0800
 Safe output. Подробнее...
 
#define OBJACCESS_SAFEPARAMETER   0x1000
 Safe parameter. Подробнее...
 
#define ENTRY_MASK_SUBINDEX   0x00FF
 Subindex mask. Подробнее...
 
#define ENTRY_SUBINDEX_SHIFT   0
 Subindex shift. Подробнее...
 
#define ENTRY_MASK_VALUEINFO   0xFF00
 Value info mask. Подробнее...
 
#define ENTRY_VALUEINFO_SHIFT   8
 Value info shift. Подробнее...
 
#define SDO_INFO_ERROR_SIZE   SIZEOF(TSDOINFOERROR)
 SDO Info error size. Подробнее...
 
#define INFOHEAD_OPCODE_MASK   0x007F
 Opcode mask. Подробнее...
 
#define INFOHEAD_OPCODE_SHIFT   0
 Opcode shift. Подробнее...
 
#define INFOHEADER_INCOMPLETE_MASK   0x0080
 Incomplete mask. Подробнее...
 
#define INFOHEADER_INCOMPLETE_SHIFT   0
 Incomplete shift, the incomplete value "SDOINFOSERVICE_INCOMPLETE" is defined as a UINT8 => no shift required. Подробнее...
 
#define SIZEOF_SDOINFOHEAD   4
 SDO Info header size. Подробнее...
 
#define SIZEOF_SDOINFO   ( (COE_HEADER_SIZE) + (SIZEOF_SDOINFOHEAD ))
 SDO Info and CoE Size. Подробнее...
 
#define SIZEOF_SDOINFOSTRUCT   ( (MBX_HEADER_SIZE) + (COE_HEADER_SIZE) + (SIZEOF_SDOINFOHEAD) )
 Complete SDO Info datagram size. Подробнее...
 
#define SIZEOF_SDOINFOLISTHEAD   2
 SDO Info list header size. Подробнее...
 
#define SIZEOF_SDOINFOLISTSTRUCT   (( COE_HEADER_SIZE) + (SIZEOF_SDOINFOHEAD) + (SIZEOF_SDOINFOLISTHEAD) )
 Complete SDO Info list size. Подробнее...
 
#define SIZEOF_SDOINFOOBJSTRUCT   ( (COE_HEADER_SIZE) + (SIZEOF_SDOINFOHEAD) + (SDO_INFO_OBJ_DESC_RES_SIZE) )
 Complete SDO Info object description response size. Подробнее...
 
#define SIZEOF_SDOINFOENTRYREQHEAD   4
 SDO Info entry description request size. Подробнее...
 
#define SIZEOF_SDOINFOENTRYREQSTRUCT   ( (COE_HEADER_SIZE) + (SIZEOF_SDOINFOHEAD) + (SIZEOF_SDOINFOENTRYREQHEAD) )
 SDO Info entry description request size. Подробнее...
 
#define SIZEOF_SDOINFOERRORSTRUCT   ( (COE_HEADER_SIZE) + (SIZEOF_SDOINFOHEAD) + (SDO_INFO_ERROR_SIZE) )
 SDO Info error size. Подробнее...
 
#define SDO_INFO_HEADER_BYTE_SIZE   ((SIZEOF_SDOINFOSTRUCT)+(SIZEOF_SDOINFOLISTHEAD))
 SDO Info size. Подробнее...
 
#define PROTO   extern
 

Определения типов

typedef struct MBX_STRUCT_PACKED_START TINITSDOHEADER
 
typedef struct MBX_STRUCT_PACKED_START TINITSDOMBX
 
typedef struct MBX_STRUCT_PACKED_START TSDOSEGHEADERDATA
 
typedef struct MBX_STRUCT_PACKED_START TINITSDODOWNLOADEXPREQMBX
 
typedef struct MBX_STRUCT_PACKED_START TINITSDODOWNLOADNORMREQMBX
 
typedef struct MBX_STRUCT_PACKED_START TINITSDODOWNLOADRESMBX
 
typedef struct MBX_STRUCT_PACKED_START TDOWNLOADSDOSEGREQMBX
 
typedef struct MBX_STRUCT_PACKED_START TDOWNLOADSDOSEGRESMBX
 
typedef struct MBX_STRUCT_PACKED_START TINITSDOUPLOADREQMBX
 
typedef struct MBX_STRUCT_PACKED_START TINITSDOUPLOADEXPRESMBX
 
typedef struct MBX_STRUCT_PACKED_START TINITSDOUPLOADNORMRESMBX
 
typedef struct MBX_STRUCT_PACKED_START TUPLOADSDOSEGREQMBX
 
typedef struct MBX_STRUCT_PACKED_START TUPLOADSDOSEGRESMBX
 
typedef struct MBX_STRUCT_PACKED_START TABORTSDOTRANSFERREQMBX
 
typedef struct MBX_STRUCT_PACKED_START TSDOINFOLIST
 
typedef struct MBX_STRUCT_PACKED_START TSDOINFOOBJDESC
 
typedef struct MBX_STRUCT_PACKED_START TSDOINFOOBJ
 
typedef struct MBX_STRUCT_PACKED_START TSDOINFOENTRYDESC
 
typedef struct MBX_STRUCT_PACKED_START TSDOINFOENTRY
 
typedef struct MBX_STRUCT_PACKED_START TSDOINFOERROR
 
typedef struct MBX_STRUCT_PACKED_START TSDOINFOHEADER
 
typedef struct MBX_STRUCT_PACKED_START TSDOINFORMATION
 

Функции

UINT8 SDOS_SdoInfoInd (TSDOINFORMATION MBXMEM *pSdoInfoInd)
 This function is called when a SDO-Info request service is received from the master and calls depending from the opcode the concerning function. Подробнее...
 
UINT8 SDOS_SdoInd (TINITSDOMBX MBXMEM *pSdoInd)
 This function is called when a SDO request service is received from the master and calls depending from the command the concerning function. Подробнее...
 

Переменные

PROTO MEM_ADDR VARMEM aSdoInfoHeader [GET_MEM_SIZE(SDO_INFO_HEADER_BYTE_SIZE)]
 SDO Info buffer. Подробнее...
 

Подробное описание

SDO Service definitions.

Автор
Ether.nosp@m.catS.nosp@m.SC@be.nosp@m.ckho.nosp@m.ff.co.nosp@m.m
Версия
5.12


Changes to version V5.11:
V5.12 ECAT2: big endian changes
V5.12 MBX3: handle incomplete mailbox communication

Changes to version V5.10:
V5.11 ECAT10: change PROTO handling to prevent compiler errors
V5.11 SDO10: add new SDO abort code 0x6010004 (complete access not supported)

Changes to version V5.01:
V5.10 SDO3: Add new SDO Abort Code (0x06090033)

Changes to version - :
V5.01 : Start file change log

См. определение в файле sdoserv.h

Макросы

◆ ACCESS_READ

#define ACCESS_READ   0x0007

Read only in all states.

См. определение в файле sdoserv.h строка 478

◆ ACCESS_READ_OP

#define ACCESS_READ_OP   0x0004

Read only in OP.

См. определение в файле sdoserv.h строка 481

◆ ACCESS_READ_PREOP

#define ACCESS_READ_PREOP   0x0001

Read only in PreOP.

См. определение в файле sdoserv.h строка 479

◆ ACCESS_READ_SAFEOP

#define ACCESS_READ_SAFEOP   0x0002

Read only in SafeOP.

См. определение в файле sdoserv.h строка 480

◆ ACCESS_READWRITE

#define ACCESS_READWRITE   0x003F

Read/write in all states.

См. определение в файле sdoserv.h строка 477

◆ ACCESS_WRITE

#define ACCESS_WRITE   0x0038

Write only in all states.

См. определение в файле sdoserv.h строка 482

◆ ACCESS_WRITE_OP

#define ACCESS_WRITE_OP   0x0020

Write only in OP.

См. определение в файле sdoserv.h строка 485

◆ ACCESS_WRITE_PREOP

#define ACCESS_WRITE_PREOP   0x0008

Write only in PreOP.

См. определение в файле sdoserv.h строка 483

◆ ACCESS_WRITE_SAFEOP

#define ACCESS_WRITE_SAFEOP   0x0010

Write only in SafeOP.

См. определение в файле sdoserv.h строка 484

◆ ENTRY_MASK_SUBINDEX

#define ENTRY_MASK_SUBINDEX   0x00FF

Subindex mask.

См. определение в файле sdoserv.h строка 506

◆ ENTRY_MASK_VALUEINFO

#define ENTRY_MASK_VALUEINFO   0xFF00

Value info mask.

См. определение в файле sdoserv.h строка 508

◆ ENTRY_SUBINDEX_SHIFT

#define ENTRY_SUBINDEX_SHIFT   0

Subindex shift.

См. определение в файле sdoserv.h строка 507

◆ ENTRY_VALUEINFO_SHIFT

#define ENTRY_VALUEINFO_SHIFT   8

Value info shift.

См. определение в файле sdoserv.h строка 509

◆ INFO_LIST_TYPE_ALL

#define INFO_LIST_TYPE_ALL   1

All objects.

См. определение в файле sdoserv.h строка 407

◆ INFO_LIST_TYPE_BACKUP

#define INFO_LIST_TYPE_BACKUP   4

Only backup objects.

См. определение в файле sdoserv.h строка 410

◆ INFO_LIST_TYPE_LENGTH

#define INFO_LIST_TYPE_LENGTH   0

Length of all list types.

См. определение в файле sdoserv.h строка 406

◆ INFO_LIST_TYPE_MAX

#define INFO_LIST_TYPE_MAX   5

Max list identifier.

См. определение в файле sdoserv.h строка 412

◆ INFO_LIST_TYPE_RXPDO

#define INFO_LIST_TYPE_RXPDO   2

Only RxPDO mappable objects.

См. определение в файле sdoserv.h строка 408

◆ INFO_LIST_TYPE_SET

#define INFO_LIST_TYPE_SET   5

Only setting objects.

См. определение в файле sdoserv.h строка 411

◆ INFO_LIST_TYPE_TXPDO

#define INFO_LIST_TYPE_TXPDO   3

Only TxPDO mappable objects.

См. определение в файле sdoserv.h строка 409

◆ INFOHEAD_OPCODE_MASK

#define INFOHEAD_OPCODE_MASK   0x007F

Opcode mask.

См. определение в файле sdoserv.h строка 536

◆ INFOHEAD_OPCODE_SHIFT

#define INFOHEAD_OPCODE_SHIFT   0

Opcode shift.

См. определение в файле sdoserv.h строка 537

◆ INFOHEADER_INCOMPLETE_MASK

#define INFOHEADER_INCOMPLETE_MASK   0x0080

Incomplete mask.

См. определение в файле sdoserv.h строка 538

◆ INFOHEADER_INCOMPLETE_SHIFT

#define INFOHEADER_INCOMPLETE_SHIFT   0

Incomplete shift, the incomplete value "SDOINFOSERVICE_INCOMPLETE" is defined as a UINT8 => no shift required.

См. определение в файле sdoserv.h строка 539

◆ OBJACCESS_BACKUP

#define OBJACCESS_BACKUP   0x0100

Backup entry.

См. определение в файле sdoserv.h строка 489

◆ OBJACCESS_NOPDOMAPPING

#define OBJACCESS_NOPDOMAPPING   0x0000

Not PDO mappable.

См. определение в файле sdoserv.h строка 486

◆ OBJACCESS_RXPDOMAPPING

#define OBJACCESS_RXPDOMAPPING   0x0040

Mappable in RxPDOs.

См. определение в файле sdoserv.h строка 487

◆ OBJACCESS_SAFEINPUTS

#define OBJACCESS_SAFEINPUTS   0x0400

Safe input.

См. определение в файле sdoserv.h строка 491

◆ OBJACCESS_SAFEOUTPUTS

#define OBJACCESS_SAFEOUTPUTS   0x0800

Safe output.

См. определение в файле sdoserv.h строка 492

◆ OBJACCESS_SAFEPARAMETER

#define OBJACCESS_SAFEPARAMETER   0x1000

Safe parameter.

См. определение в файле sdoserv.h строка 493

◆ OBJACCESS_SETTINGS

#define OBJACCESS_SETTINGS   0x0200

Setting Entry.

См. определение в файле sdoserv.h строка 490

◆ OBJACCESS_TXPDOMAPPING

#define OBJACCESS_TXPDOMAPPING   0x0080

Mappable in TxPDOs.

См. определение в файле sdoserv.h строка 488

◆ OBJCODE_ARR

#define OBJCODE_ARR   0x08

Object code ARRAY.

См. определение в файле sdoserv.h строка 432

◆ OBJCODE_REC

#define OBJCODE_REC   0x09

Object code RECORD.

См. определение в файле sdoserv.h строка 433

◆ OBJCODE_VAR

#define OBJCODE_VAR   0x07

Object code VARIABLE.

См. определение в файле sdoserv.h строка 431

◆ OBJFLAGS_MAXSUBINDEXMASK

#define OBJFLAGS_MAXSUBINDEXMASK   0x00FF

Max subindex mask.

См. определение в файле sdoserv.h строка 426

◆ OBJFLAGS_MAXSUBINDEXSHIFT

#define OBJFLAGS_MAXSUBINDEXSHIFT   0

Max subindex shift.

См. определение в файле sdoserv.h строка 427

◆ OBJFLAGS_OBJCODEMASK

#define OBJFLAGS_OBJCODEMASK   0x0F00

Mask Object code mask.

См. определение в файле sdoserv.h строка 428

◆ OBJFLAGS_OBJCODESHIFT

#define OBJFLAGS_OBJCODESHIFT   8

Object code shift.

См. определение в файле sdoserv.h строка 429

◆ SDOHEADER_COMMANDMASK

#define SDOHEADER_COMMANDMASK   0xFF

Mask to get the command Byte.

См. определение в файле sdoserv.h строка 109

◆ SDOHEADER_COMMANDOFFSET

#define SDOHEADER_COMMANDOFFSET   0

Memory offset for the command.

См. определение в файле sdoserv.h строка 105

◆ SDOHEADER_INDEXHIMASK

#define SDOHEADER_INDEXHIMASK   0xFF

Mask to get the high byte of the object index.

См. определение в файле sdoserv.h строка 111

◆ SDOHEADER_INDEXHIOFFSET

#define SDOHEADER_INDEXHIOFFSET   2

Memory offset for the high Byte of the object index.

См. определение в файле sdoserv.h строка 107

◆ SDOHEADER_INDEXLOOFFSET

#define SDOHEADER_INDEXLOOFFSET   1

Memory offset for the low Byte of the object index.

См. определение в файле sdoserv.h строка 106

◆ SDOHEADER_INDEXLOSHIFT

#define SDOHEADER_INDEXLOSHIFT   0

Shift to get the low Byte of the object index.

См. определение в файле sdoserv.h строка 110

◆ SDOHEADER_SUBINDEXOFFSET

#define SDOHEADER_SUBINDEXOFFSET   3

Memory offset for subindex.

См. определение в файле sdoserv.h строка 108

◆ SDOHEADER_SUBINDEXSHIFT

#define SDOHEADER_SUBINDEXSHIFT   0

Shift to get the subindex.

См. определение в файле sdoserv.h строка 112

◆ SEGHEADER_COMMAND

#define SEGHEADER_COMMAND   ((UINT8) 0xE0)

Command identifier.

См. определение в файле sdoserv.h строка 156

◆ SEGHEADER_MASK

#define SEGHEADER_MASK   ((UINT8) 0xFF)

SDO header mask.

См. определение в файле sdoserv.h строка 152

◆ SEGHEADER_NOMOREFOLLOWS

#define SEGHEADER_NOMOREFOLLOWS   ((UINT8) 0x01)

More segments follow flag.

См. определение в файле sdoserv.h строка 153

◆ SEGHEADER_SEGDATASIZE

#define SEGHEADER_SEGDATASIZE   ((UINT8) 0x0E)

Segmented data size.

См. определение в файле sdoserv.h строка 154

◆ SEGHEADER_TOGGLE

#define SEGHEADER_TOGGLE   ((UINT8) 0x10)

Toogle flag.

См. определение в файле sdoserv.h строка 155

◆ SEGHEADERSHIFT_COMMAND

#define SEGHEADERSHIFT_COMMAND   ((UINT8) 5)

Shift for command identifier.

См. определение в файле sdoserv.h строка 159

◆ SEGHEADERSHIFT_SEGDATASIZE

#define SEGHEADERSHIFT_SEGDATASIZE   ((UINT8) 1)

Shift for Segmented data size.

См. определение в файле sdoserv.h строка 157

◆ SEGHEADERSHIFT_TOGGLE

#define SEGHEADERSHIFT_TOGGLE   ((UINT8) 4)

Shift for toggle flag.

См. определение в файле sdoserv.h строка 158