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:
- 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) - Pre-operational – SDO access only, PDOs inactive
- Operational – All communication objects (PDO, SYNC, TIME, EMCY, SDO) active
- 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–0x23in 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 withcs=0x43(expedited) orcs=0x41(segmented) plus length. - Segments: Client/server use
cs=0x00/0x01for download segments;cs=0x60/0x61for upload. - Block:
cs=0xA0…0xA4for block download;cs=0xC0…0xC2for 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:
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¶
- Set Modes of Operation (6060h) to 1 (Profile Position Mode).
- Write the Target Position (607Ah), as well as additional profile parameters: Profile velocity (6081h), Profile acceleration (6083h), and Profile deceleration (6084h).
- 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.
- 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¶
- Set Modes of Operation (6060h) to 3 (Profile Velocity Mode).
- Set Target velocity (60FFh) and the desired profile acceleration/deceleration (6083h/6084h).
- Use the Controlword (6040h) to trigger start, stop, or speed changes.
- 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 revolution608Fh.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 revolutions6091h.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.