Open Core Interface - MLPI
MLPI-MotionLogicProgrammingInterface(mlpi4MATLAB)  1.26.2
Libraries
List of related libraries:
[detail level 12]
 MATLAB
 ApiLib API Functions

API Functions

Description

The API function group contains elementary functions used to establish a connection between your client application and a target system. This has to be done before any other MLPI function can be called.

The MLPI is session oriented. This means, that you need to connect to a target before you can use any other MLPI function calls. There are a just few functions like m4MApiGetClientCoreVersion that do not need an online communication to the target.

After successfully connecting to the target using m4MApiConnect you will get a handle object which identifies your connection and which can be used for any further MLPI function call. Please have a look at the documentation and examples of the function m4MApiConnect for more information.

You will find some additional functions to test if the session is still established with m4MApiIsConnected, to test the connection performance with m4MApiTestConnection or to get version information with m4MApiGetClientCoreVersion and m4MApiGetServerCoreVersion.

Note: Make sure that mlpi4MATLAB functions are called with a valid connection handle. Invalid handles can cause unexpected behaviour.

More Information

For further information, refer to the mlpiCore documentation: ApiLib

Copyright

Legal notice and version: © 2017 Bosch Rexroth Corporation http://www.boschrexroth.com DC-AE/EAS1 (MGo) Library version: 1.26.2.0.0

 SystemLib System Functions

System Functions

Description

The system function group contains functions used to provide access to common device settings of the target device.

The diagnosis logbook of the target device can also be accessed using functions of this group.

More Information

For further information, refer to the mlpiCore documentation: SystemLib

Copyright

Legal notice and version: © 2017 Bosch Rexroth Corporation http://www.boschrexroth.com DC-AE/EAS1 (MGo) Library version: 1.26.2.0.0

 MotionLib Motion Functions

Motion Functions

Description

The motion function group provides functionality for defining axes, commanding motion, setting and getting axes information.

The conceptual difference between a drive or device and an axis is that a drive or device is the physical device that is connected to the sercos bus and can be configured via S- and P-parameters. An axis is assigned to a drive or device and is accessible through A-parameters. Multiple axes can be assigned to a drive or device (for example, one axis is a real axis that is moving the drive, a second axis is connected to the same drive, but implements an encoder axis).

Note You find a more detailed description of the concept of axes in the IndraWorks help system of the XLC/MLC product.

The m4MMotion* functions all deal with the motion of axes. The motion commands can be structured in single axis commands, where a single axis is moved, synchronous commands, where slave axes are moved in relation to a master and utility functions like power or homing of an axis.

Each motion command usually uses a set of input arguments to define the particular movement. The command will be executed in the motion-controller and returns a handle.

This handle can be used in following requests to get status information. The handle and the axis reference a particular motion command. One axis can have multiple active commands (e.g. power is switched on and a move is commanded). In contrast, an active motion command will be interrupted as soon as a new motion command is called.

More Information

For further information, refer to the mlpiCore documentation: MotionLib

Copyright

Legal notice and version: © 2017 Bosch Rexroth Corporation http://www.boschrexroth.com DC-AE/EAS1 (MGo) Library version: 1.26.2.0.0

 LogicLib Logic Functions

Logic Functions

Description

The logic functions group contains functions to control and manage the PLC runtime system on the target device. Furthermore this function group provides the symbolic read and write access to logic variables and the possibility to read and write memory areas such as the input area.

More Information

For more information, refer to mlpiCore documentation: LogicLib.

Copyright

Legal notice and version: © 2017 Bosch Rexroth Corporation http://www.boschrexroth.com DC-AE/EAS1 (MGo) Library version: 1.26.2.0.0

 ParameterLib Parameter Functions

Parameter Functions

Description

This function group contains functions to read and write parameters.

Sercos automation bus specifies S- and P-parameters that basically include all information to operate a sercos device. S-parameters are parameters that are sercos specific parameters while P-parameters are those which are product specific, which means vendos specific, but their structure is sercos conform.

