Download - Rexroth IndraMotion MLC 04VRS

Transcript
Page 1: Rexroth IndraMotion MLC 04VRS

Library Description

Electric Drivesand Controls Pneumatics Service

Linear Motion and Assembly TechnologiesHydraulics

Rexroth IndraMotion MLC 04VRSLibrary DescriptionML_Technology

R911321531Edition 01

Page 2: Rexroth IndraMotion MLC 04VRS

Rexroth IndraMotion MLC 04VRSLibrary DescriptionML_Technology

Library Description

DOK-IM*MLC-TFB*****V04-AW01-EN-P

RS-e3bf7a2813a5fbe60a6846a000599625-1-en-US-7

This documentation describes the function blocks, the functionalities and thedata types of the "ML_Technology" library in its version for IndraMotion MLC04VRS.Furthermore, it contains information with regard to the error responses of thefunction block.

Edition Release Date Notes

120-2850-B331-01/EN 02.2008 First version,MLC04VRS

© 2007 Bosch Rexroth AGCopying this document, giving it to others and the use or communication of thecontents thereof without express authority, are forbidden. Offenders are liablefor the payment of damages. All rights are reserved in the event of the grant ofa 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 bedeemed to be guaranteed unless expressly confirmed in the contract. All rightsare reserved with respect to the content of this documentation and the availa‐bility of the product.Bosch Rexroth AGBgm.-Dr.-Nebel-Str. 2 ■ D-97816 Lohr a. MainPhone +49 (0)93 52/ 40-0 ■ Fax +49 (0)93 52/ 40-48 85http://www.boschrexroth.com/BRC/EAM AK (BaWe/MePe)This document has been printed on chlorine-free bleached paper.

Title

Type of Documentation

Document Typecode

Internal File Reference

Purpose of Documentation

Record of Revision

Bosch Rexroth AG | Electric Drivesand Controls

Rexroth IndraMotion MLC 04VRS | Library Description

Copyright

Validity

Published by:

Note

Page 3: Rexroth IndraMotion MLC 04VRS

Table of ContentsPage

1 Introduction and Overview............................................................................................. 1

2 Further Documentations................................................................................................ 3

3 Important Instructions on Use ....................................................................................... 53.1 Intended Use.......................................................................................................................................... 53.1.1 Introduction.......................................................................................................................................... 53.1.2 Scope of Use and Application............................................................................................................. 53.2 Improper Use.......................................................................................................................................... 6

4 Safety Instructions for Electric Drives and Controls....................................................... 74.1 Safety Instructions - General Information............................................................................................... 74.1.1 Using the Safety Instructions and Passing them on to Others............................................................ 74.1.2 How to Employ the Safety Instructions................................................................................................ 74.1.3 Explanation of Warning Symbols and Degrees of Hazard Seriousness.............................................. 84.1.4 Hazards by Improper Use.................................................................................................................... 94.2 Instructions with Regard to Specific Dangers....................................................................................... 104.2.1 Protection Against Contact with Electrical Parts and Housings......................................................... 104.2.2 Protection Against Electric Shock by Protective Extra-Low Voltage................................................. 114.2.3 Protection Against Dangerous Movements....................................................................................... 114.2.4 Protection Against Magnetic and Electromagnetic Fields During Operation and Mounting.............. 144.2.5 Protection Against Contact with Hot Parts......................................................................................... 144.2.6 Protection During Handling and Mounting......................................................................................... 144.2.7 Battery Safety.................................................................................................................................... 154.2.8 Protection Against Pressurized Systems........................................................................................... 15

5 General Definitions...................................................................................................... 17

6 Function Block for Application "Flying Shear".............................................................. 196.1 Introduction and Overview.................................................................................................................... 196.2 MX(L)_FlyingShear............................................................................................................................... 196.3 ML_FlyingShear - Special Features of IndraMotion MLC..................................................................... 24

7 Function Blocks for Application "Touch Probe"............................................................ 277.1 Introduction and Overview.................................................................................................................... 277.2 MC_TouchProbe................................................................................................................................... 277.3 MC_TouchProbe - Special Features of IndraMotion MLC.................................................................... 307.4 MC_AbortTrigger.................................................................................................................................. 317.5 MC_AbortTrigger - Special Features of IndraMotion MLC.................................................................... 32

8 Function Blocks for Application "Cross Cutter"............................................................ 338.1 Introduction and Overview.................................................................................................................... 33

Library Description | Rexroth IndraMotion MLC 04VRS Electric Drivesand Controls

| Bosch Rexroth AG I/III

Table of Contents

Page 4: Rexroth IndraMotion MLC 04VRS

Page

8.2 MB_CrossCutterCalcType04................................................................................................................ 338.2.1 General.............................................................................................................................................. 338.2.2 Special Features of IndraMotion MLC............................................................................................... 418.2.3 MB_CAM_TABLE_DATA................................................................................................................... 428.2.4 MB_CORR_PROFILE........................................................................................................................ 438.2.5 MB_PUSH_OUT_CONFIG................................................................................................................ 448.2.6 MB_RESOLUTION............................................................................................................................ 468.3 MB_CrossCutSealType01.................................................................................................................... 478.4 MX(L)_CrossCutter............................................................................................................................... 608.5 ML_Crosscutter - Special Features of IndraMotion MLC...................................................................... 68

9 Function Block for Application "Register Controller".................................................... 759.1 Register Controller - Overview and Application.................................................................................... 759.1.1 Introduction and Overview................................................................................................................. 759.1.2 Register Controller – Examples for Applications............................................................................... 75

Die Cutting in Label Printing........................................................................................................... 75Insetter Control............................................................................................................................... 76Flow Wrapper................................................................................................................................. 76

9.2 MB_RegisterControllerType01.............................................................................................................. 789.3 MB_RegisterControlleType01 - Special Features of the IndraMotion MLC.......................................... 84

10 Function Block for Application "Tension Controller"..................................................... 8710.1 Introduction and Overview.................................................................................................................... 8710.2 ML_TensionControlLoadCellType01.................................................................................................... 8710.3 ML_TensionControlLoadCellType01 - Special Features of IndraMotion MLC...................................... 97

11 Function Blocks for Application "Sag Control"............................................................. 9911.1 Introduction and Overview.................................................................................................................... 9911.2 ML_SagControlC.................................................................................................................................. 9911.3 ML_SagControlA................................................................................................................................. 103

12 Function Blocks for Application "Adjusting Variables"............................................... 10712.1 Introduction and Overview.................................................................................................................. 10712.2 MX(L)_ContinuousAdjustType01........................................................................................................ 11012.3 MX(L)_ContinuousAdjustType02........................................................................................................ 11312.4 MX(L)_IncrementalAdjustType01....................................................................................................... 11612.5 Parameterization of the Function Blocks for Adjusting Variables....................................................... 118

13 Function Block for Application "Sensorless Winder".................................................. 11913.1 Introduction and Overview.................................................................................................................. 11913.2 ML_COMP_DATA............................................................................................................................... 11913.3 ML_WinderSensorless........................................................................................................................ 120

II/III Bosch Rexroth AG | Electric Drivesand Controls

Rexroth IndraMotion MLC 04VRS | Library Description

Table of Contents

Page 5: Rexroth IndraMotion MLC 04VRS

Page

14 Function Block Temperature Controller "IL_TempControlType01" ........................... 13314.1 Introduction and Overview.................................................................................................................. 13314.2 Controller............................................................................................................................................ 13914.3 Using the Function Block.................................................................................................................... 14114.4 Description of the Individual Functions, Examples............................................................................. 144

15 Function Blocks and Functions for Maintaining "Cyclical Data Channels"................. 15115.1 Introduction and Overview.................................................................................................................. 15115.2 MB_CYCLIC_PARAM_REF................................................................................................................ 15215.3 MB_CYCLIC_TYPES.......................................................................................................................... 15315.4 MB_CYCLIC_CHANNELS.................................................................................................................. 15315.5 MB_AllocCyclicParameter.................................................................................................................. 15415.6 MB_FreeCyclicParameter................................................................................................................... 15515.7 MB_GetCyclicParameterHandle......................................................................................................... 15715.8 MB_ReadCyclicParameter.................................................................................................................. 15815.9 MB_ReadCyclicRealParameter.......................................................................................................... 15915.10 MB_WriteCyclicParameter.................................................................................................................. 15915.11 MB_WriteCyclicRealParameter.......................................................................................................... 16015.12 MB_GetLastCyclicParameterError...................................................................................................... 160

16 Auxiliary Function Blocks........................................................................................... 16316.1 MB_Command.................................................................................................................................... 16316.2 ML_Group MonitorType01.................................................................................................................. 16616.3 ML_GroupMonitorType02................................................................................................................... 16816.4 MB_GetSystemInfo............................................................................................................................. 171

17 Service and Support.................................................................................................. 17517.1 Helpdesk............................................................................................................................................. 17517.2 Service Hotline.................................................................................................................................... 17517.3 Internet................................................................................................................................................ 17517.4 Helpful Information.............................................................................................................................. 175

Index.......................................................................................................................... 177

Library Description | Rexroth IndraMotion MLC 04VRS Electric Drivesand Controls

| Bosch Rexroth AG III/III

Table of Contents

Page 6: Rexroth IndraMotion MLC 04VRS

Bosch Rexroth AG | Electric Drivesand Controls

Rexroth IndraMotion MLC 04VRS | Library Description

Page 7: Rexroth IndraMotion MLC 04VRS

1 Introduction and OverviewTechnology Function Blocks (Tech-FB's) extend the basic functionality of thetarget systems (like e.g. MLD / MLC) and provide application-specific function‐alities like e.g. Flying Shear, Cross Cutter, Register Controller etc.The function blocks described here are provided via an internal IEC library (asfor example MX_Technology0x.lib for MLD or ML_Technology0x.lib for MLC).These documentation describes the functionality as well as the in- and outputsof the Technology Function Blocks.Technology Function blocks of library ML_Technology0x.lib require the firm‐ware support of the target system MLC0x. Specific preconditions of the Tech‐nology Function Blocks are documented in the chapter of the correspondingfunction blocks.

The library ML_Technology0x.lib uses functions of libraryRIL_Utilities.lib and ML_TechCommon. Therefore, in addition, thelibaries RIL_Utilities.lib and ML_TechCommon must be included inthe PLC-Project.

Library Description | Rexroth IndraMotion MLC 04VRS Electric Drivesand Controls

| Bosch Rexroth AG 1/179

Introduction and Overview

Page 8: Rexroth IndraMotion MLC 04VRS

Bosch Rexroth AG | Electric Drivesand Controls

Rexroth IndraMotion MLC 04VRS | Library Description

Page 9: Rexroth IndraMotion MLC 04VRS

2 Further DocumentationsThe following table provides an overview of the available IndraDrive hardwareand firmware as well as of MLC documentations.

Title Labeling

Rexroth IndraDrive, Firmware for Drive Controllers, MPH-04, MPB-04,MPD-04, Functional Description

DOK-INDRV*-MP*-04VRS**-FK01-EN-P

Rexroth IndraDrive, Drive Controllers, MPx-02; MPx-03; MPx-04, Param‐eter Description

DOK-INDRV*-GEN-**VRS**-PA03-EN-P

Rexroth IndraDrive, Firmware for Drive Controllers, Instructions for Trou‐bleshooting (MPx02, MPx03, MPx04 and HMV)

DOK-INDRV*-GEN-**VRS-WA03-EN-P

Rexroth IndraMotion MLC; Functional Description DOK-IM*MLC-SYSTEM**V04-FK01-EN-P

Rexroth IndraMotion MLC04VRS; Axis and Control Parameters DOK-IM*MLC-A*C*PAR*V04-PA01-EN-P

Rexroth IndraMotion MLC04VRS; Analyses DOK-IM*MLC-DIAGN***V04-WA01-EN-P

Rexroth IndraMotion MLC04VRS, PLCopen Function Blocks and DataTypes

DOK-IM*MLC-PLCOPEN*V04-FK01-EN-P

Rexroth IndraMotion MLC04VRS; Functional Modules DOK-IM*MLC-FM******V04-FK01-EN-P

Rexroth IndraMotion MLC04VRS, Getting Started DOK-IM*MLC-F*STEP**V04-KB01-EN-P

Rexroth IndraMotion MLC04VRS, ML_TechCommon, ML_TechCam andML_TechCamIEC libraries

DOK-IM*MLC-TFB-COM*V04-AW01-EN-P

Rexroth IndraMotion MLC04VRS, ML_Technology Library DOK-IM*MLC*TFB*****V04-AW01-EN-P

Rexroth IndraMotion MLC04VRS, ML_Packaging Library DOK-IM*MLC*TFB-IMPAV04-AW01-EN-P

Fig.2-1: Further documentations

Library Description | Rexroth IndraMotion MLC 04VRS Electric Drivesand Controls

| Bosch Rexroth AG 3/179

Further Documentations

Page 10: Rexroth IndraMotion MLC 04VRS

Bosch Rexroth AG | Electric Drivesand Controls

Rexroth IndraMotion MLC 04VRS | Library Description

Page 11: Rexroth IndraMotion MLC 04VRS

3 Important Instructions on Use3.1 Intended Use3.1.1 Introduction

All Bosch Rexroth controls and drives are developed and tested in accordancewith the state of the art technology.It is not possible to track the continuous further improvement of all materialsour controls and drives may come into contact with (e.g. lubricants at machinetools). Reactions with the materials used in the Bosch systems cannot generallybe excluded.Therefore, before using new lubricants, cleaning agents etc., must be checkedfor compatibility with the Bosch housing and device materials.The products may only be used for the intended purpose. When they are notused as intended, situations may arise resulting in damage to person or mate‐rial.

Bosch Rexroth, as the manufacturer of the products, shall not as‐sume any warranty, liability or payment of damages in case ofdamage resulting from a non-intended use of the products. If theuser fails to use the products as intended, the user shall assumesole responsibility for any resulting risks.

Before using Bosch Rexroth products, the following prerequisites must be ful‐filled to ensure their proper use:● Anyone using our products must read and understand the corresponding

safety notes and intended use of the product.● If the products are hardware, they must be kept in their original state, i.e.

no constructional modifications should be made. Software products maynot be decompiled; their source codes may not be modified.

● Damaged or defective products must not be installed or put into operation.● It must be ensured that the products are installed according to the regu‐

lations specified in the documentation.

3.1.2 Scope of Use and ApplicationBosch Rexroth drive controllers are intended to control electrical motors andmonitor their operation.To control and monitor the motor, it may be necessary to connect additionalsensors and actuators.

The drive controllers must only be used with the accessories andmounting parts listed in this documentation. Do not install or con‐nect components not expressly specified in this documentation.This also applies to cables and lines.

The unit may be operated only with the explicitly specified compo‐nent configurations and combinations and only with the softwareand firmware specified in the appropriate functional description.

Before commissioning, every drive controller must be programmed to ensurethat the motor executes the appropriate functions for the application.

Library Description | Rexroth IndraMotion MLC 04VRS Electric Drivesand Controls

| Bosch Rexroth AG 5/179

Important Instructions on Use

Page 12: Rexroth IndraMotion MLC 04VRS

The drive controllers have been developed for use in single and multi-axes driveand control tasks.To allow for application-specific requirements in the drive controllers, our prod‐uct range comprises various device types with different drive powers andinterfaces.The drive controller must only be operated under the mounting and installationconditions, the position, and the ambient conditions (temperature, type of pro‐tection, moisture, EMC, etc.) specified in this documentation.

3.2 Improper UseThe use of the drive controllers in applications other than those specified ordescribed in the documentation and the technical data is considered as "im‐proper".Drive controllers must not be used if they …● are subjected to operating conditions not corresponding to the specified

ambient conditions. They must not be operated under water, under ex‐treme temperature fluctuations, or within extreme maximum tempera‐tures.

● Furthermore, the drive controllers can only be used in applications ap‐proved by Bosch Rexroth. Please note the specifications outlined in thegeneral safety instructions!

6/179 Bosch Rexroth AG | Electric Drivesand Controls

Rexroth IndraMotion MLC 04VRS | Library Description

Important Instructions on Use

Page 13: Rexroth IndraMotion MLC 04VRS

4 Safety Instructions for Electric Drives and Controls4.1 Safety Instructions - General Information4.1.1 Using the Safety Instructions and Passing them on to Others

Do not attempt to install or commission this device without first reading all doc‐umentation provided with the product. Read and understand these safetyinstructions and all user documentation prior to working with the device. If youdo not have the user documentation for the device, contact your responsibleBosch Rexroth sales representative. Ask for these documents to be sent im‐mediately to the person or persons responsible for the safe operation of thedevice.If the device is resold, rented and/or passed on to others in any other form,these safety instructions must be delivered with the device in the official lan‐guage of the user's country.

WARNING

Improper use of these devices, failure to follow the safety instructions inthis document or tampering with the product, including disabling of safe‐ty devices, may result in material damage, bodily harm, electric shockor even death!Observe the safety instructions!

4.1.2 How to Employ the Safety InstructionsRead these instructions before initial commissioning of the equipment in orderto eliminate the risk of bodily harm and/or material damage. Follow these safetyinstructions at all times.● Bosch Rexroth AG is not liable for damages resulting from failure to ob‐

serve the warnings provided in this documentation.● Read the operating, maintenance and safety instructions in your language

before commissioning the machine. If you find that you cannot completelyunderstand the documentation for your product, please ask your supplierto clarify.

● Proper and correct transport, storage, assembly and installation, as wellas care in operation and maintenance, are prerequisites for optimal andsafe operation of this device.

● Only assign trained and qualified persons to work with electrical installa‐tions:– Only persons who are trained and qualified for the use and operation

of the device may work on this device or within its proximity. Thepersons are qualified if they have sufficient knowledge of the assem‐bly, installation and operation of the product, as well as an under‐standing of all warnings and precautionary measures noted in theseinstructions.

– Furthermore, they must be trained, instructed and qualified to switchelectrical circuits and devices on and off in accordance with technicalsafety regulations, to ground them and to mark them according to therequirements of safe work practices. They must have adequate safe‐ty equipment and be trained in first aid.

● Only use spare parts and accessories approved by the manufacturer.

Library Description | Rexroth IndraMotion MLC 04VRS Electric Drivesand Controls

| Bosch Rexroth AG 7/179

Safety Instructions for Electric Drives and Controls

Page 14: Rexroth IndraMotion MLC 04VRS

● Follow all safety regulations and requirements for the specific applicationas practiced in the country of use.

● The devices have been designed for installation in industrial machinery.● The ambient conditions given in the product documentation must be ob‐

served.● Only use safety-relevant applications that are clearly and explicitly ap‐

proved in the Project Planning Manual. If this is not the case, they areexcluded. Safety-relevant are all such applications which can cause dan‐ger to persons and material damage.

● The information given in the documentation of the product with regard tothe use of the delivered components contains only examples of applica‐tions and suggestions.The machine and installation manufacturer must– make sure that the delivered components are suited for his individual

application and check the information given in this documentationwith regard to the use of the components,

– make sure that his application complies with the applicable safetyregulations and standards and carry out the required measures,modifications and complements.

● Commissioning of the delivered components is only permitted once it issure that the machine or installation in which they are installed complieswith the national regulations, safety specifications and standards of theapplication.

● Operation is only permitted if the national EMC regulations for the appli‐cation are met.

● The instructions for installation in accordance with EMC requirements canbe found in the section on EMC in the respective documentation (ProjectPlanning Manuals of components and system).The machine or installation manufacturer is responsible for compliancewith the limiting values as prescribed in the national regulations.

● Technical data, connection and installation conditions are specified in theproduct documentation and must be followed at all times.

National regulations which the user must take into account● European countries: according to European EN standards● United States of America (USA):

– National Electrical Code (NEC)– National Electrical Manufacturers Association (NEMA), as well as

local engineering regulations– regulations of the National Fire Protection Association (NFPA)

● Canada: Canadian Standards Association (CSA)● Other countries:

– International Organization for Standardization (ISO)– International Electrotechnical Commission (IEC)

4.1.3 Explanation of Warning Symbols and Degrees of Hazard SeriousnessThe safety instructions describe the following degrees of hazard seriousness.The degree of hazard seriousness informs about the consequences resultingfrom non-compliance with the safety instructions:

8/179 Bosch Rexroth AG | Electric Drivesand Controls

Rexroth IndraMotion MLC 04VRS | Library Description

Safety Instructions for Electric Drives and Controls

Page 15: Rexroth IndraMotion MLC 04VRS

Warning symbol Signal wordDegree of hazard serious‐ness acc. to ANSI Z535.4-2002

Danger Death or severe bodily harmwill occur.

Warning Death or severe bodily harmmay occur.

CautionMinor or moderate bodilyharm or material damagemay occur.

Fig.4-1: Hazard classification (according to ANSI Z 535)

4.1.4 Hazards by Improper Use

DANGER

High electric voltage and high working current! Risk of death or severebodily injury by electric shock!Observe the safety instructions!

DANGER

Dangerous movements! Danger to life, severe bodily harm or materialdamage by unintentional motor movements!Observe the safety instructions!

WARNING

High electric voltage because of incorrect connection! Risk of death orbodily injury by electric shock!Observe the safety instructions!

WARNING

Health hazard for persons with heart pacemakers, metal implants andhearing aids in proximity to electrical equipment!Observe the safety instructions!

CAUTION

Hot surfaces on device housing! Danger of injury! Danger of burns!Observe the safety instructions!

CAUTION

Risk of injury by improper handling! Risk of bodily injury by bruising,shearing, cutting, hitting or improper handling of pressurized lines!Observe the safety instructions!

Library Description | Rexroth IndraMotion MLC 04VRS Electric Drivesand Controls

| Bosch Rexroth AG 9/179

Safety Instructions for Electric Drives and Controls

Page 16: Rexroth IndraMotion MLC 04VRS

CAUTION

Risk of injury by improper handling of batteries!Observe the safety instructions!

4.2 Instructions with Regard to Specific Dangers4.2.1 Protection Against Contact with Electrical Parts and Housings

This section concerns devices and drive components with voltagesof more than 50 Volt.

Contact with parts conducting voltages above 50 Volts can cause personaldanger and electric shock. When operating electrical equipment, it is unavoid‐able that some parts of the devices conduct dangerous voltage.

DANGER

High electrical voltage! Danger to life, electric shock and severe bodilyinjury!● Only those trained and qualified to work with or on electrical equipment

are permitted to operate, maintain and repair this equipment.● Follow general construction and safety regulations when working on pow‐

er installations.● Before switching on the device, the equipment grounding conductor must

have been non-detachably connected to all electrical equipment in ac‐cordance with the connection diagram.

● Do not operate electrical equipment at any time, even for brief measure‐ments or tests, if the equipment grounding conductor is not permanentlyconnected to the mounting points of the components provided for thispurpose.

● Before working with electrical parts with voltage potentials higher than50 V, the device must be disconnected from the mains voltage or powersupply unit. Provide a safeguard to prevent reconnection.

● With electrical drive and filter components, observe the following:Wait 30 minutes after switching off power to allow capacitors to dischargebefore beginning to work. Measure the electric voltage on the capacitorsbefore beginning to work to make sure that the equipment is safe to touch.

● Never touch the electrical connection points of a component while poweris turned on. Do not remove or plug in connectors when the componenthas been powered.

● Install the covers and guards provided with the equipment properly beforeswitching the device on. Before switching the equipment on, cover andsafeguard live parts safely to prevent contact with those parts.

● A residual-current-operated circuit-breaker or r.c.d. cannot be used forelectric drives! Indirect contact must be prevented by other means, forexample, by an overcurrent protective device according to the relevantstandards.

● Secure built-in devices from direct touching of electrical parts by providingan external housing, for example a control cabinet.

10/179 Bosch Rexroth AG | Electric Drivesand Controls

Rexroth IndraMotion MLC 04VRS | Library Description

Safety Instructions for Electric Drives and Controls

Page 17: Rexroth IndraMotion MLC 04VRS

For electrical drive and filter components with voltages of more than50 volts, observe the following additional safety instructions.

DANGER

High housing voltage and high leakage current! Risk of death or bodilyinjury by electric shock!● Before switching on, the housings of all electrical equipment and motors

must be connected or grounded with the equipment grounding conductorto the grounding points. This is also applicable before short tests.

● The equipment grounding conductor of the electrical equipment and thedevices must be non-detachably and permanently connected to the powersupply unit at all times. The leakage current is greater than 3.5 mA.

● Over the total length, use copper wire of a cross section of a minimum of10 mm2 for this equipment grounding connection!

● Before commissioning, also in trial runs, always attach the equipmentgrounding conductor or connect to the ground wire. Otherwise, high vol‐tages may occur at the housing causing electric shock.

4.2.2 Protection Against Electric Shock by Protective Extra-Low VoltageProtective extra-low voltage is used to allow connecting devices with basic in‐sulation to extra-low voltage circuits.All connections and terminals with voltages between 5 and 50 volts at Rexrothproducts are PELV systems. 1) It is therefore allowed to connect devicesequipped with basic insulation (such as programming devices, PCs, notebooks,display units) to these connections and terminals.

WARNING

High electric voltage by incorrect connection! Risk of death or bodilyinjury by electric shock!If extra-low voltage circuits of devices containing voltages and circuits of morethan 50 volts (e.g. the mains connection) are connected to Rexroth products,the connected extra-low voltage circuits must comply with the requirements forPELV. 2)

4.2.3 Protection Against Dangerous MovementsDangerous movements can be caused by faulty control of connected motors.Some common examples are:● improper or wrong wiring of cable connections● incorrect operation of the equipment components● wrong input of parameters before operation● malfunction of sensors, encoders and monitoring devices● defective components● software or firmware errorsDangerous movements can occur immediately after equipment is switched onor even after an unspecified time of trouble-free operation.

1) "Protective Extra-Low Voltage"2) "Protective Extra-Low Voltage"

Library Description | Rexroth IndraMotion MLC 04VRS Electric Drivesand Controls

| Bosch Rexroth AG 11/179

Safety Instructions for Electric Drives and Controls

Page 18: Rexroth IndraMotion MLC 04VRS

The monitoring in the drive components will normally be sufficient to avoid faultyoperation in the connected drives. Regarding personal safety, especially thedanger of bodily harm and material damage, this alone cannot be relied uponto ensure complete safety. Until the integrated monitoring functions becomeeffective, it must be assumed in any case that faulty drive movements will occur.The extent of faulty drive movements depends upon the type of control and thestate of operation.

12/179 Bosch Rexroth AG | Electric Drivesand Controls

Rexroth IndraMotion MLC 04VRS | Library Description

Safety Instructions for Electric Drives and Controls

Page 19: Rexroth IndraMotion MLC 04VRS

DANGER

Dangerous movements! Danger to life, risk of injury, severe bodily harmor material damage!● Ensure personal safety by means of qualified and tested higher-level

monitoring devices or measures integrated in the installation.These measures have to be provided for by the user according to thespecific conditions within the installation and a hazard and fault analysis.The safety regulations applicable for the installation have to be taken intoconsideration. Unintended machine motion or other malfunction is possi‐ble if safety devices are disabled, bypassed or not activated.

To avoid accidents, bodily harm and/or material damage:● Keep free and clear of the machine’s range of motion and moving parts.

Possible measures to prevent people from accidentally entering themachine’s range of motion:– use safety fences– use safety guards– use protective coverings– install light curtains or light barriers

● Fences and coverings must be strong enough to resist maximum possiblemomentum.

● Mount the emergency stop switch in the immediate reach of the operator.Verify that the emergency stop works before startup. Don’t operate thedevice if the emergency stop is not working.

● Isolate the drive power connection by means of an emergency stop circuitor use a safety related starting lockout to prevent unintentional start.

● Make sure that the drives are brought to a safe standstill before accessingor entering the danger zone.

● Additionally secure vertical axes against falling or dropping after switchingoff the motor power by, for example:– mechanically securing the vertical axes,– adding an external braking/ arrester/ clamping mechanism or– ensuring sufficient equilibration of the vertical axes.

● The standard equipment motor brake or an external brake controlled di‐rectly by the drive controller are not sufficient to guarantee personalsafety!

● Disconnect electrical power to the equipment using a master switch andsecure the switch against reconnection for:– maintenance and repair work– cleaning of equipment– long periods of discontinued equipment use

● Prevent the operation of high-frequency, remote control and radio equip‐ment near electronics circuits and supply leads. If the use of such devicescannot be avoided, verify the system and the installation for possible mal‐functions in all possible positions of normal use before initial startup. Ifnecessary, perform a special electromagnetic compatibility (EMC) test onthe installation.

Library Description | Rexroth IndraMotion MLC 04VRS Electric Drivesand Controls

| Bosch Rexroth AG 13/179

Safety Instructions for Electric Drives and Controls

Page 20: Rexroth IndraMotion MLC 04VRS

4.2.4 Protection Against Magnetic and Electromagnetic Fields During Oper‐ation and Mounting

Magnetic and electromagnetic fields generated by current-carrying conductorsand permanent magnets in motors represent a serious personal danger tothose with heart pacemakers, metal implants and hearing aids.

WARNING

Health hazard for persons with heart pacemakers, metal implants andhearing aids in proximity to electrical equipment!● Persons with heart pacemakers and metal implants are not permitted to

enter following areas:– Areas in which electrical equipment and parts are mounted, being

operated or commissioned.– Areas in which parts of motors with permanent magnets are being

stored, repaired or mounted.● If it is necessary for somebody with a pacemaker to enter such an area,

a doctor must be consulted prior to doing so. The noise immunity of pres‐ent or future implanted heart pacemakers differs greatly so that no generalrules can be given.

● Those with metal implants or metal pieces, as well as with hearing aids,must consult a doctor before they enter the areas described above. Oth‐erwise health hazards may occur.

4.2.5 Protection Against Contact with Hot Parts

CAUTION

Hot surfaces at motor housings, on drive controllers or chokes! Dangerof injury! Danger of burns!● Do not touch surfaces of device housings and chokes in the proximity of

heat sources! Danger of burns!● Do not touch housing surfaces of motors! Danger of burns!● According to the operating conditions, temperatures can be higher than

60 °C, 140°F during or after operation.● Before accessing motors after having switched them off, let them cool

down for a sufficiently long time. Cooling down can require up to 140 mi‐nutes! Roughly estimated, the time required for cooling down is five timesthe thermal time constant specified in the Technical Data.

● After switching drive controllers or chokes off, wait 15 minutes to allowthem to cool down before touching them.

● Wear safety gloves or do not work at hot surfaces.● For certain applications, the manufacturer of the end product, machine or

installation, according to the respective safety regulations, has to takemeasures to avoid injuries caused by burns in the end application. Thesemeasures can be, for example: warnings, guards (shielding or barrier),technical documentation.

4.2.6 Protection During Handling and MountingIn unfavorable conditions, handling and mounting certain parts and compo‐nents in an improper way can cause injuries.

14/179 Bosch Rexroth AG | Electric Drivesand Controls

Rexroth IndraMotion MLC 04VRS | Library Description

Safety Instructions for Electric Drives and Controls

Page 21: Rexroth IndraMotion MLC 04VRS

CAUTION

Risk of injury by improper handling! Bodily injury by bruising, shearing,cutting, hitting!● Observe the general construction and safety regulations on handling and

mounting.● Use suitable devices for mounting and transport.● Avoid jamming and bruising by appropriate measures.● Always use suitable tools. Use special tools if specified.● Use lifting equipment and tools in the correct manner.● If necessary, use suitable protective equipment (for example safety gog‐

gles, safety shoes, safety gloves).● Do not stand under hanging loads.● Immediately clean up any spilled liquids because of the danger of skidding.

4.2.7 Battery SafetyBatteries consist of active chemicals enclosed in a solid housing. Therefore,improper handling can cause injury or material damage.

CAUTION

Risk of injury by improper handling!● Do not attempt to reactivate low batteries by heating or other methods (risk

of explosion and cauterization).● Do not recharge the batteries as this may cause leakage or explosion.● Do not throw batteries into open flames.● Do not dismantle batteries.● When replacing the battery/batteries do not damage electrical parts in‐

stalled in the devices.● Only use the battery types specified by the manufacturer.

Environmental protection and disposal! The batteries contained inthe product are considered dangerous goods during land, air, andsea transport (risk of explosion) in the sense of the legal regulations.Dispose of used batteries separate from other waste. Observe thelocal regulations in the country of assembly.

4.2.8 Protection Against Pressurized SystemsAccording to the information given in the Project Planning Manuals, motorscooled with liquid and compressed air, as well as drive controllers, can be par‐tially supplied with externally fed, pressurized media, such as compressed air,hydraulics oil, cooling liquids and cooling lubricating agents. Improper handlingof the connected supply systems, supply lines or connections can cause injuriesor material damage.

Library Description | Rexroth IndraMotion MLC 04VRS Electric Drivesand Controls

| Bosch Rexroth AG 15/179

Safety Instructions for Electric Drives and Controls

Page 22: Rexroth IndraMotion MLC 04VRS

CAUTION

Risk of injury by improper handling of pressurized lines!● Do not attempt to disconnect, open or cut pressurized lines (risk of explo‐

sion).● Observe the respective manufacturer's operating instructions.● Before dismounting lines, relieve pressure and empty medium.● Use suitable protective equipment (for example safety goggles, safety

shoes, safety gloves).● Immediately clean up any spilled liquids from the floor.

Environmental protection and disposal! The agents used to operatethe product might not be economically friendly. Dispose of ecolog‐ically harmful agents separately from other waste. Observe the localregulations in the country of assembly.

16/179 Bosch Rexroth AG | Electric Drivesand Controls

Rexroth IndraMotion MLC 04VRS | Library Description

Safety Instructions for Electric Drives and Controls

Page 23: Rexroth IndraMotion MLC 04VRS

5 General DefinitionsEach function block contains a continuous "Error"-Structure, as well as generaldefined in- and outputs with defined behavior.All function blocks with "Execute"-Input and "Done"-Output have the sameedge-oriented runtime behavior. With the rising edge at the "Execute"-Input ofa function block the processing is activated.

Fig.5-1: Signal-Time-Diagram of Execute, Active, Done and ErrorWhen the result is available, "Done" is set to TRUE. When, however, an errorcase is present, "Error" is set to TRUE and "ErrorID" is set to an error identifi‐cation. While "Execute" is not canceled, "Done" or "Error" remain on theirvalues. With canceling "Execute", "Done", "Error" and "ErrorID" are reset.If "Execute" is already FALSE when the command is completed, then the in‐formation "Done" or "Error" and "ErrorID" remain active for exactly one cycle.Function blocks with an "Enable"-Input are working in a level-oriented way.Normally the input "Enable" is passed on to the appropriate functionality (ex‐ample: "MC_Power").

Fig.5-2: Signal-Time-Diagram of Enable, Active, Done and Error

Library Description | Rexroth IndraMotion MLC 04VRS Electric Drivesand Controls

| Bosch Rexroth AG 17/179

General Definitions

Page 24: Rexroth IndraMotion MLC 04VRS

Bosch Rexroth AG | Electric Drivesand Controls

Rexroth IndraMotion MLC 04VRS | Library Description

Page 25: Rexroth IndraMotion MLC 04VRS

6 Function Block for Application "Flying Shear"6.1 Introduction and Overview

With the application "Flying shear", a machining station will be synchronizedwith regard to a continuously passing material (like, for example, metal, plastic,etc.), and the machining is executed in the synchronous run of the machiningstation.The material position is usually detected via a measuring wheel and transferredvia an optional encoder input to the drive controller. Then, the drive controllersynchronizes the connected servo motor on the continuously passing throughmaterial when the specified cut length was passed through. The function blockchapter 6.2 "MX(L)_FlyingShear" on page 19 or chapter 6.3 "ML_Flying‐Shear - Special Features of IndraMotion MLC" on page 24 is responsible forthe synchronization and sets the output "InSync" once the machining station isrunning synchronously. In this state, the material can be machined since nowthe machining station runs synchronously to the material.After having finished the machining process, the synchronous run can be in‐terrupted with the input "MoveReturn", and the machining station returns to itsspecified starting position.For test purposes, a virtual axis can be used instead of the measuring wheel.With this virtual axis, it is then possible to simulate the measuring wheel.

6.2 MX(L)_FlyingShearThe function block MX(L)_FlyingShear contains the typical procedure of a flyingshear and performs the following steps once the input "Start" has been set toTRUE:● Moves the slave axis to the starting position „ReturnPos“ and wait until the

axis has reached its position.● Synchronizes the slave axis on the master axis over a Lock On cam profile.● Sets the output "InSync" once the slave axis (machining station) has been

synchronized on the material.● Returns the slave axis to its starting position if the corresponding signal is

set at the input "MoveReturn".

Fig.6-1: Function block MX(L)_FlyingShear

Library Description | Rexroth IndraMotion MLC 04VRS Electric Drivesand Controls

| Bosch Rexroth AG 19/179

Function Block for Application "Flying Shear"

Brief Description

Interface Description

Page 26: Rexroth IndraMotion MLC 04VRS

I/O type Name Data type Comment

VAR_IN_OUT Master AXIS_REF Reference to the master axis

Slave AXIS_REF Reference to the slave axis (machining station)

FSRetain MB_FS_RETAIN_DATA*1 Reference to the required retain data of this function block

VAR_INPUT Start BOOL Start=TRUE:Starts the FlyingShear function block.Depending on the states of the inputs "ImmediateCut" and"CropCut", the function block performs the following func‐tions:Start=TRUE and positive edge at the input "Immediate‐Cut":The machining station will be synchronized immediatelyand performs the cutting length (Cutlength) once the im‐mediate cut (ImmediateCut) has been performed.Start=TRUE and positive edge at the input "CropCut":The machining station will be synchronized after the cut‐ting length (Cutlength) has passed the machine and per‐forms the cutting length (Cutlength) once the crop cut(CropCut) has been performed.Start=TRUE and no signal "ImmediateCut" and "Crop‐Cut":The machining station will be synchronized after the cut‐ting length (Cutlength) has passed the machine (measuredfrom the last cut).

CropCut BOOL In the case of a rising edge, the slave axis starts the syn‐chronization process after the cutting length has passedthe machine. If a cut cycle is currently performed(InCycle=TRUE), the crop cut will be performed in the nextcut cycle.

ImmediateCut BOOL (Start = TRUE):This case is intended for an immediate cut on the runningmaterial. The immediate cut (ImmediateCut) will be acti‐vated by a positive edge. The slave axis will be synchron‐ized immediately. If a cut is currently performed (InCycle =TRUE), the immediate cut will be performed in the next cutcycle.If (Start = FALSE) and (Vmeasuring_wheel < 5 rpm):

This case is intended for an immediate cut on stopped ma‐terial. The immediate cut (ImmediateCut) will be activatedby a positive edge. The slave axis remains in its standstillposition and will not be synchronized. The output "In‐Sync" will be set immediately, and the function block ex‐pects the input signal "MoveReturn" for finishing theprocess. After having finished this process, the flying shearis referenced to the material.

MoveReturn BOOL Finishes the synchronous run of the slave axis with thematerial and returns the slave axis to its starting position"ReturnPos".

ResetCut‐Counter

BOOL The positive edge resets the cut counter.

20/179 Bosch Rexroth AG | Electric Drivesand Controls

Rexroth IndraMotion MLC 04VRS | Library Description

Function Block for Application "Flying Shear"

Page 27: Rexroth IndraMotion MLC 04VRS

I/O type Name Data type Comment

Cutlength REAL Specified material cutting length*2*3

MWFeedconst REAL Feed constant of the measuring wheel per revolution *2 *3

SyncDist REAL Synchronization distance required by the slave axis forsynchronizing on the master axis*2*3. The shorter the syn‐chronization distance, the higher is the synchronizationacceleration.

