canopen for motor controller cmms/cmmd

156
CANopen for Motor Controller CMMS/CMMD Manual CANopen CMMS-ST CMMS-AS CMMD-AS Manual 554 352 en 1012a [757 730]

Upload: others

Post on 22-Oct-2021

9 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: CANopen for Motor Controller CMMS/CMMD

CANopen for Motor Controller CMMS/CMMD

Manual CANopen CMMS-ST CMMS-AS CMMD-AS

Manual554 352 en 1012a [757 730]

Page 2: CANopen for Motor Controller CMMS/CMMD
Page 3: CANopen for Motor Controller CMMS/CMMD

Festo P.BE-CMMS-CO-SW-EN 1012a 3

Original ________________________________________________________ de

Edition ____________________________________________________en 1012a

Designation____________________________________ P.BE-CMMS-CO-SW-EN

Order no. ___________________________________________________554 352

(Festo AG & Co KG., D-73726 Esslingen, Germany, 2011)

Internet: http://www.festo.com

E-mail: [email protected]

The reproduction of this document and disclosure to third parties and the utilisation or communication of its contents without explicit authorization is prohibited. Offenders will be held liable for compensation of damages. All rights reserved, in particular the right to carry out patent, utility model or ornamental design registrations.

Page 4: CANopen for Motor Controller CMMS/CMMD

4 Festo P.BE-CMMS-CO-SW-EN 1012a

Index of revisions

Author: Festo AG & Co. KG

Name of manual: CANopen for Motor Controller CMMS/CMMD

File name:

File saved at:

Consec. no. Description Index of revisions Date of amendment

001 Creation 0708NH 26.07.2007

002 Revision 1012a 17.02.2011

Trademarks

CANopen® and CiA® are registered brand names of the respective brand holders in certain countries.

Page 5: CANopen for Motor Controller CMMS/CMMD

CONTENTS

Festo P.BE-CMMS-CO-SW-EN 1012a 5

CONTENTS

1. General remarks ..................................................................................................... 8

1.1 Intended use ......................................................................................................... 8 1.2 Safety instructions ................................................................................................ 8 1.3 Target group.......................................................................................................... 9 1.4 Service .................................................................................................................. 9 1.5 Important user instructions ................................................................................... 9

2. CANopen................................................................................................................ 12

2.1 Overview ............................................................................................................. 12 2.2 Cabling and Plug Assignment .............................................................................. 13

2.2.1 Pin allocations ..................................................................................... 13 2.2.2 Cabling Note ........................................................................................ 14

2.3 Activation of CANopen......................................................................................... 15

3. Access Procedure .................................................................................................. 17

3.1 Introduction......................................................................................................... 17 3.2 SDO Access ......................................................................................................... 18

3.2.1 SDO Sequences for Reading and Writing ............................................. 19 3.2.2 SDO Error Messages ............................................................................ 20 3.2.3 Simulation of SDO Access via RS232 ................................................... 21

3.3 PDO Message ...................................................................................................... 22 3.3.1 Description of the Objects ................................................................... 23 3.3.2 Objects for PDO Parameter Setting ...................................................... 26 3.3.3 Activation of PDOs ............................................................................... 30

3.4 SYNC-Message .................................................................................................... 30 3.5 EMERGENCY-Message ......................................................................................... 31

3.5.1 Structure of the EMERGENCY-Message................................................ 31 3.5.2 Description of the Objects ................................................................... 43

3.6 Heartbeat / Bootup (Error Control Protocol)........................................................ 45 3.6.1 Structure of the Heartbeat Message .................................................... 45 3.6.2 Structure of the Bootup Message ........................................................ 46 3.6.3 Description of the Objects ................................................................... 46

3.7 Network Management (NMT Service) .................................................................. 47 3.8 Nodeguarding (Error Control Protocol) ................................................................ 49

3.8.1 Overview.............................................................................................. 49 3.8.2 Structure of the Nodeguarding Messages............................................ 49 3.8.3 Description of the Objects ................................................................... 50

3.9 Table of Identifiers .............................................................................................. 51

Page 6: CANopen for Motor Controller CMMS/CMMD

CONTENTS

6 Festo P.BE-CMMS-CO-SW-EN 1012a

4. Setting Parameters ............................................................................................... 52

4.1 Load and Save Parameter Sets............................................................................ 52 4.1.1 Overview.............................................................................................. 52 4.1.2 Description of the Objects ................................................................... 53

4.2 Conversion Factors (Factor Group) ...................................................................... 55 4.2.1 Overview.............................................................................................. 55 4.2.2 Description of the Objects ................................................................... 56

4.3 Output stage parameter ...................................................................................... 67 4.3.1 Overview.............................................................................................. 67 4.3.2 Description of the Objects ................................................................... 67

4.4 Current Regulator and Motor Adjustment............................................................ 69 4.4.1 Overview.............................................................................................. 69 4.4.2 Description of the Objects ................................................................... 70

4.5 Speed regulator................................................................................................... 75 4.5.1 Overview.............................................................................................. 75 4.5.2 Description of the Objects ................................................................... 75

4.6 Position Controller (Position Control Function).................................................... 77 4.6.1 Overview.............................................................................................. 77 4.6.2 Description of the Objects ................................................................... 79

4.7 Setpoint value limitation ..................................................................................... 85 4.7.1 Description of the objects .................................................................... 85

4.8 Digital inputs and outputs ................................................................................... 87 4.8.1 Overview.............................................................................................. 87 4.8.2 Description of the Objects ................................................................... 87

4.9 Limit switch ......................................................................................................... 89 4.9.1 Overview.............................................................................................. 89 4.9.2 Description of the Objects ................................................................... 89

4.10 Sampling of positions.......................................................................................... 90 4.10.1 Overview.............................................................................................. 90 4.10.2 Description of the Objects ................................................................... 90

4.11 Device Information .............................................................................................. 91 4.11.1 Description of the Objects ................................................................... 92

4.12 Error management............................................................................................... 95 4.12.1 Overview.............................................................................................. 95 4.12.2 Description of the Objects ................................................................... 95

Page 7: CANopen for Motor Controller CMMS/CMMD

CONTENTS

Festo P.BE-CMMS-CO-SW-EN 1012a 7

5. Device Control ....................................................................................................... 97

5.1 Status Diagram (State Machine).......................................................................... 97 5.1.1 Overview.............................................................................................. 97 5.1.2 Status diagram of the motor controller (State Machine) ...................... 98 5.1.3 controlword (control word) ................................................................ 102 5.1.4 Read-out of the motor controller status............................................. 105 5.1.5 statusword (Status words)................................................................. 106

6. Operating modes ................................................................................................ 111

6.1 Setting the operating mode............................................................................... 111 6.1.1 Overview............................................................................................ 111 6.1.2 Description of the Objects ................................................................. 111

6.2 Operating mode homing (Homing Mode) .......................................................... 113 6.2.1 Overview............................................................................................ 113 6.2.2 Description of the Objects ................................................................. 114 6.2.3 Reference Travel Processes ............................................................... 117 6.2.4 Control of Reference Travel................................................................ 121

6.3 Positioning Operating Mode (Profile Position Mode)......................................... 122 6.3.1 Overview............................................................................................ 122 6.3.2 Description of the Objects ................................................................. 123 6.3.3 Functional description ....................................................................... 127

6.4 Interpolated Position Mode............................................................................... 129 6.4.1 Overview............................................................................................ 129 6.4.2 Description of the Objects ................................................................. 130 6.4.3 Functional description ....................................................................... 135

6.5 Speed adjustment operating mode (Profile Velocity Mode) .............................. 137 6.5.1 Overview............................................................................................ 137 6.5.2 Description of the Objects ................................................................. 139

6.6 Torque regulation operating mode (Profile Torque Mode) ................................ 144 6.6.1 Overview............................................................................................ 144 6.6.2 Description of the Objects ................................................................. 145

7. Index ................................................................................................................... 149

Page 8: CANopen for Motor Controller CMMS/CMMD

1. General remarks

8 Festo P.BE-CMMS-CO-SW-EN 1012a

1. General remarks

1.1 Intended use

This manual describes how the motor controller of the CMMS/CMMD series can be integrated into a CANopen network environment. It describes setting of the physical parameters, activation of CANopen protocol, integration into the CAN network and communication with the motor controller. It is directed at people who are already familiar with this motor controller series.

It contains safety instructions which must be followed.

The complete set of information can be found in the documentation for the motor controller in question:

- Description P.BE-CMM...-HW-...:

Mechanics – electrical engineering – function range overview

Note

Always observe the safety-related instructions listed in the product manual for the motor controller being used.

1.2 Safety instructions

When commissioning and programming positioning systems, you must always observe the safety regulations in this manual as well as those in the operating instructions for the other components used.

The user must make sure that nobody is within the sphere of influence of the connected actuators or axis system. Access to the potential danger area must be prevented by suitable measures such as barriers and warning signs.

Warning

Axes can move with high force and at high speed. Collisions can lead to serious injury to human beings and damage to components.

Make sure that nobody can reach into the sphere of influence of the axes or other connected actuators and that no items are within the positioning range while the system is connected to energy sources.

Page 9: CANopen for Motor Controller CMMS/CMMD

1. General remarks

Festo P.BE-CMMS-CO-SW-EN 1012a 9

Warning

Faults in the parametrisation can cause injury to human beings and damage to property.

Enable the controller only if the axis system has been correctly installed and parametrised.

1.3 Target group

This manual is intended exclusively for technicians trained in control and automation technology, who have experience in installing, commissioning, programming and diagnosing positioning systems.

1.4 Service

Please consult your local Festo Service or write to the following e-mail address if you have any technical problems:

[email protected]

1.5 Important user instructions

Danger categories

This description contains instructions on the possible dangers which can occur if the product is not used correctly. These instructions are marked (Warning, Caution, etc), printed on a shaded background and marked additionally with a pictogram. A distinction is made between the following danger warnings:

Warning

... Means that failure to observe this instruction may result in

serious personal injury or damage to property.

Caution

... Means that failure to observe this instruction may result in personal injury or damage to property.

Note

... Means that failure to observe this instruction may result in damage to property.

Page 10: CANopen for Motor Controller CMMS/CMMD

1. General remarks

10 Festo P.BE-CMMS-CO-SW-EN 1012a

The following pictogram marks passages in the text which describe activities with electrostatically sensitive devices:

Electrostatically sensitive devices: Incorrect handling can result in damage to components.

Identification of specific information

The following pictograms designate texts that contain special information.

Pictograms

Information:

Recommendations, tips and references to other sources of information

Accessories:

information on necessary or useful accessories for the Festo product.

Environment:

information on environmentally friendly use of Festo products.

Text designations

• Bullet points indicate activities that may be carried out in any order.

1. Numerals denote activities which must be carried out in the numerical order specified.

- Arrowheads indicate general lists.

About the Version

This description refers to versions corresponding to Table 1.1

Page 11: CANopen for Motor Controller CMMS/CMMD

1. General remarks

Festo P.BE-CMMS-CO-SW-EN 1012a 11

You can find the specifications on the version status as follows:

- Hardware version and firmware version in the Festo Configuration Tool (FCT) with active device connection under "Controller"

Controller Firmware Comment

CMMS-ST-... From Version 1.3.0.1.14 Standard motor controller for stepper motors

CMMS-AS-... From Version 1.3.0.1.16 Standard motor controller for servo motors

CMMD-AS-... From Version 1.4.0.3.2 Standard double motor controller for servo motors

Table 1.1 Controller and firmware versions

For older versions:

Use the related older version of this document, if applicable.

Note

With newer firmware versions, check whether there is a newer version of this description available: www.festo.com

Page 12: CANopen for Motor Controller CMMS/CMMD

2. CANopen

12 Festo P.BE-CMMS-CO-SW-EN 1012a

2. CANopen

2.1 Overview

CANopen is a standard worked out by the "CAN in Automation" association. A number of device manufacturers are organised in this association. This standard has largely replaced the current manufacturer-specific CAN protocols. As a result, the end user has a manufacturer-independent communication interface.

The following manuals, among others, can be obtained from this association:

CiA Draft Standard 201-207:

These documents cover the general principles and embedding of CANopen into the OSI layered architecture. The relevant points of this book are presented in this CANopen manual, so procurement of DS201 ... 207 is generally not necessary.

CiA Draft Standard 301:

This book describes the fundamental design of the object directory of a CANopen device and access to it. The statements of DS201 ... 207 are also made concrete. The elements of the object directory needed for the CMMS/CMMD motor controller families and the related access methods are described in this manual. Procurement of DS301 is recommended but not absolutely necessary.

CiA Draft Standard 402:

This book covers concrete implementation of CANopen in drive regulators. Although all implemented objects are also briefly documented and described in this CANopen manual, the user should have this book available.

Source of supply:

CAN in Automation (CiA) International Headquarters Am Weichselgarten 26 D-91058 Erlangen Tel.: 09131-601091

Fax: 09131-601092

www.can-cia.de

The CANopen implementation of the motor controller is based on the following standards:

[1] CiA Draft Standard 301, Version 4.02, 13. February 2002

[2] CiA Draft Standard Proposal 402, Version 2.0, 26. July 2002

Page 13: CANopen for Motor Controller CMMS/CMMD

2. CANopen

Festo P.BE-CMMS-CO-SW-EN 1012a 13

2.2 Cabling and Plug Assignment

2.2.1 Pin allocations

For the CMMS/CMMD family of devices, the CAN interface is already integrated into the motor controller and thus is always available.

The CAN bus connection is designed as a 9-pole DSUB plug (on the controller side) in accordance with standards.

1 CAN-L

2 CAN-GND

3 CAN-Shield

4 CAN-H

5 CAN-GND

Fig. 2.1 CAN plug connector for CMMS/CMMD

Note

CAN bus cabling

When cabling the motor controller via the CAN bus, you should always comply with the following information and remarks to obtain a stable, malfunction-free system. If cabling is improperly done, malfunctions can occur on the CAN bus during operation. These can cause the motor controller to shut off with an error for safety reasons.

14

2

3

5

Page 14: CANopen for Motor Controller CMMS/CMMD

2. CANopen

14 Festo P.BE-CMMS-CO-SW-EN 1012a

2.2.2 Cabling Note

The CAN bus offers a simple, interference resistant method of networking all the components of a system together. But the prerequisite for this is that all subsequent cabling instructions are observed.

Fig. 2.2 Cabling example

- The individual nodes of the network are connected point-to-point to each other, so the CAN cable is looped from controller to controller (see Fig. 2.2).

- At both ends of the CAN cable, there must be an end resistor of exactly 120 Ω +/- 5 %.

This is often already installed in CAN cards or PLCs and, if so, this must be taken into account. The end resistor is activated via DIP switch 12 (see Fig. 2.3).

- For wiring, screened cable with exactly two twisted pairs of wires must be used.

A twisted pair of wires is used for connection of CAN-H and CAN-L. The wires of the other pair are used together for CAN-GND.

For all nodes, the screening of the cable is guided to the CAN-Shield connections.

A table with the technical data of usable cables is located at the end of this chapter.

- The use of intermediate plugs is not recommended for CAN bus cabling. If this is unavoidable, then metallic plug housings should be used to connect the cable screening.

- To keep the disturbance coupling as low as possible, motor cable should not be laid

parallel to signal lines. Motor cable carried out in accordance with specifications. The motor cables must be correctly screened and earthed.

- For more information on constructing interference-free CAN bus cabling, refer to the Controller Area Network protocol specification, Version 2.0 from Robert Bosch GmbH, 1991.

- Technical data, CAN bus cable:

2 pairs of 2 twisted leads, d ≥ 0.22 mm2

Screened

Loop resistance < 0.2 Ω/m

Impedance 100-120 Ω

Page 15: CANopen for Motor Controller CMMS/CMMD

2. CANopen

Festo P.BE-CMMS-CO-SW-EN 1012a 15

2.3 Activation of CANopen

The CAN interface is activated with the protocol CANopen, and the node number and baud rate are adjusted one time via the DIP switches of the motor controller.

1 DIP switches 1-7: Node number

2 DIP switches 9-10: Bitrate

DIP switch 11: Activation DIP switch 12: Terminating resistor

Fig. 2.3 DIP switches

EXAMPLE Node number:

DIP switches ON/OFF Significance

1 ON

2 ON

3 OFF

4 ON

5 ON

6 OFF

7 ON

DIP switch 1 is the lowest-value bit

1011011 = 91

Baud rate:

DIP switches ON/OFF Significance

9

ON

10

OFF

DIP switch 9 is the lowest-value bit

00=125 kBit/s

01=250 kBit/s (example)

10=500 kBit/s

11=1000 kBit/s

1

2

Page 16: CANopen for Motor Controller CMMS/CMMD

2. CANopen

16 Festo P.BE-CMMS-CO-SW-EN 1012a

A total of 2 different parameters must be set:

- Base node number

A node number, which may occur only once in the network, must be assigned to each participant for unambiguous identification. The device is addressed via this node number.

- Bitrate

This parameter determines the bitrate in kbit/s used on the CAN bus. Note that high baud rates require a low maximum cable length.

All devices present in a CANopen network send a bootup message over the bus containing the node number of the transmitter.

Finally, the CANopen protocol in the motor controller can be activated. Observe that the named parameters can only change if the CAN-bus is deactivated.

Note that the parameter setting of the CANopen function remains intact after a reset if the parameter set of the motor controller was saved.

CAN address for CMMD-AS

The two axes have a separate CAN address.

The address of axis 1 is set at the DIP switches. Axis 2 is always assigned the subsequent address:

CAN address axis 2 = CAN address axis 1 + 1

Page 17: CANopen for Motor Controller CMMS/CMMD

3. Access Procedure

Festo P.BE-CMMS-CO-SW-EN 1012a 17

3. Access Procedure

3.1 Introduction

CANopen makes available a simple and standardised possibility to access the parameters of the motor controller (e.g. the maximum motor current). To achieve this, a unique number (index and subindex) is assigned to each parameter (CAN object). The totality of all adjustable parameters is designated an object directory.

Essentially two methods are available for accessing CAN objects via the CAN bus: a confirmed access type, in which the motor controller acknowledges each parameter access (via so-called SDOs), and an unconfirmed access type, in which no acknowledgement is made (via so-called PDOs).

Assignment of control

SDO PDO (transmit PDO)

Confirmation from the

controller

Confirmation from the

controller

Control

CMMS/CMMD

Control CMMS/CMMD

Data from controller

PDO (receive PDO)

Control CMMS/CMMD

Fig. 3.1 Access Procedure

As a rule, the motor controller is parametrised and also controlled via SDO access. In addition, other types of messages (so-called communication objects), which are sent either by the motor controller or the higher-level controller, are defined for special application cases:

SDO Service Data Object Are used for normal parameter setting of the motor controller.

PDO Process Data Object Fast exchange of process data (e.g. actual speed) possible.

SYNC Synchronization

Message Synchronisation of multiple CAN nodes

EMCY Emergency Message Transmission of error messages.

Page 18: CANopen for Motor Controller CMMS/CMMD

3. Access Procedure

18 Festo P.BE-CMMS-CO-SW-EN 1012a

NMT Network Management Network service: All CAN nodes can be worked on simultaneously, for example.

HEARTBEAT Error Control Protocol Monitoring of the communications participants through regular messages.

Every message sent on the CAN bus contains a type of address which is used to determine the bus participant for which the message is meant. This number is designated the identifier. The lower the identifier, the greater the priority of the message. Identifiers are established for the above-named communication objects. The following sketch shows the basic design of a CANopen message:

Number of data bytes (here 8)

Data bytes 0 … 7

601h Len D0 D1 D2 D3 D4 D5 D6 D7

Identifier

3.2 SDO Access

The Service Data Objects (SDO) permit access to the object directory of the motor

controller. This access is especially simple and clear. It is therefore recommended to build up the application at first only with SDOs and only later to convert to the faster but also more complicated Process Data Objects (PDOs).

SDO access always starts from the higher-level controller (Host). This either sends the motor controller a write command to modify a parameter in the object directory, or a read command (READ) to read out a parameter. For each command, the host receives an answer that either contains the read-out value or – in the case of a write command – serves as an acknowledgement.

For the motor controller to recognise that the command is meant for it, the host must send

the command with a specific identifier. This consists of the base 600h + node number of the motor controller involved. The motor controller answers accordingly with the identifier 580h + node number.

The design of the commands or answers depends on the data type of the object to be read or written, since either 1, 2 or 4 data bytes must be sent or received. The following data types are supported:

UINT8 8 bit value without algebraic sign 0 … 255

INT8 8 bit value with algebraic sign -128 … 127

UINT16 16 bit value without algebraic sign 0 … 65535

INT16 16 bit value with algebraic sign -32768 … 32767

UINT32 32 bit value without algebraic sign 0 … (232-1)

INT32 32 bit value with algebraic sign -(231) … (231-1)

Page 19: CANopen for Motor Controller CMMS/CMMD

3. Access Procedure

Festo P.BE-CMMS-CO-SW-EN 1012a 19

3.2.1 SDO Sequences for Reading and Writing

To read out or describe objects of these number types, the following listed sequences are used. The commands for writing a value into the motor controller begin with a different identifier, depending on the data type. The answer identifier, in contrast, is always the same. Read commands always start with the same identifier, and the motor controller answers differently, depending on the data type returned. All numbers are kept in hexadecimal form.

Read commands Write commands

Low byte of the main index (hex)

High byte of the main index (hex)

UINT8 / INT8

Subindex (hex)

Identifier for 8 bit

Command 40h IX0 IX1 SU 2Fh IX0 IX1 SU DO

Answer: 4Fh IX0 IX1 SU D0 60h IX0 IX1 SU

UINT16 / INT16 Identifier for 8 bit Identifier for 16 bit

Command 40h IX0 IX1 SU 2Bh IX0 IX1 SU DO D1

Answer: 4Bh IX0 IX1 SU D0 D1 60h IX0 IX1 SU

UINT32 / INT32 Identifier for 16 bit Identifier for 32 bit

Command 40h IX0 IX1 SU 23h IX0 IX1 SU DO D1 D2 D3

Answer: 43h IX0 IX1 SU D0 D1 D2 D3 60h IX0 IX1 SU

Identifier for 32 bit

EXAMPLE

UINT8 / INT8

Reading obj. 6061_00h

Return data: 01h

Writing obj. 1401_02h

Data: EFh

Command 40h 61h 60h 00h 2Fh 01h 14h 02h EFh

Answer: 4Fh 61h 60h 00h 01h 60h 01h 14h 02h

UINT16 / INT16

Reading obj. 6041_00h

Return data: 1234h Writing obj. 6040_00h

Data: 03E8h

Command 40h 41h 60h 00h 2Bh 40h 60h 00h E8h 03h

Answer: 4Bh 41h 60h 00h 34h 12h 60h 40h 60h 00h

UINT32 / INT32

Reading obj. 6093_01h

Return data: 12345678h Writing obj. 6093_01h

Data: 12345678h

Command 40h 93h 60h 01h 23h 93h 60h 01h 78h 56h 34h 12h

Answer: 43h 93h 60h 01h 78h 56h 34h 12h 60h 93h 60h 01h

Page 20: CANopen for Motor Controller CMMS/CMMD

3. Access Procedure

20 Festo P.BE-CMMS-CO-SW-EN 1012a

Caution

The acknowledgement from the motor controller must always be waited for. Only when the motor controller has acknowledged the request may additional requests be sent.

3.2.2 SDO Error Messages

In case of an error when reading or writing (for example, because the written value is too large), the motor controller answers with an error message instead of the acknowledgement:

Command … IX0 IX1 SU … … … …

Answer: 80h IX0 IX1 SU F0 F1 F2 F3

Error identifier Error code (4 byte)

Error code F3 F2 F1 F0

Significance

06 01 00 00h Access type is not supported.

06 02 00 00h The addressed object does not exist in the object directory

06 04 00 41h The object must not be entered into a PDO

06 04 00 42h The length of the objects entered in the PDO exceeds the PDO length

06 07 00 10h Protocol error: Length of the service parameter does not agree

06 07 00 12h Protocol error: Length of the service parameter is too large

06 07 00 13h Protocol error: Length of the service parameter is too small

06 09 00 11h The addressed subindex does not exist

06 01 00 01h Read access to an object that can only be written

06 01 00 02h Write access to an object that can only be read

06 04 00 47h Overflow of an internal variable / general error

06 06 00 00h Access faulty due to a hardware problem *1)

05 03 00 00h Protocol error: Toggle bit was not changed

05 04 00 01h Protocol error: Client / server command specifier invalid or unknown

06 09 00 30h The data exceed the range of values of the object

06 09 00 31h The data are too large for the object

06 09 00 32h The data are too small for the object

06 09 00 36h Upper limit is less than lower limit

08 00 00 20h Data cannot be transmitted or stored *1)

08 00 00 21h Data cannot be transmitted or stored, since the motor controller is working locally

08 00 00 22h Data cannot be transmitted or stored, since the motor controller for this is not in the correct

state *3)

08 00 00 23h There is no object dictionary available *2)

Page 21: CANopen for Motor Controller CMMS/CMMD

3. Access Procedure

Festo P.BE-CMMS-CO-SW-EN 1012a 21

*1) Returned in accordance with DS301 in case of incorrect access to store_parameters /

restore_parameters.

*2) This error is returned, for example, when another bus system controls the motor controller or the

parameter access is not permitted.

*3) "Status" here should be understood in general: It may be a problem of the incorrect operating

mode or a technology module that is not available or the like.

3.2.3 Simulation of SDO Access via RS232

The firmware of the motor controller offers the possibility to simulate SDO access via the RS232 interface. In this way, after being written, objects in the test phase can be read and checked via the CAN bus over the RS232 interface. Application creation is simplified through use of the start-up software Festo Configuration Tool (FCT) with the related plug-in.

