mcx::drive

mcx::drive

Namespaces

Name
mcx::drive::sim

Classes

Name
class mcx::drive::DriveCiA402
class mcx::drive::DriveCiA402Sim
class mcx::drive::Cia402FsmBase
struct mcx::drive::Cia402FsmData
class mcx::drive::NotReadyToSwitchOn
class mcx::drive::SwitchOnDisabled
class mcx::drive::SwitchOn
class mcx::drive::OperationEnable
class mcx::drive::QuickStopActive
class mcx::drive::Fault
class mcx::drive::Transition
struct mcx::drive::DriveIn
struct mcx::drive::DriveOut
class mcx::drive::DriveBase
class mcx::drive::Diagnostics
class mcx::drive::Module
class mcx::drive::DriveSercos
class mcx::drive::DriveSercosSim
class mcx::drive::SercosFsmBase
struct mcx::drive::SercosFsmData
class mcx::drive::NotReadyToPowerOn
class mcx::drive::ReadyForPowerOn
class mcx::drive::ReadyForOperation
class mcx::drive::InOperation
class mcx::drive::Halt
class mcx::drive::FaultSercos
class mcx::drive::TransitionSercos

Types

Name
enum Cia402Command { CIA402_CMD_SWITCH_ON = 0, CIA402_CMD_DISABLE_VOLTAGE = 1, CIA402_CMD_QUICK_STOP = 2, CIA402_CMD_ENABLE_OPERATION = 3, CIA402_CMD_MODE_ACTION = 4, CIA402_CMD_FAULT_REST = 7}
enum Cia402Mode { CIA402_MODE_NOMODE = 0, CIA402_MODE_PROFILED_POSITION = 1, CIA402_MODE_VELOCITY = 2, CIA402_MODE_PROFILED_VELOCITY = 3, CIA402_MODE_PROFILED_TORQUE = 4, CIA402_MODE_HOMING = 6, CIA402_MODE_INTERPOLATED_POSITION = 7, CIA402_MODE_CYCLIC_SYNC_POSITION = 8, CIA402_MODE_CYCLIC_SYNC_VELOCITY = 9, CIA402_MODE_CYCLIC_SYNC_TORQUE = 10}
enum Cia402Status { CIA402_STATUS_READY_TO_SWITCH_ON = 0, CIA402_STATUS_SWITCHED_ON = 1, CIA402_STATUS_OPERATION_ENABLED = 2, CIA402_STATUS_FAULT = 3, CIA402_STATUS_VOLTAGE_DISABLED = 4, CIA402_STATUS_QUICK_STOP_NOT_ACTIVE = 5, CIA402_STATUS_SWITCH_ON_DISABLED = 6, CIA402_STATUS_WARNING = 7}
enum DriveCommand { DRIVE_CMD_OFF = 0x0, DRIVE_CMD_DISENGAGE = 0x1, DRIVE_CMD_ENGAGE = 0x2, DRIVE_CMD_FAULT_ACK = 0x3, DRIVE_CMD_QUICK_STOP = 0x4, DRIVE_CMD_MODE_ACTION = 0xFF}
enum DriveMode { DRIVE_MODE_NOMODE = 0, DRIVE_MODE_PROFILED_POSITION = 1, DRIVE_MODE_VELOCITY = 2, DRIVE_MODE_PROFILED_VELOCITY = 3, DRIVE_MODE_PROFILED_TORQUE = 4, DRIVE_MODE_HOMING = 6, DRIVE_MODE_INTERPOLATED_POSITION = 7, DRIVE_MODE_CYCLIC_SYNC_POSITION = 8, DRIVE_MODE_CYCLIC_SYNC_VELOCITY = 9, DRIVE_MODE_CYCLIC_SYNC_TORQUE = 10}
enum DriveState { DRIVE_STATE_OFF = 0, DRIVE_STATE_DISENGAGED = 1, DRIVE_STATE_ENGAGED = 2, DRIVE_STATE_FAULT = 3, DRIVE_STATE_QUICK_STOP_ACTIVE = 4}
enum DriveType { UNKNOWN, CiA402, SERCOS}
enum SercosCommandBits { SERCOS_CMD_OPMODE_BIT1 = 8, SERCOS_CMD_OPMODE_BIT2 = 9, SERCOS_CMD_OPMODE_BIT3 = 11, SERCOS_CMD_DRIVE_HALT = 13, SERCOS_CMD_DRIVE_ENABLE = 14, SERCOS_CMD_DRIVE_ON = 15}
enum SercosCommandOpMode { SERCOS_CMD_OPMODE_PRIMARY = 0, SERCOS_CMD_OPMODE_SECONDARY1 = 1, SERCOS_CMD_OPMODE_SECONDARY2 = 2, SERCOS_CMD_OPMODE_SECONDARY3 = 3, SERCOS_CMD_OPMODE_SECONDARY4 = 8, SERCOS_CMD_OPMODE_SECONDARY5 = 9, SERCOS_CMD_OPMODE_SECONDARY6 = 10, SERCOS_CMD_OPMODE_SECONDARY7 = 11}
enum SercosStatusBits { SERCOS_STATUS_OPMODE_BIT1 = 8, SERCOS_STATUS_OPMODE_BIT2 = 9, SERCOS_STATUS_OPMODE_BIT3 = 10, SERCOS_STATUS_CLASS3_DIAG_MSG = 11, SERCOS_STATUS_CLASS3_DIAG_WARNING = 12, SERCOS_STATUS_CLASS3_DIAG_ERROR = 13, SERCOS_STATUS_OPERATION_BIT1 = 14, SERCOS_STATUS_OPERATION_BIT2 = 15}
enum SercosStatusOpMode { SERCOS_STATUS_OPMODE_PRIMARY = 0, SERCOS_STATUS_OPMODE_SECONDARY1 = 1, SERCOS_STATUS_OPMODE_SECONDARY2 = 2, SERCOS_STATUS_OPMODE_SECONDARY3 = 3, SERCOS_STATUS_OPMODE_SECONDARY4 = 4, SERCOS_STATUS_OPMODE_SECONDARY5 = 5, SERCOS_STATUS_OPMODE_SECONDARY6 = 6, SERCOS_STATUS_OPMODE_SECONDARY7 = 7}
enum SercosStatusOperation { SERCOS_STATUS_NOT_READY_FOR_POWER_ON = 0, SERCOS_STATUS_READY_FOR_POWER_ON = 1, SERCOS_STATUS_READY_FOR_OP = 2, SERCOS_STATUS_IN_OPERATION = 3}

