0% found this document useful (0 votes)
540 views

Rexroth IndraDrive - Library Description PDF

Bosch Rexroth AG Electric Drives and Controls Hydraulics Linear Motion and Assembly Technologies. This documentation describes the functions, function blocks and data types contained in the target systems as well as a listing of the possible error reactions. All rights are reserved in the event of the grant of a patent or the registration of a utility model or design (DIN 34-1).
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
540 views

Rexroth IndraDrive - Library Description PDF

Bosch Rexroth AG Electric Drives and Controls Hydraulics Linear Motion and Assembly Technologies. This documentation describes the functions, function blocks and data types contained in the target systems as well as a listing of the possible error reactions. All rights are reserved in the event of the grant of a patent or the registration of a utility model or design (DIN 34-1).
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 134

Electric Drives

and Controls

Hydraulics

Linear Motion and


Assembly Technologies

Rexroth IndraDrive
Rexroth IndraMotion MLD
Library
Library Description

Pneumatics

Service

R911309224
Edition 02

Bosch Rexroth AG | Electric Drives


and Controls

Title

Rexroth IndraDrive | Library Description

Rexroth IndraDrive
Rexroth IndraMotion MLD
Library

Type of Documentation
Document Typecode
Internal File Reference
Purpose of Documentation

Library Description
DOK-INDRV*-MLD-SYSLIB*-FK02-EN-P
RS-3f8ef8b70a6846ac00b4b7d3d98a87cc-1-en-US-2
This documentation describes the functions, function blocks and data types
contained in the target systems

IndraDrive MPH02,

IndraDrive MP03 and

IndraDrive MP04,

as well as a listing of the possible error reactions.


Record of Revision

Copyright

Edition

Release Date

Notes

DOK-INDRV*-MLD-SYSLIB*-FK01-EN-P 13.08.04

Contains descriptions of
libraries for target system
IndraDrive MPH02

DOK-INDRV*-MLD-SYSLIB*-FK02-EN-P 27.10.06

Contains descriptions of
libraries for target sys
tems IndraDrive MPH02,
IndraDrive MP03 and
IndraDrive MP04

2006 Bosch Rexroth AG


Copying this document, giving it to others and the use or communication of the
contents therof without express authourity, are forbidden. Offenders are liable
for the payment of damages. All rights are reserved in the event of the grant of
a patent or the registration of a utility model or design (DIN 34-1).

Validity

Published by

The specified data is for product description purposes only and may not be
deemed to be guaranteed unless expressly confirmed in the contract. All rights
are reserved with respect to the content of this documentation and the availa
bility of the product.
Bosch Rexroth AG
Bgm.-Dr.-Nebel-Str. 2 D-97816 Lohr a. Main
Telephone +49 (0)93 52/ 40-0 Fax +49 (0)93 52/ 40-48 85
http://www.boschrexroth.com/
Dept. BRC/EDY1 (SA, BB)

Note

This document has been printed on chlorine-free bleached paper.

Library Description | Rexroth IndraDrive

Electric Drives | Bosch Rexroth AG


and Controls

I/II

Table of Contents

Table of Contents
Page

1
1.1
1.2
1.3
1.4
1.4.1
1.4.2
1.5
1.6
1.6.1
1.6.2
1.6.3

1.7
1.7.1
1.7.2

1.7.3

Rexroth IndraDrive Firmware Libraries.......................................................................... 1


About this Documentation....................................................................................................................... 1
General Information................................................................................................................................ 2
Signal Time Diagrams of Most Frequently Used Inputs and Outputs..................................................... 3
Error Handling ........................................................................................................................................ 8
General Information............................................................................................................................. 8
Reference Error Lists for Function Blocks as of Target "IndraDrive MP03"........................................ 9
General Data Types.............................................................................................................................. 12
IEC Function Blocks for Drive Control ................................................................................................. 12
General Information........................................................................................................................... 12
Overview of the Function Blocks....................................................................................................... 13
Function Blocks................................................................................................................................. 14
MB_ChangeProfileStep ................................................................................................................. 14
MB_GearInPos .............................................................................................................................. 16
MB_MotionProfile........................................................................................................................... 19
MB_Phasing .................................................................................................................................. 21
MB_PhasingSlave ......................................................................................................................... 23
MB_Stop ........................................................................................................................................ 25
MC_CamIn ..................................................................................................................................... 27
MC_CamOut .................................................................................................................................. 30
MC_GearIn .................................................................................................................................... 31
MC_GearOut ................................................................................................................................. 33
MC_MoveAbsolute ........................................................................................................................ 34
MC_MoveAdditive .......................................................................................................................... 36
MC_MoveRelative ......................................................................................................................... 39
MC_Stop ........................................................................................................................................ 41
MC_MoveVelocity .......................................................................................................................... 44
MX_MoveAbsolute ......................................................................................................................... 46
MX_MoveAdditive .......................................................................................................................... 49
MX_MoveRelative .......................................................................................................................... 52
MX_MoveVelocity .......................................................................................................................... 55
MX_Stop ........................................................................................................................................ 57
"Base" Libraries.................................................................................................................................... 59
Introduction........................................................................................................................................ 59
General Functions ............................................................................................................................ 59
Overview......................................................................................................................................... 59
MX_fGetFreeTicks ......................................................................................................................... 60
MX_fGetHighResTime ................................................................................................................... 60
MX_fHighResTimerTicks_to_us ..................................................................................................... 61
Function Blocks/Functions for Drive Control .................................................................................... 62
Overview......................................................................................................................................... 62
MB_PreSetMode ........................................................................................................................... 62
MX_Power / MC_Power ................................................................................................................. 63
MX_Reset / MC_Reset .................................................................................................................. 65

II/II

Bosch Rexroth AG | Electric Drives


and Controls

Rexroth IndraDrive | Library Description

Table of Contents
Page

1.7.4

1.7.5

1.8
1.9
1.9.1
1.9.2
1.9.3
1.10
1.11
1.12

MX_Command ............................................................................................................................... 67
MX_SetControl .............................................................................................................................. 70
MX_SetDeviceMode ...................................................................................................................... 72
MX_SetOpMode ............................................................................................................................ 74
MB_SetPositionControlMode ......................................................................................................... 76
Functions for Diagnosis..................................................................................................................... 77
Overview......................................................................................................................................... 77
MX_fGetDriveWarning ................................................................................................................... 77
MX_fSetDriveError ......................................................................................................................... 78
MX_fSetDriveWarning ................................................................................................................... 79
Function Blocks/Functions for Parameters........................................................................................ 80
Overview......................................................................................................................................... 80
MX_fCheckCmdRequest ............................................................................................................... 81
MX_fReadParamDINT ................................................................................................................... 81
MX_fReadStringParam .................................................................................................................. 82
MX_fWriteParamDINT ................................................................................................................... 83
MX_fWriteStringParam .................................................................................................................. 84
MB_ReadListParameter ................................................................................................................ 85
MB_ReadMaxRealValue ............................................................................................................... 87
MB_ReadMaxValue ....................................................................................................................... 88
MB_ReadMinRealValue ................................................................................................................ 90
MB_ReadMinValue ........................................................................................................................ 91
MB_ReadName ............................................................................................................................. 93
MB_ReadParameter ...................................................................................................................... 94
MB_ReadRealParameter ............................................................................................................... 96
MB_ReadSercosDataStatus .......................................................................................................... 97
MB_ReadSercosAttribute .............................................................................................................. 99
MB_ReadUnit / MX_ReadUnit ..................................................................................................... 101
MB_ReadStringParameter ........................................................................................................... 102
MB_WriteParameter .................................................................................................................... 104
MB_WriteListParameter ............................................................................................................... 106
MB_WriteRealParameter ............................................................................................................. 108
MB_WriteStringParameter ........................................................................................................... 110
MX_ReadParamDINT .................................................................................................................. 112
MX_SetCmdState ........................................................................................................................ 114
MX_WriteParamDINT .................................................................................................................. 115
"CommonTypes" Library .................................................................................................................... 117
Real-Time Channel for Consistent Data Exchange............................................................................ 119
General Information......................................................................................................................... 119
MX_SynchronControl....................................................................................................................... 119
Notes on Programming ................................................................................................................... 124
For Internal Test Purposes Only!: Debug Library .............................................................................. 124
For Program-Internal Use Only!: Functions for Checking or Signaling Run Time Errors .................. 124
Do Not Use!: Internal Functions, Function Blocks, Data Types and Structures................................. 125

Index.......................................................................................................................... 127

Library Description | Rexroth IndraDrive

Electric Drives | Bosch Rexroth AG


and Controls

1/128

Rexroth IndraDrive Firmware Libraries

Rexroth IndraDrive Firmware Libraries

1.1

About this Documentation

Means of Representation in this


Documentation

To make the reading of this documentation easier for you, the table below con
tains the means of representation and notations of recurring terms.

What?

How?

For example...

Paths and sequences of menus...

...are represented step by step in bold Click Window Show view Properties
letters

Buttons and keys...

... are represented in angle brackets Click <Add> or


Press <Ctrl>+<Alt>

Fig.1-1:

Conventions of notation

All important notes are highlighted. A symbol tells you what kind of note is used
in the text. The symbols have the following significances:

...
DANGER

DANGER indicates an imminently hazardous situation which, if not avoided,


will result in death or serious injury.

...
WARNING

WARNING indicates a potentially hazardous situation which, if not avoided,


could result in death or serious injury.

...
CAUTION

CAUTION indicates a potentially hazardous situation which, if not avoided, may


result in injury or property damage.

This box contains important information which you should take into
consideration.
This symbol highlights useful tips and tricks.

Documentation as Online Help

This documentation has been included in the IndraLogic help system.

2/128

Bosch Rexroth AG | Electric Drives


and Controls

Rexroth IndraDrive | Library Description

Rexroth IndraDrive Firmware Libraries

Fig.1-2:

1.2

Description of "Rexroth IndraDrive Firmware Libraries" in the IndraLogic


help system

General Information
The PLC programming system Rexroth IndraLogic allows managing different
libraries.
The corresponding hardware must be available to use the different IndraDrive
target systems as drive-integrated PLC (see Application Manual "Rexroth
IndraMotion MLD"). In addition, the functional expansion package "IndraMotion
MLD" must have been enabled (see also Functional Description of firmware
"Enabling of Functional Packages").
For operating the IndraDrive target systems as drive-integrated PLC, Rexroth
provides specific function block libraries. After you have installed the PLC pro
gramming system Rexroth IndraLogic, these libraries are contained in the
directory

...\Rexroth\ IndraLogic \Targets(target systems IndraDrive MPH02 and


IndraDrive MP03)

...\Rexroth\IndraWorks\IndraLogic\Targets
IndraDrive MP04)

