Please enable JavaScript to view this site.

MovingCap Ethernet Drives - Software Manual

Navigation: » No topics above this level «

Appendix: CiA 402 - General Overview

Scroll Prev Top Next More

Introduction

CiA 402, alternatively referred to 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 behaviour for controlling electrical drives - such as servo drives, servo controllers, frequency converters and similar devices. As a "CANopen Device Profile", it is part of the CANopen protocol, but is also used in EtherCAT, POWERLINK and other application protocols such as TCP/IP. The CiA 402 device profile is specified in the IEC61800-7-201 standard as profile type 1 - CiA402 Drive Profile for power drive systems (PDS).

This section provides an overview of the central aspects of CiA 402, with a focus on the drive states / CiA 402 State Machine, the main control word (6040h) and status word (6041h), common operating modes (6060h) and a summary of other key standard objects in the object dictionary.

The CiA 402 State Machine

At the center 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 reactions in different operating states, the state machine ensures safe and predictable control of motion axes.

Main states

Not Ready to Switch On: Initial state after switching on. The drive is not ready to execute movements.

Switch On Disabled: Drive may not be enabled (e.g. after error or during initialization).

Ready to Switch On: Internal checks completed; drive can be enabled.

Switched On: Drive is ready for enable command.

Operation Enabled: The drive can execute movement commands.

Quick Stop Active: Quick Stop is activated, the drive stops as quickly as possible.

Fault Reaction Active: The drive reacts to a detected fault - it carries out 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 to the device by the master. The drive reports back its current status via the statusword (6041h).

mc_cia402_web

A detailed description can be found in the CiA 402 specification.

Controlword (6040h object)

The controlword is the central control object (index 6040h) with which the master controls the status and behavior of the drive. It is a 16-bit word, with each bit (or bit groups) triggering certain actions or requests on the drive, such as state changes or movement commands.

Bit meanings

Bit

Bit Name

Bit Name Description

0

Switch On

Requests the drive to be switched on

1

Enable Voltage

Enables the internal power supply

2

Quick Stop

Requests a quick stop of the movement

3

Enable Operation

Complete activation of the axis

7

Fault reset

Acknowledge/reset error

8

Stop

Stop movement without deactivating the drive

9

Operation Mode Specific

Is used in certain operating modes

10

Reserved

-

11-15

Manufacturer-specific

-

The combination and time sequence of these bits determine exactly how the state machine switches between states. For example: To change from "Switch On Disabled" to "Operation Enabled", bits 0, 1 and 2 must be set, followed by bit 3.

Statusword (6041h object)

The statusword (index 6041h) is a 16-bit word that is sent from the drive to the master and signals the current status. By reading out the statusword, the master recognizes the current status of the drive in the CiA 402 state machine.

Bit meanings

Bit

Bit Name

Bit Name Description

0

Ready to Switch On

Drive is ready to switch on

1

Switched On

Drive is enabled

2

Operation Enabled

Drive is enabled for movements

3

Fault

Error is present

4

Voltage enabled

Internal voltage is present

5

Quick Stop

Quick Stop function is active

6

Switch On Disabled

Drive is deactivated

7

Warning

Warning present (no error)

8

Manufacturer Specific

*1)

9

Remote


10

target reached

Position is within the target tolerance

11

internal limit active

Limit reached according to 607D objects

12,13

Operation mode specific

-

14,15

Manufacturer specific

-

Note:

*1) MovingCap and Festo drives use this bit for the "Drive Moving" status.

Operating modes / Modes of operation (6060h object)

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

Value (decimal)

Mode Name

Application

-128 to -1

Manufacturer-specific mode

Manufacturer-specific

0

No mode assigned

-

1

Profile Position Mode

Moves position with defined profile

2

Velocity Mode

(obsolete, usually not supported, see Mode 3)

3

Profile Velocity Mode

Drives speed with profile acceleration

4

Profile Torque Mode

Controls torque according to profile

6

Homing mode

Homing ("Home" position approach)

7

Interpolated position mode

Moves according 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 usually only supports some of the operating modes according to CiA 402. Frequently available modes are

1 = Profile Position Mode,

3 = Profile Velocity Mode,

6 = Homing Mode,

8 = Cyclic Synchronous Position Mode.

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

Profile Position Mode

6060h = 1 Profile Position Mode (PPM) 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 movement profile. Parameters such as speed, acceleration and deceleration can be set, enabling smooth and controlled movements. The mode is suitable for point-to-point positioning, sequential movements or indexing tasks.

Sequence

1.Set Modes of operation (6060h) to 1 (Profile Position Mode).

2.Set target position (607Ah) and desired profile parameters.

3.Configure profile velocity (6081h), profile acceleration (6083h) and profile deceleration (6084h).