The syntax of the commands is:

Read commands Write commands

Main index (hex)

UINT8 / INT8

Subindex (hex)

Command ? XXXX SU = XXXX SU: WW

Answer: = XXXX SU: WW = XXXX SU: WW

UINT16 / INT16 8 bit data (hex)

Command ? XXXX SU = XXXX SU: WWWW

Answer: = XXXX SU: WWWW = XXXX SU: WWWW

UINT32 / INT32 16 bit data (hex)

Command ? XXXX SU = XXXX SU: WWWWWWWW

Answer: = XXXX SU: WWWWWWWW = XXXX SU: WWWWWWWW

32 bit data (hex)

Note that the commands are entered as characters without any blanks.

Caution

Never use these test commands in applications!

Access via RS232 only serves test purposes and is not suitable for real-time-capable communication.

In addition, the syntax of the test commands can be changed at any time.

Page 22: CANopen for Motor Controller CMMS/CMMD

3. Access Procedure

22 Festo P.BE-CMMS-CO-SW-EN 1012a

3.3 PDO Message

With Process Data Objects (PDOs), data can be transmitted in an event-driven manner.

The PDO thereby transmits one or more previously established parameters. Other than with an SDO, there is no acknowledgement when a PDO is transmitted. After PDO activation, all recipients must therefore be able to process any arriving PDOs at any time. This normally means a significant software effort in the host computer. This disadvantage is offset by the advantage that the host computer does not need to cyclically query parameters transmitted by a PDO, which leads to a strong reduction in CAN bus capacity utilisation.

EXAMPLE The host computer would like to know when the motor controller has completed a positioning from A to B.

When SDOs are used, it must constantly, such as every millisecond, query the statusword object, with which it uses up the bus capacity.

When a PDO is used, the motor controller is parametrised at the start of the application in such a way that, with every change in the statusword object, a PDO containing the statusword object is deposited.

Instead of constantly querying, the host computer thus automatically receives a corresponding message as soon as the event occurs.

A distinction is made between the following types of PDOs:

Transmit-PDO................... Controller Host Motor controller sends PDO when a certain event occurs

Receive-PDO .................... Host Controller Motor controller evaluates PDO when a certain event occurs

The motor controller has two transmit and two receive PDOs.

Almost all objects of the object directory can be entered (mapped) into the PDOs; that is, the PDO contains all data, e.g. the actual speed, the actual position, or the like. The motor controller must first be told which data have to be transmitted, since the PDO only contains reference data and no information about the type of parameter. In the example below, the actual position is transmitted in the data bytes 0 … 3 of the PDO and the actual speed in the bytes 4 … 7.

Number of data bytes (here 8)

Start actual speed (D4 … D7)

181h Len D0 D1 D2 D3 D4 D5 D6 D7

Identifier Start actual position (D0 ... D3)

In this way, almost any desired data telegrams can be defined. The following chapters describe the settings necessary for this.

Page 23: CANopen for Motor Controller CMMS/CMMD

3. Access Procedure

Festo P.BE-CMMS-CO-SW-EN 1012a 23

3.3.1 Description of the Objects

Identifier of the PDO cob_id_used_by_pdo

In the object cob_id_used_by_pdo, the identifier in which the

respective PDO is sent or received is entered. If bit 31 is set, the respective PDO is deactivated. This is the default setting for all PDOs.

The COB-ID may only be changed if the PDO is deactivated, that is, bit 31 is set. Therefore, the following process must be followed to change the COB-ID:

- Reading the COB-ID

- Writing the read COB-ID + 80000000h

- Writing the new COB-ID + 80000000h

- Writing the newCOB-ID, the PDO is active again.

The set bit 30 shows when the identifier is read that the object cannot be queried by a remote frame. This bit is ignored during writing and is always set during reading.

Number of objects to be transmitted

number_of_mapped_objects

This object specifies how many objects should be mapped into the corresponding PDO. The following limitations must be observed:

A maximum of 4 objects can be mapped per PDO.

A PDO may have a maximum of 64 bits (8 bytes).

Objects to be transmitted

first_mapped_object … fourth_mapped_object

For each object contained in the PDO, the motor controller must be told the corresponding index, subindex and length. The stated length must agree with the stated length in the object dictionary. Parts of an object cannot be mapped.

The mapping information has the following format:

Main index of the object to be mapped (hex)

Subindex of the object to be mapped (hex)

xxx_mapped_object Index

(16 bits)

Sub-index

(8 bits)

Length

(8 bits)

Length of the object

Page 24: CANopen for Motor Controller CMMS/CMMD

3. Access Procedure

24 Festo P.BE-CMMS-CO-SW-EN 1012a

To simplify the mapping, the following procedure is established:

1. The number of mapped objects is set to 0.

2. The parameters first_mapped_object … fourth_mapped_object may be written (The overall length of all objects is not relevant in this time).

3. The number of mapped objects is set to a value between 1 ... 4. The length of all these objects must now not exceed 64 bits.

Type of transmission

transmission_type und inhibit_time

Which event results in sending (transmit PDO) or evaluation (receive PDO) of a message can be determined for each PDO:

Value Significance Permitted with

00h – F0h SYNC-Message

The numerical value specifies how many SYNC-

Messages are ignored between transmissions

before the PDO is

• sent (T-PDO) or

• evaluated (R-PDO).

TPDOs

RPDOs

FEh Cyclical

The transfer PDO is cyclically updated and sent by

the motor controller. The time period is set by the

object inhibit_time.

Receive PDOs, in contrast, are evaluated

immediately after reception.

TPDOs

(RPDOs)

FFh Change

The transfer PDO is sent when at least 1 bit has

changed in the data of the PDO.

With inhibit_time, the minimum interval between

sending two PDOs can also be established in

100μs steps.

TPDOs

The use of all other values is not permitted.

Masking transmit_mask_high und transmit_mask_low

If "change" is selected as the transmission_type, the TPDO is

always sent when at least 1 bit of the TPDO changes. But frequently it is necessary that the TPDO should only be sent when certain bits have changed. Therefore, the TPDO can be equipped with a mask: Only the bits of the TPDO that are set to "1" in the mask are used to evaluate whether the PDO has changed. Since this function is manufacturer-specific, all bits of the masks are set as default value.

Page 25: CANopen for Motor Controller CMMS/CMMD

3. Access Procedure

Festo P.BE-CMMS-CO-SW-EN 1012a 25

EXAMPLE The following objects should be transmitted in one PDO:

Name of the object Index_Subindex Significance

statusword 6041h_00h Controller regulation

modes_of_operation_display 6061h_00h Operating mode

digital_inputs 60FDh_00h Digital inputs

The first transmit PDO (TPDO 1) should be used, which should always be sent whenever one of the digital inputs changes, but at a maximum of every 10 ms. As identifier for this PDO, 187h should be used.

1.) Deactivating PDO

If the PDO is active, it must first be deactivated.

Reading out of the identifier: 40000181h = cob_id_used_by_pdo

Setting of bit 31 (deactivate): cob_id_used_by_pdo = C0000181h

2.) Deleting number of objects

Set the number of objects to zero in order to be able to change the object mapping. number_of_mapped_objects = 0

3.) Setting parameters for objects that are to be mapped

The above-listed objects must be combined into a 32 bit value:

Index =6041h Subin. = 00h Length = 10h first_mapped_object = 60410010h

Index =6061h Subin. = 00h Length = 08h second_mapped_object = 60610008h

Index =60FDh Subin. = 00h Length = 20h third_mapped_object = 60FD0020h

4.) Setting parameters for number of objects

The PDO should contain 3 objects number_of_mapped_objects = 3h

5.) Setting parameters for transmission type

The PDO should be sent when changes (to the digital inputs) are sent.

transmission_type = FFh

To ensure that only changes to the digital inputs result in transmission, the PDO is masked so that only the 16 bits of the object 60FDh "come through".

transmit_mask_high = 00FFFF00h transmit_mask_low = 00000000h

The PDO should be sent no more than every 10 ms (100×100 μs). inhibit_time = 64h

6.) Setting identifier parameters

The PDO should be sent with identifier 187h.

Writing new identifier: cob_id_used_by_pdo = C0000187h

Activating by deletion of bit 31: cob_id_used_by_pdo = 40000187h

Note that parameter setting of the PDOs may generally only be changed when the network status (NMT) is not operational. See also chapter 3.3.3

Page 26: CANopen for Motor Controller CMMS/CMMD

3. Access Procedure

26 Festo P.BE-CMMS-CO-SW-EN 1012a

3.3.2 Objects for PDO Parameter Setting

The motor controllers of the CMMS/CMMD series contain a total of two transmit and two receive PDOs. The individual objects for setting parameters for these PDOs are the same for all TPDOs and all RPDOs in each case. For that reason, only the parameter description of the first TPDO is explicitly listed. The meaning can also be used for the other PDOs, which are listed in table form in the following:

Index 1800h

Name transmit_pdo_parameter_tpdo1

Object Code RECORD

No. of Elements 3

Sub-Index 01h

Description cob_id_used_by_pdo_tpdo1

Data Type UINT32

Access rw

PDO Mapping no

Units -

Value Range 181h ... 1FFh, Bit 30 and 31 may be set

Default Value C0000181h

Sub-Index 02h

Description transmission_type_tpdo1

Data Type UINT8

Access rw

PDO Mapping no

Units -

Value Range 0 ... 8Ch, FEh, FFh

Default Value FFh

Sub-Index 03h

Description inhibit_time_tpdo1

Data Type UINT16

Access rw

PDO Mapping no

Units 100 μs (i.e. 10 = 1ms)

Value Range --

Default Value 0

Page 27: CANopen for Motor Controller CMMS/CMMD

3. Access Procedure

Festo P.BE-CMMS-CO-SW-EN 1012a 27

Index 1A00h

Name transmit_pdo_mapping_tpdo1

Object Code RECORD

No. of Elements 4

Sub-Index 00h

Description number_of_mapped_objects_tpdo1

Data Type UINT8

Access rw

PDO Mapping no

Units --

Value Range 0 ... 4

Default Value see table

Sub-Index 01h

Description first_mapped_object_tpdo1

Data Type UINT32

Access rw

PDO Mapping no

Units --

Value Range --

Default Value see table

Sub-Index 02h

Description second_mapped_object_tpdo1

Data Type UINT32

Access rw

PDO Mapping no

Units --

Value Range --

Default Value see table

Page 28: CANopen for Motor Controller CMMS/CMMD

3. Access Procedure

28 Festo P.BE-CMMS-CO-SW-EN 1012a

Sub-Index 03h

Description third_mapped_object_tpdo1

Data Type UINT32

Access rw

PDO Mapping no

Units --

Value Range --

Default Value see table

Sub-Index 04h

Description fourth_mapped_object_tpdo1

Data Type UINT32

Access rw

PDO Mapping no

Units --

Value Range --

Default Value see table

Observe that the object groups transmit_pdo_parameter_xxx and transmit_pdo_mapping_xxx can only be written when the PDO is deactivated (bit 31 in cob_id_used_by_pdo_xxx set)

1. Transmit-PDO

Index Comment Type Acc. Default Value

1800h_00h number of entries UINT8 ro 03h

1800h_01h COB-ID used by PDO UINT32 rw C0000181h

1800h_02h transmission type UINT8 rw FFh

1800h_03h inhibit time (100 μs) UINT16 rw 0000h

1A00h_00h number of mapped objects UINT8 rw 01h

1A00h_01h first mapped object UINT32 rw 60410010h

1A00h_02h second mapped object UINT32 rw 00000000h

1A00h_03h third mapped object UINT32 rw 00000000h

1A00h_04h fourth mapped object UINT32 rw 00000000h

Page 29: CANopen for Motor Controller CMMS/CMMD

3. Access Procedure

Festo P.BE-CMMS-CO-SW-EN 1012a 29

2. Transmit-PDO

Index Comment Type Acc. Default Value

1801h_00h number of entries UINT8 ro 03h

1801h_01h COB-ID used by PDO UINT32 rw C0000281h

1801h_02h transmission type UINT8 rw FFh

1801h_03h inhibit time (100 μs) UINT16 rw 0000h

1A01h_00h number of mapped objects UINT8 rw 02h

1A01h_01h first mapped object UINT32 rw 60410010h

1A01h_02h second mapped object UINT32 rw 60610008h

1A01h_03h third mapped object UINT32 rw 00000000h

1A01h_04h fourth mapped object UINT32 rw 00000000h

tpdo_1_transmit_mask

Index Comment Type Acc. Default Value

2014h_00h number of entries UINT8 ro 02h

2014h_01h tpdo_1_transmit_mask_low UINT32 rw FFFFFFFFh

2014h_02h tpdo_1_transmit_mask_high UINT32 rw FFFFFFFFh

tpdo_2_transmit_mask

Index Comment Type Acc. Default Value

2015h_00h number of entries UINT8 ro 02h

2015h_01h tpdo_2_transmit_mask_low UINT32 rw FFFFFFFFh

2015h_02h tpdo_2_transmit_mask_high UINT32 rw FFFFFFFFh

1. Receive-PDO

Index Comment Type Acc. Default Value

1400h_00h number of entries UINT8 ro 02h

1400h_01h COB-ID used by PDO UINT32 rw C0000201h

1400h_02h transmission type UINT8 rw FFh

1600h_00h number of mapped objects UINT8 rw 01h

1600h_01h first mapped object UINT32 rw 60400010h

1600h_02h Second mapped object UINT32 rw 00000000h

1600h_03h third mapped object UINT32 rw 00000000h

1600h_04h fourth mapped object UINT32 rw 00000000h

Page 30: CANopen for Motor Controller CMMS/CMMD

3. Access Procedure

30 Festo P.BE-CMMS-CO-SW-EN 1012a

2. Receive-PDO

Index Comment Type Acc. Default Value

1401h_00h number of entries UINT8 ro 02h

1401h_01h COB-ID used by PDO UINT32 rw C0000301h

1401h_02h transmission type UINT8 rw FFh

1601h_00h number of mapped objects UINT8 rw 02h

1601h_01h first mapped object UINT32 rw 60400010h

1601h_02h Second mapped object UINT32 rw 60600008h

1601h_03h third mapped object UINT32 rw 00000000h

1601h_04h fourth mapped object UINT32 rw 00000000h

3.3.3 Activation of PDOs

For the motor controller to send or receive PDOs, the following points must be met:

- The object number_of_mapped_objects must not equal zero.

- In the object cob_id_used_for_pdos, bit 31 must be deleted.

- The communication status of the motor controller must be operational

(see chapter 3.7 Network Management: NMT Service)

For parameters to be set for PDOs, the following points must be met:

- The communication status of the motor controller must not be operational.

3.4 SYNC-Message

Several devices of a system can be synchronised with each other. To do this, one of the devices (usually the higher-order controller) periodically sends out synchronisation messages. All connected controllers receive these messages and use them for treatment of the PDOs (see chapter 0).

Identifier: 80h

80h 0

Data length

The identifier on which the motor controller receives the SYNC message is set permanently to 80h. The identifier can be read via the object cob_id_sync.

Page 31: CANopen for Motor Controller CMMS/CMMD

3. Access Procedure

Festo P.BE-CMMS-CO-SW-EN 1012a 31

Index 1005h

Name cob_id_sync

Object Code VAR

Data Type UINT32

Access rw

PDO Mapping no

Units --

Value Range 80000080h, 00000080h

Default Value 00000080h

3.5 EMERGENCY-Message

The motor controller monitors the function of its major assemblies. These include the power supply, output stage, angle encoder evaluation and technology connections. In addition, the motor (temperature, angle encoder) and limit switch are checked. Incorrect parameter setting can also result in error messages (division by zero, etc.).

When an error occurs, the error number is shown in the motor controller's display. If several error messages occur simultaneously, the message with the highest priority (lowest number) is always shown in the display.

3.5.1 Structure of the EMERGENCY-Message

When an error occurs, the motor controller transmits an EMERGENCY message. The identifier of this message is put together from the identifier 80h and node number of

the affected motor controller.

The EMERGENCY message consists of eight data bytes, whereby the first two bytes contain an error_code, which is listed in the following table. An additional error code is in

the third byte (object 1001h). The remaining five bytes contain zeros.

error_code

Identifier: 80h +

node number

error_register (Obj. 1001h)

81h 8 E0 E1 R0 0 0 0 0 0

Data length

Page 32: CANopen for Motor Controller CMMS/CMMD

3. Access Procedure

32 Festo P.BE-CMMS-CO-SW-EN 1012a

The following error codes can occur:

Error message

error code (hex)

Display Message Causes Measures Error reaction 1)

2311 E311 I²t error

controller

(I²t at 100 %)

I²t monitoring of the

controller has been

triggered.

Check power dimensioning of

drive package.

PS off 2)

2312 E310 I²t error motor

(I²t at 100 %)

I²t monitoring of the

controller has been

triggered.

Motor/mechanics blocked or

hard to move?

Warn 2)

2320 E060 Overload

current,

intermediate

circuit /

output stage

Motor defective?

Short-circuit in cable?

Output stage

defective?

Check motor, cable and

controller.

PS off

2380 E190 I²t at 80 % Common error:

80 % of the maximum

I²t workload from the

controller or motor

has been achieved.

Motor/mechanics blocked or

hard to move?

Warn 2)

3210 E070 Overvoltage

in the

intermediate

circuit

Voltage energy

recovery through

motor application.

Braking of larges

masses.

Check the connection to the

braking resistor.

Check design (application).

PS off

3220 E020 Undervoltage

intermediate

circuit

Intermediate voltage

drops below the

parametrised

threshold.

Quick discharge due to

switched-off mains supply.

Check power supply.

Couple intermediate circuits if

technically permissible.

Check intermediate circuit

voltage (measure).

Check undervoltage monitor

(threshold value).

PS off 2)

3280 E320 Only

CMMS-AS/

CMMD-AS:

Error,

IC pre-charge

Intermediate circuit

could not be charged

(UZK < 150V)

Check mains voltage.

Page 33: CANopen for Motor Controller CMMS/CMMD

3. Access Procedure

Festo P.BE-CMMS-CO-SW-EN 1012a 33

Error message

error code (hex)

Display Message Causes Measures Error reaction 1)

3285 E328 Only

CMMS-AS/

CMMD-AS:

Error,

controller

enable

without IC

Power failure with

granted controller

enable

Check mains voltage.

4210 E040 Excess/low

temperature

of power

electronics

Device is overheated.

Device overloaded.

Temperature display

plausible?

Check installation conditions

(cooling: via the housing

surface, the integrated heat

sink and back wall)

PS off 2)

4280 E181 Output stage

temperature

5 °C below

maximum

CMMS-ST:

The output stage

temperature is greater

than 80 °C

CMMS-AS/CMMD-AS:

The output stage

temperature is greater

than 90 °C

Check installation conditions

(cooling: via the housing

surface, the integrated heat

sink and back wall)

PS off 2)

4310 E030 Temperature

monitoring,

motor

Motor too hot?

Suitable sensor?

Broken cable?

Sensor defective?

Check parametrisation (current

regulator, current limit values)

If the error remains even when

the sensor is bridged: Device

defective.

PS off

4310 E031 Temperature

monitoring,

motor

Error, dig. motor

temperature sensor.

Check parametrisation (current

regulator, current limit values)

If the error remains even when

the sensor is bridged:

Device defective.

PS off 2)

4380 E180 Motor

temperature

5 °C below

maximum

The motor

temperature is less

than 5 °C under the

parametrised

maximum

temperature

Check parameters

(current regulator, current

limits)

Ignore 2)

Page 34: CANopen for Motor Controller CMMS/CMMD

3. Access Procedure

34 Festo P.BE-CMMS-CO-SW-EN 1012a

Error message

error code (hex)

Display Message Causes Measures Error reaction 1)

5114 E050 5 V supply

fault

Monitoring of the

internal power supply

has recognised

undervoltage.

Either an internal

defect or an overload

The fault cannot be rectified

automatically.

Send motor controller to the

manufacturer.

PS off

5115 E051 Error, 24V

power supply

(out of range)

16V < U24V < 32V =

OK, otherwise NOK

PS off

5116 E052 Error, 12 V

electronic

power supply

11V < U12V < 13V =

OK, otherwise NOK

Separate device from the

entire peripheral equipment

and check whether the error is

still present after reset. If yes,

there is an internal defect and

a repair by the manufacturer is

necessary

PS off

5210 E210 Error, offset

current

measurement

The controller

performs offset

compensation of the

current measurement.

Tolerances that are

too large result in an

error.

If the error occurs repeatedly,

the hardware is defective.

Send motor controller to the

manufacturer.

PS off

5581 E261 Checksum

error

Checksum error of a

parameter set

Load factory settings. If the

error remains, the hardware

may be defective.

PS off

6081 E251 Hardware

fault

Motor controller and

firmware are not

compatible

Update the firmware. PS off

6180 E010 Stack

overflow

Incorrect firmware?

Sporadic high

calculation load due

to cycle time that is

too short and special

calculation-intensive

processes (save

parameter set, etc.)

Load an enabled firmware.

Reduce calculation load.

Contact the technical support

team.

PS off

6183 E163 Unexpected

status /

programming

error

The software has

taken an unexpected

status.

In case of repetition, load

firmware again. If the error

occurs repeatedly, the

hardware is defective.

PS off

Page 35: CANopen for Motor Controller CMMS/CMMD

3. Access Procedure

Festo P.BE-CMMS-CO-SW-EN 1012a 35

Error message

error code (hex)

Display Message Causes Measures Error reaction 1)

6187 E162 Initialization

error

Error in initializing the

default parameters.

In case of repetition, load

firmware again. If the error

occurs repeatedly, the

hardware is defective.

PS off

6191 E429 Error in

position

record

Common error:

1. An attempt is being

made to start an

unknown or

deactivated position

record.

2. The set acceleration

is too small for the

permissible maximum

speed. (Danger of a

calculation overflow in

the trajectory

calculation)

Check parametrisation and

sequence control, correct if

necessary.

PS off

6192 E419 Error, jump

destination

route

program

Jump to a position

record outside the

permitted range

Check parametrisation PS off

6193 E418 Error, record

continuation,

unknown

command

Unknown command

found during record

continuation

Check parametrisation PS off

6195 E702 General

arithmetic

error

The FHPP factor group

cannot be calculated

correctly.

Check the factor group PS off

6197 E149 Error, motor

identification

Error in automatic

determination of the

motor parameters.

Ensure sufficient intermediate

circuit voltage.

Encoder cable connected to

the right motor?

Motor blocked, e.g. holding

brake does not release?

PS off

Page 36: CANopen for Motor Controller CMMS/CMMD

3. Access Procedure

36 Festo P.BE-CMMS-CO-SW-EN 1012a

Error message

error code (hex)

Display Message Causes Measures Error reaction 1)

6199 E351 Time out for

quick stop

The parametrised time

for quick stop has

been exceeded

Check parametrisation PS off

6380 E703 Operating

mode error

Unallowed change of

the operating mode.

For example, torque

control for CMMS-ST

in the controlled mode

or parametrisation

mode under FHPP,

change of the

operating mode with

enabled output stage.

Check your application. It may

be that not every change is

permissible.

PS off 2)

7380 E082 Encoder

supply fault

4V < U_Encoder < 6V =

OK, otherwise NOK

- Test with another encoder

- Test with another encoder

cable

- Test with another controller

PS off

7386 E086 Only

CMMS-AS/

CMMD-AS:

SINCOS-

RS485

communi-

cation error

Communication to

serial angle encoders

faulty

(EnDat−encoder,

HIPERFACE−encoder,

BiSS−encoder).

Angle encoder

connected?

Angle encoder cable

defective?

Angle encoder

defective?

Check configuration of angle

encoder interface: procedure

corresponding to a) to c):

a) Serial encoder parametrised

but not connected?

Incorrect serial protocol

selected?

b) Encoder signals faulty?

c) Test with another encoder.

PS off

Page 37: CANopen for Motor Controller CMMS/CMMD

3. Access Procedure

Festo P.BE-CMMS-CO-SW-EN 1012a 37

Error message

error code (hex)

Display Message Causes Measures Error reaction 1)

7388 E088 Only

CMMS-AS/

CMMD-AS:

Internal angle

encoder error

Alarm bit set in the

EnDat encoder.

Possible causes:

Encoder- or manufacturer-

specific, e.g. a declining

illumination intensity for

optical encoders or excessive

speed. If the error occurs

permanently:

Test with another (error-free)

encoder (also replace the

connecting cable).

Encoder presumably

permanently defective.

PS off

7500 E220 PROFIBUS

faulty

initialization

Extension module

defective?

Please contact Technical

Support.

PS off 2)

7500 E222 PROFIBUS

Communi-

cation fault

Faulty initialization of

the Profibus

technology module.

Technology module

defective?

Check slave address set

Check bus termination

Check wiring

PS off 2)

7510 E790 RS232

communi-

cation error

Overflow during

reception of RS232

commands

Check wiring.

Check of the transmitted data.

PS off 2)

7582 E642 DeviceNet

communi-

cation error

Input buffer

overflowed

Too many messages

received within a short

period.

Reduce the scan rate. PS off 2)

7582 E643 DeviceNet

communi-

cation error

Transmission buffer

overflowed

Not sufficient free

space on the CAN bus

for sending messages.

Increase the baud rate, reduce

the number of nodes or reduce

the scan rate.

PS off 2)

Page 38: CANopen for Motor Controller CMMS/CMMD

3. Access Procedure

38 Festo P.BE-CMMS-CO-SW-EN 1012a

Error message

error code (hex)

Display Message Causes Measures Error reaction 1)

