Skip to main content
The Standard Language of Motor Control: CiA402 Profile
Control

The Standard Language of Motor Control: CiA402 Profile

This article explains the CiA402 profile, the motor control standard for industrial robots based on EtherCAT and CANopen. It covers the state machine, Controlword/Statusword bit structures, and operation modes with practical examples.

WRWIM Robotics Team
·
ethercatcia402motor-controlcanopen

The Standard Language of Motor Control: CiA402 Profile

What address should you write to and what value should you use to control a motor driver? If each manufacturer uses a different protocol, you would need to write separate control code for every driver. The CiA402 profile is the industry standard that solves this problem. If a motor supports CiA402, it can be operated using the same control sequence regardless of manufacturer.

This article explains the core concepts of CiA402: the State Machine, Controlword/Statusword bit structures, and Modes of Operation with practical code examples.

What is CiA402?

It is a standard profile for motor drives and motion control defined by the CiA (CAN in Automation) association. It is widely used in EtherCAT and CANopen communications.

What CiA402 defines:

  • Command values and addresses for turning motors ON/OFF
  • Status values and addresses for reading current state
  • Operation modes for position/velocity/torque control

Key Object Dictionary Addresses

CiA402 uses the Object Dictionary (OD) address system:

AddressNamePurpose
0x6040ControlwordSend motor state control commands
0x6041StatuswordRead current motor state
0x605AQuick Stop Option CodeConfigure quick stop behavior
0x605EFault Reaction Option CodeConfigure fault reaction behavior
0x6060Mode of OperationSet operation mode
0x6061Mode of Operation DisplayCurrent active operation mode

State Machine

The core of CiA402 is a state machine consisting of 8 states. To turn on a motor, you must transition through states in a predetermined sequence.

State Machine Diagram

CiA402 State Machine

CiA402 state machine diagram - divided into Power disabled, Power enabled, and Fault regions

Main Operating States (5 states)

StateDescription
Not Ready to Switch OnInitialization phase after power-on
Switch On DisabledInitialization complete, operation not possible
Ready to Switch OnReady for operation
Switched OnAmplifier power applied
Operation EnabledActual operating state - brake released, current flowing, torque generated

Error Handling States (3 states)

StateDescription
Quick Stop ActiveUser-requested software quick stop
Fault Reaction ActiveSafety measures in progress after internal alarm
FaultFinal error state after safety measures completed

Controlword and Statusword

Controlword (0x6040) - 16-bit Command Word

This is the register for sending commands to the motor:

BitNameDescription
7Fault ResetAttempt to clear error on rising edge (0 to 1)
3Enable OperationActual ON/OFF switch
2Quick Stop1 = operation allowed, 0 = quick stop
1Enable VoltageAllow power stage voltage
0Switch OnPrepare for power-on

Statusword (0x6041) - 16-bit Status Word

This is the register for reading the current motor state:

BitNameDescription
6Switch On DisabledInitialization or operation blocked state
5Quick Stop0 = quick stop in progress
4Voltage EnabledMain power normal voltage
3Fault1 = error occurred
2Operation EnabledCurrently operating
1Switched OnPower applied state
0Ready to Switch OnReady for operation

Determining State from Statusword Bit Patterns

StateBit6Bit5Bit4Bit3Bit2Bit1Bit0
Not Ready to Switch On0xx0000
Switch On Disabled1xx0000
Ready to Switch On01x0001
Switched On01x0011
Operation Enabled01x0111
Quick Stop Active00x0111
Fault Reaction Active0xx1111
Fault0xx1000

Controlword Command Patterns

CommandBit7Bit3Bit2Bit1Bit0Transition Number
Shutdown0x1102, 6, 8
Switch On001113
Enable Operation011114
Disable Operation001115
Disable Voltage0xx0x7, 9, 10, 12
Quick Stop0x01x11
Fault Reset1000015

Practical Example: Neuromeka Indy7

Here is the actual state transition sequence for the Neuromeka Indy7 collaborative robot:

StateStatuswordCommandControlword
Switch On Disabled0x220--
Ready to Switch On0x221Shutdown0x0006
Switched On0x233Switch On0x0007
Operation Enabled0x237Enable Operation0x000F

State Transition Diagram (Indy7)

Modes of Operation

CiA402 provides two control paradigms.

Profile Mode (Point-to-Point Control)

The motor driver generates velocity profiles internally. Use this when reaching the target is more important than trajectory precision.

ModeMode NumberPurpose
Profile Position Mode1Position profile control
Profile Velocity Mode3Velocity profile control
Profile Torque Mode4Torque profile control

Use Cases: Conveyor belts, simple Pick & Place

Cyclic Synchronous Mode (Real-time Synchronous Control)

The host controller sends target values every communication cycle. Use this when precise trajectory tracking is required.

ModeMode NumberPurpose
Cyclic Synchronous Position (CSP)8Real-time position control
Cyclic Synchronous Velocity (CSV)9Real-time velocity control
Cyclic Synchronous Torque (CST)10Real-time torque control

Use Cases: Impedance control for collaborative robots, gravity compensation, high-performance industrial robots

When to Use Which Mode?

SituationRecommended ModeReason
Simple position movementProfile PositionDriver generates profile
Precise trajectory trackingCSPHost controller calculates trajectory
Force controlCSTReal-time torque commands required
Collaborative robotsCSP/CSTImpedance control implementation

Key Takeaways

  1. CiA402 is the industry standard for EtherCAT/CANopen-based motor control, enabling you to control motors in the same way regardless of manufacturer.

  2. The state machine consists of 8 states, and for safety, transitions must follow a predetermined sequence. A minimum of 3 steps (Shutdown, Switch On, Enable Operation) is required from power-on to operation.

  3. Controlword/Statusword are 16-bit registers that control and read states through specific bit patterns.

  4. Profile Mode has the driver generate profiles, while Cyclic Synchronous Mode has the host controller send target values every cycle. CSP/CSV/CST are suitable for precise robot control.

  5. Error handling consists of three stages: Quick Stop, Fault Reaction, and Fault, ensuring safe stopping.

Understanding CiA402 allows you to control motor drivers from various manufacturers with the same code, making industrial robot system development much more efficient.