Simatic GettingStartedSRIYaskawa DOC V11 en
Simatic GettingStartedSRIYaskawa DOC V11 en
Simatic GettingStartedSRIYaskawa DOC V11 en
for YASKAWA –
Getting Started
Legal information
Use of application examples
Application examples illustrate the solution of automation tasks through an interaction of several
components in the form of text, graphics and/or software modules. The application examples are
a free service by Siemens AG and/or a subsidiary of Siemens AG (“Siemens”). They are non-
binding and make no claim to completeness or functionality regarding configuration and
equipment. The application examples merely offer help with typical tasks; they do not constitute
customer-specific solutions. You yourself are responsible for the proper and safe operation of the
products in accordance with applicable regulations and must also check the function of the
respective application example and customize it for your system.
Siemens grants you the non-exclusive, non-sublicensable and non-transferable right to have the
application examples used by technically trained personnel. Any change to the application
examples is your responsibility. Sharing the application examples with third parties or copying the
application examples or excerpts thereof is permitted only in combination with your own products.
The application examples are not required to undergo the customary tests and quality inspections
of a chargeable product; they may have functional and performance defects as well as errors. It is
your responsibility to use them in such a manner that any malfunctions that may occur do not
result in property damage or injury to persons.
Disclaimer of liability
Siemens shall not assume any liability, for any legal reason whatsoever, including, without
limitation, liability for the usability, availability, completeness and freedom from defects of the
application examples as well as for related information, configuration and performance data and
any damage caused thereby. This shall not apply in cases of mandatory liability, for example
under the German Product Liability Act, or in cases of intent, gross negligence, or culpable loss of
life, bodily injury or damage to health, non-compliance with a guarantee, fraudulent
non-disclosure of a defect, or culpable breach of material contractual obligations. Claims for
damages arising from a breach of material contractual obligations shall however be limited to the
© Siemens AG 2020 All rights reserved
foreseeable damage typical of the type of agreement, unless liability arises from intent or gross
negligence or is based on loss of life, bodily injury or damage to health. The foregoing provisions
do not imply any change in the burden of proof to your detriment. You shall indemnify Siemens
against existing or future claims of third parties in this connection except where Siemens is
mandatorily liable.
By using the application examples you acknowledge that Siemens cannot be held liable for any
damage beyond the liability provisions described.
Other information
Siemens reserves the right to make changes to the application examples at any time without
notice. In case of discrepancies between the suggestions in the application examples and other
Siemens publications such as catalogs, the content of the other documentation shall have
precedence.
The Siemens terms of use (https://support.industry.siemens.com) shall also apply.
Security information
Siemens provides products and solutions with industrial security functions that support the secure
operation of plants, systems, machines and networks.
In order to protect plants, systems, machines and networks against cyber threats, it is necessary
to implement – and continuously maintain – a holistic, state-of-the-art industrial security concept.
Siemens’ products and solutions constitute one element of such a concept.
Customers are responsible for preventing unauthorized access to their plants, systems, machines
and networks. Such systems, machines and components should only be connected to an
enterprise network or the Internet if and to the extent such a connection is necessary and only
when appropriate security measures (e.g. firewalls and/or network segmentation) are in place.
For additional information on industrial security measures that may be implemented, please visit
https://www.siemens.com/industrialsecurity.
Siemens’ products and solutions undergo continuous development to make them more secure.
Siemens strongly recommends that product updates are applied as soon as they are available
and that the latest product versions are used. Use of product versions that are no longer
supported, and failure to apply the latest updates may increase customer’s exposure to cyber
threats.
To stay informed about product updates, subscribe to the Siemens Industrial Security RSS Feed
at: https://www.siemens.com/industrialsecurity.
Table of contents
Legal information ......................................................................................................... 2
1 Introduction ........................................................................................................ 5
1.1 Overview............................................................................................... 5
1.2 Principle of operation............................................................................ 5
1.3 Aim of this application example ............................................................ 7
1.4 Components used ................................................................................ 7
2 Basics ................................................................................................................. 9
2.1 Structure of an industrial robot ............................................................. 9
2.2 YASKAWA MotoLogix ........................................................................ 10
2.2.1 Overview............................................................................................. 10
2.2.2 YASKAWA MotoLogix block library .................................................... 11
2.2.3 Interpreter on the YASKAWA robot controller .................................... 11
2.3 Configuration of the block library ........................................................ 12
2.3.1 MLX data block structure.................................................................... 12
2.3.2 Calling the blocks ............................................................................... 15
3 Creating a program .......................................................................................... 16
3.1 Hardware configuration ...................................................................... 16
3.1.1 Robot as PROFINET device .............................................................. 16
3.1.2 GSDML file ......................................................................................... 16
3.1.3 Connecting the SIMATIC S7 and the robot ........................................ 25
© Siemens AG 2020 All rights reserved
1 Introduction
The use of industrial robots continues to grow. They are increasingly being used in
machines and plants. Their standardized mechanics are well-developed and highly
flexible in terms of their movement; as a result, robots are increasingly replacing
expensive specialist mechanics. This also enables production from the first
production batch without expensive modifications to machines and plants.
Unfortunately, plant controllers and robot controllers usually constitute two different
systems. Communication between the two controllers usually occurs solely on the
bit level and the movement programs of the robot are stored on the robot controller
and may only be called up by the plant controller. It is therefore difficult to trigger
flexible robot reactions to specific plant events.
Also, the plant controller and the robot are usually very different in terms of their
programming, which means that it is not possible for one person to control both
systems. Interface and coordination problems are therefore pre-programmed.
1.1 Overview
A complete integration of the actuation and the movement control of the robot into
the machine and plant controller should make the use of the industrial robot in a
production plant easier and more flexible.
The following requirements are imposed on the automation task:
• The robot should be fully programmable via the machine and plant controller
© Siemens AG 2020 All rights reserved
(PLC).
• The robot can be operated via the same HMI of the PLC/machine (Single Point
of Operation).
• Robot diagnostics should be fully possible via the PLC.
• Further functions, such as Safety Integrated, should be integrable and
controllable via the PLC.
Note Via a SIMATIC S7-1500 controller, multiple Yaskawa industrial robots can be
controlled simultaneously in the TIA portal using the YASKAWA MotoLogix block
library.
However, the application example presented here is limited to the coupling of a
robot to a SIMATIC S7-1500.
Diagram
The following diagram provides a schematic representation of the most important
components of the application example:
SIMATIC CPU
S7-1500
MotoMINI
YRC1000micro
PROFINET IE
The movement control of the YASKAWA industrial robot is fully programmed in the
SIMATIC controller using the YASKAWA MotoLogix block library. The robot is
assigned to the SIMATIC controller as an I/O device via a PROFINET connection.
© Siemens AG 2020 All rights reserved
Benefits
Programming a YASKAWA industrial robot using a SIMATIC S7-1500 controller
with the YASKAWA MotoLogix block library in the TIA Portal offers the following
advantages:
• All of the programming for the robot and the plant is performed in the TIA
Portal. Training in a robot manufacturer-specific development environment is
not necessary.
• The movement program of the robot is fully integrated into the plant control
program and can be archived together with this program.
• The robot cell can be fully integrated into the SIMATIC plant controller.
• The operation of the robot can be integrated into the HMI user interface of the
plant.
• Diagnostic messages of the robot are sent to the SIMATIC controller where
they can be further processed and displayed on the HMI user interface of the
plant.
• Remote access to the SIMATIC controller for service and maintenance is
possible via standard functions and can be extended to the robot.
The application example is suitable for programming a basic control of the robot in
the SIMATIC controller.
Based on this application example, a further example can be requested from
Siemens Support, in which the use of a YASKAWA industrial robot with extended
functionality, including the HMI user interface required for this, is shown. For more
information on this topic, refer to chapter 5.1.
© Siemens AG 2020 All rights reserved
Required knowledge
Basic knowledge of the creation of a user program on the SIMATIC S7-1500 in the
TIA Portal or the hardware configuration is not taught in this application example,
but is assumed. In addition, this application example is not an introduction to
robotics. Basic knowledge of the application and the capabilities of an industrial
robot are also required.
2 Basics
This chapter is intended to explain basic functions and background information for
the use of a YASKAWA industrial robot in connection with the YASKAWA
MotoLogix block library.
2
© Siemens AG 2020 All rights reserved
1 5
The graphic below provides an overview of how the YASKAWA MotoLogix block
library works.
Fieldbus
SIMATIC Interface
PLC
PROFINET IE
Fieldbus
Interface
Reading of
Yaskawa MotoLogix
(Interpreter) Instructions
Execution of
Instructions
Yaskawa
YRC1000micro robot controller
Program sequence
In Figure 2-2, the robot program, based on the YASKAWA MotoLogix block library,
is embedded in the program sequence of the machine program in the SIMATIC
controller. The following functions of the robot program are executed with each
program cycle:
1. Reading of robot data.
2. Assignment of robot movement via the function blocks of the YASKAWA
MotoLogix block library.
3. Writing of robot data.
The received commands are read and executed in the robot controller.
Subsequently, the SIMATIC PLC is informed whether the command was
successfully completed or led to an error.
© Siemens AG 2020 All rights reserved
The YASKAWA MotoLogix block library provides various blocks for controlling a
YASKAWA industrial robot. The desired functions of the YASKAWA robot can be
controlled by simply calling the corresponding block from the block library.
By calling a function block from the block library, the corresponding commands are
transferred to the YASKAWA robot controller and interpreted there.
The Interpreter on the YASKAWA robot controller accepts the commands of the
function blocks from the YASKAWA MotoLogix block library in the robot controller
and transmits the corresponding commands to the command buffer that is
integrated in the firmware. In this way, successive orders are buffered in the robot
controller. The Interpreter will therefore accept commands even when the previous
command has not yet been completed. Buffered commands are processed by the
robot controller according to the FIFO principle (First In First Out).
Once a motion command has been transmitted, it is stored until it has been
completely executed or the internal buffer has been cleared with the commands
"MLxStop" or “MLxReset” (see chapters 3.5.2 and 3.5.3).
Note Movement commands to the robot are not the only commands transmitted to the
command buffer. Other commands in the command buffer, for instance changing
the active user frame, are likewise executed in the order in which they were
transmitted.
The YASKAWA robot moves in accordance with the motion commands given as
soon as it is switched on. The robot stops a movement in the following cases.
• Hardware fault
Note In the event that the operating mode is changed from Remote to Play during an
active movement, the robot controller switches to the status "Held". After a
change to Remote, movement can be resumed with the block "MLxRestart".
The structure of the "MLxData" data type contains the configuration of multiple
robots and numerous axes. The following figure illustrates the procedure for using
these structures.
Robot[0]
Robot A
Robot[1]
Linear axis
MLxData[0]
© Siemens AG 2020 All rights reserved
Robot[0]
Robot B
MLxData[1]
YaskawaRobotMLX (DB)
Figure 2-3 schematically represents the control of two robots via one SIMATIC
controller. In this case, the structure of the "MLxData" data type must be created as
an array with two elements in the interface data block.
In the example pictured, robot A moves on an additional linear axis which is itself
controlled by the robot's controller. The configuration of "Robot [1]" is assigned to
the linear axis.
At the "RobotNumber" input, blocks such as "MLxRobotJogAxes" expect the
selection of the axes which will be controlled. Thus, in order to move robot A in this
example, the value 0 must be given. In order to move the linear axis, the value 1
must be given. In order to move the robot and the linear axis together, blocks with
the additional term "Base" are called. This means that for a linear travel motion of
the whole kinematic sequence, for instance, the block
"MLxMoveLinAbsoWithBase" is called.
Blocks such as "MLxEnable" have no "RobotNumber" input. If this block is called,
all axes that are configured in "MLxData [n]" are started.
The configuration and its assignments cannot be edited by the user, but are
instead handled independently by the robot controller.
Note Using larger robot controllers like the YRC1000 it is possible to control several
robots via one robot controller. When using the function block library MotoLogix
in this case the second robot is being controlled from the same “MLxData[x]”
data structure as an additional robot. For more information please refer to the
YASKAWA technical support.
The blocks in the YASKAWA MotoLogix function block library are signal-controlled,
not edge-controlled. This means that the blocks in the library no not require a rising
edge in order to be called, but rather a constant signal.
© Siemens AG 2020 All rights reserved
3 Creating a program
This section explains how the Example Program for the application example was
set up.
This section explains the following:
• Integration of the robot in the hardware configuration of the TIA Portal project.
• Integration of the YASKAWA MotoLogix block library
• Programming of the robot's basic functions.
• Programming of selected movement sequences of the robot.
The YASKAWA robot is integrated into the hardware configuration of the TIA Portal
project as a PROFINET IO device. The robot is integrated via a GSDML file which
contains the hardware description of the robot and the possible data telegrams for
data exchange between the SIMATIC controller and the robot.
When you download the YASKAWA MotoLogix function block library from the
YASKAWA website, you will receive a TIA Portal project in which the library is
already embedded. The necessary components for creating this application
© Siemens AG 2020 All rights reserved
After unpacking the YASKAWA TIA project, the necessary GSDML files are
automatically installed and are available for future TIA projects in the hardware
catalog.
In this application example the YASKAWA robot controller YRC1000 micro is used.
The corresponding GSDML file can be found in the folder “INpact PIR” as shown in
Figure 3-1.
Figure 3-1 Adding the GSDML file from the hardware catalog – YRC1000 micro
© Siemens AG 2020 All rights reserved
Depending on the hardware and software used for the DX200 and YRC1000 robot
controllers, the following instructions must also be considered when selecting the
correct GSDML.
Roboter YRC1000
DX200 YRC1000
controller micro
PROFINET
CP1616 (PCI) INPACT (PCIe)
Board
PROFIsafe/
Firmware GSDML
Standard
© Siemens AG 2020 All rights reserved
PROFIsafe
GSDML-V2.31-Yaskawa-
PROFIsafe-CP1616-20150514.xml
Standard GSDML-V2.31-Yaskawa-
(YRC1000) PROFIsafe-CP1616-20160530.xml
GSDML-V2.33-#YASKAWA-
Standard PreConf_YRC1000_CP1616_stan
dard_MLx-20191018-104846.xml
GSDML V2.33
GSDML-V2.33-#YASKAWA-
PROFIsafe PreConf_YRC1000_CP1616_PRO
FIsafe_MLx-20191018-104846.xml
GSDML-V2.3-HMS_CUSTOM-
GSDML V2.3 Standard ABSPRT-20170815.xml
Below you will find the necessary steps for a correct hardware configuration for
every robot controller separately.
DX200
The robot controller DX200 can be projected with or without PROFsafe. After
successful installation, the corresponding file can be found in the hardware catalog
under the following path:
„Other field devices“ – „PROFINET IO” – “I/O” – “YASKAWA Electric Corperation” –
“SIMATIC – PC-CP” – “CP1616” – 6GK1 161-6AA02 (Migration)”
For controlling the robot without PROIFsafe, configure the GSDML file mentioned
above once (Figure 3-6 - 1).
For fail-safe controlling the robot with PROFIsafe, configure the above-mentioned
GSDML file twice for one robot controller. Select the module intended for fail-safe
communication in the device view for one of the two devices (Figure 3-6 - 2). You
The necessary modules for DX200 robot controller can be found in the YASKAWA
PLC manual.
Figure 3-6: Standard and PROFIsafe configuration for DX200
YRC1000
The YRC1000 robot controller can be configured with different PROFINET boards
and, depending on the firmware, with or without PROFIsafe.
For configuration with an INPACT board, the GSDML file shown below is taken
from the hardware catalog.
The corresponding file can be found after succesful installation in the hardware
catalogue under following path:
„Other field devices“ – „PROFINET IO” – “I/O” – “YASKAWA Electric Corperation” –
“SIMATIC – PC-CP” – “CP1616” – 6GK1 161-6AA02 (Migration)”
Figure 3-8: Select GSDMLfile from hardware catalog – YRC1000 – CP1616 – YAS 2.xx
© Siemens AG 2020 All rights reserved
The corresponding file can be found after successful installation in the hardware
catalogue under the following path:
„Other field devices“ – „PROFINET IO” – “PLCs & CPs” – “YASKAWA” – “SIMATIC
– PC-CP”.
Figure 3-10: Select GSDMLfile from hardware catalog – YRC1000 – CP1616 – YAS 3.xx
© Siemens AG 2020 All rights reserved
Figure 3-11: Standard and PROFIsafe configuration for YRC1000 – CP1616 – YAS 3.xx
2
© Siemens AG 2020 All rights reserved
Finally, the robot controller and the SIMATIC controller must be connected to each
other via a PROFINET connection and suitable address ranges defined. For this
purpose, suitable IP addresses must first be assigned to the individual devices or in
the hardware configuration.
Double-clicking on the robot controller in the hardware configuration allows further
configuration of the components for data exchange with the SIMATIC controller.
The necessary data exchange telegrams with the robot controller are configured in
the configuration so that the data required for controlling the robot by the SIMATIC
controller can be exchanged.
Add the input and output modules as shown in the following figure:
Assign the modules the desired address ranges. Ensure that there are no gaps.
Note Optionally, an HMI device, which can be used to control and monitor the robot
functions, can also be integrated into the hardware configuration.
Figure 3-15
Using a suitable SIMATIC controller and the YASKAWA MotoLogix block library, it
is possible in theory to control an arbitrary number of YASKAWA robot controllers
independently of one another. There is no limit set by the library.
When creating the interface data block, you can create the "MLxData" structure
once for each one of the robot controllers being controlled. Because the size of
data blocks is limited, however, and the addressing of the interface data blocks is
done in absolute terms, the "MLxData" structure can only be created twice per data
block. Additional robot controllers require additional data blocks to be created.
The data are assigned to the corresponding robot controller via the defined
telegram addresses in the IO area of the SIMATIC controller, as defined in the
hardware configuration.
The assignment of the function blocks or the robot functions to the individual robot
controllers in the user program is made via the "MLX" input of the blocks, which
refers to the data array in the data block "YaskawaRobotMLX".
Figure 3-16: Data array for two robots in the YaskawaRobotMLX data block
The primary limiting factor of the SIMATIC controller is its retentive memory. The
greater the number of robot positions which have to be stored, the more retentive
memory is required. However, the retentive memory can be increased by a
corresponding power supply module, whereby even smaller controllers can store
more robot positions and thus control several robots.
Be aware, however, that due to the telegram size for communication between the
robot controller and SIMATIC controller, the input and output addresses can be
© Siemens AG 2020 All rights reserved
All the necessary data types and blocks from the YASKAWA MotoLogix block
library are now contained in your TIA Portal project. The functions of the block
library can now be used in your user program.
MLx
Main Siemens
Communication
Cycle Yaskawa
Read
See
Yaskawa
detailed
Control
graphic
See
PickPlace detailed
graphic
MLx
Communication
Write
© Siemens AG 2020 All rights reserved
The complete robot program is summarized in a function (FC) for better structuring.
In this FC, the blocks necessary for the robot are then called from the YASKAWA
block library, as well as additional function blocks (FB) which contain special
motion programs of the robot.
The function "SiemensYaskawa" has the following structure:
• Reading the robot data via the block "MLxCommunicationRead".
• Execution of the basic functions of the robot via the "YaskawaControl" block.
• Calling a block to execute a simple pick & place movement. This movement is
summarized in the "PickPlace" block.
• Writing of robot data via the block "MLxCommunicationWrite".
Note The function block "YaskawaControl" also contains accesses to global DBs of
the YASKAWA MotoLogix library It can therefore only be used in conjunction
with the YASKAWA MotoLogix block library as a library element.
Open the newly created function and add the blocks "MLxCommunicationRead"
(FB6059) and "MlxCommunicationWrite" (FB6060) from the YASKAWA MotoLogix
library.
3.4.1 MLxCommunicationRead
The data are assigned to the corresponding robot connected to the SIMATIC
controller via the "MLX" input, which refers to the array entry belonging to the robot
in the interface data block, and via the "MLX_Input" input, at which the address
range of the configured telegram from the robot controller to the SIMATIC controller
is relayed to the block.
For the "MLX_Input" input, choose the PLC tag that you created during the robot
controller configuration in chapter 3.1.3. Type in the symbolic name.
© Siemens AG 2020 All rights reserved
Note The index of the "AxesGroup" input can then be used to assign the robot to the
program blocks of the robot program in the SIMATIC.
3.4.2 MLxCommunicationWrite
The inputs of this block are connected according to the function block
“MLxCommunicationRead" from section 3.4.1.
© Siemens AG 2020 All rights reserved
Now create the two function blocks "YaskawaControl" and "PickPlace" in the same
way as with "SiemensYaskawa".
Yaskawa
Control
Robot
Enable
MLxReset
MLxSet
Global
Parameters
MLxCopy
AxisData
ToReal
MLxRobot
JogAxes
MLxRobot
JogTCP
Teach
Position
3.5.1 RobotEnable
In the "RobotEnable" function block, the blocks for carrying out the startup and
shutdown sequence for clean activation/deactivation of the robot drives are called.
The following figure shows the sequence of function block calls for startup and
shutdown.
MLxAbort MLxAbort
© Siemens AG 2020 All rights reserved
The calls of the "MLxStop" and "MLxAbort" blocks are simultaneously reset. The
calls of these blocks are necessary for the shutdown sequence.
For shutdown, the "MLxEnable" block call is first reset, and the function block
"MLxStop" is called at the same time. This stops active commands and empties the
command buffer (see also chapter 3.5.2). After this block has reported the
successful completion of its function at the output MlxStop.Sts_DN, the block
"MLxAbort" is called after a time delay. This switches off the drives.
The time delay is necessary because the robot controller is not immediately ready
to receive new commands after the "MLxStop" block is executed. Immediate call of
the "MLxAbort" block leads to undesired behavior during shutdown as well as
subsequent startup processes.
3.5.2 MLxStop
The "MLxStop" block (FB6052) stops the active axis movements of all configured
axes and clears all commands in the command buffer.
Figure 3-28: Stopping active axis movements and clearing command buffer
© Siemens AG 2020 All rights reserved
3.5.3 MLxReset
With the help of the function block "MLxReset" (FB6014), the current error status of
a robot can be acknowledged. When this function block is executed, the command
buffer is also emptied.
3.5.4 Override
The override can be used to change the nominal setpoint speed of a motion
command that is currently active.
Max. velocity
Programmed velocity
Override: 50%
Resulting velocity
Velocity
25% 50% 100%
If a travel command is defined at half the maximum possible velocity, the override
refers to this value. An override of 50% would therefore set the velocity of the robot
to a quarter of the maximum possible velocity.
The function block "MLxSetGlobalParameters" is used to control the override.
Give the desired value in percent at the "ParameterValue" input. The value can be
between 0 and 150%. A value of higher than 100% increases the speed that
results from the speed defined in the movement command. If the resultant speed is
higher than the maximum possible speed for the robot, it will move at the maximum
possible speed.
In order to ensure that the robot's axial and Cartesian movements in jog mode
have the same speed, for instance, jog speeds resulting from the override are
calculated and then passed when the corresponding jog block is called.
Figure 3-32: Jog speeds for axial and and Cartesian movements
The current Cartesian position can be found in the self-created data block
"YaskawaRobotMLX" under "HMIFeedbackData.CurrentRobotTCPPosition" (see
also chapter 2.3.1).
© Siemens AG 2020 All rights reserved
3.5.6 MLxCopyAxisDataToReal
The storage location of the robot configuration whose axis position is to be read
should be indicated at the "AxisData" input (see also chapter 2.3.1). The current
axis positions are given in an array[0..7] via the InOut "RealOut".
3.5.7 MLxRobotJogAxes
Using the function block "MLxRobotJogAxes" (FB6024), the individual axes of the
robot can be moved in jog mode.
Via the input "Directions" the robot axes can be rotated in the corresponding
direction. The direction of rotation for each axis is determined in an array[0..7] with
the following values:
• 0: No movement
© Siemens AG 2020 All rights reserved
The axis assignment can be seen in the following table (see also Figure 3-35).
3.5.8 MLxRobotJogTCP
The function block "MLxRobotJogTCP" (FB) can be used to move the Tool Center
© Siemens AG 2020 All rights reserved
Point (TCP), i.e. the tool tip in the Cartesian coordinate system.
In the following you will find an overview of selected input signals for this block.
Table 3-3
Input Data type Function
Directions Array[0..7] Direction of rotation of the respective
of DINT axis
• 0: No movement
• 1: Positive direction of
rotation
• -1: Negative direction of
rotation
Speed REAL TCP travel speed
UseRotationalSpeed BOOL Unit of the speed parameter
• 0: linear units/s
• 1: Degrees/s
SpeedUnits DINT Absolute or percentage value for
speed
• 0: In percent of maximum speed
• 1: Absolute indication in units/s
CoordFrame DINT Selection of reference frame
• 0: World Frame
• 1: Tool Frame
• 2: User Frame
© Siemens AG 2020 All rights reserved
Directions
Similar to the control of the function block "MLxRobotJogAxes", the respective axes
are controlled via an array[0..7] with the desired directions of rotation.
CoordFrame
The input "CoordFrame" defines which coordinate system the robot will move in
reference to. The following options are available for selection.
• World coordinate system (world frame)
– The world coordinate system is located at the origin point of the robot arm
(see Figure 3-37) and cannot be edited. The active tool is moved,
independently of the active base coordinate system, in the direction of the
world coordinate system axes.
• Active tool coordinate system (tool frame)
– The active tool is moved in the direction of the axes of its own coordinate
system. Thus, for example, movements in the direction of action of the tool
are possible.
• Active, user-defined base coordinate system (user frame)
– The active tool is moved in the direction of the axes of the active, user-
defined base coordinate system. The position and orientation of this
coordinate system can differ from that of the world coordinate system,
depending on the user configuration.
If a jog function is called during an active movement, the active and buffered
commands are aborted, the robot is braked and the drives are switched off with an
error message. The error message must then be acknowledged. When
acknowledging via the "MLxReset" function block (see also chapter 3.5.3), the
drives are automatically restarted but the movement is not resumed.
3.5.9 TeachPosition
The position and the current coordinate system to which the Cartesian position
refers are stored in the data block "YaskawaRobotPositions" (DB7003).
© Siemens AG 2020 All rights reserved
The storage location of the data in the position array of the data block is defined in
the "Index".
Figure 3-40: Movement sequence of the simple pick & place application
PickPlace MLxStop
MLxHold
MLxRestart
MLxRobot
Move
Axis
Absolute
MLxRobot
MoveLinear
Absolute
MLxRobot
MoveLinear
Absolute
…
MLxRobot MLxRobot
© Siemens AG 2020 All rights reserved
MoveLinear MoveLinear
Absolute Absolute
3.6.1 MLxHold
Active commands can be paused using the "MLxHold" function block (FB6010).
The robot controller switches to the "Held" state when this block is called (see also
chapter 2.3.1).
Before new commands can be processed, the block "MLxRestart" must be called in
order to change into the "Running" state.
Note In the "Held" state, commands that are transmitted are not process and are
ignored by the robot controller.
3.6.2 MLxRestart
Call the "MLxRestart" block (FB6016) in order to switch back into the "Running"
state and resume paused programs after the "MLxHold" block has been called.
The following parameters are used to define how successive motion commands
are to be processed:
• BlendFactor
• BlendType
These parameters are specified at the inputs of each individual motion block. If the
behavior of a path is to be identical for all segments, tags can be created for this
purpose. These are assigned fixed values as shown below.
When a block is called, these tags are linked at the corresponding inputs.
Table 3-6: Parameters for defining the blend operation (see also Figure 3-45)
Parameters Description
BlendFactor Defines the maximum allowable blend
radius
• -1:
Blend radius is calculated by the
robot controller for maximum
dynamics
• 0:
No blends; target point is
approached directly
• 1-8:
Selection of blend radii defined in
robot controller
BlendType Defines from which position the blend path
is calculated
• 0:
Calculation on the basis of the
computed current position
• 1:
Calculation on the basis of the real
current position
© Siemens AG 2020 All rights reserved
Example
Because all transmitted commands are buffered, the curve to be blended only
needs to be defined between the transmitted positions with the help of the
"BlendFactor" parameter. The following sketch shows the differing trajectories for
corresponding parameter definitions.
P2 P3
BlendFactor 0
BlendFactor 1
BlendFactor 8
BlendFactor -1
P1
© Siemens AG 2020 All rights reserved
The blend distances of "BlendFactor" 1 to 8 are defined in the robot controller and
are merely assigned when the block is called. The blend distances are predefined
in the robot controller in millimeters and can be edited in the robot controller if
needed. To do this, please refer to the YASKAWA handbook (chapter 5.4 \9\) or
contact YASKAWA support.
When defining the blend behavior, the blend behavior is defined for the next
segment on the current segment. In Figure 3-45 the blend behavior shown is
defined once the movement command to P2 is called.
For a correct blend, there must be a minimum of three movement commands in the
command buffer. If fewer than three commands are transmitted, unexpected
behavior may result, for example the omission of the blend.
The "BlendType" parameter determines which position data will be taken as the
basis for calculating the blending curve. Here, the robot controller makes a
distinction between a computed (mathematical) position and the real position that is
reported back. The computed position data are used by default. For applications
such as conveyor tracking, the real position data must be used. For more
information, please refer to the YASKAWA handbook (chapter 5.4 \9\) or contact
YASKAWA support.
3.6.4 MLxRobotMoveAxisAbsolute
Real Deceleration
MLX
"MLxData" "MLxData"
3.6.5 MLxRobotMoveLinearAbsolute
The other positions of the robot are approached linearly using the function block
"MLxRobotMoveLinearAbsolute" (FB6034). The robot controller interpolates a
straight path between the current position and the target position. During such a
movement, the robot always moves its tool along the shortest (but not necessarily
the fastest) path to the target point.
Real Acceleration
Real Deceleration
MLX
"MLxData" "MLxData"
3.7 Operation
When the HMI is loaded or simulated via runtime, the interface shown below
opens.
3 4
© Siemens AG 2020 All rights reserved
The status bar contains basic information about the status of the robot as well as
the control of the override.
1 2 3 4
The control functions can be used to control administrative functions of the robot.
4
© Siemens AG 2020 All rights reserved
Note After completion of a jog command the robot controller is not immediately ready
again to receive new commands, such as the offline "PickPlace" program. In
order to prevent undesired behavior, for a certain time interval the button will not
be clickable at the start of the offline program following completion of a jog
command. Figure 3-50 shows the button's appearance when it is deactivated.
The robot can be moved in either an axial or Cartesian manner in jog mode. To do
this, the corresponding tab must be selected by pressing on it as shown below.
3
© Siemens AG 2020 All rights reserved
1. Press one of the two buttons to switch to the corresponding jog mode. "Jog in
Axis" moves the robot axially. With "Jog in Base", the robot is moved along the
coordinate axes. The inactive mode is grayed out.
2. Use the Plus and Minus buttons to move the corresponding axis (here, L) in
the positive or negative direction.
3. The "TEACH" button saves the current position. The index is defined via "Point
No.". When the operation is completed successfully, "Done" lights up. In the
event of a fault, "Error" lights up.
4. "Axis Overview" shows the assignment of the axis numbers to the actual axes
of the robot arm.
The operation is identical to the jogging of the individual axes of the robot.
1. The plus and minus buttons are used to move in a positive or negative
© Siemens AG 2020 All rights reserved
direction along the corresponding Cartesian axis. The parameters RZ, RY and
RX control the rotation around the respective axes.
2. "Axis Overview" shows the coordinate systems of the robot. Movement occurs
in line with the World coordinate system, which is stored in the root of the robot
arm.
Problem
On the user interface, rhombuses are displayed instead of the robot data.
Solution
The rhombuses indicate that the HMI has no connection to the SIMATIC controller.
If you are using a real panel, check whether the PROFINET connection to the
panel exists. First check the cable connection to your SIMATIC controller. If there is
no error here, terminate the runtime on the panel and open the system settings.
Select "PROFINET" and make sure that the check mark "PROFINET IO enabled"
is set.
If you are using a runtime on your local machine, check that the PG/PC interface is
configured correctly. To do this, select the HMI in the project tree in the TIA portal
Portal and open "Connections".
Check the configured access point of the HMI. Now open the Windows Control
Panel and select "Configure PG/PC Interface". In the window that opens, select the
access point in the drop-down menu (here: S7ONLINE) and assign the interface
that is connected to the SIMATIC controller.
Problem
After a change of IP addresses, the telegram addresses of the GSDML file or the
tag addresses of "MLx_0_Input" and/or "MLx_0_Output", the PROFINET
connection to the robot is still established but the robot cannot be moved. The data
in the "YaskawaMLX" data block are no longer refreshed.
Solution
Carry out a Stop-Start of the PLC in order to re-read the address data to the
"MLxCommunicationRead" and "MLxCommunicationWrite" blocks.
Check whether the telegram address ranges of the in- and output modules
configured in the hardware configuration match the addresses of the PLC tags
"MLx_0_Input" and "MLx_0_Output".
5 Appendix
5.1 SIMATIC Robot Integrator
In addition to the Getting Started example described here, there is also a more
extensive example, the SIMATIC Robot Integrator. This can be requested from a
local Siemens representative or via a service request with the specification of the
product “SIMATIC Robot Integrator”.
The SIMATIC Robot Integrator is designed so that it can be used directly on a real
machine because of its functionality. The visualization on the SIMATIC panel
accordingly offers significantly more operating options. The following functions, in
addition to others, are included in addition to the functions described in the basic
example:
Technical Support
The Technical Support of Siemens Industry provides you fast and competent
support regarding all technical queries with numerous tailor-made offers
– ranging from basic support to individual support contracts. Please send queries
to Technical Support via Web form:
www.siemens.com/industry/supportrequest
We support you with our globally available training courses for industry with
practical experience, innovative learning methods and a concept that’s tailored to
the customer’s specific needs.
For more information on our offered trainings and courses, as well as their
locations and dates, refer to our web page:
www.siemens.com/sitrain
Service offer
Our range of services includes the following:
• Plant data services
• Spare parts services
• Repair services
• On-site and maintenance services
• Retrofitting and modernization services
• Service programs and contracts
You can find detailed information on our range of services in the service catalog
web page:
https://support.industry.siemens.com/cs/sc
5.3.1 YASKAWA
Sales:
Phone: +49 8166 90 2002
Fax: +49 8166 90 225
Email: [email protected]
Web:
© Siemens AG 2020 All rights reserved
https://www.yaskawa.eu.com/en/products/robotics/
motoman-robots/
Edition: 12/2017
Document ID: Printout of the online help
Order number: -
https://support.industry.siemens.com/cs/document/109755202/simatic-step-7-basic-
professional-v15-1-and-simatic-wincc-v15-1?dti=0&lc=en-WW
\7\ SIMATIC PROFINET system description
System manual
Edition: 03/2012
Document ID: A5E00298287-06
Order number: -
https://support.industry.siemens.com/cs/ww/en/view/19292127/
YASKAWA MotoLogix
\8\ YASKAWA Robotics
https://www.yaskawa.eu.com/en/products/robotics/motoman-robots/
\9\ YASKAWA ROBOTICS
MotoLogix
Common Section
Software and Operation Instructions
Edition: 11/2015
Revision: 02
Order number: -
This documentation comes with the MotoLogix library.
\10\ YASKAWA ROBOTICS
MotoLogix
Siemens TIA Portal s7-1500
PLC Manual
Edition: 05/2018
Revision: 02
Order number: -
This documentation comes with the MotoLogix library.