While S- and P-parameters are very drive centric, IndraMotion XLC/MLC provides A-, C-, K-, M-, N- and O-parameters which are related to axis, control, kinematics, touch-probe, CAM switches and oscilloscop functions and properties. More information about parameters can be found in the IndraWorks help. Several S- and P-parameters are mapped to these parameters.

A parameter is basically a quantity that serves to relate functions and variables. Every parameter consists of up to seven elements.

Parameter structure

Element  Description          Requirement
No.
-------------------------------------------------------------
1        IDN                  global unique identifier,
                              mandatory
2        Name                 name of parameter, optional
3        Attribute            properties of parameter
                              (attribute), changeable,
                              mandatory
4        Unit                 unit of parameter, changeable,
                              optional
5        Minimum input value  minimum value of operation data,
                              changeable, optional
6        Maximum input value  maximum value of operation data,
                              changeable, optional
7        Operation data       operation data, changeable,
                              mandatory

In a parameter, elements 1, 3 and 7 are mandatory and shall always be present. Elements 2, 4, 5, and 6 are optional and may be supported depending on configuration. Elements 5 and 6 are mandatory for cycle time parameters only. All parameters are assigned to IDNs.

Parameter element IDN

Bit No.  Short description   Description
-------------------------------------------------------------
40-63    Reserved                –
32-39    EIDN types              Extend standard or product
                                 specific IDN
                                 (e.g. C-x-xxxx, A-x-xxxx,...)
31-24    Structure instance (SI) Number of structure instance
                                 (SI)
23-16    Structure element (SE)  0-127: Standard SE
                                 128-255: Product-specific SE
15       Standard or Product     0: Standard IDN (S-x-xxxx)
         specific IDN (S or P)   1: Product-specific IDN
                                    (P-x-xxxx)
14-12    Parameter sets          sercos specifies IDNs with
                                 parameter set 0 only.
0-11     Data block or           Data block number (if SI = SE = 0)
         Function group          Function group (if SI or SE is not 0)

Parameter Attribute

Bit   Short description      Description
No.
-------------------------------------------------------------
31    –  Reserved
30    Write protected in CP4 0: Operation data is writable
                             1: Operation data is write
                                protected
29    Write protected in CP3 0: Operation data is writable
                             1: Operation data is write
                                protected
28    Write protected in CP2 0: Operation data is writable
                             1: Operation data is write
                                protected
24-27 Decimal point          0000..1111: No place to 15
                             places after decimal point
                             (maximum)
23    –                      Reserved
20-22 Data type and          000: Data type: Binary number;
      display format         Display format: Binary
                             001: Data type: Unsigned integer;
                             Display format: Unsigned decimal
                             010: Data type: Integer; Display
                             format: Signed decimal
                             011: Data type: Unsigned integer;
                             Display format: Hexadecimal
                             100: Data type: Extended character
                             set; Display format: UTF8
                             101: Data type: Unsigned integer;
                             Display format: IDN
                             110: Data type: Floating-point
                             number; Display format: Signed
                             decimal with exponent
                             111: Data type: sercos time;
                             Display format: 4 octets seconds
                             and 4 octets nano seconds, starts
                             with 1.1.1970 computed in UTC
19    Command                0: Parameter is not a procedure
                             command
                             1: Parameter is a procedure
                             command
16-18 Data length            000: Reserved
                             001: Operation data is two octets
                             long
                             010: Operation data is four octets
                             long
                             011: Operation data is eight octets
                             long
                             100: Variable length with one-octet
                             data strings
                             101: Variable length with two-octet
                             data strings
                             110: Variable length with four-octet
                             data strings
                             111: Variable length with eight-octet
                             data strings
0-15 Conversion factor       The conversion factor is an unsigned
                             integer used to convert numeric data
                             to display format. The conversion
                             factor shall be set to a value of 1
                             when it is not needed for data
                             display.

