Escolar Documentos
Profissional Documentos
Cultura Documentos
Purpose of Documentation This documentation describes the functions, function blocks and data types
contained in the targets
● IndraDrive MPH02,
● IndraDrive MP03,
● IndraDrive MP04,
● IndraDrive MP05,
● IndraDrive MP06 and
● IndraDrive MP07
as well as a listing of the possible error reactions.
Table of Contents
Table of Contents
Page
Table of Contents
Page
1.10 MX_SysLibCom.lib................................................................................................................................ 90
1.10.1 Overview............................................................................................................................................ 90
1.10.2 MX_fSysComStatus........................................................................................................................... 91
1.10.3 MX_SysComOpenAsync................................................................................................................... 91
1.10.4 SysComClose.................................................................................................................................... 92
1.10.5 SysComOpen.................................................................................................................................... 93
1.10.6 SysComRead.................................................................................................................................... 93
1.10.7 SysComWrite..................................................................................................................................... 94
1.11 MX_Base.lib.......................................................................................................................................... 95
1.11.1 Introduction........................................................................................................................................ 95
1.11.2 "Tools" - General Functions and Function Blocks............................................................................. 96
Overview......................................................................................................................................... 96
ATAN2............................................................................................................................................ 96
MX_fGetFreeTicks.......................................................................................................................... 96
MX_fGetHighResTime.................................................................................................................... 97
MX_fHighResTimerTicks_to_us...................................................................................................... 98
MX_IECTaskGetLoad..................................................................................................................... 99
MX_PositionLoopEventInfo.......................................................................................................... 100
1.11.3 "Drive Control" - Function Blocks/Functions for Drive Control......................................................... 100
Overview....................................................................................................................................... 100
MB_Home..................................................................................................................................... 100
MB_PreSetMode.......................................................................................................................... 102
MX_Power / MC_Power................................................................................................................ 103
MC_ReadStatus........................................................................................................................... 105
MX_Reset / MC_Reset................................................................................................................. 107
MX_Command.............................................................................................................................. 109
MX_SetControl............................................................................................................................. 112
MX_SetDeviceMode..................................................................................................................... 114
MX_SetOpMode........................................................................................................................... 116
MB_SetPositionControlMode........................................................................................................ 119
1.11.4 "Diagnostic" - Functions for Diagnosis............................................................................................. 120
Overview....................................................................................................................................... 120
MX_fGetDriveWarning.................................................................................................................. 121
MX_fSetDriveError........................................................................................................................ 121
MX_fSetDriveWarning.................................................................................................................. 122
1.11.5 "Parameters" - Function Blocks/Functions for Parameters.............................................................. 123
Overview....................................................................................................................................... 123
MB_ChangeCamData................................................................................................................... 124
MX_fCheckCmdRequest.............................................................................................................. 126
MX_fReadParamDINT.................................................................................................................. 127
MX_fReadStringParam................................................................................................................. 128
MX_fSetParamLimits.................................................................................................................... 129
MX_fSetParamName.................................................................................................................... 130
MX_fSetParamUnit....................................................................................................................... 131
MX_fWriteParamDINT.................................................................................................................. 132
MX_fWriteStringParam................................................................................................................. 133
DOK-INDRV*-MLD-SYSLIB*-FK05-EN-P Bosch Rexroth AG III/209
Rexroth IndraDrive Rexroth IndraMotion MLD Library
Table of Contents
Page
MB_ReadListParameter............................................................................................................... 134
MB_ReadMaxRealValue.............................................................................................................. 136
MB_ReadMaxValue...................................................................................................................... 138
MB_ReadMinRealValue............................................................................................................... 140
MB_ReadMinValue....................................................................................................................... 142
MB_ReadName............................................................................................................................ 144
MB_ReadParameter..................................................................................................................... 146
MB_ReadRealListParameter........................................................................................................ 148
MB_ReadRealParameter.............................................................................................................. 150
MB_ReadSercosDataStatus......................................................................................................... 152
MB_ReadSercosAttribute ............................................................................................................ 155
MB_ReadUnit / MX_ReadUnit...................................................................................................... 156
MB_ReadStringParameter............................................................................................................ 158
MB_WriteParameter..................................................................................................................... 160
MB_WriteRealListParameter ....................................................................................................... 163
MB_WriteListParameter ............................................................................................................... 165
MB_WriteRealParameter.............................................................................................................. 168
MB_WriteStringParameter............................................................................................................ 171
MX_ReadParamDINT................................................................................................................... 173
MX_SetCmdState......................................................................................................................... 175
MX_WriteParamDINT................................................................................................................... 176
1.11.6 "Scaling" - Functions for Scaling...................................................................................................... 178
MX_fDINT_AccTo_REAL.............................................................................................................. 178
MX_fDINT_DistTo_REAL ............................................................................................................. 179
MX_fDINT_VelTo_REAL .............................................................................................................. 179
MX_fREAL_AccTo_DINT ............................................................................................................. 180
MX_fREAL_DistTo_DINT ............................................................................................................. 181
MX_fREAL_TorqueRampTo_DINT .............................................................................................. 181
MX_fREAL_TorqueTo_DINT ....................................................................................................... 182
MX_fREAL_VelTo_DINT .............................................................................................................. 183
1.12 MX_DSP.lib......................................................................................................................................... 183
1.12.1 General Information......................................................................................................................... 183
1.12.2 MX_SynchronControl....................................................................................................................... 184
1.12.3 Notes on Programming ................................................................................................................... 189
1.13 MX_SysLibMem.................................................................................................................................. 189
1.13.1 General Information......................................................................................................................... 189
1.13.2 Functions......................................................................................................................................... 189
1.13.3 Notes on Utilization.......................................................................................................................... 189
1.14 MX_SysLibDir..................................................................................................................................... 189
1.14.1 General Information......................................................................................................................... 189
1.14.2 Functions......................................................................................................................................... 190
1.14.3 Notes on Utilization.......................................................................................................................... 190
1.15 "MX_SysLibFile" and "MX_SysLibFileAsync"..................................................................................... 190
1.16 MX_SysLibIecTasks.lib....................................................................................................................... 192
1.17 RIL_CommonTypes.lib ...................................................................................................................... 192
1.18 RIL_SocketComm.lib.......................................................................................................................... 194
IV/209 Bosch Rexroth AG DOK-INDRV*-MLD-SYSLIB*-FK05-EN-P
Rexroth IndraDrive Rexroth IndraMotion MLD Library
Table of Contents
Page
1.19 RIL_Utilities......................................................................................................................................... 194
1.20 RIL_VExUtil.lib.................................................................................................................................... 194
1.21 SysLibCallback.lib............................................................................................................................... 194
1.22 SysLibSem.lib..................................................................................................................................... 195
1.23 SysLibSockets.................................................................................................................................... 195
1.23.1 General............................................................................................................................................ 195
1.23.2 Overview of Function Blocks and Functions.................................................................................... 195
1.23.3 Notes on Utilization.......................................................................................................................... 196
1.24 SysLibStr.lib........................................................................................................................................ 199
1.25 Util.lib.................................................................................................................................................. 199
1.26 For Internal Test Purposes Only!: The Library "MX_Debug.lib".......................................................... 199
1.27 For Program-Internal Use Only!: Functions for Checking or Signaling Runtime Errors...................... 200
1.28 Do Not Use!: Internal Functions, Function Blocks, Data Types and Structures................................. 200
2 Appendix.................................................................................................................... 203
2.1 Service and Support........................................................................................................................... 203
Index.......................................................................................................................... 205
DOK-INDRV*-MLD-SYSLIB*-FK05-EN-P Bosch Rexroth AG 5/209
Rexroth IndraDrive Rexroth IndraMotion MLD Library
Paths and sequences of menus... ...are represented step by step in bold‐ Click Window ▶ Show view ▶ Properties
face
Buttons and keys... ... are represented in angle brackets Click <Add> or
Press <Ctrl>+<Alt>
Important facts which are to be highligh‐ Boldface For remote axes, "Active"=TRUE signals
ted in the body text that ...
Parameter names, diagnostic message Quotation marks "Axis2" to "Axis8" correspond to the re‐
names, function designations mote axes. The addresses contained in
the list "P‑0‑1601, CCD:Addresses of
projected drives" ...
DANGER ...
DANGER indicates a hazardous situation which, if not avoided, will result in
death or serious injury.
6/209 Bosch Rexroth AG DOK-INDRV*-MLD-SYSLIB*-FK05-EN-P
Rexroth IndraDrive Rexroth IndraMotion MLD Library
WARNING ...
WARNING indicates a hazardous situation which, if not avoided, could result
in death or serious injury.
CAUTION ...
In case of non-compliance with this safety instruction, minor or moderate injury
could occur.
NOTICE ...
In case of non-compliance with this safety instruction, property damage could
occur.
This box contains important information which you should take into
consideration.
Your Feedback Your experience is important for our improvement processes of products and
documentations.
If you discover mistakes in this documentation or suggest changes, you can
send your feedback to the following e-mail address:
Dokusupport@boschrexroth.de
We need the following information to handle your feedback:
● The number indicated under "Internal File Reference".
● The page number.
Documentation as Online Help This documentation has been included in the IndraLogic help system.
DOK-INDRV*-MLD-SYSLIB*-FK05-EN-P Bosch Rexroth AG 7/209
Rexroth IndraDrive Rexroth IndraMotion MLD Library
IndraLogic 1x
1) In the document typecodes, "xx" is a wild card for the current edition of
the documentation (example: PR01 is the first edition of a Project Plan‐
ning Manual)
Fig.1-4: Documentations – Overview
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.
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 Libraries
1.3.1 Supported Libraries
Library Target Description
1.3.2 Library Assignment for the Targets "IndraDrive MPH02" and "IndraDrive
MP03"
Depending on the functional package and the parameterization of
the axis, not all function blocks are operable (see table " Depend‐
ance Between Parameterization of the Axis, Functional Package
and Selected Function Block").
Fig.1-5: Library Assignment for the Targets "IndraDrive MPH02" and "IndraDrive
MP03"
ATAN2 For the conversion of Cartesian coordi‐ IndraDrive MP04 MX_Base.lib Tools
nates P(x;y) into polar coordinates P(r;φ),
IndraDrive MP05
the function is used to determine the angle
φ. IndraDrive MP06
IndraDrive MP07
MB_ChangeCamData The function block supports loading of cam IndraDrive MP06 MX_Base.lib Drive Control /
profiles to the drive parameters intended Parameter
IndraDrive MP07
for this purpose.
MB_ChangeProfileSet The function block is used to apply the data IndraDrive MP05 MX_PLCOpen.li Motion
which describe the set of a motion profile. b
IndraDrive MP06
IndraDrive MP07
MB_ChangeProfile‐ The function block is used to change the IndraDrive MX_PLCOpen.li Motion
Step four parameters which define a segment of MP04V12 b
a motion profile set.
IndraDrive MP05
IndraDrive MP06
IndraDrive MP07
MB_Command The function block is used to execute, mon‐ IndraDrive MP06 MX_PLCOpen.li Motion
itor and abort commands. b
IndraDrive MP07
MB_GearInPos With the function block it is possible to re‐ IndraDrive MP04 MX_PLCOpen.li Motion
alize a motion of the slave axis which is b
IndraDrive MP05
phase synchronous to the master axis.
IndraDrive MP06
IndraDrive MP07
MB_Home With the function block it is possible to carry IndraDrive MP04 MX_Base.lib Drive Control
out the "drive-controlled homing proce‐
IndraDrive MP05
dure" in the selected axis.
IndraDrive MP06
IndraDrive MP07
MB_MotionProfile The function block realizes an electronic IndraDrive MP04 MX_PLCopen.lib Motion
cam function.
IndraDrive MP05
IndraDrive MP06
IndraDrive MP07
MB_Phasing The function block allows realizing an off‐ IndraDrive MP04 MX_PLCopen.lib Motion
set to the master axis which is connected
IndraDrive MP05
as input to a synchronization function block
("MC_CamIn" or "MC_GearInPos"). IndraDrive MP06
IndraDrive MP07
MB_PhasingSlave With the function block it is possible to ad‐ IndraDrive MP04 MX_PLCopen.lib Motion
just the slave axis by a position offset.
IndraDrive MP05
IndraDrive MP06
IndraDrive MP07
14/209 Bosch Rexroth AG DOK-INDRV*-MLD-SYSLIB*-FK05-EN-P
Rexroth IndraDrive Rexroth IndraMotion MLD Library
MX_fGetHighResTime The function returns a growing timer value IndraDrive MP04 MX_Base.lib Tools
with high resolution.
IndraDrive MP05
IndraDrive MP06
IndraDrive MP07
MX_fHighResTimer‐ The function is used to convert timer ticks IndraDrive MP04 MX_Base.lib Tools
Ticks_to_us into microseconds and return the value as
IndraDrive MP05
REAL.
IndraDrive MP06
IndraDrive MP07
MX_fReadParamDINT The firmware function is used to read a pa‐ IndraDrive MP04 MX_Base.lib Drive Control /
rameter value and return it as DINT. Parameter
IndraDrive MP05
IndraDrive MP06
IndraDrive MP07
MX_fReadStringParam With the firmware function it is possible to IndraDrive MP04 MX_Base.lib Drive Control /
read a parameter the operating data of Parameter
IndraDrive MP05
which has the ASCII format (string).
IndraDrive MP06
IndraDrive MP07
DOK-INDRV*-MLD-SYSLIB*-FK05-EN-P Bosch Rexroth AG 19/209
Rexroth IndraDrive Rexroth IndraMotion MLD Library
The activation input "ExecuteLock" behaves like the "Execute" input. 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 status-
controlled 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.
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.
24/209 Bosch Rexroth AG DOK-INDRV*-MLD-SYSLIB*-FK05-EN-P
Rexroth IndraDrive Rexroth IndraMotion MLD Library
The structure and its elements have been defined in the "Common‐
Types" library of the target.
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 "IndraDrive MP04")] has to be used
to decode the error code of element "Additional1"
Additional1 DWORD The element "Additional1" contains the error code for exact specification of the occur‐
red error
Additional2 DWORD "Additional2" contains additional information (if available)
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
"IndraDrive MP04" it refers to the error table "MLD_TABLE". (Only the name
has changed, the contents are identical.)
When there isn't any error present, the element "Table" has the
value "NO_TABLE_USED"
- 16#00000000 Transmitted axis When there isn't any error present, the element "Ta‐
number ble" has the value "NO_TABLE_USED"
INPUT_INVALID_ERROR 16#00000001 Transmitted axis As of target "IndraDrive MPx04", version 12: Selected
number function is not available for this axis
RESOURCE_ERROR 16#00000001 Transmitted axis Invalid axis reference / undefined axis.
number As of target "IndraDrive MP04": Indicated axis (also
slave axis) is not available
ACCESS_ERROR 16#00000002 Transmitted axis The function block used may only have one instance
number in the system (e.g.: "MX_SynchronControl")
STATE_MACHINE_ERROR 16#00000003 Transmitted axis Drive is not in operating status "bb" / communication
number phase 4
‑ or ‑
With master axis available, this axis has not been ac‐
tivated (P‑0‑0917, Control word of master axis gener‐
ator)
STATE_MACHINE_ERROR 16#00000004 Transmitted axis Drive is not in operating status "Ab"
number
ACCESS_ERROR 16#00000005 Transmitted axis MLD has neither permanent (P-0-1367) nor temporary
number control over the indicated (local) axis
STATE_MACHINE_ERROR 16#00000006 Transmitted axis Drive is torque-free / not under torque. Drive was
number switched off externally
RESOURCE_ERROR 16#00000007 Transmitted axis Function block not possible with current functional
number package / current control type (see table " Depend‐
ance Between Parameterization of the Axis, Function‐
al Package and Selected Function Block").
INPUT_RANGE_ERROR 16#00000008 Transmitted axis Only up to target "IndraDrive MP03": The velocity
number transmitted at "Velocity" input is "0"
INPUT_RANGE_ERROR 16#00000009 Transmitted axis Only up to target "IndraDrive MP03": Parameterized
number acceleration (positioning acceleration) is "0"
DOK-INDRV*-MLD-SYSLIB*-FK05-EN-P Bosch Rexroth AG 29/209
Rexroth IndraDrive Rexroth IndraMotion MLD Library
P-0-2003 P-0-0045, P-0-0075 Positioning block mode Torque/force control Velocity synchroniza‐ Position synchroniza‐
bit 14/15 tion tion
(1) (3) (MX_MoveRelative / (MC_TorqueControl)
(2) MC_MoveRelative, (Phase synchroniza‐
(MC_GearIn)
MX_MoveAbsolute / tion, electronic cam,
MC_MoveAbsolute, MotionProfile:
MX_MoveAdditive / MC_CamIn,
MC_MoveAdditive, MB_GearInPos,
MB_Jog) MB_MotionProfile)
0x 0b00 - + + + +
0000 0b01 - - - + -
0022
0b10 - + - + +
0b11 0 - - + -
>0 + - + +
The term "EIDN" for "Extended Ident Number" is often used in con‐
junction with SERCOS III coding.
1.7 AnalyzationNew.lib
The library "AnalyzationNew.lib" is supported as of the target "IndraDrive
MPH02". It contains function blocks for the analysis of expressions.
The library is supported by several targets; it is described in the IndraLogic help
under "AnalyzationNew.lib".
1.8 Iecsfc.lib
The library "Iecsfc.lib" is supported as of the target "IndraDrive MPH02". It
makes available IEC steps conforming to standard in sequential language ["Se‐
quential Function Chart" (SFC)].
The library is supported by several targets.
36/209 Bosch Rexroth AG DOK-INDRV*-MLD-SYSLIB*-FK05-EN-P
Rexroth IndraDrive Rexroth IndraMotion MLD Library
1.9 MX_PLCopen.lib
1.9.1 General Information
The following libraries contain IEC function blocks for drive control:
Target Library
Fig.1-16: Generally Valid Errors of Motion Function Blocks, Taken From Error
Table MLDS_TABLE / MLD_TABLE for Function Blocks as of Target
"IndraDrive MP03"
● MB_ChangeProfileStep *1
● MB_Command*4
● MB_GearInPos*1
● MB_MotionProfile *1
● MB_Phasing *1
● MB_PhasingSlave *1
● MB_Stop *1
● MC_CamIn *1
● MC_CamOut*1
● MC_GearIn *1
DOK-INDRV*-MLD-SYSLIB*-FK05-EN-P Bosch Rexroth AG 37/209
Rexroth IndraDrive Rexroth IndraMotion MLD Library
● MC_GearOut *1
● MC_MoveAbsolute *1
● MC_MoveAdditive *1
● MC_MoveRelative *1
● MC_MoveVelocity *1
● MC_Stop *1
● MC_TorqueControl *3
● MX_MoveAbsolute
● MX_MoveAdditive
● MX_MoveRelative
● MX_MoveVelocity
● MX_Stop*2
*1: Available as of target "IndraDrive MP04"
*2: Available up to target "IndraDrive MP03"
*3: Available as of target "IndraDrive MP05"
*4: Available as of target "IndraDrive MP06"
For the library in which the function is available, see: "Library As‐
signment as of the Target "IndraDrive MP04""
38/209 Bosch Rexroth AG DOK-INDRV*-MLD-SYSLIB*-FK05-EN-P
Rexroth IndraDrive Rexroth IndraMotion MLD Library
Done BOOL With "Done"=TRUE, the data for the motion set were applied
"P-0-0089, Status word for synchronous operating modes" (bit 12 for
set 0, bit 14 for set 1)
Active BOOL With "Active"=TRUE, the data transfer is active
DOK-INDRV*-MLD-SYSLIB*-FK05-EN-P Bosch Rexroth AG 39/209
Rexroth IndraDrive Rexroth IndraMotion MLD Library
NOTE: For the list of all possible errors, see: chapter 1.5.2 "Error
Reference Lists for Function Blocks as of Target "IndraDrive
MP03"" on page 28
For the library in which the function is available, see: "Library As‐
signment as of the Target "IndraDrive MP04""
40/209 Bosch Rexroth AG DOK-INDRV*-MLD-SYSLIB*-FK05-EN-P
Rexroth IndraDrive Rexroth IndraMotion MLD Library
For the list of all possible errors, see: chapter 1.5.2 "Error Refer‐
ence Lists for Function Blocks as of Target "IndraDrive MP03"" on
page 28
42/209 Bosch Rexroth AG DOK-INDRV*-MLD-SYSLIB*-FK05-EN-P
Rexroth IndraDrive Rexroth IndraMotion MLD Library
carried out, too. This means that the actual values (velocity and position) are
adjusted to the command values calculated from the master position. When the
StartMode "0" or "1" has been set, the synchronization process only takes place
at the first positive edge at "Execute". Another positive edge only causes the
data at the input of the function block to be applied.
As of "IndraDrive MP04V12" and only for real axes: If the synchronization proc‐
ess is to take place at every positive edge at "Execute", the StartMode "2" or
"3" can be set; for the virtual axis, the repeated synchronization is not suppor‐
ted.
For a real axis, the parameters "P‑0‑0143, Synchronization velocity" and
"P‑0‑0142, Synchronization acceleration" take effect during the synchroniza‐
tion process, for the virtual axis, it is the parameters "P-0-0920, Synchronization
acceleration, secondary master" and "P-0-0921, Synchronization velocity, sec‐
ondary master".
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 "SyncMode" input.
The position of the master axis is directly converted into a position of the slave
axis.
For the library in which the function is available, see: "Library As‐
signment as of the Target "IndraDrive MP04""
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 "P-0-0089, Status word synchroniza‐
tion modes".
For the virtual axis, "InSync" corresponds to bit 8 of "P-0-0768, Virtual
master axis, positioning status" (as of IndraDrive MP05)
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" shows
the exact cause of the error
* See note below
Fig.1-36: Output Variables of the Firmware Function Block "MB_GearInPos"
DOK-INDRV*-MLD-SYSLIB*-FK05-EN-P Bosch Rexroth AG 49/209
Rexroth IndraDrive Rexroth IndraMotion MLD Library
NOTE: For the list of all possible errors, see: chapter 1.5.2 "Error
Reference Lists for Function Blocks as of Target "IndraDrive
MP03"" on page 28
Master AXIS_REF Selection of master axis. The following master axes are available:
● 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 of Axis2 to Axis8 (Axis2 acts on the drive of list element 0 of
P-0-1601)
As of IndraDrive MP05: VmAxisInt = P_0_0761 (in this case, not simulta‐
neously allowed as master axis).
For the library in which the function is available, see: "Library As‐
signment as of the Target "IndraDrive MP04""
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
synchronization 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" shows
the exact cause of the error
ActiveSet UINT P-0-0089, bit3: The output displays the number of the active motion profile
set.
* See note below
Fig.1-41: Output Variables of the Firmware Function Block "MB_MotionProfile"
NOTE: For the list of all possible errors, see: chapter 1.5.2 "Error
Reference Lists for Function Blocks as of Target "IndraDrive
MP03"" on page 28
52/209 Bosch Rexroth AG DOK-INDRV*-MLD-SYSLIB*-FK05-EN-P
Rexroth IndraDrive Rexroth IndraMotion MLD Library
Master AXIS_REF Selection of master axis. The following master axes are available:
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 of Axis2 to Axis8 (Axis2 acts on the drive of list element 0 of
P-0-1601)
For the library in which the function is available, see: "Library As‐
signment as of the Target "IndraDrive MP04""
Done BOOL With "Done"=TRUE the firmware function block signals that PhaseShift has
been reached (acknowledged by bit 6 of "P‑0‑0089, 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
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-45: Output Variables of the Firmware Function Block "MB_Phasing"
NOTE: For the list of all possible errors, see: chapter 1.5.2 "Error
Reference Lists for Function Blocks as of Target "IndraDrive
MP03"" on page 28
For the library in which the function is available, see: "Library As‐
signment as of the Target "IndraDrive MP04""
54/209 Bosch Rexroth AG DOK-INDRV*-MLD-SYSLIB*-FK05-EN-P
Rexroth IndraDrive Rexroth IndraMotion MLD Library
NOTE: For the list of all possible errors, see: chapter 1.5.2 "Error
Reference Lists for Function Blocks as of Target "IndraDrive
MP03"" on page 28
DOK-INDRV*-MLD-SYSLIB*-FK05-EN-P Bosch Rexroth AG 55/209
Rexroth IndraDrive Rexroth IndraMotion MLD Library
For the library in which the function is available, see: "Library As‐
signment as of the Target "IndraDrive MP04""
56/209 Bosch Rexroth AG DOK-INDRV*-MLD-SYSLIB*-FK05-EN-P
Rexroth IndraDrive Rexroth IndraMotion MLD Library
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 "S‑0‑0372, Drive Halt acceleration bipolar".
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
* See note below
Fig.1-53: Output Variables of the Firmware Function Block "MB_Stop"
NOTE: For the list of all possible errors, see: chapter 1.5.2 "Error
Reference Lists for Function Blocks as of Target "IndraDrive
MP03"" on page 28
DOK-INDRV*-MLD-SYSLIB*-FK05-EN-P Bosch Rexroth AG 57/209
Rexroth IndraDrive Rexroth IndraMotion MLD Library
Fig.1-55: Calculating P‑0‑0227, Cam Table, Access Angle (Table Access Angle)
With the calculated table access angle, the table selected at the "CamTableID"
input is accessed and a percentage is taken from it. This table value is multiplied
with the position value at the "CamShaftDistance" input and provides the syn‐
chronous position command value.
At the "StartMode" input, you have to set in which mode the synchronization
process is to take place. Velocity adjustment is carried out (relative synchroni‐
zation) and in the case of absolute synchronization, position adjustment is
carried out, too. This means that the actual values (velocity and position) are
adjusted to the command values calculated from the master position with par‐
ameterized velocity (P-0-0143, Synchronization velocity) and acceleration
(P-0-0142, Synchronization acceleration). When the StartMode "0" or "1" has
been set, the synchronization process only takes place at the first positive edge
at "Execute". Another positive edge only causes the data at the input of the
function block to be applied. The input values (gear, distance, cam) then take
effect depending on the configuration of "P-0-0086, Configuration word syn‐
chronous operation modes".
As of "IndraDrive MP04V12": If the synchronization process is to take place at
every positive edge at "Execute", the StartMode "2" or "3" can be set. The input
values (gear, distance, cam) therewith take effect immediately, independent of
P-0-0086.
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 "SyncMode" input.
58/209 Bosch Rexroth AG DOK-INDRV*-MLD-SYSLIB*-FK05-EN-P
Rexroth IndraDrive Rexroth IndraMotion MLD Library
For the library in which the function is available, see: "Library As‐
signment as of the Target "IndraDrive MP04""
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 "P‑0‑0083, Gear ratio fine adjust" in %
CamShaftDistance REAL Cam distance. Scaling of percentage-based table values
SyncMode MC_SYNC_DIRECTION "P‑0‑0154, Synchronization direction":
0:= Shortest distance
1:= Positive direction
2:= Negative direction
DOK-INDRV*-MLD-SYSLIB*-FK05-EN-P Bosch Rexroth AG 59/209
Rexroth IndraDrive Rexroth IndraMotion MLD Library
InSync BOOL With "InSync"=TRUE the function block signals that the slave axis is syn‐
chronous.
"InSync" corresponds to
● "P-0-0115, Device control: Status word", bit12: "command value
reached" of the parameterized axis and
● "CamTableID"="CamActiveID" and
● "P-0-0089, Status word synchronization modes", bit 5=1 (status
distance switching). For this application, bit 12 of P-0-0115 corre‐
sponds to bit 8 "synchronization mode in synchronization" of pa‐
rameter "P-0-0089, Status word synchronization 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".
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" shows
the exact cause of the error
CamActiveID Number of the cam active in the function block
* See note below
Fig.1-58: Output Variables of the Firmware Function Block "MC_CamIn"
NOTE: For the list of all possible errors, see: chapter 1.5.2 "Error
Reference Lists for Function Blocks as of Target "IndraDrive
MP03"" on page 28
60/209 Bosch Rexroth AG DOK-INDRV*-MLD-SYSLIB*-FK05-EN-P
Rexroth IndraDrive Rexroth IndraMotion MLD Library
For the library in which the function is available, see: "Library As‐
signment as of the Target "IndraDrive MP04""
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 "Active" output signals that it determines the axis motion.
DOK-INDRV*-MLD-SYSLIB*-FK05-EN-P Bosch Rexroth AG 61/209
Rexroth IndraDrive Rexroth IndraMotion MLD Library
NOTE: For the list of all possible errors, see: chapter 1.5.2 "Error
Reference Lists for Function Blocks as of Target "IndraDrive
MP03"" on page 28
Slave AXIS_REF "VmAxisInt" (P-0-0761, Master axis position for slave axis) (as of
IndraDrive MP05)
"Axis1" (only 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 of "Axis2" to "Axis8" ("Axis2" acts on the drive of list
element 0 of P-0-1601)
For the library in which the function is available, see: "Library As‐
signment as of the Target "IndraDrive MP04""
62/209 Bosch Rexroth AG DOK-INDRV*-MLD-SYSLIB*-FK05-EN-P
Rexroth IndraDrive Rexroth IndraMotion MLD Library
InGear BOOL With "InGear"=TRUE the function block signals that the slave axis is ve‐
locity-synchronous.
InGear corresponds to "P-0-0115 bit12, Device control - status word:
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 synchronization 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" shows
the exact cause of the error
* See note below
Fig.1-67: Output Variables of the Firmware Function Block "MC_GearIn"
DOK-INDRV*-MLD-SYSLIB*-FK05-EN-P Bosch Rexroth AG 63/209
Rexroth IndraDrive Rexroth IndraMotion MLD Library
NOTE: For the list of all possible errors, see: chapter 1.5.2 "Error
Reference Lists for Function Blocks as of Target "IndraDrive
MP03"" on page 28
For the library in which the function is available, see: "Library As‐
signment as of the Target "IndraDrive MP04""
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 "Active" output 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" shows
the exact cause of the error
* See note below
Fig.1-71: Output Variables of the Firmware Function Block "MC_GearOut"
NOTE: For the list of all possible errors, see: chapter 1.5.2 "Error
Reference Lists for Function Blocks as of Target "IndraDrive
MP03"" on page 28
Slave AXIS_REF "VmAxisInt" (P-0-0761, Master axis position for slave axis) (as of
IndraDrive MP05)
"Axis1" (only 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 of "Axis2" to "Axis8" ("Axis2" acts on the drive of list
element 0 of P-0-1601)
For the library in which the function is available, see: "Library As‐
signment as of the Target "IndraDrive MP04""
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 P-0-0766, Virtual master axis, position‐
ue 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 P-0-0760, Virtual master axis, position‐
acceptance ing control word
S-0-0359, Positioning deceleration P-0-1453, PLC Positioning deceleration P-0-0772, Virtual master axis, position‐
ing deceleration
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
* See note below
Fig.1-76: Output Variables of the Firmware Function Block "MC_MoveAbsolute"
NOTE: For the list of all possible errors, see: chapter 1.5.2 "Error
Reference Lists for Function Blocks as of Target "IndraDrive
MP03"" on page 28
Axis AXIS_REF Defines the axis. The following axes are possible:
● "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
For the library in which the function is available, see: "Library As‐
signment as of the Target "IndraDrive MP04""
S-0-0282, Positioning command val‐ P-0-1450, PLC Positioning command value P-0-0766, Virtual master axis, position‐
ue 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
68/209 Bosch Rexroth AG DOK-INDRV*-MLD-SYSLIB*-FK05-EN-P
Rexroth IndraDrive Rexroth IndraMotion MLD Library
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 out‐
puts"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
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
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-81: Output Variables of the Firmware Function Block "MC_MoveAdditive"
DOK-INDRV*-MLD-SYSLIB*-FK05-EN-P Bosch Rexroth AG 69/209
Rexroth IndraDrive Rexroth IndraMotion MLD Library
NOTE: For the list of all possible errors, see: chapter 1.5.2 "Error
Reference Lists for Function Blocks as of Target "IndraDrive
MP03"" on page 28
Axis AXIS_REF Defines the axis. The following axes are possible:
● "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
For the library in which the function is available, see: "Library As‐
signment as of the Target "IndraDrive MP04""
70/209 Bosch Rexroth AG DOK-INDRV*-MLD-SYSLIB*-FK05-EN-P
Rexroth IndraDrive Rexroth IndraMotion MLD Library
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 P-0-0766, Virtual master axis, position‐
ue 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 P-0-0760, Virtual master axis, position‐
acceptance ing control word
S-0-0359, Positioning deceleration P-0-1453, PLC Positioning deceleration P-0-0772, Virtual master axis, position‐
ing deceleration
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
* See note below
Fig.1-86: Output Variables of the Firmware Function Block "MC_MoveRelative"
NOTE: For the list of all possible errors, see: chapter 1.5.2 "Error
Reference Lists for Function Blocks as of Target "IndraDrive
MP03"" on page 28
Axis AXIS_REF Defines the axis. The following axes are possible:
● "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
For the library in which the function is available, see: "Library As‐
signment as of the Target "IndraDrive MP04""
DOK-INDRV*-MLD-SYSLIB*-FK05-EN-P Bosch Rexroth AG 73/209
Rexroth IndraDrive Rexroth IndraMotion MLD Library
Operation 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
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
* See note below
Fig.1-91: Output Variables of the Firmware Function Block "MC_MoveVelocity"
NOTE: For the list of all possible errors, see: chapter 1.5.2 "Error
Reference Lists for Function Blocks as of Target "IndraDrive
MP03"" on page 28
Axis AXIS_REF Defines the axis. The following axes are possible:
● "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
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‐
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".
For the library in which the function is available, see: "Library As‐
signment as of the Target "IndraDrive MP04""
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 22
Deceleration REAL This input sets the deceleration. The deceleration which is set is written to
parameter "S‑0‑0372, 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.
Done BOOL With "Done"=TRUE the firmware function block signals that the axis has
stopped.
Slave axis (real axis): When S‑0‑0331, bit0=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" shows
the exact cause of the error
* See note below
Fig.1-95: Output Variables of the Firmware Function Block "MC_Stop"
NOTE: For the list of all possible errors, see: chapter 1.5.2 "Error
Reference Lists for Function Blocks as of Target "IndraDrive
MP03"" on page 28
Axis AXIS_REF Defines the axis. The following axes are possible:
● "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 of "Axis2" to "Axis8" ("Axis2" acts on
the drive of list element 0 of P‑0‑1601)
● "VmAxisInt" corresponds to the virtual master axis generator
MC_TorqueControl
The firmware function block "MC_TorqueControl" is used to activate the oper‐
ating mode "torque/force control"; the drive follows the command value input.
For the library in which the function is available, see: "Library As‐
signment as of the Target "IndraDrive MP04""
NOTE: For the list of all possible errors, see: chapter 1.5.2 "Error
Reference Lists for Function Blocks as of Target "IndraDrive
MP03"" on page 28
Slave AXIS_REF 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)
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:
Operation mode parameter PLC mode parameter Virt. master axis (as of MPx04)
S-0-0282, Positioning command val‐ P-0-1450, PLC Positioning command value P-0-0766, Virtual master axis, position‐
ue 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
DOK-INDRV*-MLD-SYSLIB*-FK05-EN-P Bosch Rexroth AG 79/209
Rexroth IndraDrive Rexroth IndraMotion MLD Library
Operation mode parameter PLC mode parameter Virt. master axis (as of MPx04)
S-0-0346, Positioning control word P-0-1454, PLC Positioning command value P-0-0760, Virtual master axis, position‐
acceptance ing control word
S-0-0359, Positioning deceleration P-0-1453, PLC Positioning deceleration P-0-0772, Virtual master axis, position‐
ing deceleration
For the library in which the function is available, see: "Library As‐
signment for the Targets "IndraDrive MPH02" and "IndraDrive
MP03"" or "Library Assignment as of the Target "IndraDrive
MP04""
Execute BOOL See chapter 1.4 "Signal Time Diagrams of Most Frequently Used Inputs
and Outputs" on page 22
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
"S‑0‑0282, 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
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.
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-107 " Descriptions of "ErrorID" of the
Firmware Function Block "MX_MoveAbsolute" in Target "IndraDrive
MPH02"" on page 81
Target "IndraDrive MP03": chapter 1.5.2 "Error Reference Lists for Func‐
tion Blocks as of Target "IndraDrive MP03"" on page 28
ErrorIdent ERROR_STRUCT Via the elements Table, Additional1 and Additional2, "ErrorIdent" gives the
(as of MPx03VRS) exact cause of the error; see chapter 1.5.2 "Error Reference Lists for
Function Blocks as of Target "IndraDrive MP03"" on page 28
Axis AXIS_REF Defines the axis. The following axes are possible:
● "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
ErrorID Description
For the library in which the function is available, see: "Library As‐
signment for the Targets "IndraDrive MPH02" and "IndraDrive
MP03"" or "Library Assignment as of the Target "IndraDrive
MP04""
82/209 Bosch Rexroth AG DOK-INDRV*-MLD-SYSLIB*-FK05-EN-P
Rexroth IndraDrive Rexroth IndraMotion MLD Library
Operation mode parameter PLC mode parameter Virt. master axis (as of MPx04)
S‑0‑0282, Positioning command val‐ P-0-1450, PLC Positioning command value P-0-0766, Virtual master axis, position‐
ue 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 P-0-0760, Virtual master axis, position‐
acceptance ing control word
S‑0‑0359, Positioning deceleration P-0-1453, PLC Positioning deceleration P-0-0772, Virtual master axis, position‐
ing deceleration
Execute BOOL See chapter 1.4 "Signal Time Diagrams of Most Frequently Used Inputs
and Outputs" on page 22
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 "S‑0‑0282, 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
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 "Done" output 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 signaled 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-113 " Descriptions of "ErrorID" of the
Firmware Function Block "MX_MoveAdditive" in Target "IndraDrive
MPH02"" on page 84
Target "IndraDrive MP03": chapter 1.5.2 "Error Reference Lists for Func‐
tion Blocks as of Target "IndraDrive MP03"" on page 28
ErrorIdent ** ERROR_STRUCT Via the elements: Table, Additional1 and Additional2, "ErrorIdent" shows
(as of MPx03VRS) the exact cause of the error; see chapter 1.5.2 "Error Reference Lists for
Function Blocks as of Target "IndraDrive MP03"" on page 28
Axis AXIS_REF Defines the axis. The following axes are possible:
● "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 of "Axis2" to "Axis8" ("Axis2" acts on the drive of list
element 0 of P-0-1601)
● "VmAxisInt" corresponds to the virtual master axis generator
ErrorID Description
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:
Operation mode parameter PLC mode parameter Virt. master axis (as of MPx04)
S-0-0282, Positioning command val‐ P-0-1450, PLC Positioning command value P-0-0766, Virtual master axis, position‐
ue 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 P-0-0760, Virtual master axis, position‐
acceptance ing control word
S-0-0359, Positioning deceleration P-0-1453, PLC Positioning deceleration P-0-0772, Virtual master axis, position‐
ing deceleration
For the library in which the function is available, see: "Library As‐
signment for the Targets "IndraDrive MPH02" and "IndraDrive
MP03"" or "Library Assignment as of the Target "IndraDrive
MP04""
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
Target "IndraDrive MPH02": fig. 1-119 " Descriptions of "ErrorID" of the
Firmware Function Block "MX_MoveRelative" in Target "IndraDrive
MPH02"" on page 87
Target "IndraDrive MP03": chapter 1.5.2 "Error Reference Lists for Func‐
tion Blocks as of Target "IndraDrive MP03"" on page 28
ErrorIdent ERROR_STRUCT Via the elements Table, Additional1 and Additional2, "ErrorIdent" gives the
(as of MPx03VRS) exact cause of the error; see chapter 1.5.2 "Error Reference Lists for
Function Blocks as of Target "IndraDrive MP03"" on page 28
Axis AXIS_REF Defines the axis. The following axes are possible:
● "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
ErrorID Description
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:
For the library in which the function is available, see: "Library As‐
signment for the Targets "IndraDrive MPH02" and "IndraDrive
MP03"".
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
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-124 " Descriptions of "ErrorID" of the
Firmware Function Block "MX_MoveVelocity" in Target "IndraDrive
MPH02"" on page 89
Target "IndraDrive MP03": chapter 1.5.2 "Error Reference Lists for Func‐
tion Blocks as of Target "IndraDrive MP03"" on page 28
ErrorIdent ERROR_STRUCT Via the elements Table, Additional1 and Additional2, "ErrorIdent" gives the
(as of MPx03VRS) exact cause of the error; see chapter 1.5.2 "Error Reference Lists for
Function Blocks as of Target "IndraDrive MP03"" on page 28
Axis AXIS_REF Axis number (only the global variable "Axis1" can be transmitted here)
ErrorID Description
For the library in which the function is available, see: "Library As‐
signment for the Targets "IndraDrive MPH02" and "IndraDrive
MP03"".
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.
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-129 " Descriptions of "ErrorID" of the
Firmware Function Block "MX_Stop" in Target "IndraDrive MPH02"" on
page 90
Target "IndraDrive MP03": chapter 1.5.2 "Error Reference Lists for Func‐
tion Blocks as of Target "IndraDrive MP03"" on page 28
ErrorIdent ERROR_STRUCT Via the elements Table, Additional1 and Additional2, "ErrorIdent" gives the
(as of MPx03VRS) exact cause of the error; see chapter 1.5.2 "Error Reference Lists for
Function Blocks as of Target "IndraDrive MP03"" on page 28
Axis AXIS_REF Axis number (only the global variable "Axis1" can be transmitted here)
ErrorID Description
1.10 MX_SysLibCom.lib
1.10.1 Overview
The library contains functions for the access to a serial interface:
● MX_fSysComStatus
● MX_SysComOpenAsync
● SysComClose
● SysComOpen
DOK-INDRV*-MLD-SYSLIB*-FK05-EN-P Bosch Rexroth AG 91/209
Rexroth IndraDrive Rexroth IndraMotion MLD Library
● SysComRead
● SysComWrite
1.10.2 MX_fSysComStatus
With the firmware function "MX_fSysComStatus" it is possible to poll the status
of the opened port.
For the library in which the function is available, see: "Library As‐
signment as of the Target "IndraDrive MP04""
MX_fSysComStatus DWORD The value returned by the function displays the status of the requested interface.
The bits have the following significance:
● Bit #0: Receive buffer overflow
● Bit #1: Transmit buffer overflow
● Bit #2: Parity error was detected
● Bit #3: Break was detected
● Bit #4: "Fram" error was detected
● Bit #5: Not used
● Bit #6: Calling task has not opened the port
● Bit #7: Handle is invalid
● Bit #8: Receive buffer contains characters
● Bit #9: Transmit buffer contains characters
1.10.3 MX_SysComOpenAsync
The firmware function block "MX_SysComOpenAsync" is used to asynchro‐
nously open the communication channel of a serial interface.
For the library in which the function is available, see: "Library As‐
signment as of the Target "IndraDrive MP04""
92/209 Bosch Rexroth AG DOK-INDRV*-MLD-SYSLIB*-FK05-EN-P
Rexroth IndraDrive Rexroth IndraMotion MLD Library
Execute BOOL See chapter 1.4 "Signal Time Diagrams of Most Frequently Used Inputs
and Outputs" on page 22
Port PORTS Indicate the serial interface to be opened.
Note: For the drive controllers of the IndraDrive range, it is only possible to
select the serial interface "COM1".
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; see chapter 1.5.2 "Error Reference Lists for Function Blocks
as of Target "IndraDrive MP03"" on page 28
Handle DWORD When "Done"=TRUE, the Port Handle is applied at "Handle" for transmission to
the functions for data exchange via the serial interface ("SysComRead", "Sy‐
sComWrite" etc.).
If the port cannot be opened, 0xFFFFFFFF is returned.
1.10.4 SysComClose
The firmware function "SysComClose" is used to close the communication
channel of a serial interface (COM Port).
For the library in which the function is available, see: "Library As‐
signment as of the Target "IndraDrive MP04""
DOK-INDRV*-MLD-SYSLIB*-FK05-EN-P Bosch Rexroth AG 93/209
Rexroth IndraDrive Rexroth IndraMotion MLD Library
dwHandle DWORD Transmission of the interface access received from "SysComOpen" or "MX_Sy‐
sComOpenAsync" (Port Handle)
SysComClose BOOL With "SysComClose"=TRUE the function signals that the commu‐
nication channel was successfully closed
1.10.5 SysComOpen
The firmware function "SysComOpen" is used to open the communication
channel of a serial interface.
For the library in which the function is available, see: "Library As‐
signment as of the Target "IndraDrive MP04""
SysComOpen DWORD Port Handle for transmission to the functions for data exchange via
the serial interface (SysComRead, SysComWrite etc.).
If the port cannot be opened, 0xFFFFFFFF is returned as Handle.
1.10.6 SysComRead
The firmware function "SysComRead" is used to read data from the serial in‐
terface.
94/209 Bosch Rexroth AG DOK-INDRV*-MLD-SYSLIB*-FK05-EN-P
Rexroth IndraDrive Rexroth IndraMotion MLD Library
For the library in which the function is available, see: "Library As‐
signment as of the Target "IndraDrive MP04""
dwHandle DWORD Access (Handle) to the serial interface received from "SysComOpen" or "MX_Sy‐
sComOpenAsync"
dwBufferAddress DWORD Address to which the bytes which were read are to be copied.
The address of the interface can be determined by means of the operator "ADR".
dwBytesToRead DWORD Number of bytes which are to be read
dwTimeout DWORD Time in [ms] after which the function returns at the latest
1.10.7 SysComWrite
The firmware function "SysComWrite" is used to write data to the serial inter‐
face.
For the library in which the function is available, see: "Library As‐
signment as of the Target "IndraDrive MP04""
dwHandle DWORD Access (Handle) to the serial interface received from "SysComOpen" or "MX_Sy‐
sComOpenAsync"
dwBufferAddress DWORD Address from which the data, which are to be written to the interface, are to be
taken.
The address of the interface can be determined by means of the operator "ADR".
dwBytesToWrite DWORD Number of bytes which are to be written
dwTimeout DWORD Time in [ms] after which the function returns at the latest
1.11 MX_Base.lib
1.11.1 Introduction
The following libraries contain
● 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)].
Target Library
IndraDrive MPH02 Base_MPH02.lib
IndraDrive MP03 Base_MP03.lib
IndraDrive MP04
IndraDrive MP05
MX_Base.lib
IndraDrive MP06
IndraDrive MP07
Fig.1-148: Library Names Depending on the Targets
When a new project with an IndraDrive target is created, the corresponding
"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.
96/209 Bosch Rexroth AG DOK-INDRV*-MLD-SYSLIB*-FK05-EN-P
Rexroth IndraDrive Rexroth IndraMotion MLD Library
For the library in which the function is available, see: "Library As‐
signment for the Targets "IndraDrive MPH02" and "IndraDrive
MP03"" or "Library Assignment as of the Target "IndraDrive
MP04""
ATAN2 REAL φ
For the library in which the function is available, see: "Library As‐
signment for the Targets "IndraDrive MPH02" and "IndraDrive
MP03"" or "Library Assignment as of the Target "IndraDrive
MP04""
Dummy INT There is always one input variable required for the compiler
MX_fGetFreeTicks DINT Returns timer ticks. The timer ticks can be converted into μs with the function
"MX_fHighResTimerTicks_to_us"
For the library in which the function is available, see: "Library As‐
signment for the Targets "IndraDrive MPH02" and "IndraDrive
MP03"" or "Library Assignment as of the Target "IndraDrive
MP04""
98/209 Bosch Rexroth AG DOK-INDRV*-MLD-SYSLIB*-FK05-EN-P
Rexroth IndraDrive Rexroth IndraMotion MLD Library
Dummy INT There is always one input variable required for the compiler
MX_fGetHighResTime UDINT Returns timer ticks. The timer ticks can be converted into μs with the function
"MX_fHighResTimerTicks_to_us"
For the library in which the function is available, see: "Library As‐
signment for the Targets "IndraDrive MPH02" and "IndraDrive
MP03"" or "Library Assignment as of the Target "IndraDrive
MP04""
HighResTimerTicks UDINT Transfer values are timer ticks (see, for example, "MX_fGetHighRes‐
Time")
MX_IECTaskGetLoad
The function block "MX_IECTaskGetLoad" is used to activate the extended
runtime measurement and displays information on the task load (see also Ap‐
plication Manual on IndraMotion MLD, chapter "Runtime Measurements").
For the library in which the function is available, see: "Library As‐
signment as of the Target "IndraDrive MP04""
bEnable BOOL At "bEnable"=TRUE the task information of the task named at the "stTas‐
kName" input is returned.
stTaskName STRING At "stTaskName" indicate the name of the task the runtime information of which
is to be displayed
bDone BOOL "bDone" returns TRUE, if the task exists and the outputs are valid
bError BOOL With "Error"=TRUE the function block signals that an error is present:
● The task was not found (wrong task name) or
● The extended runtime measurement was activated in the MPB firmware,
but this firmware does not support extended runtime measurement
IecTaskLoad MX_IECTASKLOAD Runtime information of the task
Elements in "IecTaskLoad":
● "rLoad" displays the load of the task in the last cycle in percent, with
reference to the cycle time
● "rLoadMax" displays the maximum load of the task in percent, with ref‐
erence to the cycle time
● "rFreeTime" displays the remaining unused calculating time of the task
up to its next start, from the last cycle in µs
● "rMinFreeTime" displays the minimum remaining unused calculating
time of the task up to its next start in µs
For the library in which the function is available, see: "Library As‐
signment as of the Target "IndraDrive MP04""
DOK-INDRV*-MLD-SYSLIB*-FK05-EN-P Bosch Rexroth AG 101/209
Rexroth IndraDrive Rexroth IndraMotion MLD Library
NOTE: For the list of all possible errors, see: chapter 1.5.2 "Error
Reference Lists for Function Blocks as of Target "IndraDrive
MP03"" on page 28
Axis AXIS_REF 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)
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.
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
For the library in which the function is available, see: "Library As‐
signment as of the Target "IndraDrive MP04""
Execute BOOL The function block is activated with a rising edge at "Execute". With a falling
edge, all outputs are reset
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
DOK-INDRV*-MLD-SYSLIB*-FK05-EN-P Bosch Rexroth AG 103/209
Rexroth IndraDrive Rexroth IndraMotion MLD Library
NOTE: For the list of all possible errors, see: chapter 1.5.2 "Error
Reference Lists for Function Blocks as of Target "IndraDrive
MP03"" on page 28
Axis AXIS_REF Defines the axis. The following axes are possible:
● "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)
The "ON" signal is the "ON" signal of the PLC that becomes active,
linked to the external signal, in the drive with a possible delay (max.
1ms for ADVANCED, max. 2ms for BASIC or IndraDrive Mi); when
several edges are generated (e.g. "TRUE ‑ FALSE ‑ TRUE"), this
delay time must be taken into account.
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.
104/209 Bosch Rexroth AG DOK-INDRV*-MLD-SYSLIB*-FK05-EN-P
Rexroth IndraDrive Rexroth IndraMotion MLD Library
For the library in which the function is available, see: "Library As‐
signment for the Targets "IndraDrive MPH02" and "IndraDrive
MP03"" or "Library Assignment as of the Target "IndraDrive
MP04""
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.
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. For this purpose, 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
ErrorID ERROR_CODE "ErrorID" gives a rough error description
Target "IndraDrive MPH02": fig. 1-176 " Descriptions of "ErrorID" of the Firm‐
ware Function Block "MX_Power" in Target "IndraDrive MPH02"" on page
105
As of target "IndraDrive MP03": chapter 1.5.2 "Error Reference Lists for Func‐
tion Blocks as of Target "IndraDrive MP03"" on page 28
ErrorIdent ERROR_STRUCT Via the elements: Table, Additional1 and Additional2, "ErrorIdent" shows the
(as of MPx03VRS) exact cause of the error; see chapter 1.5.2 "Error Reference Lists for Function
Blocks as of Target "IndraDrive MP03"" on page 28
Axis AXIS_REF Defines the axis. The following axes are possible:
"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 of "Axis2" to "Axis8" ("Axis2" acts on the drive of list
element 0 of P-0-1601)
ErrorID Description
Any change of the axis at the input of the function block requires a
repeated 0/1 transition at "Enable".
For the library in which the function is available, see: "Library As‐
signment as of the Target "IndraDrive MP04""
106/209 Bosch Rexroth AG DOK-INDRV*-MLD-SYSLIB*-FK05-EN-P
Rexroth IndraDrive Rexroth IndraMotion MLD Library
NOTE: For the list of all possible errors, see: chapter 1.5.2 "Error
Reference Lists for Function Blocks as of Target "IndraDrive
MP03"" on page 28
Axis AXIS_REF 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 of Axis2 to Axis8 (Axis2 acts on the drive of list element 0 of
P-0-1601)
Only for the function block "MC_Reset": In the case of a remote axis,
the task is ceded to the service channel (SERCOS III). Only at a
later call can the function block signal "Done". Therefore, the re‐
sulting times for the function block calls themselves are always
short. The outputs "Done" and "Error" have to be cyclically polled.
The data transmission can take several seconds, depending on the
load of the service channel.
As long as the SERCOS ring is not yet in phase 2 - and temporarily
during the transition from phase 3 to phase 4 - it is impossible to
exchange data with remote axes. In this case, the function block
signals an error.
For the library in which the function is available, see: "Library As‐
signment for the Targets "IndraDrive MPH02" and "IndraDrive
MP03"" or "Library Assignment as of the Target "IndraDrive
MP04""
Execute BOOL The function block is activated with a rising edge at "Execute". With a falling edge,
all outputs are reset
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
DOK-INDRV*-MLD-SYSLIB*-FK05-EN-P Bosch Rexroth AG 109/209
Rexroth IndraDrive Rexroth IndraMotion MLD Library
Axis AXIS_REF Defines the axis. The following axes are possible:
"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)
ErrorID Description
For the library in which the function is available, see: "Library As‐
signment for the Targets "IndraDrive MPH02" and "IndraDrive
MP03"" or "Library Assignment as of the Target "IndraDrive
MP04""
110/209 Bosch Rexroth AG DOK-INDRV*-MLD-SYSLIB*-FK05-EN-P
Rexroth IndraDrive Rexroth IndraMotion MLD Library
In the case of a remote axis, the task is ceded to the service channel
(SERCOS III). Only at a later call can "CmdStatus" signal
"MX_CMD_END_OK". Therefore, the resulting times for the func‐
tion block calls themselves are always short. The outputs "CmdSta‐
tus" and "Error" have to be cyclically polled. The data transmission
can take several seconds, depending on the load of the service
channel.
As long as the SERCOS ring is not yet in phase 2 - and temporarily
during the transition from phase 3 to phase 4 - it is impossible to
exchange data with remote axes. In this case, the function block
signals an error.
Enable BOOL The function block is status-controlled. The command is started with "Ena‐
ble"=TRUE, it is cleared with "Enable"=FALSE
CmdIdent DINT IDN of the command
or
MB_IDN (as of
MPx06)
CmdStatus MX_CMD_STATUS The output displays the current status of the command.
Enum values for "CmdStatus" output:
● "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-191 " Descriptions of "ErrorID" of the Firm‐
ware Function Block "MX_Command" in Target "IndraDrive MPH02"" on page
112
As of target "IndraDrive MP03": chapter 1.5.2 "Error Reference Lists for Func‐
tion Blocks as of Target "IndraDrive MP03"" on page 28
ErrorIdent ERROR_STRUCT Via the elements: Table, Additional1 and Additional2, "ErrorIdent" shows the
(as of MPx03VRS) exact cause of the error; see chapter 1.5.2 "Error Reference Lists for Function
Blocks as of Target "IndraDrive MP03"" on page 28
Axis AXIS_REF Defines the axis. The following axes are possible:
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 of "Axis2" to "Axis8" ("Axis2" acts on the drive of list
element 0 of P-0-1601)
Note: The input is only applied at a rising edge of the Enable input. If several
axes are to be controlled, a separate instance should be used for each axis.
ErrorID Description
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 "PLCCon‐
trol"=FALSE the external master communication gets control over the drive.
The signals "Drive Halt" (AH), "Drive on" (ON) and the operation mode selection
are switched. With PLC control, the signals "AH" and "ON" are only operated
internally. The "Drive Halt" signal is controlled by the function block "MX_Stop"
or by stopping the PLC. The "ON" signal 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.
This results in the following behavior when temporary control was gotten with
"MX_SetControl":
● Switching off: With the firmware function block MX_Power/MC_Power.
In order that the firmware function block can detect a TRUE/FALSE tran‐
sition at its Enable input, it must be called at least once with Enable=TRUE.
● Switching on: With the firmware function block "MX_Power"/"MC_Power".
DOK-INDRV*-MLD-SYSLIB*-FK05-EN-P Bosch Rexroth AG 113/209
Rexroth IndraDrive Rexroth IndraMotion MLD Library
In order that the firmware function block can detect a FALSE/TRUE tran‐
sition at its Enable input, it must be called at least once with Ena‐
ble=FALSE. This measure is not necessary when switching from the
parameter mode to the operating mode takes place between the call of
"MX_SetControl" and "MC_Power".
For the library in which the function is available, see: "Library As‐
signment for the Targets "IndraDrive MPH02" and "IndraDrive
MP03"" or "Library Assignment as of the Target "IndraDrive
MP04""
Execute BOOL The function block is activated with a rising edge at "Execute". All outputs, except
for the "PLCControlStat" output, 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".
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-196 " Descriptions of "ErrorID" of the Firmware
Function Block "MX_SetControl" in Target "IndraDrive MPH02"" on page 114
Target "IndraDrive MP03": chapter 1.5.2 "Error Reference Lists for Function
Blocks as of Target "IndraDrive MP03"" on page 28
ErrorIdent ERROR_STRUCT Via the elements: Table, Additional1 and Additional2, "ErrorIdent" shows the ex‐
(as of MPx03VRS) act cause of the error; see chapter 1.5.2 "Error Reference Lists for Function
Blocks as of Target "IndraDrive MP03"" on page 28
PLCControlStat BOOL With "PLCControlStat"=TRUE the drive-internal PLC has control over the drive.
With "PLCControlStat"=FALSE the master communication has control over the
drive.
Independent of "Execute", "PLCControlStat" provides the actual value.
Axis AXIS_REF Axis number (only the global variable "Axis1" can be transmitted here)
ErrorID Description
For the library in which the function is available, see: "Library As‐
signment for the Targets "IndraDrive MPH02" and "IndraDrive
MP03"" or "Library Assignment as of the Target "IndraDrive
MP04""
DOK-INDRV*-MLD-SYSLIB*-FK05-EN-P Bosch Rexroth AG 115/209
Rexroth IndraDrive Rexroth IndraMotion MLD Library
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".
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-201 " Descriptions of "ErrorID" of the Firmware
Function Block "MX_SetDeviceMode" in Target "IndraDrive MPH02"" on page
116
Target "IndraDrive MP03": chapter 1.5.2 "Error Reference Lists for Function
Blocks as of Target "IndraDrive MP03"" on page 28
ErrorIdent ERROR_STRUCT Via the elements Table, Additional1 and Additional2, "ErrorIdent" gives the exact
(as of MPx03VRS) cause of the error; see chapter 1.5.2 "Error Reference Lists for Function Blocks
as of Target "IndraDrive MP03"" on page 28
ActOperationMode BOOL With "ActOperationMode"=TRUE the drive is in operating mode (phase 4).
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".
Axis AXIS_REF Axis number (only the global variable "Axis1" can be transmitted here)
ErrorID Description
For the library in which the function is available, see: "Library As‐
signment for the Targets "IndraDrive MPH02" and "IndraDrive
MP03"" or "Library Assignment as of the Target "IndraDrive
MP04""
NewOpMode WORD The operation mode set at "NewOpMode" is activated by a 0-1 edge at "Exe‐
cute". "NewOpMode" can presently have the following values:
● 0: S‑0‑0032, Primary operation mode
● 1: S‑0‑0033, Secondary operation mode 1
● 2: S‑0‑0034, Secondary operation mode 2
● 3: S‑0‑0035, Secondary operation mode 3
As of target "IndraDrive MP03":
● 4: S‑0‑0284, Secondary operation mode 4
● 5: S‑0‑0285, Secondary operation mode 5
● 6: S‑0‑0286, Secondary operation mode 6
● 7: S‑0‑0287, Secondary operation mode 7
Execute BOOL The function block is activated with a rising edge at "Execute". All outputs, except
for the "ActOpMode" output, are reset with a falling edge at "Execute".
Independent of "Execute", the current operation mode is displayed at "ActOp‐
Mode".
ActOpMode WORD "ActOpMode" signals which operation 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
ErrorID ERROR_CODE "ErrorID" gives a rough error description
Target "IndraDrive MPH02": fig. 1-206 " Descriptions of ErrorID of the Firmware
Function Block MX_SetOpMode in Target IndraDrive MPH02" on page 119
Target "IndraDrive MP03": chapter 1.5.2 "Error Reference Lists for Function
Blocks as of Target "IndraDrive MP03"" on page 28
ErrorIdent ERROR_STRUCT Via the elements: Table, Additional1 and Additional2, "ErrorIdent" shows the ex‐
(as of MPx03VRS) act cause of the error; see chapter 1.5.2 "Error Reference Lists for Function
Blocks as of Target "IndraDrive MP03"" on page 28
Axis AXIS_REF Axis number; the following global variables can be transmitted
"Axis1" (axis for MLD‑S)
"Axis1" (local axis or only axis for MLD-M), "Axis2" to "Axis8" (first or last
slave in the order of the list P‑0‑4031, Overview of device addresses)
ErrorID Description
For the library in which the function is available, see: "Library As‐
signment as of the Target "IndraDrive MP04""
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 "LaglessPositionControl" input influences bit 2 of
"S‑0‑0520, Control word of axis controller":
0: Position control with lag error
1: Lagless position control
120/209 Bosch Rexroth AG DOK-INDRV*-MLD-SYSLIB*-FK05-EN-P
Rexroth IndraDrive Rexroth IndraMotion MLD Library
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" shows
the exact cause of the error
* See note below
Fig.1-209: Output Variables of the Firmware Function Block "MB_SetPositionCon‐
trolMode"
NOTE: For the list of all possible errors, see: chapter 1.5.2 "Error
Reference Lists for Function Blocks as of Target "IndraDrive
MP03"" on page 28
Axis AXIS_REF Axis number; the following global variables can be transmitted
"Axis1" (axis for MLD‑S)
"Axis1" (local axis or only axis for MLD-M), "Axis2" to "Axis8" (first or last
slave in the order of the list "P‑0‑4031, Overview of device addresses")
MX_fGetDriveWarning
The firmware function "MX_fGetDriveWarning" allows polling whether a certain
warning diagnosis is active in the drive.
Depending on the value at the input "WarningNo" (1 to 4), the warning mes‐
sages
● E2011 PLC - Warning no. 1
● E2012 PLC - Warning no. 2
● E2013 PLC - Warning no. 3
● E2014 PLC - Warning no. 4
are checked.
For the library in which the function is available, see: "Library As‐
signment for the Targets "IndraDrive MPH02" and "IndraDrive
MP03"" or "Library Assignment as of the Target "IndraDrive
MP04""
MX_fGetDriveWarning BOOL If the warning to be checked is active in the drive, the function provides TRUE as
return value, otherwise FALSE
For the library in which the function is available, see: "Library As‐
signment for the Targets "IndraDrive MPH02" and "IndraDrive
MP03"" or "Library Assignment as of the Target "IndraDrive
MP04""
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
For the library in which the function is available, see: "Library As‐
signment for the Targets "IndraDrive MPH02" and "IndraDrive
MP03"" or "Library Assignment as of the Target "IndraDrive
MP04""
DOK-INDRV*-MLD-SYSLIB*-FK05-EN-P Bosch Rexroth AG 123/209
Rexroth IndraDrive Rexroth IndraMotion MLD Library
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
● MB_ReadSercosDataStatus *2
● MB_ReadStringParameter *2
● MB_ReadUnit / MX_ReadUnit *1
● MB_WriteListParameter *2
● MB_WriteParameter *1
● MB_WriteRealListParameter *3
● MB_WriteRealParameter *1
● MB_WriteStringParameter *2
● MX_fCheckCmdRequest*2
124/209 Bosch Rexroth AG DOK-INDRV*-MLD-SYSLIB*-FK05-EN-P
Rexroth IndraDrive Rexroth IndraMotion MLD Library
● MX_fReadParamDINT
● MX_fReadStringParam
● MX_fSetParamLimits*3
● MX_fSetParamName*3
● MX_fSetParamUnit*3
● MX_fWriteParamDINT
● MX_fWriteStringParam
● MX_ReadParamDINT
● MX_SetCmdState *2
● MX_WriteParamDINT
*1 Available as of target "IndraDrive MP03"
*2 Available as of target "IndraDrive MP04"
*3 Available as of target "IndraDrive MP05"
*4 Available as of target "IndraDrive MP06"
MB_ChangeCamData
Brief Description The function block "MB_ChangeCamData" supports loading of cam profiles to
the drive parameters intended for this purpose. At present, drives of the
"Rexroth IndraDrive" product range support 8 cams. 4 cams with a maximum
of 1024 cam elements and 4 cams with a maximum of 128 cam elements.
Beginning at the location in the PLC memory to which the "CamTableAdr"
pointer points, the function block transports the volume of 4-byte data specified
by the "NumberOfElements " input to the cam parameter selected with "Cam‐
TableID".
The table below shows the assignment of the "CamTableID" input, the corre‐
sponding drive parameter and the possible number of cam elements for the
"NumberOfElements" input.
CamTableID Drive parameter NumberOfElements
CAM_TABLE_1 P-0-0072, Cam table 1 0 or 3 to 1024
CAM_TABLE_2 P-0-0092, Cam table 2 0 or 3 to 1024
CAM_TABLE_3 P-0-0780, Cam table 3 0 or 3 to 1024
CAM_TABLE_4 P-0-0781, Cam table 4 0 or 3 to 1024
CAM_TABLE_5 P-0-0782, Cam table 5 0 or 3 to 128
CAM_TABLE_6 P-0-0783, Cam table 6 0 or 3 to 128
CAM_TABLE_7 P-0-0784, Cam table 7 0 or 3 to 128
CAM_TABLE_8 P-0-0785, Cam table 8 0 or 3 to 128
Fig.1-220: Assignment of "CamTableID", Drive Parameter and "NumberOfEle‐
ments"
The individual data to be transmitted may be within the range of ‑799,999,999
to +799,999,999. In the drive, the individual data to be transmitted are converted
to a percentage value with 6 decimal places; i.e. the value to be transmitted is
divided by 1,000,000.
The function block does not check the content of the data to be
transmitted; the user must make sure that the data volume and the
data type (DINT) of the information to be transmitted are correct.
The time required for transmitting cam profiles depends on different factors.
These factors are
DOK-INDRV*-MLD-SYSLIB*-FK05-EN-P Bosch Rexroth AG 125/209
Rexroth IndraDrive Rexroth IndraMotion MLD Library
● Location of the target axis (local axis or remote CCD slave axis)
● Control section which is used
● Number of elements to be transmitted
● Cycle time of the PLC task
● Active CCD cycle time
Typical times required to transmit 1024 cam elements:
Control section Local axis Remote CCD slave axis
1024 * CCD cycle time +
CSH1.1 6 - 15 ms
250ms
1024 * CCD cycle time +
CSB01.1 / CDB01.1 30 - 45 ms
250ms
Fig.1-221: Typical Times Required to Transmit 1024 Cam Elements
When the cam profile is transmitted to a local axis, the PLC program
only continues running when the function block "MB_ChangeCam‐
Data" signals with "Done"=TRUE that it has successfully written the
data, or when it signals with "Error"=TRUE that an error has occur‐
red.
Notes on application:
When the function block "MB_ChangeCamData" is used to write data to a local
axis, a freewheeling PLC task or a cyclic PLC task with a big cycle time should
be used so that the watchdog (F6010) is not generated when the watchdog
monitor has been activated.
Interface Description
Done BOOL With "Done"=TRUE, the function block signals that the cam data were trans‐
mitted
Active BOOL "Active"=TRUE signals that the function block has accepted the processing
command
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" shows the
exact cause of the error
* See note below
Fig.1-224: Output Variables of the Firmware Function Block "MB_ChangeCamDa‐
ta"
NOTE: For the list of all possible errors, see: chapter 1.5.2 "Error
Reference Lists for Function Blocks as of Target "IndraDrive
MP03"" on page 28
Axis AXIS_REF Axis number; the following global variables can be transmitted:
"Axis1" (axis for MLD‑S)
"Axis1" (local axis or only axis for MLD-M), "Axis2" to "Axis8" (first or last slave
in the order of the list "P‑0‑4031, Overview of device addresses")
For the library in which the function is available, see: "Library As‐
signment as of the Target "IndraDrive MP04""
DOK-INDRV*-MLD-SYSLIB*-FK05-EN-P Bosch Rexroth AG 127/209
Rexroth IndraDrive Rexroth IndraMotion MLD Library
Axis AXIS_REF Axis number (only the global variable "Axis1" can be transmitted here)
For the library in which the function is available, see: "Library As‐
signment for the Targets "IndraDrive MPH02" and "IndraDrive
MP03"" or "Library Assignment as of the Target "IndraDrive
MP04""
Ident DINT At the "Ident" input apply the IDN of the parameter the value of which is to be
or read
MB_IDN (as of
MPx06)
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"
etc.
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)
MX_fReadParamDINT DINT Provides the value of the element specified with "Ident" and "ListElem".
Note: The value "0" is returned if the parameter or list element cannot be read
When the function is called, the complete text is immediately read. Afterwards,
control goes back to the program.
The reading process can take some time, depending on the text
length. If necessary, a separate task should be used.
For the library in which the function is available, see: "Library As‐
signment for the Targets "IndraDrive MPH02" and "IndraDrive
MP03"" or "Library Assignment as of the Target "IndraDrive
MP04""
For the library in which the function is available, see: "Library As‐
signment as of the Target "IndraDrive MP04""
Ident DINT A constant from the global variables can be transmitted here
or
MB_IDN (as of
MPx06)
MinValue DINT Minimum value to be set
MaxValue DINT Maximum value to be set
For the library in which the function is available, see: "Library As‐
signment as of the Target "IndraDrive MP04""
Ident DINT A constant from the global variables can be transmitted here
or
MB_IDN (as of
MPx06)
NewName STRING(60) Name to be set (maximum length: 60 characters)
For the library in which the function is available, see: "Library As‐
signment as of the Target "IndraDrive MP04""
Ident DINT A constant from the global variables can be transmitted here
or
MB_IDN (as of
MPx06)
NewUnit STRING(20) Unit to be set (maximum length: 20 characters)
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 be converted
with the function "UDINT_TO_DINT".
For the library in which the function is available, see: "Library As‐
signment for the Targets "IndraDrive MPH02" and "IndraDrive
MP03"" or "Library Assignment as of the Target "IndraDrive
MP04""
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).
When the function is called, the complete text is immediately written. After‐
wards, control goes back to the program.
The writing process can take some time, depending on the text
length. If necessary, a separate task should be used.
For the library in which the function is available, see: "Library As‐
signment for the Targets "IndraDrive MPH02" and "IndraDrive
MP03"" or "Library Assignment as of the Target "IndraDrive
MP04""
134/209 Bosch Rexroth AG DOK-INDRV*-MLD-SYSLIB*-FK05-EN-P
Rexroth IndraDrive Rexroth IndraMotion MLD Library
MX_fWriteStringParam INT The return value returns the characters actually written (without 0)
The IDN of the list parameter to be read has to be applied at the "Parameter‐
Number" input. The number of bytes to be read has to be indicated at the
"NoOfBytes" input. The processing of the function block is started with a rising
edge at the "Execute" input ("Execute"=TRUE).
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, control goes back to the program and TRUE is pro‐
vided at the "Done" output.
DOK-INDRV*-MLD-SYSLIB*-FK05-EN-P Bosch Rexroth AG 135/209
Rexroth IndraDrive Rexroth IndraMotion MLD Library
You should observe that the reading process can take some time,
depending on the volume of data to be read; if necessary, you
should use a separate task.
Example: To read all list elements of parameter P‑0‑0072 (1024
long words), approx. 200μs are required with Advanced control
section.
Remote Axes
Up to MPx05V14: Accessing parameters of remote axes is only
possible in the MLD-M system mode.
As of MPx05V16 and MPx06: Accessing parameters of remote ax‐
es is possible in the MLD-M system mode, in the CCD basic mode
and in the CCD system mode.
When the function block is used for remote axes, the read task 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 data vol‐
ume.
For the library in which the function is available, see: "Library As‐
signment as of the Target "IndraDrive MP04""
Execute BOOL The function block is activated with a rising edge at "Execute". With a falling
edge, all outputs are reset
ParameterNumber DINT IDN of the parameter to be read
or
MB_IDN (as of
MPx06)
136/209 Bosch Rexroth AG DOK-INDRV*-MLD-SYSLIB*-FK05-EN-P
Rexroth IndraDrive Rexroth IndraMotion MLD Library
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!
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" shows the
exact cause of the error
NoOfRecBytes UINT The "NoOfRecBytes" output signals how many bytes were actually read
* See note below
Fig.1-252: Output Variables of the Firmware Function Block "MB_ReadListPara‐
meter"
NOTE: For the list of all possible errors, see: chapter 1.5.2 "Error
Reference Lists for Function Blocks as of Target "IndraDrive
MP03"" on page 28
Axis AXIS_REF Axis number; the following global variables can be transmitted:
"Axis1" (axis for MLD‑S)
As of target "IndraDrive MP04V08": "Axis1" (local axis or only axis for MLD-
M), "Axis2" to "Axis8" (first or last slave in the order of the list "P‑0‑4031,
Overview of device addresses")
For the library in which the function is available, see: "Library As‐
signment for the Targets "IndraDrive MPH02" and "IndraDrive
MP03"" or "Library Assignment as of the Target "IndraDrive
MP04""
DOK-INDRV*-MLD-SYSLIB*-FK05-EN-P Bosch Rexroth AG 137/209
Rexroth IndraDrive Rexroth IndraMotion MLD Library
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 "ParameterNumber" input apply the IDN of the parameter the maximum
or value of which is to be read
MB_IDN (as of
MPx06)
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" shows 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-256: Output Variables of the Firmware Function Block "MB_ReadMaxReal‐
Value"
NOTE: For the list of all possible errors, see: chapter 1.5.2 "Error
Reference Lists for Function Blocks as of Target "IndraDrive
MP03"" on page 28
138/209 Bosch Rexroth AG DOK-INDRV*-MLD-SYSLIB*-FK05-EN-P
Rexroth IndraDrive Rexroth IndraMotion MLD Library
Axis AXIS_REF Axis number; the following global variables can be transmitted:
"Axis1" (axis for MLD‑S)
As of target "IndraDrive MP04V10":
● "Axis1" (local axis or only axis for MLD-M),
● "Axis2" to "Axis8" (first or last slave in the order of list "P‑0‑4031, Over‐
view of device addresses"). Please observe the notes below!
In the case of a remote axis, the task is ceded to the service channel
(SERCOS III). Only at a later call can the function block signal
"Done". Therefore, the resulting times for the function block calls
themselves are always short. The outputs "Done", "Active" and
"Error" have to be cyclically polled. The data transmission can take
several seconds, depending on the load of the service channel.
As long as the SERCOS ring is not yet in phase 2 - and temporarily
during the transition from phase 3 to phase 4 - it is impossible to
exchange data with remote axes. In this case, the function block
signals an error.
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.
For the library in which the function is available, see: "Library As‐
signment for the Targets "IndraDrive MPH02" and "IndraDrive
MP03"" or "Library Assignment as of the Target "IndraDrive
MP04""
DOK-INDRV*-MLD-SYSLIB*-FK05-EN-P Bosch Rexroth AG 139/209
Rexroth IndraDrive Rexroth IndraMotion MLD Library
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 "ParameterNumber" input apply the IDN of the parameter the maximum
or value of which is to be read
MB_IDN (as of
MPx06)
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" shows 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
* See note below
Fig.1-260: Output Variables of the Firmware Function Block "MB_ReadMaxValue"
NOTE: For the list of all possible errors, see: chapter 1.5.2 "Error
Reference Lists for Function Blocks as of Target "IndraDrive
MP03"" on page 28
140/209 Bosch Rexroth AG DOK-INDRV*-MLD-SYSLIB*-FK05-EN-P
Rexroth IndraDrive Rexroth IndraMotion MLD Library
Axis AXIS_REF Axis number; the following global variables can be transmitted
"Axis1" (axis for MLD‑S)
As of target "IndraDrive MP04V10":
● "Axis1" (local axis or only axis for MLD-M),
● "Axis2" to "Axis8" (first or last slave in the order of list "P‑0‑4031, Over‐
view of device addresses"). Please observe the notes below!
In the case of a remote axis, the task is ceded to the service channel
(SERCOS III). Only at a later call can the function block signal
"Done". Therefore, the resulting times for the function block calls
themselves are always short. The outputs "Done", "Active" and
"Error" have to be cyclically polled. The data transmission can take
several seconds, depending on the load of the service channel.
As long as the SERCOS ring is not yet in phase 2 - and temporarily
during the transition from phase 3 to phase 4 - it is impossible to
exchange data with remote axes. In this case, the function block
signals an error.
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.
For the library in which the function is available, see: "Library As‐
signment for the Targets "IndraDrive MPH02" and "IndraDrive
MP03"" or "Library Assignment as of the Target "IndraDrive
MP04""
DOK-INDRV*-MLD-SYSLIB*-FK05-EN-P Bosch Rexroth AG 141/209
Rexroth IndraDrive Rexroth IndraMotion MLD Library
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 "ParameterNumber" input apply the IDN of the parameter the minimum
or value of which is to be read
MB_IDN (as of
MPx06)
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" shows 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-264: Output Variables of the Firmware Function Block "MB_ReadMinReal‐
Value"
For the list of all possible errors, see: chapter 1.5.2 "Error Refer‐
ence Lists for Function Blocks as of Target "IndraDrive MP03"" on
page 28
142/209 Bosch Rexroth AG DOK-INDRV*-MLD-SYSLIB*-FK05-EN-P
Rexroth IndraDrive Rexroth IndraMotion MLD Library
Axis AXIS_REF Axis number; the following global variables can be transmitted:
"Axis1" (axis for MLD‑S)
As of target "IndraDrive MP04V10":
● "Axis1" (local axis or only axis for MLD-M),
● "Axis2" to "Axis8" (first or last slave in the order of list "P‑0‑4031, Over‐
view of device addresses"). Please observe the notes below!
In the case of a remote axis, the task is ceded to the service channel
(SERCOS III). Only at a later call can the function block signal
"Done". Therefore, the resulting times for the function block calls
themselves are always short. The outputs "Done", "Active" and
"Error" have to be cyclically polled. The data transmission can take
several seconds, depending on the load of the service channel.
As long as the SERCOS ring is not yet in phase 2 - and temporarily
during the transition from phase 3 to phase 4 - it is impossible to
exchange data with remote axes. In this case, the function block
signals an error.
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.
For the library in which the function is available, see: "Library As‐
signment for the Targets "IndraDrive MPH02" and "IndraDrive
MP03"" or "Library Assignment as of the Target "IndraDrive
MP04""
DOK-INDRV*-MLD-SYSLIB*-FK05-EN-P Bosch Rexroth AG 143/209
Rexroth IndraDrive Rexroth IndraMotion MLD Library
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 "ParameterNumber" input apply the IDN of the parameter the minimum
or value of which is to be read
MB_IDN (as of
MPx06)
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" shows 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
* See note below
Fig.1-268: Output Variables of the Firmware Function Block "MB_ReadMinValue"
NOTE: For the list of all possible errors, see: chapter 1.5.2 "Error
Reference Lists for Function Blocks as of Target "IndraDrive
MP03"" on page 28
144/209 Bosch Rexroth AG DOK-INDRV*-MLD-SYSLIB*-FK05-EN-P
Rexroth IndraDrive Rexroth IndraMotion MLD Library
Axis AXIS_REF Axis number; the following global variables can be transmitted
"Axis1" (axis for MLD‑S)
As of target "IndraDrive MP04V10":
● "Axis1" (local axis or only axis for MLD-M),
● "Axis2" to "Axis8" (first or last slave in the order of list "P‑0‑4031, Over‐
view of device addresses"). Please observe the notes below!
In the case of a remote axis, the task is ceded to the service channel
(SERCOS III). Only at a later call can the function block signal
"Done". Therefore, the resulting times for the function block calls
themselves are always short. The outputs "Done", "Active" and
"Error" have to be cyclically polled. The data transmission can take
several seconds, depending on the load of the service channel.
As long as the SERCOS ring is not yet in phase 2 - and temporarily
during the transition from phase 3 to phase 4 - it is impossible to
exchange data with remote axes. In this case, the function block
signals an error.
MB_ReadName
With the function block "MB_ReadName" it is possible to read the name of a
parameter.
At the "ParameterNumber" input 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".
For the library in which the function is available, see: "Library As‐
signment for the Targets "IndraDrive MPH02" and "IndraDrive
MP03"" or "Library Assignment as of the Target "IndraDrive
MP04""
DOK-INDRV*-MLD-SYSLIB*-FK05-EN-P Bosch Rexroth AG 145/209
Rexroth IndraDrive Rexroth IndraMotion MLD Library
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 "ParameterNumber" input apply the IDN of the parameter the name of
or which is to be read
MB_IDN (as of
MPx06)
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" shows the
exact cause of the error
Name STRING(255) If "Done"=TRUE, "Name" signals the name of the selected parameter.
* See note below
Fig.1-272: Output Variables of the Firmware Function Block "MB_ReadName"
For the list of all possible errors, see: chapter 1.5.2 "Error Refer‐
ence Lists for Function Blocks as of Target "IndraDrive MP03"" on
page 28
146/209 Bosch Rexroth AG DOK-INDRV*-MLD-SYSLIB*-FK05-EN-P
Rexroth IndraDrive Rexroth IndraMotion MLD Library
Axis AXIS_REF Axis number; the following global variables can be transmitted
"Axis1" (axis for MLD‑S)
As of target "IndraDrive MP04V10":
● "Axis1" (local axis or only axis for MLD-M),
● "Axis2" to "Axis8" (first or last slave in the order of list "P‑0‑4031, Over‐
view of device addresses"). Please observe the notes below!
In the case of a remote axis, the task is ceded to the service channel
(SERCOS III). Only at a later call can the function block signal
"Done". Therefore, the resulting times for the function block calls
themselves are always short. The outputs "Done", "Active" and
"Error" have to be cyclically polled. The data transmission can take
several seconds, depending on the load of the service channel.
As long as the SERCOS ring is not yet in phase 2 - and temporarily
during the transition from phase 3 to phase 4 - it is impossible to
exchange data with remote axes. In this case, the function block
signals an error.
MB_ReadParameter
With the function block "MB_ReadParameter" it is possible to read the current
value of a parameter. The return value is DINT.
List and string parameters cannot be read with the function block.
For the library in which the function is available, see: "Library As‐
signment for the Targets "IndraDrive MPH02" and "IndraDrive
MP03"" or "Library Assignment as of the Target "IndraDrive
MP04""
DOK-INDRV*-MLD-SYSLIB*-FK05-EN-P Bosch Rexroth AG 147/209
Rexroth IndraDrive Rexroth IndraMotion MLD Library
Enable BOOL The function block is status-controlled. The command is started with "Ena‐
ble"=TRUE, it is cleared with "Enable"=FALSE
ParameterNumber DINT At the "ParameterNumber" input apply the IDN of the parameter (e.g.
or FP_S_0_0052) the current value of which is to be read
MB_IDN (as of
MPx06)
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" shows 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
* See note below
Fig.1-276: Output Variables of the Firmware Function Block "MB_ReadParameter"
For the list of all possible errors, see: chapter 1.5.2 "Error Refer‐
ence Lists for Function Blocks as of Target "IndraDrive MP03"" on
page 28
148/209 Bosch Rexroth AG DOK-INDRV*-MLD-SYSLIB*-FK05-EN-P
Rexroth IndraDrive Rexroth IndraMotion MLD Library
Axis AXIS_REF Axis number; the following global variables can be transmitted
"Axis1" (axis for MLD‑S)
As of target "IndraDrive MP04V10":
● "Axis1" (local axis or only axis for MLD-M),
● "Axis2" to "Axis8" (first or last slave in the order of list "P‑0‑4031, Over‐
view of device addresses"). Please observe the notes below!
In the case of a remote axis, the task is ceded to the service channel
(SERCOS III). Only at a later call can the function block signal
"Done". Therefore, the resulting times for the function block calls
themselves are always short. The outputs "Done", "Active" and
"Error" have to be cyclically polled. The data transmission can take
several seconds, depending on the load of the service channel.
As long as the SERCOS ring is not yet in phase 2 - and temporarily
during the transition from phase 3 to phase 4 - it is impossible to
exchange data with remote axes. In this case, the function block
signals an error.
MB_ReadRealListParameter
With the function block "MB_ReadRealListParameter" it is possible to read the
current list of a list parameter.
The IDN of the list parameter to be read has to be applied at the "Parameter‐
Number" input. The number of bytes to be read has to be indicated at the
"NoOfBytes" input. The processing of the function block is started with a rising
edge at the "Execute" input ("Execute"=TRUE).
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, control goes back to the program and TRUE is pro‐
vided at the "Done" output.
DOK-INDRV*-MLD-SYSLIB*-FK05-EN-P Bosch Rexroth AG 149/209
Rexroth IndraDrive Rexroth IndraMotion MLD Library
You should observe that the reading process can take some time,
depending on the volume of data to be read; if necessary, you
should use a separate task.
Example: To read all list elements of parameter P‑0‑0072 (1024
long words), approx. 314μs are required with Advanced control
section.
Remote Axes
Up to MPx05V14: Accessing parameters of remote axes is only
possible in the MLD-M system mode.
As of MPx05V16 and MPx06: Accessing parameters of remote ax‐
es is possible in the MLD-M system mode, in the CCD basic mode
and in the CCD system mode.
When the function block is used for remote axes, the read task is ceded to the
service channel (SERCOS III). Only at a later call can the function block signal
"Done"=TRUE.
The outputs "Done", "Active" and "Error" have to be cyclically polled.
The data transmission can take several seconds, depending on the data vol‐
ume.
For the library in which the function is available, see: "Library As‐
signment as of the Target "IndraDrive MP04""
Execute BOOL The function block is activated with a rising edge at "Execute". With a falling
edge, all outputs are reset.
ParameterNumber DINT IDN of the parameter to be read
or
MB_IDN (as of
MPx06)
150/209 Bosch Rexroth AG DOK-INDRV*-MLD-SYSLIB*-FK05-EN-P
Rexroth IndraDrive Rexroth IndraMotion MLD Library
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!
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" shows the
exact cause of the error
NoOfRecBytes UINT The "NoOfRecBytes" output signals how many bytes were actually read
* See note below
Fig.1-280: Output Variables of the Firmware Function Block "MB_ReadRealList‐
Parameter"
NOTE: For the list of all possible errors, see: chapter 1.5.2 "Error
Reference Lists for Function Blocks as of Target "IndraDrive
MP03"" on page 28
Axis AXIS_REF Axis number; the following global variables can be transmitted:
"Axis1" (axis for MLD‑S)
As of target "IndraDrive MP04V08": "Axis1" (local axis or only axis for MLD-
M), "Axis2" to "Axis8" (first or last slave in the order of the list "P‑0‑4031,
Overview of device addresses").
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".
DOK-INDRV*-MLD-SYSLIB*-FK05-EN-P Bosch Rexroth AG 151/209
Rexroth IndraDrive Rexroth IndraMotion MLD Library
For the library in which the function is available, see: "Library As‐
signment for the Targets "IndraDrive MPH02" and "IndraDrive
MP03"" or "Library Assignment as of the Target "IndraDrive
MP04""
Enable BOOL The function block is status-controlled. The command is started with "Ena‐
ble"=TRUE, it is cleared with "Enable"=FALSE
ParameterNumber DINT At the "ParameterNumber" input apply the IDN of the parameter the current
or value of which is to be read
MB_IDN (as of Any new parameter number will only be applied with the next positive edge at
MPx06) the "Enable" input
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
152/209 Bosch Rexroth AG DOK-INDRV*-MLD-SYSLIB*-FK05-EN-P
Rexroth IndraDrive Rexroth IndraMotion MLD Library
For the list of all possible errors, see: chapter 1.5.2 "Error Refer‐
ence Lists for Function Blocks as of Target "IndraDrive MP03"" on
page 28
Axis AXIS_REF Axis number; the following global variables can be transmitted
"Axis1" (axis for MLD‑S)
As of target "IndraDrive MP04V10":
● "Axis1" (local axis or only axis for MLD-M),
● "Axis2" to "Axis8" (first or last slave in the order of list "P‑0‑4031, Over‐
view of device addresses"). Please observe the notes below!
In the case of a remote axis, the task is ceded to the service channel
(SERCOS III). Only at a later call can the function block signal
"Done". Therefore, the resulting times for the function block calls
themselves are always short. The outputs "Done", "Active" and
"Error" have to be cyclically polled. The data transmission can take
several seconds, depending on the load of the service channel.
As long as the SERCOS ring is not yet in phase 2 - and temporarily
during the transition from phase 3 to phase 4 - it is impossible to
exchange data with remote axes. In this case, the function block
signals an error.
MB_ReadSercosDataStatus
With the function block "MB_ReadSercosDataStatus" it is possible to read the
status of a parameter.
At the "ParameterNumber" input 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
DOK-INDRV*-MLD-SYSLIB*-FK05-EN-P Bosch Rexroth AG 153/209
Rexroth IndraDrive Rexroth IndraMotion MLD Library
"ErrorIdent".
For the library in which the function is available, see: "Library As‐
signment as of the Target "IndraDrive MP04""
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 "ParameterNumber" input you have to apply the parameter number of
or the parameter the status of which is to be read
MB_IDN (as of
MPx06)
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
154/209 Bosch Rexroth AG DOK-INDRV*-MLD-SYSLIB*-FK05-EN-P
Rexroth IndraDrive Rexroth IndraMotion MLD Library
NOTE: For the list of all possible errors, see: chapter 1.5.2 "Error
Reference Lists for Function Blocks as of Target "IndraDrive
MP03"" on page 28
Axis AXIS_REF Axis number; the following global variables can be transmitted
● "Axis1" (local axis or only axis for MLD-M),
● "Axis2" to "Axis8" (first or last slave in the order of list "P‑0‑4031, Over‐
view of device addresses"). Please observe the notes below!
In the case of a remote axis, the task is ceded to the service channel
(SERCOS III). Only at a later call can the function block signal
"Done". Therefore, the resulting times for the function block calls
themselves are always short. The outputs "Done", "Active" and
"Error" have to be cyclically polled. The data transmission can take
several seconds, depending on the load of the service channel.
As long as the SERCOS ring is not yet in phase 2 - and temporarily
during the transition from phase 3 to phase 4 - it is impossible to
exchange data with remote axes. In this case, the function block
signals an error.
MB_ReadSercosAttribute
With the function block "MB_ReadSercosAttribute" it is possible to read the
SERCOS attribute of a parameter.
At the "ParameterNumber" input 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".
For the library in which the function is available, see: "Library As‐
signment for the Targets "IndraDrive MPH02" and "IndraDrive
MP03"" or "Library Assignment as of the Target "IndraDrive
MP04""
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 "ParameterNumber" input you have to apply the parameter number of
or the parameter the SERCOS attribute of which is to be read.
MB_IDN (as of NOTE: Any new parameter number will only be applied with the next positive
MPx06) edge at the "Execute" input.
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
156/209 Bosch Rexroth AG DOK-INDRV*-MLD-SYSLIB*-FK05-EN-P
Rexroth IndraDrive Rexroth IndraMotion MLD Library
NOTE: For the list of all possible errors, see: chapter 1.5.2 "Error
Reference Lists for Function Blocks as of Target "IndraDrive
MP03"" on page 28
Axis AXIS_REF Axis number; the following global variables can be transmitted
"Axis1" (axis for MLD‑S)
As of target "IndraDrive MP04V10":
● "Axis1" (local axis or only axis for MLD-M),
● "Axis2" to "Axis8" (first or last slave in the order of list "P‑0‑4031, Over‐
view of device addresses"). Please observe the notes below!
In the case of a remote axis, the task is ceded to the service channel
(SERCOS III). Only at a later call can the function block signal
"Done". Therefore, the resulting times for the function block calls
themselves are always short. The outputs "Done", "Active" and
"Error" have to be cyclically polled. The data transmission can take
several seconds, depending on the load of the service channel.
As long as the SERCOS ring is not yet in phase 2 - and temporarily
during the transition from phase 3 to phase 4 - it is impossible to
exchange data with remote axes. In this case, the function block
signals an error.
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 "ParameterNumber" input 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".
DOK-INDRV*-MLD-SYSLIB*-FK05-EN-P Bosch Rexroth AG 157/209
Rexroth IndraDrive Rexroth IndraMotion MLD Library
For the library in which the function is available, see: "Library As‐
signment for the Targets "IndraDrive MPH02" and "IndraDrive
MP03"" or "Library Assignment as of the Target "IndraDrive
MP04""
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 "ParameterNumber" input you have to apply the parameter number of
or the parameter the unit of which is to be read
MB_IDN (as of
MPx06)
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" shows the
exact cause of the error
Unit STRING(255) If "Done"=TRUE, "Unit" signals the unit of the selected parameter
* See note below
Fig.1-296: Output Variables of the Firmware Function Block "MB_ReadUnit" /
"MX_ReadUnit"
NOTE: For the list of all possible errors, see: chapter 1.5.2 "Error
Reference Lists for Function Blocks as of Target "IndraDrive
MP03"" on page 28
158/209 Bosch Rexroth AG DOK-INDRV*-MLD-SYSLIB*-FK05-EN-P
Rexroth IndraDrive Rexroth IndraMotion MLD Library
Axis AXIS_REF Axis number; the following global variables can be transmitted
"Axis1" (axis for MLD‑S)
As of target "IndraDrive MP04V10":
● "Axis1" (local axis or only axis for MLD-M),
● "Axis2" to "Axis8" (first or last slave in the order of list "P‑0‑4031, Over‐
view of device addresses"). Please observe the notes below!
In the case of a remote axis, the task is ceded to the service channel
(SERCOS III). Only at a later call can the function block signal
"Done". Therefore, the resulting times for the function block calls
themselves are always short. The outputs "Done", "Active" and
"Error" have to be cyclically polled. The data transmission can take
several seconds, depending on the load of the service channel.
As long as the SERCOS ring is not yet in phase 2 - and temporarily
during the transition from phase 3 to phase 4 - it is impossible to
exchange data with remote axes. In this case, the function block
signals an error.
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).
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. After
that, control goes back to the program and TRUE is provided at the "Done"
output.
The reading process can take some time, depending on the text
length. If necessary, a separate task should be used.
DOK-INDRV*-MLD-SYSLIB*-FK05-EN-P Bosch Rexroth AG 159/209
Rexroth IndraDrive Rexroth IndraMotion MLD Library
Remote Axes
Up to MPx05V14: Accessing parameters of remote axes is only
possible in the MLD-M system mode.
As of MPx05V16 and MPx06: Accessing parameters of remote ax‐
es is possible in the MLD-M system mode, in the CCD basic mode
and in the CCD system mode.
When the function block is used for remote axes, the read task 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.
For the library in which the function is available, see: "Library As‐
signment as of the Target "IndraDrive MP04""
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 "ParameterNumber" input you have to apply the parameter number of
the parameter the operating data of which is to be read
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
160/209 Bosch Rexroth AG DOK-INDRV*-MLD-SYSLIB*-FK05-EN-P
Rexroth IndraDrive Rexroth IndraMotion MLD Library
NOTE: For the list of all possible errors, see: chapter 1.5.2 "Error
Reference Lists for Function Blocks as of Target "IndraDrive
MP03"" on page 28
Axis AXIS_REF Axis number; the following global variables can be transmitted
"Axis1" (axis for MLD‑S)
"Axis1" (local axis or only axis for MLD-M), "Axis2" to "Axis8" (first or last slave
in the order of the list "P‑0‑4031, Overview of device addresses")
For the library in which the function is available, see: "Library As‐
signment for the Targets "IndraDrive MPH02" and "IndraDrive
MP03"" or "Library Assignment as of the Target "IndraDrive
MP04""
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 "ParameterNumber" input, apply the parameter number of the parameter
or to be written
MB_IDN (as of
MPx06)
Value DINT At the "Value" input, apply the value which is to be written to the parameter.
Take the scaling of the selected parameter into account
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" shows the
exact cause of the error
* See note below
Fig.1-304: Output Variables of the Firmware Function Block "MB_WriteParameter"
NOTE: For the list of all possible errors, see: chapter 1.5.2 "Error
Reference Lists for Function Blocks as of Target "IndraDrive
MP03"" on page 28
Axis AXIS_REF Axis number; the following global variables can be transmitted
"Axis1" (axis for MLD‑S)
As of target "IndraDrive MP04V10":
● "Axis1" (local axis or only axis for MLD-M),
● "Axis2" to "Axis8" (first or last slave in the order of list "P‑0‑4031, Over‐
view of device addresses"). Please observe the notes below!
In the case of a remote axis, the task is ceded to the service channel
(SERCOS III). Only at a later call can the function block signal
"Done". Therefore, the resulting times for the function block calls
themselves are always short. The outputs "Done", "Active" and
"Error" have to be cyclically polled. The data transmission can take
several seconds, depending on the load of the service channel.
As long as the SERCOS ring is not yet in phase 2 - and temporarily
during the transition from phase 3 to phase 4 - it is impossible to
exchange data with remote axes. In this case, the function block
signals an error.
DOK-INDRV*-MLD-SYSLIB*-FK05-EN-P Bosch Rexroth AG 163/209
Rexroth IndraDrive Rexroth IndraMotion MLD Library
MB_WriteRealListParameter
With the function block "MB_WriteRealListParameter" it is possible to write de‐
fined values to a list parameter.
The IDN of the list parameter to be written has to be applied at the "Parame‐
terNumber" input.
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, con‐
trol goes back to the program and TRUE is provided at the "Done" output.
164/209 Bosch Rexroth AG DOK-INDRV*-MLD-SYSLIB*-FK05-EN-P
Rexroth IndraDrive Rexroth IndraMotion MLD Library
You should observe that the writing process can take some time,
depending on the volume of data to be written. If necessary, a sep‐
arate task should be used.
Example: To write all list elements of parameter P‑0‑0072 (1024
long words), approx. 24 ms are required with Advanced control
section.
Remote Axes
Up to MPx05V14: Accessing parameters of remote axes is only
possible in the MLD-M system mode.
As of MPx05V16 and MPx06: Accessing parameters of remote ax‐
es is possible in the MLD-M system mode, in the CCD basic mode
and in the CCD system mode.
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"=TRUE.
The outputs "Done", "Active" and "Error" have to be cyclically polled.
The data transmission can take several seconds, depending on the data vol‐
ume.
For the library in which the function is available, see: "Library As‐
signment as of the Target "IndraDrive MP04""
Execute BOOL The function block is activated with a rising edge at "Execute".
ParameterNumber DINT At the "ParameterNumber" input, apply the IDN of the list parameter to be writ‐
or ten
MB_IDN (as of
MPx06)
DOK-INDRV*-MLD-SYSLIB*-FK05-EN-P Bosch Rexroth AG 165/209
Rexroth IndraDrive Rexroth IndraMotion MLD Library
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" shows the
exact cause of the error
* See note below
Fig.1-308: Output Variables of the Firmware Function Block "MB_WriteRealList‐
Parameter"
NOTE: For the list of all possible errors, see: chapter 1.5.2 "Error
Reference Lists for Function Blocks as of Target "IndraDrive
MP03"" on page 28
Axis AXIS_REF Axis number; the following global variables can be transmitted
"Axis1" (axis for MLD‑S)
As of target "IndraDrive MP04V08": "Axis1" (local axis or only axis for MLD-
M), "Axis2" to "Axis8" (first or last slave in the order of the list "P‑0‑4031,
Overview of device addresses")
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, con‐
trol goes back to the program and TRUE is provided at the "Done" output.
You should observe that the writing process can take some time,
depending on the volume of data to be written; if necessary, you
should use a separate task.
Example: To write all list elements of parameter P‑0‑0072 (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 "P‑0‑0072, Cam table 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
Up to MPx05V14: Accessing parameters of remote axes is only
possible in the MLD-M system mode.
As of MPx05V16 and MPx06: Accessing parameters of remote ax‐
es is possible in the MLD-M system mode, in the CCD basic mode
and in the CCD system mode.
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 data vol‐
ume.
DOK-INDRV*-MLD-SYSLIB*-FK05-EN-P Bosch Rexroth AG 167/209
Rexroth IndraDrive Rexroth IndraMotion MLD Library
For the library in which the function is available, see: "Library As‐
signment as of the Target "IndraDrive MP04""
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 "ParameterNumber" input, apply the IDN of the list parameter to be writ‐
or ten
MB_IDN (as of
MPx06)
NoOfBytes UINT The number of bytes to be written has to be indicated at the "NoOfBytes" input.
Example: NoOfBytes:=SIZEOF(arFeld1)
NOTE:When writing parameters of the "IDN" data format, you have to observe
that as of MPx06 one element contains 4 bytes (MB_IDN)!
ValueAdr POINTER TO BYTE At the "ValueAdr" input, indicate the address of the field which contains the
data/elements to be written for the list parameter.
Example: ValueAdr := ADR(arFeld1)
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
168/209 Bosch Rexroth AG DOK-INDRV*-MLD-SYSLIB*-FK05-EN-P
Rexroth IndraDrive Rexroth IndraMotion MLD Library
NOTE: For the list of all possible errors, see: chapter 1.5.2 "Error
Reference Lists for Function Blocks as of Target "IndraDrive
MP03"" on page 28
Axis AXIS_REF Axis number; the following global variables can be transmitted
"Axis1" (axis for MLD‑S)
As of target "IndraDrive MP04V08": "Axis1" (local axis or only axis for MLD-
M), "Axis2" to "Axis8" (first or last slave in the order of the list "P‑0‑4031,
Overview of device addresses")
List and string parameters cannot be written with the function block
"MB_WriteRealParameter"; to write list parameters, please use the
function block "MB_WriteListParameter".
For the library in which the function is available, see: "Library As‐
signment for the Targets "IndraDrive MPH02" and "IndraDrive
MP03"" or "Library Assignment as of the Target "IndraDrive
MP04""
170/209 Bosch Rexroth AG DOK-INDRV*-MLD-SYSLIB*-FK05-EN-P
Rexroth IndraDrive Rexroth IndraMotion MLD Library
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 "ParameterNumber" input, apply the IDN of the list parameter to be writ‐
or ten
MB_IDN (as of
MPx06)
Value REAL At the "Value" input, apply the value which is to be written to the parameter.
Take the scaling of the selected parameter into account
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" shows the
exact cause of the error
* See note below
Fig.1-316: Output Variables of the Firmware Function Block "MB_WriteRealPara‐
meter"
For the list of all possible errors, see: chapter 1.5.2 "Error Refer‐
ence Lists for Function Blocks as of Target "IndraDrive MP03"" on
page 28
DOK-INDRV*-MLD-SYSLIB*-FK05-EN-P Bosch Rexroth AG 171/209
Rexroth IndraDrive Rexroth IndraMotion MLD Library
Axis AXIS_REF Axis number; the following global variables can be transmitted
"Axis1" (axis for MLD‑S)
As of target "IndraDrive MP04V10":
● "Axis1" (local axis or only axis for MLD-M),
● "Axis2" to "Axis8" (first or last slave in the order of list "P‑0‑4031, Over‐
view of device addresses"). Please observe the notes below!
In the case of a remote axis, the task is ceded to the service channel
(SERCOS III). Only at a later call can the function block signal
"Done". Therefore, the resulting times for the function block calls
themselves are always short. The outputs "Done", "Active" and
"Error" have to be cyclically polled. The data transmission can take
several seconds, depending on the load of the service channel.
As long as the SERCOS ring is not yet in phase 2 - and temporarily
during the transition from phase 3 to phase 4 - it is impossible to
exchange data with remote axes. In this case, the function block
signals an error.
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).
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.
When the function is called, the complete text is immediately read. Afterwards,
control goes back to the program.
The writing process can take some time, depending on the text
length. If necessary, a separate task should be used.
Remote Axes
Up to MPx05V14: Accessing parameters of remote axes is only
possible in the MLD-M system mode.
As of MPx05V16 and MPx06: Accessing parameters of remote ax‐
es is possible in the MLD-M system mode, in the CCD basic mode
and in the CCD system mode.
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.
For the library in which the function is available, see: "Library As‐
signment as of the Target "IndraDrive MP04""
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 "ParameterNumber" input 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 "Value" input, apply the value which is to be written to the ASCII pa‐
rameter.
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" shows the
exact cause of the error
* See note below
Fig.1-320: Output Variables of the Firmware Function Block "MB_WriteStringPara‐
meter"
NOTE: For the list of all possible errors, see: chapter 1.5.2 "Error
Reference Lists for Function Blocks as of Target "IndraDrive
MP03"" on page 28
Axis AXIS_REF Axis number; the following global variables can be transmitted
"Axis1" (axis for MLD‑S)
"Axis1" (local axis or only axis for MLD-M), "Axis2" to "Axis8" (first or last slave
in the order of the list "P‑0‑4031, Overview of device addresses")
For the library in which the function is available, see: "Library As‐
signment for the Targets "IndraDrive MPH02" and "IndraDrive
MP03"" or "Library Assignment as of the Target "IndraDrive
MP04""
174/209 Bosch Rexroth AG DOK-INDRV*-MLD-SYSLIB*-FK05-EN-P
Rexroth IndraDrive Rexroth IndraMotion MLD Library
Enable BOOL The function block is activated with "Enable"=TRUE. All outputs are reset with
"Enable"=FALSE
Ident DINT IDN of the parameter
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 max length (only allowed for list parameters)
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-326 " Descriptions of "ErrorID" of the Firmware
Function Block "MX_ReadParamDINT" in Target "IndraDrive MPH02"" on page
175
Target "IndraDrive MP03": chapter 1.5.2 "Error Reference Lists for Function
Blocks as of Target "IndraDrive MP03"" on page 28
ErrorIdent ERROR_STRUCT Via the elements: Table, Additional1 and Additional2, "ErrorIdent" shows the ex‐
(as of MPx03VRS) act cause of the error; see chapter 1.5.2 "Error Reference Lists for Function
Blocks as of Target "IndraDrive MP03"" on page 28
Value DINT If the output "Done"=TRUE, "Value" signals the value of the selected element
Axis AXIS_REF Axis number (only the global variable "Axis1" can be transmitted here)
ErrorID Description
For the library in which the function is available, see: "Library As‐
signment as of the Target "IndraDrive MP04""
Execute BOOL The function block is activated with a rising edge at "Execute". With a falling
edge, all outputs are reset
CmdStatus MX_CMD_STATUS At the "CmdStatus" input, 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
176/209 Bosch Rexroth AG DOK-INDRV*-MLD-SYSLIB*-FK05-EN-P
Rexroth IndraDrive Rexroth IndraMotion MLD Library
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" shows the
exact cause of the error
* See note below
Fig.1-329: Output Variables of the Firmware Function Block "MX_SetCmdState"
NOTE: For the list of all possible errors, see: chapter 1.5.2 "Error
Reference Lists for Function Blocks as of Target "IndraDrive
MP03"" on page 28
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".
For the library in which the function is available, see: "Library As‐
signment for the Targets "IndraDrive MPH02" and "IndraDrive
MP03"" or "Library Assignment as of the Target "IndraDrive
MP04""
DOK-INDRV*-MLD-SYSLIB*-FK05-EN-P Bosch Rexroth AG 177/209
Rexroth IndraDrive Rexroth IndraMotion MLD Library
Execute BOOL The function block is activated with a rising edge at "Execute". All outputs are
(as of MPx03VRS) reset with a falling edge at "Execute".
Enable BOOL For MPH02VRS the function block is status-controlled. The function block is star‐
(only MPH02VRS) ted with "Enable"=TRUE, all outputs are reset with "Enable"=FALSE
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
178/209 Bosch Rexroth AG DOK-INDRV*-MLD-SYSLIB*-FK05-EN-P
Rexroth IndraDrive Rexroth IndraMotion MLD Library
Axis AXIS_REF Axis number (only the global variable "Axis1" can be transmitted here)
ErrorID Description
For the library in which the function is available, see: "Library As‐
signment for the Targets "IndraDrive MPH02" and "IndraDrive
MP03"" or "Library Assignment as of the Target "IndraDrive
MP04""
MX_fDINT_AccTo_REAL REAL Returns the acceleration value in the REAL format, according to the
scaling which has been set
For the library in which the function is available, see: "Library As‐
signment for the Targets "IndraDrive MPH02" and "IndraDrive
MP03"" or "Library Assignment as of the Target "IndraDrive
MP04""
MX_fDINT_DistTo_REAL REAL Returns the position value in the REAL format, according to the scaling
which has been set
The function can be used for the virtual master axis / master axis encoder and
for the real axes "Axis1, Axis2, etc.".
For the library in which the function is available, see: "Library As‐
signment for the Targets "IndraDrive MPH02" and "IndraDrive
MP03"" or "Library Assignment as of the Target "IndraDrive
MP04""
MX_fDINT_VelTo_REAL REAL Returns the velocity value in the REAL format, according to the scaling
which has been set
For the library in which the function is available, see: "Library As‐
signment for the Targets "IndraDrive MPH02" and "IndraDrive
MP03"" or "Library Assignment as of the Target "IndraDrive
MP04""
MX_fREAL_AccTo_DINT DINT Returns the acceleration value in the fixed-point DINT format, accord‐
ing to the scaling which has been set
For the library in which the function is available, see: "Library As‐
signment for the Targets "IndraDrive MPH02" and "IndraDrive
MP03"" or "Library Assignment as of the Target "IndraDrive
MP04""
MX_fDINT_DistTo_REAL DINT Returns the position value in the fixed-point DINT format, according to
the scaling which has been set
For the library in which the function is available, see: "Library As‐
signment as of the Target "IndraDrive MP04""
MX_fREAL_TorqueRampTo_DINT DINT Returns the velocity value in the fixed-point DINT format, according to
the scaling which has been set
For the library in which the function is available, see: "Library As‐
signment as of the Target "IndraDrive MP04""
MX_fREAL_TorqueTo_DINT DINT Returns the torque/force value in the fixed-point DINT format, accord‐
ing to the scaling which has been set
For the library in which the function is available, see: "Library As‐
signment for the Targets "IndraDrive MPH02" and "IndraDrive
MP03"" or "Library Assignment as of the Target "IndraDrive
MP04""
MX_fREAL_VelTo_DINT DINT Returns the velocity value in the fixed-point DINT format, according to
the scaling which has been set
1.12 MX_DSP.lib
1.12.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:
184/209 Bosch Rexroth AG DOK-INDRV*-MLD-SYSLIB*-FK05-EN-P
Rexroth IndraDrive Rexroth IndraMotion MLD Library
1.12.2 MX_SynchronControl
● Controls the real-time channel (e.g. delay when writing command values)
● Synchronous (equidistant) input of command values
● Only "IndraDrive MP03" and "IndraDrive MP04": Internal synchronization
of the drive, if no 1st class master communication is available (only
SERCOS at present)
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 val‐
ues are not taken into account. If these command values fail twice
in succession, "F4016 PLC double real-time channel failure" is gen‐
erated (as of "IndraDrive MP03").
CmdDelay INT The "CmdDelay" input determines after which time the RTC variables are
(as of IndraDrive MP03) to be written.
WORD With firmware of the "MPH" type (High Performance), the following values
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 start of the 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 with "Enable"=TRUE, all outputs are reset
with "Enable"=FALSE.
SyncDrive BOOL You might want to have the drive internally synchronized by MLD‑S; this
(only "IndraDrive MP03" is the case when the master communication currently used is not able to
and "IndraDrive MP04") 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.
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 "StatReset" input, the statistics outputs "Rest‐
TicksMin", "RestTicksMax", "RestTimeMin", "RestTimeMax" and
"CmdWdg" are reset to their initial value
DriveIsSync BOOL With TRUE at the output, the function block signals that MLD-S internally
(only "IndraDrive MP03" synchronizes the drive; only takes effect in conjunction with the "Syn‐
and "IndraDrive MP04") cDrive" input
Error BOOL With "Error"=TRUE the function block signals that an error is present
ErrorID ERROR_CODE (as of As of the target version IndraDrive MP03, the "ErrorID" output is of the
IndraDrive MP03)* ERROR_CODE type (ENUM value). The ENUM value which is output in
the case of error gives a rough error description.
WORD For the target version IndraDrive MPH02, the "ErrorID" output is of the
(IndraDrive MPH02) WORD type. In the case of error, the error code is output here.
(see ErrorID Reference
List for the Firmware
Function Block
MX_SynchronControl
for IndraDrive MPH02 )
ErrorIdent (as of ERROR_STRUCT The output signals the exact cause of the error.
MPx03VRS)* ERROR_STRUCT contains the following elements: "Table", "Addition‐
al1" and optionally "Additional2".
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
* See note below
Fig.1-362: Output Variables of the Firmware Function Block "MX_SynchronCon‐
trol"
For the list of all possible errors, see: chapter 1.5.2 "Error Refer‐
ence Lists for Function Blocks as of Target "IndraDrive MP03"" on
page 28
ErrorID Description
ErrorID Description
8 PLC variable not in defined in MDT (internal error)
9 Internal variable access (internal error)
Fig.1-363: "ErrorID" Reference List for the Firmware Function Block "MX_Syn‐
chronControl" for IndraDrive MPH02
1.13 MX_SysLibMem
1.13.1 General Information
The functions of the library "MX_SysLibMem.lib" are available as of the target
"IndraDrive MP05"; they are used for memory management. The functions can
be used
● to compare two storage locations,
● to initialize or preassign a memory range,
● to copy or shift from one memory to the other or
● to swap1) (processing takes place synchronously).
1.13.2 Functions
The library "MX_SysLibMem.lib" contains the following functions:
● SysMemCmp
● SysMemCpy
● SysMemMove
● SysMemSet
● SysMemSwap
1.14 MX_SysLibDir
1.14.1 General Information
With the functions of the library "MX_SysLibDir.lib" and as of the target
"IndraDrive MP05", it is possible to synchronously access a file directory system
on the target. Directory entries can be read.
1.14.2 Functions
The library "MX_SysLibDir.lib" contains the following functions:
● SysDirOpen
● SysDirRead
MX_SysLibFile.lib MX_SysLibFileAsync.lib
SysFileEOF SysFileEOFAsync
SysFileGetPos SysFileGetPosAsync
SysFileGetSize SysFileGetSizeAsync
SysFileGetTime SysFileGetTimeAsync
SysFileRename SysFileRenameAsync
SysFileSetPos SysFileSetPosAsync
1.16 MX_SysLibIecTasks.lib
The library "MX_SysLibIecTasks.lib" is a subgroup of "SysLibIecTasks.lib";
"SysIECTaskGetConfig" and "SysIECTaskGetInfo" are supported.
1.17 RIL_CommonTypes.lib
The following libraries contain data types and structures most of which are only
used internally:
Target Library
Data Type "ERROR_CODE" "ERROR_CODE" is a data type relevant to the user. With function blocks, the
data type is used for the "ErrorID" output. The Enum value describes the error
which occurred.
1.18 RIL_SocketComm.lib
The library "RIL_SocketComm.lib" is supported as of the target "IndraDrive
MP05". It contains functions and function blocks which allow using the TCP/
UDP communication.
The library "RIL_SocketComm.lib" is supported by several targets and therefore
is described in the documentation "Basic Libraries, IndraLogic 1x".
1.19 RIL_Utilities
The library "RIL_Utilities.lib" is supported as of the firmware MPx05V04.
The library is supported by several targets and therefore is described in the
documentation "Basic Libraries, IndraLogic 1x".
1.20 RIL_VExUtil.lib
The library "RIL_VExUtil.lib" is supported as of the target "IndraDrive MP05". It
contains a function block allowing safe key-type operation with all Rexroth HMI
devices of the "VEx" type.
The library "RIL_VExUtil.lib" is supported by several targets and therefore is
described in the documentation "Basic Libraries, IndraLogic 1x".
1.21 SysLibCallback.lib
The library "SysLibCallback.lib" is supported as of the target "IndraDrive
MPH02". It contains functions for activating defined callback functions for run‐
time events.
The library is supported by several targets; it is described in the IndraLogic help
under "SysLibCallback.lib".
DOK-INDRV*-MLD-SYSLIB*-FK05-EN-P Bosch Rexroth AG 195/209
Rexroth IndraDrive Rexroth IndraMotion MLD Library
1.22 SysLibSem.lib
The library "SysLibSem.lib" is supported as of the target "IndraDrive MP06". It
contains functions for synchronized data exchange between tasks.
The library is supported by several targets; it is described in the IndraLogic help
under "SysLibSem.lib".
1.23 SysLibSockets
1.23.1 General
The library "SysLibSockets.lib" is available as of the target "IndraDrive
MP05". The functions contained in the library support the access to sockets2)
for communication via TCP/IP and UDP.
By means of the functions contained in the library and as of the target
"IndraDrive MP05", IndraMotion MLD can be programmed as UDP or TCP/IP
server resp. UDP or TCP/IP client.
● SysSockAccept
● SysSockBind
● SysSockClose
● SysSockConnect
● SysSockCreate
● SysSockGetHostByName
● SysSockGetHostName
● SysSockGetLastErrorSync
● SysSockSetOption and SysSockGetOption
● SysSockHtonI, SysSockHtons, SysSockNtohI and SysSockNtohs
● SysSockInetAddr
● SysSockInetNtoa
● SysSockIoctl
● SysSockListen
● SysSockSelect
● SysSockShutdown
TCP-specific:
● SysSockRecv
● SysSockSend
UDP-specific:
● SysSockRecvFrom
● SysSockSendTo
General Information ● The symbols of the different socket options and maximum values are de‐
fined in the global variables of "SysLibSockets.lib".
● The symbols of the error codes are defined in "MX_Base.lib".
● To write portable software, you should work with the symbols of the con‐
stant definitions of the global variables from "SysLibSockets.lib" and
"MX_Base.lib", not with their numeric values.
● As a maximum, MLD may open 20 sockets (the maximum value
"MAX_OPEN_SYNCSOCKETS" is defined in the global variables of "Sy‐
sLibSockets.lib").
NOTE: It might not be possible to open all 20 sockets, because the drive
already uses these resources.
● The transmit and receive buffer size cannot be changed and has been set
to 1500 bytes (1446 bytes of net data). This means that, for example, 4000
bytes of data to be transmitted will be transmitted as 3 data packages with
1446 bytes and one package with 1108 bytes of net data.
● The timeout for reception cannot be changed and has been set to 10000
ms. For transmission there is no timeout.
● For server applications, it is recommended that you use the port addresses
49.152 to 65.535. (See also "IANA" (Internet Assigned Numbers Authority,
http://www.iana.com)
● For reset and reloading of an MLD program, it is not necessary to write
callback functions. In the case of reset and download, MLD automatically
deletes all sockets it had opened.
● In the "Non Blocking Mode", the error code "ERR_UNAVAILABLE (-51)"
can be sporadically signaled. This error means that a resource is presently
unavailable and the function call has to be repeated.
"SysSockAccept" Before "SysSockAccept", "SysSockListen" must be called. "SysSockListen"
sets a table to accept connection requirements. This table must be ready before
"SysSockAccept" starts blocking and waits for connection attempts.
"SysSockConnect" Generally, "SysSockConnect" may only be called once per socket after "Sys‐
SockCreate".
● Blockingmode: If Connect is impossible, "SysSockConnect" blocks for 1
minute and then returns with the return value =FALSE. The error code can
be read with the function "SysSockGetLastErrorSync".
● Non Blockingmode: If the return value =FALSE and the error code sup‐
plied by "SysSockGetLastErrorSync" ="NU_IS_CONNECTING", it is nec‐
essary to find out via the function "SysSockSelect" whether the socket is
ready for transmission and/or reception.
"SysSockCreate" "SysSockCreate" definitely sets "Blockingmode".
DOK-INDRV*-MLD-SYSLIB*-FK05-EN-P Bosch Rexroth AG 197/209
Rexroth IndraDrive Rexroth IndraMotion MLD Library
1.24 SysLibStr.lib
The library "SysLibStr.lib" is supported as of the target "IndraDrive MPH02". It
contains functions for handling strings.
The library is supported by several targets; it is described in the IndraLogic help
under "SysLibStr.lib".
1.25 Util.lib
The library "Util.lib" is supported as of the target "IndraDrive MPH02". It contains
function blocks that can be used for BCD conversion, bit/byte functions, math‐
ematical auxiliary functions, as controllers, signal generators, function manip‐
ulators and for analog value processing.
The library is supported by several targets; it is described in the IndraLogic help
under "Util.lib".
Target Library
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 Application" in the Application Manual on Rexroth
IndraMotion MLD.
Functions ● CheckBounds
● CheckDivByte
● CheckDivDWord
● CheckDivReal
● CheckDivWord
● CheckRangeSigned
● CheckRangeUnsigned
Target Library
When a new project is created, Internal is automatically linked and visible to the
user.
202/209 Bosch Rexroth AG DOK-INDRV*-MLD-SYSLIB*-FK05-EN-P
Rexroth IndraDrive Rexroth IndraMotion MLD Library
DOK-INDRV*-MLD-SYSLIB*-FK05-EN-P Bosch Rexroth AG 203/209
Rexroth IndraDrive Rexroth IndraMotion MLD Library
Appendix
2 Appendix
2.1 Service and Support
Our service helpdesk at our headquarters in Lohr, Germany and our worldwide
service will assist you with all kinds of enquiries. You can reach us around the
clock - even on weekend and on holidays.
Service Hotline
Helpdesk
Worldwide
Phone +49 (0) 9352 40 50 60 Outwith Germany please con‐
tact our sales/service office in
Fax +49 (0) 9352 40 49 41
your area first.
For hotline numbers refer to
E-mail service.svc@boschrexroth.de the sales office addresses on
the Internet.
http://www.boschrexroth.com
Internet You will also find additional notes regarding service, mainte‐
nance (e.g. delivery addresses) and training.
Preparing Information For quick and efficient help please have the following information ready:
● Detailed description of the fault and the circumstances
● Information on the type plate of the affected products, especially type co‐
des and serial numbers
● Your phone, fax numbers and e-mail address so we can contact you in
case of questions.
204/209 Bosch Rexroth AG DOK-INDRV*-MLD-SYSLIB*-FK05-EN-P
Rexroth IndraDrive Rexroth IndraMotion MLD Library
DOK-INDRV*-MLD-SYSLIB*-FK05-EN-P Bosch Rexroth AG 205/209
Rexroth IndraDrive Rexroth IndraMotion MLD Library
Index
Index
A L
AnalyzationNew.lib.............................................. 35 Library
Asynchronous file access................................. 191 CommonTypes ........................................... 192
ATAN2................................................................ 96 Debug ......................................................... 199
C M
CheckBounds.................................................... 200 MB_ChangeCamData....................................... 124
CheckDivByt..................................................... 200 MB_ChangeProfileSet......................................... 37
CheckDivDWord............................................... 200 MB_ChangeProfileStep....................................... 39
CheckDivReal................................................... 200 MB_Command.................................................... 42
CheckDivWord.................................................. 200 MB_GearInPos.................................................... 46
CheckRangeSigned.......................................... 200 MB_Home......................................................... 100
CheckRangeUnsigned...................................... 200 MB_MotionProfile................................................ 49
CheckRtv.......................................................... 200 MB_Phasing........................................................ 52
MB_PhasingSlave............................................... 53
MB_PreSetMode............................................... 102
D MB_ReadListParameter.................................... 134
Data exchange, consistent................................ 183 MB_ReadMaxRealValue................................... 136
Data types MB_ReadMaxValue.......................................... 138
General ........................................................ 34 MB_ReadMinRealValue.................................... 140
MB_IDN ........................................................ 35 MB_ReadMinValue........................................... 142
Diagnostic......................................................... 120 MB_ReadName................................................. 144
diLevel............................................................... 197 MB_ReadParameter......................................... 146
Directory of function block libraries of Rexroth MB_ReadRealListParameter............................ 148
IndraLogic............................................................. 7 MB_ReadRealParameter.................................. 150
Drive control................................................ 36, 100 MB_ReadSercosAttribute.................................. 155
DSP................................................................... 183 MB_ReadSercosDataStatus............................. 152
MB_ReadStringParameter................................ 158
E MB_ReadUnit.................................................... 156
Error.................................................................... 27 MB_SetPositionControlMode............................ 119
ERROR_CODE................................................... 27 MB_Stop............................................................. 55
ERROR_STRUCT............................................... 27 MB_WriteListParameter.................................... 165
Error handling..................................................... 26 MB_WriteParameter.......................................... 160
ErrorID................................................................. 27 MB_WriteRealListParameter............................. 163
ErrorIdent............................................................ 27 MB_WriteRealParameter.................................. 168
MB_WriteStringParameter................................ 171
MC_CamIn.......................................................... 57
F MC_CamOut....................................................... 60
File access MC_GearIn.......................................................... 61
Asynchronous ............................................ 191 MC_GearOut....................................................... 63
Synchronous .............................................. 191 MC_MoveAbsolute.............................................. 64
MC_MoveAdditive............................................... 66
I MC_MoveRelative............................................... 69
INDRV_TABLE.................................................... 34 MC_MoveVelocity............................................... 71
Input signals "Execute" / "Enable"....................... 22 MC_Power........................................................ 103
Internal_MP03.lib.............................................. 201 MC_ReadStatus................................................ 105
Internal_MPH02.lib............................................ 201 MC_Reset......................................................... 107
Internal data types............................................ 200 MC_Stop............................................................. 74
Internal function blocks..................................... 200 MC_TorqueControl.............................................. 77
Internal functions............................................... 200 Means of representation
Internal structures............................................. 200 Conventions of notation ................................. 5
Notations ........................................................ 5
Notes .............................................................. 5
Memory management....................................... 189
MLD_TABLE....................................................... 28
206/209 Bosch Rexroth AG DOK-INDRV*-MLD-SYSLIB*-FK05-EN-P
Rexroth IndraDrive Rexroth IndraMotion MLD Library
Index
M M
MLDS_TABLE..................................................... 28 MX_WriteParamDINT........................................ 176
MX_Base.lib........................................................ 95
MX_Command.................................................. 109
MX_fCheckCmdRequest................................... 126
P
MX_fDINT_AccTo_REAL.................................. 178 Parameters....................................................... 123
MX_fDINT_DistTo_REAL.................................. 179 Processing commands in a PLCopen function
MX_fDINT_VelTo_REAL................................... 179 block.................................................................... 22
MX_fGetDriveWarning...................................... 121
MX_fGetFreeTicks.............................................. 96 R
MX_fGetHighResTime........................................ 97 Real-time channel............................................. 183
MX_fHighResTimerTicks_to_us.......................... 98 RIL_SocketComm.lib........................................ 194
MX_fReadParamDINT...................................... 127 RIL_VExUtil.lib.................................................. 194
MX_fReadStringParam..................................... 128 Runtime errors
MX_fREAL_AccTo_DINT.................................. 180 Signaling / checking ................................... 200
MX_fREAL_DistTo_DINT.................................. 181
MX_fREAL_TorqueRampTo_DINT................... 181
MX_fREAL_TorqueTo_DINT............................. 182 S
MX_fREAL_VelTo_DINT................................... 183 Scaling.............................................................. 178
MX_fSetDriveError............................................ 121 SERCOS_TABLE................................................ 33
MX_fSetDriveWarning....................................... 122 Serial interface.................................................... 90
MX_fSetParamLimits........................................ 129 Support
MX_fSetParamName........................................ 130 see Service Hotline .................................... 203
MX_fSetParamUnit........................................... 131 Synchronous file access................................... 191
MX_fSysComStatus............................................ 91 SysComClose..................................................... 92
MX_fWriteParamDINT....................................... 132 SysComOpen...................................................... 93
MX_fWriteStringParam..................................... 133 SysComRead...................................................... 93
MX_IECTaskGetLoad......................................... 99 SysComWrite...................................................... 94
MX_Internal.lib.................................................. 201 SysDirOpen....................................................... 190
MX_MoveAbsolute.............................................. 78 SysDirRead....................................................... 190
MX_MoveAdditive............................................... 81 SysFileClose..................................................... 190
MX_MoveRelative............................................... 84 SysFileCloseAsync........................................... 190
MX_MoveVelocity............................................... 87 SysFileCopy...................................................... 190
MX_PositionLoopEventInfo............................... 100 SysFileCopyAsync............................................ 190
MX_Power......................................................... 103 SysFileDelete.................................................... 190
MX_ReadParamDINT....................................... 173 SysFileDeleteAsync.......................................... 190
MX_ReadUnit.................................................... 156 SysFileEOF....................................................... 191
MX_Reset......................................................... 107 SysFileEOFAsync............................................. 191
MX_SetCmdState............................................. 175 SysFileGetPos.................................................. 191
MX_SetControl.................................................. 112 SysFileGetPosAsync........................................ 191
MX_SetDeviceMode......................................... 114 SysFileGetSize................................................. 191
MX_SetOpMode................................................ 116 SysFileGetSizeAsync........................................ 191
MX_Stop............................................................. 89 SysFileGetTime................................................ 191
MX_SynchronControl........................................ 184 SysFileGetTimeAsync....................................... 191
MX_SysComOpenAsync..................................... 91 SysFileOpen..................................................... 190
MX_SysLibCom.lib.............................................. 90 SysFileOpenAsync............................................ 190
MX_SysLibDir................................................... 189 SysFileRead...................................................... 190
MX_SysLibDir.lib SysFileReadAsync............................................ 190
Notes on utilization ..................................... 190 SysFileRename................................................. 191
MX_SysLibFile SysFileRenameAsync....................................... 191
Notes on utilization ..................................... 192 SysFileSetPos................................................... 191
MX_SysLibFile.lib.............................................. 190 SysFileSetPosAsync......................................... 191
MX_SysLibFileAsync.lib.................................... 190 SysFileWrite...................................................... 190
MX_SysLibMem SysFileWriteAsync............................................ 190
Functions .................................................... 189 SysLibCallback.lib............................................. 194
Notes on utilization ..................................... 189 SysLibSem.lib................................................... 195
MX_SysLibMem.lib........................................... 189 SysLibSockets.lib
Notes on utilization ..................................... 196
DOK-INDRV*-MLD-SYSLIB*-FK05-EN-P Bosch Rexroth AG 207/209
Rexroth IndraDrive Rexroth IndraMotion MLD Library
Index
S S
SysLibStr.lib...................................................... 199 SysSockListen.................................................. 195
SysMemCmp.................................................... 189 SysSockloctl...................................................... 195
SysMemCpy...................................................... 189 SysSockNtohI................................................... 195
SysMemMove................................................... 189 SysSockNtohs................................................... 195
SysMemSet....................................................... 189 SysSockRecv.................................................... 195
SysMemSwap................................................... 189 SysSockRecvFrom........................................... 196
SysSockAccept................................................. 195 SysSockSelect.................................................. 195
SysSockBind..................................................... 195 SysSockSend.................................................... 196
SysSockClose................................................... 195 SysSockSendTo............................................... 196
SysSockConnect............................................... 195 SysSockSetOption............................................ 195
SysSockCreate................................................. 195 Socket levels .............................................. 197
SysSockGetHostByName................................. 195 SysSockShutdown............................................ 195
SysSockGetHostName..................................... 195 diHow ......................................................... 199
SysSockGetLastErrorSync............................... 195
SysSockGetOption............................................ 195
Socket levels .............................................. 197
T
SysSockHtonI................................................... 195 TCP/IP communication..................................... 195
SysSockHtons................................................... 195 Tools................................................................... 96
SysSockInetAddr.............................................. 195
SysSockInetNtoa.............................................. 195 U
SysSockIoctl UDP communication......................................... 195
diCommand ................................................ 198
208/209 Bosch Rexroth AG DOK-INDRV*-MLD-SYSLIB*-FK05-EN-P
Rexroth IndraDrive Rexroth IndraMotion MLD Library
DOK-INDRV*-MLD-SYSLIB*-FK05-EN-P Bosch Rexroth AG 209/209
Rexroth IndraDrive Rexroth IndraMotion MLD Library
Notes
R911309224