7582 E644 DeviceNet

communi-

cation error

IO-message could not

be sent

Check that the network is

connected correctly and has no

faults.

PS off 2)

7582 E645 DeviceNet

communi-

cation error

Bus off Check that the network is

connected correctly and has no

faults.

PS off 2)

7582 E646 DeviceNet

communi-

cation error

Overflow in the CAN

controller

Increase the baud rate, reduce

the number of nodes or reduce

the scan rate.

PS off 2)

7582 E651 DeviceNet

communi-

cation error

Timeout of the I/O

connection

No I/O message

received within the

expected time.

Please contact Technical

Support.

PS off 2)

7583 E651 DeviceNet

initialisation

error

Node number on hand

twice

Check the configuration PS off 2)

7584 E641 DeviceNet

general error

No 24 V bus voltage In addition to the motor

controller, connect the

DeviceNet module to 24 VDC.

PS off 2)

7584 E650 DeviceNet

general error

Common error:

Communication is

activated although no

technology module is

plugged in.

The DeviceNet

technology module is

attempting to read

unknown CO.

Unknown

DeviceNet error.

PS off 2)

7680 E290 SD card

not available

Tried to access

missing SD card.

Check:

- whether SD card is plugged in

correctly

- whether SD card is formatted

- whether compatible SD card

is plugged in.

Warn 2)

Page 39: CANopen for Motor Controller CMMS/CMMD

3. Access Procedure

Festo P.BE-CMMS-CO-SW-EN 1012a 39

Error message

error code (hex)

Display Message Causes Measures Error reaction 1)

7681 E291 SD card

initialization

error

Error on initialization /

communication not

possible

Plug card back in.

Check card (file format FAT).

If necessary, format card.

PS off 2)

7682 E292 SD card

parameter set

error

Checksum wrong /

File not available /

File format wrong /

Error saving the

parameter file on the

SD card

Check content (data) of the SD

card.

PS off 2)

8000 E052 Error, driver

power supply

Error in the plausibility

check of the driver

power supply

(reliable halt)

Separate device from the

entire peripheral equipment

and check if the fault is still

present after reset. If yes,

there is an internal defect and

a repair by the manufacturer is

required.

PS off

8000 E450 Error, driver

power supply

The driver supply is

still active despite the

"Safe Halt".

The internal logic might

malfunction due to high-

frequency switching

operations at the input for the

safe halt.

Check activation; the error

must not recur.

If the error occurs repeatedly

when the safe halt is activated:

check firmware (released

version?).

If all above possibilities have

been excluded, the hardware

of the motor controller is

defective.

PS off

Page 40: CANopen for Motor Controller CMMS/CMMD

3. Access Procedure

40 Festo P.BE-CMMS-CO-SW-EN 1012a

Error message

error code (hex)

Display Message Causes Measures Error reaction 1)

8000 E451 Error, driver

power supply

The driver supply is

activated again, even

though the

"Safe Halt" is still

requested.

The internal logic might

malfunction due to high-

frequency switching

operations at the input for the

safe halt.

Check activation; the error

must not recur.

If the error occurs repeatedly

when the safe halt is activated:

check firmware

(released version?).

If all above possibilities have

been excluded, the hardware

of the motor controller is

defective.

PS off

8000 E452 Error, driver

power supply

The driver supply does

not go on again, even

though the

"Safe Halt" signal is

no longer active.

If the error occurs repeatedly

when safe halt is being

deactivated, the hardware of

the motor controller is

defective.

PS off

8087 E453 Error

plausibility

DIN4 (output

stage enable)

Error in the plausibility

check of the output

stage enable

Please contact Technical

Support.

PS off

8100 E760 Only

CMMD-AS:

Error SSIO

communi-

cation

(axis 1 –

axis 2)

Common error:

1. Checksum error

during transfer of the

SSIO protocol

2. Timeout during

transmission

Check wiring.

Check whether the screening

of the motor cables is correctly

set up (EMC problem).

If the SSIO communication is

not necessarily needed

(e.g. no fieldbus module is

used, and the axes are

controlled separately over

I/Os, so this error may be

ignored.)

PS off 2)

Page 41: CANopen for Motor Controller CMMS/CMMD

3. Access Procedure

Festo P.BE-CMMS-CO-SW-EN 1012a 41

Error message

error code (hex)

Display Message Causes Measures Error reaction 1)

8100 E761 Only

CMMD-AS:

Error SSIO

communi-

cation (axis 2)

SSIO partner has

error 760

The error is triggered when the

other axis has reported an

SSIO communication error.

For example, if axis 2 reports

the error 76-0, the axis 1 of the

error 76-1 is triggered.

Measures and description of

the error response as with

error 76-0.

PS off 2)

8181 E122 CAN

communi-

cation error

Common error:

1. Error when sending

a message

(e.g. no bus

connected)

2. Timeout during

reception of the SYNC

messages in the

interpolated position

mode

Check wiring:

Cable specifications complied

with, broken cable, maximum

cable length exceeded,

terminating resistors correct,

cable screening earthed, all

signals displayed?

Replace device on a test basis.

If another device works

correctly with the same wiring,

send device to the

manufacturer for testing.

Check start sequence of the

application.

PS off 2)

8488 E424 Homing

required

No positioning

possible without

homing. Homing run

must be carried out

Reset optional parametrisation

"Homing required".

Carry out a new homing run

after acknowledgement of an

angle encoder error.

Warn 2)

8611 E170 Contouring

error limit

value

exceeded

Comparison threshold

for the limit value of

the contouring error

exceeded.

Enlarge error window.

Acceleration parameter too

large.

PS off 2)

8612 E400 Error SW limit

switch

reached

Negative SW limit

switch reached.

Check target data.

Check positioning area.

Warn 2)

8612 E401 Error SW limit

switch

reached

Positive SW limit

switch reached.

Check target data.

Check positioning area.

Warn 2)

Page 42: CANopen for Motor Controller CMMS/CMMD

3. Access Procedure

42 Festo P.BE-CMMS-CO-SW-EN 1012a

Error message

error code (hex)

Display Message Causes Measures Error reaction 1)

8612 E402 Error SW limit

switch

reached

Target position lies

behind the negative

SW limit switch

Check target data.

Check positioning area.

Warn 2)

8612 E403 Error SW limit

switch

reached

Target position lies

behind the positive

SW limit switch.

Check target data.

Check positioning area.

Warn 2)

8612 E430 Fault in limit

switch

Negative hardware

limit switch reached.

Check parameters, wiring and

proximity switches.

Warn 2)

8612 E431 Fault in limit

switch

Positive hardware

limit switch reached.

Check parameters, wiring and

proximity switches.

Warn 2)

8612 E439 Fault in limit

switch

Both hardware limit

switches are active

simultaneously.

Check parameters, wiring and

proximity switches.

Warn 2)

8681 E421 Positioning:

Error in

precalculation

The positioning target

cannot be reached

through the

positioning or edge

condition options.

Check parametrisation of the

position records in question.

PS off 2)

8A81 E111 Error during

homing

Homing was

interrupted,

e.g. by withdrawal of

controller release or

through limit

switches.

Check homing sequence.

Check arrangement of the

switches.

Possibly lock stop input during

homing, if undesirable.

PS off Switch off power section

Qstop Fast stop

Warn Warning

1)

Ignore Ignore

2) Changeable with FCT

Page 43: CANopen for Motor Controller CMMS/CMMD

3. Access Procedure

Festo P.BE-CMMS-CO-SW-EN 1012a 43

3.5.2 Description of the Objects

Object 1001h: error_register

The error type defined in the CiA standard 301 can be read via the object error_register.

Sub-Index 00h

Description error_register

Data Type UINT8

Access ro

PDO Mapping yes

Units --

Value Range 0 ... FFh

Default Value 0

bit Type of error

0 generic errror

1 current

2 voltage

3 temperature

4 communication error

5 device profile specific

6 reserved

7 manufacturer specific

Object 1003h: pre_defined_error_field

The respective error_code of the error messages is also stored in a four-stage error

memory. This is structured like a shift register so that the last error occurring is stored in the object 1003h_01h (standard_error_field_0). Through read access on the object 1003h_00h (pre_defined_error_field), it can be determined how many error messages are

currently stored in the error memory. The error memory is cleared by writing the value 00h into the object 1003h_00h (pre_defined_error_field). To be able to reactivate the output stage of the motor controller after an error, an error acknowledgement

(see chapter 5.1: Change of State 15) must also be performed.

Page 44: CANopen for Motor Controller CMMS/CMMD

3. Access Procedure

44 Festo P.BE-CMMS-CO-SW-EN 1012a

Index 1003h

Name pre_defined_error_field

Object Code ARRAY

No. of Elements 4

Data Type UINT32

Sub-Index 01h

Description standard_error_field_0

Access ro

PDO Mapping no

Units --

Value Range --

Default Value --

Sub-Index 02h

Description standard_error_field_1

Access ro

PDO Mapping no

Units --

Value Range --

Default Value --

Sub-Index 03h

Description standard_error_field_2

Access ro

PDO Mapping no

Units --

Value Range --

Default Value --

Sub-Index 04h

Description standard_error_field_3

Access ro

PDO Mapping no

Units --

Value Range --

Default Value --

Page 45: CANopen for Motor Controller CMMS/CMMD

3. Access Procedure

Festo P.BE-CMMS-CO-SW-EN 1012a 45

Object 1014h_00h: cob-id_emergency_object

Sub-Index 00h

Description cob-id_emergency_object

Data Type UINT32

Access rw

PDO Mapping no

Units --

Value Range --

Default Value 80h + Node-ID

3.6 Heartbeat / Bootup (Error Control Protocol)

3.6.1 Structure of the Heartbeat Message

The so-called Heartbeat protocol is implemented to monitor communication between slave (drive) and master: Here, the drive sends messages cyclically to the master. The master can check whether these messages occur cyclically and introduce appropriate measures if they do not. The Heartbeat telegram is transmitted with the identifier 700h + node number. It contains only 1 byte of user data, the NMT status of the motor

controller (see chapter 3.7: Network Management: NMT Service).

NMT status

Identifier: 700h +

node number

701h 1 N

Data length

N Significance

04h Stopped

05h Operational

7Fh Pre-Operational

Page 46: CANopen for Motor Controller CMMS/CMMD

3. Access Procedure

46 Festo P.BE-CMMS-CO-SW-EN 1012a

3.6.2 Structure of the Bootup Message

After the power supply is switched on or after a reset, the motor controller reports via a Bootup message that the initialisation phase is ended. The motor controller is then in the NMT status preoperational (see chapter 3.7: Network Management: NMT Service)

Bootup message identifier

Identifier: 700h +

node number

701h 1 0

Data length

The Bootup message is structured almost identically to the Heartbeat message. Only a zero is sent instead of the NMT status.

3.6.3 Description of the Objects

Object 1017h: producer_heartbeat_time

The time between two Heartbeat telegrams can be established via the object producer_heartbeat_time.

Index 1017h

Name producer_heartbeat_time

Object Code VAR

Data Type UINT16

Access rw

PDO Mapping no

Units ms

Value Range 0 ... 65536

Default Value 0

The producer_heartbeat_time can be stored in the parameter record. If the motor controller starts with producer_heartbeat_time not equal to zero, the bootup message is the first heartbeat.

The motor controller can only be used as a so-called heartbeat producer. The object 1016h (consumer_heartbeat_time) is therefore implemented only for compatibility reasons and always returns 0.

Page 47: CANopen for Motor Controller CMMS/CMMD

3. Access Procedure

Festo P.BE-CMMS-CO-SW-EN 1012a 47

3.7 Network Management (NMT Service)

All CANopen devices can be triggered via the Network Management. The identifier with the highest priority (000h) is reserved for this.

By means of NMT, commands can be sent to one or all controllers. Each command consists of two bytes, whereby the first byte contains the command specifier (cs) and the second byte the node ID (ni) of the addressed controller. Through the node ID zero, all nodes in the network can be addressed simultaneously. It is thus possible, for example, that a reset is triggered in all devices simultaneously. The controller does not acknowledge the NMT commands. Successful completion can only be determined indirectly (e.g. through the switch-on message after a reset).

Structure of the NMT Message:

Command specifier

Identifier: 000h

Node ID

000h 2 CS NI

Data length

For the NMT status of the CANopen node, statuses are established in a status diagram. Changes in statuses can be triggered via the CS byte in the NMT message. These are

largely oriented on the target status.

Reset Application

ResetCommunication

Initialising

Pre-Operational(7Fh)

Operational(05h)

Stopped(04h)

1

2

5 7

6 8

3 4

16

15

11

13

12

10

9

14

Initialisation

Fig. 3.2 NMT state machine

Page 48: CANopen for Motor Controller CMMS/CMMD

3. Access Procedure

48 Festo P.BE-CMMS-CO-SW-EN 1012a

The NMT status of the motor controller can be influenced via the following commands:

CS Significance Transitions Target status

01h Start Remote Node 3, 6 Operational (05h)

02h Stop Remote Node 5, 8 Stopped (04h)

80h Enter Pre-Operational 4, 7 Pre-Operational (7Fh)

81h Reset Application 12, 13, 14 Reset Application *1)

82h Reset Communication 9, 10, 11 Reset Communication *1)

*1) The final target status is pre-operational (7Fh), since the transitions 15, 16 and 2 are automatically

performed by the motor controller.

All other status transitions are performed automatically by the motor controller, e.g. because the initialisation is completed.

In the NI parameter, the node number of the motor controller must be specified or zero if

all nodes in the network are to be addressed (broadcast). Depending on the NMT status, certain communication objects cannot be used: So, for example, it is absolutely necessary to place the NMT status to Operational, so that the motor controller sends PDOs.

Name Significance SDO PDO NMT

Reset Application No Communication. All CAN objects are reset to their

reset values (application parameter set) - - -

Reset Communication No communication

The CAN controller is newly initialised. - - -

Initialising Status after hardware reset. Resetting of the CAN node,

Sending of the bootup message - - -

Pre-Operational Communication via SDOs possible

PDOs not active (no sending / evaluating) X - X

Operational Communication via SDOs possible

All PDOs active (sending / evaluating) X X X

Stopped No communication except for heartbeating - - X

NMT telegrams must not be sent in a burst (immediately one after another)! At least twice the position controller cycle time must lie between two consecutive NMT messages on the bus (also for different nodes!) for the motor controller to process the NMT messages correctly.

The communication status must be set to operational for the motor controller to transmit and receive PDOs.

Page 49: CANopen for Motor Controller CMMS/CMMD

3. Access Procedure

Festo P.BE-CMMS-CO-SW-EN 1012a 49

3.8 Nodeguarding (Error Control Protocol)

3.8.1 Overview

The so-called Nodeguarding protocol can also be used to monitor communication between slave (drive) and master. In contrast to the Heartbeat protocol, master and slave monitor each other:

The master cyclically asks the drive about its NMT status. In every response of the controller, a certain bit is inverted (toggled). If these responses are not made or the controller always responds with the same toggle bit, the master can react accordingly. Likewise, the drive monitors the regular arrival of the master's nodeguarding requests: If messages are not received for a certain time period, the controller triggers error 12-4. Since both heartbeat and nodeguarding telegrams are sent with the identifier 700h + node

number, both protocols can be active at the same time. If both protocols are activated

simultaneously, only the heartbeat protocol is active.

3.8.2 Structure of the Nodeguarding Messages

The master's request must be sent as a so-called remote frame with the identifier 700h +

node number. In the case of a remote frame, a special bit is also set in the telegram, the

remote bit. Remote frames have no data.

Identifier:700h

+

node number

701h R 0

The response of the controller is built up analogously to the heartbeat message. It contains only 1 byte of user data, the toggle bit and the NMT status of the controller.

Toggle bit / NMT status

Identifier:700h

+

node number

701h 1 T/N

Data length

The first data byte (T/N) is constructed in the following way:

bit Value Name Significance

7 80h toggle_bit Changes with every telegram

0 ... 6 7Fh nmt_state 04h Stopped

05h Operational

7Fh Pre-Operational

Remote bit (Remote frames have no data)

Page 50: CANopen for Motor Controller CMMS/CMMD

3. Access Procedure

50 Festo P.BE-CMMS-CO-SW-EN 1012a

The monitoring time for the master's requests can be parametrised. Monitoring begins with the first received remote request of the master. From this time on, the remote requests must arrive before the monitoring time has passed, since otherwise error 12-4 is triggered.

The toggle bit is reset through the NMT command Reset Communication. It is therefore deleted in the first response of the controller.

3.8.3 Description of the Objects

Object 100Ch: guard_time

To activate the nodeguarding monitoring, the maximum time between two remote requests of the master is parametrised. This time is established in the controller from the product of guard_time (100Ch) and life_time_factor (100Dh). It is therefore recommended to write the life_time_factor with 1 and then specify the time directly via the guard_time

in milliseconds.

Index 100Ch

Name guard_time

Object Code VAR

Data Type UINT16

Access rw

PDO Mapping no

Units ms

Value Range 0 ... 65535

Default Value 0

Object 100Dh: life_time_factor

The life_time_factor should be written with 1 in order to specify the guard_time directly.

Index 100Dh

Name life_time_factor

Object Code VAR

Data Type UINT8

Access rw

PDO Mapping no

Units --

Value Range 0, 1

Default Value 0

Page 51: CANopen for Motor Controller CMMS/CMMD

3. Access Procedure

Festo P.BE-CMMS-CO-SW-EN 1012a 51

3.9 Table of Identifiers

The following table gives an overview of the identifiers used:

Object type Identifier (hexadecimal) Comment

SDO (Host an Controller) 600h+node number

SDO (Controller an Host) 580h+node number

TPDO1 181h

TPDO2 281h

RPDO1 201h

RPDO2 301h

Standard values.

Can be changed if needed.

SYNC 080h

EMCY 080h +node number

HEARTBEAT 700h+node number

BOOTUP 700h+node number

NMT 000h

Page 52: CANopen for Motor Controller CMMS/CMMD

4. Setting Parameters

52 Festo P.BE-CMMS-CO-SW-EN 1012a

4. Setting Parameters Before the motor controller can carry out the desired task (torque regulation, speed adjustment, positioning), numerous parameters of the motor controller must be adapted to the motor used and the specific application. The sequence in the subsequent chapters should be followed thereby. After setting of the parameters, device control and use of the various operating modes are explained.

The 7-segment display of the motor controller shows an "A" (Attention) if the motor controller has not been parametrised appropriately yet.

Besides the parameters described in depth here, the object directory of the motor controller contains other parameters that have to be implemented in accordance with CANopen. But they normally do not contain any information that can sensibly be used in designing an application with the CMMS/CMMD family. If needed, specification of such objects can be read in [1] and [2] (see page 12).

4.1 Load and Save Parameter Sets

4.1.1 Overview

The motor controller has three parameter sets:

- Current parameter set

This parameter set is located in the random access memory (RAM) of the motor controller. It can be read and written with the commissioning software FCT. When the motor controller is switched on, the application parameter set is copied into the

current parameter set.

- Default parameter set

This is the parameter set of the motor controller provided standard by the manufacturer and is unchangeable. Through a write process in the CANopen object 1011h_01h (restore_all_default_parameters) the default parameter set can be copied into the current parameter set. This copying process is only possible when the output

stage is switched off.

- Application parameter set The current parameter set can be stored in the nonvolatile flash memory. The saving process can be triggered with a write access to the CANopen object 1010h_01h (save_all_parameters). When the motor controller is switched on, the application

parameter set is automatically copied into the current parameter set.

The following diagram illustrates the connections between the individual parameter sets.

Page 53: CANopen for Motor Controller CMMS/CMMD

4. Setting Parameters

Festo P.BE-CMMS-CO-SW-EN 1012a 53

Fig. 4.1 Connections between parameter sets

Warning

Before the output stage is switched on for the first time, make sure the controller really contains the parameters you want.

An incorrectly parametrised controller can turn out of control and cause personal injury or property damage.

4.1.2 Description of the Objects

Object 1011h: restore_default_parameters

Index 1011h

Name restore_parameters

Object Code ARRAY

No. of Elements 1

Data Type UINT32

Sub-Index 01h

Description restore_all_default_parameters

Access rw

PDO Mapping no

Units --

Value Range 64616F6Ch ("load")

Default Value 1 (read access)

Default parameter set

Application parameter set

CANopen

object 1011

Switching on of the

controller

CANopen object 1010

Current parameter set

Page 54: CANopen for Motor Controller CMMS/CMMD

4. Setting Parameters

54 Festo P.BE-CMMS-CO-SW-EN 1012a

The object 1011h_01h (restore_all_default_parameters) makes it possible to put the current parameter set into a defined state. To achieve this, the default parameter set is copied into the current parameter set. The copying process is triggered by a write access

to this object, whereby the string "load" must be transferred as a data record in hexadecimal form.

This command is only carried out with a deactivated output stage. Otherwise, the SDO error "Data cannot be transmitted or stored, since the motor controller for this is not in the correct state" is generated. If the incorrect identifier is sent, the error "Data cannot be transmitted or stored" is generated. If the object is accessed by reading, a 1 is returned to show that resetting to default values is supported.

The CAN communication parameters (node no., baud rate and operating mode) remain -unchanged.

Object 1010h: store_parameters

Index 1010h

Name store_parameters

Object Code ARRAY

No. of Elements 1

Data Type UINT32

Sub-Index 01h

Description save_all_parameters

Access rw

PDO Mapping no

Units --

Value Range 65766173h ("save")

Default Value 1

If the default parameter set should also be taken over into the application parameter set, the object 1010h_01h (save_all_parameters) must also be called up.

Page 55: CANopen for Motor Controller CMMS/CMMD

4. Setting Parameters

Festo P.BE-CMMS-CO-SW-EN 1012a 55

4.2 Conversion Factors (Factor Group)

4.2.1 Overview

Motor controllers are used in a wide variety of applications: As direct drive, with follow-on gear, for linear drive, etc. To permit easy parameter setting, the motor controller can be parametrised with the help of the factor group so that the user can specify or read out all variables, such as speed, directly in the desired units at the output (e.g. with a linear axis position value in millimetres and speeds in millimetres per second). The motor controller then uses the factor group to calculate the entries in its internal units of measurement. For each physical variable, (position, speed and acceleration), there is a conversion factor available to adapt the user units to the own application. The units set through the factor group are generally designated position_units, speed_units or acceleration_units.

The following sketch illustrates the function of the factor group:

Fig. 4.2 Factor group

All parameters are stored in the motor controller in its internal units and only converted with the help of the factor group when being written in or read out.

For that reason, the factor group should be set before the first parameter setting and not

changed during parameter setting.

The factor group is set to the following units by default:

Size Designation Unit of measure Explanation

Length position_units Increments 65536 increments per revolution

Speed speed_units min-1 Revolutions per minute

Acceleration acceleration_units (min-1)/s Rotational speed increase per second

Page 56: CANopen for Motor Controller CMMS/CMMD

4. Setting Parameters

56 Festo P.BE-CMMS-CO-SW-EN 1012a

4.2.2 Description of the Objects

Objects treated in this chapter

Index Object Name Type Attr.

6093h ARRAY position_factor UINT32 rw

6094h ARRAY velocity_encoder_ factor UINT32 rw

6097h ARRAY acceleration_factor UINT32 rw

607Eh VAR Polarity UINT8 rw

Object 6093h: position_factor

The object position_factor converts all length units of the application from position_units

into the internal unit increments (65536 increments equal 1 revolution). It consists of

numerator and denominator.

Fig. 4.3 Overview: Factor group

Index 6093h

Name position_factor

Object Code ARRAY

No. of Elements 2

Data Type UINT32

Page 57: CANopen for Motor Controller CMMS/CMMD

4. Setting Parameters

Festo P.BE-CMMS-CO-SW-EN 1012a 57

Sub-Index 01h

Description Numerator

Access rw

PDO Mapping yes

Units --

Value Range --

Default Value 1

Sub-Index 02h

Description Divisor

Access rw

PDO Mapping yes

Units --

Value Range --

Default Value 1

The following parameters are involved in the calculation formula of the position_factor:

gear_ratio Gear ratio between revolutions at the drive-in (RIN) and revolutions at the drive-out (ROUT)

feed_constant Ratio between revolutions at the drive-out (ROUT) and movement in position_units (e.g. 1 rev. = 360 degrees)

The position_factors is calculated using the following formula:

antfeed_const

65536gear_ratio

divisor

numeratoractorposition_f

⋅==

The position_factor must be written to the motor controller separated into numerators

and denominators. This can make it necessary to bring the fraction up to whole integers by expanding it accordingly.

Page 58: CANopen for Motor Controller CMMS/CMMD

4. Setting Parameters

58 Festo P.BE-CMMS-CO-SW-EN 1012a

EXAMPLE

First, the desired unit (column 1) and the desired decimal positions (DP) must be determined along with the gear factor and, if applicable, the feed constant of the application. This feed constant is then depicted in the desired position units (column 2).

Finally, all values can be placed in the equation and the fraction calculated:

1.) Desired unit at the drive-out (position_units) 2.) feed_constant: How much position_units are 1 revolution (ROUT) 3.) Gear Ratio (gear_ratio): revsIN per revsOUT 4.) Insert values into equation

1. 2. 3. 4. RESULT

Abbreviated

num: 1

Increments, 0 DP

inc.

1 ROUT =

65536 Inc 1/1

InkInk

UInkUInk

UU

11=

165536

6553611

div: 1

num: 4096

Degree, 1 DP

1/10 Degree

(°/10)

1 ROUT =

3600 °/10

1/1 1010

13600

6553611

°°=

360065536 Ink

U

UInk

UU

div: 225

num: 16384 1/1

100U

100U

Ink

U

