Skip to content

Introduction to CANopen, CoE (CANopen over EtherCAT), and CiA 402

June 11, 2026 / www.kickdrive.de / www.fullmo.de

CANopen over EtherCAT (CoE) is a software interface that integrates the CiA 402 device profile framework from CANopen into EtherCAT networks. Within CoE, the CiA 402 device profile, defined according to IEC 61800-7-201:2015, plays a central role. CiA 402 defines standardized read-only or read/writeparameter objects, along with a CiA 402 standard object number (index and subindex). CiA 402 defines device behavior as well as standard operating modes that were specifically developed for variable-speed electric drive systems.

CiA 301 defines communication between controllers (masters) and devices (devices/slaves) through clearly defined interaction patterns for configuring, controlling, and monitoring devices at the field level. Among other things, CANopen defines communication paradigms such as Service Data Objects (SDO), in which the controller actively sends information to connected devices ("SDO Download") or requests information from them ("SDO Upload").

CANopen CiA 301 Overview of the Communication Profile

Introduction

CiA 301 defines the CANopen application layer and the communication profile. It specifies data types, encoding rules, the object dictionary, and all communication services and protocols—in particular NMT, SDO, PDO, SYNC, TIME, and EMCY.

In typical CANopen networks, NMT controls node startup, state transitions, and error monitoring, while SDO provides peer-to-peer access to parameters in the Object Dictionary.

Network Management (NMT)

Controller–Device Model

CANopen NMT follows a controller–device model. One node acts as the NMT controller, and up to 127 nodes (Node IDs 1–127) act as NMT devices. By sending unacknowledged NMT service messages on COB-ID 0x000, the controller can initialize, start, stop, or reset individual or all devices.

Node Control Services

These unacknowledged NMT services enable direct control of the devices:

  • Start Remote Node: 01h → Set device to Operational
  • Stop Remote Node: 02h → Set device to "Stopped"
  • Enter Pre-operational: 80h → Set device to "Pre-operational"
  • Reset Node: 81h → Perform an application reset
  • Reset Communication: 82h → Perform a communication reset

Examples:

  • COB-ID=0h, Size=2, Data=81 00 → NMT Reset Node (all nodes)
  • COB-ID=0h, Size=2, Data=01 05 → NMT start for Node ID 5

Error Control Services

There are two error monitoring mechanisms—Node Guarding and Heartbeat—only one of which may be used per device.

In Node Guarding mode, the device must respond to the controller’s Guarding Request within a specified timeout.

In Heartbeat mode, each device periodically sends a one-byte status (0 = Boot-up, 4 = Stopped, 5 = Operational, 127 = Pre-operational) via COB-ID 0x700 + Node-ID; the controller monitors timeouts for error detection.

Boot-up Service

Immediately after the Reset Communication substate, a device sends a one-byte Boot-up message (0x00) on COB-ID 0x700 + Node-ID to signal that it is ready for configuration.

NMT State Machine

The NMT state machine comprises four main states with three initialization sub-states:

  1. Initialization (automatic after power-on, subdivided into:
    a. Initializing – Basic initialization
    b. Reset Application – Resetting application-related parameters
    c. Reset Communication – Resetting communication-related parameters)
  2. Pre-operational – SDO access only, PDOs inactive
  3. Operational – All communication objects (PDO, SYNC, TIME, EMCY, SDO) active
  4. Stopped – Communication stopped, except for error checking

Transitions occur via NMT services, hardware resets, or local control.

State–Object Relationship
NMT State PDO SDO SYNC TIME EMCY Node Control/Error Control
Pre-operational
Operational
Stopped

This means that parameterization via SDO is possible in Pre-operational, while PDO real-time transmission only takes place in Operational.

Service Data Objects (SDO)

Client–Server Model

SDO implements a confirmed client–server protocol for accessing any entries in the object directory.

For the standard SDO channel, the following applies: Client requests (typically sent by the controller) are sent on COB-ID 0x600 + NodeID; server/device responses are sent on 0x580 + NodeID.

SDO Services

SDO is divided into: 1. SDO Download (Client→Server): Write access
- Initiate (expedited): up to 4 bytes of data in a frame
- Segment: Toggle-bit protocol for >4 bytes
2. SDO Upload (Server→Client): Read access
- Initiate (expedited): delivers ≤4 bytes
- Segment: multi-part transfer for >4 bytes
3. SDO Abort Transfer: Abort on error
4. (Optional) Block Download/Upload: optimized block transfer with CRC and sequence numbers