CP2, CP3, CP4 mean sercos communication phase. CP2 is the communication mode in which most of the parameter setting can be done as the sercos bus is in non-cyclic mode. CP4 is the cyclic communication mode in which most of the parameter modification is no longer possible. Sercos communication phases can be changed by use of the function m4MSystemSetTargetMode.

More Information

For further information, refer to the mlpiCore documentation: ParameterLib

Copyright

Legal notice and version: © 2017 Bosch Rexroth Corporation http://www.boschrexroth.com DC-AE/EAS1 (MGo) Library version: 1.26.2.0.0

 WatchdogLib Watchdog Functions

Watchdog Functions

Description

Using the watchdog function group you can establish a mechanism between your application and the firmware in order to react to exceptions or problems within your client program execution.

The following steps are necessary:

  • Setup the watchdog and specify the timeout in milliseconds as well as the action to be taken when the timeout is reached.
  • Start the watchdog.
  • Reset the watchdog on a cyclic time basis that is lower than the specified timeout. As soon as you do not reset the watchdog in time, it will execute the action as specified during the setup. E.g. stop the PLC or restart the device.

More Information

For more information, refer to mlpiCore documentation: WatchdogLib.

Copyright

Legal notice and version: © 2017 Bosch Rexroth Corporation http://www.boschrexroth.com DC-AE/EAS1 (MGo) Library version: 1.26.2.0.0

 TaskLib Task Functions

Task Functions

Description

This function group provides functionality to control and change the tasking and scheduling of the MLC/MLP/XLC system and the user application.

Using the task functions it is possible to hook your task into the real-time task scheduler of the target system. Of course, this makes only sense if your program runs on the same target as the device you are connected to. Using the task functions when connecting via MLPI over ethernet is possible but the timing of the methods is non deterministic. But when running with your application on the target you can make sure, that your task is one of the first tasks to get scheduled, when for example new data has arrived on the sercos bus. To do this you have to increase the task priority of your task using m4MTaskSetCurrentPriority and then you may want to wait for a given system event using m4MTaskWaitForEvent.

More Information

For more information, refer to mlpiCore documentation: TaskLib.

Copyright

Legal notice and version: © 2017 Bosch Rexroth Corporation http://www.boschrexroth.com DC-AE/EAS1 (MGo) Library version: 1.26.2.0.0

 TraceLib Trace Functions

Trace Functions

Description

This function group provides access to the common internal tracing module of the device.

The tracing system provides a mechanism for collecting and viewing device debug output. Logs from various components and the firmware system are collected in a circular buffer, which then can be read and viewed. There are 3 types of logs in the trace system:

  • Message,
  • Warning and
  • Error.

For better filtering and to minimize performance impact on the running system, the logs can be grouped to modules and each module can be activated or deactivated. A log to a activated module is written to one of the given circular buffers of the trace system. Logs to deactivated modules are discarded. It is possible to read the current content of the buffers.

More Information

For more information, refer to mlpiCore documentation: TraceLib.

Copyright

Legal notice and version: © 2017 Bosch Rexroth Corporation http://www.boschrexroth.com DC-AE/EAS1 (MGo) Library version: 1.26.2.0.0

 IoLib I/O Functions

I/O Functions

Description

This function group contains functions to control and manage, read and write fieldbus I/Os.

More Information

For more information, refer to mlpiCore documentation: IoLib.

Copyright

Legal notice and version: © 2017 Bosch Rexroth Corporation http://www.boschrexroth.com DC-AE/EAS1 (MGo) Library version: 1.26.2.0.0

 ContainerLib Container Functions

Container Functions

Description

Use the container function group when you need to access a larger set of data repetitively and with maximum update speed. For example input data you want to read every machine cycle. Using the function m4MContainerCreate you first have to create a container by defining all the elements you want to read with the container. This also defines the memory layout of the container. Following that you can read or write your data using the functions m4MContainerGetUdt or m4MContainerSetUdt. When the container is no longer needed, delete it using m4MContainerDestroy.