UInk

UU

10065536=

1001

6553611

div: 25

num: 32768

Rev., 2 DP

1/100 Rev.

( revs/100 )

1 ROUT =

100 R/100

2/3 100100

1001

6553632

UUInk

U

UInk

UU

300

131072=⋅

div: 75

num: 524288

mm, 1 DP

1/10 mm

(mm/10)

63.15 mm/R

1 ROUT =

631.5 mm/10

4/5

10mm

10mm

Ink

U

UInk

UU

315752621440=

1631.5

6553654

div: 6315

Page 59: CANopen for Motor Controller CMMS/CMMD

4. Setting Parameters

Festo P.BE-CMMS-CO-SW-EN 1012a 59

6094h: velocity_encoder_factor

The object velocity_encoder_factor converts all speed values of the application from speed_units into the internal unit revolutions per 4096 minutes. It consists of numerator

and denominator.

Index 6094h

Name velocity_encoder_factor

Object Code ARRAY

No. of Elements 2

Data Type UINT32

Sub-Index 01h

Description Numerator

Access rw

PDO Mapping yes

Units --

Value Range --

Default Value 1

Sub-Index 02h

Description Divisor

Access rw

PDO Mapping yes

Units --

Value Range --

Default Value 1

Page 60: CANopen for Motor Controller CMMS/CMMD

4. Setting Parameters

60 Festo P.BE-CMMS-CO-SW-EN 1012a

Calculation of the velocity_encoder_factor consists in principle of two parts: a conversion factor from internal length units into position_units, and a conversion factor from internal

time units into user-defined time units (e.g. from seconds into minutes). The first part corresponds to the calculation of the position_factor; for the second part, an additional

factor is added to the calculation:

time_factor_v Ratio between internal time unit and user-defined time unit. (e.g. 1 min = 1/4096 4096 min)

gear_ratio Gear ratio between revolutions at the drive-in (RIN) and revolutions at the drive-out (ROUT)

feed_constant Ratio between revolutions at the drive-out (ROUT) and movement in position_units (e.g. 1 rev. = 360 degrees)

The calculation of the velocity_encoder_factor uses the following equation:

antfeed_const

r_vtime_factogear_ratio

divisor

numeratortorncoder_facvelocity_e

⋅==

Like the position_factor, the velocity_encoder_factor also has to be written to the motor

controller separated into numerators and denominators. This can make it necessary to bring the fraction up to whole integers by expanding it accordingly.

Page 61: CANopen for Motor Controller CMMS/CMMD

4. Setting Parameters

Festo P.BE-CMMS-CO-SW-EN 1012a 61

EXAMPLE First, the desired unit (column 1) and the desired decimal positions (DP) must be determined along with the gear factor and, if applicable, the feed constant of the application. This feed constant is then depicted in the desired position units (column 2). Then the desired time unit is converted into the time unit of the motor controller (column 3). Finally, all values can be placed in the equation and the fraction calculated:

1.) Desired unit at the drive-out (speed_units) 2.) feed_constant: How much position_units are 1 revolution (ROUT)? 3.) time_factor_v: Requested time unit per internal time unit 4.) Gear factor (gear_ratio) RIN per ROUT 5.) Insert values into equation

1. 2. 3. 4. 5. RESULT

Abbreviated

num: 1 R/min 0 DP

1/100 R/min

1 ROUT =

65536 lnk

1min

1 =

1min

1

1/1 min

Umin

Umin1

min1

11

11

11

1

1=⋅⋅

UUUU

UU

div: 1

num: 1 R/min 2 DP

1/100 R/min

(R/100 min)

1 ROUT =

100 R/100

1min

1 =

1min

1

2/3 100min

Umin

Umin

1min

1

300

2=⋅⋅

U

UU

UU

100U

1100

32

11

div: 150

num: 1 ° /s 1 DP

1/10 °/s

(° /10s)

1 ROUT =

3600 °/10

1s

1 =

60min

1

1/1

10s10

U

UU

UU

°°=

⋅⋅

3600

60 minU

s1

min1

13600

6011

11

div: 60

num: 32

mm/s 1 DP

1/10 mm/s

(mm/10s)

63.15 mm/R

1 ROUT =

631.5 mm/10

1s

1 =

60min

1

4/5 s10

mm

minU

s1

min1

31575

2400=

⋅⋅

U

UU

UU

10mm

15.631

6054

11

div: 421

Page 62: CANopen for Motor Controller CMMS/CMMD

4. Setting Parameters

62 Festo P.BE-CMMS-CO-SW-EN 1012a

Object 6097h: acceleration_factor

The object acceleration_factor converts all acceleration values of the application from acceleration_units into the internal unit Revolutions per minute per 256 seconds.

It consists of numerator and denominator.

Index 6097h

Name acceleration_factor

Object Code ARRAY

No. of Elements 2

Data Type UINT32

Sub-Index 01h

Description Numerator

Access rw

PDO Mapping yes

Units --

Value Range --

Default Value 1

Sub-Index 02h

Description Divisor

Access rw

PDO Mapping yes

Units --

Value Range --

Default Value 1

Page 63: CANopen for Motor Controller CMMS/CMMD

4. Setting Parameters

Festo P.BE-CMMS-CO-SW-EN 1012a 63

Calculation of the acceleration_factor consists of two parts: a conversion factor from internal length units into position_units, and a conversion factor from internal time units

squared into user-defined time units squared (e.g. from seconds2 into minutes2). The first part corresponds to the calculation of the position_factor; for the second part, an

additional factor is added:

time_factor_a Ratio between internal times units squared and user-defined time unit squared (e.g. 1 min2 = 1 min⋅1 min = 60 s ⋅1 min = 60/256

256 min ⋅s)

gear_ratio Gear ratio between revolutions at the drive-in (RIN) and revolutions at the drive-out (ROUT)

feed_constant Ratio between revolutions at the drive-out (ROUT) and movement in position_units (e.g. 1 rev. = 360 degrees)

The acceleration_factors is calculated using the following formula:

antfeed_const

r_atime_factogear_ratio

divisor

numeratoron_factoraccelerati

⋅==

The acceleration_factor is also written into the motor controller separated by numerator

and denominator, so it may have to be expanded.

Page 64: CANopen for Motor Controller CMMS/CMMD

4. Setting Parameters

64 Festo P.BE-CMMS-CO-SW-EN 1012a

EXAMPLE First, the desired unit (column 1) and the desired decimal positions (DP) must be determined along with the gear factor and, if applicable, the feed constant of the application. This feed constant is then depicted in the desired position units (column 2). Then the desired time unit2 is converted into the time unit2 of the motor controller (column 3). Finally, all values can be placed in the equation and the fraction calculated:

1.) Desired unit at the drive-out (acceleration_units) 2.) feed_constant: How much position_units are 1 revolution (ROUT)? 3.) time_factor_a: Desired time unit2 per internal time unit2 4.) Gear factor (gear_ratio) RIN per ROUT 5.) Insert values into equation

1. 2. 3. 4. 5. RESULT

Abbreviated

1 ROUT = num: 256

R/min/s 0 DP U/min s

1 ROUT

1smin ⋅

1 =

256s256

min

1

1/1 s

minU

s256minU

smin1

s min 2561

1

256 ⋅⋅ =⋅

UU

UU

11

1256

11

div: 1

num: 64

° /s² 1 DP 1/10 °/s²

(° /10s²)

1 ROUT =

3600 °/10

12s

1 =

60smin ⋅

1 =

60·256s256

min

1

1/1 2s 10

s256minU

1

smin 2561

°

°

=

⋅⋅

360015360

U

UU

10

s

13600

125660

11

2 div: 15

num: 32 R/min² 2 DP

1/100 R/min²

(R/100 min²)

1 ROUT =

100 R/100

12min

1 =

601

smin

1

=

60256

s256

min

1

2/3 2min 100

U

s 256minU

min1

smin 2561

18000 512=

⋅ ⋅

U

UU

U

1100

60256

32

100

2

div: 1125

num: 8192

mm/s² 1 DP

1/10 mm/s²

(mm/10s²)

63.15 mm/R

1 ROUT =

631.5 mm/10

12s

1 =

60smin ⋅

1 =

60·256s256

min

1

4/5 2s 10

mm

s 256minU

s1

smin 2561

6315 122880=

⋅⋅ ⋅

U

UU

mm

15.6311

2566054

10

2 div: 421

Page 65: CANopen for Motor Controller CMMS/CMMD

4. Setting Parameters

Festo P.BE-CMMS-CO-SW-EN 1012a 65

Object 607Eh: polarity

The algebraic sign of the position and speed values of the motor controller can be set with the corresponding polarity_flag. This can serve to invert the motor's direction of rotation with the same setpoint values.

In most applications, it makes sense to set the position_polarity_flag and the velocity_polarity_flag to the same value.

Setting of the polarity_flag influences only parameters when reading and writing. Parameters already present in the motor controller are not changed.

Index 607Eh

Name polarity

Object Code VAR

Data Type UINT8

Access rw

PDO Mapping yes

Units --

Value Range 40h, 80h, C0h

Default Value 0

bit Value Name Significance

6 40h velocity_polarity_flag 0: multiply by 1 (default)

1: multiply by –1 (invers)

7 80h position_polarity_flag 0: multiply by 1 (default)

1: multiply by –1 (invers)

Object 6091h: gear_ratio

A gear can be set via this object. Index 6091h

Name gear_ratio

Object Code RECORD

No. of Elements 2

Page 66: CANopen for Motor Controller CMMS/CMMD

4. Setting Parameters

66 Festo P.BE-CMMS-CO-SW-EN 1012a

Sub-Index 01h

Description motor_revolutions

Data Type UINT32

Access rw

PDO Mapping no

Units --

Value Range 1 ... FFFFFFFFh

Default Value 1

Sub-Index 02h

Description shaft_revolutions

Data Type UINT32

Access rw

PDO Mapping no

Units --

Value Range 1 ... FFFFFFFFh

Default Value 1

Object 6092h: feed_constant

The feed per motor revolution can be set over this object. Index 6092h

Name feed_constant

Object Code RECORD

No. of Elements 2

Sub-Index 01h

Description feed

Data Type UINT32

Access rw

PDO Mapping no

Units --

Value Range 1 ... FFFFFFFFh

Default Value 1

Page 67: CANopen for Motor Controller CMMS/CMMD

4. Setting Parameters

Festo P.BE-CMMS-CO-SW-EN 1012a 67

Sub-Index 02h

Description shaft_revolutions

Data Type UINT32

Access rw

PDO Mapping no

Units --

Value Range 1 ... FFFFFFFFh

Default Value 1

4.3 Output stage parameter

4.3.1 Overview

The mains voltage is fed in to the output stage via a precharging circuit. When the power supply is switched on, the starting current is limited and charging is monitored. After precharging of the intermediate circuit, the charging circuit is bridged. This status is a requirement for issuing controller enable. The rectified mains voltage is smoothed with the condensers of the intermediate circuit. From the intermediate circuit, the motor is powered via the IGBTs. The output stage contains a series of safety functions, which can be partially parametrised:

- Controller enable logic (software and hardware enable)

- Overcurrent monitoring

- Overvoltage / undervoltage monitoring of the intermediate circuit

- Power partial monitoring

4.3.2 Description of the Objects

Index Object Name Type Attr.

6510h VAR drive_data

Object 6510h_10h: enable_logic

For the output stage of the motor controller to be activated, the digital inputs output

stage enable and controller enable must be set: The output stage enable has a direct

effect on the control signals of the power transistors and would also be able to interrupt them in case of a defective microprocessor. The removal of the output stage enable with running motor thus ensures that the motor runs out unbraked or is only stopped by the holding brake, if on hand. The controller enable is processed by the microcontroller of the

motor controller. Depending on the operating mode, the motor controller reacts differently after removal of this signal:

Page 68: CANopen for Motor Controller CMMS/CMMD

4. Setting Parameters

68 Festo P.BE-CMMS-CO-SW-EN 1012a

- Positioning mode and speed-regulated mode

The motor is braked with a defined brake ramp after removal of the signal. The output stage is only switched off when the motor speed lies below 10 min-1 and the holding brake, if on hand, has activated.

- Torque-regulated mode

The output stage is switched off immediately after removal of the signal. At the same time, a holding brake, if on hand, is activated. And so the motor runs out or is stopped only by the holding brake that may be on hand.

Warning

Dangerous voltage

Both signals do not guarantee that the motor is voltage-free.

When operating the motor controller over the CAN bus, the two digital inputs output stage

enable and controller enable can be placed together onto 24 V, and the enable can be controlled via the CAN bus. For this, the object 6510h_10h (enable_logic) must be set to

two. For safety reasons, this takes place automatically with activation of CANopen (also after a reset of the motor controller).

Index 6510h

Name drive_data

Object Code RECORD

No. of Elements 192

Sub-Index 10h

Description enable_logic

Data Type UINT16

Access rw

PDO Mapping no

Units --

Value Range 0 ... 2

Default Value 0

Value Significance

0 Digital inputs output stage enable + controller enable

1 Digital inputs output stage enable + controller enable + RS232

2 Digital inputs output stage enable + controller enable + CAN

Page 69: CANopen for Motor Controller CMMS/CMMD

4. Setting Parameters

Festo P.BE-CMMS-CO-SW-EN 1012a 69

Object 6510h_31h: power_stage_temperature

The temperature of the output stage can be read via the object power_stage_temperature. If the temperature specified in object 6510h_32h (max_power_stage_temperature) is exceeded, the output stage shuts off and an error

message is output.

Sub-Index 31h

Description power_stage_temperature

Data Type INT16

Access ro

PDO Mapping no

Units °C

Value Range --

Default Value --

4.4 Current Regulator and Motor Adjustment

Incorrect settings of the current control parameters and current limitations can result in malfunctions in the system.

4.4.1 Overview

The parameter set of the motor controller must be adapted for the connected motor and

the set of cables used.

These data are automatically entered in the corresponding fields, depending on motor and controller type, during parameter setting with the start-up software FCT.

Caution

If the phase sequence is distorted in the motor or angle encoder cable, the result may be positive feedback, so the speed in the motor cannot be regulated. The motor can turn uncontrollably!

Page 70: CANopen for Motor Controller CMMS/CMMD

4. Setting Parameters

70 Festo P.BE-CMMS-CO-SW-EN 1012a

4.4.2 Description of the Objects

Index Object Name Type Attr.

6075h VAR motor_rated_current UINT32 rw

6073h VAR max_current UINT16 rw

604Dh VAR pole_number UINT8 rw

6410h RECORD motor_data rw

60F6h RECORD torque_control_parameters rw

Affected objects from other chapters

Index Object Name Type Chapter

2415h RECORD current_limitation 4.7 Setpoint value limitation

Object 6075h: motor_rated_current

This value can be taken from the motor rating plate and is entered in milliamperes. The effective value (RMS) is always assumed. No current can be specified above the motor controller nominal current (6510h_40h: nominal_current).

Index 6075h

Name motor_rated_current

Object Code VAR

Data Type UINT32

Access rw

PDO Mapping yes

Units mA

Value Range 0 ... nominal_current

Default Value 1499

If the object 6075h (motor_rated_current) is written over with a new value, the object 6073h (max_current) must always be parametrised again.

Page 71: CANopen for Motor Controller CMMS/CMMD

4. Setting Parameters

Festo P.BE-CMMS-CO-SW-EN 1012a 71

Object 6073h: max_current

As a rule, the motors may be overloaded for a certain time period. With this object, the maximum permissible motor current is set. It refers to the nominal motor current (object 6075h: motor_rated_current) and is set in thousandths. The range of values is limited upward by the maximum controller current (object 6510h_41h: peak_current).

Many motors may be overloaded briefly by a factor of 2. In this case, the value 2000 is written into this object.

The object 6073h (max_current) may only be written over if the object 6075h (motor_rated_current) was previously overwritten.

Index 6073h

Name max_current

Object Code VAR

Data Type UINT16

Access rw

PDO Mapping yes

Units per thousands of motor_rated_current

Value Range --

Default Value 1675

Object 604Dh: pole_number

The number of pins of the motor can be found in the motor data sheet. The number of pins is always even. The number of pin pairs is often specified instead of the number of pins. The number of pins then equals twice the number of pin pairs.

Index 604Dh

Name pole_number

Object Code VAR

Data Type UINT8

Access rw

PDO Mapping yes

Units --

Value Range 2 ... 254

Default Value see table

Page 72: CANopen for Motor Controller CMMS/CMMD

4. Setting Parameters

72 Festo P.BE-CMMS-CO-SW-EN 1012a

Value Significance

100 CMMS-ST

8 CMMS-AS

8 CMMD-AS

Object 6410h_03h: iit_time_motor

As a rule, the motors may be overloaded for a certain time period. This object specifies how long current can flow through the connected motor with the current specified in the object 6073h (max_current). After the I²t time has elapsed, to protect the motor the current is automatically limited to the value set in Object 6075h (motor_rated_current).

Index 6410h

Name motor_data

Object Code RECORD

No. of Elements 5

Sub-Index 03h

Description iit_time_motor

Data Type UINT16

Access rw

PDO Mapping no

Units ms

Value Range 0 ... 10000

Default Value 1000

Object 6410h_04h: iit_ratio_motor

Through the object iit_ratio_motor, the current extent of utilisation of the I2t limitation can

be read in per thousands.

Sub-Index 04h

Description iit_ratio_motor

Data Type UINT16

Access ro

PDO Mapping no

Units Promille

Value Range --

Default Value --

Page 73: CANopen for Motor Controller CMMS/CMMD

4. Setting Parameters

Festo P.BE-CMMS-CO-SW-EN 1012a 73

The error is activated through changing the error response. Reactions causing the drive to stop are returned as ON, all others as OFF. When overwriting with 0, the error response

WARNING is set; when overwriting with 1, the error response CONTROLLER ENABLE OFF.

Object 6410h_10h: phase_order

In the phase sequence (phase_order), twisting between motor cable and angle encoder

cable are taken into account. It can be taken taken from the commissioning software FCT.

Sub-Index 10h

Description phase_order

Data Type INT16

Access rw

PDO Mapping yes

Units --

Value Range 0, 1

Default Value 1

Value Significance

0 Right-hand

1 Left-hand

Object 6410h_11h: resolver_offset_angle

The motors used have permanent magnets on the rotor. These generate a magnetic field, whose orientation toward the stator depends on the rotor position. For electronic commutation, the motor controller must always set the electromagnetic field of the stator in the correct angle to this permanent magnet field. To do this, it constantly determines the rotor position with an angle encoder (resolver, etc.).

The orientation of the angle encoder to the permanent magnetic field must be entered in the object resolver_offset_angle. It must be calculated as follows:

32767 resolver_offset_angle = "Offset angle of the angle encoder" ×

180°

Index 6410h

Name motor_data

Object Code RECORD

No. of Elements 5

Page 74: CANopen for Motor Controller CMMS/CMMD

4. Setting Parameters

74 Festo P.BE-CMMS-CO-SW-EN 1012a

Sub-Index 11h

Description resolver_offset_angle

Data Type INT16

Access rw

PDO Mapping yes

Units

Value Range -32767 ... 32767

Default Value E000h (-45°)

Object 60F6h: torque_control_parameters

The data of the current controller must be taken from the FCT start-up software. Attention must be paid to the following calculations:

Amplification of the current controller must be multiplied by 256. With an amplification of 1.5 in the "Current Controller" menu of the FCT start-up software, the value 384 = 180h must be written in the object torque_control_gain.

The current controller time constant is specified in the FCT start-up software in milliseconds. To transfer this time constant into the object torque_control_time, it must

previously be converted into 0.1 microseconds. With a specified time of 0.6 milliseconds, the corresponding value 600 is entered in the object torque_control_time.

Index 60F6h

Name torque_control_parameters

Object Code RECORD

No. of Elements 2

Sub-Index 01h

Description torque_control_gain

Data Type UINT16

Access rw

PDO Mapping no

Units 256 = "1"

Value Range 0 ... 32*256

Default Value 256

Page 75: CANopen for Motor Controller CMMS/CMMD

4. Setting Parameters

Festo P.BE-CMMS-CO-SW-EN 1012a 75

Sub-Index 02h

Description torque_control_time

Data Type UINT16

Access rw

PDO Mapping no

Units μs

Value Range 104 ... 64401

Default Value 2000

4.5 Speed regulator

4.5.1 Overview

The parameter set of the motor controller must be adapted for the application. In particular, the amplification is strongly dependent on dimensions that may be connected to the motor. The data must be optimally determined during system start-up using the FCT start-up software.

Caution

Incorrect setting of the speed regulator parameters can result in strong vibrations and possibly destroy parts of the system!

4.5.2 Description of the Objects

Index Object Name Type Attr.

60F9h RECORD velocity_control_parameters rw

Object 60F9h: velocity_control_parameters

The data of the speed regulator must be taken from the FCT start-up software. Attention must be paid to the following calculations:

Amplification of the speed regulator must be multiplied by 256.

With a gain of 1.5 in the "Speed Controller" menu of the FCT start-up software, the value 384 = 180h must be written to the object velocity_control_gain.

The speed regulator time constant is specified in the FCT start-up software in milliseconds. To transfer this time constant into the object velocity_control_time, it must

previously be converted into microseconds. With a specified time of 2.0 milliseconds, the corresponding value 2000 is entered in the object velocity_control_time.

Page 76: CANopen for Motor Controller CMMS/CMMD

4. Setting Parameters

76 Festo P.BE-CMMS-CO-SW-EN 1012a

Index 60F9h

Name velocity_control_parameter_set

Object Code RECORD

No. of Elements 2

Sub-Index 01h

Description velocity_control_gain

Data Type UINT16

Access rw

PDO Mapping no

Units 256 = Gain 1

Value Range 20 ... 64*256 (16384)

Default Value 128

Sub-Index 02h

Description velocity_control_time

Data Type UINT16

Access rw

PDO Mapping no

Units μs

Value Range 1 ... 32000

Default Value 8000

Sub-Index 04h

Description velocity_control_filter_time

Data Type UINT16

Access rw

PDO Mapping no

Units μs

Value Range 1 ... 32000

Default Value 1600

Page 77: CANopen for Motor Controller CMMS/CMMD

4. Setting Parameters

Festo P.BE-CMMS-CO-SW-EN 1012a 77

4.6 Position Controller (Position Control Function)

4.6.1 Overview

This chapter describes all parameters required for the position controller. The position setpoint value (position_demand_value) of the curve generator is applied to the input of the position controller. In addition, the actual position value (position_actual_value) is

added from the angle encoder (resolver, increment generator, etc.). The actions of the position controller can be influenced by parameters. It is possible to limit the output variable (control_effort) to keep the position control circuit stable. The output variable is

supplied to the speed regulator as the speed setpoint value. All input and output variables of the position controller are converted in the Factor Group from the application-

specific units into the respective internal units of the regulator.

The following subfunctions are defined in this chapter:

1. Contouring error (following_Error) The deviation of the actual position value (position_actual_value) from the position setpoint value (position_demand_value) is designated as contouring error.

If this contouring error is greater than specified in the contouring error window (following_error_window) for a specific time period, bit 13 following_error is set in the object statusword. The permissible time period can be specified via the object following_error_time_out. The current value of the contouring error can be read via following_error_actual_value.

1

following_error_window(6065

h)

0

-following_error_window(6065

h)

following_error_time_out(6066

h)

statusword, Bit 13 (6041h)

time

position_difference = position_demand_value (6062 ) - position_actual_value (6064 )

h h

t

t

t

Fig. 4.4 Contouring error – functional overview

The Fig. 4.5 shows how the window function is defined for the "contouring error" message. The area between xi-x0 and xi+x0 is defined symmetrically around the setpoint

position (position_demand_value) xi. For example, the positions xt2 and xt3 lie outside

this window (following_error_window). If the drive leaves this window and does not return to the window within the time specified in the object following_error_time_out, bit 13 following_error in statusword is set.

Page 78: CANopen for Motor Controller CMMS/CMMD

4. Setting Parameters

78 Festo P.BE-CMMS-CO-SW-EN 1012a

Fig. 4.5 Contour error

2. Position reached (Position Reached)

This function offers the possibility of defining a position window around the target position (target_position). If the actual position of the drive is located within this range for a specific time – the position_window_time – the related bit 10 (target_reached) is set in the statusword.

1

position_window(6067

h)

0

- position_window(6067

h)

position_window_time(6068

h)

statusword, Bit 10 (6041h)

time

position_difference = position_demand_value (6062 ) - position_actual_value (6064 )

h h

Fig. 4.6 Position reached – Functional overview

The Fig. 4.7 shows how the window function is defined for the "position reached" message. The area between xi-x0 and xi+x0 is defined symmetrically around the target

position (target_position) xi. For example, the positions xt0 and xt1 lie outside this

position window (position_window). If the drive is located in this window, a timer is

started in the motor controller. If this timer reaches the time specified in the object position_window_time and the drive continuously remains in the valid range between xi-

x0 and xi+x0 during this time, bit 10 target_reached in statusword is set. As soon as the

drive leaves the permissible range, both bit 10 and the timer are set to zero.

Page 79: CANopen for Motor Controller CMMS/CMMD

4. Setting Parameters

Festo P.BE-CMMS-CO-SW-EN 1012a 79

Fig. 4.7 Position reached

4.6.2 Description of the Objects

Objects treated in this chapter

Index Object Name Type Attr.

6062h VAR position_demand_value INT32 ro

6063h VAR position_actual_value_s INT32 ro

6064h VAR position_actual_value INT32 ro

6065h VAR following_error_window UINT32 rw

6066h VAR following_error_time_out UINT16 rw

6067h VAR position_window UINT32 rw

6068h VAR position_window_time UINT16 rw

