CANopen for Motor Controller
CMMS/CMMD
Manual
CANopen
CMMS-ST
CMMS-AS
CMMD-AS
Manual
554 352
en 1012a
[757 730]
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
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
CONTENTS
1. General remarks ... 8 1.1 Intended use ... 8 1.2 Safety instructions ... 8 1.3 Target group... 9 1.4 Service ... 91.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
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
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
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.
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:
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.
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
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:
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
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. 1 4 2 3 5
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 Ω
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
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:
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
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)
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 01hCaution
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
*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.
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.
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)
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
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 = 3
h
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
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 --
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 --
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
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
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.
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
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)
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)
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
The software has taken an unexpected status.
In case of repetition, load firmware again. If the error occurs repeatedly, the
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?
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.
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.
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.
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.
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.)
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.
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
3.5.2
Description of the Objects
Object 1001
h: 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 1003
h: 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
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 --
Object 1014
h_00
h: cob-id_emergency_object
Sub-Index 00hDescription 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
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 1017
h: 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.
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 Reset Communication 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
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 (7F
h), 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.