MT43315 S 141 v5 Advrobotics
MT43315 S 141 v5 Advrobotics
MT43315 S 141 v5 Advrobotics
Student Guide
October 2018
MT43315 – Version 14.1
Course description
The Process Simulate on Teamcenter 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
Purpose
To discuss the basics of Off-Line Programming with Process Simulate.
Objectives
After you complete this chapter, you should be familiar with:
• An overview of OLP.
• The basics of RRS, RCS, and the ESRC (Emulated Robot Specific
Controllers).
Purpose
In this topic, you are introduced to OLP.
Objectives
After you complete this topic, you should be able to:
• Get some basic background in OLP.
• Uploading — the process of importing a text file of the program into a system
or robot controller.
Restricted © Siemens AG 2018
• Program File — A task is a textual format of the robot work plan which
includes motion commands and parameters.
Restricted © Siemens AG 2018
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.
Purpose
In this topic, you add a worker to the station.
Objectives
After you complete this topic, you should be able to:
• Add a worker to the stations.
The center of the Process Simulate universe is the operation tree of the loaded
scene.
Studies can contain four types of data. The actual content depends on the
shortcuts that have been added to the scene and the relationships of the data to
objects in the operation tree:
• Product
• Operation
• Resources
• Manufacturing Features
• “Engineering Data”
The operation tree contains a structure that typically starts with a station. This
station contains several compound operations sequenced together. This initial
structure could have been setup in Teamcenter and is farther detailed and
validated in Process Simulate. 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 TR43101, TR43106, TR43115, and TR43215 courses).
• Seam Locations — locations that move the robot along the contour of the part
• Speed
Restricted © Siemens AG 2018
• 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
Restricted © Siemens AG 2018
• 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.
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.
Purpose
In this topic, you learn about robot models used in this system, including the
MotionParameters.e file.
Objectives
After you complete this topic, you should be able to:
• Know where to find the robot models you need.
One of the first factors that must be considered when doing OLP is the robot
model. There are several questions that can be asked. For example:
Does a robot model for my real robot already exist in Process Simulate? Answer:
There are several places to go to find robot models:
• Method 1: In Robcad data you may have from old projects. The advantage
here is that you may already have the proper robot models and related
configuration files already gathered in one place.
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.
You learn more about downloading files from GTAC later in this course.
• 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
Kawasaki Robotics:
https://robotics.kawasaki.com/en/index.html?language_id=1
oKuka Robotics: http://www.kuka-robotics.com/en/ o
Panasonic Robotics:
https://eu.industrial.panasonic.com/products/robot-welding-system-solutions
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.
Here is an example of the steps required to bring a new robot into the system:
1. Browse to https://download.industrysoftware.automation.siemens.com.
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.
8. Continue to the next page to see how to use the robot model in the system.
5. Click Next.
6. Click Assign.
For the sake of your discussion, assume that you have a robot model
named abb_irb2400_10.co.
5. Drag the abb_irb2400_10.jt file from the Windows Explorer and drop it on
the abb_irb2400_10_user_id robot revision within Teamcenter.
7. Click OK.
9. Drag the motionparameters.e file (or .e file) from the Windows Explorer and
drop it on the abb_irb2400_10_user_id robot revision within Teamcenter.
Functionality
• In Process Simulate the motionparameters.e file is used during simulation.
It must beplaced in a ProcessSimulateMotionParams dataset associated
to the robot’s ItemRevision
In Robcad, the motionparameters.e file was known as the .e file.
• Allows the use and editing of former Robcad .e files when placed in
a ProcessSimulateMotionParams dataset associated to the robot’s
ItemRevision
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.
Rotational Motion Linear Motion
Velocity radians per second millimeters per second
Acceleration radians per second millimeters per second
squared squared
Deceleration radians per second millimeters per second
squared squared
Jerk radians per second cubed millimeters per second
cubed
A common error is to supply rotational values in degrees, resulting in very
high speeds producing extremely short cycle times.
All robot motion is planned mathematically. Two basic plans, or types, of motion
exist for both actual and simulated robots: joint motion and Cartesian motion.
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
Restricted © Siemens AG 2018
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.
The inverse algorithm used to effect Cartesian motion usually produces two
or more solutions, combinations of joint values which enable the robot to
superimpose its TCPF on the target location. Each such combination of joint
values, or configuration, can be stored with a location in order to require the robot
to reach the location with the desired configuration. This consideration pertains
only to Cartesian motion.
In addition, a rotational joint capable of multiple turns may produce for the same
location many inverse solutions which are actually the same, but with the values
of the joint differing by multiples of 360 degrees. In order to distinguish between
these solutions, the range of such a joint is divided into subranges of 360 degrees
(a full turn) which themselves are identified by names. The desired turn for a joint
when the robot arrives at a location can be stored with the location. Moving to
these locations by joint motion only puts the joints in the position corresponding
to the turns recorded with the location. The recorded turns are ignored during
Cartesian motion; the motion itself determines the actual turns.
• rel_dist
• speed
Restricted © Siemens AG 2018
• 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.
Restricted © Siemens AG 2018
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;
For robot configurations, you should enter these motionparameters.e config and
turns entries to properly record the configurations on the locations:
• config_family cf_over_head_pos;
• joint_config_family j3 joint_cf_elbow_up;
• joint_config_family j5 joint_cf_pos;
• Speed:
o Speed value in % is converted to mm/s (via cart_max_lin_speed entry
in MotionParameters.e) for linear motions.
For other motion types besides no decel, it uses the closest distance Cartesian
zone defined in the MotionParameters.e file.
zone_define fine no_smooth;
zone_define z1 dist speed cartesian 10.0;
zone_define z2 dist speed cartesian 20.0;
zone_define z3 dist speed cartesian 30.0;
zone_define z4 dist speed cartesian 40.0;
zone_define z5 dist speed cartesian 50.0;
zone_define z6 dist speed cartesian 60.0;
zone_define z7 dist speed cartesian 70.0;
zone_define z8 dist speed cartesian 80.0;
zone_define z9 dist speed cartesian 99.5;
For other motion types besides no decel, it uses the closest distance Cartesian
zone defined in the MotionParameters.e file.
zone_define fine no_smooth;
zone_define medium speed cartesian 5.0;
zone_define sp_zone1 speed cartesian 10.0;
zone_define sp_zone2 speed cartesian 20.0;
zone_define sp_zone3 speed cartesian 30.0;
40.0;
zone_define sp_zone4 speed cartesian
50.0;
zone_define sp_zone5 speed cartesian
60.0;
zone_define sp_zone6 speed cartesian
zone_define coarse speed cartesian 75.0;
zone_define nodecel speed cartesian 99.5;
zone_define nodecel speed joints 99.0 99.0 99.0 99.0 99.0 99.0;
The zone is shown in the teach pendant as:
fine
Restricted © Siemens AG 2018
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
For other motion types besides no decel, it uses the closest distance Cartesian
zone defined in the MotionParameters.e file.
zone_define fine no_smooth;
zone_define z1 dist cartesian 1;
zone_define z2 dist speed cartesian 2;
zone_define z10 dist speed cartesian 10;
zone_define z20 dist speed cartesian 20;
zone_define z50 dist speed cartesian 50;
zone_define z100 dist speed cartesian 100;
zone_define z200 dist speed cartesian 200;
zone_define z500 dist speed cartesian 500;
zone_define z1000 dist speed cartesian 1000;
The zone is shown in the teach pendant as:
fine
z1
Restricted © Siemens AG 2018
• cart_max_rot_acc <accInRadS2>
Purpose
In this topic, you get introduced to the concepts of MOP, RCS, and RRS.
Objectives
After you complete this topic, you should be able to:
• Better understand MOP, RCS, and RRS.
Process Simulate’s motion planner controls the trajectory and cycle-time of all
motions. It also determines if a motion is possible, and also can give error
messages if a motion request exceeds the capability of the modeled mechanism.
There are several different types of robot controllers available:
• DCM (also known as MOP) – the default robot controller. No RCS license
is required.
DCM – Dynamic Controller Model
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:
Restricted © Siemens AG 2018
Purpose
In this topic, you see the connection from MOP and RRS to ESRC.
Objectives
After you complete this topic, you should be able to:
• Know the history of RRS and ESRC.
RRS1:
• Developed a long time ago (around 1990).
• Motion planning of robot to communicate to simulation software
o Interpolation
oTransformation
oKinematics modeling o
Machine data
o External axes
oConveyor synchronization o
o Error messages
Restricted © Siemens AG 2018
o Robot interlocks
RRS2:
Restricted © Siemens AG 2018
• 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
Restricted © Siemens AG 2018
• Can create XML customization files (OLP commands and motion commands).
• Non-boolean signals
• Macro
Purpose
In this topic, you learn how to setup the RCS.
Objectives
After you complete this topic, you should be able to:
• Configure Process Simulate to access the RCS/RRS
• 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 scene in the Robot Properties dialog box.
For example:
Restricted © Siemens AG 2018
Since this lesson deals specifically with setting up the RCS, nothing needs to be
done for MOP-based robot controllers. By definition, only RCS-based controllers
have an RCS.
For RCS-based controllers, each robot manufacturer has implemented their RCS
differently. Each has some software in a folder under the rrs_bin folder. In some
cases, the entire RCS is found here. In other cases, this folder many contain the
RCS client with the RCS server and license server in different folder or on other
computers (such as a centralized server).
From the perspective of Process Simulate, the RCS is considered 3rd party
software. this means that it is developed and supported directly by the robot
manufacturer.
In the Setting up the RCS and RRS (Part 1) section, do the following activities:
• ABB — Setting up the RCS (Discussion Only)
Purpose
In this topic, you learn how to setup the ESRC robot controllers.
Objectives
After you complete this topic, you should be able to:
• Setup the robot controller.
In this lesson, you discuss downloading and installing the latest Process Simulate
robot controller from the GTAC site.
For example:
Robot Manufacturer Language
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
Restricted © Siemens AG 2018
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)
Purpose
In this topic, you learn how to setup the RRS.
Objectives
After you complete this topic, you should be able to:
• Set the basic RRS.
• 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.
• ModuleName — the absolute path and name of the executable that is the
RCS.
The major step covered in these activities is the configuration of the RRS.xml file.
The configuration of this file is required for RCS-based robot controllers, but is
optional for MOP-based robot controllers.
For RCS-based controllers, it is used to reference the RCS under the rrs_bin
folder. For most RCS-based robot controllers you need to add a section to this file
for each robot controller and for each version of the controller (accept for Fanuc).
One reason to setup a section in this file for MOP-based controllers is if you would
like to place your customer specific configuration files for a robot controller in a
different folder other than the default. 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.
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)
Purpose
In this topic, you get an overview of the process.
Objectives
After you complete this topic, you should be able to:
• Get a basic overview of the steps to create a process and then output it as a
program for the real robot.
• Place Robot
• Conveyor setup
4. Fully verified robot programs are completed and ready for downloading. (Topic
covered in TR43315 Process Simulate on Teamcenter Advanced Robotics)
• Sending a process to a robot using OLP
• Etc.
3. Teach local locations for process using correct motion type at each location.
Purpose
In this topic, you learn about using OLP to design a process.
Objectives
After you complete this topic, you should be able to:
• Know problems that can occur without considering OLP issues
4. The shop floor engineer does not understand the total control scheme.
Restricted © Siemens AG 2018
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
Example:
• Using the required robot controller, test a sample of the programs you
generate. Identify a program certification process/authority. What is the
required program structure?
Example:
• What robot is used?
Example:
• Setup kinematic devices and robot tools.
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.
4. Use naming conventions from the very beginning (weld locations, via points,
pounce, home, maintenance, safe, tip dress, etc.).
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.
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.
Purpose
In this topic, you get an overview of how to prepare the environment.
Objectives
After you complete this topic, you should be able to:
• Get an idea of now to prepare the environment.
Overview
1. CAD geometry is latest revision of workpiece.
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.
Robot inaccuracies:
• Geometric model (link lengths, joint limits, joint direction)
• 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
Restricted © Siemens AG 2018
Workpiece:
• CAD model variances
• Manufacturing tolerances
Layout:
• Installation errors
• Tolerances
External devices:
(positioner, gantry, rotary tables, 7th axis, etc.)
Purpose
To provide information on the default controller, ESRC’s (Emulated Specific Robot
Controller) and robot programs.
Objectives
After you complete this chapter, you should be familiar with:
• The basic motion attributes.
Purpose
In this topic, you learn how modify basic motion attributes using the default
controller.
Objectives
After you complete this topic, you should be able to:
• Motion attributes basics.
• Robot controller.
You start by using the default controller to talk about the basic theory of motion
attributes. Later in this course, you revisit this topic using robot specific motion
attributes. Much of the information in this lesson is a review from previous
Process Simulate training.
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.
On the Default controller, motion type refers to joint motion, linear motion, or
circular motion. Proper selection of motion type is very important in the design of
the process.
• Motion Type — Describes how a robot moves to this location. For example
here are two most common motion types found in the default controller:
o Joint (PTP) — Typically causes the robot to move the quickest between
locations (usually resulting in a curved path).
• Linear (LIN) motion should be used where high accuracy of the TCP track is
required; robot speed may be somewhat curtailed.
o No Decel — cause the robot to not slow and “approach” the location
(However, arrival is not a requirement).
• 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:
Restricted © Siemens AG 2018
• 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 scene.
• Speed
o Speed for Joint (PTP) motion is measured as a percent of the maximum
speed.
These attributes can be viewed and edited in several ways in Process Simulate:
• Teach Pendant dialog box
In the Basic motion attributes (default controller) section, do the following activities:
• Set up the macro folder
Purpose
In this topic, you learn how to view and select robotic configurations.
Objectives
After you complete this topic, you should be able to:
• Select a solution (robot configuration).
In several cases, a robot has more than one choice for inverse kinematics (robotic
joint angle selection to reach a specific location with its TCPF). This lesson
investigates some of the factors affecting inverse kinematics solution selection. In
robotics, the inverse kinematic solution is also known as a robot configuration.
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.
• You auto teach and store your configuration on a location which may be
diffident than the RCS.
The Robot tab→Reach group→Jump to location command uses
simple kinematics (not RCS) to calculate the configuration.
• 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.
• Path Editor
4. Click Teach.
5. OR you can select a turn by clicking
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
Restricted © Siemens AG 2018
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)
• “Historical view” — the values of the information are visible over time
• 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.
For more information on external axis usage and kinematic definition, see
the TR42115 Process Simulate on Teamcenter 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.
Restricted © Siemens AG 2018
• Robot Viewer
This topic reviews some of the robot programs and robot signal topics from the
course.
• Robot Signals
• Status Signals
Restricted © Siemens AG 2018
• Robot Program
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.
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).
Restricted © Siemens AG 2018
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)
• 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.
• Are only be executed using robot program parameters (robot status signals)
The following schematic diagram shows the general robot behavior based on
a path view:
Purpose
In this topic, you learn how to create robot programs using the default controller.
Objectives
After you complete this topic, you should be able to:
• Use a couple methods to create and edit a program.
In order to download paths you need to make a program. The robot program is
used to organize the robot operations in a specific order and enumerate them.
• A program is an object
• Used to add robot paths to a program by drag and drop to the program
• Paths inserted in the new robotic program are retained by the robotic
programs to which they have previously been assigned.
• 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>".
Purpose
To describe how to setup and setup and add motion parameters to paths using
emulated robot specific controllers (ESRC).
Objectives
After you complete this chapter, you should be familiar with:
• Got an overview of OLP features.
• How to setup a basic robotic scene that you can use to learn about ESRC.
• How to set specific controllers motion attributes using the teach pendant.
Purpose
In this topic, you learn how using a specific controller differs from using the default
controller.
Objectives
After you complete this topic, you should be able to:
• Overview the basic steps to setup a robot controller
There are several steps required to setup up MOP-based and RCS-based robot
controllers.
Overview of setting up a MOP-based simulation
1. Select a supported robot configuration (for example a robot with a gripper
mounted) as described later in this lesson.
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).
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.
7. Setup the tool frame and base frame definitions. They are stored at the
scene level.
8. Setup the desired attributes on the teach pendant and run the simulation.
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 scene 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.
Restricted © Siemens AG 2018
7. Setup the tool frame and base frame definitions. They are stored at the
scene 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 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
• Brotje machine
• Robot on a gantry
• Robot on a rail
• Robot on a rail
Purpose
In this topic, you learn how to a basic scene.
Objectives
After you complete this topic, you should be able to:
• Setup a Scene to access a controller.
In this lesson, you load a scene, 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 TR43115 Process Simulate on Teamcenter Basic Robotics
Simulation course.
Purpose
In this topic, you learn how to select the robot controller for a specific robot.
Objectives
After you complete this topic, you should be able to:
• Select a robot controller.
Selecting the Controller affects this information for the selected robot instance:
• The motion planner used during simulation (for example RCS-based or
MOP-based)
• 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:
Restricted © Siemens AG 2018
• 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
Restricted © Siemens AG 2018
o Set either on the Robot Properties dialog box or the Robot Setup
→Controller version dialog box.
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 scene: See the s4c.cfg, s4cplus.cfg, or irc5.cfg files under the
ABB RCS install folder.
Comau:
Restricted © Siemens AG 2018
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).
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.
Purpose
In this topic, you learn how to set up various robot controllers.
Objectives
After you complete this topic, you should be able to:
• Setup a robot controller for a robot.
In this lesson you discuss basic controller setup using the Robot Setup dialog box.
This button can be found in two places:
• Method 1: Click Robot Setup on the Robot Properties dialog box opened
for a specific robot.
Robot Setup is located on the Robot Properties dialog box. To open this dialog
box:
1. Right-click a robot in the Graphic Viewer and Selecting Robot
Properties .
2. In the Robot Properties dialog box, click the
Robot Setup is located in every Teach Pendant dialog box. To open this dialog box:
• Right-click a robotic path in the Operation Tree (the robot must be assigned to
operation) and choose Teach Pendant .
• Create / Update System Frames – Creates all ABB system frames (if not
already existing) and places them in the scene with respect to the machine
data:
o <robot>.w - robot controller world frame created in the Frames folder
of the Object Tree.
o Pushing this button resets the tool frame and wobj frame in the scene to
its initial positions corresponding to data definition
Restricted © Siemens AG 2018
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 scene with respect to the machine
data:
o <robot>.w - robot controller world frame created in the Frames folder
of the Object Tree.
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.
Restricted © Siemens AG 2018
• Create/Update System Frames - Creates all Epson system frames (if not
already existing) and places them in the scene with respect to the machine
data:
o <robot>.w - robot controller world frame created in the Frames folder
of the Object Tree.
o Pushing this button resets tool frame and wobj frame in the cell on its
initial positions corresponding to data definition
• 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.
• Create/Update System Frames — Creates all IGM system frames (if not
already existing) and places them in the scene with respect to the machine
data:
o <robot>.w — the robot world frame.
• Create/Update System Frames — Creates all Kuka system frames (if not
already existing) and places them in the scene with respect to the machine
data:
o <robot>.bf0 — robot controller world frame created in the Frames
folder of the Object Tree.
o In case of major conflict between Process Simulate layout and the MADA
layout (number/type of external axes), a warning message is displayed.
• 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.
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 Staubli system frames (if not
already existing) and places them in the scene with respect to the machine
data:
o <robot>.w — robot controller world frame created in the Frames folder
of the Object Tree.
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 scene with respect to the machine
data:
<robot>.uf<n> — DispFrame
• Create/Update System Frames - Creates all Universal system frames (if not
already existing) and places them in the scene with respect to the machine
data:
o <robot>.w - robot controller world frame created in the Frames folder
of the Object Tree.
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
Purpose
In this topic, you learn how to test the RCS connection and fix setup problems
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:
• 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.
In the Testing the RCS connection and fixing setup problems section, do the
following activities:
• Testing the RCS connection
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.
Drops and reestablishes the connection to the RCS (for example stops and
restarts the RCS module). This is useful if the RCS connection hangs. The other
way to do this is to use the Controller Settings dialog box.
3. Check Close.
3. Check Close.
• 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.
Purpose
In this topic, you learn how to define TCPF positions for a robot controller.
Objectives
After you complete this topic, you should be able to:
• Understand some tools and definitions related to the TCPF.
Currently, there are two ways to define the TCPF positions for a robot controller:
• Method 1 and Method 2: Using the Teach Pendant (or Robot Properties
) – Defines it as engineering data stored in the scene. This is the way that
Robcad used to do it. you describe this method in more detail in the next
lesson.
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)
Purpose
In this topic, you learn how to setup robot controller specific frames.
Objectives
After you complete this topic, you should be able to:
• Access Robot Setup using method 2.
In this lesson you discuss controller specific frame creation and other specific
setup tasks. In this lesson you reference Method 1 and Method 2 as briefly
described in the previous lesson: clicking Robot Setup . This command can be
found in several places:
• Method 1: The Robot Properties dialog box.
• 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).
Robot Setup is located on the Robot Properties dialog box. To open this dialog
box:
• Right-click a robot in the Graphic Viewer and choosing Robot Properties .
• In the Robot Properties dialog box, select the Controller tab. The controller
information must be filled in. For example:
Robot Setup is located in every Teach Pendant dialog box. To open this dialog box:
• Right-click a robotic path in the Operation Tree (the robot must be assigned to
operation) and choose Teach Pendant .
• From the Teach Pendant dialog box, choose Robot Setup . For example:
Robot system frames make up a large number of global frames in any robotics
study.
When system frames are created or updated, using the Create\Update System
Frames command, the frames are created or moved under a folder structure
named according to the robot instance name. The world frame is placed in
this folder while tool and base frames are separated into different sub-folders
named according to the RCS standard naming. The following pictures provide an
example of the folder structure that is created.
• Down Local Data Definitions – Copies all local data definitions into a
process simulate dataset stored in the database.
■ 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.
• 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 C3G:
For C4G:
o <robot name>_ut1
• Download Settings — Can be used to filter what is output to the resulting file
output for the robot.
Restricted © Siemens AG 2018
• 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.
• Works Definition — Create, edit, or delete robot user frames with the
corresponding <robot>.w<num> frame.
• Frame Data — allows defining tool frame, base frame, and object frame data.
o Creates or edits base frames named: <robot>.bf<number>. For example
myrobot.bf_1.
• Local Machine Data — allows specifying const (.RC), device (.CFG), and
motion (.CFG) files.
Restricted © Siemens AG 2018
• 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.
■ Backup: YES / NO
■ Backup Mapping
Restricted © Siemens AG 2018
o Uframe
Restricted © Siemens AG 2018
• 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.
Restricted © Siemens AG 2018
• Gun Definition — allows the user to map a gun number to a specific gun
device in the scene
• Tool Setup
o Creates or edits tool frames named: <robot>.tl<number>. For example
myrobot.tl1.
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 Users can upload one or all FTool definitions from a robot.aux file
Restricted © Siemens AG 2018
• 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
Restricted © Siemens AG 2018
• 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).
• 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.
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.
• User Frame Definition — Create, edit, or delete user frames Frame numbers
are from 1 to 32. Coordinates are relative to robot WORLDFRAME. The
Restricted © Siemens AG 2018
• Tool Definition
o Creates or edits tool frames named: <robot>.t_T<number>. For example
myrobot.t_T1.
• Tools Definition — create, edit, and delete tool frames. The tool position is
relative to the robot TOOLFRAME.
• 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.
• UTool/UFrame Definition
Restricted © Siemens AG 2018
• Robot and External Axes Setup — This option is available for robots with
an external axis defined.
• Gun Definition — Allows associating a gun device with a gun file number.
Almost every controller needs a different frame created to represent the TCPF.
The TCPF information must exist in the scene and in the teach pendant. There
are several ways to define the TCPF:
• The frame can either be directly created in the scene and then the coordinates
read from the scene to the teach pendant.
• The TCPF can defined in the teach pendant which creates the frame in the
scene automatically.
• The information can be read from files output from the actual robot controller
(with many Process Simulate teach pendants).
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.
In the Robot controller specific frames and setup section, do the following activities:
• ABB — Tool and base data setup
Purpose
In this topic, you learn how to set controller specific motion attributes.
Objectives
After you complete this topic, you should be able to:
• Know the available methods to edit controller specific motion attributes.
In this lesson, you look at setting up controller specific motion attributes required
for downloading. There are several ways to do this:
• In the Teach Pendant edit locations one at a time.
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
MoveABSJ Home
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.
• 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”.
o0 — uses no smoothing and is like fine on the default controller.
o1 to 30 — like medium on the default controller. o
• Motion Type
o PTP – use joint motion
• Overlap (Zone)
o FINE
o LOW
o MID
o COURSE
Restricted © Siemens AG 2018
NODEC150 o
NODEC200
o V200
o V300
o etc.
o V1400
o V1500
Restricted © Siemens AG 2018
• Speed
o joint_config_family j3 joint_cf_elbow_up;
o joint_config_family j5 joint_cf_pos;
• 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.
o10–25 — medium o
25–45 — course
o 45–100 — no-decel
Restricted © Siemens AG 2018
• 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).
• Substation — This is set only once for the continuous feature operation. If it
is not set, you get an warning message during download.
• Motion Type
o MOVE P – use joint motion
• Accuracy (Zone)
o 1 (0 mm, 0 %) — similar to fine on the default controller. Downloaded
as ACCU1.
Restricted © Siemens AG 2018
• Speed
• Speed Type
oJoint Speed — Sets the unit for Speed to %.
o G01 - LIN
o G02/G03 - CIRC
■ G02 = CW circle
• Feed — Integer speed in feed rate unit mm per min (available only on linear
locations) which ranges from 1 to 150,000.
• 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 zone_define z0 no_smooth;
• Motion Type
o #PTP — use joint motion
• 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;
medium speed cartesian 5.0;
zone_define
sp_zone1 speed cartesian 10.0;
zone_define
sp_zone2 speed cartesian 20.0;
zone_define
Restricted © Siemens AG 2018
• Speed types:
oPTP Speed — speed for joint motion in %.
oCP Speed — speed for linear or circular motion in mm/sec. o
• Motion Type
o RC — joint motion
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 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.
There are some differences between XRC, NX, and DX versions of the Yaskawa
controller, such as supported robots. However, the motion attributes are the same:
• Motion Type
oMOVJ — move joint
MOVS — move s
• Destination Type
o ABS, P1, P2, P3, etc.
• Speed
Purpose
In this topic, you learn how to create a program.
Objectives
After you complete this topic, you should be able to:
• Create a robotic program in this system.
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.
Purpose
To learn more about robot configurations and how to view and modify them.
Objectives
After you complete this chapter, you should be familiar with:
• Robot configurations
Process or motion attributes are simulated in the same way as they would appear
on the factory floor.
The creation of robot configurations is critical to the download process, since they
store the robot configuration from the RCS and are tied to the robot BASEFRAME
(or user reference frame specified on the location). Whereas, global locations
are in reference to the working frame of the scene and do not store the robot
configuration.
To prepare for download, the process must be "taught". This step must be
performed in order to apply the configuration data to the locations.
There are multiple techniques to generate robot configurations (attributes on top
of the locations). All process attributes are preserved on the location, and all
configuration parameters (turns, flips) are stored as well.
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.
Restricted © Siemens AG 2018
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.
• Teach
o Configuration and turns
• How to setup a basic robotic scene 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
To describe how to upload and download.
Objectives
After you complete this chapter, you should be familiar with:
• How to select and create program templates for downloading.
Purpose
In this topic, you get an overview of program templates used to format downloaded
files.
Objectives
After you complete this topic, you should be able to:
• Edit program templates.
In this lesson you discuss program templates. The template defines the header
format including which keywords is included. It can describe some elements you
want in program (for example who generates/when/from which scene). Several
key words are provided (listed in the documentation).
Usage:
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.
Usage:
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.
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)
• 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.
Restricted © Siemens AG 2018
• Comau
By default, located in C:\Program
Files\Tecnomatix\eMPower\Robotics\OLP\Comau-Pdl\Templates\
programs folder (unless the CustomizedPath is defined in the rrs.xml file).
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.tpdl — default template for a pdl file (contains the program)
• 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\
Restricted © Siemens AG 2018
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
Restricted © Siemens AG 2018
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
Restricted © Siemens AG 2018
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.tprg — default template for a prg file (contains the program)
o default.tolp — default template for a olp file (contains the tool, ftool,
and work definitions)
• Kuka
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).
Restricted © Siemens AG 2018
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.tsi — default template for a si file (contains the program)
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.tA01 — default template for a A file (contains the program)
o default.tpro — default template for a pro file (contains the program with
a different header)
Restricted © Siemens AG 2018
• 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.tcsr — default template for a prog file (contains the program)
o default.tolp — default template for a olp file (contains the tool definitions)
• Reis
By default, located in C:\Program
Files\Tecnomatix\eMPower\Robotics\OLP\Reis-Robstar\Templates\
programs folder (unless the CustomizedPath is defined in the rrs.xml file).
o default.tsrc — default template for a src file (contains the program)
o default.tolp — default template for a olp file (contains the tool definitions)
• Staubli
Restricted © Siemens AG 2018
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).
o default.trt3 — default template for a rt3 file (contains the program)
• Universal
Restricted © Siemens AG 2018
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
Restricted © Siemens AG 2018
• Data
• Date
• FileBaseName
• ProgName
• Study
• TecnomatixSoftware
• TecnomatixControllerVersion
• Time
• RobotName
Restricted © Siemens AG 2018
• GundataTitle
• Gundata
• SpotdataTime
• Spotdata
• SpeeddataTitle
• Speeddata
• ZonedataTitle
• Zonedata
Restricted © Siemens AG 2018
• Tooldata
• LoaddataTitle
• Loaddata
• WobjdataTitle
• Wobjdata
• BeaddataTitle
• Beaddata
• WelddataTitle
• Welddata
• WeavedataTitle
Restricted © Siemens AG 2018
• CustomdataTitle
• Customdata
• MainBlockBody
• MoveBlockBody
• Robtarget
• JointTarget
• DataVar
• SchedulerCalls
• JointPosition
Restricted © Siemens AG 2018
• AllAxesNumber
• ExtAxesNumber
• JointMask
• ToolNumbers
• ToolNumbersRmt
• FrameNumbers
• FrameNumbersRmt
• ImplPayLoadMass
• ImplPayLoadCenter
• ImplinertiaX
Restricted © Siemens AG 2018
• ImplinertiaZ
• ImplPayLoadMassRmt
• ImplPayLoadCenterRmt
• ImplinertiaXRmt
• ImplinertiaYRmt
• ImplinertiaZRmt
• AccelerationData
• InterpolationData
• OverlapDclData
Restricted © Siemens AG 2018
• RampDclData
• JerkDclData
• BaseData
• ToolData
• ObjectData
• PointData
• TriggerPointData
• TriggerFrameData
• JointsNumber
Restricted © Siemens AG 2018
• PointsNumber
• SecondExtAxis
• ThirdExtAxis
• Tools
• DefaultGroup
• ControlCode
• GunNumber
• MainBlockBody
• PosBlockBody
Restricted © Siemens AG 2018
• WorkObjects
• Tool
• FTool
• Work
• Load
• E6Pos
Restricted © Siemens AG 2018
• BaseData
• MovingBaseData
• ToolData
• LoadData
• StationaryToolDefinitions
• Origins
• FileName
Restricted © Siemens AG 2018
• UserFrames
• ToolDefinitions
• toolSection
• frameSection
• mdescSection
Restricted © Siemens AG 2018
• jointSection
• programsSection
• databaseSection
• Tcp
• Coords
• ProgComment
• Attr
Restricted © Siemens AG 2018
• Main
In this Fanuc example a header and footer in the template with line number
is setup like this:
/MN
1:UFRAME_NUM = 1;
2:UTOOL_NUM = 1;
3:PAYLOAD[1];
4:! Start Program;
<MainBlockBody>
<FOOTER_LINE_N_1>:! End Program;
<FOOTER_LINE_N_2>:ABORT;
/POS
In order to have the following downloaded text:
/MN
1:UFRAME_NUM = 1;
2:UTOOL_NUM = 1;
Restricted © Siemens AG 2018
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.
• 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).
Restricted © Siemens AG 2018
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.
10. Check the contents in the Download dialog box and store results.
Each controller has different files that are downloaded. these files a specific to
the real robot controller.
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.
Comau Controller
• <prog>.pdl contains the program
• <prog>.lsv
Default Controller
• <prog>.pl contains the program
Duerr Controller
• <prog>.tis contains the program
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
Restricted © Siemens AG 2018
Kuka Controller
• <prog>.src contains the program
• <prog>.dat
Nachi Controller
• <progName>-A.(progNumber) contains the program structure
NC Maching Controller
• <progName>.si contains the program.
Restricted © Siemens AG 2018
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>.off
• <prog>.olp contains the definition of the used TCP and DISP BASE
Yaskawa Controller
• <prog>.jbi contains the main program
Purpose
In this topic, you examine the files output by the download of the program.
Objectives
After you complete this topic, you should be able to:
• Look at the contents of some files downloaded from the system.
In this lesson you examine the files output from the download. The same
procedure could be used to examine files from the robot to be uploaded into
Process Simulate.
Each controller has different files that are downloaded. these files a specific to
the real robot controller.
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.
Comau Controller
• <prog>.pdl contains the program
• <prog>.lsv
Default Controller
• <prog>.pl contains the program
Duerr Controller
• <prog>.tis contains the program
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
Restricted © Siemens AG 2018
Kuka Controller
• <prog>.src contains the program
• <prog>.dat
Nachi Controller
• <progName>-A.(progNumber) contains the program structure
NC Maching Controller
• <progName>.si contains the program.
Restricted © Siemens AG 2018
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>.off
• <prog>.olp contains the definition of the used TCP and DISP BASE
Yaskawa Controller
• <prog>.jbi contains the main program
• NC — Examining a SI file
Purpose
In this topic, you learn how to upload a program into this system.
Objectives
After you complete this topic, you should be able to:
• Upload a real robotic path into this system.
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.
A robot controller other than Default must be 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).
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.
Restricted © Siemens AG 2018
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.
9. Click Execute. The system performs the merge and the Robotic Operation
Merge dialog box reloads the target operation.
Purpose
To describe how to use the OLP commands section of the emulated robot specific
controllers (ESRC).
Objectives
After you complete this chapter, you should be familiar with:
• How use the standard OLP commands of emulated robot specific controllers
(ESRC).
• The list of the supported OLP commands for several of the robot controllers.
Purpose
In this topic, you learn about the standard OLP commands.
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.
• 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
Restricted © Siemens AG 2018
register assignment
o call, if call
On the Teach Pendant after clicking Add, the Standard Commands menu is
available. These commands are available during simulation, but either do not
download or download as comments. They work the same as their default
controller equivalent.
Several examples of OLP commands were discussed in the TR43115
Process Simulate on Teamcenter Basic Robotic Simulation and TR43215
Process Simulate on Teamcenter Intermediate Robotics (CEE) courses.
• 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.
Restricted © Siemens AG 2018
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 # Blank — Blank an object during simulation.
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 TR43215 Process Simulate on Teamcenter
Intermediate Robotics (CEE) course).
• ProgramFlow submenu:
Restricted © Siemens AG 2018
• RobotCycleTime submenu:
o # CycleStart — specify when the cycle time calculation should begin.
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.
Restricted © Siemens AG 2018
• Synchronization submenu:
o # SendSignal — In line simulation mode, the robot sends a robot signal
to the PLC (PLC input). (Review from the TR43115 and TR43215
courses).
• 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.
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 # WaitDevice — The robot waits until the selected device reaches the
selected target pose. (Review from the TR42115 course). (Review from
the TR43115 course).
Restricted © Siemens AG 2018
Purpose
In this topic, you learn how to enter standard commands as free text in the OLP
commands section of the controller teach pendant.
Objectives
After you complete this topic, you should be able to:
• Have an ideas of some of the OLP commands that can be entered as
standard.
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: +, - , *, /
Restricted © Siemens AG 2018
• # If <condition> Then
• # Else
• # Endif
• For example:
Restricted © Siemens AG 2018
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.
This is similar to the case statement in the C programming language.
• # Switch <expression>
Restricted © Siemens AG 2018
• # 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
Purpose
In this lesson, you learn the naming rules for creating robot signals for specific
robot controllers. If the signal is not named properly, Process Simulate ignores it.
• 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:
Restricted © Siemens AG 2018
Signal names for ABB must be strings. For example mysignal1 and do15 are
valid, but DI[15] is not valid.
Signal names should be either $DOUT[n] or $DIN[n] for digital output or digital
input.
For example: $DOUT[2] and $DIN[1]
As always:
Robotic output signals are represented as PLC input signals.
Robotic input signals are represented as PLC output signals.
There are no special naming conventions for signals on this controller. The signal
name can be any string. For example MySignal.
For Epson OLP commands, signals can be referenced by a signal number such
as 5 or a signal name such as Sig15R.
Epson signal commands use three types of numeric signals:
• Boolean
• 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.
Restricted © Siemens AG 2018
o GI
o GO
o RDI
o SDI
Restricted © Siemens AG 2018
o RDO
o SDO
o UO
• 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)
Names used for signals are not allowed. Output signals start with a O and a
number, while input signals start with an I and number. For example
1. Output signal example: O54 (for Output 54)
Input signals begin with the word INPUT and contain a number. Output signals
begin with the word OUTPUT and contain a number.
• Input signal name example: INPUT2
Purpose
In this lesson, you learn to send/wait for signals using robot specific
(downloadable) terms.
Objectives
After you complete this lesson, you should be able to:
• Send and wait for signals using robot specific (downloadable) terms.
• 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;
o MySignal = 0
• SET <signal>, <time>, <mode> — Set a Boolean robot signal to true. For
example:
o To set MySignal to true:
Set MySignal
• On
o On <BoolOutSignalNb> sets an output signal to 1. For example On 9
• Off
o Off <BoolOutSignalNb> sets an output signal to 0. For example Off 14
• 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)
Restricted © Siemens AG 2018
• OutW
o OutW(<WordOutSignalNb>) returns output word signal value. For
example If OutW(3) = InW(5) Or InW(6) Then a=a+1 EndIf
• 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
Restricted © Siemens AG 2018
• DOUT
• AOUT
• WAIT
• PULSE
• 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.
KRL commands
Restricted © Siemens AG 2018
Sending Signals
• SET - Output signal ON (FN32)
o For example: SET[O12]
Waiting Signals
Restricted © Siemens AG 2018
• 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)
Restricted © Siemens AG 2018
• 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)
1 or 0 for on or off
• WAITI I54
o WAITI is a constant string
Restricted © Siemens AG 2018
• 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
Restricted © Siemens AG 2018
• WAIT_BIT
o For example: WAIT_BIT
#MARKER,Level:1,Byte:17043,Bit_No:7,Max_Time[s]:2.00,Label:" "
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.
• AOUT
• WAIT
• PULSE
In the Sending and Waiting for Robotic Specific Signals section, do the following
activities:
• Adding Digital Input and Digital Output OLP Commands to Locations
Purpose
In this topic, you learn about more robotic specific commands supported by the
ESRC controllers beyond signals and send/wait commands.
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
The support in this area of ESRC is continuing to improve. However, one strength
of ESRC is that it gives you the power to extend the robot controller’s support of a
robot language using XML customization. This is described later.
For the latest list of supported robot specific commands, see the GTAC support
website (support.industrysoftware.automation.siemens.com/gtac.shtml). The
latest ESRC controllers and related documentation can be downloaded from the
updates area of the website.
In the intermediate (CEE) robotics training, you created a main program for a
robot with OLP commands to follow one robotic path if part style 1 was detected in
the fixture and a different robotic path if part style 2 was detected. You created
this logic and simulation using the default controller. Which looked like this:
• # CycleStart
• # EndIf
• # EndIf
Restricted © Siemens AG 2018
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.
Restricted © Siemens AG 2018
• GridLoad
AbbRapid Specifics:
• Baseware,Spotware, and Dispenseware are supported
■ The current location motion type, speed, zone are used to move to
the offset position
■ The current location motion type, speed, zone are used to move to
the offset position.
• WaitTime use like Delay on the default controller. Waits a given amount
of time. For example WaitTime 0.3;
• UseBrushTab as storing the current active Brush Table for further use in
Change Brush trigger simulation
• GripLoad — Defines the payload for a robot. For example GripLoad piece1;
• IF <FuntionCall> THEN ... ELSEIF <condition> THEN ... ELSE ... ENDIF
Restricted © Siemens AG 2018
• EXIT / STOP use to terminate or stop the program execution. For example
EXIT; or Stop;
Restricted © Siemens AG 2018
• 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 ZoneData→ Zone:
■ ZoneData.FinePoint = true : fine
• Call r1pounce;
• Call r1style1;
• EndIf
• Call r1style1;
• EndIf
• # CycleEnd
o IF IN(1)
BEGIN
SET(12)
RESET(13)
END
ELSE
BEGIN
SET(13)
RESET(12)
END
• <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)
• 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
• 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:
o System variables assignation
• Motion parameters are mapped as follows:
o Speed:
■ SpeedControl = SPD_NORM
◇ speed : joint speed in % and joint acceleration in %
■ SpeedControl = SPD_LIN
◇ speed : cartesian speed
o Zone
■ $FLY_TYPE = $FLY_OFF, : fine
• Call r1pounce
• Call r1style1
• 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.
• IF < > THEN < > ELSEIF or ELSE END IF — For example:
o IF MySignal THEN JUMP L002 ELSE JUMP L003 END IF
• SELECT CASE
• Signals:
o RECEIVE_HANDLERPOS(<Part> <Handler> <State>)
Restricted © Siemens AG 2018
■ ENDIF
■ ELSE
■ Var = TRUE
Restricted © Siemens AG 2018
■ ELSE
■ Var = TRUE
■ ENDIF
Restricted © Siemens AG 2018
■ WaitTime(0.11)
■ SendSignal(out_<Handler>_order, 0)
■ WaitTime(0.11)
Restricted © Siemens AG 2018
■ 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 IF <cond> ... ELSEIF <cond> ... ELSE ... ENDIF
o WHILE <cond> .... ENDWHILE
WHILE <cond> DO ... END_WHILE
GOTO <Lab>
o CALL "<name>"()
CALL <name>()
o RETURN
o <Var> = <Expression>
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
Restricted © Siemens AG 2018
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.
Restricted © Siemens AG 2018
• Call r1pounce;
• Call r1style1;
• EndIf
• Call r1style1;
• EndIf
• # CycleEnd
• Integer <VarName>
<VarName> = <value>
Restricted © Siemens AG 2018
• Motion menu
o UFRAME_NUM
o UTOOL_NUM
o PAYLOAD
o JOINT_MAX_SPEED
o LINEAR_MAX_SPEED
o JOINT_MAX_SPEED_REG
Restricted © Siemens AG 2018
• 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
Restricted © Siemens AG 2018
o Track End
• MESSAGE
• REMARK
• RSR ENABLE
• RSR DISABLE
• Register Assignment
• 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:
Restricted © Siemens AG 2018
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.
■ The current location motion type, speed, zone are used to move to
the offset position
■ The current location motion type, speed, zone are used to move to
the offset position.
o CLEAR
o INC
o DEC
o ADD/SUB
Restricted © Siemens AG 2018
o AND/OR/NOT/XOR
• # Callpath r1pounce;
• # Callpath r1style1;
• #EndIf
• # Callpath r1style1;
Restricted © Siemens AG 2018
• # 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
o # MoveRelBase [<RefLoc>] <X> <Y> <Z> [<RX> <RY> <RZ>]
■ Move the robot with an offset expressed in location object frame
coordinates system.
■ The current location motion type, speed, zone are used to move to
the offset position
■ The current location motion type, speed, zone are used to move to
the offset position.
• All commands supported in RRS simulation (see above) are also simulated in
a MOP simulation, except:
o payload
• Accuracy:
Restricted © Siemens AG 2018
• # Callpath r1pounce;
Restricted © Siemens AG 2018
• # 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.
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
KRL commands
• assignation of following special system variables (as RRS motion parameters
change):
o $VEL.CP
o $VEL.ORI1
o $VEL.ORI2
Restricted © Siemens AG 2018
o $ACC.ORI1
o $ACC.ORI2
• <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 )
Restricted © Siemens AG 2018
• RETURN
• RETURN <Expression>
•Varstate("<varName>")
Priority order:
• [Name](), simulated as:
ocall 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
Restricted © Siemens AG 2018
o 80-100 : nodecel
• C_DIS
o0-2 : fine
o2-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.
Restricted © Siemens AG 2018
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.
Restricted © Siemens AG 2018
• Call r1pounce;
• Call r1style1;
• EndIf
• Call r1style1;
• EndIf
• # CycleEnd
■ The current location motion type, speed, zone are used to move to
the offset position
■ The current location motion type, speed, zone are used to move to
the offset position.
• Constants
• Integer variables
o V1% = 10
o V%[1] = 10
o V2%=V1%+1
• Real variables
Restricted © Siemens AG 2018
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
Restricted © Siemens AG 2018
[ELSE]
o ENDIF
• SWITCH command
o SWITCH
o CASE
o BREAK
o CASE
o BREAK
o ENDS
• WHILE command
Restricted o
© SiemensWHILE
AG 2018 <condition>
Page 679 Siemens PLM Software
o ENDW
• FOR command
o FOR <VAR=init val.> TO <end value> STEP <incr>
o NEXT
o STOP
o END
• Call r1pounce
• Call r1style1
Restricted © Siemens AG 2018
• 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.
• # Callpath r1pounce;
• # Callpath r1style1;
Restricted © Siemens AG 2018
• # 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.
o DEC, i4#7
■ The current location motion type, speed, zone are used to move to
the offset position
■ The current location motion type, speed, zone are used to move to
the offset position.
• Reis coordinates
o Translation: X,Y,Z
Restricted © Siemens AG 2018
• 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"
• 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
Restricted © Siemens AG 2018
• 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
Restricted © Siemens AG 2018
o The current location motion type, speed, zone are used to move to the
offset position
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.
• 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.
Restricted © Siemens AG 2018
• do
<instructions>
until <bool condition>
Restricted © Siemens AG 2018
• 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>]
Restricted © Siemens AG 2018
• Robtalk menu
o Gun/Brush pick
o Move Offs
• Block Instructions
o JUMP num
Restricted © Siemens AG 2018
IF condition
instructions
■ =
■ #
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 BRUSH num
oGUN ON|OFF condition o
GUN ON|OFF
Limitations:
• Following commands are not supported in simulation:
o #include filename
o REL
o MOVE NEGOFFS
o MOVE POSREG
Restricted © Siemens AG 2018
• All commands supported in RRS simulation (see above) are also simulated in
a MOP simulation, except:
o Gun/Brush instructions with condition
o CLEAR
o INC
Restricted © Siemens AG 2018
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>
If <Expression> is a numerical value, the unit is second. If
the <Expression> is a variable, the unit is 1/100 of a second.
o RET <Expression>
■ Same as return with <Expression> value
CWAIT and NWAIT: These commands are understood but not simulated.
Restricted © Siemens AG 2018
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
Restricted © Siemens AG 2018
o SpeedType = V
ospeed : Cartesian position speed o
SpeedType = VR
• Zone
oFlyLevel
oCONT : nodecel o
PL0: fine
o PL1: medium
o PL2–PL8: coarse
Restricted © Siemens AG 2018
• 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.
Purpose
In this lesson, you learn how to use the Robot Program Viewer.
Objectives
After you complete this lesson, you should be able to:
• Use the Robot Program Viewer.
The Robot Program Viewer displays the commands sent to the robot controller
when simulating robotic operations.
You use it to view robotic programs or operations you have designed in Process
Simulate after they have been compiled and displayed in the syntax of their target
robot controller. The viewer may include collapsible blocks of code and colored
keywords/regions for ease of debugging.
o Errors - Critical errors that will cause the download process to fail.
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.
Restricted © Siemens AG 2018
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.
Restricted © Siemens AG 2018
• The list of the supported OLP commands for several of the robot controllers.
Purpose
To describe how to use the Process Simulate calibration tools.
Objectives
After you complete this chapter, you should be familiar with:
• An overview of the concepts of calibration.
Purpose
In this topic, you get an overview of the concepts of calibration.
Objectives
After you complete this topic, you should be able to:
• Use calibration within this system.
• Enable transferring on-line teach programs from one robot scene to another
scene that is theoretically identical, without requiring manual corrections
of robot destinations.
Calibration is the process of bringing the modeled Process Simulate scene into
conformity with the real-world scene. This is done by creating a filter which
describes how the real-world scene 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 scene in some manner, and
bringing that information into Process Simulate. The robot itself is the primary
method of scene 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.
Restricted © Siemens AG 2018
Calibration uses the root mean square to calculate the adjustment factor to be
applied on the locations in the path.
In mathematics, root mean square (abbreviated RMS or rms) is a statistical
measure of the magnitude of a varying quantity. It can be calculated for a series
of discrete values or for a continuously varying function. The name comes from
the fact that it is the square root of the mean of the squares of the values. It
is a power mean with the power t = 2.
The rms for a collection of N values is:
and the corresponding formula for a continuous function f(t) defined over the
interval is:
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.
• Rx, Ry, and Rz - Displays the transformation rotation results around the
X, Y, and Z axes.
Purpose
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
After you complete this topic, you should be able to:
• Perform a basic robot to part calibration.
Scene calibration is used to calculate the actual location of the robot relative
to the workpiece.
What you need to do is independently create a path on the real robot and the
Process Simulate robot that includes the robot touching the same three points
on the workpiece. Then you would upload the path from the real robot and use
the calibration window to reconcile them. In doing so, you create a calibration set
that can act as a filter to adjust the downloaded path from Process Simulate to
better fit to environment of the real robot.
Calibration Pairs are used to effect the RMS calculation by means of pairs of
download and upload locations: locations placed in the Process Simulate scene
are downloaded to the actual robot they are corrected according to the actual,
relative placement of the robot and workpiece, and the corrected locations are
uploaded back to the Process Simulate scene.
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.
Restricted © Siemens AG 2018
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.
Purpose
To describe how to do OLP command XML customization.
Objectives
After you complete this chapter, you should be familiar with:
• Got an overview of the capabilities in this area.
Purpose
In this topic, you get an overview of the basic areas of the robot controller interface
customization XML file.
Objectives
After you complete this topic, you should be able to:
• Know the customizable user interface's layers and dialog standards.
• 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.
• Finally there are Upload Capabilities to reuse the definition and present
the data in a form to the user.
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 .
Purpose
In this topic, you get an introduction to the customized OLP commands .XML file.
Objectives
After you complete this topic, you should be able to:
• Know the basic sections of an OLP command customization OLP file.
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.
In this section you learn about the basic elements of the OLP configuration XML
file.
The XML file must start and end with the RobotController element. This tab
contains three other elements which represent the three main parts of the file:
• RobotController - This element must occur only once and be the root.
It contains these attributes:
o The Name must appear in the RobotController element. It should be the
robot controller as specified in the rrs.xml file. Example value: Fanuc-Rj
• RoboticParams
• OlpCommands
• OlpDialogs
Purpose
In this topic, you learn how to setup the robotic parameters section of the file.
Objectives
After you complete this topic, you should be able to:
• Understand the robotic params section of the file.
This element includes all the robotic parameters (Param elements) which are
used by customized OLP/Motion commands. Process Simulate reads this section
from within all the relevant XML files (per controller per version) into one cache
which is used by all customized commands. Therefore it is necessary for each
robotic parameter name to be unique.
It is used to define the parameters (for example the parameter’s type, list of
values, min, max values, etc.)
Basic Description:
Each parameter (Param element) should have a name, a type and (optionally)
a value. It contains these attributes:
• Name - This element determines the name of the parameters
• ValueType - This element must occur only once. Values are either:
o Int – a number
o Double – a number
Restricted © Siemens AG 2018
• 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
Purpose
In this topic, you learn how to setup the OLP commands section of the file.
Objectives
After you complete this topic, you should be able to:
• Understand the OLP commands section of the file.
This element includes all the OLP commands (Command elements) which are
used by customized OLP commands. The Process Simulate application reads
this section from all relevant XML files (per controller per version) into one cache
which is used by all customized commands. Therefore, each OLP command
name must be unique.
• Command – This element represents one customized OLP command
and it contains the command name and parameters names. Contains the
RoboticParamRef and Layers elements. Attributes for this element:
o Name - Example value: “Do Something”
• Layers - This element is optional, but can occur only once. This
element contains the primary layers: UILayer, SimulationLayer, and
DownloadLayer.
• 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
After you complete this topic, you should be able to:
• Use OLP command XML structure.
The OlpDialogs element contains a list of dialogs, each of which allows you to
create one or more OLP commands. It contains one or more Dialog elements.
• Dialog - Attributes for this element:
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”
<RobotController Name=””>
<RoboticParams>
<Param Name=”” ValueType=”” Default=””>
<ComboDef>
<ElmDef>xxx<ElmDef/>
</ComboDef>
</Param>
</RoboticParams>
<OlpCommands>
<Command Name=””>
<RoboticParamRef>
<Param>xxx</Param>
</RoboticParamRef>
<Layers>
<UILayer>
Restricted © Siemens AG 2018
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:
Restricted © Siemens AG 2018
In this lesson you create a custom command for send signal and wait signal in the
robot controller’s specific language (for example it is downloadable).
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:
Comau-Pdl:
• Signals names: $DIN[1], $DOUT[2]
Denso-PacScript:
• Signals names: MySignal1, MySignal2
Duerr-Ecotalk:
• Signals names: di1, do2
Restricted © Siemens AG 2018
For Epson-Spel:
• Signals names: INB1, OUTB2
• Send Signal: On 2
•Wait Signal: Wait Sw(1) = On For
Fanuc-Rj:
• Signals names: DI[1], DO[2]
Igm-Ins:
• Signals names: di1, do2
Restricted © Siemens AG 2018
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
Restricted © Siemens AG 2018
Nachi-Slim:
•Signals names: I1, O2
For Panasonic-Csr:
• Signals names: i1#1, i1#2
Reis-Robstar:
Restricted © Siemens AG 2018
Staubli-Val:
• Signals names: di1, do2
For Trallfa-Robtalk:
• Signals names: INPUT1, OUTPUT2
Universal-URScript:
Restricted © Siemens AG 2018
• Wait Signal:
while get_standard_digital_in(1) == False
sync()
end
For Yaskawa-Inform:
• Signals names: IN#(1), OT#(2)
Purpose
In this topic, you learn how to create a custom OLP command that calls a macro
from the macro file.
Objectives
After you complete this topic, you should be able to:
• Use a combination of a macro file and a custom OLP command.
A possible macro could look like this – although it should be mentioned that this
macro is specific (“hardcoded”) for a predefined equipment name:
Macro METHOD1_RIVET
# Destination xyz_riveter_rr_01
# Drive CLOSE
# Destination xyz_ riveter _rr_01
# WaitDevice CLOSE
# WaitTime 2
# Destination xyx_ riveter _rr_01
# Drive OPEN
# Destination xyz_ riveter _rr_01
# WaitDevice OPEN
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
Purpose
To provide a description on how to do motion and robotic path template
customization.
Objectives
After you complete this chapter, you should be familiar with:
• How to create an enhanced motion XML
Purpose
In this topic, you learn to create and use motion command customization XML files.
Objectives
After you complete this topic, you should be able to:
• Create and use motion customization files.
Recall from earlier in the advanced robotics training that motion customization is
not supported on all ESRC robot controllers:
Controller Customized Motion Configuration
ABB Yes
ABB Volvo (Volvo only) No
Cloos No
Comau Yes
Comau Volvo (Volvo only) No
Denso
Duerr No
Epson No
Fanuc F100iA (CFLEX) No
Fanuc Yes
Fanuc Japan (Japan customers only) No
Fanuc VW (VW only) No
IGM No
Kawasaki No
Kuka Yes
Restricted © Siemens AG 2018
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.
Purpose
In this topic, you learn about some additional elements of custom motion
command XML files (as apposed to custom OLP command XML files).
Objectives
After you complete this topic, you should be able to:
• More motion command options.
For motion command XML files the RobotController element contains the
RoboticParams and Location elements.
Location – This element represents the type of the location you select and
contains a Type attribute which can have these values: VIA, WELD, Seam Start,
Seam End, Seam Middle
• Process – This element is one of the values of the list of values shown for
the selected location type. This is the value that is shown in the Process Type
column. Several of these elements can be placed within a Location element.
o Force - Once users select a process type for a location, the application
forces new values for specific robotic parameters.
Purpose
In this topic, you learn how to create a custom motion command XML file.
Objectives
After you complete this topic, you should be able to:
• Create and use a custom motion XML file
Your custom motion XML shows a specific list of values for the Process Type
based on location type. For example for Weld locations, the user has the ability to
select either Style1 or Style2 for the Process Type (in the Path Editor).
Each Process type can have its own dialog which can be opened from the
Customized Motion column of the Path Editor.
One or all layers can be filtered based on the assigned motion type.
For example:
• Weld (location type)
o Style1 (process type) — Weld location dialog for Style1
■ PTP (motion type)
◇ User Interface layer
◇ Simulation layer
◇ Download layer
◇ Simulation layer
◇ Download layer
◇ Simulation layer
◇ Download layer
◇ Simulation layer
◇ Download layer
Restricted © Siemens AG 2018
◇ Simulation layer
◇ Download layer
◇ Simulation layer
◇ Download layer
◇ Simulation layer
Restricted © Siemens AG 2018
◇ Simulation layer
◇ Download layer
• The regular parameters – the service should find their value on the location,
Restricted © Siemens AG 2018
• Finally, Process Simulate returns one string to the controller with everything it
needs (or an empty string if it required)
Purpose
In this topic, you learn how to create a custom robotic path template .XML file.
This is supported by all ESRC robot controllers.
Objectives
After you complete this topic, you should be able to:
• Know the capabilities and syntax of the file.
• Action B: For the last seam location with the Polishing process type:
o Set RRS_MOTION_TYPE to 2
• Adding locations
• Support different templates for each controller, with and without parameters
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 etc.
Purpose
In this topic, you learn how to create an example robot path template customization
.XML file.
Objectives
After you complete this topic, you should be able to:
• Learn more about how to create a Path Template file.
In this lesson, you describe how to create an example robotic path template
customization file and use it in Process Simulate.
For example:
You want to define a path template XML to:
• Give the abilities to apply all defined path templates
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).
In the basic robotics training, you used a default controller path template. Here are
the contents of that file named RobotSim.xml (which is part of the training data):
You do not need this XML file for this course. It is provided for reference.
Purpose
In this topic, you learn about several other interesting features of the custom
XML files.
Objectives
After you complete this topic, you should be able to:
• Using custom debugging
In order to set values for customized motion only once for several locations:
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.
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.
By default, the Picture path is relative to
..\eMPower\Robotics\Olp\CustomizedPictures, unless a CustomizedPath
is set in the rrs.xml file.
Under this folder, the user can manage pictures with nested sub folders as
desired. For example:
…\eMPower\Robotics\Olp\ CustomizedPictures \Laser\appzc5299228.jpg for
<ElmDef Picture =" Laser\appzc5299228.jpg ">Weld 10Am</ElmDef>
You can add your own online help to your customized dialogs.
To do this, add the Help attribute to the Dialog element adds a help button to the
user interface. This attribute is available in Custom Motion and OLP files.
• You can store all items on a single server and use shortcuts to access them.
Simulation keywords:
The following simulation keywords are supported and automatically substituted in
macros, robot modules, and XML simulation layers:
• ${Robot}
• ${ActiveGun}
• ${ActiveGunMainJoint}
• ${ActiveGripper}
Purpose
To learn other types of customizations related to robotics.
Objectives
After you complete this chapter, you should be familiar with:
• Attributes of mfg features and locations.
Purpose
In this lesson, you learn about mapping and viewing attributes of mfg features
and locations.
Objectives
After you complete this lesson, you should be able to:
• See an overview of the process.
There are topics in this training that describe how to perform each of these steps:
Configuration and setup of Process Simulate
1. Customize your environment and add additional object types and attributes.
See the TR41213 Process Designer/Process Simulate Data Management,
Variants, and Importing course.
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.
Restricted © Siemens AG 2018
12. Download the main program file. This file can contain custom location
information.
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).
• 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</MfgAttributeNa
</ParameterToAttributePair>
<ParameterToAttributePair>
<RoboticParameterName>SW_WAIT_TIME</RoboticParameterName>
<MfgAttributeName MfgTypeName="PmWeldPoint">holdingTime</MfgAttributeN
</ParameterToAttributePair>
</RoboticParametersToMfgAttributesMapping>
<ParameterToAttributePair>
<RoboticParameterName>Test_ParamInt</RoboticParameterName>
<MfgAttributeName MfgTypeName="ArcWeldRevision">bl_sequence_no</MfgAtt
</ParameterToAttributePair>
</RoboticParametersToMfgAttributesMapping>
• Diameter
oShown as Diameter on a Rivet mfg in the Mfg Viewer.
oShown as Diameter on a location in the Robotic Parameters Viewer. o
<ParameterToAttributePair>
<RoboticParameterName>Diameter</RoboticParameterName>
<MfgAttributeName MfgTypeName="Rivet">diameter</MfgAttributeName>
</ParameterToAttributePair>
</RoboticParametersToMfgAttributesMapping>
After you have configured your custom attributes for mfg features, you can now
add them to the Mfg Viewer just like the out of the box attributes:
1. In Process Simulate, load a study.
In the Attributes of mfg features and locations section, do the following activities:
• Looking at the existing mapping file
Purpose
In this lesson, you learn how to configure and show custom location attributes
(mapped from mfg features) in the Path Editor.
Objectives
After you complete this lesson, you should be able to:
• Look at the configuration file.
This XML file defines the attributes that are grouped by controller in the
Customize dialog box of the Path Editor. The name of the file is not important.
These files are located in the C:\ProgramData\Tecnomatix\Process
Simulate\14.1\Robotics\PathEditor\AvailableColumns folder.
When the software starts, all XML files are read from the folder and the content
combined. If more than one XML file is used and the same section name appears
in more than one file or if the section name is one of the already used groups such
as General, Default, or Fanuc-Rj, then the attributes are merged and appear
under the same node in the Customize dialog box.
Structure of the XML file:
• The Root tag starts and ends the file and can have as many Section tags
as needed.
o Header — The displayed header of the column. For example: you may
want the header for RRS_MOTION_TYPE to be Motion Type.
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.
• 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.
Restricted © Siemens AG 2018
</Section>
</Root>
<Root>
<Section SectionName="Default">
After you have configured your custom attributes for locations, you can now add
them to the Path Editor just like the out of the box attributes:
1. In Process Simulate, load a study.
In the Showing custom attributes in the Path Editor section, do the following
activities:
• Setting up and seeing custom attributes in the Path Editor
Purpose
To various other interesting topics related to robotics that have not been covered
in the previous courses.
Objectives
After you complete this chapter, you should be familiar with:
• An overview of creating an OLP procedure
Purpose
In this topic, you get an review of the multi-step OLP procedure.
Objectives
After you complete this topic, you should be able to:
• Review the multi-step OLP procedure.
2. Verify robot and scene installation — This step is done by the robot
programmer, who uses the OLP materials to verify that the robot, tool, and
scene infrastructure match the Process Simulate layout.
At the beginning of this class you had little or no knowledge of Process Simulate.
Through class you have been exposed to many Process Simulate features and
had time to practice what you have seen. You must continue to use this tool after
class in conjunction with other users in your company, additional training classes,
and Siemens PLM Software services personnel in order to become an expert.
If you want to learn about Process Simulate on Teamcenter, try these classes:
• TR43101 – Process Simulate on Teamcenter Part Flow Simulation
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:MT43115, MT43215, and MT43315.