Functions

Name
DriveType strToDriveType(std::string drive_type_str)
template <typename T ,typename… Args>
T
bitIsSet(T value, Args… bits)
template <typename T ,typename… Args>
T
bitIsCleared(T value, Args… bits)
template <typename T ,typename… Args>
T
setBit(T value, Args… bits)
template <typename T ,typename… Args>
T
clearBit(T value, Args… bits)
SercosStatusOperation sercosStatusOperation(unsigned int sercos_state)
SercosStatusOpMode sercosStatusActualMode(unsigned int sercos_state)
unsigned int sercosSetOpMode(unsigned int sercos_cmd, SercosCommandOpMode op_mode)

Types Documentation

enum Cia402Command

Enumerator Value Description
CIA402_CMD_SWITCH_ON 0
CIA402_CMD_DISABLE_VOLTAGE 1
CIA402_CMD_QUICK_STOP 2
CIA402_CMD_ENABLE_OPERATION 3
CIA402_CMD_MODE_ACTION 4
CIA402_CMD_FAULT_REST 7

enum Cia402Mode

Enumerator Value Description
CIA402_MODE_NOMODE 0
CIA402_MODE_PROFILED_POSITION 1
CIA402_MODE_VELOCITY 2
CIA402_MODE_PROFILED_VELOCITY 3
CIA402_MODE_PROFILED_TORQUE 4
CIA402_MODE_HOMING 6
CIA402_MODE_INTERPOLATED_POSITION 7
CIA402_MODE_CYCLIC_SYNC_POSITION 8
CIA402_MODE_CYCLIC_SYNC_VELOCITY 9
CIA402_MODE_CYCLIC_SYNC_TORQUE 10

enum Cia402Status

Enumerator Value Description
CIA402_STATUS_READY_TO_SWITCH_ON 0
CIA402_STATUS_SWITCHED_ON 1
CIA402_STATUS_OPERATION_ENABLED 2
CIA402_STATUS_FAULT 3
CIA402_STATUS_VOLTAGE_DISABLED 4
CIA402_STATUS_QUICK_STOP_NOT_ACTIVE 5
CIA402_STATUS_SWITCH_ON_DISABLED 6
CIA402_STATUS_WARNING 7

enum DriveCommand

Enumerator Value Description
DRIVE_CMD_OFF 0x0
DRIVE_CMD_DISENGAGE 0x1
DRIVE_CMD_ENGAGE 0x2
DRIVE_CMD_FAULT_ACK 0x3
DRIVE_CMD_QUICK_STOP 0x4
DRIVE_CMD_MODE_ACTION 0xFF