All SDO services are acknowledged; responses include a return code indicating success or failure.

Expedited vs. Segmented vs. Block

  • Expedited (≤4 B): a single frame, no segmentation.
  • Segmented (>4 B): multiple frames, each containing 7 data bytes with a toggle bit.
  • Block (optional): numbered blocks; client acknowledges blocks; CRC supported.

Protocol Details

  • Download Initiate: Client sends cs=0x20–0x23 in byte 0, index in bytes 1–2, sub-index in byte 3, and data in bytes 4–7.
  • Upload Initiate: Client sends cs=0x40; server responds with cs=0x43 (expedited) or cs=0x41 (segmented) plus length.
  • Segments: Client/server use cs=0x00/0x01 for download segments; cs=0x60/0x61 for upload.
  • Block: cs=0xA0…0xA4 for block download; cs=0xC0…0xC2 for block uploads.

Summary

The CiA 301 communication profile ensures that CANopen devices can be configured, monitored, and controlled in a standardized manner. NMT handles the entire device lifecycle—boot-up, parameterization (via SDO in Pre-operational), and real-time communication (Operational). SDO provides flexible client–server access to any object directory entries, ranging from individual parameters up to 4 bytes in length (expedited transfer) to entire data sets (segmented or block transfer).

In combination with PDO for cyclic process data, SYNC for network-wide synchronization, and EMCY for fast error alerting, CiA 301 forms the basis for interoperable, high-performance communication in automation networks.

CiA 402 - General Overview

Introduction

CiA 402, also known as DS 402 / Device Standard 402, is a device profile for drives and motion control defined by the CAN in Automation (CiA) organization. It specifies a universal interface and standardized behavior for controlling electrical drives—such as servo drives, servo controllers, frequency converters, and similar devices. It is part of the CANopen protocol as a “CANopen Device Profile,” but is also used in EtherCAT, POWERLINK, and other application protocols such as TCP/IP. The CiA 402 device profile is specified in the IEC 61800-7-201 standard as Profile Type 1 — CiA 402 Drive Profile for power drive systems (PDS).

This section provides an overview of the key aspects of CiA 402, focusing on the drive states / “state machine,” the main Controlword (6040h), and status word (6041h), common modes of operation (6060h), and a summary of other essential standard objects in the object directory / Object Dictionary.

The CiA 402 State Machine

At the heart of the CiA 402 profile is the State Machine (PDS FSA, Power Drive System – Finite State Automat), which defines the permissible states and transitions of a drive. By defining permitted actions and required responses in various operating states, the State Machine ensures safe and predictable control of motion axes.

Main States

  • Not Ready to Switch On: Initial state after power-on. The drive is not ready to perform movements.
  • Switch On Disabled: The drive must not be enabled (e.g., after a fault or during initialization).
  • Ready to Switch On: Internal checks completed; the drive can be enabled.
  • Switched On: The drive is ready for an enable command.
  • Operation Enabled: The drive can execute motion commands.
  • Quick Stop Active: Quick Stop is activated; the drive stops as quickly as possible.
  • Fault Reaction Active: The drive is responding to a detected fault—it is implementing appropriate safety measures.
  • Fault: A fault condition has been detected; the drive must be reset.

Transitions

State transitions are controlled by bits in the Controlword (6040h), which is sent from the master to the device. The drive reports its current state via the Statusword (6041h).

A simplified diagram:

MovingCap CiA 402 State Machine

Overview of State Transitions

No. Current State Next State Description Control Word Bits (15...0) Status Word After Transition (15...0)
1 Not ready to switch on Switch on disabled Automatically after initialization xxxxxxxxxxxxxxxx (no external command) xxxxxxxx x1xx0000
2 Switch on disabled Ready to switch on Shutdown xxxxxxxxxx000110 (0x0006) xxxxxxxx x01x0001
3 Ready to switch on Switched on Switch On xxxxxxxxxx000111 (0x0007) xxxxxxxx x01x0011
4 Switched on Operation enabled Enable Operation xxxxxxxxxx001111 (0x000F) xxxxxxxx x01x0111
6 Switched on Ready to switch on Shutdown xxxxxxxxxx000110 (0x0006) xxxxxxxx x01x0001
5 Operation enabled Switched on Disable Operation xxxxxxxxxx000111 (0x0007) xxxxxxxx x01x0011
11 Operation enabled Quick stop active Quick Stop xxxxxxxxxx000010 (0x0002) xxxxxxxx x00x0111
12 Quick stop active Switch on disabled Disable Voltage xxxxxxxxxx000000 (0x0000) xxxxxxxx x1xx0000
10 Switched on Switch on disabled Disable Voltage xxxxxxxxxx000000 (0x0000) xxxxxxxx x1xx0000
7 Ready to switch on Switch on disabled Disable Voltage xxxxxxxxxx000000 (0x0000) xxxxxxxx x1xx0000
13 Operation enabled Fault reaction active Fault detected (internal transition) Automatic (no control word) xxxxxxxx x0xx1111
14 Fault reaction active Fault Internal after fault reaction Automatic (no control word) xxxxxxxx x0xx1000
15 Fault Switch on disabled Fault Reset xxxxxxxx1xxxxxxx (0x0080) xxxxxxxx x1xx0000
(16) Quick stop active Operation enabled Enable Operation (1) xxxxxxxxxx001111 (0x000F) xxxxxxxx x01x0111

