CiA 402 for motor controller CMMP-AS-...-M3/-M0 Description Device profile CiA 402 for motor controller CMMP-AS-...-M3 via fieldbus: – CANopen – EtherCAT with interface CAMC-EC for motor controller CMMP-AS-...-M0 via fieldbus: – CANopen 8022083 1304a CMMP-AS-...-M3/-M0 Translation of the original instructions GDCP-CMMP-M3/-M0-C-CO-EN CANopen®, CiA®, EthetCAT®, TwinCAT® are registered trademarks of the respective trademark owners in certain countries. Identification of hazards and instructions on how to prevent them: Warning Hazards that can cause death or serious injuries. Caution Hazards that can cause minor injuries or serious material damage. Other symbols: Note Material damage or loss of function. Recommendations, tips, references to other documentation. Essential or useful accessories. Information on environmentally sound usage. Text designations: • Activities that may be carried out in any order. 1. Activities that should be carried out in the order stated. – General lists. 2 Festo – GDCP-CMMP-M3/-M0-C-CO-EN – 1304a CMMP-AS-...-M3/-M0 Table of contents – CMMP-AS-...-M3/-M0 1 Fieldbus interfaces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 2 CANopen [X4] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 2.1 2.2 2.5 General information on CANopen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Cabling and pin assignment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.2.1 Pin allocations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.2.2 Cabling instructions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Configuration of CANopen stations on the CMMP-AS-...-M3 . . . . . . . . . . . . . . . . . . . . . . . . 2.3.1 Setting of the node number . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.3.2 Setting of the transmission rate with DIP switches . . . . . . . . . . . . . . . . . . . . . . . 2.3.3 Activation of CANopen communication with DIP switches . . . . . . . . . . . . . . . . . 2.3.4 Setting the physical units (factor group) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Configuration of CANopen participants on the CMMP-AS-...-M0 . . . . . . . . . . . . . . . . . . . . . 2.4.1 Setting the node number via DINs and FCT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.4.2 Setting the transmission rate via DINs or FCT . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.4.3 Setting the protocol (data profile) via DINs or FCT . . . . . . . . . . . . . . . . . . . . . . . 2.4.4 Activation of CANopen communication via DINs or FCT . . . . . . . . . . . . . . . . . . . 2.4.5 Setting the physical units (factor group) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Configuration CANopen master . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 11 11 11 13 14 15 15 15 16 17 17 18 18 19 19 3 CANopen access procedure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 3.1 3.2 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . SDO Access . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.2.1 SDO Sequences for Reading and Writing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.2.2 SDO Error Messages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.2.3 Simulation of SDO access . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . PDO Message . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.3.1 Description of the Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.3.2 Objects for PDO Parametrisation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.3.3 Activation of PDOs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . SYNC message . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . EMERGENCY Message . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.5.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.5.2 Structure of the EMERGENCY Message . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.5.3 Description of the Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Network Management (NMT Service) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Bootup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.7.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.7.2 Structure of the Bootup Message . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 21 22 23 24 25 26 29 34 35 36 36 37 37 39 41 41 41 2.3 2.4 3.3 3.4 3.5 3.6 3.7 Festo – GDCP-CMMP-M3/-M0-C-CO-EN – 1304a 3 CMMP-AS-...-M3/-M0 3.8 Heartbeat (Error Control Protocol) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.8.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.8.2 Structure of the Heartbeat Message . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.8.3 Description of the Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Nodeguarding (Error Control Protocol) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.9.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.9.2 Structure of the Nodeguarding Messages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.9.3 Description of the Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.9.4 Object 100Dh: life_time_factor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.9.5 Table of Identifiers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42 42 42 42 43 43 43 44 45 45 EtherCAT with CoE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . EtherCat-Interface CAMC-EC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Installing the EtherCAT interface in the controller . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Pin allocation and cable specifications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . CANopen communication interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.5.1 Configuration of the Communication Interface . . . . . . . . . . . . . . . . . . . . . . . . . . 4.5.2 New and revised objects under CoE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.5.3 Objects not supported under CoE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.6 Communication Finite State Machine . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.6.1 Differences between the finite state machines of CANopen and EtherCAT . . . . 4.7 SDO Frame . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.8 PDO Frame . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.9 Error Control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.10 Emergency Frame . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.11 XML Device Description File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.11.1 Fundamental structure of the device description file . . . . . . . . . . . . . . . . . . . . . 4.11.2 Receive PDO configuration in the RxPDO node . . . . . . . . . . . . . . . . . . . . . . . . . . 4.11.3 Transmit PDO configuration in the TxPDO node . . . . . . . . . . . . . . . . . . . . . . . . . . 4.11.4 Initialisation commands via the “Mailbox” node . . . . . . . . . . . . . . . . . . . . . . . . . 4.12 Synchronisation (Distributed Clocks) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46 46 48 48 49 50 52 59 60 62 63 64 66 66 67 67 69 70 70 71 5 Setting parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72 5.1 5.2 5.3 5.4 5.5 5.6 5.7 5.8 Loading and Saving Parameter Sets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Compatibility settings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Conversion factors (factor group) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Output stage parameter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Current Regulator and Motor Adjustment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Speed Control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Position Controller (Position Control Function) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Setpoint value limitation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72 75 77 87 94 101 103 114 3.9 4 4.1 4.2 4.3 4.4 4.5 4 Festo – GDCP-CMMP-M3/-M0-C-CO-EN – 1304a CMMP-AS-...-M3/-M0 5.9 5.10 5.11 5.12 5.13 5.14 5.15 5.16 5.17 5.18 Encoder Adjustments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Incremental Encoder Emulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Setpoint/Actual Value Activation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Analogue inputs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Digital inputs and outputs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Limit Switch/Reference Switch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Sampling of Positions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Brake Activation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Device Information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Error Management . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116 120 122 125 127 132 135 138 139 146 6 Device Control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148 6.1 Status Diagram (State Machine) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.1.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.1.2 Status diagram of the motor controller (state machine) . . . . . . . . . . . . . . . . . . . 6.1.3 Control word (controlword) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.1.4 Read-out of the motor controller status . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.1.5 Status words (statuswords) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.1.6 Description of the additional objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148 148 149 154 157 158 165 7 Operating modes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 168 7.1 Setting the operating mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7.1.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7.1.2 Description of the Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Operating mode reference travel (homing mode) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7.2.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7.2.2 Description of the Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7.2.3 Reference Travel Processes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7.2.4 Control of Reference Travel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Positioning Operating Mode (Profile Position Mode) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7.3.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7.3.2 Description of the objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7.3.3 Description of function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Synchronous position specification (interpolated position mode) . . . . . . . . . . . . . . . . . . . 7.4.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7.4.2 Description of the Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7.4.3 Description of function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 168 168 168 170 170 171 175 179 180 180 181 184 187 187 187 193 7.2 7.3 7.4 Festo – GDCP-CMMP-M3/-M0-C-CO-EN – 1304a 5 CMMP-AS-...-M3/-M0 7.5 Speed Adjustment Operating Mode (Profile Velocity Mode) . . . . . . . . . . . . . . . . . . . . . . . . 7.5.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7.5.2 Description of the Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Speed ramps . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Torque Regulation Operating Mode (Profile Torque Mode) . . . . . . . . . . . . . . . . . . . . . . . . . 7.7.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7.7.2 Description of the Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 195 195 197 203 206 206 207 A Technical appendix . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 212 A.1 Technical Data Interface EtherCAT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A.1.1 General . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A.1.2 Operating and environmental conditions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 212 212 212 B Diagnostic messages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 213 B.1 B.2 B.3 Explanations on the diagnostic messages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Error codes via CiA 301/402 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Diagnostic messages with instructions for trouble-shooting . . . . . . . . . . . . . . . . . . . . . . . 213 214 217 7.6 7.7 6 Festo – GDCP-CMMP-M3/-M0-C-CO-EN – 1304a CMMP-AS-...-M3/-M0 Instructions on this documentation This documentation describes the device profile CiA 402 (DS 402) for the motor controllers CMMP-AS-...-M3/-M0 conforming to the section “Information on the version” through the fieldbus interfaces: – CANopen – interface [X4] integrated into the motor controller. – EtherCAT – optional interface CAMC-EC in the slot Ext2, only for CMMP-AS-...-M3. This provides you with supplementary information about control, diagnostics and parametrisation of the motor controllers via the fieldbus. • Unconditionally observe the general safety regulations for the CMMP-AS-...-M3/-M0. The general safety regulations for the CMMP-AS-...-M3/-M0 can be found in the hardware description, GDCP-CMMP-AS-M3-HW-... or GDCP-CMMP-AS-M0-HW-..., see Tab. 2. Target group This description is intended exclusively for technicians trained in control and automation technology, who have experience in installation, commissioning, programming and diagnosing of positioning systems. Service Please consult your regional Festo contact if you have any technical problems. Information on the version This description refers to the following versions: Motor controller Version CMMP-AS-...-M3 Motor controller CMMP-AS-...-M3 from Rev 01 FCT plug-in CMMP-AS from Version 2.0.x. Motor controller CMMP-AS-...-M0 from Rev 01 FCT plug-in CMMP-AS from Version 2.2.x. CMMP-AS-...-M0 Tab. 1 Versions This description does not apply to the older variants CMMP-AS-.... Use the assigned CANopen description for the motor controller CMMP-AS for these variants. Note With newer firmware versions, check whether there is a newer version of this description available: www.festo.com Festo – GDCP-CMMP-M3/-M0-C-CO-EN – 1304a 7 CMMP-AS-...-M3/-M0 Documentation You will find additional information on the motor controller in the following documentation: User documentation on the motor controller CMMP-AS-...-M3/-M0 Name, type Contents Hardware description, GDCP-CMMP-M3-HW-... Description of functions, GDCP-CMMP-M3-FW-... Description of hardware, GDCP-CMMP-M0-HW-... Function descriptions, GDCP-CMMP-M0-FW-... Description of FHPP, GDCP-CMMP-M3/-M0-C-HP-... Description of CiA 402 (DS 402), GDCP-CMMP-M3/-M0-C-CO-... Description of CAM-Editor, P.BE-CMMP-CAM-SW-... Safety module description, GDCP-CAMC-G-S1-... Description of the safety module, GDCP-CAMC-G-S3-... Description of the safety function STO, GDCP-CMMP-AS-M0-S1-... Description for exchange and project conversion GDCP-CMMP-M3/-M0-RP-... Help for the FCT plug-in CMMP-AS Tab. 2 8 Mounting and installation of the motor controller CMMP-AS-...-M3 for all variants/output classes (1-phase, 3-phase), pin assignments, error messages, maintenance. Functional description (firmware) CMMP-AS-...-M3, instructions on commissioning. Mounting and installation of the motor controller CMMP-AS-...-M0 for all variants/output classes (1-phase, 3-phase), pin assignments, error messages, maintenance. Functional description (firmware) CMMP-AS-...-M0, Instructions on commissioning. Control and parameterisation of the motor controller via the FHPP Festo profile. – Motor controller CMMP-AS-...-M3 with the following fieldbuses: CANopen, PROFINET, PROFIBUS, EtherNet/IP, DeviceNet, EtherCAT. – Motor controller CMMP-AS-...-M0 with fieldbus CANopen. Control and parameterisation of the motor controller via the device profile CiA 402 (DS402) – Motor controller CMMP-AS-...-M3 with the following fieldbuses: CANopen and EtherCAT. – Motor controller CMMP-AS-...-M0 with fieldbus CANopen. Cam disc function (CAM) of the motor controller CMMP-AS-...-M3/-M0. Functional safety engineering for the motor controller CMMP-AS-...-M3 with the safety function STO. Functional safety engineering for the motor controller CMMP-AS-...-M3 with the safety functions STO, SS1, SS2, SOS, SLS, SSR, SSM, SBC. Functional safety engineering for the motor controller CMMP-AS-...-M0 with the integrated safety function STO. Motor controller CMMP-AS-...-M3/-M0 as a replacement device for previous motor controller CMMP-AS. Changes to the electrical installation and description of project conversion. User interface and functions of the CMMP-AS plug-in for the Festo Configuration Tool. www.festo.com Documentation on the motor controller CMMP-AS-...-M3/-M0 Festo – GDCP-CMMP-M3/-M0-C-CO-EN – 1304a 1 General remarks 1 Fieldbus interfaces Control and parameterisation via CiA 402 for the CMMP-AS-...-M3/-M0 is supported correspondingly through the fieldbus interfaces.Tab. 1.1 The CANopen interface is integrated into the motor controller; through interfaces, the motor controller can be extended with additional fieldbus interfaces. The fieldbus is configured with the DIP switches [S1]. Fieldbus Interface Description CANopen EtherCAT [X4] – integrated Interface CAMC-EC Chapter 2 Chapter 4 Tab. 1.1 M0 Fieldbus interfaces for CiA 402 The motor controllers CMMP-AS-…-M0 are only equipped with the CANopen fieldbus interface and do not feature any slots for interfaces, switches or safety modules. 5 4 1 3 2 1 2 DIP switches [S1] for fieldbus settings on the switch or safety module in slot Ext3 Slots Ext1/Ext2 for interfaces Fig. 1.1 3 4 5 CANopen terminating resistor [S2] CANopen interface [X4] CAN-LED Motor controller CMMP-AS-...-M3/-M0: Front view, example with micro switch module in Ext3 Festo – GDCP-CMMP-M3/-M0-C-CO-EN – 1304a 9 2 CANopen [X4] 2 CANopen [X4] 2.1 General information on CANopen CANopen is a standard worked out by the “CAN in Automation” association. Numerous device manufacturers are organised in this network. This standard has largely replaced the current manufacturerspecific CAN protocols. As a result, the end user has a non-proprietary communication interface. The following manuals, among others, can be obtained from this association: CiA Draft Standard 201 … 207: These documents cover the general basic 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 DS 201 … 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 CMMP motor controller families and the related access methods are described in this manual. Procurement of DS 301 is recommended but not unconditionally necessary. CiA Draft Standard 402: This book deals with the specific implementation of CANopen in drive controllers. Although all implemented objects are also briefly documented and described in this CANopen manual, the user should have this book available. Source address: CAN in Automation (CiA) International Headquarters Am Weichselgarten 26 D-91058 Erlangen Tel.: +49 (0)9131-601091 Fax: +49 (0)9131-601092 www.can-cia.de The CANopen implementation of the motor controller is based on the following standards: 1 2 10 CiA Draft Standard 301, CiA Draft Standard Proposal 402, Version 4.02, Version 2.0, 13 February 2002 26 July 2002 Festo – GDCP-CMMP-M3/-M0-C-CO-EN – 1304a 2 CANopen [X4] 2.2 Cabling and pin assignment 2.2.1 Pin allocations The CAN interface is already integrated in the motor controller CMMP-AS-...-M3/-M0 and thus is always available. The CAN bus connection is designed as a 9-pole DSUB plug in accordance with standards. [X4] Pin no. 1 6 2 7 3 8 4 9 5 Tab. 2.1 Designation Value Description – CAN-GND CAN-L CAN-H CAN-GND – – – CAN shield – – – – – – – – – Unused Ground Negative CAN signal (dominant low) Positive CAN signal (dominant high) Ground Unused Unused Unused Screening Pin assignment for CAN-interface [X4] CAN bus cabling When cabling the motor controller via the CAN bus, you should unconditionally observe the following information and instructions to obtain a stable, trouble-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. Termination A terminating resistor (120 Ω) can, if required, be switched by means of DIP switch S2 = 1 (CAN Term) on the basic unit. 2.2.2 Cabling instructions The CAN bus offers a simple, fail-safe ability to network all the components of a system together. But a requirement for this is that all of the following instructions on cabling are observed. Festo – GDCP-CMMP-M3/-M0-C-CO-EN – 1304a 11 2 CANopen [X4] CAN shield CAN shield CAN shield CAN-GND CAN-GND CAN-GND CAN-L CAN-H CAN-L CAN-H CAN-L CAN-H 120 Ω Fig. 2.1 120 Ω 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 ( Fig. 2.1). – A terminating resistor of exactly 120 Ω +/5 % must be available at both ends of the CAN cable. Such a terminating resistor is often already integrated into CAN cards or PLCs, which must be taken into account correspondingly. – A screened cable with precisely two twisted conductor pairs must be used for the cabling. One twisted pair is used for connecting CAN-H and CAN-L. The conductors of the other pair are used together for CAN-GND. The cable screening is connected to the CAN shield connection at all nodes. (A table with the technical data of usable cables is located at the end of this chapter.) – The use of adapters 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 cables should not be laid parallel to signal lines. Motor cables must conform to specifications. Motor cables must be correctly shielded and earthed. – For additional information on design of trouble-free CAN bus cabling, refer to the Controller Area Network protocol specification, Version 2.0 from Robert Bosch GmbH, 1991. Characteristic Wire pairs Wire cross section Screening Loop resistance Surge impedance Tab. 2.2 12 Value – [mm2] – [Ω / m] [Ω] 2 ≥ 0.22 Yes < 0.2 100…120 Technical data, CAN bus cable Festo – GDCP-CMMP-M3/-M0-C-CO-EN – 1304a 2 CANopen [X4] 2.3 M3 Configuration of CANopen stations on the CMMP-AS-...-M3 This section is only applicable for the motor controller CMMP-AS-…-M3. Several steps are required in order to produce an operational CANopen interface. Some of these settings should or must be carried out before the CANopen communication is activated. This section provides an overview of the steps required by the slave for parametrisation and configuration. As some parameters are only effective after saving and reset, we recommend that commissioning with the FCT without connection to the CANopen bus should be carried out first. Instructions on commissioning with the Festo Configuration Tool can be found in the Help for the device-specific FCT plug-in. When designing the CANopen interface, the user must therefore make these determinations. Only then should parameterisation of the fieldbus connection take place on both pages. We recommend that parameterisation of the slave should be executed first. Then the master should be configured. We recommend the following procedure: 1. Setting of the offset of the node number, bit rate and activation of the bus communication via DIP switches. The status of the DIP switches is read once at Power- ON / RESET. The CMMP-AS takes over changes to the switch setting in ongoing operation only at the next RESET or restart 2. Parametrisation and commissioning with the Festo Configuration Tool (FCT). In particular on the Application Data page: – CANopen control interface (Mode Selection tab) In addition, the following settings on the fieldbus page: – Basic address of the node number – Protocol CANopen DS 402 (Operating parameter tab) – Physical units (Factor Group tab) Observe that parameterisation of the CANopen function remains intact after a reset only if the parameter set of the motor controller was saved. While the FCT device control is active, CAN communication is automatically deactivated. 3. Configuration of the CANopen master Sections 2.5 and 3. Festo – GDCP-CMMP-M3/-M0-C-CO-EN – 1304a 13 2 CANopen [X4] 2.3.1 Setting of the node number Each device in the network must be assigned a unique node number. The node number can be set via the DIP switches 1 … 5 on the module in slot Ext3 and in the program FCT. The resulting node number consists of the base address (FCT) and the offset (DIP switches). Permissible values for the node number lie in the range 1 … 127. Setting of the offset of the node number with DIP switches Setting of the node number can be made with DIP switch 1 … 5. The offset of the node number set via DIP switches 1 … 5 is displayed in the program FCT on the Fieldbus page in the Operating Parameters tab. Value DIP switches 1 2 3 4 5 Total 1 … 5 = Offset 1) ON 1 2 4 8 16 1 … 31 1) Example OFF 0 0 0 0 0 ON ON OFF ON ON Value 1 2 0 8 16 27 The value 0 for the offset is interpreted in connection with a base address 0 as node number 1. A node number greater than 31 must be set with the FCT. Tab. 2.3 Setting of the offset of the node number Setting the base address of the node number with FCT With the Festo Configuration Tool (FCT), the node number is set as base address on the Fieldbus page in the Operating Parameters tab. Default setting = 0 (that means offset = node number). If a node number is assigned simultaneously via DIP switches 1…5 and in the FCT program, the resulting node number consists of the sum of the base address and the offset. If this sum is greater than 127, the value is automatically limited to 127. 14 Festo – GDCP-CMMP-M3/-M0-C-CO-EN – 1304a 2 CANopen [X4] 2.3.2 Setting of the transmission rate with DIP switches The transmission rate must be set with DIP switches 6 and 7 on the module in slot Ext3. The status of the DIP switches is read one time at Power On/RESET. The CMMP-AS-...-M3 takes over changes to the switch setting in ongoing operation only at the next RESET. Transmission rate 125 250 500 1 Tab. 2.4 [kbit/s] [kbit/s] [kbit/s] [Mbps] DIP switch 6 DIP switch 7 OFF ON OFF ON OFF OFF ON ON Setting of the transmission rate 2.3.3 Activation of CANopen communication with DIP switches When the node number and transmission rate have been set, CANopen communication can be activated. Please note that the above-mentioned parameters can only be revised when the protocol is deactivated. CANopen communication DIP switch 8 Deactivated Enabled OFF ON Tab. 2.5 Activation of CANopen communication Please observe that CANopen communication can only be activated after the parameter set (the FCT project) has been saved and a Reset carried out. If another fieldbus interface is plugged into Ext1 or Ext2 ( chapter 1), CANopen communication is activated with DIP switch 8 instead of via [X4] of the corresponding fieldbus. 2.3.4 Setting the physical units (factor group) In order for a fieldbus master to exchange position, speed and acceleration data in physical units (e.g. mm, mm/s, mm/s 2) with the motor controller, it must be parameterised via the factor group section 5.3. Parameterisation can be carried out via FCT or the fieldbus. Festo – GDCP-CMMP-M3/-M0-C-CO-EN – 1304a 15 2 CANopen [X4] 2.4 Configuration of CANopen participants on the CMMP-AS-...-M0 This section is only applicable for the motor controller CMMP-AS-…-M0. M0 Several steps are required in order to produce an operational CANopen interface. Some of these settings should or must be carried out before the CANopen communication is activated. This section provides an overview of the steps required by the slave for parameterisation and configuration. Instructions on commissioning with the Festo Configuration Tool can be found in the Help for the device-specific FCT plug-in. When designing the CANopen interface, the user must therefore make these determinations. Only then should parameterisation of the fieldbus connection take place on both pages. We recommend that parameterisation of the slave should be executed first. Then the master should be configured. The CAN-bus-specific parameters can be set on two paths. These paths are separated from one another and are accessed via the option “Fieldbus parameterisation via DINs” on the “Application data” page in the FCT. The option “Fieldbus parameterisation via DINs” is active on delivery and after a reset to the factory settings. Parameterisation with FCT for activation of the CAN bus is thus not absolutely necessary. The following parameters can be set via the DINs or FCT: Parameters Setting via DIN Node number Transmission rate (bit rate) Input/activation Protocol (data profile) 0 … 3 1) 12, 13 1) 8 9 2) FCT “Fieldbus” page, operating parameters. Activation of the CAN bus is performed automatically by FCT (dependent on device control): – Device control by FCT } CAN deactivated – Device control released } CAN activated 1) Only transferred in the event of inactive CAN communication 2) Only transferred after a device RESET Tab. 2.6 16 Overview of settings for CAN parameters via DINs or FCT Festo – GDCP-CMMP-M3/-M0-C-CO-EN – 1304a 2 CANopen [X4] 2.4.1 Setting the node number via DINs and FCT Each device in the network must be assigned a unique node number. The node number can be set via the digital inputs DIN0 … DIN3 and in the FCT programme. Permissible values for the node number lie in the range 1 … 127. Setting the offset of the node number via DINs The node number can be set via the circuitry of the digital inputs DIN0 … DIN3. The offset of the node number set via the digital inputs is displayed in the FCT programme on the “Fieldbus” panel in the “Operating parameters” tab. DINs Value Example High 0 1 1 2 2 4 3 8 Total 0 … 3 = node number 0 … 15 Tab. 2.7 Low 0 0 0 0 Value 1 2 0 8 11 High High Low High Setting the node number Setting the base address of the node number via FCT The base address of the node number can be set via FCT on the “Fieldbus” panel in the “Operating parameters” tab. The resulting node number is dependent on the option “Fieldbus parameterisation via DINs” on the “Application data” page. If this option is activated, the node number is determined by adding the base address in the FCT to the offset via the digital inputs DIN0…3. If the option is deactivated, the base address in the FCT corresponds to the resulting node number. 2.4.2 Setting the transmission rate via DINs or FCT The transmission rate can be set via the digital inputs DIN12 and DIN13 or in the FCT. Setting the transmission rate via DINs Transmission rate 125 250 500 1 Tab. 2.8 [Kbit/s] [Kbit/s] [Kbit/s] [Mbit/s] DIN 12 DIN 13 Low High Low High Low Low High High Setting the transmission rate Festo – GDCP-CMMP-M3/-M0-C-CO-EN – 1304a 17 2 CANopen [X4] Setting the transmission rate via FCT The transmission rate can be set via FCT on the “Fieldbus” panel in the “Operating parameters” tab. The option “Fieldbus parameterisation via DINs” must be deactivated beforehand on the “Application data” panel. When this option is deactivated, DIN12 and DIN13 can be parameterised freely again. Optionally, however, AIN1 and AIN2 can also be parameterised with the FCT. 2.4.3 Setting the protocol (data profile) via DINs or FCT The protocol (data profile) can be set via the digital input DIN9 or the FCT. Setting the protocol (data profile) via DINs Protocol (data profile) DIN 9 CiA 402 (DS 402) FHPP Low High Tab. 2.9 Activating the protocol (data profile) Setting the protocol (data profile) via FCT The protocol is set via FCT on the “Fieldbus” page in the “Operating parameters” tab. 2.4.4 Activation of CANopen communication via DINs or FCT When the node number, transmission rate and protocol (data profile) have been set, CANopen communication can be activated. Activation of CANopen communication via DIN CANopen communication DIN 8 Deactivated Enabled Low High Tab. 2.10 Activation of CANopen communication The device does not need to be reset again for activation via digital input. The CAN bus is activated immediately after a level change (Low } High) at DIN8. Activation of CANopen communication via FCT CANopen communication is automatically activated by the FCT if the option “Fieldbus parameterisation via DINs” is deactivated. The CAN bus is switched off for as long as the device control remains with FCT. 18 Festo – GDCP-CMMP-M3/-M0-C-CO-EN – 1304a 2 CANopen [X4] 2.4.5 Setting the physical units (factor group) In order for a fieldbus master to exchange position, speed and acceleration data in physical units (e.g. mm, mm/s, mm/s2) with the motor controller, it must be parameterised via the factor group section 5.3. Parameterisation can be carried out via FCT or the fieldbus. 2.5 Configuration CANopen master You can use an EDS file to configure the CANopen master. The EDS file is included on the CD-ROM supplied with the motor controller. You will find the most current version under www.festo.com EDS files Description CMMP-AS-...-M3.eds CMMP-AS-...-M0.eds Motor controller CMMP-AS-...-M3 with protocol “CiA402 (DS 402)” Motor controller CMMP-AS-...-M0 with protocol “CiA402 (DS 402)” Tab. 2.11 EDS files for CANopen Festo – GDCP-CMMP-M3/-M0-C-CO-EN – 1304a 19 3 CANopen access procedure 3 CANopen 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. For access to the CAN objects through the CAN bus, there are fundamentally two methods available: a confirmed access type, in which the motor controller acknowledges each parameter access (via socalled SDOs), and an unconfirmed access type, in which no acknowledgement is made (via so-called PDOs). Order from controller Control system CMMP Control system CMMP PDO (transmit PDO) Confirmation from the controller SDO Confirmation from the controller Control system CMMP PDO (receive PDO) Data from controller 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: Communication objects SDO PDO SYNC EMCY NMT Service Data Object Process Data Object Synchronisation Message Emergency message Network management HEARTBEAT Error Control Protocol Tab. 3.1 20 Used for normal parametrisation of the motor controller. Fast exchange of process data (e.g. actual speed) possible Synchronisation of multiple CAN nodes Transmission of error messages Network service: All CAN nodes can be worked on simultaneously, for example. Monitoring of the communications participants through regular messages. Communication objects Festo – GDCP-CMMP-M3/-M0-C-CO-EN – 1304a 3 CANopen access procedure 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: Identifier Number of data bytes (here 8) 601h Len Data bytes 0… 7 3.2 D0 D1 D2 D3 D4 D5 D6 D7 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-order controller (Host). This either sends the motor controller a write command to modify a parameter in the object directory, or a read command 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 identifier is made up of the base 600h + node number of the applicable motor controller. The motor controller answers correspondingly 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: Data type Size and algebraic sign Range UINT8 INT8 UINT16 INT16 UINT32 INT32 8 bit value without algebraic sign 8 bit value with algebraic sign 16 bit value without algebraic sign 16 bit value with algebraic sign 32 bit value without algebraic sign 32 bit value with algebraic sign 0 … 255 -128 … 127 0 … 65535 -32768 … 32767 0 … (232-1) -(231) … (232-1) Tab. 3.2 Supported data types Festo – GDCP-CMMP-M3/-M0-C-CO-EN – 1304a 21 3 CANopen access procedure 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. Identifier 8 bits 16 bit 32 bit Task identifier Response identifier Response identifier in case of error 2Fh 4Fh – 2Bh 4Bh – 23h 43h 80h Tab. 3.3 SDO – response/task identifier EXAMPLE UINT8/INT8 Reading of Obj. 6061_00h Return data: 01h 40h 61h 60h 00h Writing of Obj. 1401_02h Data: EFh 2Fh 01h 14h 02h EFh 4Fh 61h 60h 00h 01h Reading of Obj. 6041_00h Return data: 1234h 40h 41h 60h 00h Command 4Bh 41h 60h 00h 34h 12h Reading of Obj. 6093_01h Return data: 12345678h 40h 93h 60h 01h 60h 01h 14h 02h Writing of Obj. 6040_00h Data: 03E8h 2Bh 40h 60h 00h E8h 03h 60h 40h 60h 00h Writing of Obj. 6093_01h Data: 12345678h 23h 93h 60h 01h 78h 56h 34h 12h Response: 43h 93h 60h 01h 78h 56h 34h 12h 60h 93h 60h 01h Command Response: UINT16/INT16 Command Response: UINT32/INT32 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. 22 Festo – GDCP-CMMP-M3/-M0-C-CO-EN – 1304a 3 CANopen access procedure 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 23h 60h 00h … Response: 80h 41h 60h Error identifier 00h 02h 00h 01h 06h Error code (4 byte) Error code F3 F2 F1 F0 Significance 05 03 00 00h 05 04 00 01h 06 06 00 00h 06 01 00 00h 06 01 00 01h 06 01 00 02h 06 02 00 00h 06 04 00 41h 06 04 00 42h 06 04 00 43h 06 04 00 47h 06 07 00 10h 06 07 00 12h 06 07 00 13h 06 09 00 11h 06 09 00 30h 06 09 00 31h 06 09 00 32h 06 09 00 36h 08 00 00 20h 08 00 00 21h 08 00 00 22h Protocol error: Toggle bit was not revised Protocol error: Client / server command specifier invalid or unknown Access faulty due to a hardware problem1) Access type is not supported. Read access to an object that can only be written Write access to an object that can only be read The addressed object does not exist in the object directory The object must not be entered into a PDO (e.g. ro-object in RPDO) The length of the objects entered in the PDO exceeds the PDO length General parameter error Overflow of an internal variable / general error Protocol error: Length of the service parameter does not agree Protocol error: Length of the service parameter is too large Protocol error: Length of the service parameter is too small The addressed subindex does not exist The data exceed the range of values of the object The data are too large for the object The data are too small for the object Upper limit is less than lower limit Data cannot be transmitted or stored1) Data cannot be transmitted or stored, since the controller is working locally Data cannot be transmitted or stored, since the controller for this is not in the correct state2) There is no object dictionary available3) 08 00 00 23h 41h … … … 1) Returned in accordance with CiA 301 in case of incorrect access to store_parameters / restore_parameters. 2) “Status” should be understood generally here: It may be a problem of the incorrect operating mode or a technology module that is not available or the like. 3) This error is returned, for example, when another bus system controls the motor controller or the parameter access is not permitted. Festo – GDCP-CMMP-M3/-M0-C-CO-EN – 1304a 23 3 CANopen access procedure 3.2.3 Simulation of SDO access The firmware of the motor controller offers the possibility to simulate SDO access. In this way, after being written through the CAN bus, objects in the test phase can be read and checked through the CI terminal of the parametrisation software. The syntax of the commands is: UINT8/INT8 Command Read commands Main index (hex) Sub-index (hex) ? XXXX SU Write commands = XXXX SU: WW Response: UINT16/INT16 Command = ? XXXX SU: WW 8 bit data (hex) XXXX SU = XXXX SU: WW = XXXX SU: WWWW Response: UINT32/INT32 Command = ? XXXX SU: WWWW 16 bit data (hex) XXXX SU = XXXX SU: WWWW = XXXX SU: Response: = XXXX SU: WWWWWWWW 32 bit data (hex) = XXXX SU: WWWWWWWW Note that the commands are entered as characters without any blanks. Read error Command ? XXXX SU Response: ! 1) Write error = XXXX SU: WWWWWWWW1) FFFFFFFF 32 bit error code F3 F2 F1 F0 in accordance with chap. ! FFFFFFFF 32 bit error code F3 F2 F1 F0 in accordance with chap. In case of error, the response is built up the same for all 3 write commands (8, 16, 32 bit). The commands are entered as characters without any blanks. Caution Never use these test commands in applications! Access only serves test purposes and is not appropriate for real-time-capable communication. In addition, the syntax of the test commands can be revised at any time. 24 Festo – GDCP-CMMP-M3/-M0-C-CO-EN – 1304a 3 CANopen access procedure 3.3 PDO Message With Process Data Objects (PDOs), data can be transmitted in an event-driven manner or cyclically. 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 request 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 frequently, such as every millisecond, request the statusword object, which uses up 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 requesting, 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: Type Path Comment Transmit PDO Motor controller Host Receive PDO Host Motor controller Motor controller sends PDO when a certain event occurs. Motor controller evaluates PDO when a certain event occurs. Tab. 3.4 PDO types The motor controller has four transmit and four 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. Festo – GDCP-CMMP-M3/-M0-C-CO-EN – 1304a 25 3 CANopen access procedure Identifier Number of data bytes (here 8) 601h Len D0 D1 D2 Start actual position (D0 … D3) D3 D4 D5 D6 D7 Start actual speed (D4 … D7) 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 Object Comment 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 presetting for all PDOs. The COB-ID may only be revised if the PDO is deactivated, that is, bit 31 is set. A different identifier than is currently set in the controller may therefore only be written if bit 31 is simultaneously set. The set bit 30 shows when the identifier is read that the object cannot be requested by a remote frame. This bit is ignored during writing and is always set during reading. 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 byte). For each object contained in the PDO, the motor controller must be told the corresponding index, sub-index 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 Tab. 3.6 number_of_mapped_objects first_mapped_object … fourth_mapped_object transmission_type and inhibit_time 26 Which event results in sending (transmit PDO) or evaluation (receive PDO) of a message can be determined for each PDO. Tab. 3.7 Festo – GDCP-CMMP-M3/-M0-C-CO-EN – 1304a 3 CANopen access procedure Object Comment transmit_mask_high and 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. For that reason, 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. Tab. 3.5 Description of the Objects xxx_mapped_object Main index (hex) Sub-index (hex) Length of the object (hex) Tab. 3.6 [bit] [bit] [bit] 16 8 8 Format of the mapping information 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 described (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. Value Significance Permitted with 01h – F0h SYNC message The numerical value specifies how many SYNC messages have to be received 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. 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 (RPDOs) FFh Tab. 3.7 TPDOs Type of transmission The use of all other values is not permitted. Festo – GDCP-CMMP-M3/-M0-C-CO-EN – 1304a 27 3 CANopen access procedure EXAMPLE The following objects should be transmitted in one PDO: Name of the object Index_Subindex Significance statusword modes_of_operation_display digital_inputs 6041h_00h 6061h_00h 60FDh_00h Controller regulation Operating mode 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 an identifier for this PDO, 187h should be used. 1. Deactivating PDO cob_id_used_by_pdo = C0000187h If the PDO is active, it must first be deactivated. Writing the identifier with set bit 31 (PDO is deactivated): 2. Deleting number of objects number_of_mapped_objects = 0 Set the number of objects to zero in order to be able to change the object mapping. 3. Parametrisation of objects that are to be mapped The above-listed objects must be combined into a 32 bit value: Index Sub-index first_mapped_object = 60410010h = 6041h = 00h Length = 10h Index Sub-index second_mapped_object = 60610008h = 6061h = 00h Length = 08h Index Sub-index third_mapped_object = 60FD0020h = 60FDh = 00h Length = 20h 4. Parametrisation of number of objects number_of_mapped_objects = 3h The PDO should contain 3 objects 5. Parametrisation of transmission type transmission_type = FFh The PDO should be sent when changes (to the digital inputs) are sent. To ensure that only changes to the digital inputs res- transmit_mask_high = 00FFFF00h ult in transmission, the PDO is masked so that only transmit_mask_low = 00000000h the 16 bits of the object 60FDh “come through”. The PDO should be sent no more than every 10 ms inhibit_time = 64h (100D100 μs). 6. Parametrisation of identifiers cob_id_used_by_pdo = 40000187h The PDO should be sent with identifier 187h. Write the new identifier and activate the PDO through deletion of bit 31: 28 Festo – GDCP-CMMP-M3/-M0-C-CO-EN – 1304a 3 CANopen access procedure Observe that parametrisation of the PDOs may generally only be changed when the network status (NMT) is not operational. Chapter 3.3.3 3.3.2 Objects for PDO Parametrisation The motor controllers of the CMMP series have available a total of 4 transmit and 4 receive PDOs. The individual objects for parametrisation of these PDOs are the same for all 4 TPDOs and all 4 RPDOs respectively. 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 Description Data Type Access PDO Mapping Units Value Range Default Value 01h cob_id_used_by_pdo_tpdo1 UINT32 rw no – 181h … 1FFh, bit 30 and 31 may be set C0000181h Sub-Index Description Data Type Access PDO Mapping Units Value Range Default Value 02h transmission_type_tpdo1 UINT8 rw no – 0 … 8Ch, FEh, FFh FFh Sub-Index Description Data Type Access PDO Mapping Units Value Range Default Value 03h inhibit_time_tpdo1 UINT16 rw no 100 μs (i.e. 10 = 1ms) – 0 Festo – GDCP-CMMP-M3/-M0-C-CO-EN – 1304a 29 3 CANopen access procedure Index 1A00h Name transmit_pdo_mapping_tpdo1 Object Code RECORD No. of Elements 4 Sub-Index Description Data Type Access PDO Mapping Units Value Range Default Value 00h number_of_mapped_objects_tpdo1 UINT8 rw no – 0…4 Table Sub-Index Description Data Type Access PDO Mapping Units Value Range Default Value 01h first_mapped_object_tpdo1 UINT32 rw no – – Table Sub-Index Description Data Type Access PDO Mapping Units Value Range Default Value 02h second_mapped_object_tpdo1 UINT32 rw no – – Table Sub-Index Description Data Type Access PDO Mapping Units Value Range Default Value 03h third_mapped_object_tpdo1 UINT32 rw no – – Table 30 Festo – GDCP-CMMP-M3/-M0-C-CO-EN – 1304a 3 CANopen access procedure 04h fourth_mapped_object_tpdo1 UINT32 rw no – – Table Sub-Index Description Data Type Access PDO Mapping Units Value Range Default Value 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 1800h_01h 1800h_02h 1800h_03h 1A00h_00h 1A00h_01h 1A00h_02h 1A00h_03h 1A00h_04h number of entries COB-ID used by PDO transmission type inhibit time (100 μs) number of mapped objects first mapped object second mapped object third mapped object fourth mapped object UINT8 UINT32 UINT8 UINT16 UINT8 UINT32 UINT32 UINT32 UINT32 ro rw rw rw rw rw rw rw rw 03h C0000181h FFh 0000h 01h 60410010h 00000000h 00000000h 00000000h 2. Transmit PDO Index Comment Type Acc. Default Value 1801h_00h 1801h_01h 1801h_02h 1801h_03h 1A01h_00h 1A01h_01h 1A01h_02h 1A01h_03h 1A01h_04h number of entries COB-ID used by PDO transmission type inhibit time (100 μs) number of mapped objects first mapped object second mapped object third mapped object fourth mapped object UINT8 UINT32 UINT8 UINT16 UINT8 UINT32 UINT32 UINT32 UINT32 ro rw rw rw rw rw rw rw rw 03h C0000281h FFh 0000h 02h 60410010h 60610008h 00000000h 00000000h Festo – GDCP-CMMP-M3/-M0-C-CO-EN – 1304a 31 3 CANopen access procedure 3. Transmit PDO Index Comment Type Acc. Default Value 1802h_00h 1802h_01h 1802h_02h 1802h_03h 1A02h_00h 1A02h_01h 1A02h_02h 1A02h_03h 1A02h_04h number of entries COB-ID used by PDO transmission type inhibit time (100 μs) number of mapped objects first mapped object second mapped object third mapped object fourth mapped object UINT8 UINT32 UINT8 UINT16 UINT8 UINT32 UINT32 UINT32 UINT32 ro rw rw rw rw rw rw rw rw 03h C0000381h FFh 0000h 02h 60410010h 60640020h 00000000h 00000000h 4. Transmit PDO Index Comment Type Acc. Default Value 1803h_00h 1803h_01h 1803h_02h 1803h_03h 1A03h_00h 1A03h_01h 1A03h_02h 1A03h_03h 1A03h_04h number of entries COB-ID used by PDO transmission type inhibit time (100 μs) number of mapped objects first mapped object second mapped object third mapped object fourth mapped object UINT8 UINT32 UINT8 UINT16 UINT8 UINT32 UINT32 UINT32 UINT32 ro rw rw rw rw rw rw rw rw 03h C0000481h FFh 0000h 02h 60410010h 606C0020h 00000000h 00000000h tpdo_1_transmit_mask Index Comment Type Acc. Default Value 2014h_00h 2014h_01h 2014h_02h number of entries tpdo_1_transmit_mask_low tpdo_1_transmit_mask_high UINT8 UINT32 UINT32 ro rw rw 02h FFFFFFFFh FFFFFFFFh tpdo_2_transmit_mask Index Comment Type Acc. Default Value 2015h_00h 2015h_01h 2015h_02h number of entries tpdo_2_transmit_mask_low tpdo_2_transmit_mask_high UINT8 UINT32 UINT32 ro rw rw 02h FFFFFFFFh FFFFFFFFh 32 Festo – GDCP-CMMP-M3/-M0-C-CO-EN – 1304a 3 CANopen access procedure tpdo_3_transmit_mask Index Comment Type Acc. Default Value 2016h_00h 2016h_01h 2016h_02h number of entries tpdo_3_transmit_mask_low tpdo_3_transmit_mask_high UINT8 UINT32 UINT32 ro rw rw 02h FFFFFFFFh FFFFFFFFh tpdo_4_transmit_mask Index Comment Type Acc. Default Value 2017h_00h 2017h_01h 2017h_02h number of entries tpdo_4_transmit_mask_low tpdo_4_transmit_mask_high UINT8 UINT32 UINT32 ro rw rw 02h FFFFFFFFh FFFFFFFFh 1. Receive PDO Index Comment Type Acc. Default Value 1400h_00h 1400h_01h 1400h_02h 1600h_00h 1600h_01h 1600h_02h 1600h_03h 1600h_04h number of entries COB-ID used by PDO transmission type number of mapped objects first mapped object second mapped object third mapped object fourth mapped object UINT8 UINT32 UINT8 UINT8 UINT32 UINT32 UINT32 UINT32 ro rw rw rw rw rw rw rw 02h C0000201h FFh 01h 60400010h 00000000h 00000000h 00000000h 2. Receive PDO Index Comment Type Acc. Default Value 1401h_00h 1401h_01h 1401h_02h 1601h_00h 1601h_01h 1601h_02h 1601h_03h 1601h_04h number of entries COB-ID used by PDO transmission type number of mapped objects first mapped object second mapped object third mapped object fourth mapped object UINT8 UINT32 UINT8 UINT8 UINT32 UINT32 UINT32 UINT32 ro rw rw rw rw rw rw rw 02h C0000301h FFh 02h 60400010h 60600008h 00000000h 00000000h Festo – GDCP-CMMP-M3/-M0-C-CO-EN – 1304a 33 3 CANopen access procedure 3. Receive PDO Index Comment Type Acc. Default Value 1402h_00h 1402h_01h 1402h_02h 1602h_00h 1602h_01h 1602h_02h 1602h_03h 1602h_04h number of entries COB-ID used by PDO transmission type number of mapped objects first mapped object second mapped object third mapped object fourth mapped object UINT8 UINT32 UINT8 UINT8 UINT32 UINT32 UINT32 UINT32 ro rw rw rw rw rw rw rw 02h C0000401h FFh 02h 60400010h 607A0020h 00000000h 00000000h 4. Receive PDO Index Comment Type Acc. Default Value 1403h_00h 1403h_01h 1403h_02h 1603h_00h 1603h_01h 1603h_02h 1603h_03h 1603h_04h number of entries COB-ID used by PDO transmission type number of mapped objects first mapped object second mapped object third mapped object fourth mapped object UINT8 UINT32 UINT8 UINT8 UINT32 UINT32 UINT32 UINT32 ro rw rw rw rw rw rw rw 02h C0000501h FFh 02h 60400010h 60FF0020h 00000000h 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 ( chapter 3.6, Network Management: NMT-Service) To parametrise PDOs, the following points must be met: – The communication status of the motor controller must not be operational. 34 Festo – GDCP-CMMP-M3/-M0-C-CO-EN – 1304a 3 CANopen access procedure 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 ( chapter 3.3). Identifier Data length 80h 0 The identifier on which the motor controller receives the SYNC message is set permanently to 080h. The identifier can be read via the object cob_id_sync. Index 1005h Name cob_id_sync Object Code VAR Data Type UINT32 Access PDO Mapping Units Value Range Default Value rw no -80000080h, 00000080h 00000080h Festo – GDCP-CMMP-M3/-M0-C-CO-EN – 1304a 35 3 CANopen access procedure 3.5 EMERGENCY Message The motor controller monitors the function of its major assemblies. These include the power supply, output stage, angle transmitter evaluation and the slots Ext1 … Ext3. 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 Overview When an error occurs or an error acknowledgment is carried out, the controller transmits an EMERGENCY message. The identifier of this message is made up of the identifier 80h and the node number of the relevant controller. 0 Error free 1 2 Error occured 4 3 After a reset, the controller is in the status Error free (which it might leave again immediately, because an error is on hand from the beginning). The following status transitions are possible: No. Cause 0 1 Initialisation completed Error occurs 2 Error acknowledgment 3 Error occurs 4 Error acknowledgment Tab. 3.8 36 Significance No error is present and an error occurs. An EMERGENCY telegram with the error code of the occurring error is sent. An error acknowledgment ( chap. 6.1.5) is attempted, but not all causes are eliminated. An error is present and an additional error occurs. An EMERGENCY telegram with the error code of the new error is sent. An error acknowledgment is attempted, and all causes are eliminated. An EMERGENCY telegram with the error code 0000 is sent. Possible status transitions Festo – GDCP-CMMP-M3/-M0-C-CO-EN – 1304a 3 CANopen access procedure 3.5.2 Structure of the EMERGENCY Message When an error occurs, the motor controller transmits an EMERGENCY message. The identifier of this message is made up of the identifier 80h and the node number of the relevant 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. Identifier: 80h + node number Error_code 81h 8 E0 E1 Data length error_register (R0) Bit M/O1) R0 0 0 0 0 0 Error_register (obj. 1001h) Significance 0 M generic error: Error is present (Or-link of the bits 1 … 7) 1 O current: I2t error 2 O voltage: voltage monitoring error 3 O temperature: motor overtemperature 4 O communication error: (overrun, error state) 5 O – 6 O reserved, fix = 0 7 O reserved, fix = 0 Values: 0 = no error; 1 = error present 1) M = required / O = optional Tab. 3.9 Bit assignment error_register The error codes as well as the cause and measures can be found in chapter B “ Diagnostic messages”. 3.5.3 Description of the Objects 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 occurring error is always 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_0). To be able to reactivate the output stage of the motor controller after an error, an error acknowledgement chapter 6.1: Status Diagram (State Machine) must also be performed. Festo – GDCP-CMMP-M3/-M0-C-CO-EN – 1304a 37 3 CANopen access procedure Index 1003h Name pre_defined_error_field Object Code ARRAY No. of Elements 4 Data Type UINT32 Sub-Index Description Access PDO Mapping Units Value Range Default Value 01h standard_error_field_0 ro no – – – Sub-Index Description Access PDO Mapping Units Value Range Default Value 02h standard_error_field_1 ro no – – – Sub-Index Description Access PDO Mapping Units Value Range Default Value 03h standard_error_field_2 ro no – – – Sub-Index Description Access PDO Mapping Units Value Range Default Value 04h standard_error_field_3 ro no – – – 38 Festo – GDCP-CMMP-M3/-M0-C-CO-EN – 1304a 3 CANopen access procedure 3.6 Network Management (NMT Service) All CANopen equipment can be triggered via the Network Management. Reserved for this is the identifier with the top priority (000h). 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 controllers do 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: Identifier: 000h Command specifier 000h 2 CS NI Node ID 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. Power On Reset Application aE Reset Communication 2 aA aD Pre-Operational (7Fh) 3 5 aJ 7 Stopped (04h) aC 6 9 Fig. 3.2 4 Operational (05h) 8 aB Status diagram Festo – GDCP-CMMP-M3/-M0-C-CO-EN – 1304a 39 3 CANopen access procedure Transition Significance CS Target status 2 3 4 5 6 7 8 9 10 11 12 13 14 Bootup Start Remote Node Enter Pre-Operational Stop Remote Node Start Remote Node Enter Pre-Operational Stop Remote Node Reset Communication Reset Communication Reset Communication Reset Application Reset Application Reset Application -01h 80h 02h 01h 80h 02h 82h 82h 82h 81h 81h 81h Pre-Operational Operational Pre-Operational Stopped Operational Pre-Operational Stopped Reset Communication 1) Reset Communication 1) Reset Communication 1) Reset Application 1) Reset Application 1) Reset Application 1) 1) 7Fh 05h 7Fh 04h 05h 7Fh 04h The final target status is pre-operational (7Fh), since the transitions 15 and 2 are automatically performed by the controller. Tab. 3.10 NMT state machine All other status transitions are performed automatically by the controller, e.g. because the initialisation is completed. In the NI parameter, the node number of the 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: For example, it is absolutely necessary to place the NMT status to operational so that the controller sends PDOs. Name Significance SDO PDO NMT Reset Application Reset Communication Initialising No Communication. All CAN objects are reset to their reset values (application parameter set) No communication: The CAN controller is newly initialised. – – – – – – Status after hardware reset. Resetting of the CAN node, Sending of the bootup message Communication via SDOs possible; PDOs not active (no sending/evaluating) Communication via SDOs possible; all PDOs active (sending/evaluating) No communication except for heartbeating – – – X – X X X X – – X Pre-Operational Operational Stopped Tab. 3.11 40 NMT state machine Festo – GDCP-CMMP-M3/-M0-C-CO-EN – 1304a 3 CANopen access procedure NMT telegrams must not be sent in a burst (one immediately 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 controller to process the NMT messages correctly. If necessary, the NMT command “Reset Application” is delayed until an ongoing saving procedure is completed, since otherwise the saving procedure would remain incomplete (defective parameter set). The delay can be in the range of a few seconds. The communication status must be set to operational for the controller to transmit and receive PDOs. 3.7 Bootup 3.7.1 Overview After the power supply is switched on or after a reset, the controller reports via a Bootup message that the initialisation phase is ended. The controller is then in the NMT status preoperational ( chapter 3.6, Network Management (NMT Service)) 3.7.2 Structure of the Bootup Message The Bootup message is structured almost identically to the following Heartbeat message. Only a zero is sent instead of the NMT status. Identifier: 700h + node number Bootup message identifier 701h 1 0 Data length Festo – GDCP-CMMP-M3/-M0-C-CO-EN – 1304a 41 3 CANopen access procedure 3.8 Heartbeat (Error Control Protocol) 3.8.1 Overview The so-called Heartbeat protocol can be activated 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 corresponding measures if they do not. Since both Heartbeat and Nodeguarding telegrams ( chap. 3.9) 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 Heartbeat Message The Heartbeat telegram is transmitted with the identifier 700h + node number. It contains only 1 byte of user data, the NMT status of the controller ( chapter 3.6, Network Management (NMT Service)). Identifier: 700h + node number NMT status 701h 1 N Data length N Significance 04h 05h 7Fh Stopped Operational Pre-Operational 3.8.3 Description of the Objects Object 1017h: producer_heartbeat_time To activate then Heartbeat function, 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 PDO Units Value Range Default Value rw no ms 0 … 65535 0 42 Festo – GDCP-CMMP-M3/-M0-C-CO-EN – 1304a 3 CANopen access procedure The producer_heartbeat_time can be stored in the parameter record. If the controller starts with a producer_heartbeat_time not equal to zero, the bootup message is considered to be the first Heartbeat. The 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.9 Nodeguarding (Error Control Protocol) 3.9.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 queries the drive cyclically about its NMT status. In every response of the controller, a specific 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 Nodeguarding requests from the master: If messages are not received for a certain time period, the controller triggers error 12-4. Since both Heartbeat and Nodeguarding telegrams ( chapter 3.8) are sent with the identifier 700h + node number, both protocols cannot be active simultaneously. If both protocols are activated simultaneously, only the Heartbeat protocol is active. 3.9.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 Remote bit (Remote frames have no data) 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 ( chapter 3.6). Identifier: 700h + node number Toggle bit / NMT status 701h 1 T/N Data length Festo – GDCP-CMMP-M3/-M0-C-CO-EN – 1304a 43 3 CANopen access procedure The first data byte (T/N) is constructed in the following way: Bit Value Name Significance 7 0…6 80h 7Fh toggle_bit nmt_state Changes with every telegram 04h Stopped 05h Operational 7Fh Pre-Operational 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.9.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 PDO Mapping Units Value Range Default Value rw no ms 0 … 65535 0 44 Festo – GDCP-CMMP-M3/-M0-C-CO-EN – 1304a 3 CANopen access procedure 3.9.4 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 PDO Mapping Units Value Range Default Value rw no – 0.1 0 3.9.5 Table of Identifiers The following table gives an overview of the identifiers used: Object type Identifier (hexadecimal) SDO (Host to controller) SDO (Controller to host) TPDO1 TPDO2 TPDO3 TPDO4 RPDO1 RPDO2 RPDO3 RPDO4 SYNC EMCY HEARTBEAT NODEGUARDING BOOTUP NMT 600h + node number 580h + node number 180h 280h 380h 480h 200h 300h 400h 500h 080h 080h + node number 700h + node number 700h + node number 700h + node number 000h Festo – GDCP-CMMP-M3/-M0-C-CO-EN – 1304a Comment Standard values. Can be revised if needed. 45 4 EtherCAT interface 4 M3 4.1 EtherCAT with CoE This section is only applicable for the motor controller CMMP-AS-…-M3. Overview This part of the documentation describes the connection and configuration of the motor controller CMMP-AS-...-M3 in an EtherCAT network. It is intended for people who are already familiar with this motor controller series and CANopen CiA 402. The fieldbus system EtherCAT means “Ethernet for Controller and Automation Technology” and is managed and supported by the international EtherCAT Technology Group (ETG) organisation; it is designed as an open technology, which is standardised by the International Electrotechnical Commission (IEC). EtherCAT is a fieldbus system based on Ethernet and can be handled like a fieldbus, thanks to high speed, flexible topology (line, tree, star) and simple configuration. The EtherCAT protocol is transported with a special standardised Ethernet type directly in the Ethernet frame in accordance with IEEE802.3. The slaves can broadcast, multicast and communicate laterally. For EtherCAT, the data exchange is based on a pure hardware machine. Abbreviation Significance ESC EtherCAT Slave Controller PDI Process Data Interface CoE CANopen-over-EtherCAT protocol Tab. 4.1 4.2 EtherCAT-specific abbreviations EtherCat-Interface CAMC-EC The EtherCAT interface CAMC-EC allows the CMMP-AS-...-M3 motor controller to be connected to the EtherCAT fieldbus system. Communication over the EtherCAT interface (IEEE 802.3u) takes place with an EtherCAT standard cabling and is possible between the CMMP-AS-...-M3 from Revision 01 and the FCT parameterisation software from Version 2.0. Festo supports the CoE protocol (CANopen over EtherCAT) with the CMMP-AS-...-M3. 46 Festo – GDCP-CMMP-M3/-M0-C-CO-EN – 1304a 4 EtherCAT interface EtherCAT CAMC-EC interface characteristics The EtherCAT interface has the following features: – Can be mechanically fully integrated into the CMMP-AS-...-M3 series motor controllers – EtherCAT conforming to IEEE-802.3u (100Base-TX) with 100Mbps (full-duplex) – Star and line topology – Plug connector: RJ45 – Electrically isolated EtherCAT interface – Communication cycle: 1 ms – Max. 127 slaves – EtherCAT slave implementation based on the Beckhoff FPGA ESC20 – Support of the “Distributed Clocks” feature for time-synchronous setpoint value transfer – LED displays for ready status and link detect Connection and display elements of the EtherCAT interface The following elements can be found on the front plate of the EtherCAT interface: – LED 1 (two-colour LED) for: – EtherCAT communication (yellow) – “Connection active on Port 1” (red) – Run (green) – LED 2 (red) for displaying “Connection active on Port 2” – Two RJ45 sockets. The following figure shows the position and numbering of the sockets: 1 2 3 4 LED2 LED1 RJ45 socket [X1] RJ45 socket [X2] 1 2 3 4 Fig. 4.1 Connection and display elements at the EtherCAT interface The EtherCAT interface can only be operated in option slot Ext2. Operation of other interface modules in option slot Ext1, except with CAMC-D-8E8A interface, is then no longer possible. Festo – GDCP-CMMP-M3/-M0-C-CO-EN – 1304a 47 4 EtherCAT interface 4.3 Installing the EtherCAT interface in the controller Note Before performing mounting and installation work, observe the safety instructions in the hardware description GDCP-CMMP-M3-HW-... Use an appropriate Phillips screwdriver to remove the front cover over option slot Ext2 of the CMMP-AS-...-M3 motor controller. The EtherCAT interface is now plugged into the open slot (Ext2) so that the printed circuit board slides into the lateral guides of the slot. The interface is pushed in up to the stop. Then screw the interface to the motor controller housing using the Phillips screw. 4.4 Pin allocation and cable specifications RJ45 sockets Function [X1] (RJ45 socket on top) Uplink to the master or a previous station of a series connection (e.g. multiple motor controllers) Uplink to the master, end of a series connection or connection of additional downstream stations [X2] (RJ45 socket underneath) Tab. 4.2 Tab. 4.3 Design of plug connectors [X1] and [X2] Pin Specification 1 Receiver signal- (RX-) Wire pair 3 2 Receiver signal+ (RX+) Wire pair 3 3 Transmission signal- (TX-) Wire pair 2 4 – Wire pair 1 5 – Wire pair 1 6 Transmission signal+ (TX+) Wire pair 2 7 – Wire pair 4 8 – Wire pair 4 Allocation of the plug connectors [X1] and [X2] Value Function EtherCAT interface, signal level EtherCAT interface, differential voltage 0 … 2.5 V DC 1.9 … 2.1 V DC Tab. 4.4 EtherCAT interface specification Type and design of cable Shielded twisted-pair STP, Cat.5 cables must be used for cabling. Star and line topologies are supported. The network structure must conform to the 5-4-3 rule. A maximum of 10 hubs can be cabled in series. The EtherCAT interface contains a hub. The total cable length is restricted to 100 m. 48 Festo – GDCP-CMMP-M3/-M0-C-CO-EN – 1304a 4 EtherCAT interface Errors due to inappropriate bus cables Due to the very high possible transmission rates, we recommend that you use only standardised cables and plug connectors that at a minimum conform to the category 5 (CAT5) in accordance with EN 50173 or ISO/IEC 11801. When setting up the EtherCAT network, you must unconditionally follow the advice in the relevant literature or the subsequent information and instructions in order to maintain a stable, trouble-free system. If the system is not cabled properly, EtherCAT bus malfunctions can occur during operation. These can cause the CMMP-AS-...-M3 motor controller to shut off with an error for safety reasons. Bus termination No external bus terminations are required. The EtherCAT technology module monitors its two ports and terminates the bus automatically (loop-back function). 4.5 CANopen communication interface User protocols are tunnelled via EtherCAT. For the CANopen-over-EtherCAT protocol (CoE) supported by the CMMP-AS-...-M3, most objects for the communication layer are supported by EtherCAT in accordance with CiA 301. This primarily involves objects for setting up communication between masters and slaves. For the CANopen Motion Profile in accordance with CiA 402, most objects which can also be operated via the standard CANopen fieldbus are supported. In general, the following services and object groups are supported by the EtherCAT CoE implementation in the motor controller CMMP-AS-...-M3: Services/object groups Function SDO PDO EMCY Used for normal parametrisation of the motor controller. Fast exchange of process data (e.g. actual speed) possible. Transmission of error messages. Tab. 4.5 Service Data Object Process Data Object Emergency Message Supported services and object groups The individual objects which can be addressed via the CoE protocol in the motor controller CMMPAS-...-M3 are internally forwarded to the existing CANopen implementation and processed there. However, some new CANopen objects are added under the CoE implementation under EtherCAT, which are required for special connection via CoE. This is the result of the revised communication interface between the EtherCAT protocol and the CANopen protocol. A so-called Sync Manager is used to control the transmission of PDOs and SDOs via the two EtherCAT transfer types (mailbox and process data protocol). This Sync Manager and the necessary configuration steps for operation of the CMMP-AS-...-M3 under EtherCAT-CoE are described in chapter 4.5.1 “Configuration of the Communication Interface”. The additional objects are described in chapter 4.5.2 “New and revised objects under CoE”. Also, some CANopen objects of the CMMP-AS-...-M3, which are available under a normal CANopen connection, are not supported via a CoE connection over EtherCAT. A list of the CANopen objects not supported under CoE is provided in chapter 4.5.3 “Objects not supported under CoE”. Festo – GDCP-CMMP-M3/-M0-C-CO-EN – 1304a 49 4 EtherCAT interface 4.5.1 Configuration of the Communication Interface As already described in the previous chapter, the EtherCAT protocol uses two different transfer types for transmission of the device and user protocols, such as the CANopen-over-EtherCAT protocol (CoE) used by the CMMP-AS-...-M3. These two transfer types are the mailbox telegram protocol for non-cyclic data and the process data telegram protocol for transmission of cyclic data. These two transfer types are used for the different CANopen transfer types for the CoE protocol. They are used as follows: Telegram protocol Description Reference Mailbox This transfer type is used to transmit the Service Data Objects (SDOs) defined under CANopen. They are transmitted to EtherCAT in SDO frames. This transfer type is used to transmit the Process Data Objects (PDOs) defined under CANopen, which are used to exchange cyclic data. They are transmitted to EtherCAT in PDO frames. chapter 4.7 “SDO Frame” Process Data Tab. 4.6 chapter 4.8 “PDO Frame” Telegram protocol – description In general, these two transfer types allow all PDOs and SDOs to be used exactly as they are defined for the CANopen protocol for CMMP-AS-...-M3. However, parametrisation of PDOs and SDOs for sending objects via EtherCAT is different from the settings which must be made under CANopen. In order to link the CANopen objects to be exchanged via PDO or SDO transfers between masters and slaves into the EtherCAT protocol, a so-called Sync Manager is implemented under EtherCAT. This Sync Manager is used to link the data of the PDOs and SDOs to be sent to the EtherCAT telegrams. To accomplish this, the Sync Manager provides multiple Sync channels which can each implement a CANopen data channel (Receive SDO, Transmit SDO, Receive PDO or Transmit PDO) on the EtherCAT telegram. The figure shows how the Sync Manager is linked to the system: EtherCAT Bus Fig. 4.2 50 SYNC channel 0 Receive SDO SYNC channel 1 Transmit SDO SYNC channel 2 Receive PDO (1/2/3/4) SYNC channel 3 Transmit PDO (1/2/3/4) Sample mapping of the SDOs and PDOs to the Sync channels Festo – GDCP-CMMP-M3/-M0-C-CO-EN – 1304a 4 EtherCAT interface All objects are sent via so-called Sync channels. The data from these channels are automatically linked to the EtherCAT data flow and transmitted. The EtherCAT implementation in the motor controller CMMP-AS-...-M3 supports four such Sync channels. For this reason, additional mapping of the SDOs and PDOs to the Sync channels is required compared with CANopen. This occurs via the so-called Sync Manager objects (objects 1C00h and 1C10h … 1C13h chapter 4.5.2). These objects are described in more detail below. These Sync channels are permanently allocated to the individual transfer types and cannot be changed by the user. The allocation is as follows: – Sync channel 0: Mailbox telegram protocol for incoming SDOs (Master => Slave) – Sync channel 1: Mailbox telegram protocol for outgoing SDOs (Master <= Slave) – Sync channel 2: Process data telegram protocol for incoming PDOs (Master => Slave). The object 1C12h must be observed here. – Sync channel 3: Process data telegram protocol for outgoing PDOs (Master <= Slave). The object 1C13h must be observed here. The parametrisation of the individual PDOs is set via objects 1600h to 1603h (Receive PDOs) and 1A00h to 1A03h (Transmit PDOs). Parametrisation of the PDOs is carried out as described in chapter 3 “ CANopen access procedure”. The Sync channels can only be set and the PDOs only configured in the “Pre-Operational” status. It is not intended to parameterise the slave under EtherCAT. The device description files are available for this purpose. They prescribe the total parametrisation, including PDO parametrisation, which is used by the master during initialisation. All changes to the parametrisation should therefore not be made by hand, but in the device description files. For this purpose, sections of the device description files that are important for the user are described in more detail in section 4.11. The Sync channels described here are NOT the same as the Sync telegrams familiar from CANopen. CANopen Sync telegrams can still be transmitted as SDOs via the SDO interface implemented under CoE, but do not directly influence the Sync channels described above. Festo – GDCP-CMMP-M3/-M0-C-CO-EN – 1304a 51 4 EtherCAT interface 4.5.2 New and revised objects under CoE The following table contains an overview of the indices and subindices used for CANopen-compatible communication objects, which are inserted in the range from 1000h to 1FFFh for the EtherCAT fieldbus system. These primarily replace the communication parameters in accordance with CiA 301. Object Significance Permitted with 1000h Device type Device control identifier 1018h Identity object Vendor ID, product code, revision, serial number 1100h EtherCAT fixed station address Fixed address assigned to the slave during initialisation by the master 1600h 1. RxPDO Mapping Identifier of the 1st Receive PDO 1601h 2. RxPDO Mapping Identifier of the 2nd Receive PDO 1602h 3. RxPDO Mapping Identifier of the 3rd Receive PDO 1603h 4. RxPDO Mapping Identifier of the 4th Receive PDO 1A00h 1. TxPDO Mapping Identifier of the 1st Transmit PDO 1A01h 2. TxPDO Mapping Identifier of the 2nd Transmit PDO 1A02h 3. TxPDO Mapping Identifier of the 3rd Transmit PDO 1A03h 4. TxPDO Mapping Identifier of the 4th Transmit PDO 1C00h Sync Manager Communication Type Object for configuring the individual Sync channels (SDO or PDO Transfer) 1C10h Sync Manager PDO Mapping for Sync Channel 0 Assignment of the Sync channel 0 to a PDO/SDO (Channel 0 is always reserved for Mailbox Receive SDO Transfer) 1C11h Sync Manager PDO Mapping for Sync Channel 1 Assignment of the Sync channel 1 to a PDO/SDO (Channel 1 is always reserved for Mailbox Send SDO Transfer) 1C12h Sync Manager PDO Mapping for Sync Channel 2 Assignment of the Sync channel 2 to a PDO (Channel 2 is reserved for Receive PDOs) 1C13h Sync Manager PDO Mapping for Sync Channel 3 Assignment of the Sync channel 3 to a PDO (Channel 3 is reserved for Transmit PDOs) Tab. 4.7 New and revised communication objects The subsequent chapters describe the objects 1C00h and 1C10h…1C13h in more detail, as they are only defined and implemented under the EtherCAT CoE protocol and therefore are not documented in the CANopen manual for the motor controller CMMP-AS-...-M3. The motor controller CMMP-AS-...-M3 with the EtherCAT interface supports four Receive PDOs (RxPDO) and four Transmit PDOs (TxPDO). Objects 1008h, 1009h and 100Ah are not supported by the CMMP-AS-...-M3, as plain text strings cannot be read from the motor controller. 52 Festo – GDCP-CMMP-M3/-M0-C-CO-EN – 1304a 4 EtherCAT interface Object 1100h - EtherCAT fixed station address This object allocates a unique address to the slave during the initialisation phase. The object has the following significance: Index 1100h Name EtherCAT fixed station address Object Code Var Data Type uint16 Access ro PDO Mapping no Value Range 0 … FFFFh Default Value 0 Object 1C00h - Sync Manager Communication Type This object allows the transfer type for the various channels of the EtherCAT Sync Manager to be read. As the CMMP-AS-...-M3 only supports the first four Sync channels under the EtherCAT CoE protocol, the following objects are “read only”. The Sync Manager for the CMMP-AS-...-M3 is configured as a result. The objects have the following significance: Index 1C00h Name Sync Manager Communication Type Object Code Array Data Type uint8 Sub-Index 00h Description Number of Used Sync Manager Channels Access ro PDO Mapping no Value Range 4 Default Value 4 Sub-Index 01h Description Communication Type Sync Channel 0 Access ro PDO Mapping no Value Range 2: Mailbox Transmit (Master => Slave) Default Value 2: Mailbox Transmit (Master => Slave) Festo – GDCP-CMMP-M3/-M0-C-CO-EN – 1304a 53 4 EtherCAT interface Sub-Index 02h Description Communication Type Sync Channel 1 Access ro PDO Mapping no Value Range 2: Mailbox Transmit (Master <= Slave) Default Value 2: Mailbox Transmit (Master <= Slave) Index 03h Description Communication Type Sync Channel 2 Access ro PDO Mapping no Value Range 0: unused 3: Process Data Output (RxPDO / Master => Slave) Default Value 3 Sub-Index 04h Description Communication Type Sync Channel 3 Access ro PDO Mapping no Value Range 0: unused 4: Process Data Input (TxPDO/Master <= Slave) Default Value 4 Object 1C10h - Sync Manager Channel 0 (Mailbox Receive) This object allows a PDO to be configured for Sync channel 0. As Sync channel 0 is always allocated to the mailbox telegram protocol, the user cannot change this object. The object therefore always has the following values: Index 1C10h Name Sync Manager Channel 0 (Mailbox Receive) Object Code Array Data Type uint8 Sub-Index 00h Description Number of assigned PDOs Access ro PDO Mapping no Value Range 0 (no PDO assigned to this channel) Default Value 0 (no PDO assigned to this channel) 54 Festo – GDCP-CMMP-M3/-M0-C-CO-EN – 1304a 4 EtherCAT interface The name “Number of assigned PDOs” assigned by the EtherCAT specification for Sub-index 0 of these objects is confusing here, as Sync Manager channels 0 and 1 are always allocated through the mailbox telegram. SDOs are always transmitted in this telegram type under EtherCAT CoE. Sub-index 0 of these two objects is therefore unused. Object 1C11h - Sync Manager Channel 1 (Mailbox Send) This object allows a PDO to be configured for Sync channel 1. As Sync channel 1 is always allocated to the mailbox telegram protocol, the user cannot change this object. The object therefore always has the following values: Index 1C11h Name Sync Manager Channel 1 (Mailbox Send) Object Code Array Data Type uint8 Sub-Index 00h Description Number of assigned PDOs Access ro PDO Mapping no Value Range 0 (no PDO assigned to this channel) Default Value 0 (no PDO assigned to this channel) Object 1C12h - Sync Manager Channel 2 (Process Data Output) This object allows a PDO to be configured for Sync channel 2. Sync channel 2 is permanently assigned for the reception of Receive PDOs (Master => Slave). In this object, the number of PDOs assigned to this Sync channel must be set under sub-index 0. The object number of the PDO to be allocated to the channel is subsequently entered in sub-indices 1 to 4. Only the object numbers of the previously configured Receive PDOs can be used for this (object 1600h … 1603h). In the current implementation, the data of the objects below is not evaluated further by the firmware of the motor controller. The CANopen configuration of the PDOs is used for evaluation under EtherCAT. Index 1C12h Name Sync Manager Channel 2 (Process Data Output) Object Code Array Data Type uint8 Festo – GDCP-CMMP-M3/-M0-C-CO-EN – 1304a 55 4 EtherCAT interface Sub-Index 00h Description Number of assigned PDOs Access rw PDO Mapping no Value Range 0: no PDO assigned to this channel 1: one PDO assigned to this channel 2: two PDOs assigned to this channel 3: three PDOs assigned to this channel 4: four PDOs assigned to this channel Default Value 0 :no PDO assigned to this channel Sub-Index 01h Description PDO Mapping object Number of assigned RxPDO Access rw PDO Mapping no Value Range 1600h: first Receive PDO Default Value 1600h: first Receive PDO Sub-Index 02h Description PDO Mapping object Number of assigned RxPDO Access rw PDO Mapping no Value Range 1601h: second Receive PDO Default Value 1601h: second Receive PDO Sub-Index 03h Description PDO Mapping object Number of assigned RxPDO Access rw PDO Mapping no Value Range 1602h: third Receive PDO Default Value 1602h: third Receive PDO Sub-Index 04h Description PDO Mapping object Number of assigned RxPDO Access rw PDO Mapping no Value Range 1603h: fourth Receive PDO Default Value 1603h: fourth Receive PDO 56 Festo – GDCP-CMMP-M3/-M0-C-CO-EN – 1304a 4 EtherCAT interface Object 1C13h - Sync Manager Channel 3 (Process Data Input) This object allows a PDO to be configured for Sync channel 3. Sync channel 3 is permanently assigned for sending Transmit PDOs (Master <= Slave). In this object, the number of PDOs assigned to this Sync channel must be set under sub-index 0. The object number of the PDO to be allocated to the channel is subsequently entered in sub-indices 1 to 4. Only the object numbers of the previously configured Transmit PDOs can be used for this (1A00h to 1A03h). Index 1C13h Name Sync Manager Channel 3 (Process Data Input) Object Code Array Data Type uint8 Sub-Index 00h Description Number of assigned PDOs Access rw PDO Mapping no Value Range 0: no PDO assigned to this channel 1: one PDO assigned to this channel 2: two PDOs assigned to this channel 3: three PDOs assigned to this channel 4: four PDOs assigned to this channel Default Value 0: no PDO assigned to this channel Sub-Index 01h Description PDO Mapping object Number of assigned TxPDO Access rw PDO Mapping no Value Range 1A00h: first Transmit PDO Default Value 1A00h: first Transmit PDO Sub-Index 02h Description PDO Mapping object Number of assigned TxPDO Access rw PDO Mapping no Value Range 1A01h: second Transmit PDO Default Value 1A01h: second Transmit PDO Festo – GDCP-CMMP-M3/-M0-C-CO-EN – 1304a 57 4 EtherCAT interface Sub-Index 03h Description PDO Mapping object Number of assigned TxPDO Access rw PDO Mapping no Value Range 1A02h: third Transmit PDO Default Value 1A02h: third Transmit PDO Sub-Index 04h Description PDO Mapping object Number of assigned TxPDO Access rw PDO Mapping no Value Range 1A03h: fourth Transmit PDO Default Value 1A03h: fourth Transmit PDO 58 Festo – GDCP-CMMP-M3/-M0-C-CO-EN – 1304a 4 EtherCAT interface 4.5.3 Objects not supported under CoE When connecting the CMMP-AS-...-M3 under “CANopen over EtherCAT”, some CANopen objects, which are available under a direct connection of the CMMP-AS-...-M3 via CiA 402, are not supported. These objects are listed in the table below: Identifier Name Significance 1008h Manufacturer Device Name (String) Device name (object is not available) 1009h Manufacturer Hardware Version (String) HW version (object is not available) 100Ah Manufacturer Software Version (String) SW version (object is not available) 6089h position_notation_index Specifies the number of decimal places for displaying the position values in the controller. The object is only available as a data container. The firmware is not evaluated further. 608Ah position_dimension_index Specifies the unit for displaying the position values in the controller. The object is only available as a data container. The firmware is not evaluated further. 608Bh velocity_notation_index Specifies the number of decimal places for displaying the velocity values in the controller. The object is only available as a data container. The firmware is not evaluated further. 608Ch velocity_dimension_index Specifies the unit for displaying the velocity values in the controller. The object is only available as a data container. The firmware is not evaluated further. 608Dh acceleration_notation_index Specifies the number of decimal places for displaying the acceleration values in the controller. The object is only available as a data container. The firmware is not evaluated further. 608Eh acceleration_dimension_index Specifies the unit for displaying the acceleration values in the controller. The object is only available as a data container. The firmware is not evaluated further. Tab. 4.8 Unsupported communication objects Festo – GDCP-CMMP-M3/-M0-C-CO-EN – 1304a 59 4 EtherCAT interface 4.6 Communication Finite State Machine As in almost all fieldbus interfaces for motor controllers, the connected slave (in this case the motor controller CMMP-AS-...-M3) must first be initialised by the master before it can be used by the master in an application. For this purpose, a finite state machine is defined for communication, to specify a fixed sequence of actions for this initialisation process. A finite state machine is also defined for the EtherCAT interface. Changes between the individual statuses of the finite state machine may only occur between specific statuses, and are always initiated by the master. Slaves may not implement status changes independently. The individual statuses and the permitted status changes are described in the following tables and figures. Status Description Power ON The device has been switched on. It initialises itself and switches directly to the “Init” status. Init In this status, the EtherCAT fieldbus is synchronised by the master. This includes setting up the asynchronous communication between master and slave (mailbox telegram protocol). There is no direct communication between the master and slave yet. The configuration starts, saved values are loaded. When all devices are connected to the bus and configured, the status switches to “Pre-Operational”. Pre-Operational In this status, asynchronous communication between the master and slave is active. The master uses this status to set up possible cyclic communication via PDOs and use acyclic communication for necessary parametrisation. If this status runs without errors, the master switches to the “Safe-Operational” status. Safe-Operational This status is used to set all equipment connected to the EtherCAT bus to a safe status. The slave sends up-to-date actual values to the master but ignores new setpoint values from the master and uses safe default values instead. If this status runs without errors, the master switches to the “Operational” status. Operational In this status, both acyclic and cyclic communication are active. Masters and slaves exchange target and actual value data. In this status, the CMMP-AS-...-M3 can be enabled and travel via the CoE protocol. Tab. 4.9 60 Statuses of communication finite state machine Festo – GDCP-CMMP-M3/-M0-C-CO-EN – 1304a 4 EtherCAT interface Only transitions in accordance with Fig. 4.3 are permitted between the individual statuses of the communication finite state machine: Init (IP) (PI) Pre-Operational (PS) (OI) (OP) (SI) (SP) Safe-Operational (SO) (OS) Operational Fig. 4.3 Communication finite state machine The transitions are described individually in the following table. Status transition Status IP Start of acyclic communication (mailbox telegram protocol) PI Stop of acyclic communication (mailbox telegram protocol) PS Start Inputs Update: start of cyclic communication (process data telegram protocol) Slave sends actual values to master. The slave ignores setpoint values from the master and uses internal default values. SP Stop Input Update: stop of cyclic communication (process data telegram protocol). The slave no longer sends actual values to the master. SO Start Output Update: The slave evaluates up-to-date setpoint specifications from the master. OS Stop Output Update: The slave ignores setpoint values from the master and uses internal default values. OP Stop Output Update, Stop Input Update: stop of cyclic communication (process data telegram protocol). The slave no longer sends actual values to the master, and the master no longer sends setpoint values to the slave. Festo – GDCP-CMMP-M3/-M0-C-CO-EN – 1304a 61 4 EtherCAT interface Status transition Status SI Stop Input Update, Stop Mailbox Communication: Stop of cyclic communication (process data telegram protocol) and stop of acyclic communication (mailbox telegram protocol). The slave no longer sends actual values to the master, and the master no longer sends setpoint values to the slave. OI Stop Output Update , Stop Input Update, Stop Mailbox Communication: Stop of cyclic communication (process data telegram protocol) and stop of acyclic communication (mailbox telegram protocol). The slave no longer sends actual values to the master, and the master no longer sends setpoint values to the slave. Tab. 4.10 Status transitions In the EtherCAT finite state machine, the “Bootstrap” status is also specified in addition to the statuses listed here. This status is not implemented for the motor controller CMMP-AS-...-M3. 4.6.1 Differences between the finite state machines of CANopen and EtherCAT When operating the CMMP-AS-...-M3 via the EtherCAT-CoE protocol, the EtherCAT finite state machine is used instead of the CANopen NMT finite state machine. This differs from the CANopen finite state machine in several aspects. These different characteristics are listed below: – No direct transition from Pre-Operational after Power On – No Stopped status, direct transition to the INIT status – Additional status: Safe-Operational The following table compares the different statuses: EtherCAT State CANopen NMT State Power ON Init Safe-Operational Operational Power-On (initialisation) Stopped – Operational Tab. 4.11 Comparison of the statuses for EtherCAT and CANopen 62 Festo – GDCP-CMMP-M3/-M0-C-CO-EN – 1304a 4 EtherCAT interface 4.7 SDO Frame All data of an SDO transfer are transmitted via SDO frames in CoE. These frames have the following structure: 6 bytes 2 bytes Mailbox Header CoE Header Mandatory Header Fig. 4.4 1 byte SDO Control Byte 2 bytes 1 byte Index Sub-index 4 bytes 1...n bytes Data Standard CANopen SDO Frame Data Optional SDO Frame: telegram structure Element Description Mailbox Header CoE Header SDO Control Byte Index Sub-index Data Data (optional) Data for mailbox communication (length, address and type) Identifier of the CoE service Identifier for a read or write command Main index of the CANopen communication object Sub-index of the CANopen communication object Data content of the CANopen communication object Additional optional data. This option is not supported by the motor controller CMMP-AS-...-M3, as only standard CANopen objects can be addressed. The maximum size of these objects is 32 bits. Tab. 4.12 SDO Frame: elements In order to transmit a standard CANopen object via one of these SDO frames, the actual CANopen SDO frame is packaged in an EtherCAT SDO frame and transmitted. Standard CANopen SDO frames can be used for: – Initialisation of the SDO download – Download of the SDO segment – Initialisation of the SDO upload – Upload of the SDO segment – Abort of the SDO transfer – SDO upload expedited request – SDO upload expedited response – SDO upload segmented request (max. 1 segment with 4 bytes of user data) – SDO upload segmented response (max. 1 segment with 4 bytes of user data) All above-mentioned transfer types are supported by the motor controller CMMP-AS-...-M3. As the use of the CoE implementation of the CMMP-AS-...-M3 only allows the standard CANopen objects to be addressed, whose size is restricted to 32 bits (4 bytes), only transfer types with a maximum data length of up to 32 bits (4 bytes) are supported. Festo – GDCP-CMMP-M3/-M0-C-CO-EN – 1304a 63 4 EtherCAT interface 4.8 PDO Frame Process Data Objects (PDO) are used for cyclic transmission of setpoint values and actual values between master and slave. They must be configured in the “Pre-Operational” status by the master before the slave is operated. They are then transmitted in PDO frames. These PDO frames have the following structure: All data of a PDO transfer are transmitted via PDO frames in CoE. These frames have the following structure: 1...8 bytes Process Data Standard CANopen PDO Frame Fig. 4.5 1...n bytes Process Data Optional PDO Frame: telegram structure Element Description Process Data Process Data (optional) Data content of the PDO (Process Data Object) Optional data content of additional PDOs Tab. 4.13 PDO Frame: elements To transmit a PDO via the EtherCAT-CoE protocol, in addition to the PDO configuration (PDO Mapping), the Transmit and Receive PDOs must be assigned to a transmission channel of the Sync Manager ( chapter 4.5.1 “Configuration of the Communication Interface”). The data exchange of PDOs for the motor controller CMMP-AS-...-M3 takes place exclusively via the EtherCAT process data telegram protocol. The transfer of CANopen process data (PDOs) via acyclic communication (mailbox telegram protocol) is not supported by the motor controller CMMP-AS-...-M3. As all data exchanged via the EtherCAT CoE protocol are forwarded directly to the internal CANopen implementation in the motor controller CMMP-AS-...-M3, the PDO mapping is also implemented as described in chapter 3.3 “PDO Message”. The figure below depicts this process: 64 Festo – GDCP-CMMP-M3/-M0-C-CO-EN – 1304a 4 EtherCAT interface Mapping Object Object Dictionary Object Contents Index Sub 1ZZZh 01h 6TTTh TTh 1ZZZh 02h 6UUUh UUh 8 1ZZZh 03h 6WWWh WWh 16 8 PDO Length: 32 bit PDO1 Application Object 6TTTh TTh Object B 6VVVh Object C 6WWWh WWh Object D 6XXXh XXh Object E 6YYYh YYh Object F 6ZZZh ZZh Object G Fig. 4.6 Object B Object D Object A 6UUUh UUh VVh Object A PDO Mapping The simple forwarding of the data received via CoE to the CANopen protocol implemented in CMMP-AS-...-M3 means that the “Transmission Types” of the PDOs available for the CANopen protocol for the CMMP-AS-...-M3 can be used in addition to CANopen object mapping for the PDOs to be parameterised. The motor controller CMMP-AS-...-M3 also supports the “Sync Message” transmission type. However, the Sync Message does not have to be sent via EtherCAT. It is used either for the arrival of the telegram or the hardware synchronisation pulse of the “Distributed Clocks” mechanism (see below) for data transfer. The EtherCAT interface for CMMP-AS-...-M3 supports synchronisation via the “Distributed Clocks” mechanism specified under EtherCAT by means of the use of FPGA module ESC20. The current regulator of the motor controller CMMP-AS-...-M3 is synchronised to this pulse, and the correspondingly configured PDOs are evaluated or sent. The motor controller CMMP-AS-...-M3 with the EtherCAT interface supports the following functions: – Cyclic PDO frame telegram via the process data telegram protocol. – Synchronous PDO frame telegram via the process data telegram protocol. The motor controller CMMP-AS-...-M3 with the EtherCAT interface supports four Receive PDOs (RxPDO) and four Transmit PDOs (TxPDO). Festo – GDCP-CMMP-M3/-M0-C-CO-EN – 1304a 65 4 EtherCAT interface 4.9 Error Control The EtherCAT CoE implementation for the motor controller CMMP-AS-...-M3 monitors the following error statuses of the EtherCAT fieldbus: – FPGA is not ready when the system is started. – A bus error has occurred. – An error has occurred on the mailbox channel. The following errors are monitored in this case: – An unknown service is requested. – A protocol other than CANopen over EtherCAT (CoE) is to be used. – An unknown Sync Manager is addressed. All of these errors are defined as corresponding error codes for the motor controller CMMP-AS-...-M3. If one of the above-mentioned errors occurs, it is transmitted to the controller via a “Standard Emergency Frame”. See also Chapter 4.10 “Emergency Frame” and Chapter B “ Diagnostic messages”. The CMMP-AS-...-M3/-M0 motor controller with the EtherCAT interface supports the following function: – Application Controller determines a defined error message number as a result of an event (Error Control Frame telegram from the controller). 4.10 Emergency Frame The master and slaves exchange error messages via the EtherCAT CoE emergency frame. The CoE emergency frames are used for direct transfer of the “Emergency Messages” defined under CANopen. The CANopen telegrams are simply tunnelled through the CoE emergency frames, as is the case for SDO and PDO transmission. 6 bytes Mailbox Header 2 bytes CoE Header 2 bytes Error Code Mandatory Header Fig. 4.7 1 byte Error Register 5 bytes Data Standard CANopen Emergency Frame 1...n bytes Data Optional Emergency Frame: telegram structure Element Description Mailbox Header CoE Header ErrorCode Error Register Data Data (optional) Data for mailbox communication (length, address and type) Identifier of the CoE service Error Code of the CANopen EMERGENCY Message Chapter 3.5.2 Error Register of the CANopen EMERGENCY Message Tab. 3.9 Data content of the CANopen EMERGENCY Message Additional optional data. As only the standard CANopen emergency frames are supported in the CoE implementation for the motor controller CMMP-AS-...-M3, the “Data (optional)” field is not supported. Tab. 4.14 Emergency Frame: elements As the “Emergency Messages” received and sent via CoE are simply forwarded to the CANopen protocol implemented in the motor controller, all error messages can be looked up in the chapter B. 66 Festo – GDCP-CMMP-M3/-M0-C-CO-EN – 1304a 4 4.11 EtherCAT interface XML Device Description File In order to connect EtherCAT slave devices simply to an EtherCAT master, there must be a description file for every EtherCAT slave device. This description file is comparable to the EDS files for the CANopen fieldbus system or the GSD files for Profibus. In contrast to the latter, the EtherCAT description file is in the XML format, as is often used for internet and web applications, and contains information on the following features of the EtherCAT slave devices: – Information on the device manufacturer – Name, type and version number of the device – Type and version number of the protocol to be used for this device (e.g. CANopen over Ethernet, ...) – Parametrisation of the device and configuration of the process data This file contains the complete parametrisation of the slave, including the parametrisation of the Sync Manager and the PDOs. For this reason, the configuration of the slave can be changed using this file. Festo has created a device description file for the CMMP-AS-...-M3 motor controller. It can be downloaded from the Festo homepage. Its contents will now be described in more detail to permit users to adapt this file to their application. The available device description file supports both the CiA 402 profile and the FHPP profile via separately selectable modules. 4.11.1 Fundamental structure of the device description file The EtherCAT device description file is in the XML format. This format has the advantage that it can be read and edited in a standard text editor. An XML file always describes a tree structure. It defines the individual branches via nodes. These nodes have a start and end marking. Each node can contain any number of sub-nodes. EXAMPLE: Rough explanation of the fundamental structure of an XML file: <EtherCATInfo Version=“0.2“> <Vendor> <Id>#x1D</Id> <Name>Festo AG</Name> <ImageData16x14>424DD60200......</ImageData16x14> </Vendor> <Descriptions> <Groups> <Group SortOrder=“1“> <Type>Festo Electric-Drives</Type> <Name LcId=“1033“>Festo Electric-Drive</Name> </Group> </Groups> <Devices> <Device Physics=“YY“> </Device> </Devices> </Descriptions> </EteherCATInfo> Festo – GDCP-CMMP-M3/-M0-C-CO-EN – 1304a 67 4 EtherCAT interface The following brief rules must be observed for the structure of an XML file: – Each node must have a unique name. – Each node opens with <node name> and closes with </node name>. The device description file for the motor controller CMMP-AS-...-M3 under EtherCAT CoE is divided into the following sub-items: Node name Significance Adaptable Vendor This node contains the name and the ID of the manufacturer of the device to which this description file belongs. It also contains the binary code of a bitmap with the manufacturer's logo. No Description This sub-item contains the actual device description including the configuration and initialisation. Partially Group This node contains the assignment of the device to a device group. These groups are specified and may not be changed by the user. No Devices This sub-item contains the actual description of the device. Partially Tab. 4.15 Nodes of the device description file The following table describes only the subnodes of the “Description” node that are required for parameterisation of the motor controller CMMP-AS-...-M3 under CoE. All other nodes are fixed and may not be changed by the user. Node name Significance Adaptable RxPDO Fixed=... This node contains the PDO Mapping and the assignment of the PDO to the Sync Manager for Receive PDOs. Yes TxPDO Fixed=... This node contains the PDO Mapping and the assignment of the PDO to the Sync Manager for Transmit PDOs. Yes Mailbox This node allows commands to be defined that are transmitted to the slave via SDO transfers by the master during the phase transition from “Pre-Operational” to “Operational”. Yes Tab. 4.16 Subnode of the “Descriptions” node As only the nodes from the table above are important for users to adapt the device description file, they are described in detail in the following chapters. The remaining content of the device description file is fixed and may not be changed by the user. Important: If changes are made to nodes and content other than the RxPDO, TxPDO and Mailbox nodes in the device description file, error-free operation of the device can no longer be guaranteed. 68 Festo – GDCP-CMMP-M3/-M0-C-CO-EN – 1304a 4 EtherCAT interface 4.11.2 Receive PDO configuration in the RxPDO node The RxPDO node is used to specify the mapping for the Receive PDOs and their assignment to a channel of the Sync Manager. A typical entry in the device description file for the motor controller CMMP-AS-...-M3 can be as follows: <RxPDO Fixed=”1” Sm=”2”> <Index>#x1600</Index> <Name>Outputs</Name> <Entry> <Index>#x6040</Index> <SubIndex>0</SubIndex> <BitLen>16</BitLen> <Name>Controlword</Name> <DataType>UINT</DataType> </Entry> <Entry> <Index>#x6060</Index> <SubIndex>0</SubIndex> <BitLen>8</BitLen> <Name>Mode_Of_Operation</Name> <DataType>USINT</DataType> </Entry> </RxPDO> As the example above shows, the entire mapping of the Receive PDO is described in detail in such entries. The first large block specifies the object number of the PDO and its type. This is followed by a list of all CANopen objects which are to be mapped to the PDO. The table below describes the individual entries in greater detail: Node name Significance Adaptable RxPDO Fixed=“1” Sm=“2” This node describes the properties of the Receive PDO directly and its assignment to the Sync Manager. The Fixed=“1” entry indicates that the object mapping cannot be revised. The Sm=“2” entry indicates that the PDO is to be allocated to Sync channel 2 of the Sync Manager. No Index This entry contains the object number of the PDO. The first Receive PDO under object number 0x1600 is configured here. Yes Name The name indicates that this PDO is a Receive PDO (outputs) or a Transmit PDO (inputs). This value must always be set to “Output” for a Receive PDO. No Entry Each Entry node contains a CANopen object to be mapped to the PDO. An Entry node contains the index and sub-index of the CANopen object to be mapped, as well as their name and data type. Yes Tab. 4.17 Elements of the node “RxPDO” Festo – GDCP-CMMP-M3/-M0-C-CO-EN – 1304a 69 4 EtherCAT interface The sequence and mapping of the individual CANopen objects for the PDO correspond to the sequence in which they are specified via the “Entry” entries in the device description file. The individual sub-items of an “Entry” node are specified in the following table: Node name Significance Adaptable Index This entry specifies the index of the CANopen object to be mapped to the PDO. Yes Sub-index This entry specifies the sub-index of the CANopen object to be mapped. Yes BitLen This entry specifies the size of the object to be mapped in bits. This entry must always correspond to the type of the object to be mapped. Allowed: 8 Bit / 16 Bit / 32 Bit. Yes Name This entry specifies the name of the object to be mapped as a string. Yes Data Type This entry specifies the data type of the object to be mapped. This can be taken from the respective description for the individual CANopen objects. Yes Tab. 4.18 Elements of the node “Entry” 4.11.3 Transmit PDO configuration in the TxPDO node The TxPDO node is used to specify the mapping for the Transmit PDOs and their assignment to a channel of the Sync Manager. The configuration corresponds to that of the Receive PDOs from section 4.11.2 “Receive PDO configuration in node RxPDO” with the difference that the node “Name” of the PDO must be set to “Inputs”, not “Outputs”. 4.11.4 Initialisation commands via the “Mailbox” node The “Mailbox” node in the device description file is used to describe CANopen objects via the master in the slave during the initialisation phase. The commands and objects to be described there are specified via special entries. These entries specify the phase transition at which this value is to be written. Furthermore, such entries contain the object number (index and sub-index) as well as the data value to be written and comments. A typical entry has the following form: <InitCmd> <Transition>PS</Transition> <Index#x6060</Index> <SubIndex>0</SubIndex> <Data>03</Data> <Comment>velocity mode</Comment> </InitCmd> In the example above, status transition PS from “Pre-Operational” to “Safe Operational” sets the operating mode in the CANopen object “modes_of_operation” to “Speed adjustment”. The individual subnodes have the following significance: 70 Festo – GDCP-CMMP-M3/-M0-C-CO-EN – 1304a 4 EtherCAT interface Node name Significance Adaptable Transition Name of the status transition for which this command should be executed ( chapter 4.6 “Communication Finite State Machine”) Yes Index Index of the CANopen object to be written Yes Sub-index Sub-index of the CANopen object to be written Yes Data Data value to be written, as a hexadecimal value Yes Comment Comment on this command Yes Tab. 4.19 Elements of the node “InitCmd” Important: In a device description file for the motor controller CMMP-AS-...-M3, some entries in this section are already assigned. These entries must remain as they are and may not be changed by the user. 4.12 Synchronisation (Distributed Clocks) Time synchronisation is implemented via so-called “Distributed Clocks” in EtherCAT. Each EtherCAT slave receives a real-time clock, which is synchronised in all slaves by the clock master during the initialisation phase. The clocks in all slaves are then adjusted during operation. The clock master is the first slave in the network. This provides a uniform time base in the entire system with which the individual slaves can synchronise. The Sync telegrams provided for this purpose under CANopen are unnecessary under CoE. The FPGA ESC20 used in the motor controller CMMP-AS-...-M3 supports Distributed Clocks. This facilitates extremely precise time synchronisation. The cycle time of the EtherCAT Frame must exactly match the cycle time tp of the controller-internal interpolator. If necessary, the interpolator time must be adjusted via the object included in the device description file. In the present implementation, synchronous transfer of PDO data and synchronisation of the controllerinternal PLL to the synchronous data framework of the EtherCAT Frame can be implemented even without Distributed Clocks. For this purpose, the firmware uses the arrival of the EtherCAT Frame as a time base. The following restrictions apply: – The master must be able to send the EtherCAT Frames with an extremely low jitter. – The cycle time of the EtherCAT Frame must exactly match the cycle time tp of the controller-internal interpolator. – The Ethernet must be available exclusively for the EtherCAT Frame. It may be necessary to synchronise other telegrams to the grid, as they may not block the bus. Festo – GDCP-CMMP-M3/-M0-C-CO-EN – 1304a 71 5 5 Setting parameters 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 display of the motor controller shows an “A” (Attention) if the motor controller has not been parametrised appropriately yet. If the motor controller is supposed to be parametrised completely over CANopen, you must write over the object 6510h_C0h in order to suppress this display ( page 144). 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 include any information that can be used in designing an application with a motor controller CMMP-AS-...-M3/-M0 in a sensible way. If required, read about this in the specifications of CiA. 5.1 Loading and Saving Parameter Sets Overview The motor controller has three parameter sets: – Current parameter set This parameter set is located in the volatile memory (RAM) of the motor controller. It can be read and written on as desired with the parametrisation software or via the CAN bus. 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 into 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 non-volatile flash memory. The storage process can be triggered with a read 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. 72 Festo – GDCP-CMMP-M3/-M0-C-CO-EN – 1304a 5 Setting parameters The following diagram illustrates the connections between the individual parameter sets. Application parameter set Default parameter set CANopen object 1011 Switching on of the controller CANopen object 1010 Current parameter set Fig. 5.1 Connections between parameter sets Two different concepts are conceivable for administering parameter sets: 1. The parameter set is created with the parametrisation software and transmitted completely into the individual controllers. With this procedure, only the objects accessible via CANopen have to be put in via the CAN bus. A disadvantage here is that the parameterisation software is needed for each start-up of a new machine or in case of a repair (controller exchange). 2. This variant is based on the fact that most application-specific parameter sets deviate from the default parameter set in only a few parameters. This makes it possible for the current parameter set to be newly constructed via the CAN bus each time the system is switched on. To do this, the higher level controller first loads the default parameter set (call-up of the CANopen object 1011h_01h (restore_all_default_parameters). After that, only the differing objects are transmitted. The entire procedure lasts less than 1 second per controller. An advantage is that this procedure also works for unparametrised controllers, so that the commissioning of new systems or replacement of individual controllers is unproblematic, and parametrisation software is not required for this. Warning Before the output stage is switched on for the first time, make sure the controller really includes the parameters you want. An incorrectly parametrised controller can turn out of control and cause personal injury or property damage. Festo – GDCP-CMMP-M3/-M0-C-CO-EN – 1304a 73 5 Setting parameters 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 Description Access PDO mapping Units Value Range Default Value 01h restore_all_default_parameters rw no – 64616F6Ch (“load”) 1 (read access) Signature MSB ASCII Hex Tab. 5.1 LSB d 64h a 61h o 6Fh l 6Ch Example for ASCII text “load” 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 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) as well as numerous angle encoder settings (some of which require a reset to become effective) remain unchanged. Object 1010h: store_parameters Index 1010h Name store_parameters Object Code ARRAY No. of Elements 1 Data Type UINT32 74 Festo – GDCP-CMMP-M3/-M0-C-CO-EN – 1304a 5 Setting parameters Sub-Index Description Access PDO mapping Units Value Range Default Value Signature 01h save_all_parameters rw no – 65766173h (“save”) 1 MSB ASCII Hex Tab. 5.2 LSB e 65h v 76h a 61h s 73h Example for ASCII text “save” 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. If the object is written via an SDO, the default behaviour is that the SDO is answered immediately. The answer thus does not reflect the end of the storage procedure. But this behaviour can be revised through the object 6510h_F0h (compatibility_control). 5.2 Compatibility settings Overview In order to remain compatible with earlier CANopen implementations (e.g. also in other device families) and still be able to execute changes and corrections compared to CiA 402 and CiA 301, the object compatibility_control was introduced. In the default parameter set, this object delivers 0, that is, compatibility with earlier versions. For new applications, we recommend setting the defined bits to permit as much agreement as possible with the named standards. Description of the Objects Objects treated in this chapter Index Object Name Type Attr. 6510_F0h VAR compatibility_control UINT16 rw Festo – GDCP-CMMP-M3/-M0-C-CO-EN – 1304a 75 5 Setting parameters Object 6510h_F0h: compatibility_control Sub-Index Description Data Type Access PDO mapping Units Value Range Default Value F0h compatibility_control UINT16 rw no – 0 … 1FFh, Table 0 Bit Value 0 0001h homing_method_scheme 1 2 0002h Reserved 0004h homing_method_scheme 3 4 0008h Reserved 0010h response_after_save 5 6 0020h Reserved 0040h homing_to_zero 7 0080h device_control 8 0100h Reserved 76 Name The bit has the same significance as bit 2 and is available for compatibility reasons. If bit 2 is set, this bit is also set and vice versa. The bit is reserved. It must not be set. If this bit is set, the homing methods 32 … 35 are numbered in accordance with CiA 402; otherwise, the numbering is compatible with earlier implementations. ( also chap. 7.2.3). If this bit is set, bit 0 is also set and vice versa. The bit is reserved. It must not be set. If this bit is set, the answer to save_all_parameters is not sent until saving is completed. This can take several seconds, which might result in a time-out in the controller. If the bit is deleted, answering takes place immediately; but it should be considered that the saving procedure has not been completed yet. The bit is reserved. It must not be set. Up to now, homing under CANopen consists of only two phases (search travel and creep travel). The drive then does not travel to the determined zero position (which may have been shifted to the reference position found through homing_offset, for example). If this bit is set, this standard behaviour is revised and the drive performs travel to zero after homing chap. 7.2 Operating mode reference travel (homing mode). If this bit is set, bit 4 of the status word (voltage_enabled) is output in accordance with CiA 402 v2.0. In addition, the status FAULT_REACTION_ACTIVE is distinguishable from the FAULT status. see chapter 6 The bit is reserved. It must not be set. Festo – GDCP-CMMP-M3/-M0-C-CO-EN – 1304a 5 Setting parameters 5.3 Conversion factors (factor group) Overview Motor controllers are used in a number of applications: as direct drive, with following gear, for linear drive, etc. To permit easy parametrisation, 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: Factor group User units Internal controller units Item ±1 Position units Position Factor Increments (Inc.) ±1 position_polarity_flag Speed 1 Revolution 4096 min ±1 Velocity units Velocity factor ±1 velocity_polarity_flag Acceleration Acceleration units Fig. 5.2 1 Revolution min 256 sec Acceleration factor 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 Measurement file Unit Explanation Length Speed Acceleration Position units Velocity units Acceleration units Increments min-1 (min-1)/s 65536 increments per revolution Revolutions per minute Rotational speed increase per second Tab. 5.3 Factor group default settings Festo – GDCP-CMMP-M3/-M0-C-CO-EN – 1304a 77 5 Setting parameters Description of the Objects Objects treated in this chapter Index Object Name Type Attr. 607Eh 6093h 6094h 6097h VAR ARRAY ARRAY ARRAY polarity position_factor velocity_encoder_factor acceleration_factor UINT8 UINT32 UINT32 UINT32 rw rw rw rw Object 6093h: position_factor The object position_factor converts all units of length of the application from position_units into the internal unit increments (65536 increments correspond to 1 revolution). It consists of numerator and denominator. Motor with gearing Axis x in positioning unit (e.g. “degrees”) ROUT RIN Motor Gear unit Fig. 5.3 Calculating the positioning units Index 6093h Name position_factor Object Code ARRAY No. of Elements 2 Data Type UINT32 78 x in positioning unit (e.g. “mm”) Festo – GDCP-CMMP-M3/-M0-C-CO-EN – 1304a 5 Setting parameters Sub-Index Description Access PDO mapping Units Value Range Default Value 01h numerator rw yes – – 1 Sub-Index Description Access PDO mapping Units Value Range Default Value 02h divisor rw yes – – 1 The following parameters are involved in the calculation formula of the position_factor: Parameters Description gear_ratio Gear ratio between revolutions at the drive-in (RIN) and revolutions at the driveout (ROUT) Ratio between revolutions at the drive-out (ROUT) and movement in position_units (e.g. 1 R = 360 degrees) feed_constant Tab. 5.4 Position factor parameters The position_factors is calculated using the following formula: position_factor = numerator divisor = Gear ratio * IncrementsRevolution Feed constant 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. The position_factor must not be larger than 224 Festo – GDCP-CMMP-M3/-M0-C-CO-EN – 1304a 79 5 Setting parameters EXAMPLE First, the desired unit (column 1) and the desired number of decimal places (dp) have to be specified, along with the application's gear ratio and its feed constant (if applicable). The feed constant is then displayed in the desired positioning units (column 2). Finally all values can be entered into the formula and the fraction can be calculated: Position factor calculation sequence Position units Feed constant Gear ratio Degree, 1 DP 1/10 degree 1 ROUT = 1/1 3600 ° 10 Formula Result shortened 1 * 65536 Inc 1 3600 ° 10 = 65536 Inc 3600 ° 10 num : 4096 div : 225 (°/10) Fig. 5.4 Position factor calculation sequence Examples of calculating the position factor Position Feed Gear units1) constant2) ratio3) Formula4) 1 ROUT = 1 * 65536 Inc 1 Increments, 0 DP Inc. Degree, 1 DP 1/10 degree 1/1 65536 Ink 1 ROUT = 65536 Inc 1/1 3600 ° 10 1 * 65536 Inc 1 3600 ° 10 Result shortened num : 1 div : 1 = 1 Inc 1 Inc = 65536 Inc 3600 ° num : 4096 div : 225 65536 Inc num : 16384 div : 25 10 (°/10) Rev., 2 DP 1/100 Rev. 1 ROUT = 2/3 (R/100) mm, 1 DP 1/10 mm (mm/10) 1/1 R 100 100 1 ROUT = mm 631.5 10 4/5 1 * 65536 Inc 1 1 100 100 2 * 65536 Inc 3 1 100 100 4 * 65536 Inc 5 mm 631.5 10 = = = 100 1 100 131072 Inc 300 1 100 2621440 Inc mm 31575 10 num : 32768 div : 75 num: 524288 div: 6315 1) Desired unit at the drive-out 2) Positioning units per revolution at the drive-out (ROUT). Feed constant of the drive * 10-DP (points after the decimal) 3) Revolutions at the drive in per revolutions at the drive-out (RIN per ROUT) 4) Insert values into equation. Tab. 5.5 80 Examples of calculating the position factor Festo – GDCP-CMMP-M3/-M0-C-CO-EN – 1304a 5 Setting parameters 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 Description Access PDO mapping Units Value Range Default Value 01h numerator rw yes – – 1000h Sub-Index Description Access PDO mapping Units Value Range Default Value 02h divisor rw yes – – 1 Calculation of the velocity_encoder_factor is in principle made up of two parts: a conversion factor from internal length units into position_units, and a conversion factor from internal time units into userdefined 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: Parameters Description time_factor_v The ratio between the internal time unit and the user-defined time unit. (e.g. 1 min = 1/4096 4096 min) Gear ratio between revolutions at the drive-in (RIN) and revolutions at the drive-out (ROUT) Ratio between revolutions at the drive-out (ROUT) and movement in position_units (e.g. 1 R = 360 degrees) gear_ratio feed_constant Tab. 5.6 Speed factor parameters Festo – GDCP-CMMP-M3/-M0-C-CO-EN – 1304a 81 5 Setting parameters The calculation of the velocity_encoder_factor uses the following equation: velocity_encoder_factor numerator divisor = = gear_ratio * time_factor_v feedconstant The velocity_encoder_factor must not be greater than 224 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. EXAMPLE First, the desired unit (column 1) and the desired number of decimal places (dp) have to be specified, along with the application's gear ratio and its feed constant (if applicable). The feed constant is then displayed in the desired positioning 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 entered into the formula and the fraction can be calculated: Velocity factor calculation sequence Speed Feed Time Constant units const. mm/s, 1 DP 1/10 mm/s ( mm/10 s ) Fig. 5.5 82 63.15 mm R ⇒ 1 ROUT = mm 631.5 10 1 1 s Gear Formula = 60 1 min = 60 * 4096 1 4096 min 4/5 4 * 5 Result shortened 1 4096 min 1 1 1966080 1s 4096 min num: 131072 = mm mm div: 421 631.5 6315 10 10s 60 * 4096 Velocity factor calculation sequence Festo – GDCP-CMMP-M3/-M0-C-CO-EN – 1304a 5 Setting parameters Examples of calculating the speed factor Speed Feed Time Constant3) 1) 2) units const. 1 ROUT = R/min, 0 DP R/min 1 ROUT 1 1 min 4096 Gear Formula5) = 1 4096 min 1/1 1 * 1 1 4096 min 1 1 min 4096 1 1 ROUT = R/min, R 2 DP 100 100 1/100 R/min ( R/100 min ) °/s, 1 DP 1/10 °/s ( °/10 s ) 1 ROUT = mm/s, 1 DP 1/10 mm/s ( mm/10 s ) 63.15 3600 ° 10 mm R ⇒ 1 ROUT = mm 631.5 10 1 1 min = 4096 1 4096 min 1 1 s = 60 1 min = 60 * 4096 1 4096 min 1 1 s 2/3 1/1 = 60 1 min = 60 * 4096 1 4096 min Result shortened 4) 4/5 = 1 4096 min 1 1 min 4096 1 4096 min 1 1 1 8192 min 4096 min = 1 1 300 100 100 100 min 1 1 60 * 4096 4096 min 1 * 1 1 1 245760 1s 4096 min = 3600 ° 3600 ° 10 10 s 1 1 60 * 4096 4 4096 min * 1 5 1 1966080 1s 4096 min = mm mm 631.5 6315 10 s 10 1 2 * 3 4096 1) Desired unit at the drive-out 2) Positioning units per revolution at the drive-out (ROUT). Feed constant of the drive * 10-DP (points after the decimal) 3) Time factor_v: desired time unit per internal time unit 4) Gear factor: RIN per ROUT 5) Insert values into equation. Tab. 5.7 num: 4096 div: 1 num: 2048 div: 75 num: 1024 div: 15 num: 131072 div: 421 Examples of calculating the speed factor 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 Festo – GDCP-CMMP-M3/-M0-C-CO-EN – 1304a 83 5 Setting parameters Sub-Index Description Access PDO mapping Units Value Range Default Value 01h numerator rw yes – – 100h Sub-Index Description Access PDO mapping Units Value Range Default Value 02h divisor rw yes – – 1 Calculation of the acceleration_factor is also made up of two parts: a conversion factor from internal units of length into position_units, and a conversion factor from internal time units squared into the 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: Parameters Description time_factor_a The ratio between the internal time unit squared and the user-defined time unit squared. (e.g. 1 min2 = 1 min x 1 min = 60 s x 1 min = 60/256 256 min x s). Gear ratio between revolutions at the input shaft (RIN) and revolutions at the output shaft (ROUT). Ratio between revolutions at the drive-out (ROUT) and movement in position_units (e.g. 1 R = 360 degrees) gear_ratio feed_constant Tab. 5.8 Acceleration factor parameter Calculation of the acceleration_factor uses the following equation: acceleration_factor = nummerator divisor = gear_ratio * time_factor_a feed_constant The acceleration_factor is also written into the motor controller separated by numerator and denominator, so it may have to be expanded. 84 Festo – GDCP-CMMP-M3/-M0-C-CO-EN – 1304a 5 Setting parameters EXAMPLE First, the desired unit (column 1) and the desired number of decimal places (dp) have to be specified, along with the application's gear ratio and its feed constant (if applicable). The feed constant is then displayed in the desired positioning 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 entered into the formula and the fraction can be calculated: Process of calculating the acceleration factor Units of Feed Time Constant Gear Formula acceleration const. mm/s², 1 DP 1/10 mm/s² ( mm/10 s² ) mm R ⇒ 1 ROUT = mm 631.5 10 63.15 1 1 s2 60 = 1 min * s 60 * 256 = 4/5 4 * 5 Result shortened 1 256 min * s 1 1 1 122880 min s2 256 s = mm mm 631, 5 6315 10 10s 2 60 * 256 1 min 256 * s Examples of calculating the acceleration factor Units of Feed Time Constant3) Gear Formula5) 4) acceleration1) const.2) R/min, 0 DP R/min s 1 ROUT = °/s², 1 DP 1 ROUT = 1 ROUT 1 min * s 256 3600 ° 10 1/10 °/s² ( °/10 s² ) R/min², 2 DP 1/100 ² R/ min R ( /100 min² ) 1 1 ROUT = R 100 100 = 1 min 1/1 256 * s 1 s2 = 1 60 min * s 60 * 256 = 1/1 1 min 256 * s 1 1 min2 = 2/3 1 1 min 60 s 2 * 3 256 256 = 631.5 mm 10 1 s2 60 1 100 1 = 1 min * s 60 * 256 1 256 min * s 1 60 min 2 100 256 60 256 * s 1 = 4/5 Result shortened 1 256 min s 1 1 min 1 256 min * s 256* s = 1 1 1 1 min s 1 60 * 256 256 min * s 1 1 * 1 1 1 15360 min 2 s 256 * s = 3600 ° 3600 ° 10 10 s 2 1 1 * 1 1 min mm mm/s², 63.15 R 1 DP ⇒ ² mm 1 R 1/10 /s OUT = ( mm/10 s² ) 1 num: 8192 div: 421 4 * 5 1 min 256 s = 1 18000 100 min 2 512 1 256 min * s 1 1 1 122880 min 2 s 256 s = mm mm 631,5 6315 10 10 s 2 1 num: 256 div: 1 num: 64 div: 15 num: 32 div: 1125 60 * 256 1 min 256 * s num: 8192 div: 421 1) Desired unit at the drive-out 2) Positioning units per revolution at the drive-out (ROUT). Feed constant of the drive * 10-DP (points after the decimal) 3) Time factor_v: desired time unit per internal time unit 4) Gear factor: RIN per ROUT 5) Insert values into equation. Tab. 5.9 Examples of calculating the acceleration factor Festo – GDCP-CMMP-M3/-M0-C-CO-EN – 1304a 85 5 Setting parameters 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 PDO mapping Units Value Range Default Value rw yes – 40h, 80h, C0h 0 Bit Value Name Meaning 6 40h velocity_polarity_flag 7 80h position_polarity_flag 0: multiply by 1 (default) 1: multiply by -1 (inverse) 0: multiply by 1 (default) 1: multiply by -1 (inverse) 86 Festo – GDCP-CMMP-M3/-M0-C-CO-EN – 1304a 5 Setting parameters 5.4 Output stage parameter 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 Description of the objects Index Object Name 6510h RECORD Drive_data Type Attr. 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: – 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-controlled 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 unbraked or is stopped only by the holding brake, if 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). Festo – GDCP-CMMP-M3/-M0-C-CO-EN – 1304a 87 5 Setting parameters Index 6510h Name drive_data Object Code RECORD No. of Elements 51 Sub-Index Description Data Type Access PDO mapping Units Value Range Default Value 10h enable_logic UINT16 rw no – 0…2 0 Value Meaning 0 1 2 Digital inputs output stage enable + controller enable Digital inputs output stage enable + controller enable + parametrisation interface Digital inputs output stage enable + controller enable + CAN Object 6510h_30h: pwm_frequency The switching losses of the output stage are proportional to the switching frequency of the power transistors. With the devices of the CMMP family, cutting the normal pulse-width modulation frequency in half can produce more output. But the current ripple factor caused by the output stage rises. Reversing is only possible when the output stage is switched off. Sub-Index Description Data Type Access PDO mapping Units Value Range Default Value 30h pwm_frequency UINT16 rw no – 0, 1 0 Value Meaning 0 1 Standard output stage frequency Half output stage frequency 88 Festo – GDCP-CMMP-M3/-M0-C-CO-EN – 1304a 5 Setting parameters Object 6510h_3Ah: enable_enhanced_modulation The extended sine modulation can be activated with the object enable_enhanced_modulation. It permits better utilization of the intermediate circuit voltage and thus about 14 %-higher speeds. A disadvantage in certain applications is that the control behaviour and smooth running of the motor can be slightly worse at very low speeds. write access is possible only when the output stage is switchedoff. To accept the change, the parameter set must be backed up and a reset performed. Sub-Index Description Data Type Access PDO mapping Units Value Range Default Value 3Ah enable_enhanced_modulation UINT16 rw no – 0, 1 0 Value Meaning 0 1 Extended sine modulation OFF Extended sine modulation ON Activation of the extended sine modulation is only effective after a reset. As a result, the parameter set must be saved (save_all_parameters) and then a reset performed. 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 Description Data Type Access PDO mapping Units Value Range Default Value 31h power_stage_temperature INT16 ro yes °C – – Festo – GDCP-CMMP-M3/-M0-C-CO-EN – 1304a 89 5 Setting parameters Object 6510h_32h: max_power_stage_temperature The temperature of the output stage can be read via the object 6510h_31h (power_stage_temperature). If the temperature specified in the object max_power_stage_temperature is exceeded, the output stage shuts off and an error message is output. Sub-Index Description Data Type Access PDO mapping Units Value Range Default Value 32h max_power_stage_temperature INT16 ro no °C 100 Device-dependent Device Type Value CMMP-AS-C2-3A-M3/-M0 CMMP-AS-C5-3A-M3/-M0 CMMP-AS-C5-11A-P3-M3/-M0 CMMP-AS-C10-11A-P3-M3/-M0 100 °C 80 °C 80 °C 80 °C Object 6510h_33h: nominal_dc_link_circuit_voltage Through the object nominal_dc_link_circuit_voltage, the nominal device voltage can be read in millivolt. Sub-Index Description Data Type Access PDO mapping Units Value Range Default Value 33h nominal_dc_link_circuit_voltage UINT32 ro no mV – Device-dependent Device Type Value CMMP-AS-C2-3A-M3/-M0 CMMP-AS-C5-3A-M3/-M0 CMMP-AS-C5-11A-P3-M3/-M0 CMMP-AS-C10-11A-P3-M3/-M0 360000 360000 560000 560000 90 Festo – GDCP-CMMP-M3/-M0-C-CO-EN – 1304a 5 Setting parameters Object 6510h_34h: actual_dc_link_circuit_voltage Via the object actual_dc_link_circuit_voltage, the current voltage of the intermediate circuit can be read in millivolts. Sub-Index Description Data Type Access PDO mapping Units Value Range Default Value 34h actual_dc_link_circuit_voltage UINT32 ro yes mV – – Object 6510h_35h: max_dc_link_circuit_voltage The object max_dc_link_circuit_voltage specifies at which intermediate circuit voltage or higher the output stage is switched off immediately for safety reasons and an error message is sent. Sub-Index Description Data Type Access PDO mapping Units Value Range Default Value 35h max_dc_link_circuit_voltage UINT32 ro no mV – Device-dependent Device Type Value CMMP-AS-C2-3A-M3/-M0 CMMP-AS-C5-3A-M3/-M0 CMMP-AS-C5-11A-P3-M3/-M0 CMMP-AS-C10-11A-P3-M3/-M0 460000 460000 800000 800000 Object 6510h_36h: min_dc_link_circuit_voltage The motor controller has an undervoltage monitor. This can be activated through the object 6510h_37h (enable_dc_link_undervoltage_error). The object 6510h_36h (min_dc_link_circuit_voltage) specifies up to which lower intermediate circuit voltage the motor controller should work. Below this voltage, the error E 02-0 is triggered if it was activated with the subsequent object. Sub-Index Description Data Type Access PDO mapping Units Value Range Default Value 36h min_dc_link_circuit_voltage UINT32 rw no mV 0 … 1000000 0 Festo – GDCP-CMMP-M3/-M0-C-CO-EN – 1304a 91 5 Setting parameters Object 6510h_37h: enable_dc_link_undervoltage_error The undervoltage monitor can be activated with the object enable_dc_link_undervoltage_error. Specify in the object 6510h_36h (min_dc_link_circuit_voltage) up to which lower intermediate circuit voltage the motor controller should work. Sub-Index Description Data Type Access PDO mapping Units Value Range Default Value 37h enable_dc_link_undervoltage_error UINT16 rw no – 0, 1 0 Value Meaning 0 1 Undervoltage error OFF (reaction WARNING) Undervoltage error ON (reaction CONTROLLER ENABLE OFF) The error 02-0 is activated through modification of 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. also 5.18, Error Management. Object 6510h_40h: nominal_current The device nominal current can be read with the object nominal_current. It is simultaneously the upper limit value that can be written into the object 6075h (motor_rated_current). Sub-Index Description Data Type Access PDO mapping Units Value Range Default Value 40h nominal_current UINT32 ro no mA – Device-dependent Device Type Value CMMP-AS-C2-3A-M3/-M0 CMMP-AS-C5-3A-M3/-M0 CMMP-AS-C5-11A-P3-M3/-M0 CMMP-AS-C10-11A-P3-M3/-M0 2500 5000 5000 10000 Other values may be displayed due to a power derating, dependent on the controller cycle time and the output stage clock frequency. 92 Festo – GDCP-CMMP-M3/-M0-C-CO-EN – 1304a 5 Setting parameters Object 6510h_41h: peak_current The device peak current can be read with the object peak_current. It is simultaneously the upper limit value, which can be written into the object 6073h (max_current). Sub-Index Description Data Type Access PDO mapping Units Value Range Default Value 41h peak_current UINT32 ro no mA – Device-dependent Device Type Value CMMP-AS-C2-3A-M3/-M0 CMMP-AS-C5-3A-M3/-M0 CMMP-AS-C5-11A-P3-M3/-M0 CMMP-AS-C10-11A-P3-M3/-M0 10000 20000 20000 40000 The values apply for a current regulator cycle time of 125 μs. Other values may be displayed due to a power derating, dependent on the controller cycle time and the output stage clock frequency. Festo – GDCP-CMMP-M3/-M0-C-CO-EN – 1304a 93 5 Setting parameters 5.5 Current Regulator and Motor Adjustment Caution Incorrect settings of the current regulator parameters and current limits can destroy the motor and, possibly, also the motor controller within a very short time! Overview The parameter set of the motor controller must be adapted for the connected motor and the set of cables used. Affected are the following parameters: Parameters Dependencies Nominal current Overload capacity Number of poles Current regulator Direction of rotation Offset Angle Dependent on the motor Dependent on the motor Dependent on the motor Dependent on the motor Dependent on the motor and on the phase sequence in the motor and angle transmitter cable Dependent on the motor and on the phase sequence in the motor and angle transmitter cable Please observe that the direction of rotation and offset angle also depend on the cable set used. The parameter sets therefore work only with identical cabling. 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! Description of the Objects Index Object Name Type Attr. 6075h 6073h 604Dh 6410h 60F6h VAR VAR VAR RECORD RECORD motor_rated_current max_current pole_number motor_data torque_control_parameters UINT32 UINT16 UINT8 rw rw rw rw rw Affected objects from other chapters Index Object Name 2415h RECORD current_limitation 94 Type Chapter 5.8 Setpoint value limitation Festo – GDCP-CMMP-M3/-M0-C-CO-EN – 1304a 5 Setting parameters 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 PDO mapping Units Value Range Default Value rw yes mA 0 … nominal_current 296 If the object 6075h (motor_rated_current) is written over with a new value, the object 6073h (max_current) must always be parametrised again. Object 6073h: max_current As a rule, servo motors may be overloaded for a certain time period. With this object, the maximum permissible motor current is set as a factor. 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 4. In this case, the value 4000 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 PDO mapping Units Value Range Default Value rw yes per thousands of rated current – 2023 Festo – GDCP-CMMP-M3/-M0-C-CO-EN – 1304a 95 5 Setting parameters Object 604Dh: pole_number The number of poles of the motor can be found in the motor data sheet or the parametrisation software. The number of poles is always even. The number of pole pairs is often specified instead of the number of pins. The number of poles then equals twice the number of pole pairs. This object is not revised through restore_default_parameters. Index 604Dh Name pole_number Object Code VAR Data Type UINT8 Access PDO mapping Units Value Range Default Value rw yes – 2 … 254 4 (after INIT!) Object 6410h_03h: iit_time_motor As a rule, servo 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 expiration of the I2t time, to protect the motor the current is automatically limited to the value set in object 6075h (motor_rated_current). The standard setting is two seconds and is valid for most motors. Index 6410h Name motor_data Object Code RECORD No. of Elements 5 Sub-Index Description Data Type Access PDO mapping Units Value Range Default Value 03h iit_time_motor UINT16 rw no ms 0 … 100000 2000 96 Festo – GDCP-CMMP-M3/-M0-C-CO-EN – 1304a 5 Setting parameters 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 thousandths. Sub-Index Description Data Type Access PDO mapping Units Value Range Default Value 04h iit_ratio_motor UINT16 ro no thousandths – – Object 6510h_38h: iit_error_enable The object iit_error_enable establishes how the motor controller behaves when the I2t limitation occurs. Either it is only displayed in the status word, or error E 31-0 is triggered. Index 6510h Name drive_data Object Code RECORD No. of Elements 51 Sub-Index Description Data Type Access PDO mapping Units Value Range Default Value 38h iit_error_enable UINT16 rw no – 0, 1 0 Value Meaning 0 1 I2t error OFF I2t error ON (Priority WARNING) (Priority CONTROLLER ENABLE OFF) The error E 31-0 is activated by 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. chapter 5.18, Error Management. Festo – GDCP-CMMP-M3/-M0-C-CO-EN – 1304a 97 5 Setting parameters 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 from the parameterisation software. 10h phase_order INT16 rw yes – 0, 1 0 Sub-Index Description Data Type Access PDO mapping Units Value Range Default Value Value Meaning 0 1 Right Left-hand Object 6410h_11h: encoder_offset_angle The servo 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. This angle can be determined with the parametrisation software. The angle determined with the parametrisation software lies in the range of ±180°. It must be calculated as follows: encoder_offset_angle = Offset_angle_of_the_angle_encoder * 32767 180° This object is not revised through restore_default_parameters. Index 6410h Name motor_data Object Code RECORD No. of Elements 5 Sub-Index Description Data Type Access PDO mapping Units Value Range Default Value 11h encoder_offset_angle INT16 rw yes … -32767 … 32767 E000h (-45°) (according to factory setting) 98 Festo – GDCP-CMMP-M3/-M0-C-CO-EN – 1304a 5 Setting parameters Object 6410h_14h: motor_temperature_sensor_polarity This object is used to determine whether a normally closed contact or a normally open contact is used as a digital motor temperature sensor. Sub-Index Description Data Type Access PDO mapping Units Value Range Default Value 14h motor_temperature_sensor_polarity INT16 rw yes – 0, 1 0 Value Meaning 0 1 N/C contact N/O contact Object 6510h_2Eh: motor_temperature With this object, the current motor temperature can be read if an analogue temperature sensor is connected. Otherwise, the object is undefined. Index 6510h Name drive_data Object Code RECORD No. of Elements 51 Sub-Index Description Data Type Access PDO mapping Units Value Range Default Value 2Eh motor_temperature INT16 ro yes °C – – Object 6510h_2Fh: max_motor_temperature If the motor temperature defined in this object is exceeded, a reaction takes place in accordance with error management (error 03-0, over-temperature motor analogue). If a reaction that stops the drive is parametrised, an emergency message is sent. For parametrisation of error management chap. 5.18, Error Management. Festo – GDCP-CMMP-M3/-M0-C-CO-EN – 1304a 99 5 Setting parameters Sub-Index Description Data Type Access PDO mapping Units Value Range Default Value 2Fh max_motor_temperature INT16 rw no °C 20 … 300 100 Object 60F6h: torque_control_parameters The data of the current controller must be taken from the parametrisation software. The following calculations must be observed: Amplification of the current controller must be multiplied by 256. With an amplification of 1.5 in the Current Regulator menu of the parametrisation software, the value 384 = 180h must be written in the object torque_control_gain. The current controller time constant is specified in the parametrisation software in milliseconds. To transfer this time constant into the object torque_control_time, it must previously be converted into 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 Description Data Type Access PDO mapping Units Value Range Default Value 01h torque_control_gain UINT16 rw no 256 = “1” 0 … 32*256 3*256 (768) Sub-Index Description Data Type Access PDO mapping Units Value Range Default Value 02h torque_control_time UINT16 rw no μs 104 … 64401 1020 100 Festo – GDCP-CMMP-M3/-M0-C-CO-EN – 1304a 5 Setting parameters 5.6 Speed Control 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 commissioning of the system with the help of the parametrisation software. Caution Incorrect setting of the speed regulator parameters can result in strong vibrations and possibly destroy parts of the system! Description of the objects Index Object Name Type Attr. 60F9h 2073h RECORD VAR velocity_control_parameters velocity_display_filter_time UINT32 rw rw Object 60F9h: velocity_control_parameters The data of the speed controller must be taken from the parametrisation software. The following calculations must be observed: Amplification of the speed regulator must be multiplied by 256. With an amplification of 1.5 in the “Speed Regulator” menu of the parametrisation software, the value 384 = 180h must be written in the object velocity_control_gain. The speed regulator time constant is specified in the parametrisation software in milliseconds. To transfer this time constant into the velocity_control_time object, 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. Index 60F9h Name velocity_control_parameter_set Object Code RECORD No. of Elements 3 Sub-Index Description Data Type Access PDO mapping Units Value Range Default Value 01h velocity_control_gain UINT16 rw no 256 = Gain 1 20 … 64*256 (16384) 256 Festo – GDCP-CMMP-M3/-M0-C-CO-EN – 1304a 101 5 Setting parameters Sub-Index Description Data Type Access PDO mapping Units Value Range Default Value 02h velocity_control_time UINT16 rw no μs 1 … 32000 2000 Sub-Index Description Data Type Access PDO mapping Units Value Range Default Value 04h velocity_control_filter_time UINT16 rw no μs 1 … 32000 400 Object 2073h: velocity_display_filter_time The filter time constant of the display speed actual value filter can be set via the object velocity_display_filter_time. Index 2073h Name velocity_display_filter_time Object Code VAR Data Type UINT32 Access PDO mapping Units Value Range Default Value rw no μs 1000 … 50000 20000 Please observe that the object velocity_actual_value_filtered is used for spinning protection. With very large filter times, a spinning error is detected only with a corresponding delay. 102 Festo – GDCP-CMMP-M3/-M0-C-CO-EN – 1304a 5 Setting parameters 5.7 Position Controller (Position Control Function) 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. Following_error_window (6065h) 0 Following_error_window (6065h) Following_error_time_out (6066h) Statusword, bit 13 (6041h) Fig. 5.6 Contouring error – functional overview Festo – GDCP-CMMP-M3/-M0-C-CO-EN – 1304a 103 5 Setting parameters 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. Position_window (6067h) 0 Position_window (6067h) Position_window_time (6068h) Status word, bit 10 (6041h) Fig. 5.7 Position reached – functional overview Description of the objects Objects treated in this chapter Index Object Name Type Attr. 202Dh 2030h 6062h 6063h 6064h 6065h 6066h 6067h 6068h 607Bh 60F4h 60FAh 60FBh 6510h_20h 6510h_22h VAR VAR VAR VAR VAR VAR VAR VAR VAR ARRAY VAR VAR RECORD VAR VAR position_demand_sync_value set_position_absolute position_demand_value position_actual_value_s1) position_actual_value following_error_window following_error_time_out position_window position_window_time position_range_limit following_error_actual_value control_effort position_control_parameter_set position_range_limit_enable position_error_switch_off_limit INT32 INT32 INT32 INT32 INT32 UINT32 UINT16 UINT32 UINT16 INT32 INT32 INT32 ro wo ro ro ro rw rw rw rw rw ro ro rw rw rw 1) UINT16 UINT32 In increments 104 Festo – GDCP-CMMP-M3/-M0-C-CO-EN – 1304a 5 Setting parameters Affected objects from other chapters Index Object Name Type Chapter 607Ah 607Ch 607Dh 607Eh 6093h 6094h 6096h 6040h 6041h VAR VAR VAR VAR VAR ARRAY ARRAY VAR VAR target_position home_offset software_position_limit polarity position_factor velocity_encoder_factor acceleration_factor controlword statusword INT32 INT32 INT32 UINT8 UINT32 UINT32 UINT32 INT16 UINT16 7.3 Positioning operating mode 7.2 Homing run 7.3 Positioning operating mode 5.3 Conversion factors 5.3 Conversion factors 5.3 Conversion factors 5.3 Conversion factors 6.1.3 Control word (controlword) 6.1.5 Status words (statuswords) Object 60FBh: position_control_parameter_set The parameter set of the motor controller must be adapted for the application. The data of the position controller must be optimally determined during commissioning using the parametrisation 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, taking into account the gain and possibly the integrator. 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 normally suffices as position controller. Amplification of the position controller must be multiplied by 256. With an amplification of 1.5 in the “Current Regulator” menu of the parametrisation software, the value 384 must be written in the object position_control_gain. The position controller normally does not need an integrator. Then the value zero must be written into the object position_control_time . Otherwise, the time constant of the position controller must be converted into microseconds. With a time of 4.0 milliseconds, the corresponding value 4000 is entered in the object position_control_time. 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 a 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. Festo – GDCP-CMMP-M3/-M0-C-CO-EN – 1304a 105 5 Setting parameters Index 60FBh Name position_control_parameter_set Object Code RECORD No. of Elements 4 Sub-Index Description Data Type Access PDO mapping Units Value Range Default Value 01h position_control_gain UINT16 rw no 256 = “1” 0 … 64*256 (16384) 102 Sub-Index Description Data Type Access PDO mapping Units Value Range Default Value 02h position_control_time UINT16 ro no μs 0 0 Sub-Index Description Data Type Access PDO mapping Units Value Range Default Value 04h position_control_v_max UINT32 rw no speed units 0 … 131072 min-1 500 min-1 Sub-Index Description Data Type Access PDO mapping Units Value Range Default Value 05h position_error_tolerance_window UINT32 rw no position units 1 … 65536 (1 R) 2 (1/32768 R) 106 Festo – GDCP-CMMP-M3/-M0-C-CO-EN – 1304a 5 Setting parameters 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 No. of Elements INT32 Access PDO mapping Units Value Range Default Value ro yes position units – – Object 202Dh: position_demand_sync_value The target position of the synchronisation encoder can be read out via this object. This is defined through the object 2022h synchronization_encoder_select ( chap. 5.11). This object is specified in user-defined increments. Index 202Dh Name position_demand_sync_value Object Code VAR Data Type INT32 Access PDO mapping Units Value Range Default Value ro no position units – – Festo – GDCP-CMMP-M3/-M0-C-CO-EN – 1304a 107 5 Setting parameters 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 PDO mapping Units Value Range Default Value ro yes increments – – 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 PDO mapping Units Value Range Default Value ro yes position units – – 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 status word. 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 108 Festo – GDCP-CMMP-M3/-M0-C-CO-EN – 1304a 5 Setting parameters Index 6065h Name following_error_window Object Code VAR Data Type UINT32 Access PDO mapping Units Value Range Default Value rw yes position units – 9101 (9101/65536 R = 50°) 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 PDO mapping Units Value Range Default Value rw yes ms 0 … 27314 0 Object 60F4h: following_error_actual_value The current contouring error can be read out via this object. This object is specified in user-defined increments. Index 60F4h Name following_error_actual_value Object Code VAR Data Type INT32 Access PDO mapping Units Value Range Default Value ro yes position units – – Festo – GDCP-CMMP-M3/-M0-C-CO-EN – 1304a 109 5 Setting parameters 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 PDO mapping Units Value Range Default Value ro yes speed units – – 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 PDO mapping Units Value Range Default Value rw yes position units – 1820 (1820/65536 R = 10°) 110 Festo – GDCP-CMMP-M3/-M0-C-CO-EN – 1304a 5 Setting parameters 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 status word. Index 6068h Name position_window_time Object Code VAR Data Type UINT16 Access PDO mapping Units Value Range Default Value rw yes ms – 0 Object 6510h_22h: position_error_switch_off_limit In the object position_error_switch_off_limit, the maximum tolerance between the setpoint and actual position can be entered. In contrast to the above contouring error message, if exceeded the output stage is immediately switched off and an error triggered. The motor thus runs out unbraked (unless a holding brake is on hand). Index 6510h Name drive_data Object Code RECORD No. of Elements 51 Sub-Index Description Data Type Access PDO mapping Units Value Range Default Value 22h position_error_switch_off_limit UINT32 rw no position units 0 … 232-1 0 Value Meaning 0 >0 Contouring error limit value OFF (reaction: NO ACTION) Contouring error limit value ON (reaction: SWITCH OUTPUT STAGE OFF IMMEDIATELY) The error 17-0 is activated through modification of the error response. The reaction SWITCH OUTPUT STAGE OFF IMMEDIATELY is returned as ON, all others as OFF. When overwriting with 0, the error response NO ACTION is set; when overwriting with a value greater than 0, the error response SWITCH OUTPUT STAGE OFF IMMEDIATELY is set. chapter 5.18 Error Management. Festo – GDCP-CMMP-M3/-M0-C-CO-EN – 1304a 111 5 Setting parameters Object 607Bh: position_range_limit The object group position_range_limit includes two sub-parameters that limit the numeric range of the position values. If one of these limits is exceeded, the position actual value automatically jumps to the other limit. This permits parametrisation of so-called round axes. To be specified are the limits that should correspond physically to the same position, for example 0° and 360°. For these limits to become effective, a round axis must be selected via the object 6510h_20h (position_range_limit_enable). Index 607Bh Name position_range_limit Object Code ARRAY No. of Elements 2 Data Type INT32 Sub-Index Description Access PDO mapping Units Value Range Default Value 01h min_position_range_limit rw yes position units – – Sub-Index Description Access PDO mapping Units Value Range Default Value 02h max_position_range_limit rw yes position units – – Object 6510h_20h: position_range_limit_enable Through the object position_range_limit_enable, the range limits defined through the object 607Bh can be activated. Various modes are possible: If the mode “shortest path” is selected, positioning is always executed along the physically shortest distance. To do this, the drive adapts to the prefix of the travel speed. In both “fixed direction of rotation” modes, positioning only takes place in the direction specified in the mode. 112 Festo – GDCP-CMMP-M3/-M0-C-CO-EN – 1304a 5 Setting parameters Index 6510h Name drive_data Object Code RECORD No. of Elements 51 Sub-Index Description Data Type Access PDO mapping Units Value Range Default Value 20h position_range_limit_enable UINT16 rw no – 0…5 0 Value Meaning 0 1 2 3 4 5 Off Shortest path (for compatibility reasons) Shortest distance Reserved Fixed direction of rotation “positive” Fixed direction of rotation, “negative” Object 2030h: set_position_absolute Through the object set_position_absolute, the readable actual position can be displaced without changing the physical position. The drive does not make any movement. If an absolute encoder system is connected, the position shift is stored in the encoder if the encoder system permits it. The position shift thus remains intact even after a reset. This storage operation runs in the background independently of this object. All parameters belonging to the encoder storage are saved with their current values. Index 2030h Name set_position_absolute Object Code VAR Data Type INT32 Access PDO mapping Units Value Range Default Value wo no position units – – Festo – GDCP-CMMP-M3/-M0-C-CO-EN – 1304a 113 5 Setting parameters 5.8 Setpoint value limitation Description of the objects Objects treated in this chapter Index Object Name 2415h 2416h RECORD RECORD current_limitation speed_limitation Type Attr. rw 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 setpoint 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 (fixed value) or specification via an analogue input. Depending on the source chosen, either the limit torque (source = fixed value) 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. Index 2415h Name current_limitation Object Code RECORD No. of Elements 2 Sub-Index Description Data Type Access PDO mapping Units Value Range Default Value 01h limit_current_input_channel UINT8 rw no – 0…4 0 Sub-Index Description Data Type Access PDO mapping Units Value Range Default Value 02h limit_current INT32 rw no mA – 0 114 Festo – GDCP-CMMP-M3/-M0-C-CO-EN – 1304a 5 Setting parameters Value Meaning 0 1 2 3 4 No limitation AIN0 AIN1 AIN2 Fieldbus (selector B) Object 2416h: speed_limitation With the object group speed_limitation, the maximum speed of the motor can be limited in the operating mode profile_torque_mode, which makes a speed-limited torque mode possible. The setpoint value source of the limit speed is specified via the object limit_speed_input_channel. Here, a choice can be made between specification of a direct setpoint value (fixed value) or specification via an analogue input. Depending on the source chosen, either the limit torque (fixed value) or the scaling factor for the analogue inputs (source = analogue input) is specified via the object limit_speed. In the first case, the limit is at the specified speed; in the second case, the speed is specified that should correspond to a present voltage of 10 V. Index 2416h Name speed_limitation Object Code RECORD No. of Elements 2 Sub-Index Description Data Type Access PDO mapping Units Value Range Default Value 01h limit_speed_input_channel UINT8 rw no – 0…4 0 Sub-Index Description Data Type Access PDO mapping Units Value Range Default Value 02h limit_speed INT32 rw no speed units – – Festo – GDCP-CMMP-M3/-M0-C-CO-EN – 1304a 115 5 Setting parameters Value Meaning 0 1 2 3 4 No limitation AIN0 AIN1 AIN2 Fieldbus (selector B) 5.9 Encoder Adjustments Overview This chapter describes the configuration of the angle encoder input [X2A], [X2B] and incremental input [X10]. Caution Incorrect angle encoder settings can cause the drive to turn uncontrollably and possibly destroy parts of the system. Description of the objects Objects treated in this chapter Index Object Name 2024h 2024h_01h 2024h_02h 2024h_03h 2025h 2025h_01h 2025h_02h 2025h_03h 2025h_04h 2026h 2026h_01h 2026h_02h 2026h_03h 2026h_04h RECORD VAR VAR VAR RECORD VAR VAR VAR VAR RECORD VAR VAR VAR VAR encoder_x2a_data_field encoder_x2a_resolution encoder_x2a_numerator encoder_x2a_divisor encoder_x10_data_field encoder_x10_resolution encoder_x10_numerator encoder_x10_divisor encoder_x10_counter encoder_x2b_data_field encoder_x2b_resolution encoder_x2b_numerator encoder_x2b_divisor encoder_x2b_counter 116 Type UINT32 INT16 INT16 UINT32 INT16 INT16 UINT32 UINT32 INT16 INT16 UINT32 Attr. ro ro rw rw ro rw rw rw ro ro rw rw rw ro Festo – GDCP-CMMP-M3/-M0-C-CO-EN – 1304a 5 Setting parameters Object 2024h: encoder_x2a_data_field The record encoder_x2a_data_field summarises parameters that are necessary for operation of the angle encoder at the plug [X2A]. Since the numerous angle encoder settings only become effective after a reset, selection and adjustment of the encoders should take place through the parametrisation software. Under CANopen, the following settings can be read or changed: The object encoder_x2a_resolution specifies how many increments are generated by the encoder per revolution or unit of length. Since only resolvers that are always evaluated using 16 bit can be connected at the input [X2A], 65536 is always returned here. With the object encoder_x2a_numerator and encoder_x2a_divisor, a gear unit (also with prefix) if necessary between motor shaft and encoder can be taken into account. Index 2024h Name encoder_x2a_data_field Object Code RECORD No. of Elements 3 Sub-Index Description Data Type Access PDO mapping Units Value Range Default Value 01h encoder_x2a_resolution UINT32 ro no Increments (4 * number of lines) – 65536 Sub-Index Description Data Type Access PDO mapping Units Value Range Default Value 02h encoder_x2a_numerator INT16 rw no – –32768 … 32767 (except 0) 1 Sub-Index Description Data Type Access PDO mapping Units Value Range Default Value 03h encoder_x2a_divisor INT16 rw no – 1 … 32767 1 Festo – GDCP-CMMP-M3/-M0-C-CO-EN – 1304a 117 5 Setting parameters Object 2026h: encoder_x2b_data_field The record encoder_x2a_data_field summarises parameters that are necessary for operation of the angle encoder at the plug [X2A]. The object encoder_x2b_resolution specifies how many increments are generated by the encoder per revolution (for incremental encoders, this equals four times the number of lines or periods per revolution). The object encoder_x2b_counter delivers the currently counted number of increments. And so it delivers values between 0 and the set increment number-1. With the objects encoder_x2b_numerator and encoder_x2b_divisor, a gear unit connected between the motor shaft and the encoder connected to [X2B] can be taken into account. Index 2026h Name encoder_x2b_data_field Object Code RECORD No. of Elements 4 Sub-Index Description Data Type Access PDO mapping Units Value Range Default Value 01h encoder_x2b_resolution UINT32 rw no Increments (4 * number of lines) Dependent on the encoder used Dependent on the encoder used Sub-Index Description Data Type Access PDO mapping Units Value Range Default Value 02h encoder_x2b_numerator INT16 rw no – –32768 … 32767 1 Sub-Index Description Data Type Access PDO mapping Units Value Range Default Value 03h encoder_x2b_divisor INT16 rw no – 1 … 32767 1 118 Festo – GDCP-CMMP-M3/-M0-C-CO-EN – 1304a 5 Setting parameters Sub-Index Description Data Type Access PDO mapping Units Value Range Default Value 04h encoder_x2b_counter UINT32 ro yes Increments (4 * number of lines) 0 … (encoder_x2b_resolution -1) – Object 2025h: encoder_x10_data_field The record encoder_X10_data_field summarises parameters that are necessary for operation of the incremental input [X10]. A digital incremental encoder or emulated incremental signals, for example from another CMMP, can be optionally connected here. The input signals over [X10] can optionally be used as a setpoint value or an actual value. More information on this can be found in chapter 5.11. How many increments are generated by the encoder per revolution or unit of length must be specified in the object encoder_X10_resolution. This corresponds to four times the number of lines. The object encoder_X10_counter supplies the currently counted incremental number (between 0 and the set increment number-1). With the object encoder_X10_numerator and encoder_X10_divisor, a gear unit (also with prefix), if necessary, between motor shaft and encoder can be taken into account. With use of the X10 signal as an actual value, this corresponds to a gear unit between the motor and the actual value encoder connected to [X10], which is mounted on the drive-out. With use of the X10 signal as setpoint value, gear ratios between master and slave can be implemented herewith. Index 2025h Name encoder_x10_data_field Object Code RECORD No. of Elements 4 Sub-Index Description Data Type Access PDO mapping Units Value Range Default Value 01h encoder_x10_resolution UINT32 rw no Increments (4 * number of lines) Dependent on the encoder used Dependent on the encoder used Festo – GDCP-CMMP-M3/-M0-C-CO-EN – 1304a 119 5 Setting parameters Sub-Index Description Data Type Access PDO mapping Units Value Range Default Value 02h encoder_x10_numerator INT16 rw no – –32768 … 32767 (except 0) 1 Sub-Index Description Data Type Access PDO mapping Units Value Range Default Value 03h encoder_x10_divisor INT16 rw no – 1 … 32767 1 Sub-Index Description Data Type Access PDO mapping Units Value Range Default Value 04h encoder_x10_counter UINT32 ro yes Increments (4 * number of lines) 0 … (encoder_x10_resolution -1) – 5.10 Incremental Encoder Emulation Overview This object group makes it possible to parametrise the incremental encoder output [X11]. As a result, master-slave applications, in which the output of the master [X11] is connected to the input of the slave [X10], can hereby be parametrised under CANopen. Description of the objects Objects treated in this chapter Index Object Name Type Attr. 2028h 201Ah 201Ah_01h 201Ah_02h VAR RECORD VAR VAR encoder_emulation_resolution encoder_emulation_data encoder_emulation_resolution encoder_emulation_offset INT32 rw ro rw rw 120 INT32 INT16 Festo – GDCP-CMMP-M3/-M0-C-CO-EN – 1304a 5 Setting parameters Object 201Ah: encoder_emulation_data The object record encoder_emulation_data encapsulates all setting options for the incremental encoder output [X11]: Through the object encoder_emulation_resolution, the output increment number (= fourfold number of lines) can be freely set as a multiple of 4. In a master-slave application, this must correspond to the encoder_X10_resolution of the slave to achieve a ratio of 1:1. With the object encoder_emulation_offset, the position of the output zero pulse can be shifted compared to the zero position of the actual value encoder. Index 201Ah Name encoder_emulation_data Object Code RECORD No. of Elements 2 Sub-Index Description Data Type Access PDO mapping Units Value Range Default Value 01h encoder_emulation_resolution INT32 rw no (4 * number of lines) 4 * (1 … 8192) 4096 Sub-Index Description Data Type Access PDO mapping Units Value Range Default Value 02h encoder_emulation_offset INT16 rw no 32767 = 180° –32768 … 32767 0 Object 2028h: encoder_emulation_resolution The object encoder_emulation_resolution is available only for compatibility reasons. It corresponds to the object 201Ah_01h. Index 2028h Name encoder_emulation_resolution Object Code VAR Data Type INT32 Access PDO mapping Units Value Range Default Value rw no 201Ah_01h 201Ah_01h 201Ah_01h Festo – GDCP-CMMP-M3/-M0-C-CO-EN – 1304a 121 5 Setting parameters 5.11 Setpoint/Actual Value Activation Overview With the help of the following objects, the source for the setpoint value and the source for the actual value can be revised. As standard, the motor controller uses the input for the motor encoder [X2A] or [X2B] as actual value for the position controller. With use of an external position controller, e.g. behind a gear unit, the position value supplied via [X10] can be activated as an actual value for the position controller. In addition, it is possible via [X10] to activate incoming signals (e.g. of a second controller) as additional setpoint values, through which synchronous operating modes are enabled. Description of the objects Objects treated in this chapter Index Object Name Type Attr. 2021h 2022h 2023h 202Fh 202Fh_07h VAR VAR VAR RECORD VAR position_encoder_selection synchronisation_encoder_selection synchronisation_filter_time synchronisation_selector_data synchronisation_main INT16 INT16 UINT32 rw rw rw ro rw UINT16 Object 2021h: position_encoder_selection The object position_encoder_selection specifies the encoder input that is used for regulation of the actual position (actual position encoder). This value can be revised in order to switch to position control through an external encoder (connected to the drive-out). Switching is possible thereby between [X10] and the encoder input ([X2A]/[X2B]) selected as commutation encoder. If one of the encoder inputs [X2A]/[X2B] is selected as position actual value encoder, it must be the one used as commutation encoder. If the other encoder is selected, the commutation encoder is switched to automatically. Index 2021h Name position_encoder_selection Object Code VAR Data Type INT16 Access PDO mapping Units Value Range Default Value rw no – 0 … 2 ( table) 0 122 Festo – GDCP-CMMP-M3/-M0-C-CO-EN – 1304a 5 Setting parameters Value Measurement file 0 1 2 [X2A] [X2B] [X10] Selection as position actual value encoder is only possible between the encoder input [X10] and the respective commutation encoder [X2A] or [X2B]. It is not possible to use the configuration [X2A] as commutation encoder and [X2B] as position actual value encoder, or vice versa. Object 2022h: synchronisation_encoder_selection The object synchronisation_encoder_selection specifies the encoder input that is used as synchronisation setpoint value. Dependent on the operating mode, this corresponds to a position setpoint (profile position mode) or a speed setpoint (profile velocity mode). Only [X10] can be used as synchronisation input. As a result, selection can be made between [X10] and no input. The same input should not be selected as synchronisation setpoint as for the actual value encoder. Index 2022h Name synchronisation_encoder_selection Object Code VAR Data Type INT16 Access PDO mapping Units Value Range Default Value rw no – -1, 2 ( table) 2 Value Measurement file -1 2 No encoder / undefined [X10] Object 202Fh: synchronisation_selector_data Activation of a synchronous setpoint can take place through the object synchronisation_main. For the synchronous setpoint to be calculated at all, bit 0 must be set. Bit 1 permits activation of the synchronous position through starting of a position record. Currently, only 0 can be parametrised, so the synchronous position is always switched on. Through bit 8, it can be established that homing should take place without activation of the synchronous position so that the master and slave can be referenced separately. Festo – GDCP-CMMP-M3/-M0-C-CO-EN – 1304a 123 5 Setting parameters Index 202Fh Name synchronisation_selector_data Object Code RECORD No. of Elements 1 Sub-Index Description Data Type Access PDO mapping Units Value Range Default Value 07h synchronisation_main UINT16 rw no – Table – Bit Value Meaning 0 0001h 1 8 0002h 0100h 0: Synchronisation inactive 1: Synchronisation active “Flying saw” not possible 0: Synchronisation during homing 1: No synchronisation during homing Object 2023h: synchronisation_filter_time Through the object synchronisation_filter_time, the filter time constant of a PT1 filter is established, with which the synchronisation speed is smoothed. This can be necessary especially with a low number of lines, since even small changes in the input value here can correspond to high speeds. On the other hand, the drive might no longer be in a position to follow a dynamic input signal quickly enough if filter times are high. Index 2023h Name synchronisation_filter_time Object Code VAR Data Type UINT32 Access PDO mapping Units Value Range Default Value rw no μs 10 … 50000 600 124 Festo – GDCP-CMMP-M3/-M0-C-CO-EN – 1304a 5 Setting parameters 5.12 Analogue inputs Overview The motor controllers of the series CMMP-AS-...-M3/-M0 have three analogue inputs through which setpoint values can be specified to the motor controller, for example. For all these analogue inputs, the subsequent objects offer the possibility to read the current input voltage (analog_input_voltage) and set an offset (analog_input_offset). Description of the objects Index Object Name Type Attr. 2400h 2401h ARRAY ARRAY analog_input_voltage analog_input_offset INT16 INT32 ro rw 2400h: analog_input_voltage (input voltage) The object group analog_input_voltage delivers the current input voltage of the respective channel in millivolts, taking into account the offset. Index 2400h Name analog_input_voltage Object Code ARRAY No. of Elements 3 Data Type INT16 Sub-Index Description Access PDO mapping Units Value Range Default Value 01h analog_input_voltage_ch_0 ro no mV – – Sub-Index Description Access PDO mapping Units Value Range Default Value 02h analog_input_voltage_ch_1 ro no mV – – Festo – GDCP-CMMP-M3/-M0-C-CO-EN – 1304a 125 5 Setting parameters Sub-Index Description Access PDO mapping Units Value Range Default Value 03h analog_input_voltage_ch_2 ro no mV – – Object 2401h: analog_input_offset (offset for analogue inputs) Through the object group analog_input_offset, the offset voltage in millivolts for the respective inputs can be set or read. With help of the offset, direct voltage that may be present can be compensated. A positive offset compensates thereby for a positive input voltage. Index 2401h Name analog_input_offset Object Code ARRAY No. of Elements 3 Data Type INT32 Sub-Index Description Access PDO mapping Units Value Range Default Value 01h analog_input_offset_ch_0 rw no mV –10000 … 10000 0 Sub-Index Description Access PDO mapping Units Value Range Default Value 02h analog_input_offset_ch_1 rw no mV –10000 … 10000 0 Sub-Index Description Access PDO mapping Units Value Range Default Value 03h analog_input_offset_ch_2 rw no mV –10000 … 10000 0 126 Festo – GDCP-CMMP-M3/-M0-C-CO-EN – 1304a 5 Setting parameters 5.13 Digital inputs and outputs 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. Description of the objects Objects treated in this chapter Index Object Name Type Attr. 60FDh 60FEh 2420h 2420h_01h 2420h_02h 2420h_03h VAR ARRAY RECORD VAR VAR VAR digital_inputs digital_outputs digital_output_state_mapping dig_out_state_mapp_dout_1 dig_out_state_mapp_dout_2 dig_out_state_mapp_dout_3 UINT32 UINT32 ro rw ro rw rw rw UINT8 UINT8 UINT8 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 PDO mapping Units Value Range Default Value ro yes – according to the following table 0 Bit Value Meaning 0 1 2 3 16 … 23 24 … 27 28 29 00000001h 00000002h 00000004h 00000008h 00FF0000h 0F000000h 10000000h 20000000h Negative limit switch Positive limit switch Reference switch Interlock (controller or output stage enable missing) Digital inputs of the CAMC-D-8E8A DIN0 … DIN3 DIN 8 DIN 9 Festo – GDCP-CMMP-M3/-M0-C-CO-EN – 1304a 127 5 Setting parameters Object 60FEh: digital_outputs The digital outputs can be triggered via the object 60FEh. To do this, which of the digital outputs should be triggered must be specified in the object digital_outputs_mask. The selected 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 2 Data Type UINT32 Sub-Index Description Access PDO mapping Units Value Range Default Value 01h digital_outputs_data rw yes – – (dependent on the status of the brake) Sub-Index Description Access PDO mapping Units Value Range Default Value 02h digital_outputs_mask rw yes – – 00000000h Bit Value 0 16 … 23 25 … 27 00000001h 1 = Energize brake 0E000000h Digital outputs of the CAMC-D-8E8A 0E000000h DOUT1 … DOUT3 Meaning Caution If brake triggering is enabled via digital_output_mask, deletion of bit 0 in digital_output_data causes the holding brake to be manually ventilated! In case of hanging axes, this can result in sagging of the axes. 128 Festo – GDCP-CMMP-M3/-M0-C-CO-EN – 1304a 5 Setting parameters Object 2420h: digital_output_state_mapping Through the object group digital_outputs_state_mapping, various status messages of the motor controller can be output over the digital outputs. For the integrated digital outputs of the motor controller, a separate sub-index is available for each output for this purpose. As a result, for each output, a byte is available into which the function number must be entered. If such a function has been assigned to a digital output and the output is then switched on or off directly over digital_outputs (60FEh), the object digital_outputs_state_mapping is also set to OFF (0) or ON (12). Index 2420h Name digital_outputs_state_mapping Object Code RECORD No. of Elements 5 Sub-Index Description Data Type Access PDO mapping Units Value Range Default Value 01h dig_out_state_mapp_dout_1 UINT8 rw no – 0 … 44, table 0 Sub-Index Description Data Type Access PDO mapping Units Value Range Default Value 02h dig_out_state_mapp_dout_2 UINT8 rw no – 0 … 44, table 0 Sub-Index Description Data Type Access PDO mapping Units Value Range Default Value 03h dig_out_state_mapp_dout_3 UINT8 rw no – 0 … 44, table 0 Festo – GDCP-CMMP-M3/-M0-C-CO-EN – 1304a 129 5 Setting parameters Value Measurement file 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 … 25 26 27 28 29 30 31 Off (output is low) Position Xsetpoint = Xdest Position Xact = Xdest Reserved Remaining path trigger active Reference run active Declared Velocity Reached I2t motor reached Contouring error Undervoltage in intermediate circuit Holding brake released Output stage switched on On (output is high) Common error active At least one setpoint lock active Linear motor identified Homing position valid Common status: ready for controller enable Position Trigger 1 Position Trigger 2 Position Trigger 3 Position Trigger 4 Reserved Alternative target reached Active if position set running Declared torque reached Position x_set = x_target (also with linking for at least 10 ms) Ack signal (active low) as handshake to start position Destination reached with handshake for the dig. Start, is not set as long as START is on HIGH level. Cam disc active CAM-IN movement in operation CAM-CHANGE, like CAM-IN, but change to a new curve CAM-OUT movement in operation Level of digital output stage enable, that is level at DIN4 (high if DIN4 high) Reserved CAM active without CAM-IN or CAM-CHANGE movement Speed actual value in the window for rest Teach acknowledge Saving process (SAVE!, Save Positions) in operation STO active STO is requested Motion Complete (MC) 32 33 34 35 36 37 38 39 40 41 42 43 44 130 Festo – GDCP-CMMP-M3/-M0-C-CO-EN – 1304a 5 Setting parameters 11h dig_out_state_mapp_ea88_0_low UINT32 rw no – 0 … FFFFFFFFh, table 0 Sub-Index Description Data Type Access PDO mapping Units Value Range Default Value Bit Mask Name Measurement file 0…7 8 … 15 16 … 23 24 … 31 000000FFh 0000FF00h 00FF0000h FF000000h EA88_0_dout_0_mapping EA88_0_dout_1_mapping EA88_0_dout_2_mapping EA88_0_dout_3_mapping Function for CAMC-D-8E8A 0 DOUT1 Function for CAMC-D-8E8A 0 DOUT2 Function for CAMC-D-8E8A 0 DOUT3 Function for CAMC-D-8E8A 0 DOUT4 12h dig_out_state_mapp_ea88_0_low UINT32 rw no – 0 … FFFFFFFFh, table 0 Sub-Index Description Data Type Access PDO mapping Units Value Range Default Value Bit Mask Name Measurement file 0…7 8 … 15 16 … 23 24 … 31 000000FFh 0000FF00h 00FF0000h FF000000h EA88_0_dout_4_mapping EA88_0_dout_5_mapping EA88_0_dout_6_mapping EA88_0_dout_7_mapping Function for CAMC-D-8E8A 0 DOUT5 Function for CAMC-D-8E8A 0 DOUT6 Function for CAMC-D-8E8A 0 DOUT7 Function for CAMC-D-8E8A 0 DOUT8 Festo – GDCP-CMMP-M3/-M0-C-CO-EN – 1304a 131 5 Setting parameters 5.14 Limit Switch/Reference Switch Overview Proximity switches (limit switch) or reference switches (homing switch) can be used alternatively for definition of the reference position of the motor controller. Further information on the possible homing methods can be found in chapter 7.2, Operating mode reference travel (homing mode). Description of the objects Index Object Name 6510h RECORD drive_data Type Attr. 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 “0” must be entered in this object, whereas a “1” must be entered when normally open contacts are used. Index 6510h Name drive_data Object Code RECORD No. of Elements 51 Sub-Index Description Data Type Access PDO mapping Units Value Range Default Value 11h limit_switch_polarity INT16 rw no – 0, 1 1 Value Meaning 0 1 N/C contact N/O contact 132 Festo – GDCP-CMMP-M3/-M0-C-CO-EN – 1304a 5 Setting parameters Object 6510h_12h: limit_switch_selector Through the object 6510h_12h (limit_switch_selector), assignment of the limit switches (negative, positive) can be exchanged without having to make changes to the cabling. To exchange the assignment of the limit switches, a One must be entered. Sub-Index Description Data Type Access PDO mapping Units Value Range Default Value 12h limit_switch_selector INT16 rw no – 0, 1 0 Value Meaning 0 DIN6 = E0 (limit switch negative) DIN7 = E1 (limit switch positive) DIN6 = E1 (limit switch positive) DIN7 = E0 (limit switch negative) 1 Object 6510h_14h: homing_switch_polarity The polarity of the reference switch can be programmed through the object 6510h_14h (homing_switch_polarity). For a normally closed reference switch, a zero is entered in this object, whereas a “1” is entered when normally open contacts are used. Sub-Index Description Data Type Access PDO mapping Units Value Range Default Value 14h homing_switch_polarity INT16 rw no – 0, 1 1 Value Meaning 0 1 N/C contact N/O contact Festo – GDCP-CMMP-M3/-M0-C-CO-EN – 1304a 133 5 Setting parameters Object 6510h_13h: homing_switch_selector The object 6510h_13h (homing_switch_selector) determines whether DIN8 or DIN9 should be used as reference switch. 13h homing_switch_selector INT16 rw no – 0, 1 0 Sub-Index Description Data Type Access PDO mapping Units Value Range Default Value Value Meaning 0 1 DIN 9 DIN 8 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 Description Data Type Access PDO mapping Units Value Range Default Value 134 15h limit_switch_deceleration INT32 rw no acceleration units 0 … 3000000 min-1/s 2000000 min-1/s Festo – GDCP-CMMP-M3/-M0-C-CO-EN – 1304a 5 Setting parameters 5.15 Sampling of Positions Overview The CMMP 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. All necessary objects are summarised in the record sample_data: The object sample_mode establishes the type of sampling: whether only a one-time sample event should be recorded or continuous sampling take place. Through the object sample_status, the controller can query whether a sample event has occurred. This is signaled by a set bit, which can also be displayed in the status word if the object sample_status_mask is set correspondingly. The object sample_control controls enabling of the sample event, and the stamped positions can ultimately be read via the objects sample_position_rising_edge and sample_position_falling_edge. Which digital input is used can be established with the parametrisation software under Controller – I/O configuration – Digital inputs – Sample input. Description of the objects Objects treated in this chapter Index Object Name Type Attr. 204Ah 204Ah_01h 204Ah_02h 204Ah_03h 204Ah_04h 204Ah_05h 204Ah_06h RECORD VAR VAR VAR VAR VAR VAR sample_data sample_mode sample_status sample_status_mask sample_control sample_position_rising_edge sample_position_falling_edge UINT16 UINT8 UINT8 UINT8 INT32 INT32 ro rw ro rw wo ro ro Object 204Ah: sample_data Index 204Ah Name sample_data Object Code RECORD No. of Elements 6 The following object can be used to select whether the position should be determined for each occurrence of a sample event (continuous sampling) or sampling should be blocked after a sample event until sampling is approved again. Observe that even just one bounce can trigger both edges! Festo – GDCP-CMMP-M3/-M0-C-CO-EN – 1304a 135 5 Setting parameters 01h sample_mode UINT16 rw no – 0 … 1, table 0 Sub-Index Description Data Type Access PDO mapping Units Value Range Default Value Value Measurement file 0 1 Continuous sampling Autolock sampling The following object displays a new sample event. 02h sample_status UINT8 ro yes – 0 … 3, table 0 Sub-Index Description Data Type Access PDO mapping Units Value Range Default Value Bit Value Name Description 0 1 01h 02h falling_edge_occurred rising_edge_occurred = 1: New sample position (falling edge) = 1: New sample position (rising edge) The bits of the object sample_status can be established with the following object, which should also result in setting bit 15 of the status word. Through this, the information “sample event occurred” is available in the status word, which will normally be transmitted anyway, so the controller has to read the object sample_status only to determine which edge has occurred, if applicable. Sub-Index Description Data Type Access PDO mapping Units Value Range Default Value 136 03h sample_status_mask UINT8 rw yes – 0 … 1, table 0 Festo – GDCP-CMMP-M3/-M0-C-CO-EN – 1304a 5 Setting parameters Bit Value Name Description 0 01h rising_edge_visible 1 02h falling_edge_visible If rising_edge_occurred = 1 Status word bit 15 = 1 If falling_edge_occurred = 1 Status word bit 15 = 1 Setting of the respective bit in sample_control resets the corresponding status bit in sample_status and also releases the sampling again in the case of “Autolock” sampling. 04h sample_control UINT8 wo yes – 0 … 1, table 0 Sub-Index Description Data Type Access PDO mapping Units Value Range Default Value Bit Value Name Description 0 1 01h 02h falling_edge_enable rising_edge_enable Sampling with falling edge Sampling with rising edge The following objects contain the sampled positions. Sub-Index Description Data Type Access PDO mapping Units Value Range Default Value 05h sample_position_rising_edge INT32 ro yes position units – – Sub-Index Description Data Type Access PDO mapping Units Value Range Default Value 06h sample_position_falling_edge INT32 ro yes position units – – Festo – GDCP-CMMP-M3/-M0-C-CO-EN – 1304a 137 5 Setting parameters 5.16 Brake Activation Overview Using the subsequent objects, it can be parametrised how the motor controller controls a holding brake integrated into the motor, if necessary. The holding brake is always enabled as soon as controller enable is switched on. For holding brakes with high mechanical inertia, a time delay can be parametrised so that the holding brake takes effect before the output stage is switched off (sagging of vertical axes). This delay is parametrised through the object brake_delay_time. As can be seen from the sketch, when the controller enable is switched on, the speed setpoint value is approved only after the brake_delay_time, and when the the controller enable is switched off, turning off the regulation is delayed by this time. 1 0 1 Internal controller enable 0 1 Holding brake released 0 + Speed setpoint value 0 – + Actual speed value 0 – Controller enable tF: tF tF Travel start delay Fig. 5.8 Function of brake delay (with speed adjustment / positioning) Description of the objects Index Object Name 6510h RECORD drive_data Type Attr. rw Object 6510h_18h: brake_delay_time This brake delay time can be parametrised through the object brake_delay_time. Index 6510h Name drive_data Object Code RECORD No. of Elements 51 138 Festo – GDCP-CMMP-M3/-M0-C-CO-EN – 1304a 5 Setting parameters 18h brake_delay_time UINT16 rw no ms 0 … 32000 0 Sub-Index Description Data Type Access PDO mapping Units Value Range Default Value 5.17 Device Information Index Object Name 1018h 6510h RECORD RECORD identity_object drive_data Type Attr. rw 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. Description of the objects Object 1018h: identity_object Through the identity_object established in the CiA 301, 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 Description Data Type Access PDO mapping Units Value Range Default Value 01h vendor_id UINT32 ro no – 0000001D 0000001D Festo – GDCP-CMMP-M3/-M0-C-CO-EN – 1304a 139 5 Setting parameters Sub-Index Description Data Type Access PDO mapping Units Value Range Default Value 02h product_code UINT32 ro no – see below see below Value Meaning 2045h 2046h 204Ah 204Bh 2085h 2086h 208Ah 208Bh CMMP-AS-C2-3A-M3 CMMP-AS-C5-3A-M3 CMMP-AS-C5-11A-P3-M3 CMMP-AS-C10-11A-P3-M3 CMMP-AS-C2-3A-M0 CMMP-AS-C5-3A-M0 CMMP-AS-C5-11A-P3-M0 CMMP-AS-C10-11A-P3-M0 Sub-Index Description Data Type Access PDO mapping Units Value Range Default Value 03h revision_number UINT32 ro no MMMMSSSSh (M: main version, S: sub version) – – Sub-Index Description Data Type Access PDO mapping Units Value Range Default Value 04h serial_number UINT32 ro no – – – 140 Festo – GDCP-CMMP-M3/-M0-C-CO-EN – 1304a 5 Setting parameters Object 6510h_A0h: drive_serial_number The serial number of the controller can be read via the object drive_serial_number. This object serves to achieve compatibility with earlier versions. Index 6510h Name drive_data Object Code RECORD No. of Elements 51 Sub-Index Description Data Type Access PDO mapping Units Value Range Default Value A0h drive_serial_number UINT32 ro no – – – Object 6510h_A1h: drive_type Through the object drive_type, the device type of the controller can be read. This object serves to achieve compatibility with earlier versions. Sub-Index Description Data Type Access PDO mapping Units Value Range Default Value A1h drive_type UINT32 ro no – 1018h_02h, product_code 1018h_02h, product_code 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 Description Data Type Access PDO mapping Units Value Range Default Value A9h firmware_main_version UINT32 ro no MMMMSSSSh (M: main version, S: sub version) – – Festo – GDCP-CMMP-M3/-M0-C-CO-EN – 1304a 141 5 Setting parameters 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 Description Data Type Access PDO mapping Units Value Range Default Value AAh firmware_custom_version UINT32 ro no MMMMSSSSh (M: main version, S: sub version) – – Object 6510h_ADh: km_release Through the version number of the km_release, firmware statuses of the same product stage can be differentiated. Sub-Index Description Data Type Access PDO mapping Units Value Range Default Value ADh km_release UINT32 ro no – MMMMSSSSh (M: main version, S: sub version) – Object 6510h_ACh: firmware_type Through the object firmware_type can be read for which device family and which angle encoder type the loaded firmware is appropriate. Sub-Index Description Data Type Access PDO mapping Units Value Range Default Value 142 ACh firmware_type UINT32 ro no – 00000F2h 00000F2h Festo – GDCP-CMMP-M3/-M0-C-CO-EN – 1304a 5 Setting parameters Object 6510h_B0h: cycletime_current_controller Through the object cycletime_current_controller, the cycle time of the current regulator in microseconds can be read. Sub-Index Description Data Type Access PDO mapping Units Value Range Default Value B0h cycletime_current_controller UINT32 ro no μs – 0000007Dh Object 6510h_B1h: cycletime_velocity_controller Through the object cycletime_velocity_controller, the cycle time of the speed regulator in microseconds can be read. Sub-Index Description Data Type Access PDO mapping Units Value Range Default Value B1h cycletime_velocity_controller UINT32 ro no μs – 000000FAh Object 6510h_B2h: cycletime_position_controller Through the object cycletime_position_controller, the cycle time of the position regulator in microseconds can be read. Sub-Index Description Data Type Access PDO mapping Units Value Range Default Value B2h cycletime_position_controller UINT32 ro no μs – 000001F4h Festo – GDCP-CMMP-M3/-M0-C-CO-EN – 1304a 143 5 Setting parameters Object 6510h_B3h: cycletime_trajectory_generator Through the object cycletime_trajectory_generator, the cycle time of the position controller in microseconds can be read. Sub-Index Description Data Type Access PDO mapping Units Value Range Default Value B3h cycletime_trajectory_generator UINT32 ro no μs – 000003E8h Object 6510h_C0h: commissioning_state The commissioning_state object is written by the parameterisation software if certain parameterisations have been executed (e.g. nominal current). After delivery and after restore_default_parameter, this object includes a “0”. In this case, an “A” is displayed on the 7-segments display of the motor controller to point out that this device has not been parameterised yet. If the motor controller is parameterised completely under CANopen, at least one bit in this object must be set to suppress the display “A”. Of course, if required it is also possible to use this object in order to notice the status of the controller parameterisation. Observe in this case that the parameterisation software also accesses this object. Sub-Index Description Data Type Access PDO mapping Units Value Range Default Value 144 C0h commissioning_state UINT32 rw no – – 0 Festo – GDCP-CMMP-M3/-M0-C-CO-EN – 1304a 5 Setting parameters Value Meaning 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 … 31 Nominal current valid Maximum current valid Pole number of the motor valid Offset angle / direction of rotation valid Reserved Offset angle / direction of rotation of Hall encoder valid Reserved Absolute position of encoder system valid Current regulator parameters valid Reserved Physic. units valid Speed regulator valid Position controller valid Safety parameters valid Reserved Limit switch polarity valid Reserved Caution This object contains no information about whether the motor controller has been correspondingly parametrised correctly for the motor and application, but only whether the named points after shipment have been parametrised at all at least once. “A” in the 7-segments display Observe that at least one bit in the commissioning_state object has to be set in order to suppress the “A” on the 7-segments display of your motor controller. Festo – GDCP-CMMP-M3/-M0-C-CO-EN – 1304a 145 5 Setting parameters 5.18 Error Management Overview The motor controllers of the CMMP family offer the option to change the error response of individual events, e.g. the occurrence of a contouring error. Through this, the motor controller reacts differently if a certain event occurs: Dependent on the setting, braking down can occur and the output stage is 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 60-0 short circuit output stage, are not reparametrised, 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. A list of all error numbers is found in chapter B “ Diagnostic messages”. Description of the objects Objects treated in this chapter Index Object Name Type Attr. 2100h 2100_01h 2100_02h 200Fh RECORD VAR VAR VAR error_management error_number error_reaction_code last_warning_code UINT8 UINT8 UINT16 ro rw rw ro 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 chap. 3.5. Sub-Index Description Data Type Access PDO mapping Units Value Range Default Value 146 01h error_number UINT8 rw no – 1 … 96 1 Festo – GDCP-CMMP-M3/-M0-C-CO-EN – 1304a 5 Setting parameters 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. 02h error_reaction_code UINT8 rw no – 0, 1, 3, 5, 7, 8 dependent on error_number Sub-Index Description Data Type Access PDO mapping Units Value Range Default Value Value Meaning 0 1 3 5 7 8 No action Entry in the buffer Warning on the 7-segments display and in the status word Controller enable off Braking with maximum current Output stage off Object 200Fh: last_warning_code Warnings are special events of the drive (e.g. a following error), which in contrast to an error should not result in stopping of the drive. Warnings are displayed on the 7-segments display of the controller and after that automatically reset by the controller. The last warning that occurred can be read via the following object: Bit 15 displays thereby whether the warning is currently still active. Index 200Fh Name last_warning_code Object Code VAR Data Type UINT16 Access PDO mapping Units Value Range Default Value ro yes – – – Bit Value Meaning 0…3 4 … 11 15 000Fh 0FF0h 8000h Sub-number of the warning Main number of the warning Warning is active Festo – GDCP-CMMP-M3/-M0-C-CO-EN – 1304a 147 6 Device Control 6 Device Control 6.1 Status Diagram (State Machine) 6.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 control of the motor controller is achieved through two objects: The host can control the motor controller through the controlword, while the status of the motor controller can be read back in the statusword object. The following terms are used to explain controller regulation: Term Description Status: (state) The motor controller is in different statuses, depending on whether the output 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, it is also defined under CANopen 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 The statuses and status transitions together form the status diagram, that is, the overview of all conditions and the transitions possible from there. Status diagram (state machine) Tab. 6.1 148 Controller regulation terms Festo – GDCP-CMMP-M3/-M0-C-CO-EN – 1304a 6 Device Control 6.1.2 Status diagram of the motor controller (state machine) aC 0 0 Power disabled (output stage off ) NOT_READY_TO_SWITCH_ON Fault (error) FAULT_REACTION_ACTIVE aD 1 FAULT aE SWITCH_ON_DISABLED 2 7 READY_TO_SWITCH_ON 9 8 3 aJ aB Power enabled (output stage on) 6 SWITCH_ON 4 5 OPERATION_ENABLE Fig. 6.1 aA QUICK_STOP_ACTIVE Status diagram of the motor controller Festo – GDCP-CMMP-M3/-M0-C-CO-EN – 1304a 149 6 Device Control The status diagram can be roughly divided into three areas: “Power Disabled” means that the output stage is switched off and “Power Enabled” that the output stage is switched on. The statuses needed for error handling 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 fully operational and the motor controller can be parametrised (e.g. the “speed adjustment” operating mode can be set). The output stage is switched off and the shaft is thus freely rotatable. Through the status transitions 2, 3, 4 – which corresponds in principle to CAN controller enable – the status OPERATION_ENABLE is reached. In this status, the output stage is switched on and the motor is controlled in accordance with the set operating mode. Always make sure beforehand that the drive is correctly parametrised and a corresponding setpoint value is equal to zero. The status transition 9 corresponds to removal of enable, i.e. a motor that is still running would run out uncontrolled. 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 before (FAULT_REACTION_ACTIVE). 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 controlword are jointly evaluated in order to trigger a status transition. In the following, only the most important status transitions 2, 3, 4, 9 and aE are explained at first. 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, i.e. which bits in the controlword must be set, is visible in the 3rd column (x = not relevant). No. Is performed when 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 4 Command Enable Operation Enable Operation = 9 Command Disable Voltage Disable Voltage = aE Error eliminated + Fault Reset command Fault Reset = Tab. 6.2 150 Bit combination (controlword) Action Bit 3 2 1 0 Switching on the output stage Control in accordance with 1 1 1 1 set operating mode Output stage is blocked. x x 0 x Motor rotates freely. Bit 7 = Acknowledge Error 01 Most important status transitions of the motor controller Festo – GDCP-CMMP-M3/-M0-C-CO-EN – 1304a 6 Device Control 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. According to the status diagram (Fig. 6.1) the transitions 2, 3 and 4 must be executed. 4. From Tab. 6.2 follows: Transition 2: controlword = 0006h New status: READY_TO_SWITCH_ON1) Transition 3: controlword = 0007h New status: SWITCHED_ON1) Transition 4: controlword = 000Fh New status: OPERATION_ENABLE1) Instructions: 1. The example assumes that no further bits are set in the controlword (for the transitions, only the bits 0 … 3 are important). 2. The transitions 3 and 4 can be combined by immediately setting the controlword to 000Fh. For the 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. Festo – GDCP-CMMP-M3/-M0-C-CO-EN – 1304a 151 6 Device Control 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. The motor controller has completed its self-test. CAN communication is possible. The motor controller waits until the digital inputs “output stage” and “controller enable” are at 24 V. (Controller enable logic “Digital input and CAN”). The output stage is switched on. Voltage to the motor is on, and the motor is regulated corresponding to the operating mode. The Quick Stop Function is being executed ( quick_stop_option_code). Voltage to the motor is on, and the motor is regulated according to the quick stop function. An error has occurred. With 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. SWITCH_ON_DISABLED READY_TO_SWITCH_ON SWITCHED_ON 1) OPERATION_ENABLE1) QUICKSTOP_ACTIVE1) FAULT_REACTION_ACTIVE1) FAULT 1) An error has occurred. No voltage is applied to the motor. The output stage is switched on. 152 Festo – GDCP-CMMP-M3/-M0-C-CO-EN – 1304a 6 Device Control Status diagram: status transitions The following table lists all statuses and their meaning: No. Is performed when Bit combination (controlword) Action Bit 3 2 1 0 0 0 Switched on or reset occurs Internal transition 1 Self-test successful Internal transition 2 Output stage and controller enable prev. + command Shutdown Shutdown x 1 1 0 – 3 Command Switch On Switch On x 1 1 1 4 Command Enable Operation Enable Operation 1 1 1 1 5 Command Disable Operation Disable Operation 0 1 1 1 6 Command Shutdown Shutdown x 1 1 0 7 Command Quick Stop Quick Stop x 0 1 x 8 Command Shutdown Shutdown x 1 1 0 9 Command Disable Voltage Disable Voltage x x 0 x aJ Command Disable Voltage Disable Voltage x x 0 x aA Command Quick Stop Quick Stop x 0 1 x aB Braking ended without command Disable Voltage Disable Voltage x x aC Error occurred Internal transition aD Error handling is ended Internal transition aE Error eliminated + Fault Reset command Fault Reset Festo – GDCP-CMMP-M3/-M0-C-CO-EN – 1304a Perform self-test Activation of CAN communication Bit 7 = 01 0 x Switching on the output stage Control in accordance with set operating mode Output stage is blocked. Motor rotates freely. Output stage is blocked. Motor rotates freely. – Output stage is blocked. Motor rotates freely. Output stage is blocked. Motor rotates freely. Output stage is blocked. Motor rotates freely. Braking is initiated in accordance with quick_stop_option_code. Output stage is blocked. Motor rotates freely. For uncritical errors, reaction in accordance with fault_reaction_option_code. With critical errors, transition aD follows Output stage is blocked. Motor rotates freely. Acknowledge error (with rising edge) 153 6 Device Control 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 runs 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 enabled … … means that the motor is actuated and controlled corresponding to the selected operating mode. An existing mechanical motor brake will be released automatically. 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. 6.1.3 Control word (controlword) Object 6040h: controlword With the controlword, the current status of the motor controller can be revised or a specific action (e.g. start of homing) triggered directly. 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 PDO Mapping Units Value Range Default Value rw yes – – 0 154 Festo – GDCP-CMMP-M3/-M0-C-CO-EN – 1304a 6 Device Control Bit Value 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 0001h 0002h 0004h 0008h 0010h 0020h 0040h 0080h 0100h 0200h 0400h 0800h 1000h 2000h 4000h 8000h Tab. 6.3 Function Control of the status transitions. (These bits are evaluated together) new_set_point/start_homing_operation/enable_ip_mode change_set_immediately absolute/relative reset_fault halt reserved – set to 0 reserved – set to 0 reserved – set to 0 reserved – set to 0 reserved – set to 0 reserved – set to 0 reserved – set to 0 Bit assignment of the controlword As already comprehensively described, status transitions can be carried out with the bits 0 … 3. The commands necessary for this are presented again here in an overview. The Fault Reset command is generated by bit 7 through a positive edge change (from 0 to 1). Command: Bit 7 0008h Bit 3 0008h Bit 2 0004h Bit 1 0002h Bit 0 0001h Shutdown Switch On Disable Voltage Quick Stop Disable Operation Enable Operation Fault Reset x x x x x x 01 x x x x 0 1 x 1 1 x 0 1 1 x 1 1 0 1 1 1 x 0 1 x x 1 1 x Tab. 6.4 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. Festo – GDCP-CMMP-M3/-M0-C-CO-EN – 1304a 155 6 Device Control The remaining bits of the controlwords are explained in the following. Some bits have different significance, depending on the operating mode (modes_of_operation), i.e. whether the motor controller is speed- or torque-controlled, for example: controlword Bit 4 Function Description Dependent 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. for this, see unconditionally chapter 7.3. 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. unconditionally also chapter 7.4. 5 change_set_immediately 6 relative 7 reset_fault 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. for this, see unconditionally chapter 7.3. Only in the Profile Position Mode: If the bit is set, the motor controller obtains the target position (target_position) of the current positioning task relative to the setpoint position (position_demand_value) of the position controller. In the transition from zero to one, the motor controller tries to acknowledge the existing errors. This is only successful if the cause of the error has been resolved. 156 Festo – GDCP-CMMP-M3/-M0-C-CO-EN – 1304a 6 Device Control controlword Bit Function Description 8 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. 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. In the Profile Torque Mode: If the bit 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. In the Homing Mode: If the bit is set, the ongoing reference travel is interrupted. Deletion of the bit has no effect. Tab. 6.5 controlword bit 4 … 8 6.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 controlwords, 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. Status Bit 6 0040h Bit 5 0020h Bit 3 0008h Bit 2 0004h Bit 1 0002h Bit 0 0001h Mask Value Not_Ready_To_Switch_On Switch_On_Disabled Ready_to_Switch_On Switched_On OPERATION_ENABLE QUICK_STOP_ACTIVE Fault_Reaction_Active Fault FAULT (in accordance with CiA402)1) 0 1 0 0 0 0 0 0 0 x x 1 1 1 0 x x x 0 0 0 0 0 0 1 1 1 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 1 0 0 0 1 1 1 1 1 1 0 004Fh 004Fh 006Fh 006Fh 006Fh 006Fh 004Fh 004Fh 004Fh 0000h 0040h 0021h 0023h 0027h 0007h 000Fh 0008h 0008h Tab. 6.6 Device status (x = not relevant) Festo – GDCP-CMMP-M3/-M0-C-CO-EN – 1304a 157 6 Device Control 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) = 0021h1) 3. Status transition 3 and 4 can be written combined into the controlword. 4. Wait until the status OPERATION_ENABLE is displayed in the statusword. Transition 3+4: controlword = 000Fh Wait until (statusword & 006Fh) = 0027h1) Note: The example assumes that no further bits are set in the controlword (for the transitions, only the 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 correspondingly. 6.1.5 Status words (statuswords) Object 6041h: statusword Index 6041h Name statusword Object Code VAR Data Type UINT16 Access PDO Mapping Units Value Range Default Value ro yes – – – 158 Festo – GDCP-CMMP-M3/-M0-C-CO-EN – 1304a 6 Device Control Bit Value 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 0001h 0002h 0004h 0008h 0010h 0020h 0040h 0080h 0100h 0200h 0400h 0800h 1000h 2000h 4000h 8000h Tab. 6.7 Function Status of the motor controller ( Tab. 6.6). (These bits must be evaluated together.) voltage_enabled Status of the motor controller ( Tab. 6.6). warning drive_is_moving remote target_reached internal_limit_active set_point_acknowledge/speed_0/homing_attained/ip_mode_active following_error/homing_error manufacturer_statusbit Drive referenced Bit allocation in the status word All bits of the statusword are unbuffered. They represent the current device status. Besides the motor controller status, various events are displayed in the statusword, i.e. a specific event, such as following error, is assigned to each bit. The individual bits have the following significance thereby: statusword Bit Function 4 Tab. 6.8 voltage_enabled Description This bit is set when the output stage transistors are switched on. If bit 7 is set in the object 6510h_F0h (compatibility_control), ( chap. 5.2) the following applies: This bit is set if the output stage transistors are switched on. statusword bit 4 Warning In case of a defect, the motor can still be powered. Festo – GDCP-CMMP-M3/-M0-C-CO-EN – 1304a 159 6 Device Control statusword Bit Function 5 7 8 9 10 11 12 If the bit is deleted, the drive carries out a Quick Stop in accordance with quick_stop_option_code. warning This bit shows that a warning is active. drive_is_moving This bit is set independently of modes_of_operation when the current actual speed (velocity_actual_value) of the drive is outside the related tolerance window (velocity_threshold). remote This bit shows that the output 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. Dependent 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 Stop bit set. It is deleted as soon as a new target is specified. In the Profile Velocity Mode The bit is set when the speed (velocity_actual_value) of the drive is in the tolerance window (velocity_window, velocity_window_time). internal_limit_active This bit shows that the I2t limitation is active. Dependent 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. for this, see unconditionally also chapter 7.3 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 homing has been ended without error. In the Interpolated Position Mode: This bit shows that interpolation is active and the interpolation data records are being evaluated. It is set when requested by the bit enable_ip_mode in the controlword. unconditionally also chapter 7.4. ip_mode_active 160 Description quick_stop Festo – GDCP-CMMP-M3/-M0-C-CO-EN – 1304a 6 Device Control statusword Bit Function 13 14 15 Tab. 6.9 Description Dependent on modes_of_operation. following_error In the Profile Position Mode: his 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). homing_error In the Homing Mode: This bit is set when the reference travel has been interrupted (Halt bit), both limit switches respond simultaneously or the limit switch search run that has already been performed is greater than the specified positioning space (min_position_limit, max_position_limit). manufacturer_statusbit Manufacturer-specific The significance of this bit can be configured: It can be set when any bit of the manufacturer_statusword_1is set or reset. on this also chap. 6.1.5 Object 2000h. Drive referenced The bit is set when the controller is referenced. This is the case if either homing has been successfully performed or no homing is needed due to the connected encoder system (e.g. with an absolute encoder). statusword bit 5 … 15 Object 2000h: manufacturer_statuswords To be able to represent additional controller statuses that do not have to be present in the – often cyclically queried – statusword, the object group manufacturer_statuswords is introduced. Index 2000h Name manufacturer_statuswords Object Code RECORD No. of Elements 1 Sub-Index Description Data Type Access PDO Mapping Units Value Range Default Value 01h manufacturer_statusword_1 UINT32 ro yes – – – Festo – GDCP-CMMP-M3/-M0-C-CO-EN – 1304a 161 6 Device Control Bit Value 0 1 2 … 31 00000001h is_referenced 00000002h commutation_valid 00000004h ready_for_enable Tab. 6.10 Name 80000000h – Bit allocation in the manufacturer_statusword_1 Bit Function Description 0 is_referenced 1 commutation_valid 2 ready_for_enable The bit is set when the controller is referenced. This is the case if either homing has been successfully performed or no homing is needed due to the connected encoder system (e.g. with an absolute encoder). The bit is set if the commutation information is valid. It is helpful in particular for encoder systems without commutation information (e.g. linear motors), since there the automatic commutation finding can take some time. If this bit is monitored, a timeout of the control system can be prevented when release of the controller is prevented. The bit is set if all conditions to enable the controller are present and only the controller enable itself is lacking. The following conditions must be present: – The drive is error free. – The intermediate circuit is loaded. – The angle encoder evaluation is ready. No processes (e.g. serial transmission) are active that prevent release. – No blocking process is active (e.g. the automatic motor parameter identification). Tab. 6.11 Bit allocation in the manufacturer_statusword_1 With the help of the objects manufacturer_status_masks and manufacturer_status_invert, one or more bits of the manufacturer_statuswords are shown in bit 14 (manufacturer_statusbit) of the statusword (6041h). All bits of the manufacturer_statusword_1 can be inverted through the corresponding bit in manufacturer_status_invert_1. As a result, bits can also be monitored on the “Reset” status. After inverting, the bits are masked, i.e. only if the corresponding bit is set in manufacturer_status_mask_1 is the bit evaluated further. If at least one bit is set after masking, bit 14 of the statusword is also set. 162 Festo – GDCP-CMMP-M3/-M0-C-CO-EN – 1304a 6 Device Control The following illustration shows this through an example: Bit Bit Bit Bit Bit 0 1 2 3 4 … … Bit Bit Bit Bit Bit 27 28 29 30 31 0 0 0 0 0 Manufacturer_ statusword_1 2000h_01h … 0 1 1 0 0 Manufacturer_ status_invert_1 200Ah_01h … … 0 1 1 0 0 0 … … 0 0 1 0 0 0 … … 0 0 1 0 0 1 1 1 1 0 0 0 1 1 0 … = 1 1 0 0 0 0 1 0 1 = 0 1 0 0 Manufacturer_ status_mask_1 2005h_01h or Bit Bit Bit Bit Bit Bit Bit Bit Bit Bit Bit Bit Bit Bit Bit Bit 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 X X X X X X X X X Festo – GDCP-CMMP-M3/-M0-C-CO-EN – 1304a X X X X X 1 X statusword 6041h_00h 163 6 Device Control EXAMPLE a) Bit 14 of the statusword is supposed to be set if the drive is referenced. Drive referenced is bit 0 of the manufacturer_statusword_1 manufacturer_status_invert = 0x00000000 manufacturer_status_mask = 0x00000001 (bit 0) b) Bit 14 of the statusword is supposed to be set if the drive has no valid commutation position. Valid commutation position is bit 1 of the manufacturer_statusword_1. This bit must be inverted so it will be set if the commutation information is invalid: manufacturer_status_invert = 0x00000002 (bit 1) manufacturer_status_mask = 0x00000002 (bit 1) c) Bit 14 of the statusword is supposed to be set if the drive is not ready for release OR the drive is referenced. Valid commutation position is bit 2 of the manufacturer_statusword_1. Drive referenced is bit 0. Bit 2 must be inverted so that it will be set if the drive is not ready for release: manufacturer_status_invert = 0x00000004 (bit 2) manufacturer_status_mask = 0x00000005 (bit 2, bit 0) Object 2005h: manufacturer_status_masks This object group establishes which set bits of the manufacturer_statuswords are shown in the statusword. for this also chapter 6.1.5. Index 2005h Name manufacturer_status_masks Object Code RECORD No. of Elements 1 Sub-Index Description Data Type Access PDO Mapping Units Value Range Default Value 01h manufacturer_status_mask_1 UINT32 rw yes – – 0x00000000 164 Festo – GDCP-CMMP-M3/-M0-C-CO-EN – 1304a 6 Device Control Object 200Ah: manufacturer_status_invert This object group establishes which bits of the manufacturer_statuswords are shown inverted in the statusword. for this also chapter 6.1.5. Index 200Ah Name manufacturer_status_invert Object Code RECORD No. of Elements 1 Sub-Index Description Data Type Access PDO Mapping Units Value Range Default Value 01h manufacturer_status_invert_1 UINT32 rw yes – – 0x00000000 6.1.6 Description of the additional objects Objects treated in this chapter Index Object Name Type Attr. 605Bh 605Ch 605Ah 605Eh VAR VAR VAR VAR shutdown_option_code disable_operation_option_code quick_stop_option_code fault_reaction_option_code INT16 INT16 INT16 INT16 rw rw rw rw Object 605Bh: shutdown_option_code The object shutdown_option_code specifies how the motor controller behaves with status transition 8 (from OPERATION ENABLE to READY TO SWITCH ON). The object shows the implemented behaviour of the motor controller. It cannot be changed. Index 605Bh Name shutdown_option_code Object Code VAR Data Type INT16 Access PDO Mapping Units Value Range Default Value rw no – 0 0 Value Significance 0 The output stage is switched off, and the motor is freely rotatable Festo – GDCP-CMMP-M3/-M0-C-CO-EN – 1304a 165 6 Device Control Object 605Ch: disable_operation_option_code The object disable_operation_option_code specifies how the motor controller behaves with status transition 5 (from OPERATION ENABLE to SWITCH ON). The object shows the implemented behaviour of the motor controller. It cannot be changed. Index 605Ch Name disable_operation_option_code Object Code VAR Data Type INT16 Access PDO Mapping Units Value Range Default Value rw no – -1 -1 Value Significance -1 Braking with quickstop_deceleration Object 605Ah: quick_stop_option_code The parameter quick_stop_option_code specifies how the motor controller behaves with a Quick Stop. The object shows the implemented behaviour of the motor controller. It cannot be changed. Index 605Ah Name quick_stop_option_code Object Code VAR Data Type INT16 Access PDO Mapping Units Value Range Default Value rw no – 2 2 Value Significance 2 Braking with quickstop_deceleration 166 Festo – GDCP-CMMP-M3/-M0-C-CO-EN – 1304a 6 Device Control Object 605Eh: fault_reaction_option_code The object fault_reaction_option_code specifies how the motor controller behaves with an error (fault). Since the error response in the CMMP series is dependent on the respective error, this object cannot be parametrised and always returns 0. To change the error response of the individual errors chapter 5.18, error management. Index 605Eh Name fault_reaction_option_code Object Code VAR Data Type INT16 Access PDO Mapping Units Value Range Default Value rw no – 0 0 Festo – GDCP-CMMP-M3/-M0-C-CO-EN – 1304a 167 7 Operating modes 7 Operating modes 7.1 Setting the operating mode 7.1.1 Overview The motor controller can be placed into a number of operating modes. Only some are specified in detail under CANopen: – – – – – Torque-controlled mode Controlled RPM mode Homing Positioning mode Synchronous position specification 7.1.2 – – – – – Profile torque mode Profile velocity mode Homing mode Profile position mode Interpolated position mode Description of the Objects Objects treated in this chapter Index Object Name Type Attr. 6060h 6061h VAR VAR modes_of_operation modes_of_operation_display INT8 INT8 wo 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 PDO mapping Units Value Range Default Value rw yes – 1, 3, 4, 6, 7 – 168 Festo – GDCP-CMMP-M3/-M0-C-CO-EN – 1304a 7 Operating modes Value Significance 1 3 4 6 7 Profile Position Mode (position controller with positioning mode) Profile Velocity Mode (speed regulator with setpoint value ramp) Profile Torque Mode (torque controller with setpoint value ramp) Homing Mode (reference travel) 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: Selector Profile Velocity Mode Profile Torque Mode A B C Speed setpoint value (fieldbus 1) Torque limitation, if necessary Speed setpoint value (synchronous speed) Torque setpoint value (fieldbus 1) Speed limitation, if necessary 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 revised, with the parametrisation software, for example, 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 PDO mapping Units Value Range Default Value ro yes – see table 3 Festo – GDCP-CMMP-M3/-M0-C-CO-EN – 1304a 169 7 Operating modes Value Significance -1 -11 -13 -14 1 3 4 6 7 Invalid operating mode or change in operating mode User Position Mode User Velocity Mode User Torque Mode Profile Position Mode (position controller with positioning mode) Profile Velocity Mode (speed regulator with setpoint value ramp) Profile Torque Mode (torque controller with setpoint value ramp) Homing Mode (reference travel) 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. 7.2 Operating mode reference travel (homing mode) 7.2.1 Overview This chapter describes how the motor controller searches for the initial position (also called point of reference, reference point or zero point). There are various methods to determine this position, whereby either the limit switch can be used at the end of the positioning range or a reference switch (zero-point switch) within the possible travel distance. To achieve a reproducibility that is as large as possible, the zero pulse of the angle encoder used (resolver, incremental encoder, etc.) can be included with some methods. controlword Homing homing_speeds statusword homing_acceleration position_demand_value homing_offset Fig. 7.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. 170 Festo – GDCP-CMMP-M3/-M0-C-CO-EN – 1304a 7 Operating modes 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). If the drive should not be homed again, but only the position set to a prespecified value, the object 2030h (set_position_absolute) can be used page 113. The drive to the zero position under CANopen is normally not a component of the reference travel. If all required variables are know to the motor controller (e.g. because it already knows the position of the zero pulse), no physical movement is performed. This behaviour can be revised through the object 6510h_F0h (compatibility_control, chap. 5.2) so that travel to zero is always executed. 7.2.2 Description of the Objects Objects treated in this chapter Index Object Name Type Attr. 607Ch 6098h 6099h 609Ah 2045h VAR VAR ARRAY VAR VAR home_offset homing_method homing_speeds homing_acceleration homing_timeout INT32 INT8 UINT32 UINT32 UINT16 rw rw rw rw rw Affected objects from other chapters Index Object Name Type Chapter 6040h 6041h VAR VAR controlword statusword UINT16 UINT16 6.1.3 Control word (controlword) 6.1.5 Status words (statuswords) Festo – GDCP-CMMP-M3/-M0-C-CO-EN – 1304a 171 7 Operating modes Object 607Ch: home_offset The object home_offset establishes the shift of the zero position compared to the determined reference position. Home Position Zero Position home_offset Fig. 7.2 Home Offset Index 607Ch Name home_offset Object Code VAR Data Type INT32 Access PDO mapping Units Value Range Default Value rw yes position units – 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. There are four possible homing signals: the negative and positive limit switch, the reference switch and the (periodic) zero pulse of the angle encoder. In addition, the motor controller can perform reference travel to the negative or positive stop completely without any additional signal. If a method for homing is determined through the object homing_method, the following settings are made: – The reference source (neg./pos. limit switch, reference switch, neg./pos. stop) – The direction and process of homing – The type of evaluation of the zero pulse by the angle encoder used Index 6098h Name homing_method Object Code VAR Data Type INT8 Access PDO mapping Units Value Range Default Value rw yes 172 -18, -17, -2, -1, 1, 2, 7, 11, 17, 18, 23, 27, 32, 33, 34, 35 17 Festo – GDCP-CMMP-M3/-M0-C-CO-EN – 1304a 7 Operating modes Value Motion Objective Point of reference for zero -18 -17 -2 -1 1 2 7 11 17 18 23 27 33 34 35 Positive Negative Positive Negative Negative Positive Positive Negative Negative Positive Positive Negative Negative Positive Stop Stop Stop Stop Limit switch Limit switch Reference switch Reference switch Limit switch Limit switch Reference switch Reference switch Zero pulse Zero pulse No travel Stop Stop Zero pulse Zero pulse Zero pulse Zero pulse Zero pulse Zero pulse Limit switch Limit switch Reference switch Reference switch Zero pulse Zero pulse Current actual position The homing_method can only be set when homing is not active. Otherwise, an error message ( chapter 3.5) is returned. The process of the individual methods is described in detail in chapter 7.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 Description Access PDO mapping Units Value Range Default Value 01h speed_during_search_for_switch rw yes speed units – 100 min-1 Festo – GDCP-CMMP-M3/-M0-C-CO-EN – 1304a 173 7 Operating modes Sub-Index Description Access PDO mapping Units Value Range Default Value 02h speed_during_search_for_zero rw yes speed units – 10 min-1 If bit 6 is set in the object compatibility_control, ( chap. 5.2), after homing travel to zero is performed. If this bit is set and the object speed_during_search_for_switch is written, both the speed for the switch search and the speed for the travel to zero are written. 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 PDO mapping Units Value Range Default Value rw yes acceleration units – 1000 min-1/s Object 2045h: homing_timeout Homing can be monitored for maximum execution time. In addition, the maximum execution time can be specified with the object homing_timeout. If this time is exceeded without homing having been ended, error 11-3. Index 2045h Name homing_timeout Object Code VAR Data Type UINT16 Access PDO mapping Units Value Range Default Value rw no ms 0 (off ), 1 … 65535 60000 174 Festo – GDCP-CMMP-M3/-M0-C-CO-EN – 1304a 7 Operating modes 7.2.3 Reference Travel Processes The various reference travel methods are depicted in the following illustrations. Method 1: Negative limit switch with zero pulse evaluation With this method, the drive initially moves relatively quickly in the negative direction until it reaches the negative limit switch. This is represented in the graph by the rising edge. The drive then moves back slowly and searches for the precise 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. Index pulse Negative limit switch Fig. 7.3 Reference travel to the negative limit switch with evaluation of the zero pulse Method 2: Positive limit switch with zero pulse evaluation With this method, the drive initially moves relatively quickly in the positive direction until it reaches the positive limit switch. This is represented in the graph by the rising edge. The drive then moves back slowly and searches for the precise 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. Index pulse Positive limit switch Fig. 7.4 Reference travel to the positive limit switch with evaluation of the zero pulse Methods 7 and 11: Reference switch and zero pulse evaluation These two methods use the reference switch, which is active only over part of the distance. These reference methods are especially suitable for round-axle applications where the reference switch is activated once per revolution. With method 7, the drive initially moves in the positive direction, and with method 11 in the negative direction. The zero position refers to the first zero pulse in negative or positive direction from the reference switch, dependent on the direction of movement. This is shown in the following two illustrations. Index pulse Reference switch Fig. 7.5 Homing to the reference switch with evaluation of the zero pulse with positive initial movement Festo – GDCP-CMMP-M3/-M0-C-CO-EN – 1304a 175 7 Operating modes For homing to the reference switch, the limit switches initially serve to reverse the direction of searching. An error is triggered if the opposite limit switch is then reached. Index pulse Reference switch Fig. 7.6 Homing to the reference switch with evaluation of the zero pulse with negative initial movement Method 17: Homing to the negative limit switch With this method, the drive initially moves relatively quickly in the negative direction until it reaches the negative limit switch. This is represented in the graph by the rising edge. The drive then moves back slowly and searches for the precise position of the limit switch. The zero position refers to the falling edge of the negative limit switch. Negative limit switch Fig. 7.7 Homing to the negative limit switch Method 18: Homing to the positive limit switch With this method, the drive initially moves relatively quickly in the positive direction until it reaches the positive limit switch. This is represented in the graph by the rising edge. The drive then moves back slowly and searches for the precise position of the limit switch. The zero position refers to the falling edge of the positive limit switch. Positive limit switch Fig. 7.8 176 Homing to the positive limit switch Festo – GDCP-CMMP-M3/-M0-C-CO-EN – 1304a 7 Operating modes Methods 23 and 27: Homing to the reference switch These two methods use the reference switch, which is active only over part of the distance. This homing method is especially suited to rotary axis applications, where the reference switch is activated once per revolution. With method 23, the drive initially moves in the positive direction, and with method 27 in the negative direction. The zero position refers to the edge of the reference switch. This is shown in the following two illustrations. Reference switch Fig. 7.9 Homing to the reference switch with positive initial movement For homing to the reference switch, the limit switches initially serve to reverse the direction of searching. An error is triggered if the opposite limit switch is then reached. Reference switch Fig. 7.10 Homing to the reference switch with negative initial movement Method –1: Negative stop with zero pulse evaluation With this method, the drive moves in the 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. Index pulse Fig. 7.11 Reference travel to the negative stop with evaluation of the zero pulse Festo – GDCP-CMMP-M3/-M0-C-CO-EN – 1304a 177 7 Operating modes Method –2: Positive stop with zero pulse evaluation With this method, the drive moves in the 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. Index pulse Fig. 7.12 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 moves in the 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. 7.13 Reference travel to the negative stop Method –18: Reference travel to the positive stop With this method, the drive moves in the 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. 7.14 Reference travel to the positive stop Methods 33: reference travel in a negative direction to the zero pulse With method 33, the direction of homing is negative. The zero position refers to the first zero pulse from the angle encoder in the direction of search. Index pulse Fig. 7.15 178 Reference travel in a negative direction to the zero pulse Festo – GDCP-CMMP-M3/-M0-C-CO-EN – 1304a 7 Operating modes Method 34: Reference travel in a positive direction to the zero pulse With method 34, the direction of homing is positive. The zero position refers to the first zero pulse from the angle encoder in the direction of search. Index pulse Fig. 7.16 Reference travel in a positive direction to the zero pulse Method 35: Reference travel to the current position With method 35, the zero position refers to the current position. If the drive should not be homed again, but only the position set to a prespecified value, the object 2030h (set_position_absolute) can be used. page 113. Fig. 7.17 Homing to current position 7.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 1 01 1 10 Reference travel is not active Start Homing Reference travel is active Reference travel interrupted Tab. 7.1 Description of the bits in the controlword Bit 13 Bit 12 Significance 0 0 1 1 0 1 0 1 Reference travel is not completed yet Reference travel performed successfully Reference travel not performed successfully Prohibited status Tab. 7.2 Description of the bits in the status word Festo – GDCP-CMMP-M3/-M0-C-CO-EN – 1304a 179 7 Operating modes 7.3 Positioning Operating Mode (Profile Position Mode) 7.3.1 Overview The structure of this operating mode is evident in Fig. 7.18: 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 6). These two function blocks can be set independently of each other. Trajectory Generator Parameters target_position (607Ah) target_position (607Ah) Fig. 7.18 Trajectory Generator [position units] Position Control Law Parameters Position_ demand_value (60Fdh) Position Control Function Limit Function Multiplier position_range_limit (607Bh) software_position_limit (607Dh) home_offset (607Ch) position_factor (6093h) polarity (607Eh) control_effort (60FAh) position Curve generator and position controller All input variables of the curve generator are converted with the variables of the factor group ( chap. 5.3) into the internal units of the controller. The internal variables are marked here with an asterisk and are normally not needed by the user. 180 Festo – GDCP-CMMP-M3/-M0-C-CO-EN – 1304a 7 Operating modes 7.3.2 Description of the objects Objects treated in this chapter Index Object Name Type Attr. 607Ah 6081h 6082h 6083h 6084h 6085h 6086h VAR VAR VAR VAR VAR VAR VAR target_position profile_velocity end_velocity profile_acceleration profile_deceleration quick_stop_deceleration motion_profile_type INT32 UINT32 UINT32 UINT32 UINT32 UINT32 INT16 rw rw rw rw rw rw rw Affected objects from other chapters Index Object Name Type Chapter 6040h 6041h 605Ah 607Eh 6093h 6094h 6097h VAR VAR VAR VAR ARRAY ARRAY ARRAY controlword statusword quick_stop_option_code polarity position_factor velocity_encoder_factor acceleration_factor INT16 UINT16 INT16 UINT8 UINT32 UINT32 UINT32 6 Device control 6 Device control 6 Device control 5.3 Conversion factors 5.3 Conversion factors 5.3 Conversion factors 5.3 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 specification (controlword, bit 6). Index 607Ah Name target_position Object Code VAR Data Type INT32 Access PDO mapping Units Value Range Default Value rw yes position units – 0 Festo – GDCP-CMMP-M3/-M0-C-CO-EN – 1304a 181 7 Operating modes 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 PDO mapping Units Value Range Default Value rw yes speed units – 1000 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 PDO mapping Units Value Range Default Value rw yes speed units – 0 Object 6083h: profile_acceleration The object profile_acceleration specifies the acceleration with which the motor accelerates to the nominal value. It is specified in user-defined acceleration units ( chapter 5.3 Conversion factors (factor group)). Index 6083h Name profile_acceleration Object Code VAR Data Type UINT32 182 Festo – GDCP-CMMP-M3/-M0-C-CO-EN – 1304a 7 Operating modes Access PDO mapping Units Value Range Default Value rw yes acceleration units – 10000 min-1/s 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 ( chapter 5.3 Conversion factors (factor group)). Index 6084h Name profile_deceleration Object Code VAR Data Type UINT32 Access PDO mapping Units Value Range Default Value rw yes acceleration units – 10000 min-1/s Object 6085h: quick_stop_deceleration The object quick_stop_deceleration specifies with which brake delay the motor stops when a quick stop is carried out ( chapter 6). The object quick_stop_deceleration is specified in the same unit as the object profile_deceleration. Index 6085h Name quick_stop_deceleration Object Code VAR Data Type UINT32 Access PDO mapping Units Value Range Default Value rw yes acceleration units – 14100 min-1/s Festo – GDCP-CMMP-M3/-M0-C-CO-EN – 1304a 183 7 Operating modes 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 PDO mapping Units Value Range Default Value rw yes – 0, 2 0 Value Curve form 0 2 Linear ramp Jerk-free ramp 7.3.3 Description of function 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 controlled through the bits new_set_point and change_set_immediately in the object controlword and set_point_acknowledge in the object statusword. These bits are in a questionanswer relationship to each other. This makes it possible to prepare a positioning task while another is still running. 184 Festo – GDCP-CMMP-M3/-M0-C-CO-EN – 1304a 7 Operating modes data_valid 1 4 new_acknowledge 2 5 7 setpoint_acknowledge 6 3 Fig. 7.19 Positioning job transmission from a host In Fig. 7.19, 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 set 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 start to write a new positioning data set into the motor controller 4 and delete again the bit new_set_point 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. In Fig. 7.20, 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. Velocity v2 v1 t0 Fig. 7.20 t1 t2 t3 Time Simple positioning task Festo – GDCP-CMMP-M3/-M0-C-CO-EN – 1304a 185 7 Operating modes In Fig. 7.21, 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. Velocity v2 v1 t0 Fig. 7.21 t1 t2 Time Continuous sequence of positioning tasks If besides the bit new_set_pointthe 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. 186 Festo – GDCP-CMMP-M3/-M0-C-CO-EN – 1304a 7 Operating modes 7.4 Synchronous position specification (interpolated position mode) 7.4.1 Overview The interpolated position mode (IP) permits specification of setpoint position values in a multi-axis application of the motor controller. For this, synchronisation telegrams (SYNC) and position setpoints are specified by a higher-order controller in a fixed time slot pattern (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. Position 1 2 t 1 Synchronisation interval Fig. 7.22 2 Position control interval 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. 7.4.2 Description of the Objects Objects treated in this chapter Index Object Name Type Attr. 60C0h 60C1h 60C2h 60C3h 60C4h VAR REC REC ARRAY REC interpolation_submode_select interpolation_data_record interpolation_time_period interpolation_sync_definition interpolation_data_configuration INT16 rw rw rw rw rw Festo – GDCP-CMMP-M3/-M0-C-CO-EN – 1304a UINT8 187 7 Operating modes Affected objects from other chapters Index Object Name Type Chapter 6040h 6041h 6093h 6094h 6097h VAR VAR ARRAY ARRAY ARRAY controlword statusword position_factor velocity_encoder_factor acceleration_factor INT16 UINT16 UINT32 UINT32 UINT32 6 Device control 6 Device control 5.3 Conversion factors 5.3 Conversion factors 5.3 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 PDO mapping Units Value Range Default Value rw yes – -2 -2 Value Interpolation type -2 Linear Interpolation without Buffer 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) and a control word (ip_data_controlword), which specifies whether the position value should be interpreted absolutely or relatively. Specification of the control word is optional. If it is not specified, the position value is interpreted absolutely. If the control word should also be specified, for reasons of data consistency, first subindex 2 (ip_data_controlword) and then sub-index 1 (ip_data_position) are written, since data transfer is triggered internally with write access to ip_data_position. Index 60C1h Name interpolation_data_record Object Code RECORD No. of Elements 2 188 Festo – GDCP-CMMP-M3/-M0-C-CO-EN – 1304a 7 Operating modes Sub-Index Description Data Type Access PDO mapping Units Value Range Default Value 01h ip_data_position INT32 rw yes position units – – Sub-Index Description Data Type Access PDO mapping Units Value Range Default Value 02h ip_data_controlword UINT8 rw yes – 0, 1 0 Value ip_data_controlword 0 1 Absolute position Relative distance The internal data transfer takes place with write access to sub-index 1. If sub-index 2 should also be used, it must be written before sub-index 1. 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 pulse. A change in the synchronisation interval is therefore effective only after a reset. Therefore, if the interpolation interval is to be revised via the CAN bus, the parameter set must be saved ( chapter 5.1) and a reset performed ( chapter 6), 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 Festo – GDCP-CMMP-M3/-M0-C-CO-EN – 1304a 189 7 Operating modes Default Value 01h ip_time_units UINT8 rw yes according to ip_time_index ip_time_index = -3: 1, 2 … 9, 10 ip_time_index = -4: 10, 20 … 90, 100 -- Sub-Index Description Data Type Access PDO mapping Units Value Range Default Value 02h ip_time_index INT8 rw yes – -3, -4 -3 Sub-Index Description Data Type Access PDO mapping Units Value Range Value ip_time_units is specified in -3 -4 10-3 seconds (ms) 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 revised via the CAN bus, the parameter set must be saved and a reset performed. Object 60C3h: interpolation_sync_definition The object interpolation_sync_definition sets the type (synchronize_on_group) and number of (ip_sync_every_n_event) of synchronisation telegrams per synchronisation interval. For the CMMP series, only the standard SYNC telegram and 1 SYNC per interval can be set. Index 60C3h Name interpolation_sync_definition Object Code ARRAY No. of Elements 2 Data Type UINT8 190 Festo – GDCP-CMMP-M3/-M0-C-CO-EN – 1304a 7 Operating modes Sub-Index Description Access PDO mapping Units Value Range Default Value 01h syncronize_on_group rw yes – 0 0 Value Significance 0 Use standard SYNC telegram Sub-Index Description Access PDO mapping Units Value Range Default Value 02h ip_sync_every_n_event rw yes – 1 1 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 Description Data Type Access PDO mapping Units Value Range Default Value 01h max_buffer_size UINT32 ro no – 0 0 Festo – GDCP-CMMP-M3/-M0-C-CO-EN – 1304a 191 7 Operating modes Sub-Index Description Data Type Access PDO mapping Units Value Range Default Value 02h actual_size UINT32 rw yes – 0 … max_buffer_size 0 Sub-Index Description Data Type Access PDO mapping Units Value Range Default Value 03h buffer_organisation UINT8 rw yes – 0 0 Value Significance 0 FIFO Sub-Index Description Data Type Access PDO mapping Units Value Range Default Value 04h buffer_position UINT16 rw yes – 0 0 Sub-Index Description Data Type Access PDO mapping Units Value Range Default Value 05h size_of_data_record UINT8 wo yes – 2 2 192 Festo – GDCP-CMMP-M3/-M0-C-CO-EN – 1304a 7 Operating modes 06h buffer_clear UINT8 wo yes – 0, 1 0 Sub-Index Description Data Type Access PDO mapping Units Value Range Default Value Value Significance 0 1 Delete buffer/access to 60C1h not permitted Access to 60C1h enabled 7.4.3 Description of function 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 Exercise Type of interpolation Time unit Time interval Save parameters Perform reset Waiting for bootup Buffer activation Generate SYNC CAN object/COB -2 60C0h, interpolation_submode_select = –2 0.1 ms 4 ms 60C2h_02h, interpolation_time_index 60C2h_01h, interpolation_time_units 1010h_01h, save_all_parameters NMT reset node Bootup message 60C4h_06h, buffer_clear SYNC (matrix 4 ms) = = –4 40 = 1 1 Activation of the interpolated position mode and synchronisation The IP is activated via 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 slot pattern after completed synchronisation, the motor controller switches back into the invalid mode of operation. Festo – GDCP-CMMP-M3/-M0-C-CO-EN – 1304a 193 7 Operating modes 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). Acceptance 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: SYNC modes_of_operation = 7 modes_of_operation_display = 7 controlword bit 4: enable_ip_mode controlword bit 12: ip_mode_active 1 1 1 1 2 3 4 5 Item 1 … 5 : Position specifications Fig. 7.23 Synchronisation and data release Event CAN Object Generate SYNC message Request of the ip operating mode: Wait until operating mode is taken Reading out the current actual position Writing back as current setpoint position Start of interpolation Acknowledgement by motor controller Changing the current setpoint position in accordance with trajectory 6060h, modes_of_operation = 6061h, modes_of_operation_display = 6064h, position_actual_value 60C1h_01h, ip_data_position 6040h, controlword, enable_ip_mode 6041h, statusword, ip_mode_active 60C1h_01h, ip_data_position 194 07 07 Festo – GDCP-CMMP-M3/-M0-C-CO-EN – 1304a 7 Operating modes 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. Interruptions of interpolation in case of error If an ongoing interpolation type (ip_mode_active set) is interrupted by occurrence of a controller error, the drive first behaves as specified for the respective error (e.g. removal of the controller enable and change into the status SWITCH_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. 7.5 Speed Adjustment Operating Mode (Profile Velocity Mode) 7.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. Festo – GDCP-CMMP-M3/-M0-C-CO-EN – 1304a 195 7 Operating modes profile_acceleration (6083h) profile_deceleration (6084h) quick_stop_deceleration (6085h) [acceleration units] acceleration_factor (6097h) [acceleration units] [acceleration units] Multiplier Profile Acceleration Profile Deceleration Multiplier Quick Stop Deceleration velocity_encoder_factor (6094h) Profile Velocity velocity_demand_value (606Bh) position_actual_value (6063h) velocity_demand_value (606Bh) Differentiation d/dt Velocity_actual_value (606Ch) Velocity Controller control effort velocity_control_parameter_set (60F9h) velocity_threshold (606Fh) velocity_actual_value (606Ch) velocity_threshold (606Fh) Timer status_word (6041h) velocity = 0 Timer status_word (6041h) velocity_reached Window Comparator velocity_window_time (606Eh) velocity_actual_value (606Ch) velocity_window (606Dh) Fig. 7.24 196 Window Comparator Structure of the speed-regulated operation (profile velocity mode) Festo – GDCP-CMMP-M3/-M0-C-CO-EN – 1304a 7 Operating modes 7.5.2 Description of the Objects Objects treated in this chapter Index Object Name Type Attr. 6069h 606Ah 606Bh 202Eh 606Ch 606Dh 606Eh 606Fh 6080h 60FFh VAR VAR VAR VAR VAR VAR VAR VAR VAR VAR velocity_sensor_actual_value sensor_selection_code velocity_demand_value velocity_demand_sync_value velocity_actual_value velocity_window velocity_window_time velocity_threshold max_motor_speed target_velocity INT32 INT16 INT32 INT32 INT32 UINT16 UINT16 UINT16 UINT32 INT32 ro rw ro ro ro rw rw rw rw rw Affected objects from other chapters Index Object Name Type Chapter 6040h 6041h 6063h 6071h 6072h 607Eh 6083h 6084h 6085h 6086h 6094h VAR VAR VAR VAR VAR VAR VAR VAR VAR VAR ARRAY controlword statusword position_actual_value* target_torque max_torque_value polarity profile_acceleration profile_deceleration quick_stop_deceleration motion_profile_type velocity_encoder_factor INT16 UINT16 INT32 INT16 UINT16 UINT8 UINT32 UINT32 UINT32 INT16 UINT32 6 Device control 6 Device control 5.7 Position controller 7.7 Torque controller 7.7 Torque controller 5.3 Conversion factors 7.3 Positioning 7.3 Positioning 7.3 Positioning 7.3 Positioning 5.3 Conversion factors 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 tachometer cannot be connected in the CMMP 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 Festo – GDCP-CMMP-M3/-M0-C-CO-EN – 1304a 197 7 Operating modes Access PDO mapping Units Value Range Default Value ro yes R/4096 min – – Object 606Ah: sensor_selection_code The speed sensor can be selected with this object. Currently, no separate speed sensor is planned. Therefore, only the standard angle encoder can be selected. Index 606Ah Name sensor_selection_code Object Code VAR Data Type INT16 Access PDO mapping Units Value Range Default Value rw yes – 0 0 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 nominal 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 PDO mapping Units Value Range Default Value ro yes speed units – – 198 Festo – GDCP-CMMP-M3/-M0-C-CO-EN – 1304a 7 Operating modes Object 202Eh: velocity_demand_sync_value The target speed of the synchronisation encoder can be read out via this object. This is defined through the object 2022h synchronization_encoder_select (chap. 5.11). This object is specified in user-defined increments. Index 202Eh Name velocity_demand_sync_value Object Code VAR Data Type INT32 Access PDO mapping Units Value Range Default Value ro no velocity units – – 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 PDO mapping Units Value Range Default Value ro yes speed units – – Festo – GDCP-CMMP-M3/-M0-C-CO-EN – 1304a 199 7 Operating modes Object 2074h: velocity_actual_value_filtered A filtered actual speed value can be read via the object velocity_actual_value_filtered, but it should only be used for display purposes. In contrast to velocity_actual_value, velocity_actual_value_filtered is not used for control, but for spinning protection of the controller. The filter time constant can be set via the object 2073h (velocity_display_filter_time). Object 2073h: velocity_display_filter_time Index 2074h Name velocity_actual_value_filtered Object Code VAR Data Type INT32 Access PDO mapping Units Value Range Default Value ro yes speed units – – velocity_control_filter_time (60F9h_04h) internal velocity value Filter velocity_actual_value (606Ch) [speed units] Filter velocity_actual_value_filtered (2074h) [speed units] velocity_display_filter_time (2073h) Fig. 7.25 200 Determination of velocity_actual_value and velocity_actual_value_filtered Festo – GDCP-CMMP-M3/-M0-C-CO-EN – 1304a 7 Operating modes Object 606Dh: velocity_window The object velocity_window is used to set the window comparator. It compares the actual speed value with the prespecified final speed (object 60FFh: target_velocity). If the difference is less than specified here for a certain period, the bit 10 target_reached is set in the object statusword. also: object 606Eh (velocity_window_time). Index 606Dh Name velocity_window Object Code VAR Data Type UINT16 Access PDO mapping Units Value Range Default Value rw yes speed units 0 … 65536 min-1 4 min-1 Object 606Eh: velocity_window_time The object velocity_window_time is used to set the window comparator along with the object 606Dh: velocity_window. The speed must lie within the velocity_window for the time specified here so that the bit 10 target_reached is set in the object statusword. Index 606Eh Name velocity_window_time Object Code VAR Data Type UINT16 Access PDO mapping Units Value Range Default Value rw yes ms 0 … 4999 0 Festo – GDCP-CMMP-M3/-M0-C-CO-EN – 1304a 201 7 Operating modes Object 606Fh: velocity_threshold The object velocity_threshold specifies from which actual speed value the drive is considered to be standing still. If the drive exceeds the speed value specified here for a specific time period, bit 12 (velocity = 0) is deleted in the statusword. The time period is determined through the object velocity_threshold_time. Index 606Fh Name velocity_threshold Object Code VAR Data Type UINT16 Access PDO mapping Units Value Range Default Value rw yes speed units 0 … 65536 min-1 10 Object 6070h: velocity_threshold_time The object velocity_threshold_time specifies how long the drive may exceed the specified speed before bit 12 (velocity = 0) is deleted in the statusword. Index 6070h Name velocity_threshold_time Object Code VAR Data Type UINT16 Access PDO mapping Units Value Range Default Value rw yes ms 0 … 4999 0 202 Festo – GDCP-CMMP-M3/-M0-C-CO-EN – 1304a 7 Operating modes 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 PDO mapping Units Value Range Default Value rw yes min-1 0 … 32768 min-1 32768 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 PDO mapping Units Value Range Default Value rw yes speed units – – 7.6 Speed 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: Festo – GDCP-CMMP-M3/-M0-C-CO-EN – 1304a 203 7 Operating modes V Ramp generator input Ramp generator output velocity_deceleration_pos (2090h_03h) velocity_acceleration_neg (2090h_04h) velocity_deceleration_neg (2090h_05h) t velocity_acceleration_pos (2090h_02h) Fig. 7.26 Speed ramps The object group velocity_ramps is available to parametrise these 4 accelerations. Observe 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 revised together; if the profile_deceleration is written, velocity_acceleration_pos and velocity_acceleration_neg are revised together. The object velocity_ramps_enable determines whether or not the setpoint values are guided over the ramp generator. Index 2090h Name velocity_ramps Object Code RECORD No. of Elements 5 Sub-Index Description Data Type Access PDO mapping Units 01h velocity_ramps_enable UINT8 rw no – 0: Setpoint value NOT over the ramp generator 1: Setpoint value over the ramp generator 1 Value Range Default Value 204 Festo – GDCP-CMMP-M3/-M0-C-CO-EN – 1304a 7 Operating modes Sub-Index Description Data Type Access PDO mapping Units Value Range Default Value 02h velocity_acceleration_pos INT32 rw no acceleration units – 14 100 min-1/s Sub-Index Description Data Type Access PDO mapping Units Value Range Default Value 03h velocity_deceleration_pos INT32 rw no acceleration units – 14 100 min-1/s Sub-Index Description Data Type Access PDO mapping Units Value Range Default Value 04h velocity_acceleration_neg INT32 rw no acceleration units – 14 100 min-1/s Sub-Index Description Data Type Access PDO mapping Units Value Range Default Value 05h velocity_deceleration_neg INT32 rw no acceleration units – 14 100 min-1/s Festo – GDCP-CMMP-M3/-M0-C-CO-EN – 1304a 205 7 Operating modes 7.7 Torque Regulation Operating Mode (Profile Torque Mode) 7.7.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. target_torque (6071h) Limit Function motor_rated_torque (6076h) Trajectory Generator control effort torque_slope (6087h) torque_profile_type (6088h) controlword (6040h) max_torque (6072h) torque_demand (6074h) Limit Function torque_actual_value (6077h) motor_rated_torque (6076h) current_actual_value (6078h) max_current (6073h) Limit Function motor_rated_current (6075h) Torque Control DC_link_voltage (6079h) and Power Stage control effort Motor max_current (6073h) motor_rated_current (6075h) motor_rated_current (6075h) Fig. 7.27 206 Structure of torque-regulated operation Festo – GDCP-CMMP-M3/-M0-C-CO-EN – 1304a 7 Operating modes 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. 7.7.2 Description of the Objects Objects treated in this chapter Index Object Name Type Attr. 6071h 6072h 6074h 6076h 6077h 6078h 6079h 6087h 6088h 60F7h 60F6h VAR VAR VAR VAR VAR VAR VAR VAR VAR RECORD RECORD target_torque max_torque torque_demand_value motor_rated_torque torque_actual_value current_actual_value DC_link_circuit_voltage torque_slope torque_profile_type power_stage_parameters torque_control_parameters INT16 UINT16 INT16 UINT32 INT16 INT16 UINT32 UINT32 INT16 rw rw ro rw ro ro ro rw rw rw rw Affected objects from other chapters Index Object Name Type 6040h 60F9h 6075h 6073h VAR RECORD VAR VAR controlword motor_parameters motor_rated_current max_current INT16 Festo – GDCP-CMMP-M3/-M0-C-CO-EN – 1304a Chapter 6 Device Control 5.5 Current Regulator and Motor Adjustment UINT32 5.5 Current Regulator and Motor Adjustment UINT16 5.5 Current Regulator and Motor Adjustment 207 7 Operating modes Object 6071h: target_torque This parameter is the entry value for the torque regulator in torque-regulated mode (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 PDO mapping Units Value Range Default Value rw yes motor_rated_torque/1000 -32768 … 32768 0 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 PDO mapping Units Value Range Default Value rw yes motor_rated_torque/1000 -1000 … 65536 2023 208 Festo – GDCP-CMMP-M3/-M0-C-CO-EN – 1304a 7 Operating modes Object 6074h: torque_demand_value By means of this object, the current nominal torque can be read out in thousands 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 PDO mapping Units Value Range Default Value ro yes motor_rated_torque/1000 --- 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 PDO mapping Units Value Range Default Value rw yes 0.001 mNm – 296 Object 6077h: torque_actual_value By means of this object, the motor's actual torque can be read out in thousanths of the nominal torque (object 6076h). Index 6077h Name torque_actual_value Object Code VAR Data Type INT16 Festo – GDCP-CMMP-M3/-M0-C-CO-EN – 1304a 209 7 Operating modes Access PDO mapping Units Value Range Default Value ro yes motor_rated_torque/1000 – – 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 PDO mapping Units Value Range Default Value ro yes motor_rated_current/1000 – – 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 PDO mapping Units Value Range Default Value ro yes mV – – 210 Festo – GDCP-CMMP-M3/-M0-C-CO-EN – 1304a 7 Operating modes Object 6087h: torque_slope This parameter describes the modification speed of the setpoint value ramp value. This is specified in thousandths of the nominal torque per second. For example, the torque setpoint value target_torque is raised from 0 Nm to the value motor_rated_torque. If the initial value of the intermediately switched torque ramp should reach this value in one second, the value 1000 is written in this object. Index 6087h Name torque_slope Object Code VAR Data Type UINT32 Access PDO mapping Units Value Range Default Value rw yes motor_rated_torque/1000 s – 0E310F94h Object 6088h: torque_profile_type The object torque_profile_type specifies with which curve shape a setpoint value jump should be executed. Currently, only the linear ramp is implemented in this controller, so this object can only be written with the value 0. Index 6088h Name torque_profile_type Object Code VAR Data Type INT16 Access PDO mapping Units Value Range Default Value rw yes – 0 0 Value Significance 0 Linear ramp Festo – GDCP-CMMP-M3/-M0-C-CO-EN – 1304a 211 A Technical appendix A Technical appendix A.1 Technical Data Interface EtherCAT This section is only applicable for the motor controller CMMP-AS-…-M3. M3 A.1.1 General Mechanical Length / width / height Weight Slot Note on materials Tab. A.1 [mm] [g] 112.6 x 87.2 x 28.3 55 Slot Ext2 Conforms to RoHS Technical data: mechanical Electric Signal level Differential voltage Tab. A.2 A.1.2 [V DC] [V DC] 0 … 2.5 1.9 … 2.1 Technical data: electrical Operating and environmental conditions Transport Temperature range Air humidity, at max. 40 °C ambient temperature, non-condensing Tab. A.3 [°C] [%] 0 … +50 0 … 90 Technical data: transport Storage Storage temperature Air humidity, at max. 40 °C ambient temperature, non-condensing Permissible altitude (above sea level) Tab. A.4 212 [°C] [%] –25 … +75 0 … 90 [m] < 1000 Technical data: storage Festo – GDCP-CMMP-M3/-M0-C-CO-EN – 1304a B Diagnostic messages B Diagnostic messages If an error occurs, the motor controller CMMP-AS-...-M3/-M0 shows a diagnostic message cyclically in the 7-segments display. An error message consists of an E (for Error), a main index and sub-index, e.g.: - E 0 1 0 -. Warnings have the same number as an error message. In contrast to error messages, however, warnings are preceded and followed by hyphens, e.g. - 1 7 0 -. B.1 Explanations on the diagnostic messages The following table summarises the significance of the diagnostic messages and the actions to be taken in response to them: Terms Significance No. Main index (error group) and sub-index of the diagnostic message. Shown in the display, in FCT or diagnostic memory via FHPP. The Code column includes the error code (Hex) via CiA 301. Message that is displayed in the FCT. Possible causes for the message. Action by the user. The Reaction column includes the error response (default setting, partially configurable): – PS off (switch off output stage), – MCStop (fast stop with maximum current), – QStop (fast stop with parameterised ramp), – Warn (warning), – Ignore (No message, only entry in diagnostic memory), – NoLog (No message and no entry in diagnostic memory). Code Message Cause Action Reaction Tab. B.1 Explanations of the diagnostic messages Under section B.2, you will find the error codes in accordance with CiA301/402 with assignment to the error numbers of the diagnostic messages. A complete list of the diagnostic messages corresponding to the firmware statuses at the time of printing of this document can be found in section B.3. Festo – GDCP-CMMP-M3/-M0-C-CO-EN – 1304a 213 B Diagnostic messages B.2 Error codes via CiA 301/402 Diagnostic messages Code No. Message 2311h 2312h 2313h 2314h 2320h 3210h 3220h 3280h 3281h 3282h 3283h 3284h 3285h 3286h 4210h 4280h 4310h 5080h 5114h 5115h 5116h 5280h 5281h 5282h 5283h 5410h 5580h 214 31-1 31-0 31-2 31-3 06-0 06-1 07-0 02-0 32-0 32-1 32-5 32-6 32-7 32-8 32-9 04-0 04-1 03-0 03-1 03-2 03-3 90-0 90-2 90-3 90-4 90-5 90-6 90-9 05-0 05-1 05-2 21-0 21-1 21-2 21-3 05-3 05-4 26-0 Reaction I²t-servo controller I²t-motor I²t-PFC I²t braking resistor Short circuit in output stage Overload current brake chopper Overvoltage in intermediate circuit Undervoltage in intermediate circuit Intermediate circuit charging time exceeded Undervoltage for active PFC Brake chopper overload. Intermediate circuit could not be discharged. Intermediate circuit discharge time exceeded Power supply missing for controller enable Power supply failure during controller enable Phase failure Power end stage over-temperature Intermediate circuit over-temperature Analogue motor over-temperature Digital motor over-temperature Analogue motor over-temperature: broken cable Analogue motor over-temperature: short circuit Missing hardware components (SRAM) Error when booting FPGA Error at SD-ADU start SD-ADU synchronisation error after start SD-ADU not synchronous IRQ0 (current regulator): trigger error DEBUG firmware loaded Failure of internal voltage 1 Failure of internal voltage 2 Failure of driver supply Error 1 current measurement U Error 1 current measurement V Error 2 current measurement U Error 2 current measurement V Undervoltage dig. I/O Overload current dig. I/O Missing user parameter set Configurable Configurable Configurable Configurable PS off PS off PS off Configurable Configurable Configurable Configurable Configurable Configurable QStop QStop Configurable Configurable QStop Configurable Configurable Configurable PS off PS off PS off PS off PS off PS off PS off PS off PS off PS off PS off PS off PS off PS off PS off PS off PS off Festo – GDCP-CMMP-M3/-M0-C-CO-EN – 1304a B Diagnostic messages Diagnostic messages Code No. Message 5581h 5582h 5583h 5584h 5585h 5586h 6000h 6080h 6081h 6082h 6083h 6180h 6181h 6182h 6183h 6185h 6186h 6187h 6320h 6380h 7380h 7382h 7383h 7384h 7385h 7386h 7387h 7388h 7389h 73A1h 73A2h 73A3h 73A4h 73A5h 73A6h 8081h 8082h 8083h 8120h 8180h 26-1 26-2 26-3 26-4 26-5 26-6 91-0 25-0 25-1 25-2 25-3 01-0 16-0 16-1 16-3 15-0 15-1 16-2 36-0 36-1 30-0 08-0 08-2 08-3 08-4 08-5 08-6 08-7 08-8 08-9 09-0 09-1 09-2 09-3 09-7 09-9 43-0 43-1 43-2 12-1 12-0 Checksum error Flash: error when writing Flash: error during deletion Flash: error in internal flash Missing calibration data Missing user position data records Internal initialisation error Invalid device type Device type not supported Hardware revision not supported Device function restricted! Stack overflow Program execution faulty Illegal interrupt Unexpected status Division by 0 Range exceeded Initialisation error Parameter was limited Parameter was not accepted Internal conversion error Resolver angle encoder error Error in incremental encoder tracking signal Z0 Error in incremental encoder tracking signals Z1 Digital incremental encoder track signals error [X2B] Error in increment generator of Hall-effect encoder signals Angle encoder communication fault Signal amplitude of incremental tracks faulty [X10] Internal angle encoder error Angle encoder at [X2B] is not supported Old angle encoder parameter set Angle encoder parameter set cannot be decoded Unknown version of angle encoder parameter set Defective data structure in angle encoder parameter set Write-protected EEPROM angle encoder Angle encoder’s EEPROM too small Limit switch: negative setpoint value blocked Limit switch: positive setpoint value blocked Limit switch: positioning suppressed CAN: Communication error, bus OFF CAN: double node number Festo – GDCP-CMMP-M3/-M0-C-CO-EN – 1304a Reaction PS off PS off PS off PS off PS off PS off PS off PS off PS off PS off PS off PS off PS off PS off PS off PS off PS off PS off Configurable Configurable PS off Configurable Configurable Configurable Configurable Configurable Configurable Configurable Configurable Configurable Configurable Configurable Configurable Configurable Configurable Configurable Configurable Configurable Configurable Configurable Configurable 215 B Diagnostic messages Diagnostic messages Code No. Message 8181h 8182h 8480h 8611h 8612h 8680h 8681h 8682h 8780h 8781h 8A80h 8A81h 8A82h 8A83h 8A84h 8A85h 8A86h 8A87h F080h F081h F082h F083h F084h F085h FF01h FF02h 216 12-2 12-3 35-0 17-0 17-1 27-0 40-0 40-1 40-2 40-3 42-0 42-1 42-2 34-0 34-1 11-0 11-1 11-2 11-3 11-4 11-5 11-6 33-0 80-0 80-1 80-2 80-3 81-4 81-5 28-0 28-1 Reaction CAN: communication error during transmission CAN: communication error during reception Linear motor spinning protection Following error monitoring Encoder difference monitoring Following error warning threshold Negative software limit switch Positive software limit switch reached Target position behind the negative software limit switch Target position behind the positive software limit switch Positioning: no subsequent positioning: stop Positioning: reversing direction of rotation not allowed: stop Positioning: reversing after halt not allowed No synchronisation via fieldbus Fieldbus synchronisation error Error when homing is started Error during homing Homing: no valid zero impulse Homing: timeout Homing: wrong / invalid limit switch Homing: I²t / following error Homing: end of search path Encoder emulation following error Current regulator IRQ overflow Speed regulator IRQ overflow Overflow position controller IRQ Interpolator IRQ overflow Low-level IRQ overflow MDC IRQ overflow Missing hours-run meter Hours-run meter: write error Configurable Configurable Configurable Configurable Configurable Configurable Configurable Configurable Configurable Configurable Configurable Configurable Configurable Configurable Configurable Configurable Configurable Configurable Configurable Configurable Configurable Configurable Configurable PS off PS off PS off PS off PS off PS off Configurable Configurable Festo – GDCP-CMMP-M3/-M0-C-CO-EN – 1304a B Diagnostic messages B.3 Diagnostic messages with instructions for trouble-shooting Fault group 00 No. Code Invalid message or information Message 00-0 - 00-1 - Invalid error Ignore Cause Information: An invalid error entry (corrupted) was found in the diagnostic memory marked with this error number. The system time entry is set to 0. Measure – Invalid error detected and corrected Ignore Cause Information: An invalid error entry (corrupted) was found in the diagnostic memory and corrected. The additional information contains the original error number. The system time entry includes the address of the corrupted error number. 00-2 - Measure – Error cleared Cause Information: Active errors were acknowledged. Measure – Reaction Ignore Fault group 01 No. Code Stack overflow Message 01-0 Stack overflow PS off Cause – Incorrect firmware? – Sporadic high processor load due to cycle time being too short and special compute-bound processes (save parameter set, etc.). Measure • Load an approved firmware. • Reduce the processor load. • Contact Technical Support. 6180h Festo – GDCP-CMMP-M3/-M0-C-CO-EN – 1304a Reaction 217 B Diagnostic messages Fault group 02 No. Code Intermediate circuit Message 02-0 Undervoltage in intermediate circuit Configurable Cause Intermediate circuit voltage falls below the parameterised threshold ( additional information). Error priority set too high? Measure • Quick discharge due to switched-off mains supply. • Check power supply. • Couple intermediate circuits if technically permissible. • Check intermediate circuit voltage (measure). • Check undervoltage monitoring (threshold value). 3220h Additional information Reaction Additional information in PNU 203/213: Upper 16 bits: status number of internal state machine Bottom 16 bits: Intermediate circuit voltage (internal scaling approx. 17.1 digit/V). Fault group 03 No. Code Motor over-temperature Message 03-0 Analogue motor over-temperature Cause Motor overloaded, temperature too high. – Motor too hot? – Incorrect sensor? – Sensor defective? – Broken cable? 4310h Reaction QStop Measure 03-1 218 4310h • Check parameterisation (current regulator, current limits). • Check the parameterisation of the sensor or the sensor characteristics. If the error persists when the sensor is bypassed: device defective. Digital motor over-temperature Configurable Cause – Motor overloaded, temperature too high. – Suitable sensor or sensor characteristics parameterised? – Sensor defective? Measure • Check parameterisation (current regulator, current limits). • Check the parameterisation of the sensor or the sensor characteristics. If the error persists when the sensor is bypassed: device defective. Festo – GDCP-CMMP-M3/-M0-C-CO-EN – 1304a B Diagnostic messages Fault group 03 No. Code Motor over-temperature Message 03-2 4310h 03-3 4310h Analogue motor over-temperature: broken cable Configurable Cause The measured resistance value is above the threshold for wire break detection. Measure • Check the connecting cables of the temperature sensor for wire breaks. • Check the parameterisation (threshold value) for wire break detection. Analogue motor over-temperature: short circuit Configurable Cause The measured resistance value is below the threshold for short circuit detection. Measure • Check the connecting cables of the temperature sensor for wire breaks. • Check the parameterisation (threshold value) for short circuit detection. Reaction Fault group 04 No. Code Intermediate circuit/power unit over-temperature Message 04-0 4210h 04-1 4280h Power end stage over-temperature Configurable Cause Device is overheated – Temperature display plausible? – Device fan defective? – Device overloaded? Measure • Check installation conditions; control cabinet fan filter dirty? • Check the drive layout (due to possible overloading in continuous duty). Intermediate circuit over-temperature Configurable Cause Device is overheated – Temperature display plausible? – Device fan defective? – Device overloaded? Measure • Check installation conditions; control cabinet fan filter dirty? • Check the drive layout (due to possible overloading in continuous duty). Festo – GDCP-CMMP-M3/-M0-C-CO-EN – 1304a Reaction 219 B Diagnostic messages Fault group 05 No. Code Internal voltage supply Message 05-0 5114h Failure of internal voltage 1 PS off Cause Monitoring of the internal power supply has detected undervoltage. This is either due to an internal defect or an overload/ short circuit caused by connected peripherals. Measure • Check digital outputs and brake output for short circuit or specified load. • Separate device from the entire peripheral equipment and check whether the error is still present after reset. If yes, then there is an internal defect Repair by the manufacturer. 05-1 5115h Failure of internal voltage 2 PS off Cause Monitoring of the internal power supply has detected undervoltage. This is either due to an internal defect or an overload/ short circuit caused by connected peripherals. Measure • Check digital outputs and brake output for short circuit or specified load. • Separate device from the entire peripheral equipment and check whether the error is still present after reset. If yes, then there is an internal defect Repair by the manufacturer. 05-2 5116h Failure of driver supply PS off Cause Monitoring of the internal power supply has detected undervoltage. This is either due to an internal defect or an overload/ short circuit caused by connected peripherals. Measure • Check digital outputs and brake output for short circuit or specified load. • Separate device from the entire peripheral equipment and check whether the error is still present after reset. If yes, then there is an internal defect Repair by the manufacturer. 05-3 5410h 05-4 5410h Undervoltage dig. I/O PS off Cause Overloading of the I/Os? Defective peripheral equipment? Measure • Check connected peripherals for short circuit / rated loads. • Check connection of the brake (connected incorrectly?). Overload current dig. I/O PS off Cause Overloading of the I/Os? Defective peripheral equipment? Measure • Check connected peripherals for short circuit / rated loads. • Check connection of the brake (connected incorrectly?). 220 Reaction Festo – GDCP-CMMP-M3/-M0-C-CO-EN – 1304a B Diagnostic messages Fault group 05 No. Code Internal voltage supply Message 05-5 - 05-6 - 05-7 - 05-8 - 05-9 - Voltage failure interface Ext1/Ext2 PS off Cause Defect on the plugged-in interface. Measure • Interface replacement Repair by the manufacturer. Voltage failure [X10], [X11] PS off Cause Overloading through connected peripherals. Measure • Check pin allocation of the connected peripherals. • Short circuit? Safety module internal voltage failure PS off Cause Defect on the safety module. Measure • Internal defect Repair by the manufacturer. Failure of internal voltage 3 PS off Cause Defect in the motor controller. Measure • Internal defect Repair by the manufacturer. Encoder supply defective PS off Cause Back measurement of the encoder voltage not OK. Measure • Internal defect Repair by the manufacturer. Festo – GDCP-CMMP-M3/-M0-C-CO-EN – 1304a Reaction 221 B Diagnostic messages Fault group 06 No. Code Overcurrent Message 06-0 2320h 06-1 2320h Short circuit in output stage PS off Cause – Faulty motor, e.g. winding short circuit due to motor overheating or short to PE inside motor. – Short circuit in the cable or the connecting plugs, i.e. short circuit between motor phases or to the screening/PE. – Output stage defective (short circuit). – Incorrect parameterisation of the current regulator. Measure Dependent on the status of the system Additional information, case a) to f ). Additional Measures: informaa) Error only with active brake chopper: Check external braking tion resistor for short circuit or insufficient resistance value. Check circuitry of the brake chopper output at the motor controller (bridge, etc.). b) Error message immediately when the power supply is connected: internal short circuit in the output stage (short circuit of a complete half-bridge). The motor controller can no longer be connected to the power supply; the internal (and possibly external) fuses are tripped. Repair by the manufacturer is required. c) Short circuit error message not until the output stage or controller is enabled. d) Disconnection of motor plug [X6] directly at the motor controller. If the error still occurs, there is a fault in the motor controller. Repair by the manufacturer is required. e) If the error only occurs when the motor cable is connected: check the motor and cable for short circuits, e.g. with a multimeter. f ) Check parameterisation of the current regulator. Oscillations in an incorrectly parameterised current regulator can generate currents up to the short circuit threshold, usually clearly audible as a high-frequency whistling. Verification, if necessary, with the trace in the FCT (actual active current value). Overload current brake chopper PS off Cause Overload current at the brake chopper output. Measure • Check external braking resistor for short circuit or insufficient resistance value. • Check circuitry of the brake chopper output at the motor controller (bridge, etc.). 222 Reaction Festo – GDCP-CMMP-M3/-M0-C-CO-EN – 1304a B Diagnostic messages Fault group 07 No. Code Overvoltage in intermediate circuit Message 07-0 Overvoltage in intermediate circuit PS off Cause Braking resistor is overloaded; too much braking energy which cannot be dissipated quickly enough. – Resistor is incorrectly dimensioned? – Resistor not connected correctly? – Check design (application). 3210h Measure Reaction • Check the design of the braking resistor; resistance value may be too great. • Check the connection to the braking resistor (internal/external). Fault group 08 No. Code Angle transducer error Message 08-0 Resolver angle encoder error Configurable Cause Resolver signal amplitude is faulty. Measure Step-by-step approach Additional information, case a) to c). Additional a) If possible, test with a different (error-free) resolver (replace informathe connecting cable, too). If the error still occurs, there is a tion fault in the motor controller. Repair by the manufacturer is required. b) If the error occurs only with a special resolver and its connecting cable: Check resolver signals (carrier and SIN/COS signal), see specification. If the signals do not comply with the signal specifications, replace the resolver. c) If the error recurs sporadically, check the screen bonding or check whether the resolver simply has an insufficient transmission ratio (standard resolver: A = 0.5). 7380h Festo – GDCP-CMMP-M3/-M0-C-CO-EN – 1304a Reaction 223 B Diagnostic messages Fault group 08 No. Code Angle transducer error Message 08-1 Direction of rotation of incremental position evaluation is not Configurable identical Cause Only encoders with serial position transmission combined with an analogue SIN/COS signal track: The direction of rotation of encoder-internal position determination and incremental evaluation of the analogue track system in the motor controller are the wrong way around Additional information. - Measure Additional information 08-2 7382h Swap the following signals on the [X2B] angle encoder interface (the wires in the connecting plug must be changed around), observing the technical data for the angle encoder where applicable: – Swap SIN/COS track. – Swap the SIN+ / SIN- or COS+ / COS- signals. The encoder counts internally, for example positively in clockwise rotation, while the incremental evaluation counts in negative direction with the same mechanical rotation. The interchange of the direction of rotation is detected mechanically at the first movement of over 30°, and the error is triggered. Error in incremental encoder tracking signal Z0 Cause Signal amplitude of the Z0 track at [X2B] is faulty. – Angle encoder connected? – Angle encoder cable defective? – Angle encoder defective? Measure Additional information 224 Reaction Configurable Check configuration of angle encoder interface: a) Z0 evaluation activated, but no track signals connected or on hand Additional information. b) Encoder signals faulty? c) Test with another encoder. Tab. B.2, Page 258. For example, EnDat 2.2 or EnDat 2.1 without analogue track. Heidenhain encoder: order codes EnDat 22 and EnDat 21. With these encoders there are no incremental signals, even when the cables are connected. Festo – GDCP-CMMP-M3/-M0-C-CO-EN – 1304a B Diagnostic messages Fault group 08 No. Code Angle transducer error Message 08-3 Error in incremental encoder tracking signals Z1 Cause Signal amplitude of the Z1 track at X2B is faulty. – Angle encoder connected? – Angle encoder cable defective? – Angle encoder defective? 7383h Measure Reaction Configurable Check configuration of angle encoder interface: a) Z1 evaluation activated but not connected. b) Encoder signals faulty? c) Test with another encoder. Tab. B.2, Page 258. 08-4 7384h Digital incremental encoder track signals error [X2B] Configurable Cause Faulty A, B, or N track signals at [X2B]. – Angle encoder connected? – Angle encoder cable defective? – Angle encoder defective? Measure Check the configuration of the angle encoder interface. a) Encoder signals faulty? b) Test with another encoder. Tab. B.2, Page 258. 08-5 7385h Error in increment generator of Hall-effect encoder signals Configurable Cause Hall encoder signals of a dig. inc. at [X2B] faulty. – Angle encoder connected? – Angle encoder cable defective? – Angle encoder defective? Measure Check the configuration of the angle encoder interface. a) Encoder signals faulty? b) Test with another encoder. Tab. B.2, Page 258. Festo – GDCP-CMMP-M3/-M0-C-CO-EN – 1304a 225 B Diagnostic messages Fault group 08 No. Code Angle transducer error Message 08-6 Angle encoder communication fault Configurable Cause Communication to serial angle encoders is disrupted (EnDat encoders, HIPERFACE encoders, BiSS encoders). – Angle encoder connected? – Angle encoder cable defective? – Angle encoder defective? 7386h Reaction Measure 08-7 7387h 08-8 7388h Check configuration of the angle encoder interface, procedure corresponding to a) to c): a) Serial encoder parameterised but not connected? Incorrect serial protocol selected? b) Encoder signals faulty? c) Test with another encoder. Tab. B.2, Page 258. Signal amplitude of incremental tracks faulty [X10] Configurable Cause Faulty A, B, or N track signals at [X10]. – Angle encoder connected? – Angle encoder cable defective? – Angle encoder defective? Measure Check the configuration of the angle encoder interface. a) Encoder signals faulty? b) Test with another encoder. Tab. B.2, Page 258. Internal angle encoder error Configurable Cause Internal monitoring of the angle encoder [X2B] has detected an error and forwarded it via serial communication to the controller. – Declining illumination intensity with visual encoders? – Excess rotational speed? – Angle encoder defective? Measure 226 If the error occurs repeatedly, the encoder is defective. Replace encoder. Festo – GDCP-CMMP-M3/-M0-C-CO-EN – 1304a B Diagnostic messages Fault group 08 No. Code Angle transducer error Message 08-9 Angle encoder at [X2B] is not supported Configurable Cause Angle encoder type read at [X2B], which is not supported or cannot be used in the desired operating mode. – Incorrect or inappropriate protocol type selected? – Firmware does not support the connected encoder variant? 7389h Reaction Measure Depending on the additional information of the error message additional information: • Load appropriate firmware. • Check/correct the configuration of the encoder analysis. • Connect an appropriate encoder type. Additional information Additional information (PNU 203/213): 0001: HIPERFACE: Encoder type is not supported by the firmware Connect another encoder type or load more recent firmware. 0002: EnDat: The address space in which the encoder parameters would have to lie does not exist with the connected EnDat encoder Check the encoder type. 0003: EnDat: Encoder type is not supported by the firmware Connect another encoder type or load more recent firmware. 0004: EnDat: Encoder rating plate cannot be read from the connected encoder. Replace encoder or possibly load newer firmware. 0005: EnDat: EnDat 2.2 interface parameterised, but connected encoder supports only EnDat2.1. Change encoder type or reparameterise to EnDat 2.1. 0006: EnDat: EnDat2.1 interface with analogue track evaluation parameterised, but according to rating plate the connected encoder does not support track signals. Change encoder or switch off Z0 track signal evaluation. 0007: Code length measuring system with EnDat2.1 connected, but parameterised as a purely serial encoder. Purely serial evaluation is not possible due to the long response times of this encoder system. Encoder must be operated with analogue track signal evaluation Connect analogue Z0 track signal evaluation. Festo – GDCP-CMMP-M3/-M0-C-CO-EN – 1304a 227 B Diagnostic messages Fault group 09 No. Code Error in the angle encoder parameter set Message 09-0 Old angle encoder parameter set Configurable Cause Warning: An encoder parameter set in an old format was found in the EEPROM of the connected encoder. This has been converted and saved in the new format. 73A1h Reaction Measure 09-1 73A2h 09-2 73A3h 09-3 73A4h 09-4 - 228 No action necessary at this point. The warning should not re-appear when the 24 V supply is switched back on. Angle encoder parameter set cannot be decoded Configurable Cause Data in the EEPROM of the angle encoder could not be read completely, or access to it was partly refused. Measure The EEPROM of the encoder contains data (communication objects) which are not supported by the loaded firmware. The data in question are then discarded. • The parameter set can be adapted to the current firmware by writing the encoder data to the encoder. • Alternatively, load appropriate (more recent) firmware. Unknown version of angle encoder parameter set Configurable Cause The data saved in EEPROM are not compatible with the current version. A data structure was found which is unable to decode the loaded firmware. Measure • Save the encoder parameters again in order to delete the parameter set in the encoder and replace it with a readable set (this will, however, delete the data in the encoder irreversibly). • Alternatively, load appropriate (more recent) firmware. Defective data structure in angle encoder parameter set Configurable Cause Data in EEPROM do not match the stored data structure. The data structure was identified as valid but may be corrupted. Measure • Save the encoder parameters again in order to delete the parameter set in the encoder and replace it with a readable set. If the error still occurs after that, the encoder may be faulty. • Replace the encoder as a test. EEPROM data: user-specific configuration faulty Configurable Cause Only with specialised motors: The plausibility check returns an error, e.g. because the motor was repaired or exchanged. Measure • If motor repaired: Carry out homing again and save in the angle encoder, after that (!) save in the motor controller. • If motor exchanged: Parameterise the controller again, then carry out homing again and save in the angle encoder, after that (!) save in the motor controller. Festo – GDCP-CMMP-M3/-M0-C-CO-EN – 1304a B Diagnostic messages Fault group 09 No. Code Error in the angle encoder parameter set Message 09-7 73A5h 09-9 73A6h Write-protected EEPROM angle encoder Configurable Cause Data cannot be saved in the EEPROM of the angle encoder. Occurs with Hiperface encoders. Measure A data field in the encoder EEPROM is read-only (e.g. after operation on a motor controller of another manufacturer). No solution possible, encoder memory must be unlocked with a corresponding parameterisation tool (from manufacturer). Angle encoder’s EEPROM too small Configurable Cause It is not possible to save all the data in the EEPROM of the angle encoder. Measure • Reduce the number of data records to be saved. Please read the documentation or contact Technical Support. Reaction Fault group 10 No. Code Excessive speed Message 10-0 Overspeed (spin protection) Configurable Cause – Motor racing (“spinning”) because the commutation angle offset is incorrect. – Motor is parameterised correctly, but the limit for spinning protection is set too low. Measure • Check the commutation angle offset. • Check parameterisation of the limit values. - Reaction Fault group 11 No. Code Homing error Message 11-0 8A80h 11-1 8A81h Error when homing is started Configurable Cause Controller enable missing. Measure Homing can only be started when controller enable is active. • Check the condition or sequence. Error during homing Configurable Cause Homing was interrupted, e.g. by: – Removal of controller enable. – Reference switch is behind the limit switch. – External stop signal (a phase was aborted during homing). Measure • Check homing sequence. • Check arrangement of the switches. • If applicable, lock the stop input during homing if it is not desired. Festo – GDCP-CMMP-M3/-M0-C-CO-EN – 1304a Reaction 229 B Diagnostic messages Fault group 11 No. Code Homing error Message 11-2 8A82h 11-3 8A83h 11-4 8A84h 11-5 8A85h Homing: no valid zero impulse Configurable Cause Required zero impulse during homing missing. Measure • Check the zero impulse signal. • Check the angle encoder settings. Homing: timeout Configurable Cause The parameterised maximum time for the homing run was exceeded before the homing run was completed. Measure • Check the time setting in the parameters. Homing: wrong / invalid limit switch Configurable Cause – Associated limit switch not connected. – Limit switches swapped? – No reference switch found between the two limit switches. – Reference switch is on the limit switch. – Current position with zero impulse method: limit switch active in the area of the zero impulse (not permissible). – Both limit switches active at the same time. Measure • Check whether the limit switches are connected in the correct direction of travel or whether the limit switches have an effect on the intended inputs. • Reference switch connected? • Check configuration of the reference switches. • Move limit switch so that it is not in the zero impulse area. • Check limit switch parameterisation (N/C contact/N/O contact). Homing: I²t / following error Configurable Cause – Acceleration ramps not suitably parameterised. – Change of direction due to premature triggering of following error; check parameterisation of following error. – No reference switch reached between the end stops. – Zero impulse method: end stop reached (here not permissible). Reaction Measure 11-6 230 8A86h • Parameterise the acceleration ramps so they are flatter. • Check connection of a reference switch. • Method appropriate for the application? Homing: end of search path Configurable Cause The maximum permissible path for the homing run has been travelled without reaching the reference point or the homing run target. Measure Malfunction in switch detection. • Switch for homing is defective? Festo – GDCP-CMMP-M3/-M0-C-CO-EN – 1304a B Diagnostic messages Fault group 11 No. Code Homing error Message 11-7 Homing: error in encoder difference monitoring Configurable Cause Deviation between the actual position value and commutation position is too great. External angle encoder not connected or faulty? Measure • Deviation fluctuates, e.g. due to gear backlash; cut-off threshold may need to be increased. • Check connection of the actual value encoder. - Reaction Fault group 12 No. Code CAN error Message 12-0 8180h 12-1 8120h 12-2 8181h 12-3 8182h CAN: double node number Configurable Cause Node number assigned twice. Measure • Check configuration of the participant at the CAN bus. CAN: Communication error, bus OFF Configurable Cause The CAN chip has switched off communication due to communication errors (BUS OFF). Measure • Check cabling: cable specification adhered to, broken cable, maximum cable length exceeded, correct terminating resistors, cable screening earthed, all signals terminated? • If necessary, replace device on a test basis. If a different device works without errors with the same cabling, send the device to the manufacturer for checking. CAN: communication error during transmission Configurable Cause The signals are corrupted when transmitting messages. Device boot up is so fast that no other nodes on the bus have yet been detected when the boot-up message is sent. Measure • Check cabling: cable specification adhered to, broken cable, maximum cable length exceeded, correct terminating resistors, cable screening earthed, all signals terminated? • If necessary, replace device on a test basis. If a different device works without errors with the same cabling, send the device to the manufacturer for checking. CAN: communication error during reception Configurable Cause The signals are corrupted when receiving messages. Measure • Check cabling: cable specification adhered to, broken cable, maximum cable length exceeded, correct terminating resistors, cable screening earthed, all signals terminated? • If necessary, replace device on a test basis. If a different device works without errors with the same cabling, send the device to the manufacturer for checking. Festo – GDCP-CMMP-M3/-M0-C-CO-EN – 1304a Reaction 231 B Diagnostic messages Fault group 12 No. Code CAN error Message 12-4 - 12-5 - 12-9 - CAN: node guarding Configurable Cause Node guarding telegram not received within the parameterised time. Signals corrupted? Measure • Compare the cycle time of the remote frames with that of the controller. • Check: failure of the controller? CAN: RPDO too short Configurable Cause A received RPDO does not contain the parameterised number of bytes. Measure The number of parameterised bytes does not match the number of bytes received. • Check the parameterisation and correct. CAN: Protocol error Configurable Cause Faulty bus protocol. Measure • Check the parameterisation of the selected CAN bus protocol. Reaction Fault group 13 No. Code Timeout CAN-Bus Message 13-0 CAN bus timeout Configurable Cause Error message from manufacturer-specific protocol. Measure • Check the CAN parameterisation. - Reaction Fault group 14 No. Code Error identification Message 14-0 - 14-1 - 14-2 - Insufficient power supply for identification PS off Cause Current regulator parameters cannot be determined (insufficient supply). Measure The available intermediate circuit voltage is too low to carry out the measurement. Identification of current regulator: measurement cycle insuffi- PS off cient Cause Too few or too many measurement cycles required for the connected motor. Measure Automatic determination of parameters has supplied a time constant outside the parameterisable value range. • The parameters must be manually optimised. Output stage enable could not be issued PS off Cause Output stage enable has not been issued. Measure • Check the connection of DIN4. 232 Reaction Festo – GDCP-CMMP-M3/-M0-C-CO-EN – 1304a B Diagnostic messages Fault group 14 No. Code Error identification Message 14-3 - 14-5 - 14-6 - 14-7 - 14-8 - Output stage was switched off prematurely PS off Cause Output stage enable was switched off while identification was in progress. Measure • Check the sequence control. Zero impulse could not be found PS off Cause The zero impulse could not be found following execution of the maximum permissible number of electrical revolutions. Measure • Check the zero impulse signal. • Angle encoder parameterised correctly? Hall signals invalid PS off Cause Hall signals faulty or invalid. The pulse train and/or segmenting of the Hall signals is inappropriate. Measure • Check connection. • Refer to the technical data to check whether the encoder shows three Hall signals with 1205 or 605 segments; if necessary, contact Technical Support. Identification not possible PS off Cause Angle encoder at a standstill. Measure • Ensure sufficient intermediate circuit voltage. • Encoder cable connected to the right motor? • Motor blocked, e.g. holding brake does not release? Invalid number of pairs of poles PS off Cause The calculated number of pole pairs lies outside the parameterisable range. Measure • Compare result with the technical data specifications for the motor. • Check the parameterised number of lines. Festo – GDCP-CMMP-M3/-M0-C-CO-EN – 1304a Reaction 233 B Diagnostic messages Fault group 15 No. Code Invalid operation Message 15-0 6185h 15-1 6186h 15-2 - Division by 0 PS off Cause Internal firmware error. Division by 0 when using the math library. Measure • Load factory settings. • Check the firmware to make sure that a released firmware has been loaded. Range exceeded PS off Cause Internal firmware error. Overflow when using the math library. Measure • Load factory settings. • Check the firmware to make sure that a released firmware has been loaded. Counter underrun PS off Cause Internal firmware error. Internal correction factors could not be calculated. Measure • Check the setting of the factor group for extreme values and change if necessary. Reaction Fault group 16 No. Code Internal error Message 16-0 6181h 16-1 6182h 16-2 6187h 16-3 6183h Program execution faulty PS off Cause Internal firmware error. Error during program execution. Illegal CPU command found in the program sequence. Measure • In case of repetition, load firmware again. If the error occurs repeatedly, the hardware is defective. Illegal interrupt PS off Cause Error during program execution. An unused IRQ vector was used by the CPU. Measure • In case of repetition, load firmware again. If the error occurs repeatedly, the hardware is defective. Initialisation error PS off Cause Error in initialising the default parameters. Measure • In case of repetition, load firmware again. If the error occurs repeatedly, the hardware is defective. Unexpected status PS off Cause Error during periphery access within the CPU or error in the program sequence (illegal branching in case structures). Measure • In case of repetition, load firmware again. If the error occurs repeatedly, the hardware is defective. 234 Reaction Festo – GDCP-CMMP-M3/-M0-C-CO-EN – 1304a B Diagnostic messages Fault group 17 No. Code Following error exceeded Message 17-0 8611h 17-1 8611h Following error monitoring Configurable Cause Comparison threshold for the limit value of the following error exceeded. Measure • Increase error window. • Parameterise acceleration to be less. • Motor overloaded (current limitation from I²t monitoring active?). Encoder difference monitoring Configurable Cause Deviation between the actual position value and commutation position is too great. External angle encoder not connected or faulty? Measure • Deviation fluctuates, e.g. due to gear backlash; cut-off threshold may need to be increased. • Check connection of the actual value encoder. Reaction Fault group 18 No. Code Temperature warning threshold Message 18-0 Analogue motor temperature Configurable Cause Motor temperature (analogue) greater than 5° below T_max. Measure • Check parameterisation of current regulator and/or speed regulator. • Motor permanently overloaded? - Reaction Fault group 21 No. Code Error in current measurement Message 21-0 5280h Error 1 current measurement U PS off Cause Offset for current measurement 1 phase U is too great. The controller carries out offset compensation of the current measurement every time its controller enable is issued. Tolerances that are too large result in an error. 21-1 5281h 21-2 5282h 21-3 5283h Reaction Measure If the error occurs repeatedly, the hardware is defective. Error 1 current measurement V PS off Cause Offset for current measurement 1 phase V is too great. Measure If the error occurs repeatedly, the hardware is defective. Error 2 current measurement U PS off Cause Offset for current measurement 2 phase U is too great. Measure If the error occurs repeatedly, the hardware is defective. Error 2 current measurement V PS off Cause Offset for current measurement 2 phase V is too great. Measure If the error occurs repeatedly, the hardware is defective. Festo – GDCP-CMMP-M3/-M0-C-CO-EN – 1304a 235 B Diagnostic messages Fault group 22 No. Code PROFIBUS error (CMMP-AS-...-M3 only) Message 22-0 - 22-2 - 22-3 - 22-4 - PROFIBUS: faulty initialisation Configurable Cause Faulty initialisation of the PROFIBUS interface. Interface defective? Measure • Replace interface. Repair by the manufacturer may be an option. Communication fault PROFIBUS Configurable Cause Malfunctions in communication. Measure • Check the set slave address. • Check bus termination. • Check wiring. PROFIBUS: invalid slave address Configurable Cause Communication was started with slave address 126. Measure • Select a different slave address. PROFIBUS: error in range of values Configurable Cause During conversion with the factor group, the range of values was exceeded. Mathematical error in the conversion of the physical units. Measure The range of values of the data and the physical units do not match. • Check and correct. Reaction Fault group 25 No. Code Device type/function error Message 25-0 6080h 25-1 6081h 25-2 6082h Invalid device type PS off Cause Device coding not recognised or invalid. Measure This fault cannot be fixed by the user. • Send motor controller to the manufacturer. Device type not supported PS off Cause Device coding invalid, is not supported by the loaded firmware. Measure • Load up-to-date firmware. • If newer firmware is not available, the problem may be a hardware defect. Send motor controller to the manufacturer. Hardware revision not supported PS off Cause The controller’s hardware version is not supported by the loaded firmware. Measure • Check the firmware version; update the firmware to a more recent version if necessary. 236 Reaction Festo – GDCP-CMMP-M3/-M0-C-CO-EN – 1304a B Diagnostic messages Fault group 25 No. Code Device type/function error Message 25-3 6083h 25-4 - Device function restricted! PS off Cause Device is not enabled for this function. Measure Device is not enabled for the desired functionality and may need to be enabled by the manufacturer. The device must be sent to Festo for this. Invalid power section type PS off Cause – Power section area in the EEPROM is unprogrammed. – Power section is not supported by the firmware. Measure • Load appropriate firmware. Reaction Fault group 26 No. Code Internal data error Message 26-0 5580h 26-1 5581h 26-2 5582h 26-3 5583h 26-4 5584h 26-5 5585h Missing user parameter set PS off Cause No valid user parameter set in the flash memory. Measure • Load factory settings. If the error remains, the hardware may be defective. Checksum error PS off Cause Checksum error of a parameter set. Measure • Load factory settings. If the error remains, the hardware may be defective. Flash: error when writing PS off Cause Error when writing the internal flash memory. Measure • Execute the last operation again. If the error appears again, the hardware may be faulty. Flash: error during deletion PS off Cause Error during deletion of the internal flash memory. Measure • Execute the last operation again. If the error appears again, the hardware may be faulty. Flash: error in internal flash PS off Cause The default parameter set is corrupted / data error in the FLASH area where the default parameter set is located. Measure • Load firmware again. If the error appears again, the hardware may be faulty. Missing calibration data PS off Cause Factory-set calibration parameters incomplete / corrupted. Measure This fault cannot be fixed by the user. Festo – GDCP-CMMP-M3/-M0-C-CO-EN – 1304a Reaction 237 B Diagnostic messages Fault group 26 No. Code Internal data error Message 26-6 5586h 26-7 - Missing user position data records PS off Cause Position data records incomplete or corrupt. Measure • Load factory settings or • save the current parameters again so that the position data are written again. Error in the data tables (CAM) PS off Cause Data for the cam disc is corrupted. Measure • Load factory settings. • Reload the parameter set if necessary. If the error persists, contact Technical Support. Reaction Fault group 27 No. Code Following error warning threshold Message 27-0 Following error warning threshold Configurable Cause – Motor overloaded? Check sizing. – Acceleration or braking ramps are set too steep. – Motor blocked? Commutation angle correct? Measure • Check the parameterisation of the motor data. • Check parameterisation of the following error. 8611h Reaction Fault group 28 No. Code Operating hour counter error Message 28-0 FF01h 28-1 FF02h 28-2 FF03h Missing hours-run meter Configurable Cause No record for an hours-run meter could be found in the parameter block. A new hours-run meter was created. Occurs during initial start-up or a processor change. Measure Warning only, no further action required. Hours-run meter: write error Configurable Cause The data block in which the hours-run meter is stored could not be written to. Cause unknown; possibly problems with the hardware. Measure Warning only, no further action required. If the error occurs again, the hardware may be faulty. Hours-run meter corrected Configurable Cause The hours-run meter has a backup copy. If the controller's 24 V power supply fails precisely when the hours-run meter is being updated, the written record may be corrupted. In such cases, the controller restores the hours-run meter from the intact backup copy when it switches back on. Measure 238 Reaction Warning only, no further action required. Festo – GDCP-CMMP-M3/-M0-C-CO-EN – 1304a B Diagnostic messages Fault group 28 No. Code Operating hour counter error Message 28-3 Hours-run meter converted Configurable Cause Firmware was loaded in which the hours-run meter has a different data format. The next time the controller is switched on, the old hours-run meter record is converted to the new format. Measure Warning only, no further action required. FF04h Reaction Fault group 29 No. Code MMC/SD card Message 29-0 - 29-1 - MMC/SD card not available Configurable Cause This error is triggered in the following cases: – if an action should be carried out on the memory card (load or create DCO file, firmware download), but no memory card is plugged in. – The DIP switch S3 is set to ON but no card is plugged in after the reset/restart. Measure Insert appropriate memory card in the slot. Only if expressly desired! MMC/SD card: initialisation error Configurable Cause This error is triggered in the following cases: – The memory card could not be initialised. Card type may not be supported! – File system not supported. – Error in relationship with the shared memory. Reaction Measure 29-2 - • Check card type used. • Connect memory card to a PC and format again. MMC/SD card: parameter set error Configurable Cause This error is triggered in the following cases: – A load or storage process is already running, but a new load or storage process is requested. DCO file >> Servo – The DCO file to be loaded has not been found. – The DCO file to be loaded is not appropriate for the device. – The DCO file to be loaded is defective. – Servo >> DCO file – The memory card is read-only. – Other error while saving the parameter set as a DCO file. – Error in creating the file INFO.TXT. Measure • Execute load or storage procedure again after waiting 5 seconds. • Connect memory card to a PC and check the files included. • Remove write protection from the memory card. Festo – GDCP-CMMP-M3/-M0-C-CO-EN – 1304a 239 B Diagnostic messages Fault group 29 No. Code MMC/SD card Message 29-3 MMC/SD card full Configurable Cause – This error is triggered while saving the DCO file or INFO.TXT file if the memory card is discovered to be already full. – The maximum file index (99) already exists. That is, all file indexes are assigned. No filename can be issued! - Reaction Measure 29-4 - • Insert another memory card. • Change filenames. MMC/SD card: firmware download Configurable Cause This error is triggered in the following cases: – No firmware file on the memory card. – The firmware file is not appropriate for the device. – Other error during firmware download, e.g. checksum error with an SRecord, error with flash memory, etc. Measure • Connect memory card to PC and transfer firmware file. Fault group 30 No. Code Internal conversion error Message 30-0 Internal conversion error PS off Cause Range exceeded for internal scaling factors, which are dependent on the parameterised controller cycle times. Measure • Check whether extremely short or extremely long cycle times were set in the parameters. 6380h Fault group 31 No. Code I2t- error Message 31-0 2312h I²t-motor Cause 31-1 2311h 240 Reaction Reaction Configurable I²t monitoring of the controller has been triggered. – Motor/mechanics blocked or sluggish. – Motor under-sized? Measure • Check power dimensioning of drive package. I²t-servo controller Configurable Cause The I²t monitoring is responding frequently. – Motor controller under-sized? – Mechanical system sluggish? Measure • Check project engineering of the motor controller, • Possibly use a more powerful type. • Check the mechanical system. Festo – GDCP-CMMP-M3/-M0-C-CO-EN – 1304a B Diagnostic messages Fault group 31 No. Code I2t- error Message 31-2 2313h 31-3 2314h I²t-PFC Configurable Cause PFC power rating exceeded. Measure • Parameterise operation without PFC (FCT). I²t braking resistor Configurable Cause – Overloading of the internal braking resistor. Measure • Use external braking resistor. • Reduce resistance value or use resistor with higher impulse load. Reaction Fault group 32 No. Code Intermediate circuit error Message 32-0 3280h Intermediate circuit charging time exceeded Configurable Cause The intermediate circuit could not be charged after the mains voltage was applied. – Fuse possibly defective or – Internal braking resistor defective or – In operation with external resistor, the resistor is not connected. Measure • Check interface to the external braking resistor. • Alternatively, check whether the jumper for the internal braking resistor is set. If the interface is correct, the internal braking resistor or the builtin fuse is probably faulty. On-site repair is not possible. 32-1 3281h 32-5 3282h Undervoltage for active PFC Configurable Cause The PFC cannot be activated at all until an intermediate circuit voltage of about 130 V DC is reached. Measure • Check power supply. Brake chopper overload. Intermediate circuit could not be Configurable discharged. Cause The extent of utilisation of the brake chopper when quick discharge began was already in the range above 100 %. Quick discharge took the brake chopper to the maximum load limit and was prevented/aborted. Measure Reaction No action required. Festo – GDCP-CMMP-M3/-M0-C-CO-EN – 1304a 241 B Diagnostic messages Fault group 32 No. Code Intermediate circuit error Message 32-6 3283h Intermediate circuit discharge time exceeded Configurable Cause Intermediate circuit could not be quickly discharged. The internal braking resistor may be faulty or, in the case of operation with an external resistor, that resistor is not connected. Measure • Check interface to the external braking resistor. • Alternatively, check whether the jumper for the internal braking resistor is set. If the internal resistor has been activated and the jumper has been positioned correctly, the internal braking resistor is probably faulty. 32-7 3284h Power supply missing for controller enable Configurable Cause Controller enable was issued when the intermediate circuit was still in its charging phase after mains voltage was applied and the mains relay was not yet activated. The drive cannot be enabled in this phase, because the drive is not yet firmly connected to the mains (through the mains relay). Reaction Measure 32-8 3285h 32-9 3286h • In the application, check whether the mains supply and controller enable signals were sent correspondingly quickly one after the other. Power supply failure during controller enable QStop Cause Interruptions/failure in the power supply while the controller enable was activated. Measure • Check power supply. Phase failure QStop Cause Failure of one or more phases (only in the case of three-phase supply). Measure • Check power supply. Fault group 33 No. Code Encoder emulation following error Message 33-0 Encoder emulation following error Configurable Cause The critical frequency for encoder emulation was exceeded (see manual) and the emulated angle at [X11] was no longer able to follow. Can occur if very high numbers of lines are programmed for [X11] and the drive reaches high speeds. 8A87h Measure 242 Reaction • Check whether the parameterised number of lines may be too high for the speed being represented. • Reduce the number of lines, if necessary. Festo – GDCP-CMMP-M3/-M0-C-CO-EN – 1304a B Diagnostic messages Fault group 34 No. Code Synchronisation fieldbus error Message 34-0 8780h 34-1 8781h No synchronisation via fieldbus Configurable Cause When activating the interpolated position mode, the controller could not be synchronised to the fieldbus. – The synchronisation messages from the master may have failed or – the IPO interval is not correctly set to the synchronisation interval of the fieldbus. Measure • Check the settings for the controller cycle times. Fieldbus synchronisation error Configurable Cause – Synchronisation via fieldbus messages during ongoing operation (interpolated position mode) has failed. – Synchronisation messages from master failed? – Synchronisation interval (IPO interval) parameterised too small/too large? Measure Reaction • Check the settings for the controller cycle times. Fault group 35 No. Code Linear motor Message 35-0 Linear motor spinning protection Configurable Cause Encoder signals are corrupt. The motor may be racing (“spinning”) because the commutation position has been shifted by the faulty encoder signals. Measure • Check that the installation conforms to the EMC recommendations. • In the case of linear motors with inductive/optical encoders with separately mounted measuring tape and measuring head: check the mechanical clearance. • In the case of linear motors with inductive encoders, make sure that the magnetic field of the magnets or the motor winding does not leak into the measuring head (this effect usually occurs when high accelerations = high motor current). 8480h Festo – GDCP-CMMP-M3/-M0-C-CO-EN – 1304a Reaction 243 B Diagnostic messages Fault group 35 No. Code Linear motor Message 35-5 Error during the determination of the commutation position Configurable Cause The rotor position could not be identified clearly. – The selected method may be inappropriate. – The selected motor current for the identification may not be set appropriately. - Measure Additional information Reaction • Check the method for determining the commutation position Additional information. Notes on determining the commutation position: a) The alignment method is inappropriate for locked or sluggish drives or drives capable of low-frequency oscillation. b) The microstep method is appropriate for air-core and iron-core motors. As only very small movements are carried out, it works even when the drive is on elastic stops or is locked but can still be moved elastically to some extent. Due to the high excitation frequency, however, the method is very susceptible to oscillations in the case of poorly damped drives. In such cases, you can attempt to reduce the excitation current (%). c) The saturation method uses local occurrences of saturation in the iron of the motor. Recommended for locked drives. Air-core drives are by definition not suitable for this method. If the (ironcore) drive moves too much when locating the commutation position, the measurement result may be adulterated. If this is the case, reduce the excitation current. In the opposite case, if the drive does not move, the excitation current may not be strong enough, causing the saturation to be insufficient. Fault group 36 No. Code Parameter error Message 36-0 6320h 36-1 6320h Parameter was limited Configurable Cause An attempt was made to write a value which was outside the permissible limits, so the value was limited. Measure • Check the user parameter set. Parameter was not accepted Configurable Cause An attempt was made to write to an object which is “read only” or is not write-capable in the current status (e.g. with controller enable active). Measure • Check the user parameter set. 244 Reaction Festo – GDCP-CMMP-M3/-M0-C-CO-EN – 1304a B Diagnostic messages Fault group 40 No. Code Software limit switch Message 40-0 8612h 40-1 8612h 40-2 8612h 40-3 8612h Negative software limit switch Configurable Cause The position setpoint has reached or exceeded the negative software limit switch. Measure • Check target data. • Check positioning area. Positive software limit switch reached Configurable Cause The position setpoint has reached or exceeded the positive software limit switch. Measure • Check target data. • Check positioning area. Target position behind the negative software limit switch Configurable Cause Start of a positioning task was suppressed because the target lies behind the negative software limit switch. Measure • Check target data. • Check positioning area. Target position behind the positive software limit switch Configurable Cause The start of a positioning task was suppressed because the target lies behind the positive software limit switch. Measure • Check target data. • Check positioning area. Reaction Fault group 41 No. Code Position set forwarding: synchronisation error Message 41-0 Position set forwarding: synchronisation error Configurable Cause Start of synchronisation without prior sampling pulse. Measure • Check parameterisation of the lead section. - Reaction Fault group 42 No. Code Positioning error Message 42-0 8680h 42-1 8681h Positioning: no subsequent positioning: stop Configurable Cause The positioning target cannot be reached through the positioning or parameters options. Measure • Check parameterisation of the position records in question. Positioning: reversing direction of rotation not allowed: stop Configurable Cause The positioning target cannot be reached through the positioning or parameters options. Measure • Check parameterisation of the position records in question. Festo – GDCP-CMMP-M3/-M0-C-CO-EN – 1304a Reaction 245 B Diagnostic messages Fault group 42 No. Code Positioning error Message 42-2 8682h 42-3 - 42-4 - 42-5 - Positioning: reversing after halt not allowed Configurable Cause The positioning target cannot be reached through the positioning or parameters options. Measure • Check parameterisation of the position records in question. Start positioning rejected: wrong operating mode Configurable Cause Switching of the operating mode by means of the position record was not possible. Measure • Check parameterisation of the position records in question. Start positioning rejected: homing required Configurable Cause A normal positioning record was started, but the drive needs a valid reference position before starting. Measure • Execute new homing. Modulo positioning: direction of rotation not allowed Configurable Cause – The positioning target cannot be reached through the positioning or parameters options. – The calculated direction of rotation is not permitted for the modulo positioning according to the set mode. 42-9 - Reaction Measure • Check the chosen mode. Error when starting the positioning task Configurable Cause – Acceleration limit value exceeded. – Position record blocked. Measure • Check parameterisation and sequence control, correct if necessary. Fault group 43 No. Code Hardware limit switch error Message 43-0 8081h 43-1 8082h 43-2 8083h Limit switch: negative setpoint value blocked Configurable Cause Negative hardware limit switch reached. Measure • Check parameterisation, wiring and limit switch. Limit switch: positive setpoint value blocked Configurable Cause Positive hardware limit switch reached. Measure • Check parameterisation, wiring and limit switch. Limit switch: positioning suppressed Configurable Cause – The drive has left the intended range of motion. – Technical defect in the system? Measure • Check the intended range of motion. 246 Reaction Festo – GDCP-CMMP-M3/-M0-C-CO-EN – 1304a B Diagnostic messages Fault group 44 No. Code Cam disc error Message 44-0 - 44-1 - Fault in the cam disc tables Configurable Cause Cam disc to be started not available. Measure • Check transferred cam disc no. • Correct parameterisation. • Correct programming. Cam disc: general error in homing Configurable Cause – Start of a cam disc, but the drive is not yet referenced. Measure • Execute homing. Cause – Start of homing with active cam disc. Measure • Deactivate cam disc. Then restart cam disc if necessary. Reaction Fault group 47 No. Code Setting-up timeout Message 47-0 Error in setting-up: timeout expired Configurable Cause The speed required for setting-up was not fallen below in time. Measure Check processing of the request on the control side. - Reaction Fault group 48 No. Code Homing required Message 48-0 Homing required QStop Cause An attempt is being made to switch to the speed control or torque control operating mode or to issue the controller enable in one of these operating modes, although the drive requires a valid reference position for this. Measure • Execute homing. - Reaction Fault group 50 No. Code CAN error Message 50-0 Too many synchronous PDOs Configurable Cause More PDOs have been activated than can be processed in the underlying SYNC interval. This message also appears if only one PDO is to be transmitted synchronously, but a high number of other PDOs with a different transmission type have been activated. - Measure Reaction • Check the activation of PDOs. If the configuration is appropriate, the warning can be suppressed using error management. • Extend the synchronisation interval. Festo – GDCP-CMMP-M3/-M0-C-CO-EN – 1304a 247 B Diagnostic messages Fault group 50 No. Code CAN error Message 50-1 SDO errors have occurred Cause An SDO transfer has caused an SDO abort. – Data exceed the range of values. – Access to non-existent object. Measure • Check the command sent. - Reaction Configurable Fault group 51 No. Code Safety module error (CMMP-AS-...-M3 only) Message 51-0 - 51-2 - 51-3 - No / unknown safety module (error cannot be acknowledged) PS off Cause – No safety module detected or unknown module type. Measure • Install a safety or micro switch module that is appropriate for the firmware and hardware. • Load firmware that is appropriate for the safety or micro switch module, refer to type designation on the module. Cause – Internal voltage error of the safety module or micro switch module. Measure • Module presumably defective. If possible, replace with another module. Safety module: unequal module type (error cannot be PS off acknowledged) Cause Type or revision of the module does not fit the project planning. Measure • With module replacement: module type not yet designed. Take over currently integrated safety or micro switch module as accepted. Safety module: unequal module version (error cannot be PS off acknowledged) Cause Type or revision of the module is not supported. Measure • Install a safety or micro switch module that is appropriate for the firmware and hardware. • Load firmware that is appropriate for the module, see type designation on the module. Reaction Fault group 51 No. Code Safety function error (CMMP-AS-...-M0 only) Message 51-0 Safety function: driver function defective (error cannot be PS off acknowledged) Cause Internal voltage error of the STO circuit. Measure • Protection circuit defective. No action possible, please contact Festo. If possible, replace with another motor controller. 248 - Reaction Festo – GDCP-CMMP-M3/-M0-C-CO-EN – 1304a B Diagnostic messages Fault group 52 No. Code Safety module error (CMMP-AS-...-M3 only) Message 52-1 - 52-2 - Safety module: discrepancy time expired PS off Cause – Control ports STO-A and STO-B are not actuated simultaneously. Measure • Check discrepancy time. Cause – Control ports STO-A and STO-B are not wired in the same way. Measure • Check discrepancy time. Safety module: driver supply failure with active pulse-width PS off modulation control Cause This error message does not occur with equipment delivered from the factory. It can occur with use of a user-specific device firmware. Measure • The safe status was requested with approved power output stage. Check inclusion in the safety-oriented interface. Reaction Fault group 52 No. Code Safety function error (CMMP-AS-...-M0 only) Message 52-1 - 52-2 - Safety function: Discrepancy time has elapsed PS off Cause – Control ports STO-A and STO-B are not actuated simultaneously. Measure • Check discrepancy time. Cause – Control ports STO-A and STO-B are not wired in the same way. Measure • Check discrepancy time. Safety function: Failure of driver supply with active PWM PS off control Cause This error message does not occur with equipment delivered from the factory. It can occur with use of a user-specific device firmware. Measure • The safe status was requested with approved power output stage. Check inclusion in the safety-oriented interface. Reaction Fault group 62 No. Code EtherCAT error (CMMP-AS-...-M3 only) Message 62-0 - 62-1 - 62-2 - EtherCAT: general bus error Configurable Cause No EtherCAT bus present. Measure • Switch on the EtherCAT master. • Check wiring. EtherCAT: Initialisation error Configurable Cause Error in the hardware. Measure • Replace the interface and send it to the manufacturer for inspection. EtherCAT: protocol error Configurable Cause CAN over EtherCAT is not in use. Measure • Incorrect protocol. • EtherCAT bus cabling fault. Festo – GDCP-CMMP-M3/-M0-C-CO-EN – 1304a Reaction 249 B Diagnostic messages Fault group 62 No. Code EtherCAT error (CMMP-AS-...-M3 only) Message 62-3 - 62-4 - 62-5 - EtherCAT: invalid RPDO length Configurable Cause Sync manager 2 buffer size is too large. Measure • Check the RPDO configuration of the motor controller and the control system. EtherCAT: invalid TPDO length Configurable Cause Sync manager 3 buffer size is too large. Measure • Check the TPDO configuration of the motor controller and the control system. EtherCAT: erroneous cyclic data transmission Configurable Cause Emergency shut-down due to failure of cyclic data transmission. Measure • Check the configuration of the master. Synchronous transmission is unstable. Reaction Fault group 63 No. Code EtherCAT error (CMMP-AS-...-M3 only) Message 63-0 - 63-1 - 63-2 - 63-3 - 63-4 - EtherCAT: interface defective Configurable Cause Error in the hardware. Measure • Replace the interface and send it to the manufacturer for inspection. EtherCAT: invalid data Configurable Cause Faulty telegram type. Measure • Check wiring. EtherCAT: TPDO data has not been read Configurable Cause The buffer for sending the data is full. Measure The data was sent faster than the motor controller could process it. • Reduce the cycle time on the EtherCAT bus. EtherCAT: No distributed clocks active Configurable Cause Warning: Firmware is synchronising with the telegram, not with the distributed clocks system. When the EtherCAT was started, no hardware SYNC (distributed clocks) was found. The firmware now synchronises with the EtherCAT frame. Measure • If necessary, check whether the master supports the Distributed Clocks feature. • Otherwise: Ensure that the EtherCAT frames are not interrupted by other frames if the Interpolated Position Mode is to be used. EtherCAT: missing SYNC message in the IPO cycle Configurable Cause Telegrams are not being sent in the time slot pattern of the IPO. Measure • Check the participant responsible for distributed clocks. 250 Reaction Festo – GDCP-CMMP-M3/-M0-C-CO-EN – 1304a B Diagnostic messages Fault group 64 No. Code DeviceNet error (CMMP-AS-...-M3 only) Message 64-0 - 64-1 - 64-2 - 64-3 - 64-4 - 64-5 - 64-6 - DeviceNet: Duplicate MAC ID Configurable Cause The duplicate MAC-ID check has found two nodes with the same MAC-ID. Measure • Change the MAC-ID of one of the nodes to an unused value. DeviceNet: bus power lost Configurable Cause The DeviceNet interface is not supplied with 24 V DC. Measure • In addition to the motor controller, the DeviceNet interface must also be connected to 24 V DC. DeviceNet: receive buffer overflow Configurable Cause Too many messages received within a short period. Measure • Reduce the scan rate. DeviceNet: send buffer overflow Configurable Cause Not sufficient free space on the CAN bus for sending messages. Measure • Increase the baud rate. • Reduce the number of nodes. • Reduce the scan rate. DeviceNet: IO message not sent Configurable Cause Error sending I/O data. Measure • Check to ensure the network is connected correctly and has no faults. DeviceNet: bus off Configurable Cause The CAN controller is BUS OFF. Measure • Check to ensure the network is connected correctly and has no faults. DeviceNet: CAN controller reports overflow Configurable Cause The CAN controller has an overflow. Measure • Increase the baud rate. • Reduce the number of nodes. • Reduce the scan rate. Reaction Fault group 65 No. Code DeviceNet error (CMMP-AS-...-M3 only) Message 65-0 - 65-1 - DeviceNet activated, but no interface Configurable Cause The DeviceNet communication is activated in the parameter set of the motor controller, but no interface is available. Measure • Deactivate the DeviceNet communication. • Connect an interface. DeviceNet: IO connection timeout Configurable Cause Interruption of an I/O connection. Measure • An I/O message is not received within the expected time. Festo – GDCP-CMMP-M3/-M0-C-CO-EN – 1304a Reaction 251 B Diagnostic messages Fault group 68 No. Code EtherNet/IP error (CMMP-AS-...-M3 only) Message 68-0 - 68-1 - 68-2 - 68-3 - 68-6 - EtherNet/IP: serious error Configurable Cause A serious internal error has occurred. It can be triggered by a defective interface, for example. Measure • Try to acknowledge the error. • Carry out a reset. • Replace the interface. • If the error continues, contact Technical Support. EtherNet/IP: general communication error Configurable Cause A serious error was detected in the EtherNet/IP interface. Measure • Try to acknowledge the error. • Carry out a reset. • Replace the interface. • If the error continues, contact Technical Support. EtherNet/IP: Connection has been closed Configurable Cause The connection was closed via the controller. Measure A new connection to the controller must be constructed. EtherNet/IP: connection interruption Configurable Cause A connection interruption occurred during operation. Measure • Check the cabling between the motor controller and the controller. • Construct a new connection to the controller. EtherNet/IP: duplicate network address present Configurable Cause At least one device with the same IP address exists in the network. Measure • Use unique IP addresses for all equipment in the network. Reaction Fault group 69 No. Code EtherNet/IP error (CMMP-AS-...-M3 only) Message 69-0 - 69-1 - 69-2 - EtherNet/IP: minor error Configurable Cause A minor error was detected in the EtherNet/IP interface. Measure • Try to acknowledge the error. • Carry out a reset. EtherNet/IP: incorrect IP configuration Configurable Cause An incorrect IP configuration has been detected. Measure • Correct the IP configuration. EtherNet/IP: Fieldbus interface not found Configurable Cause There is no EtherNet/IP interface in the slot. Measure • Please check whether an EtherNet/IP interface is in slot Ext2. 252 Reaction Festo – GDCP-CMMP-M3/-M0-C-CO-EN – 1304a B Diagnostic messages Fault group 69 No. Code EtherNet/IP error (CMMP-AS-...-M3 only) Message 69-3 EtherNet/IP: interface version not supported Configurable Cause There is an EtherNet/IP interface with incompatible version in the slot. Measure • Please update the firmware to the latest motor controller firmware. - Reaction Fault group 70 No. Code FHPP protocol error Message 70-1 - 70-2 - 70-3 - FHPP: mathematical error Configurable Cause Overrun/underrun or division by zero during calculation of cyclic data. Measure • Check the cyclic data. • Check the factor group. FHPP: factor group invalid Configurable Cause Calculation of the factor group leads to invalid values. Measure • Check the factor group. FHPP: invalid operating mode change Configurable Cause Changing from the current to the desired operating mode is not permitted. – Error occurs when the OPM bits in the status S5 “Reaction to fault” or S4 “Operation enabled” are changed. – Exception: In the status SA1 “Ready”, the change between “Record select” and “Direct Mode” is permissible. Measure • Check your application. It may be that not every change is permissible. Reaction Fault group 71 No. Code FHPP protocol error Message 71-1 - 71-2 - FHPP: invalid receive telegram Configurable Cause Too little data is being transmitted by the control system (data length too short). Measure • Check the data length parameterised in the control system for the controller’s received telegram. • Check the configured data length in the FHPP+ Editor of the FCT. FHPP: invalid response telegram Configurable Cause Too much data is to be transmitted from the motor controller to the control system (data length too great). Measure • Check the data length parameterised in the control system for the controller’s received telegram. • Check the configured data length in the FHPP+ Editor of the FCT. Festo – GDCP-CMMP-M3/-M0-C-CO-EN – 1304a Reaction 253 B Diagnostic messages Fault group 72 No. Code PROFINET error (CMMP-AS-...-M3 only) Message 72-0 - 72-1 - 72-3 - 72-4 - 72-5 - 72-6 - PROFINET: initialisation error Configurable Cause Interface presumably includes an incompatible stack version or is defective. Measure • Replace interface. PROFINET: bus error Configurable Cause No communication possible (e.g. line removed). Measure • Check cabling • Start PROFINET communication again. PROFINET: invalid IP configuration Configurable Cause An invalid IP configuration was entered in the interface. The interface cannot start with it. Measure • Parameterise a permissible IP configuration via FCT. PROFINET: invalid device name Configurable Cause A PROFINET device name was assigned with which the controller cannot communicate with the PROFINET (character specification from PROFINET standard). Measure • Parameterise a permissible PROFINET device name via FCT. PROFINET: interface defective Configurable Cause Interface CAMC-F-PN defective. Measure • Replace interface. PROFINET: indication invalid/not supported Configurable Cause A message is issued by the PROFINET interface that is not supported by the motor controller. Measure • Please contact Technical Support. Reaction Fault group 73 No. Code PROFIenergy error (CMMP-AS-...-M3 only) Message 73-0 PROFIenergy: status not possible Configurable Cause An attempt was made in a positioning motion to place the controller in the energy-saving status. This is only possible at rest. The drive does not take on the status and continues to travel. Measure – 254 - Reaction Festo – GDCP-CMMP-M3/-M0-C-CO-EN – 1304a B Diagnostic messages Fault group 80 No. Code IRQ overflow Message 80-0 F080h 80-1 F081h 80-2 F082h 80-3 F083h Current regulator IRQ overflow Cause The process data could not be calculated in the set current/velocity/position interpolator cycle. Measure • Please contact Technical Support. Speed regulator IRQ overflow Cause The process data could not be calculated in the set current/velocity/position interpolator cycle. Measure • Please contact Technical Support. Overflow position controller IRQ Cause The process data could not be calculated in the set current/velocity/position interpolator cycle. Measure • Please contact Technical Support. Interpolator IRQ overflow Cause The process data could not be calculated in the set current/velocity/position interpolator cycle. Measure • Please contact Technical Support. Reaction PS off PS off PS off PS off Fault group 81 No. Code IRQ overflow Message 81-4 F084h 81-5 F085h Low-level IRQ overflow PS off Cause The process data could not be calculated in the set current/velocity/position interpolator cycle. Measure • Please contact Technical Support. MDC IRQ overflow PS off Cause The process data could not be calculated in the set current/velocity/position interpolator cycle. Measure • Please contact Technical Support. Reaction Fault group 82 No. Code Sequence control Message 82-0 - 82-1 - Sequence control Configurable Cause IRQ4 overflow (10 ms low-level IRQ). Measure • Internal process control: process was interrupted. • For information only - no action required. Multiple-started CO write access Configurable Cause Parameters in cyclical and acyclical operation are used concurrently. Measure • Only one parameterisation interface can be used (USB or Ethernet). Festo – GDCP-CMMP-M3/-M0-C-CO-EN – 1304a Reaction 255 B Diagnostic messages Fault group 83 No. Code Interface error (CMMP-AS-...-M3 only) Message 83-0 Invalid option module Configurable Cause – The plugged-in interface could not be detected. – The loaded firmware is not known. – A supported interface might be plugged into the wrong slot (e.g. SERCOS 2, EtherCAT). - Measure 83-1 - 83-2 - Reaction • Check firmware whether interface is supported. If it is: • Check that the interface is in the right place and is plugged in correctly. • Replace interface and/or firmware. Option module not supported Configurable Cause The plugged-in interface could be detected but is not supported by the loaded firmware. Measure • Check firmware whether interface is supported. • If necessary, replace the firmware. Option module: hardware revision not supported Configurable Cause The plugged-in interface could be detected and is basically also supported. But in this case, the current hardware version is not supported (because it is too old). Measure • The interface must be exchanged. If necessary, contact Technical Support. Fault group 84 No. Code Conditions for controller enable not fulfilled Message 84-0 Conditions for controller enable not fulfilled Warn Cause One or more conditions for controller enable are not fulfilled. These include: – DIN4 (output stage enable) is off. – DIN5 (controller enable) is off. – Intermediate circuit not yet loaded. – Encoder is not yet ready for operation. – Angle encoder identification is still active. – Automatic current regulator identification is still active. – Encoder data are invalid. – Status change of the safety function not yet completed. – Firmware or DCO download via Ethernet (TFTP) active. – DCO download onto memory card still active. – Firmware download via Ethernet active. Measure • Check status of digital inputs. • Check encoder cables. • Wait for automatic identification. • Wait for completion of the firmware or DCO downloads. 256 - Reaction Festo – GDCP-CMMP-M3/-M0-C-CO-EN – 1304a B Diagnostic messages Fault group 90 No. Code Internal error Message 90-0 5080h 90-2 5080h 90-3 5080h 90-4 5080h 90-5 5080h 90-6 5080h 90-9 5080h Missing hardware components (SRAM) PS off Cause External SRAM not detected / not sufficient. Hardware error (SRAM component or board is defective). Measure • Please contact Technical Support. Error when booting FPGA PS off Cause The FPGA (hardware) cannot be booted. The FPGA is booted serially when the device is started, but in this case it could not be loaded with data or it reported a checksum error. Measure • Switch on the device again (24 V). If the error appears again, the hardware is faulty. Error at SD-ADU start PS off Cause SD-ADUs (hardware) cannot be started. One or more SD-ADUs are not supplying any serial data. Measure • Switch on the device again (24 V). If the error appears again, the hardware is faulty. SD-ADU synchronisation error after start PS off Cause SD-ADU (hardware) not synchronous after starting. During operation, the SD-ADUs for the resolver signals continue running with strict synchronisation once they have been initially started synchronously. The SD-ADUs could not be started at the same time during that initial start phase. Measure • Switch on the device again (24 V). If the error appears again, the hardware is faulty. SD-ADU not synchronous PS off Cause SD-ADU (hardware) not synchronous after starting. During operation, the SD-ADUs for the resolver signals continue running with strict synchronisation once they have been initially started synchronously. This is checked continually during operation and an error may be triggered. Measure • Possibly a massive EMC coupling. • Switch on the device again (24 V). If the error appears again, the hardware is faulty. IRQ0 (current regulator): trigger error PS off Cause The output stage does not trigger the software IRQ, which then operates the current regulator. Very likely to be a hardware error on the board or in the processor. Measure • Switch on the device again (24 V). If the error appears again, the hardware is faulty. DEBUG firmware loaded PS off Cause A development version compiled for the debugger was loaded as normal. Measure • Check the firmware version, and update the firmware if necessary. Festo – GDCP-CMMP-M3/-M0-C-CO-EN – 1304a Reaction 257 B Diagnostic messages Fault group 91 No. Code Initialisation error Message 91-0 6000h 91-1 - 91-2 - 91-3 - Internal initialisation error PS off Cause Internal SRAM too small for the compiled firmware. Can only occur with development versions. Measure • Check the firmware version, and update the firmware if necessary. Memory error when copying PS off Cause Firmware parts were not copied correctly from the external FLASH into the internal RAM. Measure • Switch on the device again (24 V). If the error occurs repeatedly, check the firmware version and update the firmware if necessary. Error when reading the controller/power section coding PS off Cause The ID-EEPROM in the controller or power section could either not be addressed at all or does not have consistent data. Measure • Switch on the device again (24 V). If the error occurs repeatedly, the hardware is faulty. No repair possible. Software initialisation error PS off Cause One of the following components is missing or could not be initialised: a) Shared memory not available or defective. b) Driver library not available or defective. Measure • Check firmware design, update if necessary. Reaction Instructions on actions with the error messages 08-2 … 08-7 Measure Notes • Check whether encoder signals are faulty. • Test with other encoders. – Check the wiring, e.g. are one or more phases of the track signals interrupted or short-circuited? – Check that installation complies with EMC recommendations (cable screening on both sides?). – Only with incremental encoders: With TTL single-ended signals (HALL signals are always TTL single-ended signals): Check whether there might be an excessive voltage drop on the GND line; in this case = signal reference. Check whether there might be an excessive voltage drop on the GND line; in this case = signal reference. – Check the level of supply voltage on the encoder. Sufficient? If not, change the cable diameter (connect unused lines in parallel) or use voltage feedback (SENSE+ and SENSE-). – If the error still occurs when the configuration is correct, test with a different (error-free) encoder (replace the connecting cable as well). If the error still occurs, there is a fault in the motor controller. Repair by the manufacturer is required. Tab. B.2 Instructions on error messages 08-2 … 08-7 258 Festo – GDCP-CMMP-M3/-M0-C-CO-EN – 1304a CMMP-AS-...-M3/-M0 Index A Acceleration – Brake (position) . . . . . . . . . . . . . . . . . . . . . 183 – Quick stop (position) . . . . . . . . . . . . . . . . . 183 acceleration_factor . . . . . . . . . . . . . . . . . . . . . 83 Activate undervoltage monitor . . . . . . . . . . . . 92 Actual position value (increments) . . . . . . . . 108 Actual speed value . . . . . . . . . . . . . . . . . . . . . 199 Actual value – Position in increments (position_actual_value_s) . . . . . . . . . . . . . 108 – Position in position units (position_actual_value) . . . . . . . . . . . . . . . 108 – Torque (torque_actual_value) . . . . . . . . . . 209 actual_dc_link_circuit_voltage . . . . . . . . . . . . 91 actual_size . . . . . . . . . . . . . . . . . . . . . . . . . . . 192 analog_input_offset . . . . . . . . . . . . . . . . . . . . 126 analog_input_offset_ch_0 . . . . . . . . . . . . . . . 126 analog_input_offset_ch_1 . . . . . . . . . . . . . . . 126 analog_input_offset_ch_2 . . . . . . . . . . . . . . . 126 analog_input_voltage . . . . . . . . . . . . . . . . . . 125 analog_input_voltage_ch_0 . . . . . . . . . . . . . 125 analog_input_voltage_ch_1 . . . . . . . . . . . . . 125 analog_input_voltage_ch_2 . . . . . . . . . . . . . 126 Analogue inputs – Input voltage . . . . . . . . . . . . . . . . . . . . . . . . 125 – Input voltage channel 0 . . . . . . . . . . . . . . . 125 – Input voltage channel 1 . . . . . . . . . . . . . . . 125 – Input voltage channel 2 . . . . . . . . . . . . . . . 126 – Offset voltage . . . . . . . . . . . . . . . . . . . . . . . 126 – Offset voltage channel 0 . . . . . . . . . . . . . . . 126 – Offset voltage channel 1 . . . . . . . . . . . . . . . 126 – Offset voltage channel 2 . . . . . . . . . . . . . . . 126 Angle encoder offset . . . . . . . . . . . . . . . . . . . . 98 Approach new position . . . . . . . . . . . . . . . . . 185 B Behaviour with command – disable operation . . . . . . . . . . . . . . . . . . . . – quick stop . . . . . . . . . . . . . . . . . . . . . . . . . . – shutdown . . . . . . . . . . . . . . . . . . . . . . . . . . Brake delay time . . . . . . . . . . . . . . . . . . . . . . Festo – GDCP-CMMP-M3/-M0-C-CO-EN – 1304a 166 166 165 139 brake_delay_time . . . . . . . . . . . . . . . . . . . . . buffer_clear . . . . . . . . . . . . . . . . . . . . . . . . . . buffer_organisation . . . . . . . . . . . . . . . . . . . . buffer_position . . . . . . . . . . . . . . . . . . . . . . . 139 193 192 192 C cob_id_sync . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 cob_id_used_by_pdo . . . . . . . . . . . . . . . . . . . 29 commissioning_state . . . . . . . . . . . . . . . . . . . 144 Contouring error . . . . . . . . . . . . . . . . . . . . . . . 103 – Error window . . . . . . . . . . . . . . . . . . . . . . . . 109 – Limit value overrun . . . . . . . . . . . . . . . . . . . 111 – Time-out time . . . . . . . . . . . . . . . . . . . . . . . 109 Contouring error limit value . . . . . . . . . . . . . . 111 Contouring error limit value exceeded . . . . . . 111 Control word for interpolation data . . . . . . . . 189 control_effort . . . . . . . . . . . . . . . . . . . . . . . . . 110 Controller enable logic . . . . . . . . . . . . . . . . . . . 88 Controller error . . . . . . . . . . . . . . . . . . . . . . . . . 37 controlword . . . . . . . . . . . . . . . . . . . . . . . . . . 154 – Bit assignment . . . . . . . . . . . . . . 150, 153, 155 – Commands . . . . . . . . . . . . . . . . . . . . . . . . . 155 – Object description . . . . . . . . . . . . . . . . . . . 154 Conversion factors . . . . . . . . . . . . . . . . . . . . . . 77 – Choice of prefix . . . . . . . . . . . . . . . . . . . . . . . 86 – Position factor . . . . . . . . . . . . . . . . . . . . . . . 79 Correction velocity . . . . . . . . . . . . . . . . . . . . . 106 Current following error . . . . . . . . . . . . . . . . . . 109 Current intermediate circuit voltage . . . . . . . . 91 Current limiting . . . . . . . . . . . . . . . . . . . . . . . . 114 Current regulator – Gain . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100 – Parameters . . . . . . . . . . . . . . . . . . . . . . . . . 100 – Time constant . . . . . . . . . . . . . . . . . . . . . . . 100 Current setpoint value . . . . . . . . . . . . . . . . . . 209 current_actual_value . . . . . . . . . . . . . . . . . . . 210 current_limitation . . . . . . . . . . . . . . . . . . . . . 114 curve generator . . . . . . . . . . . . . . . . . . . . . . . 180 Cycle time – Current regulator . . . . . . . . . . . . . . . . . . . . 143 – Position control . . . . . . . . . . . . . . . . . 143, 144 – Speed regulator . . . . . . . . . . . . . . . . . . . . . 143 259 CMMP-AS-...-M3/-M0 Cycle time PDOs . . . . . . . . . . . . . . . . . . . . . . . . 29 cycletime_current_controller . . . . . . . . . . . . . 143 cycletime_position_controller . . . . . . . . . . . . 143 cycletime_trajectory_generator . . . . . . . . . . 144 cycletime_velocity_controller . . . . . . . . . . . . 143 D dc_link_circuit_voltage . . . . . . . . . . . . . . . . . 210 Deactivate undervoltage monitor . . . . . . . . . . 92 Device Control . . . . . . . . . . . . . . . . . . . . . . . . 148 Device nominal current . . . . . . . . . . . . . . . . . . 92 Device nominal voltage . . . . . . . . . . . . . . . . . . 90 dig_out_state_mapp_dout_1 . . . . . . . . . . . . 129 dig_out_state_mapp_dout_2 . . . . . . . . . . . . 129 dig_out_state_mapp_dout_3 . . . . . . . . . . . . 129 dig_out_state_mapp_ea88_0_high . . . . . . . 131 dig_out_state_mapp_ea88_0_low . . . . . . . . 131 Digital inputs . . . . . . . . . . . . . . . . . . . . . . . . . 127 Digital outputs . . . . . . . . . . . . . . . . . . . . . . . . 128 – Mapping . . . . . . . . . . . . . . . . . . . . . . . . . . . 129 – Mapping of CAMC-EA . . . . . . . . . . . . . . . . . 131 – Mapping of DOUT1 . . . . . . . . . . . . . . . . . . . 129 – Mapping of DOUT2 . . . . . . . . . . . . . . . . . . . 129 – Mapping of DOUT3 . . . . . . . . . . . . . . . . . . . 129 – Mask . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128 – Statuses . . . . . . . . . . . . . . . . . . . . . . . . . . . 128 digital_inputs . . . . . . . . . . . . . . . . . . . . . . . . . 127 digital_outputs . . . . . . . . . . . . . . . . . . . . . . . . 128 digital_outputs_data . . . . . . . . . . . . . . . . . . . 128 digital_outputs_mask . . . . . . . . . . . . . . . . . . 128 digital_outputs_state_mapping . . . . . . . . . . 129 disable_operation_option_code . . . . . . . . . . 166 Divisor – acceleration_factor . . . . . . . . . . . . . . . . . . . 84 – position_factor . . . . . . . . . . . . . . . . . . . . . . . 79 – velocity_encoder_factor . . . . . . . . . . . . . . . . 81 drive_data . . . . . . . . . . . . . 88, 97, 111, 132, 138 E EMERGENCY Message . . . . . . . . . . . . . . . . . . . Enable Logic . . . . . . . . . . . . . . . . . . . . . . . . . . . enable_dc_link_undervoltage_error . . . . . . . . enable_enhanced_modulation . . . . . . . . . . . . 260 37 88 92 89 enable_logic . . . . . . . . . . . . . . . . . . . . . . . . . . . 88 encoder_emulation_data . . . . . . . . . . . . . . . 121 encoder_emulation_offset . . . . . . . . . . . . . . 121 encoder_emulation_resolution . . . . . . . . . . . 121 encoder_offset_angle . . . . . . . . . . . . . . . . . . . 98 encoder_x10_counter . . . . . . . . . . . . . . . . . . 120 encoder_x10_data_field . . . . . . . . . . . . . . . . 119 encoder_x10_divisor . . . . . . . . . . . . . . . . . . . 120 encoder_x10_numerator . . . . . . . . . . . . . . . . 120 encoder_x10_resolution . . . . . . . . . . . . . . . . 119 encoder_x2a_data_field . . . . . . . . . . . . . . . . 117 encoder_x2a_divisor . . . . . . . . . . . . . . . . . . . 117 encoder_x2a_numerator . . . . . . . . . . . . . . . . 117 encoder_x2a_resolution . . . . . . . . . . . . . . . . 117 encoder_x2b_counter . . . . . . . . . . . . . . . . . . 119 encoder_x2b_data_field . . . . . . . . . . . . . . . . 118 encoder_x2b_divisor . . . . . . . . . . . . . . . . . . . 118 encoder_x2b_numerator . . . . . . . . . . . . . . . . 118 encoder_x2b_resolution . . . . . . . . . . . . . . . . 118 end_velocity . . . . . . . . . . . . . . . . . . . . . . . . . . 182 Error management . . . . . . . . . . . . . . . . . . . . . 146 error_management . . . . . . . . . . . . . . . . . . . . 146 error_register . . . . . . . . . . . . . . . . . . . . . . . . . . 37 Extended sine modulation . . . . . . . . . . . . . . . . 89 F Factor group . . . . . . . . . . . . . . . . . . . . . . . . . . . 77 – acceleration_factor . . . . . . . . . . . . . . . . . . . 83 – polarity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86 – position_factor . . . . . . . . . . . . . . . . . . . . . . . 78 – velocity_encoder_factor . . . . . . . . . . . . . . . . 81 fault_reaction_option_code . . . . . . . . . . . . . 167 Filter time constant synchronous speed . . . . 124 firmware_custom_version . . . . . . . . . . . . . . . 142 firmware_main_version . . . . . . . . . . . . . . . . . 141 first_mapped_object . . . . . . . . . . . . . . . . . . . . 30 Following error time-out time . . . . . . . . . . . . 109 Following error window . . . . . . . . . . . . . . . . . 109 Following_Error . . . . . . . . . . . . . . . . . . . . . . . 103 following_error_current_value . . . . . . . . . . . 109 following_error_time_out . . . . . . . . . . . . . . . 109 following_error_window . . . . . . . . . . . . . . . . 109 fourth_mapped_object . . . . . . . . . . . . . . . . . . 31 Festo – GDCP-CMMP-M3/-M0-C-CO-EN – 1304a CMMP-AS-...-M3/-M0 G Gain of the current regulator . . . . . . . . . . . . . 100 H home_offset . . . . . . . . . . . . . . . . . . . . . . . . . . Homing – Creep speed . . . . . . . . . . . . . . . . . . . . . . . . – Method . . . . . . . . . . . . . . . . . . . . . . . . . . . . – Search speed . . . . . . . . . . . . . . . . . . . . . . . – speeds . . . . . . . . . . . . . . . . . . . . . . . . . . . . – Zero point offset . . . . . . . . . . . . . . . . . . . . . Homing mode . . . . . . . . . . . . . . . . . . . . . . . . . – home_offset . . . . . . . . . . . . . . . . . . . . . . . . – homing_acceleration . . . . . . . . . . . . . . . . . – homing_method . . . . . . . . . . . . . . . . . . . . . – homing_speeds . . . . . . . . . . . . . . . . . . . . . Homing run . . . . . . . . . . . . . . . . . . . . . . . . . . . – Control of the . . . . . . . . . . . . . . . . . . . . . . . – Timeout . . . . . . . . . . . . . . . . . . . . . . . . . . . . homing_acceleration . . . . . . . . . . . . . . . . . . . homing_method . . . . . . . . . . . . . . . . . . . . . . . homing_speeds . . . . . . . . . . . . . . . . . . . . . . . homing_switch_polarity . . . . . . . . . . . . . . . . homing_switch_selector . . . . . . . . . . . . . . . . homing_timeout . . . . . . . . . . . . . . . . . . . . . . . 172 174 173 173 173 172 170 172 174 172 173 170 179 174 174 172 173 133 134 174 I I2t extent of utilisation . . . . . . . . . . . . . . . . . . . 97 I2t time . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96 Identification of the device . . . . . . . . . . . . . . 139 Identifier for PDO . . . . . . . . . . . . . . . . . . . . . . . 29 identity_object . . . . . . . . . . . . . . . . . . . . . . . . 139 iit_error_enable . . . . . . . . . . . . . . . . . . . . . . . . 97 iit_ratio_motor . . . . . . . . . . . . . . . . . . . . . . . . . 97 iit_time_motor . . . . . . . . . . . . . . . . . . . . . . . . . 96 Incremental encoder emulation – Offset . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121 – Resolution . . . . . . . . . . . . . . . . . . . . . . . . . . 121 inhibit_time . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 Instructions on this documentation . . . . . . . . . . 7 Intermediate circuit monitoring . . . . . . . . . . . . 91 Festo – GDCP-CMMP-M3/-M0-C-CO-EN – 1304a Intermediate circuit voltage – Current . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91 – Maximum . . . . . . . . . . . . . . . . . . . . . . . . . . . 91 – Minimal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91 Interpolation data . . . . . . . . . . . . . . . . . . . . . 188 Interpolation type . . . . . . . . . . . . . . . . . . . . . 188 interpolation_data_configuration . . . . . . . . . 191 interpolation_data_record . . . . . . . . . . . . . . . 188 interpolation_submode_select . . . . . . . . . . . 188 interpolation_sync_definition . . . . . . . . . . . . 190 interpolation_time_period . . . . . . . . . . . . . . . 189 ip_data_controlword . . . . . . . . . . . . . . . . . . . 189 ip_data_position . . . . . . . . . . . . . . . . . . . . . . 189 ip_sync_every_n_event . . . . . . . . . . . . . . . . . 191 ip_time_index . . . . . . . . . . . . . . . . . . . . . . . . 190 ip_time_units . . . . . . . . . . . . . . . . . . . . . . . . . 190 L Limit switch . . . . . . . . . . . . . . . . . . 132, 175, 176 – Emergency stop ramp . . . . . . . . . . . . . . . . . 134 – Polarity . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132 limit_current . . . . . . . . . . . . . . . . . . . . . . 114, 115 limit_current_input_channel . . . . . . . . . . . . . 114 limit_speed_input_channel . . . . . . . . . . . . . . 115 limit_switch_deceleration . . . . . . . . . . . . . . . 134 limit_switch_polarity . . . . . . . . . . . . . . . . . . . 132 Load default parameters . . . . . . . . . . . . . . . . . 74 M Manufacturer code . . . . . . . . . . . . . . . . . . . . . 139 Mapping parameter for PDOs . . . . . . . . . . . . . 30 max_buffer_size . . . . . . . . . . . . . . . . . . . . . . . 191 max_current . . . . . . . . . . . . . . . . . . . . . . . . . . . 95 max_dc_link_circuit_voltage . . . . . . . . . . . . . . 91 max_motor_speed . . . . . . . . . . . . . . . . . . . . . 203 max_position_range_limit . . . . . . . . . . . . . . . 112 max_power_stage_temperature . . . . . . . . . . . 90 max_torque . . . . . . . . . . . . . . . . . . . . . . . . . . 208 Maximum current . . . . . . . . . . . . . . . . . . . . . . . 93 Maximum intermediate circuit voltage . . . . . . 91 Maximum motor speed . . . . . . . . . . . . . . . . . 203 Maximum output stage temperature . . . . . . . . 90 Maximum torque . . . . . . . . . . . . . . . . . . . . . . 208 261 CMMP-AS-...-M3/-M0 Methods of homing . . . . . . . . . . . . . . . . . . . . 175 min_dc_link_circuit_voltage . . . . . . . . . . . . . . 91 min_position_range_limit . . . . . . . . . . . . . . . 112 Minimum intermediate circuit voltage . . . . . . . 91 modes_of_operation . . . . . . . . . . . . . . . . . . . 168 modes_of_operation_display . . . . . . . . . . . . 169 motion_profile_type . . . . . . . . . . . . . . . . . . . 184 Motor parameter – I2t time . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96 – Nominal current . . . . . . . . . . . . . . . . . . . . . . 95 – Pole (pair) number . . . . . . . . . . . . . . . . . . . . 96 – Resolver offset angle . . . . . . . . . . . . . . . . . . 98 Motor peak current . . . . . . . . . . . . . . . . . . . . . 95 Motor rated current . . . . . . . . . . . . . . . . . . . . . 95 Motor Rated Torque . . . . . . . . . . . . . . . . . . . . 209 motor_data . . . . . . . . . . . . . . . . . . . . . . . . 96, 98 motor_rated_current . . . . . . . . . . . . . . . . . . . . 95 motor_rated_torque . . . . . . . . . . . . . . . . . . . 209 motor_temperatur_sensor_polarity . . . . . . . . 99 N Nominal speed for speed adjustment . . . . . . 203 nominal_current . . . . . . . . . . . . . . . . . . . . . . . . 92 nominal_dc_link_circuit_voltage . . . . . . . . . . . 90 Not Ready to Switch On . . . . . . . . . . . . . . . . . 152 Number of mapped objects . . . . . . . . . . . . . . . 30 Number of pole pairs . . . . . . . . . . . . . . . . . . . . 96 Number of poles . . . . . . . . . . . . . . . . . . . . . . . . 96 number_of_mapped_objects . . . . . . . . . . . . . 30 numerator . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86 – acceleration_factor . . . . . . . . . . . . . . . . . . . 84 Numerator – position_factor . . . . . . . . . . . . . . . . . . . . . . . 79 – velocity_encoder_factor . . . . . . . . . . . . . . . . 81 O Objects – Object 1001h . . . . . . . . . . . . . . . . . . . . . . . . – Object 1003h . . . . . . . . . . . . . . . . . . . . . . . . – Object 1003h_01h . . . . . . . . . . . . . . . . . . . . – Object 1003h_02h . . . . . . . . . . . . . . . . . . . . – Object 1003h_03h . . . . . . . . . . . . . . . . . . . . – Object 1003h_04h . . . . . . . . . . . . . . . . . . . . 262 37 38 38 38 38 38 – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – Object 1005h . . . . . . . . . . . . . . . . . . . . . . . . 35 Object 1010h . . . . . . . . . . . . . . . . . . . . . . . . 74 Object 1010h_01h . . . . . . . . . . . . . . . . . . . . 75 Object 1011h . . . . . . . . . . . . . . . . . . . . . . . . 74 Object 1011h_01h . . . . . . . . . . . . . . . . . . . . 74 Object 1018h . . . . . . . . . . . . . . . . . . . . . . . 139 Object 1018h_01h . . . . . . . . . . . . . . . . . . . 139 Object 1018h_02h . . . . . . . . . . . . . . . . . . . 140 Object 1018h_03h . . . . . . . . . . . . . . . . . . . 140 Object 1018h_04h . . . . . . . . . . . . . . . . . . . 140 Object 1100h . . . . . . . . . . . . . . . . . . . . . . . . 53 Object 1402h . . . . . . . . . . . . . . . . . . . . . . . . 34 Object 1403h . . . . . . . . . . . . . . . . . . . . . . . . 34 Object 1602h . . . . . . . . . . . . . . . . . . . . . . . . 34 Object 1603h . . . . . . . . . . . . . . . . . . . . . . . . 34 Object 1800h . . . . . . . . . . . . . . . . . . . . . 29, 31 Object 1800h_01h . . . . . . . . . . . . . . . . . . . . 29 Object 1800h_02h . . . . . . . . . . . . . . . . . . . . 29 Object 1800h_03h . . . . . . . . . . . . . . . . . . . . 29 Object 1801h . . . . . . . . . . . . . . . . . . . . . . . . 31 Object 1802h . . . . . . . . . . . . . . . . . . . . . . . . 32 Object 1803h . . . . . . . . . . . . . . . . . . . . . . . . 32 Object 1A00h . . . . . . . . . . . . . . . . . . . . . 30, 31 Object 1A00h_00h . . . . . . . . . . . . . . . . . . . . 30 Object 1A00h_01h . . . . . . . . . . . . . . . . . . . . 30 Object 1A00h_02h . . . . . . . . . . . . . . . . . . . . 30 Object 1A00h_03h . . . . . . . . . . . . . . . . . . . . 30 Object 1A00h_04h . . . . . . . . . . . . . . . . . . . . 31 Object 1A01h . . . . . . . . . . . . . . . . . . . . . . . . 31 Object 1A02h . . . . . . . . . . . . . . . . . . . . . . . . 32 Object 1A03h . . . . . . . . . . . . . . . . . . . . . . . . 32 Object 1C00h . . . . . . . . . . . . . . . . . . . . . . . . 53 Object 1C00h_00h . . . . . . . . . . . . . . . . . . . . 53 Object 1C00h_01h . . . . . . . . . . . . . . . . . . . . 53 Object 1C00h_02h . . . . . . . . . . . . . . . . . . . . 54 Object 1C00h_03h . . . . . . . . . . . . . . . . . . . . 54 Object 1C00h_04h . . . . . . . . . . . . . . . . . . . . 54 Object 1C10h . . . . . . . . . . . . . . . . . . . . . . . . 54 Object 1C11h . . . . . . . . . . . . . . . . . . . . . . . . 55 Object 1C12h . . . . . . . . . . . . . . . . . . . . . . . . 55 Object 1C12h_00h . . . . . . . . . . . . . . . . . . . . 56 Object 1C12h_01h . . . . . . . . . . . . . . . . . . . . 56 Object 1C12h_02h . . . . . . . . . . . . . . . . . . . . 56 Festo – GDCP-CMMP-M3/-M0-C-CO-EN – 1304a CMMP-AS-...-M3/-M0 – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – Object 1C12h_03h . . . . . . . . . . . . . . . . . . . . 56 Object 1C12h_04h . . . . . . . . . . . . . . . . . . . . 56 Object 1C13h . . . . . . . . . . . . . . . . . . . . . . . . 57 Object 1C13h_00h . . . . . . . . . . . . . . . . . . . . 57 Object 1C13h_01h . . . . . . . . . . . . . . . . . . . . 57 Object 1C13h_02h . . . . . . . . . . . . . . . . . . . . 57 Object 1C13h_03h . . . . . . . . . . . . . . . . . . . . 58 Object 1C13h_04h . . . . . . . . . . . . . . . . . . . . 58 Object 2014h . . . . . . . . . . . . . . . . . . . . . . . . 32 Object 2015h . . . . . . . . . . . . . . . . . . . . . . . . 32 Object 2016h . . . . . . . . . . . . . . . . . . . . . . . . 33 Object 2017h . . . . . . . . . . . . . . . . . . . . . . . . 33 Object 201Ah . . . . . . . . . . . . . . . . . . . . . . . 121 Object 201Ah_01h . . . . . . . . . . . . . . . . . . . 121 Object 201Ah_02h . . . . . . . . . . . . . . . . . . . 121 Object 2021h . . . . . . . . . . . . . . . . . . . . . . . 122 Object 2022h . . . . . . . . . . . . . . . . . . . . . . . 123 Object 2023h . . . . . . . . . . . . . . . . . . . . . . . 124 Object 2024h . . . . . . . . . . . . . . . . . . . . . . . 117 Object 2024h_01h . . . . . . . . . . . . . . . . . . . 117 Object 2024h_02h . . . . . . . . . . . . . . . . . . . 117 Object 2024h_03h . . . . . . . . . . . . . . . . . . . 117 Object 2025h . . . . . . . . . . . . . . . . . . . . . . . 119 Object 2025h_01h . . . . . . . . . . . . . . . . . . . 119 Object 2025h_02h . . . . . . . . . . . . . . . . . . . 120 Object 2025h_03h . . . . . . . . . . . . . . . . . . . 120 Object 2025h_04h . . . . . . . . . . . . . . . . . . . 120 Object 2026h . . . . . . . . . . . . . . . . . . . . . . . 118 Object 2026h_01h . . . . . . . . . . . . . . . . . . . 118 Object 2026h_02h . . . . . . . . . . . . . . . . . . . 118 Object 2026h_03h . . . . . . . . . . . . . . . . . . . 118 Object 2026h_04h . . . . . . . . . . . . . . . . . . . 119 Object 2028h . . . . . . . . . . . . . . . . . . . . . . . 121 Object 202Dh . . . . . . . . . . . . . . . . . . . . . . . 107 Object 202Eh . . . . . . . . . . . . . . . . . . . . . . . 199 Object 202Fh . . . . . . . . . . . . . . . . . . . . . . . 124 Object 202Fh_07h . . . . . . . . . . . . . . . . . . . 124 Object 2045h . . . . . . . . . . . . . . . . . . . . . . . 174 Object 204Ah . . . . . . . . . . . . . . . . . . . . . . . 135 Object 204Ah_01h . . . . . . . . . . . . . . . . . . . 136 Object 204Ah_02h . . . . . . . . . . . . . . . . . . . 136 Object 204Ah_03h . . . . . . . . . . . . . . . . . . . 136 Object 204Ah_04h . . . . . . . . . . . . . . . . . . . 137 Festo – GDCP-CMMP-M3/-M0-C-CO-EN – 1304a – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – Object 204Ah_05h . . . . . . . . . . . . . . . . . . . 137 Object 204Ah_06h . . . . . . . . . . . . . . . . . . . 137 Object 2090h . . . . . . . . . . . . . . . . . . . . . . . 204 Object 2090h_01h . . . . . . . . . . . . . . . . . . . 204 Object 2090h_02h . . . . . . . . . . . . . . . . . . . 205 Object 2090h_03h . . . . . . . . . . . . . . . . . . . 205 Object 2090h_04h . . . . . . . . . . . . . . . . . . . 205 Object 2090h_05h . . . . . . . . . . . . . . . . . . . 205 Object 2100h . . . . . . . . . . . . . . . . . . . . . . . 146 Object 2400h . . . . . . . . . . . . . . . . . . . . . . . 125 Object 2400h_01h . . . . . . . . . . . . . . . . . . . 125 Object 2400h_02h . . . . . . . . . . . . . . . . . . . 125 Object 2400h_03h . . . . . . . . . . . . . . . . . . . 126 Object 2401h . . . . . . . . . . . . . . . . . . . . . . . 126 Object 2401h_01h . . . . . . . . . . . . . . . . . . . 126 Object 2401h_02h . . . . . . . . . . . . . . . . . . . 126 Object 2401h_03h . . . . . . . . . . . . . . . . . . . 126 Object 2415h . . . . . . . . . . . . . . . . . . . . . . . 114 Object 2415h_01h . . . . . . . . . . . . . . . . . . . 114 Object 2415h_02h . . . . . . . . . . . . . . . . . . . 114 Object 2416h . . . . . . . . . . . . . . . . . . . . . . . 115 Object 2416h_01h . . . . . . . . . . . . . . . . . . . 115 Object 2416h_02h . . . . . . . . . . . . . . . . . . . 115 Object 2420h . . . . . . . . . . . . . . . . . . . . . . . 129 Object 2420h_01h . . . . . . . . . . . . . . . . . . . 129 Object 2420h_02h . . . . . . . . . . . . . . . . . . . 129 Object 2420h_03h . . . . . . . . . . . . . . . . . . . 129 Object 2420h_11h . . . . . . . . . . . . . . . . . . . 131 Object 2420h_12h . . . . . . . . . . . . . . . . . . . 131 Object 6040h . . . . . . . . . . . . . . . . . . . . . . . 154 Object 6041h . . . . . . . . . . . . . . . . . . . . . . . 158 Object 604Dh . . . . . . . . . . . . . . . . . . . . . . . . 96 Object 605Ah . . . . . . . . . . . . . . . . . . . . . . . 166 Object 605Bh . . . . . . . . . . . . . . . . . . . . . . . 165 Object 605Ch . . . . . . . . . . . . . . . . . . . . . . . 166 Object 605Eh . . . . . . . . . . . . . . . . . . . . . . . 167 Object 6060h . . . . . . . . . . . . . . . . . . . . . . . 168 Object 6061h . . . . . . . . . . . . . . . . . . . . . . . 169 Object 6062h . . . . . . . . . . . . . . . . . . . . . . . 107 Object 6063h . . . . . . . . . . . . . . . . . . . . . . . 108 Object 6064h . . . . . . . . . . . . . . . . . . . . . . . 108 Object 6065h . . . . . . . . . . . . . . . . . . . . . . . 109 Object 6066h . . . . . . . . . . . . . . . . . . . . . . . 109 263 CMMP-AS-...-M3/-M0 – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – Object 6067h . . . . . . . . . . . . . . . . . . . . . . . 110 Object 6068h . . . . . . . . . . . . . . . . . . . . . . . 111 Object 6069h . . . . . . . . . . . . . . . . . . . . . . . 197 Object 606Ah . . . . . . . . . . . . . . . . . . . . . . . 198 Object 606Bh . . . . . . . . . . . . . . . . . . . . . . . 198 Object 606Ch . . . . . . . . . . . . . . . . . . . . . . . 199 Object 606Dh . . . . . . . . . . . . . . . . . . . . . . . 201 Object 606Eh . . . . . . . . . . . . . . . . . . . . . . . 201 Object 606Fh . . . . . . . . . . . . . . . . . . . . . . . 202 Object 6070h . . . . . . . . . . . . . . . . . . . . . . . 202 Object 6071h . . . . . . . . . . . . . . . . . . . . . . . 208 Object 6072h . . . . . . . . . . . . . . . . . . . . . . . 208 Object 6073h . . . . . . . . . . . . . . . . . . . . . . . . 95 Object 6074h . . . . . . . . . . . . . . . . . . . . . . . 209 Object 6075h . . . . . . . . . . . . . . . . . . . . . . . . 95 Object 6076h . . . . . . . . . . . . . . . . . . . . . . . 209 Object 6077h . . . . . . . . . . . . . . . . . . . . . . . 209 Object 6078h . . . . . . . . . . . . . . . . . . . . . . . 210 Object 6079h . . . . . . . . . . . . . . . . . . . . . . . 210 Object 607Ah . . . . . . . . . . . . . . . . . . . . . . . 181 Object 607Bh . . . . . . . . . . . . . . . . . . . . . . . 112 Object 607Bh_01h . . . . . . . . . . . . . . . . . . . 112 Object 607Bh_02h . . . . . . . . . . . . . . . . . . . 112 Object 607Ch . . . . . . . . . . . . . . . . . . . . . . . 172 Object 607Eh . . . . . . . . . . . . . . . . . . . . . . . . 86 Object 6080h . . . . . . . . . . . . . . . . . . . . . . . 203 Object 6081h . . . . . . . . . . . . . . . . . . . . . . . 182 Object 6082h . . . . . . . . . . . . . . . . . . . . . . . 182 Object 6083h . . . . . . . . . . . . . . . . . . . . . . . 182 Object 6084h . . . . . . . . . . . . . . . . . . . . . . . 183 Object 6085h . . . . . . . . . . . . . . . . . . . . . . . 183 Object 6086h . . . . . . . . . . . . . . . . . . . . . . . 184 Object 6087h . . . . . . . . . . . . . . . . . . . . . . . 211 Object 6088h . . . . . . . . . . . . . . . . . . . . . . . 211 Object 608Ah . . . . . . . . . . . . . . . . . . . . . . . . 59 Object 608Bh . . . . . . . . . . . . . . . . . . . . . . . . 59 Object 608Ch . . . . . . . . . . . . . . . . . . . . . . . . 59 Object 608Dh . . . . . . . . . . . . . . . . . . . . . . . . 59 Object 608Eh . . . . . . . . . . . . . . . . . . . . . . . . 59 Object 6093h . . . . . . . . . . . . . . . . . . . . . . . . 78 Object 6093h_01h . . . . . . . . . . . . . . . . . . . . 79 Object 6093h_02h . . . . . . . . . . . . . . . . . . . . 79 Object 6094h . . . . . . . . . . . . . . . . . . . . . . . . 81 264 – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – Object 6094h_01h . . . . . . . . . . . . . . . . . . . . 81 Object 6094h_02h . . . . . . . . . . . . . . . . . . . . 81 Object 6097h . . . . . . . . . . . . . . . . . . . . . . . . 83 Object 6097h_01h . . . . . . . . . . . . . . . . . . . . 84 Object 6097h_02h . . . . . . . . . . . . . . . . . . . . 84 Object 6098h . . . . . . . . . . . . . . . . . . . . . . . 172 Object 6099h . . . . . . . . . . . . . . . . . . . . . . . 173 Object 6099h_01h . . . . . . . . . . . . . . . . . . . 173 Object 6099h_02h . . . . . . . . . . . . . . . . . . . 174 Object 609Ah . . . . . . . . . . . . . . . . . . . . . . . 174 Object 60C0h . . . . . . . . . . . . . . . . . . . . . . . 188 Object 60C1h . . . . . . . . . . . . . . . . . . . . . . . 188 Object 60C1h_01h . . . . . . . . . . . . . . . . . . . 189 Object 60C1h_02h . . . . . . . . . . . . . . . . . . . 189 Object 60C2h . . . . . . . . . . . . . . . . . . . . . . . 189 Object 60C2h_01h . . . . . . . . . . . . . . . . . . . 190 Object 60C2h_02h . . . . . . . . . . . . . . . . . . . 190 Object 60C3h . . . . . . . . . . . . . . . . . . . . . . . 190 Object 60C3h_01h . . . . . . . . . . . . . . . . . . . 191 Object 60C3h_02h . . . . . . . . . . . . . . . . . . . 191 Object 60C4h . . . . . . . . . . . . . . . . . . . . . . . 191 Object 60C4h_01h . . . . . . . . . . . . . . . . . . . 191 Object 60C4h_02h . . . . . . . . . . . . . . . . . . . 192 Object 60C4h_03h . . . . . . . . . . . . . . . . . . . 192 Object 60C4h_04h . . . . . . . . . . . . . . . . . . . 192 Object 60C4h_05h . . . . . . . . . . . . . . . . . . . 192 Object 60C4h_06h . . . . . . . . . . . . . . . . . . . 193 Object 60F4h . . . . . . . . . . . . . . . . . . . . . . . 109 Object 60F6h . . . . . . . . . . . . . . . . . . . . . . . 100 Object 60F6h_01h . . . . . . . . . . . . . . . . . . . 100 Object 60F6h_02h . . . . . . . . . . . . . . . . . . . 100 Object 60F9h . . . . . . . . . . . . . . . . . . . . . . . 101 Object 60F9h_01h . . . . . . . . . . . . . . . . . . . 101 Object 60F9h_02h . . . . . . . . . . . . . . . . . . . 102 Object 60F9h_04h . . . . . . . . . . . . . . . . . . . 102 Object 60FAh . . . . . . . . . . . . . . . . . . . . . . . 110 Object 60FBh . . . . . . . . . . . . . . . . . . . . . . . 105 Object 60FBh_01h . . . . . . . . . . . . . . . . . . . 106 Object 60FBh_02h . . . . . . . . . . . . . . . . . . . 106 Object 60FBh_04h . . . . . . . . . . . . . . . . . . . 106 Object 60FBh_05h . . . . . . . . . . . . . . . . . . . 106 Object 60FDh . . . . . . . . . . . . . . . . . . . . . . . 127 Object 60FEh . . . . . . . . . . . . . . . . . . . . . . . 128 Festo – GDCP-CMMP-M3/-M0-C-CO-EN – 1304a CMMP-AS-...-M3/-M0 – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – Object 60FEh_01h . . . . . . . . . . . . . . . . . . . 128 Object 60FEh_02h . . . . . . . . . . . . . . . . . . . 128 Object 60FFh . . . . . . . . . . . . . . . . . . . . . . . . 203 Object 6410h . . . . . . . . . . . . . . . . . . . . . . . . 96 Object 6410h_03h . . . . . . . . . . . . . . . . . . . . 96 Object 6410h_04h . . . . . . . . . . . . . . . . . . . . 97 Object 6410h_10h . . . . . . . . . . . . . . . . . . . . 98 Object 6410h_11h . . . . . . . . . . . . . . . . . . . . 98 Object 6410h_14h . . . . . . . . . . . . . . . . . . . . 99 Object 6510h . . . . . . . . . . . . . . . . . . . . . . . . 88 Object 6510h_10h . . . . . . . . . . . . . . . . . . . . 88 Object 6510h_11h . . . . . . . . . . . . . . . . . . . 132 Object 6510h_13h . . . . . . . . . . . . . . . . . . . 134 Object 6510h_14h . . . . . . . . . . . . . . . . . . . 133 Object 6510h_15h . . . . . . . . . . . . . . . . . . . 134 Object 6510h_18h . . . . . . . . . . . . . . . . . . . 139 Object 6510h_20h . . . . . . . . . . . . . . . . . . . 113 Object 6510h_22h . . . . . . . . . . . . . . . . . . . 111 Object 6510h_30h . . . . . . . . . . . . . . . . . . . . 88 Object 6510h_31h . . . . . . . . . . . . . . . . . . . . 89 Object 6510h_32h . . . . . . . . . . . . . . . . . . . . 90 Object 6510h_33h . . . . . . . . . . . . . . . . . . . . 90 Object 6510h_34h . . . . . . . . . . . . . . . . . . . . 91 Object 6510h_35h . . . . . . . . . . . . . . . . . . . . 91 Object 6510h_36h . . . . . . . . . . . . . . . . . . . . 91 Object 6510h_37h . . . . . . . . . . . . . . . . . . . . 92 Object 6510h_38h . . . . . . . . . . . . . . . . . . . . 97 Object 6510h_3Ah . . . . . . . . . . . . . . . . . . . . 89 Object 6510h_40h . . . . . . . . . . . . . . . . . . . . 92 Object 6510h_41h . . . . . . . . . . . . . . . . . . . . 93 Object 6510h_A9h . . . . . . . . . . . . . . . . . . . 141 Object 6510h_AAh . . . . . . . . . . . . . . . . . . . 142 Object 6510h_B0h . . . . . . . . . . . . . . . . . . . 143 Object 6510h_B1h . . . . . . . . . . . . . . . . . . . 143 Object 6510h_B2h . . . . . . . . . . . . . . . . . . . 143 Object 6510h_B3h . . . . . . . . . . . . . . . . . . . 144 Object 6510h_C0h . . . . . . . . . . . . . . . . . . . 144 Festo – GDCP-CMMP-M3/-M0-C-CO-EN – 1304a Offset of the angle encoder . . . . . . . . . . . . . . . 98 Operating mode . . . . . . . . . . . . . . . . . . . 168, 169 – Homing run . . . . . . . . . . . . . . . . . . . . . . . . . 170 – Modifying of the . . . . . . . . . . . . . . . . . . . . . 168 – Reading of the . . . . . . . . . . . . . . . . . . . . . . 169 – Setting of the . . . . . . . . . . . . . . . . . . . . . . . 168 Output stage parameter . . . . . . . . . . . . . . . . . 87 – Device nominal current . . . . . . . . . . . . . . . . . 92 – Device nominal voltage . . . . . . . . . . . . . . . . 90 – Enable Logic . . . . . . . . . . . . . . . . . . . . . . . . . 88 – Intermediate circuit voltage . . . . . . . . . . . . . 91 – Max. intermediate circuit voltage . . . . . . . . . 91 – Maximum current . . . . . . . . . . . . . . . . . . . . . 93 – Maximum temperature . . . . . . . . . . . . . . . . . 90 – Min. intermediate circuit voltage . . . . . . . . . 91 – PWM frequency . . . . . . . . . . . . . . . . . . . . . . . 88 P Parameter sets – Load default values . . . . . . . . . . . . . . . . . . . 74 – Loading and saving . . . . . . . . . . . . . . . . . . . . 72 – Save parameter set . . . . . . . . . . . . . . . . . . . 74 Parametrisation status . . . . . . . . . . . . . . . . . 144 PDO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 – 1st mapped object . . . . . . . . . . . . . . . . . . . . 30 – 2nd mapped object . . . . . . . . . . . . . . . . . . . . 30 – 3rd mapped object . . . . . . . . . . . . . . . . . . . . 30 – 4th mapped object . . . . . . . . . . . . . . . . . . . . 31 – RPDO3 1st mapped object . . . . . . . . . . . . . . . . . . . . 34 2nd mapped object . . . . . . . . . . . . . . . . . . . . 34 3rd mapped object . . . . . . . . . . . . . . . . . . . . 34 4th mapped object . . . . . . . . . . . . . . . . . . . . 34 COB-ID used by PDO . . . . . . . . . . . . . . . . . . . 34 first mapped object . . . . . . . . . . . . . . . . . . . 34 fourth mapped object . . . . . . . . . . . . . . . . . . 34 Identifier . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 number of mapped objects . . . . . . . . . . . . . 34 second mapped object . . . . . . . . . . . . . . . . . 34 third mapped object . . . . . . . . . . . . . . . . . . . 34 transmission type . . . . . . . . . . . . . . . . . . . . . 34 265 CMMP-AS-...-M3/-M0 – RPDO4 1st mapped object . . . . . . . . . . . . . . . . . . . . 2nd mapped object . . . . . . . . . . . . . . . . . . . . 3rd mapped object . . . . . . . . . . . . . . . . . . . . 4th mapped object . . . . . . . . . . . . . . . . . . . . COB-ID used by PDO . . . . . . . . . . . . . . . . . . . first mapped object . . . . . . . . . . . . . . . . . . . fourth mapped object . . . . . . . . . . . . . . . . . . Identifier . . . . . . . . . . . . . . . . . . . . . . . . . . . . number of mapped objects . . . . . . . . . . . . . second mapped object . . . . . . . . . . . . . . . . . third mapped object . . . . . . . . . . . . . . . . . . . transmission type . . . . . . . . . . . . . . . . . . . . . – TPDO1 1st mapped object . . . . . . . . . . . . . . . . . . . . 2nd mapped object . . . . . . . . . . . . . . . . . . . . 3rd mapped object . . . . . . . . . . . . . . . . . . . . 4th mapped object . . . . . . . . . . . . . . . . . . . . COB-ID used by PDO . . . . . . . . . . . . . . . . . . . first mapped object . . . . . . . . . . . . . . . . . . . fourth mapped object . . . . . . . . . . . . . . . . . . Identifier . . . . . . . . . . . . . . . . . . . . . . . . . . . . inhibit time . . . . . . . . . . . . . . . . . . . . . . . . . . number of mapped objects . . . . . . . . . . . . . second mapped object . . . . . . . . . . . . . . . . . third mapped object . . . . . . . . . . . . . . . . . . . transmission type . . . . . . . . . . . . . . . . . . . . . Transmit mask . . . . . . . . . . . . . . . . . . . . . . . . – TPDO2 1st mapped object . . . . . . . . . . . . . . . . . . . . 2nd mapped object . . . . . . . . . . . . . . . . . . . . 3rd mapped object . . . . . . . . . . . . . . . . . . . . 4th mapped object . . . . . . . . . . . . . . . . . . . . COB-ID used by PDO . . . . . . . . . . . . . . . . . . . first mapped object . . . . . . . . . . . . . . . . . . . fourth mapped object . . . . . . . . . . . . . . . . . . Identifier . . . . . . . . . . . . . . . . . . . . . . . . . . . . inhibit time . . . . . . . . . . . . . . . . . . . . . . . . . . number of mapped objects . . . . . . . . . . . . . second mapped object . . . . . . . . . . . . . . . . . third mapped object . . . . . . . . . . . . . . . . . . . transmission type . . . . . . . . . . . . . . . . . . . . . Transmit mask . . . . . . . . . . . . . . . . . . . . . . . . 266 34 34 34 34 34 34 34 34 34 34 34 34 31 31 31 31 31 31 31 31 31 31 31 31 31 32 31 31 31 31 31 31 31 31 31 31 31 31 31 32 – TPDO3 1st mapped object . . . . . . . . . . . . . . . . . . . . 32 2nd mapped object . . . . . . . . . . . . . . . . . . . . 32 3rd mapped object . . . . . . . . . . . . . . . . . . . . 32 4th mapped object . . . . . . . . . . . . . . . . . . . . 32 COB-ID used by PDO . . . . . . . . . . . . . . . . . . . 32 first mapped object . . . . . . . . . . . . . . . . . . . 32 fourth mapped object . . . . . . . . . . . . . . . . . . 32 Identifier . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 inhibit time . . . . . . . . . . . . . . . . . . . . . . . . . . 32 number of mapped objects . . . . . . . . . . . . . 32 second mapped object . . . . . . . . . . . . . . . . . 32 third mapped object . . . . . . . . . . . . . . . . . . . 32 transmission type . . . . . . . . . . . . . . . . . . . . . 32 Transmit mask . . . . . . . . . . . . . . . . . . . . . . . . 33 – TPDO4 1st mapped object . . . . . . . . . . . . . . . . . . . . 32 2nd mapped object . . . . . . . . . . . . . . . . . . . . 32 3rd mapped object . . . . . . . . . . . . . . . . . . . . 32 4th mapped object . . . . . . . . . . . . . . . . . . . . 32 COB-ID used by PDO . . . . . . . . . . . . . . . . . . . 32 first mapped object . . . . . . . . . . . . . . . . . . . 32 fourth mapped object . . . . . . . . . . . . . . . . . . 32 Identifier . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 inhibit time . . . . . . . . . . . . . . . . . . . . . . . . . . 32 number of mapped objects . . . . . . . . . . . . . 32 second mapped object . . . . . . . . . . . . . . . . . 32 third mapped object . . . . . . . . . . . . . . . . . . . 32 transmission type . . . . . . . . . . . . . . . . . . . . . 32 Transmit mask . . . . . . . . . . . . . . . . . . . . . . . . 33 PDO Message . . . . . . . . . . . . . . . . . . . . . . . . . . 25 Peak current – Motor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95 – Motor controller . . . . . . . . . . . . . . . . . . . . . . 93 peak_current, . . . . . . . . . . . . . . . . . . . . . . . . . . 93 Permissible torque . . . . . . . . . . . . . . . . . . . . . 208 phase_order . . . . . . . . . . . . . . . . . . . . . . . . . . . 98 Pin allocation CAN . . . . . . . . . . . . . . . . . . . . . . 11 Polarity of motor temperature sensor . . . . . . . 99 pole_number . . . . . . . . . . . . . . . . . . . . . . . . . . 96 Position actual value (position units) . . . . . . 108 Festo – GDCP-CMMP-M3/-M0-C-CO-EN – 1304a CMMP-AS-...-M3/-M0 Position control . . . . . . . . . . . . . . . . . . . . . . . 103 – Dead range . . . . . . . . . . . . . . . . . . . . . . . . . 106 – Gain . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106 – Output of the . . . . . . . . . . . . . . . . . . . . . . . 110 – Parameters . . . . . . . . . . . . . . . . . . . . . . . . . 106 – Time constant . . . . . . . . . . . . . . . . . . . . . . . 106 position control function . . . . . . . . . . . . . . . . 103 Position control parameters . . . . . . . . . . . . . 106 Position controller gain . . . . . . . . . . . . . . . . . 106 Position controller output . . . . . . . . . . . . . . . 110 Position controller time constant . . . . . . . . . . 106 Position value interpolation . . . . . . . . . . . . . . 189 position_actual_value . . . . . . . . . . . . . . . . . . 108 position_actual_value_s . . . . . . . . . . . . . . . . 108 position_control_gain . . . . . . . . . . . . . . . . . . 106 position_control_parameter_set . . . . . . . . . . 106 position_control_time . . . . . . . . . . . . . . . . . . 106 position_control_v_max . . . . . . . . . . . . . . . . 106 position_demand_sync_value . . . . . . . . . . . . 107 position_demand_value . . . . . . . . . . . . . . . . 107 position_encoder_selection . . . . . . . . . . . . . 122 position_error_switch_off_limit . . . . . . . . . . 111 position_error_tolerance_window . . . . . . . . 106 position_factor . . . . . . . . . . . . . . . . . . . . . . . . . 78 position_range_limit . . . . . . . . . . . . . . . . . . . 112 position_range_limit_enable . . . . . . . . . . . . . 113 position_reached . . . . . . . . . . . . . . . . . . . . . . 104 position_window . . . . . . . . . . . . . . . . . . . . . . 110 position_window_time . . . . . . . . . . . . . . . . . 111 Positioning . . . . . . . . . . . . . . . . . . . . . . . . . . . 185 – Braking deceleration . . . . . . . . . . . . . . . . . 183 – Handshake . . . . . . . . . . . . . . . . . . . . . . . . . 185 – Quick stop deceleration . . . . . . . . . . . . . . . 183 – Speed at . . . . . . . . . . . . . . . . . . . . . . . . . . . 182 – Target position . . . . . . . . . . . . . . . . . . . . . . 181 Positioning braking deceleration . . . . . . . . . . 183 Positioning profile – Jerk-free . . . . . . . . . . . . . . . . . . . . . . . . . . . 184 – Linear . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 184 – Sine2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 184 Positioning speed . . . . . . . . . . . . . . . . . . . . . . 182 Festo – GDCP-CMMP-M3/-M0-C-CO-EN – 1304a Positioning Window – Position window . . . . . . . . . . . . . . . . . . . . . 110 – Time . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111 power_stage_temperature . . . . . . . . . . . . . . . 89 pre_defined_error_field . . . . . . . . . . . . . . . . . . 38 Product code . . . . . . . . . . . . . . . . . . . . . . . . . 140 product_code . . . . . . . . . . . . . . . . . . . . . . . . . 140 Profile Position Mode – end_velocity . . . . . . . . . . . . . . . . . . . . . . . . 182 – motion_profile_type . . . . . . . . . . . . . . . . . . 184 – profile_acceleration . . . . . . . . . . . . . . . . . . 182 – profile_deceleration . . . . . . . . . . . . . . . . . . 183 – profile_velocity . . . . . . . . . . . . . . . . . . . . . . 182 – quick_stop_deceleration . . . . . . . . . . . . . . 183 – target_position . . . . . . . . . . . . . . . . . . . . . . 181 Profile Torque Mode . . . . . . . . . . . . . . . . . . . . 206 – current_actual_value . . . . . . . . . . . . . . . . . 210 – dc_link_circuit_voltage . . . . . . . . . . . . . . . 210 – max_torque . . . . . . . . . . . . . . . . . . . . . . . . 208 – motor_rated_torque . . . . . . . . . . . . . . . . . . 209 – target_torque . . . . . . . . . . . . . . . . . . . . . . . 208 – torque_actual_value . . . . . . . . . . . . . . . . . 209 – torque_demand_value . . . . . . . . . . . . . . . . 209 – torque_profile_type . . . . . . . . . . . . . . . . . . 211 – torque_slope . . . . . . . . . . . . . . . . . . . . . . . 211 Profile Velocity Mode . . . . . . . . . . . . . . . . . . . 195 – max_motor_speed . . . . . . . . . . . . . . . . . . . 203 – sensor_selection_code . . . . . . . . . . . . . . . 198 – target_velocity . . . . . . . . . . . . . . . . . . . . . . 203 – velocity_actual_value . . . . . . . . . . . . . . . . . 199 – velocity_demand_value . . . . . . . . . . . . . . . 198 – velocity_sensor . . . . . . . . . . . . . . . . . . . . . . 197 – velocity_threshold . . . . . . . . . . . . . . . . . . . 202 – velocity_threshold_time . . . . . . . . . . . . . . 202 – velocity_window . . . . . . . . . . . . . . . . . . . . . 201 – velocity_window_time . . . . . . . . . . . . . . . . 201 profile_acceleration . . . . . . . . . . . . . . . . . . . . 182 profile_deceleration . . . . . . . . . . . . . . . . . . . . 183 profile_velocity . . . . . . . . . . . . . . . . . . . . . . . 182 PWM frequency . . . . . . . . . . . . . . . . . . . . . . . . 88 pwm_frequency . . . . . . . . . . . . . . . . . . . . . . . . 88 267 CMMP-AS-...-M3/-M0 Q Quick stop deceleration . . . . . . . . . . . . . . . . . 183 quick_stop_deceleration . . . . . . . . . . . . . . . . 183 quick_stop_option_code . . . . . . . . . . . . . . . . 166 R R-PDO 3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 R-PDO4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 Rated motor current . . . . . . . . . . . . . . . . . . . . . 95 Ready to Switch On . . . . . . . . . . . . . . . . . . . . 152 Receive_PDO_3 . . . . . . . . . . . . . . . . . . . . . . . . 34 Receive_PDO_4 . . . . . . . . . . . . . . . . . . . . . . . . 34 Reference switch . . . . . . . . . . . . . . . . . . 132, 134 – Polarity . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133 Referencing method . . . . . . . . . . . . . . . . . . . . 173 Resolver offset angle . . . . . . . . . . . . . . . . . . . . 98 resolver_offset_angle . . . . . . . . . . . . . . . . . . . 98 restore_all_default_parameters . . . . . . . . . . . 74 restore_parameters . . . . . . . . . . . . . . . . . . . . . 74 Revision number CANopen . . . . . . . . . . . . . . 140 revision_number . . . . . . . . . . . . . . . . . . . . . . 140 S Sample – Control systems . . . . . . . . . . . . . . . . . . . . . 137 – Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136 – State . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136 – Status mask . . . . . . . . . . . . . . . . . . . . . . . . 136 SAMPLE input as reference switch . . . . . . . . . 134 sample_control . . . . . . . . . . . . . . . . . . . . . . . 137 sample_data . . . . . . . . . . . . . . . . . . . . . . . . . 135 sample_mode . . . . . . . . . . . . . . . . . . . . . . . . 136 sample_position_falling_edge . . . . . . . . . . . 137 sample_position_rising_edge . . . . . . . . . . . . 137 sample_status . . . . . . . . . . . . . . . . . . . . . . . . 136 sample_status_mask . . . . . . . . . . . . . . . . . . . 136 Sampling position – Falling edge . . . . . . . . . . . . . . . . . . . . . . . . . 137 – Rising edge . . . . . . . . . . . . . . . . . . . . . . . . . 137 Save parameter set . . . . . . . . . . . . . . . . . . . . . 75 save_all_parameters . . . . . . . . . . . . . . . . . . . . 75 268 Scaling factors . . . . . . . . . . . . . . . . . . . . . . . . . 77 – Choice of prefix . . . . . . . . . . . . . . . . . . . . . . . 86 – Position factor . . . . . . . . . . . . . . . . . . . . . . . 79 SDO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 SDO Error Messages . . . . . . . . . . . . . . . . . . . . 23 SDO message . . . . . . . . . . . . . . . . . . . . . . . . . . 20 second_mapped_object . . . . . . . . . . . . . . . . . 30 Selection of the position actual value . . . . . . 122 Selection of the synchronisation source . . . . 123 sensor_selection_code . . . . . . . . . . . . . . . . . 198 serial_number . . . . . . . . . . . . . . . . . . . . . . . . 140 Service . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 Setpoint – Current . . . . . . . . . . . . . . . . . . . . . . . . . . . . 209 – Synchronous speed (velocity units) . . . . . . 199 – Torque . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 208 Setpoint torque (torque regulation) . . . . . . . 208 Setting parameters . . . . . . . . . . . . . . . . . . . . . 72 Setting the operating mode . . . . . . . . . . . . . . 168 shutdown_option_code . . . . . . . . . . . . . . . . . 165 size_of_data_record . . . . . . . . . . . . . . . . . . . 192 Speed – at positioning . . . . . . . . . . . . . . . . . . . . . . . 182 – during homing . . . . . . . . . . . . . . . . . . . . . . . 173 Speed adjustment . . . . . . . . . . . . . . . . . . . . . 195 – Max. motor speed . . . . . . . . . . . . . . . . . . . . 203 – Nominal speed . . . . . . . . . . . . . . . . . . . . . . 203 – Positioning Window . . . . . . . . . . . . . . . . . . 201 – Standstill threshold . . . . . . . . . . . . . . . . . . 202 – Standstill threshold time . . . . . . . . . . . . . . 202 – Target speed . . . . . . . . . . . . . . . . . . . . . . . . 203 – Target window time . . . . . . . . . . . . . . . . . . 201 Speed adjustment operating mode . . . . . . . . 195 Speed regulator – Filter time constant . . . . . . . . . . . . . . . . . . . 102 – Gain . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101 – Parameters . . . . . . . . . . . . . . . . . . . . . . . . . 101 – Time constant . . . . . . . . . . . . . . . . . . . . . . . 102 speed_during_search_for_switch . . . . . . . . . 173 speed_during_search_for_zero . . . . . . . . . . . 174 speed_limitation . . . . . . . . . . . . . . . . . . . . . . 115 Speed-limited torque operation . . . . . . . . . . 115 standard_error_field_0 . . . . . . . . . . . . . . . . . . 38 Festo – GDCP-CMMP-M3/-M0-C-CO-EN – 1304a CMMP-AS-...-M3/-M0 standard_error_field_1 . . . . . . . . . . . . . . . . . . 38 standard_error_field_2 . . . . . . . . . . . . . . . . . . 38 standard_error_field_3 . . . . . . . . . . . . . . . . . . 38 Standstill threshold during speed adjustment . . . . . . . . . . . . . . . . . . . . . . . . . 202 Standstill threshold time with speed adjustment . . . . . . . . . . . . . . . . . . . . . . . . . 202 START input as reference switch . . . . . . . . . . 134 Start positioning . . . . . . . . . . . . . . . . . . . . . . 185 State – Not Ready to Switch On . . . . . . . . . . . . . . . 152 – Ready to Switch On . . . . . . . . . . . . . . . . . . 152 – Switch On Disabled . . . . . . . . . . . . . . . . . . 152 – Switched On . . . . . . . . . . . . . . . . . . . . . . . . 152 Status – Not Ready to Switch On . . . . . . . . . . . . . . . 152 – Ready to Switch On . . . . . . . . . . . . . . . . . . 152 – Switch On Disabled . . . . . . . . . . . . . . . . . . 152 – Switched On . . . . . . . . . . . . . . . . . . . . . . . . 152 statusword – Bit assignment . . . . . . . . . . . . . . . . . . . . . . 159 – Object description . . . . . . . . . . . . . . . . . . . 158 Stop . . . . . . . . . . . . . . . . . . . . . . . . . . . . 177, 178 store_parameters . . . . . . . . . . . . . . . . . . . . . . 74 Switch On Disabled . . . . . . . . . . . . . . . . . . . . 152 SYNC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 SYNC message . . . . . . . . . . . . . . . . . . . . . . . . . 35 synchronisation_encoder_selection . . . . . . . 123 synchronisation_filter_time . . . . . . . . . . . . . . 124 synchronisation_main . . . . . . . . . . . . . . . . . . 124 synchronisation_selector_data . . . . . . . . . . . 124 Synchronous speed (velocity units) . . . . . . . . 199 syncronize_on_group . . . . . . . . . . . . . . . . . . . 191 T T-PDO 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 T-PDO 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 T-PDO 3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 T-PDO 4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 Target group . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 Target position . . . . . . . . . . . . . . . . . . . . . . . . 181 Target position window . . . . . . . . . . . . . . . . . 110 Target speed for speed adjustment . . . . . . . . 203 Festo – GDCP-CMMP-M3/-M0-C-CO-EN – 1304a Target torque (torque regulation) . . . . . . . . . 208 Target window time . . . . . . . . . . . . . . . . . . . . 111 Target window time with speed adjustment . 201 Target window with speed adjustment . . . . . 201 target_position . . . . . . . . . . . . . . . . . . . . . . . 181 target_torque . . . . . . . . . . . . . . . . . . . . . . . . . 208 target_velocity . . . . . . . . . . . . . . . . . . . . . . . . 203 Technical data interface CANopen . . . . . . . . . 212 third_mapped_object . . . . . . . . . . . . . . . . . . . 30 Time constant of the current regulator . . . . . 100 Torque actual value . . . . . . . . . . . . . . . . . . . . 209 Torque limitation . . . . . . . . . . . . . . . . . . . . . . 114 – Scaling . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115 – Setpoint . . . . . . . . . . . . . . . . . . . . . . . . . . . 114 – Source . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114 Torque regulation – Current setpoint value . . . . . . . . . . . . . . . . 209 – Max. torque . . . . . . . . . . . . . . . . . . . . . . . . 208 – Rated torque . . . . . . . . . . . . . . . . . . . . . . . . 209 – Setpoint torque . . . . . . . . . . . . . . . . . . . . . 208 – Setpoint value profile . . . . . . . . . . . . . . . . . 211 – Target torque . . . . . . . . . . . . . . . . . . . . . . . 208 – Torque actual value . . . . . . . . . . . . . . . . . . 209 Torque regulation operating mode . . . . . . . . 206 Torque regulations . . . . . . . . . . . . . . . . . . . . . 206 torque_actual_value . . . . . . . . . . . . . . . . . . . 209 torque_control_gain . . . . . . . . . . . . . . . . . . . 100 torque_control_parameters . . . . . . . . . . . . . 100 torque_control_time . . . . . . . . . . . . . . . . . . . 100 torque_demand_value . . . . . . . . . . . . . . . . . . 209 torque_profile_type . . . . . . . . . . . . . . . . . . . . 211 torque_slope . . . . . . . . . . . . . . . . . . . . . . . . . 211 Torque-limited speed operation . . . . . . . . . . 114 tpdo_1_transmit_mask . . . . . . . . . . . . . . . . . . 32 tpdo_2_transmit_mask . . . . . . . . . . . . . . . . . . 32 tpdo_3_transmit_mask . . . . . . . . . . . . . . . . . . 33 tpdo_4_transmit_mask . . . . . . . . . . . . . . . . . . 33 Transfer parameters for PDOs . . . . . . . . . . . . . 29 transfer_PDO_1 . . . . . . . . . . . . . . . . . . . . . . . . 31 transfer_PDO_2 . . . . . . . . . . . . . . . . . . . . . . . . 31 transfer_PDO_3 . . . . . . . . . . . . . . . . . . . . . . . . 32 transfer_PDO_4 . . . . . . . . . . . . . . . . . . . . . . . . 32 transmission_type . . . . . . . . . . . . . . . . . . . . . . 29 269 CMMP-AS-...-M3/-M0 transmit_pdo_mapping . . . . . . . . . . . . . . . . . . transmit_pdo_parameter . . . . . . . . . . . . . . . . . Trigger iit error . . . . . . . . . . . . . . . . . . . . . . . . . Type of transmission . . . . . . . . . . . . . . . . . . . . 30 29 97 29 V Velocity limitation . . . . . . . . . . . . . . . . . . . . . 115 – Scaling . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116 – Setpoint . . . . . . . . . . . . . . . . . . . . . . . . . . . 115 – Source . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115 velocity_acceleration_neg . . . . . . . . . . . . . . . 205 velocity_acceleration_pos . . . . . . . . . . . . . . . 205 velocity_actual_value . . . . . . . . . . . . . . . . . . 199 velocity_control_filter_time . . . . . . . . . . . . . . 102 velocity_control_gain . . . . . . . . . . . . . . . . . . . 101 velocity_control_parameter_set . . . . . . . . . . 101 velocity_control_time . . . . . . . . . . . . . . . . . . 102 velocity_deceleration_neg . . . . . . . . . . . . . . . 205 velocity_deceleration_pos . . . . . . . . . . . . . . . 205 velocity_demand_sync_value . . . . . . . . . . . . 199 velocity_demand_value . . . . . . . . . . . . . . . . . 198 velocity_encoder_factor . . . . . . . . . . . . . . . . . 81 velocity_ramps . . . . . . . . . . . . . . . . . . . . . . . . 204 velocity_ramps_enable . . . . . . . . . . . . . . . . . 204 velocity_sensor_actual_value . . . . . . . . . . . . 197 velocity_threshold . . . . . . . . . . . . . . . . . . . . . 202 velocity_threshold_time . . . . . . . . . . . . . . . . 202 velocity_window . . . . . . . . . . . . . . . . . . . . . . 201 velocity_window_time . . . . . . . . . . . . . . . . . . 201 vendor_id . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139 Version . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 Version number of the customer-specific variant . . . . . . . . . . . . . . 142 Version number of the firmware . . . . . . . . . . 141 270 X X10 – Counter . . . . . . . . . . . . . . . . . . . . . . . . . . . . – Drive . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . – Drive-out . . . . . . . . . . . . . . . . . . . . . . . . . . . – Resolution . . . . . . . . . . . . . . . . . . . . . . . . . . X2A – Drive . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . – Drive-out . . . . . . . . . . . . . . . . . . . . . . . . . . . – Resolution . . . . . . . . . . . . . . . . . . . . . . . . . . X2B – Counter . . . . . . . . . . . . . . . . . . . . . . . . . . . . – Drive . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . – Drive-out . . . . . . . . . . . . . . . . . . . . . . . . . . . – Resolution . . . . . . . . . . . . . . . . . . . . . . . . . . 120 120 120 119 117 117 117 119 118 118 118 Z Zero point offset . . . . . . . . . . . . . . . . . . . . . . . 172 Festo – GDCP-CMMP-M3/-M0-C-CO-EN – 1304a Copyright: Festo AG & Co. KG Postfach 73726 Esslingen Germany Phone: +49 711 347-0 Fax: +49 711 347-2144 e-mail: [email protected] Reproduction, distribution or sale of this document or communication of its contents to others without express authorization is prohibited. Offenders will be liable for damages. All rights reserved in the event that a patent, utility model or design patent is registered. Internet: www.festo.com Original: de Version: 1304a
© Copyright 2026 Paperzz