CANopen Slave Documentation
Version 7.00.00
|
This module holds the complete object dictionary of the CANopen slave. The implementation file cos_dict.c
has a static table (aDicTableS
[]) with all necessary entries of the communication profile CiA 301. Other dictionary entries (device profile, manufacturer specific) are included in this table with external files.
The following table shows all objects available by the CANopen FD Slave protocol stack.
Index | Description | Function / Variable | Configuration Symbol |
---|---|---|---|
1000h | Device type | Cos301_Idx1000() | - |
1001h | Error register | ubIdx1001_ErrorRegisterG | - |
1002h | Manufacturer status register | ulIdx1002_StatusRegisterG | - |
1003h | Pre-defined error field | CosEmcyErrorField() | COS_DICT_OBJ_1003 |
1005h | COB-ID SYNC message | CosSync_Idx1005() | COS_DICT_OBJ_1005 |
1006h | Communication cycle period | CosSync_Idx1006() | COS_DICT_OBJ_1006 |
1008h | Manufacturer device name | aubIdx1008_DeviceNameC | COS_DICT_OBJ_1008 |
1009h | Manufacturer hardware version | aubIdx1009_HwVersionC | COS_DICT_OBJ_1009 |
100Ah | Manufacturer software version | aubIdx100A_SwVersionC | COS_DICT_OBJ_100A |
100Ch | Guard time | CosNmt_Idx100C() | COS_DICT_OBJ_100C |
100Dh | Life time factor | CosNmt_Idx100D() | COS_DICT_OBJ_100C |
1010h | Store parameters | Cos301_Idx1010() | COS_DICT_OBJ_1010 |
1011h | Restore default parameters | Cos301_Idx1011() | COS_DICT_OBJ_1011 |
1012h | COB-ID time stamp object | CosTmr_Idx1012() | COS_DICT_OBJ_1012 |
1013h | High-resolution time stamp | CosTmr_Idx1013() | COS_DICT_OBJ_1013 |
1014h | COB-ID EMCY | CosEmcyIdentifier() | COS_DICT_OBJ_1014 |
1015h | Inhibit time EMCY | CosEmcyInhibit() | COS_DICT_OBJ_1015 |
1016h | Consumer heartbeat time | CosNmt_Idx1016() | COS_DICT_OBJ_1016 |
1017h | Producer heartbeat time | CosNmt_Idx1017() | - |
1018h | Identity object | Cos301_Idx1018() | - |
1019h | Synchronous counter overflow | CosSync_Idx1019() | COS_DICT_OBJ_1019 |
1020h | Verify configuration | Cos301_Idx1020() | COS_DICT_OBJ_1020 |
1021h | Store EDS | Cos301_Idx1021() | COS_DICT_OBJ_1021 |
1022h | Store format | ubIdx1022_EdsTypeC | COS_DICT_OBJ_1021 |
1029h | Error behavior object | CosNmt_Idx1029() | COS_DICT_OBJ_1029 |
140xh | RPDO communication parameter | CosPdoRcvComParam() | COS_PDO_RCV_NUMBER |
160xh | RPDO mapping parameter | CosPdoMapParameter() | COS_PDO_RCV_NUMBER |
180xh | RPDO communication parameter | CosPdoTrmComParam() | COS_PDO_TRM_NUMBER |
1A0xh | RPDO mapping parameter | CosPdoMapParameter() | COS_PDO_TRM_NUMBER |
1F80h | NMT Startup behavior | CosNmt_Idx1F80() | COS_DICT_OBJ_1F80 |
A040h | Network input Unsigned8 | Cos302_NetworkVariable() | COS_DS302_NV |
A100h | Network input Unsigned16 | Cos302_NetworkVariable() | COS_DS302_NV |
A200h | Network input Unsigned32 | Cos302_NetworkVariable() | COS_DS302_NV |
A4C0h | Network output Unsigned8 | Cos302_NetworkVariable() | COS_DS302_NV |
A580h | Network output Unsigned16 | Cos302_NetworkVariable() | COS_DS302_NV |
A680h | Network output Unsigned32 | Cos302_NetworkVariable() | COS_DS302_NV |
Data Structures | |
struct | CosDicEntry_s |
struct | CosDicAccessModification_s |
Enumerations | |
enum | CosDict_e { eCosDict_FAIL_INDEX = 0 , eCosDict_FAIL_SUBINDEX , eCosDict_FOUND_OBJECT } |
Functions | |
CPP_CONST CosDicEntry_ts * | CosDictFindEntry (uint16_t uwIndexV, uint8_t ubSubIndexV, uint8_t *pubStatusV) |
bool_t | CosDictSetAccessModification (CosDicAccessModification_ts *ptsAccessModificationV, uint16_t uwSizeV) |
enum CosDict_e |
The return values for the function CosDictFindEntry() are defined in this enumeration.
CPP_CONST CosDicEntry_ts * CosDictFindEntry | ( | uint16_t | uwIndexV, |
uint8_t | ubSubIndexV, | ||
uint8_t * | pubStatusV ) |
[in] | uwIndexV | index of entry |
[in] | ubSubIndexV | sub-index of entry |
[in,out] | pubStatusV | pointer to status |
This routine searches the dictionary for an entry defined by the parameters index and sub-index. On success, the pointer to the dictionary entry is returned. On failure a nullptr
is returned. The status of the search routine is copied to the location pubStatusV
. Possible values are defined by the enumeration CosDict_e.
bool_t CosDictSetAccessModification | ( | CosDicAccessModification_ts * | ptsAccessModificationV, |
uint16_t | uwSizeV ) |
[in] | ptsAccessModificationV | pointer to access modification table |
[in] | uwSizeV | number of entries in table |
true
if the table has been registered, otherwise false
This function allows to register a table which modifies the default attributes of each data element defined by the CosDicEntry_ts::ubAttribute member in the object dictionary. This function is only supported if the symbol COS_DICT_ACCESS_MODIFICATION is set to 1.
The parameter ptsAccessModificationV
is a pointer to an array of structure CosDicAccessModification_s. The last entry inside the array must have a value of DICT_LAST_ENTRY
. The following code snippet shows how the access attributes of object 1017h are limited to read-only.