A detailed description is included in the CiA 402 specification.

Note: (1) The CiA 402 specification recommends not implementing transition 16.

Control Word (6040h Object)

The control word (index 6040h) is the central control object that the master uses to control the state and behavior of the drive. It is a 16-bit word, where each bit (or groups of bits) triggers specific actions or requests to the drive, such as state changes or motion commands.

Important Bit Functions

Bit Name Description
0 Switch On Requests that the drive be turned on
1 Enable Voltage Enables the internal power supply
2 Quick Stop Requests that motion be stopped quickly
3 Enable Operation enable of the axis
7 Fault Reset Acknowledge/reset fault
8 Hold Stop motion without deactivating the drive
9 Operation Mode Specific Used in certain operating modes
10 Reserved -
11-15 Manufacturer-specific -

The combination and timing of these bits determine exactly how the state machine transitions between states. For example: To transition from Switch On Disabled to Operation Enabled, bits 0, 1, and 2 must be set, followed by bit 3. See also the diagram above and the state transition table.

Status Word (6041h Object)

The status word (index 6041h) is a 16-bit word sent by the drive to the master that indicates the current status. By reading the status word, the master determines the drive’s current state in the CiA 402 state machine.

Representative Bit Meanings

Bit Name Description
0 Ready to Switch On Drive is ready to be enabled
1 Switched On Drive is enabled
2 Operation Enabled Drive is authorized to move
3 Fault A fault has occurred
4 Voltage Enabled Power/voltage is present at the drive output stage
5 Quick Stop Response to the Quick Stop function is active
6 Switch On Disabled Drive is disabled
7 Warning A warning is present (no error)
8 Manufacturer Specific (1)
9 remote (2)
10 target reached Position is within the target tolerance
11 internal limit active Limit according to 607D objects reached
12,13 Operation Mode specific -
14,15 Manufacturer Specific -

Notes: (1) MovingCap and Festo drives use this bit for the Drive Moving state.

(2) The remote bit has no significance for MovingCap drives and is not set. The control word is evaluated even when remote = 0.

Modes of Operation

Modes of Operation (Index 6060h) determines the operating mode in which the drive operates. Each mode supports a different control paradigm (e.g., position control, speed control, torque control).

6060h Modes of Operation

Value (Decimal) Mode Name Application
-128 to -1 Manufacturer Specific Manufacturer-specific
0 No mode assigned -
1 Profile Position Mode Moves to position using a defined profile
2 Velocity Mode (obsolete, usually not supported; see Mode 3)
3 Profile Velocity Mode Moves at a speed with profile acceleration
4 Profile Torque Mode Controls torque according to the profile
6 Homing Mode Reference run (move to "home" position)
7 Interpolated Position Mode Moves to interpolated position points
8 Cyclic Synchronous Position Synchronous position control (real-time)
9 Cyclic Synchronous Velocity Synchronous speed control (real-time)
10 Cyclic Synchronous Torque Synchronous torque (real-time)

A servo drive typically supports only some of the operating modes specified in CiA 402. Frequently used modes are - 1 = Profile Position Mode, - 3 = Profile Velocity Mode, - 6 = Homing Mode, - 8 = Cyclic Synchronous Position Mode.

The current mode can be read using Modes of operation display (6061h).

Profile Position Mode

Profile Position Mode (PPM, 6060h = 1) is one of the basic position control modes in CiA 402. In this mode, the drive moves its load to a target position along a motion profile. Parameters such as speed, acceleration, and deceleration can be set, enabling smooth and controlled movements. This mode is suitable for point-to-point positioning, sequential movements, or indexing tasks.