ReturnPos REAL The slave axis moves to this starting position at the begin‐ning and after having been synchronized and once theinput MoveReturn is set to TRUE *2*3.

ReturnVel REAL The slave axis returns to the starting position "Return‐Pos" with the velocity ReturnVel *2*3.

ReturnAcc REAL The slave axis returns to the starting position "Return‐Pos" with the acceleration ReturnAcc *2*3.

PreSyncPos REAL The output signal "PreSyncSignal" is set before the syn‐chronous position "PreSyncPos" with the distance givenhere to make preparations before the synchronous run*2 .

PreSyncTime TIME Duration of "PreSyncSignal"

VAR_OUTPUT InSync BOOL The slave axis runs synchronously with the material. It isin its synchronization window (see drive parameterS-0-0228).

InCycle BOOL The slave axis currently performs a cut cycle. An immedi‐ate or crop cut will be performed in the next cycle (CutCycle= 0).

CropCutDone BOOL The crop cut has been performed

ImmediateCut‐Done

BOOL The immediate cut has been performed

PreSyncSignal BOOL Presignal before the synchronous position "PreSyncPos"

ShortPrdWarn‐ing

BOOL The slave axis does not have enough time to reach thestarting position "ReturnPos" for the next cut. The return isinterrupted and the synchronization ramp starts again.This case should be prevented since the drive might beoverloaded and the machining station might move to thecarriage bed end.Countermeasures:● Increase return velocity (function block input "Re‐

turnVel")● Increase return acceleration (function block input

"ReturnAccl")● Reduce synchronization distance (function block in‐

put "SyncDist")● Reduce material feed velocity

MaterialMoving BOOL The speed of the material encoder is higher than 5 rpm.An immediate cut in the case of a material standstill is onlypossible if MaterialMoving=FALSE.

Reserve DINT Reserved increments of the synchronization procedure foranalysis purposes. A synchronization is not possible if Re‐serve ≤ 0 -> In this case, the function block returns an errormessage.

Library Description | Rexroth IndraMotion MLC 04VRS Electric Drivesand Controls

| Bosch Rexroth AG 21/179

Function Block for Application "Flying Shear"

Page 28: Rexroth IndraMotion MLC 04VRS

I/O type Name Data type Comment

CycleState UINT Current status of the cut cycle:0: Standstill and waiting phase;1: Acceleration phase;2: Synchronous run phase;3: Return phase.

CutCounter UINT With each cut, the cut counter "CutCounter" will be in‐creased. With (Start = FALSE) or a positive edge at theinput "ResetCutCounter", the counter will be reset.

Error BOOL Indicates an error. Will be deleted if Start=FALSE

ErrorID INT (Enum) ERROR_CODE: Brief error description

ErrorIdent ERROR_STRUCT Detailed error description

*1:MB_FS_RETAIN_DATA*1:

STRUCT (bCutNotCompleted: BOOL, diMasterSyncPosition: DINT,iRevCounter:INT)

*2 : Measuring units according to drive weighting, e. g. mm*3 : New input values will be taken over with the transition from the synchro‐

nous run phase to the return phase. Due to this reason, a new cuttinglength which is to be activated in the next cycle has to be copied to thefunction block input before the axis is moved to its return position.

Fig.6-2: I/O interface of MX(L)_FlyingShearThe following diagram shows the signal flow with immediate cut and stoppedmaterial (Start = FALSE):

Fig.6-3: Signal/time diagram: Immediate cut with stopped materialThe following diagram shows the complete signal flow of the function block"Flying shear" with continuously passing material and immediate cut:

22/179 Bosch Rexroth AG | Electric Drivesand Controls

Rexroth IndraMotion MLC 04VRS | Library Description

Function Block for Application "Flying Shear"

Signal/Time Diagram

Page 29: Rexroth IndraMotion MLC 04VRS

Fig.6-4: Complete signal flow of the function block „Flying shear“ with immediatecut

The function block "Flying shear" generates the following error messages inAdditional1/Additional2 for the table "F_RELATED_TABLE", 16#0170:

ErrorID Additional1 Additional2 Description