60F4h VAR following_error_actual_value INT32 ro

60FAh VAR control_effort INT32 ro

60FBh RECORD position_control_parameter_set rw

60FCh VAR position_demand_value* INT32 ro

Affected objects from other chapters

Index Object Name Type Chapter

607Ah VAR target_position INT32 6.3 Positioning operating mode

607Ch VAR home_offset INT32 6.2 Homing run

607Dh VAR software_position_limit INT32 6.3 Positioning operating mode

607Eh VAR polarity UINT8 4.2 Conversion factors

6093h VAR position_factor UINT32 4.2 Conversion factors

6094h ARRAY velocity_encoder_factor UINT32 4.2 Conversion factors

6096h ARRAY acceleration_factor UINT32 4.2 Conversion factors

6040h VAR controlword INT16 5 Device control

6041h VAR statusword UINT16 5 Device control

Page 80: CANopen for Motor Controller CMMS/CMMD

4. Setting Parameters

80 Festo P.BE-CMMS-CO-SW-EN 1012a

Object 60FBh: position_control_parameter_set

The parameter set of the motor controller must be adapted for the application. The data of the position regulator must be optimally determined during system start-up using the FCT start-up software.

Caution

Incorrect setting of the position regulator parameters can result in strong vibrations and possibly destroy parts of the system!

The position controller compares the target location with the actual location and, from the difference, creates a correction speed(object 60FAh: control_effort), which is fed to the

speed regulator. The position controller is relatively slow, compared to the current and speed regulator. Therefore, the controller works internally with activation, so the stabilisation work for the position controller is minimised and the controller can rapidly stabilise.

A proportional link suffices as position controller. Amplification of the position controller must be multiplied by 256. With an amplification of 1.5 in the "Position Controller" menu of the FCT start-up software, the value 384 must be written in the object position_control_gain.

Since the position controller already converts the smallest position deviations into appreciable correction speeds, in the case of a brief disturbance (e.g. brief jamming of the system) it would lead to very major stabilisation processes with very large correction speeds. This can be avoided if the output of the position controller is sensibly limited via the object position_control_v_max (e.g. 500 min-1).

The size of the position deviation up to which the position controller will not intervene (dead area) can be defined with the object position_error_tolerance_window. This can be

used for stabilisation, such as when there is play in the system.

Index 60FBh

Name position_control_parameter_set

Object Code RECORD

No. of Elements 5

Sub-Index 01h

Description position_control_gain

Data Type UINT16

Access rw

PDO Mapping no

Units 256 = "1"

Value Range 0 ... 64*256 (16384)

Default Value 52

Page 81: CANopen for Motor Controller CMMS/CMMD

4. Setting Parameters

Festo P.BE-CMMS-CO-SW-EN 1012a 81

Sub-Index 04h

Description position_control_v_max

Data Type UINT32

Access rw

PDO Mapping no

Units speed units

Value Range 0 ... 131072 min-1

Default Value 500

Sub-Index 05h

Description position_error_tolerance_window

Data Type UINT32

Access rw

PDO Mapping no

Units position units

Value Range 0 ... 65536 (1 U)

Default Value 0

Object 6062h: position_demand_value

The current position setpoint value can be read out via this object. The curve generator feeds this into the position controller.

Index 6062h

Name position_demand_value

Object Code VAR

Data Type INT32

Access ro

PDO Mapping yes

Units Position units

Value Range --

Default Value --

Page 82: CANopen for Motor Controller CMMS/CMMD

4. Setting Parameters

82 Festo P.BE-CMMS-CO-SW-EN 1012a

Object 6063h: position_actual_value_s (increments)

The actual position can be read out via this object. The angle encoder feeds this to the position controller. This object is specified in increments.

Index 6063h

Name position_actual_value_s

Object Code VAR

Data Type INT32

Access ro

PDO Mapping yes

Units inkrements

Value Range --

Default Value --

Object 6064h: position_actual_value (user-defined units)

The actual position can be read out via this object. The angle encoder feeds this to the position controller. This object is specified in user-defined increments.

Index 6064h

Name position_actual_value

Object Code VAR

Data Type INT32

Access ro

PDO Mapping yes

Units position units

Value Range --

Default Value --

Object 6065h: following_error_window

The object following_error_window (contouring error window) defines a symmetrical range around the position setpoint value (position_demand_value). If the actual position value (position_actual_value) is outside the contouring error window (following_error_window), a contouring error occurs and bit 13 is set in the object statusword. The following can cause a contouring error:

- The drive is blocked

- The positioning speed is too high

- the acceleration values are too large

- the object following_error_window has too small a value

- the position controller is not correctly parametrised

Page 83: CANopen for Motor Controller CMMS/CMMD

4. Setting Parameters

Festo P.BE-CMMS-CO-SW-EN 1012a 83

Index 6065h

Name following_error_window

Object Code VAR

Data Type UINT32

Access rw

PDO Mapping yes

Units position units

Value Range 0 ... 7FFFFFFFh

Default Value 23D7h

Object 6066h: following_error_time_out

If a contouring error longer than defined in this object occurs, the related bit 13 following_error is set in the statusword.

Index 6066h

Name following_error_time_out

Object Code VAR

Data Type UINT16

Access rw

PDO Mapping yes

Units ms

Value Range 0 ... 27314

Default Value 100

Object 60F4h: following_error_actual_value

Index 60F4h

Name following_error_actual_value

Object Code VAR

Data Type INT32

Access ro

PDO Mapping yes

Units position units

Value Range -

Default Value -

Page 84: CANopen for Motor Controller CMMS/CMMD

4. Setting Parameters

84 Festo P.BE-CMMS-CO-SW-EN 1012a

Object 60FAh: control_effort

The output variable of the position controller can be read via this object. This value is internally fed to the speed regulator as setpoint value.

Index 60FAh

Name control_effort

Object Code VAR

Data Type INT32

Access ro

PDO Mapping yes

Units speed units

Value Range --

Default Value --

Object 6067h: position_window

With the object position_window, a symmetrical area is defined around the target position (target_position). If the actual position value (position_actual_value) lies within this area for a certain time, the target position (target_position) is considered reached.

Index 6067h

Name position_window

Object Code VAR

Data Type UINT32

Access rw

PDO Mapping yes

Units position units

Value Range --

Default Value 7AEh

Page 85: CANopen for Motor Controller CMMS/CMMD

4. Setting Parameters

Festo P.BE-CMMS-CO-SW-EN 1012a 85

Object 6068h: position_window_time

If the actual position of the drive is located within the positioning window (position_window) for as long as defined in this object, the related bit 10 target_reached is set in the statusword.

Index 6068h

Name position_window_time

Object Code VAR

Data Type UINT16

Access rw

PDO Mapping yes

Units ms

Value Range 0…65536

Default Value 400

4.7 Setpoint value limitation

4.7.1 Description of the objects

Objects treated in this chapter

Index Object Name Type Attr.

2415h RECORD current_limitation rw

Object 2415h: current_limitation

With the object group current_limitation, the maximum peak current for the motor can be

limited in the operating modes profile_position_mode, interpolated_position_mode, homing_mode und velocity_mode, which makes a torque-limited speed operation possible. The setponit value source of the limit torque is specified via the object limit_current_input_channel. Here, a choice can be made between specification of a

direct setpoint value (fieldbus / RS232) or specification via an analogue input. Depending on the source chosen, either the limit torque (source = fieldbus / RS232) or the scaling factor for the analogue inputs (source = analogue input) is specified via the object limit_current. In the first case, the torque-proportional current, in mA, is limited

directly; in the second case, the current that should correspond to a voltage of 10 V is specified, in mA.

Page 86: CANopen for Motor Controller CMMS/CMMD

4. Setting Parameters

86 Festo P.BE-CMMS-CO-SW-EN 1012a

Index 2415h

Name current_limitation

Object Code RECORD

No. of Elements 2

Sub-Index 01h

Description limit_current_input_channel

Data Type INT8

Access rw

PDO Mapping no

Units --

Value Range 0 ... 4

Default Value 0

Sub-Index 02h

Description limit_current

Data Type INT32

Access rw

PDO Mapping no

Units mA

Value Range --

Default Value 3550

Value Significance

0 No limitation

1 AIN0

2 Reserved

3 RS232

4 CAN

Page 87: CANopen for Motor Controller CMMS/CMMD

4. Setting Parameters

Festo P.BE-CMMS-CO-SW-EN 1012a 87

4.8 Digital inputs and outputs

4.8.1 Overview

All digital inputs of the motor controller can be read via the CAN bus, and almost all digital outputs can be set as desired. Moreover, status messages can be assigned to the digital outputs of the motor controller.

4.8.2 Description of the Objects

Objects treated in this chapter

Index Object Name Type Attr.

60FDh VAR digital_inputs UINT32 ro

60FEh ARRAY digital_outputs UINT32 rw

Object 60FDh: digital_inputs

The digital inputs can be read via the object 60FDh.

Index 60FDh

Name digital_inputs

Object Code VAR

Data Type UINT32

Access ro

PDO Mapping yes

Units --

Value Range according to table below

Default Value 0

bit Value Digital input

0 00000001h Negative limit switch

1 00000002h Positive limit switch

3 00000008h Interlock (controller or output stage enable missing)

16

29

00010000h

20000000h

DIN0 ... DIN13

30 40000000h CAN baud rate 0 off

31 80000000h CAN baud rate 1 off

Page 88: CANopen for Motor Controller CMMS/CMMD

4. Setting Parameters

88 Festo P.BE-CMMS-CO-SW-EN 1012a

Object 60FEh: digital_outputs

The digital outputs can be read via the object 60FEh. The three outputs can then be set as desired via the object digital_outputs_data. It should be noted that a delay of up to 10 ms

may occur in triggering the digital outputs. When the outputs are really set can be determined by reading back the object 60FEh.

Index 60FEh

Name digital_outputs

Object Code ARRAY

No. of Elements 1

Data Type UINT32

Sub-Index 01h

Description digital_outputs_data

Access rw

PDO Mapping yes

Units --

Value Range --

Default Value 0

bit Value Digital output

0 00000001h Brake; read-only

16 00010000h Ready to operate; read-only

17

19

00020000h

00080000h

DOUT1 ... DOUT3

EXAMPLE

A write access always influences bit17 to bit19.

To set DOUT1: 1.) The object 60FEh_01h digital_outputs_data(DOUT1 ... DOUT3)is being

read. 2.) Then bit17 is additionally set. 3.) The object 60FEh_01h digital_outputs_data(DOUT1 ... DOUT3)is being

read again.

Page 89: CANopen for Motor Controller CMMS/CMMD

4. Setting Parameters

Festo P.BE-CMMS-CO-SW-EN 1012a 89

4.9 Limit switch

4.9.1 Overview

Limit switches are used for the definition of the reference position of the motor controller. Further information on the possible homing methods can be found in chapter 6.2. Operating mode homing (Homing Mode).

4.9.2 Description of the Objects

Index Object Name Type Attr.

6510h RECORD drive_data rw

Object 6510h_11h: limit_switch_polarity

The polarity of the limit switches can be programmed via the object 6510h_11h (limit_switch_polarity). For normally closed limit switches, a zero is in this object,

whereas a one is entered when normally open contacts are used.

Index 6510h

Name drive_data

Object Code RECORD

No. of Elements 44

Sub-Index 11h

Description limit_switch_polarity

Data Type INT16

Access rw

PDO Mapping no

Units --

Value Range 0, 1

Default Value 0

Value Significance

0 Normally closed contact

1 Normally open contact

Page 90: CANopen for Motor Controller CMMS/CMMD

4. Setting Parameters

90 Festo P.BE-CMMS-CO-SW-EN 1012a

Object 6510h_15h: limit_switch_deceleration

The object limit_switch_deceleration establishes the deceleration used in braking when

the limit switch is reached during normal operation (limit switch emergency stop ramp).

Sub-Index 15h

Description limit_switch_deceleration

Data Type INT32

Access rw

PDO Mapping no

Units acceleration units

Value Range 0 ... 3000000

Default Value 2560000

4.10 Sampling of positions

4.10.1 Overview

The CMMS/CMMD family offers the possibility to save the actual position value on the rising or falling edge of a digital input. This position value can then be read out for calculation within a controller, for example.

Uultimately be read via the objects sample_position_rising_edge and sample_position_falling_edge.

4.10.2 Description of the Objects

Objects treated in this chapter

Index Object Name Type Attr.

204Ah RECORD sample_data ro

204Ah_05h VAR sample_position_rising_edge INT32 ro

204Ah_06h VAR sample_position_falling_edge INT32 ro

Object 204Ah: sample_data

Index 204Ah

Name sample_data

Object Code RECORD

No. of Elements 6

Page 91: CANopen for Motor Controller CMMS/CMMD

4. Setting Parameters

Festo P.BE-CMMS-CO-SW-EN 1012a 91

The following objects contain the sampled positions.

Sub-Index 05h

Description sample_position_rising_edge

Data Type INT32

Access ro

PDO Mapping yes

Units position units

Value Range --

Default Value --

Sub-Index 06h

Description sample_position_falling_edge

Data Type INT32

Access ro

PDO Mapping yes

Units position units

Value Range --

Default Value --

4.11 Device Information

Index Object Name Type Attr.

1000h_00h device_type UINT32 ro

1008h VAR manufacturer_device_name STR ro

1009h VAR manufacturer_hardware_version STR ro

100Ah VAR manufacturer_firmware_version STR ro

1018h RECORD identity_object rw

6510h RECORD drive_data rw

Via numerous CAN objects, the most varied of information, such as motor controller type, firmware used, etc. can be read out of the device.

Page 92: CANopen for Motor Controller CMMS/CMMD

4. Setting Parameters

92 Festo P.BE-CMMS-CO-SW-EN 1012a

4.11.1 Description of the Objects

Object 1000h: device_type

Through the object device_type, the device type of the controller can be read.

Index 1000h

Description device_type

Data Type UINT32

Access ro

PDO Mapping no

Units --

Value Range 0x00020192 ... 0x00040192

Default Value see table

Value Significance

40192h CMMS-ST

20192h CMMS-AS

20192h CMMD-AS

Object 1018h: identity_object

Through the identity_object established in the DS301, the motor controller can be

uniquely identified in a CANopen-network. For this purpose, the manufacturer code (vendor_id), a unique product code (product_code), the revision number of the CANopen implementation (revision_number) and the serial number of the device (serial_number)

can be read out.

Index 1018h

Name identity_object

Object Code RECORD

No. of Elements 4

Sub-Index 01h

Description vendor_id

Data Type UINT32

Access ro

PDO Mapping no

Units --

Value Range 0x0000001D

Default Value 0x0000001D

Page 93: CANopen for Motor Controller CMMS/CMMD

4. Setting Parameters

Festo P.BE-CMMS-CO-SW-EN 1012a 93

Sub-Index 02h

Description product_code

Data Type UINT32

Access ro

PDO Mapping no

Units --

Value Range 0x00001116 ... 0x00001118

Default Value see table

Value Significance

1116h CMMS-ST

1117h CMMS-AS

1118h CMMD-AS

Sub-Index 03h

Description revision_number

Data Type UINT32

Access ro

PDO Mapping no

Units MMMMSSSSh (M: main version, S: sub version)

Value Range --

Default Value 1

Sub-Index 04h

Description serial_number

Data Type UINT32

Access ro

PDO Mapping no

Units JMNNNNNN (J: Jahr (year), M: Monat (month),

N: Nummer (number))

Value Range --

Default Value --

Page 94: CANopen for Motor Controller CMMS/CMMD

4. Setting Parameters

94 Festo P.BE-CMMS-CO-SW-EN 1012a

Object 6510h_A9h: firmware_main_version

The main version number of the firmware (product stage) can be read out via the object firmware_main_version.

Sub-Index A9h

Description firmware_main_version

Data Type UINT32

Access ro

PDO Mapping no

Units MMMMSSSSh (M: main version, S: sub version)

Value Range --

Default Value --

Object 6510h_AAh: firmware_custom_version

The version number of the customer-specific variants of the firmware can be read out via the object firmware_custom_version.

Sub-Index AAh

Description firmware_custom_version

Data Type UINT32

Access ro

PDO Mapping no

Units MMMMSSSSh (M: main version, S: sub version)

Value Range --

Default Value --

Object 6510h_ADh: km_release

Through the version number of the km_release, firmware statuses (for CMMS-ST/AS from firmware version 1.4.0.x.y) of the same product stage can be differentiated.

Sub-Index ADh

Description km_release

Data Type UINT32

Access ro

PDO Mapping no

Units --

Value Range MMMMSSSSh (M: main version, S: sub version)

Default Value --

Page 95: CANopen for Motor Controller CMMS/CMMD

4. Setting Parameters

Festo P.BE-CMMS-CO-SW-EN 1012a 95

4.12 Error management

4.12.1 Overview

The motor controllers of the CMMS/CMMD offer the option to change the error reaction of individual events, e.g. the occurrence of a contouring error. As a result, the motor controller reacts differently when a certain event occurs: Depending on the setting, braking down can occur and the output stage shut off immediately, but also just a warning can be shown on the display.

For every event, a minimum reaction is intended by the manufacturer, which cannot be fallen below. And so "critical" errors, such as not reparametrising 06-0 short circuit output stage, since here an immediate switch-off is necessary to protect the motor controller from possible destruction.

If a lower error response is entered than is permissible for the respective error, the value is limited to the lowest permissible error response.

4.12.2 Description of the Objects

Objects treated in this chapter

Index Object Name Type Attr.

2100h RECORD error_management ro

2100h_01 h VAR error_number UINT8 rw

2100h_02 h VAR error_reaction_code UINT8 rw

Object 2100h: error_management

Index 2100h

Name error_management

Object Code RECORD

No. of Elements 2

The main error number whose response should be changed must be specified in the

object error_number. The main error number is normally specified before the hyphen (e.g. error 08-2, main error number 8). For possible error numbers, also see chap. 3.5

Page 96: CANopen for Motor Controller CMMS/CMMD

4. Setting Parameters

96 Festo P.BE-CMMS-CO-SW-EN 1012a

Sub-Index 01h

Description error_number

Data Type UINT8

Access rw

PDO Mapping no

Units --

Value Range 1 … 96

Default Value 1

The response of the error can be changed in the object error_reaction_code.

If the response falls below the manufacturer's minimum response, it is limited to this minimum. The response actually set can be determined by reading back.

Sub-Index 02h

Description error_reaction_code

Data Type UINT8

Access rw

PDO Mapping no

Units --

Value Range 0, 3, 5, 8

Default Value Depends on error_number

Value Significance

0 No action

3 Warning on the 7-segment display

5 Braking with fast stop ramp

8 Output stage off

Page 97: CANopen for Motor Controller CMMS/CMMD

5. Device Control

Festo P.BE-CMMS-CO-SW-EN 1012a 97

5. Device Control

5.1 Status Diagram (State Machine)

5.1.1 Overview

The following chapter describes how the motor controller can be regulated under CANopen, that is, how the output stage is switched on or an error is acknowledged, for example.

Under CANopen, the entire regulation of the motor controller is achieved via two objects: The host can regulate the motor controller via the controlword, while the status of the motor controller can be read back in the object statusword. The following terms are used

to explain controller regulation:

Status:

(State) The motor controller is in different statuses, depending on whether the final stage is switched on or an error has occurred, for example. The statuses defined under CANopen are presented in the course of the chapter.

Example: SWITCH_ON_DISABLED

Status transition

(State Transition) Just as with the statuses, CANopen also defines how to go from one status to another (e.g. to acknowledge an error). Status transitions are triggered by the host by setting bits in the controlword or internally through the motor controller, when it

recognises an error, for example.

Command

(Command) To trigger status transitions, certain combinations of bits must be set in the controlword. Such a combination is designated a

command.

Example: Enable Operation

Status diagram

(State Machine) The statuses and status transitions together form the status diagram, that is, the overview of all conditions and the transitions possible from there.

Page 98: CANopen for Motor Controller CMMS/CMMD

5. Device Control

98 Festo P.BE-CMMS-CO-SW-EN 1012a

5.1.2 Status diagram of the motor controller (State Machine)

Fig. 5.1 Status diagram of the motor controller

The status diagram can be roughly divided into three areas: "Power Disabled" means that the final stage is switched off and "Power Enabled" that the final stage is switched on. The statuses needed for handling errors are summarised in the "Fault" area.

The most important statuses of the motor controller are shown highlighted in the diagram. After it is switched on, the motor controller initialises itself and then reaches the status SWITCH_ON_DISABLED. In this status, the CAN communication is completely function

capable and the motor controller can be parametrised (e.g. the "speed adjustment" operating mode is set). The final stage is switched off and the shaft is thus freely rotatable. Through the status transitions 2, 3, 4 – which correspond in principle to the CAN controller enable – one reaches the status OPERATION_ENABLE. In this status, the output

stage is switched on and the motor regulated in accordance with the set operating mode. Therefore, you should always make sure beforehand that the drive is correctly parametrised and that a corresponding setpoint value equals zero.

The status transition 9 corresponds to removal of the output stage release, that is, a motor that is still running would fizzle out unregulated.

If an error occurs (regardless from which status), the system ultimately branches into the FAULT status. Depending on the severity of the error, certain actions, such as emergency braking, can still be performed (FAULT_REACTION_ACTIVE).

Page 99: CANopen for Motor Controller CMMS/CMMD

5. Device Control

Festo P.BE-CMMS-CO-SW-EN 1012a 99

In order to perform the named status transitions, certain bit combinations must be set in the controlword (see below). The lower 4 bits of the controlwords are jointly evaluated in

order to trigger a status transition. In the following, first only the most important status transitions 2, 3, 4, 9 and 15 are explained. A table of all possible statuses and status transitions are found at the end of this chapter.

The following table contains the desired status transition in the 1st column and in the 2nd column the requirements necessary for it (usually a command through the host, here depicted with frame). How this command is generated, that is, which bits must be set in the controlword, is evident in the 3rd column (x = not relevant).

Bit combination (controlword) No. Is performed when

Bit 3 2 1 0

Action

2 Output stage and controller enable

prev. + command Shutdown Shutdown = x 1 1 0 None

3 Command Switch On Switch On = x 1 1 1 Switching on the final

stage

4 Command Enable Operation Enable Operation = 1 1 1 1 Control in accordance with

set operating mode

9 Command Disable Voltage Disable Voltage = x x 0 x Final stage is blocked.

Motor rotates freely.

15 Error eliminated+

command Fault Reset Fault Reset = Bit 7 = Acknowledge error

Table 5.1: Most important status transitions of the motor controller

EXAMPLE After the motor controller has been parametrised, the motor controller should be "enabled", that is, the output stage switched on: 1.) The motor controller is in the status SWITCH_ON_DISABLED 2.) The motor controller should be in the status OPERATION_ENABLE 3.) The transitions 2, 3 and 4 are to be carried out according to the

status diagram (Fig. 5.1). 4.) From Table 5.1 follows:

Transition 2: controlword = 0006h New status: READY_TO_SWITCH_ON *1)

Transition 3: controlword = 0007h New status: SWITCHED_ON *1)

Transition 4: controlword = 000Fh New status: OPERATION_ENABLE *1) Notes: 1.) The example assumes that no other bits are set in the controlword

(for the transitions, only bits 0 … 3 are important). 2.) Transitions 3 and 4 can be combined by setting the controlword

immediately to 000Fh. For status transition 2, the set bit 3 is not relevant.

*1) The host must wait until the status in the statusword can be read back. This is explained in detail below.

Page 100: CANopen for Motor Controller CMMS/CMMD

5. Device Control

100 Festo P.BE-CMMS-CO-SW-EN 1012a

Status diagram: statuses

The following table lists all statuses and their meaning:

Name Significance

NOT_READY_TO_SWITCH_ON The motor controller performs a self-test. The CAN communication does

not work yet.

SWITCH_ON_DISABLED The motor controller has completed its self-test. CAN communication is

possible.

READY_TO_SWITCH_ON The motor controller waits until the digital inputs "output stage" and

"controller enable" are at 24 V.

(Controller enable logic "Digital input and CAN").

SWITCHED_ON *1) The final stage is switched on.

OPERATION_ENABLE *1) Voltage to the motor is on, and the motor is regulated according to the

operating mode.

QUICKSTOP_ACTIVE *1) The quick stop function is carried out (see: quick_stop_option_ code).

Voltage to the motor is on, and the motor is regulated according to the

quick stop function.

FAULT_REACTION_ACTIVE *1) An error has occurred. In case of critical errors, the system immediately

switches into the Fault status. Otherwise, the action specified in the

fault_reaction_option_code is carried out. Voltage to the motor is on, and

the motor is regulated according to the fault reaction function.

FAULT An error has occurred. No voltage is applied to the motor.

*1) The final stage is switched on.

Status diagram: Status transitions

The following table lists all statuses and their meaning:

Bit combination (controlword) No. Is performed when

Bit 3 2 1 0

Action

0 Switched on or reset occurs Internal transition Perform self-test

1 Self-test successful Internal transition Activation of CAN

communication

2 Output stage and controller enable

prev. + command Shutdown Shutdown = x 1 1 0 -

3 Command Switch On Switch On = x 1 1 1 Switching on the final

stage

4 Command Enable Operation Enable Operation = 1 1 1 1 Control in accordance with

set operating mode

5 Command Disable Operation Disable Operation = 0 1 1 1 Final stage is blocked.

Motor rotates freely

Page 101: CANopen for Motor Controller CMMS/CMMD

5. Device Control

Festo P.BE-CMMS-CO-SW-EN 1012a 101

Bit combination (controlword) No. Is performed when

Bit 3 2 1 0

Action