4.Start the movement with the Controlword (6040h) (e.g. by setting the new set-point bit in accordance with CiA 402).

5.Monitor statusword and position actual value (6064h) to confirm the processing.

Key standard objects for Profile Positioning

Index

Name

Name Description

Type

6060h

Modes of operation

Set to 1 for Profile Position Mode

integer8

607Ah

Target Position

Target position

integer32

6081h

Profile Velocity

Maximum permissible velocity

unsigned32

6083h

Profile Acceleration

Acceleration rate

unsigned32

6084h

Profile Deceleration

Deceleration rate

unsigned32

6064h

Position Actual Value

Actual position

integer32

6040h

Controlword

Trigger movement and manage status

unsigned16

6041h

Statusword

Status feedback

unsigned16

Optional / additional objects for positioning mode

Index

Index Name

Name Description

Type

60F2h

Positioning option code

Option for rotative (repetitive) position coordinates and positioning behavior

unsigned16

6073h

Max Current

Limitation of the maximum current/torque/force

unsigned16

607Dh.01h

Min position limit

Software position limit
Positioning limit in negative direction
(or smallest rotating position, e.g. 0°)

integer32

607Dh.01h

Max position limit

Software position limit
Positioning limit in positive direction
(or largest rotating position, e.g. 360°)

integer32

 

Profile Velocity Mode

6060h = 3 Profile Velocity Mode (PVM) makes it possible to specify the axis speed directly, whereby profiled acceleration and deceleration ramps can be maintained. Typical applications include conveyor belts, fans or other systems in which a constant speed is required.

Sequence

1.Set Modes of operation (6060h) to 3 (Profile Velocity Mode).

2.Set target velocity (60FFh) and desired profile acceleration/deceleration (6083h/6084h).

3.Use Controlword (6040h) to trigger start, stop or speed changes.

4.Read out velocity actual value (606Ch) and statusword for monitoring.

Key standard objects for profile velocity

Index

Velocity Index Name

Name Description

Type

6060h

Modes of Operation

Set to 3 for Profile Velocity Mode

integer8

60FFh

Target Velocity

Target velocity

integer32

6083h

Profile Acceleration

Acceleration ramp

unsigned32

6084h

Profile Deceleration

Deceleration ramp

unsigned32

606Ch

Velocity Actual Value

Actual velocity

integer32

6040h

Controlword

Control start/stop/hold

unsigned16

6041h

Statusword

Feedback and status monitoring

unsigned16

 

Parameter overview of basic parameters CiA 402 / Object Dictionary

General overview of the basic parameters that are relevant for drive control and monitoring in accordance with the operating modes described above.

Index

Name

Name Description

Type

6040h

Controlword

Control and status change (master → drive)

unsigned16

6041h

Statusword

Status feedback (drive → master)

unsigned16

6060h

Modes of operation

Sets the operating mode of the drive

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

Selection of homing method

integer8

607Dh.01h

Min position limit

Software position limit minimum

integer32

607Dh.02h

Max position limit

Software position limit maximum

integer32

6073h

Max current

Maximum Current/torque/force

unsigned16

6075h

Motor Rated Current

Rated current for drive/motor in physical units, e.g. mA

unsigned32

6078h

Current Actual Value

Actual motor current in 0.1% unit (1000 = 100%). Negative values possible for negative directions.

integer16

 

Position scaling / user-defined units

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

Motor/encoder system properties (608Fh)

608Fh: Position encoder resolution

o608Fh.01 encoder_increments: Increments per motor rotation

o608Fh.02 motor_revolutions: Motor revolutions per encoder revolution

Example: For a 16-bit incremental encoder:
608Fh.01 = 65,536,
608Fh.02 = 1 (almost always 1, except if there is a gear between motor and encoder)

NOTE:

These values reflect hardware properties and should only be changed when changing hardware.

Configurable scaling (6091h and 6092h)

6091h: Gear Ratio

o6091h.01h motor_revolutions: Number of motor revolutions

o6091h.02h shaft_revolutions Number of output revolutions

Example: 5 motor revolutions per 2 output revolutions →
6091h.01h = 5,
6091h.02h = 2

6092h: Feed constant

o6092h.01h feed: Technical unit per output revolution (e.g. mm, μm)

o6092h.02h shaft_revolutions: Number of output revolutions

Example: Toothed belt axis with 100 mm per revolution, scale μm:
6092h.01h feed = 100,000,
6092h.02h = 1

Formulas for position scaling

Size

Basic formula

Calculation via 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 user size

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 unit / 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:

Positioning to 80,000 internal increments
--> Pos_user = 80,000 × 0.00030517578125 ≈ 24.41 mm