Important Note

The addresses of the variables of the container content might changes on every download or online change of the PLC application, so you have to stop and destroy your container before you load the PLC application!

Please ensure you do not destroy a container during accessing it (e.g. update, read information)!

A container is a list of items which are described as so called tags. Each tag identifies a data element which can be read or written. For example a symbolic variable from the PLC or data from the input area of the I/O mapping.

The first argument of a tag always defines the type of data to read or write. The following data sources are available:

  • LOGICLIB_MEMORY_AREA: Accessing Input, Output and Marker area of PLC (%I, %O, %M).
  • LOGICLIB_SYMBOL: Accessing variables and arrays of PLC by symbolic name using symbolic variables. Access requires a symbol configuration of desired variables.
  • IOLIB_FIELBUS_IO: Accessing fieldbus IO data directly from fieldbus driver.
  • ALIGNMENT_DUMMY: Dummy elements to align the subsequent tag.

The arguments for the different data sources are as follows.

LOGICLIB_MEMORY_AREA

  • argument 1: application name. (e.g. "Application")
  • argument 2: area. (Either "INPUT", "OUTPUT" or "MARKER")
  • argument 3: bit offset. (e.g. "0" to read from start offset)
  • argument 4: bit length. (Note: single bit access or byte access supported. E.g. "1", "8", "16", "24", ... )

LOGICLIB_SYMBOL

  • argument 1: symbol name. (e.g. "Application.PlcProg.boDummy")

IOLIB_FIELBUS_IO

  • argument 1: master name. (e.g. "Onboard_I_O")
  • argument 2: slave address. (e.g. "1")
  • argument 3: area. (Either "INPUT" or "OUTPUT")
  • argument 4: bit offset. (e.g. "0" to read from start offset)
  • argument 5: bit length. (Note: single bit access or byte access supported. e.g. "1", "8", "16", "24", ... )

ALIGNMENT_DUMMY

  • argument 1: byte length (Note: only "1", "2", "4" or "8" byte supported)

More Information

For more information, refer to mlpiCore documentation: ContainerLib.

Copyright

Legal notice and version: © 2017 Bosch Rexroth Corporation http://www.boschrexroth.com DC-AE/EAS1 (MGo) Library version: 1.26.2.0.0

 Utility Utility Functions

Utility Functions

Description

This function group includes utility functions that can simplify development.

More Information

For more information, refer to mlpiCore documentation: Utility.

Copyright

Legal notice and version: © 2017 Bosch Rexroth Corporation http://www.boschrexroth.com DC-AE/EAS1 (MGo) Library version: 1.26.2.0.0

 Type Type Definitions

Type Definitions

Description

This function group provides functions to create MLPI type variables.

More Information

For more information, refer to mlpiCore documentation: Typedefs.

Copyright

Legal notice and version: © 2017 Bosch Rexroth Corporation http://www.boschrexroth.com DC-AE/EAS1 (MGo) Library version: 1.26.2.0.0

 Constants Constants

Constants

Description

This function group provides functions to get values of constants.

More Information

For more information, refer to mlpiCore documentation: Libraries.

Copyright

Legal notice and version: © 2017 Bosch Rexroth Corporation http://www.boschrexroth.com DC-AE/EAS1 (MGo) Library version: 1.26.2.0.0

 Simulink
 ApiBlocks API Blocks

API Blocks

Description

The API block group contains elementary blocks used to establish a connection between your client application and a target system. This has to be done before any other mlpi4Simulink block can be called.

mlpi4Simulink is session oriented. This means, that you need to connect to a target before you can use any other mlpi4Simulink blocks. There are just a few blocks like m4SApiGetClientCoreVersion that do not need an online communication to the target.

After successfully connecting to the target using m4SApiConnect you will get a connection identifier which identifies your connection and which can be used for any further mlpi4Simulink blocks. Please have a look at the documentation and examples of the block m4SApiConnect for more information.

More Information