6 Command Shutdown Shutdown = x 1 1 0 Final stage is blocked.

Motor rotates freely

7 Command Quick Stop Quick Stop = x 0 1 x -

8 Command Shutdown Shutdown = x 1 1 0 Final stage is blocked.

Motor rotates freely

9 Command Disable Voltage Disable Voltage = x x 0 x Final stage is blocked.

Motor rotates freely.

10 Command Disable Voltage Disable Voltage = x x 0 x Final stage is blocked.

Motor rotates freely

11 Command Quick Stop Quick Stop = x 0 1 x

Braking is introduced in

accordance with

quick_stop_option_code.

12 Braking ended without command

Disable Voltage Disable Voltage = x x 0 x

Final stage is blocked.

Motor rotates freely

13 Error occurred Internal transition

In case of uncritical errors,

reaction according to

fault_reaction_option_code.

For critical errors,

transition 14 occurs

14 Error resolution is ended Internal transition Final stage is blocked.

Motor rotates freely

15 Error eliminated+

command Fault Reset Fault Reset = Bit 7 =

Acknowledge error

(with rising flank)

Caution

Output stage blocked …

… means that the power semiconductors (transistors) can no longer be actuated. If this status is taken with a turning motor, it fizzles out unbraked. If a mechanical motor brake is present, it is automatically actuated.

The signal does not guarantee that the motor is really voltage-free.

Caution

Output stage and controller enable enabled …

… means that the motor is actuated and regulated according to the chosen operating mode. If a mechanical motor brake is present, it is automatically triggered. In case of a defect or incorrect parametrisation (motor current, number of poles, resolver offset angle, etc.), this can result in uncontrolled behaviour of the drive.

Page 102: CANopen for Motor Controller CMMS/CMMD

5. Device Control

102 Festo P.BE-CMMS-CO-SW-EN 1012a

5.1.3 controlword (control word)

Object 6040h: controlword

With the controlword, the current status of the motor controller can be changed or a

certain action (e.g. start of homing) can be directly triggered. The function of bits 4, 5, 6 and 8 depends on the current operating mode (modes_of_operation) of the motor

controller, which is explained after this chapter.

Index 6040h

Name controlword

Object Code VAR

Data Type UINT16

Access rw

PDO Mapping yes

Units --

Value Range --

Default Value 0

Bit Value Function

0 0001h

1 0002h

2 0004h

3 0008h

Control the status transitions.

(These bits are evaluated together)

4 0010h new_set_point / start_homing_operation / enable_ip_mode

5 0020h change_set_immediatly

6 0040h absolute / relative

7 0080h reset_fault

8 0100h halt:

9 0200h reserved set to 0

10 0400h reserved set to 0

11 0800h reserved set to 0

12 1000h reserved set to 0

13 2000h reserved set to 0

14 4000h reserved set to 0

15 8000h reserved set to 0

Table 5.2: Bit arrangement of the controlword

Page 103: CANopen for Motor Controller CMMS/CMMD

5. Device Control

Festo P.BE-CMMS-CO-SW-EN 1012a 103

As already comprehensively described, status transitions can be carried out with bits 0 … 3. The commands necessary for this are presented again here in an overview. The Fault

Reset command is generated by a positive edge change (from 0 to 1) of bit 7.

Bit 7 Bit 3 Bit 2 Bit 1 Bit 0 Command:

0080h 0008h 0004h 0002h 0001h

Shutdown × × 1 1 0

Switch On × × 1 1 1

Disable Voltage × × × 0 ×

Quick Stop × × 0 1 ×

Disable Operation × 0 1 1 1

Enable Operation × 1 1 1 1

Fault Reset × × × ×

Table 5.3: Overview of all commands (x = not relevant)

As some status modifications require a certain amount of time, all status modifications triggered via the controlword must be read back via the statusword. Only when the requested status can also be read in the statusword may a further command be written via the controlword.

The remaining bits of the controlword are explained in the following. Some bits have a different meaning, depending on the operating mode (modes_of_operation), that is,

whether the motor controller is speed or torque-controlled:

Bit 4 Depending on modes_of_operation:

new_set_point In the Profile Position Mode:

A rising edge signals to the motor controller that a new positioning task should be undertaken. Also see chapter 6.2 on this.

start_homing_operation In the Homing Mode:

A rising edge causes the parametrised reference travel to start. A falling edge interrupts a running reference travel prematurely.

enable_ip_mode In the Interpolated Position Mode:

This bit must be set when the interpolation data records are supposed to be evaluated. It is acknowledged through the bit ip_mode_active in the statusword. See also chapter 6.4

Page 104: CANopen for Motor Controller CMMS/CMMD

5. Device Control

104 Festo P.BE-CMMS-CO-SW-EN 1012a

Bit 5 change_set_immediatly Only in the Profile Position Mode:

If this bit is not set, any positioning tasks currently running will be worked off before any new one is begun. If the bit is set, an ongoing positioning is interrupted immediately and replaced by the new positioning task. Also see chapter 6.3 on this.

Bit 6 relative Only in the Profile Position Mode:

If the bit is set, the motor controller refers the target position (target_position) of the current

positioning job to the setpoint position (position_demand_value) of the position

controller.

Bit 7 reset_fault

In the transition from zero to one, the motor controller tries to acknowledge the existing faults. This is only successful if the cause of the error has been resolved.

Bit 8 Dependent on modes_of_operation:

halt In the Profile Position Mode:

If the bit is set, the ongoing positioning is interrupted. Braking is with the profile_deceleration. After the process is ended, the bit target_reached is set in the statusword.

Deletion of the bit has no effect.

halt In the Profile Velocity Mode:

If the bit is set, the speed is reduced to zero. Braking is with the profile_deceleration.

Deletion of the bit causes the motor controller to accelerate again.

halt In the Profile Torque Mode:

If the flag is set, the torque is lowered to zero. This occurs with the torque_slope. Deletion of

the bit causes the motor controller to accelerate again.

halt In the Homing Mode:

If the bit is set, the ongoing reference travel is interrupted. Deletion of the bit has no effect.

Page 105: CANopen for Motor Controller CMMS/CMMD

5. Device Control

Festo P.BE-CMMS-CO-SW-EN 1012a 105

5.1.4 Read-out of the motor controller status

Just as various status transitions can be triggered via the combination of several bits of the controlword, the status of the motor controller can be read out via the combination of various bits of the statusword.

The following table lists the possible statuses of the status diagram as well as the related bit combination, with which they are displayed in the statusword.

Bit 6 Bit 5 Bit 3 Bit 2 Bit 1 Bit 0 Status

0040h 0020h 0008h 0004h 0002h 0001h

Mask Value

Not_Ready_To_Switch_On 0 × 0 0 0 0 004Fh 0000h

Switch_On_Disabled 1 × 0 0 0 0 004Fh 0040h

Ready_to_Switch_On 0 1 0 0 0 1 006Fh 0021h

Switched_On 0 1 0 0 1 1 006Fh 0023h

Operation_Enable 0 1 0 1 1 1 006Fh 0027h

Fault 0 × 1 0 0 0 004Fh 0008h

Fault_Reaction_Active 0 × 1 1 1 1 004Fh 000Fh

Quick_Stop_Active 0 0 0 1 1 1 006Fh 0007h

Table 5.4: Device status (x = not relevant)

EXAMPLE The above example shows which bits in the controlword need to be set in order to enable the motor controller. Now the newly written status should be read out of the statusword:

Transition from SWITCH_ON_DISABLED to OPERATION_ENABLE:

1.) Write status transition 2 into the controlword. 2.) Wait until the status READY_TO_SWITCH_ON is displayed in the

statusword.

Transition 2: controlword = 0006h Wait until (statusword & 006Fh) = 0021h *1) 3.) Transitions 3 and 4 can be written together into the controlword. 4.) Wait until the status OPERATION_ENABLE is displayed in the

statusword.

Transition 3+4: controlword = 000Fh Wait until (statusword & 006Fh) = 0027h *1) Note:

The example assumes that no other bits are set in the controlword (for the transitions, only bits 0 ... 3 are important).

*1)To identify the statuses, bits that are not set must also be evaluated (see table). For that reason, the statusword must be masked accordingly.

Page 106: CANopen for Motor Controller CMMS/CMMD

5. Device Control

106 Festo P.BE-CMMS-CO-SW-EN 1012a

5.1.5 statusword (Status words)

Object 6041h: statusword

Index 6041h

Name statusword

Object Code VAR

Data Type UINT16

Access ro

PDO Mapping yes

Units --

Value Range --

Default Value --

Bit Value Function

0 0001h Status of the motor controller (see Table 5.4).

(These bits must be evaluated together)

1 0002h

2 0004h

3 0008h

4 0010h voltage_enabled

5 0020h Status of the motor controller (see Table 5.4).

6 0040h

7 0080h warning

8 0100h drive_is_moving

9 0200h remote

10 0400h target_reached

11 0800h internal_limit_active

12 1000h set_point_acknowledge / speed_0 /

homing_attained / ip_mode_active

13 2000h following_error / homing_error

14 4000h reserved

15 8000h Drive referenced

Table 5.5: Bit arrangement in the status word:

All bits of the statusword are unbuffered. They represent the current device status.

Page 107: CANopen for Motor Controller CMMS/CMMD

5. Device Control

Festo P.BE-CMMS-CO-SW-EN 1012a 107

Besides the motor controller status, various events are displayed in the statusword, that

is, to each bit is assigned a specific event, such as contouring error. The individual bits have the following meaning thereby:

Bit 4 voltage_enabled

This bit is set when the final stage transistors are switched on.

Warning

In case of a defect, the motor can still be under voltage.

Bit 5 quick_stop

If the bit is deleted, the drive carries out a Quick Stop according to quick_stop_option_code.

Bit 7 warning

This bit shows that a direction of rotation is blocked because one of the limit switches has been triggered. The setpoint value lock is deleted again when an error acknowledgement is performed (see controlword, fault_reset)

Bit 8 drive_is_moving

This bit shows that the motor is currently moving.

Bit 9 remote

This bit shows that the final stage of the motor controller can be enabled via the CAN network. It is set when the controller enable logic is correspondingly set via the object enable_logic.

Bit 10 Depending on modes_of_operation:

target_reached In the Profile Position Mode:

The bit is set when the current target position is reached and the current position (position_actual_value) is located in the

parametrised position window (position_window).

It is also set when the drive comes to a standstill with set halt bit.

It is deleted as soon as a new target is specified.

Page 108: CANopen for Motor Controller CMMS/CMMD

5. Device Control

108 Festo P.BE-CMMS-CO-SW-EN 1012a

target_reached In the Profile Velocity Mode:

The bit is set when the speed (velocity_actual_value) of the drive is within the tolerance window (velocity_window, velocity_window_time).

Bit 11 internal_limit_active

This bit shows that the I2t limitation is active.

Bit 12 Depending on modes_of_operation:

set_point_acknowledge In the Profile Position Mode:

This bit is set when the motor controller has recognised the set bit new_set_point in the controlword. It is deleted again after the bit new_set_point in the controlword has been set

to zero. Also see chapter 6.3 on this.

speed_0 In the Profile Velocity Mode:

This bit is set when the current actual speed (velocity_actual_value) of the drive is within the related tolerance window (velocity_threshold).

homing_attained In the Homing Mode:

This bit is set when the reference travel has ended without error.

ip_mode_active In the Interpolated Position Mode:

This bit shows that interpolation is active and the interpolation data records have been evaluated. It is set when requested by the bit enable_ip_mode in the controlword.

See also chapter 6.4

Bit 13 Dependent on modes_of_operation:

following_error In the Profile Position Mode:

This bit is set when the current actual position (position_actual_value) differs from the target position (position_demand_value) so much that

the difference lies outside the parametrised tolerance window (following_error_window,

following_error_time_out).

Page 109: CANopen for Motor Controller CMMS/CMMD

5. Device Control

Festo P.BE-CMMS-CO-SW-EN 1012a 109

homing_error In the Homing Mode:

This bit is set when homing is interrupted (Halt bit), both limit switches are triggered

simultaneously or the limit switch search travel already performed is greater than the specified positioning space (min_position_limit, max_position_limit).

Bit 14 reserved

This bit is unused and must not be evaluated.

Bit 15 Drive referenced

This bit shows that the drive (after being switched on) has already been successfully referenced.

Object 1002h_00h: manufacturer_status_register

Through the object manufacturer_status_register, the current status of the controller can

be read.

Sub-Index 00h

Description manufacturer_status_register

Data Type UINT32

Access ro

PDO Mapping no

Units --

Value Range 0 … FFFFFFFFh

Default Value --

Page 110: CANopen for Motor Controller CMMS/CMMD

5. Device Control

110 Festo P.BE-CMMS-CO-SW-EN 1012a

Bit Name

0 1= homing active

1 1= reference switch reached

2 1= negative limit switch reaches DIN7

3 1= positive limit switch reaches DIN8

4 1= Message positioning expired (x_set = pos_x_set)

5 1= Target reached message (x_act = x_set +/-n_mes_hyst)

6 1= Remaining path positioning reached

7 1= Reverse mode

8 1= Speed report n_act=(n_mes +/-n_mes_hyst)

9 1= Speed report n_act=(n_set +/-n_mes_hyst)

10 1= Positioning started

11 I²t monitoring 1= limitation to nominal current; I²t motor/servo

12 1= SinCos encoder activated

13 1= Speed report n_act=(0 +/-n_mes_hyst)

14 Output stage enable 1= output stage is switched on

15 Ready status 1

16 Warning message 1 = Warning (no common error and no switch-off)

17 Common error message 1 = common error

18 1 = Negative direction blocked

19 1 = Positive direction blocked

20 1 = Homing has been carried out

21 1 = Automatic encoder comparison active

22 1 = MMC initialised

23 1 = Output stage enabled

24 1 = Controller and output stage INTERNAL enabled

25 1 = Speed setpoint value INTERNAL enabled

26 0 = Normal / 1 = Emergency stop without position sensor active (option)

27 0 = Normal / 1 = MOTID mode

28 1 = Write permission available

29 1 = Technology module equipped

30 1 = MMC plugged

31 1 = Safe halt equipped

Page 111: CANopen for Motor Controller CMMS/CMMD

6. Operating modes

Festo P.BE-CMMS-CO-SW-EN 1012a 111

6. Operating modes

6.1 Setting the operating mode

6.1.1 Overview

The motor controller can be placed into a number of operating modes. Only some are specified in detail under CANopen:

- Torque-regulated operation profile torque mode

- Speed-adjusted operation profile velocity mode

- Homing Homing mode

- Positioning mode profile position mode

- Synchronous position specification interpolated position mode

6.1.2 Description of the Objects

Objects treated in this chapter

Index Object Name Type Attr.

6060h VAR modes_of_operation INT8 wo

6061h VAR modes_of_operation_display INT8 ro

Object 6060h: modes_of_operation

The object modes_of_operation sets the operating mode of the motor controller.

Index 6060h

Name modes_of_operation

Object Code VAR

Data Type INT8

Access rw

PDO Mapping yes

Units --

Value Range 1, 3, 4, 6, 7

Default Value --

Page 112: CANopen for Motor Controller CMMS/CMMD

6. Operating modes

112 Festo P.BE-CMMS-CO-SW-EN 1012a

Value Significance

1 Profile Position Mode (position controller with positioning mode)

3 Profile Velocity Mode (speed regulator with setpoint value ramp)

4 Torque Profile Mode (torque regulator with setpoint value ramp)

6 Homing Mode (reference travel)

7 Interpolated Position Mode

The current operating mode can only be read in the object modes_of_operation_display!

Since a change in operating mode can take some time, one must wait until the newly selected mode appears in the object modes_of_operation_display.

Object 6061h: modes_of_operation_display

In the object modes_of_operation_display, the current operating mode of the motor controller can be read. If an operating mode is set via the object 6060h, besides the actual

operating mode, the setpoint value activations (setpoint value selector) needed for operation of the motor controller under CANopen must also be made. These are

Profile Velocity Mode Profile Torque Mode

Selector A Speed setpoint value (fieldbus 1) Torque setpoint value (fieldbus 1)

Selector B Torque limitation, if necessary inactive

Selector C Speed setpoint value (synchronous speed) inactive

In addition, the setpoint value ramp is always switched on. Only if these activations are set in the stated way will one of the CANopen operating modes be returned. If these settings are changed, for example, with the FCT start-up software, a respective "user" operating mode is returned to show that the selectors have been changed.

Index 6061h

Name modes_of_operation_display

Object Code VAR

Data Type INT8

Access ro

PDO Mapping yes

Units --

Value Range -1, -11, -12, -13, -14, -15, 1, 3, 4, 6, 7

Default Value 3

Page 113: CANopen for Motor Controller CMMS/CMMD

6. Operating modes

Festo P.BE-CMMS-CO-SW-EN 1012a 113

Value Significance

-1 Unknown operating mode / change in operating mode

-11 User Position Mode

-12 Internal speed regulation without setpoint value ramp (regulated operation)

-13 User Velocity Mode

-14 User Torque Mode

-15 Internal position regulation (regulated and controlled)

1 Profile Position Mode (position controller with positioning mode)

3 Profile Velocity Mode (speed regulator with setpoint value ramp)

4 Torque Profile Mode (torque regulator with setpoint value ramp)

6 Homing Mode (reference travel)

7 Interpolated Position Mode

The operating mode can only be set via the object modes_of_operation. Since a change in operating mode can take some time, one must wait until the newly selected mode appears in the object modes_of_operation_display. During this time, "Invalid operating mode" (-1) may be displayed briefly.

6.2 Operating mode homing (Homing Mode)

6.2.1 Overview

This chapter describes how the motor controller searches for the reference position. There are various methods to determine this position (Object 6098h: homing_method).

Fig. 6.1 Reference travel

The user can determine the speed, acceleration and type of reference travel. With the object home_offset, the zero position of the drive can be displaced to any position desired.

There are two reference travel speeds. The higher search velocity (speed_during_search_for_switch) is used to find the limit switch or the reference switch. Then, to exactly determine the position of the switch edge, the system switches to crawl speed (speed_during_search_for_zero).

Page 114: CANopen for Motor Controller CMMS/CMMD

6. Operating modes

114 Festo P.BE-CMMS-CO-SW-EN 1012a

The drive to the zero position under CANopen is normally not a component of the reference travel. If all necessary variables are know to the motor controller (e.g. because it already knows the position of the zero pulse), no physical movement is performed.

6.2.2 Description of the Objects

Objects treated in this chapter

Index Object Name Type Attr.

607Ch VAR home_offset INT32 rw

6098h VAR homing_method INT8 rw

6099h ARRAY homing_speeds UINT32 rw

609Ah VAR homing_acceleration UINT32 rw

2045h VAR homing_timeout UINT16 rw

Affected objects from other chapters

Index Object Name Type Chapter

6040h VAR controlword UINT16 5 Device control

6041h VAR statusword UINT16 5 Device control

Object 607Ch: home_offset

The object home_offset establishes the shift of the zero position compared to the

determined reference position.

HomePosition

home_offset

ZeroPosition

Fig. 6.2 Home Offset

Page 115: CANopen for Motor Controller CMMS/CMMD

6. Operating modes

Festo P.BE-CMMS-CO-SW-EN 1012a 115

Index 607Ch

Name home_offset

Object Code VAR

Data Type INT32

Access rw

PDO Mapping yes

Units position units

Value Range --

Default Value 0

Object 6098h: homing_method

A series of different methods are provided for reference travel. Through the object homing_method, the variant needed for the application can be selected.

Index 6098h

Name homing_method

Object Code VAR

Data Type INT8

Access rw

PDO Mapping yes

Units

Value Range -18, -17, -2, -1, 1, 2, 17, 18, 33, 34, 35

Default Value 17

Value Direction Objective Point of reference for zero

-18 Positive Stop Stop

-17 Negative Stop Stop

-2 Positive Stop Zero pulse

-1 Negative Stop Zero pulse

1 Negative Limit switch Zero pulse

2 Positive Limit switch Zero pulse

17 Negative Limit switch Limit switch

18 Positive Limit switch Limit switch

33 Negative Zero pulse Zero pulse

34 Positive Zero pulse Zero pulse

35 No travel Current actual position

Page 116: CANopen for Motor Controller CMMS/CMMD

6. Operating modes

116 Festo P.BE-CMMS-CO-SW-EN 1012a

For reference travel with the motors of the EMMS-ST series, no transmitter is needed for methods 17, 18 and 35.

The homing_method can only be set when homing is not active. Otherwise, an error

message (see chapter 3.5) is returned.

The process of the individual methods is described in detail in chapter 6.2.3.

Object 6099h: homing_speeds

This object determines the speeds used during the reference travel.

Index 6099h

Name homing_speeds

Object Code ARRAY

No. of Elements 2

Data Type UINT32

Sub-Index 01h

Description speed_during_search_for_switch

Access rw

PDO Mapping yes

Units speed units

Value Range --

Default Value 100

Sub-Index 02h

Description speed_during_search_for_zero

Access rw

PDO Mapping yes

Units speed units

Value Range --

Default Value 10

Page 117: CANopen for Motor Controller CMMS/CMMD

6. Operating modes

Festo P.BE-CMMS-CO-SW-EN 1012a 117

Object 609Ah: homing_acceleration

The object homing_acceleration determines the acceleration that is used during homing

for all acceleration and braking processes.

Index 609Ah

Name homing_acceleration

Object Code VAR

Data Type UINT32

Access rw

PDO Mapping yes

Units acceleration units

Value Range --

Default Value 80000

6.2.3 Reference Travel Processes

The various reference travel methods are depicted in the following illustrations. The circled numbers correspond to the code to be entered in the object homing_method.

Method 1: Negative limit switch with zero pulse evaluation

With this method, the drive first moves relatively quickly in a negative direction until it reaches the negative limit switch. This is depicted in the diagram through the rising edge. After that, the drive moves back slowly and searches for the exact position of the limit switch. The zero position refers to the first zero pulse of the angle encoder in the positive direction from the limit switch.

Fig. 6.3 Reference travel to the negative limit switch with evaluation of the zero pulse

Page 118: CANopen for Motor Controller CMMS/CMMD

6. Operating modes

118 Festo P.BE-CMMS-CO-SW-EN 1012a

Method 2: Positive limit switch with zero pulse evaluation

With this method, the drive first moves relatively quickly in a positive direction until it reaches the positive limit switch. This is depicted in the diagram through the rising edge. After that, the drive moves back slowly and searches for the exact position of the limit switch. The zero position refers to the first zero pulse of the angle encoder in the negative direction from the limit switch.

Fig. 6.4 Reference travel to the positive limit switch with evaluation of the zero pulse

Method 17: Reference travel to the negative limit switch

With this method, the drive first moves relatively quickly in a negative direction until it reaches the negative limit switch. This is depicted in the diagram through the rising edge. After that, the drive moves back slowly and searches for the exact position of the limit switch. The zero position refers to the falling edge from the negative limit switch.

Fig. 6.5 Reference travel to the negative limit switch

Page 119: CANopen for Motor Controller CMMS/CMMD

6. Operating modes

Festo P.BE-CMMS-CO-SW-EN 1012a 119

Method 18: Reference travel to the positive limit switch

With this method, the drive first moves relatively quickly in a positive direction until it reaches the positive limit switch. This is depicted in the diagram through the rising edge. After that, the drive moves back slowly and searches for the exact position of the limit switch. The zero position refers to the falling edge from the positive limit switch.

Fig. 6.6 Reference travel to the positive limit switch

Method –1: Negative stop with zero pulse evaluation

With this method, the drive first moves in a negative direction until it reaches the stop. The I2t integral of the motor rises hereby to a maximum 90 %. The stop must be mechanically dimensioned so that it does not suffer damage in the parametrised maximum current. The zero position refers to the first zero pulse of the angle encoder in the positive direction from the stop.

Fig. 6.7 Reference travel to the negative stop with evaluation of the zero pulse

Page 120: CANopen for Motor Controller CMMS/CMMD

6. Operating modes

120 Festo P.BE-CMMS-CO-SW-EN 1012a

Method –2: Positive stop with zero pulse evaluation

With this method, the drive first moves in a positive direction until it reaches the stop. The I2t integral of the motor rises hereby to a maximum 90 %. The stop must be mechanically dimensioned so that it does not suffer damage in the parametrised maximum current. The zero position refers to the first zero pulse of the angle encoder in the negative direction from the stop.

Fig. 6.8 Reference travel to the positive stop with evaluation of the zero pulse

Method –17: Reference travel to the negative stop

With this method, the drive first moves in a negative direction until it reaches the stop. The I2t integral of the motor rises hereby to a maximum 90 %. The stop must be mechanically dimensioned so that it does not suffer damage in the parametrised maximum current. The zero position refers directly to the stop.

Fig. 6.9 Reference travel to the negative stop

Method –18: Reference travel to the positive stop

With this method, the drive first moves in a positive direction until it reaches the stop. The I2t integral of the motor rises hereby to a maximum 90 %. The stop must be mechanically dimensioned so that it does not suffer damage in the parametrised maximum current. The zero position refers directly to the stop.

Fig. 6.10 Reference travel to the positive stop

Page 121: CANopen for Motor Controller CMMS/CMMD

6. Operating modes

Festo P.BE-CMMS-CO-SW-EN 1012a 121

Methods 33 and 34: Homing to the zero pulse

With methods 33 and 34, the direction of homing is negative or positive. The zero position refers to the first zero pulse from the angle encoder in the direction of search.

Fig. 6.11 Reference travel only with reference to the zero pulse

Method 35: Homing to the current position

With method 35, the reference position refers to the current position.

6.2.4 Control of Reference Travel

