![]() |
ECAT_Slave_in_ПЧ2П_c402
0.8
Реализация EtherCAT Slave для CM TMS320F28388D
|
SDO Service definitions. Подробнее...
#include "ecatcoe.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 |
Функции | |
| 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.
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
| #define ACCESS_READWRITE 0x003F |
| #define ACCESS_WRITE_SAFEOP 0x0010 |
| #define INFO_LIST_TYPE_LENGTH 0 |
| #define INFO_LIST_TYPE_RXPDO 2 |
| #define INFO_LIST_TYPE_TXPDO 3 |
| #define INFOHEADER_INCOMPLETE_MASK 0x0080 |
| #define INFOHEADER_INCOMPLETE_SHIFT 0 |
| #define OBJACCESS_NOPDOMAPPING 0x0000 |
| #define OBJACCESS_RXPDOMAPPING 0x0040 |
| #define OBJACCESS_TXPDOMAPPING 0x0080 |
| #define OBJFLAGS_MAXSUBINDEXMASK 0x00FF |
| #define OBJFLAGS_MAXSUBINDEXSHIFT 0 |
| #define OBJFLAGS_OBJCODEMASK 0x0F00 |
| #define SDOHEADER_COMMANDMASK 0xFF |
| #define SDOHEADER_COMMANDOFFSET 0 |
| #define SDOHEADER_INDEXHIMASK 0xFF |
| #define SDOHEADER_INDEXHIOFFSET 2 |
| #define SDOHEADER_INDEXLOOFFSET 1 |
| #define SDOHEADER_INDEXLOSHIFT 0 |
| #define SDOHEADER_SUBINDEXOFFSET 3 |
| #define SDOHEADER_SUBINDEXSHIFT 0 |
| #define SEGHEADER_COMMAND ((UINT8) 0xE0) |
| #define SEGHEADER_NOMOREFOLLOWS ((UINT8) 0x01) |
| #define SEGHEADER_SEGDATASIZE ((UINT8) 0x0E) |
| #define SEGHEADERSHIFT_COMMAND ((UINT8) 5) |
| #define SEGHEADERSHIFT_SEGDATASIZE ((UINT8) 1) |