For further information, refer to the mlpiCore documentation: ApiLib

Copyright

Legal notice and version: © 2017 Bosch Rexroth Corporation http://www.boschrexroth.com DC-AE/EAS1 (MGo) Library version: 1.26.2.0.0

 SystemBlocks System Blocks

System Blocks

Description

The system block group contains functions used to provide access to common device settings of the target device.

The diagnosis logbook of the target device can also be accessed using blocks of this group.

More Information

For further information, refer to the mlpiCore documentation: SystemLib

Copyright

Legal notice and version: © 2017 Bosch Rexroth Corporation http://www.boschrexroth.com DC-AE/EAS1 (MGo) Library version: 1.26.2.0.0

 MotionBlocks Motion Blocks

Motion Blocks

Description

The motion block group provides functionality for defining axes, commanding motion, setting and getting axes information.

The conceptual difference between a drive or device and an axis is that a drive or device is the physical device that is connected to the sercos bus and can be configured via S- and P-parameters. An axis is assigned to a drive or device and is accessible through A-parameters. Multiple axes can be assigned to a drive or device (for example, one axis is a real axis that is moving the drive, a second axis is connected to the same drive, but implements an encoder axis).

Note You find a more detailed description of the concept of axes in the IndraWorks help system of the XLC/MLC product.

The m4SMotion* blocks all deal with the motion of axes. The motion commands can be structured in single axis commands, where a single axis is moved, synchronous commands, where slave axes are moved in relation to a master and utility functions like power or homing of an axis.

Each motion command usually uses a set of input arguments to define the particular movement. The command will be executed in the motion-controller and returns a handle.

This handle can be used in following requests to get status information. The handle and the axis reference a particular motion command. One axis can have multiple active commands (e.g. power is switched on and a move is commanded). In contrast, an active motion command will be interrupted as soon as a new motion command is called.

More Information

For further information, refer to the mlpiCore documentation: MotionLib

Copyright

Legal notice and version: © 2017 Bosch Rexroth Corporation http://www.boschrexroth.com DC-AE/EAS1 (MGo) Library version: 1.26.2.0.0

 LogicBlocks Logic Blocks

Logic Blocks

Description

The logic block group contains functions to control and manage the PLC runtime system on the target device. Furthermore this function group provides the symbolic read and write access to logic variables and the possibility to read and write memory areas such as the input area.

More Information

For more information, refer to mlpiCore documentation: LogicLib.

Copyright

Legal notice and version: © 2017 Bosch Rexroth Corporation http://www.boschrexroth.com DC-AE/EAS1 (MGo) Library version: 1.26.2.0.0

 ParameterBlocks Parameter Blocks

Parameter Blocks

Description

This block group contains functions to read and write parameters.

sercos automation bus specifies S- and P-parameters that basically include all information to operate a sercos device. S-parameters are parameters that are sercos specific parameters while P-parameters are those which are product specific, which means vendos specific, but their structure is sercos conform.

While S- and P-parameters are very drive centric, IndraMotion XLC/MLC provides A-, C-, K-, M-, N- and O-parameters which are related to axis, control, kinematics, touch-probe, CAM switches and oscilloscop functions and properties. More information about parameters can be found in the IndraWorks help. Several S- and P-parameters are mapped to these parameters.

A parameter is basically a quantity that serves to relate functions and variables. Every parameter consists of up to seven elements.

Some basic information about the parameter structure can be found here.

More Information

For further information, refer to the mlpiCore documentation: ParameterLib

Copyright

Legal notice and version: © 2017 Bosch Rexroth Corporation http://www.boschrexroth.com DC-AE/EAS1 (MGo) Library version: 1.26.2.0.0

 WatchdogBlocks Watchdog Blocks

Watchdog Blocks

Description

Using the watchdog block group you can establish a mechanism between your application and the firmware in order to react to exceptions or problems within your client program execution.

