Rexroth IndraMotion MLC02VRS PLCopen-Function Blocks And -Data Types

Similar documents
Rexroth PLCopen Function Blocks For Field Bus Drives

Rexroth IndraDrive Rexroth IndraMotion MLD Library

Rexroth MLC Tech-FB for Packaging Applications

Rexroth IndraMotion MLC03VRS Libraries ML_TechCommon, ML_TechCam, ML_TechCamIEC

Motion-Logic system. IndraMotion MLC Controller based

PLCopen for efficiency in automation

PLCopen Standardization in Industrial Control Programming

Synchronized motion control functionality IndraWorks The Tool for All Engineering Tasks

system events Probe User memory Total: Code, data 12 MB 24 MB 36 MB 24 MB Retentive Memory Total: System, User 256 kb 256 kb 256 kb 256 kb

Motion logic system. IndraMotion MLC Control hardware IndraControl L

Motion logic system. IndraMotion MLC Controller-based

2 Bosch Rexroth AG Electric Drives and Controls. Technical data. PLC IndraLogic XLC. Documentation Documentation

Rexroth IndraMotion MLC The innovative Motion Logic system

IndraMotion MLC. TAILIDA TRADING CO., LTD. TEL: FAX:

Motion-Logic. Drive based IndraMotion MLD

PLCopen Motion Control Function Block Reference

Manual. TwinCAT MC Flying Saw. TwinCAT 3. Version: Date: Order No.: TF5055

PLCopen Motion Control Function Block Reference -MR-JE-C

Motion logic. Drive based IndraMotion MLD

Synchronized motion control functionality IndraWorks The Tool for All Engineering Tasks

PLCopen Plus Function Blocks for Motion Control - Rev K: 03/25/2011

Manual. PLC Lib: Tc2_MC2. TwinCAT 3. Version: Date:

Compliance Procedure and Compliance List

MCD. Programming Reference. Programmable Positioning Controller. Documentation. maxon motor maxon motor control. EPOS P Positioning Controller

Indramotion MLD Motion Logic Drive based

Application about Drive Technology

Linear Motion and. Electric Drives. Rexroth IndraMotion MLC 04VRS. R Edition 01. Library Description. ML_Technology. Library Description

IndraLogic L Controller based

Rexroth IndraMotion MLC CamBuilder

PLCopen for efficiency in automation

PLC. IndraLogic L Controller-based

PLCopen for efficiency in automation

Rexroth IndraMotion MLC 04VRS Parameter

Courtesy of CMA/Flodyne/Hydradyne Motion Control Hydraulic Pneumatic Electrical Mechanical (800)

IndraLogic XLC the powerful PLC system for efficient automation

Control hardware. IndraControl L75

Release Notes for MP2000iec controller firmware

Servo drives. Firmware 1G IndraDrive (MPH, MPB, MPD, MPC)

Release Notes for MPiec controller firmware

PLCopen for efficiency in automation

PLCopen for efficiency in automation

Rexroth IndraDrive Firmware for Drive Controllers MPH-05, MPB-05, MPD-05

Technical Manual. Linear Flying Shear Application Solution Package. for MPiec Controllers

Rexroth IndraMotion MTX Diagnosis Messages

Manual. PLC Lib: Tc2_Drive. TwinCAT 3. Version: Date:

PLCopen for efficiency in automation

Manual. PLC Lib: Tc2_DMX. TwinCAT 3. Version: Date:

Manual. TwinCAT MC Camming. TwinCAT. Version: Date: Order No.: TS5050

Motion Control according to PLCopen for b maxx PLC V 1.2 Application Manual

Rexroth IndraMotion MLC03VRS Function Modules

Motion Function Blocks Unity Pro User manual. October 2005 eng

HMI/industrial PC. Plug-in card Sercos master module Sercans

PLC. IndraLogic L Controller based

Servo drives. Firmware 2G IndraDrive (MPE, MPB/MPM, MPC)

Manual. PLC Lib: Tc2_SMI. TwinCAT 3. Version: Date:

Application Note. Creating PLCopen Compliant Function Blocks in IEC 61131

PLCopen for efficiency in automation

SoMachine Motion Control Library Guide

PLC Lib: Tc3_MC2_AdvancedHoming

Application Note. Rotary Knife Application Solution Package for MPiec Series Controllers

HITACHI PROGRAMMABLE AUTOMATION CONTROLLER

Rexroth IndraMotion MLC 03VRS

DVP-MC Bus-Type Multi-Axis Motion Controller Operating Manual

Levante Sistemas de Automatización y Control S.L.

TwinCAT KinematicTransformation

SIMIT 7. Gateways. User Manual

Sample documentation

Rexroth IndraDrive Integrated Safety Technology

Input/output Data type Description


Rexroth SYNAX 200 Version 11

Manual. PLC Lib: Tc2_Coupler. TwinCAT 3. Version: Date:

Rexroth MTC200/ISP200/TRANS200 MTGUI User Interface

Rexroth IndraDrive Firmware for Drive Controllers MPH-03, MPB-03, MPD-03

Rexroth IndraDrive Cs Multiprotocol-capable compact drives

Rexroth IndraMotion for Handling The turn-key automation solution

Release Notes for MP2000iec controller firmware

Rexroth IndraMotion MTX Software Installation

SIMOTION. SIMOTION SCOUT Reading and Writing Drive Data. Preface. Fundamental safety instructions 1. Description 2.

Manual. NC PTP: Quick Starting Guide. TwinCAT 3. Version: Date: Order No.: TF5000

How to read or write multiple parameters using FB286

sercos System Manual for I/O Devices

Micro800 Programmable Controllers: Getting Started with Motion Control Using a Simulated Axis

HNC100 Profibus-DP interface: Connection to Siemens S7 and S5

CNC. Compact, 6 axes IndraMotion MTX micro

EtherCAT Product Family

Hydraulics with IO-Link: Reduced effort, high value

Manual. Libraries MPLCTec..._MDX, MPLCTecVirtualEncoder for MOVI-PLC. Edition 07/ / EN

Rexroth SYNAX 200 Version 12

Technical documentation

MTC200/ISP200/TRANS200 Setup. Application Manual SYSTEM200 DOK-CONTRL-SETUP***V22-AW02-EN-P

Levante Sistemas de Automatización y Control S.L.

Servo press kit YJKP - Host interface

MFB for Modicon M340 using Unity Pro

ECODRIVE03/DURADRIVE Drives for General Automation with Fieldbus Interfaces. Firmware Version Notes: FGP 20VRS SYSTEM200

Servo drives. Control units 1G IndraDrive (BASIC, ADVANCED)

Drive Technology \ Drive Automation \ System Integration \ Services. MPLCTec.._MX Libraries. Manual. Edition 04/ / EN

ECODRIVE03 Drive for General Automation With SERCOS-, Analog- and Parallelinterface

PackML_Toolbox_v203 Function Block Help Document

Cover. Technology Template MC_MoveJOG. Technology CPU. Documentation March Applikationen & Tools. Answers for industry.

Transcription:

Electric Drives Linear Motion and Hydraulics Assembly Technologies Pneumatics Service Rexroth IndraMotion MLC02VRS PLCopen-Function Blocks And -Data Types R911316107 Edition 01 Library Description

Bosch Rexroth AG Electric Drives Rexroth IndraMotion MLC02VRS Library Description Title Type of Documentation Document Typecode Internal File Reference Purpose of Documentation Record of Revision Rexroth IndraMotion MLC02VRS PLCopen-Function Blocks and -Data Types Library Description DOK-IM*MLC-PLCOPEN*V02-FK01-EN-P RS-792cf0000a6846ac0036bbea60291cf3-2-en-US-3 The documentation describes the function blocks, functions and data types according to PLCopen for the IndraMotion MLC02VRS. The documentation also contains the error reactions of the blocks. Edition Release Date Notes DOK-IM*MLC-PLCOPEN*V02-FK01-EN- P DOK-IM*MLC-PLCOPEN*V02-FK01-EN- P 05.2005 First edition, MLC01VRS 06.2006 MLC02VRS Copyright Validity Publisher Note 2006 Bosch Rexroth AG Copying this document, giving it to others and the use or communication of the contents therof without express authourity, are forbidden. Offenders are liable for the payment of damages. All rights are reserved in the event of the grant of a patent or the registration of a utility model or design (DIN 34-1). The specified data is for product description purposes only and may not be deemed to be guaranteed unless expressly confirmed in the contract. All rights are reserved with respect to the content of this documentation and the availability of the product. Bosch Rexroth AG Bgm.-Dr.-Nebel-Str. 2 D-97816 Lohr a. Main Phone +49 (0)93 52 / 40-0 Fax +49 (0)93 52 / 40-48 85 http://www.boschrexroth.com/ Dept. BRC/ESC (vha) This document has been printed on chlorine-free bleached paper.

Library Description Rexroth IndraMotion MLC02VRS Electric Drives Table of contents Bosch Rexroth AG I/III Table of contents 1... 1 1.1 PLCopen-Function Blocks for the IndraMotion MLC - General... 1 1.2 State Diagram of a Real Axis... 1 1.3 Command Processing in PLCopen-Function Blocks... 3 1.3.1 Command Processing General - Execute, Active/ Busy, Done... 3 1.3.2 Signal Time Diagrams of Edge-Triggered Function Blocks... 4 1.3.3 Signal-Time Diagrams of Level-Triggered Function Blocks... 5 1.4 Error Handling in PLCopen-Function Blocks... 6 1.5 Principles of the Error Handling... 6 1.6 Data Types at the Interface of IndraMotion-Blocks... 7 1.6.1 General Information on Data Types... 7 1.6.2 AXIS_REF... 8 1.6.3 CONTROLS... 9 1.6.4 OBJECTS... 9 1.6.5 Data Types for Error Diagnosis with IndraMotion-Blocks... 10 ERROR_CODE... 10 ERROR_STRUCT... 11 ERROR_TABLE... 11 1.7 Function Blocks for Parameter Access... 12 1.7.1 Access on Data of an Axis or a Control... 12 1.7.2 MC_ReadActualPosition... 13 1.7.3 MC_ReadActualPosition, Special Features of the IndraMotion MLC... 15 1.7.4 MC_ReadAxisError... 15 1.7.5 MC_ReadAxisError, Special Features of the MLC... 16 1.7.6 MC_ReadStatus... 16 1.7.7 MC_ReadStatus, Special Features of the IndraMotion MLC... 18 1.7.8 MB_ReadParameter... 18 1.7.9 MB_ReadParameter, Special Features of the IndraMotion MLC... 20 1.7.10 MB_ReadRealParameter... 20 1.7.11 MB_ReadRealParameter, Special Features of the IndraMotion MLC... 22 1.7.12 MB_ReadListParameter... 22 1.7.13 MB_ReadListParameter, Special Features of the IndraMotion MLC... 24 1.7.14 MB_ReadSercosAttribute... 25 1.7.15 MB_ReadSercosAttribute, Special Features of the IndraMotion MLC... 26 1.7.16 MB_ReadSercosDataStatus... 27 1.7.17 MB_ReadSercosDataStatus, Special Features of the IndraMotion MLC... 29 1.7.18 MB_SERCOS_DATA_STATUS... 29 1.7.19 MB_ReadStringParameter... 30 1.7.20 MB_ReadStringParameter, Special Features of the IndraMotion MLC... 31 1.7.21 MB_WriteParameter... 32 1.7.22 MB_WriteParameter, Special Features of the IndraMotion MLC... 34 1.7.23 MB_WriteRealParameter... 34 1.7.24 MB_WriteRealParameter, Special Features of the IndraMotion MLC... 36 1.7.25 MB_WriteUdintParameter... 37 Page

II/III Bosch Rexroth AG Electric Drives Rexroth IndraMotion MLC02VRS Library Description Table of contents Page 1.7.26 MB_WriteListParameter... 37 1.7.27 MB_WriteListParameter, Special Features of the IndraMotion MLC... 39 1.7.28 MB_WriteStringParameter... 40 1.7.29 MB_WriteStringParameter, Special Features of the IndraMotion MLC... 42 1.8 Function block for Single Axis Control... 42 1.8.1 MC_Power... 42 1.8.2 MC_Power, Special Features of the IndraMotion MLC... 43 1.8.3 MC_Reset... 44 1.8.4 MC_Reset, Special Features of the IndraMotion MLC... 45 1.8.5 MC_Stop... 45 1.8.6 MC_Stop, Special Features of the IndraMotion MLC... 47 1.8.7 MC_MoveAbsolute... 48 1.8.8 MC_MoveAbsolute, Special Features of the IndraMotion MLC... 50 1.8.9 MC_MoveAdditive... 50 1.8.10 MC_MoveAdditive, Special Features of the IndraMotion MLC... 52 1.8.11 MC_MoveRelative... 53 1.8.12 MC_MoveRelative, Special Features of the IndraMotion MLC... 56 1.8.13 MC_MoveVelocity... 57 1.8.14 MC_MoveVelocity, Special Features of the IndraMotion MLC... 60 1.8.15 MC_TorqueControl... 61 1.8.16 MC_TorqueControl, Special Features of the IndraMotion MLC... 63 1.8.17 MB_Home... 64 1.8.18 MB_Home, Special Features of the IndraMotion MLC... 65 1.8.19 MB_PresetMode - In Preparation... 66 1.8.20 MB_PresetMode, Special Features of the IndraMotion MLC... 66 1.9 Function Blocks for Multi-Axes Control... 67 1.9.1 Multi-Axes Control - Synchronization in the Position-Controlled Synchronous Operation Modes... 67 1.9.2 MC_START_MODE... 67 1.9.3 MC_SYNC_DIRECTION... 68 1.9.4 Data Type for Changeover between Cams, MLC... 68 1.9.5 MC_CAM_ID... 68 1.9.6 MC_CamIn... 69 1.9.7 MC_CamIn, Special Features of the IndraMotion MLC... 71 1.9.8 MC_CamOut... 73 1.9.9 MC_CamOut, Special Features of the IndraMotion MLC... 74 1.9.10 MC_GearIn... 74 1.9.11 MC_GearIn, Special Features of the IndraMotion MLC... 76 1.9.12 MC_GearOut... 77 1.9.13 MC_GearOut, Special Features of the IndraMotion MLC... 79 1.9.14 MB_GearInPos... 79 1.9.15 MB_GearInPos, Special Features of the IndraMotion MLC... 81 1.9.16 ML_PhasingSlave... 82 1.10 Function Blocks for Use of the Cyclical Data Channel... 84 1.10.1 General about the Use of the Cyclical Data Channel... 84 1.10.2 ML_OpenCyclicPositionChannel... 85 1.10.3 ML_WriteCyclicPosition... 86

Library Description Rexroth IndraMotion MLC02VRS Electric Drives Bosch Rexroth AG III/III Table of contents Page 1.11 Supply of Axis Data for Use in PLC-Programs... 89 1.11.1 Axis Data Transfer - Basic Principles... 89 1.11.2 ML_AXISDATA... 90 1.11.3 Axis Data of all Axes in the Shared Memory... 91 1.11.4 ML_AXISDATA_SM... 92 1.12 Supply of Control Data for Use in PLC-Programs... 94 1.12.1 Control Data Transfer... 94 1.12.2 ML_ControlData_SM... 94 1.13 Time Need with the Data Access and with the Processing of Motion Function Blocks in the IndraMotion MLC... 96 1.13.1 The MLC-Tasksystem in the Overview... 96 1.13.2 Time Need with the Processing of Motion Function Blocks in the IndraMotion MLC... 97 1.14 Changes in the MLC PLCopen-Libraries... 99 2 Error Tables (Error_Tables)... 101 2.1 SERCOS_TABLE... 101 2.2 MLC_TABLE... 102 3 Service & Support... 105 3.1 Helpdesk... 105 3.2 Service Hotline... 105 3.3 Internet... 105 3.4 Helpful Information... 105 Index... 107

Bosch Rexroth AG Electric Drives Rexroth IndraMotion MLC02VRS Library Description

Library Description Rexroth IndraMotion MLC02VRS Electric Drives 1 PLCopen-Function Blocks for the IndraMotion MLC 02VRS 1.1 PLCopen-Function Blocks for the IndraMotion MLC - General 1.2 State Diagram of a Real Axis The documentation on the IndraMotion function blocks starts with a brief introduction to the fundamental options of Indramotion based on the PLCOpen, the axis state diagrams for IndraMotion axes (State Diagram of a Real Axis, page 1,) and the Error Handling in PLCopen-Function Blocks, page 6. It joins the description and explanation of the data types (Data Types at the Interface of IndraMotion-Blocks, page 7). The documentation is concluded by a description of the IndraMotion blocks contained in the ML_PLCopen-Library: Function Blocks for Parameter Access, page 12 Function block for Single Axis Control, page 42 Function Blocks for Multi-Axes Control, page 67 Bosch Rexroth AG 1/108 Function Blocks for Use of the Cyclical Data Channel, page 84. The diagram following below normatively defines the behavior of IndraMotion axes from the user s viewpoint, when several IndraMotion function blocks are activated at the same time. This combination of motion profiles is useful in the generation of complicated profiles and in the reaction to exceptional situations in programs. In principle, motion commands are given and processed sequentially, even if the PLC is capable of parallel processing. These commands follow the state diagram of the IndraMotion axes. Each axis is in exactly one of the states defined (see the state diagram below). Each motion command represents a state transition for the axis concerned. The sequence of these transitions describes the entire behavior of the axis. The diagram focuses on the individual axis. Multi-axis function blocks, such as MC_CamIn, MC_GearIn and MB_GearInPos, can be considered such that each axis, as seen from the user's view, is in its specific state of the state diagram, e.g. the CAM master may be in the 'continuous motion' state, while the corresponding slave is in the 'synchronized motion' state. When a slave axis is connected to follow a master axis, the master axis is not affected. Function blocks with administration character, like e.g. function blocks for writing and reading of parameters have no impact on the state diagram.