Procedure

  1. Set Modes of Operation (6060h) to 1 (Profile Position Mode).
  2. Write the Target Position (607Ah), as well as additional profile parameters: Profile velocity (6081h), Profile acceleration (6083h), and Profile deceleration (6084h).
  3. Confirm the motion command via the Controlword (6040h) with a rising edge on bit 4 (New set-point). If bit 5 (Change set immediately) is set, the new setpoint is processed immediately as a single setpoint; if bit 5 is cleared, the new setpoint is treated as part of a buffered setpoint sequence and is generally executed only after the current setpoint has been processed.
  4. Monitor the status word (6041h), particularly the CiA-402 behavior of the setpoint acknowledgment, as well as the position actual value (6064h), to confirm the acceptance and execution of the requested movement.

"Single set-point" and "set of set-points"

In Profile Position Mode, the timing interaction between Bit 4 New set-point and Bit 5 Change set immediately in the Controlword (6040h), as well as the setpoint acknowledgment in the Statusword (6041h), determine how a new target setpoint is accepted and processed.

If Bit 5 Change set immediately = 1, the drive uses the Single set-point method. After the controller has written a valid target position and the associated profile parameters, it signals the new setpoint via a rising edge on Bit 4 New set-point. If another setpoint is already being processed, the newly acknowledged setpoint must be processed immediately.

If Bit 5 Change set immediately = 0, the drive uses the set of set-points method. Here, too, a new setpoint is confirmed by a rising edge on Bit 4 New set-point is confirmed. However, if a previous setpoint is still being processed, the new setpoint is buffered and executed only after the active setpoint has been reached. If no setpoint is being processed, the new setpoint becomes active immediately.

The controller should monitor the behavior of the setpoint acknowledgment in the status word to detect that the drive has accepted the setpoint and is ready for the next one. Whether buffered setpoints are supported and how many buffer slots are available depends on the specific device.

Specific Control Word Bits for Profile Position Mode

The following bits in the Control Word (6040h) are particularly relevant in Profile Position Mode. The general state machine bits for powering on and enabling the axis continue to apply as described above.

Bit Name Meaning in Profile Position Mode
4 New set-point A rising edge on this bit confirms the currently written setpoint and the associated profile parameters.
5 Change set immediately Determines how a newly confirmed setpoint is handled while another setpoint is still being processed. 1 = the new setpoint must be processed immediately as a single setpoint . 0 = the new set-point is treated as part of a set of set-points.
6 abs/rel Determines how the target position is interpreted. 0 = absolute target position. 1 = relative target position, depending on the positioning option code and device implementation.
8 Hold 0 = Positioning must be executed or continued. 1 = The axis must be stopped according to the Hold Option Code (605Dh).
9 Change on set-point Particularly relevant in conjunction with buffered setpoints. When this bit is used together with set of set-points, it requests that the current positioning be continued at the current profile speed until the current setpoint is reached, and that the next positioning be applied accordingly thereafter. Support and exact behavior are device-specific.

Regarding the interaction of Bit 4, Bit 5, and Bit 9, the CiA-402 profile essentially distinguishes between the following cases:

Bit 9 Bit 5 Rising edge on Bit 4 Meaning
0 0 yes The current positioning must be completed before the next one is started.
X 1 yes The next positioning must be started immediately.
1 0 yes The current positioning must continue at the current profile speed until the current setpoint is reached; thereafter, the next positioning must be applied.

Specific Status Word Bits for Profiles

Position Mode

In Profile Position Mode, the following bits in the status word (6041h) are particularly important for monitoring command acceptance and motion progress.

Bit Name Meaning in Profile Position Mode
10 Target reached If Stop = 0: 0 = Target position not reached, 1 = Target position reached. If Stop = 1: 0 = Axis is decelerating, 1 = Axis speed is 0.
12 Set-point acknowledge Handshake bit for set-point acceptance. 0 = Previous set-point already processed; waiting for new set-point. 1 = Previous set-point still being processed; set-point override must be accepted.
13 Following error 0 = no following error. 1 = following error present.

In practice, Bit 12 Set-point acknowledge is the central handshake signal for coordinating new commands, while Bit 10 Target reached and Bit 13 Following error are used to monitor the result of the positioning command.

Important Objects for Profile Positioning