Homing is controlled and monitored through the controlword / statusword. The start is made by setting bit 4 in the controlword. Successful completion of the travel is shown by a set bit 12 in the object statusword. A set bit 13 in the object statusword shows that an

error has occurred during homing. The cause of the error can be determined via the objects error_register and pre_defined_error_field.

Bit 4 Significance

0 Reference travel is not active

0 → 1 Start reference travel

1 Reference travel is active

1 → 0 Reference travel interrupted

Table 6.1: Description of the bits in the controlword

Bit 13 Bit 12 Significance

0 0 Reference travel is not completed yet

0 1 Reference travel performed successfully

1 0 Reference travel not performed successfully

1 1 Prohibited status

Table 6.2: Description of the bits in the status word

Page 122: CANopen for Motor Controller CMMS/CMMD

6. Operating modes

122 Festo P.BE-CMMS-CO-SW-EN 1012a

6.3 Positioning Operating Mode (Profile Position Mode)

6.3.1 Overview

The structure of this operating mode is evident in Fig. 6.12:

The target position (target_position) is passed on to the curve generator. This generates a setpoint position value (position_demand_value) for the position controller, which is described in the Position Controller chapter (Position Control Function, chapter 4.6).

These two function blocks can be set independently of each other.

Trajectory GeneratorPosition Control

Functionposition_demand_value

(60FDh)

Trajectory GeneratorParameters

Position Control LawParameters

control_effort(60FAh)

target_position(607Ah)

Fig. 6.12 Curve generator and position controller

All input variables of the curve generator are converted with the variables of the factor group (see chap. 4.2) into the internal units of the regulator. The internal variables are marked here with an asterisk and are normally not needed by the user.

Page 123: CANopen for Motor Controller CMMS/CMMD

6. Operating modes

Festo P.BE-CMMS-CO-SW-EN 1012a 123

6.3.2 Description of the Objects

Objects treated in this chapter

Index Object Name Type Attr.

607Ah VAR target_position INT32 rw

6081h VAR profile_velocity UINT32 rw

6082h VAR end_velocity UINT32 rw

6083h VAR profile_acceleration UINT32 rw

6084h VAR profile_deceleration UINT32 rw

6086h VAR motion_profile_type INT16 rw

6085h VAR quick_stop_deceleration UINT32 rw

Affected objects from other chapters

Index Object Name Type Chapter

6040h VAR controlword INT16 5 Device control

6041h VAR statusword UINT16 5 Device control

605Ah VAR quick_stop_option_code INT16 5 Device control

607Eh VAR polarity UINT8 4.2 Conversion factors

6093h ARRAY position_factor UINT32 4.2 Conversion factors

6094h ARRAY velocity_encoder_factor UINT32 4.2 Conversion factors

6097h ARRAY acceleration_factor UINT32 4.2 Conversion factors

Object 607Ah: target_position

The object target_position (target position) determines which position of the motor

controller should be traveled to. The current setting for speed, acceleration, brake delay and type of travel profile (motion_profile_type) etc. must be considered thereby. The target position (target_position) is interpreted either as an absolute or relative statement (controlword, bit 6).

Index 607Ah

Name target_position

Object Code VAR

Data Type INT32

Access rw

PDO Mapping yes

Units position units

Value Range --

Default Value 0

Page 124: CANopen for Motor Controller CMMS/CMMD

6. Operating modes

124 Festo P.BE-CMMS-CO-SW-EN 1012a

Object 6081h: profile_velocity

The object profile_velocity specifies the speed that is normally reached at the end of the acceleration ramp during positioning. The object profile_velocity is specified in speed

units.

Index 6081h

Name profile_velocity

Object Code VAR

Data Type UINT32

Access rw

PDO Mapping yes

Units speed_units

Value Range --

Default Value 0

Object 6082h: end_velocity

The object end_velocity (end speed) defines the speed the drive must have when it reaches the target position (target_position). Normally, this object must be set to zero so that the motor controller stops when it reaches the target position (target_position).

For continuous positioning, a speed different from zero can be specified. The object end_velocity is specified in the same units as the object profile_velocity.

Index 6082h

Name end_velocity

Object Code VAR

Data Type UINT32

Access rw

PDO Mapping yes

Units speed units

Value Range --

Default Value 0

Page 125: CANopen for Motor Controller CMMS/CMMD

6. Operating modes

Festo P.BE-CMMS-CO-SW-EN 1012a 125

Object 6083h: profile_acceleration

The object profile_acceleration specifies the acceleration with which the motor

accelerates to the setpoint speed. It is specified in user-defined acceleration units. (See chapter 4.2: Factor Group).

Index 6083h

Name profile_acceleration

Object Code VAR

Data Type UINT32

Access rw

PDO Mapping yes

Units acceleration units

Value Range --

Default Value --

Object 6084h: profile_deceleration

The object profile_deceleration specifies the deceleration with which the motor is braked.

It is specified in user-defined acceleration units. (See chapter 4.2: Factor Group).

Index 6084h

Name profile_deceleration

Object Code VAR

Data Type UINT32

Access rw

PDO Mapping yes

Units acceleration units

Value Range --

Default Value --

Object 6085h: quick_stop_deceleration

The object quick_stop_deceleration specifies with which braking deceleration the motor stops when a Quick Stop is performed. The object quick_stop_deceleration is specified in the same unit as the object profile_deceleration.

Page 126: CANopen for Motor Controller CMMS/CMMD

6. Operating modes

126 Festo P.BE-CMMS-CO-SW-EN 1012a

Index 6085h

Name quick_stop_deceleration

Object Code VAR

Data Type UINT32

Access rw

PDO Mapping yes

Units acceleration units

Value Range --

Default Value --

Object 6086h: motion_profile_type

The object motion_profile_type is used to select the type of positioning profile.

Index 6086h

Name motion_profile_type

Object Code VAR

Data Type INT16

Access rw

PDO Mapping yes

Units --

Value Range 0, 2

Default Value 0

Value Curve form

0 linear ramp

2 Jerk-free ramp

Page 127: CANopen for Motor Controller CMMS/CMMD

6. Operating modes

Festo P.BE-CMMS-CO-SW-EN 1012a 127

6.3.3 Functional description

There are two possibilities for passing on a target position to the motor controller:

Simple positioning task

If the motor controller has reached a target position, it signals this to the host with the bit target_reached (bit 10 in the object statusword). In this operating mode, the motor

controller stops when it has reached the goal.

Sequence of positioning tasks

After the motor controller has reached a target, it immediately begins travelling to the next target. This transition can occur smoothly, without the motor controller meanwhile coming to a standstill.

These two methods are controller through the bits new_set_point and change_set_immediatly in the object controlword and set_point_acknowledge in the object statusword. These bits are in a question-answer relationship to each other.

This makes it possible to prepare a positioning task while another is still running.

Fig. 6.13 Positioning task transmittal from a host

In Fig. 6.13, you can see how the host and the motor controller communicate with each other via the CAN bus:

First, the positioning data (target position, travel speed, end speed and acceleration) are transmitted to the motor controller. When the positioning data record has been completely written (1), the host can start positioning by setting the bit new_set_point in the controlword to "1" (2). After the motor controller recognises the new data and takes it over into its buffer, it reports this to the host by setting the bit set_point_acknowledge in the statusword (3).

Then the host can begin to write a new positioning data set into the motor controller (4) and delete the bit new_set_point again (5). Only when the motor controller can accept a new positioning job (6) does it signal this through a "0" in the set_point_acknowledge

bit. Before this, no new positioning may be started by the host (7).

Page 128: CANopen for Motor Controller CMMS/CMMD

6. Operating modes

128 Festo P.BE-CMMS-CO-SW-EN 1012a

In Fig. 6.14, a new positioning task is only started after the previous one has been completely finished. To determine this, the host evaluates the bit target_reached in the object statusword.

Fig. 6.14 Simple positioning task

In Fig. 6.15, a new positioning task is already started while the previous one is still in process. The host already passes the subsequent target on to the motor controller when the motor controller signals with deletion of the bit set_point_acknowledge that it has

read the buffer and started the related positioning. In this way, positioning tasks follow each other seamlessly. For this operating mode, the object end_velocity should be written over with the same value as the object profile_velocity so that the motor controller does

not briefly brake to zero each time between the individual positioning tasks.

Fig. 6.15 Continuous sequence of positioning tasks

If besides the bit new_set_point the bit change_set_immediately is also set to "1" in the controlword, the host instructs the motor controller to start the new positioning task

immediately. In this case, a positioning task already in process is interrupted.

Page 129: CANopen for Motor Controller CMMS/CMMD

6. Operating modes

Festo P.BE-CMMS-CO-SW-EN 1012a 129

6.4 Interpolated Position Mode

6.4.1 Overview

The interpolated position mode (IP) permits continuous specification of position setpoint

values in a multi-axis use of the motor controller. To do this, synchronisation telegrams (SYNC) and nominal position values are specified by a higher-level controller in a fixed time grid (synchronisation interval). Since the interval is normally greater than one position controller cycle, the motor controller independently interpolates the data values between two specified position values, as shown in the following diagram.

1 Position

setpoint time slot pattern

2 Position control

cycle time

3 Interpolated

sequence of the position

4 Interpolated

sequence of the position

Fig. 6.16 Positioning task linear interpolation between two data values

In the following, the objects needed for the interpolated position mode are described

first. A subsequent functional description comprehensively covers the activation and sequencing of parameter setting.

1

2

3

4

Page 130: CANopen for Motor Controller CMMS/CMMD

6. Operating modes

130 Festo P.BE-CMMS-CO-SW-EN 1012a

6.4.2 Description of the Objects

Objects treated in this chapter

Index Object Name Type Attr.

60C0h VAR interpolation_submode_select INT16 rw

1006h_00h communication_cycle_period UINT32 ro

60C1h REC interpolation_data_record rw

60C4h REC interpolation_data_configuration rw

60C2h REC interpolation_time_period rw

Affected objects from other chapters

Index Object Name Type Chapter

6040h VAR controlword INT16 5 Device control

6041h VAR statusword UINT16 5 Device control

6094h ARRAY velocity_encoder_factor UINT32 4.2 Conversion factors

6097h ARRAY acceleration_factor UINT32 4.2 Conversion factors

Object 60C0h: interpolation_submode_select

The type of interpolation is established via the object interpolation_submode_select.

Currently, only the manufacturer-specific variant "Linear Interpolation without Buffer" is available.

Index 60C0h

Name interpolation_submode_select

Object Code VAR

Data Type INT16

Access rw

PDO Mapping yes

Units --

Value Range -2

Default Value -2

Value Interpolation type

-2 Linear Interpolation without Buffer

Page 131: CANopen for Motor Controller CMMS/CMMD

6. Operating modes

Festo P.BE-CMMS-CO-SW-EN 1012a 131

Object 60C1h: interpolation_data_record

The object record interpolation_data_record represents the actual data record. It consists of an entry for the position value (ip_data_position). The position value is interpreted as

absolute.

Index 60C1h

Name interpolation_data_record

Object Code RECORD

No. of Elements 1

Sub-Index 01h

Description ip_data_position

Data Type INT32

Access rw

PDO Mapping yes

Units position units

Value Range --

Default Value --

Object 60C2h: interpolation_time_period

The synchronisation interval can be set via the object record interpolation_time_period. Via ip_time_index, the unit (ms or 1/10 ms) of the interval is established, which is parametrised via ip_time_units. To achieve synchronisation, the complete controller

cascade (current, speed and position controller) is synchronised up to the external cycle. A change in the synchronisation interval is therefore effective only after a reset. Therefore, if the interpolation interval is to be changed via the CAN bus, the parameter set must be saved (see chapter 4.1) and a reset performed (see chapter 3.7) so that the new synchronisation interval becomes effective. The synchronisation interval must be maintained exactly.

Index 60C2h

Name interpolation_time_period

Object Code RECORD

No. of Elements 2

Page 132: CANopen for Motor Controller CMMS/CMMD

6. Operating modes

132 Festo P.BE-CMMS-CO-SW-EN 1012a

Sub-Index 01h

Description ip_time_units

Data Type UINT8

Access rw

PDO Mapping yes

Units gemäß ip_time_index

Value Range ip_time_index = -3: 1, 2, ... , 9, 10

ip_time_index = -4: 10, 20, ... , 90, 100

Default Value --

Sub-Index 02h

Description ip_time_index

Data Type INT8

Access rw

PDO Mapping yes

Units --

Value Range -3, -4

Default Value -4

Value ip_time_units is specified in

-3 10-3 seconds (ms)

-4 10-4 seconds (0.1 ms)

A change in the synchronisation interval is effective only after a reset. If the interpolation interval is to be changed via the CAN bus, the parameter set must be saved and a reset performed.

Object 1006h_00h: communication_cycle_period

Through the object communication_cycle_period, the time set in μs in the object 60C2h_01h can be read.

Sub-Index 00h

Description communication_cycle_period

Access ro

PDO Mapping no

Units μs

Value Range --

Default Value 1900h

Page 133: CANopen for Motor Controller CMMS/CMMD

6. Operating modes

Festo P.BE-CMMS-CO-SW-EN 1012a 133

Object 60C4h: interpolation_data_configuration

Through the object record interpolation_data_configuration, the type (buffer_organisation) and size (max_buffer_size, actual_buffer_size) of a possibly available buffer as well as access to this (buffer_position, buffer_clear) can be

configured. The size of a buffer element can be read out via the object size_of_data_record. Although no buffer is available for the interpolation type "Linear interpolation without buffer"‚ access via the object buffer_clear must still be

enabled in this case as well.

Index 60C4h

Name interpolation_data_configuration

Object Code RECORD

No. of Elements 6

Sub-Index 01h

Description max_buffer_size

Data Type UINT32

Access ro

PDO Mapping no

Units --

Value Range 0

Default Value 0

Sub-Index 02h

Description actual_size

Data Type UINT32

Access rw

PDO Mapping yes

Units --

Value Range 0 ... max_buffer_size

Default Value 0

Sub-Index 03h

Description buffer_organisation

Data Type UINT8

Access rw

PDO Mapping yes

Units --

Value Range 0

Default Value 0

Page 134: CANopen for Motor Controller CMMS/CMMD

6. Operating modes

134 Festo P.BE-CMMS-CO-SW-EN 1012a

Value Significance

0 FIFO

Sub-Index 04h

Description buffer_position

Data Type UINT16

Access rw

PDO Mapping yes

Units --

Value Range 0

Default Value 0

Sub-Index 05h

Description size_of_data_record

Data Type UINT8

Access wo

PDO Mapping yes

Units --

Value Range -

Default Value -

Sub-Index 06h

Description buffer_clear

Data Type UINT8

Access wo

PDO Mapping yes

Units --

Value Range 0, 1

Default Value 0

Value Significance

0 Delete buffer / access to 60C1h not permitted

1 Access to 60C1h enabled

Page 135: CANopen for Motor Controller CMMS/CMMD

6. Operating modes

Festo P.BE-CMMS-CO-SW-EN 1012a 135

6.4.3 Functional description

Preparatory parameter setting

Before the motor controller can be switched into the operating mode interpolated

position mode, various settings must be made: These include setting of the interpolation interval (interpolation_time_period), that is, the time between two SYNC telegrams, the interpolation type (interpolation_submode_select) and the type of synchronisation (interpolation_sync_definition). In addition, access to the position buffer must be enabled via the object buffer_clear.

EXAMPLE Task CAN object / COB

Type of interpolation

-2 60C0h, interpolation_submode_select = -2

Time unit 0.1 ms 60C2h_02h, interpolation_time_index = -04

Time interval 4 ms 60C2h_01h, interpolation_time_units = 40

Save parameters 1010h_01h, save_all_parameters

Perform reset NMT reset node

Waiting for bootup Bootup message

Buffer activation 1 60C4h_06h, buffer_clear = 1

Generate SYNC SYNC (matrix 4 ms)

Activation of the interpolated position mode and synchronisation

The IP is activated through the object modes_of_operation (6060h). Starting with this

time, the motor controller tries to synchronise itself to the external time grid, which is specified through the SYNC telegrams. If the motor controller was successfully able to synchronise itself, it reports the operating mode interpolated position mode in the object modes_of_operation_display (6061h). During synchronisation, the motor controller reports back invalid mode of operation (-1). If the SYNC-telegrams are not sent in the right

time grid after completed synchronisation, the motor controller switches back into the invalid mode of operation.

If the mode of operation is taken up, transfer of position data to the drive can begin. As is logical, the higher-order controller first reads the current actual position out of the controller and writes it cyclically into the motor controller as a new setpoint value (interpolation_data_record). Takeover of data by the motor controller is activated via handshake bits of the controlword and statusword. By setting the bit enable_ip_mode in the controlword, the host shows that evaluation of the position data should begin.

The data records are evaluated only when the motor controller acknowledges this via the status bit ip_mode_selected in the statusword.

In detail, therefore, the following assignment and procedure result:

Page 136: CANopen for Motor Controller CMMS/CMMD

6. Operating modes

136 Festo P.BE-CMMS-CO-SW-EN 1012a

Fig. 6.17 Synchronisation and data release

No. Event CAN Object

1 Generate SYNC message

2 Request of the ip operating mode 6060h, modes_of_operation = 07

3 Wait until operating mode is taken 6061h, modes_of_operation_display = 07

4 Reading out the current actual position 6064h, position_actual_value

5 Writing back as current setpoint position 60C1h_01h, ip_data_position

6 Start of interpolation 6040h, controlword, enable_ip_mode

7 Acknowledgement by motor controller 6041h, statusword, ip_mode_active

8 Changing the current setpoint position in accordance

with trajectory

60C1h_01h, ip_data_position

After the synchronous travel process is ended, deletion of the bit enable_ip_mode

prevents further evaluation of position values. Then the system can switch into another operating mode, if necessary.

Page 137: CANopen for Motor Controller CMMS/CMMD

6. Operating modes

Festo P.BE-CMMS-CO-SW-EN 1012a 137

Interruptions of interpolation in case of error

If an ongoing interpolation type (ip_mode_active set) is interrupted by a controller error,

the drive first acts as specified for the respective error (e.g. removal of the controller enable and change into the status SWICTH_ON_DISABLED).

The interpolation can only be continued through a new synchronisation, since the motor controller must be brought back into the status OPERATION_ENABLE, through which the bit ip_mode_active is deleted.

6.5 Speed adjustment operating mode (Profile Velocity Mode)

6.5.1 Overview

The speed-regulated operation (Profile Velocity Mode) contains the following subfunctions:

- Setpoint value generation through the ramp generator

- Speed recording through differentiation via the angle encoder

- Speed regulation with appropriate input and output signals

- Limitation of the torque setpoint value (torque_demand_value)

- Monitoring of the actual speed (velocity_actual_value) with the window

function/threshold

The significance of the following parameters is described in the Positioning chapter (Profile Position Mode): profile_acceleration, profile_deceleration, quick_stop.

Page 138: CANopen for Motor Controller CMMS/CMMD

6. Operating modes

138 Festo P.BE-CMMS-CO-SW-EN 1012a

Multiplier

Multiplier

Limit

Function

Profile Velocity

ProfileAcceleration

ProfileDeceleration

Quick StopDeceleration

velocity_demand_value(606Bh)

accelaration_factor(6097h)

velocity_encoder_factor(6094h)

[speed units]target_velocity

(60FFh)

[acceleration units]profile_acceleration

(6083h)

[acceleration units]profile_deceleration

(6084h)

[acceleration units]Quick_stop_deceleration

(6085h)

Differentiationd/dt

VelocityController

WindowComparator

position_actual_value(6063h)

velocity_actual_value(606Ch)

velocity_demand_value(606Bh)

velocity_control_parameter_set(60F9h)

control effort

status_word(6041h)

velocity = 0

velocity_actual_value(606Ch)

SPDC_SPDC_N_TARGET_WIN_SPEED(0x00FA)

WindowComparator

status_word(6041h)

velocity_reached

velocity_actual_value(606Ch)

SPDC_SPDC_N_TARGET_WIN_SPEED(0x00FA)

Fig. 6.18 Structure of the speed-regulated operation (profile velocity mode)

Page 139: CANopen for Motor Controller CMMS/CMMD

6. Operating modes

Festo P.BE-CMMS-CO-SW-EN 1012a 139

6.5.2 Description of the Objects

Objects treated in this chapter

Index Object Name Type Attr.

6069h VAR velocity_sensor_actual_value INT32 ro

606Bh VAR velocity_demand_value INT32 ro

606Ch VAR velocity_actual_value INT32 ro

6080h VAR max_motor_speed UINT32 rw

60FFh VAR target_velocity INT32 rw

Affected objects from other chapters

Index Object Name Type Chapter

6040h VAR controlword INT16 5 Device control

6041h VAR statusword UINT16 5 Device control

6063h VAR position_actual_value_s INT32 4.6 Position controller

6069h VAR velocity_sensor_actual_value INT32 4.6 Position controller

6071h VAR target_torque INT16 6.6 Torque controller

6072h VAR max_torque_value UINT16 6.6 Torque controller

607Eh VAR polarity UINT8 4.2 Conversion factors

6083h VAR profile_acceleration UINT32 6.3 Positioning

6084h VAR profile_deceleration UINT32 6.3 Positioning

6085h VAR quick_stop_deceleration UINT32 6.3 Positioning

6086h VAR motion_profile_type INT16 6.3 Positioning

6094h ARRAY velocity_encoder_factor UINT32 4.2 Conversion factors

Page 140: CANopen for Motor Controller CMMS/CMMD

6. Operating modes

140 Festo P.BE-CMMS-CO-SW-EN 1012a

Object 6069h: velocity_sensor_actual_value

With the object velocity_sensor_actual_value, the value of a possible speed encoder can

be read out in internal units. A separate speed encoder cannot be connected in the CMMS/CMMD family. Therefore, to determine the actual speed value, the object 606Ch

should be used.

Index 6069h

Name velocity_sensor_actual_value

Object Code VAR

Data Type INT32

Access ro

PDO Mapping yes

Units Angle difference in increments per second

(65536 increments = 1 R)

Value Range --

Default Value --

Object 606Bh: velocity_demand_value

The current speed setpoint value of the speed regulator can be read with this object. It is acted upon by the setpoint value of the ramp and curve generators. If the position controller is activated, its correction speed is also added.

Index 606Bh

Name velocity_demand_value

Object Code VAR

Data Type INT32

Access ro

PDO Mapping yes

Units speed units

Value Range --

Default Value --

Page 141: CANopen for Motor Controller CMMS/CMMD

6. Operating modes

Festo P.BE-CMMS-CO-SW-EN 1012a 141

Object 606Ch: velocity_actual_value

The actual speed value can be read via the object velocity_actual_value.

Index 606Ch

Name velocity_actual_value

Object Code VAR

Data Type INT32

Access ro

PDO Mapping yes

Units speed units

Value Range --

Default Value --

Object 6080h: max_motor_speed

The object max_motor_speed gives the highest allowed speed for the motor in min-1. The object is used to protect the motor and can be taken from the motor technical data. The speed setpoint value is limited to this value.

Index 6080h

Name max_motor_speed

Object Code VAR

Data Type UINT16

Access rw

PDO Mapping yes

Units min-1

Value Range 0 ... 32768 min-1

Default Value 3,000 min-1

Object 60FFh: target_velocity

The object target_velocity is the setpoint specification for the ramp generator.

Index 60FFh

Name target_velocity

Object Code VAR

Data Type INT32

Access rw

PDO Mapping yes

Units speed units

Value Range --

Default Value --

Page 142: CANopen for Motor Controller CMMS/CMMD

6. Operating modes

142 Festo P.BE-CMMS-CO-SW-EN 1012a

Object 2090h: velocity_ramps

Selected as modes_of_operation profile_velocity_mode; the setpoint value ramp is also

activated. And so it is possible to limit a jump-like setpoint change to a specific speed change per time via the objects profile_acceleration and profile_deceleration.

The controller not only permits specification of different values for braking deceleration and acceleration, but also differentiation between positive and negative speed. The following illustration depicts this behaviour:

2090h_02h

velocity_acceleration_pos

2090h_03h

velocity_deceleration_pos

2090h_04h

velocity_acceleration_neg

2090h_05h

velocity_deceleration_neg

V

t

Fig. 6.19 Speed ramps

The object group velocity_ramps is available to parametrise these 4 accelerations. Note that the objects profile_acceleration and profile_deceleration change the same internal accelerations as the velocity_ramps. If the profile_acceleration is written, velocity_acceleration_pos and velocity_acceleration_neg are changed together; if the profile_deceleration is written, velocity_deceleration_pos and

velocity_deceleration_neg are changed together.

Index 2090h

Name velocity_ramps

Object Code RECORD

No. of Elements 5

Sub-Index 02h

Description velocity_acceleration_pos

Data Type INT32

Access rw

PDO Mapping no

Units --

Value Range --

Default Value --

Page 143: CANopen for Motor Controller CMMS/CMMD

6. Operating modes

Festo P.BE-CMMS-CO-SW-EN 1012a 143

Sub-Index 03h

Description velocity_deceleration_pos

Data Type INT32

Access rw

PDO Mapping no

Units --

Value Range --

Default Value --

Sub-Index 04h

Description velocity_acceleration_neg

Data Type INT32

Access rw

PDO Mapping no

Units --

Value Range --

Default Value --

Sub-Index 05h

Description velocity_deceleration_neg

Data Type INT32

Access rw

PDO Mapping no

Units --

Value Range --

Default Value --

Page 144: CANopen for Motor Controller CMMS/CMMD

6. Operating modes

144 Festo P.BE-CMMS-CO-SW-EN 1012a

6.6 Torque regulation operating mode (Profile Torque Mode)

6.6.1 Overview

This chapter describes torque-regulated operation. This operating mode allows an external torque setpoint value target_torque, which can be smoothed using the

