/** * CIA402 refers to the CANopen application profile for drives and motion control. * It defines various states that a CiA402-compliant device, such as a motor drive, can be in. * * @enum */ export declare enum Cia402State { /** * Not ready to switch on (NRS). * * This is the initial state where the drive is not ready to be switched on. * In this state, the drive is not powered or initialized. */ NOT_READY_TO_SWITCH_ON = "NOT_READY_TO_SWITCH_ON", /** * Switch on disabled (SOD). * * In this state, the drive is powered and initialized but cannot be switched on. * This state is usually used for safety purposes or when certain conditions need to be met before enabling the drive. */ SWITCH_ON_DISABLED = "SWITCH_ON_DISABLED", /** * Ready to switch on (RTS). * * In this state, the drive is ready to be switched on. * It has been powered and initialized, and it is waiting for the switch-on command. */ READY_TO_SWITCH_ON = "READY_TO_SWITCH_ON", /** * Switched on (SWO). * * When the switch-on command is received, the drive enters this state. * In this state, the drive is energized and ready to start motion. */ SWITCHED_ON = "SWITCHED_ON", /** * Operation enabled (OP). * * This state indicates that the drive is enabled and ready to perform its intended operation. * It can receive motion commands and execute them. */ OPERATION_ENABLED = "OPERATION_ENABLED", /** * Quick stop active (QSA). * * This state is used to bring the drive to an immediate stop. * It is typically triggered by an emergency stop or a quick stop command. */ QUICK_STOP_ACTIVE = "QUICK_STOP_ACTIVE", /** * Fault reaction active (FRA). * * When a fault or error condition occurs, the drive enters this state. * It indicates that the drive is responding to the fault by taking appropriate actions, * such as shutting down or entering a safe state. */ FAULT_REACTION_ACTIVE = "FAULT_REACTION_ACTIVE", /** * Fault (FLT). * * This state signifies that a fault condition has been detected and the drive is no longer operational. * It requires manual intervention or troubleshooting to resolve the fault * and bring the drive back to a functional state. */ FAULT = "FAULT" } export declare const cia402StateMap: Map; export declare function getCia402State(value: number): Cia402State; export declare function isInternalLimitActive(statusword: number): boolean; /** * In the CiA402 standard for drives and motion control, the controlword is a key component * used to command and control the operation of a CiA402-compliant device, such as a motor drive. * The controlword is typically a 16-bit value, * and it consists of several bits that represent different control commands. * * @enum */ export declare enum ControlwordCommand { SHUTDOWN = "SHUTDOWN", SWITCH_ON = "SWITCH_ON", SWITCH_ON_ENABLE_OPERATION = "SWITCH_ON_ENABLE_OPERATION", DISABLE_VOLTAGE = "DISABLE_VOLTAGE", /** * Quick Stop. * * This command initiates a quick stop of the drive. * When this bit is set to 1, the drive enters the "Quick stop active" state, * causing the motor to decelerate and come to a stop as quickly as possible. */ QUICK_STOP = "QUICK_STOP", DISABLE_OPERATION = "DISABLE_OPERATION", /** * Enable Operation. * * This command enables the drive to perform its intended operation. * When this bit is set to 1, the drive transitions from the "Ready to switch on" state to the "Operation enabled" state. */ ENABLE_OPERATION = "ENABLE_OPERATION", /** * Fault Reset. * * This command resets a fault condition and clears any fault flags or errors that may have occurred. * When this bit is set to 1, the drive attempts to recover from a fault and return to an operational state. */ FAULT_RESET = "FAULT_RESET" } /** * Return one of the controlword commands based its value. * * NOTE: DISABLE_OPERATION and ENABLE_OPERATION are never returned. * Their values are the same as SWITCH_ON and SWITCH_ON_ENABLE_OPERATION. * What controlword is commanded depends on the transition. */ export declare function getCommandFromControlword(value: number): ControlwordCommand | undefined; export declare const controlwordOptions: { Shutdown: number; 'Switch on': number; 'Switch on + enable operation': number; 'Disable voltage': number; 'Quick stop': number; 'Disable operation': number; 'Enable operation': number; 'Fault reset': number; }; export declare const controlwordCommandOptions: ControlwordCommand[]; export declare const controlwordCommandBitmasks: { SHUTDOWN: number[]; SWITCH_ON: number[]; SWITCH_ON_ENABLE_OPERATION: number[]; DISABLE_VOLTAGE: number[]; QUICK_STOP: number[]; DISABLE_OPERATION: number[]; ENABLE_OPERATION: number[]; FAULT_RESET: number[]; }; export declare function createControlwordCommand(value: number, command: ControlwordCommand): number; /** * CiA402 transitions. * * List of allowed transitions with controlword command. * * The following transitions are automatic: * - 0: START -> NOT_READY_TO_SWITCH_ON * - 1: NOT_READY_TO_SWITCH_ON -> SWITCH_ON_DISABLED * - 13: ANY -> FAULT_REACTION_ACTIVE * - 14: FAULT_REACTION_ACTIVE -> FAULT */ export declare const cia402Transitions: { from: Cia402State; to: Cia402State; transitions: number[]; command: ControlwordCommand; }[]; export declare enum ModesOfOperation { CYCLIC_SYNC_OUTPUT_TORQUE_MODE = -110, CYCLIC_SYNC_OUTPUT_VELOCITY_MODE = -109, CYCLIC_SYNC_OUTPUT_POSITION_MODE = -108, PROFILE_OUTPUT_VELOCITY_MODE = -103, PROFILE_OUTPUT_POSITION_MODE = -101, SYSTEM_IDENTIFICATION_MODE = -4, OPEN_LOOP_FIELD_MODE = -3, DIAGNOSTICS_MODE = -2, COGGING_COMPENSATION_RECORDING_MODE = -1, NO_MODE_ASSIGNED = 0, PROFILE_POSITION_MODE = 1, PROFILE_VELOCITY_MODE = 3, TORQUE_PROFILE_MODE = 4, HOMING_MODE = 6, CYCLIC_SYNC_POSITION_MODE = 8, CYCLIC_SYNC_VELOCITY_MODE = 9, CYCLIC_SYNC_TORQUE_MODE = 10 } export declare const modesOfOperationOptions: { 'Cyclic synchronous output torque mode': ModesOfOperation; 'Cyclic synchronous output velocity mode': ModesOfOperation; 'Cyclic synchronous output position mode': ModesOfOperation; 'Profile output velocity mode': ModesOfOperation; 'Profile output position mode': ModesOfOperation; 'System Identification Mode': ModesOfOperation; 'Open loop field mode': ModesOfOperation; 'Diagnostics mode': ModesOfOperation; 'Cogging compensation recording mode': ModesOfOperation; 'No mode assigned': ModesOfOperation; 'Profile position mode': ModesOfOperation; 'Profile velocity mode': ModesOfOperation; 'Torque profile mode': ModesOfOperation; 'Homing mode': ModesOfOperation; 'Cyclic synchronous position mode': ModesOfOperation; 'Cyclic synchronous velocity mode': ModesOfOperation; 'Cyclic synchronous torque mode': ModesOfOperation; };