Index Name Description
6060h Modes of Operation Set to 1 for Profile Position Mode
607Ah Target Position Target position
6081h Profile Velocity Maximum permissible speed
6083h Profile Acceleration Acceleration rate
6084h Profile Deceleration Deceleration rate
6064h Position Actual Value Actual position
6040h Controlword Trigger motion and manage status
6041h Status Word Status feedback

Optional/additional objects: - 60F2h: Positioning Option Code (e.g., "relative" or "absolute") - 6073h: Max Current – Maximum current/torque/force for the drive - 607Dh.01h/607Dh.02h: Software Position Limit – Software limit switches

Profile Velocity Mode

Profile Velocity Mode (PVM, 6060h = 3) allows the axis speed to be specified directly, while ensuring that profiled acceleration- and deceleration ramps can be maintained. Typical applications include conveyor belts, fans, or other systems where a constant speed is required.

Procedure

  1. Set Modes of Operation (6060h) to 3 (Profile Velocity Mode).
  2. Set Target velocity (60FFh) and the desired profile acceleration/deceleration (6083h/6084h).
  3. Use the Controlword (6040h) to trigger start, stop, or speed changes.
  4. Read the Velocity actual value (606Ch) and Statusword (6041h) for monitoring.

Important Registers for Profile Velocity

Index Name Description
6060h Modes of Operation Set to 3 for Profile Velocity Mode
60FFh Target Velocity Target
6083h Profile Acceleration Acceleration ramp
6084h Profile Deceleration Deceleration ramp
606Ch Velocity Actual Value Actual velocity
6040h Control Word Start/Stop/Hold Control
6041h Status Word Feedback and Status Monitoring

Important Object Dictionary Entries

The following table contains some important entries according to the CiA 402 Device Profile that are central to drive control and monitoring.

Index Name Description Type
6040h Control Word Control and status changes (Master → Drive) unsigned16
6041h Status Word Status feedback (Drive → Master) unsigned16
6060h Modes of Operation Sets the drive’s operating mode integer8
6061h Modes of Operation Display Current operating mode integer8
607Ah Target Position Target position for Profile Position Mode integer32
6064h Position Actual Value Position feedback integer32
606Ch Velocity Actual Value Velocity (actual value) integer32
6081h Profile Velocity Max. velocity in Profile Position Mode unsigned32
6083h Profile Acceleration Acceleration ramp unsigned32
6084h Profile Deceleration Deceleration ramp unsigned32
60FFh Target Velocity Target velocity in Profile Velocity Mode integer32
6098h Homing Method Homing Strategy Selection integer8
607Dh.01h Min position limit Software Limit Switch Minimum integer32
607Dh.02h Max position limit Software limit switch maximum integer32
6073h Max Current Max. current/torque/force unsigned16
6075h Motor Rated Current Rated current for drive/motor unsigned32
6078h Current Actual Value Current motor current integer16

Position Scaling / User-Defined Units

Position scaling in CiA 402 combines configurable scaling parameters with fixed motor/encoder characteristics to convert internal position units (increments) into user-specific/technical units.

Motor/Encoder System Properties (608Fh)

  • 608Fh: Position Encoder Resolution
  • 608Fh.01 encoder_increments: Increments per motor revolution
  • 608Fh.02 motor_revolutions: Motor revolutions per encoder revolution
  • Example: For a 16-bit incremental encoder: 608Fh.01 = 65,536, 608Fh.02 = 1 (usually 1, except in cases of non-1:1 gearing between the motor and the encoder)

Note:
These values reflect hardware characteristics and should only be changed when the hardware is replaced.

Configurable Scaling (6091h and 6092h)

  • 6091h: Gear Ratio
  • 6091h.01h motor_revolutions: Number of motor revolutions
  • 6091h.02h shaft_revolutions: Number of output shaft revolutions
  • Example: 5 motor revolutions per 2 output shaft revolutions → 6091h.01h = 5, 6091h.02h = 2

  • 6092h: Feed Constant

  • 6092h.01h feed: Technical unit per output revolution (e.g., mm, μm)
  • 6092h.02h shaft_revolutions: Number of output revolutions
  • Example: Timing belt axis with 100 mm per revolution, scale in μm: 6092h.01h feed = 100,000, 6092h.02h = 1

Formulas for Position Scaling

