Professional Documents
Culture Documents
Process Simulate
Standalone (eMS)
Advanced Robotics
Student Guide
October 2018
MT45315 ‒ Version 14.1
MT45315-S-141
Tecnomatix copyright, proprietary, and restricted rights notice
Trademarks
Siemens and the Siemens logo are registered trademarks of Siemens AG. Tecnomatix is a
trademark or registered trademark of Siemens Product Lifecycle Management Software Inc. or
its subsidiaries in the United States and in other countries. All other trademarks, registered
trademarks, or service marks belong to their respective holders.
Adobe Reader is a trademark or registered trademark of Adobe Systems Incorporated.
Apache is a registered mark or trademark of The Apache Software Foundation or its subsidiaries
in the US and other countries.
AutoCAD is a registered mark or trademark of Autodesk, Inc. or its subsidiaries in the US and
other countries.
Firefox is a trademark or registered trademark of Mozilla Foundation.
Intel is a registered trademark of Intel Corporation.
Java is a registered trademark of Oracle and/or its affiliates.
Microstation is a registered mark or trademark of Bentley Systems, Incorporated or its
subsidiaries in the US and other countries.
Oracle is a registered mark or trademark of Oracle Corporation or its subsidiaries in the US
and other countries.
Siemens is a registered mark or trademark of Siemens Corp. or its subsidiaries in the US and
other countries.
TiCon is a registered mark or trademark of MTM or its subsidiaries in Germany and other
countries.
Windows, Microsoft, Internet Explorer and Microsoft Office are trademarks or registered
trademarks of Microsoft Corporation.
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-1
Calibration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-1
Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Index-1
Course description
The Process Simulate Standalone Advanced Robotics course provides step-by-step instruction
on how to use Process Simulate to configure, simulate, and upload/download (OLP) using MOP,
realistic robot simulation (RRS), RCS (Robot Controller Software), and ESRC (Emulated Robot
Specific Controllers).
Course objectives
Learn about:
• Introduction to Robotic Off-Line Programming (OLP)
• Introduction to MOP, RCS, RRS, and the Process Simulate robot controllers
• Setting up the RCS, RRS, and the Process Simulate robot controllers
• RCS Management
• Robot Controller Specific Signals, Commands, Frames, Setup, and Motion Attributes
Learning tracks
Learning tracks for the Tecnomatix application are found on the Siemens PLM Software training
website: training.industrysoftware.automation.siemens.com/index.cfm
Related Courses
Purpose
Objectives
• The basics of RRS, RCS, and the ESRC (Emulated Robot Specific Controllers).
Introduction to OLP
Purpose
Objectives
OLP Basics
This course focuses on portion of Process Simulate known as Process Simulate Robotics. Process
Simulate Robotics contains a set of tools for performing OLP.
• OLP (also known as Off-line programming) — the process of designing, modifying, and testing
a robot program in an external system without the need of the actual robot. Once the program
is created it can be downloaded from the external system and uploaded into the actual robot
controller.
• Downloading — the process of exporting a text file of the program from a system or robot
controller.
o For example: Downloading from a real robot exports a file from the real robot controller.
o For example: Downloading from Process Simulate exports a file from the system.
• Uploading — the process of importing a text file of the program into a system or robot controller.
o For example: Uploading to a real robot imports a file into the real robot controller.
o For example: Uploading to Process Simulate imports a file into the system.
Here is the basic process. A program can be originated in Process Simulate or directly on the real
robot (controller). After that, it can be cycled through this continuous loop:
• Path — A path (also known as a robotic operation) is a representation of the robot work plan in the
Process Simulate world. It consists of locations, sequence of locations, and location attributes.
• Program File — A task is a textual format of the robot work plan which includes motion
commands and parameters.
Business process
This is an overview of the steps to off-line program robots and of the topics in the first half of this
training. The last part of this training describes how to customize and make your use of the robot
controller more efficient.
Allocating a Worker
Purpose
Objectives
• Operation
• Resources
• Manufacturing Features
• “Engineering Data”
Operation Tree
The operation tree contains a structure that typically starts with a station. This station contains several
compound operations sequenced together. . This is done by adding simulative operations to the
desired compound operations. There are several types of simulative operations:
• Object flow operation - a simulative operation consisting of the movement of a part along
its assembly path. It is represented using the icon. (Covered in the TR45101, TR45106,
TR45115, and TR45215 courses).
• Device operation - a simulative operation consisting of any mechanical device (for example a
robot, human, clamps, cart, etc.) moving from one pose to another. It is represented using the
icon. (Covered in the TR45115 and TR45215 courses).
• Non-sim operation - a simulative operation detailing an activity requiring time (but is not
simulated) that you want to include. It is represented using the icon.
• Seam Locations — locations that move the robot along the contour of the part
Robotic operations can be visualized as a path (also known as a sequence of locations) in the
Graphic Viewer.
Robotic properties of locations and robotic operation:
There are several types of properties that can be stored on a location or robotic operation.
• Motion Type (interpolation)
• Speed
• Zone
• Tool
• Process parameters
• OLP commands
Some of this information can be mapped from a generic (default) controller (for example for something
simple like motion type). Much of the information that is robot manufacturer (or sometimes robot)
specific is done differently (for example how configurations are represented).
Instead it is typically better to work directly in the language of the robot, within Process Simulate,
rather than to work in a generic language and then translate it later. However, you could work with the
default controller if needed (no RRS), and get about 80% motion accuracy.
The motion planning, how the joint motions of the robot are synchronized, cannot have the accuracy
of the real robot because of the real robot’s smoothing algorithms may be different than the default
controller’s (for example motion from down to up may use a different motion than from up to down).
you discuss this topics in detail starting in lesson 4, however these are two core
technologies of robotic offline programming:
o RRS — Realistic Robot Simulation
• Uploads — the most complex since some things needed to run a simulation are only defined
(exist) in Process Simulate and cannot be extracted from the program file.
Standard OLP software packages are released with the Process Simulate software. Currently there
are packages for robot manufacturers.
Each controller has its own OLP package executable. Files are installed
under the C:\Program Files\Tecnomatix\eMPower and C:\Program
Files\Tecnomatix\eMPower\Robotics\OLP folders.
A specific license is required from Siemens PLM Software and the robot vendor to activate
each controller (and underlying robot specific abilities).
Robot models
Purpose
In this topic, you learn about robot models used in this system, including the MotionParameters.e file.
Objectives
Business process
Similarly, the RCS install used by Robcad can be reused with Process Simulate by
adding the related TUNE bridge file. This is discussed in more detail later in this course.
• Method 3: GTAC (Many robot models are available for download from the Siemens PLM
Software Global Technical Access Center at support.industrysoftware.automation.siemens.com
or 1–800-955-0000.
You learn more about downloading files from GTAC later in this course.
The Robcad .CO formatted robots found here need to be converted to .COJT format
before it can be used in this system.
• Method 5: Most robot models must be gotten directly from the robot manufacturer, for intellectual
property reasons. Typically robot manufacturers, such as Duerr, Fanuc, or Yaskawa/Motoman,
provide a robot model to a customer that purchases the real robot. Here the are robot
manufacturer websites:
o ABB Robotics: http://new.abb.com/products/robotics
o Panasonic Robotics:
https://eu.industrial.panasonic.com/products/robot-welding-system-solutions
• This file has many uses, which include helping set the proper speed, acceleration, and selecting
robot configurations; especially when disconnected from the RCS.
Does the robot model include other robot controller files in the robot model that are needed to
establish a proper RCS connection?
• Typically, there is a file or group of files from the robot manufacturer, that describe how a specific
robot is to move. They can be provided as part of the RCS install or as part of the robot model.
You learn later in this course, on a case-by-case basis, which files are needed to make the robot
work with the RCS since it is different for every robot manufacturer.
The robot model selected should have geometry and kinematics which closely represents
the robot you use in the plant. This allows you to have the same reach envelope in this
system as in reality and get a accurate robot configurations from the RCS.
5. Right click the desired robot and save a copy to your computer.
For the sake of your discussion, assume that you have locally saved (downloaded) a
robot model named abb_irb2400_10.co.tar.gz into a temporary folder named C:\temp
and that this folder is empty.
6. Uncompress (unzip) the contents of the abb_irb2400_10.co.tar.gz file to the C:\temp folder.
If the downloaded file is in the .zip format, simply uncompres (unzip) it and go to the
next page.
7. Uncompress (unzip) the contents of the abb_irb2400_10.co.tar file and move the resulting
abb_irb2400_10.co folder directly to the C:\temp folder.
8. Continue to the next page to see how to use the robot model in the system.
• Allows the use and editing of former Robcad .e files when renamed to motionparameters.e
Process Simulate can read motionparameters.e files located under .cojt folders.
There are cases where users open a device for modeling from the object folder (but not
directly from a .jt file) with integrated .e file data. If there is no motionparameters.e
file under the folder, the system creates it with the .e content when saving the modeled
device in the study/library.
Getting into the details within a motionparameters.e file is a very advanced topic and is
behind the scope of this course. However, some additional information can be found by
reviewing the online help for the motionparameters.e file found on the install DVD.
A motionparameters.e file can be written for a robot either with or without an inverse
solution, and also for a device. However, many statements, particularly those pertaining to
Cartesian motion, apply only to robots having an inverse solution.
MotionParameters.e units
For both joint and Cartesian motion, velocity, acceleration, deceleration and jerk values are assigned
to each joint in the units shown in the table below. “Jerk” is the rate of change of the acceleration the
derivative of the acceleration.
A common error is to supply rotational values in degrees, resulting in very high speeds
producing extremely short cycle times.
Joint motion
For joint motion, the mechanism moves according to motion parameters specified individually for
each joint. It applies to all mechanisms: devices and robots both with and without an inverse solution.
The manner in which the specified values apply to the joints during actual motion depends on whether
the type of the motion is synchronous or slew.
• Synchronous motion — In synchronous motion, the more common type, all of the joints begin
together and also complete their motion together. The joint which requires the most time to
complete its motion (usually because it moves the farthest) moves at its specified velocity. The
other joints move at speeds correspondingly slower than their specified speeds, in order to
complete their motion together with the fastest-moving joint.
• Slew motion — In slew motion, all of the joints begin together but complete their motion
separately. Each joint moves at its specified velocity. The joint which requires the least time
(usually because it moves the smallest distance) completes its motion first, with the other joints
following behind. The joint requiring the longest time to complete its motion (usually because it
moves the farthest) completes its motion last.
Cartesian motion
Cartesian motion is effected by commands directed to the TCP of a robot. The system then uses
inverse algorithms for the robot to calculate the required motion of each joint from the TCP data
contained both in the various kinematic and motion-planning files in the motion command itself. It
thus applies only to robots having an inverse solution.
Cartesian motion occurs by means of interpolations between the start and finish locations of the
frame at the robot TCP (the TCPF). Both the position and the orientation are interpolated. Various
types of Cartesian motion are possible:
• Linear-type Cartesian motion causes the robot to move its TCP in a straight-line trajectory
to a target location.
• Circular-type Cartesian motion causes the robot to move its TCP in a circular arc through an
intermediate location to the target location.
MotionParameters.e zones
Most robot controllers accommodate the definition of zones around target positions.
When a robot arrives at its specified zone from the target position, it sends a zone reached signal
which can inform the controller immediately to plan the next motion. The robot thus does not reach
precisely the target position and does not need to come to a full stop, reducing cycle time where
precise arrivals are not necessary.
It can also facilitate synchronizing other tasks by informing them of impending arrival at the target.
The zone type can be defined as an absolute or relative distance either constituting a sphere around
a working point or measured from a target joint position, or as a condition on the speed of the robot as
it approaches the destination. For example, the zone can be defined to begin when all of the joints
have decelerated to half of their steady-state speed during the motion. When during motion a robot
arrives at its specified zone from the target position, it sends a zone signal to its controller.
Zones apply both to joint motion and to Cartesian motion.
Name is usually one of fine, medium, coarse or nodecel, or one of sp_zone# where # is an integer
from 1 to 6; however, it may be any user-specified character string that does not contain spaces.
A motion command in the robot program specifies the desired zone by referring to its name. The
names are arbitrary and serve only to allow the robot program to reference the desired zone. It is
thus desirable but not necessary to use fine as the name for the most precise zone. The nodecel
name can likewise be used for a zone that causes the robot to move to a point but continue to
the subsequent point without decelerating. The sp_zone# values can be used when more than
four zone types are needed.
Type is one of:
• dist
• rel_dist
• speed
• time
• min
• max
• no_decel
• no_smooth
• no_settle_time
A dist zone type defines a distance constituting for Cartesian motion the radius of a sphere around a
target location, or for joint motion the linear or angular deviation from a target joint position. A rel_dist
type permits defining zones as a percentage of the total distance for each motion. A speed zone
type begins the zone at a specified percentage of the speed of the robot as it decelerates toward the
destination. A time zone type similarly begins the zone at a specified time before the robot reaches its
destination. A min or max zone type permits defining a zone as either the smaller or larger of two
previously defined zones, respectively. A no_decel zone type begins the zone when the motion profile
begins to decelerate. And no_smooth can be specified to require the robot to reach its destination
precisely. The no_settle_time value is used by only a few robots.
Space is either joints or Cartesian. It specifies the space in which the zone is defined by means of
the corresponding parameters; they are specified in the unit of measure corresponding to the zone
type. For joints space, parameters is a list of values separated by spaces; one value is specified for
each joint in the mechanism.
For Cartesian space, parameter is a single value. If a zone is defined in Cartesian space,
Cartesian-motion commands using that zone use the zone parameters as defined by zone_define.
For joint motion using that zone, motion planning generates values in joint space approximately
equivalent to the value defined in Cartesian space. Likewise, when a zone is defined in joints space,
joint-motion commands using that zone use the zone parameters as defined by zone_define.
For Cartesian motion using that zone, motion planning generates a value in Cartesian space
approximately equivalent to those defined in joint space.
All zones that can be used on the locations should be defined in the MotionParameters.e
file of the Cloos robot component with a special naming:
• Joint Zones: stv<SmoothTransitionValue> For example:
o zone_define stv1 rel_dist cartesian 25;
Although the exact MotionParameters.e zone name are internally stored on the location, in
the Teach Pendant and Path Editor, zone information appears in Carola terms, for example:
• Zone stv10 maps to STV(10) on the controller.
The available zones are filtered using the location motion type:
• For GP, only stv zones are available.
• joint_config_family j3 joint_cf_elbow_up;
• joint_config_family j5 joint_cf_pos;
• Accuracy: If ACCU<i> zone is defined in the MotionParameters.e file, this actual zone is used.
Otherwise conversion from accuracy value (in mm) to default zones is as follows:
o 0 < val < 5: fine
zone_define nodecel speed joints 99.0 99.0 99.0 99.0 99.0 99.0;
sp_zone5
sp_zone6
course
nodecel
• zcl10r15: zone with Cartesian blend (flyby type), leave value of 10mm and reach value of 15mm
• zjl15r10: zone with Joint blend (flyby type), leave value of 15mm and reach value of 10mm
Although the exact MotionParameters.e zone name is internally stored on the location, in the Teach
Pendant and Path Editor, zone information should appear in Staubli terms, for example:
zone_define fine no_smooth;
• cart_max_rot_acc <accInRadS2>
cart_max_lin_acc 2000;
* 100 deg/s
cart_max_rot_speed 1.74533;
* 2500 deg/s2
cart_max_rot_acc 43.6332313;
In this topic, you get introduced to the concepts of MOP, RCS, and RRS.
Objectives
What is MOP?
MOP stands for MOtion Planner. Process Simulate uses it to process motion requests from the
user, and passes the results back to the Graphic Viewer. It is the motion planner of the Process
Simulate default robot controller. It can be used by all robots. It uses a robot’s MotionParameters.e
file to create robot specific motion.
Description:
• Siemens PLM Software’s patented path-based simulation based on a selected Process Simulate
robot controller
Advantages:
• User designs, simulates, and optimizes a path using the related Process Simulate teach pendant.
What is RRS?
RRS – In a combined effort, initiated by the European Car Manufacturers Association, robot
manufacturers, and software simulation vendors worked together to form an accurate representation
of robot algorithms for each robot in production engineering simulation packages (for example
Process Simulate).
Basically RRS is the interface used by Process Simulate to access a virtual robot controller (RCS).
• RCS Module - A software model of a robot controller (for example virtual robot controller), which
knows how to deal with RRS inputs and outputs. It is developed by the robot manufacturer
to behave just like the real robot controller.
Objectives
After you complete this topic, you should be able to:
• Know the history of RRS and ESRC.
o Transformation
o Kinematics modeling
o Machine data
o External axes
o Conveyor synchronization
o Error messages
• Good for standard, non-complex, configurations (for example no servo gun, non-rail robot, etc.)
• But cannot provide accurate cell cycle time because of the following reasons:
o Waiting for devices
o Robot interlocks
RRS2:
• Good for local changes after robot commissioning
• Too complex
• Need to know all sorts of information to set it up that is not known when the paths are developed
in Process Simulate or it won’t run (for example temperatures, sensor signal registers, how
many I/O boards, how may servo motors, etc.)
• Not the best for project lifecycle (for example want to do robot simulations two years before
commissioning)
ESRC:
• Emulated Specific Robot Controller
• It is used in the Process Simulate Cyclic Event Evaluator environment (CEE is covered in the
TR45215 Process Simulate Standalone Intermediate Robotics (CEE) course)
• Can create XML customization files (OLP commands and motion commands).
Contents of ESRC
• Non-boolean signals
• Boolean/analog evaluation
• Macro
• An external Controller (PLC or similar) is a must in order to make the VRC (virtual robot controller)
work.
• Status Information even on “in between location” positions (for example on each simulation cycle)
Setting up the Process Simulate OPC connection to a PLC was described in the
TR44215 Process Simulate Standalone Intermediate Robotics (CEE) course.
Objectives
Business process
• You must have the RCS module from the robot manufacturer installed and licensed in the
computer. This is referenced, before starting Process Simulate, in the rrs.xml file.
The specifics of each RCS module covered in the activities. In general you should get
the proper version of the RCS directly from the robot manufacturer. However, a few
versions of some RCS modules are available on the Siemens PLM Software GTAC
website.
• You must use a RCS robot and compatible RRS controller (its motion can be controlled in
Process Simulate using an installed RCS module). This is setup in a specific study in the Robot
Properties dialog box.
For example:
Activities
In the Setting up the RCS and RRS (Part 1) section, do the following activities:
• ABB — Setting up the RCS (Discussion Only)
Objectives
After you complete this topic, you should be able to:
• Setup the robot controller.
Business process
ABB Rapid
ABB Volvo (Volvo only) Rapid
Cloos Carola
Comau PDL
Comau Volvo (Volvo only) PDL
Denso PacScript
Duerr EcoTalk
Epson Spel
Fanuc F100iA F100iA
Fanuc RJ3, RJ3iB, R30iA (RJ13ic)
Fanuc Japan (Japan customers only) RJ3, RJ3iB, R30iA (RJ13ic)
Fanuc VW (VW only) RJ3, RJ3iB, R30iA (RJ13ic)
IGM K4
Kawasaki AS
Kuka KRC
Kuka BMW (BMW only) KRC
Kuka Volvo (Volvo only) KRC
Kuka VKRC (VW only) VKRC
Nachi Slim
NC Code machining G Code
NC Code machining BMW (BMW only) G Code
NC Code machining Danobat (Danobat only) G Code
NC Code riveting G Code
NC Code riveting Embraer (Embraer only) G Code
Panasonic CSR
Reis Robstar
Staubli Val
(ABB) Trallfa Robtalk
Universal UR Script
Yaskawa/ Motoman INFORM
** In Process Simulate the Cloos, Denso, Epson, Fanuc F100iA, IGM, NC Code machining, NC Code
riveting, Panasonic, Reis, Staubli, Trallfa, and Universal robot controllers are currently license free.
Terminology note:
You can install various Process Simulate robot controllers, which include a teach pendant and an
interface to the related RCS. The RCS is the virtual robot controller (software and license) from the
robot manufacturer. A Process Simulate robot controller and teach pendant together are your interface
to various features of the real robot controller. It is not required to have a real robot controller or teach
pendant from the robot manufacturer to use the Process Simulate robot controller and teach pendant.
Pictured: A real robot controller and teach pendant from Kawasaki Robotics, Inc.
Activities
In the Setting up the robot controller (part 2) section, do the following activities:
• ABB — Setting up the Latest Process Simulate robot controller (discussion only)
• Cloos — Setting up the Latest Process Simulate robot controller (discussion only)
• Comau — Setting up the Latest Process Simulate robot controller (discussion only)
• Default — Setting up the Latest Process Simulate robot controller (discussion only)
• Denso — Setting up the Latest Process Simulate robot controller (discussion only)
• Duerr — Setting up the Latest Process Simulate robot controller (discussion only)
• Epson — Setting up the Latest Process Simulate robot controller (discussion only)
• Fanuc — Setting up the Latest Process Simulate robot controller (discussion only)
• IGM — Setting up the Latest Process Simulate robot controller (discussion only)
• Kawasaki — Setting up the Latest Process Simulate robot controller (discussion only)
• Kuka — Setting up the Latest Process Simulate robot controller (discussion only)
• Nachi — Setting up the Latest Process Simulate robot controller (discussion only)
• Panasonic — Setting up the Latest Process Simulate robot controller (discussion only)
• Reis — Setting up the Latest Process Simulate robot controller (discussion only)
• Staubli — Setting up the Latest Process Simulate robot controller (discussion only)
• Trallfa — Setting up the Latest Process Simulate robot controller (discussion only)
• Universal — Setting up the Latest Process Simulate robot controller (discussion only)
• Yaskawa — Setting up the Latest Process Simulate robot controller (discussion only)
Purpose
Objectives
Business process
• Setup the RCS before setting up this file, if working with RCS-based controllers.
• The Process Simulate robot controller must be setup in the rrs.xml file. This includes where the
RCS is located, where the custom XML is located, and whether it should try to connect to the
RCS. This file is located in the C:\Program Files\Tecnomatix\eMPower\Robotics\OLP folder.
The default value for decoupling can also be setup in the rrs.xml file on the
controller line (in class located in the N:\sysroot\OLP_config_files\ folder).
For example to be disconnected by default: <Controller Name="Fanuc-Rj"
RCSDecoupleSimulationAction="True" RCSDecoupleNonSimulationAction="True">
You can place all the customer specific controller files under a shared folder in single
location, allowing all users to just point to this folder by adding the CustomizedPath
attribute to the Version element in the rrs.xml file. Typically this folder would be a
shared drive such asN:\sysroot\OLP\Kuka-Krc or \\ilhzsomebody\Kuka-Krc. You
learn more about this at the end of this course.
• ModuleName — the absolute path and name of the executable that is the RCS.
For example:
Example RCS Module Example Version
Controller Name Required Decoupling
Name Names
C:\Tecnomatix
\rrs_bin\rcs_abb\ 5.0 IRC5
ABB-Rapid
rcsabb_rw5.61.01.irc5\ (rw5.61.01)
rcsabb_tune.exe
C:\Tecnomatix
\rrs_bin\rcs_abb\ 5.0 IRC5
ABB-Rapid-Volvo
rcsabb_rw5.61.01.irc5\ (rw5.61.01)
rcsabb_tune.exe
Cloos-Carola N/A v1
C:\Tecnomatix
\rrs_bin\rcs_comau\
Comau-Pdl C4G (3.12)
rcs_cm_c4g_3.12\
cm_3.12.01_tune.exe
C:\Tecnomatix
\rrs_bin\rcs_comau\
Comau-Pdl-Volvo C4G (3.12)
rcs_cm_c4g_3.12\
cm_3.12.01_tune.exe
default N/A v1 Not supported
Denso N/A v1
C:\Tecnomatix
Duerr-Ecotalk \rrs_bin\rcs_ecopc\v5\ RPC (v5.1.7)
rcsdb01_tune.exe
Epson-Spel N/A v1
V8.2d (fr13.v5.0),
Fanuc-F100iA
debug
C:\Tecnomatix
\rrs_bin\rcsfr13\ V8.2d (fr13.v5.0),
Fanuc-RJ
robcad.bin\ debug
rj3_rcs_tune.exe
C:\Tecnomatix
\rrs_bin\rcsfr13\ V8.2d (fr13.v5.0),
Fanuc-Rj-Japan
robcad.bin\ debug
rj3_rcs_tune.exe
C:\Tecnomatix
\rrs_bin\rcsfr13\ V8.2d (fr13.v5.0),
Fanuc-Rj-Vw
robcad.bin\ debug
rj3_rcs_tune.exe
Igm-Ins N/A v1 Must be set to True.
C:\Tecnomatix C (KW07), D
Kawasaki_As \rrs_bin\rcskw\ (KW08),
rcsKW09_tune.exe E (KW09)
C:\Tecnomatix
\rrs_bin\rcs_krc1\
Kuka-Krc V52 (r02)
krc5.2_r02\bin\
rcskrc1_tune.exe
C:\Tecnomatix
\rrs_bin\rcs_krc1\
Kuka-Krc-Volvo V52 (r02)
krc5.2_r02\bin\
rcskrc1_tune.exe
C:\Tecnomatix
\rrs_bin\rcs_krc1\
Kuka-vKrc V52 (r02)
krc5.2_r02\bin\
rcskrc1_tune.exe
C:\Tecnomatix
Nachi-Slim \rrs_bin\rcsnf_ax\ FD
rcs_main_ax_tune.exe
NC-Code N/A v1 Must be set to True.
NC-Code-BMW N/A v1 Must be set to True.
NC-Code-Danobat N/A v1 Must be set to True.
NC-Code-Riveting N/A v1 Must be set to True.
Panasonic N/A v1
Reis-Robstar N/A v1 Not supported
C:\Tecnomatix
Trallfa-Robtalk \rrs_bin\rcstr\ v2.1.2
rcstr01_tune.exe
Universal-URScript N/A v1 (TBD)
C:\Tecnomatix
Yaskawa-Inform \rrs_bin\rcsyma\ DX
rcsmainDX_tune.exe
The rrs.xml file is a mapping file. It must be edited to reflect your environment (for example the
version of the RCS used, the folder it is installed in, decoupling mode, custom XML folder, etc.).
A section must exist in this file for every RCS and RCS module version that is used, but not for every
RCS supported by Process Simulate.
An example of the rrs.xml which matches the exercises in this course is included with the
training data. Some modifications may need to be done to the file in order to use it in
your training environment.
In this case a Version section is added to the file and can be named anything. This is what you
have done in these activities by naming it v1.
Activities
In the Setting up the RRS.XML file and more (Part 3) section, do the following activities:
• ABB — Preparing to setup the RRS (discussion only)
Process overview
Purpose
Objectives
Process generation
1. Basic Process Roughed Out.
• Setup of basic structure of data
2. Detailed process motion completed and verified. (Topic covered in TR45115 Process Simulate
Standalone Basic Robotic Simulation)
• Create Process Locations
• Place Robot
3. Logic added and verified (Topic covered in TR45215 Process Simulate Standalone Intermediate
Robotics)
• Setup sensors
• Conveyor setup
4. Fully verified robot programs are completed and ready for downloading. (Topic covered in
TR45315 Process Simulate Standalone Advanced Robotics)
• Sending a process to a robot using OLP
• Etc.
Process to program
1. Verify collision free simulation.
3. Teach local locations for process using correct motion type at each location.
Objectives
4. The shop floor engineer does not understand the total control scheme.
At each processing stage, a good designer can make many of the OLP shopfloor decisions
without venturing out of their office. Also, a good designer is responsible for ensuring
successful OLP by making their design intent clear
Always be alert, and check the design against common robotic constraints.
3. Make the part accessible - Shop floor personnel need to work there safely.
4. Is the robot required to pick and place as well as weld? Remember: The tooling on this robot
makes it harder to manipulate and less flexible.
5. What robot is designated for use? Can it do the job (weight, speed, etc.)?
6. Go and see the actual robot you are working with. Request a presentation of the unique
capabilities of this robot.
3. Color-code the location assignment. This makes it easier to see what is happening.
4. Use naming conventions from the very beginning (weld locations, via points, pounce, home,
maintenance, safe, tip dress, etc.).
8. Process for a smooth gun motion. This, in turn, leads to a smooth robot motion and an easy
program.
9. Immediately (by default) assign a linear motion type to all segments where the gun tip is close
to the part.
10. Immediately (by default) assign zone type fine to all segments where the gun tip is close to the
part.
2. Position the robot such that not only can it reach all locations, but also have a +/- 10 degrees of
freedom for future changes.
3. Position the robot such that not only 1 and 2 are covered, but also all segments of motion in
between welds are considered for 1 and 2, and all possible configurations.
6. Include all robot specific commands you find relevant to maintain the design intent, such as :
speed instructions, signal and control instructions, etc.
7. Duplicate locations if it makes program structure easier for the shop floor engineers to manipulate.
2. Avoid using large envelope stretches. This causes difficulty in positioning the robot.
3. Avoid complicated control schemes if possible (for example opening and closing clamps to make
welds). Request a change as early as possible for such conditions. If you don not, the shop
floor engineers need to do it later.
4. Mirror situations, where the left robot and right robot are performing a mirror image of the same
path, are preferable.
6. Add via locations the way the robot would naturally move - not how you think it should.
7. Immediately, (by default) assign jointed motion type to all segments where the gun is moving
between via locations.
8. Immediately, (by default) assign zone type coarse to all segments where the gun is moving
between via locations.
9. Add your comments of design intent for the shop floor engineer.
• Create AVI of the simulation, so shop floor can understand the complete design.
3. Test problematic programs locally before they are shipped to the plant.
Study preparation
Purpose
Objectives
Overview
2. Study components are modeled to a sufficient level of detail to verify collision avoidance.
Activity: Verify and adjust your study as required per previous instruction.
Error sources
Purpose
In this topic, you learn several major sources of error in OLP.
Objectives
After you complete this topic, you should be able to:
• Know about five major sources of errors in the process.
• Zero positions
• Conversion coefficients
• Every robot on the factory floor is slightly different from each other and from the Process Simulate
"ideal" model.
Tool inaccuracies:
• Manufacturing tolerances
• Geometric model
• Mounting frame
Workpiece:
• CAD model variances
• Manufacturing tolerances
Layout:
• Installation errors
• Tolerances
External devices:
(positioner, gantry, rotary tables, 7th axis, etc.)
Summary
Subjects learned in this topic:
• An overview of OLP.
Purpose
To provide information on the default controller, ESRC’s (Emulated Specific Robot Controller) and
robot programs.
Objectives
In this topic, you learn how modify basic motion attributes using the default controller.
Objectives
• Robot controller.
Do I do this
Robot controller
The robot controller can be set or viewed from the Controller tab of the Robot Properties dialog box
(Robotics→Robot Properties ) in Process Simulate. It is used to assign a Process Simulate
controller and machine data to a robot; which sets the teach pendant (containing robot specific
motion parameters) and motion planner for a robot.
For this portion of the course, you use the default controller. Later, you switch to an ESRC
one.
• Linear (LIN) motion should be used where high accuracy of the TCP track is required; robot
speed may be somewhat curtailed.
• Circular (CIRC) motion is used when the robot TCP is required to move along a circular arc;
most often in an arc-welding or sealing process.
• Configuration refers to the specific wrist pose the robot is required to attain in reaching a location.
An absolute or relative distance constituting the radius of a sphere around the working
point, or a condition on speed or deceleration as it approaches the destination point.
When the robot reaches the zone around a location, it immediately begins execution of the
next instruction of the program.
• Zone (Called Accuracy or Term Type on various ESRC controllers) — Describes how the robot
approach/arrive at a location. For example here are four zones found in the default controller.
Each can be mapped to a range of values on the ESRC controllers (you discuss this later). The
two most common are Fine and No Decel:
o Fine — causes the robot to slow and “arrive” at the location.
o No Decel — cause the robot to not slow and “approach” the location (However, arrival is
not a requirement).
Zone determines the precision by which the robot’s TCPF reaches intermediate locations
as it performs motion commands. Intermediate locations (via locations) are those through
which the robot passes without stopping. These are all of the locations except the last
location in a path, as well as all the locations where, when reached by the robot, a delay or
wait command is specified. The numeric values of the different zones are defined in the
robot motionparameters.e file under the robot .cojt component directory.
• Method 2: A different TCPF position can be set for each location in the path using the Tool
Frame, Remote TCP Frame, or Work Frame location attributes. In this case there is no default
TCPF position. There is only the current TCPF position. A path can even contain a combination
of locations with different location attributes (for example one path with gun on robot locations
and remote TCP locations). However, it is recommended that each location have a specific TCPF
position defined. This is much closer to how the real robot operates.
When a gun is mounted to a robot, the default TCPF position is also set. Alternately if this is not
desired, a different TCPF position can be set on each location. Tool Frame and Remote TCP
Frame locations.
Location Attributes for Frame References:
• Tool Frame (for gun on robot) — this is the typical place for defining the TCPF position on a
location. Pick any frame in the Object Tree or Graphic Viewer. Make sure the frame name is
unique in the study.
• Remote TCP Frame (for an external TCP) — this box is used when the TCPF should be on an
object which is not mounted to the robot. Pick any frame in the Object Tree or Graphic Viewer.
Make sure the frame name is unique in the study.
• Work Frame — can be used if you know the gun device that has to be used with a given TCP.
Select the tool from the list of values. This list of values is populated with the list of defined tools
for this robot created by choosing Control tab→Setup group→Robot Toolbox (More on
this later).
Both of these techniques were covered in the TR45115 Process Simulate Standalone
Basic Robotic Simulation course. You use these techniques throughout this course.
Activities
In the Basic motion attributes (default controller) section, do the following activities:
• Set up the macro folder
Objectives
After you complete this topic, you should be able to:
• Select a solution (robot configuration).
Business process
Solutions (also known as the Robot Configuration) and turns can be accessed in several places
in Process Simulate. In cases where multiple inverse kinematics solutions are available to reach a
location, it allows the viewing and selection of specific solutions. Configuration information is read
from the controller, stored on a local location (our solution), and downloaded (controller specific
solution) to the program file.
In most common robots there are 23 = 8 possible solutions for each location. However,
some are ruled by limitations of the robot:
• J1 — Overhead or not overhead
• In some cases (for example Fanuc rj2ic) the RCS may have special syntax flags to say which
one to use
• You auto teach and store your configuration on a location which may be diffident than the RCS.
• If not connected to the RCS then it writes the solution from the default controller. Not having a
connection also causes it to not understand that the controller specific OLP commands during
download.
The guy on the floor doesn’t see different solutions because he teaches the
configuration solution. You are trying to solve it each time.
• Path Editor
Teaching a solution for a location (also known as creating a local location in Robcad):
1. Select a location.
The current location configuration is bold. A MotionParameters.e file must exist in the
robot .COJT for this command and the simulation engine to function properly. There is
an entire guide dedicated to this file. However, it contains various definitions for how
the robot moves and is required by default controller (MOP) and RRS simulation.
4. Click Teach.
OH = overhead
In the Robot Configuration dialog box, in the Joint Turns area, if the joint name is different than
the joint index, the joint name is added in parentheses.
If you download with an RCS connection, Process Simulate writes the translated stored version of
the configuration. It should be the same as what is stored on the local location except if there was a
problem with the mapping (The connection allows the validation of what you put in the mapping). If
there is a problem, it would show in the log file.
This tool was discussed in the TR45115 Process Simulate Standalone Basic Robotic
Simulation and TR45215 Process Simulate Standalme Intermediate Robotics (CEE)
courses.
The Robot Viewer can be found by picking a robot and choosing Robot tab→Play group→Robot
Viewer .
• Can be used to look for steep or radical joint value changes (winding)
• Can gather statistics on min/max (values or %) including the applied software limits
A key OLP issue is the engineering judgment of the robot behavior over time and not only at a
specific point. The Robot Integrated Development Environment (RIDE), available for multiple robots,
contains several tools essential to robot programming and debugging:
• “Historical view” — the values of the information are visible over time
• Joint Monitor — It generates and displays a graphical representation of their values at all points
of time in the simulation. The trace for each joint of the selected robot is displayed in a different
color. Each trace is comprised of finite points in time where measurements are taken. The higher
the sampling rate, the more accurate is the trace.
You can display the lower and upper limits for each joint as a dashed line, providing a visual
impression of the state of the joint (but does not generate alarms).
The Joint Monitor panel also displays statistics concerning joint values during simulation. The
Statistics section shows the minimum and maximum values for each joint of the selected robot
during the current simulation. When the joint value enters one of the working limits, its value is
displayed in orange and when it reaches its minimum or maximum value, it is displayed in red.
• Joint Status — shows the current value for each joint of the selected robot (including external
joints). Alternatively, you can display the current joint value as a percentage of the joint range.
• TCPF Speed Monitor — Displays a graph of the speed of the robot TCPF. In the Legend
section, you can set the color of the trace. The Statistics section displays the minimum and
maximum speeds of the robot TCPF.
• Joint Speed & Acceleration — Displays graphs of joint speed and acceleration.
• Power Consumption — The graph above shows the current Power Consumption of a robot
during simulation in units of kW (kilowatts). The Statistics section on the right of the graph
displays the following: Overall energy — The total energy consumption (in Joules) of the robot
during simulation. This is the sum of all the RCS updates until the simulation ends (or pauses).
Peak power — The peak power consumption (in kilowatts) as sampled during the simulation.
The system also notes the time at which the peak energy consumption occurred. Currently, this
feature is only supported by robots connected to the KUKA KRC8.3 RCS (or higher version).
External axis
For more information on external axis usage and kinematic definition, see the TR45115
Process Simulate Standalone Basic Robotics Simulation course.
External axis — (for example 7th axis). A typical example is a robot on a rail, where the rail is the
external axis. This allows multiple solutions to a location, based on the position of the robot on the
external axis. This information is stored on the compound location.
External Axis process overview:
• The external device (for example rail) is created as a separate component with (at least) one joint.
• The robot base must be attached to the carriage (for example slider) entity of the external device.
• Add the joints from the external device to the robot’s joint list.
• Mark compound locations (for example to store the position of the robot on the external device’s
joints onto the location that is being reached)
Activities
In the Robotic configuration selection section, do the following activities:
• Viewing and setting robot configurations
• Robot Viewer
• Robot Signals
• Status Signals
• Robot Program
Business process
Robot programs
RCS/RSS simulation does require the definition of a Process Simulate program. It can be
used with just one simple robotic operation (for example one path). A Process Simulate
program is used when switching, during simulation, between several robotic operations
using logic, or when downloading.
A robot has as task to be executed. Normally it is made up of motion tasks and logic instructions
organized in a robot program. Almost all robot programs have the same basic skeleton:
To guarantee correct behavior all robot vendors enforce a predefined sequence of signal exchange:
• To prevent the robot from starting to move in an uncontrolled way.
The Siemens PLM Software default behavior doesn’t simulate all of the signals used by a real robot.
Those significant signals for the correct process behavior are included in the default behavior.
Specific behavior may be implemented in the relevant ESRC (Emulated Specific Robot Controller),
which has to be purchased separately and has its own documentation.
In the TR42215 Process Simulate on eMS Intermediate Robotics (CEE) course, you
discussed how to create a simulation where logic is used to switch between the different
robot paths (for example trigger them) that are part of a robot program (for example when
to run path 1, path 2, etc.).
Robot signals
In the TR42215 Process Simulate on eMS Intermediate Robotics (CEE) course, you
discussed how create and use robot signals and associate them to signals on a PLC in
order to control the simulation (for example trigger the execution of various events).
It’s easy to see that some of the signal values are only checked when a specific location is reached.
Such signals are called robot signals (might be of type Input, Output, or Memory).
In the example it can be seen that the value of $OUT [17] is set only on the on “POINT2” location (for
example it is a robot signal).
Status signals
Status signals play a different role. They are continuously evaluated by the robot controller (either
input signals, for example emergency stop, or output signals, for example pose signal). They are a
way of simulating behavior that can be downloaded. Using status signals, paths can be simulated like
robot programs using path numbers inside the program.
Default (PLC) output signals:
• startProgram (signal function = Starting Program)
The New Operation →New Robot Path Reference Operation command enables you to
run robotic operations of a robotic program in a line simulation.
• A robot path reference operation activates one or more specific operations within a robotic
program via the path number.
• Because the robot path reference operation refers to the robotic operation only by its path number,
you can change the target of it by re-assigning a path number to a different robotic operation.
• Allows full flexibility in changing paths without changing anything in the Gantt chart
• Are only be executed using robot program parameters (robot status signals)
Robot program
The following schematic diagram shows the general robot behavior based on a path view:
In this topic, you learn how to create robot programs using the default controller.
Objectives
Business process
• Used to add robot paths to a program by drag and drop to the program
• A program can be renamed by selecting it in the Path Editor, pressing F2, and entering a new
name.
• Select a compound operation containing the desired robotic operations and choose Robot
Alternately, you can right-click a compound operation in the Operation Tree and choose
• Use the Segmentizer (a separately installed command that is discussed in the appendix)
In the Program Inventory dialog box, select the program and click Open in Program Editor to
edit or show a program’s contents in the Path Editor.
A robot program is stored as part of the study and is specific to one robot .
The Create Robotic Program for Compound Operation command searches for robotic paths
in the selected compound operation. If all the paths it locates are assigned to the same robot, the
system creates a new robotic program for the robot and names it after the name of the selected
compound operation with an _program suffix. The system then inserts all the paths from the
compound operation under the new robotic program. The order of paths in the new robotic program is
the order in which the paths run in the compound operation. The command is enabled when you
select one or more compound operations (or PrStationProcess objects).
• If you select multiple compound operations, the system repeats the process for each one and
creates a new robotic program for each one.
• Paths inserted in the new robotic program are retained by the robotic programs to which they
have previously been assigned.
• If there is no robotic path under the selected compound(s), the system does not create a program.
No error message is issued.
• The system ignores operations that are not robotic paths. No error message is issued.
• If you select paths assigned to different robots, the system does not create a program and
issues the following message: "The system was unable to create a Robotic Program for one or
more Compound Operations, which contain operations performed by different robots: < list of
compound_operation_names>".
Activities
In the Creating robot programs (default controller) section, do the following activities:
• Creating a robot program and using default signals (review)
Summary
Subjects learned in this topic:
• The basic motion attributes.
Purpose
To describe how to setup and setup and add motion parameters to paths using emulated robot
specific controllers (ESRC).
Objectives
• How to setup a basic robotic study that you can use to learn about ESRC.
• How to setup specific controller frames using the Teach Pendant and other specific setup.
• How to set specific controllers motion attributes using the teach pendant.
Objectives
After you complete this topic, you should be able to:
• Overview the basic steps to setup a robot controller
2. Setup and configure all guns that can be mounted on the robot. Tell which is gun1 and gun2
and if is it a pneumatic or servo gun.
3. Verify the setup of the rrs.xml file for all robots by vendor. This file contains configuration
information for all robot vendor RCS modules. It contains information such as where the RCS
installed and which version is installed. (for example for ABB the Module Path would be:
C:\Tecnomatix\rrs_bin\rcs_abb\rcsabb\rcsabb_tune.exe). This information needs to be
maintained manually (for example as new versions of the RCS are installed, this file needs
to be updated accordingly).
4. Configure the robot controller for a specific robot instance: Right-click the robot and choose
Robot Properties. Select the Controller tab. Select the Controller, RCS Version (optional),
and Controller version. This is stored in the study data.
5. If the robot is using specific machine data (ex : robot with external axes): In Setup dialog box,
choose Robot Settings, choose Load Machine data, and import the desired file from the robot.
6. Choose Robot Settings then choose Create/Update System frames to create all required
frames (for example world, tool, wobj, etc.)
7. Setup the tool frame and base frame definitions. They are stored at the study level.
8. Setup the desired attributes on the teach pendant and run the simulation.
2. Setup and configure all guns that can be mounted on the robot. Tell which is gun1 and gun2
(can have two for Fanuc) and if is it a pneumatic or servo gun.
3. Verify the setup of the rrs.xml file for all robots by vendor. This file contains configuration
information for all robot vendor RCS modules. It contains information such as where the RCS
installed and which version is installed. (for example for ABB the Module Path would be:
C:\Tecnomatix\rrs_bin\rcs_abb\rcsabb\rcsabb_tune.exe). This information needs to be
maintained manually (for example as new versions of the RCS are installed, this file needs
to be updated accordingly).
4. Configure the robot controller for a specific robot instance: Right-click the robot and choose
Robot Properties. Select the Controller tab. Select the Controller, RCS Version, and
Controller version. Enter the Manipulator Type (the machine data entered must be precise).
Usually in the syntax of RCS software version and robot description (robot model, arm
configuration, 7th axis, servo, etc.). This is stored in the study data.
5. If the robot is using specific machine data (ex : robot with external axes): In Setup dialog box,
choose Robot Settings, choose Load Machine data, and import the desired file from the robot.
6. Choose Robot Settings then choose Create/Update System frames to create all required
frames (for example world, tool, wobj, etc.)
7. Setup the tool frame and base frame definitions. They are stored at the study level.
9. Setup the desired attributes on the teach pendant and run the simulation.
• Robot with gripper on rail with one or two pedestal pneumatic guns
• Robot with gripper on rail with one or two pedestal servo guns
• Robot with moving object frame (object attached to an external mechanical unit, like a turn table)
• Robot on rail
• Robot on a rail
• Robot with gripper on rail with one or two pedestal pneumatic guns
• Robot with gripper on rail with one or two pedestal servo guns
• Robot on a rail
• Robot on a rail
• Robot on a rail
NC supported configurations
Process Simulate supports these NC configurations for machining:
• “Robot” or NC machine with an external axis
• Brotje machine
• Robot on a gantry
• Robot on a rail
• Robot on a rail
Objectives
Business process
Study basics
In this lesson, you load a study, mount the gun, and create a small path that you later download. All
the steps covered in this lesson should be a review of what was learned in the TR45115 Process
Simulate Standalone Basic Robotics Simulation course.
Activities
In the Basic Process Simulate Setup section, do the following activities:
• Basic Study Setup
In this topic, you learn how to select the robot controller for a specific robot.
Objectives
Business process
• Teach Pendant
• Robot Setup
• Download to Robot
• Upload Programs
• Simulation
On the Controller tab of the Robot Properties dialog box, there are four parameters that are typically
related to Selecting a controller for a specific robot instance:
• Controller
o This list is populated based on which Process Simulate controllers (teach pendants) have
been installed (development specified). (Each is a separate install, as you have seen in
earlier in this course)
o As you have seen earlier in this course: For RCS-based controllers, an entry for each
controller in this list should be in the rrs.xml file (user specified)
• RCS version
o Comes from the rrs.xml file (user specified)
• Manipulator type
o For RCS-based controllers, it is user specified and must match a valid value on the RCS
• Controller version
o Hard-coded in the controller (development specified)
o Set either on the Robot Properties dialog box or the Robot Setup →Controller version
dialog box.
o Handles any slight difference in the software such as features available in the teach pendant,
download syntax, simulation, etc.
• Validate RCS — located on the Controller tab of the Robot Properties dialog box, it
becomes available when connected to the RCS. It checks the compatibility between the selected
RCS Version and selected Controller Version.
As of v10.0, this feature is not currently supported for all controllers. However, it does
work for the Fanuc controller.
The Manipulator Type is only needed by RRS-based controllers. If you are using a MOP
controller, this is not needed.
The file is used by Robcad and may not available if the .CO was converted to .COJT
Abb:
• For a Robcad cell connected to Process Simulate, just look at the .rrs file either under the
<cell>/<robot>_rrs folder or robot prototype folder and use same value as defined for
ManipulatorType
• For a new study: See the s4c.cfg, s4cplus.cfg, or irc5.cfg files under the ABB RCS install folder.
Comau:
Leave the manipulator type box blank. It figured out a different way.
• Typically it is the name of the .rcs file located in the N:\sysroot\libraries\robot-prototype.co\rrs
folder.
Fanuc:
• For a temp robot: see the C:\Tecnomatix\rrs_bin\rcsfr13\robcad.bin\VERSION\<RCS
Version>/standard.cfg file inside RCS module folder (client)
o In the standard.cfg file enter: <Temp Robot>. For example: R2000IF-165KG (as specified
in the Fanuc robot setup wizard).
o In the Manipulator Type box in Process Simulate, select: <RCS Version>,<Temp Robot>
from the list. For example: V7.40,R2000IF-165KG
Kuka:
Leave the manipulator type box blank. It figured out a different way.
• Later you browse and select several files from the MADA folder under the Kuka RCS install.
Nachi:
• Check the manipulators.cfg file in the FD folder for the right name under the Nachi RCS client
install folder.
Tralfa:
Leave the manipulator type box blank. It figured out a different way.
Yaskawa:
• Check your Yaskawa RCS license file for the right name.
Activities
In the Robot controller selection section, do the following activities:
• Robot controller selection
Objectives
After you complete this topic, you should be able to:
• Setup a robot controller for a robot.
Business process
• Method 1: Click Robot Setup on the Robot Properties dialog box opened for a specific robot.
• Method 2: Click Robot Setup on the relevant robot controller specific Teach Pendant dialog
box opened for a specific robotic operation.
• Method 3: From the ribbon, choose Robot tab→Setup group→Robot Setup to access it
directly instead of inside other dialog boxes.
Robot Setup is located on the Robot Properties dialog box. To open this dialog box:
A robot must be assigned to the operation and a robot controller, besides the Default,
assigned to the assigned robot.
• Load Machine Data – If the robot is using specific machine data (ex : robot with external axes):
In Setup dialog box, choose Load Machine data. In Load Machine Data dialog box, select the
desired moc.CFG file. (There are some samples on GTAC for a 7th axis). Close the dialog
box by clicking OK.
• Create / Update System Frames – Creates all ABB system frames (if not already existing) and
places them in the study with respect to the machine data:
o <robot>.w - robot controller world frame created in the Frames folder of the Object Tree.
o In case of a conflict in the robot orientation on the rail, the user is prompted whether he would
like the application to align the robot position in the cell with the Machine data definition, or
update the Machine data.
o Pushing this button resets the tool frame and wobj frame in the study to its initial positions
corresponding to data definition
• Load Machine Data – Used to load the .rcs file related to this robot. Typically it is located in
the N:\sysroot\libraries\robot-prototype.co\rrs folder. (The file is used by Robcad and might
not available if the .co was converted to .cojt).
• Create/Update System Frames - Creates all Comau system frames (if not already existing) and
places them in the study with respect to the machine data:
o <robot>.w - robot controller world frame created in the Frames folder of the Object Tree.
o In case of a conflict in the robot orientation on the rail, the user is prompted whether he would
like the application to align the robot position in the cell with the Machine data definition, or
update the Machine data.
o Pushing this button resets tool frame and wobj frame in the cell on its initial positions
corresponding to data definition
• Create/Update System Frames - Creates all Denso system frames (if not already existing) and
places them in the study with respect to the machine data:
o <robot>.w - robot controller world frame created in the Frames folder of the Object Tree.
o In case of a conflict in the robot orientation on the rail, the user is prompted whether he would
like the application to align the robot position in the cell with the machine data definition, or
update the machine data.
o Pushing this button resets tool frame and wobj frame in the cell on its initial positions
corresponding to data definition
• Work Definition - Create, edit, and remove robot user frames. The naming convention for a
work frame is <robot>.w<num>.
• Tool Definition - Create, edit, and remove robot tool frames. The naming convention for a tool
frame is <robot>.w<num>.
• Load Machine Data — If the robot is using specific machine data (for example a robot with
external axes): In the Setup dialog box, choose Load Machine Data. Select the relevant
const.RC and device.CFG files. Close the dialog box by clicking OK.
• Create/Update System Frames — Creates all Duerr system frames (if not already existing) and
places them in the study with respect to the machine data:
o <robot>.w - robot controller world frame created in the Frames folder of the Object Tree.
• Create/Update System Frames - Creates all Epson system frames (if not already existing) and
places them in the study with respect to the machine data:
o <robot>.w - robot controller world frame created in the Frames folder of the Object Tree.
o In case of a conflict in the robot orientation on the rail, the user is prompted whether he would
like the application to align the robot position in the cell with the machine data definition, or
update the machine data.
o Pushing this button resets tool frame and wobj frame in the cell on its initial positions
corresponding to data definition
• Create/Update system frames — Creates all Fanuc system frames (if not already existing) and
places them in the study with respect to the machine data:
o <robot>.w — robot controller world frame created in the Frames folder of the Object Tree.
o Potential conflict between robot orientation on rail (between cell and machine data) is NOT
checked
• Load Machine Data — In the Setup dialog box, choose Load Machine Data. Select the relevant
param.ini file. This is a critical step for this controller. Close the dialog box by clicking OK.
There is no generic PARAM.INI file since it is a file from the real robot. However, the
actual type of the robot is not important to Process Simulate. The robot controller is
only reading the externals layout, tools, and process configurations from this file.
• Create/Update System Frames — Creates all IGM system frames (if not already existing) and
places them in the study with respect to the machine data:
o <robot>.w — the robot world frame.
o <robot>.w1 — Robot base frame created in the Frames folder of the Object Tree.
o <robot>.w2 — predefined external work object frames. These system frames are linked to
each ExtAxRef external axis (as defined in param.ini) and are automatically attached to the
relevant link of the relevant robot external device. They are named using the ExtAxRef order.
o All tools in the study (modeled as either robot system frames or Robot Toolbox work tools)
are set to their nominal position (as defined in the param.ini).
Potential conflict between robot orientation on rail (between cell and param.ini) is not
checked.
• Create/Update System Frames — Creates all Kawasaki system frames (if not already existing)
and places them in the study with respect to the machine data:
o <robot>.w — robot controller world frame created in the Frames folder of the Object Tree.
• Load Machine Data — In Robot Setup dialog box, choose Load Machine data. In the Load
Machine Data dialog box, Browse and select the R1 and STEU folders (mandatory).
If using the version 5.2, 5.4, or 5.6 of the Kuka controller, you do not have the Config
folder box on the Load Machine Data dialog box.
• Create/Update System Frames — Creates all Kuka system frames (if not already existing) and
places them in the study with respect to the machine data:
o <robot>.bf0 — robot controller world frame created in the Frames folder of the Object
Tree.
o <robot>.sim_bf0 — rail base frame (also known as the ERSYSROOT frame). Only available
for robot on rail configurations.
o In case of major conflict between Process Simulate layout and the MADA layout (number/type
of external axes), a warning message is displayed.
o In case of conflict between robot orientation on rail, the user is prompt whether he would like
the application to align the robot position in the cell with the MADA definition.
• Create/Update System Frames — Creates all Nachi system frames (if not already existing) and
places them in the study with respect to the machine data:
o <robot>.w — robot controller world frame created in the Frames folder of the Object Tree.
• Gun Definition — assign a gun number to the guns you use in simulation. The type of gun is also
set, such as pneumatic or servo. If this is not set, a warning message is shown during download.
• Origin Definition (for machining, but not riveting) — used to setup origin frames (which are like
robot base frames). Origin frames can be named G54 through G59 with the “defined” keyword if
the origin is already defined. Euler angle is used for the orientation (phi, theta, psi).
o <robot>.g54 — robot controller world frame created in the Frames folder of the Object
Tree.
• Create/Update System Frames — (Not currently used) Creates all NC Code system frames (if
not already existing) and places them in the study with respect to the machine data:
o <robot>.of_g53 — robot controller world frame created in the Frames folder of the Object
Tree.
• Create/Update System Frames - Creates all Panasonic system frames (if not already existing)
and places them in the study with respect to the machine data:
o <robot>.w - robot controller world frame created in the Frames folder of the Object Tree.
o In case of a conflict in the robot orientation on the rail, the user is prompted whether he would
like the application to align the robot position in the cell with the machine data definition, or
update the machine data.
o Pushing this button resets tool frame and wobj frame in the cell on its initial positions
corresponding to data definition
• Tool Definition - Tool numbers range from 1 to 30. The tool coordinates are relative to the robot
TOOLFRAME. The naming convention for tools is <robot>.t<toolNum> for a robot system
frame and Tool<number> for a work tool. Optionally, a tool name can be associated with the
tool number.
• User Frame Definition - Frame numbers range from 1 to 32. The frame coordinates are relative
to the robot WORLDFRAME. The naming convention for user frames is <robot>.uf<frameNum>.
Optionally, a frame name can be associated with the frame number. A user frame is only
downloaded in the header section and it cannot be changed within a program. An error message
is reported if more than one user frame is used in a robotic operation.
• Create/Update System Frames — Creates all Reis Robstar system frames (if not already
existing) and places them in the study with respect to the machine data:
o <robot>.uf0 — robot controller world frame created in the Frames folder of the Object
Tree. This frame is the reference for the user frames and is superimposed on the robot
BASEFRAME.
• Tools Definition - Only mounted tool configurations are supported. Tools are defined by name
and should start with an uppercase T. Space or special characters are not supported. Here are
some examples of valid tool names: T_time, Tcp, or T1. The naming convention for frames is
_t_<Toolname> and <ToolName> for work tools. The frame coordinates are relative to the
robot ToolFrame.
• Create/Update System Frames — Creates all Staubli system frames (if not already existing)
and places them in the study with respect to the machine data:
o <robot>.w — robot controller world frame created in the Frames folder of the Object Tree.
o In case of a conflict in the robot orientation on the rail, the user is prompted whether he would
like the application to align the robot position in the cell with the machine data definition, or
update the machine data.
o Pushing this button resets tool frame and wobj frame in the cell on its initial positions
corresponding to data definition
• Tool Definition - Use it to create, edit, and delete tools. The tool position is relative to the robot
TOOLFRAME. The naming convention for robot frames is <robot>.ut_<tool>. The naming
convention for Robot Toolbox work tools is <tool>.
• Frame Definition - Use it to create, edit, and delete user frames. The frame position is relative to
the robot WORLD (BASEFRAME). The naming convention for frames is <robot>.of_<frame>.
• Load Machine Data — In Robot Setup dialog box, choose Load Machine data. In the Load
Machine Data dialog box, click Add and choose a .i01 machine data file (mandatory).
• Create/Update System Frames — Creates all Trallfa system frames (if not already existing)
and places them in the study with respect to the machine data:
o <robot>.bf — robot controller world frame created in the Frames folder of the Object Tree.
o <robot>.uf<n> — DispFrame
• Create/Update System Frames - Creates all Universal system frames (if not already existing)
and places them in the study with respect to the machine data:
o <robot>.w - robot controller world frame created in the Frames folder of the Object Tree.
o In case of a conflict in the robot orientation on the rail, the user is prompted whether he would
like the application to align the robot position in the cell with the machine data definition, or
update the machine data.
o Pushing this button resets tool frame and wobj frame in the cell on its initial positions
corresponding to data definition
• Tool Definition - Use it to create, edit, or delete tools. The tool position is relative to the robot
TOOLFRAME. The orientation is displayed in native Universal Rotation Vector representation.
The naming convention for robot frames is <robot>.t_<toolName>. The naming convention
for Robot Toolbox work tools is <toolName>.
• Load Machine Data — If the robot is using specific machine data (for example a robot with
external axes): In the Setup dialog box, choose Load Machine data. Select the relevant
all.PRM, tool.CND, uframe.CMD, sgun.DAT, spress.cnd, and clearnce.DAT files. Close the
dialog box by clicking OK.
• Create/Update System Frames — Creates all Yaskawa system frames (if not already existing)
and places them in the study with respect to the machine data:
o <robot>.w — robot controller world frame created in the Frames folder of the Object Tree.
Activities
In the Robot controller setup section, do the following activities:
• ABB — Setting up the controller
Objectives
After you complete this topic, you should be able to:
• Open the teach pedant for the robot associated to a robotic path and see if the related RCS
can be accessed.
• Look at the messages shown in the error dialog box during simulation.
• Turn on the RCS console dialog box and view the messages.
RCS shell
First turn it on:
RCS logs
First turn them on using the Robot Setup dialog box:
Simulation Settings:
• RRS Debug - turn on/off RRS debug mode. If on, simulation creates a debug file named
rcs<RobotVendor>.<robotName> with the dialog between Process Simulate and the RCS.
View the resulting log file in the C:\temp folder.
• Reset Conveyor Position - reset conveyor to zero position (might be require after using Jump
To Location on tracking locations). Available on some controllers such as Abb-Rapid.
Activities
In the Testing the RCS connection and fixing setup problems section, do the following activities:
• Testing the RCS connection
RCS management
Purpose
In this topic, you learn how to manage the connection to the RCS for RCS-based robot controllers.
For MOP-based robot controllers, this does not apply.
Objectives
After you complete this topic, you should be able to:
• Manage the RCS module.
The Reset RCS Module command is not located in the ribbon. To add it to the
Quick access toolbar, choose Customize Quick Access Toolbar command.
1. From the ribbon, choose Robot tab→Setup group→Controller Settings (or it can be found
on the Controller tab of the Robot Settings dialog box).
3. From the Controller Settings toolbar, choose Terminate RCS to terminate the selected
RCS connection.
Choose Terminate All RCS to end all the active RCS connections.
4. From the Controller Settings toolbar, choose Initialize RCS to start an RCS connection
to the selected RCS.
Choose Initialize All RCS to start RCS connection for all listed RCS.
• Simulation Actions — For example, OLP commands, RCS simulation, and ESRC functionality.
Not all RCS modules support decoupling. Grayed out boxes do not support decoupling.
For exact motion, the RCS module is still mandatory for all controllers. For example,
circular motion is replaced with linear motion in decouple mode.
The default value for decoupling can also be setup in the rrs.xml file on the controller line (in
class located in the N:\sysroot\OLP_config_files\ folder). For example to be disconnected
by default: <Controller Name="Fanuc-Rj" RCSDecoupleSimulationAction="True"
RCSDecoupleNonSimulationAction="True">
2. Deselect either the Simulation or Non Simulation check boxes, depending on the action you
want too perform.
3. Check Close.
2. Select either the Simulation or Non Simulation check boxes, depending on the action you
want too perform.
3. Check Close.
• When performing Create/Update System Frames, transformation from robot WORLD frame to
the robot BASE frame cannot be retrieved from the RCS module, therefore this information is
assumed to be Identity Matrix. If this assumption is wrong, it might be necessary to manually
relocate the robot WORLD frame in the study.
• The application looks for defined external axes in the ABB externals string (the ones which
value is not 9E9)
• The nth axis that is defined is supposed to be mapped to the nth external axis in Process Simulate.
• Conversion from RCS configuration string to Process Simulate configuration to is done manually.
Activities
In the RCS management section, do the following activities:
• RCS management
Objectives
After you complete this topic, you should be able to:
• Understand some tools and definitions related to the TCPF.
Business process
• Method 1 and Method 2: Using the Teach Pendant (or Robot Properties ) – Defines it as
engineering data stored in the study. This is the way that Robcad used to do it. you describe
this method in more detail in the next lesson.
• Method 3: Using the Robot Toolbox — Defines it as an object stored with the robot, which is
not dependent on the robot’s name. This is the newer, preferred technique.
Currently, there is only one way to define the BASEFRAME (REF FRAME) positions for the RCS:
• Using the Robot Setup from Teach Pendant (or Robot Properties)
Robot Toolbox
The Robot Toolbox command is used to assign tools (TCPF positions) to a robot and view sets
of tools assigned to robots. The assigned tools are available to the robot throughout the simulation.
The Robot Toolbox includes information about the tools assigned to the robot and buttons to perform
functions on the tools.
Often, it is useful to include tools that are not yet fully-designed in a simulation. The Robot
Toolbox is used to assign incomplete tools, requiring only the tool's TCP frame
information. Incomplete tools included in the Robot Toolbox are called virtual tools.
The Robot Tools list displays the tools assigned to the selected robot. For each tool, a Mounted
check box indicates whether the tool is mounted on the robot. Use the Mount or Unmount buttons to
mount or unmount a tool on the robot.
In order to use the tools you have defined in the Robot Toolbox, you must define a specific tool to be
used in an operation. This is done by adding a Work Tool to the default Teach Pendant.
To open the Robot Toolbox:
1. Select a robot in the Graphic Viewer or Object Tree.
3. The Robot Toolbox dialog box appears, displaying the tools associated with the selected robot.
Activities
In the Methods to define TCPF positions for the RCS section, do the following activities:
• Using the Robot Toolbox
Objectives
After you complete this topic, you should be able to:
• Access Robot Setup using method 2.
Business process
• Method 2: The relevant Teach Pendant dialog box (for example ABB-Rapid, ABB-Rapid-Volvo,
Cloos-Carola, Comau-Pdl, Comu-Pdl-Volvo, Default, Duerr, Epson-Spel, Fanuc-F100ia,
Fanuc-Rj, Fanuc-Rj-Japan, Fanuc-Vw, Igm-Ins, Kawsasaki-As, Kuka-krc, Kuka-Krc-Volvo,
Kuka-Vkrc, Nachi-Slim, NC-Code, Reis-Robstar, Staubli-Val, Trallfa-Robtalk,
Universal-URScript or YaskawaTeach Pendant dialog boxes).
• Word reference frame — Process Simulate creates a robot system frame named <robot>.w
(before it created a study frame <robot>_w). It is superimposed on the robot BASEFRAME
when all external axes are set to zero. Although robot system frames are shown in the Object
Tree, they are stored with the robot instance (meaning they come with the robot if you put the
same robot instance in another study).
• User reference frames — Some controllers all you to create a additional reference frames, for
example on the part.
• Tool frames — Tools, which may be superimposed on the TCPF, are referenced by a controller
either by a name or a number. There position is stored relative to the robot TOOLFRAME. During
simulation the tool frame is placed on the locations in the path. The location’s downloaded position
is relative to a reference frame such as the world reference frame or a user reference frame.
• Setup controller or robot specific simulation and download settings (needed for downloading and
accurate simulation)
• Setup basic motion parameters (needed for downloading and accurate simulation)
• Teach robot configurations to each location (needed for downloading and accurate simulation)
• In the Robot Properties dialog box, select the Controller tab. The controller information must
be filled in. For example:
• From the Teach Pendant dialog box, choose Robot Setup . For example:
The Create\Update System Frames command only copies frames under this folder structure if the
world frame was not manually moved under another folder already.
o The selected files are copied under the robot private folder (same folder as the one used to
copy the machine data file needed for the RCS)
• Load Local Data Definitions – Used to import the Robcad .robdata.sys file definitions into
Process Simulate. The definitions are stored as a robot parameter.
• Down Local Data Definitions – Copies all local data definitions into the LocalDataDefinition.sys
file in the N:\sysroot\libraries\RobotsMachineDataFiles/<RobotExtId>/SystemFiles folder.
■ Create new data: select data from list for display by values, replace the data name with a
new data name, and validate it by clicking Enter.
■ Naming convention for ABB is that WorkTool name should match the ABB tool data
name. For a given tool data, WorkTools have priority upon Process Simulate frame tools.
• Process Data Definition – Spot data, Gun data, Bead data, Arc Data, etc.
o Spot data definition is different for pneumatic or servo guns.
o For each Mechanical unit, logical axes can be associated the joint of the selected device.
For C4G:
For C5G:
The Comau has three controller versions: C3G, C4G, and C5G. The C4G and C5G versions support
glue and stud process. they also support defining tool data and frame data instead of UFrame
and UTool. The C5G version also supports: two active guns, Base Data, eMotion, Servo Flyby,
and SpotWare type selection.
• Program Templates — described later in this course
o <robot name>_ut1
• Download Settings — Can be used to filter what is output to the resulting file output for the robot.
• Explicit Data Upload — Used to explicitly upload a tool file tt_tool1.lsv, frame file tu_frame.lsv,
base file tb_base.lsv, or servo distance file SwD_dist_data.lsv.
• Robot World Setup — Setup the position and orientation of the robot world frame.
• Tools Definition — Create, edit, or delete tools. The tool position is relative to the robot
TOOLFRAME. The naming convention for robot tool frames is <robot>.t<number>. For example
myrobot.t1. The naming convention for Robot Toolbox WorkTools is Tool<toolNumber>.
• Works Definition — Create, edit, or delete robot user frames with the corresponding
<robot>.w<num> frame.
• Profile Data — allows defining velocity, acceleration, overlap, ramp, jerk, and interpolation list
of values data.
• Frame Data — allows defining tool frame, base frame, and object frame data.
• Local Machine Data — allows specifying const (.RC), device (.CFG), and motion (.CFG) files.
The const (.RC) and device (.CFG) files are needed in order to initialize the RCS.
Robcad tool frames are supported (frame <robot>_ut<num>) and base frames have the
same naming convention as in Robcad (frame <robot>_uf<num>).
• Tools Definition — Create, edit, or delete tools. The tool position is relative to the robot
TOOLFRAME. The naming convention for robot tool frames is <robot>.t<number>. For example
myrobot.t1. The naming convention for Robot Toolbox WorkTools is Tool<toolNumber>.
• Local Coordinate Systems Definition — Create, edit, or delete user frames The frame
position is relative to the robot WORLD (BASEFRAME). The naming convention for frames is
<robot>.lcs<number>. For example myrobot.lcs1.
• Download Settings — several options for downloading such as simulation commands, download
point frame, RTCP location coordinates, Utool/Uframe declaration insertion, and aborting
download on error. These values are stored in the user DownloadSettings.xml file located in the
.\eMPower\Olp\Robotics\Fanuc-Rj\Settings folder.
■ Backup: YES / NO
■ Backup Mapping
o The gun definitions are used in the Teach Pendant to show or not show some process
parameters.
• External Axis Mapping — this option is available when an external axis is present on the robot.
■ Robot ToolBox WorkTools are also supported. The naming convention for FanucRj is
Tool<Num>. For a given tool number, WorkTools have priority over Robcad frame tools.
o Uframe
■ Creates or edits user frames named: <robot>.uf<number>. For example myrobot.uf1.
• Payload Definitions — used to either define or upload a payload definition for the robot.
• Explicit Data Upload — used to upload a .VA file (for example upload payload definitions from a
SYMOTN.VA or SYSTEM.VA file)
• Work Object Definition — Create work object frames. Work object numbers after 1 are reserved
for predefined external work objects. You can create, edit, or delete the user defined work objects.
o Creates user frames named: <robot>.w<number>. For example myrobot.w1.
o Robcad tools are supported (frame <robot>.t<num>, or Robot Toolbox Worktool Tool<num>).
Only tool numbers defined in the param.ini file are available (tool numbers start from 1).
• Download Settings — Used to setup the default clamp command in pneumatic or servo gun
contexts.
• Gun Definition — allows the user to map a gun number to a specific gun device in the study
• Data Definition — allows removing, loading, and exporting the AUX data file. Also allows editing
speed, accuracy, timer, clamp application, clamp condition, and gun parameters.
• Tool Setup
o Creates or edits tool frames named: <robot>.tl<number>. For example myrobot.tl1.
o Robot Toolbox Worktools are also supported with the following naming convention:
Tool<num>
o Users can upload one or all Tool definitions from a robot.aux file
• Work Setup
o Creates or edits user frames named: <robot>.w<number>. For example myrobot.w1.
o User can upload one or all work definitions from loaded robot.aux file
• FTool Setup
o Creates or edits FTool frames named: <robot>.ftl<number>. For example myrobot.ftl1.
o Robot Toolbox Worktools are also supported with following naming convention: FTool<num>
o Users can upload one or all FTool definitions from a robot.aux file
• Load Robot Backup — Reads a robot backup .ZIP file and copies the files to the robot private
folder.
• Tool & Base Definition (VKRC only) or Tool & Base (KRC only)
o Creates or edits base frame named: <robot>.bf<number>. For example myrobot.bf1.
• External Manipulator Setup — This option is available when an external axis is defined for the
robot. The display and edit external moving bases attached to an external manipulator.
• Stationary Tool Definition — Stationary tool numbers are from 0 to 3 and are named
rt<number> for a robot system frame or RemoteTool<number> for a work tool.
o Tool definitions can be uploaded (selected one or all) from ROBOT.CON file.
• Accuracy Definition — If accuracy definitions are not available on robot instance, then values
are loaded from machine data file (if such file is available). When Restore values is clicked
values are loaded form machine data file (if such file is available) Simulation Settings /
Synchronize RCS should be run after manually changing an accuracy definition.
• Axis Load Definition — If axis load definitions are not available on robot instance then values
are loaded from machine data file (if such file is available). Simulation Settings / Synchronize
RCS should be run after manually changing an axis load definition.
• Smooth Definition — If smoothness definitions are not available on robot instance then values
are loaded from machine data file (if such file is available). Simulation Settings / Synchronize
RCS should be run after manually changing a smooth definition.
• Acceleration Definition — If acceleration definitions are not available on robot instance then
values are loaded from machine data file (if such file is available). Simulation Settings /
Synchronize RCS should be run after manually changing an acceleration definition.
• Servo Gun Welding Conditions — If servo gun welding definitions are not available on robot
instance then values are loaded from machine data file (if such file is available).
• Welding Sequences — Different dialog boxes are shown depending on if a servo gun or
pneumatic gun is mounted on the robot. Welding sequences can be between 1 and 64.
• Simulation Settings — For this portion of the course, you only learn about Synchronize RCS in
the Simulation Settings dialog box:
o When clicked, axis loads, tool payloads, accuracy, acceleration and smooth definitions,
defined on the robot instance, are sent to the RCS module.
o This command should be used whenever payloads or motion parameter definitions are
manually changed in Robot Setup, in order that the Nachi RCS module is using the updated
definitions. The Nachi RCS module is storing those updated definitions in its RCS machine
data files.
o It might be a good practice to use it once after loading a study to ensure the definitions from
Robot Setup are identical to the ones defined in the RCS machine data files (a discrepancy
may happen in case the study was not saved after changing some data definitions and
synchronizing the RCS).
• Origin Definition (for machining, but not riveting) — used to setup origin frames (which are like
robot base frames). Origin frames can be named G54 through G59 with the “defined” keyword if
the origin is already defined. Euler angles are used for the orientation (phi, theta, psi).
o Creates a base frame named: <robot>.g53. For example myrobot.g53.
o Creates a user frames named <robot>.g53 through <robot>.g59. For example myrobot.g54.
• Download Settings — there are various download settings such as circular interpolation method,
robot number, line numbering, program file extension, coordinate mapping, and multi-file settings.
Tools must be defined using Robot Toolbox WorkTools (not as a robot frame) using the naming
convention Tool1 for tool number 1.
• Tools Definition — Create, edit, or delete tools. The tool position is relative to the robot
TOOLFRAME. The naming convention for robot tool frames is <robot>.t<number>. For example
myrobot.t1. The naming convention for Robot Toolbox WorkTools is Tool<toolNumber>.
• User Frame Definition — Create, edit, or delete user frames Frame numbers are from 1 to
32. Coordinates are relative to robot WORLDFRAME. The naming convention for user frames
is<robot>.uf<frameNum>. Optionally, a frame name can be associated using the frame number.
A user frame is only downloaded in the header section and cannot be changed within a program.
An error message will be reported in case more than 1 User Frame is used in a robotic operation
• Download Settings – Allows setting various settings for download including language and
the display of comments.
• Tool Definition
o Creates or edits tool frames named: <robot>.t_T<number>. For example myrobot.t_T1.
o There are two types of UserFrames: STATIC and DYNAMIC. The dynamic option is available
only for a robot with external axis. If the dynamic type is selected, the created frame should
be attached to the selected external device’s last link
• Tools Definition — create, edit, and delete tool frames. The tool position is relative to the
robot TOOLFRAME.
o Creates or edits tool frames named: <robot>.ut<number>. For example myrobot.ut_1.
• Frames Definition — create, edit, and delete user reference frames. The frame position is
relative to the WORLD (BASEFRAME).
o Creates or edits user frames named: <robot>.of<number>. For example myrobot.of_1.
• Download Settings — Select the ROBOT_ID to select the system files and set the binary file
name of the downloaded file.
• Tools Definition — Create, edit, or delete tools. The tool position is relative to the robot
TOOLFRAME. The orientation is displayed in native Universal Rotation Vector representation.
The naming convention for robot tool frames is <robot>.tf_<number>. For example myrobot.t1.
The naming convention for Robot Toolbox WorkTools is Tool<toolNumber>.
• UTool/UFrame Definition
o Creates or edits tool frames named: <robot>.tl<number>. For example myrobot.tl1.
• Robot and External Axes Setup — This option is available for robots with an external axis
defined.
• System Information — Allows entering or editing pulse (encoder) factors, offsets, and order.
• Gun Definition — Allows associating a gun device with a gun file number.
• The frame can either be directly created in the study and then the coordinates read from the
study to the teach pendant.
• The TCPF can defined in the teach pendant which creates the frame in the study automatically.
• The information can be read from files output from the actual robot controller (with many Process
Simulate teach pendants).
o <Robot name>_.wf — robot world frame created automatically when the RCS is
initialized. It is the robot origin frame and is typically at the intersection of J1 and
J2. It’s not needed for downloading.
o BASEFRAME — robot origin frame that is part of the robot’s kinematic definition.
It should match the <Robot name>_.wf.
o TCPF — frame that is part of the robot’s kinematic definition. The Robot Setup
dialog box is used to define a special ESRC frame at the exact position of the TCP.
ESRC user/object
ESRC base frame (for TCPF (name of special
reference name (for
Robot (controller) example default is ESRC frame attached
example default is
BASEFAME) to the TCPF)
REFFRAME)
Abb irb6600_wobj0_uf irb6600_tool1_tf
Cloos cloos_cls76swr.t1
Comau comau_sm_nh3_ comau_sm_nh3_ comau_sm_nh3
(C4G and C5G) 165_30.wf1 165_30.of1 _165_30.t1
Denso my_robot.w1 my_robot.t1
Use this table as reference to perform the activities. Note that each robot 's settings and teach
pendant have several differences. Reference the online help for setup, configuration and usage
details of specific controllers.
It is the users’ responsibility to set these frames on the real robot (It is not done
automatically since two programs could use the same def file. The tool definition could be
added to program download template as well as the home pose.
Activities
In the Robot controller specific frames and setup section, do the following activities:
• ABB — Tool and base data setup
Objectives
After you complete this topic, you should be able to:
• Know the available methods to edit controller specific motion attributes.
Do I do this
Disclaimer: This lesson provides selected details for each specific teach pendant. It should not be
considered a replacement to the online help or other more complete reference sources for these robot
controllers or the robotic languages themselves
o MoveABSJ Home
All zones that can be used on the locations should be defined in the
MotionParameters.e file of the Cloos robot component with a special naming:
o Joint Zones: stv<SmoothTransitionValue> For example:
■ zone_define stv1 rel_dist cartesian 25;
The available zones are filtered using the location motion type:
o For GP, only stv zones are available.
o For GC and ARC linear speed in mm/sec can range from 0.1 to 1000.
o Course
o No Settle
• Speed — After setting the Speed Control, you can enter the speed.
o DriveA — use point-to-point motion (joint motion) and select a robot pose.
• Zone — Enter the number (in mm) for the zone. This is how many mm away the robot can stop
near the target location and still have “arrived”.
o 0 — uses no smoothing and is like fine on the default controller.
No section is required in the motionparameters.e file for zones, since the above
mapping is automatic.
• Overlap (Zone)
o FINE
o LOW
o MID
o COURSE
o NODEC50
o NODEC100
o NODEC150
o NODEC200
o V200
o V300
o etc.
o V1400
o V1500
• Speed
• Speed Type – Joint speed is recorded as a percentage of the max speed, linear speed is
recorded in mm/s, and rotational speed is recorded in deg/s.
• Local CS — ESRC location reference frame definitions. Coordinate system 0 is the robot
World Frame.
• Config — You should enter these motionparameters.e config and turns entries to properly
record the configurations on the locations:
o config_family cf_over_head_pos;
o joint_config_family j3 joint_cf_elbow_up;
o joint_config_family j5 joint_cf_pos;
o Cartesian — Download location as the XYZ values for the TCPF. However for locations
linked to robot poses, the Coord Type is forces to Pose.
• Speed
o Linear – uses linear motion with Cartesian position speed for for jog (via) or work (seam)
locations.
o Circular – uses circular motion with Cartesian orientation speed for work (seam) locations.
o 10–25 — medium
o 25–45 — course
o 45–100 — no-decel
• Torch — ESRC TCP frame definition. This is set only once for the continuous feature operation.
• Location type
o For via locations the Location type is set to Jog by default. By default, Jog locations have a
Non-Linear Motion Mode, a Velocity of 100%, and you can set the Passpoint (zone).
o For seam locations the Location type is set to Work by default. By default, Work locations
have a Linear Motion Mode, Velocity in cm/min must be set, and you cannot set the
Passpoint (except on the first location in a seam) since the default Passpoint is 0% (fine).
• Substation — This is set only once for the continuous feature operation. If it is not set, you
get an warning message during download.
• Library — This is set only once for the continuous feature operation. If it is not set, you get an
warning message during download. It is placed in the initialization section of the downloaded
program. It is the name of the library step program to be referenced by this step program. All
welding sequence calls, such as the WSC function, are taken from this library by the real robot
controller. If it is left blank, no library reference is used.
o C_DIS
■ 0 to 2 – like fine on default controller
o Cartesian — Download location as the XYZ values for the TCPF. However for locations
linked to robot poses, the Coord Type is forces to Joints.
• Accuracy (Zone)
o 1 (0 mm, 0 %) — similar to fine on the default controller. Downloaded as ACCU1.
o 8 (500 mm, 100 %) — similar to no nodecel on the default controller. Downloaded as ACCU8
• Speed
• Speed Type
o Joint Speed — Sets the unit for Speed to %.
NC motion attributes
• Interp (Motion type)
o G00 - PTP
o G01 - LIN
o G02/G03 - CIRC
■ G02 = CW circle
o G91 - INCR coordinates are be downloaded as offset from the precedent value
• Feed — Integer speed in feed rate unit mm per min (available only on linear locations) which
ranges from 1 to 150,000.
• Tool — ESRC TCP frame definitions must be created by user as Robot Toolbox work tools ( not
as robot frame) with the naming convention Tool1 for tool number 1, Tool2 for tool number 2 ...
Tool64 for tool number 64
• Origin — ESRC location reference frame definitions selected from defined origins
G292_1-G292_10 and default origin G53
• Smooth — it is like zone on the default controller and can range between -1 and 9. These
values are defined in the motionparameters.e file. For example, a smooth value of 6 is defined in
the file as zone z6.
o -1 — means to use the default smooth value of 4. The default smooth value can be changed
by the user changing the definition of the medium zone in the motionparameters.e file.
o 4 (z4) — uses a Cartesian speed of 40 and is like medium on the default controller.
o z7 has a Cartesian speed of 70 and is like course on the default controller, but it not mapped
to course when switching to the default controller.
o z9 has a Cartesian speed of 99.5 and is like no-decel on the default controller, but it not
mapped to no-decel when switching to the default controller.
All other zones are defined as z<smooth value> in the MotionParameters.e file of
the Panasonic robot component.
o zone_define z0 no_smooth;
• FlyBy (Zone)
o #OFF — like fine on default controller (for all motion types)
o #ON — like nodecel on default controller for #PTP motion type. For other motion types it
uses the closest distance Cartesian zone defined in the MotionParameters.e file.
zone_define fine no_smooth;
zone_define nodecel speed joints 99.0 99.0 99.0 99.0 99.0 99.0;
nodecel
• Speed types:
o PTP Speed — speed for joint motion in %.
o Cartesian — Download location as the XYZ values for the TCPF. However for locations
linked to robot poses, the Coord Type is forces to Joints.
All zones that can be used in the trajectories should be defined in the
MotionParameters.e file of the Staubli robot component with a special naming
convention: fine or z<Blend>l<Leave>r<reach>
For example:
fine: zone fine (Blend off)
zcl10r15: zone with Cartesian blend (flyby type), leave value of 10mm and reach
value of 15mm
zjl15r10: zone with Joint blend (flyby type), leave value of 15mm and reach value
of 10mm
Although the exact MotionParameters.e zone name are internally stored on the
location, in the Teach Pendant and Path Editor, zone information appears in Staubli
terms, for example:
zone_define fine no_smooth;
o CC — linear motion
o Int1: NoDecel
• Vel — Speed
o MoveL— use linear motion with an option blend. The default is no blend (fine).
• Blend — it is like zone on the default controller and can range between 0 and 1000. These
values are defined in the motionparameters.e file. For example, a blend value of 50 is defined in
the file as zone z50.
o 0 (z0) — uses no blend and is like fine on the default controller.
o z50 has a Cartesian speed of 50 and is like medium on the default controller.
o z500 has a Cartesian speed of 500 and is like course on the default controller, but it not
mapped to course when switching to the default controller.
o z1000 has a Cartesian speed of 1000 and is like no-decel on the default controller, but it not
mapped to no-decel when switching to the default controller.
All zones that can be used on the locations should be defined in the
MotionParameters.e file of the Denso robot component with a special naming:
o Cartesian Zones: For example:
■ zone_define fine no_smooth;
o MOVS — move s
• Destination Type
o ABS, P1, P2, P3, etc.
• Speed
Activities
In the Setting controller specific motion attributes section, do the following activities:
• ABB — Specific Teach Pendant motion attributes
Program creation
Purpose
Objectives
Business process
You create a program for the default controller earlier in this training. You know create a program for
the robot specific controller and used for other portions of this training.
Activities
Objectives
After you complete this chapter, you should be familiar with:
• Robot configurations
Business process
The configuration can also be viewed on the Teach Pendant or Path Editor.
After teaching a solution, the robot uses it during subsequent simulations and downloads.
2. Method 2: Add the path to the Sequence Editor or Path Editor, click Auto Teach , and then
run the simulation as usual
When running Auto Teach from the Sequence Editor, you must first select the
robot, choose Robotics→Set Robots for Auto Teach , and click OK.
2. Method 2: Select one or many locations, choose Robotics→Clear Teach Location , and
click OK. The Robotics→Clear Teach Location option clears turns and solutions, causing
simulations as well as downloads to use the locations' initial, pre-taught values
• Teach
o Configuration and turns
Activities
In the Process simulation and robot configurations section, do the following activities:
• Process Simulate and robot configurations
Summary
Subjects learned in this topic:
• Got an overview of OLP features.
• How to setup a basic robotic study that you can use to learn about ESRC.
• How to setup specific controller frames using the Teach Pendant and other specific setup.
• How to set specific controllers motion attributes using the teach pendant.
Purpose
Objectives
In this topic, you get an overview of program templates used to format downloaded files.
Objectives
Business process
1. Click the Robot Setup from the Controller tab of the Robot Properties dialog box.
2. From the Robot Setup dialog box, click Program Templates Edition.
1. Click the Robot Setup from the Controller tab of the Robot Properties dialog box.
2. From the Robot Setup dialog box, click Program Template Selection.
4. Click Close.
If no specific templates are selected, the defaults shipped with the software are used
during download.
Template locations
The download file templates are located in specific folders depending on the controller used:
• ABB
By default, located in C:\Program
Files\Tecnomatix\eMPower\Robotics\OLP\Abb-Rapid\Templates\
programs folder (unless the CustomizedPath is defined in the rrs.xml file).
o default.tprg — default template for a prog file (contains the main program)
o default.tmod— default template for a mod file (contains a module of the program)
• ABB (Volvo)
By default, located in C:\Program
Files\Tecnomatix\eMPower\Robotics\OLP\Abb-Rapid-Volvo\Templates\.
programs folder (unless the CustomizedPath is defined in the rrs.xml file) and is named either
*.tmod, default.tmod or default.tpl.
• Cloos
By default, located in C:\Program
Files\Tecnomatix\eMPower\Robotics\OLP\Cloos-Carola\Templates\
programs folder (unless the CustomizedPath is defined in the rrs.xml file).
• Comau
By default, located in C:\Program
Files\Tecnomatix\eMPower\Robotics\OLP\Comau-Pdl\Templates\
There are separate templates for C3G, C4G, and C5G versions of the controller. There
are also separate templates for applications such as glue, spot, stud.
o default.tolp — default template for a olp file (contains the tool, frame, and base definitions)
• Comau (Volvo)
By default, located in C:\Program
Files\Tecnomatix\eMPower\Robotics\OLP\Comau-Pdl-Volvo \Templates\
programs folder (unless the CustomizedPath is defined in the rrs.xml file) and is named either
*.proc, *.tolp, *.tpl, *.tpdl, *.tlsv, default.tpdl, or default.tlsv.
• Default
By default, located in C:\Program
Files\Tecnomatix\eMPower\Robotics\OLP\Default\Templates\
programs folder (unless the CustomizedPath is defined in the rrs.xml file).
o default.tpl — default template for a pl file (contains the program and locations)
• Denso
By default, located in C:\Program
Files\Tecnomatix\eMPower\Robotics\OLP\Denso-PacScript\Templates\
programs folder (unless the CustomizedPath is defined in the rrs.xml file).
o default.tolp — default template for a olp file (contains the tool definitions)
• Duerr
By default, located in C:\Program
Files\Tecnomatix\eMPower\Robotics\OLP\Duerr-Ecotalk\Templates\
programs folder (unless the CustomizedPath is defined in the rrs.xml file).
There are different templates for the RPC and RC2 versions of the controller.
o default.ttid — default template for a tid file (contains the locations and tool definitions)
• Epson
o default.tolp — default template for a olp file (contains the tool definitions)
• Fanuc
By default, located in C:\Program
Files\Tecnomatix\eMPower\Robotics\OLP\Fanuc-Rj\Templates\
programs folder (unless the CustomizedPath is defined in the rrs.xml file).
There are different templates for the applicatiosn such as arc and seal.
• IGM
By default, located in C:\Program
Files\Tecnomatix\eMPower\Robotics\OLP\Igm-Ins\Templates\
programs folder (unless the CustomizedPath is defined in the rrs.xml file).
o default.tipa — default template for a ipa file (contains the program and locations)
o default.tolp — default template for a olp file (contains the tool definitions)
• Kawasaki
By default, located in C:\Program
Files\Tecnomatix\eMPower\Robotics\OLP\Kawasaki-As\Templates\
programs folder (unless the CustomizedPath is defined in the rrs.xml file).
o default.tolp — default template for a olp file (contains the tool, ftool, and work definitions)
• Kuka
By default, located in C:\Program
Files\Tecnomatix\eMPower\Robotics\OLP\Kuka-Krc\Templates\
programs folder (unless the CustomizedPath is defined in the rrs.xml file).
o default.tolp — default template for a olp file (contains the tool, base, and load definitions)
• Kuka (Volvo)
By default, located in C:\Program Files\Tecnomatix\eMPower\Robotics\OLP\Kuka-Krc-Volvo
\Templates\
programs folder (unless the CustomizedPath is defined in the rrs.xml file) and is named either
default.tpl, default.tdat, or default.tsrc.
• Nachi
By default, located in C:\Program
Files\Tecnomatix\eMPower\Robotics\OLP\Nachi-Slim\Templates\
programs folder (unless the CustomizedPath is defined in the rrs.xml file).
o default.tolp — default template for a olp file (contains the tool definitions)
• NC Machining
By default, located in C:\Program
Files\Tecnomatix\eMPower\Robotics\OLP\NC-Code\Templates\
programs folder (unless the CustomizedPath is defined in the rrs.xml file).
o default.tolp — default template for a olp file (contains the tools used)
• NC Riveting
By default, located in C:\Program
Files\Tecnomatix\eMPower\Robotics\OLP\NC-Code-Riveting\Templates\
programs folder (unless the CustomizedPath is defined in the rrs.xml file).
o default.tpro — default template for a pro file (contains the program with a different header)
o default.tolp — default template for a olp file (contains the tools used)
• Panasonic
By default, located in C:\Program
Files\Tecnomatix\eMPower\Robotics\OLP\APanasonic-Csr\Templates\
programs folder (unless the CustomizedPath is defined in the rrs.xml file).
o default.tolp — default template for a olp file (contains the tool definitions)
• Reis
o default.tolp — default template for a olp file (contains the tool definitions)
• Staubli
By default, located in C:\Program
Files\Tecnomatix\eMPower\Robotics\OLP\Staubli-Val\Templates\
programs folder (unless the CustomizedPath is defined in the rrs.xml file).
o default.tolp — default template for a olp file (contains the tool definitions)
• Trallfa (ABB)
By default, located in C:\Program
Files\Tecnomatix\eMPower\Robotics\OLP\Trallfa-Robtalk\Templates\
programs folder (unless the CustomizedPath is defined in the rrs.xml file).
• Universal
– By default, located in C:\Program
Files\Tecnomatix\eMPower\Robotics\OLP\Universal-URScript\Templates\
programs folder (unless the CustomizedPath is defined in the rrs.xml file).
o default.tolp — default template for a olp file (contains the tool definitions)
• Yaskawa
By default, located in C:\Program
Files\Tecnomatix\eMPower\Robotics\OLP\Yaskawa-Inform\Templates\
programs folder (unless the CustomizedPath is defined in the rrs.xml file).
o default.tjbi — default template for a jbi file (contains the main program)
Template keywords
The sample templates shipped with the controllers are a reference for the available keywords. Some
keywords are common to all controllers (for example <RobotName>), some are specific to the
controller (these ones should be in the sample templates). Here are the common keywords:
• Body
• Data
• Date
• FileBaseName
• ProgName
• Study
• TecnomatixSoftware
• TecnomatixControllerVersion
• Time
• RobotName
• UserName
• GundataTitle
• Gundata
• SpotdataTime
• Spotdata
• SpeeddataTitle
• Speeddata
• ZonedataTitle
• Zonedata
• TooldataTitle
• Tooldata
• LoaddataTitle
• Loaddata
• WobjdataTitle
• Wobjdata
• BeaddataTitle
• Beaddata
• WelddataTitle
• Welddata
• WeavedataTitle
• Weavedata
• CustomdataTitle
• Customdata
• MainBlockBody
• MoveBlockBody
• Robtarget
• JointTarget
• DataVar
• SchedulerCalls
• JointPosition
• CartPosition
• AllAxesNumber
• ExtAxesNumber
• JointMask
• ToolNumbers
• ToolNumbersRmt
• FrameNumbers
• FrameNumbersRmt
• ImplPayLoadMass
• ImplPayLoadCenter
• ImplinertiaX
• ImplinertiaY
• ImplinertiaZ
• ImplPayLoadMassRmt
• ImplPayLoadCenterRmt
• ImplinertiaXRmt
• ImplinertiaYRmt
• ImplinertiaZRmt
• AccelerationData
• InterpolationData
• OverlapDclData
• GTriggerParData
• RampDclData
• JerkDclData
• BaseData
• ToolData
• ObjectData
• PointData
• TriggerPointData
• TriggerFrameData
• FirstExtAxis
• JointsNumber
• Points
• PointsNumber
• SecondExtAxis
• ThirdExtAxis
• Tools
• DefaultGroup
• ControlCode
• GunNumber
• MainBlockBody
• PosBlockBody
• WorkObjects
• Tool
• FTool
• Work
• Load
• E6Pos
• E6Axis
• BaseData
• MovingBaseData
• ToolData
• LoadData
• StationaryToolDefinitions
• Origins
• FileName
• ProgramNumber
• UserFrames
• ToolDefinitions
• toolSection
• frameSection
• mdescSection
• jointSection
• jointSection
• programsSection
• databaseSection
• Tcp
• Coords
• ProgComment
• Attr
• Group
• Main
Activities
In the Program templates for downloading section, do the following activities:
• Creating a new program template
Process download
Purpose
In this topic, you learn how to download a program.
Objectives
After you complete this topic, you should be able to:
• Perform a basic download.
Business process
Download basics
To download a program, you must have ESRC robot configurations and minimum motion
attributes on each location in the path (program). This is what was done in the previous
activities in the training. To download to an RRS-based controller, you also need to
connect to the RCS.
Any process created in a Process Simulate application can be transformed into a robot program by
downloading it to a text file (robot program) in the robot controller’s language. The robot programs
include:
• Custom file layouts and content from templates
• Header
• Other statements that are part of the ESRC or added through XML customization
Thus, the work put into process design is automatically reflected in fully-verified robot programs. The
generated programs may be further edited if desired, and then downloaded to the actual robots on
the factory floor.
To download:
1. Set the robot specific robot controller for the path. (Done in a previous activity in this training).
2. Setup robot specific required TCP frames, reference frames, and base frames. (Done in a
previous activity in this training).
3. With the robot specific robot controller set, open the Teach Pendant or Path Editor.
4. Make sure that you have specified the required attributes such as TCP frame, motion type, and
zone on the locations. (Done in a previous activity in this training).
5. From the ribbon, choose Robot tab→Program group→ Robotic Program Inventory .
6. From the Robotic Program Inventory, create a robot program and set it as the default program for
the robot. (Done in a previous activity in this training).
7. With the robot specific robot controller set, auto teach all locations to store the robot configurations
(solutions) on the locations. (Done in previous activities in this training)
8. From the Robotic Program Inventory, and select the program from the list.
9. Start the download: From the Robot Program Inventory click Download Program
10. Check the contents in the Download dialog box and store results.
Your Download dialog box may look different than this graphic, depending on the robot language
you use.
ABB Controller
Cloos Controller
• <prog>.txt contains the program (including the definition of the arc data lists, main procedure,
and local procedures). Main and local procedures are modeled as robotic operationsIf you
download only one robotic operation, only a main procedure is generated. If you download a
robotic program, the operation named main (not case sensitive) becomes the main procedure,
and all others are local procedures.
• <prog>.pkt contains the coordinates and assigned number for each location. Cloos robots use
same RPY angles as Process Simulate. During download and upload only encoder coordinates
are supported.
Comau Controller
• <prog>.lsv
Default Controller
Duerr Controller
Epson Controller
• <prog>.prg contains the program, and paths, divided into several “function” section. Robotic
operations with locations are represent “functions with motion instructions. Scheduler robotic
operations are used to represent “functions without motion instructions.
Fanuc Controller
IGM Controller
Kawasaki Controller
• <prog>.olp contains (in .AUX syntax) the current definitions of the TOOL, FTOOL and WORK
used in the program.
Kuka Controller
• <prog>.dat
Nachi Controller
• <progName>-A.(progNumber) contains the program structure
• < progName>-P.(progNumber) optional file contains the positions defined as “Storage type” =
“Pose File”
• <progName>.(progNumber).olp contains the definition of the tool and stationary tool used.
NC Maching Controller
• <progName>.si contains the program.
NC Riveting Controller
• <progName>.A(progNumber) contains the program.
Reis Controller
• <prog>.src contains the program.
• <prog>.olp contains the definition of the tools and UFiles used in the program.
Staubli Controller
• <prog>.pjx contains the program in XML format
• <prog>.pgx and <prog>.dtx contains the path in XML format. Each downloaded operation
produces separate .pgx and .dtx files.
Trallfa Controller
• <prog>.rt3 contains the program structure
• <prog>.off
• <prog>.olp contains the definition of the used TCP and DISP BASE
Yaskawa Controller
• <prog>.jbi contains the main program
Activities
In the Process Download section, do the following activities:
• Process Download
Objectives
After you complete this topic, you should be able to:
• Look at the contents of some files downloaded from the system.
ABB Controller
• <prog>.prg contains the main program
Cloos Controller
• <prog>.txt contains the program (including the definition of the arc data lists, main procedure,
and local procedures). Main and local procedures are modeled as robotic operationsIf you
download only one robotic operation, only a main procedure is generated. If you download a
robotic program, the operation named main (not case sensitive) becomes the main procedure,
and all others are local procedures.
• <prog>.pkt contains the coordinates and assigned number for each location. Cloos robots use
same RPY angles as Process Simulate. During download and upload only encoder coordinates
are supported.
Comau Controller
• <prog>.pdl contains the program
• <prog>.lsv
Default Controller
• <prog>.pl contains the program
Duerr Controller
• <prog>.tis contains the program
Epson Controller
• <prog>.prg contains the program, and paths, divided into several “function” section. Robotic
operations with locations are represent “functions with motion instructions. Scheduler robotic
operations are used to represent “functions without motion instructions.
Fanuc Controller
• <prog>.ls contains the program
IGM Controller
• <prog>.ipa contains the program (including the definitions of all locations)
Kawasaki Controller
• <prog>.prg contains the program
• <prog>.olp contains (in .AUX syntax) the current definitions of the TOOL, FTOOL and WORK
used in the program.
Kuka Controller
• <prog>.src contains the program
• <prog>.dat
Nachi Controller
• <progName>-A.(progNumber) contains the program structure
• < progName>-P.(progNumber) optional file contains the positions defined as “Storage type” =
“Pose File”
• <progName>.(progNumber).olp contains the definition of the tool and stationary tool used.
NC Maching Controller
• <progName>.si contains the program.
NC Riveting Controller
• <progName>.A(progNumber) contains the program.
Reis Controller
• <prog>.src contains the program.
• <prog>.olp contains the definition of the tools and UFiles used in the program.
Staubli Controller
• <prog>.pjx contains the program in XML format
• <prog>.pgx and <prog>.dtx contains the path in XML format. Each downloaded operation
produces separate .pgx and .dtx files.
Trallfa Controller
• <prog>.rt3 contains the program structure
• <prog>.off
• <prog>.olp contains the definition of the used TCP and DISP BASE
Yaskawa Controller
• <prog>.jbi contains the main program
Activities
In the Examining output files section, do the following activities:
• ABB — Examining a PRG file
• NC — Examining a SI file
Objectives
After you complete this topic, you should be able to:
• Upload a real robotic path into this system.
Upload basics
The Upload Program command receives information from a robot (in specific controller syntax)
and saves it as robotic operation and/or program.
Here is how (NOT an activity):
1. Select a robot from the Graphic Viewer.
2. From the ribbon, choose Robot tab→Program group→ Robotic Program Inventory .
This picture shows the file types for Fanuc-Rj. The file types shown depend on the
controller chosen.
4. In the Open dialog box, browse to the desired folder and select the desired file.
The available Files of type are specific to the chosen robot controller.
5. Click Open.
For each file, Process Simulate runs the upload mechanism to read the file and create
a robotic operation and/or robotic program.
The Robotic Operation Merge command, on the Robot tab of the ribbon, is used to merge
two robotic operations into a single operation. After merging the source operation with the target
operation, the updated target operation contains the new set of information.
This is useful if, for example, you have used Download Program to load your program on a
shop-floor robot. You can then edit and fine-tune the program on the robot itself and use Upload
Program to store the updated program back to Process Simulate. In order to make use of
your shop-floor improvements, you can merge the changes in the shop-floor program (the source)
into your original program (the target).
The Robotic Operation Merge dialog box enables you to manually select which source locations
to merge with which target locations. Alternatively, you can perform an automatic merge of the
entire source operation with the target operation. The automatic merge may be performed either by
merging source and target locations sharing the same name or merging locations in close proximity.
You can also edit the order of locations in the target operation. Additionally, you can specify which
source data to merge with the target.
2. Click in Target operation and select the target operation in the Operation Tree (or other relevant
viewer). This is the operation you wish to update with information from another operation.
3. Click in Source operation and select the source operation in the Operation Tree. This is the
operation from which you wish to retrieve information.
4. Click OK. The Robotic Operation Merge dialog box appears displaying the Target Operation
as a tree together with its locations in blue text in the left pane and the Source Operation tree
together with its locations in red text in the right pane.
5. Click Select Operations to replace the selected operations with a different source and
target operation.
6. Configure either manual or automatic matching, as follows: If you wish to match locations
manually, select a source location and a target location and click Match .
7. If you wish to match source operations with target operations automatically, click Automatic
Match . The system matches up pairs of locations either by name or by distance (depending
on the criteria set in Robotic Operation Merge Settings ) and displays them as matched
pairs.
If you set manual matches before invoking automatic match, the system retains your
manual matches and matches all the other locations automatically.
8. If necessary, click Erase Match to unmatch selected matched pairs. For each matched pair,
the source location is removed from Match, the distance from Distance, Merge is cleared, and is
removed from the source location (unless this is still matched with another target location).
9. Click Execute. The system performs the merge and the Robotic Operation Merge dialog box
reloads the target operation.
Summary
Subjects learned in this topic:
• How to select and create program templates for downloading.
Purpose
To describe how to use the OLP commands section of the emulated robot specific controllers (ESRC).
Objectives
• Various commands supported in simulation on all controllers which must be entered as free text.
• The list of the supported OLP commands for several of the robot controllers.
Objectives
After you complete this topic, you should be able to:
• Be aware of Basic OLP commands and be able to use some of them.
Business process
• Analog output signals could have a value such as 5 or 1.4 (different syntax for each controller
described later)
• Macros
• Other commands
o payload
o pause, abort
o register assignment
o call, if call
Several examples of OLP commands were discussed in the TR45115 Process Simulate
Standalone Basic Robotic Simulation and TR45215 Process Simulate Standalone
Intermediate Robotics (CEE) courses.
Standard commands not mentioned here are described later in this course.
• File submenu:
o # OpenFile — Opens a file for editing. The Mode setting enables you to Append or
Overwrite file content. Also, set a Handle to be used in the next WriteLine and CloseFile
commands and a Name for the path to the file to be opened.
o # CloseFile — Closes an open file. Set the Handle of the file that was opened with the
OpenFile command.
o # WriteLine — Enables you to write a line of text in an open file. Set the Handle of the file
that was opened with the OpenFile command and write the text in the Expression box. Use
double quotes to print the value of a variable or a signal, for example, type "E1" to write the
value of signal E1.
• Graphics submenu:
o # TCP Tracker — Enables you to start, pause, resume, or stop the TCP Tracker for the
robot assigned to the current operation during simulation.
• Paint submenu: (Review from the TR45115 Process Simulate Standalone Basic Robotic
Simulation course)
o # ChangeBrush — Marks the location where the painting style should be changed
(for example paint fan 1, 2, 3, etc.)
• PartHandling submenu:
o # Grip — moves the gripper to the specified pose and attaches the part to it. This OLP
command is automatically added to grip locations in Pick and Place Operations and is
preferable to the Attach command for part handling. (Review from the TR45215 Process
Simulate Standalone Intermediate Robotics (CEE) course).
o # Release — moves the gripper to the specified pose and detaches the part from it. This OLP
command is automatically added to release locations in Pick and Place Operations and is
preferable to the Detach command for part handling. (Review from the TR45215 Process
Simulate Standalone Intermediate Robotics (CEE) course).
• ProgramFlow submenu:
o # Macro — executes the specified macro located in the <robot controller>.macros file
located in the Macros folder defined in File→Options . The file can contain any OLP
command for the selected robot controller. (Review from the TR45215 Process Simulate
Standalone Intermediate Robotics (CEE) course).
o # CallPath — in the middle of executing a path (for example pa1), another path (for example
pa2) can be executed. Once pa2 is finished, it selects up where it left off in pa1. (Review
from the TR45215 Process Simulate Standalone Intermediate Robotics (CEE) course).
• RobotCycleTime submenu:
o # TimerOn — Define when a user defined timer should start track time associated to a
certain part of the simulation. Each timer includes a user-defined name.
Internal (built-in) timers include motion to location time, wait device time, weld time,
weld count, wait time, and wait signal time.
o # TimerOff — Define when a certain timer should be stopped during a specific cycle.
• Synchronization submenu:
o # SendSignal — In line simulation mode, the robot sends a robot signal to the PLC (PLC
input). (Review from the TR45115 and TR45215 courses).
Both boolean and analog signals are supported. Any integer value can be assigned
to a signal. In event-based simulations the Destination is always left blank.
o # SetSignal — Enables you to compose an expression for the value of the selected robot
output signal.
o # WaitSignal — In line simulation mode, the robot waits for a robot signal from the PLC (PLC
output). (Review from the TR45115 and TR45215 courses)
o # WaitTime — The robot waits the specified number of seconds before the next command is
performed.
• ToolHanding submenu:
o # Connect — (add an external axis to the robot during simulation) connect the specified joint
from the specified device as an external axis of the robot. For example, when simulating a
grinding robot with a tool changer with several sized grinding tools.
o # Disconnect — (remove an external axis of the robot during simulation) disconnect all
external axis joints of the specified device from the robot. For example, when simulating a
grinding robot with a tool changer with several sized grinding tools.
o # DriveDevice — Moves the selected device to the selected target pose. (Review from
the TR42115 course)
o # GunToState — Instructions for moving the gun to its specified pose, as specified in the
Gun State parameter. TR45115 Process Simulate Standalone Basic Robotic Simulation and
TR45215 Process Simulate Standalone Intermediate Robotics (CEE) courses
In the case of a servo gun, this moves the servo gun to the position specified by
the external axis depart value. If no depart value is defined, the servo gun moves
using the Gun State parameter.
o # Mount — Mount a new tool on the robot. For example, when simulating a grinding
robot with a tool changer with several sized grinding tools.
o # UnMount — Unmount the existing tool on the robot. For example, when simulating a
grinding robot with a tool changer with several sized grinding tools.
o # WaitDevice — The robot waits until the selected device reaches the selected target pose.
(Review from the TR42115 course). (Review from the TR45115 course).
o # Drive Device Joints — Move the selected joint(s) of the selected kinematic device to
the specified joint value(s).
Activities
In the Standard OLP commands section, do the following activities:
• Looking at and using a basic OLP command
In this topic, you learn how to enter standard commands as free text in the OLP commands section
of the controller teach pendant.
Objectives
Business process
• # CallToolPath <opName> <toolName> - Calls the specified operation while verifying that the
assigned tool on this operation is the specified tool.
• # Note <message> - Displays the message in the Process Simulate error window after the
simulation is stopped including the location where it was executed. Use double quotes to
evaluate variables and signals
The information referenced here is for the default controller. Each robot controller supports
these conditions and may support additional options as well. For example the Fanuc
controller Process Simulate also supports Jump to label abilities.
Basic syntax
The following basic syntax is supported in the condition commands:
• Logic operators: AND, OR, NOT (case sensitive)
• Parentheses
• False
• Arithmetic operators: +, - , *, /
Most controllers support the IF statement natively, but each controller has its own syntax
for it that is described later in this training.
• # If <condition> Then
• # Else
• # Endif
• For example:
o # If (a + b) > c Then
o # callPath pa1
o # Elsif a OR b Then
o # callPath pa2
o # Else
o # callPath pa3
o # Endif
Switch syntax
The #Switch command enables you to make easier and clearer choices when presented with several
possibilities. This way you do not have to use lengthy if-then-elseif chains.
• # Switch <expression>
• # Default
• # Endswitch
• For example:
o # Switch (a+b)
o # Case 1
o # callPath pa1
o # Case 2, 3
o # callPath pa2
o # Default
o # callPath pa3
o # Endswitch
• # Endfor
• For example:
o # For j From 1 To 10 Step 2 Do
o # callPath pa1
o # callPath pa2
o # Endfor
• # While <expression> Do
• # Endwhile
• For example:
o # While a < 100 Do
o # callPath pa1
o # Endwhile
Activities
In the Free text standard commands section, do the following activities:
• Entering basic OLP commands as free text
• A PLC input signal is connected to a robot output such as a digital output (DO).
• In Process Simulate, you enter the signals from the perspective of the PLC, so the robot waits for
output signals (DI) and sends input signals (DO).
Objectives
After you complete this lesson, you should be able to:
• Creating robot signals for specific robot controllers.
Business process
As always:
Robotic output signals are represented as PLC input signals.
Robotic input signals are represented as PLC output signals.
• Byte
• Word
If the signal name is used in the command (and not the signal number), it is used as
is without being mapped.
In Process Simulate, signal numbers are mapped to signal name names like this:
• Boolean input signals are mapped to INB[<SignalNumber>]. For example INB[1] for signal 1.
• Boolean output signals are mapped to OUTB[<SignalNumber>]. For example OUTB[1] for
signal 1.
• Byte input signals are mapped to IN[<SignalNumber>]. For example IN[1] for signal 1.
• Byte output signals are mapped to OUT[<SignalNumber>]. For example OUT[1] for signal 1.
• Word input signals are mapped to INW[<SignalNumber>]. For example INW[1] for signal 1.
• Word output signals are mapped to OUTW[<SignalNumber>]. For example OUTW[1] for signal 1.
o GI
o GO
o RDI
o SDI
o UI
o RDO
o SDO
o UO
WX signals can only be negative if the robot setup Send type is set to Keeping
(default).
• OX (output signal) 2 or –2 is modeled as robot output signal out2 (PLC input signal)
• Each Step — set OX signals mentioned in the step to ON, and all other signals to OFF. Only
positive values are allowed.
Send timing
• At Motion Start — send OX signals before moving to the location (default) (PREOUT is set to ON)
• At Target Reached — send OX signals when the location is reached (PREOUT is set to OFF)
On the Panasonic controller, a signal can be referenced by its name, number, or both.
However, in Process Simulate, you must reference the signal by either its name, such as
o1#MySignal, or its number, such as o1#7. In the examples in this training, you reference
the signals by number.
Activities
In the Defining robot specific signals section, do the following activities:
• Defining robot specific signals
In this lesson, you learn to send/wait for signals using robot specific (downloadable) terms.
Objectives
Business process
These commands must be entered as free text or using a custom XML (described later
in this course).
• SetDO (with optional delay) use like SendSignal on the default controller. Changes the value of a
digital output signal. For example SetDO do15, 1;
• Set use like SendSignal on the default controller. Set a digital output signal. For example Set
gripper;
• Reset use like SendSignal on the default controller. Resets a digital output signal to zero. For
example Reset do15;
• SetAO / SetGO use like SendSignal on the default controller. Changes the value of an analog
output signal or a group signal. For example SetAO ao2, 5.5;
• WaitDI (with optional \MaxTime and \TimeFlag options) use like WaitSignal on the default
controller. Waits until a digital input signal is set. For example WaitDI di4, 1;
These commands must be entered as free text or using a custom XML (described later
in this course).
These commands must be entered as free text or using a custom XML (described later
in this course).
• $DOUT[n] := <boolean expression> — digital output (as well as $SDOUT — system digital output
and $FDOUT — functional digital output), works like SendSignal
For example $DOUT[17] := TRUE
These commands must be entered as free text or using a custom XML (described later
in this course).
• <signal name> = <expression> — Set a signal to a value. For example, to set MySignal to
true or false:
o MySignal = 1
o MySignal = 0
• SET <signal>, <time>, <mode> — Set a Boolean robot signal to true. For example:
o To set MySignal to true:
Set MySignal
• WAIT <signal expression> — Wait for an expression to become true. For example
o To wait until MySignal is true:
Wait MySignal = ON
These commands must be entered as free text or using a custom XML (described later
in this course).
These commands must be entered as free text or using a custom XML (described later
in this course).
• On
o On <BoolOutSignalNb> sets an output signal to 1. For example On 9
• Off
• Oport
o Oport(<BoolOutSignalNb>) returns output signal value. For example a = Oport(5)
• Sw
o Sw(<BoolInSignalNb>) returns input signal value. For example If Sw(5) Then Exit EndIf
• In
o In(<ByteInSignalNb>) returns input byte signal value. For example var1 = In(2)
• InW
o InW(<WordInSignalNb>) returns input word signal value. For example wordN = InW(8)
• Out
o Out(<ByteOutSignalNb>) returns output byte signal value. For example Print Out(0)
o Out <ByteOutSignalNb>, <SignalVal> sets output byte signal value. For example Out(3),
In(2)
• OutW
o OutW(<WordOutSignalNb>) returns output word signal value. For example If OutW(3) =
InW(5) Or InW(6) Then a=a+1 EndIf
o OutW <WordOutSignalNb >, <SignalVal> sets output word signal value. For example
OutW(3), InW(5)
• Wait
o Wait <Time> waits for the time in seconds. For example Wait 5
o Wait <Condition> wait for the condition to equal True. For example Wait Sw(5) = On
o Wait <Condition>, <Time> wait for the condition to equal True and the time in seconds.
For example Wait InW(4) > 8, 10
These commands must be entered as free text or using a custom XML (described later
in this course).
• <Boolean output signal>[<num> or <register>] = PULSE, <duration> sec — Pulse signals with
explicit duration
These commands must be entered as free text or using a custom XML (described later
in this course).
• DOUT
• AOUT
• WAIT
• PULSE
o Set three signal values: BITS 23, 3 = 0 is mapped to SendSignal out23,0 and SendSignal
out24, 0 and SendSignal out25,0 on the default controller.
• SWAIT <sig1>, <sig2>,… Suspends program execution until the specified condition is set. For
example:
o SWAIT 1 is mapped to Wait Signal in1 == TRUE on the default controller.
o SWAIT 2, 3 is mapped to Wait Signal (in2 == TRUE AND in3 == TRUE) on the default
controller.
o SWAIT 1,-4,-4is mapped to Wait Signal (in1 == TRUE AND in4 == FALSE AND in5 ==
FALSE) on the default controller.
• SIGNAL <sig1>, <sig2> Turns on/off external output signals (OX). For example:
o SIGNAL 1,-2 is mapped to SendSignal out1,1 and SendSignal ou2,0 on the default controller.
These commands must be entered as free text or using a custom XML (described later
in this course).
• WAIT FOR (NOT) ((expr) <AND|OR...> (Expr) ... ) (CONT), as WaitSignal $IN[<Num>] or
$OUT[<Num>]
o Expr in Krl = WAIT FOR (NOT) $<IN|OUT|CYCFLAG|TIMER|FLAG>[<Num>]
For example: WAIT FOR ( $IN[1] and $IN [2] )
o For example : PULSE 3 State = TRUE Time = 0.1 sec 'signal 3'
o is simulated as Pulse Signal OUT 3 (set to value 1, then set to value 0 after 0.1 sec)
KRL commands
• WAIT FOR <Signal> == TRUE/FALSE, used like WaitSignal from the default controller
• (SET) <Signal> = <expression>, used like SendSignal from the default controller (only if <Signal>
is defined as a robot output signal)
• (SET) <Signal> = <expression>, used like SendSignal from the default controller (only if <Signal>
is defined as a robot output signal)
These commands must be entered as free text or using a custom XML (described later
in this course).
Sending Signals
• SET - Output signal ON (FN32)
o For example: SET[O12]
Waiting Signals
• WAIT - Input signal wait with timer (FN552)
o For example: WAIT [I7, 3.0, 7]
• WAITA(D)
o For example: WAITA[Group2, &B00000101, 60.0, 10] - Wait group input (AND) with timer
(FN553)
o For example: WAITAD[Group2, 63, 60.0, 10] - Wait group input BCD (AND) with timer
(FN558)
• WAITO(D)
o For example: WAITO[Group2, &B00000101, 60.0, 10] - Wait group input (OR) with timer
(FN554)
o For example: WAITOD[Group2, 63, 60.0, 10] - Wait group input BCD (OR) with timer (FN559)
• WAITE(D)
o For example: WAITE[Group2, &B00000101, 60.0, 10] - Wait group input with timer (FN555)
o For example: WAITED[Group2, 63, 60.0, 10] - Wait group input BCD with timer (FN558)
o 1 or 0 for on or off
• WAITI I54
These commands must be entered as free text or using a custom XML (described later
in this course).
• OUT or OUT2, <output signal>, <value> — Set a robot signal to a value. For example
o OUT, o1#4, 1
• PULSE <output Boolean signal>, <time>— Set a robot signal to a value for a specified amount
of time. For example
o PULSE, o1#4, 10
• WAIT_IP <input signal>, <value>, <time out> — Wait for a robot signal to acquire a value within
specified amount of time. For example
o wait for i1#5 to become true
WAIT_IP, i1#5, 1
These commands must be entered as free text or using a custom XML (described later
in this course).
• WAIT_BIT
o For example: WAIT_BIT #MARKER,Level:1,Byte:17043,Bit_No:7,Max_Time[s]:2.00,Label:" "
These commands must be entered as free text or using a custom XML (described later
in this course).
These commands must be entered as free text or using a custom XML (described later
in this course).
• get_standard_digital_in(<num>) — get the value of a Boolean robot signal. For example, for
DI[5]:
o get_standard_digital_in(5)
• get_tool_digital_in(<num>) — get the value of a Boolean robot signal. For example, for TI[5]:
o get_tool_digital_in(5)
• get_tool_digital_out(<num>) — get the value of a Boolean robot signal. For example, for TO[5]:
o get_tool_digital_out(5)
• get_standard_analog_in(<num>) — get the value of a Boolean robot signal. For example, for
AI[5]:
o get_standard_analog_in(5)
Although the sync() instruction is not simulated in Process Simulate: you can add it to a location and
it is ignored. On the Universal controller, sync() uses up the remaining physical time a thread has
in the current frame.
These commands must be entered as free text or using a custom XML (described later
in this course).
• AOUT
• WAIT
• PULSE
Activities
In the Sending and Waiting for Robotic Specific Signals section, do the following activities:
• Adding Digital Input and Digital Output OLP Commands to Locations
Objectives
After you complete this topic, you should be able to:
• Convert something designed for the default controller for a robot specific controller.
• Describe more commands that are supported for the various controllers.
• Know some additional robot controller specific OLP commands for each controller
Business process
• # EndIf
• # EndIf
• # CycleEnd
Although this logic works in Process Simulate simulations with any controller selected, all # OLP
commands are download as either comments or not placed in the downloaded file at all.
Making the logic downloadable
Use what you have learned about robot specific signal naming, change the robot signal so that it
is compatible with your selected robot controller. For example for some controllers, selectStyle1
is not a valid signal name.
If you are not sure of what is acceptable for the naming of a robot path, it should be 8 or less
characters and not contain spaces or special characters. So ROBOT R1 WELD (STYLE 1) is
probably not the best choice if you want to download it.
Use the descriptions in the following pages to replace the # default controller commands with robotic
specific commands for commands to be downloaded. For example #IF, #CalPath, and #EndIf.
In some cases the # default commands do not have a robot specific equivalent, since they Process
Simulate simulation specific. For example #CycleStart and #CycleEnd. (These commands are used to
create an Excel simulation report).
See the reworked examples later in this lesson for farther explanation.
• GridLoad
AbbRapid Specifics:
• Baseware,Spotware, and Dispenseware are supported
■ Move the robot with an offset expressed in location object frame coordinates system.
■ The offset is relative to: RefLoc if the optional <RefLoc> parameter is specified (RefLoc
should be the name of a location inside the current robotic operation), otherwise to the
current location, or (if defined at operation level), to the current robot TCPF
■ The optional rotational part of the offset are rotation angles in degrees expressed in
location object frame coordinate system (rotations are performed one after the other in
the rotating frame)
■ The current location motion type, speed, zone are used to move to the offset position
o # MoveJRelBase [<RefLoc>] <X> <Y> <Z> [<RX> <RY> <RZ>] — Same as # MoveRelBase,
except that motion type to the offset position is forced to Joint
o # MoveLRelBase [<RefLoc>] <X> <Y> <Z> [<RX> <RY> <RZ>] — Same as # MoveRelBase,
except that motion type to the offset position is forced to Linear
■ Move the robot with an offset expressed in location self coordinates system.
■ The offset is relative to: RefLoc if the optional <RefLoc> parameter is specified (RefLoc
should be the name of a location inside the current robotic operation), otherwise, to the
current location, or (if defined at operation level), to the current robot TCPF.
■ The optional rotational part of the offset are rotation angles in degrees expressed in
reference location self coordinate system (rotations are performed one after the other in
the rotating frame)
■ The current location motion type, speed, zone are used to move to the offset position.
o # MoveJRelTool [<RefLoc>] <X> <Y> <Z> [<RX> <RY> <RZ>] — Same as # MoveRelTool,
except that motion type to the offset position is forced toJoint
o # MoveLRelTool [<RefLoc>] <X> <Y> <Z> [<RX> <RY> <RZ>] — Same as # MoveRelTool,
except that motion type to the offset position is forced to linear.
Motion Parameters: By default, the current modal motion parameters (speed, zone, tool,
etc.) is used. It is also possible to define explicit motion parameters with following syntax:
# MoveRelBase <X> <Y> <Z> [Speed Data = v500] [Zone Data = z100]. These explicit
motion parameters is inherited on any subsequent relative motions
These commands must be entered as free text or using a custom XML (described later
in this course).
• WaitUntil (with optional \MaxTime and \TimeFlag options) use like WaitSignal on the default
controller. Waits until a condition is met. For example WaitUntil di4 = 1;
• WaitTime use like Delay on the default controller. Waits a given amount of time. For example
WaitTime 0.3;
• WaitWobj (with optional RelDist), both on tracking and non-tracking locations. Wait for a work
object on a conveyor. For example WaitWObj wobj_on_conv1;
• UseBrushTab as storing the current active Brush Table for further use in Change Brush trigger
simulation
• SetBrush as opening or closing the paint gun depending on the brush number and the current
active Brush Table
• ConfJ (configuration joint) / ConfL (configuration linear) — Specify whether the robot’s
configuration is to be controlled during joint or linear motion. If not, the robot can sometimes use
a different configuration than programmed. For example ConfJ \Off; or ConfJ \ On;
• Singarea — Defines interpolation around singularities. For example Sing \Wrist; (avoid
singularity) or SingArea \Off; (stop at singularity)
• GripLoad — Defines the payload for a robot. For example GripLoad piece1;
• Assign a value (<var> := <constant or expression>;) For example: reg1 := 5; or regt := reg2 —
reg3;
• IF <condition>THEN ... ELSEIF <condition> THEN ... ELSE ... ENDIF — If the condition is met
then perform some instructions. For example, IF reg1 > 5 THEN Set do1; ENDIF
• IF <FuntionCall> THEN ... ELSEIF <condition> THEN ... ELSE ... ENDIF
• WHILE <condition> DO ... ENDWHILE — Repeats the instructions as long as the condition is
true. For example WHILE reg1 < reg2 DO reg1 := reg1 + 1; ENDWHILE
• FOR <var> FROM <start> TO <end> [STEP <step>] DO ... ENDFOR — Repeats a given number
of times. For example FOR j FROM 1 TO 10 DO routine1; ENDFOR
• TEST <var> ... CASE <val1>,<val2>: ... DEFAULT: ... ENDTEST — depending on the value of
an expression, do something. For example TEST reg1 CASE 1,2,3: function1; ENDTEST
• RETURN <expression> — If the routine is a function, then the function value is also returned.
For example Return value1;
• EXIT / STOP use to terminate or stop the program execution. For example EXIT; or Stop;
• GOTO <label> — Jump to someone in the program. For example GOTO sub1;
• All commands supported in RRS simulation (see above) are also simulated in a MOP simulation,
except:
o ConfJ/ConfL
o SingArea
o GripLoad
o ActUnit/DeActUnit
o SpeedData→Cartesian Speed:
■ ...use SpeedData.VTcp
o ZoneData→ Zone:
■ ZoneData.FinePoint = true : fine
• Call r1pounce;
• Call r1style1;
• EndIf
• Call r1style1;
• EndIf
• # CycleEnd
In this example, the robot paths and robot signals need to be renamed in the study to match what
is shown in these OLP commands.
These commands must be entered as free text or using a custom XML (described later
in this course).
o IF IN(1)
BEGIN
SET(12)
RESET(13)
END
ELSE
BEGIN
SET(13)
RESET(12)
END
These commands must be entered as free text or using a custom XML (described later
in this course).
o Special case for following recognized variables (handled as modal motion parameters
modification)
■ $ARM_ACC_OVR — arm acceleration override
• Other system variable assignments are sent as is to the RCS via RcsModifyRcsData
• <var> := <FunctionCall>
• WAIT FOR <signal expression> OR ($TIMER[i] > <val>) (as well >= <val>), use it like a wait for
signal with a time out (time out equal to val - current timer memorized value)
MOVE TO feeder
ELSE
MOVE TO discard
ENDIF
couter := counter +1
ENDWHILE
couter := counter +1
couter := counter +1
ENDFOR
• SELECT (<var>) OF ... CASE (<val1>, <val2>) : ... ELSE: ... ENDSELECT
For example:
SELECT tool_type OF
CASE (1):
$TOOL := utool_weld
style_weld
CASE (2):
$TOOL := utool_grip
style_grip
ELSE:
tool_error
ENDSELECT
• SELECT (<FunctionCall>) OF ... CASE (<val1>, <val2>): ... ELSE: ... ENDSELECT
• RETURN — return program control from the current routine to the place where it was called.
• All commands supported in RRS simulation (see above) are also simulated in a MOP simulation,
except:
■ SpeedControl = SPD_LIN
◊ speed : cartesian speed
o Zone
■ $FLY_TYPE = $FLY_OFF, : fine
• Call r1pounce
• Call r1style1
• EndIf
• Call r1style1
• EndIf
• # CycleEnd
In this example, the robot paths and robot signals need to be renamed in the study to match what
is shown in these OLP commands.
On the Teach Pendant after clicking Add, the following menu is available beyond the basic OLP
commands:
• Free Text
These commands must be entered as free text or using a custom XML (described later
in this course).
• IF < > THEN < > ELSEIF or ELSE END IF — For example:
o IF MySignal THEN JUMP L002 ELSE JUMP L003 END IF
• SELECT CASE
These commands must be entered as free text or using a custom XML (described later
in this course).
• Signals:
o RECEIVE_HANDLERPOS(<Part> <Handler> <State>)
■ IF GetSignal (out_<Handler>_pos) != <Part>*10 + State) THEN ; Check if a signal
is already in LB
■ ENDIF
■ ELSE
■ Var = TRUE
■ ENDIF
■ ELSE
■ WaitSignal out_h1_pos == < Part >*10 + State OR out_h2_pos == < Part >*10 + State
OR… ; Wait for a signal to set
■ Var = TRUE
■ ENDIF
■ WaitTime(0.11)
■ SendSignal(out_<Handler>_order, 0)
■ WaitTime(0.11)
■ SendSignal(out_<Handler>_order, 0)
■ WaitSignal(in_order) != 0
■ GetSignalValue(in_order)
■ END_IF
• Conditional/Unconditional blocs:
In some cases there is different syntax for the EcoRC2 and EcoRPC controllers:
o DELAY <duration>
DELAY(<duration>)
o LABEL <Lab>
o GOTO <Lab>
o CALL "<name>"()
CALL <name>()
o RETURN
o <Var> = <Expression>
o WAIT_PAINTPOSITION(<pos>)
o TRACKING(<On|Off>)
• Unknown instructions — The unknown instructions are sent through the RCS as an "instruction"
command.
Following Ecotalk constants can be used in the simulation:
• Ecotalk Constants
o Low: 0
o High: 1
o HalfOpen: 1
o FullOpen: 2
o HalfClosed: 3
o Wait: 4
o FullClose: 5
o Delete: 6
o Finish: 7
• All commands supported in RRS simulation (see above) are also simulated in a MOP simulation.
• Call r1pounce;
• Call r1style1;
• EndIf
• Call r1style1;
• EndIf
• # CycleEnd
In this example, the robot paths and robot signals need to be renamed in the study to match what
is shown in these OLP commands.
These commands must be entered as free text or using a custom XML (described later
in this course).
Program control simulation commands (syntax is not case sensitive). Variables assignment:
• Boolean <VarName>
<VarName> = {True|False}
• Integer <VarName>
<VarName> = <value>
• String <VarName>
<VarName> = <value>
• Motion menu
o UFRAME_NUM
o UTOOL_NUM
o PAYLOAD
o JOINT_MAX_SPEED
o LINEAR_MAX_SPEED
o JOINT_MAX_SPEED_REG
o LINEAR_MAX_SPEED_REG
• Branch menu
o LABEL
o JUMP_LABEL
• I/O menu
o PULSE
o Wait Signals
o Digital Output
• Conditions menu
o Skip Condition
• Control menu
o UALM
o PAUSE
o ABORT
o WAIT
o TIMER
• Arc menu
o Weave Start
o Weave End
o Track TAST
o Track End
• MESSAGE
• REMARK
• RSR ENABLE
• RSR DISABLE
• Register Assignment
These commands must be entered as free text or using a custom XML (described later
in this course).
Commands interpreted during pre-calculation (3 locations ahead [RCS 6.x] or 4 locations ahead
[RCS 7.x]) :
•
Limitations:
• L P[2]
• LBL[1]
• WAIT 0.1(sec)
• L P[3]
• L P[4]
• L P[5]
• All commands supported in RRS simulation (see above) are also simulated in a MOP simulation,
except:
o Payload
o TermType→Zone :
■ FINE : fine
■ CNT81-CNT100 : nodecel
■ CNT41-CNT80 : coarse
■ CNT11-CNT40 : medium
■ CNT0-CN10 : fine
■ CD : nodecel
• Call r1pounce;
• Call r1style1;
• Call r1style1;
• # CycleEnd
In this example, the robot paths and robot signals need to be renamed in the study to match what
is shown in these OLP commands.
■ Move the robot with an offset expressed in location object frame coordinates system.
■ The offset is relative to: RefLoc if the optional <RefLoc> parameter is specified (RefLoc
should be the name of a location inside the current robotic operation), otherwise to the
current location, or (if defined at operation level), to the current robot TCPF
■ The optional rotational part of the offset are rotation angles in degrees expressed in
location object frame coordinate system (rotations are performed one after the other in
the rotating frame)
■ The current location motion type, speed, zone are used to move to the offset position
o # MoveJRelBase [<RefLoc>] <X> <Y> <Z> [<RX> <RY> <RZ>] — Same as # MoveRelBase,
except that motion type to the offset position is forced to Joint
o # MoveLRelBase [<RefLoc>] <X> <Y> <Z> [<RX> <RY> <RZ>] — Same as # MoveRelBase,
except that motion type to the offset position is forced to Linear
■ Move the robot with an offset expressed in location self coordinates system.
■ The offset is relative to: RefLoc if the optional <RefLoc> parameter is specified (RefLoc
should be the name of a location inside the current robotic operation), otherwise, to the
current location, or (if defined at operation level), to the current robot TCPF.
■ The optional rotational part of the offset are rotation angles in degrees expressed in
reference location self coordinate system (rotations are performed one after the other in
the rotating frame)
■ The current location motion type, speed, zone are used to move to the offset position.
o # MoveJRelTool [<RefLoc>] <X> <Y> <Z> [<RX> <RY> <RZ>] — Same as # MoveRelTool,
except that motion type to the offset position is forced toJoint
o # MoveLRelTool [<RefLoc>] <X> <Y> <Z> [<RX> <RY> <RZ>] — Same as # MoveRelTool,
except that motion type to the offset position is forced to linear.
Motion Parameters: By default, the current modal motion parameters (speed, zone,
tool, etc.) is used. It is also possible to define explicit motion parameters with following
(controller specific) syntax: # MoveRelBase <X> <Y> <Z> [Speed Data = v500] [Zone Data
= z100]. These explicit motion parameters is inherited on any subsequent relative motions.
These commands must be entered as free text or using a custom XML (described later
in this course).
o CLEAR
o INC
o DEC
o ADD/SUB
o MUL/DIV
o AND/OR/NOT/XOR
• # Callpath r1pounce;
• # Callpath r1style1;
• #EndIf
• # Callpath r1style1;
• # EndIf
• # CycleEnd
In this example, the robot paths and robot signals need to be renamed in the study to match what
is shown in these OLP commands.
• Any basic OLP command described earlier, including the following ones which must be entered
as free text:
Relative motion simulation commands
■ Move the robot with an offset expressed in location object frame coordinates system.
■ The offset is relative to: RefLoc if the optional <RefLoc> parameter is specified (RefLoc
should be the name of a location inside the current robotic operation), otherwise to the
current location, or (if defined at operation level), to the current robot TCPF
■ The optional rotational part of the offset are rotation angles in degrees expressed in
location object frame coordinate system (rotations are performed one after the other in
the rotating frame)
■ The current location motion type, speed, zone are used to move to the offset position
o # MoveJRelBase [<RefLoc>] <X> <Y> <Z> [<RX> <RY> <RZ>] — Same as # MoveRelBase,
except that motion type to the offset position is forced to Joint
o # MoveLRelBase [<RefLoc>] <X> <Y> <Z> [<RX> <RY> <RZ>] — Same as # MoveRelBase,
except that motion type to the offset position is forced to Linear
■ Move the robot with an offset expressed in location self coordinates system.
■ The offset is relative to: RefLoc if the optional <RefLoc> parameter is specified (RefLoc
should be the name of a location inside the current robotic operation), otherwise, to the
current location, or (if defined at operation level), to the current robot TCPF.
■ The optional rotational part of the offset are rotation angles in degrees expressed in
reference location self coordinate system (rotations are performed one after the other in
the rotating frame)
■ The current location motion type, speed, zone are used to move to the offset position.
o # MoveJRelTool [<RefLoc>] <X> <Y> <Z> [<RX> <RY> <RZ>] — Same as # MoveRelTool,
except that motion type to the offset position is forced toJoint
o # MoveLRelTool [<RefLoc>] <X> <Y> <Z> [<RX> <RY> <RZ>] — Same as # MoveRelTool,
except that motion type to the offset position is forced to linear.
Motion Parameters: By default, the current modal motion parameters (speed, zone,
tool, etc..) is used. It is also possible to define explicit motion parameters with following
(controller specific) syntax: # MoveRelBase <X> <Y> <Z> [Speed = 2] [Accu = 4]. These
explicit motion parameters is inherited on any subsequent relative motions.
• All commands supported in RRS simulation (see above) are also simulated in a MOP simulation,
except:
o payload
• Accuracy:
o If ACCU<i> zone is defined in the MotionParameters.e file, this actual zone is used
o Otherwise conversion from accuracy value (in mm) to default zones is as follows:
• # Callpath r1pounce;
• # Callpath r1style1;
• #EndIf
• # Callpath r1style1;
• # EndIf
• # CycleEnd
In this example, the robot paths and robot signals need to be renamed in the study to match what
is shown in these OLP commands.
• I/O – Wait Time, Out, Pulse, Syn Out, Syn Pulse, Wait For signal, and Wait For Expr.
These commands must be entered as free text or using a custom XML (described later
in this course).
In addition to the KRC Fold commands supported in simulation (see below), the following additional
KRC Fold commands are also supported in download:
• data> <time> NAME:<name> CHANGES: <changes>
• IBUS OFF
• INIT.GUN<gun_num>
For example: INIT.GUN1
o is simulated as call to H50(GRP, <num>, <STATE>, GCONT), with <STATE> = 1 for OPN and
2 for CLO
o is simulated as a delay and then a call to H50(CHK_APO_UP, <num>, <STATE>, GCONT), with
<STATE> = 1 for OPN and 2 for CLO
KRL commands
• assignation of following special system variables (as RRS motion parameters change):
o $VEL.CP
o $VEL.ORI1
o $VEL.ORI2
o $ACC.CP
o $ACC.ORI1
o $ACC.ORI2
• $ECO_LEVEL = [#OFF, #LOW, #MEDIUM, #HIGH] (a special RRS Energy service and is only
active with the KUKA RCS versions 8.3 or higher)
• <var> = <Any Signal Expression>, used like either SendSignal from the default controler (if <var>
is defined as a robot output signal) or as a variable assignment.
• LOOP....ENDLOOP
• GOTO <label> jump to label. ( jump from outside into a loop instruction bloc is forbidden )
• RETURN
• RETURN <Expression>
• Varstate("<varName>")
Priority order:
• [Name](), simulated as:
o call to macro [Name]
• All commands supported in RRS simulation (see above) are also simulated in a MOP simulation,
except:
o System variables assignment (like $ACC.ORI1, etc.)
• Zone:
o FINE→fine
• C_PTP
o 0-10 : fine
o 10-40 : medium
o 40-80 : coarse
o 80-100 : nodecel
• C_DIS
o 0-2 : fine
o 2-7 : medium
o 7-15 : coarse
o > 15 : nodecel
• C_VEL→nodecel
• C_ORI→nodecel
Energy Simulation:
Starting from Kuka RCS 8.3, the RRS simulation of energy consumption is supported in Process
Simulate.
In order to get energy consumption information during simulation, it is necessary that the machine
data are created with KUKA.WorkVisual so that they contain the energy capacity values (see the
Kuka RCS documentation for more information).
It is possible to save energy at the expense of cycle time by using the Kuka system variable
$ECO_LEVEL, with possible values #OFF, #LOW, #MIDDLE and #HIGH. Changing the
$ECO_LEVEL does not affect the trajectory but optimizes velocities and accelerations. $ECO_LEVEL
has no influence on LIN or CIRC motions, it only affects PTP and SPLINE motions.
Energy consumption during the motion execution is generally made of 2 parts:
1. Moving the payload against the inertia
Reduction of acceleration and speed means less energy consumption for 1), but, as it creates larger
cycle-times, it means more energy consumption for 2). Therefore a higher $ECO_LEVEL does not
always imply a reduction of the overall consumed energy. It is therefore advised to increase the
$ECO_LEVEL step by step to get optimized results.
When simulation is reset, energy saving mode ($ECO_LEVEL) is automatically deactivated.
• Call r1pounce;
• Call r1style1;
• EndIf
• Call r1style1;
• EndIf
• # CycleEnd
In this example, the robot paths and robot signals need to be renamed in the study to match what
is shown in these OLP commands.
■ Move the robot with an offset expressed in location object frame coordinates system.
■ The offset is relative to: RefLoc if the optional <RefLoc> parameter is specified (RefLoc
should be the name of a location inside the current robotic operation), otherwise to the
current location, or (if defined at operation level), to the current robot TCPF
■ The optional rotational part of the offset are rotation angles in degrees expressed in
location object frame coordinate system (rotations are performed one after the other in
the rotating frame)
■ The current location motion type, speed, zone are used to move to the offset position
o # MoveJRelBase [<RefLoc>] <X> <Y> <Z> [<RX> <RY> <RZ>] — Same as # MoveRelBase,
except that motion type to the offset position is forced to Joint
o # MoveLRelBase [<RefLoc>] <X> <Y> <Z> [<RX> <RY> <RZ>] — Same as # MoveRelBase,
except that motion type to the offset position is forced to Linear
■ Move the robot with an offset expressed in location self coordinates system.
■ The offset is relative to: RefLoc if the optional <RefLoc> parameter is specified (RefLoc
should be the name of a location inside the current robotic operation), otherwise, to the
current location, or (if defined at operation level), to the current robot TCPF.
■ The optional rotational part of the offset are rotation angles in degrees expressed in
reference location self coordinate system (rotations are performed one after the other in
the rotating frame)
■ The current location motion type, speed, zone are used to move to the offset position.
o # MoveJRelTool [<RefLoc>] <X> <Y> <Z> [<RX> <RY> <RZ>] — Same as # MoveRelTool,
except that motion type to the offset position is forced toJoint
o # MoveLRelTool [<RefLoc>] <X> <Y> <Z> [<RX> <RY> <RZ>] — Same as # MoveRelTool,
except that motion type to the offset position is forced to linear.
Motion Parameters: By default, the current modal motion parameters (speed, zone,
tool, etc..) is used. It is also possible to define explicit motion parameters with following
(controller specific) syntax: # MoveRelBase <X> <Y> <Z> [Speed Data = v500] [Zone Data
= z100]. These explicit motion parameters is inherited on any subsequent relative motions.
These commands must be entered as free text or using a custom XML (described later
in this course).
• Constants
• Integer variables
o V1% = 10
o V%[1] = 10
o V2%=V1%+1
• Real variables
o V1!=2.5
o V![1]=2.5
o V2!=V1!*103.45
• String variables
o V1$="Execution state"
o V$[1]="Execution state"
• DELAY <time>
• Simple sentence IF
o IF <condition>THEN *<label name>
• Compound sentence IF
o IF <condition> THEN
o [ELSE]
o ENDIF
• SWITCH command
o SWITCH
o CASE
o BREAK
o CASE
o BREAK
o ENDS
• WHILE command
o WHILE <condition>
o ENDW
• FOR command
o FOR <VAR=init val.> TO <end value> STEP <incr>
o NEXT
o STOP
o END
• Call r1pounce
• Call r1style1
• EndIf
• Call r1style1
• EndIf
• # CycleEnd
In this example, the robot paths and robot signals need to be renamed in the study to match what
is shown in these OLP commands.
• # CycleStart
• # Callpath r1pounce;
• # Callpath r1style1;
• #EndIf
• # Callpath r1style1;
• # EndIf
• # CycleEnd
In this example, the robot paths and robot signals need to be renamed in the study to match what
is shown in these OLP commands.
These commands must be entered as free text or using a custom XML (described later
in this course).
• DELAY, <time> — Wait for an amount of time to pass. The time can range between 0.01 and
99.99 seconds. For example:
o CALL SYNC
o L002:
RESET(1)
JUMP, L002
• IF <Value 1>, <Condition>, <Value 2>, <Execution statement 1>, <Execution statement 2>
— For example:
o If signal is true then jump to L002, else jump to L003
If i1#7, =, ON, JUMP, L001, JUMP, L002
• ADD or SUB or MUL or DIV or MOD, <variable>, <value> — Add, subtract, multiply, divide, and
remainder. For example:
o Add 5 to the integer signal
Add, i4#7, 5
o DEC, i4#7
• Control Flow – CALL, PROGRAM, LABEL, BRANCH, TEST_BIT, TEST #VARIABLE, TEST
#INPUT, and TEST #MARKER
• Arithmetics – COPY, ADD, SUB, MUL, DEIV, MODULO, NEG, and ABS_VALUE
■ Move the robot with an offset expressed in location object frame coordinates system.
■ The offset is relative to: RefLoc if the optional <RefLoc> parameter is specified (RefLoc
should be the name of a location inside the current robotic operation), otherwise to the
current location, or (if defined at operation level), to the current robot TCPF
■ The optional rotational part of the offset are rotation angles in degrees expressed in
location object frame coordinate system (rotations are performed one after the other in
the rotating frame)
■ The current location motion type, speed, zone are used to move to the offset position
o # MoveJRelBase [<RefLoc>] <X> <Y> <Z> [<RX> <RY> <RZ>] — Same as # MoveRelBase,
except that motion type to the offset position is forced to Joint
o # MoveLRelBase [<RefLoc>] <X> <Y> <Z> [<RX> <RY> <RZ>] — Same as # MoveRelBase,
except that motion type to the offset position is forced to Linear
■ Move the robot with an offset expressed in location self coordinates system.
■ The offset is relative to: RefLoc if the optional <RefLoc> parameter is specified (RefLoc
should be the name of a location inside the current robotic operation), otherwise, to the
current location, or (if defined at operation level), to the current robot TCPF.
■ The optional rotational part of the offset are rotation angles in degrees expressed in
reference location self coordinate system (rotations are performed one after the other in
the rotating frame)
■ The current location motion type, speed, zone are used to move to the offset position.
o # MoveJRelTool [<RefLoc>] <X> <Y> <Z> [<RX> <RY> <RZ>] — Same as # MoveRelTool,
except that motion type to the offset position is forced toJoint
o # MoveLRelTool [<RefLoc>] <X> <Y> <Z> [<RX> <RY> <RZ>] — Same as # MoveRelTool,
except that motion type to the offset position is forced to linear.
Motion Parameters: By default, the current modal motion parameters (speed, zone,
tool, etc..) is used. It is also possible to define explicit motion parameters with following
(controller specific) syntax: # MoveRelBase <X> <Y> <Z> [Speed Data = v500] [Zone Data
= z100]. These explicit motion parameters is inherited on any subsequent relative motions.
These commands must be entered as free text or using a custom XML (described later
in this course).
• Reis coordinates
o Translation: X,Y,Z
o Rotation:
A corresponds to Process Simulate RZ
B corresponds to Process Simulate RY
C corresponds to Process Simulate RX
• Comments with "C" and lines starting with "\" should be ignored during simulation.
• WAIT
o For example: WAIT [s]:1.50
• CALL
o Ex1: CALL Name:”SubProgName”
• PROGRAM
o For example: PROGRAM Name:"File1"
• LABEL
o For example: Label "Text1"
• BRANCH
o For example: BRANCH Label:"Text1"
• TEST_BIT
o For example: TEST_BIT #INPUT,#=1,Byte:255,Bit_No:7,Label:"Text1"
• TEST #VARIABLE
o For example: TEST #VARIABLE,Op_1:Var1,#=,Byte:255,Label:"Text1"
• COPY
o For example: COPY Source:124,Dest_Var:Index
• ADD
o For example: ADD Op_1:Var1,Dest_Var:Var2
• SUB
o For example: SUB Op_1:Var1,Dest_Var:Var2
• MUL
o For example: MUL Op_1:Var1,Dest_Var:Var2
• DIV
o For example: DIV Op_1:Var1,Dest_Var:Var2
• MODULO
o For example: MODULO Op_1:Var1,Dest_Var:Var2
• NEG
o For example: NEG Variable:Var1
• ABS_VALUE
o For example: ABS_VALUE Variable:Var1
• EndIf
• EndIf
• # CycleEnd
In this example, the robot paths and robot signals need to be renamed in the study to match what
is shown in these OLP commands.
o Move the robot with an offset expressed in location object frame coordinates system.
o The offset is relative to: RefLoc if the optional <RefLoc> parameter is specified (RefLoc
should be the name of a location inside the current robotic operation), otherwise to the
current location, or (if defined at operation level), to the current robot TCPF
o The optional rotational part of the offset are rotation angles in degrees expressed in location
object frame coordinate system (rotations are performed one after the other in the rotating
frame)
o The current location motion type, speed, zone are used to move to the offset position
• # MoveJRelBase [<RefLoc>] <X> <Y> <Z> [<RX> <RY> <RZ>] — Same as # MoveRelBase,
except that motion type to the offset position is forced to Joint
• # MoveLRelBase [<RefLoc>] <X> <Y> <Z> [<RX> <RY> <RZ>] — Same as # MoveRelBase,
except that motion type to the offset position is forced to Linear
o Move the robot with an offset expressed in location self coordinates system.
o The offset is relative to: RefLoc if the optional <RefLoc> parameter is specified (RefLoc
should be the name of a location inside the current robotic operation), otherwise, to the
current location, or (if defined at operation level), to the current robot TCPF.
o The optional rotational part of the offset are rotation angles in degrees expressed in reference
location self coordinate system (rotations are performed one after the other in the rotating
frame)
o The current location motion type, speed, zone are used to move to the offset position.
• # MoveJRelTool [<RefLoc>] <X> <Y> <Z> [<RX> <RY> <RZ>] — Same as # MoveRelTool, except
that motion type to the offset position is forced toJoint
• # MoveLRelTool [<RefLoc>] <X> <Y> <Z> [<RX> <RY> <RZ>] — Same as # MoveRelTool, except
that motion type to the offset position is forced to linear.
Motion Parameters: By default, the current modal motion parameters (speed, zone, tool,
etc.) is used. It is also possible to define explicit motion parameters with following syntax:
# MoveRelBase <X> <Y> <Z> [Speed Data = v500] [Zone Data = z100]. These explicit
motion parameters is inherited on any subsequent relative motions
These commands must be entered as free text or using a custom XML (described later
in this course).
• Constants
• delay (num seconds) — Puts the current task on hold for seconds, for example:
delay(20)
• wait (<bool condition>) — Puts the current task on hold until condition is true.
• watch (<bool condition>, <num seconds>) — Puts the current task on hold until condition is true
or seconds have elapsed.
• do
<instructions>
until <bool condition>
for example:
i=0
do
i=i+1
until (i==10)
• for <num counter> = <num beginning> to <num end> [step <num step>]
<instructions>
endFor
for example:
for i= 0 to 10 step 1
test1 = test1 +I
endFor
• if <bool condition>
<instructions>
[else
<instructions>]
endIf
for example:
if i== 0
test1 = 10
else
test1=20
endIf
a = 20
break
case 273, 274, 275, 276, 277, 278
a = 120
break
default
a =0
break
endSwitch
• Robtalk menu
o Gun/Brush pick
o Move Offs
These commands must be entered as free text or using a custom XML (described later
in this course).
• Block Instructions
o JUMP num
o LABEL num
o IF condition
instructions
or any combination of the above, such as: INPUT 1 ON AND INPUT 2 OFF OBJPOS [XYZ]
[<>] expression
when used in association with a JUMP action, this condition is simulated as tracking the
current location
Operators
■ <
■ >
■ =
■ #
INTERNAL_HALT
• Other instructions
o MOVE OFFS num — Cannot execute if a MOV OFFs num ;@@ [ x, y, z, a, b, c, r] was not
executed first.
o WAIT OBJPOS X|Y|Z >|< value - as a wait for specific conveyor position
o PARAM VEL REG num — as setting modal linear speed to registry value
o BRUSH num
o GUN ON|OFF
Limitations:
• Following commands are not supported in simulation:
o #include filename
o REL
o MOVE NEGOFFS
o MOVE POSREG
• All commands supported in RRS simulation (see above) are also simulated in a MOP simulation,
except:
o Gun/Brush instructions with condition
These commands must be entered as free text or using a custom XML (described later
in this course).
o Sleep(10)
• IF <Condition> Elif <condition> … Else … End, Execution statement 1>, <Execution statement
2>
o
If a > 3:
a = a + 1
elif b < 7:
b = b * a
else:
a = a + b
end
end
o CLEAR
o INC
o DEC
o ADD/SUB
o MUL/DIV
o AND/OR/NOT/XOR
o JUMP LABEL:<LabelVar>, as
■ jump to *<LabelNum>, where <LabelNum> is the numerical value of <LabelVar>
o JUMP JOB:<Name>, as
■ call to <Name> (see CALL below for more information)
o TIMER T=<Expression>
■ Same as WaitTime
<Expression>
o RET <Expression>
■ Same as return with <Expression> value
CWAIT and NWAIT: These commands are understood but not simulated.
Limitations:
• In the case of JUMP JOB:<job name> UF#(<user frame no>) the UF# part is not simulated
• Spline motions are simulated as linear motions (both with RCS and MOP simulation).
• Speed
o SpeedType = VJ
o SpeedType = V
o SpeedType = VR
• Zone
o FlyLevel
o CONT : nodecel
o PL0: fine
o PL1: medium
o PL2–PL8: coarse
Here is one possible way to rework the default controller OLP commands for this robot controller:
• # CycleStart
• Call r1pounce
• # CycleEnd
In this example, the robot paths and robot signals need to be renamed in the study to match what
is shown in these OLP commands.
In this lesson, you learn how to use the Robot Program Viewer.
Objectives
If there are errors that would cause the download to fail, the relevant command is marked in the
program panel (upper panel) with a vertical red line and details of the error are provided in the
notifications panel (lower panel). For example, if the robot speed has been omitted on a location, it is
likely that when downloading the program to the robot, a critical failure will occur and the download
will abort. After making the required changes in your program, you can reload it in the Robot
Program Viewer to confirm the improvement (and prevent download failures).
You can use this tool to:
• View notifications created by the (simulated) download process. There are three categories:
o Errors - Critical errors that will cause the download process to fail.
Messages created by downloading a specific motion instruction or OLP command display the
serial number of the relevant instruction/command program line in the Line column. General
messages in the download process display a dash ("-") in the Line column.
2. If you had previously selected a program/operation, this is automatically loaded in the Robot
Program Viewer when you it launches. Otherwise, select a robotic program in the Robotic
Program Inventory or an operation in the Operation Tree.
3. Click Add .
The currently selected program/operation is added to the Robot Program Viewer. Process
Simulate converts the operation and displays it in the syntax of the controller of the robot to which
the program is assigned.
In the Program panel, motion instructions/commands with download errors are marked with
vertical red lines, warnings with yellow lines, and messages with blue lines.
• Double-click a notification in the lower panel to jump to the relevant line in the program panel.
• Click a notification tab to hide its contents. This enables you to concentrate on the other
notifications.
5. You can set breakpoints on locations, OLP commands (one per command) and end of operations.
Left-click in the margin of the viewer to insert breakpoints to pause the simulation at those points.
A red dot in the margin indicates the inserted breakpoint. Right-click the breakpoint to disable it
(white dot with red rim) or delete it. Right-click a disabled breakpoint to make it active again.
When you run the simulation with the Robot Program Viewer dialog box open, it stops at
each breakpoint to enable you to analyze the program for debugging purposes. Continue the
simulation the same way you would as after pressing the Pause button.
If you close the viewer, the simulation runs continuously without stopping at breakpoints, but they
remain in place for when you re-open the viewer, for the duration of the session. Once you close
the study or exit the application, the breakpoints are not persisted.
For complex OLP commands, it is not possible to set breakpoints on their nested
commands.
If you add a breakpoint while displaying the same code in more than one viewer,
the breakpoint appears in all the viewers.
Activities
In the Robot Program Viewer section, do the following activities:
• Use the Robot Program Viewer
Summary
Subjects learned in this topic:
• How use the standard OLP commands of emulated robot specific controllers (ESRC).
• Various commands supported in simulation on all controllers which must be entered as free text.
• The list of the supported OLP commands for several of the robot controllers.
Purpose
Objectives
• How to create a calibration and use it to calibrate the position of a path relative to a robot.
Calibration introduction
Purpose
Objectives
Calibration basics
In general, Process Simulate calibration attempts to:
• Eliminate and/or compensate for any differences that may exist between the Process Simulate
and actual studies, in order to ensure precise download of robot-program destinations from
Process Simulate to the actual robot.
• Enable downloading a robot program from an Process Simulate study to several robot studies on
the factory floor which are theoretically identical but in practice have differences in layout and
component performance.
• Enable transferring on-line teach programs from one robot study to another study that is
theoretically identical, without requiring manual corrections of robot destinations.
What is calibration?
Calibration is the process of bringing the modeled Process Simulate study into conformity with the
real-world study. This is done by creating a filter which describes how the real-world study differs
from the Process Simulate. This filter is called a "calibration set".
Calibration is needed by those users who require high accuracy in the downloaded program locations,
or in programs with a large number of locations, in order to avoid manual touch ups. Calibration
would not be required in a program with few locations needing high accuracy; manual touch ups
in this case would be more efficient.
The calibration process involves measuring the real study in some manner, and bringing that
information into Process Simulate. The robot itself is the primary method of study measurement.
However, external systems such as theodolites can be used to bring XYZ coordinate data into
Process Simulate.
The Process Simulate Calibration command, located on the Robot tab of the ribbon, is used to
build the calibration set to improve the accuracy of the downloaded program. In this class, you see
how to use these tools to achieve a good OLP result.
Calibration sets
After creating objects in Process Simulate, it is possible to measure the equivalent real objects on the
shop floor. In this case, you may wish to calibrate (transform) the source points to be as close as
possible to the destination points, as measured and stored in Process Simulate. The Calibration
command accepts multiple pairs of points (each pair consists of a source point and an destination
point) and uses an algorithm to adjust the position and orientation of the source pairs so that the
average distance between the sources and destinations is as small as possible. The algorithm
calculates the optimum transformation for all the pairs - there is an improvement for most of the
pairs but one or two may not be improved. Siemens recommends using not more than ten pairs to
maintain system performance.
After adding all the desired pairs, the system calculates the transformation and you can apply it if
you are satisfied. You can Apply more transformations and Unapply them. At the end of your
session, you can store the calibration set.
There must be at least three calibration pairs to enable calibration calculation (because three pairs
define a plane).
The user can produce more than one calibration set for the same Process Simulate study, in order to
account for more than one actual study. Each set has a unique identity. Any set can be used when a
robot program is downloaded. In addition, a program can be uploaded from the actual robot study with
the use of one set, and then can be downloaded to another actual study with the use of another set.
and the corresponding formula for a continuous function f(t) defined over the interval
is:
Calibration results
The calibration calculation runs in real time, updating the Calibration Results automatically when
new calibration pairs are added, removed, activated, or deactivated. The system displays the
following results.
• dX, dY, and dZ - Displays the transformation distance results on the X, Y, and Z axes.
• Rx, Ry, and Rz - Displays the transformation rotation results around the X, Y, and Z axes.
• Maximum distance - Displays the distance between a transformed object and the original object
for the calibration pair with the largest average distance.
• Average distance - Displays the average distance between all the transformed objects and
the original objects.
• RMS - Displays the RMS (root mean square) distance between all the transformed objects
and the original ones.
In this topic, you learn how to create a calibration and use it to calibrate the position of a path relative
to a robot.
Objectives
Business process
The Calibration command is used to perform the RMS calculation based on user-supplied data,
and then display the results of the calculation and apply the results to a chosen component as a
transformation to the location of that component.
3. On the real robot, teach the same three locations into a new program.
4. Upload the program from the real robot into Process Simulate.
5. Using the Process Simulate Calibration dialog box, create a calibration set with these two
paths as input.
6. Apply the calibration set to the desired robotic path created in Process Simulate to properly
locate it relative to the robot.
Activities
In the Robot to part calibration section, do the following activities:
• Creating a calibration set
Summary
Subjects learned in this topic:
• An overview of the concepts of calibration.
• How to create a calibration and use it to calibrate the position of a path relative to a robot.
Purpose
Objectives
In this topic, you get an overview of the basic areas of the robot controller interface customization
XML file.
Objectives
Business process
Siemens PLM Software, together with its customers, has invested a lot of effort, based on broad
knowledge gained over many years, to offer advanced OLP programming capabilities. The availability
of the Teach Pendants, and in more recent versions, the greater use of the Path Editor, provides your
users a much greater scope of functionality than in the past. Nevertheless, there is always room for
user customization and the flexible application of customer "flavors".
As the environment becomes ever more complex, the only solution that can serve users' needs is an
open solution. This is due to the following constraints:
• The system must be flexible enough to add commands which utilize correct syntax but are
still easy to use.
• The first layer, the User Interface Layer, defines the dialog that can be opened from within the
Teach Pendant during the session.
• The subsequent Simulation Layer includes the instructions as they have to be executed during
the simulation (CEE type). Define the behavior using the parameters and controls in the User
Interface dialog.
• The Download Layer is the last and probably most important of the three layers. Here users
define the actual controller specific commands from a form in the dialog from the User Interface
layer.
• Finally there are Upload Capabilities to reuse the definition and present the data in a form
to the user.
Parameters used in the User Interface (UI) dialog are then used to generate the needed OLP strings
for the simulation needs as well as for the download to the real controller.
It is possible to define multi-line commands, meaning several lines of actual OLP code.
Changes Without Re-launching Process Simulate
When making changes in the configuration file, there is no need to close the Process Simulate
application. A simply opening the Customized Command XML Checker command loads
the latest configuration files. (Closing the Teach Pendant and re-opening it also loads the latest
configuration files).
Dialog standards
All OLP command dialogs are generated with the same layout.
Dialog Size:
The size of the dialog should be automatically calculated according to configuration file data.
Custom OLP Command Example:
This is not an exercise. A detailed exercise on this topic can be found later in this course.
• With the desired robot controller set for the assigned robot: Right-click a robotic operation and
choose Teach Pendant .
This is not an exercise. A detailed exercise on this topic can be found later in this course.
• With the desired robot controller set for the assigned robot: Add the path to the Path Editor (and
the Customized Motion, Customized Debug, and Process type Columns).
• Look at the custom user interface results in the bottom half of the Teach Pendant dialog box.
In this topic, you get an introduction to the customized OLP commands .XML file.
Objectives
The rest of this section of the course deals with OLP command customization. Later in this
course you tackle motion command customization and path template customization.
For each controller there may be several OLP configuration, motion configuration, and
path template configuration files. By default, the OLP configuration files are located in the
OlpConfiguration subfolder (C:\Program Files\Tecnomatix\eMPower\Robotics\OLP\<Controller
name>\OlpConfiguration. However, this can be changed by specifying a CustomizedPath
in the rrs.xml file for the version of the controller used like the training course (for example
N:\sysroot\OLP_config_files\<Controller name>\OlpConfiguration).
Users can assign any names they want to the XML configuration files.
You can use the CustomizedPath in the rrs.xml file to change the location of the OlpConfiguration
folder, like was done for the training.
• RoboticParams
• OlpCommands
• OlpDialogs
Objectives
After you complete this topic, you should be able to:
• Understand the robotic params section of the file.
• ValueType - This element must occur only once. Values are either:
o Int – a number
o Double – a number
o String – text
• part_instance,
• part_physical_appearance,
• part_prototype_assignment,
• compound_resource,
• resource_instance,
• Allow only filtered objects from a list using the ShowList attribute of the PickTypes tab
• Allow only objects based on the type using the TxValidatorType attribute of the Param tab.
Objectives
After you complete this topic, you should be able to:
• Understand the OLP commands section of the file.
• Layers - This element is optional, but can occur only once. This element contains the primary
layers: UILayer, SimulationLayer, and DownloadLayer.
Layers
The Three Layers:
• UILayer – This element represents one customized OLP command in the Teach Pendant or
Path Editor. It is optional, but it can occur only once. It contains the Lines (and items) for the
user interface to be shown.
• SimulationLayer - This element is optional, but can occur only once. It defines how the
customized OLP command is simulated. During simulation, when the controller encounters a
customized OLP Command, replaces it with its simulation layer and interprets this simulation
layer instead. Inside the simulation layer, users can write any elementary command (one per
<line> ... </line> section) that is understood by the controller:
o "default controller" standard commands (ex : # SendSignal sig1, # WaitTime 2, # Blank
PaintFanEntity,....)
o native controller syntax supported by the controller simulation (ex : IF var1 = 3 THEN, call to
macros, call to robot module procedure,....)
o Inside the simulation layer, it is fully permissible to mix "default controller" commands with
commands in native controller syntax.
• DownloadLayer – It defines what is output when the program is downloaded. It has the same
capabilities as UILayer and supports several lines. This element is optional, but can occur only
once.
• Item - Only allowed below Line elements. Contains the Type attribute as well as either a
parameter name (when the type is parameter) or a constant. Attributes for this element:
o Type – Values are either const, optional, or parameter, or dynamicParameter
Purpose
In this topic, you learn how to use the OLP dialogs section of the file.
Objectives
o Title - Shows the title of the dialog in the Teach Pendant. Each ‘|’ is a new subdirectory. For
example: Title="MyTest|Customized|ChooseLocation"
o Description - A short description inside the dialog for the user. For example:
Description=”Please select a location”
<RoboticParams>
<ComboDef>
<ElmDef>xxx<ElmDef/>
</ComboDef>
</Param>
</RoboticParams>
<OlpCommands>
<Command Name=””>
<RoboticParamRef>
<Param>xxx</Param>
</RoboticParamRef>
<Layers>
<UILayer>
<Line>
<Item Type="">xxx</Item>
</Line>
</UILayer>
<SimulationLayer>
<Line>
<Item Type="">xxx</Item>
</Line>
</SimulationLayer>
<DownloadLayer>
<Line>
<Item Type="">xxx</Item>
</Line>
</DownloadLayer>
</Layers>
</Command>
</OLPCommands>
<OLPDialogs>
<OlpCommandRef>
<OlpCommand>xxx</Param>
</Dialog>
</OLPDialogs>
</RobotController>
Signal example
Purpose
In this topic, you learn how to create custom OLP commands, for various robot controllers, for send
signal and wait signal.
• A PLC input signal is connected to a robot output such as a digital output (DO).
• In Process Simulate, you enter the signals from the perspective of the PLC, so the robot waits for
output signals (DI) and sends input signals (DO).
Objectives
After you complete this topic, you should be able to:
• Create custom OLP commands to send signals and wait for signals in the robot specific language.
The below examples assume that you have a PLC input and robot signal defined (DO) and
a PLC output and robot signal defined (DI). In the activity, you use the signals created in an
earlier activity in this advanced robotics training.
For ABB-Rapid:
• Signals names: di1, do2
For Cloos-Carola:
• Signals names: IN1, OUT2
For Comau-Pdl:
• Signals names: $DIN[1], $DOUT[2]
For Denso-PacScript:
• Signals names: MySignal1, MySignal2
For Duerr-Ecotalk:
• Signals names: di1, do2
For Epson-Spel:
• Signals names: INB1, OUTB2
• Send Signal: On 2
For Fanuc-Rj:
• Signals names: DI[1], DO[2]
For Igm-Ins:
• Signals names: di1, do2
For Kawasaki-As:
• Signals names: in1, out2
For Kuka-Krc:
There are two options. However, you use the KRL syntax in the activity.
• Fold syntax
o Signals names: DI[1], DO[2]
• KRL syntax
o Signals names: $IN[1], $OUT[2]
For Nachi-Slim:
• Signals names: I1, O2
For Panasonic-Csr:
• Signals names: i1#1, i1#2
For Reis-Robstar:
• Signals names: i1_0, o2_0
For Staubli-Val:
• Signals names: di1, do2
For Trallfa-Robtalk:
• Signals names: INPUT1, OUTPUT2
For Universal-URScript:
• Signals names: DI[1], DO[2]
• Wait Signal:
while get_standard_digital_in(1) == False
sync()
end
For Yaskawa-Inform:
• Signals names: IN#(1), OT#(2)
Activities
In the Signal example section, do the following activities:
• ABB — Creating a custom command to send and wait for signals
Objectives
After you complete this topic, you should be able to:
• Use a combination of a macro file and a custom OLP command.
Macro files must be stored in the defined macro folder under the system root (as defined in
The advantage of this solution is the fact that the original .cojt including only kinematics can be used.
The disadvantage of using this kind of macro is being it not flexible at all for any kind of equipment
change.
A much more and realistic way is turning the xyx_ riveter _rr_01 into a smart component (which
provides built in joint value sensors and the ability to move to a pose using a signal). The entries
and exists of this smart component could be connected to generic signal names which follow your
company standard.
Then you can reference these signals in your macro.
• Digital Output Signals:
o do9 used to move to open
The .macro file must already exist, since this tool checks for the file before offering it as
a choice.
Summary
Subjects learned in this topic:
• Got an overview of the capabilities in this area.
Purpose
Objectives
In this topic, you learn to create and use motion command customization XML files.
Objectives
Business process
IGM No
Kawasaki No
Kuka Yes
Kuka BMW (BMW only) No
Kuka Volvo (Volvo only) No
Kuka VKRC (VW only) No
Nachi No
NC Code Yes
NC Code BMW (BMW only No
NC Code Danobat (Danobat only) No
NC Code Riveting No
NC Code Riveting Embraer (Embraer only) No
Panasonic
Reis Yes
Staubli No
(ABB) Trallfa No
Universal (TBD)
Yaskawa (Motoman) No
A lot of companies have implemented their own standards to create a combination of existing
“official” robot motion commands with their own enhancements. Process Simulate supports these
requirements in the same way as for the Customized OLP user interface. This user customization
must be kept the flexible to allow customer "flavors" without the need to hard code them.
For each combination of location and process types (a column under the controller name section), a
different dialog can be used to edit the relevant robotic parameter.
• For weld locations, these options are shown:
Description
All the syntax of the OLPConfiguration elements can be used here as well.
Representation of Layers of motion commands:
Customized motion commands are stored in the Database only one time, but for each motion
command, there are three different representations. (User Interface, Simulation and Download)
The purpose of this service is to retrieve the right motion command representation according the
user needs.
In the XML file, for each location type and each process type, there is three layers:
1. UILayer – The user interface layer shows what is shown in Process Type column of Path Editor.
2. When the user chooses a value – a custom user interface is opened with the current values
displayed.
3. After setting the desired values and click OK, the values are set on all the referenced location
attributes.
The Customized Motion and Customized Debug columns can be added to the Path
Editor as well. If the location has not been customized, there won’t be a value in
these boxes.
In this topic, you learn about some additional elements of custom motion command XML files (as
apposed to custom OLP command XML files).
Objectives
o Dialog – Contains the Title and Description attribute and the RoboticParamRef element.
See the description provided earlier in this course.
o Motion – The type of motion with the following Types: 1 Joint, 2 Linear, 3 Slew, 4 Circular
Via, 5 Circular2, 6 Circular Radius, 7 Circular Full, and 8 Spline.
Objectives
After you complete this topic, you should be able to:
• Create and use a custom motion XML file
◊ Simulation layer
◊ Download layer
◊ Simulation layer
◊ Download layer
◊ Simulation layer
◊ Download layer
◊ Simulation layer
◊ Download layer
◊ Simulation layer
◊ Download layer
◊ Simulation layer
◊ Download layer
◊ Simulation layer
◊ Download layer
◊ Simulation layer
◊ Download layer
• The regular parameters – the service should find their value on the location,
• The controller parameters – the service gets their values by API from the controller.
• Finally, Process Simulate returns one string to the controller with everything it needs (or an
empty string if it required)
Activities
In the Motion command customization example section, do the following activities:
• ABB — Creating customized motion commands
Objectives
After you complete this topic, you should be able to:
• Know the capabilities and syntax of the file.
Business process
the controller used like the training course (for example N:\sysroot\OLP_config_files\<Controller
name>\PathTemplateConfiguration).
Users can assign any names they want to the XML configuration files.
The following are examples of simple actions:
• Action A: For the first seam location with the Polishing process type:
o Set RRS_MOTION_TYPE to 2.
Recall that motion type 1 is joint motion and 2 is linear motion. Other internal
names for attributes, such as RRS_MOTION_TYPE can be found using the
Robotic Parameters Viewer tool. This tool is described in the Final Comments
lesson of the course.
• Action B: For the last seam location with the Polishing process type:
o Set RRS_MOTION_TYPE to 2
• Use the custom path template XML in Process Simulate by choosing Operation tab→Templates
Capabilities
• Execute configurable templates of actions on list of operations
• Adding locations
• Support different templates for each controller, with and without parameters
Description
For robot path template XML files the RobotController element contains the ActionList and
ActionFilter elements.
• ActionList — This element contains a list of Action elements.
• ActionFilter
o SeamRange — Defines the seam operations (under the selected continuous compound
operation) upon which this action should be performed. The possible values are: All
(including all via and seam locations, this is the default value), First, Last, n1, Last – n1,
”n1-n2”, ”n1,n2,n3”.
o LocRange —Defines the locations on which this action should be performed. The possible
values are: All (this is the default value), First, Last, n1, Last – n1, ”n1-n2”, ”n1,n2,n3”,
Operation. The Operation value does not work with any other filters; use it only for OLP
commands, color, and motion for the selected operation level.
o LocationTypes — Filters the locations by their support for customized motion. The possible
values are: Via, Weld, Seam Start, Seam End, Seam Middle.
o Processtypes — Filters the locations by the process type defined in the customized motion
XML file (see also in Process Type column in the Path Editor). This attribute can take more
than one value.
o MotionTypes — Filters the locations by motion type. This attribute can take more than
one value.
o Description — The description of the action to be shown in the Apply Path Template Action
window in Process Simulate.
o etc.
• Olp — For a standard or controller specific controller, the system creates a free text command at
the location. For a standard customized controller, the system creates a composite command at
the location. If there is already an OLP command with the same name at the location, a new
OLP command is added.
• Color — The possible values are: Red, green, yellow, blue, magenta, cyan, orange, white, pink,
gray, brown, wood, dark green, dark red, dark brown, light blue, black.
• MoveLoc — This element describes the moving of locations in single or several coordinates. For
weld locations, only the Rx, Ry, Rz coordinates are set. If, however, these coordinates are bigger
or smaller than the range defined in the Option window, they are set to the minimum or maximum
value (unless IgnoreLimitations is set to True).
• Relocate — This element describes relocating locations according to the difference between two
TCP frames. For example, if you change a weld gun for another gun with a different x-axis.
o Add the following to the customized motion XML file:
• AddLoc — This element describes the creation of a new via location and setting its coordinates
in degrees (double) value. In the AddLoc element, the user should define what to do with the new
via location. Outside the AddLoc element, the system checks again that the filter is on the fixed
operation. It then continues with the new output of the filter.
If several locations pass the action filter, each location entering the operation may
change the location pointed to by RefLoc.
• ActionRef — This element describes a reference to a single existing action and is for reusing of
the XML action definitions.
Objectives
After you complete this topic, you should be able to:
• Learn more about how to create a Path Template file.
o Add a location before the first location in the path, offset -100 along the X-axis, and 100
along the Y-axis.
o Add a location before a location, offset -5 along the X, add an _01 suffix to the name, and set
its color to yellow. Also on these locations: set the zone to z30, the speed to v1000, and
the motion type to 1 (joint motion).
o Add a location after a location, offset -5 along the X, add an _02 suffix to the name, and
set its color to blue. Also on these locations: set the zone to z80, the speed to v600, and
the motion type to 1 (joint motion).
You do not need this XML file for this course. It is provided for reference.
Description="For the selected weld operation: \n - Add a via before the first weld \n - Set the app/ret
locs to fine zone, joint motion type, \n with a speed of 100%">
<AddLoc Name="approachViaLoc" Placed="Before" RefLoc="FIRST" RelX="-100">
<Param Name="Zone" Dynamic="True" Value="fine"/>
<Param Name="Motion Type" Dynamic="True" Value="PTP"/>
<Param Name="Speed" Dynamic="True" Value="100"/>
</AddLoc>
</Action>
<Action Name="Spot-weld Templates|Add Spot Retract Loc" LocRange="Last"
Description="For the selected weld operation: \n - Add a via before the first weld \n - Set the app/ret
locs to fine zone, joint motion type, \n with a speed of 100%">
<AddLoc Name="retractViaLoc" Placed="After" RefLoc="LAST" RelX="-100">
<Param Name="Zone" Dynamic="True" Value="fine"/>
<Param Name="Motion Type" Dynamic="True" Value="PTP"/>
<Param Name="Speed" Dynamic="True" Value="100"/>
</AddLoc>
</Action>
<!– Setup spot weld locations–>
<Action Name="Spot-weld Templates|Setup Spot-weld Locs" LocationTypes="Weld"
Description="For the selected weld operation: \n - Set the seam locs to nodecel zone, linear motion
type, \n with a speed of 150 mm/sec (350 IPM)">
<Param Name="Zone" Dynamic="True" Value="fine"/>
<Param Name="Motion Type" Dynamic="True" Value="LIN"/>
<Param Name="Speed" Dynamic="True" Value="150"/>
</Action>
<!– Apply all spot templates–>
<Action Name="Spot-weld Templates|Apply All" LocRange="All"
Description="Add Spot Approach Loc, \n Add Spot Retract Loc, \n and Setup Spot-weld Locs">
<ActionRef>Spot-weld Templates|Add Spot Approach Loc</ActionRef>
<ActionRef>Spot-weld Templates|Add Spot Retract Loc</ActionRef>
<ActionRef>Spot-weld Templates|Setup Spot-weld Locs</ActionRef>
</Action>
<!– *************************************** –>
<!– Add arc approach and retract locations–>
<Action Name="Arc-weld Templates|Add Arc Approach Retract Locs" LocRange="First"
Description="For the selected continuous feature operation: \n - Add a via before and after the seam
\n - Set the app/ret locs to fine zone, joint motion type, \n with a speed of 100%">
<AddLoc Name="approachViaLoc" Placed="Before" RefLoc="FIRST" RelZ="100">
<Param Name="Zone" Dynamic="True" Value="fine"/>
<Param Name="Motion Type" Dynamic="True" Value="PTP"/>
<Param Name="Speed" Dynamic="True" Value="100"/>
</AddLoc>
<AddLoc Name="retractViaLoc" Placed="After" RefLoc="LAST" RelZ="100">
<Param Name="Zone" Dynamic="True" Value="fine"/>
<Param Name="Motion Type" Dynamic="True" Value="PTP"/>
<Param Name="Speed" Dynamic="True" Value="100"/>
</AddLoc>
</Action>
<!– Setup arc seam locations–>
<Action Name="Arc-weld Templates|Setup Arc-weld Seam Locs" LocationTypes="Seam Start,Seam
End,Seam Middle"
Description="For the selected continuous feature operation: \n - Set the seam locs to nodecel zone,
linear motion type, \n with a speed of 150 mm/sec (350 IPM)">
<Param Name="Zone" Dynamic="True" Value="nodecel"/>
<Param Name="Motion Type" Dynamic="True" Value="LIN"/>
<Param Name="Speed" Dynamic="True" Value="150"/>
</Action>
<!– Apply all arc templates–>
<Action Name="Arc-weld Templates|Apply All" LocRange="All"
Description="Add Arc Approach Retract Locs \n and Setup Arc-weld Seam Locs">
<ActionRef>Arc-weld Templates|Add Arc Approach Retract Locs</ActionRef>
<ActionRef>Arc-weld Templates|Setup Arc-weld Seam Locs</ActionRef>
</Action>
<!– *************************************** –>
<!– Add paint approach and retract locations–>
<Action Name="Paint Templates|Add Paint Approach Retract Locs" LocRange="First"
Description="For the selected continuous feature operation: \n - Add a via before and after the seam
\n - Set the app/ret locs to fine zone, joint motion type, \n with a speed of 100%">
<AddLoc Name="approachViaLoc" Placed="Before" RefLoc="FIRST" RelZ="100">
<Param Name="Zone" Dynamic="True" Value="fine"/>
Activities
In the Robotic path template customization example section, do the following activities:
• ABB — Creating robotic path templates
In this topic, you learn about several other interesting features of the custom XML files.
Objectives
In the Path Editor, select several locations and click Set Locations Properties . In the
Set Locations Properties dialog box, set the process type for all locations, and then select the
Customized motion row, and click in order to open the window.
Picture attribute
The picture in the dialog changes dynamically according to the combo box selection. This aids you
in Selecting the correct gun.
Picture is an optional attribute. Its value is the relative path from the CustomizedPictures folder.
Under this folder, the user can manage pictures with nested sub folders as desired. For example:
The Help path is relative to .\eMPower\Robotics\Olp\CustomizedHelp (unless you have set the
CustomizedPath in the rrs.xml file).
If you wish to launch a URL, add the shortcut to the folder and the XML (using the shortcut name
and ".url").
• You can now launch the desired item over the net (internet or intranet).
• You can store all items on a single server and use shortcuts to access them.
You do not learn aboutDataConfiguration, since it is beyond the scope of this course. It is
a way to create your own data types which can be used in your custom .XML files.
Simulation keywords
Simulation keywords:
The following simulation keywords are supported and automatically substituted in macros, robot
modules, and XML simulation layers:
• ${Robot}
• ${ActiveGun}
• ${ActiveGunMainJoint}
• ${ActiveGripper}
• ${MoveToSingleLocation}: TRUE if the Move To Location command has been issued, FALSE
otherwise
Summary
Subjects learned in this topic:
• How to create an enhanced motion XML
Purpose
Objectives
Objectives
After you complete this lesson, you should be able to:
• See an overview of the process.
2. Define additional tabs for the Properties dialog box to view custom attributes in a more friendly
way. See the TR41213 Process Designer/Process Simulate Data Management, Variants, and
Importing course.
4. Setup the configuration file to show custom location attributes in the Path Editor. Described
in this training.
5. Define custom motion parameter or path template XML files that reference the custom location
attributes. Described in this training.
Custom mfg feature attributes are available in the Mfg Viewer Customize dialog box automatically.
4. Edit mfg feature custom attributes in the Excel spreadsheet or Properties dialog box
12. Download the main program file. This file can contain custom location information.
In Process Simulate standalone, you cannot create custom object types or attributes. However,
you can create studies based on a template from Process Simulate on eMS that already contains
customized object types and attributes.
Rivets and weld points are represented in the eMS database as WeldPoints or an
object type derived from WeldPoints . Your administrator can use the eM-Planner
Customization tool to add custom attributes to the object type you use to represent rivets
and weld points.
For example, you could add attributes such as Diameter, Length, and Sealant.
Define additional tabs for the Properties dialog box to view custom attributes in a more
friendly way.
For more information see the TR41213 Process Designer and Process Simulate Data
Management, Variants, and Importing course.
Custom attributes on Mfgs can be mapped to the locations that result from projecting
the Mfgs.
Although rivets and weld points could be created directly in Process Simulate one-by-one, they are
typically imported from an system where the Product Design group has authored them.
When running Process Simulate Standalone - eMS compatible, you can use the Import Mfgs
command to add Mfgs from external CAD programs to your study. If the imported Mfg already exists
in the study, it is updated from the CSV file. When you run Update eMServer after completing
your offline session, the new and updated Mfgs are uploaded to the eMServer database.
Prior to launching Import Mfgs , you must prepare a file in CSV format containing the Mfgs
to be imported.
The Name of the Mfg and its location fields X, Y, and Z are mandatory. If the file does not contain
exactly these fields, the import does not work.
If a leading part is defined for the Mfg but it does not exist in the study, the system
ignores the leading part and connected parts.
• Attributes (other than relation attributes) — add an Attribute_<Attr_Name> column to the CSV
file. For example, Attribute_Diameter, Attribute_Length, and Attribute_Sealant
• Class — this is a sub class of weld points. If there is no value, then a PmWeldPoint is created.
Attributes of the sub class are supported.
If the CSV file contains multiple Mfgs with the same name, none of them are imported.
If the study contains multiple Mfgs with the same name, the first Mfg in the study is updated
and the others are ignored.
If you have specified a leading part in the CSV file that occurs more than once in the study,
the first occurrence in the study is set and the others are ignored.
The system imports new Mfgs under the set "Current Operation". If no operation is set as
current, the system imports Mfgs under the Operations root.
2. Find your CSV file or use the Browse button to navigate to it and click Open.
3. Set Use Working Frame if you wish to import the Mfgs with coordinates relative to the working
frame or clear it to import the Mfgs with absolute coordinates.
4. Click Import.
The system imports new Mfgs under the set "Current Operation". If no operation is set as current,
the system imports Mfgs under the Operations root.
5. Click View Log File if you wish to view detailed information on the import results.
6. Save your PSZ file if you are satisfied with the results of the import.
The imported Mfgs are now displayed in the Operation Tree and Mfg Viewer.
• ParameterToAttributePair — There is one of these tags for each attribute mapping. It contains
one RoboticParameterName tag and one MfgAttributeNameMfgTypeName tag.
• MfgAttributeName — The attribute name from the Mfg feature must be entered exactly as it
is shown in the Mfg Viewer (case sensitive).
o MfgTypeName — Specify the name of the mfg feature type to be used that contains the
mfg feature attributes.
You can map an attribute's initial value from an mfg feature to a location. This can be done after the
mfg feature is projected and the mapping file is setup.
• Unless overwritten, the value of the robotic parameter remains the same as its related Mfg (and
updates automatically when the Mfg value is changed).
• If you change the corresponding value on the location, it no longer corresponds to the value of
the Mfg attribute and the modified value on the mfg is indicated by italic font in the Path Editor.
Because these are standard location attributes, they are already setup in the Robotic
Parameters Viewer, Path Editor, and Teach Pendant. So you only need to setup the
connection from the Mfg Viewer.
• Weld Time
o Shown as actionTime on a WeldPoint mfg in the Mfg Viewer.
<ParameterToAttributePair>
<RoboticParameterName>SW_TIME_ON_PT</RoboticParameterName>
<MfgAttributeName MfgTypeName="PmWeldPoint">actionTime</MfgAttributeName>
</ParameterToAttributePair>
<ParameterToAttributePair>
<RoboticParameterName>SW_WAIT_TIME</RoboticParameterName>
<MfgAttributeName MfgTypeName="PmWeldPoint">holdingTime</MfgAttributeName>
</ParameterToAttributePair>
</RoboticParametersToMfgAttributesMapping>
The following is an example of mapping a continuous Mfg attribute to a seam operation attribute
on Process Simulate on Teamcenter:
• Weld Time
<ParameterToAttributePair>
<RoboticParameterName>Test_ParamInt</RoboticParameterName>
<MfgAttributeName MfgTypeName="ArcWeldRevision">bl_sequence_no</MfgAttributeNam
</ParameterToAttributePair>
</RoboticParametersToMfgAttributesMapping>
For example, define relations between these mfg attributes and location attributes on Process
Simulate on eMS:
• Type
o Shown as Type on a Rivet mfg in the Mfg Viewer.
• Diameter
o Shown as Diameter on a Rivet mfg in the Mfg Viewer.
<ParameterToAttributePair>
<RoboticParameterName>Type</RoboticParameterName>
<MfgAttributeName MfgTypeName="Rivet">type</MfgAttributeName>
</ParameterToAttributePair>
<ParameterToAttributePair>
<RoboticParameterName>Diameter</RoboticParameterName>
<MfgAttributeName MfgTypeName="Rivet">diameter</MfgAttributeName>
</ParameterToAttributePair>
</RoboticParametersToMfgAttributesMapping>
3. In the Customize dialog box, browse under a group of attributes such as MfgFeature,
ContinuousMfg, or WeldPoint.
Activities
In the Attributes of mfg features and locations section, do the following activities:
• Looking at the existing mapping file
Objectives
After you complete this lesson, you should be able to:
• Look at the configuration file.
• The Section tag represents a group of attributes. It can contain an unlimited number of Column
tags. It contains this attribute:
If Column tags (location attributes) are not defined in a Section, they are displayed
under the General node in Customize dialog box.
o The SectionName attribute is the name of the group of attributes such as General, Default,
or Fanuc-Rj.
• The Column tag describes a single column (attribute). It is a mandatory tag and contains these
attributes:
o Id — The ID is the attribute name as shown in the Robotic Parameters Viewer. For custom
attributes, this is the value shown in the mapping file. For example: RRS_MOTION_TYPE.
o Header — The displayed header of the column. For example: you may want the header for
RRS_MOTION_TYPE to be Motion Type.
o Units — (Optional) The supported units are: angular, linear, mass, time, and none. The
units define whether the attribute value represents a length, angle, etc. When units are
specified, the attribute value is converted according to the specified unit type and unit system
that is currently in use. For example: an attribute representing an angle is stored internally in
radians. To display it in degrees, you change the current angular units in the Options dialog
box to degrees (default).
o Alignment — (Optional) The attribute can be displayed: left, center or right justified. The
default is left justified. Alignment definitions are not case sensitive.
o ValueType — The ValueType declares how the attribute values are stored. The combination
of the ValueType and of the DisplayType should define the display format. The type
definition is not case sensitive. The available ValueTypes are:
■ Frame — The name of the selected frame is displayed.
■ String — Displayed as a string, or by the defined string per value if the DisplayType is
a Combobox.
■ Double — Displayed as a double (floating) number, or by the defined string per value, if
the DisplayType is a Combobox.
o Access —The access to the attribute value can be "R" for read only, "RW" for read and
write, or "RX" for read and execute.
• Display — (Optional) A tag that contains both the value limitations (min and max values) and
the displayed text for attribute value. It is located under the Column tag and contains the
following optional attributes:
o MaxVal — The maximum displayed value. If the attribute value is bigger than this value, the
word "Illegal" is displayed instead of the attribute value. This attribute is relevant for the
integer, double float, and time ValueType only.
o MinVal — The minimum displayed value. If the attribute value is smaller than this value the
word "Illegal" is displayed instead of the attribute value. This attribute is relevant for the
integer, double, float, and time ValueType only.
o DisplayType — (Optional) Its main purpose is editing the attributes and defining the value's
representation. The display type can be one of these types:
■ Combobox — used to define arrays (multi value attributes). Using the combobox
DisplayType requires the definition of the ComboDef tag.
• The ComboDef tag contains the ElmDef tag. This is used for displaying meaningful string value
instead of the value of the attribute. The ComboDef is located under the Display tag. The
ElmDef tag contains two attributes:
o Name — The meaningful display value.
o Value — The attribute’s real value that causes the above name to be displayed. If for a given
attribute value no set of ElmDef is defined, the real value is displayed instead.
<Root>
<Section SectionName="Fanuc-Rj">
</Section>
</Root>
3. In the Customize dialog box, browse under a group of attributes such as General, Default, or
Fanuc-Rj.
Activities
In the Showing custom attributes in the Path Editor section, do the following activities:
• Setting up and seeing custom attributes in the Path Editor
Summary
Subjects learned in this topic:
• Attributes of mfg features and locations.
Purpose
To various other interesting topics related to robotics that have not been covered in the previous
courses.
Objectives
Objectives
After you complete this topic, you should be able to:
• Review the multi-step OLP procedure.
2. Verify robot and study installation — This step is done by the robot programmer, who uses
the OLP materials to verify that the robot, tool, and study infrastructure match the Process
Simulate layout.
3. Generate robot program and download — The final step is combined action by the process
designer and robot programmer. The user creates the robot program, which is input by the
robot programmer.
Final notes
Normally at some point you would begin developing simulative operations (paths) and organizing
them within a process. However since the steps to develop and analyze paths for different types
of operations are a little different (and are a little different for each type of simulative operation),
there are other courses to describe it.
• Device and robotic processes – Covered in more detail in these courses:MT45115, MT45215,
and MT45315.
• Assembly processes without the constraint of a human or a robot – Covered in more detail
in this course: MT45101.
Summary
Subjects learned in this topic:
• An overview of creating an OLP procedure
Purpose
In this lesson, you learn about some optional advanced topics related to OLP.
Objectives
Segmentizer
Purpose
In this topic, you learn how to use the Segmentizer to create robot programs.
Objectives
After you complete this topic, you should be able to:
• Segmentize a robotic operation
Segmentizer basics
This tool has own executable which must be installed first. It can be
downloaded from the GTAC FTP site separately from Process Simulate: from
https://download.industrysoftware.automation.siemens.com/tecnomatix, browse to
Planning Applications→Robot Controllers→v14.1→Tools→Segmentizer and
download it (either 32 or 64 bit).
The segmentizer can be used to divide one path into several for downloading.
• Use it to go from one early up-front single path to multiple paths by breaking it up by logic (also
known as a keyword).
• Use it to just create the scheduler for only one path if no key word is added to break up the path.
Need criteria to say how to split it (for example the wait signal).
Controlling logic is in the main program not in the path.
Workflow:
• Select a compound operation (which contains at least one robotic operations) or a robotic
program to enable the Segmentizer button and click it.
• The Segmentizer uses the settings from the Segmentizer Setup to search segmentizing
commands and to name the segments.
• The Segmentizer segments all robotic operations inside the compound operation/robotic
program and create an additional robotic operation, called the Scheduler which contains the
calls to the segments and the segmenting commands. This scheduler is created inside the
selected compound operation (in case you segment a compound operation), or inside the parent
compound operation of the first robotic operation (in case you segment a robotic program).
• In case you segment a compound operation, the Segmentizer also creates a Robotic Program
from the Scheduler and segments operations.
• Continuous operations:
• Only the last seam location of a seam operation can contain segmentizing commands.
■ weld3
■ weld5
■ via6
Result is:
• Compound operation
o WeldOperation1Seg1
■ via1
■ via2
o WeldOperation1Seg2
■ weld3
■ via4
o WeldOperation1Seg3
■ weld5
■ via 6
o Scheduler
The resulting compound operation contains a schedule and creates a robotic program automatically.
Continuous Operation Example:
Start with:
• Compound operation
o ContinuousOperation1
■ via1
■ via2
■ SeamOperation1
◊ SeamLoc3
■ via5
■ SeamOperation2
◊ SeamLoc6
◊ SeamLoc7
◊ SeamLoc8
Result is:
• Compound operation
o ContinuousOperation1Seg1
■ via1
■ via2
■ SeamOperation1
◊ SeamLoc3
o ContinuousOperation1Seg2
■ via5
■ SeamOperation2
◊ SeamLoc6
◊ SeamLoc7
◊ SeamLoc8
o scheduler
The resulting compound operation contains a schedule and creates a robotic program automatically.
Unsegmentizer Workflow:
• To enable the UnSegmentizer button a selected compound operation, which have been
previously segmentized, must be selected (for example contains Scheduler and at least one
robotic operation).
• The UnSegmentizer uses the settings from the Segmentizer Setup to search segmentizing
commands and to name the segments.
• The UnSegmentizer unsegmentizes all robotic operations inside the compound operation in order
to recreate the compound operation as it was before segmentation was performed.
• It moves the segmentize instructions back to the location, join the segments and remove the
scheduler operation.
Activities
In the Segmentizer section, do the following activities:
• Segmentizing a robotic operation
In this topic, you compare various methods for handling robot macros.
Objectives
• Robot Module - (for example tip dress/counter, sub program), setting up logic that can be
simulated.
o Can load modules from the program
OLP Customization:
Later in this course, you learn how to create customized OLP and Motion commands and which
ESRC support it.
• User editable configuration XML file including:
o UI description - Parameter names, ranges, dependencies, default values, etc.
• Option 3: close gripper using logic (for example a logic block/smart component)
Details of Options:
• Option 1a: gripper device and gripper locations
• So need to cancel existing motion and them start it again with another point
• Can avoid not knowing the start point between 2 paths by always stopping at the same point.
Objectives
After you complete this topic, you should be able to:
• Import a file downloaded from Robcad into this system.
This is not the primary way to upload directly from the robot to Process Simulate. This
technique is for a special situation where you want to transfer paths, which were uploaded
to Robcad, to Process Simulate. For the more typical case of uploading directly from the
robot to Process Simulate, see the next lesson.
• Select robot.
• For Robcad Attributes, define path to the Robcad attributes file. The default attributes
file is located under $Robcad\dat
• For Standard Settings, there are pre settings for some robots such as ABB, Fanuc and Kuka.
• Click Add, select Robcad programs (*.default), and select program files to add to the list.
• Click Upload.
Objectives
3. All the object parameters (with their value) are automatically displayed in the viewer.
4. You can select another object while the RoboticParametersViewer is open and it updates the
parameters list.
Objectives
After you complete this topic, you should be able to:
• Know more about robot modules.
• Robot modules should be loaded / edited with the Robot Modules standard tool in Process
Simulate.
• Those modules can contain any number of procedures or functions defined in the controller
native language syntax (standard controller syntax [# commands] can also be used if needed in
the procedure body)
• In the teach pendant, the procedure/function calls should be entered manually, in free text, in the
controller native language syntax.
• In simulation, the procedure call is replaced by the procedure body (in which the procedure
parameters have been replaced with the call arguments).
Cloos No
Comau Yes
Comau Volvo (Volvo only) Yes
Denso
Duerr No
Epson No
Fanuc CFLEX (F100iA) No
Fanuc Yes
Fanuc Japan (Japan only) Yes
Fanuc VW (VW only) Yes
IGM No
Kawasaki No
Kuka Yes
Kuka Volvo (Volvo only) Yes
Kuka VW (VW only) Yes
Nachi No
NC (machining) No
NC (riveting) No
Panasonic
Reis No
Staubli No
Trallfa No
Universal
Yaskawa / Motoman No
Basic Usage:
1. Find a robot in the Graphic Viewer or Object Tree.
NC Code Robot Setup dialog box – first Panasonic specific MotionParameters.e for
buttons . . . . . . . . . . . . . . . . . . . . . . 3-30 zones . . . . . . . . . . . . . . . . . . . . . . . 1-18
NC motion attributes . . . . . . . . . . . . . . 3-89 Panasonic Supported configurations . . . . 3-6
NC specific MotionParameters.e for Panasonic-Csr - Beyond signals . . . . . . 5-62
zones . . . . . . . . . . . . . . . . . . . . . . . 1-18 Path template basics . . . . . . . . . . . . . 8-10
NC supported configurations . . . . . . . . . 3-6 Path template example basic . . . . . . . . 8-17
NC-Code — Beyond signals . . . . . . . . 5-61 Picture attribute . . . . . . . . . . . . . . . . . 8-24
PProcess overview . . . . . . . . . . . . . . . 1-42
O Preparation . . . . . . . . . . . . . . . . . . . . 1-48
Problems that can occur without considering
OLP Basics . . . . . . . . . . . . . . . . . . . . . 1-2 OLP issues . . . . . . . . . . . . . . . . . . . 1-44
OLP command basics . . . . . . . . . . . . . . 5-2 Process download . . . . . . . . . . . . . . . 4-16
OLP command conditions . . . . . . . . . . . 5-8 Process generation . . . . . . . . . . . . . . . 1-42
OLP command customization . . . . . . . . . 7-1 Process simulation and robot
OLP command customization basics . . . . 7-2 configurations . . . . . . . . . . . . . . . . . 3-99
OLP command XML file requirement for Process to program . . . . . . . . . . . . . . 1-43
example . . . . . . . . . . . . . . . . . . . . . 7-24 Process upload from Robcad . . . . . . . . . A-8
OLP Command XML Structure Program creation . . . . . . . . . . . . . . . . 3-98
Example . . . . . . . . . . . . . . . . . . . . . 7-16 Program creation basics . . . . . . . . . . . 3-98
OLP commands section basics . . . . . . . 7-13 Program template basics . . . . . . . . . . . . 4-2
OLP Commands Section of the File . . . . 7-13 Program template selection . . . . . . . . . . 4-3
OLP configuration file basic elements . . . 7-8 Program templates for downloading . . . . 4-2
OLP dialogs section basics . . . . . . . . . 7-15 Putting it all together . . . . . . . . . . . . . . 10-3
OLP dialogs section of the file . . . . . . . 7-15
OLP in process design . . . . . . . . . . . . 1-44 R
OLP introduction . . . . . . . . . . . . . . . . . 3-2
OLP software packages . . . . . . . . . . . . 1-6 RCS connection testing basics . . . . . . . 3-38
Operation Tree . . . . . . . . . . . . . . . . . . . 1-4 RCS logs . . . . . . . . . . . . . . . . . . . . . 3-38
otes on conditional statements . . . . . . . . A-7 RCS management . . . . . . . . . . . . . . . 3-40
Other customizations . . . . . . . . . . . . . . 9-1 RCS management basics . . . . . . . . . . 3-40
Other default controller examples . . . . . . 2-7 RCS shell . . . . . . . . . . . . . . . . . . . . . 3-38
Other XML customization topics . . . . . . 8-23 Reis motion attributes . . . . . . . . . . . . . 3-91
Output file basics . . . . . . . . . . . . . . . . 4-22 Reis Robot Setup dialog box —
Overview of customizing robot controller continued . . . . . . . . . . . . . . . . . . . . 3-71
interfaces . . . . . . . . . . . . . . . . . . . . . 7-2 Reis Robot Setup dialog box – first
Overview of Robot Modules . . . . . . . . . A-16 buttons . . . . . . . . . . . . . . . . . . . . . . 3-32
Overview of Robotic Operation Merge . . 4-27 Reis signal definition . . . . . . . . . . . . . . 5-17
Overview of setting up MOP-based and Reis specific MotionParameters.e for
RCS-based robot controllers . . . . . . . . 3-2 zones . . . . . . . . . . . . . . . . . . . . . . . 1-19
Reis supported configurations . . . . . . . . 3-6
P Reis: Sending and waiting for signals . . 5-27
Reis-Robstar — Beyond signals . . . . . . 5-63
Panasonic motion attributes . . . . . . . . . 3-89 Reset RCS module . . . . . . . . . . . . . . . 3-40
Panasonic Robot Setup dialog box — Review of robot programs and robot
continued . . . . . . . . . . . . . . . . . . . . 3-70 signals . . . . . . . . . . . . . . . . . . . . . . 2-14
Panasonic Robot Setup dialog box – first Robcad upload basics . . . . . . . . . . . . . . A-8
buttons . . . . . . . . . . . . . . . . . . . . . . 3-31 Robot configuration basics . . . . . . . . . . 3-99
Panasonic Sending and waiting for Robot configuration selection basics . . . . 2-8
signals . . . . . . . . . . . . . . . . . . . . . . 5-26 Robot controller . . . . . . . . . . . . . . . . . . 2-3
Panasonic signal definition . . . . . . . . . 5-16 Robot controller application support . . . . 3-9
W
What is calibration? . . . . . . . . . . . . . . . 6-2
Day 2 Morning
Lesson 3 ESRC Setup and Motion Parameters
Lesson 4 Uploading and Downloading
Afternoon
Lesson 5 ESRC OLP Commands
Lesson 6 Calibration
Day 3 Morning
Lesson 7 OLP Command XML Customization
Lesson 8 Motion and Robotic Path Template XML Customization
Afternoon
Lesson 8 Motion and Robotic Path Template XML Customization (continued)
Lesson 9 Final Comments
Appendix (optional
Optionally, discuss topics from the appendix
topics)
Classroom data sheet
This table is provided so students can record their classroom setup, as described by the instructor.
Optionally, instructors may hand out a preprinted data sheet.
Data item Data value
OS user ID
OS password
User number
rrs_bin folder
Headquarters
Europe
Granite Park One
Stephenson House
5800 Granite Parkway
Sir William Siemens Square
Suite 600
Frimley, Camberley
Plano, TX 75024
Surrey, GU16 8QD
USA
+44 (0) 1276 413200
+1 972 987 3000
Asia-Pacific
Americas
Suites 4301-4302, 43/F
Granite Park One
AIA Kowloon Tower, Landmark East
5800 Granite Parkway
100 How Ming Street
Suite 600
Kwun Tong, Kowloon
Plano, TX 75024
Hong Kong
USA
+852 2230 3308
+1 314 264 8499