integrated ramp generator, to be specified for the motor controller. It is thus possible for this motor controller to also be used for path control, with which both the position controller and the speed regulator are displaced to an external computer.

Fig. 6.20 Structure of torque-regulated operation

The parameters ramp steepness torque_slope and ramp shape torque_profile_type must

be specified for the ramp generator.

If the bit 8 halt is set in the controlword, the ramp generator lowers the torque down to zero. It rises correspondingly again to the setpoint torque target_torque when bit 8 is

deleted again. In both cases, the ramp generator takes into account the ramp steepness torque_slope and the ramp shape torque_profile_type.

All definitions within this document refer to rotatable motors. If linear motors have to be used, all "torque" objects must refer to a "force" instead. For simplicity, the objects do not appear twice and their names should not be changed.

The operating modes positioning mode (profile position mode) and speed regulator (profile velocity mode) need the torque controller to work. That is why it is always necessary to set its parameters.

Page 145: CANopen for Motor Controller CMMS/CMMD

6. Operating modes

Festo P.BE-CMMS-CO-SW-EN 1012a 145

6.6.2 Description of the Objects

Objects treated in this chapter

Index Object Name Type Attr.

6071h VAR target_torque INT16 rw

6072h VAR max_torque UINT16 rw

6074h VAR torque_demand_value INT16 ro

6076h VAR motor_rated_torque UINT32 rw

6077h VAR torque_actual_value INT16 ro

6079h VAR dc_link_circuit_voltage UINT32 ro

60F7h RECORD power_stage_parameters rw

60F6h RECORD torque_control_parameters rw

6078h VAR current_actual_value INT16 ro

Affected objects from other chapters

Index Object Name Type Chapter

6040h VAR controlword INT16 5 Device control

60F9h RECORD motor_parameters 4.4 Current regulator and motor adjustment

6073h VAR max_current UINT16 4.4 Current regulator and motor adjustment

6075h VAR motor_rated_current UINT32 4.4 Current regulator and motor adjustment

Object 6071h: target_torque

This parameter is the setpoint value for the torque regulator in torque-regulated operation (Profile Torque Mode). It is specified in thousandths of the nominal torque (object 6076h).

Index 6071h

Name target_torque

Object Code VAR

Data Type INT16

Access rw

PDO Mapping yes

Units motor_rated_torque / 1000

Value Range -32768 ... 32768

Default Value 0

Page 146: CANopen for Motor Controller CMMS/CMMD

6. Operating modes

146 Festo P.BE-CMMS-CO-SW-EN 1012a

Object 6072h: max_torque

This value represents the motor's maximum permissible torque. It is specified in thousandths of the nominal torque (object 6076h). If, for example, a 2-fold overloading of

the motor is briefly permissible, the value 2000 is entered here.

The object 6072h: max_torque corresponds with the object 6073h: max_current and may not be overwritten until the object 6075h: motor_rated_current is overwritten with a valid value.

Index 6072h

Name max_torque

Object Code VAR

Data Type UINT16

Access rw

PDO Mapping yes

Units motor_rated_torque / 1000

Value Range 1000 ... 65536

Default Value 1675

Object 6074h: torque_demand_value

By means of this object, the current setpoint torque can be read out in thousandths of the nominal torque (6076h). The internal limitations of the controller (current limit values and

I2t monitoring) are hereby taken into account.

Index 6074h

Name torque_demand_value

Object Code VAR

Data Type INT16

Access ro

PDO Mapping yes

Units motor_rated_torque / 1000

Value Range --

Default Value --

Page 147: CANopen for Motor Controller CMMS/CMMD

6. Operating modes

Festo P.BE-CMMS-CO-SW-EN 1012a 147

Object 6076h: motor_rated_torque

This object specifies the nominal torque of the motor. This can be taken from the motor's name plate. It is entered in the unit 0.001 Nm.

Index 6076h

Name motor_rated_torque

Object Code VAR

Data Type UINT32

Access rw

PDO Mapping yes

Units 0.001 Nm

Value Range --

Default Value 1499

Object 6077h: torque_actual_value

By means of this object, the motor's actual torque can be read out in thousandths of the nominal torque (object 6076h).

Index 6077h

Name torque_actual_value

Object Code VAR

Data Type INT16

Access ro

PDO Mapping yes

Units motor_rated_torque / 1000

Value Range --

Default Value --

Object 6078h: current_actual_value

By means of this object, the motor's actual current can be read out in thousandths of the nominal current (object 6075h).

Index 6078h

Name current_actual_value

Object Code VAR

Data Type INT16

Access ro

PDO Mapping yes

Units motor_rated_current / 1000

Value Range --

Default Value --

Page 148: CANopen for Motor Controller CMMS/CMMD

6. Operating modes

148 Festo P.BE-CMMS-CO-SW-EN 1012a

Object 6079h: dc_link_circuit_voltage

The intermediate circuit voltage of the controller can be read via this object. The voltage is specified in the unit millivolts.

Index 6079h

Name dc_link_circuit_voltage

Object Code VAR

Data Type UINT32

Access ro

PDO Mapping yes

Units mV

Value Range --

Default Value --

Page 149: CANopen for Motor Controller CMMS/CMMD

7. Index

Festo P.BE-CMMS-CO-SW-EN 1012a 149

7. Index A

Acceleration at of the Homing............................. 118 brake (positioning) ......................... 126 quick stop (positioning).................. 127

acceleration_factor.............................. 62 Actual position value (position units) .. 82 Actual speed value ............................ 142 Actual torque value ........................... 148 Actual value

position in position_units (position_actual_value)................. 82

torque (torque_actual_value)......... 148 actual_size ........................................ 134 Angle encoder offset............................ 73

B

buffer_clear ....................................... 135 buffer_organisation........................... 134 buffer_position.................................. 135

C

CAN-interface pin assignment ................................. 13

cob_id_sync......................................... 31 cob_id_used_by_pdo .......................... 26 Contouring error .................................. 77

current value .................................... 83 definition .......................................... 77 error window .................................... 83 timeout time..................................... 83

Contouring error time-out time............ 83 Contouring error window ..................... 83 Control of the regulator ....................... 97 control_effort....................................... 84 Controller enable ................................. 68 Controller enable logic......................... 68 controlword ....................................... 102

bit assignment.......................... 99, 103 commands...................................... 104 object description........................... 102

Conversion factors............................... 55 choice of prefix ................................. 65 position factor .................................. 57

Correction speed ................................. 80 Current controller

gain .................................................. 74 parameter......................................... 74 time constant.................................... 74

Current limitation................................. 86 Current setpoint value ....................... 147 current_actual_value......................... 148 current_limitation................................ 86 Curve generator................................. 123 Cycle time Heartbeat telegrams? ......... 46 Cycle time PDOs................................... 26

D

dc_link_circuit_voltage...................... 149 Device control...................................... 97 Digital inputs ....................................... 87 Digital outputs..................................... 88

statuses............................................ 88 digital_inputs ...................................... 87 digital_outputs .................................... 88 digital_outputs_data ........................... 88 Divisor

acceleration_factor........................... 62 velocity_encoder_factor ................... 59

drive_data ..................................... 68, 89

E

EMERGENCY ........................................ 31 EMERGENCY Message ......................... 31

structure of the................................. 31 Enable logic ......................................... 68 enable_logic ........................................ 68 encoder_offset_angle.......................... 73 end_velocity ...................................... 125 Error

controller error ................................. 31 SDO error messages......................... 20

Error Control Protocol heartbeat.................................... 45, 46

Error management............................... 95 Error register ....................................... 31 error_management.............................. 95

Page 150: CANopen for Motor Controller CMMS/CMMD

7. Index

150 Festo P.BE-CMMS-CO-SW-EN 1012a

F

Factor group ........................................ 55 acceleration_factor........................... 62 polarity ............................................. 65 position_factor ................................. 56 velocity_encoder_factor ................... 59

firmware_custom_version ................... 94 firmware_main_version ....................... 94 first_mapped_object ........................... 27 following_error .................................... 77 following_error_actual_value .............. 83 following_error_time_out .................... 83 following_error_window...................... 83 fourth_mapped_object ........................ 28

G

Gain of the Current controller .............. 74 guard_time .......................................... 50

H

Heartbeat ...................................... 45, 46 home_offset ...................................... 116 Homing.............................................. 114

acceleration.................................... 118 control of the .................................. 122 creep speed.................................... 117 method........................................... 116 search speed .................................. 117 speeds............................................ 117 zero point offset ............................. 116

Homing Methods ............................... 118 Homing Mode .................................... 114 Homing Mode home_offset ............... 116 Homing Mode Homing_acceleration.. 118 Homing Mode homing_method ......... 116 Homing Mode homing_speeds .......... 117 homing_acceleration ......................... 118 homing_method ................................ 116 homing_speeds ................................. 117

I

I2t extent of utilisation ......................... 72 I2t time ................................................. 72 Identification of the device .................. 92 Identifier

NMT Service ..................................... 47 Identifier for PDO................................. 26

identity_object .................................... 92 iit_ratio_motor..................................... 72 iit_time_motor..................................... 72 inhibit_time ......................................... 26 Interpolation data.............................. 132 Interpolation type .............................. 131 interpolation_data_configuration...... 134 interpolation_data_record................. 132 interpolation_submode_select .......... 131 interpolation_time_period................. 132 ip_data_position ............................... 132 ip_time_index.................................... 133 ip_time_units..................................... 133

K

km_release .......................................... 94

L

life_time_factor ................................... 50 Limit switch ......................... 89, 118, 119

emergency stop ramp....................... 90 polarity ............................................. 89

limit_current ........................................ 86 limit_current_input_channel ............... 86 limit_switch_deceleration.................... 90 limit_switch_polarity ........................... 89 Load default parameters ..................... 53

M

Manufacturer code .............................. 92 Mapping parameter for PDOs .............. 27 max_buffer_size ................................ 134 max_current ........................................ 71 max_motor_speed............................. 142 max_torque ....................................... 147 Maximum motor speed...................... 142 Maximum Torque............................... 147 Mode of operation

homing ........................................... 114 modify of the .................................. 112 read of the ...................................... 114

modes_of_operation ......................... 112 modes_of_operation_display .... 113, 114 Monitoring from Communication ... 45, 46 motion_profile_type .......................... 127

Page 151: CANopen for Motor Controller CMMS/CMMD

7. Index

Festo P.BE-CMMS-CO-SW-EN 1012a 151

Motor parameter I2t time.............................................. 72 nominal current ................................ 70 pin (pair) number.............................. 71 resolver offset angle......................... 73

Motor peak current.............................. 71 motor_data.................................... 72, 73 motor_rated_current ........................... 70 motor_rated_torque .......................... 148

N

Network management ......................... 47 New position travel to........................ 128 NMT Service ........................................ 47 Nominal current

motor................................................ 70 Nominal motor current ........................ 70 Nominal torque of the motor ............. 148 Not Ready to Switch On ..................... 100 Number of Mapped Objects................. 27 Number of pin pairs ............................. 71 Number of pins .................................... 71 number_of_mapped_objects............... 27 Numerator

acceleration_factor........................... 62 position_factor ................................. 57 velocity_encoder_factor ................... 59

O

Objects Object 1003h..................................... 43 Object 1003h_01h.............................. 44 Object 1003h_02h.............................. 44 Object 1003h_03h.............................. 44 Object 1003h_04h.............................. 44 Object 1005h..................................... 31 Object 100C1h................................... 50 Object 100Dh .................................... 50 Object 1010h..................................... 54 Object 1010h_01h.............................. 54 Object 1011h..................................... 53 Object 1011h_01h.............................. 53 Object 1017h..................................... 46 Object 1018h..................................... 92 Object 1018h_01h.............................. 92 Object 1018h_02h.............................. 93 Object 1018h_03h.............................. 93 Object 1018h_04h.............................. 93

Object 1400h..................................... 29 Object 1401h..................................... 30 Object 1600h..................................... 29 Object 1601h..................................... 30 Object 1800h............................... 26, 28 Object 1800h_01h.............................. 26 Object 1800h_02h.............................. 26 Object 1800h_03h.............................. 26 Object 1801h..................................... 29 Object 1A00h............................... 27, 28 Object 1A00h_00h ............................. 27 Object 1A00h_01h ............................. 27 Object 1A00h_02h ............................. 27 Object 1A00h_03h ............................. 28 Object 1A00h_04h ............................. 28 Object 1A01h..................................... 29 Object 2014h..................................... 29 Object 2015h..................................... 29 Object 204Ah..................................... 90 Object 204Ah_05h ............................. 91 Object 204Ah_06h ............................. 91 Object 2090h................................... 143 Object 2090h_02h............................ 143 Object 2090h_03h............................ 144 Object 2090h_04h............................ 144 Object 2090h_05h............................ 144 Object 2100h..................................... 95 Object 2415h..................................... 86 Object 2415h_01h.............................. 86 Object 2415h_02h.............................. 86 Object 6040h.................................. 102 Object 6041h................................... 107 Object 604Dh .................................... 71 Object 6060h................................... 112 Object 6061h........................... 113, 114 Object 6062h..................................... 81 Object 6063h..................................... 82 Object 6064h..................................... 82 Object 6065h..................................... 83 Object 6066h..................................... 83 Object 6067h..................................... 84 Object 6068h..................................... 85 Object 6069h................................... 141 Object 606Bh .................................. 141 Object 606Ch................................... 142 Object 6071h................................... 146 Object 6072h................................... 147

Page 152: CANopen for Motor Controller CMMS/CMMD

7. Index

152 Festo P.BE-CMMS-CO-SW-EN 1012a

Object 6073h..................................... 71 Object 6074h................................... 147 Object 6075h..................................... 70 Object 6076h................................... 148 Object 6077h................................... 148 Object 6078h................................... 148 Object 6079h................................... 149 Object 607Ah................................... 124 Object 607Ch................................... 116 Object 607Eh..................................... 65 Object 6080h................................... 142 Object 6081h................................... 125 Object 6082h................................... 125 Object 6083h................................... 126 Object 6084h................................... 126 Object 6085h................................... 127 Object 6086h................................... 127 Object 6093h..................................... 56 Object 6093h_01h.............................. 57 Object 6093h_02h.............................. 57 Object 6094h..................................... 59 Object 6094h_01h.............................. 59 Object 6094h_02h.............................. 59 Object 6097h..................................... 62 Object 6097h_01h.............................. 62 Object 6097h_02h.............................. 62 Object 6098h................................... 116 Object 6099h................................... 117 Object 6099h_01h............................ 117 Object 6099h_02h............................ 117 Object 609Ah................................... 118 Object 60C0h................................... 131 Object 60C1h................................... 132 Object 60C1h_01h............................ 132 Object 60C2h................................... 132 Object 60C2h_01h............................ 133 Object 60C2h_02h............................ 133 Object 60C4h................................... 134 Object 60C4h_01h ........................... 134 Object 60C4h_02h ........................... 134 Object 60C4h_03h ........................... 134 Object 60C4h_04h ........................... 135 Object 60C4h_05h ........................... 135 Object 60C4h_06h ........................... 135 Object 60F4h ..................................... 83 Object 60F6h ..................................... 74 Object 60F6h_01h .............................. 74

Object 60F9h ..................................... 76 Object 60F9h_01h .............................. 76 Object 60F9h_02h ........................ 74, 76 Object 60F9h_04h .............................. 76 Object 60FAh ..................................... 84 Object 60FBh..................................... 80 Object 60FBh_01h.............................. 80 Object 60FBh_04h.............................. 80 Object 60FBh_05h.............................. 81 Object 60FDh..................................... 87 Object 60FEh ..................................... 88 Object 60FEh_01h .............................. 88 Object 60FFh ................................... 142 Object 6410h............................... 72, 73 Object 6410h_03h.............................. 72 Object 6410h_04h.............................. 72 Object 6410h_10h.............................. 73 Object 6410h_11h.............................. 73 Object 6510h............................... 68, 89 Object 6510h_10h.............................. 68 Object 6510h_11h.............................. 89 Object 6510h_15h.............................. 90 Object 6510h_31h.............................. 69 Object 6510h_A9h ............................. 94 Object 6510h_AAh ............................. 94 Object 6510h_ADh ............................. 94

Offset of the angle encoder ................. 73 Operating mode......................... 112, 114

setting of the .................................. 112 speed adjustment........................... 138 torque regulations.......................... 145

Output stage enable ............................ 68 Output stage parameter ...................... 68

enable logic ...................................... 68

P

Parameter sets download and save........................... 52 load default parameters ................... 53 save parameter set ........................... 54

Parameter setting ................................ 52 PDO ..................................................... 22

1. Entered Object.............................. 27 2. Entered Object.............................. 27 3. Entered Object.............................. 28 4. Entered Object.............................. 28

Page 153: CANopen for Motor Controller CMMS/CMMD

7. Index

Festo P.BE-CMMS-CO-SW-EN 1012a 153

RPDO1 1. Entered Object........................... 29 2. Entered Object........................... 29 3. Entered Object........................... 29 4. Entered Object........................... 29 COB-ID used by PDO ..................... 29 first mapped object ....................... 29 fourth mapped object.................... 29 identifier........................................ 29 no. of entered objects ................... 29 number of mapped objects ........... 29 second mapped object .................. 29 third mapped object ...................... 29 transmission type.......................... 29

RPDO2 1. Entered Object........................... 30 2. Entered Object........................... 30 3. Entered Object........................... 30 4. Entered Object........................... 30 COB-ID used by PDO ..................... 30 first mapped object ....................... 30 fourth mapped object.................... 30 identifier........................................ 30 no. of entered objects ................... 30 number of mapped objects ........... 30 second mapped object .................. 30 third mapped object ...................... 30 transmission type.......................... 30

TPDO1 1. Entered Object........................... 28 2. Entered Object........................... 28 3. Entered Object........................... 28 4. Entered Object........................... 28 COB-ID used by PDO ..................... 28 first mapped object ....................... 28 fourth mapped object.................... 28 identifier........................................ 28 inhibit time.................................... 28 no. of entered Objects................... 28 number of mapped objects ........... 28 second mapped object .................. 28 third mapped object ...................... 28 transmission type.......................... 28 transmit mask ............................... 29

TPDO2 1. Entered Object........................... 29 2. Entered Object........................... 29 3. Entered Object........................... 29 4. Entered Object........................... 29 COB-ID used by PDO ..................... 29 first mapped object ....................... 29 fourth mapped object.................... 29 identifier........................................ 29 inhibit time.................................... 29 no. of entered Objects ................... 29 number of mapped objects ........... 29 second mapped object .................. 29 third mapped object ...................... 29 transmission type.......................... 29 transmit mask ............................... 29

PDO Message ...................................... 22 Peak current

motor................................................ 71 Permissible Torque............................ 147 phase_order ........................................ 73 Pin assignment .................................... 13 Polarity ................................................ 65 pole_number ....................................... 71 Position control function ..................... 77 Position controller ............................... 77

dead zone......................................... 81 gain .................................................. 80 output of the .................................... 84 parameter......................................... 80

Position controller gain........................ 80 Position controller output.................... 84 Position controller parameter .............. 80 Position setpoint (position units) ........ 81 Position value interpolation............... 132 position_actual_value ......................... 82 position_control_gain.......................... 80 position_control_parameter_set ......... 80 position_control_v_max ...................... 80 position_demand_value ...................... 81 position_error_tolerance_window....... 81 position_factor .................................... 56 position_reached................................. 78 position_window ................................. 84 position_window_time ........................ 85

Page 154: CANopen for Motor Controller CMMS/CMMD

7. Index

154 Festo P.BE-CMMS-CO-SW-EN 1012a

Positioning ........................................ 128 braking deceleration ...................... 126 handshake...................................... 128 quick stop deceleration .................. 127 speed in.......................................... 125 target position................................ 124

Positioning braking deceleration ....... 126 Positioning profile

jerk-free.......................................... 127 linear .............................................. 127 sinus2 ............................................. 127

Positioning speed.............................. 125 Positioning start ................................ 128 power_stage_temperature .................. 69 pre_defined_error_field....................... 43 producer_heartbeat_time.................... 46 Product code ....................................... 93 product_code ...................................... 93 Profile position Mode

profile_deceleration ....................... 126 profile_acceleration........................... 126 profile_deceleration .......................... 126 profile_velocity.................................. 125 Profiles position Mode

end_velocity ................................... 125 profile_acceleration........................ 126 profile_velocity............................... 125 quick_stop_deceleration ................ 127 target_position............................... 124

Profiles Position Mode motion_profile_type ....................... 127

Profiles Torque Mode ........................ 145 current_actual_value...................... 148 max_torque .................................... 147 motor_rated_torque....................... 148 target_torque ................................. 146 torque_actual_value ...................... 148 torque_demand_value ................... 147

Profiles Velocity Mode....................... 138 max_motor_speed.......................... 142 target_velocity................................ 142 velocity_actual_value..................... 142 velocity_demand_value.................. 141 velocity_sensor .............................. 141

Q

Quick stop deceleration..................... 127 quick_stop_deceleration ................... 127

R

Ready to Switch On............................ 100 Receive_PDO_1 ................................... 29 Receive_PDO_2 ................................... 30 Reference switch ................................. 89 Release number................................... 94 Resolver offset angle ........................... 73 resolver_offset_angle.......................... 73 restore_all_default_parameters .......... 53 restore_parameters ............................. 53 Revision number CANopen .................. 93 revision_number.................................. 93 R-PDO 1 ............................................... 29 R-PDO 2 ............................................... 30

S

sample_data........................................ 90 sample_position_falling_edge............. 91 sample_position_rising_edge.............. 91 Sampling position

falling edge....................................... 91 rising edge........................................ 91

Save parameter set.............................. 54 save_all_parameters ........................... 54 Scaling factors ..................................... 55

choice of prefix ................................. 65 position factor .................................. 57

SDO ..................................................... 18 Error messages................................. 20

SDO message ...................................... 18 second_mapped_object ...................... 27 serial_number ..................................... 93 Setpoint speed for speed adjustment 142 Setpoint torque (torque regulation) .. 146 Setpoint value

current............................................ 147 position (position units) ................... 81 torque............................................. 146

Setting of the operating mode........... 112 size_of_data_record .......................... 135 Speed

at of the homing ............................. 117 in positioning.................................. 125

Page 155: CANopen for Motor Controller CMMS/CMMD

7. Index

Festo P.BE-CMMS-CO-SW-EN 1012a 155

Speed adjustment ............................. 138 max. motor speed........................... 142 setpoint speed................................ 142 speed sensor selection................... 141 target speed ................................... 142

Speed regulator................................... 75 filter time constant ........................... 76 gain .................................................. 76 parameter......................................... 76 time constant ................................... 76

Speed sensor selection...................... 141 speed_during_search_for_switch...... 117 speed_during_search_for_zero ......... 117 standard_error_field_0........................ 44 standard_error_field_1........................ 44 standard_error_field_2........................ 44 standard_error_field_3........................ 44 State

Not Ready to Switch On.................. 100 Ready to Switch On ........................ 100 Switch On Disabled ........................ 100 Switched On ................................... 100

Status Not Ready to Switch On.................. 100 Ready to Switch On ........................ 100 Switch On Disabled ........................ 100 Switched On ................................... 100

Status word bit assignment................................ 107 object description........................... 107

Stop........................................... 120, 121 store_parameters ................................ 54 Switch On Disabled ........................... 100 SYNC.................................................... 30 SYNC message..................................... 30

T

Target position .................................. 124 Target position window ....................... 84 Target speed for speed adjustment ... 142 Target torque (torque regulation)...... 146 Target window

position window ............................... 84 time .................................................. 85

Target window time ............................. 85 target_position.................................. 124 target_torque ............................ 145, 146

target_velocity................................... 142 third_mapped_object .......................... 28 Time constant of the Current controller74 Torque limitation ................................. 86

scaling .............................................. 86 setpoint value................................... 86 source .............................................. 86

Torque regulation actual torque value......................... 148 current setpoint value .................... 147 max. torque .................................... 147 nominal torque ............................... 148 setpoint torque............................... 146 target torque .................................. 146

Torque regulations ............................ 145 torque_actual_value.......................... 148 torque_control_gain ............................ 74 torque_control_parameters................. 74 torque_control_time............................ 74 torque_demand_value ...................... 147 Torque-limited speed operation .......... 86 T-PDO 1 ............................................... 28 T-PDO 2 ............................................... 29 tpdo_1_transmit_mask........................ 29 tpdo_2_transmit_mask........................ 29 Transfer parameters for PDOs ............. 26 transfer_PDO_1 ................................... 28 transfer_PDO_2 ................................... 29 transmission_type ............................... 26 transmit_pdo_mapping ....................... 27 transmit_pdo_parameter..................... 26 Turn-through protection ...................... 75 Type of transmission ........................... 26

V

velocity_acceleration_neg ................. 144 velocity_acceleration_pos ................. 143 velocity_actual_value ........................ 142 velocity_control_filter_time................. 76 velocity_control_gain .......................... 76 velocity_control_parameter_set .......... 76 velocity_control_time .......................... 76 velocity_deceleration_neg................. 144 velocity_deceleration_pos................. 144 velocity_demand_value..................... 141 velocity_encoder_factor ...................... 59 velocity_ramps .................................. 143

Page 156: CANopen for Motor Controller CMMS/CMMD

7. Index

156 Festo P.BE-CMMS-CO-SW-EN 1012a

velocity_sensor_actual_value ........... 141 vendor_id ............................................ 92 Version number of the customer-specific

variant .............................................. 94 Version number of the firmware .......... 94

W

Wiring instructions .............................. 14

Z

Zero point offset ................................ 116 Zero pulse.......................................... 122