enum DriveMode

Enumerator Value Description
DRIVE_MODE_NOMODE 0
DRIVE_MODE_PROFILED_POSITION 1
DRIVE_MODE_VELOCITY 2
DRIVE_MODE_PROFILED_VELOCITY 3
DRIVE_MODE_PROFILED_TORQUE 4
DRIVE_MODE_HOMING 6
DRIVE_MODE_INTERPOLATED_POSITION 7
DRIVE_MODE_CYCLIC_SYNC_POSITION 8
DRIVE_MODE_CYCLIC_SYNC_VELOCITY 9
DRIVE_MODE_CYCLIC_SYNC_TORQUE 10

enum DriveState

Enumerator Value Description
DRIVE_STATE_OFF 0
DRIVE_STATE_DISENGAGED 1
DRIVE_STATE_ENGAGED 2
DRIVE_STATE_FAULT 3
DRIVE_STATE_QUICK_STOP_ACTIVE 4

enum DriveType

Enumerator Value Description
UNKNOWN
CiA402
SERCOS

enum SercosCommandBits

Enumerator Value Description
SERCOS_CMD_OPMODE_BIT1 8
SERCOS_CMD_OPMODE_BIT2 9
SERCOS_CMD_OPMODE_BIT3 11
SERCOS_CMD_DRIVE_HALT 13
SERCOS_CMD_DRIVE_ENABLE 14
SERCOS_CMD_DRIVE_ON 15

enum SercosCommandOpMode

Enumerator Value Description
SERCOS_CMD_OPMODE_PRIMARY 0
SERCOS_CMD_OPMODE_SECONDARY1 1
SERCOS_CMD_OPMODE_SECONDARY2 2
SERCOS_CMD_OPMODE_SECONDARY3 3
SERCOS_CMD_OPMODE_SECONDARY4 8
SERCOS_CMD_OPMODE_SECONDARY5 9
SERCOS_CMD_OPMODE_SECONDARY6 10
SERCOS_CMD_OPMODE_SECONDARY7 11

enum SercosStatusBits

Enumerator Value Description
SERCOS_STATUS_OPMODE_BIT1 8
SERCOS_STATUS_OPMODE_BIT2 9
SERCOS_STATUS_OPMODE_BIT3 10
SERCOS_STATUS_CLASS3_DIAG_MSG 11
SERCOS_STATUS_CLASS3_DIAG_WARNING 12
SERCOS_STATUS_CLASS3_DIAG_ERROR 13
SERCOS_STATUS_OPERATION_BIT1 14
SERCOS_STATUS_OPERATION_BIT2 15

enum SercosStatusOpMode

Enumerator Value Description
SERCOS_STATUS_OPMODE_PRIMARY 0
SERCOS_STATUS_OPMODE_SECONDARY1 1
SERCOS_STATUS_OPMODE_SECONDARY2 2
SERCOS_STATUS_OPMODE_SECONDARY3 3
SERCOS_STATUS_OPMODE_SECONDARY4 4
SERCOS_STATUS_OPMODE_SECONDARY5 5
SERCOS_STATUS_OPMODE_SECONDARY6 6
SERCOS_STATUS_OPMODE_SECONDARY7 7

enum SercosStatusOperation

Enumerator Value Description
SERCOS_STATUS_NOT_READY_FOR_POWER_ON 0
SERCOS_STATUS_READY_FOR_POWER_ON 1
SERCOS_STATUS_READY_FOR_OP 2
SERCOS_STATUS_IN_OPERATION 3

Functions Documentation

function strToDriveType

DriveType strToDriveType(
    std::string drive_type_str
)

function bitIsSet

template <typename T ,
typename... Args>
T bitIsSet(
    T value,
    Args... bits
)

function bitIsCleared

template <typename T ,
typename... Args>
T bitIsCleared(
    T value,
    Args... bits
)

function setBit

template <typename T ,
typename... Args>
T setBit(
    T value,
    Args... bits
)

function clearBit

template <typename T ,
typename... Args>
T clearBit(
    T value,
    Args... bits
)

function sercosStatusOperation

inline SercosStatusOperation sercosStatusOperation(
    unsigned int sercos_state
)

function sercosStatusActualMode

inline SercosStatusOpMode sercosStatusActualMode(
    unsigned int sercos_state
)

function sercosSetOpMode

inline unsigned int sercosSetOpMode(
    unsigned int sercos_cmd,
    SercosCommandOpMode op_mode
)

Updated on 2022-04-05 at 16:21:26 +0200