2/108 Bosch Rexroth AG Electric Drives Rexroth IndraMotion MLC02VRS Library Description Fig.1-1: IndraMotion state diagram of a real axis

Library Description Rexroth IndraMotion MLC02VRS Electric Drives Bosch Rexroth AG 3/108 Legend (Note 1) - All function blocks can be called without being processed, except for MC_Reset and Error, which generate the transition to StandStill or ErrorStop respectively. (Note 2) - Power.Enable= TRUE and error in the axis. (Note 3) - Power.Enable= TRUE and error in the axis. (Note 4) - MC_Stop.Done AND NOT MC_Stop.Execute Depending on the programmed error reaction an error in the drive is leading to a power switch-off anytime. But the state machine remains in ErrorStop, MC_Reset leads at switched off power to the power-off state. 1.3 Command Processing in PLCopen-Function Blocks 1.3.1 Command Processing General - Execute, Active/ Busy, Done The PLCopen function blocks use input and output signals with a defined function. Input signal Execute Output signal Active Output signal Done Execute Fig.1-2: no less than 1 PLC cycle; no more than as many cycles as desired Signal interplay of a PLCopen-Function block With its rising edge, the Execute signal initiates processing of the FB instance. The minimum duration of the signal is one PLC cycle. The signal can be deactivated not later than after processing is completed. The Execute signal triggers the three phases of processing of the FB instance: Preprocessing: FB inputs are checked; values are precalculated; values are initialized; command values are sent; the operation mode is changed; acknowledgement from the target object is expected. Setpoints active: The setpoints are available for processing at the target location (e.g. drive). Processing is in progress (communication channel active with communication blocks; operation mode and setpoints active with motion blocks). FB is ready: Processing at the target location is completed and the result is returned and provided at the outputs of the FB. The three phases become evident at the outputs of the FB: Combines the phases Setpoint active and FB is ready. At the earliest after arrival of Active new informations can be applied to the block. Processing of the order has been completed successfully (without errors). The Execute signal can be deactivated again not later than at this point. If the "Execute" signal was deactivated already beforehand, the "Done" signal is active for one PLC cycle only.

4/108 Bosch Rexroth AG Electric Drives Rexroth IndraMotion MLC02VRS Library Description MLC does not use the signal that is recommended by PLCopen. If necessary, however, it can be determined. Input signal Enable Other input signals: The order is applied with a 0-1 transition and executed as long as the signal is present, e.g. data is read (MC_ReadParameter) or power is on (MC_Power). Changing the input variables after the 0-1 edge has no effect! Output signals InVelocity, In- Gear, InSync, InTorque Other output signals: Unlike Done these signals indicate a continuous (error-free) order completion. The display remains as long as Execute is active or until another Motion-FB forces a new command for the axis. The output signals Done, Active, InVelocity, InGear, In- Sync and InTorque are only active with an error-free behavior of the block instance and the target object; in this case output Error is always FALSE. TRUE at the Error output, however, excludes TRUE at one of the other outputs. 1.3.2 Signal Time Diagrams of Edge-Triggered Function Blocks Inputs Outputs The signal time diagrams are binding when the following input and output signals are used: Execute Done, InVelocity, InGear, InSync, InTorque; Error; Active

Library Description Rexroth IndraMotion MLC02VRS Electric Drives Bosch Rexroth AG 5/108 Edge-Triggered Function Blocks Fig.1-3: Signal time behavior of edge-triggered function blocks If the Execute is present in case 2 only as an impulse, the Done signal is only existing for one PLC-Cycle! (InGear, InSync, InVelocity, InTorque analog). If the Execute is present in case 4 only as an impulse, the Error signal is only existing for one PLC-Cycle! 1.3.3 Signal-Time Diagrams of Level-Triggered Function Blocks Inputs Outputs The signal time diagrams are binding when the following input and output signals are used: Enable Done; Error; Active

6/108 Bosch Rexroth AG Electric Drives Rexroth IndraMotion MLC02VRS Library Description Level-Controlled Function Blocks Fig.1-4: Signal time behavior of level-triggered function blocks If "Enable" is deactivated with MC_Power and active axis, a pulse taking one PLC cycle is triggered at the "Error" output! 1.4 Error Handling in PLCopen-Function Blocks Error: BOOL ErrorID: INT (ENUM) ErrorIdent: ERROR_STRUCT The error handling of function blocks is a part of the diagnosis concept. Contrary to diagnosis, however, it does not cover any warnings or messages, but errors only. All FBs have three outputs providing information on an error that occurs: The rising edge of "Error" signals that an error has occurred while processing of the FB was in progress. The error signal can be applied no longer than Execute or Enable at the input of the particular function block is TRUE. The error signal takes no less than one PLC cycle, provided Execute was already deactivated before processing was completed/cancelled. The output provides brief information on the error that is present. Any possible information is provided in the list ERROR_CODE, page 10,. The ErrorIdent output provides detailed information on the particular error. The structure contains a set of information on the error signaled by the "Error" output (ERROR_STRUCT, page 11). ERROR_TABLE: indicates the table specifying the meaning of the error (Additional1). Additional1: indicates the meaning of the error. 1.5 Principles of the Error Handling Decentralized Error Handling Additional2: may provide detailed information on "Additional1". The description of the particular block also contains the error messages. There are two principles of error handling, i.e. centralized and decentralized error handling. Either principle can be used for IndraMotion function blocks. Decentralized error handling provides the possibility of a differentiated reaction directly at the FB instance where the error has occurred.

Library Description Rexroth IndraMotion MLC02VRS Electric Drives Bosch Rexroth AG 7/108 Centralized Error Handling Fig.1-5: Decentralized error handling in IndraMotion function blocks The options of decentralized error handling can already be used in the first IndraMotion prototypes. == not supported by the firmware yet; open to the user == Centralized error handling is used to facilitate programming with motion function blocks. The error reaction is the same as that directly at the instance where the error has occurred. The appropriate information can be obtained by requesting the "diagnosis parameters" (refer to Troubleshooting Guide or Online Help). Fig.1-6: Centralized error handling at motion function blocks 1.6 Data Types at the Interface of IndraMotion-Blocks 1.6.1 General Information on Data Types Blocks Data types Version Data types of PLCopen This section describes the data types of the input and output variables of the IndraMotion blocks. The data types are contained in the RIL_CommonTypes library. The version of the library is identified by the Version_RIL_CommonTypes_xxVRSyy function. The structure of the library is as follows: Version_RIL_CommonTypes_xxVyy (FUN)

8/108 Bosch Rexroth AG Electric Drives Rexroth IndraMotion MLC02VRS Library Description Blocks AXIS_REF, page 8,(STRUCT) MC_CAM_ID, page 68,(ENUM) MC_START_MODE, page 67,(ENUM) MC_SYNC_DIRECTION, page 68,(ENUM) Data types of logical addresses CONTROLS, page 9,(ENUM) OBJECTS, page 9,(ENUM) Data types of POU diagnosis ERROR_STRUCT, page 11,(STRUCT) Includes ERROR_CODE, page 10,(ENUM) ERROR_TABLE, page 11,(ENUM) 1.6.2 AXIS_REF Brief Description Library RIL_CommonTypes.lib Fig.1-7: Structure of the library This library has been declared to define a uniform access to different IndraMotion device types. Other type definitions are contained in library ML_Basic.lib\DirectVarAnd SM resp. ML_Basic.lib\RDWR_Parameter (hidden). The structure contains informations on the corresponding axis. Range Data types of PLCopen...\Rexroth\IndraWorks\IndraLogic\Targets\IndraMotion_MLC_L40_02VRS\Lib Fig.1-8: Library assignment Name Type Initial value Comment TYPE AXIS_REF STRUCT CntrlNo CONTROLS LOCAL_CNTRL Control number; initial value: local control AxisNo OBJECTS AXIS_1 Axis reference number END_STRUCT END_TYPE Functional Description Fig.1-9: AXIS_REF (STRUCT) Information is transferred via VAR_IN_OUT to all MLC function blocks which are defined in "ML_PLCopen.lib". The AXIS_REF structure contains two 16-bit address elements: the control address (element of "CONTROLS") and the object address (element of "OBJECTS").

Library Description Rexroth IndraMotion MLC02VRS Electric Drives Bosch Rexroth AG 9/108 1.6.3 CONTROLS Brief Description The elements can be addressed via the logical or the physical address. In case of a logical address, the element points to a parameter structure with a physical address (e.g. Ethernet address of the control). The enumeration contains all controls that can be addressed via IndraMotion function blocks in the IndraMotion network: In case of a physical address, the local control can be reached in two ways (number "0", local) and via its own address, e.g. CTRL_3. Library RIL_CommonTypes.lib Range Data types of logical addresses...\rexroth\indraworks\indralogic\targets\indramotion_mlc_l40_02vrs\lib Fig.1-10: Library assignment Name Value Comment TYPE CONTROLS Enumeration of valid logical control addresses ( LOCAL_CNTRL := 0 Local control (default) CNTRL_1 := 1 Control 1 CNTRL_2 := 2 Control 2 CNTRL_3 := 3 Control 3 ) END_TYPE Functional Description 1.6.4 OBJECTS Brief Description Library RIL_CommonTypes.lib Fig.1-11: CONTROLS (ENUM) example This list of connected controls contains all controls that can be addressed via IndraMotion function blocks in the IndraMotion network (also refer to Axis Data Transfer - Basic Principles, page 89): Number 0000 is enabled for the local control (IndraMotion). The number range 0001.. 0999 is reserved for all linked controls. This enumeration of available axes and axis groups contains all objects of an IndraMotion network which can be accessed by means of IndraMotion blocks. Range Data types of logical addresses...\rexroth\indraworks\indralogic\targets\indramotion_mlc_l40_02vrs\lib Fig.1-12: Library assignment Name Value Comment TYPE OBJECTS Enumeration of valid axes and axis groups ( NO_OBJECT := 0 No object defined AXIS_1 := 1 Axis 1 AXIS_2 := 2 Axis 2

10/108 Bosch Rexroth AG Electric Drives Rexroth IndraMotion MLC02VRS Library Description Name Value Comment AXIS_3 := 3 Axis 3 ) END_TYPE Functional Description Fig.1-13: OBJECTS (ENUM) example This enumeration of available axes and axis groups contains all objects of an IndraMotion network which can be accessed by means of IndraMotion blocks (also refer to Axis Data Transfer - Basic Principles, page 89). Number 00, NO_OBJECT (no object defined) is used for deactivated axis. 1.6.5 Data Types for Error Diagnosis with IndraMotion-Blocks ERROR_CODE Brief Description This enumeration contains all error types characterizing an error at the function block. The error code provides quick information on the cause of the error. Library RIL_CommonTypes.lib Range Data types of POU diagnosis -> includes...\rexroth\indraworks\indralogic\targets\indramotion_mlc_l40_02vrs\lib Fig.1-14: Library assignment Name Value Comment TYPE ERROR_CODE Enumeration of valid error types ( NONE_ERROR := 16#0000 No error code available, FB functioning properly INPUT_INVALID_ERROR := 16#0001 Error caused by invalid input values COMMUNICATION_ERROR := 16#0002 Error with the link connection resp. during the communication RESSOURCE_ERROR := 16#0003 The resource (e.g. a parameter) is not available ACCESS_ERROR := 16#0004 Although present, the resource cannot be accessed. Example: It is intended to write a parameter in phase 4, but the parameter can only be written in phases 2 and 3. STATE_MACHINE_ERROR := 16#0005 The current state of the state machine prevents or prohibits further processing. Example: The "Execute" input is provided with a positive edge. While processing is in progress, it is detected that the drive is not in the controller enable state. In this case, a STATE_MACHINE_ERROR might be triggered, if so defined. INPUT_RANGE_ERROR := 16#0006 While processing is in progress, it is detected that undefined command values or setpoints that are too high or too low are generated by one or more input variables. CALCULATION_ERROR := 16#0007 A calculation error has occurred, e.g. division by 0 or non in case of float variables (value outside of value range).

Library Description Rexroth IndraMotion MLC02VRS Electric Drives Bosch Rexroth AG 11/108 ) END_TYPE Name Value Comment DEVICE_ERROR := 16#0008 A higher-level device error has occurred, e.g. IndraDrive: Cam operation mode F2005, invalid cam. OTHER_ERROR := 16#7FFE general (undefined) error SYSTEM_ERROR := 16#7FFF e.g. operating system error ERROR_STRUCT Brief Description Library RIL_CommonTypes.lib Fig.1-15: Error codes in "ERROR_CODE" The error structure provides any detailed information on an actual error. This information can be evaluated and read directly at the particular instance of an IndraMotion block. The components must be interpreted as follows: 1. Determine the table number (ERROR_TABLE ). This defines the cause of the error. 2. Use this finding to evaluate "Additional1". The content is the diagnosis number which can be found in the particular block descriptions (also refer to Troubleshooting Guide, MLC). Check whether "Additional2" = 0; if yes, diagnosis is completed; if no, proceed. 3. Evaluation of "Additional2" (with MLC_Table not supported so far). Range Data types of POU diagnosis...\rexroth\indraworks\indralogic\targets\indramotion_mlc_l40_02vrs\lib Fig.1-16: Library assignment Name Type Comment TYPE ERROR_STRUCT STRUCT Table INT (ENUM) ERROR_TABLE : The table is of the Enum type. The Enum value indicates the list required for identifying the actual error of "Additional1". Additional1 DWORD Contains the actual error number (diagnosis) according to the table specified. Additional2 DWORD May provide supplementary information on "Additional1". END_STRUCT END_TYPE ERROR_TABLE Brief Description Fig.1-17: Data type: ERROR_STRUCT (STRUCT) The ERROR_TABLE provides the first element of ERROR_STRUCT. Using the number, select the table to be searched for the "Additional1" error code. For MLC-Applications this should be e.g. the table "MLC_TABLE", 16#0030. The error numbers contained in the particular block description under "Additional1" obtain their information from this table (also refer to MLC_TABLE, page 102). With errors at the access on a parameter, blocks can use the table SERCOS_TABLE, page 101, etc..

