![]() |
CANopen Slave Protocol Stack
Version 7.08.00
|
Object Dictionary for CiA 402 (Drives and Motion Control) The CiA 402 device profile specifies the interface between controllable drive devices and motion controllers. It defines a finite state automaton (FSA) for the power drive system (PDS), a set of operating modes including velocity mode (vl), and a standardised object dictionary for process data exchange via PDO services.
The module adds the following objects to the object dictionary:
| Index | Description | Function / Variable | Configuration Symbol |
|---|---|---|---|
| 6007h | Abort connect option code | Cos402_Idx6007() | - |
| 6040h | Controlword | Cos402_Idx6040() | - |
| 6041h | Statusword | Cos402_Idx6041() | - |
| 6042h | vl target velocity | Cos402_Idx6042() | - |
| 6043h | vl velocity demand | Cos402_Idx6043() | - |
| 6044h | vl velocity actual value | Cos402_Idx6044() | - |
| 6046h | vl velocity min max amount | Cos402_Idx6046() | - |
| 6048h | vl velocity acceleration | Cos402_Idx6048() | - |
| 6049h | vl velocity deceleration | Cos402_Idx6049() | - |
| 604Ah | vl velocity quick stop | Cos402_Idx604A() | - |
| 604Bh | vl set-point factor | Cos402_Idx604B() | - |
| 604Ch | vl dimension factor | Cos402_Idx604C() | - |
| 605Ah | Quick stop option code | Cos402_Idx605A() | - |
| 605Bh | Shutdown option code | Cos402_Idx605B() | - |
| 605Ch | Disable operation option code | Cos402_Idx605C() | - |
| 605Dh | Halt option code | Cos402_Idx605D() | - |
| 605Eh | Fault reaction option code | Cos402_Idx605E() | - |
| 6060h | Modes of operation | Cos402_Idx6060() | - |
| 6061h | Modes of operation display | Cos402_Idx6061() | - |
| 6064h | Position actual value | Cos402_Idx6064() | - |
| 607Ah | Target position | Cos402_Idx607A() | - |
| 607Bh | Position range limit | Cos402_Idx607B() | - |
| 607Dh | Software position limit | Cos402_Idx607D() | - |
| 607Eh | Polarity | Cos402_Idx607E() | - |
| 607Fh | Max profile velocity | Cos402_Idx607F() | - |
| 6080h | Max motor speed | Cos402_Idx6080() | - |
| 6081h | Profile velocity | Cos402_Idx6081() | - |
| 6082h | End velocity | Cos402_Idx6082() | - |
| 6083h | Profile acceleration | Cos402_Idx6083() | - |
| 6084h | Profile deceleration | Cos402_Idx6084() | - |
| 6085h | Quick stop deceleration | Cos402_Idx6085() | - |
| 6086h | Motion profile type | Cos402_Idx6086() | - |
| 60C5h | Max acceleration | Cos402_Idx60C5() | - |
| 60C6h | Max deceleration | Cos402_Idx60C6() | - |
| 6502h | Supported drive modes | Cos402_Idx6502() | - |
Data Structures | |
| struct | Cos402_Common_s |
| struct | Cos402_Velocity_s |
Macros | |
| #define | COS_DS402_VERSION_MAJOR 2 |
| #define | COS_DS402_VERSION_MINOR 0 |
Functions | |
| const Cos402_Common_ts * | Cos402_GetCommon (void) |
| const Cos402_Velocity_ts * | Cos402_GetVelocity (void) |
| void | Cos402_ParmInit (void) |
| uint8_t | Cos402_ParmLoad (void) |
| uint8_t | Cos402_ParmSave (void) |
| void | Cos402_SetCommon (const Cos402_Common_ts *ptsCommonV) |
| void | Cos402_SetVelocity (const Cos402_Velocity_ts *ptsVelocityV) |
Variables | |
| uint16_t | uwControl6040_RcvPdoG |
| int16_t | swVlTarget6042_RcvPdoG |
| int8_t | sbModeOp6060_RcvPdoG |
| int32_t | slTargetPos607A_RcvPdoG |
| uint16_t | uwStatus6041_TrmPdoG |
| int16_t | swVlDemand6043_TrmPdoG |
| int16_t | swVlActual6044_TrmPdoG |
| int8_t | sbModeOpDisp6061_TrmPdoG |
| int32_t | slPosActual6064_TrmPdoG |
| const Cos402_Common_ts * Cos402_GetCommon | ( | void | ) |
Returns a pointer to the internal Cos402_Common_ts data store. The caller must not modify the structure through this pointer; use Cos402_SetCommon() to update the fields.
It provides read access to all mode-independent object dictionary values (controlword, statusword, option codes, modes of operation, and profile position objects).
| const Cos402_Velocity_ts * Cos402_GetVelocity | ( | void | ) |
Returns a pointer to the internal Cos402_Velocity_ts data store. The caller must not modify the structure through this pointer; use Cos402_SetVelocity() to update the fields.
It provides read access to all vl mode object dictionary values (target velocity, demand, actual value, ramp parameters, and scaling factors).
| void Cos402_ParmInit | ( | void | ) |
The function initialises the object dictionary parameters of the CiA 402 device profile to their default values. It shall be called during application start-up, before Cos402_ParmLoad() is invoked.
| uint8_t Cos402_ParmLoad | ( | void | ) |
The function loads the stored CiA 402 object dictionary parameters from non-volatile memory.
| uint8_t Cos402_ParmSave | ( | void | ) |
The function stores the CiA 402 object dictionary parameters to non-volatile memory.
| void Cos402_SetCommon | ( | const Cos402_Common_ts * | ptsCommonV | ) |
| [in] | ptsCommonV | pointer to common parameter structure |
The function copies the structure pointed to by ptsCommonV into the internal common parameter set. It allows the application to update mode-independent object dictionary values at run-time (e.g. statusword, modes of operation display).
| void Cos402_SetVelocity | ( | const Cos402_Velocity_ts * | ptsVelocityV | ) |
| [in] | ptsVelocityV | pointer to velocity mode parameter structure |
The function copies the structure pointed to by ptsVelocityV into the internal velocity mode (vl mode) parameter set. It allows the application to update vl mode object dictionary values at run-time (e.g. actual velocity, velocity demand).
References sbModeOp6060_RcvPdoG, sbModeOpDisp6061_TrmPdoG, slPosActual6064_TrmPdoG, slTargetPos607A_RcvPdoG, swVlActual6044_TrmPdoG, swVlDemand6043_TrmPdoG, swVlTarget6042_RcvPdoG, uwControl6040_RcvPdoG, and uwStatus6041_TrmPdoG.
|
extern |
6060h:00h modes of operation
Referenced by Cos402_SetVelocity().
|
extern |
6061h:00h modes of operation display
Referenced by Cos402_SetVelocity().
|
extern |
6064h:00h position actual value
Referenced by Cos402_SetVelocity().
|
extern |
607Ah:00h target position
Referenced by Cos402_SetVelocity().
|
extern |
6044h:00h vl velocity actual value
Referenced by Cos402_SetVelocity().
|
extern |
6043h:00h vl velocity demand
Referenced by Cos402_SetVelocity().
|
extern |
6042h:00h vl target velocity
Referenced by Cos402_SetVelocity().
|
extern |
6040h:00h controlword
Referenced by Cos402_SetVelocity().
|
extern |
6041h:00h statusword
Referenced by Cos402_SetVelocity().