The following steps are necessary:

  • Setup the watchdog and specify the timeout in milliseconds as well as the action to be taken when the timeout is reached.
  • Start the watchdog.
  • Reset the watchdog on a cyclic time basis that is lower than the specified timeout. As soon as you do not reset the watchdog in time, it will execute the action as specified during the setup. E.g. stop the PLC or restart the device.

More Information

For more information, refer to mlpiCore documentation: WatchdogLib.

Copyright

Legal notice and version: © 2017 Bosch Rexroth Corporation http://www.boschrexroth.com DC-AE/EAS1 (MGo) Library version: 1.26.2.0.0

 IoBlocks I/O Blocks

I/O Blocks

Description

This block group contains functions to control and manage, read and write fieldbus I/Os.

In general, it is recommended to use the LogicLib blocks instead of the IoLib blocks to exchange data with I/O devices. The LogicLib allows you to share devices and data with the PLC. All data is mapped cyclically to the input and output area, regardless of the underlying bus driver.

More Information

For more information, refer to mlpiCore documentation: IoLib.

Copyright

Legal notice and version: © 2017 Bosch Rexroth Corporation http://www.boschrexroth.com DC-AE/EAS1 (MGo) Library version: 1.26.2.0.0

 ContainerBlocks Container Blocks

Container Blocks

Description

Use the container block group when you need to access a larger set of data repetitively and with maximum update speed. For example input data you want to read each machine cycle.

Important Note

The addresses of the variables of the container content might changes on each download or online change of the PLC application, so you have to stop and destroy your container before you load the PLC application!

Please ensure you do not destroy a container during accessing it (e.g. update, read information)!

A container is a list of items which are described as so called tags. Each tag identifies a data element which can be read or written. For example a symbolic variable from the PLC or data from the input area of the I/O mapping.

The first argument of a tag always defines the type of data to read or write. The following data sources are available:

  • LOGICLIB_MEMORY_AREA: Accessing Input, Output and Marker area of PLC (%I, %O, %M).
  • LOGICLIB_SYMBOL: Accessing variables and arrays of PLC by symbolic name using symbolic variables. Access requires a symbol configuration of desired variables.
  • IOLIB_FIELBUS_IO: Accessing fieldbus IO data directly from fieldbus driver.
  • ALIGNMENT_DUMMY: Dummy elements to align the subsequent tag.

The arguments for the different data sources are as follows.

LOGICLIB_MEMORY_AREA

  • argument 1: application name. (e.g. "Application")
  • argument 2: area. (Either "INPUT", "OUTPUT" or "MARKER")
  • argument 3: bit offset. (e.g. "0" to read from start offset)
  • argument 4: bit length. (Note: single bit access or byte access supported. E.g. "1", "8", "16", "24", ... )

LOGICLIB_SYMBOL

  • argument 1: symbol name. (e.g. "Application.PlcProg.boDummy")

IOLIB_FIELBUS_IO

  • argument 1: master name. (e.g. "Onboard_I_O")
  • argument 2: slave address. (e.g. "1")
  • argument 3: area. (Either "INPUT" or "OUTPUT")
  • argument 4: bit offset. (e.g. "0" to read from start offset)
  • argument 5: bit length. (Note: single bit access or byte access supported. e.g. "1", "8", "16", "24", ... )

ALIGNMENT_DUMMY

  • argument 1: byte length (Note: only "1", "2", "4" or "8" byte supported)

More Information

For more information, refer to mlpiCore documentation: ContainerLib.

Copyright

Legal notice and version: © 2017 Bosch Rexroth Corporation http://www.boschrexroth.com DC-AE/EAS1 (MGo) Library version: 1.26.2.0.0

 UtilityBlocks Utility Blocks

Utility Blocks

Description

This block group provides functionality that can simplify development of models.

More Information

For more information, refer to mlpiCore documentation: Utility.

Copyright

Legal notice and version: © 2017 Bosch Rexroth Corporation http://www.boschrexroth.com DC-AE/EAS1 (MGo) Library version: 1.26.2.0.0