12/108 Bosch Rexroth AG Electric Drives Rexroth IndraMotion MLC02VRS Library Description Library RIL_CommonTypes.lib Range Data types of POU diagnosis - includes...\rexroth\indraworks\indralogic\targets\indramotion_mlc_l40_02vrs\lib Fig.1-18: Library assignment Name Value Comment TYPE ERROR_TABLE Enumeration of valid error tables for evaluation of "Additional1" ( NO_TABLE_USED := 16#0000 reserved ) END_TYPE SERCOS_TABLE := 16#0010 Sercos Error: "Additional1" = Sercos code MLDS_TABLE := 16#0020 Drive based Motion Logic MLC_TABLE := 16#0030 Controller based Motion Logic MLX_TABLE := 16#0040 CNC MLP_TABLE := 16#0050 PC-based Motion PLC_TABLE := 16#0060 PLC INDRV_TABLE := 16#0070 IndraDrive DIAX_TABLE := 16#0080 DIAX ECO_TABLE := 16#0090 EcoDrive PB_DP_TABLE := 16#0130 Profibus DEVICENET_TABLE := 16#0140 DeviceNet ETHERNET_TABLE := 16#0150 EtherNet ETHERNET_IP_TABLE := 16#0151 EtherNet / IP ODVA INTERBUS_TABLE := 16#0160 Interbus F_RELATED_TABLE := 16#0170 function related USER1_TABLE := 16#1000 Unassigned user table............ USER10_TABLE := 16#1009 Unassigned user table Fig.1-19: Tables in "ERROR_TABLE" 1.7 Function Blocks for Parameter Access 1.7.1 Access on Data of an Axis or a Control Structure of and Access to Parameters from the PLC Program The data of an axis or also the control affecting this axis can be reached by accessing parameters in a reading or, in part, writing manner. There are the following IndraMotion MLC parameter types: C-parameters (control parameters), referring to an actual control that affects the axes. A-parameters (axis parameters), each referring to one particular axis.

Library Description Rexroth IndraMotion MLC02VRS Electric Drives Bosch Rexroth AG 13/108 In addition to these parameters, there are further groups which are tailored to a specific bus (S-parameters, SERCOS interface) or to a specific product (Pparameters). The structure of all IndraMotion parameters is the same: Example: A-0-0001, where A(, C, P, S) is the parameter type qualifier which is followed by the group number and the four-digit parameter number. Derived from the parameter number these parameters can be accessed in the PLC-program. To this end, A-, C-, P- and S-parameter declaration files are available for global constants. If the parameter number is known: Parameter offset: Fig.1-20: VAR_GLOBAL CONSTANT Declaration files for global constants FP_A_0_0001: DINT:= 65537 ; (* AxisNumber *) FP_A_0_0002: DINT:= 65538 ; (* AxisName *) FP_A_0_0004: DINT:= 65540 ; (* AxisType *) END_VAR, As an alternative of the constant itself, the name or number can be applied to the "ParameterNumber" input of the particular function block. Parameter group decimal hexadecimal 1.7.2 MC_ReadActualPosition S-0-0000 0 16#0 P-0-0000 32768 16#8000 A-0-0000 65536 16#10000 C-0-0000 131072 16#20000 Fig.1-21: Parameter offsets Brief Description The function block reads the actual position of the drive. A change of the axis at the input of the function block requires another 0-1-transition at the Enable input.

14/108 Bosch Rexroth AG Electric Drives Rexroth IndraMotion MLC02VRS Library Description Library ML_PLCopen.lib Range Parameters...\Rexroth\IndraWorks\IndraLogic\Targets\IndraMotion_MLC_L40_02VRS\Lib Interface Description Fig.1-22: Library assignment Fig.1-23: FB MC_ReadActualPosition Name Type Comment VAR_IN_OUT Axis AXIS_REF Provides information on the actual axis. VAR_INPUT Enable BOOL continuously reading of the position value as long as Enable is TRUE. VAR_OUTPUT Done BOOL a valid value is available Active BOOL Processing of data is active after preprocessing is completed. Error BOOL Indicates that an error has occurred in the FB instance. ErrorID ERROR_CODE Brief indication of the error cause. ErrorIdent ERROR_STRUCT Detailed information on the error. Position REAL Current absolute position of the drive (in the axis unit [u]) Signal time diagram Fig.1-24: Interface of FB MC_ReadActualPosition Fig.1-25: Default signal time diagram

Library Description Rexroth IndraMotion MLC02VRS Electric Drives Bosch Rexroth AG 15/108 1.7.3 MC_ReadActualPosition, Special Features of the IndraMotion MLC Used MLC-Parameters Error handling The function block reads the current position of the drive, i.e. "Actual position" (A-0-0100). The function block MC_ReadActualPosition generates the following error messages: MLC_TABLE - Error at the access on the axis/ the control Display F*22*201 F*22*202 F*22*204 Meaning Invalid control number Invalid axis number Not supported by the axis type 1.7.4 MC_ReadAxisError Fig.1-26: Error numbers caused by MC_ReadActualPosition F*22*... is to be read as F0220..., for this case no error reaction by the axis F2229..., for the case Axis Halt, best-possible Standstill. Brief Description The function block recalls the error state of the addressed axis. One instance of the function block is to be used for each axis. A change of the axis at the input of the function block requires another 0-1-transition at the Enable input. Library ML_PLCopen.lib Range Parameters...\Rexroth\IndraWorks\IndraLogic\Targets\IndraMotion_MLC_L40_02VRS\Lib Interface Description Fig.1-27: Library assignment Fig.1-28: FB MC_ReadAxisError Name Type Comment VAR_IN_OUT Axis AXIS_REF provides information on the actual axis. VAR_INPUT Enable BOOL continuously reading the error information as long as Enable is TRUE. VAR_OUTPUT Done BOOL Value available Active BOOL Processing of data is active after preprocessing is completed

16/108 Bosch Rexroth AG Electric Drives Rexroth IndraMotion MLC02VRS Library Description Name Type Comment AxisErrorID DWORD Indicates the error of the drive of the axis Error BOOL Indicates that an error has occurred when the FB instance was called ErrorID ERROR_CODE Brief indication of the error cause. ErrorIdent ERROR_STRUCT Detailed information on the error Signal time diagram Fig.1-29: Interface of FB MC_ReadActualPosition Fig.1-30: Default signal time diagram 1.7.5 MC_ReadAxisError, Special Features of the MLC Used MLC-Parameters Error handling This function block recalls the error status (A-0-0020, Axis diagnostic message) of the addressed axis. The function block MC_ReadAxisError generates the following error messages: MLC_TABLE - Error at the access on the axis/ the control Display F*22*201 F*22*202 F*22*204 Meaning Invalid control number Invalid axis number Not supported by the axis type 1.7.6 MC_ReadStatus Fig.1-31: Error numbers caused by MC_ReadAxisError F*22*... is to be read as F0220..., for this case no error reaction by the axis F2229..., for the case Axis Halt, best-possible Standstill. Brief Description This function block reads the actual status of the axis and outputs it decoded. (Compare also IndraMotion state diagram of a real axis, page 2.) A change of the axis at the input of the function block requires another 0-1-transition at the Enable input.

Library Description Rexroth IndraMotion MLC02VRS Electric Drives Bosch Rexroth AG 17/108 Library ML_PLCopen.lib Range Parameters...\Rexroth\IndraWorks\IndraLogic\Targets\IndraMotion_MLC_L40_02VRS\Lib Interface Description Fig.1-32: Library assignment Fig.1-33: FB MC_ReadStatus Name Type Comment VAR_IN_OUT Axis AXIS_REF provides information on the actual axis VAR_INPUT Enable BOOL continuously reading the axis state as long as Enable is TRUE VAR_OUTPUT Done BOOL a valid value is available Active BOOL Processing of data is active after preprocessing is completed Error BOOL Indicates that an error has occurred in the FB instance ErrorID ERROR_CODE Brief indication on the error cause ErrorIdent ERROR_STRUCT Detailed information on the error Errorstop BOOL Drive in "Errorstop" state Stopping BOOL Drive in "Stopping" state StandStill BOOL Drive in "StandStill" state DiscreteMotion Continuous- Motion Synchronized-Motion BOOL BOOL BOOL Drive in "DiscreteMotion" state Drive in "ContinuousMotion" state Drive in "SynchronizedMotion" state Homing BOOL Drive in "Homing" state Fig.1-34: Interface of FB MC_ReadStatus

18/108 Bosch Rexroth AG Electric Drives Rexroth IndraMotion MLC02VRS Library Description Signal time diagram Fig.1-35: Default signal time diagram 1.7.7 MC_ReadStatus, Special Features of the IndraMotion MLC Used MLC-Parameters Error handling This function block reads the actual status of the axis. (A-0-0021, Axis status; A-0-0022, Extended axis status) and outputs it decoded. (Compare also IndraMotion state diagram of a real axis, page 2.) The function block MC_ReadStatus generates the following error messages: MLC_TABLE - Error at the access on the axis/ the control Display F*22*201 F*22*202 F*22*204 Meaning Invalid control number Invalid axis number Not supported by the axis type 1.7.8 MB_ReadParameter Fig.1-36: Error numbers caused by MC_ ReadStatus F*22*... is to be read as F0220..., for this case no error reaction by the axis F2229..., for the case Axis Halt, best-possible Standstill. Brief Description The function block returns with the value of an user-specific parameter. The return value is represented as a DINT number. Any change, e.g. of the parameter number or the axis at the input of the function block, requires another 0-1 transition at the "Enable" input. Library ML_PLCopen.lib Range Parameters...\Rexroth\IndraWorks\IndraLogic\Targets\IndraMotion_MLC_L40_02VRS\Lib Fig.1-37: Library assignment

Library Description Rexroth IndraMotion MLC02VRS Electric Drives Bosch Rexroth AG 19/108 Interface Description Fig.1-38: FB MB_ReadParameter Name Type Comment VAR_IN_OUT Axis AXIS_REF provides information on the actual axis VAR_INPUT Enable BOOL continuously reading the parameter as long as Enable is TRUE. Parameter- Number DINT Number of the desired parameter, Access on Data of an Axis or a Control, page 12 VAR_OUTPUT Done BOOL a valid value is available Active BOOL Processing of data is active after preprocessing is completed Error BOOL Indicates that an error has occurred when the FB instance was called ErrorID ERROR_CODE Brief indication on the error cause ErrorIdent ERROR_STRUCT Detailed information on the error Value DINT 4-byte value, represented as DINT Signal time diagram Fig.1-39: Interface of FB MB_ReadParameter Fig.1-40: Default signal time diagram

20/108 Bosch Rexroth AG Electric Drives Rexroth IndraMotion MLC02VRS Library Description 1.7.9 MB_ReadParameter, Special Features of the IndraMotion MLC The function block uses the requirement data channel of the control and the drives. The access on the respective parameter takes place acyclic with the control CML40.1 and so it takes minimal with A-/C-parameters on the control: 2...3 cycles (with 2ms cycle time=4...6ms) A-/S-/P-Parameters on the drive: 10...15 cycles (with 2ms-cycle time= 20...30ms) for reading a datum. If a transmission already takes place on the channel, so the job remains in a waiting queue. Then the required time need depends on the pending read resp. write jobs in the waiting queue and may last several 100 ms. To read a C-parameter, please specify a valid axis or the assignment of [control number] or LOCAL_CNTRL/NO_OBJECT at the input of the axis. Error handling The function block MB_ReadParameter generates the following types of error message: SERCOS_TABLE - Error at the access on the S- or P-Parameter (e.g. parameter is not supported). MLC_TABLE - Error at the access on the axis/ the control Display F*22*201 F*22*202 F*22*204 Meaning Invalid control number Invalid axis number Not supported by the axis type Fig.1-41: 1.7.10 MB_ReadRealParameter Error numbers, extract from the MLC-Table Brief Description This function block returns with the value of an user-specific parameter. The return value is represented as a REAL number. Any change, e.g. of the parameter number or the axis at the input of the function block, requires another 0-1 transition at the Enable input. Library ML_PLCopen.lib Range Parameters...\Rexroth\IndraWorks\IndraLogic\Targets\IndraMotion_MLC_L40_02VRS\Lib Fig.1-42: Library assignment

Library Description Rexroth IndraMotion MLC02VRS Electric Drives Bosch Rexroth AG 21/108 Interface Description Fig.1-43: FB MB_ReadRealParameter Name Type Comment VAR_IN_OUT Axis AXIS_REF provides information on the actual axis VAR_INPUT Enable BOOL Continuously reading the parameter as long as Enable is TRUE. Parameter- Number DINT Number of the desired parameter, Access on Data of an Axis or a Control, page 12 VAR_OUTPUT Done BOOL a valid value is available Active BOOL Processing of data is active after preprocessing is completed Error BOOL Indicates that an error has occurred when the FB instance was called ErrorID ERROR_CODE Brief indication on the error cause ErrorIdent ERROR_STRUCT Detailed information on the error Value REAL 4-byte value represented as REAL number Signal time diagram Fig.1-44: Interface of FB MB_ReadRealParameter Fig.1-45: Default signal time diagram

22/108 Bosch Rexroth AG Electric Drives Rexroth IndraMotion MLC02VRS Library Description 1.7.11 MB_ReadRealParameter, Special Features of the IndraMotion MLC The function block uses the requirement data channel of the control and the drives. The access on the respective parameter takes place acyclic with the control CML40.1 and so it takes minimal with A-/C-parameters on the control: 2...3 cycles (with 2ms cycle time=4...6ms) A-/S-/P-Parameters on the drive: 10...15 cycles (with 2ms cycle time= 20...30ms) for reading a datum. If a transmission already takes place on the channel, so the job remains in a waiting queue. Then the required time need depends on the pending read resp. write jobs in the waiting queue and may last several 100 ms. To read a C-parameter, please specify a valid axis or the assignment of [control number] or LOCAL_CNTRL/NO_OBJECT at the input of the axis. Error handling The function block MB_ReadRealParameter generates the following types of error message: SERCOS_TABLE - Error with the access on the S- or P-Parameter (e.g. parameter is not supported). MLC_TABLE - Error at the access on the axis/ the control Display F*22*201 F*22*202 F*22*204 Meaning Invalid control number Invalid axis number Not supported by the axis type Fig.1-46: 1.7.12 MB_ReadListParameter Error numbers caused by MB_ ReadRealParameter Brief Description This function block returns with the value of an user-specific parameter. The block is transferred to a pointer addressing a memory space of no more than 64 kbytes. The user is responsible of defining this memory space. In addition, the desired useful data length is transfered (maximum number of readable bytes). The return value is the number of bytes that has been actually read. The data type of the elements of the parameter to be read and the data type of the elements of the ARRAY must match. Library ML_PLCopen.lib Range Parameters...\Rexroth\IndraWorks\IndraLogic\Targets\IndraMotion_MLC_L40_02VRS\Lib Fig.1-47: Library assignment

Library Description Rexroth IndraMotion MLC02VRS Electric Drives Bosch Rexroth AG 23/108 Interface Description Fig.1-48: FB MB_ReadListParameter Name Type Comment VAR_IN_OUT Axis AXIS_REF provides information on the actual axis VAR_INPUT Execute BOOL The parameter is read, triggered by the positive edge of Execute Parameter- Number DINT Number of the desired parameter, Access on Data of an Axis or a Control, page 12 NoOfBytes UINT Maximum number of data to be read (in byte) ValueAdr POINTER_TO_BYT E Points to the starting address to be the first for filing the data read (maximum NoOfBytes). VAR_OUTPUT Done BOOL Valid data are available Active BOOL Processing of data is active after preprocessing is completed Error BOOL Indicates that an error has occurred when the FB instance was called ErrorID ERROR_CODE Brief indication on the error cause ErrorIdent ERROR_STRUCT Detailed information on the error NoOf RecBytes UINT Fig.1-49: Number of bytes actually read Interface of FB MB_ReadListParameter

24/108 Bosch Rexroth AG Electric Drives Rexroth IndraMotion MLC02VRS Library Description Signal time diagram Fig.1-50: Default signal time diagram 1.7.13 MB_ReadListParameter, Special Features of the IndraMotion MLC The function block uses the requirement data channel of the control and the drives. The access on the respective parameter takes place acyclic with the control CML40.1 and so it takes minimal 6,5s e.g. for reading the data of a Cam (P-0-0072, 1024 entries). If a transmission already takes place on the channel, so the job remains in a waiting queue. Then the required time need depends on the pending read, resp. write jobs in the waiting queue and may last several 100 ms. To read a C-parameter, please specify a valid axis or the assignment of <control number> or LOCAL_CNTRL/NO_OBJECT at the input of the axis. Error handling The function block MB_ReadListParameter generates the following types of error message: SERCOS_TABLE - Error with the access on the S- or P-Parameter (e.g. parameter is not supported).

Library Description Rexroth IndraMotion MLC02VRS Electric Drives Bosch Rexroth AG 25/108 MLC_TABLE - Error at the access on the axis/ the control Display F00D1202 F00D1203 F00D1205 F00D1212 F00D1213 F*22*201 F*22*202 F*22*204 F90D1201 F90D1204 Meaning Error when reading the attribute ReadListParameter Error when reading the data ReadListParameter ReadListParameter: Data of a single parameter requested Error ReadListParameter; error reading attribute Error ReadListParameter; error reading datum Invalid control number Invalid axis number Not supported by the axis type Error ReadListParameter; no reference to APS Error ReadListParameter; no memory Fig.1-51: 1.7.14 MB_ReadSercosAttribute Error numbers caused by MB_ ReadListParameter Brief Description The function block permits the reading of the SERCOS-Attributes of a parameter. The return value is represented as a DWORD. Any change, e.g. of the parameter number or the axis at the input of the function block, requires another 0-1 transition at the Enable input. Library ML_PLCopen.lib Range Parameters...\Rexroth\IndraWorks\IndraLogic\Targets\IndraMotion_MLC_L40_02VRS\Lib Interface Description Fig.1-52: Library assignment Fig.1-53: FB MB_ReadSercosAttribute Name Type Comment VAR_IN_OUT Axis AXIS_REF provides information on the actual axis VAR_INPUT Enable BOOL Continuously reading the parameter attributes as long as Enable is TRUE Parameter- Number DINT Number of the desired parameter, Access on Data of an Axis or a Control, page 12

26/108 Bosch Rexroth AG Electric Drives Rexroth IndraMotion MLC02VRS Library Description Name Type Comment VAR_OUTPUT Done BOOL a valid value is available Active BOOL Processing of data is active after preprocessing is completed Error BOOL Indicates that an error has occurred when the FB instance was called ErrorID ERROR_CODE Brief indication on the error cause ErrorIdent ERROR_STRUCT Detailed information on the error Value DWORD 4-Byte value, contains SERCOS attributes of the parameter Signal time diagram Fig.1-54: Interface of FB MB_ReadSercosAtrribute Fig.1-55: Default signal time diagram 1.7.15 MB_ReadSercosAttribute, Special Features of the IndraMotion MLC The function block uses the requirement data channel of the control and the drives. The access on the respective parameter takes place acyclic with the control CML40.1 and so it takes minimal with A-/C-parameters on the control: 2...3 cycles (with 2ms cycle time=4...6ms) A-/S-/P-Parameters on the drive: 10...15 cycles (with 2ms cycle time= 20...30ms) for reading a datum. If a transmission already takes place on the channel, so the job remains in a waiting queue. Then the required time need depends on the pending read resp. write jobs in the waiting queue and may last several 100 ms. To read a C-parameter, please specify a valid axis or the assignment of <control number> or LOCAL_CNTRL/NO_OBJECT at the input of the axis. Error handling The function block MB_ReadSercosAttribute generates the following types of error message:

Library Description Rexroth IndraMotion MLC02VRS Electric Drives Bosch Rexroth AG 27/108 SERCOS_TABLE - Error with the access on the S- or P-Parameter (e.g. parameter is not supported). MLC_TABLE - Error at the access on the axis/ the control Display F*22*201 F*22*202 F*22*204 F00D1228 F00D1229 F00D1230 Meaning Invalid control number Invalid axis number Not supported by the axis type Error when reading the attribute, ReadSercosAttribute Error when reading the attribute, ReadSercosAttribute Error ReadSercosAttribute, no memory 1.7.16 MB_ReadSercosDataStatus Fig.1-56: Error numbers, extract from the MLC-Table F*22*... is to be read as F0220..., for this case no error reaction by the axis F2229..., for the case Axis Halt, best-possible Standstill. Brief Description The function block returns with the status of a parameter preset by the user. The return value is represented as an ENUM-value (INT-number). Any change, e.g. of the parameter number or the axis at the input of the function block, requires another 0-1 transition at the Enable input. Library ML_PLCopen.lib Range Parameters...\Rexroth\IndraWorks\IndraLogic\Targets\IndraMotion_MLC_L40_02VRS\Lib Interface Description Fig.1-57: Library assignment Fig.1-58: FB MB_ReadSercosDataStatus Name Type Comment VAR_IN_OUT Axis AXIS_REF provides information on the actual axis VAR_INPUT Enable BOOL Continuously reading the parameter as long as Enable is TRUE. Parameter- Number DINT Number of the desired parameter, Access on Data of an Axis or a Control, page 12 VAR_OUTPUT Done BOOL a valid value is available

28/108 Bosch Rexroth AG Electric Drives Rexroth IndraMotion MLC02VRS Library Description Name Type Comment Active BOOL Processing of data is active after preprocessing is completed Error BOOL Indicates that an error has occurred when the FB instance was called ErrorID ERROR_CODE Brief indication on the error cause ErrorIdent ERROR_STRUCT Detailed information on the error Status MB_SERCOS_DAT A_STATUS Status of the selected parameter Brief Description Signal time diagram Fig.1-59: Interface of FB MB_ReadSercosDataStatus By means of this function block and a MB_WriteParameter, page 32, it is possible to activate drive commands and trace its processing. Following states of processing are traceable: 0 - Command not set and not enabled 1 - Command set and enabled 3 - Command processed correct 5 - Command processing interrupted 7 - Command processing is running 15 - Error, Command processing not possible 256 - Value of the parameter outside its Min.- / Max.-Range Fig.1-60: Default signal time diagram

Library Description Rexroth IndraMotion MLC02VRS Electric Drives Bosch Rexroth AG 29/108 1.7.17 MB_ReadSercosDataStatus, Special Features of the IndraMotion MLC The function block uses the requirement data channel of the control and the drives. The access on the respective parameter takes place acyclic with the control CML40.1 and so it takes minimal with A-/C-parameters on the control: 2...3 cycles (with 2ms cycle time=4...6ms) A-/S-/P-Parameters on the drive: 10...15 cycles (with 2ms cycle time= 20...30ms) for reading a datum. If a transmission already takes place on the channel, so the job remains in a waiting queue. Then the required time need depends on the pending read resp. write jobs in the waiting queue and may last several 100 ms. To read a C-parameter, please specify a valid axis or the assignment of [control number] or LOCAL_CNTRL/NO_OBJECT at the input of the axis. Error handling The function block MB_ReadSercosDataStatus generates the following types of error message: SERCOS_TABLE - Error with the access on the S- or P-Parameter (e.g. parameter is not supported). MLC_TABLE - Error at the access on the axis/ the control Display F*22*201 F*22*202 F*22*204 Meaning Invalid control number Invalid axis number Not supported by the axis type Fig.1-61: 1.7.18 MB_SERCOS_DATA_STATUS Error numbers, extract from the MLC-Table Brief Description The status of a parameter selected by the user is indicated by the function block MB_ReadSercosDataStatus, page 27, via ENUM-Typ MB_SERCOS_DATA_STATUS readable as plaintext. Library (hidden) ML_Base.lib Range RDWR_Parameter...\Rexroth\IndraWorks\IndraLogic\Targets\IndraMotion_MLC_L40_02VRS\Lib Fig.1-62: Library assignment

30/108 Bosch Rexroth AG Electric Drives Rexroth IndraMotion MLC02VRS Library Description Fig.1-63: 1.7.19 MB_ReadStringParameter Brief Description The data status MB_SERCOS_DATA_DATUM_FAULT says, that the value of the parameter is outside its valid range, i.e. lower than its minimum value or greater than its admissible maxium value. This function block returns with the value of an user-specific parameter. The return value is represented as a length adequate string with a maximum of 255 characters. Library ML_PLCopen.lib Range Parameters...\Rexroth\IndraWorks\IndraLogic\Targets\IndraMotion_MLC_L40_02VRS\Lib Interface Description Fig.1-64: Library assignment Fig.1-65: FB MB_ReadStringParameter Name Type Comment VAR_IN_OUT Axis AXIS_REF provides information on the actual axis VAR_INPUT Execute BOOL Starts the reading of the text of the parameter with rising edge Parameter- Number DINT Number of the desired parameter, Access on Data of an Axis or a Control, page 12 VAR_OUTPUT Done BOOL a valid value is available Active BOOL Processing of data is active after preprocessing is completed Error BOOL Indicates that an error has occurred when the FB instance was called ErrorID ERROR_CODE Brief indication on the error cause

Library Description Rexroth IndraMotion MLC02VRS Electric Drives Bosch Rexroth AG 31/108 Name Type Comment ErrorIdent ERROR_STRUCT Detailed information on the error Value STRING String with maximum 255 characters Signal time diagram Fig.1-66: Interface of FB MB_ReadStringParameter Fig.1-67: Default signal time diagram 1.7.20 MB_ReadStringParameter, Special Features of the IndraMotion MLC The function block uses the requirement data channel of the control and the drives. The access on the respective parameter takes place acyclic with the control CML40.1 and so it takes minimal with A-/C-parameters on the control: 2...3 cycles (with 2ms cycle time=4...6ms) A-/S-/P-Parameters on the drive: 10...15 cycles (with 2ms cycle time= 20...30ms) for reading a datum. If a transmission already takes place on the channel, so the job remains in a waiting queue. Then the required time need depends on the pending read resp. write jobs in the waiting queue and may last several 100 ms.

32/108 Bosch Rexroth AG Electric Drives Rexroth IndraMotion MLC02VRS Library Description To read a C-parameter, please specify a valid axis or the assignment of <control number> or LOCAL_CNTRL/NO_OBJECT at the input of the axis. Error handling The function block MB_ReadStringParameter generates the following types of error message: SERCOS_TABLE - Error with the access on the S- or P-Parameter (e.g. parameter is not supported). MLC_TABLE - Error at the access on the axis/ the control Display F*22*201 F*22*202 F*22*204 F00D1216 F00D1217 F00D1218 F00D1219 F00D1220 F00D1221 Meaning Invalid control number Invalid axis number Not supported by the axis type Error ReadStringParameter when reading the attribute Error ReadStringParameter when reading the data Error ReadStringParameter, no memory ReadStringParameter, data of a single parameter requested Error ReadStringParameter; error reading attribute Error ReadStringParameter; error reading datum 1.7.21 MB_WriteParameter Fig.1-68: Error numbers, extract from the MLC-Table F*22*... is to be read as F0220..., for this case no error reaction by the axis F2229..., for the case Axis Halt, best-possible Standstill. Brief Description The function block writes a value to a parameter specified by the user. Library ML_PLCopen.lib Range Parameters...\Rexroth\IndraWorks\IndraLogic\Targets\IndraMotion_MLC_L40_02VRS\Lib Interface Description Fig.1-69: Library assignment Fig.1-70: FB MB_WriteParameter

Library Description Rexroth IndraMotion MLC02VRS Electric Drives Bosch Rexroth AG 33/108 Name Type Comment VAR_IN_OUT Axis AXIS_REF provides information on the actual axis VAR_INPUT Execute BOOL Starts writing of the value to the parameter which is present with rising edge. Parameter- Number DINT Number of the desired parameter, Access on Data of an Axis or a Control, page 12 Value DINT Value to be written to the parameter VAR_OUTPUT Done BOOL The value has been written successfully to the control / the drive Active BOOL Processing of data is active after preprocessing is completed Error BOOL Indicates that an error has occurred when the FB instance was called ErrorID ERROR_CODE Brief indication on the error cause ErrorIdent ERROR_STRUCT Detailed information on the error Signal time diagram Fig.1-71: Interface of FB MB_WriteParameter Fig.1-72: Default signal time diagram

34/108 Bosch Rexroth AG Electric Drives Rexroth IndraMotion MLC02VRS Library Description 1.7.22 MB_WriteParameter, Special Features of the IndraMotion MLC The function block uses the requirement data channel of the control and the drives. The access on the respective parameter takes place acyclic with the control CML40.1 and so it takes minimal with A-/C-parameters on the control: 2...3 cycles (with 2ms cycle time=4...6ms) A-/S-/P-Parameters on the drive: 10...15 cycles (with 2ms cycle time= 20...30ms) for writing a datum. If a transmission already takes place on the channel, so the job remains in a waiting queue. Then the required time need depends on the pending read resp. write jobs in the waiting queue and may last several 100 ms. To write a C-parameter, please specify a valid axis or the assignment of <control number> or LOCAL_CNTRL/NO_OBJECT at the input of the axis. Error handling The function block MB_WriteParameter generates the following types of error message: SERCOS_TABLE - Error with the access on the S- or P-Parameter (e.g. parameter is not supported). MLC_TABLE - Error at the access on the axis/ the control Display F*22*201 F*22*202 F*22*204 Meaning Invalid control number Invalid axis number Not supported by the axis type Fig.1-73: 1.7.23 MB_WriteRealParameter Error numbers caused by MB_WriteParameter Brief Description This function block writes a value to a user-specific parameter. Library ML_PLCopen.lib Range Parameters...\Rexroth\IndraWorks\IndraLogic\Targets\IndraMotion_MLC_L40_02VRS\Lib Fig.1-74: Library assignment

Library Description Rexroth IndraMotion MLC02VRS Electric Drives Bosch Rexroth AG 35/108 Interface Description Fig.1-75: FB MB_WriteRealParameter Name Type Comment VAR_IN_OUT Axis AXIS_REF provides information on the actual axis VAR_INPUT Execute BOOL Starts writing of the value to the parameter which is present with rising edge. Parameter- Number REAL Number of the desired parameter, Access on Data of an Axis or a Control, page 12 Value REAL Value to be written to the parameter VAR_OUTPUT Done BOOL The value has been written successfully to the control / the drive Active BOOL Processing of data is active after preprocessing is completed Error BOOL Indicates that an error has occurred when the FB instance was called ErrorID ERROR_CODE Brief indication on the error cause ErrorIdent ERROR_STRUCT Detailed information on the error Fig.1-76: Interface of FB MB_WriteRealParameter

36/108 Bosch Rexroth AG Electric Drives Rexroth IndraMotion MLC02VRS Library Description Signal time diagram Fig.1-77: Default signal time diagram 1.7.24 MB_WriteRealParameter, Special Features of the IndraMotion MLC The function block uses the requirement data channel of the control and the drives. The access on the respective parameter takes place acyclic with the control CML40.1 and so it takes minimal with A-/C-parameters on the control: 2...3 cycles (with 2ms cycle time=4...6ms) A-/S-/P-Parameters on the drive: 10...15 cycles (with 2ms cycle time= 20...30ms) for writing a datum. If a transmission already takes place on the channel, so the job remains in a waiting queue. Then the required time need depends on the pending read resp. write jobs in the waiting queue and may last several 100 ms. To write a C-parameter, please specify a valid axis or the assignment of <control number> or LOCAL_CNTRL/NO_OBJECT at the input of the axis.

Library Description Rexroth IndraMotion MLC02VRS Electric Drives Bosch Rexroth AG 37/108 Error handling The function block MB_WriteRealParameter generates the following types of error message: SERCOS_TABLE - Error with the access on the S- or P-Parameter (e.g. parameter is not supported). MLC_TABLE - Error at the access on the axis/ the control Display F*22*201 F*22*202 F*22*204 Meaning Invalid control number Invalid axis number Not supported by the axis type Fig.1-78: 1.7.25 MB_WriteUdintParameter Error numbers caused by MB_WriteUdintParameter This function block writes an UDINT value to a user-specific parameter. It was replaced by block MB_WriteParameter, page 32. Before the value input of the MB_WriteParameter an UDINT_TO_DINT-Function must be added. MB_WriteParameter transports the bit pattern correct to the parameter, although the numerical value is displayed as a DINT-Datum. Version Comment MLC01VRS MB_WriteParameter exists as a stand-alone block The block is not supported any more. As an alternative MB_WriteParameter MLC02VRS with the conversion function UDINT_TO_DINT can be used. Fig.1-79: 1.7.26 MB_WriteListParameter Brief Description Release notes This function block writes memory content having a defined length (NoOfBytes) and made available with the starting address (ValueAdr) to a user-specific parameter. The specified number of bytes must be exactly equal to the data volume to be transferred! If this number is too great, data waste is transferred; if it is too small, data is missing in the target parameter! The data type of the elements of the parameter to be write and the data type of the ARRAY elements must match. Library ML_PLCopen.lib Range Parameters...\Rexroth\IndraWorks\IndraLogic\Targets\IndraMotion_MLC_L40_02VRS\Lib Fig.1-80: Library assignment

38/108 Bosch Rexroth AG Electric Drives Rexroth IndraMotion MLC02VRS Library Description Interface Description Fig.1-81: FB MB_WriteListParameter Name Type Comment VAR_IN_OUT Axis AXIS_REF provides information on the actual axis VAR_INPUT Execute BOOL Starts writing of the value to the parameter which is present with rising edge. Parameter- Number REAL Number of the desired parameter, Access on Data of an Axis or a Control, page 12 NoOfBytes UINT Number of bytes to be written ValueAdr POINTER_TO_BYT E from the starting address of the memory pointed at by the pointer VAR_OUTPUT Done BOOL The value has been written successfully to the control / the drive Active BOOL Processing of data is active after preprocessing is completed Error BOOL Indicates that an error has occurred when the FB instance was called ErrorID ERROR_CODE Brief indication on the error cause ErrorIdent ERROR_STRUCT Detailed information on the error Fig.1-82: Interface of FB MB_WriteListParameter

Library Description Rexroth IndraMotion MLC02VRS Electric Drives Bosch Rexroth AG 39/108 Signal time diagram Fig.1-83: Default signal time diagram 1.7.27 MB_WriteListParameter, Special Features of the IndraMotion MLC The function block uses the requirement data channel of the control and the drives. The access on the respective parameter takes place acyclic with the control CML40.1 and so it takes minimal 6.5s e.g. for writing the data of a Cam (P-0-0072, 1024 entries). If a transmission already takes place on the channel, so the job remains in a waiting queue. Then the required time need depends on the pending read, resp. write jobs in the waiting queue and may last several 100 ms. To write a C-parameter, please specify a valid axis or the assignment of <control number> or LOCAL_CNTRL/NO_OBJECT at the input of the axis. Error handling The function block MB_WriteListParameter generates the following types of error message: SERCOS_TABLE - Error with the access on the S- or P-Parameter (e.g. parameter is not supported).

40/108 Bosch Rexroth AG Electric Drives Rexroth IndraMotion MLC02VRS Library Description MLC_TABLE - Error at the access on the axis/ the control Display F00D1207 F00D1208 F00D1210 F00D1211 F00D1214 F00D1215 F*22*201 F*22*202 F*22*204 F90D1206 F90D1209 Meaning WriteListParameter: Data greater than 64KByte Error when reading the attribute WriteListParameter WriteListParameter: Data of a single parameter requested WriteListParameter: Data greater than 64KByte Error WriteListParameter; error reading attribute Error WriteListParameter; error writing datum Invalid control number Invalid axis number Not supported by the axis type Error WriteListParameter; no reference to APS Error WriteListParameter; no memory Fig.1-84: 1.7.28 MB_WriteStringParameter Error numbers caused by MB_WriteListParameter Brief Description The function block writes a string with max. 255 characters to a user-specific parameter. Library ML_PLCopen.lib Range Parameters...\Rexroth\IndraWorks\IndraLogic\Targets\IndraMotion_MLC_L40_02VRS\Lib Interface Description Fig.1-85: Library assignment Fig.1-86: FB MB_WriteStringParameter Name Type Comment VAR_IN_OUT Axis AXIS_REF provides information on the actual axis VAR_INPUT Execute BOOL Starts writing of the value to the parameter which is present with rising edge. Parameter- Number DINT Number of the desired parameter, Access on Data of an Axis or a Control, page 12 Value STRING Value to be written to the parameter VAR_OUTPUT Done BOOL The value has been written successfully to the control / the drive

Library Description Rexroth IndraMotion MLC02VRS Electric Drives Bosch Rexroth AG 41/108 Name Type Comment Active BOOL Processing of data is active after preprocessing is completed Error BOOL Indicates that an error has occurred when the FB instance was called ErrorID ERROR_CODE Brief indication on the error cause ErrorIdent ERROR_STRUCT Detailed information on the error Signal time diagram Fig.1-87: Interface of FB MB_WriteStringParameter Fig.1-88: Default signal time diagram

42/108 Bosch Rexroth AG Electric Drives Rexroth IndraMotion MLC02VRS Library Description 1.7.29 MB_WriteStringParameter, Special Features of the IndraMotion MLC The function block uses the requirement data channel of the control and the drives. The access on the respective parameter takes place acyclic with the control CML40.1 and so it takes minimal with A-/C-parameters on the control: 2...3 cycles (with 2ms cycle time=4...6ms) A-/S-/P-Parameters on the drive: 10...15 cycles (with 2ms cycle time= 20...30ms) for writing a datum. If a transmission already takes place on the channel, so the job remains in a waiting queue. Then the required time need depends on the pending read resp. write jobs in the waiting queue and may last several 100 ms. To write a C-parameter, please specify a valid axis or the assignment of <control number> or LOCAL_CNTRL/NO_OBJECT at the input of the axis. Error handling The function block MB_WriteStringParameter generates the following types of error message: SERCOS_TABLE - Error with the access on the S- or P-Parameter (e.g. parameter is not supported). MLC_TABLE - Error at the access on the axis/ the control Display F*22*201 F*22*202 F*22*204 F00D1222 F00D1223 F00D1224 F00D1225 F00D1226 F00D1227 Meaning Invalid control number Invalid axis number Not supported by the axis type WriteStringParameter, data greater than 255 Byte Error when reading the attribute WriteStringParameter Error WriteStringParameter, no memory WriteStringParameter, data of a single parameter requested Error WriteStringParameter; error reading attribute Error WriteStringParameter; error writing datum Fig.1-89: Error numbers caused by MB_WriteStringParameter F*22*... is to be read as F0220..., for this case no error reaction by the axis F2229..., for the case Axis Halt, best-possible Standstill. 1.8 Function block for Single Axis Control 1.8.1 MC_Power Brief Description This function block controls the power connection (power on or off). You need a separate instance of this block for each real axis.

Library Description Rexroth IndraMotion MLC02VRS Electric Drives Bosch Rexroth AG 43/108 Each motion, acceleration or deceleration requires that this block be on. The block causes a special situation MC_Stop, page 45. With this block, the position is kept active by the drive. That means that the MC_Power block cannot be deactivated while MC_Stop is active. In association with a virtual axis the block leads to an error message. Library ML_PLCopen.lib Range Motion...\Rexroth\IndraWorks\IndraLogic\Targets\IndraMotion_MLC_L40_02VRS\Lib Interface Fig.1-90: Library assignment Fig.1-91: FB MC_Power Name Type Comment VAR_IN_OUT Axis AXIS_REF provides information on the actual axis VAR_INPUT Enable BOOL Power is connected as long as Enable is TRUE. VAR_OUTPUT Status BOOL Actual state of power connection Error BOOL Indicates that an error has occurred in the FB instance ErrorID ERROR_CODE Brief indication on the error cause ErrorIdent ERROR_STRUCT Detailed information on the error Fig.1-92: Interface of FB MC_Power 1.8.2 MC_Power, Special Features of the IndraMotion MLC Error Handling: An error message (MLC_TABLE ) is initiated if the status is still FALSE after a waiting time has elapsed, with Enable being set. This indicates a hardware problem when power is connected. An error message is also initiated if the attempt is made of disconnecting the power in an axis state where this is not permitted. If power connection fails (even while the axis is moving), an ErrorStop is generated for the axis: Display F*22*200 F*22*201 F*22*202 F*22*204 Meaning General drive error Invalid control number Invalid axis number Not supported by the axis type

44/108 Bosch Rexroth AG Electric Drives Rexroth IndraMotion MLC02VRS Library Description Display F*22*206 F*22*207 F*22*211 F*22*212 F*22*213 F*22*214 F*22*216 Meaning Command in state 'Stopping' denied Command in state 'Homing' denied Command in state 'Discrete motion' denied Command in state 'Continuous motion' denied Command in state 'Sychronized motion' denied Command in state 'Errorstop' denied No power available 1.8.3 MC_Reset Brief Description Fig.1-93: F*22*... is to be read as Error numbers caused by MC_Power F0220..., for this case no error reaction by the axis F2229..., for the case Axis Halt, best-possible Standstill. This function block implements the transition from the "ErrorStop" state to the "StandStill" state by resetting all internal axis errors. The outputs of the function block instances having indicated the error(s) are not affected. If there is no error, triggering of MC_Reset will not have any effect. Library ML_PLCopen.lib Range Motion...\Rexroth\IndraWorks\IndraLogic\Targets\IndraMotion_MLC_L40_02VRS\Lib Interface Description Fig.1-94: Library assignment Fig.1-95: FB MC_Reset Name Type Comment VAR_IN_OUT Axis AXIS_REF provides information on the actual axis VAR_INPUT Execute BOOL Starts the action with rising edge VAR_OUTPUT Done BOOL Errors are reset Error BOOL Indicates that an error has occurred in the FB instance ErrorID ERROR_CODE Brief indication on the error cause ErrorIdent ERROR_STRUCT Detailed information on the error Fig.1-96: Interface of FB MC_Reset

Library Description Rexroth IndraMotion MLC02VRS Electric Drives Bosch Rexroth AG 45/108 Signal time diagram Fig.1-97: Time diagram of MC_Reset 1.8.4 MC_Reset, Special Features of the IndraMotion MLC Error handling The function block MC_Reset generates the following error messages: MLC_TABLE - Error at the access on the axis/ the control Display F*22*201 F*22*202 F*22*204 Meaning Invalid control number Invalid axis number Not supported by the axis type 1.8.5 MC_Stop Brief Description Fig.1-98: F*22*... is to be read as Error numbers caused by MC_ Reset F0220..., for this case no error reaction by the axis F2229..., for the case Axis Halt, best-possible Standstill. The function block implements a controlled motion stop and transfers the axis to the "Stopping" state. As a result, any function block processing is stopped. When standstill is reached, the Done output is set. The position is kept active.

46/108 Bosch Rexroth AG Electric Drives Rexroth IndraMotion MLC02VRS Library Description As long as Execute is TRUE, the axis remains in the "Stopping" state. In this state, the axis cannot be moved by any other command. In the "Stopping" state, it is not possible to disconnect the power (MC_Power, page 42) of the axis. If the Enable signal of the MC_Power instance is deactivated, its Status nevertheless remains activated until the Execute signal of the MC_Stop instance is also deactivated. Library ML_PLCopen.lib Range Motion...\Rexroth\IndraWorks\IndraLogic\Targets\IndraMotion_MLC_L40_02VRS\Lib Interface Description Fig.1-99: Library assignment Fig.1-100: FB MC_Stop Name Type Comment VAR_IN_OUT Axis AXIS_REF provides information on the actual axis VAR_INPUT Execute BOOL As long as Execute is TRUE, the axis is stopped or kept in the stop condition Deceleration REAL Deceleration (always greater 0, otherwise no Stopping ) [u/s²] VAR_OUTPUT Done BOOL Standstill reached Active BOOL Processing of data is active after preprocessing is completed Error BOOL Indicates that an error has occurred in the FB instance ErrorID ERROR_CODE Brief indication on the error cause ErrorIdent ERROR_STRUCT Detailed information on the error Fig.1-101: Interface of FB MC_Stop

Library Description Rexroth IndraMotion MLC02VRS Electric Drives Bosch Rexroth AG 47/108 Signal time diagram Fig.1-102: Time diagram of MC_Stop 1.8.6 MC_Stop, Special Features of the IndraMotion MLC Error handling The function block MC_Stop generates the following error messages: MLC_TABLE - Error at the access on the axis/ the control Display F*22*200 F*22*201 F*22*202 F*22*204 F*22*205 F*22*214 F*22*227 F*22*228 Meaning General drive error Invalid control number Invalid axis number Not supported by the axis type Command denied, no power Command in state 'Errorstop' denied Deceleration lower than minimum value Deceleration greater than maximum value Fig.1-103: Error numbers caused by MC_Stop F*22*... is to be read as F0220..., for this case no error reaction by the axis F2229..., for the case Axis Halt, best-possible Standstill.

48/108 Bosch Rexroth AG Electric Drives Rexroth IndraMotion MLC02VRS Library Description 1.8.7 MC_MoveAbsolute Brief Description The function block copies the absolute specified Position to the Target position and moves toward it. The use of this block assumes a previous power connection via an instance of MC_Power, page 42, (with real axes). Library ML_PLCopen.lib Range Motion...\Rexroth\IndraWorks\IndraLogic\Targets\IndraMotion_MLC_L40_02VRS\Lib Interface Description Fig.1-104: Library assignment Fig.1-105: FB MC_MoveAbsolute Name Type Comment VAR_IN_OUT Axis AXIS_REF provides information on the actual axis VAR_INPUT Execute BOOL Starts the motion with rising edge Position REAL Target position for the motion (in technical unit [u]) (+/-) Velocity REAL Maximum velocity value (always +) (does not necessarily have to be reached) [u/s]. Acceleration REAL Acceleration (always +) [u/s²] Deceleration REAL Deceleration (always +) [u/s²] VAR_OUTPUT Done BOOL The desired position has been reached Active BOOL Processing of data is active after preprocessing is completed Command- Aborted BOOL Command aborted by the following command Error BOOL Indicates that an error has occurred in the FB instance ErrorID ERROR_CODE Brief indication on the error cause ErrorIdent ERROR_STRUCT Detailed information on the error Implementation Example Fig.1-106: Interface of FB MC_MoveAbsolute The figure following below shows two examples of the cooperation of two MC_MoveAbsolute FB instances: 1. The left-hand part of the time diagram shows a case where Instance2 is called after Instance1 has been processed. After Instance1 has realized

Library Description Rexroth IndraMotion MLC02VRS Electric Drives Bosch Rexroth AG 49/108 the desired position 6000 (velocity 0), its "Done" output activates Instance2 with the target position 10000. 2. The right-hand part of the time diagram shows how Instance2 is already activated while Instance1 is still running. In this case, the motion of Instance1 is stopped and aborted by the Test signal. Instance2 moves directly to its target position 10000, although the position 6000 has not been reached yet. Fig.1-107: Two instances of MC_MoveAbsolute Fig.1-108: Time diagram: two instances of MC_MoveAbsolute

50/108 Bosch Rexroth AG Electric Drives Rexroth IndraMotion MLC02VRS Library Description 1.8.8 MC_MoveAbsolute, Special Features of the IndraMotion MLC Used parameters The function block determines the new target position (A-0-2201, Target position) by taking over the commanded position (A-0-2200, Commanded position) in parameter A-0-2201 and moves toward it. In modulo mode, the reaching of the target position is influenced by parameter A-0-0203, Moving direction. Special Function: Error Handling: The MC_MoveAbsolute, MC_MoveAdditive and MC_MoveRelative FBs accept a velocity command value of Vcom = 0. When these FBs (Vcom = 0) are called, the axis is stopped. Only positioning is interrupted. The target position remains preserved in the axis. If MC_MoveAdditive (Vcom 0) is called subsequently, the remaining path is traversed. The target position will be overwritten only after another motion FB has been called. The function block MC_MoveAbsolute generates the following error messages: MLC_TABLE - Error at the access on the axis/ the control Display F*22*200 F*22*201 F*22*202 F*22*204 F*22*205 F*22*206 F*22*207 F*22*214 F*22*223 F*22*224 F*22*225 F*22*226 F*22*227 F*22*228 Meaning General drive error Invalid control number Invalid axis number Command not supported by the axis Command denied, no power Command in state Stopping denied Command in state Homing denied Command in state Errorstop denied Velocity lower than minimum value Velocity greater than maximum value Acceleration lower than minimum value Acceleration greater than maximum value Deceleration lower than minimum value Deceleration greater than maximum value 1.8.9 MC_MoveAdditive Fig.1-109: Error numbers caused by MC_MoveAbsolute F*22*... is to be read as F0220..., for this case no error reaction by the axis F2229..., for the case Axis Halt, best-possible Standstill. Brief Description The function block adds the "Distance" to the "Target position" and moves toward it. The use of this block assumes a previous power connection via an instance of MC_Power, page 42, (with real axes).

Library Description Rexroth IndraMotion MLC02VRS Electric Drives Bosch Rexroth AG 51/108 Library ML_PLCopen.lib Range Motion...\Rexroth\IndraWorks\IndraLogic\Targets\IndraMotion_MLC_L40_02VRS\Lib Interface Description Fig.1-110: Library assignment Fig.1-111: FB MC_MoveAdditive Name Type Comment VAR_IN_OUT Axis AXIS_REF provides information on the actual axis VAR_INPUT Execute BOOL Starts the motion with rising edge Distance REAL Relative distance for the motion (+/-) (in technical unit [u]) Velocity REAL Maximum velocity value (always +) (does not necessarily have to be reached) [u/s]. Acceleration REAL Acceleration (always +) [u/s²] Deceleration REAL Deceleration (always +) [u/s²] VAR_OUTPUT Done BOOL The desired position has been reached Active BOOL Processing of data is active after preprocessing is completed Command- Aborted BOOL Command aborted by the following command Error BOOL Indicates that an error has occurred in the FB instance ErrorID ERROR_CODE Brief indication on the error cause ErrorIdent ERROR_STRUCT Detailed information on the error Implementation Example: Fig.1-112: Interface of FB MC_MoveAdditive The figure below shows two examples of two combined FB instances while the axis is in the "Discrete Motion State". Here, two different FB types are used: Instance1: MC_MoveAbsolute Instance2: MC_MoveAdditive. 1. The left-hand part of the time diagram shows a case where the second FB is started after the first FB. The first FB reaches the desired distance of 6000 (at a velocity of 0). Then the "Done" output causes the second FB to reach the distance of 10000. 2. The right-hand part of the time diagram shows a case where the second FB is already started while the first FB is still active. In this case, the first

52/108 Bosch Rexroth AG Electric Drives Rexroth IndraMotion MLC02VRS Library Description motion is stopped and aborted by the "Test" signal at constant velocity. The second FB adds its distance of 4000 to the originally commanded position 5000 and moves the axis to the resulting position 10000, at the velocity specified at the second FB. Fig.1-113: Instances of MC_MoveAbsolute and MC_MoveAdditive Fig.1-114: Time diagram: Instances of MC_MoveAbsolute and MC_MoveAdditive 1.8.10 MC_MoveAdditive, Special Features of the IndraMotion MLC Used parameters The function block determines the new target position (A-0-2201, Target position) by adding the distance (A-0-2200, Commanded position) to the previous target position a moves toward it.

Library Description Rexroth IndraMotion MLC02VRS Electric Drives Bosch Rexroth AG 53/108 The distance is specified relative to the actual position. The parameter A-0-0203, Moving direction, do not have any effect and do not override the sign of the distance! Special Function: Error Handling: The MC_MoveAbsolute, MC_MoveAdditive and MC_MoveRelative FBs accept a velocity command value of Vcom = 0. When these FBs (Vcom = 0) are called, the axis is stopped. Only positioning is interrupted. The target position remains preserved in the axis. If MC_MoveAdditive (Vcom 0) is called subsequently, the remaining path is traversed. The target position will be overwritten only after another motion FB has been called. The function block MC_MoveAdditive generates the following error messages: MLC_TABLE - Error at the access on the axis/ the control Display F*22*200 F*22*201 F*22*202 F*22*204 F*22*205 F*22*206 F*22*207 F*22*214 F*22*223 F*22*224 F*22*225 F*22*226 F*22*227 F*22*228 Meaning General drive error Invalid control number Invalid axis number Not supported by the axis type Command denied, no power Command in state Stopping denied Command in state Homing denied Command in state Errorstop denied Velocity lower than minimum value Velocity greater than maximum value Acceleration lower than minimum value Acceleration greater than maximum value Deceleration lower than minimum value Deceleration greater than maximum value 1.8.11 MC_MoveRelative Fig.1-115: Error numbers caused by MC_MoveAdditive F*22*... is to be read as F0220..., for this case no error reaction by the axis F2229..., for the case Axis Halt, best-possible Standstill. Brief Description The function block determines the new "Target position" by adding the "Distance" and the "Actual position" and moves toward it. The use of this block assumes a previous power connection via an instance of MC_Power, page 42, (per real axis).

54/108 Bosch Rexroth AG Electric Drives Rexroth IndraMotion MLC02VRS Library Description Library ML_PLCopen.lib Range Motion...\Rexroth\IndraWorks\IndraLogic\Targets\IndraMotion_MLC_L40_02VRS\Lib Interface Description Fig.1-116: Library assignment Fig.1-117: FB MC_MoveRelative Name Type Comment VAR_IN_OUT Axis AXIS_REF provides information on the actual axis VAR_INPUT Execute BOOL Starts the motion with rising edge Distance REAL Relative distance for the motion (+/-) (in technical unit [u]) Velocity REAL Maximum velocity value (always +) (does not necessarily have to be reached) [u/s]. Acceleration REAL Acceleration (always +) [u/s²] Deceleration REAL Deceleration (always +) [u/s²] VAR_OUTPUT Done BOOL The desired position has been reached Active BOOL Processing of data is active after preprocessing is completed Command- Aborted BOOL Command aborted by the following command Error BOOL Indicates that an error has occurred in the FB instance ErrorID ERROR_CODE Brief indication on the error cause ErrorIdent ERROR_STRUCT Detailed information on the error Fig.1-118: Interface of FB MC_MoveRelative

Library Description Rexroth IndraMotion MLC02VRS Electric Drives Bosch Rexroth AG 55/108 Signal time diagram Implementation Example Fig.1-119: MC_MoveRelative time diagrams The following example shows how two MC_MoveRelative FB instances are combined. 1. The left-hand part of the time diagram shows a case where Instance2 is called after Instance1 has been processed. After Instance1 has reached the desired distance 6000 (velocity 0), its "Done" output uses Instance2 to cause a further motion by 4000 to reach the total distance of 10000. 2. The right-hand part shows how Instance2 is already activated by the "Test" signal while Instance1 is still running. In this case, the first motion is aborted during the constant velocity of Instance1. Instance1 adds its distance of 4000 to the current position (3250). The axis moves to the resulting position of 7250. Fig.1-120: Two instances of MC_MoveRelative

56/108 Bosch Rexroth AG Electric Drives Rexroth IndraMotion MLC02VRS Library Description Fig.1-121: Time diagram: two instances of MC_MoveRelative 1.8.12 MC_MoveRelative, Special Features of the IndraMotion MLC Used parameters This function block determines the new target position (A-0-2201, Target position) by adding the distance (A-0-2200, Commanded position) and the actual position (A-0-0100, Actual position value) and moves toward it. The distance is specified relative to the actual position. The parameter A-0-0203, Moving direction, do not have any effect and do not override the sign of the distance! Special Function: Error Handling: The MC_MoveAbsolute, MC_MoveAdditive and MC_MoveRelative FBs accept a velocity command value of Vcom = 0. When these FBs (Vcom = 0) are called, the axis is stopped. Only positioning is interrupted. The target position remains preserved in the axis. If MC_MoveAdditive (Vcom <> 0) is called subsequently, the remaining path is traversed. The target position will be overwritten only after another motion FB has been called. The function block MC_MoveRelative generates the following error messages:

Library Description Rexroth IndraMotion MLC02VRS Electric Drives Bosch Rexroth AG 57/108 MLC_TABLE - Error at the access on the axis/ the control Display F*22*200 F*22*201 F*22*202 F*22*204 F*22*205 F*22*206 F*22*207 F*22*214 F*22*223 F*22*224 F*22*225 F*22*226 F*22*227 F*22*228 Meaning General drive error Invalid control number Invalid axis number Command not supported by the axis Command denied, no power Command in state 'Stopping' denied Command in state 'Homing' denied Command in state 'Errorstop' denied Velocity lower than minimum value Velocity greater than maximum value Acceleration lower than minimum value Acceleration greater than maximum value Deceleration lower than minimum value Deceleration greater than maximum value 1.8.13 MC_MoveVelocity Fig.1-122: Error numbers caused by MC_MoveRelative F*22*... is to be read as F0220..., for this case no error reaction by the axis F2229..., for the case Axis Halt, best-possible Standstill. Brief Description This function block controls a "never-ending motion at the particularly defined velocity. To terminate the motion, the FB instance must be interrupted by another FB instance which issues a new command. The use of this block assumes a previous power connection via an instance of MC_Power, page 42, (with real axes). The InVelocity signal is reset if the FB instance is interrupted by another FB instance (CommandAborted) or if the edge of its Execute input is falling. If Execute is deactivated, the drive continues rotating with the same velocity. Library ML_PLCopen.lib Range Motion...\Rexroth\IndraWorks\IndraLogic\Targets\IndraMotion_MLC_L40_02VRS\Lib Fig.1-123: Library assignment

58/108 Bosch Rexroth AG Electric Drives Rexroth IndraMotion MLC02VRS Library Description Interface Description Fig.1-124: FB MC_MoveVelocity Name Type Comment VAR_IN_OUT Axis AXIS_REF provides information on the actual axis VAR_INPUT Execute BOOL Starts the motion with rising edge Velocity REAL Maximum velocity value (does not necessarily have to be reached) [u/s] Acceleration REAL Acceleration (always +) [u/s²] Deceleration REAL Deceleration (always +) [u/s²] VAR_OUTPUT InVelocity BOOL Velocity reached (for the first time) Active BOOL Processing of data is active after preprocessing is completed Command- Aborted BOOL Command aborted by the following command Error BOOL Indicates that an error has occurred in the FB instance ErrorID ERROR_CODE Brief indication on the error cause ErrorIdent ERROR_STRUCT Detailed information on the error Fig.1-125: Interface of FB MC_MoveVelocity

Library Description Rexroth IndraMotion MLC02VRS Electric Drives Bosch Rexroth AG 59/108 Signal time diagram Fig.1-126: Time diagram of MC_MoveVelocity (without abort command) Implementation Example: Fig.1-127: Time diagram of MC_MoveVelocity (with abort command) The figure below shows two examples of two combined instances of the MC_MoveVelocity function block: 1. The left-hand part of the time diagram shows a case where the second instance is called after the job of the first instance is completed. Once the first function block has reached the required velocity of 3000, the "Instance1.InVelocity" output AND the "Next" signal cause the second function block to continue the motion at a velocity of 2000. 2. The right-hand part of the time diagram shows a case where the first FB has not reached the desired velocity yet, before the second FB is started.

60/108 Bosch Rexroth AG Electric Drives Rexroth IndraMotion MLC02VRS Library Description Thereafter, the following is shown: The first motion is restarted by "Go" at the "Instance1.Execute" input. While it is still accelerating to achieve the velocity of 3000, the first FB is interrupted by the "Test" signal which starts the second FB. Now, the second FB is running and reduces the velocity to 2000. Fig.1-128: Two instances of MC_MoveVelocity Fig.1-129: Time diagram: two instances of MC_MoveVelocity 1.8.14 MC_MoveVelocity, Special Features of the IndraMotion MLC Error Handling: The function block MC_MoveVelocity generates the following error messages: MLC_TABLE - Error at the access on the axis/ the control Display F*22*200 F*22*201 F*22*202 F*22*204 F*22*205 Meaning General drive error Invalid control number Invalid axis number Command not supported by the axis Command denied, no power

Library Description Rexroth IndraMotion MLC02VRS Electric Drives Bosch Rexroth AG 61/108 Display F*22*206 F*22*207 F*22*214 F*22*223 F*22*224 F*22*225 F*22*226 F*22*227 F*22*228 Meaning Command in state 'Stopping' denied Command in state 'Homing' denied Command in state 'Errorstop' denied Velocity lower than minimum value Velocity greater than maximum value Acceleration lower than minimum value Acceleration greater than maximum value Deceleration lower than minimum value Deceleration greater than maximum value 1.8.15 MC_TorqueControl Fig.1-130: Error numbers caused by MC_MoveVelocity F*22*... is to be read as F0220..., for this case no error reaction by the axis F2229..., for the case Axis Halt, best-possible Standstill. Brief Description The function block controls a continuous assignable force with a defined force ramp in a never ending movement. The function block is suitable according to weighting for force and torque presetting (positive force-/ torque presetting for the purposes of positive velocity presetting). To terminate the motion, the FB instance must be interrupted by another FB instance which issues a new command. The use of this block assumes a previous power connection via an instance of MC_Power, page 42, (with real axes). The InTorque signal is reset if the FB instance is interrupted by another FB instance (CommandAborted) or if the edge of its Execute input is falling. If Execute is deactivated, the drive continues rotating with the same velocity. Library ML_PLCopen.lib Range Motion...\Rexroth\IndraWorks\IndraLogic\Targets\IndraMotion_MLC_L40_02VRS\Lib Fig.1-131: Library assignment

62/108 Bosch Rexroth AG Electric Drives Rexroth IndraMotion MLC02VRS Library Description Interface Description Fig.1-132: FB MC_TorqueControl Name Type Comment VAR_IN_OUT Axis AXIS_REF provides information on the actual axis VAR_INPUT Execute BOOL Starts the motion with rising edge Torque REAL Maximum force/torque value (always +, value does not necessarily have to be reached) [u/s]. TorqueRamp REAL Force-/ Torque difference which can be reached within the ramp time VAR_OUTPUT InTorque BOOL Force/ Torque reached (for the first time) Active BOOL Processing of data is active after preprocessing is completed Command- Aborted BOOL Command aborted by the following command Error BOOL Indicates that an error has occurred in the FB instance ErrorID ERROR_CODE Brief indication on the error cause ErrorIdent ERROR_STRUCT Detailed information on the error Fig.1-133: Interface of FB MC_TorqueControl

Library Description Rexroth IndraMotion MLC02VRS Electric Drives Bosch Rexroth AG 63/108 Signal time diagram Fig.1-134: Signal time characteristics of MC_TorqueControl 1.8.16 MC_TorqueControl, Special Features of the IndraMotion MLC Used parameters The block cooperates with the following SERCOS-Parameters: S-0-0091, Velocity limit value bipolar (must be set before FB call!) S-0-0823, Ramp time (must be set before FB call!) Proposal: Adjust ramp time to 1000ms, preset the to be programmed Torque-/ Force difference relating to one second at the block input. S-0-0822, Torque-/ Force ramp, is accepted by the block. The parameters S-0-0822 and S-0-0823 are not supported by the drive types HNC3x-SERCOS and MPH04. Error handling: The function block MC_TorqueControl generates the following error messages: MLC_TABLE - Error at the access on the axis/ the control Display F*22*200 F*22*201 F*22*202 Fig.1-135: Meaning General drive error Invalid control number Invalid axis number Error numbers, caused by MC_TorqueControl

64/108 Bosch Rexroth AG Electric Drives Rexroth IndraMotion MLC02VRS Library Description 1.8.17 MB_Home Brief Description F*22*... is to be read as F0220..., for this case no error reaction by the axis F2229..., for the case Axis Halt, best-possible Standstill. This function block controls axes with incremental encoder when executing the "search home" sequence. The details of the sequence must be set by means of axis parameters. "Homing" ends at standstill. Library ML_PLCopen.lib Range Motion...\Rexroth\IndraWorks\IndraLogic\Targets\IndraMotion_MLC_L40_02VRS\Lib Interface Description Fig.1-136: Library assignment Fig.1-137: FB MB_Home Name Type Comment VAR_IN_OUT Axis AXIS_REF provides information on the actual axis VAR_INPUT Execute BOOL Starts the motion with rising edge VAR_OUTPUT Done BOOL Homing completed, velocity 0 Active BOOL Processing of data is active after preprocessing is completed Command- Aborted BOOL Command aborted by the following command Error BOOL Indicates that an error has occurred in the FB instance ErrorID ERROR_CODE Brief indication on the error cause ErrorIdent ERROR_STRUCT Detailed information on the error Fig.1-138: Interface of FB MB_Home

Library Description Rexroth IndraMotion MLC02VRS Electric Drives Bosch Rexroth AG 65/108 Signal time diagram Fig.1-139: Time diagram of MB_Home 1.8.18 MB_Home, Special Features of the IndraMotion MLC Error handling: The function block MB_Home generates the following error messages: MLC_TABLE - Error at the access on the axis/ the control Display F*22*200 F*22*201 F*22*202 F*22*204 F*22*205 F*22*206 F*22*207 F*22*211 F*22*212 Meaning General drive error Invalid control number Invalid axis number Command not supported by the axis Command denied, no power Command in state 'Stopping' denied Command in state 'Homing' denied Command in state 'Discrete Motion' denied Command in state 'Continuous Motion' denied

66/108 Bosch Rexroth AG Electric Drives Rexroth IndraMotion MLC02VRS Library Description Display F*22*213 F*22*214 Meaning Command in state 'Synchronized Motion' denied Command in state 'Errorstop' denied Fig.1-140: 1.8.19 MB_PresetMode - In Preparation Error numbers, caused by MB_Home Brief Description The function block prepares the axis for a setting before switch-on power (Pre- SetModus) before -> preselection of operation modes. The block can be activated only in operation mode without power and without error. After the activation with rising Execute edge it is allowed to activate a Motion-FB like MC_MoveVelocity etc. This commands the axis already with the appropriate data and reports "Active", although the axis does not start yet. Only with the subsequent switching on of the power with MC_Power, page 42, the axis follows directly the presettings. In state PresetMode only one motion block may be activated. This reports after the activation "Active", breakable by MC_Reset, page 44. Library ML_PLCopen.lib Range Motion...\Rexroth\IndraWorks\IndraLogic\Targets\IndraMotion_MLC_L40_02VRS\Lib Interface Description Fig.1-141: Library assignment Fig.1-142: FB MB_PresetMode Name Type Comment VAR_IN_OUT Axis AXIS_REF provides information on the actual axis VAR_INPUT Execute BOOL As long as Execute is TRUE, the axis is stopped or kept in the stop condition. VAR_OUTPUT Done BOOL Operation mode is preselected Error BOOL Indicates that an error has occurred in the FB instance ErrorID ERROR_CODE Brief indication on the error cause ErrorIdent ERROR_STRUCT Detailed information on the error Fig.1-143: Interface of FB MC_Stop 1.8.20 MB_PresetMode, Special Features of the IndraMotion MLC Error handling: The function block MB_PresetMode generates the following error messages: MLC_TABLE - Error at the access on the axis/ the control

Library Description Rexroth IndraMotion MLC02VRS Electric Drives Bosch Rexroth AG 67/108 Display F*22*200 F*22*201 F*22*202 Fig.1-144: Meaning General drive error Invalid control number Invalid axis number Error numbers caused by MB_PresetMode 1.9 Function Blocks for Multi-Axes Control 1.9.1 Multi-Axes Control - Synchronization in the Position-Controlled Synchronous Operation Modes 1.9.2 MC_START_MODE Brief Description The functions described below are effective in the angle synchronization and electronic cam operation modes. In general, the slave axis is synchronized after the synchronous operation mode has been activated. This synchronization comprises two steps: 1. In the first step, the slave drive accelerates or decelerates to the synchronous velocity with "Synchronization acceleration". 2. In the second step, the position difference is eliminated. In addition a "Synchronization acceleration" is overlaid to the synchronous velocity. As regards the position adjustment in the second step, there is differed between relative and absolute synchronization (MC_START_MODE, page MC_START_MODE ): The relative synchronization is completed once the synchronous velocity is reached. Only with absolute synchronization will the absolute angle reference be determined once the synchronous velocity is reached (Synchronization direction MC_SYNC_DIRECTION, page 68). This parameter defines the type of the automatic dynamic synchronization in case of phase synchronization (also refer to Multi-Axes Control - Synchronization in the Position-Controlled Synchronous Operation Modes, page 67). Library RIL_CommonTypes.lib Range Data types of PLCopen...\Rexroth\IndraWorks\IndraLogic\Targets\IndraMotion_MLC_L40_02VRS\Lib Fig.1-145: Library assignment Name Value Comment TYPE MC_START_MODE ( ABSOLUTE := 0, The absolute angle reference is determined once the synchronous velocity is reached END_TYPE RELATIVE := 1, Synchronization is completed once the synchronous velocity is reached ); Fig.1-146: MC_START_MODE

68/108 Bosch Rexroth AG Electric Drives Rexroth IndraMotion MLC02VRS Library Description 1.9.3 MC_SYNC_DIRECTION Brief Description With modulo axes the movement of the axis can take place in positive or negative direction (also refer to Multi-Axes Control - Synchronization in the Position-Controlled Synchronous Operation Modes, page 67). The synchronization direction specifies the movement direction of the axis. Library RIL_CommonTypes.lib Range Data types of PLCopen...\Rexroth\IndraWorks\IndraLogic\Targets\IndraMotion_MLC_L40_02VRS\Lib Fig.1-147: Library assignment Name Value Comment TYPE ( SHORTEST _WAY =:0 shortest way CATCH_UP =:1 positive direction SLOW_DOW N =:2 negative direction ) END_TYPE Fig.1-148: MC_SYNC_DIRECTION If, however, the shortest way to absolute synchronization is less than the Synchronization window with modulo format, the axis traverses the shortest way while the synchronization direction is ignored. 1.9.4 Data Type for Changeover between Cams, MLC At present, 4 cam tables can be filed in the drive. When the tables are addressed, modulo 4 access is used, i.e. table 1 is addressed if table 5 is accessed. 1.9.5 MC_CAM_ID Brief Description Library RIL_CommonTypes.lib Cam changeover is possible in running operation. Selection and changeover can take place via function block MC_CamIn, page 69 (CamTableID: MC_CAM_ID, page 68) or via parameter "Cam table preselection" (A-0-2740). The enumeration type supports the selection of the desired cam (Data Type for Changeover between Cams, MLC, page 68). Range Data types of PLCopen...\Rexroth\IndraWorks\IndraLogic\Targets\IndraMotion_MLC_L40_02VRS\Lib Fig.1-149: Library assignment

Library Description Rexroth IndraMotion MLC02VRS Electric Drives Bosch Rexroth AG 69/108 Name Value Comment TYPE MC_CAM_ID ( CAM_TABLE_1 := 1 Cam 1 CAM_TABLE_2 := 2 Cam 2 CAM_TABLE_3 := 3 Cam 3......... CAM_TABLE_8 := 8 Cam 8 ); END_TYPE Functional Description Fig.1-150: MC_CAM_ID At present, only 4 cam tables can be filed in the drive. If No. 5 is accessed, table 1 is reactivated. 1.9.6 MC_CamIn Brief Description Cam changeover is possible in running operation. Cams can be selected and changed over via the function block MC_CamIn, page 69 or via the "Cam table preselection" (A-0-2740) parameter. The MC_CamIn function block implements an electronic cam function. Library ML_PLCopen.lib Range Motion...\Rexroth\IndraWorks\IndraLogic\Targets\IndraMotion_MLC_L40_02VRS\Lib Interface Description Fig.1-151: Library assignment Fig.1-152: FB MC_CamIn Name Type Comment VAR_IN_OUT Master AXIS_REF Provides information on the master axis Slave AXIS_REF provides information on the slave axis following the master axis VAR_INPUT Execute BOOL Starts the action with rising edge RatioNumerator UINT Gear transmission ratio - Counter Master axis gear output revolutions min: 1; max: 65535; default: 1

70/108 Bosch Rexroth AG Electric Drives Rexroth IndraMotion MLC02VRS Library Description Name Type Comment RatioDenominator UINT min: 1; max: 65535; default: 1 REAL Fine adjust gear transmission ratio in % ; default: 0.0, min.: -799.9999%, max.: 799,9999 Gear transmission ratio - Denominator Master axis gear input revolutions MasterFineadjust CamShaft- Distance SyncMode REAL MC_SYNC_DIREC- TION CamShaftDistance Synchronization direction: 0: = shortest distance; 1: = positive direction; 2: = negative direction StartMode MC_START_MODE Synchronization type: 0:= absolute, 1:= relative CamTableID MC_CAM_ID Number of the cam to be activated 1..4(...8) VAR_OUTPUT InSync BOOL Slave follows master; coupling completed successfully Active BOOL Processing of data is active after preprocessing is completed Command- Aborted BOOL Command aborted by the following command Error BOOL Indicates that an error has occurred in the FB instance ErrorID ERROR_CODE Brief indication on the error cause ErrorIdent ERROR_STRUCT Detailed information on the error CamActiveID MC_CAM_ID Number of the cam activated in the block Fig.1-153: Interface of FB MC_CamIn

Library Description Rexroth IndraMotion MLC02VRS Electric Drives Bosch Rexroth AG 71/108 Signal time diagram Fig.1-154: Signal time diagram 1.9.7 MC_CamIn, Special Features of the IndraMotion MLC Functional Description The MC_CamIn function block implements two jobs: It defines how the axis interprets and/or processes the cam data saved to it. It orders that the axis is to move to the CAM processing mode and process one motion cycle (defined by the SERCOS cycle). Once the block is processed successfully, the axis remains in the CAM processing mode until it receives another command or an error occurs. Target is to realize a dependence laid down in the cam table between the master axis (A-0-2700, master control number (A-0-2701, Master axis number) and the selected slave axis.

72/108 Bosch Rexroth AG Electric Drives Rexroth IndraMotion MLC02VRS Library Description Error handling Fig.1-155: Block diagram of FB MC_CamIn The block contains the following function groups: the electronic gear, which is defined by the ratio of "Master drive gear output revolutions" (A-0-2721) and "Master drive gear input revolutions" (A-0-2720), the gear ratio fine adjustment. The fine adjustment value is specified in percent and calculated (A-0-2722) as (1 + fine adjustment). the selection of one of 8 possible cam tables which are to be filed before in the drive. A-0-2740, Cam preselection the weighting slave-sided: A-0-2741, Cam, range Based on the incoming position and velocity signals, the block is able to implement the synchronization before master and slave are latching. The function block MC_CamIn generates the following error messages: MLC_TABLE - Error at the access on the axis/ the control Display F0220200 F0220201 F0220202 F2229232 F2229233 F2229234 F2229263 F2229264 F2229265 Meaning General drive error Invalid control number (slave ist unknown) Invalid axis number (slave ist unknown) Invalid master axis control number Invalid master axis number Cam invalid Master axis gear Input revolutions lower than minimum value Master axis gear - Input revolutions greater than maximum value Master axis gear Output revolutions lower than minimum value

Library Description Rexroth IndraMotion MLC02VRS Electric Drives Bosch Rexroth AG 73/108 Display F2229266 F2229267 F2229268 F2229269 F2229270 Meaning Master axis gear - Output revolutions greater than maximum value Fine adjustment of the gear ratio lower than minimum value Fine adjustment of the gear ratio greater than maximum value Invalid synchronization direction Invalid type of synchronization 1.9.8 MC_CamOut Brief Description Fig.1-156: Error numbers caused by MC_CamIn The MC_CamOut function block completes the electronic cam function activated by the MC_CamIn function block. This block implements two jobs: It completes the cam operation mode of the slave axis It transfers the slave axis to the "continuous motion" mode, while maintaining the last velocity value in case there is no other command. Library ML_PLCopen.lib Range Motion...\Rexroth\IndraWorks\IndraLogic\Targets\IndraMotion_MLC_L40_02VRS\Lib Interface Description Fig.1-157: Library assignment Fig.1-158: FB MC_CamOut Name Type Comment VAR_IN_OUT Slave AXIS_REF provides information on the slave axis following the master axis VAR_INPUT Execute BOOL Starts the action with rising edge VAR_OUTPUT Done BOOL Decoupling completed successfully Active BOOL Processing of data is active after preprocessing is completed Error BOOL Indicates that an error has occurred in the FB instance ErrorID ERROR_CODE Brief indication on the error cause ErrorIdent ERROR_STRUCT Detailed information on the error Fig.1-159: Interface of FB MC_CamOut

74/108 Bosch Rexroth AG Electric Drives Rexroth IndraMotion MLC02VRS Library Description Signal time diagram Fig.1-160: Signal time diagram 1.9.9 MC_CamOut, Special Features of the IndraMotion MLC Error handling The function block MC_CamOut generates the following error messages: MLC_TABLE - Error at the access on the axis/ the control 1.9.10 MC_GearIn Display F0220200 F0220201 F0220202 F0220204 Fig.1-161: Meaning General drive error Invalid control number (slave ist unknown) Invalid axis number (slave ist unknown) Not supported by the axis type Error numbers caused by MC_CamOut Brief Description The MC_GearIn function block implements an electronic gear function with fine adjustment.

Library Description Rexroth IndraMotion MLC02VRS Electric Drives Bosch Rexroth AG 75/108 Library ML_PLCopen.lib Range Motion...\Rexroth\IndraWorks\IndraLogic\Targets\IndraMotion_MLC_L40_02VRS\Lib Interface Description Fig.1-162: Library assignment Fig.1-163: FB MC_GearIn Name Type Comment VAR_IN_OUT Master AXIS_REF provides information on the master axis Slave AXIS_REF provides information on the slave axis following the master axis VAR_INPUT Execute BOOL Starts the action with rising edge RatioNumerator Gear transmission ratio - Counter Master axis gear output revolutions RatioDenominator UINT UINT min: 1; max: 65535; default: 1 min: 1; max: 65535; default: 1 REAL Fine adjust gear transmission ratio in % ; default: 0.0, min.: -799.9999%, max.: 799,9999 VAR_OUTPUT InGear BOOL Slave follows master; coupling completed successfully Active BOOL Processing of data is active after preprocessing is completed Gear transmission ratio - Denominator Master axis gear input revolutions MasterFineadjust Command- Aborted BOOL Command aborted by the following command Error BOOL Indicates that an error has occurred in the FB instance ErrorID ERROR_CODE Brief indication on the error cause ErrorIdent ERROR_STRUCT Detailed information on the error Fig.1-164: Interface of FB MC_GearIn

76/108 Bosch Rexroth AG Electric Drives Rexroth IndraMotion MLC02VRS Library Description Signal time diagram Fig.1-165: Signal time diagram 1.9.11 MC_GearIn, Special Features of the IndraMotion MLC Functional Description The gear function is implemented using the drive internal gear functionality. The objective here is a velocity-synchronous (drift-free) running between the master axis (A-0-2700, Master control number, A-0-2701, Master axis number) and the selected slave axis.

Library Description Rexroth IndraMotion MLC02VRS Electric Drives Bosch Rexroth AG 77/108 Error handling Fig.1-166: Block diagram of FB MC_GearIn The block contains two function groups: the electronic gear, which is defined by the ratio of A-0-2721, Master drive gear output revolutions and A-0-2720, Master drive gear input revolutions and the gear ratio fine adjustment. The fine adjustment value is specified in percent and calculated as (1 + fine adjustment), (A-0-2722) Based on the incoming velocity signal, the block is able to implement the synchronization before master and slave are latching. The function block MC_GearIn generates the following error messages: MLC_TABLE - Error at the access on the axis/ the control 1.9.12 MC_GearOut Display F0220200 F0220201 F0220202 F2229232 F2229233 F2229263 F2229264 F2229265 F2229266 F2229267 F2229268 Fig.1-167: Meaning General drive error Invalid control number (slave ist unknown) Invalid axis number (slave ist unknown) Invalid master axis control number Invalid master axis number Master axis gear Input revolutions lower than minimum value Master axis gear - Input revolutions greater than maximum value Master axis gear Output revolutions lower than minimum value Master axis gear - Output revolutions greater than maximum value Fine adjustment of the gear ratio lower than minimum value Fine adjustment of the gear ratio greater than maximum value Error numbers caused by MC_GearIn Brief Description The MC_GearOut function block completes the electronic gear function with fine adjustment, that has been activated by the MC_GearIn or MB_GearInPos function block.

78/108 Bosch Rexroth AG Electric Drives Rexroth IndraMotion MLC02VRS Library Description This block implements two jobs: It completes the velocity-synchronous running of the slave axis It transfers the slave axis to the Continuous Motion mode, while maintaining the last velocity value in case there is no other command. Library ML_PLCopen.lib Range Motion...\Rexroth\IndraWorks\IndraLogic\Targets\IndraMotion_MLC_L40_02VRS\Lib Interface Description Fig.1-168: Library assignment Fig.1-169: FB MC_GearOut Name Type Comment VAR_IN_OUT Slave AXIS_REF provides information on the slave axis following the master axis VAR_INPUT Execute BOOL Starts the action with rising edge VAR_OUTPUT Done BOOL Decoupling completed successfully Active BOOL Processing of data is active after preprocessing is completed Error BOOL Indicates that an error has occurred in the FB instance ErrorID ERROR_CODE Brief indication on the error cause ErrorIdent ERROR_STRUCT Detailed information on the error Fig.1-170: Interface of FB MC_GearOut

Library Description Rexroth IndraMotion MLC02VRS Electric Drives Bosch Rexroth AG 79/108 Signal time diagram Fig.1-171: Signal time diagram 1.9.13 MC_GearOut, Special Features of the IndraMotion MLC Error handling The function block MC_GearOut generates the following error messages: MLC_TABLE - Error at the access on the axis/ the control 1.9.14 MB_GearInPos Display F0220200 F0220201 F0220202 F0220204 Fig.1-172: Meaning General drive error Invalid control number (slave ist unknown) Invalid axis number (slave ist unknown) Not supported by the axis type Error numbers caused by MC_GearOut Brief Description The MB_GearInPos function block implements an electronic gear function with fine adjustment. The objective here is a phase- and velocity-synchronous (drift-free) running between the master axis and the selected slave axis.

80/108 Bosch Rexroth AG Electric Drives Rexroth IndraMotion MLC02VRS Library Description Library ML_PLCopen.lib Range Motion...\Rexroth\IndraWorks\IndraLogic\Targets\IndraMotion_MLC_L40_02VRS\Lib Interface Description Fig.1-173: Library assignment Fig.1-174: FB MB_GearInPos Name Type Comment VAR_IN_OUT Master AXIS_REF provides information on the master axis Slave AXIS_REF provides information on the slave axis following the master axis VAR_INPUT Execute BOOL Starts the action with rising edge RatioNumerator Gear transmission ratio - Counter "Master axis gear output revolutions" RatioDenominator UINT UINT min: 1; max: 65535; default: 1 min: 1; max: 65535; default: 1 REAL "Fine adjust gear transmission ratio" in % ; default: 0.0, min.: -799.9999%, max.: 799,9999 SyncMode Gear transmission ratio - Denominator "Master axis gear input revolutions" MasterFineadjust MC_SYNC_DIREC- TION Synchronization direction: 0:= shortest distance; 1:= positive direction; 2:= negative direction StartMode MC_START_MODE Type of synchronization: 0:= absolute, 1:= relative VAR_OUTPUT InSync BOOL Synchronous run reached Active BOOL Processing of data is active after preprocessing is completed Command- Aborted BOOL Command aborted by the following command Error BOOL Indicates that an error has occurred in the FB instance ErrorID ERROR_CODE Brief indication on the error cause ErrorIdent ERROR_STRUCT Detailed information on the error Fig.1-175: Interface of FB MB_GearInPos

Library Description Rexroth IndraMotion MLC02VRS Electric Drives Bosch Rexroth AG 81/108 Signal time diagram Fig.1-176: Signal time diagram 1.9.15 MB_GearInPos, Special Features of the IndraMotion MLC Functional Description The gear function is implemented using the drive internal gear functionality. The objective here is to implement a phase- and velocity-synchronous (drift-free) running between the master axis ("Master control number" (A-0-2700), "Master axis number" (A-0-2701)) and the selected slave axis.

82/108 Bosch Rexroth AG Electric Drives Rexroth IndraMotion MLC02VRS Library Description Error handling Fig.1-177: Block diagram of FB MB_GearInPos The block contains two function groups: the electronic gear, that is defined by the ratio of "Master drive gear output revolutions" (A-0-2721) and "Master drive gear input revolutions" (A-0-2720) and the gear ratio fine adjustment. The fine adjustment value is specified in percent and calculated as (1 + fine adjustment), Based on the incoming position and velocity signals, the block is able to implement the synchronization before master and slave are latching. The function block MB_GearInPos generates the following error messages: MLC_TABLE - Error at the access on the axis/ the control 1.9.16 ML_PhasingSlave Display F0220200 F0220201 F0220202 F2229232 F2229233 F2229263 F2229264 F2229265 F2229266 F2229267 F2229268 Fig.1-178: Meaning General drive error Invalid control number (slave ist unknown) Invalid axis number (slave ist unknown) Invalid master axis control number Invalid master axis number Master axis gear Input revolutions lower than minimum value Master axis gear - Input revolutions greater than maximum value Master axis gear Output revolutions lower than minimum value Master axis gear - Output revolutions greater than maximum value Fine adjustment of the gear ratio lower than minimum value Fine adjustment of the gear ratio greater than maximum value Error numbers caused by MB_GearInPos Brief Description The function block ML_PhasingSlave implements a phase shift between master and slave in "Synchronized Motion" mode. In this operating mode the slave follows the master.

Library Description Rexroth IndraMotion MLC02VRS Electric Drives Bosch Rexroth AG 83/108 With the function block ML_PhasingSlave the phase shifting can be written everytime, but it only works in "Synchronized Motion". The function block supports MC_GearIn, MB_GearInPos and MC_CamIn, if they are in InGear or InSync. Library ML_PLCopen.lib Range Motion...\Rexroth\IndraWorks\IndraLogic\Targets\IndraMotion_MLC_L40_02VRS\Lib Interface Description Fig.1-179: Library assignment Fig.1-180: FB ML_PhasingSlave Name Type Comment VAR_IN_OUT Slave AXIS_REF provides information on the slave axis VAR_INPUT Execute BOOL Starts the action with rising edge Phase-Shift REAL Position offset between master axis encoder and slave axis VAR_OUTPUT Done BOOL Information assigned to S-0-0048, Additive position command value Active BOOL Processing of data is active after preprocessing is completed Command- Aborted BOOL Command aborted by the following command Error BOOL Indicates that an error has occurred in the FB instance ErrorID ERROR_CODE Brief indication on the error cause ErrorIdent ERROR_STRUCT Detailed information on the error Fig.1-181: Interface of FB ML_PhasingShift

84/108 Bosch Rexroth AG Electric Drives Rexroth IndraMotion MLC02VRS Library Description Signal time diagram Error handling Fig.1-182: Signal time diagram The function block MC_PhasingShift generates the following error messages: MLC_TABLE - Error at the access on the axis/ the control Display F0220200 F0220201 F0220202 F2229232 F2229233 F0220204 Fig.1-183: Meaning General drive error Invalid control number (slave ist unknown) Invalid axis number (slave ist unknown) Invalid master axis control number Invalid master axis number Not supported by the axis type Error numbers caused by ML_PhasingSlave 1.10 Function Blocks for Use of the Cyclical Data Channel 1.10.1 General about the Use of the Cyclical Data Channel The SERCOS BUS offers the possibility of the use of a cyclical data channel for the transmission of information of the control to the respectively addressed axis.

Library Description Rexroth IndraMotion MLC02VRS Electric Drives Bosch Rexroth AG 85/108 1.10.2 ML_OpenCyclicPositionChannel Brief Description In addition the addressed axis is switched to operation mode "Cyclical position Command" by block ML_OpenCyclicPositionChannel, page 85, and the cyclical position commanded value channel is opened. With opened position commanded value channel then it is possible to write a position command for the axis by the function blockml_writecyclicposition, page 86, that is already effective on the axis in the next cycle. The function block switches the axis in the 'Cyclic Position Command' mode and opens the cyclical position commanded value channel. If ML_OpenCyclicPositionChannel is activated and the cyclical position commanded value channel is already open, so an error is generated. The function block must be used in the MotionTask (synchronous to the SERCOS cycle), otherwise jerky movements of the axis must be expected If the Execute -Input is deactivated, all outputs are set to FALSE. The cyclical position commanded value channel remains open if it was opened before. If the function block was interrupted by another movement function block, the function block is aborted and the cyclical position commanded value channel is closed (see also signal time diagram). Library ML_PLCopen.lib Range Parameters...\Rexroth\IndraWorks\IndraLogic\Targets\IndraMotion_MLC_L40_02VRS\Lib Interface Description Fig.1-184: Library assignment Fig.1-185: FB ML_OpenCyclicPositionChannel Name Type Comment VAR_IN_OUT Axis AXIS_REF provides information on the actual axis VAR_INPUT Execute BOOL Starts the function block with a rising edge. VAR_OUTPUT Channel- Open BOOL Indicates that the cyclical position commanded value channel is opened and the axis follows the position value of the last cycle. Active BOOL Indicates that the FB brings the axis in the 'Cyclic Position Command' mode. Command- Aborted BOOL Command was aborted by another command.

86/108 Bosch Rexroth AG Electric Drives Rexroth IndraMotion MLC02VRS Library Description Name Type Comment Error BOOL Indicates that an error has occurred in the FB instance ErrorID ERROR_CODE Brief indication on the error cause ErrorIdent ERROR_STRUCT Detailed information on the error Signal time diagram Fig.1-186: Interface of FB ML_OpenCyclicPositionChannel The functioning of the block will be clear if the following impulse diagram is considered. The block works here in competition to an instance of a MC_MoveAbsolute, page 48. Fig.1-187: Time behavior ML_OpenCyclicPositionChannel Error handling Fig.1-188: Time behavior ML_OpenCyclicPositionChannel The function block ML_OpenCyclicPositionChannel generates the following error messages: MLC_TABLE - Error at the access on the axis/ the control Display F00D1002 F0220201 F0220202 F2229274 Fig.1-189: 1.10.3 ML_WriteCyclicPosition Meaning Cyclical commanded value channel already opened Invalid control number Invalid axis number Command denied, no position reference Error numbers, caused by ML_OpenCyclicPositionChannel The function block ML_WriteCyclicPosition writes a position command for one axis. Only if the cyclical position commanded value channel is opened, the position command becomes effective on the axis in the next cycle.

Library Description Rexroth IndraMotion MLC02VRS Electric Drives Bosch Rexroth AG 87/108 To open the cyclical position commanded value channel, the function block ML_OpenCyclicPositionChannel must be used. The function block must be used in the PLC-Task that is synchronous to the SERCOS cycle, otherwise jerky movements of the axis must be expected. Library ML_PLCopen.lib Range Motion...\Rexroth\IndraWorks\IndraLogic\Targets\IndraMotion_MLC_L40_02VRS\Lib Interface Description Fig.1-190: Library assignment Fig.1-191: ML_WriteCyclicPosition Name Type Comment VAR_IN_OUT Axis AXIS_REF provides information on the actual axis VAR_INPUT Enable BOOL As long as the Enable -Output is true, the PosCommand is written on the axis. The position command becomes effective first, if the cyclical position commanded value channel is opened. PosCommand REAL specifies the position, the axis should move toward in the next cycle. The position command becomes effective first, if the cyclical position commanded value channel is opened. VAR_OUTPUT Status BOOL indicates that the position command was written on the axis. The position command becomes effective first, if the cyclical position commanded value channel is opened. Error BOOL Indicates that an error has occurred in the FB instance ErrorID ERROR_CODE Brief indication on the error cause ErrorIdent ERROR_STRUCT Detailed information on the error Special features of the PosCommand-Input Error handling Fig.1-192: Interface of the FB ML_WriteCyclicPosition 1. The values of the PosCommand -Input will be active in the next cycle if the cyclical position commanded value channel is opened. 2. The values of the PosCommand -Input should be near in the next position of the movement vector. 3. The value of the PosCommand -Input has the scaling of the assigned axis (linear, rotatory, modulo). The function block ML_WriteCyclicPosition generates the following error messages: MLC_TABLE - Error at the access on the axis/ the control

88/108 Bosch Rexroth AG Electric Drives Rexroth IndraMotion MLC02VRS Library Description Display F00D103B F00D103C F0220200 Meaning Invalid control number Invalid axis number General drive error Implementation Example: Fig.1-193: Errro numbers caused by ML_WriteCyclicPosition Common use of ML_OpenCyclicPositionChannel and ML_WriteCyclicPosition The ChannelOpen -Output OR-Linked with the Active -Output of FB1 can be used as Enable -Input of FB2. The PosCommand -Input of FB2 must be used with valid values of the position table: The first value of the position table must be written to the PosCommand -Input while the Active -Output of FB1 is set. The following entries of the position table must be written to the PosCommand -Input while the ChannelOpen -Output of FB1 is set. Fig.1-194: First cycle: Example: ML_OpenCyclicPositionChannel and ML_WriteCyclicPosition The Execute-Input is set at the FB ML_OpenCyclicPositionChannel. If the Error -Output is set afterwards, the cyclical position commanded value channel was already opened and is used by someone else. If the Active -Output is set afterwards, the Enable -Input at the FB ML_WriteCyclicPosition must be set and the PosCommand -Input must be set to the first entry of the position table. The CommandAborted - and ChannelOpen -Output cannot be set in the first cycle. Activation cycles ( ChannelOpen is not set) If the Error -Output is set, the cyclical position commanded value channel was opened by someone else during the initialization phase. The Enable -Input at FB ML_SetCyclicPosition can be deactivated. If the CommandAborted -Output is set, the ML_OpenCyclicPositionCommand was aborted by another motion function block. The Enable -Input at FB ML_OpenCyclicPositionCommand can be deactivated. If the Active -Output is set, the Enable -Input at the FB ML_WriteCyclic- Position must be set and the PosCommand -Input must be set to the first entry of the position table. Work cycles ChannelOpen -Output is set. The value of the PosCommand -Input at FB ML_OpenCyclicPositionCommand is active on the axis of the last cycle. At FB ML_WriteCyclicPosition the Enable -Input must be set and the PosCommand-Input must be set to the sequencing entry of the position table. Abortion The cyclical position commanded value channel is closed if another motion function block (e.g. MC_Stop) is active on the axis.

Library Description Rexroth IndraMotion MLC02VRS Electric Drives Bosch Rexroth AG 89/108 If the CommandAborted -Output is set, the cyclical position commanded value channel was closed. In this cycle no position command will be active at the drive. The Enable -Input at FB ML_WriteCyclicPosition can be deactivated. The Execute -Input at FB ML_OpenCyclicPositionCommand can be deactivated. Summary Output Active ChannelOpen Error CommandAborted Description/Action The cyclical position commanded value channel is initialized. At FB ML_WriteCyclicPosition the Enable -Input must be activated and the PosCommand -Input must be set to the first entry of the position table. The cyclical position commanded value channel is opened. At FB ML_WriteCyclicPosition the Enable -Input must be activated and the PosCommand -Input must be set to the sequencing entry of the position table. The cyclical position commanded value channel was already opened and is used by someone else. The Enable -Input at FB ML_WriteCyclicPosition must be deactivated. The cyclical position commanded value channel was closed. The Enable -Input at FB ML_WriteCyclicPosition can be deactivated. Fig.1-195: Summary 1.11 Supply of Axis Data for Use in PLC-Programs 1.11.1 Axis Data Transfer - Basic Principles In MLC-Programs the axis access in PLCopen function blocks always takes place by use of the axis reference (AXIS_REF ). In IndraWorks, a new (real) axis is created by dragging the IndraDrive from the device library (to the right) e.g. to the SERCOS node in the Project Navigator (to the left). In the following Wizard a name is prompted for the axis from which generically the data being available under IndraLogic are created (in the example "RA1"). For each axis two data containers are being generated, one of type AXIS_REF, page 8, and one of type ML_AXISDATA, page 90. The axis data transfer is organized via "Global variables". RA1 RA1_DAT Fig.1-196: (AXIS_REF), Axis address (CONTROLS / OBJECTS) (ML_AXISDATA), Direct variables of axis RA1 Automatically generated definition of variables for axis "RA1" The access on the axis data "<axisname>_dat" takes place per read/write of direct variables.

90/108 Bosch Rexroth AG Electric Drives Rexroth IndraMotion MLC02VRS Library Description 1.11.2 ML_AXISDATA Brief Description An instance of the structure ML_AXISDATA contains the information of the corresponding axis which can be accessed by a Direct variable access. Library (hidden) ML_Base.lib Range DirectVarAndSM...\Rexroth\IndraWorks\IndraLogic\Targets\IndraMotion_MLC_L40_02VRS\Lib Fig.1-197: Library assignment Functional Description (A) (B) (C) Fig.1-198: Use of data type for <axisname>_dat frequently required information for the axis <axisname> more parameters which can be achieved via direct variable access. Axis data with direct variable access This structure comprises the essential data which can be exchanged with an axis.

Library Description Rexroth IndraMotion MLC02VRS Electric Drives Bosch Rexroth AG 91/108 As shown in the figure above, the memory space is reserved for each axis while being bound to an absolute address. The memory cells each obtain their initial value (WORD/DWORD:= 0; REAL: There is no automatic cyclical update. The direct variable access mechanism means that the particular single datum is downloaded from and uploaded to the motion (the axis) per function call. A value is not available until such an access has been made. When the element is accessed the next time, the read procedure is initiated again by function call. A direct access (A-Parameter) takes about 10...15 µs for the control "CML40.1". If it is necessary to use the value repeatedly in one PLC cycle, a local image memory should be created and used. It is not possible to copy the entire structure, since the function call for transporting the information would not be initiated. The values remain at zero. New access possibilities on axis data in MLC02VRS Because the access on axis data is very long, a second access method via "shared memory" was implemented for the frequently required variables in figure Axis data with direct variable access in range (B), (see Axis Data of all Axes in the Shared Memory, page 91) 1.11.3 Axis Data of all Axes in the Shared Memory To avoid the long access on frequently required axis data via direct variables, these data are centralized for all axes (1..16) in an array. The data itself are in a Shared Memory between the PLC- and the Motion-Component. The range of the input variables is updated at the end of the MK1 Motion-Kernel processing. The range of the output variables is written at the end of the MK2 Motion-Kernel processing (see The MLC-Tasksystem in the Overview, page 96). If the time need of the programs of the PLC-Task is greater than the time slice that is available for the programs of the Motion- and PLC- Task, the processing of these programs is continued in the following Sercos-Cycle. Then the data of the Shared Memory can already have changed... The axes are numbered serially, so the axis name of the several axis is insignificant. Fig.1-199: Choiced axis data of the axes 1...16 centralized in the array The data type ML_AXISDATA_SM, page 92, contains a subset with the same name of data type ML_AXISDATA, page 90, marked range (B). The distinction is given in the name creation and in the data access.

92/108 Bosch Rexroth AG Electric Drives Rexroth IndraMotion MLC02VRS Library Description Example: The axis "1" has the name "RA1". An access to the Position actual value (A-0-0100) can take place like follows: Name of the variable used data type Type of access Time need RA1_DAT.rActualPosition_i ML_AXISDATA Direct variable ca. 15μs AxisData[1].rActualPosition_i ML_AXISDATA_SM Shared Memory ca. 1,5μs Fig.1-200: 1.11.4 ML_AXISDATA_SM Access on parameter "Position actual value" (A-0-0100) Although both variables supply the same value, the above access should be avoided for following reasons: Additional time need because the updating of the Shared Memory takes place anyway. The access is not disabled for compatibility reasons not locked to keep PLC- Programs from version MLC01VRS furthermore capable of run. Brief Description An instance of the structure ML_AXISDATA_SM contains the information of the corresponding axis which can be accessed per Shared Memory. Library (hidden) ML_Base.lib Range DirectVarAndSM...\Rexroth\IndraWorks\IndraLogic\Targets\IndraMotion_MLC_L40_02VRS\Lib Fig.1-201: Library assignment

Library Description Rexroth IndraMotion MLC02VRS Electric Drives Bosch Rexroth AG 93/108 (1) Use of the data type in ARRAY Axis data of the axes 1...16 (2) frequently used axis data (is equivalent to range (B), ML_AXISDATA) (3) SM_TYPES, axis datum is interpreted in different formats Fig.1-202: Axis data in the Shared Memory

94/108 Bosch Rexroth AG Electric Drives Rexroth IndraMotion MLC02VRS Library Description With write accesses via direct variables on parameter A-0-0542...A-0-0551 resp. A-0-0500...A-0-0506, the new value is firstly stored in the Shared Memory and then the direct variable access is executed. 1.12 Supply of Control Data for Use in PLC-Programs 1.12.1 Control Data Transfer Analog to the axis data transfer (data of the respective axis are exchanged between Motion- and PLC-Component) the interconnection operation of several controls requires an additional information exchange between both components. The required data are centralized in one structure: Fig.1-203: 1.12.2 ML_ControlData_SM Choiced control data for the interconnection The data are hold in the Shared Memory. The configuration of the data and its task are described in ML_ControlData_SM, page 94, Brief Description An instance of the structure ML_CONTROLDATA_SM contains the information of the corresponding control which can be accessed per Shared Memory. The data are provided to support the interconnection operation of several MLC- Controls by the PLC side. Library (hidden) ML_Base.lib Range DirectVarAndSM...\Rexroth\IndraWorks\IndraLogic\Targets\IndraMotion_MLC_L40_02VRS\Lib Fig.1-204: Library assignment

Library Description Rexroth IndraMotion MLC02VRS Electric Drives Bosch Rexroth AG 95/108 wlinksyncbits_q (1) Data structure of the control (2) C-0-0704, MLC-Interconnection - Binary setpoint inputs (3), (3a) Synchronization bits of the control, bit bar 16Bit (4), (4a) C-0-0712, MLC-Interconnection - Status interconnection data (5) C-0-0712, MLC-Interconnection - Status function module Fig.1-205: Dataset of a MLC for the integration in an interconnection The bits may be set/reset by the user in the PLC-Program. Bits 0...3: 4 synchronous interconnection inputs The synchronous interconnection inputs "Interconnection-SYNCn" serve with active MLC- Interconnection participants for the simultaneous set/reset of the binary status bits "Interconnection participant m, input Interconnection-SYNCn active" (m= 1..64, n= 1..4). If the interconnection participant m (m = 1..64) sets/resets the input "Interconnection-SYNC1" (Bit 0), all interconnection participants (inclusive participant m) set/reset the status "Interconnection participant m, input Interconnection- SYNC1 active" in "arlinksyncbits_i" at the same time. With this mechanism same PLC Open blocks or same processes can be activated, e.g., on all MLCs synchronously.

96/108 Bosch Rexroth AG Electric Drives Rexroth IndraMotion MLC02VRS Library Description arlinksyncbits_i arlinksyncbits_i wlinksyncbits_q Bit 4: Restore double ring With set bit 4, the MLC tries after a redundancy loss in the double ring to restore the redundant interconnection structure with the primary and secondary ring. This is only possible if the cause of the redundancy loss has recognized previously and has been repaired. The array gives information via the "wlinksyncbits_q" of the individual interconnection participants. The array gives information about the validity of the information of the individual interconnection participants. If the bit in the respective word of a participant is set, so its data are valid, otherwise its data are invalid. The bit bar contains the diagnosis bits for the function module of the interconnection participant. Bit Designation 0 MLC-Interconnection - Transfer error 1 FM CrossComm - Error primary ring 2 FM CrossComm - Error secondary ring 3 MLC-Interconnection - Redundance error 4..15 reserved Fig.1-206: Status of the function module 1.13 Time Need with the Data Access and with the Processing of Motion Function Blocks in the IndraMotion MLC 1.13.1 The MLC-Tasksystem in the Overview The both preconfigured tasks of the MLC MotionTask and PlcTask arrange themselves to the whole task system of the control, like shown in following figure: Fig.1-207: Task system of the IndraMotion MLC