(as

of

target

system

When a project with an IndraDrive target system is created, some Rexroth li


braries are automatically included in the project. The library manager allows
subsequently adding libraries to a project to use their functions.
Libraries can contain both function blocks and declarations and/or variables.
The drive-integrated PLC (Rexroth IndraMotion MLD) is supplied together with
basic libraries containing fundamental function blocks and definitions/variables.
As regards the function blocks, it is possible to create IEC functions/function
blocks or define firmware function blocks according to the library type.
As the code of the firmware libraries is contained in the firmware, the functions
of the PLC have to be known at the start time. For this purpose, a header file
template is provided per library which contains the necessary information.

Library Description | Rexroth IndraDrive

Electric Drives | Bosch Rexroth AG


and Controls

3/128

Rexroth IndraDrive Firmware Libraries


So-called "internal libraries" contain the IEC code.
The shortcut <F2> provides you the dialog for selecting possible
input at the current cursor position in the editor window. In the left
column of the dialog select the desired category of input, in the right
column highlight the desired feature and confirm your selection with
"OK".

1.3

Signal Time Diagrams of Most Frequently Used Inputs and


Outputs
Function blocks according to PLCopen use input and output signals with fixed
functions.

Input Signals "Execute" / "Enable"

To trigger the processing of a function block or to activate it, a function block


has an input "Execute", an input "ExecuteLock" or an input "Enable". All three
inputs are of the BOOL type.
The activation input "Execute" is used at function blocks which work in edgecontrolled form. With a positive edge of "Execute", the input variables are
collected and at the same time the command triggering of a one-time execution
of the function block takes place. The outputs "Done" or "InVelocity", "InTor
que", "In_xxxx" depend on the input. New input values only take effect via the
repeated positive edge of "Execute". When command triggering has not yet
been completed and is interrupted, this is signaled by the fact that output "Com
mandAborded" is set.
Retriggering is possible for edge-controlled function blocks with
"Execute" input; this means that when the activation input, with ac
tive function block, gets a repeated edge, the old task is rejected,
the inputs are applied again and the new task is continued with the
new values.
The activation input "ExecuteLock" behaves as the input "Execute". But as long
as this input in TRUE, the function block cannot be interrupted. Exception: The
function block "MC_Stop" can interrupt the function block "MB_Stop".
The activation input "Enable" is used at function blocks which work in statuscontrolled form. The input variables are applied with the positive edge of
"Enable". New input values only take effect via the repeated positive edge of
"Enable". If the input variables are cyclically transmitted (e.g. with process loop
function blocks), this has to be explicitly documented and marked at the function
block input.

Output Signal "Active"

For remote axes, "Active"=TRUE signals that the function block has accepted
the processing command (positive edge at "Execute", "ExecuteLock" or "Ena
ble").
The "Active" signal can be delayed at the start of the function block,
as possibly required pre-processing has not been completed.
"Active" becomes FALSE when "Done", "CommandAborted" or "Error" become
TRUE. For status-controlled function blocks, "Active" becomes FALSE when
"Enable" is reset.
For single axes, "Active" is not set!

Output Signal "Done"

Function blocks which have an administrative task ("MC_Power", ...) or motion


function blocks (such as "MC_MoveAbsolute", "MC_MoveRelative", ...) which

4/128

Bosch Rexroth AG | Electric Drives


and Controls

Rexroth IndraDrive | Library Description

Rexroth IndraDrive Firmware Libraries


end in the state "standstill", signal via the "Done" output that their task has been
completed and are no longer active after they have been executed; in other
words: The output "Done" signals that a function block has successfully com
pleted its task and possibly provided data are valid.
For edge-controlled function blocks, "Done" remains TRUE for one cycle when
the input "Execute" had been FALSE at the point of time at which "Done" was
set to TRUE. If the input "Execute"=TRUE when "Done" is set, "Done" remains
TRUE until "Execute" is set to FALSE.
For status-controlled function blocks, when "Enable"=TRUE, "Done" after suc
cessful processing remains TRUE for exactly one cycle before processing
starts again.

Library Description | Rexroth IndraDrive

Electric Drives | Bosch Rexroth AG


and Controls

5/128

Rexroth IndraDrive Firmware Libraries

Fig.1-3:

status-controlled function block processing successfully completed


status-controlled function block processing aborted with error
status-controlled function block processing has been interrupted

Signal time response of status-controlled function blocks (with input

6/128

Bosch Rexroth AG | Electric Drives


and Controls

Rexroth IndraDrive | Library Description

Rexroth IndraDrive Firmware Libraries


"Enable"); for single axes the output "Active" is not set!

Library Description | Rexroth IndraDrive

Electric Drives | Bosch Rexroth AG


and Controls

7/128

Rexroth IndraDrive Firmware Libraries

Fig.1-4:

edge-controlled function block processing successfully completed


edge-controlled function block processing aborted with error
edge-controlled function block processing has been interrupted

Signal time response of edge-controlled function blocks (with input "Ex

8/128

Bosch Rexroth AG | Electric Drives


and Controls

Rexroth IndraDrive | Library Description

Rexroth IndraDrive Firmware Libraries


ecute"); for single axes the output "Active" is not set!

There are function blocks (such as "MC_MoveVelocity", "MC_CamIn",


"MC_GearIn", "MC_GearInPos", "MC_TorqueControl", "MB_MotionProfile")
which continue their motion or force activity after their task has been fulfilled
and which are aborted only by "MC_Stop" or another function block being
called. They signal this status by remaining "Active"; i.e. "Active" and, for ex
ample, "InVelocity", "InGear" etc. are at the same time TRUE.

Fig.1-5:
Output Signal "CommandAborted"

edge-controlled function block processing has been interrupted

Signal time response of status-controlled function blocks (with input


"Enable"); "Active" in combination with "InVelocity"

The output "CommandAborted" signals that the function block could not com
plete its task because it had ben interrupted (e.g. by another function block).
For edge-controlled function blocks, the output "CommandAborted" remains
TRUE for one cycle when the input "Execute" had been FALSE at the point of
time at which "CommandAborted" was set to TRUE. If the input
"Execute"=TRUE when "CommandAborted" is set, "CommandAborted" re
mains TRUE until "Execute" is set to FALSE.
For status-controlled function blocks, the output "CommandAborted" is reset
when the "Enable" input is reset.

1.4

Error Handling

1.4.1

General Information
According to their target system, the function blocks have two or three outputs
which contain information in case an error occurs:

"Error",

Library Description | Rexroth IndraDrive

Electric Drives | Bosch Rexroth AG


and Controls

9/128

Rexroth IndraDrive Firmware Libraries

Error

"ErrorID" and

"ErrorIdent" (as of the target "IndraDrive MP03")

If the processing of a task could not be successfully completed, this is signaled


by the output "Error". The "Error" output is reset with the inputs
"Execute"=FALSE or "Enable"=FALSE; an additional reset input therefore is
not required.
For edge-controlled function blocks, the output "Error" remains TRUE for one
cycle when the input "Execute" had been FALSE at the point of time at which
the output "Error" was set to TRUE. If the input "Execute"=TRUE when "Error"
is set, the output "Error" remains TRUE until the input "Execute" is set to FALSE.
For status-controlled function blocks, the output "Error" remains TRUE until the
input "Enable" is set to FALSE.

ErrorID

The output "ErrorID" is of the type ERROR_CODE. When an error has occurred
at the function block, the error classification can be seen at output "ErrorID".
The output values of "ErrorID" have to be interpreted differently ac
cording to the respective target system!
The type ERROR_CODE has been defined in the "CommonTypes" library of
the respective target system.

ErrorIdent

The output "ErrorIdent" signals the exact cause of the error.


The output "ErrorIdent" is available as of the target system
"IndraDrive MP03".
"ErrorIdent" is of the type ERROR_STRUCT. ERROR_STRUCT contains the
following elements:

"Table",

"Additional1" and

"Additional2".
The structure and its elements have been defined in the "Common
Types" library of the target system.

Element

Element data type

Description

Table

ERROR_TABLE

The value of the "Table" element contains the information as to which error table
[(INDRV_TABLE, SERCOS_TABLE or MLDS_TABLE (as of target
"IndraDrive MP03") or MLD_TABLE (as of target system "IndraDrive MP04")] has to
be used to decode the error code of element "Additional1"

Additional1

DWORD

The element "Additional1" contains the error code for specification of the occurred
error

Additional2

DWORD

"Additional2" contains additional information (if available)

Fig.1-6:

1.4.2

Elements of ERROR_STRUCT

Reference Error Lists for Function Blocks as of Target "IndraDrive


MP03"

MLDS_TABLE / MLD_TABLE

At the output "ErrorIdent", the element "Table" refers to the error table
"MLDS_TABLE" for the target "IndraDrive MP03"; as of the target system
"IndraDrive MP04" it refers to the error table "MLD_TABLE". (Only the name
has changed, the contents are identical.)

10/128

Bosch Rexroth AG | Electric Drives


and Controls

Rexroth IndraDrive | Library Description

Rexroth IndraDrive Firmware Libraries


When there isn't any error present, the element "Table" has the
value "NO_TABLE_USED".
"ErrorID"

"ErrorIdent", Ele Description


ment "Addition
al1"

16#00000000

When there isn't any error present, the element "Table" has the value
"NO_TABLE_USED"

INPUT_INVALID_ERROR

16#00000001

As of target system "IndraDrive MPx04", version 12: undefined axis (no


real axis)

RESOURCE_ERROR

16#00000001

Invalid axis reference / undefined axis.


As of target system "IndraDrive MP04": indicated axis (also slave axis) is
not available

ACCESS_ERROR

16#00000002

The function block used may only have one instance in the system (e.g.:
"MX_SynchronControl")

STATE_MACHINE_ERROR

16#00000003

Drive is not in operating status "bb" / communication phase 4


or
With master axis available, this axis has not been activated (P00917,
Control word of master axis generator)

STATE_MACHINE_ERROR

16#00000004

Drive is not in operating status "Ab"

ACCESS_ERROR

16#00000005

MLD has neither permanent nor temporary control over the indicated (lo
cal) axis

ACCESS_ERROR

16#00000006

Drive is torque-free / not under torque

RESOURCE_ERROR

16#00000007

Activated functional package does not support the selected operating


mode (see "P02003, Selection of functional packages") or the axis is
operated without encoder (see "P00045, Control word of current con
troller")

INPUT_RANGE_ERROR

16#00000008

As of target system "IndraDrive MP03": the velocity transmitted at input


"Velocity" is "0"

INPUT_RANGE_ERROR

16#00000009

Parameterized acceleration (positioning acceleration) is "0"

INPUT_RANGE_ERROR

16#00000009

As of target system "IndraDrive MP03": the acceleration transmitted at


input "Acceleration" is "0"

INPUT_RANGE_ERROR

16#00000010

Parameterized deceleration (positioning deceleration) is "0"

INPUT_RANGE_ERROR

16#00000010

As of target system "IndraDrive MP03": the deceleration transmitted at


input "Deceleration" is "0"

STATE_MACHINE_ERROR

16#00000011

As of target system "IndraDrive MP04": after the activation with "MB_Pre


SetMode" there was an attempt to switch on with "MC_Power" without
motion command triggering

STATE_MACHINE_ERROR

16#00000012

The axis is in "Stopping" and mustn't be commanded ("M?_Stop" with


active "Execute" input)

INPUT_RANGE_ERROR

16#00000013

As of target system "IndraDrive MP04": The input "CamTableID" is not


within the valid range (1 .. 8)

STATE_MACHINE_ERROR

16#00000014

MLD is in state "ErrorStop".


Remedy: carry out "MC_Reset"

Library Description | Rexroth IndraDrive

Electric Drives | Bosch Rexroth AG


and Controls

11/128

Rexroth IndraDrive Firmware Libraries


"ErrorID"

"ErrorIdent", Ele Description


ment "Addition
al1"

ACCESS_ERROR

16#00000020

Several tasks use the same instance of a function block, this is not allowed
As of target system "IndraDrive MP04": "Additional2" displays the index
of the second task

STATE_MACHINE_ERROR

16#00000021

An additive motion command was started which is not allowed in this axis
status

OTHER_ERROR

16#00000199

Internal processing error (undefined status)

ACCESS_ERROR

16#00000200

Internal error: undefined parameter data format, parameter cannot be


converted to FLOAT

ACCESS_ERROR

16#00000201

With this function block it is impossible to read/write an ASCII parameter

ACCESS_ERROR

16#00000202

With this function block it is impossible to read/write a list parameter

INPUT_INVALID_ERROR

16#00000203

Parameter IDN does not belong to any command

OTHER_ERROR

16#00000204

Internal processing error (string too short)

ACCESS_ERROR

16#00000205

As of target system "IndraDrive MP04": the required number of bytes is


smaller than the actual length of the list

INPUT_INVALID_ERROR

16#00000206

As of target system "IndraDrive MP04": the data pointer at the input of the
function block is invalid (incorrect alignment or invalid address)

ACCESS_ERROR

16#00000207

With this function block it is only possible to process ASCII parameters

SYSTEM_ERROR

16#00000208

Internal CCD system error; error number see "Additional2"

SYSTEM_ERROR

16#00000209

Internal CoSeMa system error; error number see "Additional2"

ACCESS_ERROR

16#00000210

Reset command S00099 incorrectly executed

ACCESS_ERROR

16#00000211

"MC_Reset" cannot reset the error (timeout)

RESOURCE_ERROR

16#00000250

Master communication synchronizes the drive

RESOURCE_ERROR

16#00000251

NC cycle time (S-0-0001) does not match MLD task cycle time

INPUT_RANGE_ERROR

16#00000252

The input "CmdDelay" is greater than the maximum value

RESOURCE_ERROR

16#00000253

The real-time channel may only use one MLD task

RESOURCE_ERROR

16#00000254

Too many real-time variables used.


At present, there are 4 RTcW_ variables and 4 RTcR_ variables allowed

CALCULATION_ERROR

16#00000255

Internal error (variable offset too great)

CALCULATION_ERROR

16#00000256

Internal error (incorrect variable access)

RESOURCE_ERROR

16#00000257

As of target system "IndraDrive MP04": real-time channel actual values


but no command values defined

ACCESS_ERROR

16#00000300

MLD already has permanent control. Additionally switching to temporary


control does not make sense

ACCESS_ERROR

16#00000301

Temporary control is impossible with virtual slave

STATE_MACHINE_ERROR

16#00000320

Master communication internally synchronizes the drive / does not allow


phase switch (P04086, bit 0=0)

12/128

Bosch Rexroth AG | Electric Drives


and Controls

Rexroth IndraDrive | Library Description

Rexroth IndraDrive Firmware Libraries


"ErrorID"

"ErrorIdent", Ele Description


ment "Addition
al1"

STATE_MACHINE_ERROR

16#00000321

As of target system "IndraDrive MP04": Drive initialization not yet com


pleted (incl. reaching of target phase)
In the case of master communication with analog or parallel interface it is
necessary to wait until the automatic phase switch to "P4" is over. When
a transition command error occurs during this first phase switch, you have
to wait for 10 s; only then is it allowed to input the phase with the function
block "MX_SetDeviceMode"

ACCESS_ERROR

16#00000322

A transition command was started or cleared from a different device

DEVICE_ERROR

16#00000350

Unknown secondary operation mode ("NewOpMode">7 was set)

INPUT_RANGE_ERROR

16#00000370

As of target system "IndraDrive MP04": invalid input "CmdState" (wrong


enum value)

INPUT_RANGE_ERROR

16#00000371

As of target system "IndraDrive MP04": "CmdState" not allowed, e.g.


"CmdState=MX_CMD_NO_ACTIVE" while "P01449, C4900 PLC com
mand"=3

INPUT_RANGE_ERROR

16#00000380

As of target system "IndraDrive MP04": invalid input of diagnostic mes


sage number (N<1 or N>4)

Fig.1-7:
SERCOS_TABLE
INDRV_TABLE

1.5

Error table MLDS_TABLE / MLD_TABLE

See "SERCOS error list"


See documentation "Troubleshooting Guide"

General Data Types


Data type

Bit size

Description

BOOL

bit values "true" or "false"

BYTE

byte value 0 to 255

WORD

16

word value 0 to 65535

DWORD

32

double word values 0 to (2^32)1

CHAR

ASCII code

INT

16

integer (16 bits) from 32768 to +32767

DINT

32

integer (32 bits) from 2^31 to (2^31)1

REAL

32

IEEE floating point number

TIME

32

IEC time in intervals of 1 ms

DATE

32

IEC date in intervals of 1 day

TIME_OF_DAY,
TOD

32

time in steps of 1ms: hour (023), min. (059), second


(059), ms (0999)

Fig.1-8:

Data types

1.6

IEC Function Blocks for Drive Control

1.6.1

General Information
The following libraries contain IEC function blocks for drive control:

Library Description | Rexroth IndraDrive

Electric Drives | Bosch Rexroth AG


and Controls

13/128

Rexroth IndraDrive Firmware Libraries


Target system

Library

IndraDrive MPH02

MXMotion_MPH02.lib

IndraDrive MP03

MXMotion_MP03.lib

IndraDrive MP04

MX_PLCopen.lib

Fig.1-9:
General Properties

Library names depending on the target systems

positioning function blocks have no input for jerk

function blocks have "AXIS_REF" as "VAR_IN_OUT"

Up to MPx03: positions and distances are transmitted as 32-bit integer


(initial value - fixed point)
As of MPx04: positions and distances are transmitted as REAL (floating
point)

"ErrorID"

"ErrorIdent", Ele Description


ment "Addition
al1"

ACCESS_ERROR

16#00000006

Drive is torque-free / not under torque

RESOURCE_ERROR

16#00000007

Activated functional package does not support the selected operating


mode (see "P02003, Selection of functional packages")
or
The axis is operated without encoder (see "P00045, Control word of
current controller")

Fig.1-10:

1.6.2

Generally valid errors of motion function blocks, taken from error table
MLDS_TABLE / MLD_TABLE for function blocks as of target "IndraDrive
MP03"

Overview of the Function Blocks

MB_ChangeProfileStep

MB_GearInPos

MB_MotionProfile *1

MB_Phasing

MB_PhasingSlave

MB_Stop

MC_CamIn

MC_CamOut

MC_GearIn

MC_GearOut

MC_MoveAbsolute

MC_MoveAdditive

MC_MoveRelative

*1

MC_MoveVelocity

*1

MC_Stop

MX_MoveAbsolute

MX_MoveAdditive

MX_MoveRelative

MX_MoveVelocity

*1

*1
*1

*1
*1
*1

*1
*1

*1

*1
*1

*1

14/128

Bosch Rexroth AG | Electric Drives


and Controls

Rexroth IndraDrive | Library Description

Rexroth IndraDrive Firmware Libraries

MX_Stop

*2

*1: available as of target system "IndraDrive MP04"


*2: available up to target system "IndraDrive MP03"

1.6.3

Function Blocks

MB_ChangeProfileStep
The firmware function block "MB_ChangeProfileStep" is used to change the
four parameters which define a segment of a motion profile set; these param
eters are

master axis initial position,

distance,

slave axis velocity and

mode.

The step which is to be changed is defined by the values at the inputs "Set
Number" and "StepNumber".
The units for the function block inputs "Distance" and "SlaveAxisVelocity" are
defined by the scaling parameters of the axis (S-0-0076, S-0-0044).
The input "StepMode" defines the kind of step.
The output "Done" is set when the changed profile was checked. The output
"CheckOk" is set depending on the result of the check. If "CheckOk"=FALSE,
a discrepancy has been detected.
Target system

Library

Range

IndraDrive MP04V12

MX_PLCOpen.lib

Motion

Fig.1-11:

Library assignment

Fig.1-12:

Firmware function block "MB_ChangeProfileStep"

Input variable

Data type

Description

Execute

BOOL

see "Input Signals "Execute" / "Enable" " on page 3

SetNumber

UINT

Select motion profile set


0: motion profile set 0 (parameters P-0-0705 to P-0-0708)
1: motion profile set 1 (parameters P-0-0712 to P-0-0715)

Library Description | Rexroth IndraDrive

Electric Drives | Bosch Rexroth AG


and Controls

15/128

Rexroth IndraDrive Firmware Libraries


Input variable

Data type

Description

StepNumber

UINT

Select motion step to be changed


Each motion profile set can consist of up to 8 motion steps
1: motion step1 / list element 0 from P-0-0705 to P-0-0708 or P-0-0712
to P-0-0715)
2: motion step2 / list element 1 from P-0-0705 to P-0-0708 or P-0-0712
to P-0-0715)
...
8: motion step8 / list element 7 from P-0-0705 to P-0-0708 or P-0-0712
to P-0-0715)

MasterAxisInitialPos

REAL

Set master axis initial position of selected motion step in degrees


P-0-0705, List of master axis initial positions, set 0
P-0-0712, List of master axis initial positions, set 1

Distance

REAL

Set slave axis distance of motion step


P-0-0707, List of distances, set 0
P-0-0714, List of distances, set 1

SlaveAxisVelocity

REAL

Set slave axis velocity within motion step


P-0-0708, List of slave axis velocities, set 0
P-0-0715, List of slave axis velocities, set 1

StepMode

MC_STEP_MODE

Define processing mode of selected motion step


P-0-0706, List of motion step modes, set 0
P-0-0713, List of motion step modes, set 1

Fig.1-13:

REST_IN_REST_POLY5 (0)

REST_IN_REST_INCLINEDSINE (16#100)

REST_IN_VELOCITY_POLY5 (16#200)

VELOCITY_IN_REST_POLY5 (16#400)

VELOCITY_IN_VELOCITY_POLY5 (16#700)

CONSTANT_VELOCITY (16#600)

CAM_TABLE_1 (1)

CAM_TABLE_2 (2)

CAM_TABLE_3 (3)

CAM_TABLE_4 (4)

CAM_TABLE_5 (5)

CAM_TABLE_6 (6)

CAM_TABLE_7 (7)

CAM_TABLE_8 (8)

Input variables of the firmware function block "MB_ChangeProfileStep"

Output variable

Data type

Description

Done

BOOL

Data for motion step were applied


"P-0-0089, Status word for synchronous operating modes" (bit 12 for
set 0, bit 14 for set 1)

Active

BOOL

Data transfer active

16/128

Bosch Rexroth AG | Electric Drives


and Controls

Rexroth IndraDrive | Library Description

Rexroth IndraDrive Firmware Libraries


Output variable

Data type

Description

Error

BOOL

Signals that error has occurred in function block instance

ErrorID *

ERROR_CODE

Short information on cause of error

ErrorIdent *

ERROR_STRUCT

Detailed information on error

CheckOk

BOOL

Motion profile set error-free


"P-0-0089, Status word for synchronous operating modes" (bit 13 for
set 0, bit 15 for set 1)
*

Fig.1-14:

see note below

Output variables of the firmware function block "MB_ChangeProfile


Step"

NOTE: Here you can find the list of all possible errors: chapter 1.4.2
"Reference Error Lists for Function Blocks as of Target "IndraDrive
MP03"" on page 9
Input / output variable

Data type

Description

Axis

AXIS_REF

Axis1 for MLD-S


As of MPx04: Axis1 for MLD-M is the local axis
Axis2 to Axis8 correspond to the remote axes. The remote axes con
tained in the list "P-0-1601, CCD: addresses of projected drives" cor
respond to the order according to Axis2 to Axis8 (Axis2 acts on the
drive of list element 0 of P-0-1601)

Fig.1-15:

Input / output variables of the firmware function block "MB_ChangePro


fileStep"

MB_GearInPos
With the function block "MB_GearInPos" it is possible to realize a motion of the
slave axis which is phase synchronous to the master axis.
Synchronization (absolute/relative) of the slave axis to the master
axis only takes place with a rising edge at "Execute", when currently
there hasn't any instance of "MB_GearInPos" been active with the
same slave axis.
A synchronous position command value for the slave axis is determined from
the position of the master axis. At the input "Master" select the master axis; you
can choose from the following axes:

external virtual master axis (VmAxisExt),

internal virtual master axis (VmAxisInt) or

real master axis (RmAxis).

In principle, the synchronous position command value "XSync" is determined


according to the equation below (see also Functional Description of firmware
"Phase Synchronization with Real/Virtual Master Axis"):

Fig.1-16:

Calculating the synchronous position command value "Xsync"

With the input "StartMode" you select whether, by activating the function block
"MB_GearInPos", the actual position value of the axis is to be adjusted to the

Library Description | Rexroth IndraDrive

Electric Drives | Bosch Rexroth AG


and Controls

17/128

Rexroth IndraDrive Firmware Libraries


synchronous position command value (synchronization) with parameterized
velocity ("P00143, Synchronization velocity") and acceleration ("P00142,
Synchronization acceleration"). When "absolute synchronization" has been se
lected, the synchronization process takes place.
Synchronization can take place by motion in positive direction, in negative di
rection or over the shortest distance. This has to be set at the input "SyncMode".
The position of the master axis is directly converted to a position of the slave
axis.
When the function block "MB_GearInPos" is active, the position
loop of the drive is active, too. Make the settings of the position loop
(with/without lag error, actual position value 1/2) with the function
block "MB_SetPositionControlMode".
Target system

Library

Range

IndraDrive MP04

MX_PLCopen.lib

Motion

Fig.1-17:

Library assignment

Fig.1-18:

Firmware function block "MB_GearInPos"

Input variable

Data type

Description

Execute

BOOL

see "Input Signals "Execute" / "Enable" " on page 3

RatioNumerator

UINT

Gear ratio - numerator


"P-0-0157, Master drive gear output revolutions"

RatioDenominator

UINT

Gear ratio - denominator


"P-0-0156, Master drive gear input revolutions"

MasterFineadjust

REAL

"P00083, Gear ratio fine adjust" in %

18/128

Bosch Rexroth AG | Electric Drives


and Controls

Rexroth IndraDrive | Library Description

Rexroth IndraDrive Firmware Libraries


Input variable

Data type

Description

SyncMode

MC_SYNC_DIRECTION

"P-0-0154, Synchronization direction":


0:= shortest distance
1:= positive direction
2:= negative direction

StartMode

MC_START_MODE

"P-0-0155, Synchronization mode", bit 1


0:= absolute synchronization
1:= relative synchronization

Fig.1-19:

Input variables of the firmware function block "MB_GearInPos"

Output variable

Data type

Description

InSync

BOOL

With the output value TRUE the function block signals that the slave axis
is synchronous.
"InSync" corresponds to P-0-0115, bit 12 of the parameterized axis.
For this application, bit 12 of P-0-0115 corresponds to bit 8 "synchroni
zation mode in synchronization" of parameter "P-0-0089, Status word for
synchronous operating modes".

Active

BOOL

With "Active"=TRUE the function block signals that it determines the axis
motion.
"Active" remains TRUE until "CommandAborted" or Error" is set.

CommandAborted

BOOL

With "CommandAborted"=TRUE the function block signals that another


motion function block was activated or a drive error was present.
A drive error is signaled via the Error outputs of "MC_Power" or "MX_Pow
er".

Error

BOOL

With "Error"=TRUE the function block signals that an error is present

ErrorID *

ERROR_CODE

"ErrorID" gives a rough error description

ErrorIdent *

ERROR_STRUCT

Via the elements Table, Additional1 and Additional2, "ErrorIdent" gives


the exact cause of the error

Fig.1-20:

see note below

Output variables of the firmware function block "MB_GearInPos"

NOTE: Here you can find the list of all possible errors: chapter 1.4.2
"Reference Error Lists for Function Blocks as of Target "IndraDrive
MP03"" on page 9

Library Description | Rexroth IndraDrive

Electric Drives | Bosch Rexroth AG


and Controls

19/128

Rexroth IndraDrive Firmware Libraries


Input / output variable

Data type

Description

AXIS_REF

Select master axis. The following master axes are available:

(VAR_IN_OUT)
Master

Slave

AXIS_REF

VmAxisInt=P_0_0761 (in order that P-0-0761 provides the correct


value, a selection parameter must have been entered in P-0-0916)

VmAxisExt=P_0_0053

RmAxis=P_0_0052

Axis1 for MLD-S or local axis for MLD-M


Axis2 to Axis8 correspond to the remote axes. The remote axes contained
in the list "P-0-1601, CCD: addresses of projected drives" correspond to
the order according to Axis2 to Axis8 (Axis2 acts on the drive of list ele
ment 0 of P-0-1601)

Fig.1-21:

Input / output variables of the firmware function block "MB_GearInPos"

MB_MotionProfile
The function block "MB_MotionProfile" realizes an electronic cam shaft func
tion. The cam shafts are analytically defined by the parameters which belong
to the operating mode "electronic motion profile". A synchronous position com
mand value for the slave axis is determined from the position of the master axis.
At the input "Master" select the master axis; you can choose from the following
axes:

external virtual master axis (VmAxisExt),

internal virtual master axis (VmAxisInt) or

real master axis (RmAxis).

To calculate the synchronous position command value XSynch a profile access


angle (P-0-0227) is first determined according to the equation below:

Fig.1-22:

Profile access angle

With the profile access angle as argument, a synchronous position command


value is calculated by means of a 5th order polynomial.
When the function block "MB_MotionProfile" is active, the position
loop of the drive is active, too. Make the settings of the position loop
(with/without lag error, actual position value 1/2) with the function
block "MB_SetPositionControlMode".
Target system

Library

Range

IndraDrive MP04

MX_PLCopen.lib

Motion

Fig.1-23:

Library assignment

20/128

Bosch Rexroth AG | Electric Drives


and Controls

Rexroth IndraDrive | Library Description

Rexroth IndraDrive Firmware Libraries

Fig.1-24:

Firmware function block "MB_MotionProfile"

Input variable

Data type

Description

Execute

BOOL

see "Input Signals "Execute" / "Enable" " on page 3

RatioNumerator

UINT

Gear ratio - numerator


"P-0-0157, Master drive gear output revolutions"

RatioDenominator

UINT

Gear ratio - denominator


"P-0-0156, Master drive gear input revolutions"

MasterFineadjust

REAL

"P00083, Gear ratio fine adjust" in %

SetSelection

UINT

P-0-0088, bit9: select motion profile set (0 or 1)

RelativePositioning

BOOL

P-0-0088, bit10:
FALSE = fixed (absolute) position reference,
TRUE = relative positioning.

SyncMode

MC_SYNC_DIRECTION

"P-0-0154, Synchronization direction":


0:= shortest distance
1:= positive direction
2:= negative direction

StartMode

MC_START_MODE

"P-0-0155, Synchronization mode", bit 1


0:= absolute synchronization
1:= relative synchronization

Fig.1-25:

Input variables of the firmware function block "MB_MotionProfile"

Library Description | Rexroth IndraDrive

Electric Drives | Bosch Rexroth AG


and Controls

21/128

Rexroth IndraDrive Firmware Libraries


Output variable

Data type

Description

InSync

BOOL

With the output value TRUE the function block signals that the slave axis
is synchronous.
"InSync" corresponds to P-0-0115, bit12 of the parameterized axis and
SetSelection(P-0-0088.9) = ActiveSet(P-0-0089.3).
For this application, bit 12 of P-0-0115 corresponds to bit 8 "synchroni
zation mode in synchronization" of parameter "P-0-0089, Status word for
synchronous operating modes".

Active

BOOL

With "Active"=TRUE the function block signals that it determines the axis
motion.
"Active" remains TRUE until "CommandAborted" or Error" is set.

CommandAborted

BOOL

With "CommandAborted"=TRUE the function block signals that another


motion function block was activated or a drive error was present.
A drive error is signaled via the Error outputs of "MC_Power" or "MX_Pow
er".

Error

BOOL

With "Error"=TRUE the function block signals that an error is present

ErrorID *

ERROR_CODE

"ErrorID" gives a rough error description

ErrorIdent *

ERROR_STRUCT

Via the elements Table, Additional1 and Additional2, "ErrorIdent" gives


the exact cause of the error

ActiveSet

UINT

P-0-0089, bit3: the output displays the number of the active motion profile
set.
*

Fig.1-26:

see note below


Output variables of the firmware function block "MB_MotionProfile"

NOTE: Here you can find the list of all possible errors: chapter 1.4.2
"Reference Error Lists for Function Blocks as of Target "IndraDrive
MP03"" on page 9
Input / output variable

Data type

Description

AXIS_REF

Select master axis. The following master axes are available:

(VAR_IN_OUT)
Master

VmAxisInt=P_0_0761 (in order that P-0-0761 provides the correct value,


a selection parameter must have been entered in P-0-0916)
VmAxisExt = P_0_0053
RmAxis = P_0_0052
Slave

AXIS_REF

Axis1 for MLD-S or local axis for MLD-M


Axis2 to Axis8 correspond to the remote axes. The remote axes contained
in the list "P-0-1601, CCD: addresses of projected drives" correspond to
the order according to Axis2 to Axis8 (Axis2 acts on the drive of list ele
ment 0 of P-0-1601)

Fig.1-27:

Input / output variables of the firmware function block "MB_MotionPro


file"

MB_Phasing
The function block "MB_Phasing" allows realizing an offset to the master axis
which is connected as input to a synchronization function block ("MC_CamIn"
or "MC_GearInPos").

22/128

Bosch Rexroth AG | Electric Drives


and Controls

Rexroth IndraDrive | Library Description

Rexroth IndraDrive Firmware Libraries


The parameter "P00054, Additive master axis position" is changed. The inputs
"Velocity" and "Acceleration" determine the motion profile with which the dis
tance is traveled.
The units of the inputs which define the drive motion are fixed.
Target system

Library

Range

IndraDrive MP04

MX_PLCopen.lib

Motion

Fig.1-28:

Library assignment

Fig.1-29:

Firmware function block "MB_Phasing"

Input variable

Data type

Description

Execute

BOOL

see "Input Signals "Execute" / "Enable" " on page 3

PhaseShift

REAL

Additive master axis position (P00054) in degrees

Velocity

REAL

Additive master axis position, positioning velocity (P00688) in rpm

Acceleration

REAL

Additive master axis position, positioning acceleration (P00689) in rad/s

Fig.1-30:

Input variables of the firmware function block "MB_Phasing"

Output variable

Data type

Description

Done

BOOL

With "Done"=TRUE the firmware function block signals that PhaseShift has
been reached (acknowledged by bit 6 of "P00089, Status word for syn
chronous operating modes")

Active

BOOL

With TRUE the input "Active" signals that the preset value has not yet been
reached

CommandAborted

BOOL

The output "CommandAborted" is set to TRUE when the firmware function


block has not yet signaled with "Done"=TRUE that it has been completed
and the firmware function block was aborted with another motion function
block

Error

BOOL

With "Error"=TRUE the function block signals that an error is present

Library Description | Rexroth IndraDrive

Electric Drives | Bosch Rexroth AG


and Controls

23/128

Rexroth IndraDrive Firmware Libraries


Output variable

Data type

Description

ErrorID *

ERROR_CODE

"ErrorID" gives a rough error description

ErrorIdent *

ERROR_STRUCT

Via the elements Table, Additional1 and Additional2, "ErrorIdent" gives the
exact cause of the error

see note below


Output variables of the firmware function block "MB_Phasing"

Fig.1-31:

NOTE: Here you can find the list of all possible errors: chapter 1.4.2
"Reference Error Lists for Function Blocks as of Target "IndraDrive
MP03"" on page 9
Input / output variable

Data type

Description

AXIS_REF

Axis1 for MLD-S or local axis for MLD-M

(VAR_IN_OUT)
Axis

Axis2 to Axis8 correspond to the remote axes. The remote axes contained in
the list "P-0-1601, CCD: addresses of projected drives" correspond to the order
according to Axis2 to Axis8 (Axis2 acts on the drive of list element 0 of
P-0-1601)

Fig.1-32:

Input / output variables of the firmware function block "MB_Phasing"

MB_PhasingSlave
With the function block "MB_PhasingSlave" it is possible to adjust the slave axis
by a position offset. The adjustment only takes effect with active synchroniza
tion function block ("MC_CamIn", "MB_GearInPos" or "MB_MotionProfile").
Moving to the new value for the position offset (input "PhaseShift") takes place
in consideration of the values for velocity (input "Velocity") and acceleration
(input "Acceleration") provided at the function block.
The scaling parameters of the axis ("S00044, Velocity data scaling type";
"S00076, Position data scaling type"; "S00160, Acceleration data scaling
type") define the units for the inputs "PhaseShift", "Velocity" and "Acceleration".
Target system

Library

Range

IndraDrive MP04

MX_PLCopen.lib

Motion

Fig.1-33:

Library assignment

24/128

Bosch Rexroth AG | Electric Drives


and Controls

Rexroth IndraDrive | Library Description

Rexroth IndraDrive Firmware Libraries

Fig.1-34:

Firmware function block "MB_PhasingSlave"

Input variable

Data type

Description

Execute

BOOL

see "Input Signals "Execute" / "Enable" " on page 3

PhaseShift

REAL

"S-0-0048, Additive position command value"

Velocity

REAL

"P-0-0686, Additive position command value, positioning velocity"

Acceleration

REAL

"P-0-0687, Additive position command value, positioning acceleration"

Fig.1-35:

Input variables of the firmware function block "MB_PhasingSlave"

Output variable

Data type

Description

Done

BOOL

PhaseShift reached (acknowledged by "P00152, Synchronization comple


ted", bit 0=1)

Active

BOOL

With "Active"=TRUE the function block signals that it contributes to the axis
motion

CommandAborted

BOOL

With "CommandAborted"=TRUE the function block signals that synchroniza


tion has been aborted

Error

BOOL

With "Error"=TRUE the function block signals that an error is present

ErrorID *

ERROR_CODE

"ErrorID" gives a rough error description

ErrorIdent *

ERROR_STRUCT

Via the elements Table, Additional1 and Additional2, "ErrorIdent" gives the
exact cause of the error

Fig.1-36:

see note below

Output variables of the firmware function block "MB_PhasingSlave"

NOTE: Here you can find the list of all possible errors: chapter 1.4.2
"Reference Error Lists for Function Blocks as of Target "IndraDrive
MP03"" on page 9

Library Description | Rexroth IndraDrive

Electric Drives | Bosch Rexroth AG


and Controls

25/128

Rexroth IndraDrive Firmware Libraries


Input / output variable

Data type

Description

AXIS_REF

Axis1 for MLD-S or local axis for MLD-M

(VAR_IN_OUT)
Axis

Axis2 to Axis8 correspond to the remote axes. The remote axes contained in
the list "P-0-1601, CCD: addresses of projected drives" correspond to the order
according to Axis2 to Axis8 (Axis2 acts on the drive of list element 0 of
P-0-1601)

Fig.1-37:

Input / output variables of the firmware function block "MB_Phasing


Slave"

MB_Stop
The firmware function block "MB_Stop" is used to bring the drive to the status
STOP.
With the rising edge at "ExecuteLock" the stopping process is started.
If the PLC does not have control over the drive, an error is returned.
As long as the input "ExecuteLock" is TRUE, no other motion function block
can be started. For this purpose, the drive is brought to the status "AH" (Drive
Halt). Further command triggering is only possible when the axis is in standstill.
With "ExecuteLock"=FALSE the drive remains in "AH".
With the deceleration set at "Deceleration" the drive is brought to standstill.
When several instances are called in a project by "MC_Stop" or "MB_Stop", it
is always the last instance which takes effect; exception: an active "MC_Stop"
cannot be interrupted by an "MB_Stop".
"MC_Stop" has higher priority than "MB_Stop"; this means that a running
"MC_Stop" cannot be aborted by an "MB_Stop".
Via the function block "MB_Stop" it is also possible to bring
"P-0-0759, Virtual master axis, actual velocity value" to standstill via
a defined ramp. For this purpose, the master axis generator has to
be activated via "P-0-0917, Control word of master axis generator",
bit 0=1. To convert the virtual actual position value (P-0-0758) to
the internal virtual master axis position (VmAxisInt, "P-0-0761, Mas
ter axis position for slave axis") the parameter P-0-0758 must be
written to parameter "P-0-0916, Master axis format converter signal
selection".
See also Functional Description of firmware "Master Axis Genera
tor"
To test the function block the instance variable "ActivateCounter"
can be used. It counts the positive edges of the "ExecuteLock" sig
nal and thereby signals whether the function block is run with edge.
Target system

Library

Range

IndraDrive MP04

MX_PLCopen.lib

Motion

Fig.1-38:

Library assignment

26/128

Bosch Rexroth AG | Electric Drives


and Controls

Rexroth IndraDrive | Library Description

Rexroth IndraDrive Firmware Libraries

Fig.1-39:

Firmware function block "MB_Stop"

Input variable

Data type

Description

ExecuteLock

BOOL

With a rising edge at "ExecuteLock" the drive is switched to "AH"

Deceleration

REAL

This input sets the deceleration. The deceleration which is set is written to
parameter S00372, Drive Halt acceleration bipolar

Fig.1-40:

Input variables of the firmware function block "MB_Stop"

Output variable

Data type

Description

Done

BOOL

With "Done"=TRUE (S-0-0331, bit 0=1) the firmware function block signals
that the drive has stopped. Only when the input "ExecuteLock" is TRUE is
the output "Done" generated

Active

BOOL

With "Active"=TRUE the firmware function block signals that it determines


the axis motion

CommandAborted

BOOL

With "CommandAborted"=TRUE the function block signals that another


function block has commanded another status (other "MC_Stop" or
"MB_Stop")

Error

BOOL

With "Error"=TRUE the function block signals that an error is present; the
kind of deceleration depends on the error

ErrorID *

ERROR_CODE

"ErrorID" gives a rough error description

ErrorIdent *

ERROR_STRUCT

Via the elements Table, Additional1 and Additional2, "ErrorIdent" gives the
exact cause of the error

Fig.1-41:

see note below

Output variables of the firmware function block "MB_Stop"

NOTE: Here you can find the list of all possible errors: chapter 1.4.2
"Reference Error Lists for Function Blocks as of Target "IndraDrive
MP03"" on page 9

Library Description | Rexroth IndraDrive

Electric Drives | Bosch Rexroth AG


and Controls

27/128

Rexroth IndraDrive Firmware Libraries


Input / output variable

Data type

Description

AXIS_REF

Axis1 for MLD-S or local axis for MLD-M

(VAR_IN_OUT)
Axis

Axis2 to Axis8 correspond to the remote axes. The remote axes contained
in the list "P-0-1601, CCD: addresses of projected drives" correspond to
the order according to Axis2 to Axis8 (Axis2 acts on the drive of list element
0 of P-0-1601)
VmAxisInt corresponds to the virtual master axis generator

Fig.1-42:

Input / output variables of the firmware function block "MB_Stop"

MC_CamIn
With the function block "MC_CamIn" it is possible to realize an electronic cam
shaft.
Synchronization (absolute/relative) of the slave axis to the master
axis takes place with a rising edge at the input "Execute", but only
when currently there hasn't any instance of "MC_CamIn" been ac
tive with the same slave axis.
The parameters influenced by the input values take immediate ef
fect (cam shaft, gear and distance).
When an instance of "MC_CamIn" had been active with the same
slave axis at the time of the rising edge at the input "Execute", syn
chronization is not repeated. The position of the master axis is
directly converted to a position of the slave axis (fixed connection
to the master axis) The input values (gear, distance, cam shaft) take
effect depending on the configuration of "P-0-0086, Configuration
word synchronous operating modes".
A synchronous position command value for the slave axis is determined from
the position of the master axis. At the input "Master" select the master axis; you
can choose from the following axes:

external virtual master axis (VmAxisExt),

internal virtual master axis (VmAxisInt) or

real master axis (RmAxis).

To calculate the synchronous position command value "XSynch" a profile ac


cess angle (P-0-0227) is first determined according to the equation below:

Fig.1-43:

Calculating P-0-0227, Cam shaft profile, access angle (profile access


angle)

With the calculated profile access angle the profile selected at the input "Cam
TableID" is accessed and a percentage is taken from it. This profile value is
multiplied with the position value at the input "CamShaftDistance" and provides
the synchronous position command value.
With the input "StartMode" you select whether, by activating the function block
"MC_CamIn", the actual position value of the axis is to be adjusted to the syn
chronous position command value (synchronization) with parameterized ve
locity ("P00143, Synchronization velocity") and acceleration ("P00142,

28/128

Bosch Rexroth AG | Electric Drives


and Controls

Rexroth IndraDrive | Library Description

Rexroth IndraDrive Firmware Libraries


Synchronization acceleration"). When "absolute synchronization" has been se
lected, the synchronization process takes place.
With modulo position scaling, synchronization can take place by motion in pos
itive direction, in negative direction or over the shortest distance. This has to
be set at the input "SyncMode".
When the function block "MC_CamIn" is active, the position loop of
the drive is active, too. Make the settings of the position loop (with/
without lag error, actual position value 1/2) with the function block
"MB_SetPositionControlMode".
Target system

Library

Range

IndraDrive MP04

MX_PLCopen.lib

Motion

Fig.1-44:

Library assignment

Fig.1-45:

Firmware function block "MC_CamIn"

Input variable

Data type

Description

Execute

BOOL

The function block is activated with a rising edge at "Execute". With a


falling edge, all outputs are reset

RatioNumerator

UINT

Gear ratio - numerator


"P-0-0157, Master drive gear output revolutions"

RatioDenominator

UINT

Gear ratio - denominator


"P-0-0156, Master drive gear input revolutions"

MasterFineadjust

REAL

"P00083, Gear ratio fine adjust" in %

CamShaftDistance

REAL

Cam shaft distance. Scaling of percentage profile values

SyncMode

MC_SYNC_DIRECTION

"P-0-0154, Synchronization direction":


0:= shortest distance
1:= positive direction
2:= negative direction

Library Description | Rexroth IndraDrive

Electric Drives | Bosch Rexroth AG


and Controls

29/128

Rexroth IndraDrive Firmware Libraries


Input variable

Data type

Description

StartMode

MC_START_MODE

"P-0-0155, Synchronization mode", bit 1


0:= absolute synchronization
1:= relative synchronization

CamTableID

MC_CAM_ID

Number of the cam shaft profile (1..8 according to parameters P00072,


P00092, P00780..P00785)

Fig.1-46:

Input variables of the firmware function block "MC_CamIn"

Output variable

Data type

Description

InSync

BOOL

With "InSync"=TRUE the function block signals that the slave axis is syn
chronous.
"InSync" corresponds to

Active

BOOL

"P-0-0115, Device control: status word", bit 12: "command value


reached" of the parameterized axis and

"CamTableID"="CamActiveID" and

"P-0-0089, Status word for synchronous operating modes", bit 5=1


(status distance switching). For this application, bit 12 of P-0-0115
corresponds to bit 8 "synchronization mode in synchronization" of
parameter "P-0-0089, Status word for synchronous operating
modes".

With "Active"=TRUE the function block signals that it determines the axis
motion.
"Active" remains TRUE until "CommandAborted" or Error" is set.

CommandAborted

BOOL

With "CommandAborted"=TRUE the function block signals that another


motion function block was activated or a drive error was present. A drive
error is signaled via the Error outputs of "MC_Power" or "MX_Power".

Error

BOOL

With "Error"=TRUE the function block signals that an error is present

ErrorID *

ERROR_CODE

"ErrorID" gives a rough error description

ErrorIdent *

ERROR_STRUCT

Via the elements Table, Additional1 and Additional2, "ErrorIdent" gives


the exact cause of the error

CamActiveID

Number of the cam shaft active in the function block


*

Fig.1-47:

see note below

Output variables of the firmware function block "MC_CamIn"

NOTE: Here you can find the list of all possible errors: chapter 1.4.2
"Reference Error Lists for Function Blocks as of Target "IndraDrive
MP03"" on page 9

30/128

Bosch Rexroth AG | Electric Drives


and Controls

Rexroth IndraDrive | Library Description

Rexroth IndraDrive Firmware Libraries


Input / output variable

Data type

Description

AXIS_REF

Select master axis.

(VAR_IN_OUT)
Master

The following master axes are available:

Slave

AXIS_REF

VmAxisInt=P-0-0761 (in order that P-0-0761 provides the correct


value, a selection parameter must have been entered in P-0-0916)

VmAxisExt=P-0-0053

RmAxis=P-0-0052

Axis1 (only axis for MLD-S or local axis for MLD-M)


Axis2 to Axis8 correspond to the remote axes. The remote axes contained
in the list "P-0-1601, CCD: addresses of projected drives" correspond to
the order according to Axis2 to Axis8 (Axis2 acts on the drive of list ele
ment 0 of P-0-1601)

Fig.1-48:

Input / output variables of the firmware function block "MC_CamIn"

MC_CamOut
The firmware function block "MC_CamOut" is used to terminate an active syn
chronization function block. Transition to velocity control takes place. The actual
velocity value available with a rising Execute edge is taken as velocity com
mand value.
Target system

Library

Range

IndraDrive MP04

MX_PLCopen.lib

Motion

Fig.1-49:

Library assignment

Fig.1-50:

Firmware function block "MC_CamOut"

Input variable

Data type

Description

Execute

BOOL

see "Input Signals "Execute" / "Enable" " on page 3

Fig.1-51:

Input variables of the firmware function block "MC_CamOut"

Library Description | Rexroth IndraDrive

Electric Drives | Bosch Rexroth AG


and Controls

31/128

Rexroth IndraDrive Firmware Libraries


Output variable

Data type

Description

Done

BOOL

With "Done"=TRUE the firmware function block signals that the preset ve
locity has been reached (S-0-0330, bit 0=1)

Active

BOOL

With TRUE the output "Active" signals that it determines the axis motion.

Error

BOOL

With "Error"=TRUE the function block signals that an error is present

ErrorID *

ERROR_CODE

"ErrorID" gives a rough error description

ErrorIdent *

ERROR_STRUCT

Via the elements Table, Additional1 and Additional2, "ErrorIdent" gives the
exact cause of the error

see note below

Fig.1-52:

Output variables of the firmware function block "MC_CamOut"

NOTE: Here you can find the list of all possible errors: chapter 1.4.2
"Reference Error Lists for Function Blocks as of Target "IndraDrive
MP03"" on page 9
Input / output variable

Data type

Description

AXIS_REF

Axis1 (only axis for MLD-S or local axis for MLD-M)

(VAR_IN_OUT)
Slave

Axis2 to Axis8 correspond to the remote axes. The remote axes contained
in the list "P-0-1601, CCD: addresses of projected drives" correspond to
the order according to Axis2 to Axis8 (Axis2 acts on the drive of list element
0 of P-0-1601)

Fig.1-53:

Input / output variables of the firmware function block "MC_CamOut"

MC_GearIn
With the function block "MC_GearIn" it is possible to realize a motion of the
slave axis which is velocity synchronous to the master axis.
When the function block is activated, the slave axis accelerates to the synchro
nous velocity with the acceleration set in "P00142, Synchronization acceler
ation". The synchronous velocity is generated according to the equation below,
from the velocity of the master axis and the input data of the function block.

Fig.1-54:

Calculating the synchronous velocity

Target system

Library

Range

IndraDrive MP04

MX_PLCopen.lib

Motion

Fig.1-55:

Library assignment

32/128

Bosch Rexroth AG | Electric Drives


and Controls

Rexroth IndraDrive | Library Description

Rexroth IndraDrive Firmware Libraries

Fig.1-56:

Firmware function block "MC_GearIn"

Input variable

Data type

Description

Execute

BOOL

see "Input Signals "Execute" / "Enable" " on page 3

RatioNumerator

UINT

Gear ratio - numerator


"P-0-0157, Master drive gear output revolutions"

RatioDenominator

UINT

Gear ratio - denominator


"P-0-0156, Master drive gear input revolutions"

MasterFineadjust

REAL

"P00083, Gear ratio fine adjust" in %

Fig.1-57:

Input variables of the firmware function block "MC_GearIn"

Output variable

Data type

Description

InGear

BOOL

With "InGear"=TRUE the function block signals that the slave axis is ve
locity-synchronous.
"InGear" corresponds to "P-0-0115, Device control: status word", bit 12:
"command value reached" of the parameterized axis. For this application,
this bit corresponds to bit 8 "synchronization mode in synchronization" of
parameter "P-0-0089, Status word for synchronous operating modes".

Active

BOOL

With "Active"=TRUE the function block signals that it determines the axis
motion. "Active" remains TRUE until "CommandAborted" or Error" is set.

CommandAborted

BOOL

With "CommandAborted"=TRUE the function block signals that another


motion function block was activated or a drive error was present. A drive
error is displayed via the Error outputs of "MC_Power"

Error

BOOL

With "Error"=TRUE the function block signals that an error is present

ErrorID *

ERROR_CODE

"ErrorID" gives a rough error description

ErrorIdent *

ERROR_STRUCT

Via the elements Table, Additional1 and Additional2, "ErrorIdent" gives


the exact cause of the error

Fig.1-58:

see note below

Output variables of the firmware function block "MC_GearIn"

Library Description | Rexroth IndraDrive

Electric Drives | Bosch Rexroth AG


and Controls

33/128

Rexroth IndraDrive Firmware Libraries


NOTE: Here you can find the list of all possible errors: chapter 1.4.2
"Reference Error Lists for Function Blocks as of Target "IndraDrive
MP03"" on page 9
Input / output variable

Data type

Description

AXIS_REF

Select master axis.

(VAR_IN_OUT)
Master

The following master axes are available:

Slave

AXIS_REF

VmAxisInt=P-0-0761 (in order that P-0-0761 provides the correct


value, a selection parameter must have been entered in P-0-0916)

VmAxisExt=P-0-0053

RmAxis=P-0-0052

Axis1 (only axis for MLD-S or local axis for MLD-M)


Axis2 to Axis8 correspond to the remote axes. The remote axes contained
in the list "P-0-1601, CCD: addresses of projected drives" correspond to
the order according to Axis2 to Axis8 (Axis2 acts on the drive of list element
0 of P-0-1601)

Fig.1-59:

Input / output variables of the firmware function block "MC_GearIn"

MC_GearOut
The firmware function block "MC_GearOut" is used to terminate an active syn
chronization function block. Transition to velocity control takes place. The actual
velocity value available with a rising Execute edge is taken as velocity com
mand value.
Target system

Library

Range

IndraDrive MP04

MX_PLCopen.lib

Motion

Fig.1-60:

Library assignment

Fig.1-61:

Firmware function block "MC_GearOut"

Input variable

Data type

Description

Execute

BOOL

see "Input Signals "Execute" / "Enable" " on page 3

Fig.1-62:

Input variables of the firmware function block "MC_GearOut"

34/128

Bosch Rexroth AG | Electric Drives


and Controls

Rexroth IndraDrive | Library Description

Rexroth IndraDrive Firmware Libraries


Output variable

Data type

Description

Done

BOOL

With "Done"=TRUE the firmware function block signals that the preset ve
locity has been reached (S-0-0330, bit 0=1)

Active

BOOL

With TRUE the output "Active" signals that it determines the axis motion.

Error

BOOL

With "Error"=TRUE the function block signals that an error is present

ErrorID *

ERROR_CODE

"ErrorID" gives a rough error description

ErrorIdent *

ERROR_STRUCT

Via the elements Table, Additional1 and Additional2, "ErrorIdent" gives the
exact cause of the error

Fig.1-63:

see note below

Output variables of the firmware function block "MC_GearOut"

NOTE: Here you can find the list of all possible errors: chapter 1.4.2
"Reference Error Lists for Function Blocks as of Target "IndraDrive
MP03"" on page 9
Input / output variable

Data type

Description

AXIS_REF

Axis1 (only axis for MLD-S or local axis for MLD-M)

(VAR_IN_OUT)
Slave

Axis2 to Axis8 correspond to the remote axes. The remote axes contained
in the list "P-0-1601, CCD: addresses of projected drives" correspond to
the order according to Axis2 to Axis8 (Axis2 acts on the drive of list element
0 of P-0-1601)

Fig.1-64:

Input / output variables of the firmware function block "MC_GearOut"

MC_MoveAbsolute
The firmware function block "MC_MoveAbsolute" is used to move the drive to
a preset absolute position. Internally the operating mode "drive-controlled po
sitioning" is activated for this purpose. Make the settings of the position loop
(with/without lag error, actual position value 1/2) with the function block
"MB_SetPositionControlMode".
For permanent control and remote axes the secondary operation mode 3 and
its parameters are used. For temporary control the secondary PLC operation
mode 11 and its parameters are used.
The target position has to be preset at the input "Position". Via the inputs "Ve
locity", "Acceleration" and "Deceleration" you have to set how the drive moves
to the target position (motion profile).
Via the firmware function block "MC_MoveAbsolute" the parameter
"P-0-0758, Virtual master axis, actual position value" of the master
axis generator can be positioned in absolute form, too. For this pur
pose, the master axis generator has to be activated via "P-0-0917,
Control word of master axis generator", bit 0=1. To convert the vir
tual actual position value (P-0-0758) to the internal virtual master
axis position (VmAxisInt, "P-0-0761, Master axis position for slave
axis") the parameter P-0-0758 must be written to parameter
"P-0-0916, Master axis format converter signal selection".
See also Functional Description of firmware "Master Axis Genera
tor" and "Master Axis Format Converter"

Library Description | Rexroth IndraDrive

Electric Drives | Bosch Rexroth AG


and Controls

35/128

Rexroth IndraDrive Firmware Libraries

Operating mode parameter

Target system

Library

Range

IndraDrive MP04

MX_PLCopen.lib

Motion

Fig.1-65:

Library assignment

Fig.1-66:

Functional firmware block "MC_MoveAbsolute"

PLC mode parameter

Virt. master axis (as of MPx04)

S-0-0282, Positioning command val P-0-1450, PLC Positioning command value


ue

P-0-0766, Virtual master axis, position


ing command value

S-0-0259, Positioning Velocity

P-0-1451, PLC Positioning velocity

P-0-0770, Virtual master axis, position


ing velocity

S-0-0260, Positioning Acceleration

P-0-1452, PLC Positioning acceleration

P-0-0771, Virtual master axis, position


ing acceleration

S-0-0346, Positioning control word

P-0-1454, PLC Positioning command value


acceptance

P-0-0760, Virtual master axis, position


ing control word

S-0-0359, Positioning deceleration

P-0-1453, PLC Positioning deceleration

P-0-0772, Virtual master axis, position


ing deceleration

Fig.1-67:

Comparison of operating mode parameters

Input variable

Data type

Description

Execute

BOOL

see "Input Signals "Execute" / "Enable" " on page 3

Position

REAL

The absolute position must be preset at the input "Position".

Velocity

REAL

Positioning velocity in physical unit

Acceleration

REAL

Positioning acceleration in physical unit

Deceleration

REAL

Positioning deceleration in physical unit

Fig.1-68:

Input variables of the firmware function block "MC_MoveAbsolute"

36/128

Bosch Rexroth AG | Electric Drives


and Controls

Rexroth IndraDrive | Library Description

Rexroth IndraDrive Firmware Libraries


Output variable

Data type

Description

Done

BOOL

With "Done"=TRUE the firmware function block signals that the absolute
target position has been reached. The processing is completed until the
next 0-1 edge at the "Execute" input. When a 1-0 edge is applied to the
"Execute" input before the firmware function block signals that it has been
completed ("Done"=TRUE), the output "Done" is set to TRUE for one call
when the motion target has been reached and the processing of the firm
ware function block has not been interrupted by an error or another firm
ware function block.

Real axes: The output is set to TRUE when bit 2 is set in parameter
"S-0-0437, Positioning status word".

Virtual master axis: (as of MPx04VRS) The output is set to TRUE


when bit 2 is set in parameter "P-0-0768, Virtual master axis, posi
tioning status".

Active

BOOL

With "Active"=TRUE the function block signals that it determines the axis
motion.

CommandAborted

BOOL

With "CommandAborted"=TRUE the function block signals that another


motion function block was activated or a drive error was present. A drive
error is displayed via the Error outputs of "MC_Power"

Error

BOOL

With "Error"=TRUE the function block signals that an error is present

ErrorID *

ERROR_CODE

"ErrorID" gives a rough error description

ErrorIdent *

ERROR_STRUCT

Via the elements Table, Additional1 and Additional2, "ErrorIdent" gives the
exact cause of the error

Fig.1-69:

see note below

Output variables of the firmware function block "MC_MoveAbsolute"

NOTE: Here you can find the list of all possible errors: chapter 1.4.2
"Reference Error Lists for Function Blocks as of Target "IndraDrive
MP03"" on page 9
Input / output variable

Data type

Description

AXIS_REF

Defines the axis. The following axes are possible:

(VAR_IN_OUT)
Axis

"Axis1" (axis for MLD-S or local axis for MLD-M)

"Axis2" to "Axis8" correspond to the remote axes. The remote axes con
tained in the list "P-0-1601, CCD: addresses of projected drives" corre
spond to the order according to "Axis2" to "Axis8" ("Axis2" acts on the
drive of list element 0 of P-0-1601)

"VmAxisInt" corresponds to the virtual master axis generator

Fig.1-70:

Input / output variables of the firmware function block "MC_MoveAbso


lute"

MC_MoveAdditive
The firmware function block "MC_MoveAdditive" is used to move the drive in
relative form by a distance in addition to the target position. Th new target po
sition results from the old target position, plus a distance. The distance is
determined by the input "Distance". The inputs "Velocity", "Acceleration" and
"Deceleration" determine the motion profile.

Library Description | Rexroth IndraDrive

Electric Drives | Bosch Rexroth AG


and Controls

37/128

Rexroth IndraDrive Firmware Libraries


Internally the operating mode "drive-controlled positioning" is activated. Make
the settings of the position loop (with/without lag error, actual position value 1/2)
with the function block "MB_SetPositionControlMode".
For permanent control and remote axes the secondary operation mode 3 and
its parameters are used. For temporary control the secondary PLC operation
mode 11 and its parameters are used.
Via the firmware function block "MC_MoveAbsolute" the parameter
"P-0-0758, Virtual master axis, actual position value" of the master
axis generator can be moved in relative form by a distance in ad
dition to the current target position. For this purpose, the master
axis generator has to be activated via "P-0-0917, Control word of
master axis generator", bit 0=1. To convert the virtual actual position
value (P-0-0758) to the internal virtual master axis position (VmAx
isInt, "P-0-0761, Master axis position for slave axis") the parameter
P-0-0758 must be written to parameter "P-0-0916, Master axis for
mat converter signal selection".
See also Functional Description of firmware "Master Axis Genera
tor" and "Master Axis Format Converter"
Target system

Library

Range

IndraDrive MP04

MX_PLCopen.lib

Motion

Fig.1-71:

Library assignment

Fig.1-72:

Functional firmware block "MC_MoveAdditive"

Operating mode parame PLC mode parameter


ter

Virt. master axis

S-0-0282, Positioning
command value

P-0-1450, PLC Positioning


command value

P-0-0766, Virtual master


axis, positioning com
mand value

S-0-0259, Positioning
Velocity

P-0-1451, PLC Positioning ve P-0-0770, Virtual master


locity
axis, positioning velocity

S-0-0260, Positioning
Acceleration

P-0-1452, PLC Positioning ac P-0-0771, Virtual master


celeration
axis, positioning accelera
tion

38/128

Bosch Rexroth AG | Electric Drives


and Controls

Rexroth IndraDrive | Library Description

Rexroth IndraDrive Firmware Libraries


Operating mode parame PLC mode parameter
ter

Virt. master axis

S-0-0346, Positioning
control word

P-0-0760, Virtual master


axis, positioning control
word

P-0-1454, PLC Positioning


command value acceptance

S-0-0359, Positioning de P-0-1453, PLC Positioning de P-0-0772, Virtual master


celeration
celeration
axis, positioning decelera
tion

Fig.1-73:

Comparison of operating mode parameters

Input variable

Data type

Description

Execute

BOOL

With a rising edge at "Execute" the data at the inputs are applied to the
firmware function block; processing starts.
With a falling edge, all outputs are cleared.
The firmware function block remains active until one of the two
outputs"Done" and "Error" is set to TRUE. The status persists for one call
before the outputs are reset

Distance

REAL

At the input "Distance" the relative distance must be preset; the new target
position results from the old target position and the value set at the input
"Distance".

Velocity

REAL

Positioning velocity in physical unit

Acceleration

REAL

Positioning acceleration in physical unit

Deceleration

REAL

Positioning deceleration in physical unit

Fig.1-74:

Input variables of the firmware function block "MC_MoveAdditive"

Output variable

Data type

Description

Done

BOOL

With "Done"=TRUE the firmware function block signals that the target po
sition has been reached. The processing is completed until the next 0-1
edge at the "Execute" input. When a 1-0 edge is applied to the "Execute"
input before the firmware function block signals that it has been completed
("Done"=TRUE), the output "Done" is set to TRUE for one call when the
motion target has been reached and the processing of the firmware func
tion block has not been interrupted by an error or another firmware function
block.

Real axes: The output is set to TRUE when bit 2 is set in parameter
"S-0-0437, Positioning status word".

Virtual master axis: (as of MPx04VRS) The output is set to TRUE


when bit 2 is set in parameter "P-0-0768, Virtual master axis, posi
tioning status".

Active

BOOL

With "Active"=TRUE the firmware function block signals that it determines


the axis motion

CommandAborted

BOOL

With "CommandAborted"=TRUE the function block signals that another


motion function block was activated or a drive error was present. A drive
error is displayed via the Error outputs of "MC_Power"

Error

BOOL

With "Error"=TRUE the function block signals that an error is present

Library Description | Rexroth IndraDrive

Electric Drives | Bosch Rexroth AG


and Controls

39/128

Rexroth IndraDrive Firmware Libraries


Output variable

Data type

Description

ErrorID *

ERROR_CODE

"ErrorID" gives a rough error description

ErrorIdent *

ERROR_STRUCT

Via the elements Table, Additional1 and Additional2, "ErrorIdent" gives the
exact cause of the error

Fig.1-75:

see note below

Output variables of the firmware function block "MC_MoveAdditive"

NOTE: Here you can find the list of all possible errors: chapter 1.4.2
"Reference Error Lists for Function Blocks as of Target "IndraDrive
MP03"" on page 9
Input / output variable

Data type

Description

AXIS_REF

Defines the axis. The following axes are possible:

(VAR_IN_OUT)
Axis

"Axis1" (axis for MLD-S, local axis or only axis for MLD-M)

"Axis2" to "Axis8" correspond to the remote axes. The remote axes con
tained in the list "P-0-1601, CCD: addresses of projected drives" corre
spond to the order according to "Axis2" to "Axis8" ("Axis2" acts on the
drive of list element 0 of P-0-1601)

"VmAxisInt" corresponds to the virtual master axis generator

Fig.1-76:

Input / output variables of the firmware function block "MC_MoveAddi


tive"

MC_MoveRelative
The firmware function block "MC_MoveRelative" is used to move the drive in
relative form by a distance, starting from the current actual position.
Internally the operating mode "drive-controlled positioning" is activated for this
purpose. Make the settings of the position loop (with/without lag error, actual
position value 1/2) with the function block "MB_SetPositionControlMode".
For permanent control and remote axes the secondary operation mode 3 and
its parameters are used. For temporary control the secondary PLC operation
mode 11 and its parameters are used.
The relative distance to be moved has to be preset at the input "Distance". Via
the inputs "Velocity", "Acceleration" and "Deceleration" you have to set the mo
tion profile (determines how the relative distance is traveled).
Via the firmware function block "MC_MoveRelative" the parameter
"P-0-0758, Virtual master axis, actual position value" of the master
axis generator can be moved in relative form by a distance starting
from the current virtual actual position. For this purpose, the master
axis generator has to be activated via "P-0-0917, Control word of
master axis generator", bit 0=1. To convert the virtual actual position
value (P-0-0758) to the internal virtual master axis position (VmAx
isInt, "P-0-0761, Master axis position for slave axis") the parameter
P-0-0758 must be written to parameter "P-0-0916, Master axis for
mat converter signal selection".
See also Functional Description of firmware "Master Axis Genera
tor" and "Master Axis Format Converter"

40/128

Bosch Rexroth AG | Electric Drives


and Controls

Rexroth IndraDrive | Library Description

Rexroth IndraDrive Firmware Libraries

Operating mode parameter

Target system

Library

Range

IndraDrive MP04

MX_PLCopen.lib

Motion

Fig.1-77:

Library assignment

Fig.1-78:

Functional firmware block "MC_MoveRelative"

PLC mode parameter

Virt. master axis (as of MPx04)

S-0-0282, Positioning command val P-0-1450, PLC Positioning command value


ue

P-0-0766, Virtual master axis, position


ing command value

S-0-0259, Positioning Velocity

P-0-1451, PLC Positioning velocity

P-0-0770, Virtual master axis, position


ing velocity

S-0-0260, Positioning Acceleration

P-0-1452, PLC Positioning acceleration

P-0-0771, Virtual master axis, position


ing acceleration

S-0-0346, Positioning control word

P-0-1454, PLC Positioning command value


acceptance

P-0-0760, Virtual master axis, position


ing control word

S-0-0359, Positioning deceleration

P-0-1453, PLC Positioning deceleration

P-0-0772, Virtual master axis, position


ing deceleration

Fig.1-79:

Comparison of operating mode parameters

Input variable

Data type

Description

Execute

BOOL

see "Input Signals "Execute" / "Enable" " on page 3

Distance

REAL

At the input "Distance" you have to preset the relative distance which is to
be traveled starting from the current actual position.
The number of possible decimal places depends on the parameterized
scaling (see drive documentation). If the applied value has more decimal
places, they are cut off

Velocity

REAL

Positioning velocity in physical unit

Acceleration

REAL

Positioning acceleration in physical unit

Deceleration

REAL

Positioning deceleration in physical unit

Fig.1-80:

Input variables of the firmware function block "MC_MoveRelative"

Library Description | Rexroth IndraDrive

Electric Drives | Bosch Rexroth AG


and Controls

41/128

Rexroth IndraDrive Firmware Libraries


Output variable

Data type

Description

Done

BOOL

With "Done"=TRUE the firmware function block signals that the preset dis
tance has been traveled. The processing is completed until the next 0-1
edge at the "Execute" input. When a 1-0 edge is applied to the "Execute"
input before the firmware function block signals that it has been completed
("Done"=TRUE), the output "Done" is set to TRUE for one call when the
motion target has been reached and the processing of the firmware func
tion block has not been interrupted by an error or another firmware function
block.

Real axes: The output is set to TRUE when bit 2 is set in parameter
"S-0-0437, Positioning status word".

Virtual master axis: (as of MPx04VRS) The output is set to TRUE


when bit 2 is set in parameter "P-0-0768, Virtual master axis, posi
tioning status".

Active

BOOL

With TRUE the output "Active" signals that it determines the axis motion.

CommandAborted

BOOL

With "CommandAborted"=TRUE the function block signals that another


motion function block was activated or a drive error was present. A drive
error is displayed via the Error outputs of "MC_Power"

Error

BOOL

With "Error"=TRUE the function block signals that an error is present

ErrorID *

ERROR_CODE

"ErrorID" gives a rough error description

ErrorIdent *

ERROR_STRUCT

Via the elements Table, Additional1 and Additional2, "ErrorIdent" gives the
exact cause of the error

Fig.1-81:

see note below

Output variables of the firmware function block "MC_MoveRelative"

NOTE: Here you can find the list of all possible errors: chapter 1.4.2
"Reference Error Lists for Function Blocks as of Target "IndraDrive
MP03"" on page 9
Input / output variable

Data type

Description

AXIS_REF

Defines the axis. The following axes are possible:

(VAR_IN_OUT)
Axis

"Axis1" (axis for MLD-S, local axis or only axis for MLD-M)

"Axis2" to "Axis8" correspond to the remote axes. The remote axes con
tained in the list "P-0-1601, CCD: addresses of projected drives" corre
spond to the order according to "Axis2" to "Axis8" ("Axis2" acts on the
drive of list element 0 of P-0-1601)

"VmAxisInt" corresponds to the virtual master axis generator

Fig.1-82:

Input / output variables of the firmware function block "MC_MoveRela


tive"

MC_Stop
The firmware function block "MC_Stop" is used to bring the drive to the status
STOP.
With the rising edge of "Execute" the stopping process is started.
If the PLC does not have control over the drive, an error is returned.
When the firmware function block "MC_Stop" is activated via a rising edge at
the "Execute" input, the drive goes to the status "AH" (Drive Halt). Further com

42/128

Bosch Rexroth AG | Electric Drives


and Controls

Rexroth IndraDrive | Library Description

Rexroth IndraDrive Firmware Libraries


mand triggering of a motion function block will only be possible when the axis
is in standstill and the "Execute" input has the value FALSE.
With the deceleration set at "Deceleration" the drive is brought to standstill.
When several instances are called by "MC_Stop" in a project, it is always the
last instance which takes effect. An active "MC_Stop" cannot be interrupted by
an "MB_Stop".
When an instance is called with an edge at "Execute", other instances when
called (without edge) signal CommandAborted = TRUE.
"MC_Stop" has higher priority than "MB_Stop"; this means that a running
"MC_Stop" cannot be aborted by an "MB_Stop".
To test the function block "MC_Stop" the instance variable "Activa
teCounter" can be used. It counts the positive edges of the "Exe
cute" signal and thereby signals whether the function block is run
with edge.
Via the firmware function block "MC_Stop" it is also possible to bring
"P-0-0759, Virtual master axis, actual velocity value" to standstill via
a defined ramp (defined via input "Deceleration"). For this purpose,
the master axis generator has to be activated via "P-0-0917, Control
word of master axis generator", bit 0=1. To convert the virtual actual
position value (P-0-0758) to the internal virtual master axis position
(VmAxisInt, "P-0-0761, Master axis position for slave axis") the pa
rameter P-0-0758 must be written to parameter "P-0-0916, Master
axis format converter signal selection".
See also Functional Description of firmware "Master Axis Genera
tor" and "Master Axis Format Converter"
Target system

Library

Range

IndraDrive MP04

MX_PLCopen.lib

Motion

Fig.1-83:

Library assignment

Fig.1-84:

Firmware function block "MC_Stop"

Library Description | Rexroth IndraDrive

Electric Drives | Bosch Rexroth AG


and Controls

43/128

Rexroth IndraDrive Firmware Libraries


Input variable

Data type

Description

Execute

BOOL

Slave axis ("Axis1" to "Axis8"): With a rising edge at "Execute" the drive is
switched to "AH".
Master axis generator ("VmAxisInt"): With a rising edge at "Execute" the
master axis generator is brought to the positioning mode "halt" ("P-0-0760,
Virtual master axis, positioning control word", bit1 and bit2 to "1").
See also "Input Signals "Execute" / "Enable" " on page 3

Deceleration

REAL

This input sets the deceleration. The deceleration which is set is written to
parameter "S00372, Drive Halt acceleration bipolar" of the slave axis (real
axis) or parameter "P-0-0772, Virtual master axis, positioning deceleration"
of the virtual master axis generator.

Fig.1-85:

Input variables of the firmware function block "MC_Stop"

Output variable

Data type

Description

Done

BOOL

With "Done"=TRUE the firmware function block signals that the axis has
stopped.
Slave axis (real axis): When S-0-0331, bit 0 = 1
Virtual master axis generator ("VmAxisInt"): When the absolute value of
P-0-0759 is smaller than P-0-0912

Active

BOOL

With "Active"=TRUE the firmware function block signals that it determines


the axis motion

CommandAborted

BOOL

With "CommandAborted"=TRUE the function block signals that another


"MC_Stop" was activated or a drive error was present. A drive error is dis
played via the Error outputs of "MC_Power"

Error

BOOL

With "Error"=TRUE the function block signals that an error is present; the
kind of deceleration depends on the error

ErrorID *

ERROR_CODE

"ErrorID" gives a rough error description

ErrorIdent *

ERROR_STRUCT

Via the elements Table, Additional1 and Additional2, "ErrorIdent" gives the
exact cause of the error

see note below

Fig.1-86:

Output variables of the firmware function block "MC_Stop"

NOTE: Here you can find the list of all possible errors: chapter 1.4.2
"Reference Error Lists for Function Blocks as of Target "IndraDrive
MP03"" on page 9
Input / output variable

Data type

Description

AXIS_REF

Defines the axis. The following axes are possible:

(VAR_IN_OUT)
Axis

Fig.1-87:

"Axis1" (local axis for MLD-S, local axis or only axis for MLD-M)

"Axis2" to "Axis8" correspond to the remote axes. The remote axes


contained in the list "P-0-1601, CCD: addresses of projected drives"
correspond to the order according to "Axis2" to "Axis8" ("Axis2" acts
on the drive of list element 0 of P-0-1601)

"VmAxisInt" corresponds to the virtual master axis generator

Input / output variables of the firmware function block "MC_Stop"

44/128

Bosch Rexroth AG | Electric Drives


and Controls

Rexroth IndraDrive | Library Description

Rexroth IndraDrive Firmware Libraries

MC_MoveVelocity
The firmware function block "MC_MoveVelocity" is used to preset a velocity for
the drive. As the drive moves in velocity control, the firmware function block can
be used for open-loop drives, too.
For permanent control and remote axes the primary mode of operation and its
parameters are used. For temporary control the secondary PLC operation
mode 8 and its parameters are used.
If they are scaling-dependent and unless otherwise described, the
units of the inputs which define the drive motion are taken from the
scaling parameters.

S-0-0044, Velocity data scaling type

S-0-0076, Position data scaling type

S-0-0086, Torque/force data scaling type

Via the firmware function block "MC_MoveVelocity" a velocity can


be preset for the virtual master axis generator, too. For this purpose,
the master axis generator has to be activated via "P-0-0917, Control
word of master axis generator", bit 0=1. To convert the virtual actual
position value (P-0-0758) to the internal virtual master axis position
(VmAxisInt, "P-0-0761, Master axis position for slave axis") the pa
rameter P-0-0758 must be written to parameter "P-0-0916, Master
axis format converter signal selection".
See also Functional Description of firmware "Master Axis Genera
tor" and "Master Axis Format Converter"
The functional principle of the firmware function block "MC_Move
Velocity" differs in one important point depending on the selected
axis: "VmAxisInt" "P-0-0769, Virtual master axis, command value
mode". For the function block "MC_MoveVelocity" the parameter
has the following effect:

00: Positive direction: Only positive direction of rotation is al


lowed for positioning (relative/absolute) and jogging

01: Negative direction: Only negative direction of rotation is


allowed for positioning (relative/absolute) and jogging

10: Shortest distance: Both positive and negative directions of


rotation are allowed for positioning (relative/absolute)and jog
ging

If this is not taken into consideration, the drive error "F2064 Incor
rect cmd value direction master axis generator" is triggered.
This parameter only takes effect with modulo scaling of the virtual
master axis generator.
Target system

Library

Range

IndraDrive MP04

MX_PLCopen.lib

Motion

Fig.1-88:

Library assignment

Library Description | Rexroth IndraDrive

Electric Drives | Bosch Rexroth AG


and Controls

45/128

Rexroth IndraDrive Firmware Libraries

Fig.1-89:

Firmware function block "MC_MoveVelocity"

Operating mode parameter

PLC mode parameter

Virt. master axis (as of MPx04)

S-0-0036, Velocity command value

P-01460, PLC Velocity command value

P-0-0770, Virtual master axis, positioning


velocity

P-0-1203, Ramp 2 pitch

P-0-1461, PLC Ramp 2 pitch

P-0-0771, Virtual master axis, positioning


acceleration

P-0-1213, Deceleration ramp 2

P-0-1463, PLC Deceleration ramp 2

P-0-0772, Virtual master axis, positioning


deceleration

Fig.1-90:

Comparison of operating mode parameters

Input variable

Data type

Description

Execute

BOOL

see "Input Signals "Execute" / "Enable" " on page 3

Velocity

REAL

Velocity in physical unit. The number of possible decimal places depends


on the parameterized scaling (see drive documentation). If the applied val
ue has more decimal places, they are cut off

Acceleration

REAL

Acceleration in physical unit. The number of possible decimal places de


pends on the parameterized scaling (see drive documentation). If the
applied value has more decimal places, they are cut off

Deceleration

REAL

Deceleration in physical unit. The number of possible decimal places de


pends on the parameterized scaling (see drive documentation). If the
applied value has more decimal places, they are cut off

Fig.1-91:

Input variables of the firmware function block "MC_MoveVelocity"

46/128

Bosch Rexroth AG | Electric Drives


and Controls

Rexroth IndraDrive | Library Description

Rexroth IndraDrive Firmware Libraries


Output variable

Data type

Description

InVelocity

BOOL

With "InVelocity"=TRUE the firmware function block signals that the ve


locity preset by "Velocity" has been reached. When a 1-0 edge is applied
to the "Execute" input before the firmware function block signals that it has
reached the command velocity ("InVelocity"=TRUE), the output "InVeloci
ty" is set to TRUE for one call if the actual velocity corresponds to the
command velocity.

Real axes: "Axis1" etc.


InVelocity = "P-0-0115, Device control: status word", bit 12 of the
parameterized axis. In this application, bit 12 of P-0-0115 corre
sponds to S-0-0330, message n_act = n_cmd

Virtual master axis: "VmAxisInt" (as of MPx04VRS)


InVelocity = bit4 AND bit13 of "P-0-0768, Virtual master axis, posi
tioning status".
- Bit4 = 1 -> generator provides const. velocity
- Bit13 = 1 -> |P-0-0770 - P-0-0759| < 1rpm or <1mm/min

Active

BOOL

With "Active"=TRUE the function block signals that it determines the axis
motion. "Active" remains TRUE until "CommandAborted" or Error" is set.

CommandAborted

BOOL

With "CommandAborted"=TRUE the function block signals that another


motion function block was activated or a drive error was present. A drive
error is displayed via the Error outputs of "MC_Power"

Error

BOOL

With "Error"=TRUE the function block signals that an error is present

ErrorID *

ERROR_CODE

"ErrorID" gives a rough error description

ErrorIdent *

ERROR_STRUCT

Via the elements Table, Additional1 and Additional2, "ErrorIdent" gives the
exact cause of the error

Fig.1-92:

see note below

Output variables of the firmware function block "MC_MoveVelocity"

NOTE: Here you can find the list of all possible errors: chapter 1.4.2
"Reference Error Lists for Function Blocks as of Target "IndraDrive
MP03"" on page 9
Input / output variable

Data type

Description

AXIS_REF

Defines the axis. The following axes are possible:

(VAR_IN_OUT)
Axis

"Axis1" (local axis for MLD-S, local axis or only axis for MLD-M)

"Axis2" to "Axis8" correspond to the remote axes. The remote axes con
tained in the list "P-0-1601, CCD: addresses of projected drives" corre
spond to the order according to "Axis2" to "Axis8" ("Axis2" acts on the
drive of list element 0 of P-0-1601)

"VmAxisInt" corresponds to the virtual master axis generator

Fig.1-93:

Input / output variables of the firmware function block "MC_MoveVeloc


ity"

MX_MoveAbsolute
The firmware function block "MX_MoveAbsolute" is used to move the drive to
a preset absolute position. For this purpose, the secondary PLC operation
mode "drive-controlled positioning without lag error with motor encoder" is in

Library Description | Rexroth IndraDrive

Electric Drives | Bosch Rexroth AG


and Controls

47/128

Rexroth IndraDrive Firmware Libraries


ternally activated (see Functional Description of firmware "Drive-Controlled
Positioning").
As of MPx04 the operating mode "drive-controlled positioning" is
internally activated. Make the settings of the position loop (with/
without lag error, actual position value 1/2) with the function block
"MB_SetPositionControlMode".
For permanent control and remote axes the secondary operation
mode 3 and its parameters are used. For temporary control the
secondary PLC operation mode 11 and its parameters are used.
The target position has to be preset at the input "Position". Via the inputs "Ve
locity", "Acceleration" and "Deceleration" you have to set how the drive moves
to the target position (motion profile).
The corresponding PLC mode parameters are used as internal command val
ues instead of the usual operating mode parameters. They can be read for
diagnostic purposes:
Operating mode parameter

PLC mode parameter

Virt. master axis (as of MPx04)

S-0-0282, Positioning command val P-0-1450, PLC Positioning command value


ue

P-0-0766, Virtual master axis, position


ing command value

S-0-0259, Positioning Velocity

P-0-1451, PLC Positioning velocity

P-0-0770, Virtual master axis, position


ing velocity

S00260, Positioning Acceleration

P-0-1452, PLC Positioning acceleration

P-0-0771, Virtual master axis, position


ing acceleration

S-0-0346, Positioning control word

P-0-1454, PLC Positioning command value


acceptance

P-0-0760, Virtual master axis, position


ing control word

S-0-0359, Positioning deceleration

P-0-1453, PLC Positioning deceleration

P-0-0772, Virtual master axis, position


ing deceleration

Fig.1-94:

Comparison of operating mode parameters

Target system

Library

Range

IndraDrive MPH02

MXMotion_MPH02.lib

Single Axis Motion

IndraDrive MP03

MXMotion_MP03.lib

Single Axis Motion

IndraDrive MP04

MX_PLCopen.lib

Motion

Fig.1-95:

Library assignment

48/128

Bosch Rexroth AG | Electric Drives


and Controls

Rexroth IndraDrive | Library Description

Rexroth IndraDrive Firmware Libraries

Fig.1-96:

Functional firmware block "MX_MoveAbsolute"

Input variable

Data type

Description

Execute

BOOL

see chapter 1.3 "Signal Time Diagrams of Most Frequently Used Inputs
and Outputs" on page 3

Position

DINT

At "Position" you have to preset the target position in fixed point format.
To preset the position correctly, the number of decimal places of parameter
"S00282, Positioning command value" must be known.
With preferred scaling (see Functional Description of firmware "Scaling
Types") the parameter has 4 decimal places.
Example:If the drive is to be moved to a target position of 100.25, the value
1002500 must be written at "Position".

Velocity

REAL

Positioning velocity in physical unit

Acceleration

REAL

Positioning acceleration in physical unit

Deceleration

REAL

Positioning deceleration in physical unit

Fig.1-97:

Input variables of the firmware function block "MX_MoveAbsolute"

Output variable

Data type

Description

Done

BOOL

With "Done"=TRUE the firmware function block signals that the absolute
target position has been reached. The processing is completed until the
next 0-1 edge at the "Execute" input. When a 1-0 edge is applied to the
"Execute" input before the firmware function block signals that it has been
completed ("Done"=TRUE), the output "Done" is set to TRUE for one call
when the motion target has been reached and the processing of the firm
ware function block has not been interrupted by an error or another firm
ware function block.
Real axis: The output is set to TRUE when bit 2 is set in parameter
"S-0-0437, Positioning status word".
Virtual master axis generator (VmAxisInt): The output is set to TRUE when
bit 2 is set in parameter "P-0-0768, Virtual master axis, positioning status".

Active

BOOL

With "Active"=TRUE the function block signals that it determines the axis
motion. "Active" remains TRUE until "CommandAborted" or Error" is set.

Library Description | Rexroth IndraDrive

Electric Drives | Bosch Rexroth AG


and Controls

49/128

Rexroth IndraDrive Firmware Libraries


Output variable

Data type

Description

CommandAborted

BOOL

With "CommandAborted"=TRUE the function block signals that another


motion function block was activated or a drive error was present. A drive
error is displayed via the Error outputs of "MC_Power"

Error

BOOL

With "Error"=TRUE the function block signals that an error is present

ErrorID

ERROR_CODE

"ErrorID" gives a rough error description


Target "IndraDrive MPH02": fig. 1-100 " Descriptions of "ErrorID" of the
firmware function block "MX_MoveAbsolute" in target "IndraDrive MPH02""
on page 49
Target "IndraDrive MP03": chapter 1.4.2 "Reference Error Lists for Func
tion Blocks as of Target "IndraDrive MP03"" on page 9

ErrorIdent

ERROR_STRUCT

Via the elements Table, Additional1 and Additional2, "ErrorIdent" gives the
exact cause of the error; see chapter 1.4.2 "Reference Error Lists for
Function Blocks as of Target "IndraDrive MP03"" on page 9

(as of MPx03VRS)

Fig.1-98:
Input / output variable

Output variables of the firmware function block "MX_MoveAbsolute"

Data type

Description

AXIS_REF

Defines the axis. The following axes are possible:

(VAR_IN_OUT)
Axis

"Axis1" (axis for MLD-S, local axis or only axis for MLD-M)

"Axis2" to "Axis8" correspond to the remote axes. The remote axes con
tained in the list "P-0-1601, CCD: addresses of projected drives" corre
spond to the order according to "Axis2" to "Axis8" ("Axis2" acts on the
drive of list element 0 of P-0-1601)

"VmAxisInt" corresponds to the virtual master axis generator

Fig.1-99:

Input / output variables of the firmware function block "MX_MoveAbso


lute"

ErrorID

Description

RESSOURCE_ERROR

Drive does not have packages enabled for closed-loop


or
Invalid axis reference

ACCESS_ERROR_CODE

Drive is not in control


or
PLC has no control over drive
or
Drive has not been homed
or
Drive is in status "STOPPING" ("MX_Stop" with active "Execute" input)

Fig.1-100:

Descriptions of "ErrorID" of the firmware function block "MX_MoveAb


solute" in target "IndraDrive MPH02"

MX_MoveAdditive
The firmware function block "MX_MoveAdditive" is used to move the drive in
relative form by a distance in addition to the target position. Th new target po
sition results from the old target position, plus a distance. The distance is

50/128

Bosch Rexroth AG | Electric Drives


and Controls

Rexroth IndraDrive | Library Description

Rexroth IndraDrive Firmware Libraries


determined by the input "Distance". The inputs "Velocity", "Acceleration" and
"Deceleration" determine the motion profile.
For this purpose, the secondary PLC operation mode "drive-controlled posi
tioning without lag error with motor encoder" is internally activated (see Func
tional Description of firmware "Drive-Controlled Positioning").
As of MPx04 the operating mode "drive-controlled positioning" is
internally activated. Make the settings of the position loop (with/
without lag error, actual position value 1/2) with the function block
"MB_SetPositionControlMode".
For permanent control and remote axes the secondary operation
mode 3 and its parameters are used. For temporary control the
secondary PLC operation mode 11 and its parameters are used.
Via the firmware function block "MX_MoveAdditive" the parameter
"P-0-0758, Virtual master axis, actual position value" of the master
axis generator can be moved in relative form by a distance in ad
dition to the current target position. For this purpose, the master
axis generator has to be activated via "P-0-0917, Control word of
master axis generator", bit 0=1. To convert the virtual actual position
value (P-0-0758) to the internal virtual master axis position (VmAx
isInt, "P-0-0761, Master axis position for slave axis") the parameter
P-0-0758 must be written to parameter "P-0-0916, Master axis for
mat converter signal selection".
See also Functional Description of firmware "Master Axis Genera
tor" and "Master Axis Format Converter"
Target system

Library

Range

IndraDrive MPH02

MXMotion_MPH02.lib

Single Axis Motion

IndraDrive MP03

MXMotion_MP03.lib

Single Axis Motion

IndraDrive MP04

MX_PLCopen.lib

Motion

Fig.1-101:

Library assignment

Fig.1-102:

Functional firmware block "MX_MoveAdditive"

The corresponding PLC mode parameters are used as internal command val
ues instead of the usual operating mode parameters. They can be read for
diagnostic purposes:

Library Description | Rexroth IndraDrive

Electric Drives | Bosch Rexroth AG


and Controls

51/128

Rexroth IndraDrive Firmware Libraries


Operating mode parameter

PLC mode parameter

Virt. master axis (as of MPx04)

S-0-0282, Positioning command val P-0-1450, PLC Positioning command value


ue

P-0-0766, Virtual master axis, position


ing command value

S-0-0259, Positioning Velocity

P-0-1451, PLC Positioning velocity

P-0-0770, Virtual master axis, position


ing velocity

S00260, Positioning Acceleration

P-0-1452, PLC Positioning acceleration

P-0-0771, Virtual master axis, position


ing acceleration

S-0-0346, Positioning control word

P-0-1454, PLC Positioning command value


acceptance

P-0-0760, Virtual master axis, position


ing control word

S-0-0359, Positioning deceleration

P-0-1453, PLC Positioning deceleration

P-0-0772, Virtual master axis, position


ing deceleration

Fig.1-103:

Comparison of operating mode parameters

Input variable

Data type

Description

Execute

BOOL

see chapter 1.3 "Signal Time Diagrams of Most Frequently Used Inputs
and Outputs" on page 3

Distance

DINT

At "Distance" you have to preset the relative distance in fixed point format.
To preset the distance correctly, the number of decimal places of param
eter "S00282, Positioning command value" must be known.
With preferred scaling (see Functional Description of firmware "Scaling
Types") the parameter has 4 decimal places. Example: If the drive is to be
moved by a distance of 100.25, the value 1002500 must be written at
"Distance"

Velocity

REAL

Positioning velocity in physical unit

Acceleration

REAL

Positioning acceleration in physical unit

Deceleration

REAL

Positioning deceleration in physical unit

Fig.1-104:

Input variables of the firmware function block "MX_MoveAdditive"

Output variable

Data type

Description

Done

BOOL

With "Done"=TRUE the firmware function block signals that the target po
sition has been reached. The processing is completed until the next 0-1
edge at the "Execute" input. When a 1-0 edge is applied to the "Execute"
input before the firmware function block signals that it has been completed
("Done"=TRUE), the output "Done" is set to TRUE for one call when the
motion target has been reached and the processing of the firmware func
tion block has not been interrupted by an error or another firmware function
block.

Real axes: The output is set to TRUE when bit 2 is set in parameter
"S-0-0437, Positioning status word".

Virtual master axis: (as of MPx04VRS) The output is set to TRUE


when bit 2 is set in parameter "P-0-0768, Virtual master axis, posi
tioning status".

Active

BOOL

With "Active"=TRUE the firmware function block signals that it determines


the axis motion

CommandAborted

BOOL

With "CommandAborted"=TRUE the function block signals that another


motion function block was activated or a drive error was present. A drive
error is displayed via the Error outputs of "MC_Power"

52/128

Bosch Rexroth AG | Electric Drives


and Controls

Rexroth IndraDrive | Library Description

Rexroth IndraDrive Firmware Libraries


Output variable

Data type

Description

Error

BOOL

With "Error"=TRUE the function block signals that an error is present

ErrorID *

ERROR_CODE

"ErrorID" gives a rough error description


Target "IndraDrive MPH02": fig. 1-107 " Descriptions of "ErrorID" of the
firmware function block "MX_MoveAdditive" in target "IndraDrive MPH02""
on page 52
Target "IndraDrive MP03": chapter 1.4.2 "Reference Error Lists for Func
tion Blocks as of Target "IndraDrive MP03"" on page 9

ErrorIdent **

ERROR_STRUCT

Via the elements Table, Additional1 and Additional2, "ErrorIdent" gives the
exact cause of the error; see chapter 1.4.2 "Reference Error Lists for
Function Blocks as of Target "IndraDrive MP03"" on page 9

(as of MPx03VRS)

Fig.1-105:
Input / output variable

Output variables of the firmware function block "MX_MoveAdditive"

Data type

Description

AXIS_REF

Defines the axis. The following axes are possible:

(VAR_IN_OUT)
Axis

"Axis1" (axis for MLD-S, local axis or only axis for MLD-M)

"Axis2" to "Axis8" correspond to the remote axes. The remote axes con
tained in the list "P-0-1601, CCD: addresses of projected drives" corre
spond to the order according to "Axis2" to "Axis8" ("Axis2" acts on the
drive of list element 0 of P-0-1601)

"VmAxisInt" corresponds to the virtual master axis generator

Fig.1-106:

Input / output variables of the firmware function block "MX_MoveAddi


tive"

ErrorID

Description

RESSOURCE_ERROR_CODE

Drive does not have packages enabled for closed-loop


or
Invalid axis reference

ACCESS_ERROR_CODE

Drive is not in control


or
PLC has no control over drive
or
Drive is in status "STOPPING" ("MX_Stop" with active "Execute" input)

Fig.1-107:

Descriptions of "ErrorID" of the firmware function block "MX_MoveAd


ditive" in target "IndraDrive MPH02"

MX_MoveRelative
The firmware function block "MX_MoveRelative" is used to move the drive in
relative form by a distance, starting from the current actual position. For this
purpose, the secondary PLC operation mode "drive-controlled positioning with
out lag error with motor encoder" is internally activated (see Functional De
scription of firmware "Drive-Controlled Positioning").

Library Description | Rexroth IndraDrive

Electric Drives | Bosch Rexroth AG


and Controls

53/128

Rexroth IndraDrive Firmware Libraries


Internally the operating mode "drive-controlled positioning" is acti
vated. Make the settings of the position loop (with/without lag error,
actual position value 1/2) with the function block "MB_SetPosition
ControlMode".
For permanent control and remote axes the secondary operation
mode 3 and its parameters are used. For temporary control the
secondary PLC operation mode 11 and its parameters are used.
The relative distance to be moved has to be preset at the input "Distance". Via
the inputs "Velocity", "Acceleration" and "Deceleration" you have to set the mo
tion profile (determines how the relative distance is traveled).
The corresponding PLC mode parameters are used as internal command val
ues instead of the usual operating mode parameters. They can be read for
diagnostic purposes:
Via the firmware function block "MX_MoveRelative" the parameter
"P-0-0758, Virtual master axis, actual position value" of the master
axis generator can be moved in relative form by a distance starting
from the current virtual actual position. For this purpose, the master
axis generator has to be activated via "P-0-0917, Control word of
master axis generator", bit 0=1. To convert the virtual actual position
value (P-0-0758) to the internal virtual master axis position (VmAx
isInt, "P-0-0761, Master axis position for slave axis") the parameter
P-0-0758 must be written to parameter "P-0-0916, Master axis for
mat converter signal selection".
See also Functional Description of firmware "Master Axis Genera
tor" and "Master Axis Format Converter"
Operating mode parameter

PLC mode parameter

Virt. master axis (as of MPx04)

S-0-0282, Positioning command val P-0-1450, PLC Positioning command value


ue

P-0-0766, Virtual master axis, position


ing command value

S-0-0259, Positioning Velocity

P-0-1451, PLC Positioning velocity

P-0-0770, Virtual master axis, position


ing velocity

S00260, Positioning Acceleration

P-0-1452, PLC Positioning acceleration

P-0-0771, Virtual master axis, position


ing acceleration

S-0-0346, Positioning control word

P-0-1454, PLC Positioning command value


acceptance

P-0-0760, Virtual master axis, position


ing control word

S-0-0359, Positioning deceleration

P-0-1453, PLC Positioning deceleration

P-0-0772, Virtual master axis, position


ing deceleration

Fig.1-108:

Comparison of operating mode parameters

Target system

Library

Range

IndraDrive MPH02

MXMotion_MPH02.lib

Single Axis Motion

IndraDrive MP03

MXMotion_MP03.lib

Single Axis Motion

IndraDrive MP04

MX_PLCopen.lib

Motion

Fig.1-109:

Library assignment

54/128

Bosch Rexroth AG | Electric Drives


and Controls

Rexroth IndraDrive | Library Description

Rexroth IndraDrive Firmware Libraries

Fig.1-110:

Firmware function block "MX_MoveRelative"

Input variable

Data type

Description

Execute

BOOL

see "Input Signals "Execute" / "Enable" " on page 3

Distance

DINT

At "Distance" you have to preset the relative distance to be traveled in fixed


point format.
To preset the distance correctly, the number of decimal places of param
eter "S00282, Positioning command value" must be known.
With preferred scaling (see Functional Description of firmware "Scaling
Types") the parameter has 4 decimal places. Example: If the drive is to be
moved by a distance of 100.25 starting from the current actual position,
the value 1002500 must be written at "Distance"

Velocity

REAL

Positioning velocity in physical unit

Acceleration

REAL

Positioning acceleration in physical unit

Deceleration

REAL

Positioning deceleration in physical unit

Fig.1-111:

Input variables of the firmware function block "MX_MoveRelative"

Output variable

Data type

Description

Done

BOOL

With "Done"=TRUE the firmware function block signals that the preset dis
tance has been traveled. The processing is completed until the next 0-1
edge at the "Execute" input. When a 1-0 edge is applied to the "Execute"
input before the firmware function block signals that it has been completed
("Done"=TRUE), the output "Done" is set to TRUE for one call when the
motion target has been reached and the processing of the firmware func
tion block has not been interrupted by an error or another firmware function
block.

Real axes: The output is set to TRUE when bit 2 is set in parameter
"S-0-0437, Positioning status word".

Virtual master axis: (as of MPx04VRS) The output is set to TRUE


when bit 2 is set in parameter "P-0-0768, Virtual master axis, posi
tioning status".

Active

BOOL

With TRUE the output "Active" signals that it determines the axis motion.

CommandAborted

BOOL

With "CommandAborted"=TRUE the function block signals that another


motion function block was activated or a drive error was present. A drive
error is displayed via the Error outputs of "MC_Power"

Library Description | Rexroth IndraDrive

Electric Drives | Bosch Rexroth AG


and Controls

55/128

Rexroth IndraDrive Firmware Libraries


Output variable

Data type

Description

Error

BOOL

With "Error"=TRUE the function block signals that an error is present

ErrorID

ERROR_CODE

"ErrorID" gives a rough error description


Target "IndraDrive MPH02": fig. 1-114 " Descriptions of "ErrorID" of the
firmware function block "MX_MoveRelative" in target "IndraDrive MPH02""
on page 55
Target "IndraDrive MP03": chapter 1.4.2 "Reference Error Lists for Func
tion Blocks as of Target "IndraDrive MP03"" on page 9

ErrorIdent

ERROR_STRUCT

Via the elements Table, Additional1 and Additional2, "ErrorIdent" gives the
exact cause of the error; see chapter 1.4.2 "Reference Error Lists for
Function Blocks as of Target "IndraDrive MP03"" on page 9

(as of MPx03VRS)

Fig.1-112:
Input / output variable

Output variables of the firmware function block "MX_MoveRelative"

Data type

Description

AXIS_REF

Defines the axis. The following axes are possible:

(VAR_IN_OUT)
Axis

"Axis1" (axis for MLD-S, local axis or only axis for MLD-M)

"Axis2" to "Axis8" correspond to the remote axes. The remote axes con
tained in the list "P-0-1601, CCD: addresses of projected drives" corre
spond to the order according to "Axis2" to "Axis8" ("Axis2" acts on the
drive of list element 0 of P-0-1601)

"VmAxisInt" corresponds to the virtual master axis generator

Fig.1-113:

Input / output variables of the firmware function block "MX_MoveRela


tive"

ErrorID

Description

RESSOURCE_ERROR_CODE

Drive does not have packages enabled for closed-loop


or
Invalid axis reference

ACCESS_ERROR_CODE

Drive is not in control


or
PLC has no control over drive
or
Drive is in status "STOPPING" ("MX_Stop" with active "Execute" input)

Fig.1-114:

Descriptions of "ErrorID" of the firmware function block "MX_MoveRe


lative" in target "IndraDrive MPH02"

MX_MoveVelocity
The firmware function block "MX_MoveVelocity" is used to preset a velocity for
the drive; for this purpose, the secondary PLC operating mode "velocity control
with motor encoder" is internally activated.
As the drive moves in velocity control, the firmware function block
can be used for open-loop drives, too.

56/128

Bosch Rexroth AG | Electric Drives


and Controls

Rexroth IndraDrive | Library Description

Rexroth IndraDrive Firmware Libraries


In contrast to the output "Done", the output "InVelocity" signals con
tinuous (error-free) fulfillment of the task. The function block never
completes the processing. "InVelocity" keeps being displayed as
long as "Execute" is active.
The corresponding PLC mode parameters are used as internal command val
ues instead of the usual operating mode parameters. They can be read for
diagnostic purposes:
Target system

Library

Range

IndraDrive MPH02

MXMotion_MPH02.lib

Single Axis Motion

IndraDrive MP03

MXMotion_MP03.lib

Single Axis Motion

Fig.1-115:

Library assignment

Fig.1-116:

Firmware function block "MX_MoveVelocity"

Input variable

Data type

Description

Execute

BOOL

see "Input Signals "Execute" / "Enable" " on page 3

Velocity

REAL

Velocity in physical unit

Acceleration

REAL

Acceleration in physical unit

Deceleration

REAL

Deceleration in physical unit

Fig.1-117:

Input variables of the firmware function block "MX_MoveVelocity"

Output variable

Data type

Description

InVelocity

BOOL

With "InVelocity"=TRUE the firmware function block signals that the ve


locity preset by "Velocity" has been reached. When a 1-0 edge is applied
to the "Execute" input before the firmware function block signals that it has
reached the command velocity ("InVelocity"=TRUE), the output "InVeloci
ty" is set to TRUE for one call if the actual velocity corresponds to the
command velocity

Active

BOOL

With TRUE the output "Active" signals that the drive was switched to the
corresponding secondary PLC operation mode and processes the input
command values (drive follows input). When the firmware function block
signals "InVelocity"=TRUE, "CommandAborted"=TRUE or "Error"=TRUE,
the output is set to FALSE again

Library Description | Rexroth IndraDrive

Electric Drives | Bosch Rexroth AG


and Controls

57/128

Rexroth IndraDrive Firmware Libraries


Output variable

Data type

Description

CommandAborted

BOOL

The output "CommandAborted" is set to TRUE when the firmware function


block was aborted by another motion function block

Error

BOOL

With "Error"=TRUE the function block signals that an error is present

ErrorID

ERROR_CODE

"ErrorID" gives a rough error description


Target "IndraDrive MPH02": fig. 1-120 " Descriptions of "ErrorID" of the
firmware function block "MX_MoveVelocity" in target "IndraDrive MPH02""
on page 57
Target "IndraDrive MP03": chapter 1.4.2 "Reference Error Lists for Func
tion Blocks as of Target "IndraDrive MP03"" on page 9

ErrorIdent

ERROR_STRUCT

(as of MPx03VRS)

Via the elements Table, Additional1 and Additional2, "ErrorIdent" gives the
exact cause of the error; see chapter 1.4.2 "Reference Error Lists for
Function Blocks as of Target "IndraDrive MP03"" on page 9

Fig.1-118:
Input / output variable

Output variables of the firmware function block "MX_MoveVelocity"

Data type

Description

AXIS_REF

Axis number (only the global variable "Axis1" can be transmitted here)

(VAR_IN_OUT)
Axis

Fig.1-119:

Input / output variables of the firmware function block "MX_MoveVeloc


ity"

ErrorID

Description

RESSOURCE_ERROR_CODE

Invalid axis reference

ACCESS_ERROR_CODE

Drive is not in control


or
PLC has no control over drive
or
Drive is in status "STOPPING" ("M?_Stop" with active "Execute" input)

Fig.1-120:

Descriptions of "ErrorID" of the firmware function block "MX_MoveVe


locity" in target "IndraDrive MPH02"

MX_Stop
The firmware function block "MX_Stop" is used to bring the drive to the status
STOP.
Functional Principle

With the rising edge of "Execute" the stopping process is started. "Done" signals
standstill.
Currently running positioning processes go to the status MCFB_ABORTED,
that is they are signaling CommandAborted := TRUE.
With the deceleration value parameterized in "S00372, Drive Halt acceleration
bipolar" the drive is brought to standstill.
With the duration of the TRUE level of "Execute", the drive can be kept in status
STOP; during that time no other motion function block can be started.
The "Execute" input acts on the "AH" signal in a level-oriented way so that the
drive remains in status "AH" and therefore does not allow motion.
When the "Execute" input goes to FALSE again, the drive remains in the PLC
mode "drive-controlled positioning" (with "halt") until it is moved again with an
other function block.

58/128

Bosch Rexroth AG | Electric Drives


and Controls

Rexroth IndraDrive | Library Description

Rexroth IndraDrive Firmware Libraries


Target system

Library

Range

IndraDrive MPH02

MXMotion_MPH02.lib

Single Axis Motion

IndraDrive MP03

MXMotion_MP03.lib

Single Axis Motion

Fig.1-121:

Library assignment

Fig.1-122:

Firmware function block "MX_Stop"

Input variable

Data type

Description

Execute

BOOL

With a rising edge at "Execute" the drive is switched to "AH".


With a falling edge the PLC mode "positioning" with the positioning mode
"positioning halt" is activated.

Fig.1-123:

Input variables of the firmware function block "MX_Stop"

Output variable

Data type

Description

Done

BOOL

With "Done"=TRUE (S-0-0331, bit 0=1) the firmware function block signals
that the drive has stopped. Only when the input "Execute" is TRUE is the
output "Done" generated

Active

BOOL

The output "Active" signals with TRUE that the drive has accepted the
command and starts processing. Feedbacks of the operating mode are
valid as of that point of time.

Error

BOOL

With "Error"=TRUE the function block signals that an error is present

ErrorID

ERROR_CODE

"ErrorID" gives a rough error description


Target "IndraDrive MPH02": fig. 1-126 " Descriptions of "ErrorID" of the
firmware function block "MX_Stop" in target "IndraDrive MPH02"" on page
59
Target "IndraDrive MP03": chapter 1.4.2 "Reference Error Lists for Func
tion Blocks as of Target "IndraDrive MP03"" on page 9

ErrorIdent

ERROR_STRUCT

(as of MPx03VRS)

Fig.1-124:

Via the elements Table, Additional1 and Additional2, "ErrorIdent" gives the
exact cause of the error; see chapter 1.4.2 "Reference Error Lists for
Function Blocks as of Target "IndraDrive MP03"" on page 9

Output variables of the firmware function block "MX_Stop"

Library Description | Rexroth IndraDrive

Electric Drives | Bosch Rexroth AG


and Controls

59/128

Rexroth IndraDrive Firmware Libraries


Input / output variable

Data type

Description

AXIS_REF

Axis number (only the global variable "Axis1" can be transmitted here)

(VAR_IN_OUT)
Axis

Fig.1-125:

Input / output variables of the firmware function block "MX_Stop"

ErrorID

Description

RESSOURCE_ERROR_CODE

Invalid axis reference

ACCESS_ERROR_CODE

Drive is not in control


or
PLC has no control over drive

Fig.1-126:

1.7

"Base" Libraries

1.7.1

Introduction

Descriptions of "ErrorID" of the firmware function block "MX_Stop" in


target "IndraDrive MPH02"

In the following libraries,

general functions,

function blocks/functions for drive control,

functions for diagnosis,

function blocks/functions for parameters,

functions for scaling,

data types or structures,

cyclic parameters as direct variables (system-wide variables) and

axis structures [for multi-axis system (MLD system mode)] are contained.

Target system
IndraDrive MPH02
IndraDrive MP03
IndraDrive MP04

Fig.1-127:

Library
Base_MPH02.lib
Base_MP03.lib
MX_Base.lib

Library names depending on the target systems

When a new project with an IndraDrive target system is created, the corre
sponding "Base" library is automatically included in the project and visible.
Namespace

All function blocks of the "Base" libraries begin with the prefix "MX_", "MC_" or
"MB_". "MX" represents function blocks which have been specifically program
med for the drive PLC. "MC" represents system-independent, 100-percent
PLCopen function blocks. "MB" represents system-independent function block
with motion-oriented functionalities. "MB" function blocks have not been
PLCopen-certified but are based on this standard.
Functions begin with the prefix "MX_f".
Public data types normally start with "MX_" and are capitalized. Internal data
types start with "INT_MX_" and are capitalized.

1.7.2

General Functions

Overview

ATAN2

MX_fGetFreeTicks

60/128

Bosch Rexroth AG | Electric Drives


and Controls

Rexroth IndraDrive | Library Description

Rexroth IndraDrive Firmware Libraries

MX_fGetHighResTime

MX_fHighResTimerTicks_to_us

MX_fGetFreeTicks
The firmware function "MX_fGetFreeTicks" is used to determine the time of the
last PLC time slice still available to the PLC. This PLC time slice is that part of
a millisecond which remains after the drive controller and control tasks have
been processed.
Timer ticks are returned which can be converted into microseconds with the
function "MX_fHighResTimerTicks_to_us".
When a free-running task is active, 0 is always returned in this case
because this task works for the whole time slice.
If "MX_fGetFreeTicks" is called in a task which has a clock slower
than 1 ms, only the available time of the last ms time slice is dis
played.
Target system

Library

Range

IndraDrive MPH02

Base_MPH02.lib

Tools

IndraDrive MP03

Base_MP03.lib

Tools

IndraDrive MP04

MX_Base.lib

Tools

Fig.1-128:

Library assignment

Fig.1-129:

Firmware function "MX_fGetFreeTicks"

Input variable

Data type

Description

Dummy

INT

There is always one input variable required for the compiler

Fig.1-130:

Input variable of the firmware function "MX_fGetFreeTicks"

Return value

Data type

Description

MX_fGetFreeTicks

DINT

Returns timer ticks. The timer ticks can be converted to s with the function
"MX_fHighResTimerTicks_to_us"

Fig.1-131:

Return value of the firmware function "MX_fGetFreeTicks"

MX_fGetHighResTime
The firmware function "MX_fGetHighResTime" returns a growing timer value
with high resolution.
Timer ticks are returned which can be converted into microseconds with the
function "MX_fHighResTimerTicks_to_us".

Library Description | Rexroth IndraDrive

Electric Drives | Bosch Rexroth AG


and Controls

61/128

Rexroth IndraDrive Firmware Libraries


Target system

Library

Range

IndraDrive MPH02

Base_MPH02.lib

Tools

IndraDrive MP03

Base_MP03.lib

Tools

IndraDrive MP04

MX_Base.lib

Tools

Fig.1-132:

Library assignment

Fig.1-133:

Firmware function "MX_fGetHighResTime"

Input variable

Data type

Description

Dummy

INT

There is always one input variable required for the compiler

Fig.1-134:

Input variable of the firmware function "MX_fGetHighResTime"

Return value

Data type

Description

MX_fGetHighResTime

DINT

Returns timer ticks. The timer ticks can be converted to s with the function
"MX_fHighResTimerTicks_to_us"

Fig.1-135:

Return value of the firmware function "MX_fGetHighResTime"

MX_fHighResTimerTicks_to_us
The firmware function "MX_fHighResTimerTicks_to_us" is used to convert tim
er ticks to microseconds and return the value as REAL.
Target system

Library

Range

IndraDrive MPH02

Base_MPH02.lib

Tools

IndraDrive MP03

Base_MP03.lib

Tools

IndraDrive MP04

MX_Base.lib

Tools

Fig.1-136:

Library assignment

Fig.1-137:

Firmware function "MX_fHighResTimerTicks_to_us"

Input variable

Data type

Description

HighResTimerTicks

UDINT

Transfer values are timer ticks (see, for example, "MX_fGetHighRes


Time")

Fig.1-138:

Input variable of the firmware function "MX_fHighResTimerTicks_to_us"

62/128

Bosch Rexroth AG | Electric Drives


and Controls

Rexroth IndraDrive | Library Description

Rexroth IndraDrive Firmware Libraries


Return value

Data type

Description

MX_fHighResTimerTicks_to_us

REAL

Returns the timer ticks in s

Fig.1-139:

1.7.3

Return value of the firmware function "MX_fHighResTimerTicks_to_us"

Function Blocks/Functions for Drive Control

Overview

MB_PreSetMode

MX_Power / MC_Power

MX_Reset / MC_Reset

MX_Command

MX_SetControl

MX_SetDeviceMode

MX_SetOpMode

MB_SetPositionControlMode

MB_PreSetMode
With the function block "MB_PreSetMode" the axis can be prepared for com
mand triggering before power is switched on (PreSetMode / preselecting op
erating modes).
"MB_PreSetMode" already commands the axis with the corresponding data,
but the axis only starts when power is switched on with "MC_Power" and then
directly follows the input values.
"MB_PreSetMode" can only be activated int the operating mode
without power and without error. After activation with a rising "Ex
ecute" edge it is allowed to activate a motion function block (such
as "MC_MoveVelocity") or "MX_SetOpMode".
The following points exemplify a typical sequence when using the function block
"MB_PreSetMode":
1. Switch drive on
2. Switch or wait until drive in operating mode ("bb")
3. Activate "MB_PreSetMode" with rising "Execute" edge
4. Start a motion function block (in "Ab")
5. Switch power on with "MC_Power"
The axis immediately starts moving in the desired way.
Target system

Library

Range

IndraDrive MP04

MX_Base.lib

Drive Control

Fig.1-140:

Library assignment

Library Description | Rexroth IndraDrive

Electric Drives | Bosch Rexroth AG


and Controls

63/128

Rexroth IndraDrive Firmware Libraries

Fig.1-141:

Firmware function block "MB_PreSetMode"

Input variable

Data type

Description

Execute

BOOL

The function block is activated with a rising edge at "Execute". With a falling
edge, all outputs are reset

Fig.1-142:

Input variable of the firmware function block "MB_PreSetMode"

Output variable

Data type

Description

Done

BOOL

With "Done"=TRUE the function block signals that it has been successfully
processed

Error

BOOL

With "Error"=TRUE the function block signals that an error is present

ErrorID *

ERROR_CODE

"ErrorID" gives a rough error description

ErrorIdent *

ERROR_STRUCT

Via the elements Table, Additional1 and Additional2, "ErrorIdent" gives the
exact cause of the error

Value

DINT

When the output "Done"=TRUE, "Value" displays the value of the selected
element
*

see note below

Fig.1-143:

Output variables of the firmware function block "MB_PreSetMode"

NOTE: Here you can find the list of all possible errors: chapter 1.4.2
"Reference Error Lists for Function Blocks as of Target "IndraDrive
MP03"" on page 9
Input / output variable

Data type

Description

AXIS_REF

Defines the axis. The following axes are possible:

(VAR_IN_OUT)
Axis

Fig.1-144:

"Axis1" (local axis for MLD-S, local axis or only axis for MLD-M)

"Axis2" to "Axis8" correspond to the remote axes. The remote axes


contained in the list "P-0-1601, CCD: addresses of projected drives"
correspond to the order according to "Axis2" to "Axis8" ("Axis2" acts
on the drive of list element 0 of P-0-1601)

Input / output variables of the firmware function block "MB_PreSetMode"

MX_Power / MC_Power
When the internal PLC has permanent or temporary control over the drive, drive
enable can be activated with this function block. Independent of the "Enable"
input, the "Status" output returns the current drive status.
The function block "MX_Power" or "MC_Power" sets the PLC-internal signal
"ON" to TRUE and thereby switches the drive on.

64/128

Bosch Rexroth AG | Electric Drives


and Controls

Rexroth IndraDrive | Library Description

Rexroth IndraDrive Firmware Libraries


The "ON" signal is the "ON" signal of the PLC which becomes ac
tive, linked to the external signal, in the drive with a possible delay
(max. 1 ms).
When a WATCHDOG or an exception occurs in the PLC, the PLC-internal "ON"
signal is automatically set to FALSE and maintained FALSE until the next RE
SET of the PLC.
Further calls of "MX_Power" / "MC_Power" with TRUE signal error.
If the drive is not yet ready for power on (e.g. not in "Ab"), the "Status" output
provides FALSE and the "Error" output is TRUE.
After every error ("Error"=TRUE) a new 0-1 edge has to be applied to the input
"Enable" to activate drive enable in the drive.
Target system

Function block name

Library

Range

IndraDrive MPH02

MX_Power

Base_MPH02.lib

Drive Control

IndraDrive MP03

MX_Power

Base_MP03.lib

Drive Control

IndraDrive MP04

MC_Power

MX_Base.lib

Drive Control

Fig.1-145:

Library assignment

Fig.1-146:

Firmware function block "MX_Power" (looks like firmware function block


"MC_Power", except for the function block name)

Input variable

Data type

Description

Enable

BOOL

Via the "Enable" input drive enable can be set for the drive. For safety reasons,
the input takes effect in edge-controlled form. Drive enable is set with a rising
edge and with a falling edge it is removed again.

Fig.1-147:

Input variables of the firmware function block "MX_Power" / "MC_Power"

Output variable

Data type

Description

Status

BOOL

When the output "Status"=TRUE, drive enable is active and the drive is under
torque. Independent of the "Enable" input, the "Status" output returns the cur
rent drive status. To do this, the combination "drive in control and no error" is
internally checked. Output status := (P115.14 AND P115.15 AND NOT
P115.13).
The "Status" output therefore goes to FALSE in the case of drive errors

Error

BOOL

With "Error"=TRUE the function block signals that an error is present

Library Description | Rexroth IndraDrive

Electric Drives | Bosch Rexroth AG


and Controls

65/128

Rexroth IndraDrive Firmware Libraries


Output variable

Data type

Description

ErrorID

ERROR_CODE

"ErrorID" gives a rough error description


Target "IndraDrive MPH02": fig. 1-150 " Descriptions of "ErrorID" of the firm
ware function block "MX_Power" in target "IndraDrive MPH02"" on page 65
As of target "IndraDrive MP03": chapter 1.4.2 "Reference Error Lists for Func
tion Blocks as of Target "IndraDrive MP03"" on page 9

ErrorIdent

ERROR_STRUCT

(as of MPx03VRS)

Via the elements Table, Additional1 and Additional2, "ErrorIdent" gives the
exact cause of the error; see chapter 1.4.2 "Reference Error Lists for Function
Blocks as of Target "IndraDrive MP03"" on page 9

Fig.1-148:
Input / output variable

Output variables of the firmware function block "MX_Power" / "MC_Pow


er"

Data type

Description

AXIS_REF

Defines the axis. The following axes are possible:

(VAR_IN_OUT)
Axis

"MX_Power":

"Axis1" (global variable)

"MC_Power":

"Axis1" (local axis for MLD-S, local axis or only axis for MLD-M)

"Axis2" to "Axis8" correspond to the remote axes. The remote axes con
tained in the list "P-0-1601, CCD: addresses of projected drives" corre
spond to the order according to "Axis2" to "Axis8" ("Axis2" acts on the
drive of list element 0 of P-0-1601)

Fig.1-149:

Input / output variable of the firmware function block "MX_Power" /


"MC_Power"

ErrorID

Description

RESSOURCE_ERROR

Invalid axis reference

ACCESS_ERROR

"Power" with "Enable"=TRUE not possible, as drive not in operating mode


or
"Power" with "Enable"=TRUE not possible, as PLC in watchdog

STATE_MACHINE_ERROR

Drive is not in phase 4


or
Drive was shutdown externally or by error of a motion function block
or
Drive is not in mode "AB"
or
Drive was brought to PreSetMode but not commanded, see "MB_PreSetMode"

Fig.1-150:

Descriptions of "ErrorID" of the firmware function block "MX_Power" in


target "IndraDrive MPH02"

MX_Reset / MC_Reset
The function block "MX_Reset" or "MC_Reset" is used to reset drive errors with
the command "S00099, C0500 Reset class 1 diagnostics".
In order that the function block can correctly complete the reset command it has
to be cyclically called until it signals "Done"=TRUE or "Error" in the case of error.

66/128

Bosch Rexroth AG | Electric Drives


and Controls

Rexroth IndraDrive | Library Description

Rexroth IndraDrive Firmware Libraries


If the command "S00099, C0500 Reset class 1 diagnostics" is al
ready active, it should first be completed before "MX_Reset" /
"MC_Reset" is called. If "MX_Reset" / "MC_Reset" had been acti
vated and has not yet been completed, it is possible to trigger
another reset with a positive edge at "Execute".
For the function block "MX_Reset" (only target systems
"IndraDrive MPH02" and "IndraDrive MP03") the Motion Control is
in addition reset and temporary PLC control is ceded again.
As of the target system "IndraDrive MP04", only the command
"S00099, C0500 Reset class 1 diagnostics" is executed; drive en
able remains unchanged.
Target system

Function block name

Library

Range

IndraDrive MPH02

MX_Reset

Base_MPH02.lib

Drive Control

IndraDrive MP03

MX_Reset

Base_MP03.lib

Drive Control

IndraDrive MP04

MC_Reset

MX_Base.lib

Drive Control

Fig.1-151:

Library assignment

Fig.1-152:

Firmware function block "MX_Reset" (looks like firmware function block


"MC_Reset", except for the function block name)

Input variable

Data type

Description

Execute

BOOL

The function block is activated with a rising edge at "Execute". With a falling edge,
all outputs are reset

Fig.1-153:

Input variables of the firmware function block "MX_Reset" / "MC_Reset"

Output variable

Data type

Description

Done

BOOL

With "Done"=TRUE the function block signals that the processing of the task has
been successfully completed

Error

BOOL

With "Error"=TRUE the function block signals that an error is present

Library Description | Rexroth IndraDrive

Electric Drives | Bosch Rexroth AG


and Controls

67/128

Rexroth IndraDrive Firmware Libraries


Output variable

Data type

Description

ErrorID

ERROR_CODE

"ErrorID" gives a rough error description


Target "IndraDrive MPH02": fig. 1-156 " Descriptions of "ErrorID" of the firmware
function block "MX_Reset" in target "IndraDrive MPH02"" on page 67
Target "IndraDrive MP03": chapter 1.4.2 "Reference Error Lists for Function
Blocks as of Target "IndraDrive MP03"" on page 9

ErrorIdent

ERROR_STRUCT

(as of MPx03VRS)

Via the elements Table, Additional1 and Additional2, "ErrorIdent" gives the exact
cause of the error; see chapter 1.4.2 "Reference Error Lists for Function Blocks
as of Target "IndraDrive MP03"" on page 9

Fig.1-154:
Input / output variable

Output variables of the firmware function block "MX_Reset" / "MC_Re


set"

Data type

Description

AXIS_REF

Defines the axis. The following axes are possible:

(VAR_IN_OUT)
Axis

"MX_Reset":

"Axis1" (global variable)

"MC_Reset":

"Axis1" (local axis for MLD-S, local axis or only axis for MLD-M)

"Axis2" to "Axis8" correspond to the remote axes. The remote axes con
tained in the list "P-0-1601, CCD: addresses of projected drives" corre
spond to the order according to "Axis2" to "Axis8" ("Axis2" acts on the
drive of list element 0 of P-0-1601)

Fig.1-155:

Input / output variable of the firmware function block "MX_Reset" /


"MC_Reset"

ErrorID

Description

RESSOURCE_ER
ROR

Invalid axis reference

ACCESS_ERROR

Drive refuses "Reset" command

Fig.1-156:

Descriptions of "ErrorID" of the firmware function block "MX_Reset" in


target "IndraDrive MPH02"

MX_Command
The function block "MX_Command" is used to execute a drive command.
With the "Enable" input the command is activated or deactivated. If TRUE is
provided at the input, the command is started by writing "3" (dec.). In the case
of FALSE, the command is aborted/terminated by writing "0".
Target system

Library

Range

IndraDrive MPH02

Base_MPH02.lib

Drive Control

IndraDrive MP03

Base_MP03.lib

Drive Control

IndraDrive MP04

MX_Base.lib

Drive Control

Fig.1-157:

Library assignment

68/128

Bosch Rexroth AG | Electric Drives


and Controls

Rexroth IndraDrive | Library Description

Rexroth IndraDrive Firmware Libraries

Fig.1-158:

Firmware function block "MX_Command"

Fig.1-159:

Executing a drive command

Library Description | Rexroth IndraDrive

Electric Drives | Bosch Rexroth AG


and Controls

69/128

Rexroth IndraDrive Firmware Libraries


Input variable

Data type

Description

Enable

BOOL

The function block is status-controlled. With "Enable"=TRUE the command is


started, with "Enable"=FALSE it is cleared

CmdIdent

DINT

IDN of the command (e.g. FP_S_0_0099)

Fig.1-160:

Input variables of the firmware function block "MX_Command"

Output variable

Data type

Description

CmdStatus

MX_CMD_STATUS

The output displays the current status of the command.


Enum values for output "CmdStatus":

"MX_CMD_NO_ACTIVE": command has not been set

"MX_CMD_SETTING": command has been set

"MX_CMD_END_OK": command completed without error

"MX_CMD_IS_BREAK": command interrupted

"MX_CMD_IS_WORK": command being processed

"MX_CMD_BREAK_ERROR": command aborted with error

Error

BOOL

With "Error"=TRUE the function block signals that an error is present

ErrorID

ERROR_CODE

"ErrorID" gives a rough error description


Target "IndraDrive MPH02": fig. 1-163 " Descriptions of "ErrorID" of the firm
ware function block "MX_Command" in target "IndraDrive MPH02"" on page
70
As of target "IndraDrive MP03": chapter 1.4.2 "Reference Error Lists for Func
tion Blocks as of Target "IndraDrive MP03"" on page 9

ErrorIdent

ERROR_STRUCT

(as of MPx03VRS)

Via the elements Table, Additional1 and Additional2, "ErrorIdent" gives the
exact cause of the error; see chapter 1.4.2 "Reference Error Lists for Function
Blocks as of Target "IndraDrive MP03"" on page 9

Fig.1-161:
Input / output variable

Output variables of the firmware function block "MX_Command"

Data type

Description

AXIS_REF

Defines the axis. The following axes are possible:

(VAR_IN_OUT)
Axis

MPx02 and MPx03:

"Axis1" (global variable)

As of MPx04:

"Axis1" (local axis for MLD-S, local axis or only axis for MLD-M)

"Axis2" to "Axis8" correspond to the remote axes. The remote axes con
tained in the list "P-0-1601, CCD: addresses of projected drives" corre
spond to the order according to "Axis2" to "Axis8" ("Axis2" acts on the
drive of list element 0 of P-0-1601)

Fig.1-162:

Input / output variables of the firmware function block "MX_Command"

70/128

Bosch Rexroth AG | Electric Drives


and Controls

Rexroth IndraDrive | Library Description

Rexroth IndraDrive Firmware Libraries


ErrorID

Description

EINGANGS_RANGE_ERROR_CODE

IDN is not available


or
IDN is no parameter

ACCESS_ERROR

Access not allowed

Fig.1-163:

Descriptions of "ErrorID" of the firmware function block "MX_Command"


in target "IndraDrive MPH02"

MX_SetControl
The function block "MX_SetControl" is used to switch control between master
communication and PLC; this makes sense when the axis is first controlled via
a master communication and the internal PLC is to continue controlling the axis
in a certain situation (e.g. error).
When the axis generally is to be moved with the internal PLC, per
manent control should be activated.
With "PLCControl"=TRUE the PLC gets control over the drive , with
"PLCControl"=FALSE the external master communication gets control over the
drive.
The signals "Drive Halt" (AH), "Drive on" (ON) and the operating mode selection
are switched. With PLC control the signals "AH" and "ON" are only operated
internally. The signal "Drive Halt" is controlled by the function block "MX_Stop"
or by stopping the PLC. The signal "ON" can be controlled with the function
block "MX_Power".
If the corresponding function blocks are not used, the internal signals are set
to TRUE.
When switching to temporary control, the internal "ON" signal is set to TRUE.
To switch control and switch off the drive it is first necessary to get control with
"MX_SetControl" and then switch the drive off.
The function block "MX_SetControl" supplies error if permanent
control is already active (setting via "P01367, PLC configuration").
While switching is running ("Done" and "Error" not yet TRUE), an
other switching process can be started with an "Execute" edge.
In the case of program download (no online change) or PLC reset,
temporary control is automatically ceded again.
To be observed for PLCopen motion function blocks as of target
system "IndraDrive MP04":

With temporary control the secondary PLC operation modes


are used.

With permanent control the primary mode of operation and the


secondary operation modes 1-6 are parameterized and used.

Library Description | Rexroth IndraDrive

Electric Drives | Bosch Rexroth AG


and Controls

71/128

Rexroth IndraDrive Firmware Libraries


Target system

Library

Range

IndraDrive MPH02

Base_MPH02.lib

Drive Control

IndraDrive MP03

Base_MP03.lib

Drive Control

IndraDrive MP04

MX_Base.lib

Drive Control

Fig.1-164:

Library assignment

Fig.1-165:

Firmware function block "MX_SetControl"

Input variable

Data type

Description

Execute

BOOL

The function block is activated with a rising edge at "Execute". All outputs, except
for the output "PLCControlStat", are reset with a falling edge at "Execute".
Independent of "Execute", "PLCControlStat" provides the actual value.

PLCControl

BOOL

With "PLCControl"=TRUE the internal PLC gets temporary control over the drive
at the next 0-1 edge at "Execute".
With "PLCControl"=FALSE control is ceded to the master communication at the
next 0-1 edge at "Execute".

Fig.1-166:

Input variables of the firmware function block "MX_SetControl"

Output variable

Data type

Description

Done

BOOL

With "Done"=TRUE the function block signals that the processing of the task has
been successfully completed

Error

BOOL

With "Error"=TRUE the function block signals that an error is present

ErrorID

ERROR_CODE

"ErrorID" gives a rough error description


Target "IndraDrive MPH02": fig. 1-169 " Descriptions of "ErrorID" of the firmware
function block "MX_SetControl" in target "IndraDrive MPH02"" on page 72
Target "IndraDrive MP03": chapter 1.4.2 "Reference Error Lists for Function
Blocks as of Target "IndraDrive MP03"" on page 9

ErrorIdent

ERROR_STRUCT

Via the elements Table, Additional1 and Additional2, "ErrorIdent" gives the exact
cause of the error; see chapter 1.4.2 "Reference Error Lists for Function Blocks
as of Target "IndraDrive MP03"" on page 9

BOOL

With "PLCControlStat"=TRUE the drive-internal PLC has control over the drive.
With "PLCControlStat"=FALSE the master communication has control over the
drive.

(as of MPx03VRS)
PLCControlStat

Independent of "Execute", "PLCControlStat" provides the actual value.

Fig.1-167:

Output variables of the firmware function block "MX_SetControl"

72/128

Bosch Rexroth AG | Electric Drives


and Controls

Rexroth IndraDrive | Library Description

Rexroth IndraDrive Firmware Libraries


Input / output variable

Data type

Description

AXIS_REF

Axis number (only the global variable "Axis1" can be transmitted here)

(VAR_IN_OUT)
Axis

Fig.1-168:

Input / output variables of the firmware function block "MX_SetControl"

ErrorID

Description

RESSOURCE_ER
ROR

Invalid axis reference

ACCESS_ERROR

Permanent control has already been set ("P01367, PLC


configuration")

Fig.1-169:

Descriptions of "ErrorID" of the firmware function block "MX_SetControl"


in target "IndraDrive MPH02"

MX_SetDeviceMode
The function block "MX_SetDeviceMode" is used to switch the drive to the pa
rameter or operating mode.
If switching is not allowed ("P04086, Master communication status", bit 0=0),
the function block returns an error via "Error".
A mode is set by a rising edge of "Execute". Independent of "Execute" the cur
rent status is displayed in the output "ActOperationMode".
During the switching process "MX_SetDeviceMode" should be
called until the output "Done" or the output "Error" becomes TRUE.
Otherwise direct switching might not be possible again, as
"MX_SetDeviceMode" then possibly is not in its initial status.
Target system

Library

Range

IndraDrive MPH02

Base_MPH02.lib

Drive Control

IndraDrive MP03

Base_MP03.lib

Drive Control

IndraDrive MP04

MX_Base.lib

Drive Control

Fig.1-170:

Library assignment

Fig.1-171:

Firmware function block "MX_SetDeviceMode"

Library Description | Rexroth IndraDrive

Electric Drives | Bosch Rexroth AG


and Controls

73/128

Rexroth IndraDrive Firmware Libraries


Input variable

Data type

Description

Execute

BOOL

The function block is activated with a rising edge at "Execute". All outputs, except
for the output "ActOperationMode", are reset with a falling edge at "Execute".
Independent of "Execute", the current communication phase is displayed at "Ac
tOperationMode".

OperationMode

BOOL

With "OperationMode"=TRUE the drive is switched to operating mode (phase 4)


with the next 0-1 edge at "Execute".
With "OperationMode"=FALSE the drive is switched to parameter mode
(phase 2) with the next 0-1 edge at "Execute".

Fig.1-172:

Input variables of the firmware function block "MX_SetDeviceMode"

Output variable

Data type

Description

Done

BOOL

With "Done"=TRUE the function block signals that the processing of the task has
been successfully completed

Error

BOOL

With "Error"=TRUE the function block signals that an error is present

ErrorID

ERROR_CODE

"ErrorID" gives a rough error description


Target "IndraDrive MPH02": fig. 1-175 " Descriptions of "ErrorID" of the firmware
function block "MX_SetDeviceMode" in target "IndraDrive MPH02"" on page
73
Target "IndraDrive MP03": chapter 1.4.2 "Reference Error Lists for Function
Blocks as of Target "IndraDrive MP03"" on page 9

ErrorIdent

ERROR_STRUCT

Via the elements Table, Additional1 and Additional2, "ErrorIdent" gives the exact
cause of the error; see chapter 1.4.2 "Reference Error Lists for Function Blocks
as of Target "IndraDrive MP03"" on page 9

BOOL

With "ActOperationMode"=TRUE the drive is in operating mode (phase 4).

(as of MPx03VRS)
ActOperationMode

With "ActOperationMode"=FALSE the drive is in parameter mode (2<=current


phase 4).
Independent of "Execute", the current communication phase is displayed at "Ac
tOperationMode".

Fig.1-173:
Input / output variable

Output variables of the firmware function block "MX_SetDeviceMode"

Data type

Description

AXIS_REF

Axis number (only the global variable "Axis1" can be transmitted here)

(VAR_IN_OUT)
Axis

Fig.1-174:

Input / output variables of the firmware function block "MX_SetDevice


Mode"

ErrorID

Description

RESSOURCE_ER
ROR

Invalid axis reference

ACCESS_ERROR

Phase switch not allowed


or
Switching impossible as parameter faulty

Fig.1-175:

Descriptions of "ErrorID" of the firmware function block "MX_SetDevi


ceMode" in target "IndraDrive MPH02"

74/128

Bosch Rexroth AG | Electric Drives


and Controls

Rexroth IndraDrive | Library Description

Rexroth IndraDrive Firmware Libraries

MX_SetOpMode
The function block "MX_SetOpMode" is used to directly switch the operating
mode of the drive.
The current operating mode is provided independent of "Execute". The primary
mode of operation corresponds to the value "0" and the secondary operation
modes correspond to the values "1" to "3" for firmware MPH02VRS and "1" to
"7" for MPx03VRS firmwares.
"MX_SetOpMode" is provided for direct control of the drive via its
operating modes and their parameters. The operating mode that
was set is activated in the following position loop cycle.
If after the switching process the drive is moved with "MX_MoveR
elative", for example, an operating mode >3 for MPH02VRS and >7
as of MPx03VRS is implicitly set.
During the switching process "MX_SetOpMode" should be called
until the output "Done" or the output "Error" becomes TRUE. Oth
erwise direct switching might not be possible again, as "MX_Se
tOpMode" then possibly is not in its initial status.
The switching process mustn't be activated by several instances at
the same time!
When the PLCopen profile is used for motion control, "MX_SetOp
Mode" mustn't be used. The secondary PLC operation modes are
not allowed as "NewOpMode" and internally provided for the
PLCopen profile of the PLC.
To be observed as of target system "IndraDrive MP04":

As of this target system, the first 6 operating modes have a


fixed parameter setting with permanent control and mustn't be
changed.

The 7th secondary operation mode can be freely parameter


ized and selected in operation with the function block "MX_Se
tOpMode".

When the function block "MB_PreSetMode" is used, the drive,


after it has been switched on, immediately switches to this
secondary operation mode without shortly remaining in "Drive
Halt" before.

Active motion function blocks signal "CommandAborted"


when a new operating mode is set with "MX_SetOpMode".

At the command "MX_SetOpMode", the axis changes from


"AH" to "AF" or "AU".

Attention: In the multi-axis system MLD-M, the command val


ue parameters of the operating modes used by the PLCopen
function blocks have already been configured in the multiplex
channel (CCD process data) for remote axes. These param
eters cannot be written any more!

Property damage caused by operating mode being switched by several


instances!
CAUTION

The operating mode mustn't be switched by several instances at the same time.

Library Description | Rexroth IndraDrive

Electric Drives | Bosch Rexroth AG


and Controls

75/128

Rexroth IndraDrive Firmware Libraries


Target system

Library

Range

IndraDrive MPH02

Base_MPH02.lib

Drive Control

IndraDrive MP03

Base_MP03.lib

Drive Control

IndraDrive MP04

MX_Base.lib

Drive Control

Fig.1-176:

Library assignment

Fig.1-177:

Firmware function block "MX_SetOpMode"

Input variable

Data type

Description

NewOpMode

WORD

The operating mode set at "NewOpMode" is activated by a 0-1 edge at "Execute".


"NewOpMode" can presently have the following values:

0: S00032, Primary mode of operation

1: S00033, Secondary operation mode 1

2: S00034, Secondary operation mode 2

3: S00035, Secondary operation mode 3

As of target system "IndraDrive MP03":

Execute

BOOL

4: S00284, Secondary operation mode 4

5: S00285, Secondary operation mode 5

6: S00286, Secondary operation mode 6

7: S00287, Secondary operation mode 7

The function block is activated with a rising edge at "Execute". All outputs, except
for the output "ActOpMode", are reset with a falling edge at "Execute".
Independent of "Execute", the current communication phase is displayed at "Ac
tOpMode".

Fig.1-178:

Input variables of the firmware function block "MX_SetOpMode"

Output variable

Data type

Description

ActOpMode

WORD

"ActOpMode" signals which operating mode is active in the drive at drive enable.
The output adopts the value set at "NewOpMode".

Done

BOOL

With "Done"=TRUE the function block signals that the processing of the task has
been successfully completed

Error

BOOL

With "Error"=TRUE the function block signals that an error is present

76/128

Bosch Rexroth AG | Electric Drives


and Controls

Rexroth IndraDrive | Library Description

Rexroth IndraDrive Firmware Libraries


Output variable

Data type

Description

ErrorID

ERROR_CODE

"ErrorID" gives a rough error description


Target "IndraDrive MPH02": fig. 1-181 " Descriptions of "ErrorID" of the firmware
function block "MX_SetOpMode" in target "IndraDrive MPH02"" on page 76
Target "IndraDrive MP03": chapter 1.4.2 "Reference Error Lists for Function
Blocks as of Target "IndraDrive MP03"" on page 9

ErrorIdent

ERROR_STRUCT

(as of MPx03VRS)

Via the elements Table, Additional1 and Additional2, "ErrorIdent" gives the exact
cause of the error; see chapter 1.4.2 "Reference Error Lists for Function Blocks
as of Target "IndraDrive MP03"" on page 9

Fig.1-179:
Input / output variable

Output variables of the firmware function block "MX_SetOpMode"

Data type

Description

AXIS_REF

Axis number; the following global variables can be transmitted

(VAR_IN_OUT)
Axis

"Axis1" (axis for MLDS)


"Axis1" (local axis or only axis for MLD-M), "Axis2" to "Axis8" (first or last
slave in the order of the list "P04031, Overview of device addresses")

Fig.1-180:

Input / output variables of the firmware function block "MX_SetOpMode"

ErrorID

Description

RESSOURCE_ERROR

Invalid axis reference

ACCESS_ERROR

PLC has no control over drive

INPUT_RANGE_ER
ROR

Invalid operating mode

Fig.1-181:

Descriptions of "ErrorID" of the firmware function block "MX_SetOp


Mode" in target "IndraDrive MPH02"

MB_SetPositionControlMode
The function block "MB_SetPositionControlMode" with the inputs "LaglessPo
sitionControl" and "ExternalEncoder" is used to set the position loop.
Target system

Library

Range

IndraDrive MP04

MX_Base.lib

Drive Control

Fig.1-182:

Library assignment

Fig.1-183:

Firmware function block "MB_SetPositionControlMode"

Library Description | Rexroth IndraDrive

Electric Drives | Bosch Rexroth AG


and Controls

77/128

Rexroth IndraDrive Firmware Libraries


Input variable

Data type

Description

Execute

BOOL

The function block is activated with a rising edge at "Execute". All outputs
are reset with a falling edge at "Execute".

LaglessPositionControl

BOOL

The value at the input "LaglessPositionControl" influences bit 2 of


"S00520, Control word of axis controller":
0: position control with lag error
1: lagless position control

ExternalEncoder

BOOL

The value at the input "ExternalEncoder" influences bit 0 of "S00520,


Control word of axis controller":
0: control with motor encoder (actual position value-1)
1: control with external encoder (actual position value-2)

Fig.1-184:

Input variables of the firmware function block "MB_SetPositionControl


Mode"

Output variable

Data type

Description

Done

BOOL

With "Done"=TRUE the function block signals that the processing of the
task has been successfully completed

Error

BOOL

With "Error"=TRUE the function block signals that an error is present

ErrorID *

ERROR_CODE

"ErrorID" gives a rough error description

ErrorIdent *

ERROR_STRUCT

Via the elements Table, Additional1 and Additional2, "ErrorIdent" gives the
exact cause of the error

see note below

Fig.1-185:

Output variables of the firmware function block "MB_SetPositionCon


trolMode"

NOTE: Here you can find the list of all possible errors: chapter 1.4.2
"Reference Error Lists for Function Blocks as of Target "IndraDrive
MP03"" on page 9
Input / output variable

Data type

Description

AXIS_REF

Axis number; the following global variables can be transmitted

(VAR_IN_OUT)
Axis

"Axis1" (axis for MLDS)


"Axis1" (local axis or only axis for MLD-M), "Axis2" to "Axis8" (first or last
slave in the order of the list "P04031, Overview of device addresses")

Fig.1-186:

1.7.4

Input / output variables of the firmware function block "MB_SetPosition


ControlMode"

Functions for Diagnosis

Overview

MX_fGetDriveWarning

MX_fSetDriveError

MX_fSetDriveWarning

MX_fGetDriveWarning
The firmware function "MX_fGetDriveWarning" allows polling whether a certain
warning diagnosis is active in the drive.

78/128

Bosch Rexroth AG | Electric Drives


and Controls

Rexroth IndraDrive | Library Description

Rexroth IndraDrive Firmware Libraries


Depending on the value at the input "WarningNo" (1 to 4) the warning messages

E2011 PLC - Warning no. 1

E2012 PLC - Warning no. 2

E2013 PLC - Warning no. 3

E2014 PLC - Warning no. 4

are checked.
Target system

Library

Range

IndraDrive MPH02

Base_MPH02.lib

Drive Control / Diagnostic

IndraDrive MP03

Base_MP03.lib

Drive Control / Diagnostic

IndraDrive MP04

MX_Base.lib

Drive Control / Diagnostic

Fig.1-187:

Library assignment

Fig.1-188:

Firmware function "MX_fGetDriveWarning"

Input variable

Data type

Description

WarningNo

DINT

Order number of warning to be read

Axis

AXIS_REF

Axis number (only the global variable "Axis1" can be transmitted here)

Fig.1-189:

Input variables of the firmware function "MX_fGetDriveWarning"

Return value

Data type

Description

MX_fGetDriveWarning

BOOL

If the warning to be checked is active in the drive, the function provides TRUE as
return value, otherwise FALSE

Fig.1-190:

Return value of the firmware function "MX_fGetDriveWarning"

MX_fSetDriveError
The firmware function "MX_fSetDriveError" triggers an error diagnosis in the
drive.
Depending on the value at the input "ErrorNo" (1 to 4) the errors

F2011 PLC - Error no. 1

F2012 PLC - Error no. 2

F2013 PLC - Error no. 3

F2014 PLC - Error no. 4

are triggered in the drive.


The error diagnosis can be cleared by executing the function block "MX_Re
set" / "MC_Reset".

Library Description | Rexroth IndraDrive

Electric Drives | Bosch Rexroth AG


and Controls

79/128

Rexroth IndraDrive Firmware Libraries


Target system

Library

Range

IndraDrive MPH02

Base_MPH02.lib

Drive Control / Diagnostic

IndraDrive MP03

Base_MP03.lib

Drive Control / Diagnostic

IndraDrive MP04

MX_Base.lib

Drive Control / Diagnostic

Fig.1-191:

Library assignment

Fig.1-192:

Firmware function "MX_fSetDriveError"

Input variable

Data type

Description

ErrorNo

DINT

Order number of error to be triggered

Axis

AXIS_REF

Axis number (only the global variable "Axis1" can be transmitted here)

Fig.1-193:

Input variables of the firmware function "MX_fSetDriveError"

Return value

Data type

Description

MX_fSetDriveError

BOOL

If the value of "ErrorNo" is within the allowed range (1 to 4), the function provides
TRUE as return value, otherwise FALSE

Fig.1-194:

Return value of the firmware function "MX_fSetDriveError"

MX_fSetDriveWarning
The firmware function "MX_fSetDriveWarning" is used to set or clear a warning
diagnosis in the drive.
Depending on the value at the input "WarningNo" (1 to 4) the warning messages

E2011 PLC - Warning no. 1

E2012 PLC - Warning no. 2

E2013 PLC - Warning no. 3

E2014 PLC - Warning no. 4

are triggered in the drive.


Target system

Library

Range

IndraDrive MPH02

Base_MPH02.lib

Drive Control / Diagnostic

IndraDrive MP03

Base_MP03.lib

Drive Control / Diagnostic

IndraDrive MP04

MX_Base.lib

Drive Control / Diagnostic

Fig.1-195:

Library assignment

80/128

Bosch Rexroth AG | Electric Drives


and Controls

Rexroth IndraDrive | Library Description

Rexroth IndraDrive Firmware Libraries

Fig.1-196:

Firmware function "MX_fSetDriveWarning"

Input variable

Data type

Description

SetWarning

BOOL

TRUE: set warning, FALSE: clear warning

WarningNo

DINT

Order number of warning to be triggered

Axis

AXIS_REF

Axis number (only the global variable "Axis1" can be transmitted here)

Fig.1-197:

Input variables of the firmware function "MX_fSetDriveWarning"

Return value

Data type

Description

MX_fSetDriveWarning

BOOL

If the value of "WarningNo" is within the allowed range (1 to 4), the function pro
vides TRUE as return value, otherwise FALSE

Fig.1-198:

1.7.5

Return value of the firmware function "MX_fSetDriveWarning"

Function Blocks/Functions for Parameters

Overview

MX_fCheckCmdRequest*2

MX_fReadParamDINT

MX_fReadStringParam

MX_fWriteParamDINT

MX_fWriteStringParam

MB_ReadListParameter *2

MB_ReadMaxRealValue *1

MB_ReadMaxValue *1

MB_ReadMinRealValue *1

MB_ReadMinValue *1

MB_ReadName *1

MB_ReadParameter *1

MB_ReadRealParameter *1

MB_ReadSercosAttribute *1

MB_ReadSercosDataStatus*2

MB_ReadStringParameter *2

MB_ReadUnit *1

MB_WriteListParameter *2

MB_WriteParameter *1

MB_WriteRealParameter *1

Library Description | Rexroth IndraDrive

Electric Drives | Bosch Rexroth AG


and Controls

81/128

Rexroth IndraDrive Firmware Libraries

MB_WriteStringParameter *2

MX_ReadParamDINT

MX_SetCmdState *2

MX_WriteParamDINT

*1

available as of target system "IndraDrive MP03"

*2 available as of target system "IndraDrive MP04"

MX_fCheckCmdRequest
The firmware function "MX_fCheckCmdRequest" is used to return the com
mand input which was preset via the drive parameter "P01449, C4900 PLC
command".
Target system

Library

Range

IndraDrive MP04

MX_Base.lib

Drive Control / Parameter

Fig.1-199:

Library assignment

Fig.1-200:

Firmware function "MX_fCheckCmdRequest"

Input variable

Data type

Description

Axis

AXIS_REF

Axis number (only the global variable "Axis1" can be transmitted here)

Fig.1-201:

Input variables of the firmware function "MX_fCheckCmdRequest"

Return value

Data type

Description

MX_fCheckCmdRequest

MX_CMD_REQUEST

The function "MX_fCheckCmdRequest" can return the following


values:

Fig.1-202:

MX_CMD_REQ_ERROR: an invalid axis number was trans


mitted

MX_CMD_REQ_STOP: command is to be terminated

MX_CMD_REQ_BREAK: command is to be interrupted

MX_CMD_REQ_START: command is to be started

Return value of the firmware function "MX_fCheckCmdRequest"

MX_fReadParamDINT
The firmware function "MX_fReadParamDINT" is used to read a parameter
value and return it as DINT.
With this function it is at first impossible to recognize whether the reading of the
parameter was successful or not. The function block "MX_ReadParamDINT" is
suited for this purpose.
For unsigned parameters with 32 bits the return value can simply be converted
with the function "DINT_TO_UDINT".

82/128

Bosch Rexroth AG | Electric Drives


and Controls

Rexroth IndraDrive | Library Description

Rexroth IndraDrive Firmware Libraries


Target system

Library

Range

IndraDrive MPH02

Base_MPH02.lib

Drive Control / Parameter

IndraDrive MP03

Base_MP03.lib

Drive Control / Parameter

IndraDrive MP04

MX_Base.lib

Drive Control / Parameter

Fig.1-203:

Library assignment

Fig.1-204:

Firmware function "MX_fReadParamDINT"

Input variable

Data type

Description

Ident

DINT

At the input "Ident" apply the IDN of the parameter the value of which is to be
read (e.g. FP_S_0_0052)

ListElem

INT

It is possible to read the value of a single parameter, but also the values of list
parameters.
To read a single parameter, apply "0" to "ListElem". For list parameters, the zeroth
element is read with "0", the first element with "1", the second element with "2", ...
With "-1" at "ListElem" it is the actual length, with "-2" it is the maximum length of
a list parameter which is read

Axis

AXIS_REF

Axis number (only the global variable "Axis1" can be transmitted here)

Fig.1-205:

Input variables of the firmware function "MX_fReadParamDINT"

Return value

Data type

Description

MX_fReadParamDINT

DINT

Provides the value of the element specified with "Ident" and "ListElem".
Note: "0" is returned if the parameter or list element cannot be read

Fig.1-206:

Return value of the firmware function "MX_fReadParamDINT"

MX_fReadStringParam
With the firmware function "MX_fReadStringParam" it is possible to read a pa
rameter the operating data of which has the ASCII format (string).
In addition to "MaxLen" a closing 0-character is copied. The return
value returns the characters actually read (without 0).
Target system

Library

Range

IndraDrive MPH02

Base_MPH02.lib

Drive Control / Parameter

IndraDrive MP03

Base_MP03.lib

Drive Control / Parameter

IndraDrive MP04

MX_Base.lib

Drive Control / Parameter

Fig.1-207:

Library assignment

Library Description | Rexroth IndraDrive

Electric Drives | Bosch Rexroth AG


and Controls

83/128

Rexroth IndraDrive Firmware Libraries

Fig.1-208:

Firmware function "MX_fReadStringParam"

Input variable

Data type

Description

Ident

DINT

IDN of the parameter (e.g. FP_P_0_0053)

Text

STRING(255)

Text buffer 255 characters

MaxLen

INT

Number of characters to be read (without closing 0)

Axis

AXIS_REF

Axis number (only the global variable "Axis1" can be transmitted here)

Fig.1-209:

Input variables of the firmware function "MX_fReadStringParam"

Return value

Data type

Description

MX_fReadStringParam

INT

Returns the characters actually read (without 0)

Fig.1-210:

Return value of the firmware function "MX_fReadStringParam"

MX_fWriteParamDINT
The firmware function "MX_fWriteParamDINT" is used to write data to a pa
rameter.
It is possible to write in unbuffered or buffered form.
In the case of buffered writing, the parameter values every time are
transferred to the non-volatile memory. As this takes much calcu
lating time, data should only be written in buffered form if necessary.
For list parameters only the last write access should take place with
"WriteBuffered"=TRUE, as the entire list is buffered at each access.
While a parameter is buffered, another access with buffering will fail
(ACCESS_ERROR).
With this function it is at first impossible to recognize whether the writing of the
parameter was successful or not. The function block "MX_WriteParamDINT" is
suited for this purpose.
For unsigned parameters with 32 bits the input value "Value" can simply be
converted with the function "UDINT_TO_DINT".
Target system

Library

Range

IndraDrive MPH02

Base_MPH02.lib

Drive Control / Parameter

IndraDrive MP03

Base_MP03.lib

Drive Control / Parameter

IndraDrive MP04

MX_Base.lib

Drive Control / Parameter

Fig.1-211:

Library assignment

84/128

Bosch Rexroth AG | Electric Drives


and Controls

Rexroth IndraDrive | Library Description

Rexroth IndraDrive Firmware Libraries

Fig.1-212:

Firmware function "MX_fWriteParamDINT"

Input variable

Data type

Description

Ident

DINT

IDN of the specified parameter (e.g. FP_P_0_0053)

ListElem

INT

List element number:


for list parameters starting with "0" and for single parameter always "0"
"-1" for writing the actual length (only allowed for list parameters)

Value

INT

Value with which is to be written to the selected element

WriteBuffered

BOOL

"WriteBuffered"=TRUE: value is buffered; "WriteBuffered"=FALSE: value


is not buffered

Axis

AXIS_REF

Axis number (only the global variable "Axis1" can be transmitted here)

Fig.1-213:

Input variables of the firmware function "MX_fWriteParamDINT"

Return value

Data type

Description

MX_fWriteParamDINT

BOOL

Dummy output without significance

Fig.1-214:

Return value of the firmware function "MX_fWriteParamDINT"

MX_fWriteStringParam
The firmware function "MX_fWriteStringParam" is used to write data to a text
parameter.
It is possible to write in unbuffered or buffered form.
In the case of buffered writing, the parameter values every time are
transferred to the non-volatile memory. As this takes much calcu
lating time, data should only be written in buffered form if necessary.
While a parameter is buffered, another access with buffering will fail
(ACCESS_ERROR).
Target system

Library

Range

IndraDrive MPH02

Base_MPH02.lib

Drive Control / Parameter

IndraDrive MP03

Base_MP03.lib

Drive Control / Parameter

IndraDrive MP04

MX_Base.lib

Drive Control / Parameter

Fig.1-215:

Library assignment

Library Description | Rexroth IndraDrive

Electric Drives | Bosch Rexroth AG


and Controls

85/128

Rexroth IndraDrive Firmware Libraries

Fig.1-216:

Firmware function "MX_fWriteStringParam"

Input variable

Data type

Description

Ident

DINT

IDN of the specified parameter (e.g. FP_P_0_0053)

Text

STRING(255)

Text string

WriteBuffered

BOOL

TRUE=value is buffered, FALSE=value is not buffered

Axis

AXIS_REF

Axis number (only the global variable "Axis1" can be transmitted here)

Fig.1-217:

Input variables of the firmware function "MX_fWriteStringParam"

Return value

Data type

Description

MX_fWriteStringParam

INT

The return value returns the characters actually written (without 0)

Fig.1-218:

Return value of the firmware function "MX_fWriteStringParam"

MB_ReadListParameter
With the function block "MB_ReadListParameter" it is possible to read the cur
rent value of a list parameter.
The function block "MB_ReadListParameter" can work on the local
axis ("Axis1") and via SERCOS III on remote axes ("Axis2", "Ax
is3", ...).
The IDN of the list parameter to be read has to be applied at the input "Param
eterNumber". The number of bytes to be read has to be indicated at the input
"NoOfBytes". The processing of the function block is started with a rising edge
at the input "Execute" ("Execute"=TRUE).
To test the function block "MB_ReadListParameter" the instance
variable "ActivateCounter" can be used. It counts the positive edges
of the "Execute" signal and thereby signals whether the function
block is run with edge.
Local Axis

When the function block is used for a local axis, all list elements of the selected
parameter are immediately read when the function block is called. After the list
elements have been read, the control goes back to the program and TRUE is
provided at the output "Done".

86/128

Bosch Rexroth AG | Electric Drives


and Controls

Rexroth IndraDrive | Library Description

Rexroth IndraDrive Firmware Libraries


You should observe that the reading process can take some time,
depending on the amount of data to be read; if necessary, you
should use a separate task.
Example: To read all list elements of parameter P00072 (1024
long words), approx. 200s are required with Advanced control
section.
Remote Axes

When the function block is used for remote axes, the read request is ceded to
the service channel (SERCOS III). Only at a later call can the function block
signal "Done".
The outputs "Done", "Active" and "Error" have to be cyclically polled.
The data transmission can take several seconds, depending on the amount of
data.
Target system

Library

Range

IndraDrive MP04

MX_Base.lib

Drive Control / Parameter

Fig.1-219:

Library assignment

Fig.1-220:

Firmware function block "MB_ReadListParameter"

Input variable

Data type

Description

Enable

BOOL

The function block is status-controlled. With "Enable"=TRUE the function block


is activated, with "Enable"=FALSE all outputs are reset

ParameterNumber

DINT

IDN of the parameter to be read

NoOfBytes

UINT

The number of bytes to be read has to be indicated at the input "NoOfBytes"

ValueAdr

POINTER TO BYTE At the input "ValueAdr" indicate the initial address of the field to which the bytes
that have been read are to be written.
Example: ValueAdr := ADR(arFeld1)

Fig.1-221:

Input variables of the firmware function block "MB_ReadListParameter"

Output variable

Data type

Description

Done

BOOL

With "Done"=TRUE the function block signals that the cyclic reading of the data
value of the parameter was successful

Active

BOOL

For remote axes, "Active"=TRUE signals that the function block has accepted
the processing command, for single axes this output is not set!

Library Description | Rexroth IndraDrive

Electric Drives | Bosch Rexroth AG


and Controls

87/128

Rexroth IndraDrive Firmware Libraries


Output variable

Data type

Description

Error

BOOL

With "Error"=TRUE the function block signals that an error is present

ErrorID *

ERROR_CODE

"ErrorID" gives a rough error description

ErrorIdent *

ERROR_STRUCT

Via the elements Table, Additional1 and Additional2, "ErrorIdent" gives the
exact cause of the error

NoOfRecBytes

UINT

The output "NoOfRecBytes" signals how many bytes were actually read
*

see note below

Fig.1-222:

Output variables of the firmware function block "MB_ReadListParame


ter"

NOTE: Here you can find the list of all possible errors: chapter 1.4.2
"Reference Error Lists for Function Blocks as of Target "IndraDrive
MP03"" on page 9
Input / output variable

Data type

Description

AXIS_REF

Axis number; the following global variables can be transmitted:

(VAR_IN_OUT)
Axis

"Axis1" (axis for MLDS)


As of target system "IndraDrive MP04V08": "Axis1" (local axis or only axis for
MLD-M), "Axis2" to "Axis8" (first or last slave in the order of the list "P04031,
Overview of device addresses")

Fig.1-223:

Input / output variables of the firmware function block "MB_ReadList


Parameter"

MB_ReadMaxRealValue
With the function block "MB_ReadMaxRealValue" it is possible to read the
maximum allowed value of a parameter. The value is returned in REAL format.
Target system

Library

Range

IndraDrive MP03

Base_MP03.lib

Drive Control / Parameter

IndraDrive MP04

MX_Base.lib

Drive Control / Parameter

Fig.1-224:

Library assignment

Fig.1-225:

Firmware function block "MB_ReadMaxRealValue"

88/128

Bosch Rexroth AG | Electric Drives


and Controls

Rexroth IndraDrive | Library Description

Rexroth IndraDrive Firmware Libraries


Input variable

Data type

Description

Execute

BOOL

The function block is activated with a rising edge at "Execute". With a falling
edge, all outputs are reset

ParameterNumber

DINT

At the input "ParameterNumber" apply the IDN of the parameter (e.g.


FP_S_0_0052) the maximum value of which is to be read

Fig.1-226:

Input variables of the firmware function block "MB_ReadMaxRealValue"

Output variable

Data type

Description

Done

BOOL

With "Done"=TRUE the function block signals that the processing of the task
has been successfully completed

Active

BOOL

For remote axes, "Active"=TRUE signals that the function block has accepted
the processing command, for single axes this output is not set!

Error

BOOL

With "Error"=TRUE the function block signals that an error is present

ErrorID *

ERROR_CODE

"ErrorID" gives a rough error description

ErrorIdent *

ERROR_STRUCT

Via the elements Table, Additional1 and Additional2, "ErrorIdent" gives the
exact cause of the error

MaxValue

REAL

If "Done"=TRUE, "MaxValue" signals the maximum input value of the selected


parameter.
Note: According to the scaling, the input value of the parameter has decimal
places which have to be taken into account and used for calculation
*

see note below

Fig.1-227:

Output variables of the firmware function block "MB_ReadMaxRealVal


ue"

NOTE: Here you can find the list of all possible errors: chapter 1.4.2
"Reference Error Lists for Function Blocks as of Target "IndraDrive
MP03"" on page 9
Input / output variable

Data type

Description

AXIS_REF

Axis number; the following global variables can be transmitted:

(VAR_IN_OUT)
Axis

"Axis1" (axis for MLDS)


As of target system "IndraDrive MP04V10": "Axis1" (local axis or only axis for
MLD-M), "Axis2" to "Axis8" (first or last slave in the order of the list "P04031,
Overview of device addresses")

Fig.1-228:

Input / output variable of the firmware function block "MB_ReadMax


RealValue"

MB_ReadMaxValue
With the function block "MB_ReadMaxValue" it is possible to read the maximum
allowed value of a parameter. The value is returned in DINT format.
Target system

Library

Range

IndraDrive MP03

Base_MP03.lib

Drive Control / Parameter

IndraDrive MP04

MX_Base.lib

Drive Control / Parameter

Fig.1-229:

Library assignment

Library Description | Rexroth IndraDrive

Electric Drives | Bosch Rexroth AG


and Controls

89/128

Rexroth IndraDrive Firmware Libraries

Fig.1-230:

Firmware function block "MB_ReadMaxValue"

Input variable

Data type

Description

Execute

BOOL

The function block is activated with a rising edge at "Execute". With a falling
edge, all outputs are reset

ParameterNumber

DINT

At the input "ParameterNumber" apply the IDN of the parameter (e.g.


FP_S_0_0052) the maximum value of which is to be read

Fig.1-231:

Input variables of the firmware function block "MB_ReadMaxValue"

Output variable

Data type

Description

Done

BOOL

With "Done"=TRUE the function block signals that the processing of the task
has been successfully completed

Active

BOOL

For remote axes, "Active"=TRUE signals that the function block has accepted
the processing command, for single axes this output is not set!

Error

BOOL

With "Error"=TRUE the function block signals that an error is present

ErrorID *

ERROR_CODE

"ErrorID" gives a rough error description

ErrorIdent *

ERROR_STRUCT

Via the elements Table, Additional1 and Additional2, "ErrorIdent" gives the
exact cause of the error

MaxValue

DINT

If "Done"=TRUE, "MaxValue" signals the maximum input value of the selected


parameter.
Note: According to the scaling, the input value of the parameter has decimal
places which have to be taken into account and used for calculation
*

Fig.1-232:

see note below

Output variables of the firmware function block "MB_ReadMaxValue"

NOTE: Here you can find the list of all possible errors: chapter 1.4.2
"Reference Error Lists for Function Blocks as of Target "IndraDrive
MP03"" on page 9

90/128

Bosch Rexroth AG | Electric Drives


and Controls

Rexroth IndraDrive | Library Description

Rexroth IndraDrive Firmware Libraries


Input / output variable

Data type

Description

AXIS_REF

Axis number; the following global variables can be transmitted

(VAR_IN_OUT)
Axis

"Axis1" (axis for MLDS)


As of target system "IndraDrive MP04V10": "Axis1" (local axis or only axis for
MLD-M), "Axis2" to "Axis8" (first or last slave in the order of the list "P04031,
Overview of device addresses")

Fig.1-233:

Input / output variable of the firmware function block "MB_ReadMaxVal


ue"

MB_ReadMinRealValue
With the function block "MB_ReadMinRealValue" it is possible to read the min
imum allowed value of a parameter. The value is returned in REAL format.
Target system

Library

Area

IndraDrive MP03

Base_MP03.lib

Drive Control / Parameter

IndraDrive MP04

MX_Base.lib

Drive Control / Parameter

Fig.1-234:

Library assignment

Fig.1-235:

Firmware function block "MB_ReadMinRealValue"

Input variable

Data type

Description

Execute

BOOL

The function block is activated with a rising edge at "Execute". With a falling
edge, all outputs are reset

ParameterNumber

DINT

At the input "ParameterNumber" apply the IDN of the parameter (e.g.


FP_S_0_0052) the minimum value of which is to be read

Fig.1-236:

Input variables of the firmware function block "MB_ReadMinRealValue"

Output variable

Data type

Description

Done

BOOL

With "Done"=TRUE the function block signals that the processing of the task
has been successfully completed

Active

BOOL

For remote axes, "Active"=TRUE signals that the function block has accepted
the processing command, for single axes this output is not set!

Error

BOOL

With "Error"=TRUE the function block signals that an error is present

Library Description | Rexroth IndraDrive

Electric Drives | Bosch Rexroth AG


and Controls

91/128

Rexroth IndraDrive Firmware Libraries


Output variable

Data type

Description

ErrorID *

ERROR_CODE

"ErrorID" gives a rough error description

ErrorIdent *

ERROR_STRUCT

Via the elements Table, Additional1 and Additional2, "ErrorIdent" gives the
exact cause of the error

MinValue

REAL

If "Done"=TRUE, "MinValue" signals the minimum input value of the selected


parameter.
Note:According to the scaling, the input value of the parameter has decimal
places which have to be taken into account and used for calculation
*

see note below

Fig.1-237:

Output variables of the firmware function block "MB_ReadMinRealVal


ue"

NOTE: Here you can find the list of all possible errors: chapter 1.4.2
"Reference Error Lists for Function Blocks as of Target "IndraDrive
MP03"" on page 9
Input / output variable

Data type

Description

AXIS_REF

Axis number; the following global variables can be transmitted:

(VAR_IN_OUT)
Axis

"Axis1" (axis for MLDS)


As of target system "IndraDrive MP04V10": "Axis1" (local axis or only axis for
MLD-M), "Axis2" to "Axis8" (first or last slave in the order of the list "P04031,
Overview of device addresses")

Fig.1-238:

Input / output variable of the firmware function block "MB_ReadMin


RealValue"

MB_ReadMinValue
With the function block "MB_ReadMinValue" it is possible to read the minimum
allowed value of a parameter. The value is returned in DINT format.
Target system

Library

Range

IndraDrive MP03

Base_MP03.lib

Drive Control / Parameter

IndraDrive MP04

MX_Base.lib

Drive Control / Parameter

Fig.1-239:

Library assignment

92/128

Bosch Rexroth AG | Electric Drives


and Controls

Rexroth IndraDrive | Library Description

Rexroth IndraDrive Firmware Libraries

Fig.1-240:

Firmware function block "MB_ReadMinValue"

Input variable

Data type

Description

Execute

BOOL

The function block is activated with a rising edge at "Execute". With a falling
edge, all outputs are reset

ParameterNumber

DINT

At the input "ParameterNumber" apply the IDN of the parameter (e.g.


FP_S_0_0052) the minimum value of which is to be read

Fig.1-241:

Input variables of the firmware function block "MB_ReadMinValue"

Output variable

Data type

Description

Done

BOOL

With "Done"=TRUE the function block signals that the processing of the task
has been successfully completed

Active

BOOL

For remote axes, "Active"=TRUE signals that the function block has accepted
the processing command, for single axes this output is not set!

Error

BOOL

With "Error"=TRUE the function block signals that an error is present

ErrorID *

ERROR_CODE

"ErrorID" gives a rough error description

ErrorIdent *

ERROR_STRUCT

Via the elements Table, Additional1 and Additional2, "ErrorIdent" gives the
exact cause of the error

MinValue

DINT

If "Done"=TRUE, "MinValue" signals the minimum input value of the selected


parameter.
Note: According to the scaling, the input value of the parameter has decimal
places which have to be taken into account and used for calculation
*

Fig.1-242:

see note below

Output variables of the firmware function block "MB_ReadMinValue"

NOTE: Here you can find the list of all possible errors: chapter 1.4.2
"Reference Error Lists for Function Blocks as of Target "IndraDrive
MP03"" on page 9

Library Description | Rexroth IndraDrive

Electric Drives | Bosch Rexroth AG


and Controls

93/128

Rexroth IndraDrive Firmware Libraries


Input / output variable

Data type

Description

AXIS_REF

Axis number; the following global variables can be transmitted

(VAR_IN_OUT)
Axis

"Axis1" (axis for MLDS)


As of target system "IndraDrive MP04V10": "Axis1" (local axis or only axis for
MLD-M), "Axis2" to "Axis8" (first or last slave in the order of the list "P04031,
Overview of device addresses")

Fig.1-243:

Input / output variable of the firmware function block "MB_ReadMinVal


ue"

MB_ReadName
With the function block "MB_ReadName" it is possible to read the name of a
parameter.
At the input "ParameterNumber" you have to apply the parameter number of
the parameter the name of which is to be read. The processing of the function
block is started with a rising edge at the "Execute" input. Error-free processing
is signaled by "Done"=TRUE. Incorrect processing is signaled by
"Error"=TRUE. In the case of error, a detailed description of the error is output
at the outputs "ErrorID" and "ErrorIdent".
Target system

Library

Area

IndraDrive MP03

Base_MP03.lib

Drive Control / Parameter

IndraDrive MP04

MX_Base.lib

Drive Control / Parameter

Fig.1-244:

Library assignment

Fig.1-245:

Firmware function block "MB_ReadName"

Input variable

Data type

Description

Execute

BOOL

The function block is activated with a rising edge at "Execute". With a falling
edge, all outputs are reset

ParameterNumber

DINT

At the input "ParameterNumber" apply the IDN of the parameter (e.g.


FP_S_0_0052) the name of which is to be read

Fig.1-246:

Input variables of the firmware function block "MB_ReadName"

94/128

Bosch Rexroth AG | Electric Drives


and Controls

Rexroth IndraDrive | Library Description

Rexroth IndraDrive Firmware Libraries


Output variable

Data type

Description

Done

BOOL

With "Done"=TRUE the function block signals that the processing of the task
has been successfully completed

Active

BOOL

For remote axes, "Active"=TRUE signals that the function block has accepted
the processing command, for single axes this output is not set!

Error

BOOL

With "Error"=TRUE the function block signals that an error is present

ErrorID *

ERROR_CODE

"ErrorID" gives a rough error description

ErrorIdent *

ERROR_STRUCT

Via the elements Table, Additional1 and Additional2, "ErrorIdent" gives the
exact cause of the error

Name

STRING(255)

If "Done"=TRUE, "Name" signals the name value of the selected parameter


*

see note below

Fig.1-247:

Output variables of the firmware function block "MB_ReadName"

NOTE: Here you can find the list of all possible errors: chapter 1.4.2
"Reference Error Lists for Function Blocks as of Target "IndraDrive
MP03"" on page 9
Input / output variable

Data type

Description

AXIS_REF

Axis number; the following global variables can be transmitted

(VAR_IN_OUT)
Axis

"Axis1" (axis for MLDS)


As of target system "IndraDrive MP04V10": "Axis1" (local axis or only axis for
MLD-M), "Axis2" to "Axis8" (first or last slave in the order of the list "P04031,
Overview of device addresses")

Fig.1-248:

Input / output variables of the firmware function block "MB_ReadName"

MB_ReadParameter
With the function block "MB_ReadParameter" it is possible to read the current
value of a parameter. The return value is DINT.
With the function block "MB_ReadParameter", the input variables
are only applied with a 0-1 edge at the "Enable" input.
List and string parameters cannot be read with the function block.
Target system

Library

Range

IndraDrive MP03

Base_MP03.lib

Drive Control / Pa
rameter

IndraDrive MP04

MX_Base.lib

Drive Control / Pa
rameter

Fig.1-249:

Library assignment

Library Description | Rexroth IndraDrive

Electric Drives | Bosch Rexroth AG


and Controls

95/128

Rexroth IndraDrive Firmware Libraries

Fig.1-250:

Firmware function block "MB_ReadParameter"

Input variable

Data type

Description

Enable

BOOL

The function block is status-controlled. With "Enable"=TRUE the command is


started, with "Enable"=FALSE it is cleared

ParameterNumber

DINT

At the input "ParameterNumber" apply the IDN of the parameter (e.g.


FP_S_0_0052) the current value of which is to be read

Fig.1-251:

Input variables of the firmware function block "MB_ReadParameter"

Output variable

Data type

Description

Done

BOOL

With "Done"=TRUE the function block signals that the processing of the task
has been successfully completed

Active

BOOL

For remote axes, "Active"=TRUE signals that the function block has accepted
the processing command, for single axes this output is not set!

Error

BOOL

With "Error"=TRUE the function block signals that an error is present

ErrorID *

ERROR_CODE

"ErrorID" gives a rough error description

ErrorIdent *

ERROR_STRUCT

Via the elements Table, Additional1 and Additional2, "ErrorIdent" gives the
exact cause of the error

Value

DINT

If "Done"=TRUE, "Value" signals the value of the selected parameter. Accord


ing to the scaling, the parameter has decimal places which have to be taken
into account and used for calculation
*

Fig.1-252:

see note below

Output variables of the firmware function block "MB_ReadParameter"

NOTE: Here you can find the list of all possible errors: chapter 1.4.2
"Reference Error Lists for Function Blocks as of Target "IndraDrive
MP03"" on page 9

96/128

Bosch Rexroth AG | Electric Drives


and Controls

Rexroth IndraDrive | Library Description

Rexroth IndraDrive Firmware Libraries


Input / output variable

Data type

Description

AXIS_REF

Axis number; the following global variables can be transmitted

(VAR_IN_OUT)
Axis

"Axis1" (axis for MLDS)


As of target system "IndraDrive MP04": "Axis1" (local axis or only axis for MLDM), "Axis2" to "Axis8" (first or last slave in the order of the list "P04031,
Overview of device addresses")

Fig.1-253:

Input / output variable of the firmware function block "MB_ReadPara


meter"

MB_ReadRealParameter
With the function block "MB_ReadRealParameter" it is possible to read the
current value of a parameter. The return value is REAL.
List and string parameters cannot be read with the function block
"MB_ReadRealParameter".

Property damage when reading parameters of remote axes!


CAUTION

When parameters of remote axes are read, the scaling is carried out according
to the setting of the master which can be wrong. This is probably corrected in
MPx04V08.
Target system

Library

Range

IndraDrive MP03

Base_MP03.lib

Drive Control / Pa
rameter

IndraDrive MP04

MX_Base.lib

Drive Control / Pa
rameter

Fig.1-254:

Library assignment

Fig.1-255:

Firmware function block "MB_ReadRealParameter"

Library Description | Rexroth IndraDrive

Electric Drives | Bosch Rexroth AG


and Controls

97/128

Rexroth IndraDrive Firmware Libraries


Input variable

Data type

Description

Enable

BOOL

The function block is status-controlled. With "Enable"=TRUE the command is


started, with "Enable"=FALSE it is cleared

ParameterNumber

DINT

At the input "ParameterNumber" apply the IDN of the parameter the current
value of which is to be read.
Any new parameter number will only be applied with the next positive edge at
the "Enable" input

Fig.1-256:

Input variables of the firmware function block "MB_ReadRealParame


ter"

Output variable

Data type

Description

Done

BOOL

With "Done"=TRUE the function block signals that the processing of the task
has been successfully completed

Active

BOOL

For remote axes, "Active"=TRUE signals that the function block has accepted
the processing command, for single axes this output is not set!

Error

BOOL

With "Error"=TRUE the function block signals that an error is present

ErrorID *

ERROR_CODE

"ErrorID" gives a rough error description

ErrorIdent *

ERROR_STRUCT

Via the elements Table, Additional1 and Additional2, "ErrorIdent" gives the
exact cause of the error

Value

REAL

If "Done"=TRUE, "Value" signals the value of the selected parameter


*

Fig.1-257:

see note below

Output variables of the firmware function block "MB_ReadRealParame


ter"

NOTE: Here you can find the list of all possible errors: chapter 1.4.2
"Reference Error Lists for Function Blocks as of Target "IndraDrive
MP03"" on page 9
Input / output variable

Data type

Description

AXIS_REF

Axis number; the following global variables can be transmitted

(VAR_IN_OUT)
Axis

"Axis1" (axis for MLDS)


As of target system "IndraDrive MP04": "Axis1" (local axis or only axis for MLDM), "Axis2" to "Axis8" (first or last slave in the order of the list "P04031,
Overview of device addresses")

Fig.1-258:

Input / output variable of the firmware function block "MB_ReadReal


Parameter"

MB_ReadSercosDataStatus
With the function block "MB_ReadSercosDataStatus" it is possible to read the
status of a parameter.
At the input "ParameterNumber" you have to apply the parameter number of
the parameter the status of which is to be read.
List and string parameters cannot be read with the function block.
Error-free processing is signaled by "Done"=TRUE. Incorrect processing is sig
naled by "Error"=TRUE. In the case of error, a detailed description of the error
is output at the outputs "ErrorID" and "ErrorIdent".

98/128

Bosch Rexroth AG | Electric Drives


and Controls

Rexroth IndraDrive | Library Description

Rexroth IndraDrive Firmware Libraries


Target system

Function block name Library

Area

IndraDrive MP04

MB_ReadSercosDa MX_Base.lib
taStatus

Drive Control / Pa
rameter

Fig.1-259:

Library assignment

Fig.1-260:

Firmware function block "MB_ReadSercosDataStatus"

Input variable

Data type

Description

Enable

BOOL

The function block is status-controlled. The input variables are applied with the
positive edge of "Enable". New input values only take effect via the repeated
positive edge of "Enable".

ParameterNumber

DINT

At the input "ParameterNumber" you have to apply the parameter number of


the parameter the status of which is to be read

Fig.1-261:

Input variables of the firmware function block "MB_ReadSercosDataS


tatus"

Output varia
ble

Data type

Description

Done

BOOL

With "Done"=TRUE the function block signals that the processing of


the function block has been successfully completed

Active

BOOL

For remote axes, "Active"=TRUE signals that the function block has
accepted the processing command, for single axes this output is not
set!

Error

BOOL

With "Error"=TRUE the function block signals that an error is present

ErrorID *

ERROR_CODE

"ErrorID" gives a rough error description

Library Description | Rexroth IndraDrive

Electric Drives | Bosch Rexroth AG


and Controls

99/128

Rexroth IndraDrive Firmware Libraries


Output varia
ble

Data type

Description

ErrorIdent *

ERROR_STRUCT

Via the elements Table, Additional1 and Additional2, "ErrorIdent" gives


the exact cause of the error

Status

MB_SERCOS_DATA_STATUS

The output displays the current status of the parameter.


Enum values for output "Status":
"MB_SERCOS_DATA_NOT_SET": command has not been set
"MB_SERCOS_DATA_SETTING": command has been set
"MB_SERCOS_DATA_END_OK": command completed without error
"MB_SERCOS_DATA_INTERRUPTED": command interrupted
"MB_SERCOS_DATA_IN_PROCESS": command being processed
"MB_SERCOS_DATA_BREAK_ERROR": command aborted with er
ror
"MB_SERCOS_DATA_DATUM_FAULT": invalid operating data

see note below

Fig.1-262:

Output variables of the firmware function block "MB_ReadSercosDa


taStatus"

NOTE: Here you can find the list of all possible errors: chapter 1.4.2
"Reference Error Lists for Function Blocks as of Target "IndraDrive
MP03"" on page 9
Input / output variable

Data type

Description

AXIS_REF

Axis number; the following global variables can be transmitted

(VAR_IN_OUT)
Axis

"Axis1" (axis for MLDS)


"Axis1" (local axis or only axis for MLD-M), "Axis2" to "Axis8" (first or last slave
in the order of the list "P04031, Overview of device addresses")

Fig.1-263:

Input / output variable of the firmware function block "MB_ReadSercos


DataStatus"

MB_ReadSercosAttribute
With the function block "MB_ReadSercosAttribute" it is possible to read the
SERCOS attribute of a parameter.
At the input "ParameterNumber" you have to apply the parameter number of
the parameter the SERCOS attribute of which is to be read. The processing of
the function block is started with a rising edge at the "Execute" input. Error-free
processing is signaled by "Done"=TRUE. Incorrect processing is signaled by
"Error"=TRUE. In the case of error, a detailed description of the error is output
at the outputs "ErrorID" and "ErrorIdent".
Target system

Library

Range

IndraDrive MP03

Base_MP03.lib

Drive Control / Pa
rameter

IndraDrive MP04

MX_Base.lib

Drive Control / Pa
rameter

Fig.1-264:

Library assignment

100/128

Bosch Rexroth AG | Electric Drives


and Controls

Rexroth IndraDrive | Library Description

Rexroth IndraDrive Firmware Libraries

Fig.1-265:

Firmware function block "MB_ReadSercosAttribute"

Input variable

Data type

Description

Execute

BOOL

The function block is activated with a rising edge at "Execute". With a falling
edge, all outputs are reset

ParameterNumber

DINT

At the input "ParameterNumber" you have to apply the parameter number of


the parameter the SERCOS attribute of which is to be read.
NOTE: Any new parameter number will only be applied with the next positive
edge at the "Execute" input.

Fig.1-266:

Input variables of the firmware function block "MB_ReadSercosAttri


bute"

Output variable

Data type

Description

Done

BOOL

With "Done"=TRUE the function block signals that the cyclic reading of the
SERCOS attribute is successfully running

Active

BOOL

For remote axes, "Active"=TRUE signals that the function block has accepted
the processing command, for single axes this output is not set!

Error

BOOL

With "Error"=TRUE the function block signals that an error is present

ErrorID *

ERROR_CODE

"ErrorID" gives a rough error description

ErrorIdent *

ERROR_STRUCT

Via the elements Table, Additional1 and Additional2, "ErrorIdent" gives the
exact cause of the error

Attribute

DWORD

If "Done"=TRUE, "Attribute" signals the attribute of the selected parameter


*

Fig.1-267:

see note below

Output variables of the firmware function block "MB_ReadSercosAttri


bute"

NOTE: Here you can find the list of all possible errors: chapter 1.4.2
"Reference Error Lists for Function Blocks as of Target "IndraDrive
MP03"" on page 9

Library Description | Rexroth IndraDrive

Electric Drives | Bosch Rexroth AG


and Controls

101/128

Rexroth IndraDrive Firmware Libraries


Input / output variable

Data type

Description

AXIS_REF

Axis number; the following global variables can be transmitted

(VAR_IN_OUT)
Axis

"Axis1" (axis for MLDS)


As of target system "IndraDrive MP04V10": "Axis1" (local axis or only axis for
MLD-M), "Axis2" to "Axis8" (first or last slave in the order of the list "P04031,
Overview of device addresses")

Fig.1-268:

Input / output variable of the firmware function block "MB_ReadSerco


sAttribute"

MB_ReadUnit / MX_ReadUnit
With the function block "MB_ReadUnit" or "MX_ReadUnit" it is possible to read
the unit of a parameter.
At the input "ParameterNumber" you have to apply the parameter number of
the parameter the unit of which is to be read. The processing of the function
block is started with a rising edge at the "Execute" input. Error-free processing
is signaled by "Done"=TRUE. Incorrect processing is signaled by
"Error"=TRUE. In the case of error, a detailed description of the error is output
at the outputs "ErrorID" and "ErrorIdent".
Target system

Function block name

Library

Range

IndraDrive MP03

MX_ReadUnit

Base_MP03.lib

Drive Control / Parameter

IndraDrive MP04

MB_ReadUnit

MX_Base.lib

Drive Control / Parameter

Fig.1-269:

Library assignment

Fig.1-270:

Firmware function block "MB_ReadUnit" (looks like firmware function


block "MX_ReadUnit", except for the function block name)

Input variable

Data type

Description

Execute

BOOL

The function block is activated with a rising edge at "Execute". With a falling
edge, all outputs are reset

ParameterNumber

DINT

At the input "ParameterNumber" you have to apply the parameter number of


the parameter the unit of which is to be read

Fig.1-271:

Input variables of the firmware function block "MB_ReadUnit" /


"MX_ReadUnit"

102/128

Bosch Rexroth AG | Electric Drives


and Controls

Rexroth IndraDrive | Library Description

Rexroth IndraDrive Firmware Libraries


Output variable

Data type

Description

Done

BOOL

With "Done"=TRUE the function block signals that the processing of the task
has been successfully completed

Active

BOOL

For remote axes, "Active"=TRUE signals that the function block has accepted
the processing command, for single axes this output is not set!

Error

BOOL

With "Error"=TRUE the function block signals that an error is present

ErrorID *

ERROR_CODE

"ErrorID" gives a rough error description

ErrorIdent *

ERROR_STRUCT

Via the elements Table, Additional1 and Additional2, "ErrorIdent" gives the
exact cause of the error

Unit

DINT

If "Done"=TRUE, "Unit" signals the unit of the selected parameter


*

Fig.1-272:

see note below

Output variables of the firmware function block "MB_ReadUnit" /


"MX_ReadUnit"

NOTE: Here you can find the list of all possible errors: chapter 1.4.2
"Reference Error Lists for Function Blocks as of Target "IndraDrive
MP03"" on page 9
Input / output variable

Data type

Description

AXIS_REF

Axis number; the following global variables can be transmitted

(VAR_IN_OUT)
Axis

"Axis1" (axis for MLDS)


As of target system "IndraDrive MP04V10": "Axis1" (local axis or only axis for
MLD-M), "Axis2" to "Axis8" (first or last slave in the order of the list "P04031,
Overview of device addresses")

Fig.1-273:

Input / output variables of the firmware function block "MB_ReadUnit" /


"MX_ReadUnit"

MB_ReadStringParameter
With the function block "MB_ReadStringParameter" it is possible to read a pa
rameter the operating data of which has the ASCII format (string).
The function block "MB_ReadStringParameter" can work on the lo
cal axis ("Axis1") and via SERCOS III on remote axes ("Axis2",
"Axis3", ...).
At the input "ParameterNumber" you have to apply the parameter number of
the parameter the operating data of which is to be read. The processing of the
function block is started with a rising edge at the "Execute" input.
To test the function block the instance variable "ActivateCounter"
can be used. It counts the positive edges of the "Execute" signal
and thereby signals whether the function block is run with edge.
Local Axis

When the function block is used for a local axis, all characters of the selected
ASCII parameter are immediately read when the function block is called.

Remote Axes

When the function block is used for remote axes, the read request is ceded to
the service channel (SERCOS III). Only at a later call can the function block
signal "Done".
The outputs "Done", "Active" and "Error" have to be cyclically polled.

Library Description | Rexroth IndraDrive

Electric Drives | Bosch Rexroth AG


and Controls

103/128

Rexroth IndraDrive Firmware Libraries


The data transmission can take several milliseconds, depending on the text
length.
Target system

Library

Range

IndraDrive MP04

MX_Base.lib

Drive Control / Pa
rameter

Fig.1-274:

Library assignment

Fig.1-275:

Firmware function block "MB_ReadStringParameter"

Input variable

Data type

Description

Execute

BOOL

The function block is activated with a rising edge at "Execute". With a falling
edge, all outputs are reset

ParameterNumber

DINT

At the input "ParameterNumber" you have to apply the parameter number of


the parameter the operating data of which is to be read

Fig.1-276:

Input variables of the firmware function block "MB_ReadStringParame


ter"

Output variable

Data type

Description

Done

BOOL

With "Done"=TRUE the function block signals that the processing of the task
has been successfully completed

Active

BOOL

For remote axes, "Active"=TRUE signals that the function block has accepted
the processing command, for single axes this output is not set!

Error

BOOL

With "Error"=TRUE the function block signals that an error is present

ErrorID *

ERROR_CODE

"ErrorID" gives a rough error description

ErrorIdent *

ERROR_STRUCT

Via the elements Table, Additional1 and Additional2, "ErrorIdent" gives the
exact cause of the error

Value

STRING(255)

"Value" provides the operating data of the selected parameter


*

Fig.1-277:

see note below

Output variables of the firmware function block "MB_ReadStringPara


meter"

NOTE: Here you can find the list of all possible errors: chapter 1.4.2
"Reference Error Lists for Function Blocks as of Target "IndraDrive
MP03"" on page 9

104/128

Bosch Rexroth AG | Electric Drives


and Controls

Rexroth IndraDrive | Library Description

Rexroth IndraDrive Firmware Libraries


Input / output variable

Data type

Description

AXIS_REF

Axis number; the following global variables can be transmitted

(VAR_IN_OUT)
Axis

"Axis1" (axis for MLDS)


"Axis1" (local axis or only axis for MLD-M), "Axis2" to "Axis8" (first or last slave
in the order of the list "P04031, Overview of device addresses")

Fig.1-278:

Input / output variable of the firmware function block "MB_ReadString


Parameter"

MB_WriteParameter
With the function block "MB_WriteParameter" it is possible to write a defined
value to a parameter. To do this, at the input "ParameterNumber" you have to
apply the parameter number of the parameter the value of which is to be written.
The value which is to be written to the parameter has to be applied at the input
"Value" and be of type DINT.
List and string parameters cannot be written with "MB_WritePara
meter".
According to the scaling, the parameter has decimal places which
have to be taken into account and used for calculation
Storage behavior of "MB_WriteParameter" in "IndraDrive MP03"
and "IndraDrive MP04" with local axes: Parameter changes are
generally written in unbuffered form! Subsequent storage in the in
ternal memory or on the MMC is only possible via "S-0-0293, C2400
Selectively backup working memory procedure command".
Storage behavior of "MB_WriteParameter" in "IndraDrive MP04" as
of version 10 with remote axes: Depending on parameter
"S00269, Storage mode", the changed parameter value is stored
in the device-internal, non-volatile memory ("flash") or on the Mul
tiMediaCard (MMC), either immediately or by executing the com
mand "S00264, C2200 Backup working memory procedure
command".

Destruction of the fixed value parameter memory by constant activation/


execution of the function block!
CAUTION

When the function block is frequently executed, set "S00269, Storage mode"
in such a way that changed parameter values are only stored by executing the
command "S00264, C2200 Backup working memory procedure command" in
the device-internal, non-volatile memory ("flash") or on the MultiMediaCard
(MMC).
To test the function block "MB_WriteParameter" the instance vari
able "ActivateCounter" can be used. It counts the positive edges of
the "Execute" signal and thereby signals whether the function block
is run with edge.

Library Description | Rexroth IndraDrive

Electric Drives | Bosch Rexroth AG


and Controls

105/128

Rexroth IndraDrive Firmware Libraries


Target system

Library

Range

IndraDrive MP03

Base_MP03.lib

Drive Control / Pa
rameter

IndraDrive MP04

MX_Base.lib

Drive Control / Pa
rameter

Fig.1-279:

Library assignment

Fig.1-280:

Firmware function block "MB_WriteParameter"

Input variable

Data type

Description

Execute

BOOL

The function block is activated with a rising edge at "Execute". With a falling
edge, all outputs are reset

ParameterNumber

DINT

At the input "ParameterNumber", apply the parameter number of the parameter


to be written

Value

DINT

At the input "Value", apply the value which is to be written to the parameter.
Take the scaling of the selected parameter into account

Fig.1-281:

Input variables of the firmware function block "MB_WriteParameter"

Output variable

Data type

Description

Done

BOOL

With "Done"=TRUE the function block signals that the processing of the task
has been successfully completed

Active

BOOL

For remote axes, "Active"=TRUE signals that the function block has accepted
the processing command, for single axes this output is not set!

Error

BOOL

With "Error"=TRUE the function block signals that an error is present

ErrorID *

ERROR_CODE

"ErrorID" gives a rough error description

ErrorIdent *

ERROR_STRUCT

Via the elements Table, Additional1 and Additional2, "ErrorIdent" gives the
exact cause of the error

Fig.1-282:

see note below

Output variables of the firmware function block "MB_WriteParameter"

NOTE: Here you can find the list of all possible errors: chapter 1.4.2
"Reference Error Lists for Function Blocks as of Target "IndraDrive
MP03"" on page 9

106/128

Bosch Rexroth AG | Electric Drives


and Controls

Rexroth IndraDrive | Library Description

Rexroth IndraDrive Firmware Libraries


Input / output variable

Data type

Description

AXIS_REF

Axis number; the following global variables can be transmitted

(VAR_IN_OUT)
Axis

"Axis1" (axis for MLDS)


As of target system "IndraDrive MP04V12": "Axis1" (local axis or only axis for
MLD-M), "Axis2" to "Axis8" (first or last slave in the order of the list "P04031,
Overview of device addresses")

Fig.1-283:

Input / output variable of the firmware function block "MB_WritePara


meter"

MB_WriteListParameter
With the function block "MB_WriteListParameter" it is possible to write defined
values to a list parameter.
The function block "MB_WriteListParameter" can work on the local
axis ("Axis1") and via SERCOS III on remote axes ("Axis2", "Ax
is3", ...).
The IDN of the list parameter to be written has to be applied at the input "Pa
rameterNumber".
Depending on parameter "S00269, Storage mode", the changed
parameter value is stored in the device-internal, non-volatile mem
ory ("flash") or on the MultiMediaCard (MMC), either immediately
or by executing the command "S00264, C2200 Backup working
memory procedure command".

Destruction of the fixed value parameter memory by constant activation/


execution of the function block!
When the function block is frequently executed, set "S00269, Storage mode"
in such a way that changed parameter values are only stored by executing the
command "S00264, C2200 Backup working memory procedure command" in
the device-internal, non-volatile memory ("flash") or on the MultiMediaCard
(MMC).

CAUTION

To test the function block "MB_ReadListParameter" the instance


variable "ActivateCounter" can be used. It counts the positive edges
of the "Execute" signal and thereby signals whether the function
block is run with edge.
Local Axis

When the function block is used for a local axis, all list elements of the applied
array are immediately written when the function block is called. After that the
control goes back to the program and TRUE is provided at the output "Done".

Library Description | Rexroth IndraDrive

Electric Drives | Bosch Rexroth AG


and Controls

107/128

Rexroth IndraDrive Firmware Libraries


You should observe that the writing process can take some time,
depending on the amount of data to be read; if necessary, you
should use a separate task.
Example: To write all list elements of parameter P00072 (1024
long words), approx. 16 ms are required with Advanced control
section.
It is better to write only the actually required elements; if, for exam
ple, 8 elements of parameter "P00072, Cam shaft profile 1" are to
be written (one element of parameter P-0-0072 consists of 4 bytes),
"32" has to be applied to "NoOfBytes" (8*4).
Remote Axes

When the function block is used for remote axes, the write request is ceded to
the service channel (SERCOS III). Only at a later call can the function block
signal "Done".
The outputs "Done", "Active" and "Error" have to be cyclically polled.
The data transmission can take several seconds, depending on the amount of
data.
Target system

Library

Range

IndraDrive MP04

MX_Base.lib

Drive Control / Parameter

Fig.1-284:

Library assignment

Fig.1-285:

Firmware function block "MB_WriteListParameter"

Input variable

Data type

Description

Enable

BOOL

The function block is status-controlled. With "Enable"=TRUE the function block


is activated, with "Enable"=FALSE all outputs are reset

ParameterNumber

DINT

At the input "ParameterNumber", apply the IDN of the list parameter to be writ
ten

NoOfBytes

UINT

The number of bytes to be written has to be indicated at the input "NoOfBytes"

ValueAdr

POINTER TO BYTE At the input "ValueAdr" indicate the initial address of the field to which the bytes
that have been read are to be written.
Example: ValueAdr := ADR(arFeld1)

Fig.1-286:

Input variables of the firmware function block "MB_WriteListParameter"

108/128

Bosch Rexroth AG | Electric Drives


and Controls

Rexroth IndraDrive | Library Description

Rexroth IndraDrive Firmware Libraries


Output variable

Data type

Description

Done

BOOL

With "Done"=TRUE the function block signals that the processing of the task
has been successfully completed

Active

BOOL

For remote axes, "Active"=TRUE signals that the function block has accepted
the processing command, for single axes this output is not set!

Error

BOOL

With "Error"=TRUE the function block signals that an error is present

ErrorID *

ERROR_CODE

"ErrorID" gives a rough error description

ErrorIdent *

ERROR_STRUCT

Via the elements Table, Additional1 and Additional2, "ErrorIdent" gives the
exact cause of the error

Fig.1-287:

see note below

Output variables of the firmware function block "MB_WriteListParame


ter"

NOTE: Here you can find the list of all possible errors: chapter 1.4.2
"Reference Error Lists for Function Blocks as of Target "IndraDrive
MP03"" on page 9
Input / output variable

Data type

Description

AXIS_REF

Axis number; the following global variables can be transmitted

(VAR_IN_OUT)
Axis

"Axis1" (axis for MLDS)


As of target system "IndraDrive MP04V08": "Axis1" (local axis or only axis for
MLD-M), "Axis2" to "Axis8" (first or last slave in the order of the list "P04031,
Overview of device addresses")

Fig.1-288:

Input / output variable of the firmware function block "MB_WriteList


Parameter"

MB_WriteRealParameter
With the function block "MB_WriteRealParameter" you can write a defined val
ue to the parameter belonging to the parameter number. The value which is to
be written to the parameter must be of type REAL.
Storage behavior of "MB_WriteRealParameter" in "IndraDrive
MP03" and "IndraDrive MP04" with local axes: Parameter changes
are generally written in unbuffered form! Subsequent storage in the
internal memory or on the MMC is only possible via "S-0-0293,
C2400 Selectively backup working memory procedure command".
Storage behavior of "MB_WriteRealParameter" in "IndraDrive
MP04" as of version 10 with remote axes: Depending on parameter
"S00269, Storage mode", the changed parameter value is stored
in the device-internal, non-volatile memory ("flash") or on the Mul
tiMediaCard (MMC), either immediately or by executing the com
mand "S00264, C2200 Backup working memory procedure
command".

Library Description | Rexroth IndraDrive

Electric Drives | Bosch Rexroth AG


and Controls

109/128

Rexroth IndraDrive Firmware Libraries

Destruction of the fixed value parameter memory by constant activation/


execution of the function block!
When the function block is frequently executed, set "S00269, Storage mode"
in such a way that changed parameter values are only stored by executing the
command "S00264, C2200 Backup working memory procedure command" in
the device-internal, non-volatile memory ("flash") or on the MultiMediaCard
(MMC).

CAUTION

List and string parameters cannot be written with the function block
"MB_WriteRealParameter". For writing list parameters please use
the function block "MB_WriteListParameter".

Property damage when writing parameters of remote axes!


When parameters of remote axes are written, the scaling is carried out accord
ing to the setting of the master which can be wrong. This is probably corrected
in MPx04V08.

CAUTION

Target system

Library

Range

IndraDrive MP03

Base_MP03.lib

Drive Control / Parameter

IndraDrive MP04

MX_Base.lib

Drive Control / Parameter

Fig.1-289:

Library assignment

Fig.1-290:

Firmware function block "MB_WriteRealParameter"

Input variable

Data type

Description

Execute

BOOL

The function block is activated with a rising edge at "Execute". With a falling
edge, all outputs are reset

ParameterNumber

DINT

At the input "ParameterNumber", apply the IDN of the list parameter to be writ
ten

Value

REAL

At the input "Value", apply the value which is to be written to the parameter.
Take the scaling of the selected parameter into account

Fig.1-291:

Input variables of the firmware function block "MB_WriteRealParameter"

110/128

Bosch Rexroth AG | Electric Drives


and Controls

Rexroth IndraDrive | Library Description

Rexroth IndraDrive Firmware Libraries


Output variable

Data type

Description

Done

BOOL

With "Done"=TRUE the function block signals that the processing of the task
has been successfully completed

Active

BOOL

For remote axes, "Active"=TRUE signals that the function block has accepted
the processing command, for single axes this output is not set!

Error

BOOL

With "Error"=TRUE the function block signals that an error is present

ErrorID *

ERROR_CODE

"ErrorID" gives a rough error description

ErrorIdent *

ERROR_STRUCT

Via the elements Table, Additional1 and Additional2, "ErrorIdent" gives the
exact cause of the error

Fig.1-292:

see note below

Output variables of the firmware function block "MB_WriteRealParame


ter"

NOTE: Here you can find the list of all possible errors: chapter 1.4.2
"Reference Error Lists for Function Blocks as of Target "IndraDrive
MP03"" on page 9
Input / output variable

Data type

Description

AXIS_REF

Axis number; the following global variables can be transmitted

(VAR_IN_OUT)
Axis

"Axis1" (axis for MLDS)


As of target system "IndraDrive MP04": "Axis1" (local axis or only axis for MLDM), "Axis2" to "Axis8" (first or last slave in the order of the list "P04031,
Overview of device addresses")

Fig.1-293:

Input / output variable of the firmware function block "MB_WriteReal


Parameter"

MB_WriteStringParameter
With the function block "MB_WriteStringParameter" it is possible to write a pa
rameter the operating data of which has the ASCII format (string).
Depending on parameter "S00269, Storage mode", the changed
parameter value is stored in the device-internal, non-volatile mem
ory ("flash") or on the MultiMediaCard (MMC), either immediately
or by executing the command "S00264, C2200 Backup working
memory procedure command".

Destruction of the fixed value parameter memory by constant activation/


execution of the function block!
CAUTION

When the function block is frequently executed, set "S00269, Storage mode"
in such a way that changed parameter values are only stored by executing the
command "S00264, C2200 Backup working memory procedure command" in
the device-internal, non-volatile memory ("flash") or on the MultiMediaCard
(MMC).
The function block "MB_WriteStringParameter" can work on the lo
cal axis ("Axis1") and via SERCOS III on remote axes ("Axis2",
"Axis3", ...).

Library Description | Rexroth IndraDrive

Electric Drives | Bosch Rexroth AG


and Controls

111/128

Rexroth IndraDrive Firmware Libraries


At the input "ParameterNumber" you have to apply the parameter number of
the parameter the operating data of which is to be written. The processing of
the function block is started with a rising edge at the "Execute" input.
To test the function block the instance variable "ActivateCounter"
can be used. It counts the positive edges of the "Execute" signal
and thereby signals whether the function block is run with edge.
Local Axis

When the function block is used for a local axis, all characters of the selected
ASCII parameter are immediately written when the function block is called.

Remote Axes

When the function block is used for remote axes, the write request is ceded to
the service channel (SERCOS III). Only at a later call can the function block
signal "Done".
The outputs "Done", "Active" and "Error" have to be cyclically polled.
The data transmission can take several milliseconds, depending on the text
length.
Target system

Library

Range

IndraDrive MP04

MX_Base.lib

Drive Control / Parameter

Fig.1-294:

Library assignment

Fig.1-295:

Firmware function block "MB_WriteStringParameter"

Input variable

Data type

Description

Execute

BOOL

The function block is activated with a rising edge at "Execute". With a falling
edge, all outputs are reset

ParameterNumber

DINT

At the input "ParameterNumber" you have to apply the parameter number of


the ASCII parameter the operating data of which is to be written.

Value

STRING(255)

At the input "Value", apply the value which is to be written to the ASCII pa
rameter.

Fig.1-296:

Input variables of the firmware function block "MB_WriteStringParame


ter"

Output variable

Data type

Description

Done

BOOL

With "Done"=TRUE the function block signals that the processing of the task
has been successfully completed

Active

BOOL

For remote axes, "Active"=TRUE signals that the function block has accepted
the processing command, for single axes this output is not set!

112/128

Bosch Rexroth AG | Electric Drives


and Controls

Rexroth IndraDrive | Library Description

Rexroth IndraDrive Firmware Libraries


Output variable

Data type

Description

Error

BOOL

With "Error"=TRUE the function block signals that an error is present

ErrorID *

ERROR_CODE

"ErrorID" gives a rough error description

ErrorIdent *

ERROR_STRUCT

Via the elements Table, Additional1 and Additional2, "ErrorIdent" gives the
exact cause of the error

see note below

Fig.1-297:

Output variables of the firmware function block "MB_WriteStringPara


meter"

NOTE: Here you can find the list of all possible errors: chapter 1.4.2
"Reference Error Lists for Function Blocks as of Target "IndraDrive
MP03"" on page 9
Input / output variable

Data type

Description

AXIS_REF

Axis number; the following global variables can be transmitted

(VAR_IN_OUT)
Axis

"Axis1" (axis for MLDS)


"Axis1" (local axis or only axis for MLD-M), "Axis2" to "Axis8" (first or last slave
in the order of the list "P04031, Overview of device addresses")

Fig.1-298:

Input / output variable of the firmware function block "MB_WriteString


Parameter"

MX_ReadParamDINT
The function block "MX_ReadParamDINT" is used to read a parameter value
and return it as DINT.
Among other things, the function block gives a feedback as to whether the
reading was successful.
For unsigned parameters with 32 bits the return value can be converted with
the function "DINT_TO_UDINT".
Target system

Library

Range

IndraDrive MPH02

Base_MPH02.lib

Drive Control / Parameter

IndraDrive MP03

Base_MP03.lib

Drive Control / Parameter

IndraDrive MP04

MX_Base.lib

Drive Control / Parameter

Fig.1-299:

Library assignment

Library Description | Rexroth IndraDrive

Electric Drives | Bosch Rexroth AG


and Controls

113/128

Rexroth IndraDrive Firmware Libraries

Fig.1-300:

Firmware function block "MX_ReadParamDINT"

Input variable

Data type

Description

Enable

BOOL

The function block is activated with "Enable"=TRUE. All outputs are reset with
"Enable"=FALSE

Ident

DINT

IDN of the parameter (e.g. FP_S_0_0052)

ListElem

INT

List element number: for list parameters starting with "0" and for single parameter
always "0"
"-1" for reading the actual length (only allowed for list parameters)
"-2" for reading the maximum length (only allowed for list parameters)

Fig.1-301:

Input variables of the firmware function block "MX_ReadParamDINT"

Output variable

Data type

Description

Done

BOOL

With "Done"=TRUE the function block signals that the processing of the task has
been successfully completed

Active

BOOL

For remote axes, "Active"=TRUE signals that the function block has accepted the
processing command, for single axes this output is not set!

Error

BOOL

With "Error"=TRUE the function block signals that an error is present

ErrorID

ERROR_CODE

"ErrorID" gives a rough error description


Target "IndraDrive MPH02": fig. 1-304 " Descriptions of "ErrorID" of the firmware
function block "MX_ReadParamDINT" in target "IndraDrive MPH02"" on page
114
Target "IndraDrive MP03": chapter 1.4.2 "Reference Error Lists for Function
Blocks as of Target "IndraDrive MP03"" on page 9

ErrorIdent

ERROR_STRUCT

Via the elements Table, Additional1 and Additional2, "ErrorIdent" gives the exact
cause of the error; see chapter 1.4.2 "Reference Error Lists for Function Blocks
as of Target "IndraDrive MP03"" on page 9

DINT

When the output "Done"=TRUE, "Value" displays the value of the selected ele
ment

(as of MPx03VRS)
Value

Fig.1-302:

Output variables of the firmware function block "MX_ReadParamDINT"

114/128

Bosch Rexroth AG | Electric Drives


and Controls

Rexroth IndraDrive | Library Description

Rexroth IndraDrive Firmware Libraries


Input / output variable

Data type

Description

AXIS_REF

Axis number (only the global variable "Axis1" can be transmitted here)

(VAR_IN_OUT)
Axis

Fig.1-303:

Input / output variable of the firmware function block "MX_ReadParam


DINT"

ErrorID

Description

RESSOURCE_ERROR

Invalid axis reference

ACCESS_ERROR

Access not allowed

INPUT_RANGE_ERROR

IDN is not available

Fig.1-304:

Descriptions of "ErrorID" of the firmware function block "MX_ReadPar


amDINT" in target "IndraDrive MPH02"

MX_SetCmdState
With the firmware function block "MX_SetCmdState" it is possible to set the
command status of "P01449, C4900 PLC command".
Target system

Library

Range

IndraDrive MP04

MX_Base.lib

Drive Control / Parameter

Fig.1-305:

Library assignment

Fig.1-306:

Firmware function block "MX_SetCmdState"

Input variable

Data type

Description

Enable

BOOL

The function block is status-controlled. With "Enable"=TRUE the command


is started, with "Enable"=FALSE it is cleared

CmdStatus

MX_CMD_STATUS

At the input "CmdStatus", the following values can be transmitted to the func
tion block:

"MX_CMD_NO_ACTIVE": command has not been set

"MX_CMD_SETTING": command has been set

"MX_CMD_END_OK": command completed without error

"MX_CMD_IS_BREAK": command interrupted

"MX_CMD_IS_WORK": command has been set and enabled

"MX_CMD_BREAK_ERROR": command aborted with error

Library Description | Rexroth IndraDrive

Electric Drives | Bosch Rexroth AG


and Controls

115/128

Rexroth IndraDrive Firmware Libraries


Input variable

Data type

Description

DiagNo

DINT

For the case "CmdStatus"==MX_CMD_BREAK_ERROR, a command error


number can be transmitted.
1: C4901 PLC command error no. 1
2: C4902 PLC command error no. 2
3: C4903 PLC command error no. 3
4: C4904 PLC command error no. 4

Axis

AXIS_REF

Axis number (only the global variable "Axis1" can be transmitted here)

Fig.1-307:

Input variables of the firmware function block "MX_SetCmdState"

Output variable

Data type

Description

Done

BOOL

With "Done"=TRUE the function block signals that the processing of the task
has been successfully completed

Error

BOOL

With "Error"=TRUE the function block signals that an error is present

ErrorID *

ERROR_CODE

"ErrorID" gives a rough error description

ErrorIdent *

ERROR_STRUCT

Via the elements Table, Additional1 and Additional2, "ErrorIdent" gives the
exact cause of the error

see note below

Fig.1-308:

Output variables of the firmware function block "MX_SetCmdState"

NOTE: Here you can find the list of all possible errors: chapter 1.4.2
"Reference Error Lists for Function Blocks as of Target "IndraDrive
MP03"" on page 9

MX_WriteParamDINT
The firmware function block "MX_WriteParamDINT" is used to write a param
eter. It is possible to write in unbuffered or buffered form.
In the case of buffered writing, the parameter values every time are
transferred to the non-volatile memory. As this takes much calcu
lating time, data should only be written in buffered form if necessary.
For list parameters only the last write access should take place with
"WriteBuffered"=TRUE, as the entire list is buffered at each access.
While a parameter is buffered, another access with buffering will fail
(ACCESS_ERROR).
For unsigned parameters with 32 bits the input value "Value" can simply be
converted with the function "UDINT_TO_DINT".
Target system

Library

Area

IndraDrive MPH02

Base_MPH02.lib

Drive Control / Parameter

IndraDrive MP03

Base_MP03.lib

Drive Control / Parameter

IndraDrive MP04

MX_Base.lib

Drive Control / Parameter

Fig.1-309:

Library assignment

116/128

Bosch Rexroth AG | Electric Drives


and Controls

Rexroth IndraDrive | Library Description

Rexroth IndraDrive Firmware Libraries

!Changes

Fig.1-310:

summary of changes MPx02 MPx03: kind of activation input ("Enable"


or "Execute"); output "Active"

Firmware function block "MX_WriteParamDINT"

Input variable

Data type

Description

Execute

BOOL

The function block is activated with a rising edge at "Execute". All outputs are
reset with a falling edge at "Execute".

BOOL

For MPH02VRS the function block is status-controlled. With "Enable"=TRUE the


function block is activated, with "Enable"=FALSE all outputs are reset

Ident

DINT

IDN of the parameter (e.g. FP_S_0_0052)

ListElem

INT

With the input "ListElem" you have to specify the element which is to be written.

(as of MPx03VRS)
Enable
(only MPH02VRS)

List element number:


for list parameters starting with "0" and for single parameter always "0"
"-1" for writing the actual length (only allowed for list parameters)
Value

DINT

At the input "Value", apply the value which is to be written to the parameter. Take
the scaling of the selected parameter into account. According to the scaling, the
parameter has decimal places which have to be taken into account and used for
calculation

WriteBuffered

BOOL

With "WriteBuffered"=TRUE the value is written in buffered form, if the parameter


has been designed for this purpose. With FALSE the parameter is always written
in unbuffered form

Fig.1-311:

Input variables of the firmware function block "MX_WriteParamDINT"

Output variable

Data type

Description

Done

BOOL

With "Done"=TRUE the function block signals that the processing of the task has
been successfully completed

Active

BOOL

For remote axes, "Active"=TRUE signals that the function block has accepted the
processing command, for single axes this output is not set!

Error

BOOL

With "Error"=TRUE the function block signals that an error is present

Library Description | Rexroth IndraDrive

Electric Drives | Bosch Rexroth AG


and Controls

117/128

Rexroth IndraDrive Firmware Libraries


Output variable

Data type

Description

ErrorID

ERROR_CODE

"ErrorID" gives a rough error description


Target "IndraDrive MPH02": fig. 1-314 " Descriptions of "ErrorID" of the firmware
function block "MX_WriteParamDINT" in target "IndraDrive MPH02"" on page
117
Target "IndraDrive MP03": chapter 1.4.2 "Reference Error Lists for Function
Blocks as of Target "IndraDrive MP03"" on page 9

ErrorIdent

ERROR_STRUCT

(as of MPx03VRS)

Via the elements Table, Additional1 and Additional2, "ErrorIdent" gives the exact
cause of the error; see chapter 1.4.2 "Reference Error Lists for Function Blocks
as of Target "IndraDrive MP03"" on page 9

Fig.1-312:
Input / output variable

Output variables of the firmware function block "MX_WriteParamDINT"

Data type

Description

AXIS_REF

Axis number (only the global variable "Axis1" can be transmitted here)

(VAR_IN_OUT)
Axis

Fig.1-313:

Input / output variable of the firmware function block "MX_WriteParam


DINT"

ErrorID

Description

RESSOURCE_ERROR

Invalid axis reference

ACCESS_ERROR

Access not allowed

INPUT_INVALID_ERROR

Parameter not available

Fig.1-314:

1.8

Descriptions of "ErrorID" of the firmware function block "MX_WritePar


amDINT" in target "IndraDrive MPH02"

"CommonTypes" Library
The following libraries contain data types and structures most of which are only
used internally:
Target system

Library

IndraDrive MPH02

CommonTypes.lib

IndraDrive MP03

CommonTypes_MP03.lib

IndraDrive MP04

RIL_CommonTypes.lib

Fig.1-315:

Library names depending on the target systems

The sections below only describe the data types and structures relevant to the
user.
Data Type "ERROR_CODE"

"ERROR_CODE" is a data type relevant to the user. With function blocks, it is


used for the output "ErrorID". The Enum value describes the error which oc
curred.
The significance of the data type "ERROR_CODE" depends on the
target system.
ERROR_CODE can have the following values:

118/128

Bosch Rexroth AG | Electric Drives


and Controls

Rexroth IndraDrive | Library Description

Rexroth IndraDrive Firmware Libraries


"ERROR_CODE"

Error number as of
IndraDrive MP03

Error num Description


ber MPx02

NONE_ERROR

16#0000

Error-free status

NONE_ERROR_CODE

Error-free status

INPUT_INVALID_ERROR

16#0001

Error due to invalid input

INPUT_INVALID_ERROR_CODE

Error due to invalid input

COMMUNICATION_ERROR

16#0002

COMMUNICATION_ERROR_CODE

Error when communication is established or


during communication

RESOURCE_ERROR

16#0003

The resource (e.g. a parameter) is not available

RESOURCE_ERROR_CODE

The resource (e.g. a parameter) is not available

ACCESS_ERROR

16#0004

The resource exists but it cannot be accessed.


Example: You want to write a parameter in
phase 4 which can only be written in phases 2
and 3

ACCESS_ERROR_CODE

An access error has occurred

STATE_MACHINE_ERROR

16#0005

The current status of the State Machine pre


vents or prohibits further processing

INPUT_RANGE_ERROR

16#0006

During processing it was detected that unde


fined or too high or too low command values
were generated due to one or several input val
ues

INPUT_RANGE_ERROR_CODE

During processing it was detected that unde


fined or too high or too low command values
were generated due to one or several input val
ues

CALCULATION_ERROR

16#0007

A calculation error has occurred [e.g. division by


"0" or "non" for Float variables (value outside of
value range)]

CALCULATION_ERROR

A calculation error has occurred [e.g. division by


"0" or "non" for Float variables (value outside of
value range)]

DEVICE_ERROR

16#0008

A higher-level device error has occurred

OTHER_ERROR

16#7FFE

An undefined error has occurred

OTHER_ERROR_CODE

254

An undefined error has occurred

SYSTEM_ERROR

16#7FFF

A system error has occurred

SYSTEM_ERROR_CODE

255

A system error has occurred

Fig.1-316:
Structure "ERROR_STRUCT"

Error when communication is established or


during communication

Significance of the data type "ERROR_CODE" for firmwares MPx02,


MPx03 and MPx04

"ERROR_STRUCT" is a structure relevant to the user. As of the target


"IndraDrive MP03", the structure is used with function blocks for the output "Er
rorIdent". "ERROR_STRUCT" contains information which describes the occur
red error in detail.
Elements of the structure "ERROR_STRUCT":

Library Description | Rexroth IndraDrive

Electric Drives | Bosch Rexroth AG


and Controls

119/128

Rexroth IndraDrive Firmware Libraries

Table
"Table" is of the ENUM type. The ENUM value refers to the list required
for identifying the specific error of "Additional1".

Additional1
"Additional1" is of the DWORD type. "Additional1" contains the specific
error number and can be used in conjunction with "Additional2" in different
ways, depending on the system.

Additional2
"Additional2" is of the DWORD type. "Additional2" can contain additional
information. Its content differs depending on the system.

1.9

Real-Time Channel for Consistent Data Exchange

1.9.1

General Information
The following libraries contain the function block "MX_SynchronControl"; with
"MX_SynchronControl" you can realize the consistent data exchange via the
real-time channel:
Target system

Library

Range

IndraDrive MPH02

DSP_MPH02.lib

RTC Control

IndraDrive MP03

DSP_MP03.lib

RTC Control

IndraDrive MP04

MX_DSP.lib

RTC Control

Fig.1-317:

Library names depending on the target systems

In the IndraDrive target systems, functions and data types of the


firmware function block partly differ. Please observe the notes in the
descriptions below, particularly in the description of the inputs/out
puts!

1.9.2

MX_SynchronControl

Control of the real-time channel (e.g. delay when writing command values)

Synchronous (equidistant) input of command values

Internal synchronization of the drive, if no 1st class master communication


is available (at present only SERCOS) (as of MPx03VRS)
You might want to have the drive internally synchronized by MLDS; this is the case when the master communication used currently
is not able to do this and MLD-S is to input cyclic command values,
which the drive is to process within one command value input clock,
for the drive in equidistant form. With "SyncDrive"=TRUE and
"Enable"=TRUE, MLD-S internally synchronizes the drive when the
RTC task time corresponds to the NC cycle time and the master
communication does not internally synchronize the drive.

Control whether the MLD-S synchronizes the drive internally (as of


MPx03VRS)

Control and measurement of the remaining time

task structure

ticks, conversion to time (s)

Information regarding possibly occurred errors

120/128

Bosch Rexroth AG | Electric Drives


and Controls

Rexroth IndraDrive | Library Description

Rexroth IndraDrive Firmware Libraries

Control whether a watchdog was present (MDT data were not calculated
in time - task took too long)

The firmware function block "MX_SynchronControl" is used to control the be


havior of a "controller task" which uses the real-time channel (RTC task).
This function block is optional.
Unless instanciated, command values with firmware MPH02VRS are synchro
nously transmitted to the drive immediately after the end of the task. With
firmware MPx03VRS, the command values are transmitted at the latest possi
ble point of time [corresponds to first position loop interrupt after RTC task cycle
time (MPH=500 s and MPB=1 ms)]. If the task has not been processed by
then, the RTcW command values are not taken into account.
If the function block has been instanciated, its parameters become effective.
Only one instance is allowed in one project.
To be able to read the RTcR actual values, at least one RTcW var
iable has to be used in the project.
The real-time channel is provided to write command values (RTcW_xxxx) and
read actual values (RTcR_xxxx) in a cyclically equidistant way. (At present, the
real-time channel can comprise 4 command values and 4 actual values.)
This is required, for example, when a command value generator is to be realized
with the integrated PLC (MLD-S) and the command values of the generator
have to be processed by the drive within one command value input clock.
Example of Application, Conditions

For example, if a virtual master axis generator is to be realized, the drive has
to correctly process the cyclic command value - in this case the virtual master
axis position ; two conditions must have been fulfilled for this purpose.
1. The command value input clock must correspond to the NC cycle time.
The cycle time of the controller task or the NC cycle time must be accord
ingly adjusted.
If the RTC task has not been processed by the point of time at
which the RTcW command values are to be written, these
command values are not taken into account. If these com
mand values fail twice in succession, "F4016 PLC double realtime channel failure" is generated (as of IndraDrive MP03).
2. The drive must have been internally synchronized.
With the target version IndraDrive MPH02, only the SERCOS
master communication synchronizes the drive internally.
As of target version IndraDrive MP03, the functionality of
"MX_SynchronControl" has been extended in such a way that
MLD-S can synchronize the drive internally, too, when no
master communication is able to do this; the input "SyncDrive"
and the output "DriveIsSync" are used for this purpose.

Library Description | Rexroth IndraDrive

Electric Drives | Bosch Rexroth AG


and Controls

121/128

Rexroth IndraDrive Firmware Libraries

Fig.1-318:

summary of changes MPH02MP03/MP04: input "SyncDrive", output


"DriveIsSync", data type and scaling of "CmdDelay", data type of "Er
rorID", output "ErrorIdent"

Firmware function block "MX_SynchronControl"

122/128

Bosch Rexroth AG | Electric Drives


and Controls

Rexroth IndraDrive | Library Description

Rexroth IndraDrive Firmware Libraries


Input variable

Data type

CmdDelay

INT

Description

The input "CmdDelay" determines after which time the RTC variables are
(as of IndraDrive MP03) to be written.
With firmware of the "MPH" type (High Performance), the following values
WORD
can be written to the input:
(IndraDrive MPH02)
"-1" (only allowed as of target version IndraDrive MP03; default value as
of MPx03VRS): the command values are transmitted at the latest possible
point of time (corresponds to first position loop interrupt after RTC task
cycle time 500 s)
"0" (default value for IndraDrive MPH02): the command values are trans
mitted at the earliest possible point of time (first position loop interrupt
after 500 s after beginning of RTC task)
Other values: "0" to ""cycle time of RTC task"1 ms"
Summarized: the command values are applied with the next position loop
interrupt after beginning of RTC task+CmdDelay [ms]+500 s
With firmware of the "MPB" type (Low Performance), the following values
can be written to the input:
"-1" (only allowed as of target version IndraDrive MP03; default value as
of MPx03VRS): the command values are transmitted at the latest possible
point of time (corresponds to first position loop interrupt after RTC task
cycle time 1 ms)
"0" (default value for IndraDrive MPH02): the command values are trans
mitted at the earliest possible point of time (first position loop interrupt
after 1 ms after beginning of RTC task)
Other values: "0" to ""cycle time of RTC task"2 ms"
Note: If an odd pos. number of ms is input for "CmdDelay", this value is
internally increased by 1 ms.
Summarized: the command values are applied with the next position loop
interrupt after beginning of RTC task+CmdDelay [ms]+1 ms

Enable

BOOL

The function block "MX_SynchronControl" is status-controlled.


The function block is activated via the input "Enable"=TRUE; with
"Enable"=FALSE all outputs are reset.

SyncDrive

BOOL

You might want to have the drive internally synchronized by MLD-S; this
is the case when the master communication used currently is not able to
do this and MLD-S is to input cyclic command values, which the drive is
to process within one command value input clock, for the drive in equi
distant form.

(as of IndraDrive MP03)

With "SyncDrive"=TRUE and "Enable"=TRUE, MLD-S internally synchro


nizes the drive when the RTC task time corresponds to the NC cycle time
and the master communication does not internally synchronize the drive.
StatReset

BOOL

With a positive edge at the input "StatReset", the statistics outputs "Rest
TicksMin", "RestTicksMax", "RestTimeMin", "RestTimeMax" and
"CmdWdg" are reset to their initial value

Fig.1-319:

Input variables of the firmware function block "MX_SynchronControl"

Library Description | Rexroth IndraDrive

Electric Drives | Bosch Rexroth AG


and Controls

123/128

Rexroth IndraDrive Firmware Libraries


Output variable

Data type

Description

DriveIsSync

BOOL

With TRUE at the output, the function block signals that MLD-S internally
synchronizes the drive; only takes effect in conjunction with the input
"SyncDrive"

Error

BOOL

With "Error"=TRUE the function block signals that an error is present

ErrorID

ERROR_CODE (as of
IndraDrive MP03)

As of the target version IndraDrive MP03, the output "ErrorID" is of the


ERROR_CODE type (ENUM value). The ENUM value which is output in
the case of error gives a rough error description.

WORD
(IndraDrive MPH02)

For the target version IndraDrive MPH02, the output "ErrorID" is of the
WORD type. In the case of error, the error code is output here.

ErrorIdent (as of
MPx03VRS)

ERROR_STRUCT

The output signals the exact cause of the error.

CmdWdg

BOOL

"CmdWdg"=TRUE means that the RTC task had not been processed at
the point of time at which the RTcW were supposed to be transmitted

RestTicksAct

UDINT

Current ticks of the idle task

RestTicksMin

UDINT

Minimum ticks of the idle task

RestTicksMax

UDINT

Maximum ticks of the idle task

RestTimeAct

UINT

Time slices in 1 ms current

RestTimeMin

UINT

Time slices in 1 ms minimum

RestTimeMax

UINT

Time slices in 1 ms maximum

(as of IndraDrive MP03)

ERROR_STRUCT contains the following elements: "Table", "Additional1"


and optionally "Additional2".

Fig.1-320:
ErrorID

Output variables of the firmware function block "MX_SynchronControl"

ErrorIdent,

ErrorIdent,

Table

Additional1

MLDS_TABLE

16#00000002

There is more than one instance of the function block


MX_SynchronControl existing

MLDS_TABLE

16#00000250

Master communication synchronizes the drive

MLDS_TABLE

16#00000251

NC cycle time does not match task cycle time

MLDS_TABLE

16#00000254

Too many real-time variables defined (maximum 4


command values and 4 actual values)

INPUT_RANGE_ERROR

MLDS_TABLE

16#00000252

The value at the input "CmdDelay" is greater than or


equal to the task cycle time

CALCULATION_ERROR

MLDS_TABLE

16#00000255

Variable offset value too high (internal error)

MLDS_TABLE

16#00000256

Undefined parameters in ident list (internal error)

INDRV_TABLE

16#000F4016

"F4016 PLC double real-time channel failure" (see


"Rexroth IndraDrive, Troubleshooting Guide")

RESOURCE_ERROR

DEVICE_ERROR

Fig.1-321:

Description

"ErrorID" reference list for the firmware function block "MX_Synchron


Control" as of IndraDrive MP03

ErrorID

Description

Several tasks use variables of the real-time channel

Too many real-time variables defined (maximum 4 command values and 4 actual values)

124/128

Bosch Rexroth AG | Electric Drives


and Controls

Rexroth IndraDrive | Library Description

Rexroth IndraDrive Firmware Libraries


ErrorID

Description

Undefined parameters in ident list (internal error)

Variable offset value too high (internal error)

Incorrect variable type (Bit/Byte or STRUCT; internal error)

There is more than one instance of the function block MX_SynchronControl existing

The value at the input "CmdDelay" is greater than or equal to the task cycle time

PLC variable not in defined in MDT (internal error)

Internal variable access (internal error)

Fig.1-322:

1.9.3

"ErrorID" reference list for the firmware function block "MX_Synchron


Control" for IndraDrive MPH02

Notes on Programming
In preparation

1.10

For Internal Test Purposes Only!: Debug Library


The functions contained in the Debug library are required for internal test pur
poses (laboratory).

The functions of this library are required for internal test purposes and
the user mustn't use them!
CAUTION

1.11

For Program-Internal Use Only!: Functions for Checking or


Signaling Run Time Errors
The following libraries contain functions for checking or signaling run time er
rors, such as division by zero:
Target system

Library

IndraDrive MP03

CheckRtv_MP03.lib

IndraDrive MP04

MX_CheckRtv.lib

Fig.1-323:

Library names depending on the target systems

Wen a new project with the target system "IndraDrive" target system is created,
the corresponding library is automatically included and visible. Exception: The
target system IndraDrive MPH02 which does not require the "CheckRtv" library.
The functions of the "CheckRtv" library are implicitly called by the
PLC program and mustn't be included in a user program!
Operating Principle

The functions of the "CheckRtv" library are called at each corresponding action
(e.g. division) and check the access. If access is allowed, the program runs
without restriction. If access is not allowed, a drive error (F6010) is generated
and the PLC is stopped.
See also "Notes on Use" in the Application Manual on Rexroth IndraMotion
MLD.

Functions

CheckBounds

CheckDivByte

Library Description | Rexroth IndraDrive

Electric Drives | Bosch Rexroth AG


and Controls

125/128

Rexroth IndraDrive Firmware Libraries

1.12

CheckDivDWord

CheckDivReal

CheckDivWord

CheckRangeSigned

CheckRangeUnsigned

Do Not Use!: Internal Functions, Function Blocks, Data Types


and Structures
The following libraries contain internal functions, function blocks, data types
and structures:
Target system

Library

IndraDrive MPH02

Internal_MPH02.lib

IndraDrive MP03

Internal_MP03.lib

IndraDrive MP04

MX_Internal.lib

Fig.1-324:

Library names depending on the target systems

The functions and function blocks of these libraries are internally re


quired and the user mustn't use them!
CAUTION
When a new project is created, Internal is automatically linked and visible to the
user.

Bosch Rexroth AG | Electric Drives


and Controls

Rexroth IndraDrive | Library Description

Library Description | Rexroth IndraDrive

Electric Drives | Bosch Rexroth AG


and Controls

127/128

Index

Index
C

CheckBounds 124
CheckDivByte 124
CheckDivDWord 125
CheckDivReal 125
CheckDivWord 125
CheckRangeSigned 125
CheckRangeUnsigned 125
CheckRtv 124

Data exchange, consistent 119


Directory of function block libraries of Rexroth Indra
Logic 2
Drive control 12, 62
DSP 119

Error 9
ERROR_CODE 9
ERROR_STRUCT 9
Error handling 8
ErrorID 9
ErrorIdent 9

INDRV_TABLE 12
Input signals "Execute" / "Enable" 3
Internal_MP03.lib 125
Internal_MPH02.lib 125
Internal data types 125
Internal function blocks 125
Internal functions 125
Internal structures 125

Library
CommonTypes 117
Debug 124

MB_ChangeProfileStep 14
MB_GearInPos 16
MB_Phasing 21
MB_PhasingSlave 23
MB_PreSetMode 62
MB_ReadListParameter 85
MB_ReadMaxRealValue 87
MB_ReadMaxValue 88
MB_ReadMinRealValue 90
MB_ReadMinValue 91
MB_ReadName 93
MB_ReadParameter 94
MB_ReadRealParameter 96

MB_ReadSercosAttribute 99
MB_ReadSercosDataStatus 97
MB_ReadStringParameter 102
MB_ReadUnit 101
MB_SetPositionControlMode 76
MB_Stop 25
MB_WriteListParameter 106
MB_WriteParameter 104
MB_WriteRealParameter 108
MB_WriteStringParameter 110
MC_CamIn 27
MC_CamOut 30
MC_GearIn 31
MC_GearOut 33
MC_MoveAbsolute 34
MC_MoveAdditive 36
MC_MoveRelative 39
MC_MoveVelocity 44
MC_Power 63
MC_Reset 65
MC_Stop 41
Means of representation
Conventions of notation 1
Notations 1
Notes 1
MLD_TABLE 9
MLDS_TABLE 9
MX_Command 67
MX_fCheckCmdRequest 81
MX_fGetDriveWarning 77
MX_fGetFreeTicks 60
MX_fGetHighResTime 60
MX_fHighResTimerTicks_to_us 61
MX_fReadParamDINT 81
MX_fReadStringParam 82
MX_fSetDriveError 78
MX_fSetDriveWarning 79
MX_fWriteParamDINT 83
MX_fWriteStringParam 84
MX_Internal.lib 125
MX_MoveAbsolute 46
MX_MoveAdditive 49
MX_MoveRelative 52
MX_MoveVelocity 55
MX_Power 63
MX_ReadParamDINT 112
MX_ReadUnit 101
MX_Reset 65
MX_SetCmdState 114
MX_SetControl 70
MX_SetDeviceMode 72
MX_SetOpMode 74
MX_Stop 57
MX_SynchronControl 120
MX_WriteParamDINT 115

128/128

Bosch Rexroth AG | Electric Drives


and Controls

Rexroth IndraDrive | Library Description

Index

Processing commands in a PLCopen function


block 3

Real-time channel 119


Run time errors
Signaling / checking 124

SERCOS_TABLE 12

Tools 59

Library Description | Rexroth IndraDrive

Notes

Electric Drives | Bosch Rexroth AG


and Controls

Bosch Rexroth AG
Electric Drives and Controls
P.O. Box 13 57
97803 Lohr, Germany
Bgm.-Dr.-Nebel-Str. 2
97816 Lohr, Germany
Phone +49 (0)93 52-40-50 60
Fax
+49 (0)93 52-40-49 41
[email protected]
www.boschrexroth.com

R911309224

Printed in Germany
DOK-INDRV*-MLD-SYSLIB*-FK02-EN-P

You might also like