RESOURCE_ERROR (16#0003) 16#0001 16#0000 Drive not enabled or drive error

ACCESS_ERROR (16#0004) 16#0003 16#0000 Function block was interrupted by another functionblock

ACCESS_ERROR (16#0004) 16#0004 16#0000 Unsupported drive firmware

RESOURCE_ERROR (16#0003) 16#0009 16#0000 Selected axis (Axis_Ref) was changed during the pro‐cessing of the function block

INPUT_RANGE_ERROR (16#0006) 16#0201 16#0001 CutLength <= 0

Library Description | Rexroth IndraMotion MLC 04VRS Electric Drivesand Controls

| Bosch Rexroth AG 23/179

Function Block for Application "Flying Shear"

Troubleshooting

Page 30: Rexroth IndraMotion MLC 04VRS

ErrorID Additional1 Additional2 Description

INPUT_RANGE_ERROR (16#0006) 16#0201 16#0002 MWFeedconst <= 0

INPUT_RANGE_ERROR (16#0006) 16#0201 16#0003 SyncDist <= 0

INPUT_RANGE_ERROR (16#0006) 16#0201 16#0004 ReturnAcc <= 0

INPUT_RANGE_ERROR (16#0006) 16#0201 16#0005 ReturnVel <= 0

SYSTEM_ERROR (16#7FFF) 16#0202 16#0000 Synchronization position is too far away. Therefore,synchronization is not possible. Reset error and initiateimmediate cut.

ACCESS_ERROR (16#0004) 16#0203 16#0001 S-0-0048 is not configured in the optional cyclical MDTchannel of the slave axis.

ACCESS_ERROR (16#0004) 16#0203 16#0002 P-0-0054 is not configured in the optional cyclical MDTchannel of the slave axis.

ACCESS_ERROR (16#0004) 16#0203 16#0003 P-0-0691 is not configured in the optional cyclical MDTchannel of the slave axis.

ACCESS_ERROR (16#0004) 16#0203 16#0004 P-0-0692 is not configured in the optional cyclical MDTchannel of the slave axis.

ACCESS_ERROR (16#0004) 16#0203 16#0005 P-0-0052 is not configured in the optional cyclical ATchannel of the slave axis.

ACCESS_ERROR (16#0004) 16#0203 16#0006 P-0-0053 is not configured in the optional cyclical ATchannel of the slave axis.

ACCESS_ERROR (16#0004) 16#0203 16#0007 P-0-0761 is not configured in the optional cyclical ATchannel of the slave axis.

ACCESS_ERROR (16#0004) 16#0203 16#0008 P-0-1367 bit 6 is not TRUE (the structure AxisData isnot updated).

OTHER_ERROR (16#00FE) 16#0204 16#0001 The ELS configuration word (P-0-0086) of the slaveaxis has been incorrectly configured. The configurationmust be as follows:P-0-0086 = 2#xxxx01000.

OTHER_ERROR (16#00FE) 16#0204 16#0002 The parameter P-0-0060 of the slave axis has beenincorrectly configured. The value must be:P-0-0060=0.

OTHER_ERROR (16#00FE) 16#0204 16#0003 The parameter P-0-0693 of the slave axis has beenincorrectly configured. The value must be:P-0-0693=0.

OTHER_ERROR (16#00FE) 16#0204 16#0004 The parameter P-0-0750 of the slave axis has beenincorrectly configured. The value must be:P-0-0750=0.

OTHER_ERROR (16#00FE) 16#0204 16#0005 The parameter P-0-0090 of the slave axis has beenincorrectly configured. Bit 2 of P-0-0090 must beFALSE.

SYSTEM_ERROR (16#7FFF) 16#0205 16#0000 Immediate cut (in standstill) has been requested al‐though the material was moving.

Fig.6-5: Error codes of MX(L)_FlyingShear

6.3 ML_FlyingShear - Special Features of IndraMotion MLC● MLC Hardware● IndraDrive C or M

24/179 Bosch Rexroth AG | Electric Drivesand Controls

Rexroth IndraMotion MLC 04VRS | Library Description

Function Block for Application "Flying Shear"

Required Hardware

Page 31: Rexroth IndraMotion MLC 04VRS

● Additional encoder interface card to read in the measuring wheel positionif a measuring encoder is to be used (can be omitted if a virtual or real axisis used)

● Additional encoder to read in the measuring wheel position (according toIndraDrive planning) if a measuring encoder is to be used (can be omittedif a virtual or real axis is used)

It is recommended to use a high-resolution measuring encoder witha resolution of at least 4096 increments / revolution (possibly sinusencoder). Roughly resolved encoder signals cause low cut accu‐racies as well as running noises in the synchronous run.

● MLC Firmware● MPX drive firmware● The following functional packages have to be enabled in the drive:

– Closed Loop– Synchronization

IndraWorks MLCThe following parameterization has to be accomplished in the drive to ensurea proper functionality of the function block "MX(L)_FlyingShear".

1. Loading the parameter file "FlyingShearSettings.par"By loading the parameter file "FlyingShearSettings.par", important con‐figurations as well as the cams will automatically be loaded on the flyingshear axis. The parameter file will be provided on the IndraWorks MLC 0xinstallation CD 3 over the path "Add ons\ Tech FB_Parameterfile".The parameter file contains the following information:● P-72 Lock On Cam Poly 5● P-92 Run Cam● P-750=1● P-693=0● P-60=0● P-86=0x0000.0000.0000.1000● P-90=0x0000.0000.0000.0000● A-500=P-691● A-502=P-692

2. Parameterization of the flying shear axisParameterization of the flying shear axis according to the application.Weighting should be linear and absolute.

3. Parameterization of the optional encoderIndraWorks ▶ Add an encoder axis to the projectWeighting should be set to rotary modulo 360°.Setting the encoder parameters according to encoder data

4. Ensuring the encoder motion directionIn normal operation, the optional encoder (measuring wheel) has to movein positive direction. The motion direction can be observed via the Indra‐Works dialog of the encoder axis. The motion sense must be inverted ifthe encoder moves in the negative direction.

Library Description | Rexroth IndraMotion MLC 04VRS Electric Drivesand Controls

| Bosch Rexroth AG 25/179

Function Block for Application "Flying Shear"

Required Firmware

Required SoftwareRequired Parameterization

Page 32: Rexroth IndraMotion MLC 04VRS

5. Parameterize the synchronization acceleration (P-0-0142) and synchro‐nization velocity (P-0-0143) with preferably high values to ensure a dy‐namic synchronization processIndraWorks ▶ Parameter Editor

6. Parameterize the synchronous run window (S-0-0228) preferably small toobtain a possibly high cut accuracyIndraWorks ▶ Parameter Editor

● The function block "MX(L)_FlyingShear" contains high-prior motion com‐mands and should therefore be cyclically called in a high-prior, cyclicalPLC task with a cycle time ≤ 4ms (MotionTask).

● Before starting the function block, "MC_Power" must be processed withouterrors.

26/179 Bosch Rexroth AG | Electric Drivesand Controls

Rexroth IndraMotion MLC 04VRS | Library Description

Function Block for Application "Flying Shear"

Required IndraLogic Steps

Page 33: Rexroth IndraMotion MLC 04VRS

7 Function Blocks for Application "Touch Probe"7.1 Introduction and Overview

The function blocks chapter 7.2 "MC_TouchProbe" on page 27 and chapter7.4 "MC_AbortTrigger" on page 31 control and manage the "Touch probe"drive functionality.The function block "MC_TouchProbe" activates the selected touch probe, eval‐uates the status and provides the measured values once the trigger signal hasarrived.The function block "MC_AbortTrigger" cancels a running measurement of"MC_TouchProbe".

7.2 MC_TouchProbeThe function block "MC_TouchProbe" is used to detect an axis position, a mas‐ter position or the touch probe time when the trigger signal arrives.

Before starting the function block "MC_TouchProbe", the "Touchprobe cycle" command must be started.The "Touch probe cycle" command will be started by writing theparameter "S-0-0170 = 3".Alternatively, the touch probe function can automatically be activa‐ted in phase 4 over P-0-0226, bit 9 = TRUE (from MPx04). Thus,writing to S-0-0170 is no longer required.

Fig.7-1: FB MC_TouchProbe

Library Description | Rexroth IndraMotion MLC 04VRS Electric Drivesand Controls

| Bosch Rexroth AG 27/179

Function Blocks for Application "Touch Probe"

Brief Description

Interface Description

Page 34: Rexroth IndraMotion MLC 04VRS

Name Type Comment

VAR_IN_OUT Axis AXIS_REF Reference to the selected axis

VAR_INPUT Execute BOOL A positive edge at Execute starts the touch probe recording

ProbeType PROBE_DATA_FORMAT

Defines the recorded data format.AXIS_POS = 0:Position values in drive weighting (e. g. S-0-0051)PROBE_TIME = 1:Touch probe time in µsMASTER_POS = 2:Master position in increments (e. g. P-0-0053)

ProbeSelect PROBE_NUMBER Touch probe selection:PROBE1 = 1: Touch probe 1PROBE2 = 2: Touch probe 2

PosEdge BOOL Positive touch probe edge will be evaluated

NegEdge BOOL Negative touch probe edge will be evaluated

VAR_OUTPUT Done BOOL The selected edges have been triggered

Active BOOL The function block is active, measurement is running

PosEdgeDe‐tected

BOOL The positive edge of the selected touch probe has been triggered

NegEdgeDe‐tected

BOOL The negative edge of the selected touch probe has been triggered

RecordedPo‐sition

REAL Position value of the axis with positive edge of the selected touchprobeThis output is only used if "ProbeType = AXIS_POS" has been selec‐ted.

RecordedPo‐sitionNeg

REAL Position value of the axis with negative edge of the selected touchprobeThis output is only used if "ProbeType = AXIS_POS" has been selec‐ted.

Recorded‐Value

DINT Touch probe time (in us) or master axis position (in increments) in thecase of a positive edge of the selected touch probeThis output is only used if "ProbeType = MASTER_POS" or"PROBE_TIME" has been selected.

RecordedVa‐lueNeg

DINT Touch probe time (in us) or master axis position (in increments) in thecase of a negative edge of the selected touch probe.This output is only used if "ProbeType = MASTER_POS" or"PROBE_TIME" has been selected.

CommandA‐borted

BOOL Command has been canceled by chapter 7.4 "MC_AbortTrigger" onpage 31.

Error BOOL Indicates an error

ErrorID ERROR_CODE Brief error description

ErrorIdent ERROR_STRUCT Detailed error description according to error table

Fig.7-2: Interface of the function block MC_TouchProbe

28/179 Bosch Rexroth AG | Electric Drivesand Controls

Rexroth IndraMotion MLC 04VRS | Library Description

Function Blocks for Application "Touch Probe"

Page 35: Rexroth IndraMotion MLC 04VRS

Fig.7-3: Signal/time diagram according to PLCopenThe function block generates the following error messages in Additional1/Ad‐ditional2 for the table F_RELATED_TABLE, 16#0170:

ErrorID Additional1 Additional2 Description

RESOURCE_ERROR, 16#0003 16#0004 16#0000 Unsupported drive firmware

RESOURCE_ERROR, 16#0003 16#0401 16#0000 Touch probe configuration (S-0-0169) does not corre‐spond to the inputs of the function block

RESOURCE_ERROR, 16#0003 16#0402 16#0000 Touch probe command (S-0-0170) has not been star‐ted

RESOURCE_ERROR, 16#0003 16#0403 16#0001 Required touch probe control bit (S-0-0405, bit 0) is notconfigured in the signal control word

RESOURCE_ERROR, 16#0003 16#0403 16#0002 Required touch probe control bit (S-0-0406, bit 0) is notconfigured in the signal control word

RESOURCE_ERROR, 16#0003 16#0403 16#0003 Required touch probe status bit (S-0-0409, bit 0) is notconfigured in the signal status word

RESOURCE_ERROR, 16#0003 16#0403 16#0004 Required touch probe status bit (S-0-0410, bit 0) is notconfigured in the signal status word

RESOURCE_ERROR, 16#0003 16#0403 16#0005 Required touch probe status bit (S-0-0411, bit 0) is notconfigured in the signal status word

RESOURCE_ERROR, 16#0003 16#0403 16#0006 Required touch probe status bit (S-0-0412, bit 0) is notconfigured in the signal status word

RESOURCE_ERROR, 16#0003 16#0403 16#0007 Required touch probe measured value S-0-0130 is notcyclically configured in AT

RESOURCE_ERROR, 16#0003 16#0403 16#0008 Required touch probe measured value S-0-0131 is notcyclically configured in AT

RESOURCE_ERROR, 16#0003 16#0403 16#0009 Required touch probe measured value S-0-0132 is notcyclically configured in AT

Library Description | Rexroth IndraMotion MLC 04VRS Electric Drivesand Controls

| Bosch Rexroth AG 29/179

Function Blocks for Application "Touch Probe"

Signal/Time Diagram

Troubleshooting

Page 36: Rexroth IndraMotion MLC 04VRS

ErrorID Additional1 Additional2 Description

RESOURCE_ERROR, 16#0003 16#0403 16#000A Required touch probe measured value S-0-0133 is notcyclically configured in AT

INPUT_RANGE_ERROR, 16#0006 16#0404 16#0001 The selection of the touch probe at the input "Probe‐Select" is outside the admissible range

INPUT_RANGE_ERROR, 16#0006 16#0404 16#0002 The input "ProbeType" is outside the admissible range

Fig.7-4: Error numbers caused by MC_TouchProbe

7.3 MC_TouchProbe - Special Features of IndraMotion MLC● MLC Hardware● IndraDrive C or M● MLC Firmware● MPX drive firmware● The following functional packages have to be enabled in the drive:

– Servo or SynchronizationIndraWorks MLCTo use the function block "MC_TouchProbe", the touch probe must be para‐meterized with the help of the following dialog:

Fig.7-5: Touch probe configuration dialog

"Continuous measurement" is not supported by the function block"MC_TouchProbe" and must not be selected in the above dialog.

Depending on the use of TouchProbe1 or TouchProbe2, the following addi‐tional (cyclical) control bits have to be configured:● TouchProbe1: S-0-0405 TouchProbe1 Enable● TouchProbe2: S-0-0406 TouchProbe2 EnableIndraWorks ▶ Right mouse click on axis ▶ Communication ▶ Signal controlword The above mentioned control bits have to be configured depending onthe use of TouchProbe1 or TouchProbe2. The order of the control bits in the

30/179 Bosch Rexroth AG | Electric Drivesand Controls

Rexroth IndraMotion MLC 04VRS | Library Description

Function Blocks for Application "Touch Probe"

Required Hardware

Required Firmware

Required SoftwareRequired Parameterization

Page 37: Rexroth IndraMotion MLC 04VRS

additional data containers is arbitrary since the function block scans all chan‐nels.According to the use of TouchProbe1 (positive or negative edge) or TouchP‐robe2 (positive or negative edge), the following additional (cyclical) status bitshave to be configured:● TouchProbe1, pos. edge: S-0-0409 TouchProbe1 pos. detected● TouchProbe1, neg. edge: S-0-0410 TouchProbe1 neg. detected● TouchProbe2, pos. edge: S-0-0411 TouchProbe2 pos. detected● TouchProbe2, neg. edge: S-0-0412 TouchProbe2 neg. detectedIndraWorks ▶ Right mouse click on axis ▶ Communication ▶ Signal statusword According to the use of the selected touch probe, the corresponding ad‐ditional status bits have to be configured. The order of the status bits in theadditional data containers is arbitrary since the function block scans all chan‐nels.According to the use of TouchProbe1 (positive or negative edge) or TouchP‐robe2 (positive or negative edge), the following additional measuring data haveto be configured in the cyclical SERCOS channel:● TouchProbe1, pos. edge: S-0-0130 Measured value 1 positive edge● TouchProbe1, neg. edge: S-0-0131 Measured value 1 negative edge● TouchProbe2, pos. edge: S-0-0132 Measured value 2 positive edge● TouchProbe2, neg. edge: S-0-0133 Measured value 2 negative edgeIndraWorks ▶ Right mouse click on axis ▶ Communication ▶ Cyclical SERCOSdata channel According to the use of the selected touch probe, the correspond‐ing additional data have to be configured in the AT data. The order of the datain the additional containers is arbitrary since the function block scans all chan‐nels.

1. Integrate "ML_Technology0x.lib" library into the IndraLogic project2. Set write access to S-0-0170=3 prior to the execution of "MC_TouchP‐

robe" (over "MB_WriteParameter") or set P-226 bit 9 once3. Call of "MC_TouchProbe" and positive edge at "Execute"4. "MC_TouchProbe" should be called until "Done" or "Error" will be returned

7.4 MC_AbortTriggerThe function block MC_AbortTrigger aborts a running measurement controlledby MC_TouchProbe.

Fig.7-6: Function block MC_AbortTrigger

Library Description | Rexroth IndraMotion MLC 04VRS Electric Drivesand Controls

| Bosch Rexroth AG 31/179

Function Blocks for Application "Touch Probe"

Required IndraLogic Steps

Brief Description

Interface Description

Page 38: Rexroth IndraMotion MLC 04VRS

I/O type Name Data type Comment

VAR_IN_OUT Axis AXIS_REF Reference to the selected axis

VAR_INPUT Execute BOOL A positive signal edge aborts the measurement

ProbeSelect PROBE_NUMBER Specification of the selected touch probe: PROBE1 = 1: Touch probe1 is selected. PROBE2 = 2: Touch probe 2 is selected

VAR_OUTPUT Done BOOL The selected touch probe events will be aborted

Error BOOL Indicates an error

ErrorID ERROR_CODE Brief error description

ErrorIdent ERROR_STRUCT Detailed error description

Fig.7-7: I/O interface of MC_AbortTriggerSignal/time diagram according to PLCOpen (details see "Signal/Time Diagram"on page 29).The function block generates the following error messages in Additional1/Ad‐ditional2 for the table F_RELATED_TABLE, 16#0170:

ErrorID Additional1 Additional2 Description

RESOURCE_ERROR(16#0003)

16#0004 16#0000 Drive firmware is not supported

RESOURCE_ERROR(16#0003)

16#0403 16#0001 Required touch probe control bit (S-0-0405, bit 0) is not config‐ured in the signal control word

RESOURCE_ERROR(16#0003)

16#0403 16#0002 Required touch probe control bit (S-0-0406, bit 0) is not config‐ured in the signal control word

INPUT_RANGE_ERROR(16#0006)

16#0404 16#0001 The function block input „ProbeSelect“ is outside the admissiblerange

Fig.7-8: Error codes of MC_AbortTrigger

7.5 MC_AbortTrigger - Special Features of IndraMotion MLC● MLC Hardware● IndraDrive C or M● MLC Firmware● MPX drive firmware● The following functional packages have to be enabled in the drive:

– Servo or SynchronizationIndraWorks MLCSee "MC_TouchProbe", "Required Parameterization" on page 30.● Include "ML_Technology0x.lib" library into the IndraLogic project● Call of "MC_AbortTrigger" in the PLC user program

32/179 Bosch Rexroth AG | Electric Drivesand Controls

Rexroth IndraMotion MLC 04VRS | Library Description

Function Blocks for Application "Touch Probe"

Signal/Time Diagram

Troubleshooting

Required Hardware

Required Firmware

Required SoftwareRequired ParameterizationRequired IndraLogic Steps

Page 39: Rexroth IndraMotion MLC 04VRS

8 Function Blocks for Application "Cross Cutter"8.1 Introduction and Overview

The function blocks mentioned here are intended for cross cutter and crosssealer applications. In this application, the knife or the sealing jaw is mountedon a rotating cylinder. In a definable area (if the knife or the sealing jaw is locatedon the material), the knife or the sealing jaw has to move with production ve‐locity. Outside this area, the axis is to perform a compensating motion toproduce a respective format length.

Fig.8-1: Cross cutter constructionThe following function blocks are available:● MB_CrossCutterCalcType04

→ Calculating a motion profile for cross cutter and cross sealer applications● MB_CrossCutSealType01

→ Calculating, loading and activating a motion profile for cross cutter andcross sealer applications

● MX(L)_CrossCutter→ Activating a cross cutter and cross sealer point table (function block isonly contained due to compatibility reasons; the above MB_ functionblocks should be used for new applications)

8.2 MB_CrossCutterCalcType048.2.1 General

The function block MB_CrossCutterCalcType04 provides all required data atits outputs which have to be loaded into the motion profile of an axis to operatea cross cutter or a cross sealer with the functions selected in the parameters ofthe function block. All inputs of the function block will be taken over by "Exe‐cute" once in the case of a rising edge. In addition, the function block writesdirectly into the arrays specified by the pointers during its runtime. The writtendata are only valid if the function block has been processed without any errorsand if it returns "Done".

Library Description | Rexroth IndraMotion MLC 04VRS Electric Drivesand Controls

| Bosch Rexroth AG 33/179

Function Blocks for Application "Cross Cutter"

Brief Description

Page 40: Rexroth IndraMotion MLC 04VRS

Fig.8-2: Interface function block: MB_CrossCutterCalcType04

Name Type Comment

VAR_IN_OUT MasterAxisInitialPo‐sAdr

POINTER TO REAL Pointer to an array with three elements to be created bythe user in which the function block stores the startingpositions of the master axis of the generated motion pro‐file segments

DistanceAdr POINTER TO REAL Pointer to an array with three elements to be created bythe user in which the function block stores the distancesof the generated motion profile segments

SlaveAxisVelocityAdr POINTER TO REAL Pointer to an array with three elements to be created bythe user in which the function block stores the velocitiesof the slave axis at the segment limits of the motion profilesegments

StepModeAdr POINTER TOMC_STEP_MODE

Pointer to an array with three elements to be created bythe user in which the function block stores the step modesof the generated motion profile segments

CamTableAdr POINTER TOMB_CAM_TABLE_DA‐TA

Pointer to an array with three elements to be created bythe user in which the function block stores cam tables aswell as meta data of the cams which are inserted as seg‐ments in the motion profile

34/179 Bosch Rexroth AG | Electric Drivesand Controls

Rexroth IndraMotion MLC 04VRS | Library Description

Function Blocks for Application "Cross Cutter"

Interface Description

Page 41: Rexroth IndraMotion MLC 04VRS

Name Type Comment

VAR_INPUT Execute BOOL Enabling the function block (once, edge-controlled)

ModuloValue REAL Modulo value of the cross cutter axis in [°]

FormatRatio REAL Format ratio of the product to be cut (no unit)

CutAngle REAL Length of the cutting area in [°]

PendelumFactor REAL Maximum pendulum radius in [%] (0%:No pendular motion;100%:Maximum pendular motion (pendular motion up to theedges of the cutting area)).

CorrectionProfile MB_CORR_PROFILE Selection of a special profile. The inputs "Overspeed" or"PushOut" have to be used for the parameterization of thespecial profile.Further information with regard to the selection options ofthe enumeration type MB_CORR_PROFILE can befound in the respective section.

Overspeed REAL Constant overspeed or reduction of the master axisspeed in the cutting area in [%](0%: No overspeed;100%: Twice the master axis speed;-50%: Half the master axis speed)In "CorrectionProfile", the optionCORR_PROFILE_OVERSPEED has to be selected.Otherwise, "Overspeed" is deactivated and thus ineffec‐tive.

PushOut MB_PUSH_OUT_CON‐FIG

Structure for the definition of a push out motion during thecutIn "CorrectionProfile", the optionCORR_PROFILE_PUSH_OUT orCORR_PROFILE_COS_COMP_AND_PUSH_OUT hasto be selected. Otherwise, "PushOut" is deactivated andthus ineffective.Further detailed information concerning the structureMB_PUSH_OUT_CONFIG can be found in the respectivesection.

Resolution MB_RESOLUTION Specification of the resolution of the cam calculation bydetermining the number of supporting points in threestages.Further information with regard to the selection options ofthe enumeration type MB_RESOLUTION can be found inthe respective section.

Library Description | Rexroth IndraMotion MLC 04VRS Electric Drivesand Controls

| Bosch Rexroth AG 35/179

Function Blocks for Application "Cross Cutter"

Page 42: Rexroth IndraMotion MLC 04VRS

Name Type Comment

VAR_OUTPUT Done BOOL Processing completed without errors, output data valid

Active BOOL Processing active, output data are invalid

Error BOOL Processing completed with errors

ErrorID ERROR_CODE In the case of a set "Error" output, this output contains arough classification of the error

ErrorIdent ERROR_STRUCT In the case of a set "Error" output, this output containsdetailed information concerning this error

NumberOfSteps USINT Number of the generated motion profile segments andnumber of the motion profile segments to be downloaded

NumberOfCams USINT Number of the generated cams and number of the camsto be downloaded

Fig.8-3: Interface description of the function block: MB_CrossCutterCalcType04..

Name Type Mini‐mumvalue

Maximum value Default value Acceptance

Execute BOOL FALSE Continuous

ModuloValue REAL >0.0° Not defined 360.0° For rising edge at "Exe‐cute"

FormatRatio REAL 0.2 30.0 1.0 For rising edge at "Exe‐cute"

CutAngle REAL 0.0° < "ModuloValue" 12.0° For rising edge at "Exe‐cute"

PendelumFactor REAL 0.0% 100.0% 0.0% For rising edge at "Exe‐cute"

CorrectionProfile MB_CORR_PROFILE CORR_PROFILE_NONE

For rising edge at "Exe‐cute"

Overspeed REAL -50.0% 100.0% 0.0% For rising edge at "Exe‐cute"

PushOut MB_PUSH_OUT_CONFIG For rising edge at "Exe‐cute"

Resolution MB_RESOLUTION RESOLUTION_HIGH For rising edge at "Exe‐cute"

Fig.8-4: Minimum/maximum and default values of the function block: MB_Cross‐CutterCalcType04

36/179 Bosch Rexroth AG | Electric Drivesand Controls

Rexroth IndraMotion MLC 04VRS | Library Description

Function Blocks for Application "Cross Cutter"

Minimum, Maximum and DefaultValues of the Inputs

Page 43: Rexroth IndraMotion MLC 04VRS

Fig.8-5: Signal/time diagram function block: MB_CrossCutterCalcType04On the basis of the operating mode "electronic motion profile", the functionblock calculates profiles for the "cross cutter" application. The individual seg‐ments either consist of analytical segments or of cam tables. After havingenabled the processing with "Execute", an "electronic motion profile" consistingof three segments will be calculated once on the basis of the input variables.The parameters describing the profile will be saved in the respective arrayswhich have to be created by pointers at the inputs of the function block"MB_CrossCutterCalcType04". The arrays have to be large enough to be ableto save the number of calculated motion steps (currently three steps). The han‐dling of the pointers is similar to the function blocks "MB_ChangeProfileStep" /"MB_ChangeProfileSet" since these function blocks have to be called by theuser after the calculation to be able to write the calculated profile to the re‐spectively free record of the "electronic motion profile".The following list describes the meaning of the individual inputs of the functionblock "MB_CrossCutterCalcType04" in more detail:● The input "ModuloValue" specifies the modulo value of the cross cutter

axis. By standard, 360.0° are specified here.● The input "FormatRatio" specifies the product length to be cut. It describes

the ratio of the desired product length and the circumference of the crosscutter cylinder. This means that in the case of "FormatRatio==1", thelength of the cut product corresponds to the circumference of the crosscutter cylinder (synchronous format). In the case of "FormatRatio==5",however, the length of the cut product is five times the circumference ofthe cross cutter cylinder.

● The input "CutAngle" specifies the cutting area of the cross cutter. In thecutting area, the cross cutter either rotates with the material feed velocityor with a (selectable) correction motion.

● The input "PendelumFactor" specifies the maximum pendular motion ofthe cross cutter axis in percent. This means that in the case of "Pende‐

Library Description | Rexroth IndraMotion MLC 04VRS Electric Drivesand Controls

| Bosch Rexroth AG 37/179

Function Blocks for Application "Cross Cutter"

Signal/Time Diagram

Functional Description

Page 44: Rexroth IndraMotion MLC 04VRS

lumFactor==0%", the cross cutter axis will never rotate with a negativevelocity (backwards); in the case of "PendelumFactor==100%", the crosscutter axis will rotate to the end of the cutting area to minimize the energyloss and the required accelerations. This provides special benefits in thecase of higher values for "FormatRatio". In the case of "PendelumFac‐tor==100%", the cross cutter does not generally rotate to the end of thecutting area since this is not always advantageous. The respective opti‐mum utilization of the available area will always be automatically calcula‐ted by the function block.

● The input "CorrectionProfile" allows several correction motions in the cut‐ting area which are required depending on the respective application. Thefollowing correction motions can be selected:– "CorrectionProfile==CORR_PROFILE_NONE"

(no correction: cross cutter axis rotates with the velocity of the masteraxis),

– "CorrectionProfile==CORR_PROFILE_OVERSPEED"(constant overspeed of the cross cutter axis in the cutting area),

– "CorrectionProfile==CORR_PROFILE_COS_COMP"(constant velocity vector in material direction, e. g. for guillotine cut‐ters),

– "CorrectionProfile==CORR_PROFILE_PUSH_OUT"(push out of the material), as well as

– CorrectionProfile==CORR_PROFILE_COS_COMP_AND_PUSH_OUT(constant velocity vector in material direction as well as parallel pushout, e. g. for guillotine cutters).

● The input "Overspeed" allows the exact setting of the overspeed in [%] inthe cutting area with"CorrectionProfile==CORR_PROFILE_OVERSPEED".Thus, entering a value of 10 [%] increases the velocity of the cross cutteraxis in the cutting area by 10% compared to the material velocity.

● The input "PushOut" parameterizes the push out correction.The input will only be processed with"CorrectionProfile==CORR_PROFILE_PUSH_OUT"or"CorrectionProfile==CORR_PROFILE_COS_COMP_AND_PUSH_OUT".

● The input "Resolution" allows the resolution of the used cam tables in threesteps. On the one hand, this saves a lot of calculating time, and on theother hand, the accuracy of the calculation will be increased.

The successful calculation of a profile will be signaled by the output "Done".The parameters will be written to the data fields addressed by the createdpointers. Subsequently, these have to be written to a free motion profile withthe help of "MB_ChangeProfileSet"/"MB_ChangeProfileStep". The same pro‐cedure applies for the cams. It must be observed that the table into which thecams have to be loaded will be defined in the structure "MB_CAM_TABLE_DA‐TA". In the following, the loaded motion profile has to be activated by using"MB_MotionProfile". The exact cutting length will be defined with the electronicdrive at "MB_MotionProfile". The gear ratio corresponds to the value of "For‐matRatio". This means that a new profile will be calculated for each possibleproduct length; this profile takes into account the exact input parameters (es‐pecially "CutAngle" and "PendelumFactor"). fig. 8-6 "Sequence diagram for

38/179 Bosch Rexroth AG | Electric Drivesand Controls

Rexroth IndraMotion MLC 04VRS | Library Description

Function Blocks for Application "Cross Cutter"

Page 45: Rexroth IndraMotion MLC 04VRS

using MB_CrossCutterCalcType04" on page 39 shows a sequence diagramdescribing the use of the function block MB_CrossCutterCalcType04.

Fig.8-6: Sequence diagram for using MB_CrossCutterCalcType04To use several equidistantly distributed knives, a mechanical gear has to beplanned in IndraWorks with reference to the load side. The number of inputrevolutions will be set to 1, whereas the number of output revolutions will be setto the number of the used knives n. Since, however, no real mechanical gearis existent, the drive will only perform one n-fold revolution. Thus, the velocityof the slave axis in one revolution is n times identical with the velocity of themaster axis.Example:

Configuration of the Mechanical Gear When Using a Cross Cutter With FourEquidistantly Distributed Knives on the Cross Cutter Axis

Input variables:Mechanical gear at the motor, input revolutions ninput = 10Mechanical gear at the motor, output revolutions noutput = 1Number of knives per circumference nknife = 4

Calculation of the required gear setting:

● S-0-0121 = 10● S-0-0122 = 4

Library Description | Rexroth IndraMotion MLC 04VRS Electric Drivesand Controls

| Bosch Rexroth AG 39/179

Function Blocks for Application "Cross Cutter"

Page 46: Rexroth IndraMotion MLC 04VRS

If, with this parameterization, the cutting cylinder moves mechanically by 90°,this corresponds to an electrical movement of 360° ( = modulo value of the slaveaxis).

To adjust the velocity of the master axis and the slave axis in the cutting areato the same value, the feed constant between the measuring wheel and theinternal virtual master axis has to be adjusted as well. In this context, the cir‐cumference of the internal virtual master axis will be specified with the lengthbetween two knives of the real slave axis. With this parameterization, it is pos‐sible to cut each product with a different length with a corresponding lead time.

Fig.8-7: Master axis structure when operating a cross cutterThe function block uses the error table F_RELATED_TABLE, 16#061x. It cangenerate the following error messages in Additional1 and Additional2:

ErrorID Additional1 Additional2 Description

INPUT_RANGE_ERROR, 16#0006 16#0610 16#0001 Invalid value of the input "ModuloValue"

INPUT_RANGE_ERROR, 16#0006 16#0610 16#0002 Invalid value of the input "FormatRatio"

40/179 Bosch Rexroth AG | Electric Drivesand Controls

Rexroth IndraMotion MLC 04VRS | Library Description

Function Blocks for Application "Cross Cutter"

Troubleshooting

Page 47: Rexroth IndraMotion MLC 04VRS

ErrorID Additional1 Additional2 Description

INPUT_RANGE_ERROR, 16#0006 16#0610 16#0003 Invalid value of the input "CutAngle"

INPUT_RANGE_ERROR, 16#0006 16#0610 16#0004 Invalid value of the input "CutAngle" in combinationwith cosine compensation

INPUT_RANGE_ERROR, 16#0006 16#0610 16#0005 Invalid value of the input "PendulumFactor"

INPUT_INVALID_ERROR, 16#0001 16#0610 16#0006 Invalid value of the input "CorrectionProfile"

INPUT_INVALID_ERROR, 16#0001 16#0610 16#0007 Invalid value of the input "Overspeed"

INPUT_INVALID_ERROR, 16#0001 16#0610 16#0008 Invalid starting point for the push out function

INPUT_INVALID_ERROR, 16#0001 16#0610 16#0009 Invalid value for "Overspeed_At_Cut" in the structure"MB_PUSH_OUT_CONFIG"

INPUT_INVALID_ERROR, 16#0001 16#0610 16#000A Invalid value for "Overspeed_Max" in the structure"MB_PUSH_OUT_CONFIG"

INPUT_INVALID_ERROR, 16#0001 16#0610 16#000B Invalid combination of "Overspeed_At_Cut" and"Overspeed_Max"

INPUT_INVALID_ERROR, 16#0001 16#0610 16#000C Value of the input "CutAngle" too small in combinationwith PushOut.

INPUT_INVALID_ERROR, 16#0001 16#0610 16#000D Invalid value of the input "Resolution"

INPUT_INVALID_ERROR, 16#0001 16#0610 16#000E Invalid values of the "POINTER" inputs

STATE_MACHINE_ERROR, 16#0005 16#0006 xxyy Invalid status of the finite state machinexx specifies the invalid step.yy specifies the invalid status.

Fig.8-8: Error numbers caused by MB_CrossCutterCalcType04

8.2.2 Special Features of IndraMotion MLCWith regard to the system IndraMotion MLC, the following start-up instructionshave to be taken into account for operating the technology function blockMB_CrossCutterCalcType04, downloading the generated motion profiles andcams as well as for linking the cross cutter axis with the master axis:● Modulo weighting with the modulo value 360° has to be activated for the

cross cutter axis.● The function block MB_MotionProfile always has to be operated with the

setting "0: absolute synchronization without resynchronization" for the in‐put "StartMode" to ensure the exact exchange of the profiles.

● For the electronic gear, the function block MB_MotionProfile only allowsintegral values from 1 to 65535 for the numerator and the denominator ofthe gear ratio. Thus, a maximum cutting length deviation will result due tothe quantization. This can be minimized by multiplication with a big con‐stant to be able to almost completely use the value range.

● The generated motion profile can be downloaded on the MLC with thefunction block MB_ChangeProfileSet, and the generated cams can bedownloaded with the function blocks MB_ChangeCamData or MB_Write‐ListParameter. In contrast to MB_WriteListParameter, the function blockMB_ChangeCamData is faster; however, the cam will not be saved per‐sistently and has to be reloaded after a reboot of the control.When downloading the cams, it must be observed that the respective camis loaded at its assigned position (described in the structureMB_CAM_TABLE_DATA, element "CamTableID").

Library Description | Rexroth IndraMotion MLC 04VRS Electric Drivesand Controls

| Bosch Rexroth AG 41/179

Function Blocks for Application "Cross Cutter"

Start-up Instructions

Page 48: Rexroth IndraMotion MLC 04VRS

● A small format ratio (< 1) should be selected carefully since the cross cutteraxis reaches very high velocities in the compensation range (up to eighttimes the velocity of the master axis).

● Bit 1 has to be set in the parameter A-0-2930 of the cross cutter axis sothat the gear will be exchanged at a switching angle of 0° analog to themotion profile and not when calling the function block MB_MotionProfile.

Format ratio Ratio of the slave axis velocity to the ve‐locity of the master axis

1 1

0,8 1,5

0,6 2,2

0,4 3,7

0,2 8

Fig.8-9: Effects of the format ratio on the maximum velocity of the cross cutteraxis in the compensation range

8.2.3 MB_CAM_TABLE_DATAThe structure MB_CAM_TABLE_DATA is used by the function block chapter8.2 "MB_CrossCutterCalcType04" on page 33. It contains an array with a camtable as well as meta data which describe the number of supporting points ofthe array as well as the position at which the table has to be loaded into thecontrol / the drive.

Structural element Type Description

CamTableID DINTNumber of the cam table intowhich the described cam has tobe loaded

NumberOfElements UINT Number of supporting points ofthe described cam

CamTable ARRAY[0..1023] OF DINT Array with the supporting points ofthe cam

Fig.8-10: Interface description structure MB_CAM_TABLE_DATA

Name Type Minimum val‐ue

Maximumvalue Default value

CamTableID DINT 0 0

NumberOfElements UINT 0 1024 0

Fig.8-11: Minimum, maximum and default values of the structureMB_CAM_TABLE_DATA

In the structural element "CamTableID", the number of the cam table has beensaved in the format required by the function blocks MB_ChangeCamData,MB_ChangeProfileStep and MB_ChangeProfileSet. fig. 8-12 "Allocation ofCamTableID to parameter numbers" on page 42 shows the mappings be‐tween "CamTableID" and the corresponding parameter number in MLC andMLD.

CamTableID Parameter number MLC Parameter number MLD

1 C-0-2001 P-0-0072

2 C-0-2002 P-0-0092

3 C-0-2003 P-0-0780

42/179 Bosch Rexroth AG | Electric Drivesand Controls

Rexroth IndraMotion MLC 04VRS | Library Description

Function Blocks for Application "Cross Cutter"

Brief Description

Interface Description

Minimum, Maximum and DefaultValues of the Inputs

Functional Description

Page 49: Rexroth IndraMotion MLC 04VRS

CamTableID Parameter number MLC Parameter number MLD

4 C-0-2004 P-0-0781

5 C-0-2005 P-0-0784

6 C-0-2006 P-0-0785

7-99 C-0-2007 - C-0-2099 Not available

Fig.8-12: Allocation of CamTableID to parameter numbersThe following diagram shows how to use the data of the structureMB_CAM_TABLE_DATA to load the cam into the control or the drive, respec‐tively.

Fig.8-13: Connection plan structure MB_CAM_TABLE_DATA

8.2.4 MB_CORR_PROFILEThe enumeration MB_CORR_PROFILE is used by the function block chapter8.2 "MB_CrossCutterCalcType04" on page 33 to define a correction motion inthe cutting area. The possible elements of the enumeration typeMB_CORR_PROFILE as well as their meanings are described in the followingdescription.

Library Description | Rexroth IndraMotion MLC 04VRS Electric Drivesand Controls

| Bosch Rexroth AG 43/179

Function Blocks for Application "Cross Cutter"

Brief Description

Page 50: Rexroth IndraMotion MLC 04VRS

Element Val‐ue Description

CORR_PROFILE_NONE 0No correction in the cutting area. The veloc‐ity of the cross cutter axis corresponds to thevelocity of the master axis.

CORR_PROFILE_OVERSPEED 1

Constant overspeed or reduction of the ve‐locity of the cross cutter axis in the cuttingarea.The velocity of the cross cutter axis is thenfaster or slower than the velocity of the mas‐ter axis by the value parameterized at theinput "Overspeed" of the function blockMB_CrossCutterCalcType04.

CORR_PROFILE_COS_COMP 2

Correction of the cross cutter axis velocityThe velocity is changed in a way so that thecross cutter axis in the direction of the ma‐terial (the x component of the velocity vector)rotates with constant speed. The speed ofthe cross cutter axis has to be adapted de‐pending on the current position in the cut.

CORR_PROFILE_PUSH_OUT 3

Performing a push out motion at the end ofthe cut. Parameterization with the input"PushOut" of the function block MB_Cross‐CutterCalcType04. The speed of the crosscutter axis has to be adapted depending onthe current position in the cut.See also the description of the structure"MB_PUSH_OUT_CONFIG".

CORR_PROFILE_COS_COMP_AND_PUSH_OUT 4

Combination of the corrections"CORR_PROFILE_COS_COMP" and"CORR_PROFILE_PUSH_OUT". Parame‐terization with the input "PushOut" of thefunction block MB_CrossCutterCalcType04.See also the description of the structure"MB_PUSH_OUT_CONFIG".

Fig.8-14: Elements of the enumeration type MB_CORR_PROFILE

8.2.5 MB_PUSH_OUT_CONFIGThe structure MB_PUSH_OUT_CONFIG is used by the function block chapter8.2 "MB_CrossCutterCalcType04" on page 33. With this structure, a definedpush out can be parameterized at the end of the cut. The elements of the struc‐ture MB_PUSH_OUT_CONFIG as well as their minimum, maximum and defaultvalues are described in the following interface description.

Structural element Type Description

PushOutBegin REAL Beginning of the push out area (parameter A). Thevalue must not be equal to 0. Unit in [°].

Overspeed_At_Cut REAL Overspeed during a cut (parameter B). The valuemust not be equal to 0. Unit in [%].

Overspeed_Max REAL Maximum overspeed (parameter C). Unit in [%].

Fig.8-15: Interface description structure MB_PUSH_OUT_CONFIG

44/179 Bosch Rexroth AG | Electric Drivesand Controls

Rexroth IndraMotion MLC 04VRS | Library Description

Function Blocks for Application "Cross Cutter"

Elements of the Enumeration Type

Brief Description

Interface Description

Page 51: Rexroth IndraMotion MLC 04VRS

Name Type Minimum value Maximum value Defaultvalue

PushOutBegin REAL -5.0°

Overspeed_At_Cut REAL -100.0% 100.0% 5.0%

Overspeed_Max REAL >0.0% 100.0% 10.0%

Fig.8-16: Minimum, maximum and default values of the structureMB_PUSH_OUT_CONFIG

The following diagrams display the velocity characteristics of the cross cuttercylinder in the cutting area. The individual parameters can be adjusted with theelements of the structure MB_PUSH_OUT_CONFIG.A curve profile with a cut angle of 20° has been assumed for the graphics. Thedegree of the velocity adjustment will be determined with the help of the twovariables "Overspeed_At_Cut" and "Overspeed_Max". The beginning of thevelocity increase will be determined with the help of "PushOutBegin". For aclear parameterization, it is required that "PushOutBegin" and"Overspeed_At_Cut" are not equal to zero. Both figures show an example ofthe parameterization. The green line characterizes the degree of the increaseand can be determined by connecting the points A, B and C.

Fig.8-17: Definition of PushOut.PushOutBegin < 0

Library Description | Rexroth IndraMotion MLC 04VRS Electric Drivesand Controls

| Bosch Rexroth AG 45/179

Function Blocks for Application "Cross Cutter"

Minimum, Maximum and DefaultValues of the Inputs

Functional Description

Page 52: Rexroth IndraMotion MLC 04VRS

Fig.8-18: Definition of PushOut. PushOutBegin > 0

8.2.6 MB_RESOLUTIONThe enumeration MB_RESOLUTION is used by the function block chapter 8.2 "MB_CrossCutterCalcType04" on page 33. With this enumeration, the numberof supporting points of the cam tables and thus the required calculation timecan be changed. The elements of the enumeration MB_RESOLUTION as wellas their meanings are described in the following description.

Element Val‐ue

Description Number of supportingpoints (cutting seg‐ment + compensatingsegment + cuttingsegment)

RESOLUTION_LOW 1 Low resolution,short calculationtime required (fasterby approx. factor 3 incontrast to mediumresolution)

10 + 100 + 10

RESOLUTION_MIDDLE 2 Medium resolution,mean calculationtime required (fasterby approx. factor 3 incontrast to high res‐olution)

25 + 300 + 25

RESOLUTION_HIGH 3 High resolution,much calculationtime required

50 + 1000 + 50

Fig.8-19: Elements of the enumeration type MB_RESOLUTIONWith the enumeration MB_RESOLUTION, the number of supporting points ofthe cam tables and thus the required calculation time can be changed.For short formats and little lead time for a format change, the calculation timeof the function block can be reduced by selecting the option"RESOLUTION_LOW". However, it must be taken into account that the reso‐lution of the generated cams is reduced and that the machine might not berunning smoothly. In the case of long formats and high lead times for format

46/179 Bosch Rexroth AG | Electric Drivesand Controls

Rexroth IndraMotion MLC 04VRS | Library Description

Function Blocks for Application "Cross Cutter"

Brief Description

Elements of the Enumeration Type

Functional Description

Page 53: Rexroth IndraMotion MLC 04VRS

changes, the option "RESOLUTION_HIGH" can be selected to generate thecreated cams with the highest possible resolution. Basically, this setting("RESOLUTION_HIGH") should be preferred.The option to be selected here strongly depends on the used application andshould be determined through tests during the initial start-up.

8.3 MB_CrossCutSealType01The function block MB_CrossCutSealType01 calculates, loads and activates amotion profile for cross sealer or cross cutter applications. The function blockinternally uses the function block "MB_CrossCutterCalcType04" for the calcu‐lation.With the calculated motion profile, the slave axis moves with product velocitywithin the sealing or cutting area. Other functions like, for example, OverSpeed,PushOut or cosine correction can be optionally added within this area.Outside the sealing or cutting area, an almost optimum compensating motion(with regard to acceleration and energy loss) will be performed if the specifiedformat length does not correspond to the distance of the knife or the sealingjaw. Furthermore, a pendular motion of the cross sealer or cross cutter axiswithin freely selectable limits can be predefined to optimally use the accelera‐tion capacity of the drive in the case of large format lengths.During operation, input variables like, for example, the format length, can bechanged to automatically calculate a new motion profile in the background. Thenewly calculated motion profile will then be activated and takes effect at theswitching angle.In the case of a negative edge at Enable, the cross sealer or cross cutter willbe deactivated. The axis will be immediately stopped over the predefined de‐celeration ramp.

Fig.8-20: Interface function block MB_CrossSealType01

Library Description | Rexroth IndraMotion MLC 04VRS Electric Drivesand Controls

| Bosch Rexroth AG 47/179

Function Blocks for Application "Cross Cutter"

Brief Description

Interface Description

Page 54: Rexroth IndraMotion MLC 04VRS

Name Type Comment

VAR_IN_OUT Master AXIS_REF Reference to master axis

Slave AXIS_REF Reference to slave axis( = cross cutter axis / cross sealer axis)The modulo value is 360° (electrical) and is mechanically de‐fined as the distance between two knives / sealing jaws.

VAR_INPUT Enable BOOL Enabling the function block for processing

CrossCutter BOOL If CrossCutter = TRUE, the cross cutter application (see the fol‐lowing detailed description) will be selected.In this case of application, the master axis has to be standar‐dized in a way so that the material to be cut covers the distancein one revolution that corresponds to the distance of the knives.In this case, the used electronic gear of the motion profile is setto the gear transmission ratio "FormatLength / KnifeDistance".Furthermore, the input CutSealArea functions as the cut angleof the cross cutter whereas the input variables ProductsPerCutand StartProduct are not effective.If CrossCutter = FALSE, the cross sealer application (see thefollowing detailed description) will be selected.In this case of application, the master axis has to be standar‐dized in a way so that one revolution corresponds to a foil feedof one product length. In this case, the used electronic gear ofthe motion profile is set to the gear ratio "1 / ProductsPerCut".Furthermore, the input CutSealArea corresponds to the sealinglength and will thus be defined in translatory units (e. g. mm orinch). The inputs ProductsPerCut and StartProduct will be eval‐uated in this case.

StartMotionPro‐file

BOOL The activation of a new motion profile will be blocked as long asthis input is set to FALSE.StartMotionProfile = TRUE activates the new motion profile ifthe output ProfileReady is TRUE.

ProductsPerCut UINT Input is only effective if CrossCutter = FALSENumber of products per sealing process. Corresponds to thenumber of master revolutions per sealing or cutting process.

StartProduct UINT Input is only effective if CrossCutter = FALSEIn the case of more than one product per sealing or cuttingprocess (ProductsPerCut > 1), the start product can be definedover this input when activating the function block.

NumberOfKnives UINT Number of sealing jaws or knives available on the circumfer‐ence of the sealing or cutting cylinder. The sealing jaws orknives are positioned with an equal distance from each other.

StartCamTa‐bleID

MC_CAM_ID Start number of the first cam point table. A block of a maximumof 6 point tables is required.

KnifeDistance REAL Distance of the knives or sealing jaws. Corresponds to the cir‐cumference divided by the number of knives or sealing jaws[mm or inch].

FormatLength REAL Predefined cutting length or sealing distance / package length[mm or inch]

48/179 Bosch Rexroth AG | Electric Drivesand Controls

Rexroth IndraMotion MLC 04VRS | Library Description

Function Blocks for Application "Cross Cutter"

Page 55: Rexroth IndraMotion MLC 04VRS

Name Type Comment

CutSealArea REAL Within this area, the knife or the sealing jaw moves with thevelocity of the product. The velocity within this window can beinfluenced by additional inputs like, for example, OverSpeed,PushOut, cosine correction etc.If the input CrossCutter = FALSE, this input corresponds to thesealing length and will thus be defined in translatory units (e. g.in mm or inch).If the input CrossCutter is TRUE, this input functions rotatorilyas angle in [°].

PendelumFactor REAL Maximum pendulum radius in [%]0%: No pendular motion (standstill in the case of a large formatlength);100%: Maximum pendular motion (pendular motion possible upto the edges of the sealing or cutting area).

CorrectionProfile MB_CORR_PROFILE Selection of a special profile. The inputs "OverSpeed" or "Push‐Out" have to be used for the parameterization of the specialprofile.

Overspeed REAL Constant overspeed or reduction of the master axis speed inthe cutting area in [%]0%: No overspeed;100%: Double master axis speed;-50%: Half the master axis speed.This input is only effective if the optionCORR_PROFILE_OVERSPEED has been selected at the inputCorrectionProfile.

PushOut MB_PUSH_OUT_CONFIG Structure for the definition of a push out motion during the cutor the sealing processIn CorrectionProfile, the option CORR_PROFILE_PUSH_OUTor CORR_PROFILE_COS_COMP_AND_PUSH_OUT has to beselected. Otherwise, PushOut is deactivated and thus ineffec‐tive.

Resolution MB_RESOLUTION Specification of the resolution of the cam calculation by deter‐mining the number of supporting points in three stages (detailscan be found in the data structure MB_RESOLUTION)

SyncMode MC_SYNC_DIRECTION Synchronized direction (Shortest_Way, Catch_Up,Slow_Down)

StopDeceleration REAL In the case of a negative edge at Enable, the slave axis will bestopped with the deceleration defined here. Units according toaxis weighting in rotatory units.

VAR_OUTPUT InOperation BOOL Cross cutter runs without any failures

Error BOOL Processing completed with errors

ErrorID ERROR_ CODE Description of the analysis in the case of an error

ErrorIdent ERROR_ STRUCT Detailed analysis

Shutdown BOOL The cross sealer will be stopped with the deceleration rampStopDeceleration after a negative edge at Enable. During thistime, the output ShutDown is activated to display the defineddeceleration process.

Library Description | Rexroth IndraMotion MLC 04VRS Electric Drivesand Controls

| Bosch Rexroth AG 49/179

Function Blocks for Application "Cross Cutter"

Page 56: Rexroth IndraMotion MLC 04VRS

Name Type Comment

ChangeProfile BOOL If input variables like, for example, FormatLength are changedduring operation, a new motion profile will be calculated andloaded in the background. Subsequently, the new motion profilewill be used. Since this process requires several cycles, thisoutput will be activated for this period. If any other input varia‐bles are changed during this process (e g. FormatLength), thecurrent process will be interrupted and performed again with thenew data.The output will be reset once the newly calculated motion profilebecomes effective and the switching angle has been passedthrough.

ProfileReady BOOL This output will be set once the motion profile has been calcu‐lated, loaded and activated. The output will be deleted once themotion profile has become effective (after having passed theswitching angle).

ActualProduct UINT In the case of more than one product per sealing process (Pro‐ductsPerCut > 1), the product which is currently processed willbe displayed over this output. In the event of a rising edge atEnable, this output will be reset to the input variable StartProd‐uct.

CutCounter UINT The cut counter will be increased for each modulo overrun (360°→ 0°) of the slave axis. In the case of a rising edge at Enable,the cut counter will be reset to zero.

Fig.8-21: Interface description function block MB_CrossSealType01..

Name Type Minimum value Maximum value Default value Acceptance

Enable BOOL FALSE Continuous

CrossCutter BOOL FALSE Rising edge atEnable

StartMotionPro‐file

BOOL TRUE Continuous

ProductsPerCut UINT 1 32 1 Rising edge atEnable

StartProduct UINT 1 32 1 Rising edge atEnable

NumberOfKnives UINT 1 8 1 Rising edge atEnable

StartCamTa‐bleID

MC_CAM_ID 1 94 (for MLC)3 (for MLD)

1 Rising edge atEnable

KnifeDistance REAL > 0.0 mm/inch Not defined 100.0 mm/inch Rising edge atEnable

FormatLength REAL > 0.2* KnifeDis‐tance

30* KnifeDis‐tance

100.0 mm/inch Continuous*

CutSealArea REAL 0°0 mm

< 360°< KnifeDistance

10°10mm/inch

Continuous*

PendelumFactor REAL 0.0% 100% 0.0% Continuous*

50/179 Bosch Rexroth AG | Electric Drivesand Controls

Rexroth IndraMotion MLC 04VRS | Library Description

Function Blocks for Application "Cross Cutter"

Minimum, Maximum and DefaultValues of the Inputs

Page 57: Rexroth IndraMotion MLC 04VRS

Name Type Minimum value Maximum value Default value Acceptance

CorrectionProfile MB_CORR_PROFILE 0 4 0 Continuous*

Overspeed REAL - 50.0% +100.0% 0.0% Continuous*

PushOut MB_PUSH_OUT_CONFIG Continuous*

Resolution MB_RESOLUTION RESOLUTION_LOW

RESOLUTION_HIGH

RESOLUTION_MEDI‐UM

Rising edge atEnable

SyncMode MC_SYNC_DIRECTION 0 2 Catch_Up Rising edge atEnable

StopDeceleration REAL > 0.0 Not defined 1000.0 Continuous

* The acceptance of the inputs requires several cycles and will be dis‐played over the output „ChangeProfile“.

Fig.8-22: Minimum/maximum/default values of the function block MB_CrossSeal‐Type01

After processing has been enabled with the help of Enable, the function blockcalculates a motion profile as well as point tables for the cross sealer / crosscutter application in accordance with the specified input data. In this context,the function block also supports multiple cross sealers / cross cutters withequally distributed knives or sealing jaws.

For multiple cross cutters or cross sealers:In the case of multiple cross cutter or cross sealer applications, theparameterization of the mechanical gear has to be adjusted (seealso "Required Basic Conditions and Requirements" on page58).

For this purpose, the calculated motion sequence is divided into the followingtwo sections:● The cutting or sealing area is defined by the input variable CutSealArea.

Within this area, the knife or the sealing jaw moves with the velocity of theproduct. In addition, other functions like, for example, OverSpeed for over‐speed or a reduction of the velocity, PushOut for a push out motion or thecosine correction can be optionally added.The following input variables take effect in this area:– CorrectionProfile

provides special profiles in the cutting and sealing area (Overspeed,Pushout, cosine correction, PushOut + cosine correction)

– OverSpeedspecifies the increase or reduction of the velocity in CutSealArea [%].

– PushOut defines a special push out motion during the cutting or sealing proc‐ess

● Outside the cutting or sealing area, an optimum compensating motion withregard to jerk and energy will be performed if the specified format lengthFormatLength does not correspond to the distance of the knives or thesealing jaws KnifeDistance. Furthermore, a pendular motion of the crosssealer axis or cross cutter axis can be specified within selectable limits tooptimally use the acceleration capacity of the drive in the case of largeformat lengths.The following input variable take effect in this area:– PendelumFactor specifies the maximum admissible pendulum radi‐

us [%].

Library Description | Rexroth IndraMotion MLC 04VRS Electric Drivesand Controls

| Bosch Rexroth AG 51/179

Function Blocks for Application "Cross Cutter"

Functional Description

Page 58: Rexroth IndraMotion MLC 04VRS

The motion profile and the point tables will be automatically loaded and acti‐vated after having finished the calculation. During this period, the outputChangeProfile is activated. If the motion profile has become effective and if theslave axis has been synchronized, the output InOperation will be activated. Inthis state, the slave axis moves synchronously to the master axis using thepreviously calculated motion profile. In this state, the cut or seal counter Cut‐Counter will be increased with each revolution of the cross cutter or cross sealeraxis.If input variables like, for example, FormatLength will be changed during theoperation, a new motion profile will be calculated in the background. Since thisprocess requires several cycles, the output ChangeProfile will be activatedduring this period. The output ProfileReady will be activated if the new motionprofile has been activated but if the switching angle has not been passedthrough. If the switching angle is reached subsequently, the calculated motionprofile will become effective and the outputs ChangeProfile and ProfileReadywill be reset. If any input data will be changed again during the current changeof the motion profile, the changes will be discarded and the calculation with thenew input data will be restarted.The supporting points of the used point tables within the motion profile can beinfluenced with the help of the input Resolution. A high resolution results in amaximum accuracy but requires the most time during the calculation. Theamount of time can be reduced by the factor 3 or 9 with the settings Mediumand Low. The reduction of the resolution makes sense if different productlengths are continuously processed with high clock rates (> 500 cycles/minute).A negative edge at Enable results in a defined shutdown of the cross cutter /cross sealer. The slave axis will be decelerated until standstill with the definableramp StopDeceleration. During the defined shutdown, the output Shutdown willbe activated. The output Shutdown will be reset if the slave axis has reachedits standstill position or if an error has occurred.

Fig.8-23: Definition of the input KnifeDistance

52/179 Bosch Rexroth AG | Electric Drivesand Controls

Rexroth IndraMotion MLC 04VRS | Library Description

Function Blocks for Application "Cross Cutter"

Page 59: Rexroth IndraMotion MLC 04VRS

For weighting:The translatory input variables of the function block (e. g. Format‐Length) can be specified either in "mm" or in "inch". However, itmust be observed that all translatory input variables are specifiedwith the same unit (mm or inch).

Cross sealer applicationOver the input CrossCutter, the function block generally differentiates betweenthe cross cutter application and the cross sealer application:If the input CrossCutter is FALSE, a cross sealer application will be assumed.The control of a cross sealer cylinder of flow wrappers is a typical example forthis application. Here, the sealing jaw is to move with the product velocity andan optimum correction profile during the sealing process. Outside the sealingarea, a compensating motion is to be performed if the format length Format‐Length does not correspond to the distance of the sealing jaws KnifeDis‐tance. Furthermore, the cross sealer can be optionally controlled by anupstream, cycle-synchronous lock on and lock off motion to realize the func‐tions "NoGap / NoSeal" and "NoProduct / NoBag".The cross sealer application provides the following characteristics:● The input CutSealArea corresponds to the length of the sealing seam and

will thus be specified in translational units (mm or inch).● One master axis revolution (360°) corresponds to the foil feed of one

product length.● One sealing process can include several products. The number of prod‐

ucts per sealing process will be specified over the input ProductsPerCut.This input has a direct influence on the electronic gear of the used motionprofile.

● The first product will be set over the input StartProduct after a positiveedge at Enable. This variable has an internal effect on a position offset ofthe used motion profile. After a positive edge at Enable, the output Ac‐tualProduct will be set to the input StartProduct.

● Optionally, the synchronous lock on and lock off can be connected up‐stream over another function block MB_CamLock.

For starting the function block:If the master axis and the slave axis are in an optional position dur‐ing the start of the function block, the slave axis will perform adynamic synchronization to synchronize with the master axis. If thisis not desired, the master axis and the slave axis have to be set tothe position 0° or 180° prior to the start of the function block.

The following figure shows the master axis structure and the effects of thefunction block for the cross sealer application with optional, synchronous lockon and lock off.

Library Description | Rexroth IndraMotion MLC 04VRS Electric Drivesand Controls

| Bosch Rexroth AG 53/179

Function Blocks for Application "Cross Cutter"

Page 60: Rexroth IndraMotion MLC 04VRS

Fig.8-24: Master axis structure for cross sealer applications with lock on / lock offThe following figure shows an example of a signal/time diagram of the masteraxis and the cross sealer axis for one product per package.

54/179 Bosch Rexroth AG | Electric Drivesand Controls

Rexroth IndraMotion MLC 04VRS | Library Description

Function Blocks for Application "Cross Cutter"

Page 61: Rexroth IndraMotion MLC 04VRS

Fig.8-25: Example of a signal/time diagram with one product per sealing processThe following figure shows an example of a signal/time diagram of the masteraxis and the cross sealer axis for three products per package.

Fig.8-26: Example of a signal/time diagram with three products per sealing proc‐ess

Cross cutter applicationOver the input CrossCutter, the function block generally differentiates betweenthe cross cutter application and the cross sealer application.If the input CrossCutter is TRUE, a cross cutter application will be assumed.During the cutting process, the knife is to move with the velocity of the productand with an optional correction profile. Outside the cutting area, a compensating

Library Description | Rexroth IndraMotion MLC 04VRS Electric Drivesand Controls

| Bosch Rexroth AG 55/179

Function Blocks for Application "Cross Cutter"

Page 62: Rexroth IndraMotion MLC 04VRS

motion is to be performed if the format length FormatLength does not corre‐spond to the distance of the sealing jaws KnifeDistance.The cross cutter application provides the following characteristics:● The input CutSealArea corresponds to the angular range of the cross cut‐

ter in which it is moving with the velocity of the product and the optionalcorrection profile.

● One revolution of the master axis corresponds to the material feed lengthwhich, in turn, corresponds to the knife distance KnifeDistance.

● One cut per product is always assumed here. The inputs ProductsPer‐Cut and StartProduct are not effective (these inputs will be internally setto 1).

● The output ActualProduct is always set to "1".● The used electronic gear of the motion profile will be set to the gear ratio

FormatLength / KnifeDistance.This gear only allows integral values from 1 to 65535 for the numeratorand the denominator of the gear ratio. Thus, a maximum cutting lengthdeviation will result due to the quantization.If a deviation of the cutting lengths occurs due to the quantization, a re‐spective gear ratio fine adjustment will be calculated and specified. In thiscase, a drift between the master and the slave axis will be resulting dueto the system conditions.

The following figure shows the master axis structure and the effects of thefunction block for the cross cutter application:

56/179 Bosch Rexroth AG | Electric Drivesand Controls

Rexroth IndraMotion MLC 04VRS | Library Description

Function Blocks for Application "Cross Cutter"

Page 63: Rexroth IndraMotion MLC 04VRS

Fig.8-27: Master axis structure for the cross cutter applicationThe following figure shows an example of a signal/time diagram of the meas‐uring wheel axis, the master axis and the cross cutter axis for a short format(format length = 0.5* knife distance).

Library Description | Rexroth IndraMotion MLC 04VRS Electric Drivesand Controls

| Bosch Rexroth AG 57/179

Function Blocks for Application "Cross Cutter"

Page 64: Rexroth IndraMotion MLC 04VRS

Fig.8-28: Example of a signal/time diagram for a format length = 0.5* knife dis‐tance

The following figure shows an example of a signal/time diagram of the meas‐uring wheel axis, the master axis and the cross cutter axis for a large format(format length = 2* knife distance).

Fig.8-29: Example of a signal/time diagram for a format length = 2* knife distance● The sealing jaws / knives are symmetrically distributed over the circum‐

ference.● The 0° position of the slave axis is always exactly in the middle of Cut‐

SealArea.

58/179 Bosch Rexroth AG | Electric Drivesand Controls

Rexroth IndraMotion MLC 04VRS | Library Description

Function Blocks for Application "Cross Cutter"

Required Basic Conditions and Re‐quirements

Page 65: Rexroth IndraMotion MLC 04VRS

For drive parameterization:In the case of more than one sealing jaw or knife per circumference,the settings for the mechanical gear (drive parameters: S-0-0121,S-0-0122) have to be adjusted. These parameters have to be setin a way so that a 360° electrical movement (modulo value of theslave axis) corresponds to the distance between two knives or seal‐ing jaws.

Example:

Configuration of the Mechanical Gear When Using a Cross Cutter With FourEquidistantly Distributed Knives on the Cross Cutter Axis

Input variables:Mechanical gear at the motor, input revolutions ninput = 10Mechanical gear at the motor, output revolutions noutput = 1Number of knives per circumference nknife = 4

Calculation of the required gear setting:

● S-0-0121 = 10● S-0-0122 = 4If, with this parameterization, the cutting cylinder moves mechanically by 90°,this corresponds to an electrical movement of 360° ( = modulo value of the slaveaxis).

The function block does not perform an independent, motion-side error re‐sponse. In the case that an error is detected, no further motion command willbe transferred to the axis and the function block is left over the output Error. Anegative edge at Enable deletes the error output and the error state in thefunction block.The function block uses the error table F_RELATED-TABLE (16#0170).

ErrorID Additional1 Additional2 Description

ACCESS_ERROR(16#0004)

16#0003 16#0000 The function block was interrupted by another function block.

INPUT_RANGE_ERROR(16#0006)

16#0620 16#0001 The input ProductsPerCut is outside the admissible range (1..32).

INPUT_RANGE_ERROR(16#0006)

16#0620 16#0002 The input StartProduct is outside the admissible range (1..32).

INPUT_RANGE_ERROR(16#0006)

16#0620 16#0003 The input NumberOfKnives is outside the admissible range (1..8).

INPUT_RANGE_ERROR(16#0006)

16#0620 16#0004 The input StartCamTableID is outside the admissible range (1..94).

INPUT_RANGE_ERROR(16#0006)

16#0620 16#0005 The input KnifeDistance is outside the admissible range.

Library Description | Rexroth IndraMotion MLC 04VRS Electric Drivesand Controls

| Bosch Rexroth AG 59/179

Function Blocks for Application "Cross Cutter"

Troubleshooting

Page 66: Rexroth IndraMotion MLC 04VRS

ErrorID Additional1 Additional2 Description

INPUT_RANGE_ERROR(16#0006)

16#0620 16#0006 The input FormatLength is outside the admissible range.

INPUT_RANGE_ERROR(16#0006)

16#0620 16#0007 The input CutSealArea is outside the admissible range.

INPUT_RANGE_ERROR(16#0006)

16#0620 16#0008 The input PendulumFactor is outside the admissible range.

INPUT_RANGE_ERROR(16#0006)

16#0620 16#0009 The input Overspeed is outside the admissible range.

INPUT_RANGE_ERROR(16#0006)

16#0620 16#000A The input Resolution is outside the admissible range.

INPUT_RANGE_ERROR(16#0006)

16#0621 16#000A CutSealArea is too small in connection with the master axis velocityand the SERCOS cycle time.

Fig.8-30: Error codes function block MB_CrossCutSealType01

8.4 MX(L)_CrossCutterThe function block MX(L)_Crosscutter provides the basic functionalities for across cutter application (without print mark evaluation) and performs the fol‐lowing steps:● Synchronization of the slave axis on the master axis over a cam profile

followed by a continuous cut● Format switching on-the-fly● Immediate stop of the slave axis in a defined position

Fig.8-31: Function block MX(L)_CrossCutter

I/O type Name Data type Comment

VAR_IN_OUT Master AXIS_REF Reference to the master axis

Slave AXIS_REF Reference to the slave axis

60/179 Bosch Rexroth AG | Electric Drivesand Controls

Rexroth IndraMotion MLC 04VRS | Library Description

Function Blocks for Application "Cross Cutter"

Brief Description

Interface Description

Page 67: Rexroth IndraMotion MLC 04VRS

I/O type Name Data type Comment

VAR_INPUT Enable BOOL Activating the cross cutter functions

CutExecute BOOL A positive edge activates the synchronization phasefollowed by the cutting phase

StopExecute BOOL A positive edge stops the cutting phase and moves theslave axis to the position "StopPos"

FormatLength REAL Cut format, length of sheet

NumberOfKnives UINT Number of knives from 1 to 4 *1

Pos REAL The slave axis moves to the position "StopPos" if apositive edge is detected at the input "StopExecute"*2*3

Vel REAL The slave axis moves with the maximum velocity „Vel“to the position "StopPos", if a positive edge will be de‐tected at the input "StopExecute"*2*3

Acc_Dec REAL The slave axis moves to the position "StopPos" withthe maximum acceleration "Acc_Dec"*2*3

CamRelValues MB_CC_CAM_REL_VALUES Cam-related values

ResetCutCounter BOOL The cut counter will be reset through a positive edge(or "Enable= FALSE")

PosOf1stKnife REAL Position of the first knife. Is required to calculate thepositions of all knives. All knives are positioned with thesame distance from each other.

VAR_OUTPUT InSync BOOL The knife drum runs synchronously with the material

State UINT Current status of the cut cycle:0: Standstill and waiting phase1: Synchronous run phase2: Cutting phase3: Stop phase4: Error status

Error BOOL Displays an error, reset with "Enable = FALSE"

ErrorID ERROR_CODE Brief error description

ErrorIdent ERROR_STRUCT Error code

CutCounter UINT With each cut, the cut counter "CutCounter" will be in‐creased. The counter will be reset by "Enable =FALSE" or a positive edge at the input "ResetCut‐Counter".

1: The number of the knives used has an influence on the admissible for‐mat length ranges

2: Measurements in correspondence with the drive weighting (mm)3: New values become active during the standstill and waiting phase (Cy‐

cleState = 0)Fig.8-32: I/O interface of ML(X)_CrossCutterThe following diagram represents a cross cutter cycle from the start of the crosscutter to the stop of the knife drum. Normally, the knife drum will only be stoppedin the case of emergency (by doing so, the synchronization with the master axiswill be lost). A regular stop of the cutting process should be caused over themaster axis.

Library Description | Rexroth IndraMotion MLC 04VRS Electric Drivesand Controls

| Bosch Rexroth AG 61/179

Function Blocks for Application "Cross Cutter"

Signal/Time Diagram

Page 68: Rexroth IndraMotion MLC 04VRS

Fig.8-33: Cross cutter timing diagram

A measuring wheel running on the material determines the position and velocityof the material.The cross cutter is placed at the end of a production line for paper, corrugatedpaper or other materials. The end products of such machines are stackedsheets or plates with various lengths. Since a lot of different formats have to beproduced, the knife drum has to be operated in the electronic cam mode.

Fig.8-34: Process: Cutting individual sheets of the raw material

The basic issue in such applications is the format change without stopping themachine. The next figure shows a format change from format A to a shorterformat B.

Fig.8-35: Format change on the fly at constant material speed

The format length is the cutting length of the material. This value depends onthe synchronous format and the number of knives.

62/179 Bosch Rexroth AG | Electric Drivesand Controls

Rexroth IndraMotion MLC 04VRS | Library Description

Function Blocks for Application "Cross Cutter"

Functional Description

Format Length

Page 69: Rexroth IndraMotion MLC 04VRS

Fig.8-36: Format length

The synchronous format (synchronous length) is the cutting length resultingfrom one revolution of the cutting cylinder. The length corresponds to the cir‐cumference of the cylinder since both cylinders as well as the material arerunning at the same velocity.

Fig.8-37: Synchronous format

The format ratio defines the ratio between the circumference of the knife drumand the format length.

Fig.8-38: Format ratio

The format range is the value which will be calculated on the basis of the cir‐cumference of the cutting cylinder. It defines the minimum and maximum cuttinglengths which can be generated by each cam profile. A maximum of 4 camprofiles can be configured to support the complete format range of the appli‐cation. The number of the supported format ranges for one application dependson the number of used knives. The following table lists the minimum and max‐imum format length for each cam profile as well as the number of the respec‐tively supported knives:

Number of kni‐ves

Format range Minimum range Maximum range

1 Cam profile 1 0.5 x synchronous for‐mat

2 x synchronous format

Cam profile 2 2 x synchronous format 4 x synchronous format

Cam profile 3 4 x synchronous format 6 x synchronous format

Cam profile 4 6 x synchronous format 8 x synchronous format

Library Description | Rexroth IndraMotion MLC 04VRS Electric Drivesand Controls

| Bosch Rexroth AG 63/179

Function Blocks for Application "Cross Cutter"

Synchronous Format

Format Ratio

Format Ranges

Page 70: Rexroth IndraMotion MLC 04VRS

Number of kni‐ves

Format range Minimum range Maximum range

2 or 3 Cam profile 1 0.5 x synchronous for‐mat

1.5 x synchronous for‐mat

4 Cam profile 1 0.5 x synchronous for‐mat

Synchronous format

Fig.8-39: Supported format range based on the number of knives

The following sample application uses one knife which is mounted on a knifedrum with a circumference of 500 mm. As long as only one knife is used, all 4cam profiles will be supported. The format range for each cam profile is asfollows:

Format range Min. range Max. range

Cam profile 1 0.5 x 500 mm = 250 mm 2 x 500 mm = 1,000 mm

Cam profile 2 2 x 500 mm = 1,000 mm 4 x 500 mm = 2,000 mm

Cam profile 3 4 x 500 mm = 2,000 mm 6 x 500 mm = 3,000 mm

Cam profile 4 6 x 500 mm = 3,000 mm 8 x 500 mm = 4,000 mm

Fig.8-40: Example for 4 cam profiles available for one knife

Cam profiles cannot be selected by the user. The cam profiles areselected by the function block MX(L)_Crosscutter. The user speci‐fies the desired cutting length within the admissible range (e. g. 500mm to 4,000 mm) over the input FormatLength; then, the functionblock automatically selects the corresponding cam profile.

The following example shows the 4 different cam profiles which are availablefor one knife:

Fig.8-41: Four cam profiles for one knife

If 2 or 3 knives are used for the same application, cam profile 1 with the followingformat range will be supported only:

Format range Min. range Max. range

Cam profile 1 0.5 x 500 mm = 250 mm 1.5 x 500 mm = 750 mm

Fig.8-42: Example cam profile 1 for 2 or 3 knives

64/179 Bosch Rexroth AG | Electric Drivesand Controls

Rexroth IndraMotion MLC 04VRS | Library Description

Function Blocks for Application "Cross Cutter"

Example of a Format Range for 1Knife

Format Range for 2 or 3 Knives

Page 71: Rexroth IndraMotion MLC 04VRS

If 4 knives are used for the same application, only cam profile 1 with the fol‐lowing format range will be supported again:

Format range Min. range Max. range

Cam profile 1 0.5 x 500 mm = 250 mm Synchronous format = 500mm

Fig.8-43: Example cam profile 1 for 4 knives

If more than 1 knife is used, the entire overall format range for theapplication will be strongly reduced. Several knives increase thematerial production but restrict the cutting length range. Thus, thecircumference of the knife drum should be selected in a way to pro‐vide an acceptable format range if more than one knife is required.

The cut angle represents the area around the cut position in which the velocitieshave been synchronized. Its size depends on the mechanical construction ofthe knife.

Fig.8-44: Cut angle

The knife drum follows a master axis which corresponds to the web velocity.The velocity of the web is determined with the help of a measuring wheel.The master axis must be configured so that the material length transportedduring a revolution of the master axis corresponds to the circumference of theknife drum. With a linear cam, the knife would cut the "synchronous format".The cutting cycle has to be reduced or extended for other formats. The cuttingcycle (and thus, the cutting length) will be defined by the electronic gear.

Fig.8-45: Influence of the master axis on the cutting process

Library Description | Rexroth IndraMotion MLC 04VRS Electric Drivesand Controls

| Bosch Rexroth AG 65/179

Function Blocks for Application "Cross Cutter"

Format Range for 4 Knives

Cut Angle

Real Master Axis

Page 72: Rexroth IndraMotion MLC 04VRS

The cam profile always has a fixed reference to the master axis. The initializa‐tion profile generated with the CamBuilder or a PLC function block starts at 0°.The cut position in the synchronous part of the profile has been defined as 180°.While the knife is in contact with the material, the knife drum has to pass thesynchronous part of the profile (the cut angle). Depending on the mechanical0° position, the drum must be adjusted so that it meets this requirement.

Fig.8-46: Adjusting the knife position

CamBuilder is an IndraWorks off-line tool to perform cam profile calculations.It can be used to download profiles for testing purposes or to design initializationcam tables for applications which can be covered with fixed profiles.A special wizard is available to provide support during the calculation of camprofiles for cross cutter applications. Based on the input parameters for theformat length, the knife drum diameter and the cut angle, the wizard generatesa profile similar to the profile of the example shown in fig. 8-47 " Cross cutterwizard: Working area" on page 67.

66/179 Bosch Rexroth AG | Electric Drivesand Controls

Rexroth IndraMotion MLC 04VRS | Library Description

Function Blocks for Application "Cross Cutter"

Adjusting the Knife Position

Calculation of the Cam Profile

Page 73: Rexroth IndraMotion MLC 04VRS

Fig.8-47: Cross cutter wizard: Working area

Always activate the option "Use velocity limit".When using CamBuilder version 01Vxx, the option "Allow reversemovement" has to be deactivated in principle.

The output value "Synchronous area gradient" is the ΔTW parameter for thecalculation of the stroke factor.The function block generates the following error messages in Additional1/Ad‐ditional2 for the table "F_RELATED_TABLE", 16#0170:

ErrorID Additional1 Additional2 Description

RESOURCE_ERROR (16#0003) 16#0003 16#0000 Function block was interrupted by anotherfunction block.

RESOURCE_ERROR (16#0003) 16#0004 16#0000 Drive firmware version is not supported

Library Description | Rexroth IndraMotion MLC 04VRS Electric Drivesand Controls

| Bosch Rexroth AG 67/179

Function Blocks for Application "Cross Cutter"

Troubleshooting

Page 74: Rexroth IndraMotion MLC 04VRS

ErrorID Additional1 Additional2 Description

INPUT_RANGE_ERROR (16#0006) 16#0601 16#0001 Inputs are outside the valid range:Format length is outside the range - thevalid range is the format length < 0.5*Syn‐cFormat or format length > 8.0*SyncFor‐mat.

INPUT_RANGE_ERROR (16#0006) 16#0601 16#0002 Inputs are outside the valid range: Velocityis outside the valid range

INPUT_RANGE_ERROR (16#0006) 16#0601 16#0003 Inputs are outside the valid range: Accel‐eration is outside the valid range

INPUT_RANGE_ERROR (16#0006) 16#0601 16#0004 Inputs are outside the valid range: Positionis outside the valid range

INPUT_RANGE_ERROR (16#0006) 16#0601 16#0005 Inputs are outside the valid range: Cam-re‐lated values are not initialized correctly

INPUT_RANGE_ERROR (16#0006) 16#0601 16#0006 Slave axis Axis_Ref, the axis number isoutside the valid range

INPUT_RANGE_ERROR (16#0006) 16#0601 16#0007 The number of knives is higher than 4

ACCESS_ERROR (16#0004) 16#0602 16#0000 S-0-0051 is not configured in P-0-0131

ACCESS_ERROR (16#0004) 16#0603 16#0000 P-0-0755 could not be initialized

ACCESS_ERROR (16#0004) 16#0604 16#0000 Bit 4 of P-0-0088 is not set

ACCESS_ERROR (16#0004) 16#0605 16#0000 Bit 0 of P-0-0135 is not set in AT

ACCESS_ERROR (16#0004) 16#0606 16#0000 Bit 4 of parameter P-0-0086 is not set

DEVICE_ERROR INDRV_TABLE 16#XXXX 16#0000 See the respective IndraDrive documenta‐tion

Fig.8-48: Error codes of MX(L)_Crosscutter

8.5 ML_Crosscutter - Special Features of IndraMotion MLC● MLC Hardware● IndraDrive C or M● MLC Firmware● MPx drive firmware● The following functional packages have to be enabled in the drive:

– Closed Loop– Synchronization

IndraWorks MLCThe following parameterization has to be performed to ensure a proper func‐tionality of the cross cutter function block. Perform the following steps beforestarting the cross cutter function block.

1. Pre-reference the drive (absolute encoder recommended)2. Parameterize modulo weighting in the drive3. Download all 4 cams of the cross cutter:

Either with the help of the CAM Builder:You can create your own cams with the help of the "CamBuilder". Create4 different cams (see example in the following figure; in order to get moreinformation, see the description of the "CamBuilder")

68/179 Bosch Rexroth AG | Electric Drivesand Controls

Rexroth IndraMotion MLC 04VRS | Library Description

Function Blocks for Application "Cross Cutter"

Required Hardware

Required Firmware

Required SoftwareRequired Parameterization

Page 75: Rexroth IndraMotion MLC 04VRS

● Format length= 0.5 * synchronous format● Format length= 2.0 * synchronous format● Format length= 4.0 * synchronous format● Format length= 6.0 * synchronous format

Entire format range: ( 0.5...8 ) x synchronous format =250...4,000 mm

Fig.8-49: Cross cutter example format range

Library Description | Rexroth IndraMotion MLC 04VRS Electric Drivesand Controls

| Bosch Rexroth AG 69/179

Function Blocks for Application "Cross Cutter"

Page 76: Rexroth IndraMotion MLC 04VRS

Wizard inputs Values and parameters

Format range 1

Min. format length = 0.5 x 75 mm = 37.5 mmPLC constant for stroke factor calculation:rDeltaTW_05to20 = 0.048835Download:Cam table 1 → P-0-0072

Format range 2

Min. format length = 2.0 x 75 mm = 150 mmPLC constant for stroke factor calculation:rDeltaTW_20to40 = 0.195339Download:Cam table 2 → P-0-0092

70/179 Bosch Rexroth AG | Electric Drivesand Controls

Rexroth IndraMotion MLC 04VRS | Library Description

Function Blocks for Application "Cross Cutter"

Page 77: Rexroth IndraMotion MLC 04VRS

Wizard inputs Values and parameters

Format range 3

Min. format length = 4.0 x 75 mm = 300 mmPLC constant for stroke factor calculation:rDeltaTW_40to60 = 0.390678Download:Cam table 3 → P-0-0780

Format range 4

Min. format length = 6.0 x 75 mm = 450 mmPLC constant for stroke factor calculation:rDeltaTW_60to80 = 0.586017Download:Cam table 4 → P-0-0781

Fig.8-50: Example: Cam profile calculation

It is recommended to use four different rDeltaTW values in thePLC project; see also "CrossCutter_GlobalConstants"

- Or -Download already prepared, appropriate cam parameter files● Setup of the knife drum axis:

– Setup of the mechanical settings of the knife drum axis (travelranges, limits)

Library Description | Rexroth IndraMotion MLC 04VRS Electric Drivesand Controls

| Bosch Rexroth AG 71/179

Function Blocks for Application "Cross Cutter"

Page 78: Rexroth IndraMotion MLC 04VRS

● In order to switch the format between the cam and the cam distanceon-the-fly, the following settings have to be made (see the followingfigure):– Reduction (P-0-0755) to 1– P-0-0094 (cam switching angle), normally 180°– P-0-0144 (cam distance switching angle), the same as

P-0-0094– P-0-0088, bit 4= 1 (stroke switching at the same time like cam

switching)

Fig.8-51: Setting the parameters with IndraWorks

Parameter Explanation

Reduction / P-0-0755 A knife drum can carry more than one knife. Only 1 knife is currently suppor‐ted.

Stroke switching at the same timelike cam switching / P-0-0088, bit4=1

This value specifies if new gear settings are to be activated with a new strokefactor or when switching the cam.

Cam switching angle / P-0-0094 This value indicates that a cam is activated. A new cam will become imme‐diately active once the cam passes the "cam switching angle" (P-0-0094).In the case of cross cutter applications, the "cam distance switching angle"must be 180.0000 degrees.

Cam distance switching angle This option specifies if a new value for the stroke factor ("cam distance") hasbeen activated. A new stroke factor will become active once the cam passesthe "cam distance switching angle" (P-0-0144).In the case of cross cutter applications, the "cam distance switching angle"must be 180.0000 degrees.

Fig.8-52: Exemplary parameter setting with IndraWorks● Set the synchronization acceleration (P-0-0142) and the synchroni‐

zation velocity (P-0-0143) of the knife drum axis IndraWorks ▶ Slaveaxis ▶ Right mouse click ▶ Parameter editor ▶ P-0-0142 (andP-0-0143)

72/179 Bosch Rexroth AG | Electric Drivesand Controls

Rexroth IndraMotion MLC 04VRS | Library Description

Function Blocks for Application "Cross Cutter"

Page 79: Rexroth IndraMotion MLC 04VRS

● Set the synchronization direction P-0-0154), the synchronizationmode (P-0-0155) and the command value mode (S-0-0393) of theknife drum axis depending on the master drive polarity (P-0-0108)IndraWorks ▶ Right mouse click ▶ Individual parameter ▶ P-0-0154(and P-0-0155, and S-0-0393)

● To count the number of cuts, a certain area has to be determinedwithin the cut angle. The function block output "CutCounter" will beincreased once this area is passed. This area depends on the paperroll velocity and the task cycle time of the function block "ML_Cross‐Cutter". The area must be at least 5 degrees (max. vweb =400 rpm,Tcyc =2 ms of the function block "ML-Crosscutter"). For this purpose,the following parameters have to be set (see the following figure):– "Reference signal" to S-0-0051– Drive cam switch, switch-on threshold to 180 degrees– Drive cam switch, switch-off threshold to 185 degrees

Fig.8-53: Setting the cut angle counter● The cut position in the synchronous part of the profile has normally

been defined as 180°. For switching the knife drum into the right po‐sition (in relation to the master axis), the parameter S-0-0048 has tobe set to the correct value (normally 180 degrees if the zero positionof the knife corresponds to the cut position). For that purpose, the"parameter editor" of the "slave axis" can be used.

● Including the "ML_Technology0x.lib" library into the IndraLogic project:– The value for the synchronous format and the corresponding "del‐

taTW" values (resulting from the CAM Builder) have to be specifiedfor the input "CamRelValues" of the function block "ML_CrossCut‐ter" (see next figure).

Library Description | Rexroth IndraMotion MLC 04VRS Electric Drivesand Controls

| Bosch Rexroth AG 73/179

Function Blocks for Application "Cross Cutter"

Required IndraLogic Steps

Page 80: Rexroth IndraMotion MLC 04VRS

Fig.8-54: IndraLogic: Implementation of the cam values for the function blockML_CrossCutter based on the cam calculation

These values can be found in the "CAMbuilder" application wizard.

● Call the provided function block in the IndraLogic project.The function block should run in a high-prior motion task with a cycle timeof ≤ 4ms.

Before starting the function block, the function block "MC_Power"must be processed without errors. Then start the CrossCutter func‐tion block when the drive has been enabled.

74/179 Bosch Rexroth AG | Electric Drivesand Controls

Rexroth IndraMotion MLC 04VRS | Library Description

Function Blocks for Application "Cross Cutter"

Page 81: Rexroth IndraMotion MLC 04VRS

9 Function Block for Application "Register Controller"9.1 Register Controller - Overview and Application9.1.1 Introduction and Overview

The register controller function block will be used for paper, printing, packagingand foil applications using synchronized drives (e. g. angle or cam synchroni‐zation) for feeding material through a machine.In these applications, variations in the material characteristics, slipping materialand the production process have an influence on the accuracy of the materialposition. The register controller function block determines the actual position ofthe registration marks which are placed on the material and is thus able to detectdeviations from the command value. Furthermore, it calculates the requiredcorrection value with the help of a P or PI controller. This procedure ensuresthat the registration marks are set precisely to their command value and do notdrift away.

9.1.2 Register Controller – Examples for ApplicationsDie Cutting in Label Printing

The following example describes a die cutting process on a label printing ma‐chine:

Fig.9-1: Register control of a die cutterLabels are printed on a composite material including a backing foil and a self-adhesive top layer. The unprinted grid is stamped and re-wound.The task of the register controller is to adjust the die cutting drum on the printedweb.The die cutting drum runs in angle-synchronized mode. The adjustment withregard to the printed web is accomplished by adjusting the angular offset. Thesensor is connected with the drive of the die cutting drum. The angular position(the actual position value) of the die cutting drum is determined over the sensorsignal.The command value for the register controller corresponds to the drum positionwhich is exactly aligned with the product. The correction value will be calculatedon the basis of the difference between the command value and the actual valueand by adding this value to the current angular offset.The most important settings for the touch probe, the register controller and thedrive operation mode of this application are:● Measured value (touch probe function) = Position feedback 1 value

(S-0-0051)

Library Description | Rexroth IndraMotion MLC 04VRS Electric Drivesand Controls

| Bosch Rexroth AG 75/179

Function Block for Application "Register Controller"

Page 82: Rexroth IndraMotion MLC 04VRS

● Control variable (ControlledValueIDN) = additive position command value(P-0-0691)

● Drive operation mode = angular synchronization

Insetter ControlThe following figure shows an insetter control in a material infeed application:

Fig.9-2: Insetter control of the material infeedThe material infeed unit transports pre-printed material to a printing machine.After the pre-printing and drying process, the web has shrunk, i. e. the formatlength does not exactly correspond to the nominal format. The web has to beelongated again for further processing.The task of the register controller is to control the velocity of the material infeedrollers so that the pre-printed web is elongated to the nominal paper format.This implies that one paper format is transported during each revolution of themaster axis.The command value of the register controller is related to the master axis.The material infeed roller runs in the speed synchronization mode. The velocityof the infeed roller is controlled over the gear ratio fine adjust. The elongationof the web is correct if the print mark is always detected in the same masteraxis position by the mark reader. The master axis position will be detected bythe sensor signal. The mark reader is connected with the touch probe input ofthe material infeed roller drive.The most important settings for the touch probe, the register controller and thedrive operation mode of this application are:● Measured value (touch probe function) = resulting master axis position

(P-0-0775)● Control variable (ControlledValueIDN) = gear ratio fine adjust (P-0-0694)● Drive operation mode = speed synchronization

Flow WrapperThe following figure shows a sideseal axis (foil infeed axis) of a flow wrapperapplication:

76/179 Bosch Rexroth AG | Electric Drivesand Controls

Rexroth IndraMotion MLC 04VRS | Library Description

Function Block for Application "Register Controller"

Page 83: Rexroth IndraMotion MLC 04VRS

Fig.9-3: Foil infeed axis of a flow wrapper applicationIn this application, the product will be fed into the packaging machine with thehelp of an infeed belt. The foil infeed axis (sideseal axis) runs synchronouslywith the infeed belt and pulls in the foil. During this process, the correct align‐ment of the foil to the product as well as an equal product length has to beensured.Slippage between the material and the infeed rollers as well as inaccuracies ofthe material can result in positioning errors between the servo motor and thefoil. Thus, registration marks are printed on the material allowing a correctionof positioning errors.Prints, pictures and dirt on the product can result in unwanted signals at theprint mark sensor input. Thus, an expectation window for the print mark signalis required. The drive touch probe function is only active within the expectationwindow to measure the print mark position. Furthermore, it is required to detectmissing marks within the expectation window as well.The correction motion is proportional to the difference between the measuredvalue and the command value. Due to mechanical limits of the machine, thecorrection motion has to be limited to a user-defined value.The register controller has to adjust the foil infeed axis to the printed foil to adjustthe foil to the product position.The foil infeed axis runs in the angular synchronization mode. The registercontroller calculates an additive position command value for the foil infeed axisby which the foil will be correctly readjusted.

Library Description | Rexroth IndraMotion MLC 04VRS Electric Drivesand Controls

| Bosch Rexroth AG 77/179

Function Block for Application "Register Controller"

Page 84: Rexroth IndraMotion MLC 04VRS

The most important settings for the touch probe, the register controller and thedrive operation mode of this application are:● Measured value (touch probe function) = resulting master axis position

(P-0-0775)● Control variable (ControlledValueIDN) = additive position command value

(P-0-0691)● Drive operation mode = angular synchronization

9.2 MB_RegisterControllerType01The register controller function block „MB_RegisterControllerType1“ providesthe following functionalities:● Start and monitoring of the drive touch probe● Calculation of a correction value on the basis of the measured values and

the command value using a P or PI controller (comparable to the indirectcontrol algorithm of SYNAX).

● Dead time compensation of the measured signal due to the dead time ofthe used sensor

● Preset function● Pause function● Minimum and maximum limitation of the calculated control value● Expectation window of the measured signal

Fig.9-4: Function block MB_RegisterControllerType01

I/O type Name Data type Comment

VAR_IN_OUT ControlledAxis AXIS_REF Reference to the controlled axis

MeasuredAxis AXIS_REF Reference to the measured axis

78/179 Bosch Rexroth AG | Electric Drivesand Controls

Rexroth IndraMotion MLC 04VRS | Library Description

Function Block for Application "Register Controller"

Brief Description

Interface Description

Page 85: Rexroth IndraMotion MLC 04VRS

I/O type Name Data type Comment

VAR_INPUT Enable BOOL Activates the register controller

Pause BOOL The input "Pause" is only evaluated as long as the input"Enable" is active. A pause is intended to fix the constantcontrol variable "ControlValue". in this case, the control de‐viation = command value - actual value will be set to zero;thus, the control variable will be fixed. Touch probe eventswill still be monitored and the controlled parameter will still beinfluenced.

Preset BOOL The input "Preset" is only evaluated as long as the inputs"Enable" and "Pause" are active. A positive edge at this inputresults in the I part of the controller being set to PresetVal.Furthermore, this function sets the controlled parameter tothe absolute value "PresetVal".

Polarity BOOL The polarity of the controlled value is inverse as long as theinput is TRUE

ProbeSelect PROBE_NUMBER Specification of the touch probe input selected for the signalmeasurement:PROBE1 = 1:Touch probe 1 is selected,PROBE2 = 2:Touch probe 2 is selected

ProbeEdge PROBE_EDGE Specification of the touch probe signal edge selected for thesignal measurement:POS_EDGE = 1:A positive edge is usedNEG_EDGE = 2:A negative edge is used

ControlledValueIDN DINT SERCOS IDN of the controlled parameterThe following IDNs will be supported:P-0-0691, P-0-0694, P-0-0695, P-0-0061.With ControlledValueIDN = S‑0‑0000, writing to the parame‐ter will be deactivated. The control value can then be man‐ually copied to a certain drive parameter.

Setpoint REAL Desired command value

PControl REAL Proportional gain of the PI controllerIf 0, the proportional part of the controller will be deactivatedand the proportional gain will be internally set to 0 so that thecontroller acts as pure I controller.

IControl REAL Integral time Tn of the PI controller. If set to 0, the integralpart of the PI controller will be deactivated. Units [10-2] likesyntax parameter A-0-0092.

SensorDeadTime REAL Dead time of the sensor in µsThis value will be used for the dead time compensation of themeasured signal.

HighLimit REAL Maximum value for ControlValue

LowLimit REAL Minimum value for ControlValue

PresetVal REAL The value assigned to the system if the preset function (Pre‐set) becomes active

Library Description | Rexroth IndraMotion MLC 04VRS Electric Drivesand Controls

| Bosch Rexroth AG 79/179

Function Block for Application "Register Controller"

Page 86: Rexroth IndraMotion MLC 04VRS

I/O type Name Data type Comment

VAR_OUTPUT InOperation BOOL Register controller is active

Error BOOL Indicates an error. Set "Enable" = FALSE to reset the error.

ErrorID INT (Enum) ERROR_CODE: Brief error description

ErrorIdent ERROR_STRUCT Detailed error description

PresetDone BOOL Preset function (Preset) has been executed

HighLimitAck BOOL Upper limit is activeControlValue is higher but will be limited to HighLimit

LowLimitAck BOOL Lower limit is activeControlValue is lower but will be limited to LowLimit

Counter UINT The counter will be increased if the touch probe is detected.

MissingMarks UINT Counter of the missing marks

ControlValue REAL Controller value calculated by the register controller

ActualValue REAL Actual value used by the register controller

Deviation REAL Difference = command value - actual value of the registercontroller

ParameterControlVal‐ue

REAL Calculated control parameter transferred to the drive

Fig.9-5: I/O interface of the function block MB_RegisterControllerType1The following diagram displays the signal timing of the function block MB_Reg‐isterControllerType1 including pause and preset function.

Fig.9-6: Signal/time diagram of the function block MB_RegisterControllerType01with pause and preset function

A sensor detects marks, perforations, a cut or a laminated joint on the materialand transfers this information to the drive as a binary signal.The touch probe function of the drive determines the edge of the sensor signaland saves the position in accordance with the selected touch probe signal.● Actual drive position (parameter: S-0-00051, S-0-0053)● Master axis position (parameter: P-0-0052, P-0-0227, P-0-0753,

P-0-0775, P-0-0776, P-0-0778)

80/179 Bosch Rexroth AG | Electric Drivesand Controls

Rexroth IndraMotion MLC 04VRS | Library Description

Function Block for Application "Register Controller"

Signal/Time Diagram

Functional Description

Page 87: Rexroth IndraMotion MLC 04VRS

The touch probe function records position data with a resolution of 0.5 µs. Thesensor has to provide a 24 V signal with a ramp response time in the µs range.The sensor-specific dead time can be compensated over the input "Sensor‐DeadTime" of the function block MB_RegisterControllerType01.The register controller calculates the control deviation between the measuredvalue and the command value position and determines the correction value assoon as a new edge of the sensor signal has been detected.Changes of the correction value will be performed over a trapezoidal profile, avelocity ramp, a PT1 filter or instantaneously depending on the selected con‐troller parameter (input "ControlledValueIDN" of the function block). The fol‐lowing table displays the available controller parameters ("ControlledVa‐lueIDN") as well as the resulting motion profile of all available drive operationmodes with synchronization.

Fig.9-7: Supported controller parameters and their behavior

The following figure represents the internal block diagram of the register con‐troller.

Library Description | Rexroth IndraMotion MLC 04VRS Electric Drivesand Controls

| Bosch Rexroth AG 81/179

Function Block for Application "Register Controller"

Block Diagram

Page 88: Rexroth IndraMotion MLC 04VRS

Fig.9-8: Block diagram of the register controller

Fig.9-9: Block diagram of the internal PI controllerThe function block generates the following error messages in Additional1/Ad‐ditional2 for the table „F_RELATED_TABLE“ 16#0170:

ErrorID Additional1 Additional2 Description

RESOURCE_ERROR(16#0003)

16#0003 16#0000 The function block has been interrupted by another functionblock. S-0-0170 <> 3 or touch probe has been deactivated whilethe input Enable was active.

RESOURCE_ERROR(16#0003)

16#0004 16#0000 Drive firmware is not supported

STATE_MACHINE_ERROR(16#0005)

16#0006 16#0000 Invalid status of the function block

INPUT_RANGE_ERROR(16#0006)

16#0404 16#0001 Function block input "ProbeSelect" or "ProbeEdge" is outsidethe admissible range

INPUT_RANGE_ERROR(16#0006)

16#0801 16#0001 Selected "ControlledValueIDN" is not supported

INPUT_RANGE_ERROR(16#0006)

16#0801 16#0002 Upper limit < lower limit

82/179 Bosch Rexroth AG | Electric Drivesand Controls

Rexroth IndraMotion MLC 04VRS | Library Description

Function Block for Application "Register Controller"

Troubleshooting

Page 89: Rexroth IndraMotion MLC 04VRS

ErrorID Additional1 Additional2 Description

INPUT_RANGE_ERROR(16#0006)

16#0801 16#0003 Input variable PControl < 0

INPUT_RANGE_ERROR(16#0006)

16#0801 16#0004 Input variable IControl < 0

INPUT_RANGE_ERROR(16#0006)

16#0801 16#0005 Sensor dead time < 0

RESOURCE_ERROR(16#0003)

16#0802 16#0000 Selected touch probe number and edge do not correspond tothe touch probe configuration (S-0-0169)

RESOURCE_ERROR(16#0003)

16#0803 16#0000 Continuous measurement is not active (S-0-0169)

RESOURCE_ERROR(16#0003)

16#0804 16#0000 Touch probe signal is not configured or the selected touch probesignal is not supported

ACCESS_ERROR (16#0003) 16#0805 16#0001 The required touch probe value S-0-0130 is not configured inthe optional cyclical AT channel of the measured axis.

ACCESS_ERROR (16#0003) 16#0805 16#0002 The required touch probe value S-0-0131 is not configured inthe optional cyclical AT channel of the measured axis.

ACCESS_ERROR (16#0003) 16#0805 16#0003 The required touch probe value S-0-0132 is not configured inthe optional cyclical AT channel of the measured axis.

ACCESS_ERROR (16#0003) 16#0805 16#0004 The required touch probe value S-0-0133 is not configured inthe optional cyclical AT channel of the measured axis.

ACCESS_ERROR (16#0003) 16#0805 16#0005 The required touch probe value S-0-0409 is not configured inthe optional cyclical AT channel of the measured axis.

ACCESS_ERROR (16#0003) 16#0805 16#0006 The required touch probe value S-0-0410 is not configured inthe optional cyclical AT channel of the measured axis.

ACCESS_ERROR (16#0003) 16#0805 16#0007 The required touch probe value S-0-0411 is not configured inthe optional cyclical AT channel of the measured axis.

ACCESS_ERROR (16#0003) 16#0805 16#0008 The required touch probe value S-0-0412 is not configured inthe optional cyclical AT channel of the measured axis.

ACCESS_ERROR (16#0003) 16#0805 16#0009 The required touch probe value S-0-0405, bit 0 is not configuredin the signal control word of the measured axis.

ACCESS_ERROR (16#0003) 16#0805 16#000A The required touch probe value S-0-0406, bit 0 is not configuredin the signal control word of the measured axis.

ACCESS_ERROR (16#0003) 16#0805 16#000C The required parameter P-0-0691 is not configured in the op‐tional cyclical MDT channel of the controlled axis.

ACCESS_ERROR (16#0003) 16#0805 16#000D The required parameter P-0-0061 is not configured in the op‐tional cyclical MDT channel of the controlled axis.

ACCESS_ERROR (16#0003) 16#0805 16#000E The required parameter P-0-0695 is not configured in the op‐tional cyclical MDT channel of the controlled axis.

ACCESS_ERROR (16#0003) 16#0805 16#000F The required parameter P-0-0694 is not configured in the op‐tional cyclical MDT channel of the controlled axis.

ACCESS_ERROR (16#0003) 16#0805 16#0010 The required parameter P-0-0224 is not configured in the op‐tional cyclical AT channel of the measured axis.

ACCESS_ERROR (16#0003) 16#0805 16#0011 The required parameter P-0-0225 is not configured in the op‐tional cyclical AT channel of the measured axis.

ACCESS_ERROR (16#0003) 16#0805 16#0012 The required parameter P-0-0332 is not configured in the op‐tional cyclical AT channel of the measured axis.

Library Description | Rexroth IndraMotion MLC 04VRS Electric Drivesand Controls

| Bosch Rexroth AG 83/179

Function Block for Application "Register Controller"

Page 90: Rexroth IndraMotion MLC 04VRS

ErrorID Additional1 Additional2 Description

ACCESS_ERROR (16#0003) 16#0805 16#0013 The required parameter P-0-0776 is not configured in the op‐tional cyclical AT channel of the measured axis.

ACCESS_ERROR (16#0003) 16#0805 16#0014 The required parameter P-0-0764 is not configured in the op‐tional cyclical AT channel of the measured axis.

ACCESS_ERROR (16#0003) 16#0805 16#0015 The required parameter P-0-0777 is not configured in the op‐tional cyclical AT channel of the measured axis.

ACCESS_ERROR (16#0003) 16#0805 16#0016 The required parameter P-0-0779 is not configured in the op‐tional cyclical AT channel of the measured axis.

ACCESS_ERROR (16#0003) 16#0805 16#0017 The measured or controlled axis is an MLD M slave axis butparameter P-0-1367, bit 6 is not TRUE.

ACCESS_ERROR (16#0003) 16#0806 16#0000 The input / the inputs "ProbeSelect" or "ProbeEdge" or "Con‐trolledValueIDN" has / have been changed while Enable wasTRUE.

Fig.9-10: Error codes of the function block MB_RegisterControllerType01

9.3 MB_RegisterControlleType01 - Special Features of the Indra‐Motion MLC

● MLC Hardware● IndraDrive C or M● MLC Firmware● MPx Drive Firmware MPH03V14 or higher● IndraWorks MLCThe following axis name definitions are used in the text below:● Measured-Axis: Axis which is connected to the touch probe sensor● Controlled axis: The axis which is controlled by the Register Controller.

Here the control variable has an effect.The following parameterization is required:● Parameterization of the touch probe function of the measured axis:

IndraWorks ▶ Project tree ▶ Real Axes Touch probe dialog of the "Meas‐ured Axis".

The RegisterController1 function block expects the setting "Contin‐uous Measurement" of the touch probe function. In addition,"Marker Failure Monitoring" is required in case the expectation win‐dow of the touch probe is used.

● Inclusion of the following parameters into the optional cyclical AT data ofthe "Measured Axis" IndraWorks ▶ Project tree ▶ Real Axes ▶ Rightmouse click on Measured Axis ▶ Communication ▶ Cyclical SERCOS datachannel, insert the parameters from the following table into the "Cyclicalread access (AT)" area.

Used touch probe Signal Required cyclical AT data

TouchProbe1, pos. edge S-0-0130, S-0-0409 and P-0-0224

TouchProbe1, neg. edge S-0-0131, S-0-0410 and P-0-0224

84/179 Bosch Rexroth AG | Electric Drivesand Controls

Rexroth IndraMotion MLC 04VRS | Library Description

Function Block for Application "Register Controller"

Required Hardware

Required Firmware

Required SoftwareRequired Parameterization

Page 91: Rexroth IndraMotion MLC 04VRS

Used touch probe Signal Required cyclical AT data

TouchProbe2, pos. edge S-0-0132, S-0-0411 and P-0-0225

TouchProbe2, neg. edge S-0-0133, S-0-0412 and P-0-0225

Fig.9-11: Required optional cyclical AT data of the measured axis depending onthe used touch probe number and edge

Configured touch probe signal Required cyclical AT data

S-0-0051, Position feedback 1 value No data required

S-0-0053, Position feedback 2 value No data required

P-0-0052, Actual position of the measur‐ing encoder

P-0-0332

P-0-0227, Cam profile, access angle P-0-0777

P-0-0753, Position actual value in actualvalue cycle

No data required

P-0-0775, Resulting master axis position P-0-0764

P-0-0776, Effective master axis position P-0-0777

P-0-0778, Synchronous position com‐mand value

P-0-0779

Fig.9-12: Required optional cyclical AT data of the measured axis depending onthe used touch probe signal

● Inclusion of the following bits into the signal control word of the "MeasuredAxis" IndraWorks ▶ Project tree ▶ Real Axes ▶ Right mouse click onMeasured Axis ▶ Communication ▶ Signal control word, insert the bitsfrom the following table into the signal control word.

Used touch probe Signal Required optional Control bit

TouchProbe1 S-0-0405 Bit 0

TouchProbe2 S-0-0406 Bit 0

Fig.9-13: Required optional signal control bits of the measured axis● Inclusion of the controlled parameters into the optional cyclical MDT data

of the "Controlled Axis" IndraWorks ▶ Project tree ▶ Real Axes ▶ Rightmouse click on Controlled Axis ▶ Communication ▶ Cyclical SERCOSdata channel, insertion of the controlled parameters (like P-0-0691,P-0-0061, P-0-0695, P-0-0694) into the "Cyclical write access (MDT)"area.

● Including library ML_Technology0x.lib in the IndraLogic-Project. This li‐brary is provided with the installation of the MLC target

● Call the provided FB in your IndraLogic project. The FB’s should run in ahigh-prior cyclical task with a cycle time of ≤ 8ms because the responsetime of the function block depends on the cycle time

Library Description | Rexroth IndraMotion MLC 04VRS Electric Drivesand Controls

| Bosch Rexroth AG 85/179

Function Block for Application "Register Controller"

Required IndraLogic Steps

Page 92: Rexroth IndraMotion MLC 04VRS

Bosch Rexroth AG | Electric Drivesand Controls

Rexroth IndraMotion MLC 04VRS | Library Description

Page 93: Rexroth IndraMotion MLC 04VRS

10 Function Block for Application "Tension Controller"10.1 Introduction and Overview

Depending on the measured value of a load cell, the tension controller (chapter10.2 " ML_TensionControlLoadCellType01" on page 87) controls the tensionto the desired command value. The actual value must be provided to the con‐troller and is normally measured over an analog input.

Fig.10-1: Schematic diagram of a tension controlThe tension controller is designed as a PI controller (alternatively as an adaptivePI controller). The controller output affects the gear fine adjust of the slave axis(pull roll). In addition, the controller can hold the tension at standstill by writingto the additive master axis position.The slave axis can either be operated in the velocity-synchronous or in theangle-synchronous operation mode.

10.2 ML_TensionControlLoadCellType01The Tension Controller controls, dependent on the measurement of a load cell,the tension to the desired setpoint value.

Library Description | Rexroth IndraMotion MLC 04VRS Electric Drivesand Controls

| Bosch Rexroth AG 87/179

Function Block for Application "Tension Controller"

Brief Description

Page 94: Rexroth IndraMotion MLC 04VRS

Fig.10-2: Interface of block ML_TensionControlLoadCellType01

Name Type Comment

VAR_IN_OUT Master AXIS_REF Reference to the master axis

Slave AXIS_REF Reference to the slave axis

Setpoint REAL Setpoint value of the tension. This is normally set by the user, but canalso even be changed by the function block (see "SetpointLock").

VAR_INPUT Enable BOOL If this input is set, the FB works.

Preset BOOL With the rising edge of this input the controller output is set to the valueparameterized in PresetValue and with success the output "Preset‐Valid" is set.

DisableCy‐clicWrites

BOOL With set input the cyclic data are not written directly in the optionalcyclical data container, but is issued only at the output.

Adaptive BOOL With set input an adaptive P-Gain is used for the control.

SetpointLock BOOL With rising edge at the input, the current tension actual value is takenover as the new setpoint for the Tension Controller.

Pause BOOL With set input the Tension Controller is stopped and the I-Part of theoutput value is frozen.

NegPolarity BOOL With set input a negative sign is provided to the control variable "Cor‐rectionValue" and "AdditiveVelInc".

Feedback REAL Current actual value of the tension.

PresetValue REAL Value to which the controller output is set if input "Preset" is set.

HighLimit REAL Possible maximal value of the controller output. If the control variablecalculated by the controller exceeds this value, the control variable islimited and the I-Part of the controller is no longer added up.

88/179 Bosch Rexroth AG | Electric Drivesand Controls

Rexroth IndraMotion MLC 04VRS | Library Description

Function Block for Application "Tension Controller"

Interface Description

Page 95: Rexroth IndraMotion MLC 04VRS

Name Type Comment

LowLimit REAL Possible minimal value of the controller output. If the control variablecalculated by the controller is less than this value, the control variableis limited and the I-Part of the controller is no longer added up.

Ki TIME Reset time of the I-Controller

KpLowVel REAL P-Gain of the controller if "Adaptive" = FALSE. Otherwise the value isequal to the value of the P-Gain at low master axis velocities.

MasterVelo‐cityLow

REAL Only effective if "Adaptive" = TRUE. Master axis velocity from that the"KpLowVel" is used.

KpHighVel REAL P-Gain of the controller at high master axis velocities. If "Adaptive" =FALSE, this input has no effect.

MasterVelo‐cityHigh

REAL Only effective if "Adaptive" = TRUE. Master axis velocity from that the"KpHighVel" is used.

WindowVal‐ue

REAL Process size window

WindowMax‐Value

REAL Maximal value of process size

WindowMin‐Value

REAL Minimal value of process size

StandstillVel REAL Additive velocity for the controller at standstill.

StandstillVel‐Deadband

REAL This value determines the value of the control deviation below that thetension velocity is reduced by the regulation in standstill.

StandstillEn‐able

BOOL At set input the specified additive velocity in "StandstillVel" is effective.

VAR_OUTPUT InOperation BOOL The Tension Controller works and the outputs are valid

PresetValid BOOL If this output is active, the Preset input is evaluated and output "Set‐point" has accepted the value "PresetValue"

HighLimitAck BOOL This output is set, if the control variable calculated by the controller isgreater than the specified value in "HighLimit".

LowLimitAck BOOL This output is set, if the control variable calculated by the controller isless than the specified value in "LowLimit".

WindowIn BOOL If TRUE, the process size is within the parameterized window.

WindowMax BOOL If TRUE, the process size is above the parameterized maximal value.

WindowMin BOOL If TRUE, the process size is below the parameterized minimal value.

Correction‐Value

REAL Control variable of the Tension Control

AdditiveVe‐lInc

DINT Additive velocity in increments per SERCOS cycle

Error BOOL Signals an error. With "Enable" = FALSE the error is cleared

ErrorID ERROR_CODE Error short description

ErrorIdent ERROR_STRUCT Detailed error description according to error table

Fig.10-3: Interface of ML_TensionControlLoadCell

Library Description | Rexroth IndraMotion MLC 04VRS Electric Drivesand Controls

| Bosch Rexroth AG 89/179

Function Block for Application "Tension Controller"

Page 96: Rexroth IndraMotion MLC 04VRS

In the following the several functions of the inputs of the function block arenearer elucidated. Generally applies for all inputs that they are continued eval‐uated with set input "Enable". This means, that changes of the inputs becomeimmediately effective without toggling the input "Enable".All input values get assigned the value 0 or FALSE inside if their inputs are notconnected.Exception of this rule is the "PresetValue" input that is only accepted with risingedge of input "Preset". Also input "DisableCyclicWrites" that is only evaluatedwith rising edge of input "Enable".The entire effectiveness of the Tension Controller is shown in the following flowchart. The greyed names are internal variables or parameters. All other namescorrespond to the in- and outputs of the block.The tension is directly written to the drive via parameter "Gear fine adjust(P-0-0694)" if input "DisableCyclicWrites" is inactive. Besides, the value is al‐ways available via output "CorrectionValue".

Fig.10-4: Flow chart of the Tension Controller for the control via gear fine adjustFor the control at standstill, additionally another path can be switched ative andin this it is written to the "Additive master axis position (P-0-0054)" if "Disable‐CyclicWrites" is inactive. At the same time this value is always available viaoutput "AdditiveVelInc".

Fig.10-5: Flow chart of the Tension Controller for the control at standstillFor reasons of clarity the flow chart contains not the limitations "WindowVal‐ue", "WindowMaxValue", "WindowMinValue" as well as whose status displays.By setting of input "Preset" a start value for the control variable is given viavariable "PresetValue". At the same time the internal variables of the controllerare set in that way, that a start without jerk takes place.

90/179 Bosch Rexroth AG | Electric Drivesand Controls

Rexroth IndraMotion MLC 04VRS | Library Description

Function Block for Application "Tension Controller"

Functional Description

Preset PresetValid

Page 97: Rexroth IndraMotion MLC 04VRS

The output "PresetValid" is set, if "PresetValue" at the output of the TensionControl is valid.

The "Preset" input is only effective with rising edge.

The input "DisableCyclicWrites" determines whether the values calculated bythe function block are written directly via the cyclical channel (FALSE) or areonly available at the block output (TRUE).With it is possibly to cascade several blocks while "DisableCyclicWrites" is setto TRUE. Then only the outputs ("CorrectionValue" and "AdditiveVelInc") canbe used and modified. But then it is still necessary that the user self writes thevalues in the optional cyclical channel.If "DisableCyclicWrites" is set toTRUE, then the check whether the optionalcyclical parameters are also configured, is not executed.The P-Gain may be alternatively forced as constant P-Gain or as adaptive P-Gain. Via input "Adaptive" it is chosen between adaptive or constant P-Gain.By setting of "Adaptive" to TRUE, the adaptive P-Gain is selected.If a constant P-Gain is selected, only the value in "KpLowVel" is effective forthe P-Gain.If the adaptive P-Gain is selected, the inputs "KpLowVel", "KpHighVel", "Mas‐terVelocityLow" and "MasterVelocityHigh" must be connected. Then the char‐acteristic looks like as follows:

Fig.10-6: Characteristic of adaptive P-GainThe several inputs characterize the characteristic for positive master axis ve‐locities. The characteristic for negative master axis velocities result from mir‐roring at the axis of the P-Gain. This means that only symmetricalcharacteristics are possible. The P-Gain between the master axis velocities"MasterVelocityLow" and "MasterVelocityHigh" is linear interpolated. Thus itresults in some conditions for the value ranges of the inputs:● The values for "MasterVelocityLow" and "MasterVelocityHigh" must be

positive.● The values for "MasterVelocityLow" and "MasterVelocityHigh" must not

be equal.● The value of "MasterVelocityLow" must be less than the value of "Mas‐

terVelocityHigh".If one of these conditions is violated, an error is generated at the output of theblock.By setting of input "SetpointLock" the tension actual value is accepted as thenew setpoint value for the Tension Controller. For example, this function allows

Library Description | Rexroth IndraMotion MLC 04VRS Electric Drivesand Controls

| Bosch Rexroth AG 91/179

Function Block for Application "Tension Controller"

DisableCyclicWrites

Adaptive/ KpLowVel/ KpHighVel/MasterVelocityLow/ MasterVeloci‐

tyHigh

SetpointLock

Page 98: Rexroth IndraMotion MLC 04VRS

to get a meaningful start value for the setpoint value of the tension that reflectsthe actual state of the machine.The input "Pause" enables the halt of the Tension Controller. If this input is setto TRUE, the controller deviation is set to "0", i.e. the controller output is frozenon the actual I-Part.The input "NegPolarity" affects the regulation sense. Depending on the positionof the pull roll, regarding the direction of material flow and the position of thefeed roll, the regulation sense must be positive or negative. If this input isFALSE, the regulation sense becomes positive and a positive control deviationleads to a positive actuation. The input also has an effect on the standstill reg‐ulation.This inputs represents the actual value of the tension. This input can be reade.g., by an analog input at the drive or via the Inline-I/Os. Thereby the user isresponsible for a meaningful scaling.By setting of input "Preset" a start value for the control variable is given viavariable "PresetValue". At the same time the internal variables of the controllerare set in that way, that a start without jerk takes place.With this input the control variable of the controller is limited to a maximumvalue. If the limitation occurs, the I-Part of the controller is no longer added up("Anti-reset-windup"). The maximal value is determined by the defined maximalvalue for the gear fine adjust in the drive. If a limitation occurs, output "HighLi‐mitAck" is set.With this input the control variable of the controller is limited to a minimum value.If the limitation occurs, the I-Part of the controller is no longer added up ("Anti-reset-windup"). The minimal value is at –95 independent from possible lowervalues in the drive. In addition see also section "Gear fine adjust". If a limitationoccurs, output "LowLimitAck" is set.This value corresponds to the proportional gain of the Tension Controller if input"Adaptive" is not active. Otherwise it represents the lower gain of an adaptiveP-Gain.With this value the user can define a symmetric window where the actual ten‐sion value shall be within. The window is defined as follows:

If this condition is fulfilled, output "WindowIn" is set. Otherwise the output is notset and also no limitation takes place.With this value the user can define an upper value for the process size. Thevalue is evaluated as follows:

Fig.10-7: WindowMaxValue/ WindowMaxIf this condition is fulfilled, output "WindowMax" is set. Otherwise the output isnot set and also no limitation takes place.With this value the user can define a lower value for the process size. The valueis evaluated as follows:

92/179 Bosch Rexroth AG | Electric Drivesand Controls

Rexroth IndraMotion MLC 04VRS | Library Description

Function Block for Application "Tension Controller"

Pause

NegPolarity

Feedback

PresetValue

HighLimit HighLimitAck

LowLimit LowLimitAck

KpLowVel

WindowValue/ WindowIn

WindowMaxValue/ WindowMax

WindowMinValue/ WindowMin

Page 99: Rexroth IndraMotion MLC 04VRS

Fig.10-8: WindowMinValue/ WindowMinIf this condition is fulfilled, output "WindowMax" is set. Otherwise the output isnot set and also no limitation takes place.With setting of input "StandstillEnable" the velocity, specified in "Standstill‐Vel", is added up additive on the to be controlled axis. With it a tension controlis also possible at standstill.It must be noticed, that the controller for the gear fine adjust continues workingindependent of the added up velocity. This may result in instabilities.

If this input is used it must be ensured, that the Tension Controlleris only used in the SERCOS synchronous task. If not it may resultin a bumpy run of the motor.

This value specifies the additive velocity that is send to the drive if the input"StandstillEnable" is set. The units of the velocity correspond to the adjustedweighting in the drive.

Because the velocity must be reached within one SERCOS cycle,no arbitrarily high values can be given. Thereby the maximal valueis adapted by the scaling of the velocity as well as the adjustedmaximal acceleration and connected mass at the drive. To avoidthis, a filter time constant can be defined in drive parameterP-0-0693 by which no more stepwise changes can appear.

Background InformationThe Tension Controller works normally with velocities greater 0. Thereby thegear fine adjust is an appropriate instrument to keep the tension. But there arealso some boundary conditions that shall be explained here.The gear fine adjust is internally limited to a minimum of –95%. If a lower valueis entered, the block generates an error.Background of this limitation is the calculated output value that is defined by agiven input value as follows:

With the equation you can recognize, that - if the gear fine adjust goes about100% - the output value goes about 0. With it the control loop would be opened,because a change of the input values has no reaction at the output. Still worse,at a gear fine adjust that would be lower than –100%, the sign of the outputvalue is inverted. In the control loop a positive feedback would be generated,that results in an instability of the system.The control in standstill can take place by use of the inputs "StandstillEnable"and "StandstillVel". Thereby an additive velocity is added up. To get a betterperformance, it is reduced around the setpoint value. This is done by the helpof a modified Signum-Function, that have the following transfer function:

Library Description | Rexroth IndraMotion MLC 04VRS Electric Drivesand Controls

| Bosch Rexroth AG 93/179

Function Block for Application "Tension Controller"

StandstillEnable

StandstillVel

Gear Fine Adjust

StandstillEnable, StandstillVel,StandstilVelDeadband

Page 100: Rexroth IndraMotion MLC 04VRS

Fig.10-9: Modified Signum-Function for the limitation of the added up StandstillVelThereby the control deviation is relativized in the range of the "Setpoint". If the"Feedback" comes closer to the "Setpoint" the control becomes "more sensi‐tive" than a pure two-position controller. The value this limitation takes placecan be adjusted at input "StandstillVelDeadband". Besides, the values possessthe same units like input "Setpoint" or "Feedback". Between the extreme values+"StandstillVel" and –"StandstillVel" is interpolated linear, so that above transferfunction arises for control deviation and tension velocity.Subsequently the determined factor is multiplied with the given "Standstill‐Vel". Thereby the velocity is processed as revolution with the adjusted weight‐ing in the drive. If you would like to enter a revolution instead of a path velocity,it must be self-calculated before.To get a reverse motion direction for the regulation at standstill, input "NegPo‐larity" must be set.In the following it is multiplied by a correction factor. This correction factor con‐sists of the gear transmission ratio. However, the gear fine adjust is notconsidered. In practice the gear fine adjust is normally very small, so that itdoesn't carry weight. The gear transmission ratio is only taken over at a risingedge of input "Enable".In the flow-chart is obvious that the specified velocity is converted in increments.Thereby some rules must be considered:● The given velocity cannot be chosen any high because the drive has to

reach the velocity within one SERCOS cycle. With it only very small valuesare permitted. The size depends on the used scaling and the mass at themotor. The calculated increments are preset via parameter P-0-0692,moreover, this can be smoothed by the available filter in the drive(P-0-0693), so that also bigger jumps are possible.

● The calculated increments are added up before the gear. The gear trans‐mission ratio (A-0-2720 and A-0-2721) is included in the calculation.However, the gear fine adjust (P-0-0083 and P-0-0694) are not consid‐ered, because they are normally very small. This may lead to the behavior,that the axis moves with another velocity than adjusted.

● A scaling of the units takes place. Also the entered velocity value is notverified on maximum- and minimum values. Thereby very large values forthe number of increments per SERCOS cycle may result. If the calculatedinterim value exceeds the maximal values of +- half modulo value, they

94/179 Bosch Rexroth AG | Electric Drivesand Controls

Rexroth IndraMotion MLC 04VRS | Library Description

Function Block for Application "Tension Controller"

Page 101: Rexroth IndraMotion MLC 04VRS

are automatically limited. The result is a lower additive velocity than givenat input "StandstillVel".

● With very small velocities it also must be noticed, that the actual velocitymay differ to the specified velocity. This is explained by the granulation ofthe increments per SERCOS cycle: matches e.g. 1 increment a velocityof 0,03 r.p.m., only velocities that are a multiple of 0,03 r.p.m. can be ad‐justed. Otherwise is rounded to the nearest value.

● The calculated increments are processed with each SERCOS cycle. Thusat use of the control at standstill, the block must be processed in the SER‐COS synchronous task. Otherwise the drive moves the number of calcu‐lated increments for one SERCOS cycle, and stops in the next SERCOScycle again resulting in a jerky movement. The use of the filter in P-0-0693can also put things right here.

The function block creates in Additional1/Additional2 the following error mes‐sages for table F_RELATED_TABLE, 16#0170:

ErrorID Additional1 Additional2 Description

ACCESS_ERROR, 16#0004 16#0A00 16#0001 Parameter P-0-0694 is not parameterized in the op‐tional cyclical telegram of the slave axis.

ACCESS_ERROR, 16#0004 16#0A00 16#0002 Parameter P-0-0054 is not parameterized in the op‐tional cyclical telegram of the slave axis.

INPUT_RANGE_ERROR, 16#0006 16#0A01 16#0001 The master axis velocity in the lower operating point("MasterVelocityLow") is < 0

INPUT_RANGE_ERROR, 16#0006 16#0A01 16#0002 The master axis velocity in the upper operating point("MasterVelocityLow") is < 0

INPUT_RANGE_ERROR, 16#0006 16#0A01 16#0003 The master axis velocity in the lower operating point("MasterVelocityLow") and upper operating point("MasterVelocityHigh") have the same values.

INPUT_RANGE_ERROR, 16#0006 16#0A01 16#0004 The value of the master axis velocity in the lower op‐erating point ("MasterVelocityLow") is greater than thevalue in the upper operating point ("MasterVelocity‐High").

INPUT_RANGE_ERROR, 16#0006 16#0A01 16#0005 The value of input "LowLimit" is lower than the minimalpermitted (-95).

INPUT_RANGE_ERROR, 16#0006 16#0A01 16#0006 The value of inputs "PGainLowVel" or "PGainHigh‐Vel" is lower or equal 0.

DEVICE_ERROR, 16#0008 16#0A02 16#0007 No power is switched on at the drive specified in"Slave". Thus a tension control is not possible.

DEVICE_ERROR, 16#0008 16#0A02 16#0008 The drive specified in "Slave" is not in a synchronousoperation mode.

Fig.10-10: Error numbers, caused by ML_TensionControlLoadCellChanges at the function block of MLC version 02The following changes were made at block "ML_TensionControlLoadCell‐Type01". The block is not compatible between the version 02 and 03.Add default values for writing the inputsIt was not obvious which default values for the inputs of the Tension Controllerare applied. Now these are explicitly indicated in the variable declaration in thelibrary. With it the user can determine the values which are applied with missinginput allocation.

Library Description | Rexroth IndraMotion MLC 04VRS Electric Drivesand Controls

| Bosch Rexroth AG 95/179

Function Block for Application "Tension Controller"

Error Handling

Compatible Changes

Page 102: Rexroth IndraMotion MLC 04VRS

The following changes are incompatible, because they represent either achange of the interface of the function block, or the functionality has changed.Outputs "WindowIn", "WindowMax" and "WindowMin" are evaluated only withactive "Enable".Up to now the outputs were always updated in dependence on the functionalityin the Synax system, even if the "Enable" input was active. However, this is notallowed as per definition of the "Enable" input and, therefore, was changed.Input "NegPolarity" also has an affect on the standstill regulationUp to now the the input "NegPolarity" had an effect only on the Tension Con‐troller for the gear fine adjust, but not on the Tension Controller for the standstillregulation. This led to confusion and was changed to that effect that the inputhas an effect now also on the standstill controller. I.e. if input "NegPolarity" isactive, the rotation direction is inverted with tension in standstill. Attention: bythe regulation in standstill a negative velocity can be also entered. Up to nowa an inversion of the direction could be also thereby produced. For user whichhave used a negative velocity means, that they must specify now a positivevelocity and set, in addition, the input "NegPolarity".P-0-0692 instead of P-0-0054 in the optional cyclical channelBecause the MLC03VRS puts on P-0-0054 in the cyclical channel, this is notavailable any more for technology functions. Therefor P-0-0692 is available,that furthermore offers the advantage to specifiy a filter time constant. With itstepwise changes of the tension velocity can be also processed. Therefore, theuser must configure the parameter P-0-0692 instead of P-0-0054 in the optionalcyclical channel.Name of the block changedThe block name has changed from ML_TensionControlLoadCell on ML_Ten‐sionControlLoadCellType01 to be able to create other types for future variants.Effectiveness of the modified Signum function for the standstill controllerchangedThe previous modified Signum function had the following appearance. The in‐tention of the function is to make "more sensitive" the regulation in standstillnear the setpoint value. I.e. the tension velocity is automatically reduced. Butthe area in that the reduction of the velocity takes place is fixed adjusted to 1%of the setpoint value. This had the following disadvantages:● - The value is fixed given and cannot be adjusted application-specific● - It is a percentage value which refers to the setpoint value. With a setpoint

value of zero the reduction is effectively switched off.Besides, the graphics was labeled partly wrong. The abscissa must indicate thevalues for ("Setpoint" - "Feedback")

96/179 Bosch Rexroth AG | Electric Drivesand Controls

Rexroth IndraMotion MLC 04VRS | Library Description

Function Block for Application "Tension Controller"

Incompatible Changes

Page 103: Rexroth IndraMotion MLC 04VRS

Fig.10-11: Modified Signum-Function for the limitation of the added up StandstillVelThe changed Signum function gets an own input at the block with which can bedetermined individually from which value the reduction of the standstill velocityshould take place. This value is also not weighted any more percental, but asan absolute value. I.e. the units of the input "StandstillVelDeadbead" are in thesame units like the inputs "Setpoint" and "Feedback".

Fig.10-12: Modified Signum-Function for the limitation of the added up StandstillVel

10.3 ML_TensionControlLoadCellType01 - Special Features of In‐draMotion MLC

● MLC Hardware● IndraDrive C or IndraDrive M with advanced or basic performance● Additional IO interface card to read in the tension (can be omitted if the

tension is read in directly over the drive)● MLC Firmware● MPx drive firmware

Library Description | Rexroth IndraMotion MLC 04VRS Electric Drivesand Controls

| Bosch Rexroth AG 97/179

Function Block for Application "Tension Controller"

Required Hardware

Required Firmware

Page 104: Rexroth IndraMotion MLC 04VRS

● The following functional packages have to be enabled in the drive:– Closed Loop– Synchronization

● IndraWorks MLCThe following parameterization has to be accomplished in the drive to ensurea proper functionality of the function block "ML_TensionControlLoadCell".● Configuration of the drive parameters P-0-0694 and P-0-0054 in the op‐

tional cyclical SERCOS MDT data IndraWorks ▶ Right mouse click on theaxis assigned to the tension controller ▶ Communication ▶ Cyclical SER‐COS data channel ▶ Configuration of P-0-0694 and P-0-0692 in the MDTdata (it is not important which data container is used since the functionblock scans all channels).

● Parameterization of the axis assigned to the tension controller accordingto the application

● The function block "ML_TensionControlLoadCellType01" contains motioncommands and thus has to be called in a cyclical PLC. If the input "Stand‐stillEnable" is used, the function block may only be executed in theSERCOS-synchronous tasks (motion task).

● Before starting the function block, "MC_Power" has to be executed withouterrors and the axis must run in a synchronous operating mode with thehelp of "MC_GearIn" or "MB_GearInPos". The gear fine adjust (input"MasterFineadjust" of the function blocks "MC_GearIn" or "MB_GearIn‐Pos") should be set to "0".

98/179 Bosch Rexroth AG | Electric Drivesand Controls

Rexroth IndraMotion MLC 04VRS | Library Description

Function Block for Application "Tension Controller"

Required SoftwareRequired Parameterization

Required IndraLogic Steps

Page 105: Rexroth IndraMotion MLC 04VRS

11 Function Blocks for Application "Sag Control"11.1 Introduction and Overview

Sag Controls are used for decoupling machine parts.A typical application is the following production line.

Fig.11-1: Production line, schematic diagramThe sag is between the feed roll of the punch and the upstreamed materialfeeding system. It should uncouple both motion systems (Start/Stop or Contin‐uous). The sag contents depends on the feed roll data.In normal operation the range of the production line runs continuous with anaveraged velocity "v" given by the user.The other part of the machine runs in Start-Stop-Operation. During the sheetmetal forming this part of the machine goes to Stop and the sag contents in‐creases. If the material for the next processing is load, the sag content isreduced. In one work cycle the sag moves always between the Min/Max-Con‐tacts.Pre-condition for use of the Sag Control FB:When installing the production line, the new sheet strip is carried through thestraightener to the punch by the Coil in that way, that already a sag betweenthe Min/Max-Contacts (or Min/Max-Analog values) exists.● ML_SagControlC, page 99, controls the sag by Min/Max-Contacts.● ML_SagControlA, page 103, controls the sag by analog switching signals.

11.2 ML_SagControlCThe function block "ML_SagControlC" contains a Sag Controller with binaryMin/Max- Contacts.

Library Description | Rexroth IndraMotion MLC 04VRS Electric Drivesand Controls

| Bosch Rexroth AG 99/179

Function Blocks for Application "Sag Control"

Brief Description

Page 106: Rexroth IndraMotion MLC 04VRS

Fig.11-2: FB ML_SagControlC

Name Type Comment

VAR_IN_OUT Slave AXIS_REF Slave Axis

VAR_INPUT Enable BOOL Activates / deactivates the velocity control

VelocityAv REAL Averaged velocity of the production line

Acceleration REAL Acceleration for velocity changes

Deceleration REAL Deceleration for velocity changes

MaxContact BOOL Max-Contact of the sag

MinContact BOOL Min-Contact of the sag

MaxVelocity INT Maximum velocity in % related to the averaged velocity of the pro‐duction line

MinVelocity INT Minimum velocity in % related to the averaged velocity of the produc‐tion line

AdaptTime TIME Adaption time (Ta)

ErrorTime TIME Error time (Te)

CoilDiameter REAL Coil diameter ⇒ Weighting of the velocity in %. If the input is not con‐nected, the default value is set to 100%.

VAR_OUTPUT Active BOOL Sag Control works

Error BOOL Signals an error. With "Execute" = FALSE the error is cleared.

ErrorID ERROR_CODE INT (Enum): Error short description

ErrorIdent ERROR_STRUCT Detailed error description depending on the error table

Fig.11-3: Interface of ML_SagControlCThe "Enable" input activates / deactivates the velocity control. The first activevelocity is the average velocity given by the operator of the system.

If the "Enable" input is reset, the drive to be controlled goes to stop.

The function block for the sag control affects only the drive of the material sup‐ply. For this it is tried to hold the sag in a defined window (Min/Max-Value) byadjusting the actual velocity of the production line, depending on the deviation,optionally measured by a sensor that detects the coil diameter.

100/179 Bosch Rexroth AG | Electric Drivesand Controls

Rexroth IndraMotion MLC 04VRS | Library Description

Function Blocks for Application "Sag Control"

Interface Description

Functional Description

Page 107: Rexroth IndraMotion MLC 04VRS

When reaching the Min-Contact, the velocity of the material supply system isincreased to the maximal velocity applied at the block to build-up a greater sag.If the Min-Contact is left within the error reaction time "Te" in Max-Contact di‐rection again, so for the retain time "Ta" is still moved with the increasedvelocity; then is continued with the given averaged velocity again. If the sagincreases so that the Max-Contact is activated, the velocity is reduced to theminimal value applied at the block. If the Max-Contact is left within the errorreaction time "Te", so for the time "Ta" the drive keeps on moving with thereduced velocity. Then is continued with the given averaged velocity again (seev-t diagram).

Fig.11-4: Block behavior, error-freeIf the Min-Contact is still active for a time greater than "Te", an error is generatedand continued with the same velocity. This state is kept until the contact will beleft again. After this the drive still moves for the retain time "Ta" with the in‐creased velocity and then with the given averaged velocity. If, however, theMax-Contact remains active for the time "Te", the velocity is reduced to zero.If the Max-Contact switches again, the drive will farther remain in stop for thetime "Ta", then is accelerated again to the given averaged velocity "Vm" andcontinued with this velocity.

Fig.11-5: Block behavior, incorrectThe function block creates in Additional1/Additional2 the following error mes‐sages for table F_RELATED_TABLE, 16#0170:

Library Description | Rexroth IndraMotion MLC 04VRS Electric Drivesand Controls

| Bosch Rexroth AG 101/179

Function Blocks for Application "Sag Control"

Error Handling

Page 108: Rexroth IndraMotion MLC 04VRS

ErrorID Additional1 Additional2 Description

INPUT_RANGE_ERROR, 16#0006 16#0002 16#0000 Inputs outside valid range:Velocity <= 0Acceleration <= 0Deceleration <= 0Max. velocity <= Min. velocityAdaption time <= 0Error reaction time <= 0Coil diameter <= 0

SYSTEM_ERROR,16#7FFF 16#0501 16#0000 Velocity adaption unsuccessful, adaption time and er‐ror reaction time expired, Max-Contact is still present.

SYSTEM_ERROR, 16#7FFF 16#0502 16#0000 Velocity adaption unsuccessful, adaption time and er‐ror reaction time expired, Min-Contact is still present.

SYSTEM_ERROR, 16#7FFF 16#0503 16#0000 Max/Min-Contact are present at the same time. Con‐tact problem ?

SYSTEM_ERROR,16#7FFF 16#0504 16#0000 The given velocity couldn't be reached. Check velocitypresettings.

Fig.11-6: Error numbers, caused by ML_SagControlCThe following Firm-, Soft- and Hardware is required:● Hardware - IndraDrive C or M● Firmware - Drive firmware MPH03V08 or higher● Function package - Closed Loop● Software - IndraWorks 03V17 / IndraWorks MLC 01V07 or higher● PLC-Software - IndraLogic 1.26 or higherIn the general form there are 2 contacts, a Min- and a Max-Contact, that areavailable as control parameter.

Fig.11-7: Application 1, ML_SagControlCIn normal operation the production line runs with an averaged velocity "Vm"given by the operator. The FB for the sag control tries now to keep the sag ina defined window (Min/Max-Contact) by adjusting the actual velocity dependingon the deviation of the production line.

102/179 Bosch Rexroth AG | Electric Drivesand Controls

Rexroth IndraMotion MLC 04VRS | Library Description

Function Blocks for Application "Sag Control"

Firm-, Soft- and Hardware Require‐ments

Application Example 1

Page 109: Rexroth IndraMotion MLC 04VRS

With this variant the to be controlled drive is the Coil itself. In addition to theMin/Max-Contacts the decreasing Coil diameter is added as control variable.

Fig.11-8: Application 2, ML_SagControlC

11.3 ML_SagControlAThe function block "ML_SagControlA" contains a Sag Controller with an analogmeasuring of actual value of the sag.

Fig.11-9: FB ML_SagControlA

Name Type Comment

VAR_IN_OUT Slave AXIS_REF Slave Axis

VAR_INPUT Enable BOOL Activates / deactivates the velocity control

AnalogIn REAL Analog value of the sag (0..10)

VelocityAv REAL Averaged velocity of the production line

Acceleration REAL Acceleration for velocity changes

Deceleration REAL Deceleration for velocity changes

MaxContact BOOL Max-Contact of the sag

Library Description | Rexroth IndraMotion MLC 04VRS Electric Drivesand Controls

| Bosch Rexroth AG 103/179

Function Blocks for Application "Sag Control"

Application Example 2

Functional Description

Interface Description

Page 110: Rexroth IndraMotion MLC 04VRS

Name Type Comment

MinContact BOOL Min-Contact of the sag

MaxVelocity INT Maximum velocity in % related to the averaged velocity of the pro‐duction line

MinVelocity INT Minimum velocity in % related to the averaged velocity of the produc‐tion line

AdaptTime TIME Adaption time (Ta)

ErrorTime TIME Error time (Te)

CoilDiameter REAL Coil diameter ⇒ Weighting of the velocity in %. If the input is not con‐nected, the default value is set to 100%.

VAR_OUTPUT Active BOOL Sag Control works

Error BOOL Signals an error. With "Execute" = FALSE the error is cleared.

ErrorID ERROR_CODE Error short description

ErrorIdent ERROR_STRUCT Detailed error description depending on the error table

Fig.11-10: Interface of ML_SagControlAThe Enable input activates / deactivates the velocity control. The first activevelocity is the average velocity given by the operator of the system.

If the Enable input is reset, the drive to be controlled goes to stop.

The function block for the sag control affects only the drive of the material sup‐ply. For this it is tried to hold the sag in a defined window (analog value sensor)by adjusting the actual velocity of the production line, depending on the devia‐tion, optionally measured by a sensor that detects the coil diameter.When reaching the Min-Contact, the velocity of the material supply system isincreased to the maximal velocity applied at the block to build-up a greater sag.If the Min-Contact is left within the error reaction time "Te" in Max-Contact di‐rection again, so for the retain time "Ta" it is still moved with the increasedvelocity; then it is continued with the given averaged velocity again. If the sagincreases so that the Max-Contact is activated, the velocity is reduced to theminimal value applied at the block. If the Max-Contact is left within the errorreaction time "Te", so for the time "Ta" the drive keeps on moving with thereduced velocity. Then is continued with the given averaged velocity again (seev-t diagram).

Fig.11-11: Block behavior, error-freeIf the Min-Contact is still active for a time greater than "Te", an error is generatedand continued with the same velocity. This state is kept until the contact will beleft again. After this the drive still moves for the retain time "Ta" with the in‐

104/179 Bosch Rexroth AG | Electric Drivesand Controls

Rexroth IndraMotion MLC 04VRS | Library Description

Function Blocks for Application "Sag Control"

Functional Description

Error Handling

Page 111: Rexroth IndraMotion MLC 04VRS

creased velocity and then with the given averaged velocity. If, however, theMax-Contact remains active for the time "Te", the velocity is reduced to zero.If the Max-Contact switches again, the drive will farther remain in stop for thetime "Ta", then is accelerated again to the given averaged velocity "Vm" andcontinued with this velocity.

Fig.11-12: Block behavior, incorrectThe function block creates in Additional1/Additional2 the following error mes‐sages for table F_RELATED_TABLE, 16#0170:

ErrorID Additional1 Additional2 Description

INPUT_RANGE_ER‐ROR, 16#0006

16#0002 16#0000 Inputs outside valid range:Velocity <= 0Acceleration <= 0Deceleration <= 0Max. velocity <= Min. velocityAdaption time <= 0Error reaction time <= 0Coil diameter <= 0

SYSTEM_ERROR,16#7FFF

16#0501 16#0000 Velocity adaption unsuccessful, adaption time and error reaction timeexpired, Max-Contact is still present.

SYSTEM_ERROR,16#7FFF

16#0502 16#0000 Velocity adaption unsuccessful, adaption time and error reaction timeexpired, Min-Contact is still present.

SYSTEM_ERROR,16#7FFF

16#0504 16#0000 The given velocity couldn't be reached. Check velocity presettings.

Fig.11-13: Error numbers, caused by ML_SagControlAThe following Firm-, Soft- and Hardware is required:● Hardware - IndraDrive C or IndraDrive M● Firmware - Drive firmware MPH03V08 or higher● Function package - Closed Loop● Software - IndraWorks 03V17 / IndraWorks MLC 01V07 or higher● PLC-Software - IndraLogic 1.26 or higherIn this variant a sensor represents the sag position as an analog input (0-10V)that is used for velocity control.

Library Description | Rexroth IndraMotion MLC 04VRS Electric Drivesand Controls

| Bosch Rexroth AG 105/179

Function Blocks for Application "Sag Control"

Firm-, Soft- and Hardware Require‐ments

Application Example 1

Page 112: Rexroth IndraMotion MLC 04VRS

Fig.11-14: Application 1, ML_SagControlAIn normal operation the production line runs with an averaged velocity Vm givenby the operator. The FB for the sag control tries now to keep the sag in a definedwindow (Min/Max-Position) by adjusting the actual velocity depending on thedeviation of the production line.With this variant the to be controlled drive is the Coil itself. In addition to theanalog value input the decreasing coil diameter is also added as control vari‐able.

Fig.11-15: Application 2, ML_SagControlA

106/179 Bosch Rexroth AG | Electric Drivesand Controls

Rexroth IndraMotion MLC 04VRS | Library Description

Function Blocks for Application "Sag Control"

Application Example 2

Page 113: Rexroth IndraMotion MLC 04VRS

12 Function Blocks for Application "Adjusting Variables"12.1 Introduction and Overview

With the following function blocks, PLC variables can be continuously or incre‐mentally adjusted (jogged) over binary inputs:● chapter 12.2 "MX(L)_ContinuousAdjustType01" on page 110● chapter 12.3 "MX(L)_ContinuousAdjustType02" on page 113● chapter 12.4 "MX(L)_IncrementalAdjustType01" on page 116When using the above mentioned function blocks for adjusting PLC variables,the following requirements have to be taken into account:● The operation must be stopped over a binary input ("Enable").● The variable to be influenced can be continuously adjusted with the func‐

tion blocks MX(L)_ContinuousAdjustType01 and MX(L)_ContinuousAd‐justType02 (similar to the long jog for SYNAX).

● The variable to be influenced can be incrementally adjusted with the func‐tion block MX(L)_IncrementalAdjustType01 (similar to the short jog forSYNAX).

● The selected variable can be incremented or decremented within the limitvalues.

● When reaching a limit value "HighLimitAck" = TRUE or "LowLimitAck" =TRUE), the continuous adjustment will be deactivated, i. e. the functionblock will no longer influence the variable. In this case, the respective limitvalue will be displayed at the input "HighLimit" or "LowLimit".

If the limits "HighLimit" and "LowLimit" have the same value at a specified mod‐ulo value, "LowLimit" is set equal to zero and "HighLimit" is set equal to themodulo value. Thus, it is possible to adjust the limit values over the entire mod‐ulo value range.The alteration velocity describes the gradient by which the influenced variableis adjusted during the adjustment procedure. This gradient depends on the stepwidth and the number of steps per second. The alteration velocity is calculatedas follows, for example, when adjusting a position:

Fig.12-1: Velocity adjustment when adjusting a position

If, for example, the speed of the virtual master axis is changed, the alterationvelocity is calculated as follows:

Fig.12-2: Velocity adjustment when adjusting the speed of an axisAs long as the input signal is present, the influenced variable will be changedwith the defined velocity.The variable can only be adjusted over the corresponding inputs within the de‐termined limit values.Exception:

Library Description | Rexroth IndraMotion MLC 04VRS Electric Drivesand Controls

| Bosch Rexroth AG 107/179

Function Blocks for Application "Adjusting Variables"

General Fundamentals

Adjustment Limits

Page 114: Rexroth IndraMotion MLC 04VRS

If the initial value of the variable to be adjusted is outside the specified limits,the influenced variable can only be adjusted in the direction of the target range.In the case of a specified modulo value, the influenced variable can be adjustedin both directions. After having reached the target range, it is no longer possibleto leave this range.● If both adjustment signals ("Inc"/"Dec") are TRUE at the same time, they

will be evaluated as FALSE.● An adjustment signal changes the polarity and causes an immediate shift

in direction. Furthermore, the current adjustment will not be finished.● If the alteration velocity is changed during a motion, the behavior of the

function blocksMX(L)_ContinuousAdjustType01/MX(L)_ContinuousAdjustType02 andMX(L)_IncrementalAdjustType01will be different.For MX(L)_ContinuousAdjustType01 and MX(L)_ContinuousAdjust‐Type02, the adjustment will become effective immediately. In contrast, themotion for MX(L)_IncrementalAdjustType01 is finished before the newstep velocity will be accepted. A subsequent adjustment procedure willthen be performed with the adjusted variables.

Furthermore, the following rules apply for the function block MX(L)_Incremen‐talAdjustType01:● The inputs "Inc" and "Dec" will be evaluated in relation to the edge. A rising

edge causes an adjustment by the specified step width ("StepWidth").● A new adjustment signal detected during a running motion (positive edge)

with the same polarity causes another motion following the current motion.

108/179 Bosch Rexroth AG | Electric Drivesand Controls

Rexroth IndraMotion MLC 04VRS | Library Description

Function Blocks for Application "Adjusting Variables"

Basic Rules

Page 115: Rexroth IndraMotion MLC 04VRS

Fig.12-3: Comparison of the behavior of a continuous and an incremental adjust‐ment

During the first activation ("Enable" = TRUE), the function blocks MX(L)_Con‐tinuousAdjustType01, MX(L)_ContinuousAdjustType02 and MB_Incremental-Adjust initialize the variables required for the determination of the cycle time(independent from the present inputs). In the second cycle, a calculated cycletime will be available which is required for calculating the correct adjustmentvelocity. Subsequently, the cycle time will be updated continuously.By specifying a modulo value, the function block provides an output variablebetween zero and the specified modulo value. When exceeding the modulovalue, the output variable will be reset to zero; however, the adjustment pro‐cedure will continue. The specified valid range can thus be between zero andthe modulo value. It should be possible to adjust the range by the zero value.In addition, the function block MX(L)_ContinuousAdjustType01 or MX(L)_Con‐tinuousAdjustType02 provides the possibility to adjust the alteration velocitydependent on time by specifying weighting factors and time intervals.

Library Description | Rexroth IndraMotion MLC 04VRS Electric Drivesand Controls

| Bosch Rexroth AG 109/179

Function Blocks for Application "Adjusting Variables"

Page 116: Rexroth IndraMotion MLC 04VRS

Fig.12-4: Possible allocation of a valid range when specifying a modulo value of360°

12.2 MX(L)_ContinuousAdjustType01The MX(L)_ContinuousAdjustType01 function block allows the continuous ad‐justment of an adjustable REAL variable via binary inputs.

Fig.12-5: MX(L)_ContiniuousAdjustType01 Function Block

I/O Type Name Data Type Comment

VAR_INPUT Enable BOOL Enable the function block (cyclical, state-triggered)

Inc BOOL Increment the adjustable variable

Dec BOOL Decrement the adjustable variable

Preset BOOL Set the Preset-Value (PresetValue)

PresetValue REAL Specified value for Preset

ModuloValue REAL Modulo value (if 0, then absolute processing)

HighLimit REAL Maximum output value of the adjustable variable

110/179 Bosch Rexroth AG | Electric Drivesand Controls

Rexroth IndraMotion MLC 04VRS | Library Description

Function Blocks for Application "Adjusting Variables"

Short Description

Interface Description

Page 117: Rexroth IndraMotion MLC 04VRS

I/O Type Name Data Type Comment

LowLimit REAL Minimum output value of the adjustable variable

StepWidth REAL Increments

StepsPerSecond REAL Number of increments per second

AdjTimeIntervals ARRAY [1..4] OFREAL

Time intervals (in seconds) for scaling of the alteration ve‐locity

AdjWeightFactors ARRAY [1..5] OFREAL

Scaling factors of the alteration velocity

VAR_OUTPUT InOperation BOOL No calculations active. Outputs HighLimitAck and LowLimi‐tAck are valid.

Error BOOL Calculation of the adjustable variable "Value" completed witherror, output variable ErrorIdent is valid

ErrorID ERROR_CODE Short error description

ErrorIdent ERROR_STRUCT Detailed description of the diagnostics in case of an error

Changing BOOL Calculation of the adjustable variable takes place. Adjustablevariable "Value" is valid

HighLimitAck BOOL Maximum output value of the adjustable variable reached

LowLimitAck BOOL Minimum output value of the adjustable variable reached

VAR_IN_OUT Value REAL Adjustable variable

Fig.12-6: MX(L)_ContinuousAdjustType01 I/O Interface

Fig.12-7: Continuous Parameter AdjustmentThe adjustment of the adjustable variable "Value" may take place in positive ornegative direction. The limits set a valid range for adjusting the variable. Spec‐ifying a modulo value allows the adjustment to be within an axis‘ frame ofreference. Predefining increments and increments per second determines thealteration velocity of the adjustable variable. It is possible to write a given value("PresetValue"), inside the valid operating range, directly to the adjustable var‐iable.After activation, with "Enable", the adjustable variable can be changed via in‐puts "Inc" (positive direction) and "Dec" (negative direction). While input "Inc"or "Dec" is set, the adjustable variable is continuously increased (or decreased)with the given velocity. ("StepsPerSecond" * "StepWidth").At initialization, ensure the inputs "ModuloValue", "HighLimit" and "LowLimit",contain valid values.

Library Description | Rexroth IndraMotion MLC 04VRS Electric Drivesand Controls

| Bosch Rexroth AG 111/179

Function Blocks for Application "Adjusting Variables"

Timing Diagram

Functional Description

Page 118: Rexroth IndraMotion MLC 04VRS

By determining scaling factors ("AdjWeightFactors[ ]") and the correspondingtime intervals ("AdjTimeIntervals[ ]") it is possible to make time-dependent ve‐locity modifications. The scaling factors and time intervals must also be set onthe inputs "StepsPerSecond" and "StepWidth". Depending on the actual timeinterval, the alteration velocity is then multiplied with the appropriate scalingfactor. The figure below shows the behavior of the block with an example con‐figuration: The input factors of "AdjTimeIntervals" ([T1; T2; T3; T4]) are speci‐fied in seconds. T5 specifies the period after completion of time interval T4 whenthe adjustment procedure aborts. The input factors of "AdjWeightFactors" ([0,5;1; 1,5; 2; 4]) determine the scaling of the alteration velocity. The last value of"AdjWeightFactors [5"] is assigned to time interval T5.

Fig.12-8: Scaling Adjustment

When a time interval = 0, the next scaling factor is used until theadjustment process aborts. Example: If AdjTimeIntervals[2] = 0,then the scaling factor of AdjWeightFactors[3] is used until termi‐nated.

To determine the correct time interval of the scaling factors, the expired time isreset with each new starting adjustment process. If inputs "AdjWeightFactors"and "AdjTimeIntervals" are not set, a continuous adjustment with the given al‐teration velocity specified with "StepsPerSecond" and "StepWidth" occurs.

Values in "AdjTimeIntervals" must only contain positive values.scaling factors can be positive or negative.The adjustable variable can only be set to the specified preset valueif it is within the valid range between "HighLimit" and "LowLimit".

Output "InOperation" signals that the block is in use, but an adjustment is notactive. "Changing" indicates an error-free adjustment and the value of the ad‐justed variable "Value" is valid."Error" indicates that an error occurred during the adjustment process. Detailsare indicated in the "ErrorIdent" structure.The function block generates the following error messages in Additional1/Ad‐ditional2 of the table "F_RELATED_TABLE", 16#0170:

112/179 Bosch Rexroth AG | Electric Drivesand Controls

Rexroth IndraMotion MLC 04VRS | Library Description

Function Blocks for Application "Adjusting Variables"

Error Handling

Page 119: Rexroth IndraMotion MLC 04VRS

ErrorID Additional1 Additional2 Description

INPUT_RANGE_ERROR(16#0006)

16#0002 16#0000 Inputs are outside permitted range

RESOURCE_ERROR (16#0003) 16#0004 16#0000 Drive firmware not supported.

STATE_MACHINE_ERROR(16#0005)

16#0006 16#0000 Invalid status of the function block

Fig.12-9: MX(L)_ContinuousAdjustType01 Error Codes

12.3 MX(L)_ContinuousAdjustType02The MX(L)_ContinuousAdjustType02 function block enables the continuousadjustment of an adjustable DINT variable using binary inputs.

Fig.12-10: MX(L)_ContinuousAdjustType02 Function Block

I/O Type Name Data Type Comment

VAR_INPUT Enable BOOL Enables the function block (cyclical, state-controlled)

Inc BOOL Increment the adjustable variable

Dec BOOL Decrement the adjustable variable

Preset BOOL Set the Preset-Value (PresetValue)

PresetValue DINT Specified value for Preset

ModuloValue DINT Modulo value (if 0, then absolute processing)

HighLimit DINT Maximum output value of the adjustable variable

LowLimit DINT Minimum output value of the adjustable variable

StepWidth REAL Increments

StepsPerSec‐ond

REAL Increments per second

AdjTimeIn‐tervals

ARRAY [1..4] OFREAL

Time intervals in seconds for scaling the alteration velocity

AdjWeight‐Factors

ARRAY [1..5] OFREAL

scaling factors of the alteration velocity

VAR_OUTPUT InOperation BOOL No calculation active. Ouputs HighLimitAck and LowLimitAck arevalid.

Library Description | Rexroth IndraMotion MLC 04VRS Electric Drivesand Controls

| Bosch Rexroth AG 113/179

Function Blocks for Application "Adjusting Variables"

Short Description

Interface Description

Page 120: Rexroth IndraMotion MLC 04VRS

I/O Type Name Data Type Comment

Error BOOL Calculation of the adjustable variable "Value" completed with error,output variable ErrorIdent is valid

ErrorID ERROR_CODE Error short description

ErrorIdent ERROR_STRUCT Detailed description of the diagnostics in case of an error

Changing BOOL Calculation of the adjustable variable takes place. adjustable vari‐able "Value" is valid

HighLimitAck BOOL Maximum output value of the adjustable variable reached

LowLimitAck BOOL Minimum output value of the adjustable variable reached

VAR_IN_OUT Value DINT Adjustable variable

Fig.12-11: MX_ContinuousAdjustType02 I/O Interface

Fig.12-12: Continuous Parameter AdjustmentThe adjustment of the adjustable variable "Value" may take place in positive ornegative direction. The limits set a valid range for adjusting the variable. Spec‐ifying a modulo value allows the adjustment to be within an axis‘ frame ofreference. Predefining increments and increments per second determines thealteration velocity of the adjustable variable. It is possible to write a given value("PresetValue"), inside the valid operating range, directly to the adjustable var‐iable.After activation, with "Enable", the adjustable variable can be changed via in‐puts "Inc" (positive direction) and "Dec" (negative direction). While input "Inc"or "Dec" is set, the adjustable variable is continuously increased (or decreased)with the given velocity. ("StepsPerSecond" * "StepWidth").At initialization, ensure the inputs "ModuloValue", "HighLimit" and "LowLimit",contain valid values.By determining scaling factors ("AdjWeightFactors[ ]") and the correspondingtime intervals ("AdjTimeIntervals[ ]") it is possible to make time-dependent ve‐locity modifications. The scaling factors and time intervals must also be set onthe inputs "StepsPerSecond" and "StepWidth". Depending on the actual timeinterval, the alteration velocity is then multilpied with the appropriate scalingfactor. The figure below shows the behavior of the block with an example con‐figuration: The input factors of "AdjTimeIntervals" ([T1; T2; T3; T4]) are speci‐fied in seconds. T5 specifies the period after completion of time interval T4 whenthe adjustment procedure aborts. The input factors of "AdjWeightFactors" ([0,5;1; 1,5; 2; 4]) determine the scaling of the alteration velocity. The last value of"AdjWeightFactors [5]" is assigned to time interval T5.

114/179 Bosch Rexroth AG | Electric Drivesand Controls

Rexroth IndraMotion MLC 04VRS | Library Description

Function Blocks for Application "Adjusting Variables"

Timing Diagram

Functional Description

Page 121: Rexroth IndraMotion MLC 04VRS

Fig.12-13: Scaling Adjustment

When a time interval = 0, the next scaling factor is used until theadjustment process aborts. Example: If AdjTimeIntervals[2] = 0,then the scaling factor of AdjWeightFactors[3] is used until termi‐nated.

To determine the correct time interval of the scaling factors, the expired time isreset with each new starting adjustment process. If inputs "AdjWeightFactors"and "AdjTimeIntervals" are not set, a continuous adjustment with the given al‐teration velocity specified with "StepsPerSecond" and "StepWidth" occurs.

Values in "AdjTimeIntervals" must only contain positive values.scaling factors can be positive or negative.The adjustable variable can only be set to the specified preset valueif it is within the valid range between "HighLimit" and "LowLimit".

Output "InOperation" signals that the block is in use, but an adjustment is notactive. "Changing" indicates an error-free adjustment and the value of the ad‐justed variable "Value" is valid."Error" indicates that an error occurred during the adjustment process. Detailsare indicated in the "ErrorIdent" structure.The function block generates the following error messages in Additional1/Ad‐ditional2 of the table "F_RELATED_TABLE", 16#0170:

ErrorID Additional1 Additional2 Description

INPUT_RANGE_ERROR(16#0006)

16#0002 16#0000 Inputs are outside permitted range

RESOURCE_ERROR (16#0003) 16#0004 16#0000 Drive firmware not supported

STATE_MACHINE_ERROR(16#0005)

16#0006 16#0000 Invalid status of the function block

Fig.12-14: MX(L)_ContinuousAdjustType02 Error Codes

Library Description | Rexroth IndraMotion MLC 04VRS Electric Drivesand Controls

| Bosch Rexroth AG 115/179

Function Blocks for Application "Adjusting Variables"

Error Handling

Page 122: Rexroth IndraMotion MLC 04VRS

12.4 MX(L)_IncrementalAdjustType01The MX(L)_IncrementalAdjustType01 function block enables incremental ad‐justment of an adjustable REAL variable using binary inputs.

Fig.12-15: MX(L)_IncrementalAdjustType01 Function Block

I/O Type Name Data Type Comment

VAR_INPUT Enable BOOL Enable the function block (cyclical, state-controlled)

Inc BOOL Increment the adjustable variable

Dec BOOL Decrement the adjustable variable

Preset BOOL Set the Preset-Value (PresetValue)

PresetValue REAL Specified value for Preset

ModuloValue REAL Modulo value for rotatory calculation

HighLimit REAL Maximum output value of the adjustable variable

LowLimit REAL Minimum output value of the adjustable variable

StepWidth REAL Step Width

StepsPerSec‐ond

REAL Increments per second

VAR_OUTPUT Done BOOL Calculation of the adjustable variable completed. The output vari‐ables "Value", "HighLimitAck" and "LowLimitAck" are valid.

Active BOOL Calculation of the adjustable variable not yet completed. The ad‐justable variable "Value" is still in process. The outputs "HighLimi‐tAck" and "LowLimitAck" are valid.

Error BOOL Calculation of the adjustable variable "Value" completed with error,output variable "ErrorIdent" is valid

ErrorID ERROR_CODE Short error description

ErrorIdent ERROR_STRUCT Detailed description of the diagnostics in case of an error

HighLimitAck BOOL Maximum output value of the adjustable variable reached

116/179 Bosch Rexroth AG | Electric Drivesand Controls

Rexroth IndraMotion MLC 04VRS | Library Description

Function Blocks for Application "Adjusting Variables"

Short Description

Interface Description

Page 123: Rexroth IndraMotion MLC 04VRS

I/O Type Name Data Type Comment

LowLimitAck BOOL Minimum output value of the adjustable variable reached

VAR_IN_OUT Value REAL adjustable variable

Fig.12-16: MX(L)_IncrementalAdjustType01 I/O Interface

Fig.12-17: Incremental Parameter AdjustThe adjustment of the adjustable variable "Value" may take place in positive ornegative direction. The limits set a valid range for adjusting the variable. Spec‐ifying a modulo value allows the adjustment to be within an axis‘ frame ofreference. Predefining increments and increments per second determines thealteration velocity of the adjustable variable. It is possible to write a given value("PresetValue"), inside the valid operating range, directly to the adjustable var‐iable.After activation, with "Enable", the adjustable variable can be changed via in‐puts "Inc "(positive direction) and "Dec" (negative direction). While input "Inc"or "Dec" is set, the adjustable variable is continuously increased (or decreased)with the given velocity. ("StepsPerSecond" * "StepWidth").

The adjustable variable can only be set to the specified preset valuewhen it is within the valid range between "HighLimit" and "LowLi‐mit".

"Active" signals that the adjustment procedure is not yet completed. "Done" =TRUE signals the adjustment completed without error. If an error occurs duringprocessing of the function block, it is indicated with "Error" = TRUE, with thedetails in the output structure "ErrorIdent".The function block generates the following error messages in Additional1/Ad‐ditional2 of the table "F_RELATED_TABLE", 16#0170:

ErrorID Additional1 Additional2 Description

INPUT_RANGE_ERROR(16#0006)

16#0002 16#0000 Inputs are outside permitted range

RESOURCE_ERROR (16#0003) 16#0004 16#0000 Drive firmware not supported

STATE_MACHINE_ERROR(16#0005)

16#0006 16#0000 Invalid status of the function block

Fig.12-18: MX(L)_IncrementalAdjustType01 Error Codes

Library Description | Rexroth IndraMotion MLC 04VRS Electric Drivesand Controls

| Bosch Rexroth AG 117/179

Function Blocks for Application "Adjusting Variables"

Timing Diagram

Functional Description

Error Handling

Page 124: Rexroth IndraMotion MLC 04VRS

12.5 Parameterization of the Function Blocks for Adjusting Varia‐bles

The following Rexroth hardware components are required:● MLC HardwareThe following drive firmware has to be used together with the above mentionedRexroth hardware components:● MLC FirmwareThe following PC software has to be used:● IndraWorks MLCNo special parameterization is required.

118/179 Bosch Rexroth AG | Electric Drivesand Controls

Rexroth IndraMotion MLC 04VRS | Library Description

Function Blocks for Application "Adjusting Variables"

Required Hardware

Required Firmware

Required Software

Parameterization of the FunctionBlocks for Adjusting Variables

Page 125: Rexroth IndraMotion MLC 04VRS

13 Function Block for Application "Sensorless Winder"13.1 Introduction and Overview

The sensorless winding calculator will be used for center winders.The drive of the winding axis operates with a user-specific torque limit. Thetorque limit depends on the current winder diameter and the set tension.The tensile force will be generated by setting the torque of the winding axis.Additional measuring units are not required.

Fig.13-1: Principle of the winderThe data structure chapter 13.2 "ML_COMP_DATA" on page 119 contains thedesign parameters for the friction compensation and the winding tightnesscharacteristic curves.The function block chapter 13.3 "ML_WinderSensorless" on page 120 is re‐sponsible for the control of the winder.

13.2 ML_COMP_DATAThe data structure ML_COMP_DATA contains the design parameters for thefriction compensation and the winding tightness characteristic curves.

Function Name Type Comment

Friction compensation RStandStillFriction REAL Standstill friction torque [%]

RMaxFrictTorque REAL Maximum friction torque [%]

RToppleFrictTorque REAL Pull-out / friction torque [%]

RToppleRev REAL Pull-out speed

Winding tightness character‐istic curves

BCurveType BOOL Curve type: 0 = linear; 1 = hyperbolic

RrefDiameter REAL Beginning of the characteristic curve

Rtaper REAL Characteristic curve progression:0 to 100% => rising,0 to -100% => falling

Fig.13-2: Content of the data structure ML_Comp_Data

Library Description | Rexroth IndraMotion MLC 04VRS Electric Drivesand Controls

| Bosch Rexroth AG 119/179

Function Block for Application "Sensorless Winder"

Page 126: Rexroth IndraMotion MLC 04VRS

13.3 ML_WinderSensorlessThe function block ML_WinderSensorless realizes the control of a center winderwith a user-defined torque limit depending on the current winder diameter andthe set tension. The functionality of the function block will be described in thefollowing.

* Variable adjustments are immediately effective in the case of an activefunction block!

** Takeover with PresetFig.13-3: ML_WinderSensorless

Name Type Comment

VAR_IN_OUT RefAxis AXIS_REF Reference axisEncoder axes, real axes and virtual axes with a moduloweighting of 360° can be used.

WindingAxis AXIS_REF Reference to the winding axis

FSCompData ML_COMP_DATA Contains design parameters for friction compensationand winding tightness characteristic curves.

120/179 Bosch Rexroth AG | Electric Drivesand Controls

Rexroth IndraMotion MLC 04VRS | Library Description

Function Block for Application "Sensorless Winder"

Brief Description

Interface Description

Page 127: Rexroth IndraMotion MLC 04VRS

Name Type Comment

VAR_INPUT Enable BOOL Activates the winding calculator

Preset BOOL Initializes the function block with Preset

WinderType BOOL Winder type:0=> unwinder,1 => rewinder

TightMethod BOOL Tensioning method:0 => tensioning with constant speed,1 => tensioning with constant web velocity

SetVal1 REAL Tensile force command value [N]

CoreDiameter REAL Diameter of the empty winder [mm]

CoilDiameterPreset REAL Preset diameterInitial value for the diameter calculation, e. g. after a coilchange. In the case of a preset, the parameterized valuewill be accepted as current winder diameter.

TractionLimitWindow REAL Monitoring window for the tension [%]Also effective in the case of a deactivated winding cal‐culator

TightRev REAL The winding material will be tensioned with the speedset here [rpm]

VAR_OUTPUT InOperation BOOL In operation after having finished preprocessing

PresetDone BOOL Preset has been accomplished

CalcDiamDone BOOL After having activated the winding calculator, "CalcDia‐meterDone" will be set once the first diameter calcula‐tion has been finished.The signal will be reset in the following cases:1. Deactivation of the winding calculator2. Transition to the untensioned status

CurrentTrackingForce REAL Actual tension value [N]

TractionInLimits BOOL Tensile force in the monitoring window

ActCoilDiameter REAL Currently calculated winder diameter [mm]

CoilTightened BOOL Winding material tensioned

Warning BOOL Indicates a warning

Error BOOL Indicates an error

ErrorID ERROR_CODE Brief error description

ErrorIdent ERROR_STRUCT Detailed error description according to error table

Fig.13-4: Interface of ML_WinderSensorless

Library Description | Rexroth IndraMotion MLC 04VRS Electric Drivesand Controls

| Bosch Rexroth AG 121/179

Function Block for Application "Sensorless Winder"

Page 128: Rexroth IndraMotion MLC 04VRS

Fig.13-5: Signal/time diagram of the winder

In the case of an active function block, an error message does notresult in an interruption of the winding procedure in any case. Theuser has to decide upon the further procedure on the basis of theerror codes.

The input "Enable" activates / deactivates the winding calculator. With "Ena‐ble", the winding material will initially be tensioned with the set tensioningspeed. To avoid the formation of loops, the master axis should be in standstillduring this procedure.The winding material is considered as being tensioned if the relative deviationbetween the torque limit (S-0-0092) and the actual torque value (S-0-0084) islower than 25%. "Winding material tensioned" will be indicated with "CoilTight‐ened".The following two methods● Tensioning with constant speed and● Tensioning with constant web velocitycan be used for tensioning the winding material.Calculation of the winder diameter:The torque for the winder drive results from the product "tensile force x radi‐us" of the winder.The radius or the diameter of the winder will thus be determined on a continuousbasis.After having activated the winding calculator and after having successfullycompleted the tensioning process, the diameter calculation will be performedfor the first time after half a revolution and subsequently every 180° in the ten‐sioned condition.The current winder diameter is available at "ActCoilDiameter".

122/179 Bosch Rexroth AG | Electric Drivesand Controls

Rexroth IndraMotion MLC 04VRS | Library Description

Function Block for Application "Sensorless Winder"

Signal/Time Diagram

Functional Description

Page 129: Rexroth IndraMotion MLC 04VRS

Fig.13-6: Winder TypesThe four different applications will be configured with the help of two variables.The function of an unwinder or rewinder will be set with the variable "Winder‐Type". The rotating direction of the winder drive in relation to the master axiswill be determined with the drive parameter "Master drive polarity" (P-0-0108).A selectable winding tightness characteristic curve can be set for a rewinder.In principle, the winding tightness characteristic curve will be used to wind upthe initial layers of the winder with a higher tension and to reduce the tensionwith an increasing winder diameter. The variable "rRefDiameter" (initial winderdiameter) can be used to set the diameter from which the winding tightnesscharacteristic curve becomes effective. The variable "rTaper" is used to specifythe tension change (in %) in relation to an increasing diameter. If the value forthe winding tightness is between 0% and 100%, the tension decreases with anincreasing diameter; if the value is between 0% and -100%, the tension increa‐ses with an increasing diameter. The higher the absolute value for the windingtightness, the higher is the increase or decrease of the tension.With the help of the variable "bCurveType", two different winding tightnesscharacteristic curves can be selected.Depending on the parameter "rTaper", the tension will be changed linear to anincreasing diameter.

Library Description | Rexroth IndraMotion MLC 04VRS Electric Drivesand Controls

| Bosch Rexroth AG 123/179

Function Block for Application "Sensorless Winder"

Winder Types

Winding Tightness CharacteristicCurves: Data Structure

ML_COMP_DATA

Linear Winding Tightness Charac‐teristic Curve

Page 130: Rexroth IndraMotion MLC 04VRS

Fig.13-7: Linear winding tightness characteristic curveDepending on the parameter "rTaper", the tension will be changed hyperboli‐cally (1/diameter).

Fig.13-8: Hyperbolic winding tightness characteristic curveA speed-dependent compensation of the friction torque can be set with the helpof the parameters "friction torque at standstill" "rStandStillFriction", "friction tor‐que at maximum speed" "rMaxFrictTorque", "minimum winder friction torque""rToppleFrictTorque", "winder - speed - minimum friction torque" "rToppleR‐ev".The friction torque will be specified in percent in relation to the standstill per‐manent torque of the motor. (S-0-0111, P-0-0051).

124/179 Bosch Rexroth AG | Electric Drivesand Controls

Rexroth IndraMotion MLC 04VRS | Library Description

Function Block for Application "Sensorless Winder"

Hyperbolic Winding TightnessCharacteristic Curve

Friction compensation

Page 131: Rexroth IndraMotion MLC 04VRS

Fig.13-9: Friction compensationAfter a coil change, the winder diameter normally changes immediately. Thelast calculated internal value does no longer correspond to the current diameter.A preset has to be performed to ensure a correct diameter calculation during arestart. The parameter "winder diameter preset" "CoilDiameterPreset" has tobe provided with the current winder diameter as initial value.

If no preset is performed, this may result in certain malfunctions.The preset has to be completed before connecting the winding cal‐culator.

In the case of a coil change on-the-fly (several winding axes), the "winder di‐ameter preset" "CoilDiameterPreset" should be set● to a slightly smaller diameter for a rewinder and● to a slightly larger diameter for an unwinderthan the actual value.In the case of a rewinder, a higher speed will be set; in the case of an unwinder,a lower speed will be set. This accelerates the tensioning process correspond‐ingly..

Library Description | Rexroth IndraMotion MLC 04VRS Electric Drivesand Controls

| Bosch Rexroth AG 125/179

Function Block for Application "Sensorless Winder"

Coil Change

Setting the Preset Value in theCase of a Coil Change On-The-Fly

Block Diagram

Page 132: Rexroth IndraMotion MLC 04VRS

Fig.13-10: Block diagram / functional overviewThe function block generates the following error messages in Additional1/Ad‐ditional2 for the table "F_RELATED_TABLE", 16#0170:

ErrorID Additional1 Additional2 Description

RESOURCE_ERROR(16#0003)

16#0001 16#0000 Drive power or controller enable is not connected.

ACCESS_ERROR(16#0004)

16#0B01 16#0001 Drive parameter S-0-0092 is not cyclically configured in MDT.

126/179 Bosch Rexroth AG | Electric Drivesand Controls

Rexroth IndraMotion MLC 04VRS | Library Description

Function Block for Application "Sensorless Winder"

Troubleshooting

Page 133: Rexroth IndraMotion MLC 04VRS

ErrorID Additional1 Additional2 Description

ACCESS_ERROR(16#0004)

16#0B01 16#0002 Drive parameter S-0-0690 is not cyclically configured in MDT.

ACCESS_ERROR(16#0004)

16#0B01 16#0003 Drive parameter S-0-0694 is not cyclically configured in MDT.

INPUT_RANGE_ERROR(16#0006)

16#0B02 16#0001 Input parameter outside the value range:Process variable command value (tensile force [N])

INPUT_RANGE_ERROR(16#0006)

16#0B02 16#0002 Input parameter outside the value range:Process variable window (%)

INPUT_RANGE_ERROR(16#0006)

16#0B02 16#0003 Input parameter outside the value range:Specification tensioning speed [rpm]

INPUT_RANGE_ERROR(16#0006)

16#0B02 16#0004 Input parameter outside the value range:Winder diameter preset [mm]

INPUT_RANGE_ERROR(16#0006)

16#0B02 16#0005 Input parameter outside the value range:Minimum winder diameter [mm]

INPUT_RANGE_ERROR(16#0006)

16#0B03 16#0001 Input parameter outside the value range:Data Structure ML_COMP_DATA(Winding tightness characteristic curves: Reference diameter[mm])

INPUT_RANGE_ERROR(16#0006)

16#0B03 16#0002 Input parameter outside the value range:Data Structure ML_COMP_DATA(Winding tightness characteristic curves: Taper [%] )

INPUT_RANGE_ERROR(16#0006)

16#0B03 16#0003 Input parameter outside the value range:Data Structure ML_COMP_DATA(Standstill friction torque [%])

INPUT_RANGE_ERROR(16#0006)

16#0B03 16#0004 Input parameter outside the value range:Data Structure ML_COMP_DATA(Maximum friction torque [%])

INPUT_RANGE_ERROR(16#0006)

16#0B03 16#0005 Input parameter outside the value range:Data Structure ML_COMP_DATA(Pull-out / friction torque [%])

INPUT_RANGE_ERROR(16#0006)

16#0B03 16#0006 Input parameter outside the value range:Data Structure ML_COMP_DATA(Pull-out speed [rpm] )

RESOURCE_ERROR(16#0003)

16#0B04 16#0001 Winding axis not in synchronous operation:GearIn not active or not processed without errors. If required,adjust S-0-0183 "Velocity synchronization window".

Fig.13-11: Error codes caused by ML_WinderSensorless● MLC Hardware CML40.1 or CML40.2● IndraDrive C or IndraDrive M with advanced or basic control part● MLC firmware CML40s-MLs-02V16.033 or higher● Drive firmware MPH03V10 or higher with the following functional pack‐

ages:

Library Description | Rexroth IndraMotion MLC 04VRS Electric Drivesand Controls

| Bosch Rexroth AG 127/179

Function Block for Application "Sensorless Winder"

Required Hardware

Required Firmware

Page 134: Rexroth IndraMotion MLC 04VRS

– Closed Loop– Synchronization

● IndraWorks MLC 01VRSThe parameterization over IndraWorks is accomplished as follows:

Fig.13-12: Cyclical SERCOS channel (MDT)

The position of the parameter inputs is free. In the case of incorrector missing inputs, an error message will be displayed.

The following parameterization has to be accomplished in the drive to ensurea proper functionality of the function block.The rotating direction of the winder drive in relation to the master axis will bedetermined with the drive parameter "Master drive polarity" (P-0-0108).Filtering the torque/force feedback value S-0-0084:In the case of a low tensioning speed, an unfiltered actual torque value canresult in a malfunction of the winding calculator. Since the engagement condi‐tion of the winding calculator requires a relative deviation between the torquelimit value and the actual torque value of < 25%, a diameter calculation willpossibly not be performed.Filtering the velocity feedback value S-0-0040:In the case of a low speed, an unfiltered velocity feedback value can, amongother consequences, result in incorrect values for the friction compensation.With the help of the parameters● P-0-0395, average value filter for display: signal selection● P-0-0396, average value filter for display: signal selection list● P-0-0397, average value filter for display: time constantthe actual velocity or torque value can be smoothed with the help of averagevalue filters.In the case of an active winding calculator, the warning E8260 "Torque/forcecommand value limitation active" will be displayed at the winder drive.In the case of an active torque/force limitation, the warning display can be de‐activated in "P-0-0556, Config word of axis controller", if required:Bit 40: E8260 will be displayed1: E8260 will not be displayed

See also Rexroth IndraDrive MPx03 parameter description

128/179 Bosch Rexroth AG | Electric Drivesand Controls

Rexroth IndraMotion MLC 04VRS | Library Description

Function Block for Application "Sensorless Winder"

Required SoftwareRequired Parameterizations

Parameterization Winder Drive

Rotating Direction of the WinderDrive

Filtering Actual Values

Disabling the Warning MessageE8260

Page 135: Rexroth IndraMotion MLC 04VRS

The function block ML_WinderSensorless records drive data which have to beprovided on a cyclical basis. Thus, the function block has to be called in a high-prior, cyclical PLC task with a cycle time ≤ 4ms (motion task).● Prior to the start of the winder function block, the winder must be connec‐

ted to the master axis over the function block MC_GearIn. The functionblock realizes an electronic gear function with fine adjustment (speed-synchronous). MC_GearInPos may not be used for connection purposes.

● Prior to the start of the function block, the power of the winder drive mustbe connected with MC_Power.

The winder diameter will be calculated from the "minimum winder diameter"and the related gear ratio between the master axis and the winding axis.The gear ratio between the master axis and the winding axis will be calculatedwith the help of● RatioNumerator (master axis gear output revolutions)● RatioDenominator (master axis gear input revolutions)(MC_GearIn input variables).They must be set in a way so that the web velocity of the winding material isequal to the circumferential velocity of the empty winder.One master axis revolution corresponds to a format of 420 mm, and the emptywinder has a diameter of 100 mm.● Master axis gear input revolutions = 100 * pi = 314● Master axis gear output revolutions = 420

Fig.13-13: Formula for the diameter calculationThe compensation data have been summarized in the data structure"ML_COMP_DATA", see fig. 13-2 "Content of the data structure ML_Comp_Da‐ta" on page 119. It contains the design parameters for the friction compensationand the winding tightness characteristic curves.The "standstill friction torque" "rStandStillFriction", see fig. 13-2 "Content of thedata structure ML_Comp_Data" on page 119, will be determined with a stoppedmaster axis and an empty winder:● The inputs Enable and Preset are initially inactive ("0").● The variable "TightRev", see fig. 13-4 "Interface of ML_WinderSensorless"

on page 120, will be set to a low speed (e. g. 10 rpm).● Connect the winding axis with the reference axis with the help of GearIn.● Enable the winding calculator with "Enable".● The value of the variable "rStandStillFriction", see fig. 13-2 "Content of the

data structure ML_Comp_Data" on page 119, will be incrementally in‐creased until the drive starts to rotate.

● The enabling of the process controller will be reset.● Thus, setting the parameter "Standstill friction torque" is completed.The "friction torque at maximum speed" "rMaxFrictTorque", see fig. 13-2 "Con‐tent of the data structure ML_Comp_Data" on page 119, will be determined asfollows with a stopped master axis and an empty winder:● The inputs "Enable" and "Preset" are inactive ("0").

Library Description | Rexroth IndraMotion MLC 04VRS Electric Drivesand Controls

| Bosch Rexroth AG 129/179

Function Block for Application "Sensorless Winder"

Required IndraLogic Steps

Settings for the Diameter Calcula‐tion

Example

Instructions for Initial Start-up

Determination of the Friction Tor‐que in Standstill

Determination of the Friction Tor‐que With Maximum Speed

Page 136: Rexroth IndraMotion MLC 04VRS

● The variable "tensioning torque" "TightRev", see fig. 13-4 "Interface ofML_WinderSensorless" on page 120, will be set to the maximum speedof the winder (see also "Bipolar velocity limit value" (S-0-0091)).

● The "friction torque at maximum speed" "rMaxFrictTorque", see fig. 13-2"Content of the data structure ML_Comp_Data" on page 119, will be setto 100 %.

● Connect the winding axis with the reference axis with the help of GearIn.● Enable the winding calculator over the input "Enable".● Now, the winder drive is accelerated up to the maximum speed.● The parameter "friction torque at maximum speed" "rMaxFrictTorque", see

fig. 13-2 "Content of the data structure ML_Comp_Data" on page 119, willbe incrementally decreased until the drive starts to decelerate. The speedcan be controlled with the drive parameter "velocity feedback val‐ue" (S-0-0040).

● The enabling of the process controller will be reset.● Thus, setting the parameter "friction torque at maximum speed" is com‐

pleted.The minimum friction torque will be determined with the help of a brake test withempty winder. The winder drive will be decelerated until standstill with a con‐stant velocity (e. g. 50 rpm). At the same time, the drive parameters "torque/force command value" (S-0-0080) and "velocity feedback value" (S-0-0040) willbe recorded with an oscilloscope or with the IndraWorks oscilloscope function.The minimum value for the torque curve will be entered into the data structure"ML_COMP_DATA.RtoppleFrictTorque", see fig. 13-2 "Content of the datastructure ML_Comp_Data" on page 119; the corresponding speed will be en‐tered into "ML_COMP_DATA.RtoppleRev", see fig. 13-2 "Content of the datastructure ML_Comp_Data" on page 119.Operating tension:The desired operating tension will be set with the parameter "tensile force com‐mand value [N]" "TractionForce", see fig. 13-4 "Interface of ML_WinderSen‐sorless" on page 120.To ensure the required lead and lag of the winding axis, the MC_GearIn variable"MasterFineAdjust" has to be set as follows.Rewinder:● "MasterFineAdjust" will be set to a value of 2.00 %.Unwinder:● "MasterFineAdjust" will be set to a value of -2.00 %.Winding with constant speed:● The "tensioning speed" "TightRev", see fig. 13-4 "Interface of ML_Wind‐

erSensorless" on page 120, will be set to the desired value.Winding with constant web velocity:● The tensioning speed for an empty winder will be entered into the "ten‐

sioning speed" "TightRev", see fig. 13-4 "Interface of ML_WinderSensor‐less" on page 120.

● The winding material will be applied in untensioned condition (slightlysagging).

● Connect the reference axis and the winding axis with MC_GearIn.● Initialize the function block with "Preset", see fig. 13-4 "Interface of

ML_WinderSensorless" on page 120.

130/179 Bosch Rexroth AG | Electric Drivesand Controls

Rexroth IndraMotion MLC 04VRS | Library Description

Function Block for Application "Sensorless Winder"

Determination of the Minimum Fric‐tion Torque (Pull-out Torque, Pull-

out Speed)

Final Settings

Preset Fine Adjustment

Winder - Tensioning Speed

Initial Start-up of the Winding Axis

Page 137: Rexroth IndraMotion MLC 04VRS

● Activate the winding calculator with "Enable". The winding material nowhas to be tensioned with the "tensioning speed" "TightRev", see fig. 13-4"Interface of ML_WinderSensorless" on page 120.

● The output "tensile force in monitoring window" "TractionInLimits", see fig.13-4 "Interface of ML_WinderSensorless" on page 120, must be set now.If this message is not displayed, the "tension monitoring window" "Trac‐tionLimitWindow", see fig. 13-4 "Interface of ML_WinderSensorless" onpage 120, has to be corrected.

● The master axis will be enabled with a low speed (e. g. 10 rpm). After somerevolutions of the winding axis, the output "CalcDiamDone", see fig. 13-4"Interface of ML_WinderSensorless" on page 120, must have become ac‐tive and thus the winding calculator must have become engaged.

● With the winding calculator being engaged, the standstill tension and theoperating tension can be checked.

● The output variable "currently calculated winder diameter" "ActCoilDia‐meter", see fig. 13-4 "Interface of ML_WinderSensorless" on page 120,displays the result of the diameter calculation. The calculated value hasto correspond approximately to the actual diameter of the winder.

Since the diameter of the winder is calculated every 180°, the speedof the winder should not exceed 3,500 rpm due to the modulo cal‐culation. Higher speeds can result in a modulo overrun and thus toincorrect diameter calculations.

Library Description | Rexroth IndraMotion MLC 04VRS Electric Drivesand Controls

| Bosch Rexroth AG 131/179

Function Block for Application "Sensorless Winder"

Page 138: Rexroth IndraMotion MLC 04VRS

Bosch Rexroth AG | Electric Drivesand Controls

Rexroth IndraMotion MLC 04VRS | Library Description

Page 139: Rexroth IndraMotion MLC 04VRS

14 Function Block Temperature Controller "IL_TempCon‐trolType01"

14.1 Introduction and OverviewThe function block "IL_TempControlType01" serves for the control of temper‐atures. It can determine the controller parameters either independently or withthe help of certain specifications. Special functions like monitoring, pause andmanual operation can be activated in addition.

Fig.14-1: Interface Description

Name Type Description

VAR_INPUT Enable BOOL The function block is active if this input is "TRUE".The function block will be reset to its initial values witha falling edge.The parameter will be read in each cycle.

SetPoint REAL Command temperatureUnit in [u]The parameter will be read in each cycle.

SetPointGradient REAL Maximum adjustment of the parameter "SetPoint" in [u/s]The parameter will be read in each cycle.The preset value is "0 [u/s]" (not active).

Feedback REAL Input for the actual temperatureUnit in [u]The parameter will be read in each cycle.

Library Description | Rexroth IndraMotion MLC 04VRS Electric Drivesand Controls

| Bosch Rexroth AG 133/179

Function Block Temperature Controller "IL_TempControlType01"

Brief Description

Interface Description

Page 140: Rexroth IndraMotion MLC 04VRS

Name Type Description

Pause BOOL This input "freezes" the control variable and the control‐ler calculation.The parameter will be read in each cycle.The preset value is "FALSE" (not active).

OperatingMode BOOL Changes the controller mode from automatic to manualoperation:AUTO:=FALSE,MANUAL:=TRUE.The preset value is "FALSE" (AUTO).The parameter will be read in each cycle.

ManContrValue REAL Specifies the control variable in [%] for the manual op‐eration but will only be actively read if"OperatingMode:=1".The parameter will be read in each cycle.The preset value is "0%" (no control variable).

StartAutoTune BOOL A rising edge starts the identification process. The PIDcontroller parameters will be calculated subsequentlybut not actively until a falling edge is present.The parameter will be read in each cycle.The preset value is "FALSE" (not active).

AutoTuneTimeOut TIME Watchdog responsible for monitoring the time during theidentification processThe preset value is "10000 • TA".

The parameter will be read by "StartAutoTune" in thecase of a rising edge.

AutoTuneStartPower REAL Control variable in [%] representing the lower limit of theidentification processThe preset value is "0%".The parameter will be read by "StartAutoTune" in thecase of a rising edge.

AutoTuneFinishPower REAL Control variable in [%] representing the upper limit of theidentification processThe preset value is "50%".The parameter will be read by "StartAutoTune" in thecase of a rising edge.

OutputPowerMax REAL Maximum output control variable in [%]The preset value is "100%".The parameter will be read in each cycle.

Quickness USINT Quickness of the controllerThe preset value is "3" (very slight overshoot).The parameter can be selected in the range from"1" (quick control, strong overshoot) to "5" (slow control,no overshoot).The parameter will be read by "StartAutoTune" in thecase of a rising edge.

134/179 Bosch Rexroth AG | Electric Drivesand Controls

Rexroth IndraMotion MLC 04VRS | Library Description

Function Block Temperature Controller "IL_TempControlType01"

Page 141: Rexroth IndraMotion MLC 04VRS

Name Type Description

Preset BOOL A rising edge takes over the control parameters of the"ContrParam" structure.The preset value is "FALSE" (not active).The parameter will be read in each cycle.

StartUpTemp REAL Start-up temperature in [u]The parameter will be read by "Enable" in the case of arising edge.The preset value is "0u" (not active).Only becomes active if the parameter "StartUpTime" isparameterized with a value which is not equal to "0".

StartUpTime TIME Start-up time, i. e. the period during which the start-uptemperature ("StartUpTemp") is hold until the "normal"control process is started.The preset value is "T#0s" (not active).The parameter will be read by "Enable" in the case of arising edge.

ControlUpdateRate DINT This factor specifies how much slower the controllerworks compared to the task of the function block.The sampling time results from multiplying the cycletime (= task interval time) with "ControlUpdateRate".

Limits IL_TEMPCONTROL_LIMITS

Structure containing the alarm limits in [u]The preset value is "0u" (not active).The parameter will be read in each cycle. If the structureis filled with values, Limits.UpperAlarm has to be >Limits.LowerAlarm and (Setpoint + Limits.UpperAtSet‐point) has to be > (Setpoint - Limits.LowerAtSetpoint);otherwise, an error will be generated.

VAR_OUTPUT InOperation BOOL The temperature control is active for a set output.

Active BOOL This output will be set if "Enable" is set and if the con‐troller is active.

Error BOOL An error has occurred during operation. The control var‐iable will be set to "0%".

ErrorID ERROR_CODE In the case of a set "Error" output, this output containsa rough classification of the error.

ErrorIdent ERROR_STRUCT In the case of a set "Error" output, this output containsdetailed information concerning this error.

AutoTuneActive BOOL The identification process is active.

AutoTuneDone BOOL The identification process has been successfully com‐pleted.

ControlValueAnalog REAL Analog value of the control variable in %.

ControlValuePWM BOOL Digital, pulse-width modulated control variable value,either "0" or "1".

Library Description | Rexroth IndraMotion MLC 04VRS Electric Drivesand Controls

| Bosch Rexroth AG 135/179

Function Block Temperature Controller "IL_TempControlType01"

Page 142: Rexroth IndraMotion MLC 04VRS

Name Type Description

SetPointReached BOOL Status output displaying if the actual value is within thelimits ("Setpoint" + "Limits.UpperAtSetpoint") >= actualvalue >= (Setpoint - "Limits.LowerAtSetpoint")

VAR_IN_OUT ContrParam IL_TEMPCONTROL_CONTR_PARAM

This structure contains the current parameters KP , KI

and KD of the controller as well as the dead time Tt.

Fig.14-2: Inputs/outputs for IL_TempControlType01

Name of the structure Elements Data typeIL_TEMPCONTROL_LIMITS UpperAlarm REAL

LowerAlarm REAL

UpperAtSetpoint REAL

LowerAtSetpoint REALIL_TEMPCONTROL_CONTR_PARAM KP REAL

KI REAL

KD REAL

Tt TIME

Fig.14-3: Data structures

Fig.14-4: Timing diagram.

136/179 Bosch Rexroth AG | Electric Drivesand Controls

Rexroth IndraMotion MLC 04VRS | Library Description

Function Block Temperature Controller "IL_TempControlType01"

Data Structures

Timing Diagram

Error Description

Page 143: Rexroth IndraMotion MLC 04VRS

ErrorID Table Add1 Add2 Description

STATE_MACHINE_ER‐ROR

F_RELATED_TABLE 16#1600 Currentstatus

Error of the state machine, invalid status

INPUT_RANGE_ERROR F_RELATED_TABLE 16#1601 16#0001 Input values for a maximum output value("OutputPowerMax") is outside the valid rangeThe value must be higher than 0 [%] up to max.100 [%].

16#1602 Input values invalid for alarm limits(condition: Limits.UpperAlarm > LowerAlarm)

16#1603 Input values invalid for manual control variableThe value must be in the range from 0 [%] to 100[%].

16#0004 Controller parameter invalid

16#000A The start and end value for identification are tooclose to each other.The minimum difference is 5 [%].

16#000B The input SetpointGradient is invalid.The value must be higher than 0.

16#000C Input values invalid for status limits(condition: (Setpoint + Limits.UpperAtSetPoint) >(Setpoint - Limits.LowerAtSetPoint)

16#000D Time for identification is too long("AutoTuneTimeOut").

16#000E Value for "Quickness" is not within the valid limits(1..5)

16#000F Value for "ControlUpdateRate" is not within thevalid limits (1..1000)

SYSTEM_ERROR F_RELATED_TABLE 16#1602 Samplingtime

Jitter of the sampling time > 20 [%]Error only becomes active if the cycle time is ex‐ceeded two times in a row

16#0005 Gradient of the actual value is too high, possiblydue to a sensor error (analysis)

16#0006 Error of the control loop, sensor has possiblybeen shifted or destroyed

CALCULATION_ERROR F_RELATED_TABLE 16#1603 16#0007 Identified controlled system parameters are inva‐lid, self-identification of the controlled systemfailed

16#0008 The identified process model is not appropriate /invalid.

ACCESS_ERROR F_RELATED_TABLE 16#1604 Fieldnumberof the ar‐ray

Incorrect access to internal variable

Library Description | Rexroth IndraMotion MLC 04VRS Electric Drivesand Controls

| Bosch Rexroth AG 137/179

Function Block Temperature Controller "IL_TempControlType01"

Page 144: Rexroth IndraMotion MLC 04VRS

ErrorID Table Add1 Add2 Description

OTHER_ERROR F_RELATED_TABLE 16#1605 16#0009 Time elapsed during identification (watchdog)

DEVICE_ERROR F_RELATED_TABLE 16#1606 Tempera‐ture

Temperature error limit exceeded, temperatureoutside the error limits

Fig.14-5: Error description● Error

"Gradient of the actual value is too high"(Additional1 = 16#1602; Additional2 = 16#0005):The gradient of the actual value will be monitored. If the difference be‐tween two consecutive actual values is higher than 10u/ms, this error willbe generated. This may be the case when using an in-line temperaturemodel since error analyses will be displayed as measured values withvalues higher than 32768 (bit 15 set). If this analysis is not evaluated bythe user, this error message may be generated.

● Error"Error of the control loop, sensor has possibly been shifted or destroyed"(Additional1 = 16#1602; Additional2 = 16#0006):It will be monitored if the actual value approaches the command value inthe case of a maximum output power. For this purpose, a time monitoringprocess will be started which is2000 / Ki + Tt in the case of an active I part and2000 * sampling time + Tt without I part.If the actual value does not approach the command value during this pe‐riod, the error will be generated. It is possible that the sensor is defect /has been shifted or that the heating / cooling system does not work. Theerror may also occur if not dead time (Tt) is specified when specifying thecontroller parameters over the structure"IL_TEMPCONTROL_CONTR_PARAM". In this case, the value of the deadtime should be estimated and the controller parameters should be setagain. This will be accomplished automatically when identifying the con‐trolled system.

● Error"Identified controlled system parameters are invalid, self-identification ofthe controlled system failed"(Additional1 = 16#1603; Additional2 = 16#0007):The values of the controlled system parameters were invalid. This may bedue to an incorrect sampling time or due to incorrect actual values (sensornot connected). See also "Recommendations for Selecting the SamplingTime" on page 143.

● Error"The identified process model is not appropriate / invalid"(Additional1 = 16#1603; Additional2 = 16#0008):When identifying the controlled system, the calculated model will be com‐pared with the measured values. The comparison did not show anysatisfying results. The model shows a deviation of more than 20 % fromthe measured values. Maybe the sampling time has not been chosen cor‐rectly, or the controlled system does not show an aperiodic behavior.Disturbance variables occurring during the identification process can alsolead to this effect.

● Error

138/179 Bosch Rexroth AG | Electric Drivesand Controls

Rexroth IndraMotion MLC 04VRS | Library Description

Function Block Temperature Controller "IL_TempControlType01"

Comments on Certain Errors

Page 145: Rexroth IndraMotion MLC 04VRS

"Time elapsed during identification (watchdog)"(Additional1 = 16#1605; Additional2 = 16#0009):When identifying the controlled system, the system waits until the actualvalue is in steady state; then, a command value step change is performedand the system waits again until the actual value is in steady state. If thisrequires too much time, the error will be generated. The reason for this iseither a strongly varying actual value or an incorrectly selected samplingtime (see also next section).

● Error "Time for identification is too long ('AutoTuneTimeOut')"(Additional1 = 16#1601; Additional2 = 16#000D):When identifying the controlled system, the time monitoring value can beset. This value can have a maximum of 10000 * sampling time. In thiscase, the time monitoring value has to be set to 0 (maximum possible timefor identification in the case of a given sampling time) or the sampling timemust be increased correspondingly.

The function block can be used for IndraLogic and IndraMotion MLC with thehelp of in-line temperature modules (IL TEMP 2 RTD). At the moment, the in-line modules are not yet available for IndraMotion MLD. In general, however,each value can be used as a temperature value since the temperature controllerdoes not directly access the hardware. Thus, it is also possible to obtain tem‐perature values, for example, over field bus connections.

The automatic identification, also known as "AutoTune" , serves to identify theparameters of the controlled system to determine the parameters of the con‐troller. First, certain model parameters will be calculated; subsequently, themodel will be compared with the real controlled system to avoid incorrect pa‐rameterizations of the controller parameters.Before the jump will be activated, it must be ensured that the controlled systemis in passive state. A time monitoring process will be started for this purpose.The preset value for this time monitoring process is 5000 multiplied with theroot of the sampling time in [ms]. The actual value must not exceed the toler‐ance limits of the defined tolerances prior to the end of the time monitoringprocess; otherwise, the time monitoring process will be restarted and the sys‐tem will wait until the specified time has elapsed. The limit for the temperaturewindow containing the actual value for the time of the time monitoring processwill be calculated as follows:

The variable "IdentTemp" is the value for which the tolerance window of theactual temperature will be created. Waiting for the stationary final value is per‐formed in the same way.The quality of the determined model will be estimated. If the deviation is too big,the function block displays the error"16#1603" (CALCULATION_ERROR)with the identifier "16#0008" (invalid process model).

14.2 ControllerEquation of the controlled system:

Library Description | Rexroth IndraMotion MLC 04VRS Electric Drivesand Controls

| Bosch Rexroth AG 139/179

Function Block Temperature Controller "IL_TempControlType01"

Application

Identification

Setting the Controller Parameters

Page 146: Rexroth IndraMotion MLC 04VRS

Equation of the controller:

Setting to optimum value:

or

Quickness = 1...5;1 = very fast with large overshoot,5 = very slow without overshoot;the preset value is Quickness = 3.

Setting the filter time for the difference:

This value will be fixed and cannot be changed. The calculated controller pa‐rameters will be entered into the provided structure"IL_TEMPCONTROL_CONTR_PARAM".The entryKP corresponds to the proportional gain factor,KI corresponds to the integration constant,KD corresponds to the differentiation constant andTt corresponds to the dead time.If these parameters are specified by the user, an estimated value should at leastbe entered for the dead time to avoid the error"Error of the control loop, sensor has possibly been shifted or destroyed"(Additional1 = 16#1602; Additional2 = 16#0006),if possible.An additive PIDT1 algorithm with anti-wind-up of the I part and PT1 filtering ofthe D part has been implemented. The additive form allows to deactivate certainparts of the controller so that, for example, the structure of a PI controller canbe used by parameterizing the D part to "zero".The I part will be limited with the help of an anti-wind-up limiter which has beeninternally preset to a value of 90% of the control variable.

140/179 Bosch Rexroth AG | Electric Drivesand Controls

Rexroth IndraMotion MLC 04VRS | Library Description

Function Block Temperature Controller "IL_TempControlType01"

Control Algorithm

Page 147: Rexroth IndraMotion MLC 04VRS

The saturation limit of the controller is the maximum output value (VAR_INOutputPowerMax) of the controller. The preset value is 100%.In the following, the PIDT1 controller structure with anti-wind-up limitation andlimitation of the maximum control variable will be displayed. Due to the additivestructure, the parts of the controller can be individually deactivated. Thus, pureP, PI or PDT1 controller can be parameterized as well. However, the individualparts have to be deactivated by the user. For this purpose, the desired valueshave to be entered into the structure "contrParam". In the case of a rising edgeat the input "Preset", these new parameters will be activated in the controller.By standard, the controller works with the complete PIDT1 structure.

Fig.14-6: Controller structureThe actual temperature value will be smoothed with a PT1 filter both during theidentification and the control process to avoid stochastic failures. The time con‐stant of the filter is fixed to 20 times the cycle time.The function block is provided with a control loop monitoring option. In the caseof a control variable output of "100%" (full power), the temperature has tochange in the direction of the set sign in KP. Otherwise, a timer will be activateddisplaying an error when the time has elapsed. The timer will be reset once thetemperature moves into the correct direction. The values for the timer will beset as follows:In the case of an existing I part, a value of (2000 / KI) + dead time will be used.If no I part is used, the value 2000 * sampling time will be preset only. The timerwill be reset even if the control variable becomes smaller than "100%". It isimportant to specify the dead time (Tt) in the structure for the controller param‐eters as well if the controller parameters are specified by the input "Preset". Inthe case of a high KI value and a high dead time value, the monitoring processcould be started. Due to this monitoring process, sensor errors (e. g. by beingshifted) or controlling element errors can be detected.In addition, the function block also monitors the gradient of the actual value;however, this monitoring function becomes active only in the case of large de‐viations. These deviations can occur, for example, if the sensor displays anerror code and if this error code is not recorded / evaluated by the user. Thegradient is fixed to a value of 10 u/ms. A single deviation will be tolerated beforean error is generated.

14.3 Using the Function BlockThe function block should be operated in a cyclical task. The function blockautomatically detects the task interval time (= cycle time) and adjusts the controlalgorithm accordingly. The controller works with the sampling time resultingfrom the task interval time multiplied with the input variable "ControlUpdateR‐ate". If "ControlUpdateRate" = 1, the sampling time thus corresponds to the taskinterval time. The sampling time is used for the identification of the controlled

Library Description | Rexroth IndraMotion MLC 04VRS Electric Drivesand Controls

| Bosch Rexroth AG 141/179

Function Block Temperature Controller "IL_TempControlType01"

Controller Structure

Control Loop Monitoring

Page 148: Rexroth IndraMotion MLC 04VRS

system as well as in the case of an activated controller. All other functions ofthe function block (read actual values, PWM output, manual control) use thetask interval time. Thus, it is possible to separate the control / identificationprocess from other functions of the function block (with regard to the time). Thisis especially important to separate the output of the control variable from thecontrol / identification process with the help of PWM.The task interval time forms the basis for the pulse-width modulation (PWM),i. e. the task interval time is the smallest possible time slice which can be setto "ON" or "OFF" in the case of the pulse-width modulation. One period of thePWM is 20 times longer than the task interval time. Thus the control variablecan be changed in steps of 5% between 0% and 100%.Example:

The task interval time will be parameterized to 20 ms for the cyclical task. Thismeans that a new value for the control variable can be transferred to the PWMevery 400 ms. Thus, the possible activation or deactivation times for the PWMare:

Control variable [%] Activation time [ms] Deactivation time [ms]

0 0 400

5 20 380

10 40 360

...

50 200 200

...

95 380 20

100 400 0

Fig.14-7: Example for activation / deactivation timesThe task interval time and "ControlUpdateRate" always have to be selecteddepending on the controlling element and the controlled system. If the taskinterval times are too short, the controlling element will wear too quickly (forexample, relay modules); if the task interval times / sampling times are too long,the accuracy of the control will be reduced.Furthermore, the sampling time will be monitored, i. e. if the sampling time ex‐ceeds / falls below a value of more than 20%, an error will be generated andthe output "Error" is set to TRUE.

The task interval time / cycle time should be set in a way so that the PWM doesnot cause any visible temperature changes within a PWM period of 20*taskinterval time. If, in the case of a control variable of 20%, the temperature of thecontrolled system strongly increases during the heating process and if the tem‐perature is reduced during the deactivated state of the heating, this means thatthe task interval time is too long. This can be seen in the following figure wherethe upper curve displays the temperature curve and the lower curve displaysthe heating phases (TRUE). It is clearly visible that the controlled system isheated with every heating process and that the controlled system cools downwhile the heating is deactivated.

142/179 Bosch Rexroth AG | Electric Drivesand Controls

Rexroth IndraMotion MLC 04VRS | Library Description

Function Block Temperature Controller "IL_TempControlType01"

Recommendations for Selectingthe Task Interval Time

Page 149: Rexroth IndraMotion MLC 04VRS

Fig.14-8: Task interval timeIn contrast, it is also not recommended to choose a too short task interval timesince the control variable is then subject to higher loads (e. g. the relay modulehas to perform a lot of switching processes).An appropriate task interval time has to be determined with the help of certaintests.First, the task interval time should be selected as described in the previoussection. Then, the sampling time can be set to the desired value by using theinput "ControlUpdateRate".The following recommendation applies to the sampling time:● 10 ms for quick / dynamic controlled systems (time constant of the con‐

trolled system from 200 ms to 2 s),● 100 ms for average controlled systems (time constant of the controlled

system from 2 s to 20 s) and● 1 s to 30 s for slow / static controlled systems (time constant of the con‐

trolled system from 20 s to 100 min).The sampling time should be approximately 20 to 200 times faster than the"dominating time constant" of the controlled system. The "dominating time con‐stant" is approximately the time a controlled system requires to pass through63% of the change of a jump. In principle, however, the sampling time can befreely selected by the user.

Library Description | Rexroth IndraMotion MLC 04VRS Electric Drivesand Controls

| Bosch Rexroth AG 143/179

Function Block Temperature Controller "IL_TempControlType01"

Recommendations for Selectingthe Sampling Time

Page 150: Rexroth IndraMotion MLC 04VRS

If the sampling time has been selected too short, the error "Time elapsed duringidentification (watchdog)" (Additional1 = 16#1605; Additional2 = 16#0009) mayoccur during the identification process. In this case, a longer sampling time hasto be selected since the controlled system was not in steady state when thetime monitoring process had expired.If the sampling time has been selected too long, the error "Identified controlledsystem parameters are invalid, self-identification of the controlled systemfailed" (Additional1 = 16#1603; Additional2 = 16#0007) may occur during theidentification process. In this case, a shorter sampling time has to be selectedsince the intervals for measuring the behavior of the controlled system were toolong.

14.4 Description of the Individual Functions, ExamplesWith regard to the following application examples, the following variables haveto be specified in the declaration part of the user's program for the configurationof the function block.Program:

VAR fb_TempControl:IL_TempControlType01; (* Instance of FB *) strContrParam: IL_TEMPCONTROL_CONTR_PARAM; (* Structure containing control parameters *) strLimits: IL_TEMPCONTROL_LIMITS; (* Alarm limits / status limits *) rActualTemp:REAL; (* Actual temperature *) rActualPower:REAL; (* Control variable, analog *) bActualPower:BOOL; (* Control variable, digital (PWM) *) bAutoTuneDone:BOOL; (* Identification state *) bSetPointReached:BOOL; (* Actual value reached setpoint value window *) bError:BOOL; (* Error output state *) iState:INT; (* Value in state intervals *)END_VAR

To make the description more simple, no errors will be described in the followingexamples.In the structure "strContrParam", the function block will be parameterized withthe desired controller parameters. In the case of a rising edge at the input"Preset", new controller parameters can also be parameterized during the con‐trol process. The command value ("Setpoint") can be preset and the actualvalue ("Feedback") has to be returned. The control variable can either be re‐trieved at the analog output ("ControlValueAnalog") or at the digital output("ControlValuePWM").Program:

(* Setting the control parameters *)strContrParam.KP := 1.5;strContrParam.KI := 2;strContrParam.KD := 0.6;strContrParam.Tt := T#1s;

(* Starting module and applying control parameter at the same time*)fb_TempControl( Enable:=TRUE, Setpoint:=50, Feedback:=rActualTemp, Preset:=TRUE, ContrParam:=strContrParam, ControlValueAnalog=>rActualPower, ControlValuePWM=>bActualPower);

Thus, the controller parameters will only be transferred once and the controllerworks with the specified values.

144/179 Bosch Rexroth AG | Electric Drivesand Controls

Rexroth IndraMotion MLC 04VRS | Library Description

Function Block Temperature Controller "IL_TempControlType01"

Simple Control With Specificationof the Controller Parameters

Page 151: Rexroth IndraMotion MLC 04VRS

First, the function block will be set to the identification or AutoTune mode. Afterhaving successfully completed the identification, the control process will bestarted by generating a falling edge at the input "StartAutoTune".The calculated controller parameters are saved in the structure "strContrPar‐am" and are thus available to the user. Thus, these controller parameters canbe saved in the retain area of the control by the user (see also the example"Retaining the controller parameters"). Another identification process is thus nolonger required when starting the control process again but the simple controlwith parameter specification can be started immediately.With the optional input "Quickness", a slightly quicker setting process has beenspecified for the controller (quicker control but higher disposition for over‐shoots).The identification will be performed with a jump from 0% ("AutoTuneStartPow‐er") to 10% ("AutoTuneFinishPower") output power.Program:CASE iState OF1: (* Identification *) fb_TempControl ( Enable:=TRUE, StartAutoTune := TRUE Feedback:=rActualTemp, AutoTuneStartPower:= 0, AutoTuneFinishPower:= 10, Quickness:=2, ContrParam:=strContrParam, ControlValueAnalog=>rActualPower, ControlValuePWM=>bActualPower, AutoTuneDone=>bAutoTuneDone); IF (bAutoTuneDone = TRUE) THEN iState := 2; END_IF2: (* Application in control *) fb_TempControl( Enable:=TRUE, StartAutoTune := FALSE, Setpoint:=50, Feedback:=rActualTemp, ContrParam:=strContrParam, ControlValueAnalog=>rActualPower, ControlValuePWM=>bActualPower);

During a process control, another identification in the operating point may bedesired. In the following, the corresponding procedure will be described on thebasis of the previous example "Simple identification of a controlled system withsubsequent transition to a control". By setting the input "AutoTuneStart", theidentification process will be started; the initial and final parameters of the con‐trol variable parameters will be transferred to "AutoTuneStartPower" and"AutoTuneFinishPower". After a successful identification, the new controllerparameters will be available for the user in the structure "strContrParam".In the example, the operating range will be calculated on the basis of the actualvalue of the control variable (in %). The prerequisite is, of course, that the con‐trolled system is in steady (stationary) state. In the example, the operatingrange has been selected from "control variable -10%" to "control variable+10%". The identification in the operating point starts with changing to state"3".Program:CASE iState OF2: (* Control *) fb_TempControl( Enable:=TRUE, StartAutoTune := FALSE, Setpoint:=50, Feedback:=rActualTemp,

Library Description | Rexroth IndraMotion MLC 04VRS Electric Drivesand Controls

| Bosch Rexroth AG 145/179

Function Block Temperature Controller "IL_TempControlType01"

Simple Identification of a ControlledSystem With Subsequent Transi‐

tion to a Control Process

Identification of the Controlled Sys‐tem in the Operating Point

Page 152: Rexroth IndraMotion MLC 04VRS

ContrParam:=strContrParam, ControlValueAnalog=>rActualPower); If (bIdent = TRUE) THEN iState := 3; End_IF;3: (* Identification in operating point *) fb_TempControl( Enable:=TRUE, StartAutoTune := TRUE, AutoTuneStartPower:=rActualPower-10, AutoTuneFinishPower:=rActualPower+10, Feedback:=rActualTemp, ContrParam:=strContrParam, ControlValueAnalog=>rActualPower, AutoTuneDone=>bAutoTuneDone); IF (bAutoTuneDone = TRUE) THEN iState := 2; END_IF

If a process prior to the actual temperature control requires the system to waitat a certain temperature for a certain time (start-up ramp), this function is avail‐able over the inputs "StartUpTemp" and "StartUpTime".First, the controller controls until the start-up temperature. If this is not achieved,the start-up time "StartUpTime" expires and the controller maintains a constantstart-up temperature. After the start-up time "StartUpTime" has elapsed, thestart-up ramp is completed and the controller shows its normal behavior. Thestart-up ramp will be performed once after each change from "Enable" to"TRUE".In the example, the controller controls to a temperature of "100", then it waitsfor 5 minutes and 30 seconds and finally it controls to the desired temperatureof "150" (see fig. 14-10 "Using a command value gradient and a start-up ramp"on page 148).Program:fb_TempControl( Enable:=TRUE, Setpoint:=150, Feedback:=rActualTemp, Preset:=TRUE, StartUpTemp:=100, StartUpTime:=t#5m30s, ContrParam:=strContrParam, ControlValueAnalog=>rActualPower);

Alarm and status limits can be set for process monitoring purposes.The structure "Limits" contains the values "UpperAlarm" and "LowerAlarm".When exceeding the alarm limits, an error will be generated. The monitoringfunction only becomes active if the current process temperature ranges be‐tween the values of "UpperAlarm" and "LowerAlarm" so that no error is gener‐ated during the start-up of the process.The structure "Limits" also contains the values "UpperAtSetPoint" and "Lower‐AtSetPoint". The output "SetPointReached" will be set once the condition("Setpoint – Limits.LowerAtSetPoint") ≤ actual value ≤ ("Setpoint + Limits.Up‐perAtSetPoint") has been fulfilled. Thus, it can be determined if the desiredtemperature has already been reached.Program:strLimits.UpperAlarm:=250;strLimits.LowerAlarm:=70;strLimits.UpperAtSetpoint:=20;strLimits.LowerAtSetPoint:=20;fb_TempControl( Enable:=TRUE, Setpoint:=150, Feedback:=rActualTemp,

146/179 Bosch Rexroth AG | Electric Drivesand Controls

Rexroth IndraMotion MLC 04VRS | Library Description

Function Block Temperature Controller "IL_TempControlType01"

Definition of a Start-up Ramp

Definition of Alarm and Status Lim‐its

Page 153: Rexroth IndraMotion MLC 04VRS

Limits:=strLimits, ContrParam:=strContrParam, ControlValueAnalog=>rActualPower, SetPointReached=>bSetPointReached);

Fig.14-9: Operation mode of the alarm and status limits

Pausing the control process can be realized over the input "Pause". The controlvariable remains constant and the controller as well as all its values will be"frozen". After having reset the input "Pause", the control process will continueas usual.In the example, the temperature will be controlled to "150" in state "4". Byswitching to state 5, the control process will be "frozen" and no new controlvariables will be output. By returning to state "4", the control process will becontinued as usual and new control variables will be output again. A jump mayoccur if the actual value has strongly changed in the meantime.Program:CASE iState OF4:fb_TempControl( Enable:=TRUE, Pause:=FALSE, Setpoint:=150, Feedback:=rActualTemp, Preset:=TRUE, ContrParam:=strContrParam, Limits:=strLimits, ControlValueAnalog=>rActualPower);5:fb_TempControl( Enable:=TRUE, Pause:=TRUE, Setpoint:=150, Feedback:=rActualTemp, Preset:=TRUE, ContrParam:=strContrParam, Limits:=strLimits, ControlValueAnalog=>rActualPower);

The function block is provided with two control variable outputs: one analogoutput ("ControlValueAnalog") which displays REAL values between "0%" (nopower) and "100%" (full power), and one digital output ("ControlValuePWM")displaying the BOOL values "FALSE" (no power) or "TRUE" (full power). Thedigital output can be used for pulsing the power in the case of relay modules.The pulsing process is performed with the help of a pulse-width modulation

Library Description | Rexroth IndraMotion MLC 04VRS Electric Drivesand Controls

| Bosch Rexroth AG 147/179

Function Block Temperature Controller "IL_TempControlType01"

Pausing the Control Process(PAUSE mode)

Analog / Digital Control VariableOutput

Page 154: Rexroth IndraMotion MLC 04VRS

whose cycle time is 20 times slower than the time of the cyclical task in whichthe function block is running. Thus, control variables with a resolution from „0%“to „100%“ can be modulated in steps of „5%“.The analog output can be used for an analog output or for monitoring the currentcontrol variable.Program:fb_TempControl( Enable:=TRUE, Pause:=FALSE, Setpoint:=150, Feedback:=rActualTemp, Preset:=TRUE, ContrParam:=strContrParam, Limits:=strLimits, ControlValueAnalog=>rActualPower ControlValuePWM=>bActualPower);

The function block provides the possibility to limit (to ramp) the increase of thecommand value. This reduces the overshoot and prevents the unit from dam‐ages. For each new specification of the input "SetPoint", the command valuewill be internally changed in the form of ramps (not jumps) until the desiredcommand value has been reached. "SetPointGradient" will be specified in [u/s].In the example, the command temperature will be controlled to "150" with anincrease of "0.5 per second".Program:fb_TempControl( Enable:=TRUE, Pause:=FALSE, Setpoint:=150, Setpointgradient:=0.5, Feedback:=rActualTemp, Preset:=TRUE, ContrParam:=strContrParam, Limits:=strLimits, ControlValueAnalog=>rActualPower);

A ramping process with command value gradient and an additional start-upramp would show the following development of command value and actual val‐ue. Here, a target temperature ("Setpoint:=200") of "200°C" has been controlledwith a gradient ("Setpointgradient:=1") of "1°C/s". The start-up temperature("StartUpTemp:=100") is "100°C" and the start-up time("StartUpTime:=T#50s") is "50s".

Fig.14-10: Using a command value gradient and a start-up ramp

148/179 Bosch Rexroth AG | Electric Drivesand Controls

Rexroth IndraMotion MLC 04VRS | Library Description

Function Block Temperature Controller "IL_TempControlType01"

Specification of a Command ValueGradient

Page 155: Rexroth IndraMotion MLC 04VRS

A manual control variable can be defined to control the temperature manually.At the same time, this variable represents the control variable at the output ofthe function block. A manual control variable may be required to record manualtesting functions or to activate an emergency operating mode in the case of asensor error.In the example, the function block will be manually controlled with a controlvariable of "50%".Program:fb_TempControl( Enable:=TRUE, Pause:=FALSE, OperatingMode:=TRUE, ManContrValue:=50, ContrParam:=strContrParam, Limits:=strLimits, ControlValueAnalog=>rActualPower);

To ensure that the controller parameters are safely stored even in the case ofa power failure, they can be saved in the retain area. By doing so, no identifi‐cation process has to be performed when restarting the controller but the controlprocess can be started immediately.For this purpose, the user has to create the structure "strContrParam" as retainvariables ("VAR RETAIN") which then contains the values of the individualcontroller parameters. At the same time, the user has to create a mechanismto differentiate at the initial start-up if an identification process has already beenperformed.Additional retain variables have to be created in the header.Program:VAR RETAIN strContrParam : STRUCT_CONTR_PARAM; bIdentification: BOOL := FALSE;END_VARIf (bIdentification = FALSE) THEN fb_TempControl( Enable:=TRUE, StartAutoTune := TRUE, Feedback:=rActualTemp, Quickness:=2, ContrParam:=strContrParam, ControlValueAnalog=>rActualPower, ControlValuePWM=>bActualPower, AutoTuneDone=>bAutoTuneDone); IF (bAutoTuneDone = TRUE) THEN bIdentification:= TRUE; END_IFELSE fb_TempControl( Enable:=TRUE, StartAutoTune := FALSE Preset:=TRUE, Setpoint:=150, Feedback:=rActualTemp, ContrParam:=strContrParam, Limits:=strLimits, ControlValueAnalog=>rActualPower);END_IF;

In the above example, the values of the controller will be stored in the retainvariables in each cycle. After a deactivation / power failure, the code checkswith the help of the Boolean variable "bIdentification" if there has already beenan identification. If this is not the case, an identification process will be per‐formed; otherwise, the controller can be restarted with the saved (old) param‐eters. A rising edge has to be present at the input "Preset".

Library Description | Rexroth IndraMotion MLC 04VRS Electric Drivesand Controls

| Bosch Rexroth AG 149/179

Function Block Temperature Controller "IL_TempControlType01"

Specification of a Manual ControlVariable

Retaining the Controller Parame‐ters

Page 156: Rexroth IndraMotion MLC 04VRS

By standard, the function block displays the control variable "0%" (no power)in the case of an error. This will be done for the safety of the system. If the userwants to use a control with a certain power, for example, to avoid a strong cooldown of a system, it is recommended to use the substitute value strategy de‐scribed in the following example.Errors can be checked in state "6" with "bError". If this condition is "TRUE", thefunction block will be reset ("Enable:=FALSE") and state "7" will be activated.In state "7", the function block will be restarted with a rising edge at the input"Enable" and operated in the manual mode (see "Specification of a ManualControl Variable" on page 149).In the example, a control variable of "50%" will be output.Further information concerning the error will be displayed at the outputs "Er‐rorID" and "ErrorIdent" which have, however, not been analyzed in this exam‐ple.Program:CASE iState OF:6:fb_TempControl( Enable:=TRUE, Setpoint:=50, Feedback:=rActualTemp, Preset:=TRUE, ContrParam:=strContrParam, Limits:=strLimits, ControlValueAnalog=>rActualPower, Error=>bError);IF (bError = TRUE) THEN fb_TempControl( Enable:=FALSE, ContrParam:=strContrParam, Limits:=strLimits); iState:=7;END_IF7:fb_TempControl( Enable:=TRUE, Pause:=FALSE, OperatingMode:=TRUE, ManContrValue:=50, ContrParam:=strContrParam, Limits:=strLimits, ControlValueAnalog=>rActualPower);

It must be stated in addition that the control variable output in the above ex‐ample will be set to 0 for one cycle (if the error has been detected and ifEnable:=FALSE). In state 7, the manual value will then be used as control var‐iable.

150/179 Bosch Rexroth AG | Electric Drivesand Controls

Rexroth IndraMotion MLC 04VRS | Library Description

Function Block Temperature Controller "IL_TempControlType01"

Troubleshooting With the Help ofthe Substitute Value Strategy

Page 157: Rexroth IndraMotion MLC 04VRS

15 Function Blocks and Functions for Maintaining "CyclicalData Channels"

15.1 Introduction and OverviewWith the SERCOS interface, it is possible to apply freely configurable, cyclicaldata. These data will be cyclically transferred in each SERCOS cycle both bythe control to the drives and from the drives to the control. Four parameters areavailable in read and write direction for each axis. In addition, four bits can beread or written. The cyclical data are configured in the parameterization mode(PM, SERCOS phase 2) and cannot be changed in the operation mode (BB,SERCOS phase 4).In the parameterization mode (PM, SERCOS phase 2), a cyclical data channelfor a parameter to be transferred can be requested with the help of the functionblock MB_AllocCyclicDataParameter. If the parameter has already been ap‐plied in the cyclical data channel, the configuration will not be changed. Other‐wise, a free data channel will be selected and the respective parameter will beapplied.If the configuration is changed, a parameter which has been cyclically appliedcan also be released with chapter 15.6 "MB_FreeCyclicParameter" on page155. Thus, this channel is available for a new configuration. The channel mustonly be explicitly released if the data channels are newly configured duringruntime from the PLC.The configuration can also be performed in IndraWorks over AxisData or thecyclical actual and command value dialog. A configuration made with Indra‐Works will be used automatically. If some parameters are configured overIndraWorks and if other parameters are requested at a later date during runtimewith chapter 15.5 "MB_AllocCyclicParameter" on page 154, the new param‐eters will be distributed to free channels.In the operational mode (BB), the function block chapter 15.7 "MB_GetCyclic‐ParameterHandle" on page 157 browses for a cyclically applied parameter inthe configuration of one axis and writes all required information into a handle.With this handle, the parameter can be read or written to in each SERCOS cyclewith chapter 15.8 "MB_ReadCyclicParameter" on page 158 and chapter 15.10 "MB_WriteCyclicParameter" on page 159. The functions chapter 15.9 "MB_ReadCyclicRealParameter" on page 159 and chapter 15.11 "MB_Write‐CyclicRealParameter" on page 160 are available for cyclical parameters withdecimal places. Errors occurred during the access to the cyclical data channelscan be retrieved over the function chapter 15.12 "MB_GetLastCyclicParame‐terError" on page 160.The cyclically applied parameters are also available in the AxisData structureof the respective axis. The actual values are specified in UserActualDataXwhereas the command values are described over UserCmdDataX. However,the correct data type has to be described according to the respectively appliedparameter. This does not have to be done when using the function blocksMB_ReadCyclicParameter and MB_WriteCyclicParameter.

Library Description | Rexroth IndraMotion MLC 04VRS Electric Drivesand Controls

| Bosch Rexroth AG 151/179

Function Blocks and Functions for Maintaining "Cyclical Data Channels"

Page 158: Rexroth IndraMotion MLC 04VRS

Fig.15-1: Access to cyclical data with the help of the CyclicParameter functionblocks and functions

15.2 MB_CYCLIC_PARAM_REFThe following definition describes data types which are used in the functionblock chapter 15.7 "MB_GetCyclicParameterHandle" on page 157.The type definitions are contained in the library.The structure "MB_CYCLIC_PARAM_REF" may be read but must not be writ‐ten to. Changing the content can lead to malfunctions. The structure canchange in higher versions. The structure should only be read for debuggingpurposes.The structure "MB_CYCLIC_PARAM_REF" looks as follows:

Structural element Type Description

ParameterNumber DINT FP number of the parameter

AxisNo OBJECTS Logical number of the axis

ParamType MB_CYCLIC_TYPES Data type of the parameter

Bit INT Internal bit number of the parameter

AccessChannel MB_CYCLIC_CHANNELS Data channel in which the parameter was found

ParamAdr POINTER TO SM_TYPES Pointer to the cyclical parameter

BitParamAdr POINTER TO WORD Pointer to the cyclical bit parameter

152/179 Bosch Rexroth AG | Electric Drivesand Controls

Rexroth IndraMotion MLC 04VRS | Library Description

Function Blocks and Functions for Maintaining "Cyclical Data Channels"

Type Definitions

Page 159: Rexroth IndraMotion MLC 04VRS

Structural element Type Description

Factor DINT Used for converting REAL to DINT

ErrorCode DWORD Error code of the last occurred error. See also "ErrorCodes" on page 160.

Fig.15-2: Definition of the basic elements of the structureMB_CYCLIC_PARAM_REF

15.3 MB_CYCLIC_TYPESThe data type "MB_CYCLIC_TYPES" is an enumeration type with the followingentries:

Element Value

tINT 1

tUINT 2

tDINT 3

tUDINT 4

tREAL 5

tBIT 6

Fig.15-3: Definition of the enumeration type MB_CYCLIC_TYPES

15.4 MB_CYCLIC_CHANNELSThe data type "MB_CYCLIC_CHANNELS" is an enumeration type with the fol‐lowing entries:

Element Value

UserCmdDataA 0

UserCmdDataB 1

UserCmdDataC 2

UserCmdDataD 3

UserCmdDataBitA 32

UserCmdDataBitB 33

UserCmdDataBitC 34

UserCmdDataBitD 35

UserActualDataA 256

UserActualDataB 257

UserActualDataC 258

UserActualDataD 259

UserActualDataBitA 288

UserActualDataBitB 289

UserActualDataBitC 290

UserActualDataBitD 291

Fig.15-4: Definition of the enumeration type MB_CYCLIC_CHANNELS

Library Description | Rexroth IndraMotion MLC 04VRS Electric Drivesand Controls

| Bosch Rexroth AG 153/179

Function Blocks and Functions for Maintaining "Cyclical Data Channels"

Page 160: Rexroth IndraMotion MLC 04VRS

15.5 MB_AllocCyclicParameterThis function block checks the configuration of a parameter to be read or writtento on a cyclical basis in the cyclical data channel of an axis and configures thecyclical data channel, if required. Specified parameters will be stored in a globaldata structure.

Fig.15-5: Function block MB_AllocCyclicParameter

Name Type Comment

VAR_IN_OUT Axis AXIS_REF Axis of the parameter

VAR_INPUT Execute BOOL Starts the configuration of the parameter

ParameterNumber DINT Parameter to be applied

ParameterBit INT Internal bit of the parameter; "CYCLIC_ALL‐BITS" for the entire parameter

Write BOOL FALSE: Read parameterTRUE: Write parameter

VAR_OUTPUT Done BOOL Parameter has been applied

Active BOOL The function block is active

Error BOOL Displays that an error has occurred

ErrorID ERROR_CODE Basic reason for the error

ErrorIdent ERROR_STRUCT Error structure with further fragmentation of theerrors, see "Error Codes" on page 155

Fig.15-6: Function block MB_AllocCyclicParameter

Name Type Minimumvalue

Maximumvalue

Default value Acceptance

Execute BOOL FALSE Continuous

ParameterNumber DINT 0 Not de‐fined 0 Rising edge at Execute

ParameterBit INT -1 31 CYCLIC_ALLBITS Rising edge at Execute

Write BOOL FALSE Rising edge at Execute

Fig.15-7: Input behavior MB_AllocCyclicParameterThis function block only works in SERCOS phase 2. In the case of a rising edgeat "Execute", the inputs "ParameterNumber", "ParameterBit" and "Write" will betaken over. The actual data (UserActualData) and the command data(UserCmdData) will be differentiated with the help of the input "Write". "Param‐eterBit" specifies the internal bit number of the parameter. If "ParameterBit" isbetween 0 and 31, a bit data channel will be used. If "ParameterBit" is equal to"CYCLIC_ALLBITS", the entire parameter will be applied. "ParameterNum‐ber" specifies the parameter to be applied.

154/179 Bosch Rexroth AG | Electric Drivesand Controls

Rexroth IndraMotion MLC 04VRS | Library Description

Function Blocks and Functions for Maintaining "Cyclical Data Channels"

Brief Description

Interface Description

Functional Description

Page 161: Rexroth IndraMotion MLC 04VRS

In the first step, MB_AllocCyclicParameter checks if the parameter has alreadybeen stored in the current configuration. If this is not the case, a free cyclicalchannel will be selected and the parameter will be applied there. Subsequently,the configuration will be stored in an internal, static variable. If a bit number ifspecified in "ParameterBit", a free bit channel will be preferred. If all bit channelsare configured, a parameter channel will be used. After having successfullyfinished the configuration of the cyclical data channel, the output "Done" will beset to TRUE for at least one cycle. "Done" remains TRUE as long as the input„Execute“ is active. If there is no free cyclical channel available, a correspondingerror message will be displayed.If the parameter cannot be applied in the cyclical data channel or if another erroroccurs, "Error" will be set to TRUE.The function block generates the following error messages of"F_RELATED_TABLE", 16#0170:

ErrorID Additional1 Additional2 Description

INPUT_INVALID_ERROR 16#000D 16#0000 AxisRef outside the valid range

ACCESS_ERROR 16#0010 16#0000 SERCOS phase 2 is not active

ACCESS_ERROR 16#1504 16#0000 AxisData structure not activated

INPUT_INVALID_ERROR 16#F212 16#0000 Parameter type structure not supported

INPUT_INVALID_ERROR 16#F213 16#0000 Parameter type function not supported

INPUT_INVALID_ERROR 16#F214 16#0000 Parameter type not supported

INPUT_INVALID_ERROR 16#F215 16#0000 Parameter is not writable

RESSOURCE_ERROR 16#F216 16#0000 No free cyclical channel

INPUT_INVALID_ERROR 16#F217 16#0000 Parameter cannot be configured in the cyclical datachannel

Fig.15-8: Generated error numbers of the function block MB_AllocCyclicParame‐ter

15.6 MB_FreeCyclicParameterThis function block releases an already configured cyclical parameter to be reador written to in the cyclical data channel of an axis. The release of the parameterwill be stored in a global structure.

Fig.15-9: Function block MB_FreeCyclicParameter

Library Description | Rexroth IndraMotion MLC 04VRS Electric Drivesand Controls

| Bosch Rexroth AG 155/179

Function Blocks and Functions for Maintaining "Cyclical Data Channels"

Malfunctions

Error Codes

Brief Description

Interface Description

Page 162: Rexroth IndraMotion MLC 04VRS

Name Type Comment

VAR_IN_OUT Axis AXIS_REF Axis of the parameter

VAR_INPUT Execute BOOL Starts the release of the parameter

ParameterNumber DINT Number of the parameter to be released

ParameterBit INT Internal bit of the parameter; "CYCLIC_ALLBITS" for theentire parameter

Write BOOLFALSE: Read parameterTRUE: Write parameter

VAR_OUTPUT Done BOOL Parameter has been applied

Active BOOL The function block is active

Error BOOL Displays that an error has occurred

ErrorID ERROR_CODE Basic reason for the error

ErrorIdent ERROR_STRUCT Error structure with further fragmentation of the errors,see "Error Codes" on page 156

Fig.15-10: Function block MB_FreeCyclicParameter

Name Type Minimumvalue

Maximumvalue Default value Acceptance

Execute BOOL FALSE Continuous

ParameterNumber DINT 0 Not de‐fined 0 Rising edge at Execute

ParameterBit INT -1 31 CYCLIC_ALLBITS Rising edge at Execute

Write BOOL FALSE Rising edge at Execute

Fig.15-11: Input behavior MB_FreeCyclicParameterThis function block only works in SERCOS phase 2. In the case of a rising edgeat "Execute", the inputs "ParameterNumber", "ParameterBit" and "Write" will betaken over. The actual data (UserActualData) and the command data(UserCmdData) will be differentiated with the help of the input "Write". "Param‐eterBit" specifies the internal bit number of the parameter. If "ParameterBit" isbetween 0 and 31, a bit data channel will be used. If "ParameterBit" is equal to"CYCLIC_ALLBITS", the entire parameter will be applied. "ParameterNum‐ber" specifies the parameter to be released.In the first step, MB_FreeCyclicParameter checks if the parameter has alreadybeen stored in the current configuration. If this is not the case, a correspondingerror message will be displayed. Subsequently, the release will be stored in aninternal, static variable. MB_FreeCyclicParameter does not change the actualconfiguration of the cyclical data channels. The release will only be stored inthe internal control structure. After having successfully finished the release ofthe cyclical data channel, the output "Done" will be set to TRUE for at least onecycle. "Done" remains TRUE as long as the input "Execute" is active.If the parameter is not applied in the cyclical data channel or if another erroroccurs, "Error" will be set to TRUE.The function block generates the following error messages of"F_RELATED_TABLE", 16#0170:

ErrorID Additional1 Additional2 Description

INPUT_INVALID_ERROR 16#000D 16#0000 AxisRef outside the valid range

ACCESS_ERROR 16#0010 16#0000 SERCOS phase 2 is not active

156/179 Bosch Rexroth AG | Electric Drivesand Controls

Rexroth IndraMotion MLC 04VRS | Library Description

Function Blocks and Functions for Maintaining "Cyclical Data Channels"

Functional Description

Malfunctions

Error Codes

Page 163: Rexroth IndraMotion MLC 04VRS

ErrorID Additional1 Additional2 Description

ACCESS_ERROR 16#1504 16#0000 AxisData structure not activated

ACCESS_ERROR 16#F211 16#0000 Parameter not found in the cyclical data channel

Fig.15-12: Generated error numbers of the function blocks MB_FreeCyclicPara‐meter

15.7 MB_GetCyclicParameterHandleThis function block searches for a parameter to be cyclically read or written toin the cyclical data channel of an axis and stores all required information in ahandle.

Fig.15-13: Function block MB_GetCyclicParameterHandle

Name Type Comment

VAR_IN_OUTHandle MB_CYCLIC_PARAM_REF Contains information for the access to the cyclical

parameter

Axis AXIS_REF Axis of the parameter

VAR_INPUT

Execute BOOL Starts the search for the parameter

ParameterNumber DINT Number of the parameter to be cyclically applied

ParameterBit INT Internal bit of the parameter; "CYCLIC_ALL‐BITS" for the entire parameter

Write BOOLFALSE: Read parameterTRUE: Write parameter

VAR_OUTPUT

Done BOOL Parameter was found and "Handle" is valid

Active BOOL The function block is active

Error BOOL Displays that an error has occurred

ErrorID ERROR_CODE Basic reason for the error

ErrorIdent ERROR_STRUCT Error structure with further fragmentation of theerrors, see "Error Codes" on page 158

Fig.15-14: Function block MB_GetCyclicParameterHandle

Name Type Minimumvalue

Maximumvalue Default value Acceptance

Execute BOOL FALSE Continuous

ParameterNumber DINT 0 Not de‐fined 0 Rising edge at Execute

Library Description | Rexroth IndraMotion MLC 04VRS Electric Drivesand Controls

| Bosch Rexroth AG 157/179

Function Blocks and Functions for Maintaining "Cyclical Data Channels"

Brief Description

Interface Description

Page 164: Rexroth IndraMotion MLC 04VRS

Name Type Minimumvalue

Maximumvalue Default value Acceptance

ParameterBit INT -1 31 CYCLIC_ALLBITS Rising edge at Execute

Write BOOL FALSE Rising edge at Execute

Fig.15-15: Input behavior MB_GetCyclicParameterHandleThis function block is used in the operational mode (SERCOS phase 4). Aftera rising edge at "Execute", the inputs "ParameterNumber", "ParameterBit" and"Write" will be read. The input "Write" decides if the command values of theMDT or if the actual values of the AT are searched for. If "ParameterBit" is"CYCLIC_ALLBITS", the complete parameter will be applied. If a bit number isspecified in "ParameterBit", the bit channel will be browsed first. If the param‐eter is not found in the bit channels and if this parameter is an actual value, theparameter channels will be browsed subsequently. After having successfullyfinished the processing, "Done" is active and the data in the created "Handle"are valid.If the parameter is not found in the cyclical data channel or if another erroroccurs, "Error" will be set to TRUE and "Handle" will not be changed.The function block generates the following error messages of"F_RELATED_TABLE", 16#0170:

ErrorID Additional1 Additional2 Description

INPUT_INVALID_ERROR 16#000D 16#0000 AxisRef outside the valid range

ACCESS_ERROR 16#1504 16#0000 AxisData structure not activated

ACCESS_ERROR 16#F211 16#0000 Parameter not found in the cyclical data channel

INPUT_INVALID_ERROR 16#F212 16#0000 Parameter type structure not supported

INPUT_INVALID_ERROR 16#F213 16#0000 Parameter type function not supported

INPUT_INVALID_ERROR 16#F214 16#0000 Parameter type not supported

INPUT_INVALID_ERROR 16#F215 16#0000 Parameter is not writable

Fig.15-16: Generated error numbers of the function block MB_GetCyclicParame‐terHandle

15.8 MB_ReadCyclicParameterThis function reads a cyclical parameter over "Handle" and returns the currentcontent as DINT. Values with decimal places will be converted in correspond‐ence with the weighting stored in the SERCOS attribute. This function can alsobe used for bit values.

Fig.15-17: Function MB_ReadCyclicParameter

Input variable Type Description

Handle MB_CYCLIC_PARAM_REF Contains information for the access to the cyclical parameter

158/179 Bosch Rexroth AG | Electric Drivesand Controls

Rexroth IndraMotion MLC 04VRS | Library Description

Function Blocks and Functions for Maintaining "Cyclical Data Channels"

Functional Description

Malfunctions

Error Codes

Brief Description

Page 165: Rexroth IndraMotion MLC 04VRS

Input variable Type Description

Return value Type Description

MB_ReadCyclicParameter DINT Value of the parameter

Fig.15-18: Function MB_ReadCyclicParameter

15.9 MB_ReadCyclicRealParameterThis function reads a cyclical parameter over "Handle" and returns the currentcontent as REAL. If the data type of the parameter is not REAL, the type willbe converted. This function cannot be used for bit values.

Fig.15-19: Function MB_ReadCyclicRealParameter

Input variable Type Description

Handle MB_CYCLIC_PARAM_REF Contains information for the access to the cyclical pa‐rameter

Return value Type Description

MB_ReadCyclicRealParameter REAL Value of the parameter

Fig.15-20: Function MB_ReadCyclicRealParameter

15.10 MB_WriteCyclicParameterThis function writes a cyclical parameter over "Handle". If the target data typehas decimal places, the value will be converted in accordance with the decimalplaces specified in the SERCOS attribute. This function can also be used forbit values.

Fig.15-21: Function MB_WriteCyclicParameter

Input variable Type Description

Handle MB_CYCLIC_PARAM_REF Contains information for the access to the cyclical pa‐rameter

Value DINT Value to be written

Return value Type Description

MB_WriteCyclicParameter BOOL Dummy output without meaning; is always TRUE

Fig.15-22: Function MB_WriteCyclicParameter

Library Description | Rexroth IndraMotion MLC 04VRS Electric Drivesand Controls

| Bosch Rexroth AG 159/179

Function Blocks and Functions for Maintaining "Cyclical Data Channels"

Brief Description

Brief Description

Page 166: Rexroth IndraMotion MLC 04VRS

15.11 MB_WriteCyclicRealParameterThis function writes a cyclical parameter over "Handle". Integral target datatypes without decimal places will be rounded. This function cannot be used forbit values.

Fig.15-23: Function MB_WriteCyclicRealParameter

Input variable Type Description

Handle MB_CYCLIC_PARAM_REF Contains information for the access to the cyclical pa‐rameter

Value REAL Value to be written

Return value Type Description

MB_WriteCyclicRealParameter BOOL Dummy output without meaning; is always TRUE

Fig.15-24: Function MB_WriteCyclicRealParameter

15.12 MB_GetLastCyclicParameterErrorThis function returns the last occurred error when reading or writing a cyclicalvalue for a "handle" and deletes the error.This function is optional and does not have to be called. However, it is recom‐mended to check the cyclical data communication for occurred errors on aregular basis.

Fig.15-25: Function MB_GetLastCyclicParameterError

Input variable Type Description

Handle MB_CYCLIC_PARAM_REF Contains information for the access to the cyclical parameter

Return value Type Description

MB_GetLastCyclicParameterError DWORD Error code of the last reading or writing action

Fig.15-26: Function MB_GetLastCyclicParameterError

Error code Description

16#0001 Cannot write parameter - parameter only configured for reading

16#0002 Wrong type for bit access

16#0003 Wrong type for parameter access

160/179 Bosch Rexroth AG | Electric Drivesand Controls

Rexroth IndraMotion MLC 04VRS | Library Description

Function Blocks and Functions for Maintaining "Cyclical Data Channels"

Brief Description

Brief Description

Error Codes

Page 167: Rexroth IndraMotion MLC 04VRS

Error code Description

16#0004 Invalid axis number

16#0005 Invalid data channel

16#0006 Invalid handle

Fig.15-27: Error codes of the function GetLastCyclicParameterError

Library Description | Rexroth IndraMotion MLC 04VRS Electric Drivesand Controls

| Bosch Rexroth AG 161/179

Function Blocks and Functions for Maintaining "Cyclical Data Channels"

Page 168: Rexroth IndraMotion MLC 04VRS

Bosch Rexroth AG | Electric Drivesand Controls

Rexroth IndraMotion MLC 04VRS | Library Description

Page 169: Rexroth IndraMotion MLC 04VRS

16 Auxiliary Function Blocks16.1 MB_Command

The function block MB_Command is used for executing, monitoring and can‐celing commands.

Fig.16-1: Function block MB_Command.

Name Type Comment

VAR_IN_OUT Axis AXIS_REF Reference to the axis

VAR_INPUT Execute BOOL Enabling the function block (once, edge-controlled)

Cancel BOOL Canceling the command execution (once, edge-control‐led)

KeepActive BOOL Keep the activation of the command active after execu‐tion (permanent, state-controlled)

ParameterNum‐ber DINT Command

VAR_OUTPUT Done BOOL Command successfully executed and reset

Active BOOL Command execution active

CommandAbor‐ted BOOL Command successfully aborted and reset

Error BOOL Error of the command execution

ErrorID ERROR_CODE In the case of a set output "Error", this output containsa rough classification of the error

ErrorIdent ERROR_STRUCTIn the case of a set output "Error", this output containsdetailed information concerning this errorSee also "Troubleshooting" on page 166

CommandExe‐cuted BOOL Command successfully executed

CommandStatus MB_SERCOS_DATA_STA‐TUS Status of the command execution

Fig.16-2: Interface variables of the function block MB_Command

Library Description | Rexroth IndraMotion MLC 04VRS Electric Drivesand Controls

| Bosch Rexroth AG 163/179

Auxiliary Function Blocks

Brief Description

Interface Description

Interface Variables

Page 170: Rexroth IndraMotion MLC 04VRS

Fig.16-3: Signal/time diagram for signal flow "Execute-Done"

Fig.16-4: Signal/time diagram for signal flow "Execute-Cancel-CommandAbor‐ted"

164/179 Bosch Rexroth AG | Electric Drivesand Controls

Rexroth IndraMotion MLC 04VRS | Library Description

Auxiliary Function Blocks

Signal/Time Diagram

Page 171: Rexroth IndraMotion MLC 04VRS

Fig.16-5: Signal/time diagram for signal flow "Execute-KeepActive-Done"

Fig.16-6: Signal/time diagram for signal flow "Execute-Error"The function block "MB_Command" starts the execution of the command de‐fined over the input "ParameterNumber" after having enabled processing withthe help of "Execute". In general, the command will be automatically reset afterhaving completed processing. The command has to be specified in the param‐eter identification number format according to the SERCOS standard. Apartfrom this direct specification, it is also possible to use a correspondingly pre‐defined constant from the range of the global variables of the base library (e. g."ML_Base.lib") or to use a conversion function from the "RIL_Utilities.lib" library.Depending on the respective command, the execution of this command can becanceled any time over the input "Cancel". The input "KeepActive" allows tokeep the command active after having been executed. If the input "KeepAc‐

Library Description | Rexroth IndraMotion MLC 04VRS Electric Drivesand Controls

| Bosch Rexroth AG 165/179

Auxiliary Function Blocks

Functional Description

Page 172: Rexroth IndraMotion MLC 04VRS

tive" is deactivated in the following, the command will be reset automatically.The successful completion or successful cancelation of a command will be dis‐played over the outputs "Done" or "CommandAborted" for a period of at leastone call. The active processing of the command will be displayed over the out‐put "Active" as well as with the help of the corresponding date at the output"CommandStatus". The current status of the command execution will be per‐manently displayed at the output "CommandStatus" and the completion of thecommand execution will be signaled at the output "CommandExecuted". If anerror occurs during the processing of a command, this will be signaled over theoutput "Error" as well as over the error classification elements (ErrorID, Error‐Ident) for a period of at least one call.The function block "MB_Command" uses the error tables F_RELATED_TA‐BLE, 16#0170 as well as INDRV_TABLE, 16#0070. It can generate the errorsspecified in the following table in Additional1 and Additional2. In addition to thiserror, the implemented function blocks "MB_WriteParameter", "MB_ReadSer‐cosDataStatus", "MB_ReadParameter" and "MB_ReadSercosAttribute" areable to report other errors.

ErrorID Additional1 Additional2 Description

INPUT_RANGE_ERROR,16#0006

16#0002 16#0001 Invalid input- Retriggering the command execution is not supportedby the function block MB_Command

INPUT_RANGE_ERROR,16#0006

16#0002 16#0002 Invalid input- The inputs Cancel or KeepActive are not supported bycontrol commands

INPUT_RANGE_ERROR,16#0006

16#0002 16#0003 Invalid input- The input ParameterNumber does not contain a validcommand

DEVICE_ERROR,16#0008

16#1701 16#0000 Error of the command execution (control)

STATE_MACHINE_ERROR,16#0005

16#0006 16#???? Invalid status of the finite state machine16#???? specifies the invalid status

Fig.16-7: Error numbers of the error table "F_RELATED_TABLE" caused byMB_Command

ErrorID Additional1 Additional2 Description

DEVICE_ERROR,16#0008

16#????? 16#0000 Error of the command execution (drive)- 16#???? contains the current value from S-0-0390

Fig.16-8: Error numbers of the error table "INDRV_TABLE" caused by MB_Com‐mand

16.2 ML_Group MonitorType01The function block "ML_Group MonitorType01" monitors the relative position oftwo axes with regard to tilting. The retraction motion is possible with the help ofthe tolerance band functionality where the direction of the motion out of tiltingis continuously monitored.For example, the function block can be used for monitoring:● Infeed axes of flexo printing units● Gantry axes with mechanically parallel traverse paths etc.

166/179 Bosch Rexroth AG | Electric Drivesand Controls

Rexroth IndraMotion MLC 04VRS | Library Description

Auxiliary Function Blocks

Troubleshooting

Brief Description

Page 173: Rexroth IndraMotion MLC 04VRS

Fig.16-9: Function block ML_Group MonitorType01.

Range Name Data type Description

VAR_INPUT Enable BOOL Processing release of the function block (cyclical, status-con‐trolled)

MachineSet ML_GROUP_MON_TYPE01 Machine-specific characteristics

PosDrv1 REAL Current position of axis 1

PosDrv2 REAL Current position of axis 2

VAR_OUTPUT InOperation BOOL Monitoring of the axes completed without errors, output sig‐nals valid

Error BOOL Monitoring of the axes completed with errors, output variable"ErrorIdent" valid

ErrorID ERROR_ CODE Description of the analysis in the case of an error

ErrorIdent ERROR_ STRUCTDescription of the analysis in the case of an errorSee also "Troubleshooting" on page 168

OutOfRange BOOL Valid range exceeded

OutOfRangePos BOOL Valid range exceeded, axis position of axis 1 is higher or equalto the axis position of axis 2

OutOfRangeNeg BOOL Valid range exceeded, axis position of axis 1 is lower than theaxis position of axis 2

Fig.16-10: Interface variables of the function block ML_GroupMonitorType01The machine set of the function block "ML_GroupMonitorType01" contains thefollowing data:● "Range":

Maximum admissible position difference of two axes.● "Tolerance":

Range reduction which has to be reached to tilt out the axes.

Library Description | Rexroth IndraMotion MLC 04VRS Electric Drivesand Controls

| Bosch Rexroth AG 167/179

Auxiliary Function Blocks

Interface Description

Interface Variables

Specification

Page 174: Rexroth IndraMotion MLC 04VRS

Fig.16-11: Printing unit top view – maximum admissible position difference (Range)The specified tolerance has to fulfill the following condition:

Fig.16-12: Condition machine set Type 01The function block "ML_GroupMonitorType01" cyclically monitors the positionsof two axes with regard to tilting after having enabled processing with the helpof "Enable". If the distance of the axes exceeds the maximum admissible range"Range", this will be signaled over the outputs "OutOfRange" and "OutOfRan‐gePos" or "OutOfRangeNeg".In the following cycle, the output "OutOfRange" will be reset; the outputs "Out‐OfRangePos" or "OutOfRangeNeg" continue to signal the requirement of aposition adjustment until reaching the admissible distance less tolerance.If the maximum reached distance plus tolerance is exceeded again or furtherduring this position adjustment, this will be signaled by setting the output "Out‐OfRange" again.If an error occurs during the processing of the function block, this will be sig‐naled over the output "Error" and, in this case, specified by the updatedelements of the output structure "ErrorIdent". The other outputs will not be up‐dated in the case of an error.In the case of an error, the function block "ML_GroupMonitorType01" generatesa comprehensive analysis which can be locally interpreted.The function block uses the error table F_RELATED_TABLE, 16#0170. It cangenerate the following error messages in Additional1 and Additional2:

ErrorID Additional1 Additional2 Description

INPUT_RANGE_ERROR,16#0006

16#0002 16#0000 Inputs are outside the admissible range

STATE_MACHINE_ERROR,16#0005

16#0006 16#???? Invalid status of the function block

Fig.16-13: Error numbers caused by ML_Group MonitorType01

16.3 ML_GroupMonitorType02The function block ML_GroupMonitorType02 monitors the absolute positionand the relative position of two axes with regard to indentation and collision.

168/179 Bosch Rexroth AG | Electric Drivesand Controls

Rexroth IndraMotion MLC 04VRS | Library Description

Auxiliary Function Blocks

Functional Description

Error Codes

Troubleshooting

Brief Description

Page 175: Rexroth IndraMotion MLC 04VRS

Fig.16-14: Function block ML_Group MonitorType02.

Range Name Data type Description

VAR_INPUT Enable BOOL Processing release of the function block (cycli‐cal, status-controlled)

MachineSet MS_DRV_GUARD_ TYPE02 Machine-specific characteristics

PosDrv1 REAL Current position of axis 1

PosDrv2 REAL Current position of axis 2

VAR_OUTPUT InOperation BOOL Monitoring of the axes completed without errors,output signals valid

Error BOOL Monitoring of the axes completed with errors,output variable "ErrorIdent" valid

ErrorID ERROR_CODE Description of the analysis in the case of an error

ErrorIdent ERROR_ STRUCTDescription of the analysis in the case of an errorSee also "Error Codes" on page 171

OutOfRange BOOL Valid range exceeded

OutOfRangeLow BOOLValid range exceeded("DeltaLow")

OutOfRangeCenterMin BOOLValid range exceeded("DeltaCenterMin")

OutOfRangeCenterMax BOOLValid range exceeded("DeltaCenterMax")

OutOfRangeHigh BOOLValid range exceeded("DeltaHigh")

Fig.16-15: Interface variables of the function block ML_GroupMonitorType02The machine set of the function block "ML_GroupMonitorType02" contains thefollowing data:● "Position1":

Command position of axis 1● "Diameter1":

Diameter of axis 1● "Diameter2":

Diameter of axis 2● "DeltaLow":

Limitation of the axis position 2

Library Description | Rexroth IndraMotion MLC 04VRS Electric Drivesand Controls

| Bosch Rexroth AG 169/179

Auxiliary Function Blocks

Interface Description

Interface Variables

Specification

Page 176: Rexroth IndraMotion MLC 04VRS

● "DeltaCenterMin":Minimum distance of the axes 1 and 2

● "DeltaCenterMax":Maximum distance of the axes 1 and 2

● "DeltaHigh":Limitation of the axis position 1

● "Tolerance":Tolerance of the limits

The specified tolerance has to fulfill the following condition:

Fig.16-16: Condition machine set Type 02

Fig.16-17: Machine set of the function block ML_GroupMonitorType02

The following notes apply to the function block "ML_GroupMonitor‐Type02":● The command position of axis 2 results from the parameters

of machine set 2.● The current position of axis 1 must always be higher than the

sum of the current position of axis 2 and the radii of both axes.● The function block can be cascaded for three or more axes.

The function block "ML_GroupMonitorType02" cyclically monitors the positionsof two axes with regard to indentation and collision after having enabled pro‐cessing with the help of "Enable". If the distance of the axes exceeds amaximum admissible range, this will be signaled over the outputs "OutO‐fRange" and the corresponding ranges "OutOfRangeLow", "OutOfRangeCen‐terMin", "OutOfRangeCenterMax" and / or "OutOfRangeHigh".In the following cycle, the output "OutOfRange" will be reset; the other outputscontinue to signal the requirement of a position adjustment until reaching therespective admissible distance less tolerance.If the maximum reached distance plus tolerance is exceeded again or furtherduring this position adjustment, this will be signaled by setting the output "Out‐OfRange" again.

170/179 Bosch Rexroth AG | Electric Drivesand Controls

Rexroth IndraMotion MLC 04VRS | Library Description

Auxiliary Function Blocks

Functional Description

Page 177: Rexroth IndraMotion MLC 04VRS

If an error occurs during the processing of the function block, this will be sig‐naled over the output "Error" and, in this case, specified by the updatedelements of the output structure "ErrorIdent". The other outputs will not be up‐dated in the case of an error.In the case of an error, the function block ML_GroupMonitorType02 generatesa comprehensive analysis which can be locally interpreted.The function block uses the error table "F-RELATED-TABLE", 16#0170.

ErrorID Additional1 Additional2 Description

INPUT_RANGE_ERROR,16#0006

16#0002 16#0000 Inputs are outside the admissible range

STATE_MACHINE_ERROR, 16#0006 16#???? Inputs are outside the admissible range

CALCULATION _ERROR 16#000C 16#0000 Calculation error, wrong axis position

Fig.16-18: Error numbers caused by ML_Group MonitorType02

16.4 MB_GetSystemInfoThis function block checks functional packages and system options and dis‐plays all activated functional packages and system options together with thesystem type.

Fig.16-19: Function block MB_GetSystemInfo

Name Type Comment

VAR_IN_OUT Axis AXIS_REF Axis to be checked

VAR_INPUT Execute BOOL Starts the checking process

ReqOptions DWORD Required system options

VAR_OUTPUT Done BOOL Checking performed without errors

Active BOOL The function block is active

Error BOOL Displays that an error has occurred

ErrorID ERROR_CODE Basic reason for the error

ErrorIdent ERROR_STRUCT Error structure with further fragmentation of theerrors, see "Error Codes" on page 172

SystemType MB_SYSTEM_TYPE System type

ActOptions DWORD Actually activated system options

Fig.16-20: Function block MB_GetSystemInfo

Library Description | Rexroth IndraMotion MLC 04VRS Electric Drivesand Controls

| Bosch Rexroth AG 171/179

Auxiliary Function Blocks

Error Codes

Brief Description

Interface Description

Page 178: Rexroth IndraMotion MLC 04VRS

Name Type Minimum value Maximum value Default value Acceptance

Execute BOOL FALSE Continuous

ReqOptions DWORD 0 Not defined 0 Rising edge at Execute

Fig.16-21: Input behavior MB_GetSystemInfoThis function block works in SERCOS phase 2 or 4. In the case of a rising edgeat "Execute", the input "ReqOptions" will be taken over. Then, the system willbe checked. If options or functional packages are set in "ReqOptions" whichare not available, a corresponding error ("Error Codes" on page 172) will begenerated.After having been successfully completed, the system type will be displayed in"SystemType" and all activated options will be displayed in "ActOptions" and"Done" will be set to TRUE.

Option MLC MLD Description

MB_OPEN_LOOP Axis Axis Basic package Open Loop

MB_CLOSED_LOOP Axis Axis Basic package ClosedLoop

MB_SERVO Axis Axis Functional package Servo

MB_SYNCHRONIZATION Axis Axis Functional package Synchro‐nization

MB_MAIN_SPINDLE Axis Axis Functional package mainspindle

MB_ML Always set First axis Option technology function

MB_TF Always set First axis Option advanced technologyfunction

MB_MA Always set First axis

MB_AXISDATA Always set First axis AxisData activated

Fig.16-22: Possible basic packages, functional packages and options in ReqOp‐tions and ActOptions

Required options should be specified in "ReqOptions". If at least one option isnot available on the specified axis, a corresponding error message will be gen‐erated. If all options requested in "ReqOptions" are available, "Done" willbecome active. It is also possible to specify no required options and to performthe evaluation independently.Checking the options requires several function block calls. During this period,the output "Active" is set.

System type Description

MB_SYSTEM_UNKNOWN Unknown system

MB_SYSTEM_MLC IndraMotion MLC

MB_SYSTEM_MLD IndraDrive MLD

Fig.16-23: Possible system types at the output SystemTypeIf an option specified in "ReqOptions" is not available or if another error occurs,"Error" will be set to TRUE.The function block generates the following error messages of"F_RELATED_TABLE", 16#0170:

172/179 Bosch Rexroth AG | Electric Drivesand Controls

Rexroth IndraMotion MLC 04VRS | Library Description

Auxiliary Function Blocks

Functional Description

Malfunctions

Error Codes

Page 179: Rexroth IndraMotion MLC 04VRS

ErrorID Additional1 Additional2 Description

ACCESS_ERROR 16#1503 16#0000 AxisData structure not activated

RESOURCE_ERROR 16#000F 16#0001 Required option TF not enabled

RESOURCE_ERROR 16#000F 16#0002 Required option ML not enabled

RESOURCE_ERROR 16#000F 16#0003 Required option MA not enabled

RESOURCE_ERROR 16#000F 16#0010 Required basic package OpenLoop not active

RESOURCE_ERROR 16#000F 16#0011 Required basic package ClosedLoop not active

RESOURCE_ERROR 16#000F 16#0020 Required functional package Synchronization not ac‐tive

RESOURCE_ERROR 16#000F 16#0021 Required functional package Servo not active

RESOURCE_ERROR 16#000F 16#0022 Required functional package main spindle not active

Fig.16-24: Generated error numbers of the function block MB_GetSystemInfo

Library Description | Rexroth IndraMotion MLC 04VRS Electric Drivesand Controls

| Bosch Rexroth AG 173/179

Auxiliary Function Blocks

Page 180: Rexroth IndraMotion MLC 04VRS

Bosch Rexroth AG | Electric Drivesand Controls

Rexroth IndraMotion MLC 04VRS | Library Description

Page 181: Rexroth IndraMotion MLC 04VRS

17 Service and Support17.1 Helpdesk

Our service helpdesk at our headquarters in Lohr, Germany, will assist you withall kinds of inquiries.Contact us:● By phone through the Service Call Entry Center,

Monday to Friday 7:00 am - 6:00 pm CET+49 (0) 9352 40 50 60

● By fax+49 (0) 9352 40 49 41

● By e-mail: [email protected]

17.2 Service HotlineOut of helpdesk hours please contact our German service department directly:+49 (0) 171 333 88 26or+49 (0) 172 660 04 06Hotline numbers for other countries can be found in the addresses of eachregion (see below).

17.3 InternetAdditional notes regarding service, maintenance and training, as well as thecurrent addresses of our sales and service offices can be found onhttp://www.boschrexroth.comOutwith Germany please contact our sales/service office in your area first.

17.4 Helpful InformationFor quick and efficient help please have the following information ready:● Detailed description of the fault and the circumstances● Information on the type plate of the affected products, especially type co‐

des and serial numbers● Your phone and fax numbers as well as your e-mail address so we can

contact you in case of questions

Library Description | Rexroth IndraMotion MLC 04VRS Electric Drivesand Controls

| Bosch Rexroth AG 175/179

Service and Support

Page 182: Rexroth IndraMotion MLC 04VRS

Bosch Rexroth AG | Electric Drivesand Controls

Rexroth IndraMotion MLC 04VRS | Library Description

Page 183: Rexroth IndraMotion MLC 04VRS

IndexAAdjustment Function Blocks

ML_ContinuousAdjustType01 110ML_ContinuousAdjustType02 113ML_IncrementalAdjustType01 116MX_ContinuousAdjustType01 110MX_ContinuousAdjustType02 113MX_IncrementalAdjustType01 116

CCorrectionProfile 51Crosscutter

MX(L)_Crosscutter Function Block 60Cross cutter

Adjusting the knife position 66Calculation of the cam profile 66Cut angle 65Error codes 68Format length 62Format ranges 63Format ratio 63Functional description 62I/O interface of ML(X)_CrossCutter 61Real master axis 65Signal/time diagram 61Synchronous format 63

Cross cutter application 55Cross sealer application 53Cyclical data channels 151

EError description

ACCESS_ERROR 137CALCULATION_ERROR 137DEVICE_ERROR 138INPUT_RANGE_ERROR 137OTHER_ERROR 138STATE_MACHINE_ERROR 137SYSTEM_ERROR 137

FFlying shear

Error codes 24Function block MX(L)_FlyingShear 19Signal/time diagram 22

Function blockIL_TempControlType01 133MB_RegisterControllerType01 78MC_AbortTrigger 31MX(L)_Crosscutter 60MX(L)_FlyingShear 19

Function BlockML_ContinuousAdjustType01 110ML_ContinuousAdjustType02 113ML_IncrementalAdjustType01 116

MX_ContinuousAdjustType01 110MX_ContinuousAdjustType02 113MX_IncrementalAdjustType01 116

Function block for adjusting variablesComponents 118

Function block for application sensorless winder119Function blocks for adjusting variables

Adjustment limits 107Basic rules 108Calculation of the alteration velocity 107Introduction and overview 107Parameterization 118

Function blocks for applicationAdjusting variables 107Cross cutter 33Flying shear 19Register controller 75Tension controller 87Touch probe 27

Function Blocks for ApplicationSag Control 99

Further documentations 3

GGear setting - calculation 39, 59General Definitions 17

II/O interface of MX(L)_FlyingShear 22IL_TempControlType01 133Improper use 6Intended use

Cases of operation 5Introduction 5

KKnifeDistance 51

MMaster axis structure

For cross cutter applications 57For cross sealer applications 54

MB_AllocCyclicParameter 154MB_CAM_TABLE_DATA 42MB_Command 163MB_CORR_PROFILE 43MB_CrossCutSealType01 47MB_CrossCutterCalcType04 33

IndraMotion MLC 41MB_CYCLIC_CHANNELS 153MB_CYCLIC_PARAM_REF 152MB_CYCLIC_TYPES 153MB_FreeCyclicParameter 155MB_GetCyclicParameterHandle 157

Library Description | Rexroth IndraMotion MLC 04VRS Electric Drivesand Controls

| Bosch Rexroth AG 177/179

Index

Page 184: Rexroth IndraMotion MLC 04VRS

MB_GetLastCyclicParameterError 160MB_GetSystemInfo 171MB_PUSH_OUT_CONFIG 44MB_ReadCyclicParameter 158MB_ReadCyclicRealParameter 159MB_RegisterControllerType01 78MB_RegisterControlleType01

Special Features of the IndraMotion MLC 84MB_RESOLUTION 46MB_WriteCyclicParameter 159MB_WriteCyclicRealParameter 160MC_AbortTrigger 31

Special features of IndraMotion MLC 32MC_TouchProbe 27

Special features of IndraMotion MLC 30Minimum/maximum values 50ML_COMP_DATA 119ML_ContinuousAdjustType01 110

error codes 112functional description 111timing diagram 111

ML_ContinuousAdjustType02 113error codes 115functional description 114timing diagram 114

ML_CrosscutterSpecial features of IndraMotion MLC 68

ML_FlyingShearSpecial features of IndraMotion MLC 24

ML_Group MonitorType01 166ML_GroupMonitorType02 168ML_IncrementalAdjustType01 116

error codes 117functional description 117timing diagram 117

ML_SagControlA 103ML_SagControlC 99ML_Technology

Introduction and Overview 1ML_TensionControlLoadCellType01 87

Special features of IndraMotion MLC 97ML_WinderSensorless 120MX_ContinuousAdjustType01 110

error codes 112functional description 111timing diagram 111

MX_ContinuousAdjustType02 113error codes 115functional description 114timing diagram 114

MX_IncrementalAdjustType01 116error codes 117functional description 117timing diagram 117

MX(L)_Crosscutter 60MX(L)_FlyingShear 19

NNon-Intended Use

Consequences, Exclusion of Liability 5

OOverSpeed 51

PPendelumFactor 51PushOut 51

RRegister controller

Application example flow wrapper 76Application example insetter control 76Block diagram 81Error codes 84Example die cutting in label printing 75Functional description 80Function block MB_RegisterControllerType0178Overview 75Signal/time diagram 80Troubleshooting 82

SSafety instructions for electric drives 7

TTemperature controller 133

Analog / digital control variable output 147Application 139AutoTune 139Control algorithm 140Controller 139Controller settings 139Controller structure 141Control loop monitoring 141Control with controller parameter specification144Data structures 136Definition of alarm and status limits 146Definition of a start-up ramp 146Error description 136Identification 139Identification of a controlled system 145Identification of the controlled system in the op‐erating point 145Interface description 133Pausing the control process (PAUSE mode)147Retaining the controller parameters 149Sampling time 143Specification of a command value gradient 148Specify a manual control variable 149Substitute value strategy 150Task interval time 142

178/179 Bosch Rexroth AG | Electric Drivesand Controls

Rexroth IndraMotion MLC 04VRS | Library Description

Index

Page 185: Rexroth IndraMotion MLC 04VRS

Timing diagram 136Use 141

Touch probeError codes of MC_AbortTrigger 32Function block MC_AbortTrigger 31

I/O interface of MC_AbortTrigger 32

UUse 5

Library Description | Rexroth IndraMotion MLC 04VRS Electric Drivesand Controls

| Bosch Rexroth AG 179/179

Index

Page 186: Rexroth IndraMotion MLC 04VRS

Bosch Rexroth AG | Electric Drivesand Controls

Rexroth IndraMotion MLC 04VRS | Library Description

Page 187: Rexroth IndraMotion MLC 04VRS

Notes

Library Description | Rexroth IndraMotion MLC 04VRS Electric Drivesand Controls

| Bosch Rexroth AG

Page 188: Rexroth IndraMotion MLC 04VRS

Printed in GermanyDOK-IM*MLC-TFB*****V04-AW01-EN-PR911321531

Bosch Rexroth AGElectric Drives and ControlsP.O. Box 13 5797803 Lohr, GermanyBgm.-Dr.-Nebel-Str. 297816 Lohr, GermanyPhone +49 (0)93 52-40-50 60Fax +49 (0)93 52-40-49 [email protected]