Quantity Formula (verbal) Formula (with CiA 402 objects)
Encoder resolution Encoder_resolution = encoder_increments / motor_rev 608Fh.01h / 608Fh.02h
Gear ratio Gear_ratio = motor_revolutions / shaft_revolutions 6091h.01h / 6091h.02h
Feed constant Feed_constant = feed / shaft_revolutions 6092h.01h / 6092h.02h
Internal position unit Pos_internal = Pos_user × Encoder_resolution × Gear_ratio / Feed_constant Pos_user × (608Fh.01h / 608Fh.02h) × (6091h.01h / 6091h.02h) / (6092h.01h / 6092h.02h)
or: Pos_user × (608Fh.01h × 6091h.01h × 6092h.02h) / (608Fh.02h × 6091h.02h × 6092h.01h)
Position as a user variable Pos_user = Pos_internal × Feed_constant / (Encoder_resolution × Gear_ratio) Pos_internal × (6092h.01h / 6092h.02h) / [ (608Fh.01h / 608Fh.02h) × (6091h.01h / 6091h.02h) ]
or: Pos_internal × (608Fh.02h × 6091h.02h × 6092h.01h) / (608Fh.01h × 6091h.01h × 6092h.02h)

Example

Given: - Motor encoder = 65,536 increments per motor revolution (608Fh.01h = 65536, 608Fh.02h = 1) - Gear ratio: 1 output revolution per 5 motor revolutions (6091h.01h = 5, 6091h.02h = 1) - Feed constant: 100 mm per output revolution (6092h.01h = 100, 6092h.02h = 1)

Calculated:

User-defined unit per internal encoder increment = (Feed constant) / (Gear ratio × Encoder resolution) = (100 mm/rev) / (5 × 65,536 increments/rev) = 0.00030517578125 [mm/increment]

Example: Position is at 80,000 internal increments Pos_user = 80,000 × 0.00030517578125 ≈ 24.41 mm

Note:
- The values in 608Fh reflect hardware characteristics and should only be adjusted if the hardware is changed. - The scaling parameters (6091h, 6092h) must be appropriate for the application and the desired unit. - The unit of the feed constant (e.g., μm, mm, degrees) determines the technical quantity for all position values exchanged via the CiA 402 objects.

Glossary

Term Description
CiA 301 Communication profile defined by CAN in Automation (CiA)that specifies essential CANopen application layer services, protocols, and communication objects (including NMT, PDO, SDO, SYNC, and EMCY). Originally developed for CAN-based embedded systems, CiA 301 forms the basis for numerous device profiles, including CiA 402. It is also used in other communication technologies, particularly as “CANopen over EtherCAT” (CoE) from Beckhoff in EtherCAT systems. Specified in EN 50325-4.
CiA 402 (DS 402) Device profile for electric drives defined by CAN in Automation (CiA). It provides a universal interface and standardized behavior for controlling various electric drives (e.g., servo drives, frequency converters). Originally part of the CANopen protocol as the “CANopen Device Profile,” it is now also frequently used for EtherCAT, POWERLINK, and TCP/IP. Defined in IEC 61800-7-201 as a standardized profile for electric drive systems (PDS).
CAN (Controller Area Network) Robust fieldbus communication system for the automotive and automation sectors.
CANopen Communication protocol and device specification for automation.
CiA (CAN in Automation) International association of users and manufacturers for the development and support of CAN-based protocols.
Object Directory (OD) Standardized table for organizing communication and device parameters of a CANopen device.
SDO (Service Data Object) Protocol for peer-to-peer communication and parameter access in CANopen networks.
PDO (Process Data Object) Time-critical object for real-time transmission of process data.
NMT (Network Management) Protocol for managing states (Initialization, Pre-Operational, Operational, Stopped) in CANopen.
SYNC Object Synchronization object for node actions in the network.
EMCY (Emergency Message) Object for immediately reporting errors/malfunctions to a controller.
Drive State Machine Standardized state machine (CiA 402) for controlling drive states and transitions.
Modes of Operation Operating modes for motion control (position, speed, homing).
TPDO/RPDO (Transmit/Receive PDO) Direction-specific PDO for sending/receiving data (TPDO/RPDO).
Heartbeat/Node Guarding Mechanisms for node monitoring and error detection in the network.
Controller Node that controls the network, e.g., machine controller. Controls other nodes; acts as an NMT controller and SDO client.
Device Controlled node, e.g., a servo drive. Controlled by the controller; acts as an NMT device and SDO server.
SDO Client Node or controller requesting services. Requests data from the SDO server.
SDO Server Node or device providing services. Responds to requests from the SDO client.

Illustrative example:
CANopen PC software such as Kickdrive acts as an NMT controller and SDO client, while a CANopen node—such as a servo drive—acts as an NMT device and SDO server.