3HAC032104-En (Robot Studio Manual)
3HAC032104-En (Robot Studio Manual)
3HAC032104-En (Robot Studio Manual)
RobotStudio
Trace back information:
Workspace R17-1 version a2
Checked in 2017-03-13
Skribenta version 5.1.011
Operating manual
RobotStudio
6.05
Table of contents
Overview of this manual ................................................................................................................... 13
Product documentation, IRC5 .......................................................................................................... 20
Safety ................................................................................................................................................ 22
Network security ............................................................................................................................... 23
1 Introduction to RobotStudio 25
1.1 What is RobotStudio .......................................................................................... 25
1.2 Terms and concepts .......................................................................................... 26
1.2.1 Hardware concepts .................................................................................. 26
1.2.2 RobotWare concepts ............................................................................... 28
1.2.3 RAPID concepts ...................................................................................... 30
1.2.4 Concepts of programming ......................................................................... 31
1.2.5 Targets and paths ................................................................................... 32
1.2.6 Coordinate systems ................................................................................. 33
1.2.7 Robot axis configurations ......................................................................... 39
1.2.8 Libraries, geometries and CAD files ............................................................ 41
1.3 Installing and licensing RobotStudio ..................................................................... 44
1.3.1 Installation options and prerequisites .......................................................... 44
1.3.2 Activating RobotStudio ............................................................................. 45
1.4 User interface ................................................................................................... 52
1.4.1 Ribbon, tabs and groups ........................................................................... 52
1.4.2 Layout browser ....................................................................................... 53
1.4.3 The Paths & Targets browser .................................................................... 54
1.4.4 The Modeling browser .............................................................................. 56
1.4.5 The Controller browser ............................................................................. 57
1.4.6 Files browser .......................................................................................... 59
1.4.7 Add-Ins browser ..................................................................................... 60
1.4.8 Windows layout ...................................................................................... 61
1.4.9 The Output window .................................................................................. 62
1.4.10 The Controller Status window .................................................................... 63
1.4.11 The Operator Window .............................................................................. 65
1.4.12 The Documents window ........................................................................... 67
1.4.13 Using a mouse ........................................................................................ 74
1.4.14 3D Mouse .............................................................................................. 75
1.4.15 Selecting an item .................................................................................... 76
1.4.16 Attaching and detaching objects ................................................................ 77
1.4.17 Keyboard shortcuts ................................................................................. 78
2 Building stations 83
2.1 Workflow of building a station .............................................................................. 83
2.2 Setting the Conveyor tracking station .................................................................... 85
2.2.1 Setting Conveyor tracking ......................................................................... 85
2.3 Creating a system with external axes automatically ................................................. 87
2.4 Manually setting up system based on RobotWare 5.xx with track motion ..................... 90
2.4.1 Track motion of type RTT or IRBTx003 ........................................................ 90
2.4.2 Track motion of type IRBTx004 .................................................................. 91
2.5 Virtual controller ............................................................................................... 92
2.5.1 Starting a VC .......................................................................................... 92
2.5.2 Restarting a VC ....................................................................................... 93
2.6 Station components ........................................................................................... 94
2.6.1 Importing a station component .................................................................. 94
2.6.2 Troubleshooting and optimizing geometries ................................................. 96
2.7 Modeling ......................................................................................................... 98
2.7.1 Objects ................................................................................................. 98
2.7.2 Mechanisms ........................................................................................... 100
2.7.3 Tools and tooldata ................................................................................... 101
Index 589
Usage
This manual should be used when working with the offline or online functions of
RobotStudio.
Prerequisites
The reader should have basic knowledge of:
Robot programming
Generic Windows handling
3D CAD programs
Organization of chapters
The operating manual is structured in the following chapters:
Chapter Contents
1 Introduction to Robot- Contains installation instructions, basic explana-
Studio on page 25 tions of the terms and concepts related to robotics
and programming, and a description of the GUI.
2 Building stations on Describes how to build stations in RobotStudio.
page 83 This includes importing and configuring the equip-
ment to be simulated, as well as testing the reach-
ability for finding the optimal station layout.
3 Programming robots Describes how to create robot movements, I/O
on page 109 signals, process instructions and logics in a RAPID
program for the robots. It also describes how to run
and test the program.
4 Simulating programs Describes how to simulate and validate robot pro-
on page 145 grams.
5 Deploying and distrib- Describes how to transfer systems between Robot-
uting on page 141 Studios virtual controllers and real IRC5 control-
lers, how to copy programs, how to package an
active station for moving between RobotStudio
PCs, and how to capture a screen.
6 Working online on Covers the functionality of the Minimal Installation,
page 155 describing such online functions as building sys-
tems (with offline examples), handling I/O and
events, and configuring systems.
Chapter Contents
7 File tab on page 209 Describes the options to create new station, create
new robot system, connect to a controller, save
station as viewer, and RobotStudio options.
8 Home tab on page225 Describes the controls required for building sta-
tions, creating systems, programming paths and
placing items.
9 Modeling tab on Describes the controls for creating and grouping
page 281 components, creating bodies, measurements and
CAD operations.
10 Simulation tab on Describes the controls for setting up, configuring,
page 349 controlling, monitoring, and recording simulations.
11 Controller tab on Describes the controls for managing a real control-
page 379 ler and also the controls for synchronization, con-
figuration and tasks assigned to the virtual control-
ler (VC).
12 RAPID tab on Describes the features of the RAPID editor, man-
page 443 agement of RAPID files and other controls for
RAPID programming.
13 Add-Ins tab on Describes the control for PowerPacs .
page 475
14 Context menus on Describes the options available from the context
page 483 menus.
15 ScreenMaker tab on Describes the ScreenMaker development tool, how
page 539 to manage projects in ScreenMaker and the various
menus and commands used in the application.
References
Reference Document ID
Product manual - IRC5 3HAC021313-001
IRC5 of design M2004
Product manual - IRC5 3HAC047136-001
IRC5 of design 14
Note
The document numbers that are listed for software documents are valid for
RobotWare 6. Equivalent documents are available for RobotWare 5.
Revisions
Revision Description
A First revision, called RobotStudio 2008, released for Partner Days. The
entire manual has been adapted to the new GUI, in which RobotStudio On-
line has been integrated.
Revision Description
Updated Coordinate systems on page 33 (improved task frame
description).
Updated Supported 3D formats on page 42 .
Added the following new content:
AutoPath on page 248
Online Monitor on page 418
Adjust Robtargets on page 462
Using the RAPID Profiler on page 468
Markup
Signal Analyzer on page 366
External Axis Interpolation on page 497
Auto Configuration on page 487
The Design tab on page 295
The following are the ScreenMaker updates:
Added ScreenMaker Doctor on page 570.
Added new controls VariantButton on page 553 and Conditional-
Trigger on page 554.
Updated Creating a new project on page 547 (added pre-defined
templates).
Updated Controller object data binding on page 568 (added inform-
ation on shared data).
F Released with RobotStudio 5.14.02.
Added the following new content:
Gearbox Heat Prediction
External Axis Wizard on page 231
Added the following new contents in Settings tab:
Selecting a Task on page 262
Selecting a Workobject on page 263
Selecting a Tool on page 264
Updated Creating boot media on page 178 (added information on creating
a new system)
Added information on Logic Expression in Signals and Properties on
page 296
Added a Note for Call .Net Method in Designing screens on page 549 of
the ScreenMaker tab
Added information on I-start in Result on page 174 for the Modifying a
system section
Added information on Offs in the Note for Prerequisites on page 462 in
Using Adjust Robtargets
Added a Note for the Execute button in Using Adjust Robtargets on
page 462
Added information on Always on top in Create Markup of the Markup
section
Updated Note for Using ScreenMaker Doctor inScreenMaker Doctor on
page 570
G Released with RobotStudio 5.14.02.01.
Updated the section Activating a network license on page 47.
H Released with RobotStudio 5.14.03.
Added a note regarding the usage of .NET DLLs under Advanced Actions
on page 555
Added scenarios in Errors fixed by ScreenMaker Doctor on page 570
Updated the procedure in Creating Markup
Revision Description
Updated the note in Prerequisites on page 462 for Adjust Robtargets
Updated the procedure for Using Adjust Robtargets on page 462
Updated the table under LogicExpression for Signals and Properties on
page 296
Added a procedure for adding events to a menu item under CommandBar
on page 553
Updated the details for Creating autopath under AutoPath on page 248
Updated the table showing the Supported 3D formats on page 42
J Released with RobotStudio 5.15.
In addition to the following important updates, numerous minor im-
provements and corrections have been made throughout the docu-
ment.
Introduced the following new chapters containing both new features and
also updated features;
Controller tab on page 379, which contain features related to real
and virtual controllers.
RAPID tab on page 443, which contains features related to RAPID
programming.
Added the following new content:
Edit RAPID data on page 455
Transfer on page 400
Stopwatch on page 365
Go to Visualization and Go to Declaration on page 501
Offset Position on page 523
Protected Smart Component on page 526
Updated, reworked the following sections:
Edit RAPID code on page 446
RAPID Watch window on page 472
Installing and licensing RobotStudio on page 44
Virtual controller on page 92
Screen Capture on page 143
Pack and Go on page 213 and Unpack and Work on page 214
K Released with RobotStudio 5.15.01.
Added section What is RAPID array on page 574.
Added a sample code snippet to the advanced option Call .Net
Method. SeeAdvanced Actions on page 555.
Added an advanced option Call FP Standard View. See Advanced
Actions on page 555.
Added a note in the section Controller object data binding on
page 568.
Renamed the section ScreenMaker Doctor scenarios as Errors
fixed by ScreenMaker Doctor and made some updates. See Errors
fixed by ScreenMaker Doctor on page 570.
L Released with RobotStudio 5.60.
Removed all instances of VSTA, Import of S4 stations and Defea-
turing and updated the ScreenRecorder section.
Updated the information on Backup and save in Controller grants
on page 427.
Updated the section Working online on page 155 with information
on the new main computer DSQC1000.
Updated the section Overview on page 514.
Updated the section Adjust Robtargets on page 462.
Revision Description
Added a new section Visualizing Safety Zones in Online Monitor
on page 419 in Online Monitor.
Updated the section AutoPath on page 248.
Added a new section Graphics Tools on page 271.
Added a new section Tags on page 316.
M Released with RobotStudio 5.61.
Added description about the General tab in Modifying Project
properties on page 557 in ScreenMaker chapter.
Added a new section Creating Production Screen Widget on
page 561 in ScreenMaker chapter.
Added a note in the section General keyboard shortcuts on
page 78.
Updated the section Supported 3D formats on page 42.
Updated the prerequisites in the section ScreenMaker on page 386.
N Released with RobotStudio 6.0.
Added a new section on Jobs on page 431.
Added a new section on About Installation Manager on page 183.
Added a new section on Zone visualization on page 502.
Added a new section on Zone visualization on page 502.
Added a new section on RobotStudio Solutions on page 209.
Added a new section on RobotApps on page 476.
Added a new section on Visual SafeMove on page 420.
Updated the section Installing and licensing RobotStudio on
page 44.
P Released with RobotStudio 6.01.
Added a new section on Work envelope on page 492.
Added a new section on I/O Signal Data Editor on page 385.
Added a new section on Windows layout on page 61.
Added a new table for Supported RobotWare 6 configurations for
positioners, motor units, gear units and track motions on page 88.
Added a new section on 3D Mouse on page 75.
Added a new section on Automatic transparency on page 273.
Q Released with RobotStudio 6.02.
Added a new section on Shallow rectangle selection on page 317.
Added following sections about conveyor tracking.
- Create connection between virtual controller and conveyor
on page 339
- Modifying the connection between VC and conveyor on
page 230
- Removing objects from conveyor on page 230
- Create Conveyor on page 338
R Released with RobotStudio 6.03
Added a section about Renaming a system on page 193
Added a section about RAPID Breakpoints window on page 470
Added a section about RAPID Call Stack window on page 471
Added a section about Setting the IP address of the controller on
page 415
Added a section about Collision Avoidance on page 406
Added a section about Selected tasks on page 465
Added a section about Calibrating the baseframe position on
page 441
Revision Description
Added a section about Settings file on page 184
S Released with RobotStudio 6.03.01.
Updated the section Network security on page 23.
Updated information about the default user in UAS, see User Au-
thorization on page 162
T Released with RobotStudio 6.04.
Added a new section on Options:General:Autosave on page 218.
Added a section about Options:Graphics:Stereo/VR* on page 223
Added a section about Four Bar joint on page 342
Updated information about the TCP Trace, see The TCP Trace
tab on page 364.
Added a new section on Gravity parameters in online monitor on
page 418.
Updated information about the Supported actions in Jobs, see
Supported actions on page 433.
Added a new section on Jobs with several actions on page 434.
Added a new section on Running job from the Command Prompt
window on page 435.
Updated the section Edit RAPID code on page 446.
U Released with RobotStudio 6.05.
Added a new section on Deployment packages and the repository
on page 183.
Added a section The recovery disk function on page 196.
Added a section Instruction Template Manager on page 261.
Added a section Virtual Reality on page 274.
Added a new section on Physics Tools on page 347.
Added a new section on RobotApps on page 476.
Minor updates in the following sections.
- Options on page 217
- Configurations on page 487
Product manuals
Manipulators, controllers, DressPack/SpotPack, and most other hardware is
delivered with a Product manual that generally contains:
Safety information.
Installation and commissioning (descriptions of mechanical installation or
electrical connections).
Maintenance (descriptions of all required preventive maintenance procedures
including intervals and expected life time of parts).
Repair (descriptions of all recommended repair procedures including spare
parts).
Calibration.
Decommissioning.
Reference information (safety standards, unit conversions, screw joints, lists
of tools).
Spare parts list with exploded views (or references to separate spare parts
lists).
Circuit diagrams (or references to circuit diagrams).
Application manuals
Specific applications (for example software or hardware options) are described in
Application manuals. An application manual can describe one or several
applications.
An application manual generally contains information about:
The purpose of the application (what it does and when it is useful).
What is included (for example cables, I/O boards, RAPID instructions, system
parameters, DVD with PC software).
How to install included or required hardware.
How to use the application.
Examples of how to use the application.
Operating manuals
The operating manuals describe hands-on handling of the products. The manuals
are aimed at those having first-hand operational contact with the product, that is
production cell operators, programmers, and trouble shooters.
The group of manuals includes (among others):
Operating manual - Emergency safety information
Operating manual - General safety information
Operating manual - Getting started, IRC5 and RobotStudio
Operating manual - IRC5 Integrator's guide
Operating manual - IRC5 with FlexPendant
Operating manual - RobotStudio
Operating manual - Trouble shooting IRC5
Safety
Safety of personnel
A robot is heavy and extremely powerful regardless of its speed. A pause or long
stop in movement can be followed by a fast hazardous movement. Even if a pattern
of movement is predicted, a change in operation can be triggered by an external
signal resulting in an unexpected movement.
Therefore, it is important that all safety regulations are followed when entering
safeguarded space.
Safety regulations
Before beginning work with the robot, make sure you are familiar with the safety
regulations described in the manual Operating manual - General safety information.
Network security
Network security
This product is designed to be connected to and to communicate information and
data via a network interface, It is your sole responsibility to provide and continuously
ensure a secure connection between the product and to your network or any other
network (as the case may be). You shall establish and maintain any appropriate
measures (such as but not limited to the installation of firewalls, application of
authentication measures, encryption of data, installation of anti-virus programs,
etc) to protect the product, the network, its system and the interface against any
kind of security breaches, unauthorized access, interference, intrusion, leakage
and/or theft of data or information. ABB Ltd and its entities are not liable for
damages and/or losses related to such security breaches, any unauthorized access,
interference, intrusion, leakage and/or theft of data or information.
1 Introduction to RobotStudio
1.1 What is RobotStudio
Overview
This section introduces the hardware in a typical IRC5 robot cell. For detailed
explanations, see the manuals related to IRC5 robots specified in References on
page 14.
Standard hardware
The table below describes the standard hardware in an IRC5 robot cell.
Hardware Explanation
Robot manipulator An ABB industrial robot.
Control module Contains the main computer that controls the motion of the
manipulator. This includes RAPID execution and signal hand-
ling. One control module can be connected to 1 4 drive
modules.
Drive module A module containing the electronics that power the motors of
a manipulator. The drive module can contain up to nine drive
units, each controlling one manipulator joint. Since the standard
robot manipulators have six joints, you usually use one drive
module per robot manipulator.
FlexController The controller cabinet for the IRC5 robots. It consists of one
control module and one drive module for each robot manipulat-
or in the system.
FlexPendant The programming pendant, connected to the control module.
Programming on the FlexPendant is referred to as online
programming.
Tool A device usually mounted on the robot manipulator to allow it
to perform specific tasks, such as gripping, cutting or welding.
The tool can also be stationary, see below for more information.
Optional hardware
The table below describes the optional hardware for an IRC5 robot cell.
Hardware Explanation
Track manipulator A moving stand holding the robot manipulator to give it a larger
work space. When the control module controls the motion of
a track manipulator, it is referred to as a Track External Axis.
Positioner manipulator A moving stand normally holding a work piece or a fixture.
When the control module controls the motion of a positioner
manipulator, it is referred to as an External Axis.
FlexPositioner A second robot manipulator acting as a positioner manipulator.
It is controlled by the same control module as the positioner
manipulator.
Stationary tool A device that stands in a fixed location. The robot manipulator
picks up the work piece and brings it to the device to perform
specific tasks, such as gluing, grinding or welding.
Work piece The product being worked on.
Hardware Explanation
Fixture A construction holding the work piece in a specific position so
that the repeatability of the production can be maintained.
Overview
This section introduces terminology regarding RobotWare. For detailed
explanations, see the manuals related to IRC5 robots specified in References on
page 14.
RobotWare
The table below describes the RobotWare terminology and concepts that can be
useful when working with RobotStudio.
Concept Explanation
RobotWare As a concept, refers to both the software used to create a Ro-
botWare System and the RobotWare systems themselves.
RobotWare installation When installing RobotStudio, only one version of RobotWare
will be installed. To simulate a specific RobotWare system, the
RobotWare version used for this particular RobotWare system
must be installed on your PC.
RobotWare 5 is installed into the PCs program files folder using
a standard PC installer. RobotWare 6 is automatically installed
for the Complete installation option of RobotStudio. Alternat-
ively, use the RobotApps page in the Add-Ins tab to install
RobotWare 6.
RobotWare Key Used when you create a new RobotWare system or upgrade
an existing system. The RobotWare keys unlock the RobotWare
options included in the system, and determine the RobotWare
version from which the RobotWare system will be built.
For IRC5 systems there are three types of RobotWare keys:
The controller key, which specifies the controller and
software options.
The drive keys, which specify the robots in the system.
The system has one drive key for each robot it uses.
add-ins specify additional options, like positioner extern-
al axes.
A virtual key allows you to select any RobotWare options you
wish, but a RobotWare system created from a virtual key can
only be used in a virtual environment such as RobotStudio.
RobotWare system A set of software files that, when loaded into a controller, en-
ables all functions, configurations, data and programs con-
trolling the robot system.
RobotWare systems are created in the RobotStudio software.
The systems can be stored and saved on a PC, as well as on
the control module.
RobotWare systems can be edited by RobotStudio or the
FlexPendant.
RobotWare version Each RobotWare is released with a major and a minor version
number, separated by a dot. The RobotWare version for IRC5
is 6.xx, where xx identifies the minor version.
When ABB releases a new robot model, a new RobotWare
version will be released with support for the new robot.
Concept Explanation
Mediapool For RobotWare 5, the mediapool is a folder on the PC in which
each RobotWare version is stored in a folder of its own.
The files of the mediapool are used to create and implement
all the different RobotWare options. Therefore, the correct
RobotWare version must be installed in the mediapool when
creating RobotWare systems or running them on virtual con-
trollers.
RobotWare Add-In A RobotWare add-in is a self-contained package that extends
the functionality of a robot system. RobotWare add-ins are the
RobotWare 6 equivalent of RobotWare 5 additional options.
Product In the context of RobotWare 6, a product can be either a Robot-
Ware version or a RobotWare add-in. Products can be free or
licensed.
License The license unlocks the options you can use in your robot
system, for example robots and RobotWare options.
If you wish to upgrade from RobotWare version 5.15 or earlier,
you must replace the controller main computer and get Robot-
Ware 6 licenses. Contact your ABB Robotics service represent-
ative at www.abb.com/contacts.
Distribution package A Distribution package may contain RobotWare and RobotWare
add-ins. RobotWare 6 Distribution package also contains Ro-
botWare Add-Ins for Positioners and TrackMotion. For more
information, see Distribution package on page 477.
Overview
This section introduces the basic terminology of RAPID. The manuals related to
RAPID and programming are listed in References on page 14.
Overview
This section introduces the terminology regarding programming. The manuals
related to programming and IRC5 Robots are listed in References on page 14.
Programming concepts
The table below describes the terminology and concepts that are used in robot
programming.
Concept Explanation
Online programming Programming when connected to a real controller. This expres-
sion also implies using the robot to create positions and motion.
Offline programming Programming without being connected to the robot or the real
controller.
True offline programming Refers to the ABB Robotics concept of connecting a simulation
environment to a virtual controller. This enables not only pro-
gram creation, but also program testing and optimizing offline.
Virtual controller A software that emulates a FlexController to allow the same
software (the RobotWare system) that is controlling the robots
to run on a PC. This gives the same behavior of the robots
offline as you get online.
MultiMove Running multiple robot manipulators with the same control
module.
Coordinate systems Used to define positions and orientations. When programming
a robot, you can take advantage of using different coordinate
systems to more easily position objects relative to each other.
Frame A synonym for coordinate system.
Workobject calibration If all your targets refer to workobjects, you only need to calib-
rate the workobjects when deploying offline programs.
Overview
Targets (positions) and paths (sequences of move instructions to targets) are used
when programming robot motions in RobotStudio.
When you synchronize the RobotStudio station to the virtual controller, RAPID
programs are created from the paths.
Targets
A target is a coordinate that the robot shall reach. It contains the following
information:
Information Description
Position The position of the target, defined in a workobject coordinate
system, see Coordinate systems on page 33.
Orientation The orientation of the target, relative to the orientation of the
workobject. When the robot reaches the target, it will align the
TCPs orientation with the targets orientation, see Coordinate
systems on page 33.
Configuration Configuration values that specify how the robot shall reach the
target. For more information, see Robot axis configurations on
page 39.
Targets are converted to instances of the data type robtarget when synchronized
to the virtual controller.
Paths
A sequence of move instructions, paths are used to make the robot move along a
sequence of targets.
Paths are converted to procedures when synchronized to the virtual controller.
Move instructions
A move instruction consists of:
a reference to a target
motion data, such as motion type, speed and zone
a reference to a tooldata
a workobject reference
Action instructions
An action instruction is a RAPID string that can be used for setting and changing
parameters. Action instructions can be inserted before, after or between instruction
targets in paths.
Overview
This section provides an introduction to the coordinate systems used mostly for
offline programming. In RobotStudio, you can either use the coordinate systems
(that are explained below) or the user-defined coordinated systems for co-relating
elements and objects.
Hierarchy
The coordinate systems are co-related hierarchically. The origin of each coordinate
system is defined as a position in one of its ancestries. The following are the
descriptions of the commonly used coordinate systems.
In the picture to the left, the task frame is located at the same position as the robot
base frame. In the picture to the right, the taskframe has been moved to another
position.
en1000001303
The following picture illustrates how a task frame in RobotStudio is mapped to the
robot controller coordinate system in the real world. For example, on the shop
floor.
en1000001304
en1000001442
en1000001305
en1000001306
en1000001308
xx0500001519
Axis configurations
Targets are defined and stored as coordinates in a WorkObject coordinate system.
When the controller calculates the position of the robot axes for reaching the target,
it will often find more than one possible solution to configuring the robot axes.
configur
Configuration monitoring
When executing a robot program, you can choose whether to monitor configuration
values. If configuration monitoring is turned off, configuration values stored with
the targets are ignored, and the robot will use the configuration closest its current
configuration for reaching the target. If turned on, it will only use the specified
configuration for reaching the targets.
Configuration monitoring can be turned off and on for joint and linear movements
independently and is controlled by the ConfJ and ConfL action instructions.
Overview
For programming or simulating in RobotStudio, you need models of your work
pieces and equipment. Models for some standard equipment are installed as
libraries or geometries with RobotStudio. If you have CAD models of your work
pieces and custom equipment, these can be imported as geometries to RobotStudio.
If you do not have CAD models, you can create them in RobotStudio.
Note
RobotStudio retains assembly structures in the imported CAD part. For parts
with many entities, the import may take long. To workaround this problem, in the
Home tab, click Import Geometry and then select Convert CAD geometry to
single part.
Supported 3D formats
The native 3D CAD format of RobotStudio is SAT. The CAD support in RobotStudio
is provided by the software component ACIS release 2017 1.0.1.
RobotStudio also supports other formats for which you need an option. The
following table shows the supported formats and the corresponding options:
Format File extensions Option required
3DStudio .3ds -
ACIS, reads versions R1 - .sat, .sab, .asat, .asab -
2017 1.0, writes versions R18
- 2017 1.0
CATIA V4, reads versions .model, .exp, .session CATIA V4
4.1.9 to 4.2.4
CATIA V5/V6, reads versions .CATPart, .CATProduct, CATIA V5
V5R8 V5/V6R2016 .CGR, .3DXML
writes V5R15 V5/V6R2016
COLLADA 1.4.1 .dae -
DirectX writes 2.0 .x -
DXF/DWG, reads versions .dxf, .dwg AutoCAD
2.5 - 2016
FBX writes version 7.5 .fbx -
IGES, reads up to version .igs, .iges IGES
5.3, writes version 5.3
Inventor, reads V6 2017 .ipt, .iam Inventor
JT, reads versions 8.x and .jt JT
9.x
LDraw, reads version 1.0.2 .ldr, .ldraw, .mpd -
NX, reads versions NX 1 .prt NX
NX 11
OBJ .obj -
Parasolid, reads versions .x_t, .xmt_txt, .x_b, .xmt_bin Parasolid
9.0.* 29.0.*
Pro/E / Creo, reads versions .prt, .prt.*, .asm, .asm.* Pro/ENGINEER
16 Creo 3.0
Solid Edge, reads versions .par, .asm, .psm SolidEdge
V18 ST9
1 indicates that from SolidWorks 2015 onwards only 64-bit Operating System is supported. 32-bit is not
supported.
To import these files into RobotStudio, use the Import Geometry function.
Prerequisites
You should have administrator privileges on the PC before installing RobotStudio.
Installation options
You can download RobotStudio from
http://new.abb.com/products/robotics/robotstudio/downloads, and install it.
RobotStudio offers the following installation options:
Minimal - Installs only the features required to program, configure, and
monitor a real controller connected over Ethernet.
Complete - Installs all the features required to run the complete RobotStudio.
If installed with this option, additional features of Basic and Premium
functionality are available.
Custom - Installs user-customized features. This option allows excluding
unwanted robot libraries.
Note
Both the 32 and 64-bit versions of RobotStudio are installed for the Complete
installation option on computers that have a 64-bit operating system. The 64-bit
edition allows large CAD-models to be imported as it can address more memory
than the 32-bit version.
However, the 64-bit edition has the following limitations:
ScreenMaker and Integrated Vision are not supported.
Add-ins will be loaded from the following folder
C:\Program Files (x86)\ABB Industrial IT\Robotics
IT\RobotStudio 6.04\Bin64\Addins
Installing RobotWare
A matching RobotWare version will be installed with RobotStudio. You can download
and install additional RobotWare versions through RobotStudio when connected
to the Internet. In the Add-Ins tab, click RobotApps. The RobotWare section shows
the RobotWare versions available for downloading.
Activating RobotStudio
The activation procedures are different for standalone and network licenses. If you
have a standalone license, refer Activating a standalone license on page 46 and
if you have a network license, refer Activating a network license on page 47.
Note
Note
To resolve issues during activation, contact your local ABB customer support
representative at the e-mail address or telephone number provided at
www.abb.com/contacts. Alternatively, with your activation key attached, send
an e-mail to softwarefactory_support@se.abb.com.
Proceed through the wizard, enter your activation key and save the license
request file to your computer.
2 Use removable storage, such as a USB stick, to transfer the file to a computer
with an Internet connection. On that computer, open a web browser, go to
http://manualactivation.e.abb.com/ and follow the instructions given.
The result will be a license key file that should be saved and transferred back
to the computer having the installation awaiting activation.
3 Relaunch the activation wizard and go through the steps until you reach the
Activate a Standalone License page.
4 Under Manual Activation, select the option Step 3:Install a license file.
Proceed through the wizard, selecting the license key file when requested.
Upon completion, RobotStudio is activated and ready for use.
RobotStudio must be restarted after the activation.
Tip
Network licenses are displayed as Network in the View Installed Licenses link
of the Licensing page.
Note
You need administrative privileges for installing and configuring the SLP
Distribution server. The installer requires the following details:
Windows Server 2012 or 2008, Windows 8, Windows 7, or Windows Vista
.NET Framework 3.5 SP1
The SLP Distributor server is installed as a service that starts automatically with
Windows. It requires two open TCP ports, by default 2468 (for the web interface)
and 8731 (for licensing). The installer opens these ports in the standard Windows
Firewall, but any third-party firewall must be configured manually by the system
administrator.
xx1300000052
To... Use...
Activate a network license manu- The Activation tab.
ally 1 Click Manual Activation.
(for PCs without Internet connec- 2 Type in your activation key provided by ABB, and
tion) then click Submit.
3 Save the file to a removable storage, such as a
USB stick, then transfer the file to a machine with
an Internet connection. On that machine, open a
web browser and browse to http://manualactiva-
tion.e.abb.com/ and follow the instructions given.
A license key file will be generated and saved and
will be returned to the machine which hosts the
installation.
4 Once you recieve the license file, click Browse to
upload and install the license file.
Your network license is now activated.
xx1300000051
View the installed licenses In the Home tab, under Dashboard, click Details.
Alternatively, click the Products tab.
The Product details for RobotStudio page opens which
shows the installed licenses details.
View the usage of licenses In the Home tab, under Dashboard, click Usage.
Alternatively, click the Usage tab.
The Current usage of RobotStudio page opens in which
the following details are tabulated.
Licenses which are currently allocated
Client to which each license is allocated to
Number of remaining licenses available for use
Each table row corresponds to one client system.
Note
Certain proxy issues upon activation in the web interface of SLP server may
produce a message which only states Activation failed. This issue happens when
the system account that executes SLP-Distributor-service does not have the
rights to read the user profile. As a workaround, follow this procedure:
1 Open the Services control panel (services.msc)
2 Open properties for Software Potential Distributor
3 Change Log on as to an actual named user, preferably the currently logged
on user
4 Restart the service and re-attempt an activation.
5 After your re-attempt, change Log on as back to Local System account and
restart the service.
Note
Note
For Network Licensing to work, the client system should be online with the server.
For information about enabling licensing while working offline, see Using
Commuter Licenses on page 51.
Note
It is not possible to check out specific features in the license. All features in a
license are included when it is checked out.
To check in/check out a commuter license, you need to use the Activation Wizard.
Use this procedure to check in/check out a commuter license.
Action
1 On the File menu, click Options and select General: Licensing
2 On the Licensing page to the right, click Activation wizard to launch the Activation
Wizard.
3 In the Activation Wizard, on the Activate RobotStudio page, choose I want to check out
or check in a commuter license and click Next.
You will proceed to the Commuter License page.
4 Under Commuter License, you will be presented one of the following options as per your
requirement:
Check out a commuter license - In the Check out days box specify the specify
the number of days for which you wish to keep the license.
This option is disabled if you already have a commuter license checked out.
Check in a commuter license - Choose this option to return the currently checked
out license to the server.
This option is enabled only if a commuter license is already checked out. If so,
the expiration date and time of the license is also displayed.
5 Click Finish to complete the check in/check out.
Tip
The following figure shows the ribbon, tabs and groups of the Graphical User
Interface.
en0900000215
Tab Description
1 File Contains the options to create new station, create new robot
system, connect to a controller, save station as viewer, and
RobotStudio options. For more information, see File tab on
page 209.
2 Home Contains the controls required for building stations, creating
systems, programming paths and placing items. For more
information, see Home tab on page 225.
3 Modeling Contains the controls for creating and grouping components,
creating bodies, measurements and CAD operations. For
more information, see Modeling tab on page 281.
4 Simulation Contains the controls for setting up, configuring, controlling,
monitoring and recording simulations. For more information,
see Simulation tab on page 349.
5 Controller Contains the controls for synchronization, configuration and
tasks assigned to the Virtual Controller (VC). It also contains
the controls for managing the real controller.
For more information, see Controller tab on page 379.
6 RAPID Contains the integrated RAPID editor, used for editing all
robot tasks other than robot motion.
For more information, see RAPID tab on page 443.
7 Add-Ins Contains the control for PowerPacs . For more information,
see Add-Ins tab on page 475.
Overview
The layout browser is a hierarchical display of physical items, such as robots and
tools.
Icons
Tool A tool.
xx050001
xx050009
xx050010
Overview
The paths & targets browser is a hierarchical display of non-physical items.
Icons
Virtual controller The system for controlling the robots, just like a
xx050012
real IRC5 controller.
xx0500001376
Workobjects & Targets Contains all workobjects and targets for the task
xx050015
or robot.
Workobject Collection and The workobject collection node and the workob-
xx050017
Workobject jects it contains.
Target without assigned A target for which no axis configuration has been
configuration assigned, for example, a repositioned target or
xx050019
a new target created by means other than
teaching.
Target without found con- An unreachable target, that is, for which no axis
figuration configuration has been found.
xx050020
Linear Move Instruction A linear TCP motion to a target. If the target has
xx050023
no valid configuration assigned, the move instruc-
tion gets the same warning symbols as the target.
Overview
The modeling browser is a display of editable objects and their building blocks.
Icons
Overview
The Controller browser is a hierarchical display of controller and configuration
elements found in the Controller tab view.
Icons
configu0
System Mod- System Modules System modules contain a set of type definitions,
ules data declarations and routines. System modules
contain data that applies to the robot system, re-
gardless of the program modules that are loaded.
Nostepin Module A module that cannot be entered during step-by-
step execution, that is, all instructions in the
nostepin
module are treated as one if the program is ex-
ecuted step-by-step.
View-only and Read-only An icon for program modules that are either view-
Program Modules only or read-only.
modules
View-only and Read-only An icon for system modules that are either view-
System Modules only or read-only.
module_e
Overview
The Files browser in the RAPID tab allows you to manage RAPID files and system
backups. Using the Files browser you can access and then edit standalone RAPID
modules and system parameter files that are not residing in the controller memory.
Icons
xx1200000824
xx1200000825
Overview
The Add-Ins browser shows the installed PowerPacs, General add-ins , if available,
under their respective nodes.
Icons
Overview
RobotStudio has a set of predefined window layouts. These layouts determine the
size and location of the four main windows, Layout, Paths&Targets,Tags and
Output. These windows are enabled by default and can be shown or hidden by the
Windows menu.
You can access the Windows menu from Customize Quick Access Toolbar >
Windows Layout > Windows.
Note
The Default Layout option does not work for Windows that RobotStudio Add-Ins
and PowerPacs add. However, the individual windows can be shown or hidden
by the Windows menu.
Overview
The output window displays information about events that occur in the station,
such as when simulations are started or stopped. This information is useful when
troubleshooting stations.
Event types
The three event types indicate the severity of the event:
Event type Description
Information An information message is a normal system event, for example,
starting and stopping programs, changing the operational
mode, and turning motors on and off.
Information messages never require an action from you. They
can be useful for tracking errors, collecting statistics or monit-
oring user-triggered event routines.
Warning A warning is an event of which you should be aware, but it is
not so severe that the process or RAPID program needs to be
stopped.
Warnings must occasionally be acknowledged. Warnings often
indicate underlying problems that at some point will need to
be resolved.
Error An error is an event that prevents the robot system from pro-
ceeding. The running process or RAPID program cannot con-
tinue and will be stopped.
An error must occasionally be acknowledged. Some errors
require some immediate action from you in order to be resolved.
Double-click an error to display a detailed information box.
Some of the events are active. These are linked to an action for resolving the
problem that generated the event. To activate the linked action, double-click the
message.
Goal Procedure
To filter messages... Right-click in the Output window and then click Show mes-
sages. From the options All Errors, Information, Warnings
and Warnings and Errors, select the type of messages you
want to display.
To save a message to file... Select it, right-click and then click Save to file. Choose a name
and location in the dialog box. Multiple messages can be selec-
ted by pressing SHIFT while clicking each.
To clear the Output win- Right-click in the Output window and then click Clear.
dow...
Overview
The Controller Status window shows the operational status of the controllers in
your robot view.
Note
6 Logged on as: Displays the user name the PC is logged on to the controller
with.
7 Access : Displays the users having write access to the controller, or if it is
available.
Overview
Operator Window is an alternative to the corresponding feature in the Virtual
FlexPendant for communicating with the user during RAPID program execution.
It displays the same output as displayed on the Virtual FlexPendant Operator
Window.
When running in a Virtual Controller, the RAPID program communicates with the
operator via messages on the FlexPendant screen. The Operator Window integrates
this functionality and allows the user to run interactive RAPID programs without
starting the Virtual FlexPendant.
Note
The Operator window starts when a Virtual Controller starts. The Virtual Controller
starts while opening a station or when adding a system.
Note
When the Show virtual Operator Window feature is enabled, an Operator Window
is automatically created for each controller in the station. By default, the window
is located in the tab area below the graphics window.
RAPID Instructions
The following are the RAPID instructions supported by the Operator Window. When
these instructions are executed, the behavior is similar to that of Virtual
FlexPendant:
TPErase
TPReadFK
TPReadNum
TPWrite
UIAlphaEntry
UIMsgBox
UINumEntry
The following are the RAPID instructions not supported by the Operator Window.
When these instructions are executed, an error message is displayed in the Operator
Window prompting you to use the Virtual Flexpendant instead:
TPShow
UIShow
UINumTune
UIListView
The controller switches to automatic mode when UIShow is executed.
Note
You should not run both the Virtual Flexpendant and Operator Window
simultaneously. RobotStudio will automatically request mastership when
committing data to the controller, when actions are taken in Virtual Operator
Window. This can cause undesired effect when using the Virtual FlexPendant at
the same time.
The emergency stop button pressed on the Virtual FlexPendant cannot be reset
through the virtual controller control panel. You must resent this button on the
Virtual FlexPendant.
Overview
The Documents window allows you to search and browse the RobotStudio
documents like libraries, geometry and so on in large numbers and from different
locations. You can also add associate documents with a station, either as a link or
by embedding a file in the station.
Note
The following context menu items appear depending on the document type
selected:
Item Description
Open Opens the document in the program associated with its file
type. For example, a .docx file is opened in Microsoft Word.
An embedded file is saved to a temporary location before
opening. If RobotStudio detects that the temporary file has
changed, you will be asked to update the embedded file.
Open containing folder Opens the folder containing the file in Windows Explorer.
This option is not available in embedded files.
Copy to Station Converts a referenced file to an embedded file.
Save as Saves an embedded file to disk.
Include in Pack and Go Specifies if a referenced file/folder should be included when
a Pack and Go file is created.
For a referenced folder, all files in the folder will be included.
To use this option, the file must be located in the parent
folder of the station file. For example, if the station file is
D:\Documents\Stations\My.rsstn, the reference must be
located in D:\Documents to be included in Pack and Go.
Embedded files are always included when a Pack and Go
file is created, since they are part of the station file.
Include Subfolders Specifies that subfolders of a referenced folder should be
included in Pack and Go.
Remove Removes the selected document.
Note
Some context menu items can be disabled and the document marked as
Locked in the API.
Note
The drop-down list contains the search history of the previous ten queries
between sessions.
3 Select Search in results check box to search for the resulting documents of
the previous search.
Note
The search is performed automatically, after you stop typing in the text
box or manually, by clicking the glass icon. During the search, this icon is
changed to a cross and clicking this cancels the search operation.
Search syntax
The search field supports certain keywords and operators which allows you to
specify an advanced search query.
Note
The following table displays the operators that specifies an advanced search query
Operator Description
: matches if the field contains the search string.
= matches if the field equals the search string.
< matches if the field is smaller than the search string.
> matches if the field is greater than the search string.
Note
Examples
1400 - Matches documents with the string 1400 in the filename or any
metadata.
not author:ABB - Matches documents where the author field does not contain
the string ABB.
size>1000 and date<1/2009 - Matches documents larger than 1000KB and
modified before 1/1/2009.
IRBP comments="ABB Internal" - Matches documents with the string IRBP
in the filename or any metadata, and where the comment field equals ABB
Internal.
Note
The top level of the folder structure lists the configured locations. If a
location is unavailable (for example, an offline network path) it is marked
as Unavailable and cannot be opened. The text box displays the path of
the current folder relative to the location root.
Note
You can browse and add component xml files (*.rsxml) to your station.
4 Click Refresh icon in the text box to manually refresh the contents of the
folder.
Note
Results view
In the Browse mode, items are grouped into folders and documents. The resulting
folders and documents are displayed in a list view.
The search result appears in the status bar at the bottom, displaying the number
of items found, and progress made during the search. The Search results are
grouped beneath headers according to their location.
Each document is represented by an image, the document title or filename in black
text, and the metadata and file information in grey text. For library files, the image
can be a screenshot or other custom image. For other document types, the image
is the icon associated with the file type.
Tip
Double-click an item to import the library and geometry files and open the other
documents.
In the results view, right-click an empty area. The following context menu appears
that controls how the documents are grouped and sorted:
Items Description
Group by: Controls how the documents are arranged in groups.
The following options are available:
Location
Folder
Type
Sort by: Controls how the documents are sorted within the group.
The following options are available:
Name
Date
Size
Ascending and Descending Items are sorted in the ascending and descending order.
Controls Description
Add Location Opens a dialog box to add a document location. By default,
there is one location type available.
For more information, see File System location on page 73.
Remove Deletes the selected location.
Edit Opens a dialog box to modify the selected location. For more
information, see File System location on page 73.
Note
You must close and re-open the RobotApps window for the
changes to happen.
selectio
Rotate the station CTRL + SHIFT + Press CTRL + SHIFT + the left mouse but-
ton while dragging the mouse to rotate the
station.
With a 3-button mouse you can use the
rotate left-cli middle and right buttons, instead of the
keyboard combination.
Pan the station CTRL + Press CTRL + the left mouse button while
dragging the mouse to pan the station.
pan left-cli
Zoom the station CTRL + Press CTRL + the right mouse button while
dragging the mouse to the left to zoom out.
Dragging to the right zooms in.
With a 3-button mouse you can also use
right-cl the middle button, instead of the keyboard
zoom
combination.
Zoom using window SHIFT + Press SHIFT + the right mouse button while
dragging the mouse across the area to
zoom into.
right-cl
window_z
Select using window SHIFT + Press SHIFT + the left mouse button while
dragging the mouse across the area to
select all items that match the current se-
lection level.
left-cli
window_s
1.4.14 3D Mouse
Overview
The 3Dconnexion 3D mouse has a pressure-sensitive controller cap designed to
flex in all directions. Push, pull, twist, or tilt the cap to pan, zoom, and rotate the
current view. A 3D mouse is used along with a regular mouse. Connecting a 3D
mouse to your RobotStudio environment lets you to interact with the graphical
environment.
You can connect the programmable buttons of the 3D mouse to your commonly
used RobotStudio commands by assigning the commands to custom keyboard
shortcuts. The custom keyboard shortcuts are configured with the same user
interface as the Quick Access Toolbar. When the keyboard shortcuts are configured
in RobotStudio, you must connect the programmable buttons to the keyboard
shortcuts in the 3D mouse applications control panel. For more information, refer
the user manual of the 3D mouse application.
Using a 3D mouse
The 3D mouse can move in six axes as mentioned in the following table.
Individual Axis Axes Description
Pan Right/Left Moves the model right and left.
xx1500000297
xx1500000299
xx1500000298
xx1500000301
xx1500000300
xx1500000302
Overview
Each item in a station can be moved to achieve the required layout, so you first
have to determine its selection level. The selection level makes it possible to select
only specific types of items, or specified parts of objects.
The selection levels are curve, surface, entity, part, mechanism, group, target/frame
and path. The target/frame and path selection can be combined with any of the
other selection levels.
Objects may also be grouped together as component groups, see Component
Group on page 282.
Overview
You can attach an object (child) to another object (parent). Attachments can be
created on part level and on mechanism level. When an object has been attached
to a parent, moving the parent also moves the child.
One of the most common attachments is to attach a tool to a robot. For procedures,
see Attach to on page 486 and Detach on page 495.
Note
Note
When the user presses the ALT key, shortcut keys are displayed on the
RobotStudio ribbon. Use these shortcut keys with ALT key to access the
corresponding menu item.
2 Building stations
2.1 Workflow of building a station
Overview
The following sections outline the workflow for building a new station. It also
includes the prerequisites for creating and simulating robot programs. The workflow
includes:
Options for creating a station with a system.
Importing or creating the objects to work with
Optimizing the station layout by finding the best placement of robots and
other equipment.
Note
For most scenarios, you are recommended to follow the workflows from start to
finish, even though other sequences maybe possible.
Activity Description
Create a station with a This is the simplest way to create a new station containing a
template system robot and a link to a rudimentary system template.
Create a station with an This creates a new station containing one or more robots in
existing system accordance with an existing, built system.
Create a station with no An advanced user can build a station from scratch and then
system add a new or existing system to it.
Activity Description
Import a robot model See Robot System on page 228.
Import a tool See Import Library on page 227.
Activity Description
Import a positioner See ABB Library on page 226.
Import a track See Import Library on page 227.
Import other equipment If you have CAD models of the equipment, you can import
them, see Import Library on page 227. Otherwise, you can create
models in RobotStudio, see Mechanisms on page 100.
Add work piece If you have CAD models of the work piece, you can import
them, see Workobject on page 239. Otherwise, you can create
models in RobotStudio, see Objects on page 98.
Overview
This section describes conveyor tracking with two robot systems. The baseframes
of the mechanical units in both the robot systems have the same or different task
frame position.
Prerequisites
Two robot systems with conveyor tracking option (system 1 and system 2)
A conveyor is created as described in Create Conveyor on page 338.
Setting up conveyor tracking station with a robot system and two conveyors
1 Add the existing system (system 1) to the station. See Robot System on
page 228.
2 Import two conveyor libraries and set the position of robot / conveyors to
new location:
a See Updating the baseframe position on page 440 to update the
baseframe position of the robot.
b Set the position of conveyor to required position.
3 In the Controller tab, click Load Parameters, and select cnv2_eio.cfg,
cnv2_moc.cfg and , cnv2_prc.cfg files from C:\Users\<Current
User>\AppData\Local\ABB Industrial IT\Robotics
IT\RobotWare\RobotWare_6.xx\options\cnv.
4 Restart the controller.
5 Set a connection between system1 and conveyor1, and similarly between
system 1 and conveyor 2, see Create connection between virtual controller
and conveyor on page 339.
Note
Y - Combination is supported
N - Combination is not supported
YX - Combination is supported and manual mapping of mechanical units and
joints required
Note
Creating a system from layout only supports tracks of type RTT and IRBTx003
in combination with positioners. i.e. IRBTx004 is not supported in combination
with the positioners.
Supported RobotWare 6 configurations for positioners, motor units, gear units and track motions
The following table shows various RobotWare 6 configurations:
MU/MTD 1
MU/MTD 2
MU/MTD 3
MultiMove system
No drives
IRBP A 1
IRBP A 2
IRBP L 1
IRBP L 2
model)*
IRBP K
IRBP C
IRBP D
IRBP R
IRBP B
model)**
X X 1
X X X 2
X X X 2
Track
X X X X 2
X X X 3
X X X X 3
X X X 2
X X X 2
X X X X 3
X X X X X 3
X X X X 3
X X X X 3
X X 1
X X X 2
X X X X 3
MU/MTD + IRBP
X X X 2
X X X X 3
X X X 2
X X X X 3
X X X 2
X X X X 3
X X X X X 3
X X X X 3
X X 1
X X X 2
X X 1
X X X 2
X X 1
IRBP only
X X 3
X X 3
MU/MTD 1
MU/MTD 2
MU/MTD 3
MultiMove system
No drives
IRBP A 1
IRBP A 2
IRBP L 1
IRBP L 2
model)*
IRBP K
IRBP C
IRBP D
IRBP R
IRBP B
model)**
X X 3
X X 3
* : Track motion that does not use a dynamic model, applicable for RTT.
**: RobotWare add-in that contains a dynamic model for track motion is used,
applicable for IRBT 4004, 6004, 7004 and 2005.
Note
You can configure dynamic (IRBTx004 and IRBT2005) tracks only for T_ROB1
and T_ROB2. This is limited by RobotWare add-in for track motion.
MU does not support MultiMove in System From Layout. Dynamic tracks cannot
be combined with MU.
2.4 Manually setting up system based on RobotWare 5.xx with track motion
Action Description
1 Select the desired robot variant In the New Controller System wizard of the
(IRB6600). Installation Manager, naviagte to Modify Op-
tions page and scroll down to Drive Module
1 > Drive module application group and ex-
pand ABB Standard manipulator option and
select Manipulator type (IRB6600).
2 Select the Additional axes config- In the New Controller System wizard of the
uration. Installation Manager, naviagte to Modify Op-
tions page of the Installation Manager, scroll
down to Drive Module 1> Additional axes
configuration group and expand the Add axes
IRB/drive module 6600 option and select the
770-4 Drive W in pos Y2 option.
The option 770-4 Drive W in pos Y2, the Drive
module, and the Position varies depending
on the Additional axes configuration selected.
Make sure to select at least one drive in any
position.
3 Click Finish. Close the Modify Options page.
Note
In the Select Library group, select either the existing track or import a
different track.
The system may fail unless the correct additional axes configuration is
selected.
Overview
For configuration of tracks of type IRBT4004, IRBT6004, or IRBT7004, the
TrackMotion mediapool must be installed. For more information, see Installing and
licensing RobotStudio on page 44.
Action Description
1 Add add-ins for IRBTx004. See Adding additional options on page 168.
Browse and select the key file (.kxt) located
in the mediapool Track 5.XX.YYYY where 5.XX
indicates the latest RobotWare version being
used.
2 Select the desired robot variant On the Modify Options page of the Installa-
(IRB6600). tion Manager, scroll down to Drive Module 1
> Drive module application group and expand
ABB Standard manipulator option and select
Manipulator type (IRB6600).
3 Select Additional axes configur- On the Modify Options page of the Installa-
ation. tion Manager, scroll down to Drive Module
1> Additional axes configuratin group and
expand the Add axes IRB/drive module 6600
option and select the 770-4 Drive W in pos Y2
option.
The option 770-4 Drive W in pos Y2, the Drive
module, and the Position varies depending
on the Additional axes configuration selec-
ted. Make sure to select at least one drive in
any position.
4 Select the desired track motion On the Modify Options page of the Installa-
(IRBT 6004). tion Manager, scroll down to the TRACK and
expand the Drive module for Track motion
group. Select Drive Module 1 >Track Motion
type >IRBT 6004 > Irb Orientation on Track
> Standard carriage In Line > Select Track
Motion Length > 1.7m (or any other variant).
5 Click Finish. Close the Modify Options page.
2 Add the system to the station. See Adding a system on page 92.
3 Add the desired track model to the station using the following procedure.
See Adding the track to the system on page 94.
a In the Select Library group, click Other to import a different track
motion library.
b Click OK. When asked if you want to restart the system, answer Yes.
Close the System Configuration window.
2.5.1 Starting a VC
Overview
RobotStudio uses virtual controllers for running the robots. Virtual controllers can
run both systems for real robots and specific virtual systems for testing and
evaluation purposes. A virtual controller uses the same software as the controller
to execute the RAPID program, to calculate robot motions and to handle I/O signals.
When starting a virtual controller, point out which system to run on it. Since the
system contains information about the robots to use and important data such as
robot programs and configurations, it is important to select the right system for
the station.
Note
You can start and stop a virtual controller, using a given system path and without
needing a station. For more information, see Start Virtual Controller on page 381.
Starting a VC
The table below describes the different ways a virtual controller may start:
Startup Description
Automatic, when creating In most cases, a VC is automatically started when you create
a station a new station. Library files for the robots used by the system
are then imported to the station.
Automatic, when adding a If your station uses several systems or if you started with an
system to an existing sta- empty station, you can add systems to an open station. Library
tion files for the robots used by the the systems are then imported
to the station.
Manually, when connecting If you have manually imported a robot library you want to use
to an imported library with a system, instead of importing a new library at startup,
you can connect this library to a controller.
If you have manually imported a robot library you want to use
with a system, instead of importing a new library at startup,
you can connect this library to a controller.
A library may only be connected to a single-robot system and
may not be already connected to another VC.
Manually, when starting a The Start Virtual Controller commands allows you start and
controller from the Control- stop a virtual controller, using a given system path and without
ler tab. needing a station.
Adding a system
To add a system to a new station, see New tab on page 211.
To add a system to an existing station, see Robot System on page 228.
For information how to create a system with specific options, see The System
Builder on page 164.
To start or add a virtual controller which is not part of a station, see Add Controller
on page 380.
2.5.2 Restarting a VC
Importing a tool
A tool is a special object, for example, an arc weld gun or a gripper, that operates
on the work piece. For achieving correct motions in robot programs, the parameters
of the tool have to be specified in the tool data. The most essential part of the tool
data is the TCP, which is the position of the tool center point relative to the wrist
of the robot (which is the same as the default tool, tool0).
When imported, the tool will not be related to the robot. So in order for the tool to
move with the robot, you must attach it to the robot.
To import a tool, in the Home tab, click Tool and then select a tool from the gallery.
Importing a positioner
To import a tool, in the Home tab, click Positioner and then select a positioner
from the gallery.
Note
This procedure is not applicable for a robot system with track motions IRBT4004,
IRBT6004, or IRBT7004. They are configured by the TrackMotion mediapool and
not by adding separate configuration files. For information on installation
instructions, see Installing and licensing RobotStudio on page 44.
RobotStudios installation folder. The ABB Library folder can also be opened
from the Quick access pane at the left of the Open dialog box used for adding
parameter files.
The file name of each parameter file tells which tracks it supports. The first
part tells the length of the track and the second the number of tasks.
For example, the file TRACK_1_7.cfg supports all tracks with the length 1.7
meters in systems with one single task. For Multimove systems or other
systems with several tasks, use the configuration file with the matching
number of tasks.
For example, if the track length is 19.9 m and the robot attached to the track
is connected to task 4 of the MultiMove system, then select
TRACK_19_9_Task4.cfg file.
5 In the System Configuration window, click OK. When asked if you want to
restart the system, answer Yes.
6 During the restart a list of all tracks compatible with the configuration file is
displayed. Select the one to use and click OK.
After the restart the track appears in the station. Continue with attaching the
robot to the track.
Overview
The characteristics of the geometries and CAD models in the station may have
great effect on your work in RobotStudio, both in aspects of making the objects
easier to program as well as enhancing simulation performance.
Below are some guidelines for troubleshooting geometries.
Trouble Information
The pointer snaps to the This problem might be caused by wrong snap mode settings,
wrong parts of the objects imprecise selecting, hidden or lack of geometrical information.
when selecting in the To resolve these problems, do the following:
graphics window Check the selection level and snap mode settings. For
more information, see Selecting an item on page 76.
When making the selection, zoom and rotate the object
so that you are sure to click inside the object.
Check if the object has hidden details that might affect
the snapping. Remove details that are not necessary for
your programming or simulation. For more information,
see Modifying a part on page 99.
Some file formats only contain a graphical representation
and no geometrical data. Import the geometry from a
file format that also contains geometrical data. For more
information, see Libraries, geometries and CAD files on
page 41.
The graphics window re- This might be due to the performance of your computer not
draws or updates slowly being high enough for the size of the geometry files in your
station.
To reduce the size of the geometry files, do any of the following:
Use a lower detail level for rendering the geometry. For
more information, see Graphic Appearance on page 498.
Check if the object has unnecessary details. Remove
details that are not necessary for your programming or
simulation. For more information, see Modifying a part
on page 99.
Trouble Information
Parts of the geometry are If parts of the geometry are not visible from some views, a
not visible probable cause is that the object is made up of 2D surfaces
and the option Backface culling is on.
Backface culling means that the faces of the object are only
visible from the front, and if the object (or any of its faces) is
oriented differently, they will not be visible.
To correct the problem, do one of the following:
Switch to modeling mode and invert the direction of the
face that is not displayed correctly. This not only corrects
the display, it also decreases the chance of faulty orient-
ations during graphical programming. For more inform-
ation, see Invert on page 505 or To invert the direction of
all faces of a part on page 97.
Turn backface culling off for the specific object. This
makes the object display correctly, but does not affect
the direction of the face, which might cause problems if
the face will be used for graphical programming. For
more information, see To deactivate backface culling
for a single object on page 97.
Turn backface culling off for all objects in the station.
This makes the objects display correctly, but does not
affect the direction of the face, which might cause
problems if the face will be used for graphical program-
ming. It also decreases the performance of the graphic
handling. For more information, see To change the
generic setting for backface culling on page 97.
2.7 Modeling
2.7.1 Objects
Overview
This section describes how to create or modify geometrical objects.
Creating a frame
A frame is a generic coordinate system that you can use as reference when
positioning objects. Generic frames can also be converted to special kinds of
coordinate systesm, like workobjects or tool center points.
For procedures, see Frame on page 236 and Frame from Three Points on page 237.
Creating a solid
With the create solids commands you can create and build models of objects you
do not have CAD files or libraries for. With the create solids commands you create
primitve solid bodies; these can later be combined to more complex bodies.
For procedures, see Solid on page 318.
Creating a surface
For procedures, see Surface on page 322.
Creating a curve
When creating paths with targets based on the object geometries, curves are the
geometrical objects that RobotStudio uses. For example, if you want the robot to
run along the edge of an object, you can first create a curve along the border and
then generate a complete path along that curve, instead of manually finding and
creating the necessary targets.
If the CAD model/geometry of the work piece does not already contain curves, you
can create the curves i RobotStudio.
For procedures, see Curve on page 324.
Modifying a curve
When creating paths with targets based on the objects geometries, curves are the
geometrical objects that RobotStudio uses. By optimizing the curves before starting
programming, you reduce the touch-up of the generated paths.
For procedures, see Modify Curve on page 514.
Creating a border
For procedures, see Border on page 329.
Modifying a part
When you import a geometry or create an object, it will be one part. A part can,
however, contain several bodies. In RobotStudios modeling mode you can modify
the parts by adding, moving and deleting the bodies.
To modify a part, follow this step:
1 In the Modeling browser, expand the node for the part to modify. Then modify
the part by doing any of the following:
To Do this
Delete a body Select the body and press the DEL key.
Move a body from one Drag the body or use the Copy and Paste commands on
part to another the Edit menu.
Move one body relative Select the body and then move it using any of the ordinary
to the others commands for moving objects, see Placing objects on
page 103.
2.7.2 Mechanisms
Workflow
This information topic describes how to create a new mechanism, that is, a graphical
representation of a robot, tool, external axis or device. The various parts of a
mechanism move along or around axes.
Creating a mechanism is dependent upon skillful construction of the main nodes
of the tree structure. Four of theselinks, joints, frames/tools and calibrationare
initially marked red. As each node is configured with enough subnodes to make it
valid, the marking turns to green. As soon as all nodes have become valid, the
mechanism will be considered compilable and can be created. For additional validity
criteria, see the table below.
Node Validity critera
Links It contains more than one subnode.
The BaseLink is set.
All link parts are still in the station.
Joints At least one joint must be active and valid.
The modify mode of the Mechanism Modeler has two purposes: to enable
modification of an editable mechanism in its tree structure, and to complete the
modeling of a new or modified mechanism.
It is recommended to configure each main node in the tree structure from the top
down. Depending on its current status, right-click or double-click a node or subnode
to add, edit or remove it.
For procedures, see Create Mechanism on page 338.
Overview
To simulate the robot tool, you need tooldata for the tool. If you import a predefined
tool or if you create a tool using the Create Tool Wizard, the tooldata is
automatically created; otherwise, you have to create the tooldata yourself.
The tooldata simplifies the programming work with respect to the different tools
that may come in use. Defining separate sets of tooldata for different tools makes
it possible to run the same robot program with different tools: only the new tooldata
has to be defined. The tooldata contains the information required for moving and
simulating the tool.
Two methods for manipulating tooldata in RobotStudio are as follows:
Create or modify tooldata, see Tooldata on page 240 and Modify Tooldata on
page 519, respectively. This will create all data necessary for programming,
but there will be no visual tool during the simulation.
Create tooldata for an existing geometry, Create Tool on page 345.
Overview
Each object has a coordinate system of its own called local coordinate system in
which the object dimensions are defined. When the objects position is referred
from other coordinate system, it is the origin of this coordinate system that is used.
With the Set Local Origin command you reposition the objects local coordinate
system, not the object itself.
For a procedure, see Set Local Origin on page 532.
2.8 Placement
Overview
To achieve the required layout of your station, you need to import or create objects,
place them accordingly and, if applicable, attach them to other objects.
Placing objects means setting their position and rotation. If the objects are to be
attached to robots or other mechanisms, they will be placed at their attachment
point automatically.
The following table describes the actions relating to placement:
Actions Description
Placing an object To place an object is to put the object in the required position
in the station, see Place on page 524 and Set Position on
page 534.
Rotating an object The objects in the station can be rotated to achieve the required
layout, see Rotate on page 530.
Measuring distance or The measurement functions calculates distances, angles and
angles diameters between points you select from the graphics window.
When using measurements, results and instructions on how
to proceed are displayed in the Output window, see The
Measure Group on page 337.
Creating a component A component group groups related object in the browser, see
group Component Group on page 282.
Attaching or detaching an Objects that are to be used by the robots in any way, such as
object tools, need to be attached to the robot, see Attach to on page 486
and Detach on page 495.
Jogging a robot Robots can be placed by jogging. The robot axes can also be
postioned by jogging, see Jogging mechanisms on page 111.
Modifying the task frame Modifying the task frame repositions a controller and all its ro-
bots and equipment in the station.
By default the controller world and the station world coordinate
system coincide. This is convenient when building a station
with one single controller. For a procedure, see Set Task
Frames on page 439.
However, when you have several controllers in one station, or
need to reposition a controller in an existing station, you need
to modify the Edit System on page 440.
Modifying the baseframe Modifying the baseframe position sets an offset between the
position controllers world coordinate system and the baseframe of the
mechanical unit.This is necessary when having several mech-
anical units belonging to one controller, for example, several
robots in MultiMove systems or when using positioner external
axes. For a procedure, see Edit System on page 440.
Overview
When starting a system with a track or positioner external axis in a RobotStudio
station, you have to set up the system to load a model for the track or positioner
and get the motions to work properly.
Prerequisites
The system shall be created with support for track or positioner external axes, see
A system with support for one robot and one positioner external axis on page 179.
CAUTION
If you restart the system using the restart mode Reset controller, the setup is
deleted and the procedures described here must be performed again.
2 Attach the fixture to the positioner, see Attaching and detaching objects on
page 77. When asked whether to keep the current position, answer No.
If the positioner has several stations, you will be asked which one to attach
the object to.
3 Attach the work piece to the fixture. When asked whether to keep the current
position, answer No.
4 Attach the workobject in which you will program the work piece to either the
fixture, the work piece or the positioner. If you have defined calibration
positions on either the work piece or the fixture, it is a good practice to use
that object. When asked whether to keep the current position, answer No.
The positioner is now set up and ready to be programed, see Programming
external axes on page 137 for more information.
Tip
If the positioner is of an interchangeable type with several stations, you can either
attach individual fixtures, work pieces and workobjects to each station flange,
or you can use one set of objects that you attach and detach to the different
flanges by events.
CAUTION
If you restart the system using the restart mode Reset controller, the setup is
deleted and the procedures described here must be performed again.
Overview
When modifying the position of a robot connected to a VC there is a possibility to
modify the related task frame or any stationary RAPID objects (tooldata,
workobjects) connected to the robot.
Prerequisites
A robot library must be present in the station and connected to a VC, see Creating
a station with a system on page 83.
Note
3 Programming robots
3.1 Workflow for programming a robot
Overview
In most cases, going through the workflow from start to finish is recommended,
even if it is possible to work in other sequences as well.
Synchronizing will save and load text files containing RAPID modules, and create
RAPID programs from your station.
Prerequisites
Before creating a program for your robot, you should set up the station, including
robots, work pieces and fixtures, in which your robot will work.
Programming a robot
The table below describes the workflow for programming a robot to perform the
task you require.
Task Description
Create targets and paths Create the targets and paths the robot requires to perform the
work tasks.
To create targets and paths, do one of the following:
Create a curve to match your required shape. Then use
the Create path from curve command to generate a
path, complete with targets, along the shape you have
created. See Curve on page 324 and AutoPath on
page 248.
Create targets at the requested positions, then create a
path and insert the created targets into it. See Create
Target on page 242, Teach Target on page 241 and Empty
Path on page 247.
Check the target orienta- Make sure that the targets are oriented in the most efficient
tions way for the tasks to be performed. If not, reorient the targets
until you are satisfied. See Orientations on page 117.
Check reachability Check that the robot and tool reach all targets in the path. See
Testing positions and motions on page 128.
Synchronize the program Generates RAPID code from the RobotStudio items and enables
to the virtual controller the program to be simulated.
Perform text-based editing If you need to edit the instructions or data created by RobotStu-
dio, you can start the RAPID Editor. See Examples of using
the RAPID editor on page 473.
Collision detection Check that the robot or tool does not collide with the surround-
ing equipment or the fixtures. If it does, adjust the placements
or orientations until no collisions occur. See Detecting collisions
on page 147.
Test the program Test the program by moving along the paths. See Testing pos-
itions and motions on page 128.
3.2 Workobjects
Creating a workobject
A workobject is a coordinate system used to describe the position of a work piece.
The workobject consists of two frames: a user frame and an object frame. All
programed positions will be related to the object frame, which is related to the user
frame, which is related to the world coordinate system.
xx050000
Modifying a workobject
For a procedure, see Modify Workobject on page 520.
Jogging a robot
To check if the robot can reach all positions on the work piece, you can jog the
TCP or the joints of the robot, either with the freehand commands of through dialog
boxes. Jogging the robot close to its boudaries is best done with the latter method.
To Procedure
Jog the joints of a robot For freehand, see Jog Joint on page 267. For a dialog box, see
Mechanism Joint Jog on page 509.
Jog the TCP of a robot For freehand, see Jog Linear on page 268. For a dialog box, see
Mechanism Linear Jog on page 511.
Prerequisites
To jog the TCP of a robot, the robots VC must be running.
Function Description
Mutlirobot jog When using multirobot jog, all selected mechanisms will follow
the TCP of the one being jogged.
Multirobot jog is available for all kinds of jogging.
See MultiRobot Jog on page 270.
Jogging with locked TCP When jogging a mechanism that moves a robot (like a track
external axis) with locked TCP, the robot will reposition so that
the position of the TCP does not change, even though its
baseframe is moved.
When jogging an external axis that moves the work object with
locked TCP, the robot will reposition so that its TCP follows
the work object in the same way as when using multirobot jog.
Locked TCP is available when jogging a mechanism that be-
longs to the same task as a robot.
See Mechanism Joint Jog on page 509.
3.4 Targets
Creating a target
You can create a new target manually either by entering the position for the target
in the Create Target dialog box or by clicking in the graphics window.
The target will be created in the active workobject.
For a procedure, see Create Target on page 242.
Creating a jointtarget
A jointtarget is a specification of the position for the robot axes.
For a procedure, see Create Jointtarget on page 244.
Teaching targets
You can create a new target by jogging the robot and teaching a target at the active
TCP. Taught targets will be created with the axis configuration used when jogged
to the target.
The target will be created in the active workobject.
For a procedure, see Teach Target on page 241.
Note
To jog a robot linearly, a virtual controller must be running for that robot. For
detailed information, see Starting a VC on page 92.
Renaming targets
With this command you can change the name of several targets at once. You can
either rename targets individually, or you can rename all targets in one or several
paths at once.
The new target names will consist of an optional prefix, an incremental number
and an optional suffix.
For a precedure, see Rename Targets on page 528.
When renaming targets, make sure that the new targets conform to the naming
rules. The target names must:
start with an alphabetical character in the ISO 8859-1 encoding (that is, an
ordinary letter from the English alphabet)
be shorter than 16 characters
not be empty strings
not contain any characters illegal in RAPID. See RAPID reference manual
for details.
3.5 Paths
Reversing paths
The reverse path commands change the sequence of targets in the path so that
the robot moves from the last target to the first. When reversing paths, you can
reverse either the target sequence alone or the entire motion process.
For procedures, see Reverse Path on page 529.
Note
When reversing paths, the original paths are deleted. If you want to keep them,
make copies before reversal.
Note
When reversing paths, only move instructions are handled. Action instructions,
if any exist, have to be inserted manually after the reversal.
Rotating paths
With the rotate path command you can rotate complete paths and move the targets
used by the paths accordingly. When rotating paths, the included targets will lose
their axis configurations, if any have been assigned.
A frame or target must exist at the position to rotate around before starting the
rotate path command.
For a procedure, see Rotate Path on page 531.
Translating a path
The translate path function moves a path and all included targets.
For a procedure, see Translate Path on page 536.
Interpolating a path
The interpolate functions reorient the targets in a path so that the difference in
orientation between the start and end targets is distributed evenly among the
targets in between. The interpolation can be either linear or absolute.
Linear interpolation distributes the difference in orientation evenly, based on the
targets positions along the length of the path.
Absolute interpolation distributes the difference in orientation evenly, based on
the targets sequence in the path.
Below are examples of the difference bewteen linear and absolute interpolation.
The interpolate functions reorient the targets in a path so that the difference in
orientation between the start and end targets is distributed evenly among the
targets in between. The interpolation can be either linear or absolute.
For a procedure, see Interpolate Path on page 504.
No interpolation
This is the path before any interpolation. Note that the last target is oriented
differently than the others.
xx050026
Linear interpolation
This is the same path after linear interpolation.
xx050027
Note that the targets are oriented based on their placement relative to the start
and end targets.
If a target were moved and you reran the linear interpolation, it would be reoriented
according to its new position.
If new targets were inserted between the existing ones and you reran the linear
interpolation, it would not affect the orientation of the existing targets.
Absolute interpolation
This is the same path after absolute interpolation
xx050028
Note that the targets are orientated based on their sequence in the path: each
target has been reoriented equally, regardless of its place.
If a target were moved and you reran the absolute interpolation, it would not affect
the orientation.
If new targets were inserted between the existing ones and you reran the absolute
interpolation, it would change the orientation of all targets.
Mirroring a path
The mirror path function mirrors all motions instructions and their targets to a new
path.
For a procedure, see Mirror Path on page 512.
3.6 Orientations
Overview
This is an overview of the tools for automating the modification of target orientations.
When creating paths from curves in RobotStudio, the orientation of the targets
depends on the characteristics of the curves and the surrounding surfaces. Below
is an example of a path with unordered target orientations and examples of how
the different tools have affected the targets.
Unordered orientations
In the path below, the target orientations are unordered. The function View tool at
target has been used for illustrating how the targets point in different directions.
xx050029
xx050030
xx050031
Tip
xx050032
Note
For information on the RAPID Editor, which is used for creating and modifying
RAPID program code, see RAPID tab on page 443.
In addition to move instructions, you can also create and insert action instructions
from RobotStudio. An action instruction is an instruction other than a move
instruction that can, for example, set parameters, or activate or deactivate
equipment and functions. The action instructions available in RobotStudio are
limited to those commonly used for affecting the robots motions. For inserting
other action instructions or another kind of RAPID code in the program, use the
RAPID Editor. For a procedure, see Action Instruction on page 260.
The table below lists the action instructions that can be created. For details, see
the RAPID Reference Manual.
Action instruction Description
ConfL On/Off ConfL specifies whether to monitor the robots configurations
during linear movements. When ConfL is set to Off, the robot
may use another configuration than the programed one for
reaching the target during program execution.
ConfJ On/Off ConfJ specifies whether to monitor the robots configurations
during joint movements. When ConfJ is set to Off, the robot
may use another configuration than the programed one for
reaching the target during program execution.
Actunit UnitName Actunit activates the mechanical unit specified by UnitName.
DeactUnit UnitName Deactunit deactivates the mechanical unit specified by Unit-
Name.
Modifying an instruction
Most instructions have arguments that specify how the instruction shall be carried
out. For example, the MoveL instruction has arguments that specify the speed and
accuracy with which the robot moves to the target.
For a procedure, see Modify Instruction on page 517.
Note
Some arguments are read from the virtual controller. If the virtual controller has
not been started, only the arguments stored in the station can be modified.
Instruction templates
Instruction templates contain predefined sets of argument values that are applied
to the instructions you create using the template. You can create templates for all
instructions in the system running on the virtual controller. To see which instructions
are available and what their arguments do, see the RAPID reference manual for
your RobotWare version and the reference sections in manuals for software options,
if you have any installed on the system.
Move instruction templates are always part of process templates. The process
templates contain one instruction template for each type of move instruction that
might be used by the process.
The process templates are instances of process definitions, which define the types
of move instructions (move instruction definitions) that might be used by the
process.
To create new move instruction templates, start by creating a new process template
for a process that uses the type move instructions you want to create templates
for. If such a process does not exist, you first have to create a new process
definition.
If no move instruction definition for the type of instruction you want to create a
template for exists, you must create it first.
When creating instruction descriptions, the virtual controller must be running, since
the available instruction types are read from the system.
Templates can be imported and exported on four levels: tasks, move instruction
descriptions, action instruction descriptions and process definitions. The default
directory for imported and exported template files is My Documents/RobotStudio.
Simply choosing another directory will then make that directory default. As a default
.xml is the file format.
The validation procedure checks for duplicate names, incomplete process definitions
and virtual controller equality. It is performed automatically, after a template file
has been imported or a node renamed or deleted.
For procedures, see Instruction Template Manager on page 261.
manually define the instruction templates for these using the Instruction Template
Manager. The instruction templates are exported to XML format and reused later.
The instruction template supports the following Robotware options:
Cap (Continuous Application Process)
Disp (Dispense)
Trigg (Fixed Position Events)
Spot Pneumatic
Spot Servo
Spot Servo Equalizing
Paint
RobotStudio has pre-defined XML files that are imported and used for robot
controller systems with the appropriate RobotWare options.These XML files has
both the Move and Action instructions.
Note
Note
For details about available arguments and what they do, see the RAPID
reference manual for ordinary RAPID instructions and the option manual for
software option instructions.
2 Right-click the Process definitions node and click Create Process Definition.
This opens the Create Process Description dialog box.
3 In the Create Process Definitions dialog box, enter a name for the process
definition, a name for its first process template and then select the move
instruction types to use. Finish by clicking Create.
Overview
RobotStudio has several functions for testing how robots reach and move to targets.
They are useful both for finding the optimal layout when building a station and
during programming.
Below are brief descriptions of the functions for testing reachability and motions.
Checking reachability
The check reachability function displays whether the robot can reach selected
targets and motion instructions by changing the frames colors in the graphic view.
Reachable frames are colored green, unreachable red, and frames with reachable
positions but not with current orientation are colored yellow.
The reachability check is useful when building the station, since the reachability
of several targets are displayed at once. For a procedure, see Check Reachability
on page 489.
Jumping to target
Jump to target tests whether the robot can reach a specific position. This is useful
when building the station: by creating targets at critical positions on the work piece
and jumping the robot to them, you get an early indication of whether the items
are positioned correctly or not. For a procedure, see Jump to Target on page 506.
Moving to a pose
Moving to a pose moves a mechanism to a predefined joint value at a predefined
time without using the Virtual Controller. This is useful when movement of the
external equipment (such as a clamp or conveyer) must be simulated. For a
procedure, see Move to Pose on page 522.
Simulating programs
Simulating programs involves running a program on the virtual controller as it is
run on a real controller. It is the most complete test whereby you can see how the
robot interacts with external equipment through events and I/O signals. For a
procedure, see Simulation Setup on page 351.
About MultiMove
The MultiMove functions helps you create and optimize programs for MultiMove
systems where one robot or positioner holds the work piece and other robots
operate on it. Below is an outline of the main workflow for programming MultiMove
systems with RobotStudio, with references to detailed instructions further down
in the section.
Prerequisites
For using the MultiMove functions you must first have the following:
A virtual controller running a MultiMove system started in RobotStudio, see
A MultiMove system with two coordinated robots on page 194 for an example.
All coordinate systems and tools used by the system.
The paths along which the tool shall move. The paths must be created in a
workobject that belongs to a tool robot and is attached to the work piece
robot. A wizard will guide you through attaching the workobjects if this has
not been done before starting the MultiMove functions.
For detailed information about MultiMove in RobotWare systems and RAPID
programs, see MultiMove application manual.
Normal workflow
This is the typical workflow for creating MutliMove programs using the MultiMove
function:
Action Description
Setting up the MultiMove Select the robots and paths to use in the program, see
Setting up the MultiMove on page 132.
Testing the MultiMove Execute the motion instructions along the paths, see
Testing the MultiMove on page 133.
Tuning the motion behavior Tune motion behavior, such as tolerances and constraints
for TCP motions, see Tuning the motion behavior on
page 134.
Creating the program Generate the tasks for the robots, see Creating paths on
page 136.
Additional actions
In addition to using the functions that calculate and create optimized MulitMove
paths, you can program MulitMove manaully using a combination of the ordinary
programming tools in RobotStudio and a set of tools specific for MultiMove
programming.
The main actions for programming MulitMove manually are outlined below. Not all
actions might be necessary, but the order in which they shall be carried out depends
on the contents of the station and your goals.
Action Description
Creating Tasklists and Syncid- This data specifies the tasks and paths that shall be
ents synchronized with each other. See The Create Tasklist
tool on page 257 and The Create Syncident tool on
page 257, respectively.
Adding and updating ID argu- To add IDs to the intructions, you can use one of the fol-
ments to the instructions to syn- lowing methods:
chronize Using The Recalculate ID tool on page 256 to add and
update IDs for instructions in paths that already are syn-
chronized.
Using The Convert path to MultiMove path tool on page 257
to add IDs to instructions in paths that have not yet been
synchronized.
Adding and adjusting Sync in- Add SyncMoveon/Off or WaitSyncTask instructions
structions to the paths. to the paths to synchronize and set their tasklist and
Syncident parameters. See Creating an action instruction
on page 260.
Teaching MultiMove instructions It is also possible to jog all robots to the desired positions
and then teach instructions to new synchronized paths.
See MultiTeach tab on page 253.
Overview
Testing the MultiMove executes the motion instructions along the paths according
to the current settings on the setup and motions properties pages.
Testing Paths
This procedure is for setting the robots start position and testing the resulting
movements along the path sequence.
1 Jog the robots to what seems to be a good start position.
2 On the Home tab, click MultiMove. Click the Test tab at the bottom of the
MultiMove work area for displaying the test area.
3 Optionally, select the Stop at end check box to make the simulation stop
after moving along the paths. Clearing this check box makes the simulation
continue in a loop until you click Pause.
4 Click Play to simulate the motions along the paths based on the current start
position.
If you are satisfied with the motions, continue generating multimove paths.
If the simulation cannot complete or if you are not satisfied with the motions,
pause the simulation and perform any of the actions below to adjust the
motions:
Action Description
Examine the robots posi- Click Pause and then use the arrow buttons to move to
tions for critical targets. one target a time.
Jog the robots to new start New start positions might result in changed motions,
positions. since the robots will use different configurations. In most
cases, positions near the robots joint limits shall be
avoided.
Go to the Motion Behavior The default setting for the motion properties is no con-
tab and remove con- straints. If this has been changed, constraints might
straints. exist that limit motions more than necessary.
Overview
Tuning the motion behavior means to set up rules for the robots motions, for
example, constraints on the position or orientation of the tool. Generally, the
MultiMove program will obtain the smoothest motions with the fastest cycle and
process times with as few constraints as possible.
For procedures, see Motion Behavior tab on page 250.
3 For each offset you want to set, select the Enable check box.
4 In the Value column, specify the allowed deviation.
5 Optionally, adjust the Weight value for the tolerance. A low value increases
the use of the tolerance, while a high value promotes motions that do not
use the tolerance.
Overview
When you are satisfied with the motions displayed when testing the Multimove
program, the next step is to convert the temporary move instructions used by the
MultiMove function to ordinary paths in RobotStudio.
4 Expand the WP Robot Settings group by clicking on its title bar and then
check the settings in the following boxes:
Box Description
WP Workobject Specify the workobject to which the targets generated for
the workpiece robot shall belong.
WP TCP Specify which tooldata the workpiece shall use when
reaching its targets.
Path prefix Specify a prefix for the generated paths.
Target prefix Specify a prefix for the generated targets.
5 Expand the Generate path group by clicking on its title bar and then click
Create Paths.
Overview
This is a brief overview of the functions and commands for programming external
axes in RobotStudio. For a more detailed description of external axes and how to
program them, see the product manual for the external axis to use and the RAPID
reference manual.
Coordinated motions
Normally, external axes are used to move the workpiece, the robot or any other
mechanism. The motions of an external axis can be coordinated with those of a
robot in two ways, depending on the task in which the external axis is defined.
Task for external axis Coordination method
Same task as the robots If the external axis is in the same task as the robot, the current
position of active external axes is stored with each target that
is created. When the robot then moves to the target, the extern-
al axis will move to the stored position as well.
Modifying and optimizing the position of positioner external
axes can be automated using the MultiMove function, or be
performed manually for selected targets. Positions of track
external axes can only be modifed manually.
For information about using the MultiMove function, see About
programming MultiMove on page 130. For information about
how to modify the position of external axes manually, see be-
low.
Other task than the robots If the external axis is in another task than that of the robot it
shall be coordinated with, the motions of the external axis are
created by MoveExt instructions, and the coordination is made
by sync instructions.
For positioner external axes creating or optimizing MoveExt
and sync instructions can be automated way using the Mul-
tiMove function, or be performed manually by creating a path
with MoveExt instructions for the positioner and then adding
sync instructions to the path for the robot and the external axis.
Track external axes can only be programed manually.
For information about using the MultiMove function see About
programming MultiMove on page 130. For information about
how to use the sync instructions, see RAPID reference manual
and MultiMove application manual.
To modify the external axis values for a target, the following conditions must be
met:
The external axis must be added to the system and set up correctly. For
examples of how to add support for an external axis to a system, see A
system with support for one robot and one positioner external axis on
page 179. For information about how to set up an external axis in a RobotStudio
station, see Placing external axes on page 104.
The external axis must be defined in the same task as the robot.
The external axis must be activated.
Overview
RAPID programs and modules are normally stored in the RobotWare systems, as
they are created. You can also save the programs to files on the PC, which makes
it possible to load them to other controllers, either other virtual controllers or real
IRC5 controllers.
Procedures
To create or load a module or load a program, see:
Creating a new RAPID module on page 453
Loading a RAPID module on page 453
Loading a RAPID program on page 457
To save a module or program, see:
Saving a RAPID module on page 454
Saving a program on page 457
3.12 Synchronization
Overview
To synchronize is to make sure that the RAPID program in the system running on
the virtual controller corresponds to the programs in RobotStudio. You can
synchronize both from RobotStudio to the virtual controller and from the virtual
controller to RobotStudio.
In a RobotStudio station, robot positions and movements are defined by targets
and move instructions in paths. These correspond to data declarations and RAPID
instructions in the modules of the RAPID program. By synchronizing the station
to the virtual controller, you create RAPID code out of the data in the station. By
synchronizing the virtual controller to the station, you create paths and targets out
of the RAPID program in the system running on the virtual controller.
Overview
RAPID programs are normally stored in the systems that run on the virtual
controllers of your station. To copy programs to systems on other controllers, save
the programs to file on the PC and then load these files to the destination
controllers. You can save either entire programs or specific modules.
Copying a program
To copy a program from one controller to another, follow these steps:
1 In the Controller browser, select the controller that contains the program to
copy.
2 Save the program to file on the disc. For details, see Saving a program on
page 457.
3 If necessary, copy the files to a location that is accessible to the other
controller.
4 For instructions on loading the program to a system on a virtual controller,
a FlexController or a non-running system, see the table below.
System location Do this
Virtual controller, running See Loading a RAPID program on page 457.
in RobotStudio
FlexController Connect to the FlexController and load the program.
A non-running system Start the system in a virtual controller, then load the
stored on the PC program, see Adding a system on page 92 and Loading
a RAPID program on page 457, respectively.
Overview
The Pack & Go / Unpack & Work feature makes it possible to create a package
(zip file) of an active station that can be unpacked on another computer. The
package contains all necessary files, except media pools, but add-in based media
pools are included.
For procedures, see Pack and Go on page 213 and Unpack and Work on page 214.
Overview
Screen capture entails two functions useful for demonstrations and training
purposes:
The Screenshot function which allows you to capture an image of the
application.
The Record Movie function which allows you to make a recording of your
work in RobotStudio, either of the entire GUI or just the graphics window.
Taking screenshots
The Screenshot function allows you to capture an image of the entire application
or an active document window such as the graphics window.
Note
Recording movies
You can record your activities in the RobotStudio application as a video. You can
also record videos of simulations. For information on how to record videos in
RobotStudio, see Record Movie on page 375.
5 Simulating programs
5.1 Simulation Overview
Free runtime
Since all controllers use the same computer resources, their synchronization might
not be exactly as in the real world if they run independently of each other (called
free run mode). The cycle time will be correct, but the timing for setting signals
and triggering events might be inaccurate.
Time Slice
Time slices can be used to ensure that the timing for signals and other interaction
between controllers is accurate. In this mode, RobotStudio synchronizes the
controllers by dividing a time segment into small slices and waiting for all controllers
to complete a current time slice before any controller can start anew. Thus, the
controllers are synchronized, and the cycle time will be calculated correctly. The
drawbacks are that the virtual FlexPendant cannot be open, and that the simulation
might be somewhat slow and jerky, depending on the complexity of the simulation
and the performance of the computer.
Note
If the simulation uses events or involves several different controllers, the virtual
time mode Time Slice shall be used to make sure that the timing between the
controllers is correctly simulated.
Overview
With RobotStudio you can detect and log collisions between objects in the station.
The basic concepts of collision detection are explained below.
Collision sets
A collision set contains two groups, Objects A and Objects B, in which you place
the objects to detect any collisions between them. When any object in Objects A
collides with any object in Objects B, the collision is displayed in the graphical view
and logged in the output window. You can have several collision sets in the station,
but each collision set can only contain two groups.
A common use of collision sets is to create one collision set for each robot in the
station. For each collision set you then put the robot and its tool in one group and
all objects you do not want it to collide with in the other. If a robot has several tools,
or holds other objects, you can either add these to the robots group as well or
create specific collision sets for these setups.
Each collision set can be activated and deactivated separately.
Collision detection
Collision detection checks whether robots or other moving parts collide with
equipment in the station. In complex stations, you can use several collision sets
for detecting collisions between several groups of objects.
After collision detection has been set up, it does not need to be started, but
automatically detects collisions according to the setup.
xx050033
Not active. Collisions between objects in this set will not be detected.
xx050007
Overview
Events enhance your simulations by defining actions that are carried out when
specific trigger conditions are fulfilled. You can use events to:
Attach one object to another, for example, a work piece to a gripper when
simulating material handling, see Attaching and detaching objects on page 77.
Set signals, for example, when simulating signals set by equipment other
than the controller, see Simulating I/O signals on page 151.
Start or stop the process timer, see Measuring simulation time on page 153.
Used for creating new events, the Create New Event Wizard is launched from the
Event manager, see Event Manager on page 353.
Prerequisites
Before creating the event, make sure that the station contains all signals and objects
that are planned to be used as triggers or affected by the action.
Procedures
When simulating I/O signals you can either create events that set signal values
when specified trigger conditions are fulfilled, or you can set signal values manually.
For procedures using the event manager, see Event Manager on page 353.
For procedures using the I/O simulator, see I/O Simulator on page 362.
Related information
For information about controlling I/O signals from the RAPID program, see Creating
RAPID instructions for setting I/O signals on page 122.
Overview
The simulation monitor commands are used to visually detect critical robot
movements during simulation by drawing a colored line that follows the TCP.
Tip
While you are on the Simulation tab, you can check the RobotStudio status bar
for the Simulation Time, that is, from simulation start to simulation stop.
6 Working online
6.1 Connecting a PC to the controller
General
In general there are two ways of physically connecting a PC to the controller, to
the service port or to the factory network port.
Limitations
Note
connecti
A Service port on the computer unit (connected to the service port on the controller
front through a cable).
B LAN port on the computer unit (connects to factory network).
Note
The LAN port is the only public network interface to the controller, typically
connected to the factory network with a public IP-address provided by the network
administrator.
xx1300000609
A Service port on the computer unit (connected to the service port on the controller
front through a cable).
B WAN port on the computer unit (connects to factory network).
Note
The WAN port is the only public network interface to the controller, typically
connected to the factory network with a public IP-address provided by the network
administrator.
LAN1, LAN2, and LAN3 can only be configured as private networks to the IRC5
controller.
Action Note
1 Make sure that the network setting on the Refer to the system documentation for your
PC to be connected is correct. PC, depending on the operative system
When connecting to the service port: you are running.
The PC must be set to Obtain an For more information, see Network settings
IP address automatically or set as on page 159.
described in Service PC Informa-
tion in the Boot Application on the
FlexPendant.
When connecting to the factory network
port:
The network settings for the PC de-
pend on the network configuration
setup by the network administrator.
2 Connect a network cable to the network
port of your PC.
3 When connecting to the service port:
Connect the network cable to the
service port on the controller, or to
the service port on the computer
unit.
When connecting to the factory network
port:
Connect the network cable to the
factory network port on the com-
puter unit.
connectb
Overview
This topic describes the network settings for a PC connected to a controller, which
is a prerequisite for working online.
You can connect the PC to the controller through an Ethernet network in the
following ways:
Local network connection
Service port connection
Remote network connection
Automatic IP address
The controller's service port has a DHCP server that will automatically give your
PC an IP address if it is configured for this. For detailed information see Windows
help on configuring TCP/IP.
Fixed IP address
Instead of obtaining an IP address automatically, you can also specify a fixed IP
address on the PC you connect to the controller.
Use the following settings for a fixed IP address:
Property Value
IP address 192.168.125.2
Subnet mask 255.255.255.0
For detailed information about how to set up the PC network connection, see
Windows help on configuring TCP/IP.
Note
Firewall settings
The firewall settings are applicable irrespective of whether you are connected to
a real controller or a virtual controller.
The following table describes the necessary firewall configurations:
Status Name Action Direc- Protocol Remote Local Remote Application
tion Ad- Service Service
dress
RobNetscan- Allow Out UDP/IP Any Any 5512,5514 robnetscan-
Host host.exe
IRS5Control- Allow In UDP/IP Any 5513 Any robnetscan-
ler host.exe
RobComC- Allow Out TCP/IP Any Any 5515 robcomc-
trlServer trlserver.exe
RobotFTP Allow Out TCP/IP Any Any FTP(21) Any
RobotStudio Allow Out HTTP Any Any 80 RobotStu-
dio.exe
RobotStudio Allow Out HTTPS Any Any 443 RobotStu-
dio.exe
Note
Port 443 is not required for controller communication, but it is required for external
communication with ABB for availing services like upgrade notifications and
online services.
Continues on next page
160 Operating manual - RobotStudio
3HAC032104-001 Revision: U
Copyright 2008-2017 ABB. All rights reserved.
6 Working online
6.2 Network settings
Continued
In addition, the following table describes the necessary firewall configurations for
the RobotWare option, Integrated Vision:
Status Name Action Direc- Protocol Remote Local Remote Application
tion Ad- Service Service
dress
Telnet Allow Out TCP/IP Any Any 23 RobotStu-
dio.exe
In-Sight Pro- Allow Out TCP/IP Any Any 1069 RobotStu-
tocol dio.exe
In-Sight Dis- Allow In/Out UDP/IP Any 1069 1069 RobotStu-
covery dio.exe
Upgrade port Allow Out TCP/IP Any Any 1212 RobotStu-
(PC only) dio.exe
DataChannel Allow Out TCP/IP Any Any 50000 RobotStu-
dio.exe
Note
RobotStudio uses the current Internet Options, HTTP, and proxy settings to get
the latest RobotStudio news. To view the latest RobotStudio news, go to the File
tab and then the Help sub-tab.
Overview
This section describes the controller's User Authorization System (UAS), which
restricts what different users are allowed to do with the robot. This is for protecting
data and functionality from unauthorized use.
The user authorization is managed by the controller, which means that the UAS
settings remain for the controller regardless of which system it is running. It also
means that the UAS settings apply to all tools for communicating with the controller,
like RobotStudio or the FlexPendant. The UAS settings defines the users and
groups that can access the controller, and what actions they are granted access
to.
For procedures, see User Accounts on page 421.
Users
UAS users are accounts with which persons log on to the controller. Furthermore,
the users are added to groups to which access grants are given.
The users are defined in the controller by a user name and a password. For logging
on to a controller, the user must type in a defined user name with a correct
password.
A user can either have the state activated or deactivated in the UAS. When a user
is deactivated it is not possible to log on to the controller using that account. It is
the UAS administrator that activates and deactivates the users.
Note
From RobotWare 6.04 it is also possible to deactivate the Default User, see User
Accounts on page 421.
Groups
In UAS, groups are defined sets of grants for accessing the controller. To the
groups you then add the users who shall have the grants defined by the group.
A good practice is to create groups that resembles the professions that work with
the robots in your organization. For example, you can create groups for
administrators, programmers and operators.
Note
There is a risk changing the group membership of the default user. If you by
mistake clear the Default User check box or any Default Group grant, you will
get a warning. Make sure that there is at least one user defined that has the grant
Manage UAS settings. If the Default group and no other group have the grant
Manage UAS settings, you may lose your ability to manage users and groups.
Grants
Grants are permissions to perform actions or access data on the controller. You
use the grants by giving them to groups, to which you then add the users who shall
have the grants.
Grants may be either controller grants or application grants. Depending on the
actions that you will perform, you may need several grants. For procedures, see
UAS Grant Viewer on page 426.
Controller grants
Controller grants are validated by the robot controller and apply to all tools and
devices accessing the controller.
Application grants
Application grants are used by a specific application, for example the FlexPendant,
and will only be valid using that application. Application grants can be added by
add-ins and used in customer applications.
Overview
This section describes how you create, build, modify and copy systems to run on
virtual and real controllers. These systems may even be converted to boot media
and downloaded to a real controller.
The system points out the robot models and options to use; it also stores
configurations and programs for the robots. Therefore, it is good practice to use
a unique system for each station even if the stations use the same basic setup.
Otherwise, changes in one station may accidently overwrite data used in another
station.
Note
Use System Builder to create and modify systems based on RobotWare 5.xx.
Use Installation Manager to create and modify systems with RobotWare versions
6.0 and later, see The Installation Manager on page 183.
Prerequisites
Creating a system entails applying a predefined template to a station, reusing an
existing system or letting RobotStudio propose a system based on a layout.
To create a system, the following conditions must be met:
The RobotWare media pool must be installed on your PC.
You must have a RobotWare key for the system, if creating a system to run
on a real controller. The RobotWare key is a license key that determines
which robot models to use and which RobotWare options to run on the
controller. The license key is delivered with the controller.
If you want to create a system for virtual use only, you can use a virtual key
instead. Virtual keys are generated by the wizard. When using virtual keys,
you select the robot models and options to use in the Modify Options section
of the wizard.
Downloading to the real controller requires a direct connection from your
computer to the service or Ethernet port of the controller.
Administering systems
Systems can be administered from the System Builder dialog box in the following
ways:
View system properties, see Viewing system properties on page 166.
Build a system, see Building a new system on page 167.
Modify or delete a system, see Modifying a system on page 171.
Copy a system, see Copying a system on page 175.
Create a system from backup, see Creating a system from backup on page 176.
Download a system to a controller, see Downloading a system to a controller
on page 177.
Create boot media, see Creating boot media on page 178.
Overview
All systems you create with the System Builder are stored locally on your computer.
It is recommended that you store them in one or more dedicated system directories.
Overview
The New Controller System Wizard, used for building a new system, is launched
from the System Builder.
Note
If you want to modify options, or add parameter data or additional files to the
home directory, click Next.
Modifying options
Here you can set up and configure the options in your system. For virtual systems,
you also select the robot models to use. To modify any options, follow these steps:
1 In the Option tree, expand the option folders to the level where you find the
option you want to modify.
Only the options unlocked by the used keys are available.
2 Modify the option.
3 Repeat steps 1 and 2 for all options you want to modify.
4 Choose whether you want to create the system as it is now, or to continue
with the wizard.
If you want to create the system as it is now, click Finish.
If you want to add parameter data or additional files to the home directory,
click Next.
Overview
The Modify Controller System Wizard, used to modify existing systems, is launched
from the System Builder.The wizard helps you with tasks like changing robots,
adding and removing external axes and other options. A system that is running
must be first shut down before modification.
2 Click the right arrow button. The key now appears in the Added drive key
list.
If you have a MultiMove system, repeat steps 1 and 2 for each drive key to
add.
3 To remove a drive module, select the corresponding key in the Added drive
key list and click Remove drive key.
If you have a MultiMove system, repeat step 3 for each drive key to remove.
4 If you have a MultiMove system, make sure that the keys are numbered in
the same way as their corresponding drive modules are connected to the
controller module. Use the up and down arrows to rearrange the drive keys,
if necessary.
5 Choose whether you want to create the system as it is now, or to continue
with the wizard.
If you want to create the system as it is now, click Finish.
If you want to modify options, parameter data or add files to or remove files
from the home directory, click Next.
Note
Modifying options
To optionally modify any options, follow these steps:
1 In the Option tree, expand the option folders to the level where you find the
option you want to modify.
Only the options unlocked by the used keys are available.
If you want to read a summary before you create the system, click Next.
Result
Modifications will take effect when the wizard is completed.
If the system has been downloaded to a controller, it must be downloaded again
before the modifications will take effect on the controller.
If the system is used by a VC, restart the controller using the restart mode Reset
controller for the changes to take effect.
Deleting a system
To delete a system, follow this steps:
1 From the System Builder dialog box, select the system and then click Delete.
Copy a system
To copy a system, follow these steps:
1 From the System Builder dialog box, select the system and then click Copy
to bring up a dialog box.
2 Enter a name for the new system and a path, and then click OK.
Overview
The Create System from Backup Wizard, which creates a new system from a
controller system backup, is launched form the System Builder. In addition, you
can change the program revision and options.
Overview
All systems you access from the System Builder are stored on your computer. If
you wish to run a system on a robot controller, you must first load it to the controller,
which then requires a restart.
Load a system
To load a system to a controller, follow these steps:
1 From the System Builder dialog box, select a system and then click Download
to Controller to bring up a dialog box.
Note
Overview
Boot media is an entire system which the System Builder packs to a single file and
commonly stores on a hard disk or USB memory. The controller then accesses
the file through its Ethernet port or USB port, respectively.
Result
To load the boot media system to a controller, first connect it and then restart the
controller using the restart mode Start Boot Application.
6.4.9.1 A system with support for one robot and one positioner external axis
Overview
In this example we will use the System Builder to create an offline system to use
in a new RobotStudio station with one IRB1600 robot and one IRBP 250D positioner
external axis.
Prerequisites
When creating systems for positioner external axes, you need the media pool and
the license key file for that specific positioner. In this example we will use a media
pool and license key file for a demo positioner.
Paths to files and folders assume that RobotStudio and the RobotWare media pool
have been installed at their default locations on Windows XP. If not, adjust the
paths accordingly.
Adding options
This is where we point out the key file for the positioner.
1 Next to the Enter key box, click the browse button and select the key file.
In this example, browse to and select the file extkey.kxt in the folder
C:\Program Files\ABB Industrial IT\Robotics
IT\MediaPool\3HEA-000-00022.01.
Tip
In the MediaPool folder media pools for several standard positioners are
installed. They are named by the positioners article number, with a suffix
that indicates if it is configured for single-robot or MultiMove systems.
2 Click the Right Arrow button next to the Enter key box to add the key for the
positioner.
3 Click Next and continue to the next page of the wizard.
Modifying options
When creating robot systems from real robot keys, the key sets the options. But
since we are using a virtual key, we have to set the options manually. To set the
options necessary for a positioner, follow these steps:
1 Scroll down to the RobotWare / Hardware group and select the 709-x
DeviceNet check box.
This option is for the communication between the controller and the track
external axis.
2 Scroll down to the DriveModule1 / Drive module application group and
expand the ABB Standard manipulator option. Select the IRB 1600 option.
This option sets the robot to an IRB 1600-5/1.2.
3 Scroll down to the DriveModule1 > Drive module configuration group; select
the Drive System 04 1600/2400/260 option; expand the Additional axes
drive module group and select the R2C2 Add drive option.
a Expand the Drive type in position Z4 group and select the 753-1 Drive
C in pos Z4 option
b Expand the Drive type in position Y4 group and select the754-1 Drive
C in pos Y4 option
c Expand the Drive type in position X4 group and select the755-1 Drive
C in pos X4 option
Note
4 Click Finish and the system will be created. When starting the system in a
RobotStudio station, you have to set up the system to load a model for the
positioner and to get the motions to work properly. See Placing external axes
on page 104 for more information.
Overview
This is an overview of the RobotWare options to set when creating a system for
positioner external axes. Note that besides setting the RobotWare options, you
must add an additonal option key for the positioner.
Overview
This section describes how to create, modify, and copy systems to run on real and
virtual controllers using the Installation Manager.
Note
Use Installation Manager to create and modify systems with RobotWare versions
6.0 and later. Use System Builder to create and modify systems based on earlier
versions of RobotWare, see The System Builder on page 164.
Products
Product is the collective name for the different software such as RobotWare,
RobotWare add-ins, third party software and so on. Products are either free or
licensed, licensed products require a valid license file.
Prerequisites
The following are the prerequisites for creating a system:
A RobotWare license file for the system, when creating a system to run on
a real controller. The license file is delivered with the controller.
A virtual license file for creating a system for virtual use. All products are
delivered with a virtual license file.
Installing on a real controller requires a connection from the computer to the
service or Ethernet port of the controller.
Settings file
Settings file contains the selected options. When Installation Manager connects
to a system, it reads options from the Settings file. Any change in the options are
mapped in the file.
Use the Settings buttons to perform the following tasks with the settings file.
Buttons Description
Export settings Click this button to export the current settings of the system.
Import settings Click this button to import settings to the system. The current settings of
the system will be cleared before performing this operation.
Add settings Click this button to add settings to the current setup of the system.
Revert Click this button to revert to the current settings of the system.
Note
Note
4 Click Next. The Products tab gets selected. All products and add-ins that
were part of the selected system will be displayed here.
To upgrade/downgrade a product select the product and click Replace.
To remove a product select the product and click Remove.
Note
5 Click Next. The Licence tab gets selected. The license details of the selected
system will be displayed here. Here you are able to add/remove licenses.
6 Click Next. The Options tab gets selected. Here you are able to customize
your options.
7 Click Next, the Confirmation tab gets selected and shows an overview of
the system options.
8 Click Apply for the changes to take place.
Once the installation completes, a Restart Controller dialog appears, click Yes to
restart the controller. Click No to manually restart controller later, the controller
stores the new system or changed system and these changes will take effect during
the next restart.
Note
Any change in the RobotWare version needs a BootServer update, which requires
a controller restart. The controller will be restarted automatically.
3 Click Next. The Products tab gets selected. All products and add-ins that
were part of the selected system will be displayed here.
To upgrade/downgrade a product select the product and click Replace.
To remove a product select the product and click Remove.
Note
4 Click Next. The Licence tab opens. The license details of the selected system
will be displayed here. Here you are able to add/remove licenses.
5 Click Next. The Options tab opens. This pane shows the System Options,
Drive Modules and Applications. Here you are able to customize your
options.
6 Click Next, the Confirmation tab gets selected and shows an overview of
the system options.
7 Click Apply for the changes to take place.
Note
Note
When you create a system for virtual controller, corresponding products are
installed in the user APPDATA folder, and many virtual controller systems point
to these products. Hence, products are not deleted while deleting a system from
virtual controller.
Note
In the folder hierarchy of the backup path, the name of the valid backup
system folder that must be selected will be set in bold. Similarly, names
of all valid backup systems will be marked in bold in the folder hierarchy.
User must select one of the valid backup folders for further system creation.
6 Click Next. The Products tab gets selected. All products and add-ins that
were part of the backup system will be displayed here. You can add new/other
product(s) and/or replace RobotWare version if needed.
7 Click Next. The Licenses tab gets selected. The license details of the backup
system will be displayed here. You are able to view the license(s) from the
backup system. Here you can add new/more licenses.
8 Click Next the Options tab gets selected, select/deselect options to customize
them.
9 Click Next, the Confirmation tab gets selected and shows an overview of
the system options.
10 Click Apply, the system gets created.
Once the installation completes, a Restart Controller dialog appears, click
Yes to restart the controller. Click No to manually restart controller later, the
controller stores the new system or changed system and these changes will
take effect during the next restart.
If the right RobotWare already exists, then the version will be selected. If the
RobotWare does not exist, click Replace to select the RobotWare.
Note
In the folder hierarchy of the backup path, the name of the valid backup
system folder that must be selected will be set in bold. Similarly, names
of all valid backup systems will be marked in bold in the folder hierarchy.
User must select one of the valid backup folders for further system creation.
Renaming a system
You can rename an active system for a real controller without re-installation.
1 In the Installation Manager window, select Controllers and then select
Network tab.
2 Select the active sytem which must be renamed.
3 Click Rename. The Rename System dialog appears.
4 In the Enter the new name for the system box, type in the new name.
5 Click Rename.
Overview
In this example we will use the System Builder to create a coordinated offline
system with one IRB2400 and one IRB1600 robot to use in a new RobotStudio
station.
Adding options
1 This system does not require any additional option keys. Click Next and
continue to the next page of the wizard.
Modifying options
When creating robot systems from real robot keys, the key sets the options. But
since we are using a virtual key, we have to set the options manually.
When creating a system for several manipulators (up to four), you must include
either of the RobotWare options MultiMove Independent, or MultiMove
Coordinated for the related motion tasks to start.
Note
It is recommended to use the System From Layout function when you create
robot systems for RobotStudio. Then the MultiMove option gets added
automatically.
To set the options necessary for a MultiMove, follow these steps:
1 Scroll down to the RobotWare / Motion Coordination part 1 group and select
the MultiMove Coordinated check box.
2 Scroll down to the RobotWare/ Engineering Tools group and select the
Multitasking check box.
Note
Introduction
The recovery disk function is for recreating a complete installation of RobotWare
and Add-Ins directly to a SD-card in the PC. The recovery disk function can be
found under both the Controller tab and the Repository tab in Installation Manager.
Prerequisites
The recovery disk function uses information from a backup to recreate the
RobotWare system that backup has been generated from.
For successful operation these prerequisites are needed:
A backup for a system using RobotWare 6.0 or later, but not later than the
version of the currently used RobotStudio.
All products and Add-Ins used by the backup should be located on the pc
(RPK:s and RMF:s).
A SD-card reader.
An original ABB Robotics SD-card.
Administrative rights on the PC.
Installation procedure
CAUTION
Always power off the robot controller before changing the SD-card.
1 Power off the robot controller.
2 Replace the SD-card in the controller with the recovery SD-card.
Overview
The I/O system handles input and output signals to and from the controller. Below
are the parts of the system described, as well as common types of signals.
The I/O system window is used to view and set previously configured signals, and
to activate and deactivate devices.
I/O signals
I/O signals are used to communicate between the controller and external equipment,
or to change variables within a robot program.
Input signals
Input signals notify something for the controller, for instance a feeder belt can set
an input signal when it has positioned a work piece. The input signal can then be
programmed to start a specific part of the robot program.
Output signals
The controller uses output signals to notify that a specified condition has been
fulfilled. For instance, after the robot has finished its sequence, an output signal
can be set. This signal can then be programmed to start a feeder belt, update a
counter or trigger any other action.
Simulated signals
A simulated signal is a signal that is manually given a specific value that overrides
the actual signal. Thus simulated signals might be useful for testing robot programs
without activating or running equipment.
Virtual signals
Virtual signals are signals that are not configured to belong to a physical device.
Instead, they reside inside the controller's memory. A common use for virtual
signals is to set variables and store changes in a robot program.
Procedures
For using the I/O system window, see Inputs/Outputs on page 384.
For adding a signal, see Add Signals on page 396.
Tool Use
The Configuration With the Configuration Editor you work with the types and instances
Editor of a specific topic.
The Instance Editor With the Instance Editor, you specify the values of the parameters in
the instances of system parameter types.
Note
To edit system parameters, you must have write access to the controller.
Terms
System parameters The sum of all parameters that configure the system, these are divided
into topics and types.
Topic A collection of parameters relating to a specific area, and the highest
level in the system parameter structure. Examples are Controller,
Communication and Motion.
Type A set of parameters for a specific configuration task. A type can be
seen as a pattern describing the construction and properties for the
parameters included in the task. For instance, the type Motion System
defines which parameters shall be used for configuring a motion
system.
Instance An actualization of a type, an instance is a specific set of parameters
with unique values created from a type pattern. In the Configuration
Editor, each row in the Instance list is an instance of the type selected
in the Type list.
Parameter A property to set when configuring the robot system.
Configuration file Contains all public parameters of a specific topic.
Viewing configurations
1 To view the topics of a controller, from the Controller tab, expand the
Configuration node for the controller.
All topics in are now displayed as child nodes to the Configuration node.
2 To view the types and instances of a topic, double-click the topic node for
the topic to view.
The Configuration Editor is now opened, listing all types of the topic in the
Type name list. In the Instance list, each instance of the type selected in the
Type name list is displayed as row. The parameter values of the instances
are displayed in the columns of the instance list.
3 To view detailed parameter information for an instance, double-click the
instance.
The instance editor now displays the current value, restrictions and limits of
each parameter in the instance.
Editing parameters
You can either edit the parameters of one single instance, or you can edit several
instances at one time. Editing several instances at one time is useful when you
want to change the same parameter in several instances, like when moving signals
from one device to another.
1 In the Controller tab, expand the Controller and the Configuration node and
double-click the topic that contains the parameters to edit.
This opens the Configuration Editor.
2 In the Type name list of the Configuration Editor, select the type that the
parameter to edit belongs to.
The instances of the type is now displayed in the Instance list of the
Configuration Editor.
3 In the Instance list, select the instances to edit and press the Enter Key. To
select several instances at once, hold down the SHIFT or CTRL key while
selecting.
Alternatively, right-click an instance and then click Edit.
The Instance Editor is now displayed.
4 In the Parameter list of the Instance Editor, select the parameter to edit and
change the value of the parameter in the Value box.
When editing several instances at one time, the parameter values you specify
will be applied to all instances. For parameters that you do not specify any
new value, each instance will keep its existing value for that parameter.
5 Click OK to apply the changes to the configuration database of the controller.
For many parameters, the changes will not take affect until the controller is
restarted. If your changes require a restart, you will be notified of this.
You have now updated the controller's system parameters. If you are going
to make several changes, you can wait with the restart until all changes are
done.
Adding instances
With the Configuration Editor, you can select a type and create a new instance of
it. For example, adding a new instance of the type Signal creates a new signal in
the system.
1 In the Controller tab, expand the Controller and the Configuration node and
double-click the topic that contains the type of which you want to add an
instance.
This opens the Configuration Editor.
2 In the Type name list of the Configuration Editor, select the type of which
you want to add an instance.
3 On the Controller menu, point to Configuration and click Add type (the word
type is replaced by the type you selected previously).
You can also right-click anywhere in the configuration editor and then select
Add type from the shortcut menu.
A new instance with default values is added and displayed in the Instance
Editor window.
4 If required, edit the values.
5 Click OK to save the new instance.
The values in the new instance are now validated. If the values are valid, the
instance is saved. Otherwise, you will be notified of which parameter values
to correct.
For many instances, the changes will not take affect until the controller is
restarted. If your changes require a restart you will be notified of this.
You have now updated the controller's system parameters. If the changes
require a restart of the controller, the changes will not take affect until you
do this. If you are going to make several changes, you can wait with the
restart until all changes are done.
Copying an instance
1 In the Controller tab, expand the Controller and the Configuration node and
double-click the topic that contains the instance to copy.
This opens the Configuration Editor.
2 In the Type name list of the Configuration Editor, select the type of which
you want to copy an instance.
3 In the Instance list, select one or several instances to copy.
If you select several instances and they don't have the same value for all
parameters, these parameters will have no default values in the new
instances.
4 On the Controller menu, point to Configuration and click Copy Type (the
word type is replaced by the type you selected previously).
You can also right-click the instance to copy and then select Copy Type from
the shortcut menu.
A new instance with the same values as the one you copied is added and
displayed in the Instance Editor window.
5 Change the name of the instance. If required, also edit the other values.
6 Click OK to save the new instance.
The values in the new instance are now validated. If the values are valid, the
instance is saved. Otherwise, you will be notified of which parameter values
to correct.
For many instances, the changes will not take affect until the controller is
restarted. If your changes require a restart you will be notified of this.
You have now updated the controller's system parameters. If the changes
require a restart of the controller, the changes will not take affect until you
do this. If you are going to make several changes, you can wait with the
restart until all changes are done.
Deleting an instance
1 In the Controller tab, expand the Controller and the Configuration node and
double-click the topic that contains the type of which you want to delete an
instance.
This opens the Configuration Editor.
2 In the Type name list of the Configuration Editor, select the type of which
you want to delete an instance.
3 In the Instance list, select the instance to delete.
4 On the Controller menu, point to Configuration and then click Delete type
(the word type is replaced by the type you selected previously).
You can also right-click the instance to delete and then select Delete type
from the shortcut menu.
5 A message box is displayed, asking if you want to delete or keep the instance.
Click Yes to confirm that you want to delete it.
For many instances, the changes will not take affect until the controller is
restarted. If your changes require a restart you will be notified of this.
You have now updated the controller's system parameters. If the changes
require a restart of the controller, the changes will not take affect until you
do this. If you are going to make several changes, you can wait with the
restart until all changes are done.
3 In the Save As dialog box, browse for the folder to save the file in.
4 Click Save.
4 Click Open and browse to the configuration file to load. Then click Open
again.
5 In the information box, click OK to confirm that you want to load the
parameters from the configuration file.
Continues on next page
Operating manual - RobotStudio 203
3HAC032104-001 Revision: U
Copyright 2008-2017 ABB. All rights reserved.
6 Working online
6.7 Configure systems
Continued
6 When the loading of the configuration file is finished, close the Select mode
dialog box.
If a restart of the controller is necessary for the new parameters to take affect,
you will be notified of this.
Overview
An event is a message that notifies you that something has happened to the robot
system, be it merely a change in operation mode or a severe error that calls for
your immediate attention. If the event requires any action from you, this is stated
in the event.
Events are displayed in the event logs of the FlexPendant and RobotStudio.
The event log keeps you informed of system status, allowing you to:
view controller events.
filter events.
sort events.
get detailed information about an event.
save event log files on your PC.
clear event records.
When you select an event in the list, detailed information will appear to the right.
Event type
The event type is an indication of the severity of the event.
There are three types of events:
Event type Description
Information A normal system event, such as starting and stopping programs, change of
operating mode, motors on/off and so on.
Information messages never require any action from you, but can be useful
for error tracking, statistics collecting or monitoring user triggered event
routines.
Warning An event that you need to be aware of, but not so severe that the process or
RAPID program needs to be stopped. Warnings, however, often indicate
underlying problems that sooner or later must be solved.
Warnings must sometimes be acknowledged.
Error An event that prevents the robot system from proceeding. The running pro-
cess or RAPID program cannot continue, but is stopped.
All errors must be acknowledged. Most errors also require some immediate
action from you in order to solve the problem.
Note
This information is also indicated by color: blue for information, yellow for warning
and red for an error which needs to be corrected in order to proceed
Event code
The event code is a number that identifies the event message. Together with the
event date and time each event has a unique identity.
Event title
The event title is a short description of the event.
Event category
The category is an indication of the source of the event.
Category Display
Common All recent events.
Operational Events related to changes in operation or operating mode.
System Events related to the current system.
Hardware Events related to controller hardware.
Program Events related to the running process applications and RAPID pro-
grams.
Motion Events related to the movement of robots or other mechanical units
.
I/O & Communica- Events related to input and output signals, serial or network commu-
tion nication and process buses.
User Custom messages that have been programed into RAPID programs.
Internal Internal low-level controller errors for ABB service personnel.
Process Events related to Industrial Processes options., such as Spot, Arc
and Dispense.
Configuration Errors in a configuration file.
RAPID Events related to Rapid instruction.
Seq number
The sequential number indicates the chronological order of the event; the higher
the number the more recently the event occurred.
Event description
When you select an event in the list, detailed description about the selected event
is displayed on the right-hand side of the pane which contains a description section,
consequences, causes and suggested actions to solve the problem.
Overview
The Event Log automatically logs all controller events once it is started. By default,
events are displayed in the chronological order specified by Seq Numbers.
Note
Any modifications to the list you see will never affect the event log of the
controller. What you see is just a copy.
Managing events
1 In the Robot View Explorer, select a system.
2 Double-click the Event Log node.
To sort events Click the header for the column you want to sort by. To
switch between ascending and descending sorting, click
the header once again.
To filter events In the Category list select the event category you want to
be displayed.
To clear the event log Click Refresh.
This will not affect the event log of the robot controller. It
might still be impossible, however, to retrieve all events
from a cleared record once again, as the oldest ones may
have been erased from the controller hard disk due to lack
of space. It is therefore recommended to save the record
to a log file before clearing.
To save all events to a Select the Log to File check box.
single log file on the If it remains checked, the log file will be updated with new
computer events as they occur.
To save events of one or Click Save and then make your category choice. Specify
several categories to files the location for the log file(s) in the Save As dialog and
on the computer then click OK.
If you select All when selecting categories, a log file for
each event category will be created.
3 To clear the current list, fetch and display all events that are currently stored
in the controller log files.
7 File tab
7.1 Overview
Overview
The File tab opens the RobotStudio Backstage view which displays information
and metadata about the currently active station, lists recently opened stations and
provides a variety of user options to create a new station, connect to a controller,
save station as viewer, and so on.
The the following table shows the various options available in Backstage view.
Tabs Description
Save / Save As Saves a station.
Open Opens a saved station. Select the Load Geometry option when you open
or save a station else the geometry gets removed permanently.
Close Closes a station.
Information Once a station is open in RobotStudio, this tab shows the properties of
the station, and also the robot systems and library files that are part of
the open station.
Recent Displays recently accessed stations.
New Creates a new station. See New tab on page 211.
Print Prints the contents of the active window.
Share Shares data with others.
Pack and Go on page 213
Unpack and Work on page 214
Station Viewer on page 215
Online Connects to a controller.
Add Controller on page 380
Imports and Exports controller.
Creates and works with robot system.
Building a new system on page 167
Import Options on page 413
Help Displays information on installing and licensing RobotStudio. See In-
stalling and licensing RobotStudio on page 44.
Options Displays information on RobotStudio Options. See Options on page 217.
Exit Closes RobotStudio.
RobotStudio Solutions
RobotStudio defines solution as the collective name of the folder that contains the
structure for stations, libraries and all related elements. This folder gets created
automatically when the user creates a new solution.
You must define the name and location of the solution before creating the folder
structure and station.
A solution folder contains the following folders and files:
1 Stations: Stations created as part of solution.
2 Systems: Virtual controllers created as part of solution
Continues on next page
Operating manual - RobotStudio 209
3HAC032104-001 Revision: U
Copyright 2008-2017 ABB. All rights reserved.
7 File tab
7.1 Overview
Continued
5 Solution with station and robot controller can be created either from a template
or from backup.
To create from template, select Create New and then select the required
robot model from the Robot Model list to create a controller.
To create from backup, select Create from backup and then browse
and select the required backup file. Also select the Restore backup
check box to restore backup on the new controller.
6 Select the option and click Create.
7.3 Share
Prerequisites
Any RobotWare 6 Add-in used by a virtual controller must be installed by the
RobotStudio installer, by downloading from the RobotWare Add-ins section of the
RobotApps page in the Add-Ins tab, or by using the Browse button of the
RobotApps page. The RobotWare Add-Ins that RobotStudio uses are visible in the
Add-Ins browser of the Add-Ins tab.
Note
RobotWare 5 Additional Options will not be visible in the Add-Ins browser. These
options are always embedded in the Pack&Go.
Packing a station
1 In the Backstage view, under Share data with other people, click Pack and
Go. The Pack & Go dialog opens.
2 Enter the name of the package and then browse and select the location of
the package.
3 Select Password protect the package.
4 Type in your password in the Password box to protect your package.
5 Click OK.
The functions GoOffline and Pack&Go requires any RobotWare Add-Ins used by
the systems to be installed on the PC.
Note
Unpacking a station
1 On the File menu, click Unpack & Work to open the Unpack & Work Wizard.
2 On the Welcome to the Unpack & Work Wizard page, click Next.
3 On the Select package page, click Browse and Select the Pack & Go file
to unpack and Select the directory where the files will be unpacked. Click
Next.
4 On the Controller Systems page, select the RobotWare version and click
Browse to select the path to the Media Pool. Optionally, select the check
box to automatically restore backup. Click Next.
5 On the Ready to unpack page, review the information and then click Finish.
6 On the Unpack & Work finished page, review the results and then click
Close.
During an unpack operation, you are provided with two options, Load files from
local PC and Load files from Pack & Go. Click the option to select the location
from where the required files must be loaded. D
Note
If the Pack & Go file was set as password-protected during creation, then that
password needs to be provided for the station to load.
Note
During an unpack operation, if you select the Copy configuration files to SYSPAR
folder option, the configuration (CFG) files of the back up system inside the
pack& go file gets copied to the SYSPAR folder of the new system. This is to
avoid loss of configuration data during an I- start. Select this option for complex
configurations like paint system.
Overview
The Station Viewer can playback a station in 3D on computers that do not have
RobotStudio installed. It packages the station file together with files needed to
view the station in 3D. It can also play recorded simulations.
Prerequisites
Visual C++ Redistributable for Visual Studio 2015.
The .NET Framework 4.5 must be installed on the playback computer.
Note
RobotStudio 64-bit edition can create 64-bit Station Viewers. However, a 64-bit
station viewer can run only on the Windows 64-bit operating system.
Note
3 To load a Station Viewer, double-click the package (.exe) file on the target
computer.
The results are displayed in the Output window and the embedded station
file is automatically loaded and presented in a 3D view.
Options:General:Appearance
Select application language Select the language to be used.
The default language is the same as that of the target user's
operating system if available, otherwise it is English.
Select color theme Select the color to be used.
Options:General:Graphics
Background color Select the color from the color theme, or from the color stored
in the stations.
Simulation
When you run a simulation, the movements and visibility of objects are recorded.
This recording is optionally included in the Station Viewer.
Simulation control buttons are enabled when the Station Viewer contains a recorded
simulation.
Following are the Simulation control buttons:
Play Starts or resumes simulation playback
Stop Stops simulation playback
Reset Resets all objects to their initial state and process time display to zero
Run mode Select to run the simulation once or continuously
Process time Displays the current simulation time
7.4 Options
Common buttons
Apply Click this button to save all options in the current page.
Reset Click this button to reset to the settings you had before this
session all values that you have changed on the current page.
Default Click this button to reset to their default values all settings on
the current page.
Options:General:Appearance
Select application lan- Select the language to be used. RobotStudio is available in the
guage following seven languages: English, French, German, Spanish,
Italian, Japanese, and Chinese (simplified).
Select color theme Select the color to be used.
Default scale for zoomable Defines the default scale to use for windows that are zoomable,
windows for example, RAPID Editor, RAPID Data Editor and Configura-
tion Editor.
Show ScreenTips Select this check box to view ScreenTips.
Display Position Edit Select the check box if you want to display the position boxes
boxes with in the modify dialog boxes with colored background. Default
Red/Green/Blue back- value: selected.
ground
Group related document Select this check box to group related document window under
windows under one tab one tab. Modifying this option requires a restart for the changes
to take effect.
Restore hidden dialogs Select this check box to restore dialogs or messages which
and messages you may have hidden while using RobotStudio.
Options:General:Licensing
Disable licensing Reverts to Basic mode to use features that do not require
activation.
View installed licenses Click to view the licenses listed by feature, version, type,
expiration date and status.
Activation Wizard Click to activate RobotStudio license.
RobotStudio user experience For RobotStudio Basic users, it is mandatory to participate
program in the user experience report.
I want to help improve For RobotStudio Premium users, you can choose whether
RobotStudio or not to participate in the user experience report .
I do not want to particip-
ate right now
Options:General:Units
Quantity Select the quantity for which you want to change the units.
Unit Select the unit for the quantity.
Display decimals Enter the number of decimals that you want to be displayed.
Edit decimals Enter the number of decimals that you want when modifying.
Default orientation format Specifies the default format to use for orientations.
RPY angles (Euler
ZYX)
Quaternions
Options:General:Advanced
Options:General:Autosave
Enable autosave of RAPID This check-box is selected by default. RAPID programs are
saved automatically in every 30 seconds.
Enable autosave of station Unsaved stations are saved automatically at the interval
specified in the minute interval box.
Enable automatic backup of Takes multiple backup of station files as specified in the
station files Number of backups list and saves it in a sub-folder of the
corresponding Stations folder (StationBackups). Requires
a Solution.
Enable automatic backup of Select this option to backup the virtual controllers of a
controllers in solution solution when saving the station. The backups are stored
in the Backups folder of the corresponding solution.
User Document Directory Shows the default path to the project folder.
Solutions Directory Shows the default path to the solutions folder.
... To browse to the project folder, click the browse button.
Automatically create docu- Select this check box to enable the creation of individual sub-
ment subfolders folders for document types.
minute interval Specify the interval between the savings when using Autosave
in this box.
Clear Recent Stations and Clears the list of recently accessed stations and controllers.
Controllers
Document Locations Launches the Document Locations dialog box. For more inform-
ation, see Document Locations window on page 72.
Options:General:Screenshot
Entire application window Select this option to capture the entire application.
Active document window Select this option to capture the active document window,
typically the graphics window.
Copy to clipboard Select this check box to save the captured image to the system
clipboard.
Save to file Select this check box to save the captured image to file.
Location Specify the location of the image file. The default location is
the "My Pictures" system folder.
... Browse for the location.
File name Specify the name of the image file. The default name is "Robot-
Studio" to which is added a date.
The file suffix list Select the desired file format. The default format is JPG.
Options:General:Screen Recorder
Options:Robotics:Text Editor
Show line numbers Select this check box to view line numbers in the RAPID editor
Show ruler Select this check box to show the ruler in the RAPID editor
Show whitespace Select this check box to show whitespace characters in the
RAPID editor
Word wrap Select this check box if you want to wrap long lines.
Convert tabs to spaces Select this check box to convert tabs to spaces in the RAPID
editor
Tab size Specify the number of spaces for a Tab press.
RAPID Text styles Specify the appearance of the various text classes.
Text color Specifies the text color of the RAPID editor.
Background color Specifies the background color of the RAPID editor.
Bold Select this check box for bold-face fonts in the RAPID editor.
Italic Select this check box for italicized fonts in the RAPID editor.
Options:Robotics:RAPID Profiler
Default RAPID log file Specify the name of the default RAPID log file.
Always ask for filename Select this check box to manually specify the file name of the
log file always.
Open analysis when log- Select this check box to open the analysis after the log is made.
ging is stopped
Options:Robotics:Graphical Programming
Show dialog when warn- Select this check box if you want RobotStudio to display a
ing for globally defined warning when there are workobjects with the same name that
workobjects have been declared as in other tasks. Default value: selected.
Show synchronize dialog Select this check box if you want the synchronize dialog box
box after loading program to be displayed when you have loaded a program or a module.
/module Default value: selected.
Show notification that de- Select this check box if you want to be notified that wobj0
fault data is used and/or tool0 is active and will be used in the current action.
Default value: selected.
Set as active when creat- Select this check box if you want newly created tooldata to be
ing tooldata set as active. Default value: selected.
Set as active when creat- Select this check box if you want newly created workobjects
ing workobjects to be set as active. Default value: selected.
AutoPath Specify the maximum gap allowed when creating an AutoPath.
Options:Robotics:Synchronization
Use default synchroniza- Converting data, such as target to Workobject, shall use the
tion locations default behavior for synchronization locations. Default value:
selected.
Show default synchroniza- Notifies of the behavior above. Default value: selected.
tion locations notification
Declaration default loca- Specify the locations for corresponding objects when synchron-
tions izing to the VC.
Options:Robotics:Mechanism
Options:Robotics:Virtual Controller
Always on top Select this check box if you want to have the virtual FlexPend-
ant always on top. Default value: selected.
Enable transparency Select this check box if you want parts of the virtual FlexPend-
ant to be transparent. Default value: selected.
Logging After restarting the controller,
Select this check box to log the console output to "con-
sole.log" in the controller directory
Select this check box to log the console ouput to a con-
sole window
Automatically open virtual Select this check box to automatically open the virtual Operator
Operator Window Window. Default value: Enabled.
Options:Online:Authentication
Options:Online:Online Monitor
Options:Online:Jobs
Max number of devices processed in Specifies the number of devices for which a job
parallell is executed in parallell.
Options:Graphics:Appearance
The settings you make take effect when creating a new station or when selecting
Default View Settings from the Settings menu of the View tab of the Graphics
Tools ribbon.
Options:Graphics:Performance
Rendering detail level Select if the detail level is to be Auto, Fine, Medium or Coarse.
Default value: Auto.
Render both sides of sur- Select the check box if you want to ignore the back-facing tri-
faces angles. Default value: selected.
Culling back-facing triangles improves the graphics perform-
ance but may give unexpected display if surfaces in models
are not faced correctly.
Cull objects smaller than Select the size in pixels under which objects will be disreg-
arded. Default value: 2 pixels.
The settings you make here are generic for all objects in RobotStudio. With the
Graphic Appareance dialog box you can, however, override some of these settings
for single objects.
Options:Graphics:Behavior
Navigation Select a navigational activity and then specify the mouse but-
tons to be used for the selected navigational activity.
Navigation sensitivity Select the navigation sensitivity when using the mouse move-
ments or navigation buttons by clicking the bar and dragging
it into position. Default value: 1.
Selection radius (pixels) Change the selection radius (that is, how close the mouse
cursor click must be to an item to be selected) by entering the
requested pixel value in the box. Default value: 5.
Selection highlight color Click the colored rectangle to change the highlight color.
Selection preview Select the check box to enable temporarily highlighting of items
that may be selected when the mouse cursor passes over them.
Default value: selected.
Show local coordinate Select the check box to show the local coordinate system for
system for selected ob- the selected objects. Default value: selected.
jects
Options:Graphics:Geometry
Detail Level Specify the level of detail required when importing geometries.
Select Fine, Medium or Coarse as required.
Options:Graphics:Stereo/VR*
Mirror Output Displays the image available in the VR glasses in the Graphics view.
Quality Move the slider to adjust the quality of the image to an acceptable
level of lag.
Disable Anti-Aliasing This option is disabled by default for better performance.
Options:Simulation:Clock
Simulation speed Sets the simulation speed relative to real time. You can define
the simulation speed to a maximum of 200%
As fast as possible Select this check box to run the simulation as fast as possible.
When you select this option, the simulation speed slider is
disabled.
Simulation timestep Specifies the simulation timestep.
Run time slice in parallel When simulating a large number of controllers (such as ten
for multiple controllers controllers), this option may increase performance by utilizing
multiple CPU cores.
This option is hardware dependent and hence may give differ-
ent results depending on the computer used.
Options:Simulation:Collision
Pause/stop simulation at Select this check box if you want the simulation to stop at a
collision collision or at a near miss. Default value: cleared.
Log collisions to Output Select this check box if you want the collisions to be logged to
window the output window. Default value: selected.
Log collisions to file: Select this check box if you want to log the collisions to a file.
Browse for the file to log in by clicking the browse button. De-
fault value: cleared.
Enable fast collision detec- Select this check box to enhance the performance by detecting
tion collisions between geometrical bounding boxes instead of
geometrical triangles. This might result in falsely reported col-
lisions, since the triangles are the true geometry and the
bounding boxes always are larger. All true collisions will,
however, be reported. The larger the object, the greater the
number of false collisions that are likely to be detected.
View Click this button to open the log file specified in the file box in
Notepad.
Clear Click this button to delete the log file specified in the file box.
... Click this button to browse for the file in which you want to log
the collisions.
Options:Simulation:Physics
Collision Geometry detail level Set the slider to set the physics collision geometry either
to faster or to a more accurate state.
8 Home tab
8.1 Overview
Importing a library
Use this procedure for importing library files to a station:
1 On the Home menu, click Import Library and select one of the following
controls:
Equipment
User Library
Documents
Locations
Browse for Library
Note
You can also import component xml files (*.rsxml) to your station.
8 On the System Option page, you have the option to align Task Frame(s) with
the corresponding Base Frame(s).
For single robot system, select the checkbox to align task frame with
base frame:
For MultiMove Independent system, select the check box to align task
frame with base frame for each robot.
For MultiMove Coordinated system, select the robot from the drop
down list and select the check box to align task frame with base frame
for the selected robot.
9 Verify the summary and then click Finish.
If the system contains more than one robot, the number of tasks and the
baseframe positions of the mechanism should be verified in the System
Configuration window.
Note
To create a system from layout, all your mechanisms such as robots, track
motions and positioners, must be saved as libraries.
5 Click Create.
Clear conveyor
Use this option to detatch workobjects, to clear the placed objects and to reset the
conveyor to its start position. To access this option, In the Layout browser right-click
the conveyor and click Clear.
Overview
The ABB IRC5 controller is capable of controlling a vast number of mechanical
units other than the ABB robot manipulator. Some external equipment such as
workpiece positioners and robot tracks are standard ABB equipment for which
ABB supplies and maintains controller system configuration files. But in many
situations there is a need for customized external equipment.
It is possible to use standard ABB motor units and gear units in customized external
equipment. The configuration file of the motor unit or gear unit in isolation is
supplied and maintained by ABB. The External Axis Wizard tool simplifies the
controller configuration for different combinations of motor units and gear units in
customized mechanical units.
Mechanism modeling functionality in RobotStudio makes it is possible to define
custom kinematic mechanisms. The External Axis Wizard lets you specify
mechanisms to include in the system. First, connect and configure each axis in a
mechanism to a corresponding motor unit or gear unit. Then, the template
configuration files are used to assemble a complete system configuration according
to specification.
Note
The External Axis Wizard can be downloaded from the RobotApps website. To
access the RobotApps website, visit www.abb.com/roboticssoftware.
Limitation
For IRC5P systems (used for painting), the External Axis Wizard supports only up
to three external axes.
Prerequisites
Build the station, and import or model the geometry of the mechanism. For
information about creating a new station, see Workflow of building a station
on page 83.
Use the Mechanism Modeling functionality to define custom kinematic
mechanisms. For more information, see Create Mechanism on page 338.
Add a virtual controller to the station, and include additional drives
corresponding to the axes of the mechanism to the controller system.
The robot will not be attached to the mechanism. You must manually attach
the robot to the external axis after successful configuration by the External
Axis Wizard.
2 From the Mechanisms box, select the mechanisms to include in the system.
The mechanism model must be built in such a way that a kinematics
model can be created. The joint chain must be defined such that it can
be described by Denavit-Hartenberg parameters. The mechanism
model must sometimes be modified to be able to keep the flange in
the desired position. This can be done automatically by the External
Axis Wizard, by adding a locked axis.
For adding an additional locked axis, when prompted, click Ok.
This is a dummy axis with frame definition. This dummy axis is added
to the controller configuration and also to the RobotStudio mechanism.
You cannot jog this additional axis.
3 Click Next.
The mechanisms along with their joints are listed.
4 Configure the Mechanical Unit based on the following information. The name
of the mechanism in RobotStudio corresponds to the mechanical unit of the
motion configuration.
Select the drive module (DM1 - DM4) to use for the mechanical unit.
If the mechanism has more than three joints, or, if there are several
external mechanisms which are to be part of the configuration, then
you need to use additional drive modules. In such cases, before using
the External Axis Wizard, configure the controller system with the
appropriate number of drive modules.
Optionally, you can use an Activation Relay by selecting the
corresponding check box.
For more information, see Technical reference manual - System
parameters (3HAC050948-001).
For two axis positioners with rotating axes, where the two axes are in
series, you can optionally select the Error Model check box.
Mechanisms defined with the error model can be calibrated with the
FlexPendant using the standard four point method for each axis. This
will compensate for deviations present in the real mechanisms.
You can configure two mechanical units to share a drive module.
To share the drive module with a mechanical unit, select that
mechanical unit in the Common Drive list. The list shows all
mechanisms (except TCP robot) with the same number of joints as the
selected one. The joints of the mechanical units use the same logical
axis and drive module. Note that the common drive option is not
available unless an activation relay is chosen for the mechanical unit.
This ensures that two mechanical units sharing a drive cannot be
activated at the same time.
5 Configure the joint based on the following information.
For each joint select the Motor Unit. You can select a motor unit (MU),
or a gear unit (MTD), or an interchange unit (MID). The list is populated
with the standard motor and gear units provided by ABB.
Your choice will affect the capacity and cycle time of the external axis.
Electronically linked motors are two motor units that drive the same
axis. To link a motor unit to another one electronically, select the
respective joint in the Follow list.
The Drive Unit list is populated with the available drive units of the
system. Each joint will be represented by its selected drive unit.
You can configure Logical Axis, Transmission, Link, Board and Node
according to your needs.
For more information, see Technical reference manual - System
parameters (3HAC050948-001).
Note
Default values are given for all attributes, except Motor Unit. However, you
must review and change to the correct parameters to give a valid
configuration.
6 Click Next.
The Finish page comes up.
7 To save the configuration to a file, click Save.
The configured kinematics of external axis devices are saved to a
configuration file.
8 To load the saved configuration to the system on exiting from the wizard,
select the Load Configuration to System check box.
9 Click Finish to exit the wizard.
Use the saved configuration files to assemble a complete controller system
configuration according to specification. When a system is configured, the MOC.cfg
file with a subset for the external equipment is saved and a virtual controller is
started for verification.
Note
All mechanisms which have been used in this configuration will be disconnected
from the library. To maintain these changes in a library file (.rslib), you need to
manually save it. This is because the External Axis Wizard may have automatically
adjusted the mechanisms to enable them to be configured.
Importing geometry
1 On the Home menu, click Import Geometry and select one of the following
controls:
User Geometry
Browse for Geometry
2 Click User Geometry to select the user defined geomtery.
3 Click Browse for Geometry to browse to the folder where the geometry is
located.
For predefined geometries, click the Geometry icon to the left in the dialog
box.
4 Select the required geometry and click Open.
If you want the geometry to move with another object, attach it to the
requested object, see Attach to on page 486.
To modify the detail level for import of geometries, see Options on page 217.
Note
Overview
The Export Geometry command is available for component groups, parts, stations
and mechanism links. Right-click an open group, station, part or mechanism link
and then select Export Geometry to access this command.
Supported formats
It is possible to export geometry in the following formats in a station.
Format Description
dxf, svg Selecting this format provides two export options, Export invisible objects
(2D formats) and Only export objects intersecting the floor. You can configure the view
and export all objects or only objects that touch the floor.
When you select Only export objects intersecting the floor option, enter
the value of Floor height (mm).
It is possible to export a RobotStudio function as a 2D floor layout when the
View point is set to Top.
dae When you select this format, Export invisible objects check box is displayed,
(3D format) select this option to export all invisible objects in the station.
The supported export formats vary for component groups, parts and mechanism
links. The following table lists various supported formats for exporting geometry
for each of these elements:
Elements Supported formats
Group COLLADA(dae)
Mechanism links, Parts ACIS(sat), IGES(igs, iges), STEP(stp, step, p21), VDAFS(vda,
vdafs), Catia v4(model, exp), COLLADA(dae), OBJ(obj),
RSGFX(rsgfx), VRML2, STL.
8.7 Frame
8.7.1 Frame
Creating a frame
1 Click Frame.
2 In the dialog box, specify the positions for the frame.
Reference Select the Reference coordinate system to which all pos-
itions or points will be related.
Frame Position Click in one of these boxes, and then click the frame pos-
ition in the graphics window to transfer the values to the
Frame Position boxes.
Frame Orientation Specify the coordinates for the frame orientation.
Set as UCS Select this check box to set the created frame as the user
coordinate system.
Note
Position Select this option if you want to create the frame by using a
position and two points.
Frame Position Click in one of these boxes, and then click the frame position
in the graphics window to transfer the values to the Frame
Position boxes.
Point on X axis Click in one of these boxes, and then click the point position
in the graphics window to transfer the values to the Point on
X axis boxes.
Point on X-Y plane Click in one of these boxes, and then click the point position
in the graphics window to transfer the values to the Point on
X-Y plane boxes.
Three Point Select this option if you want to create the frame by using three
points.
First Point on X axis Click in one of these boxes, and then click the point position
in the graphics window to transfer the values to the First Point
on X axis boxes.
Second Point on X axis Click in one of these boxes, and then click the point position
in the graphics window to transfer the values to the Second
Point on X axis boxes.
Point on Y axis Click in one of these boxes, and then click the point position
in the graphics window to transfer the values to the Point on
Y axis boxes.
Set as UCS Select this check box to set the created frame as the user co-
ordinate system.
8.8 Workobject
Creating a workobject
1 On the Home tab, in the Path Programming group, click Other and select
Create Workobject.
The Create Workobject dialog box appears.
2 In the Misc Data group, enter the values for the new workobject.
3 In the User Frame group, do one of the following:
Set the position of the user frame by entering values for the Position
x,y,z and the Rotation rx, ry, rz for the workobject by clicking in the
Values box.
Select the user frame by using the Frame by points dialog box.
4 In the Object Frame group you can reposition the object frame relative to
the user frame by doing any of the following:
Set the position of the object frame by selecting values for Position x,
y, z by clicking in the Values box.
For the Rotation rx, ry, rz, select RPY (Euler XYX) or Quaternion, and
enter the rotation values in the Values dialog box.
Select the object frame by using the Frame by points dialog box.
5 In the Sync Properties group, enter the values for the new workobject.
6 Click Create. The workobject will be created and displayed under the Targets
node under the robot node in the Paths&Targets browser.
8.9 Tooldata
Creating tooldata
1 In the Layout browser, make sure the robot in which to create the tooldata
is set as the active task.
2 On the Home tab, in the Path Programming group, click Other, and then
click Tooldata.
This opens the Create Tooldata dialog box.
3 In the Misc Data group:
Enter the Name of the tool.
Select whether the tool is to be held by the robot in the Robot holds
tool list.
4 In the Tool Frame group:
Define the Position x, y, z of the tool.
Enter the Rotation rx, ry, rz of the tool.
5 In the Load Data group:
Enter the Weight of the tool.
Enter the Center of gravity of the tool.
Enter the Inertia of the tool.
6 In the Sync Properties group:
In the Storage type list, select PERS or TASK PERS. Select TASK
PERS if you intend to use the tooldata in MultiMove mode.
In the Module list, select the module in which to declare the tooldata.
7 Click Create. The tooldata appears as a coordinate system in the graphics
window.
8.10 Target
Teaching a target
To teach a target, follow these steps:
1 In the Layout browser, select the workobject and tool for which you want to
teach the target.
2 Jog the robot to the preferred position. To jog a robot linearly, its VC must
be running.
3 Click Teach Target.
4 A new target will be created in the browser, under the active workobject node.
In the graphics window a coordinate system will be created at the TCP
position. The configuration of the robot at the target will be saved.
Creating a target
1 In the Layout browser, select the workobject in which you want to create the
target.
2 Click Create Target to bring up a dialog box.
3 Select the Reference coordinate system you want to use to position the
target:
If you want to position the target Select
absolute in the world coordinate system World
of the station
relative to the position of the active Work Object
workobject
in a user-defined coordinate system UCS
4 In the Points box, click Add New and then click the desired position in the
graphics window to set the position of the target. You can also enter the
values in the Coordinates boxes and click Add.
5 Enter the Orientation for the target. A preliminary cross will be shown in the
graphics window at the selected position. Adjust the position, if necessary.
To create the target, click Create.
6 If you want to change the workobject for which the target is to be created,
expand the Create Target dialog box by clicking the More button. In the
WorkObject list, select the workobject in which you want to create the target.
7 If you want to change the target name from the default name, expand the
Create Target dialog box by clicking the More button and entering the new
name in the Target name box.
8 Click Create. The target will appear in the browser and in the graphics
window.
Note
The created target will not get any configuration for the robot axes. To add the
configuration values to the target, use either ModPos or the Configurations
dialog box.
If using external axes, the position of all activated external axes will be stored
in the target.
Add Click this button to add a point and its coordinates to the Points
list.
Modify Click this button to modify an already defined point, after you
have selected it in the Points list and entered new values.
Points The target points. To add more points, click Add New, click
the desired point in the graphics window, and then click Add.
More/Less Click this button to expand or collapse parts of the create target
dialog box.
Target name Here you can change the name of the target you are creating.
It is visible only when the create target dialog box is expanded.
Workobject Here you can change the workobject in which the target is to
be created. It is visible only when the create target dialog box
is expanded.
Creating a jointtarget
1 Click Create Jointtarget to bring up a dialog box.
2 If you want to change the default name of the jointtarget, enter the new name
in the Name box.
3 In the Axes Values group, do as follows:
For the Robot axes, click the Values box and then click the down arrow.
The Joint Values dialog box will be displayed. Enter the joint values
in the boxes and click Accept.
For the Joint axes, click the Values box and then click the down arrow.
The Joint Values dialog box will be displayed. Enter the joint values
in the boxes and click Accept.
4 Click Create. The jointtarget will appear in the browser and in the graphics
window.
Note
JointTargets for external axis are not visualized in the graphical window.
Overview
Targets on Edge creates targets and move instructions along the edges of the
geometric surface by selecting target points in the graphics window. Each point
on a geometric edge has certain properties that can be used to position robot
targets relative to the edge.
Note
Note
When an edge is shared between two surfaces, the normal and tangent
directions depend on the surface selected.
Note
For each target point, a preview of the approach and travel vectors are
displayed as arrows and as a sphere representing the point on the edge
in the graphics window. The preview of the arrows are updated dynamically
once the variables are modified.
4 Click Remove to remove the target points from the list box.
5 Click More to expand the Create Targets on Edge dialog box and to choose
the following advanced options:
Use... to..
Target name change the target name from the default name to a new
user defined name
Task select the task for which to add targets.
By deafult, active task in the station is selected.
Workobject select the workobject for which you want to create the
targets on edge
Insert Move Instructions create Move instructions in addition to targets, which
in will be added to the selected path procedure.
The active process definition and process template will
be used.
6 Click Create.
The target points and Move instructions (if any) are created and are displayed
in the Output window and graphics window.
8.12 AutoPath
Overview
AutoPath helps in generating accurate paths (linear and circular) based on CAD
geometry.
Prerequisites
You need to have a geometric object with edges, curves, or both.
Note
3 Click Remove to delete the recently added edge from the graphic window.
Note
To change the order of the selected edges, select Reverse check box.
The Reference Surface box shows the side of the object that is taken as
normal for creating the path.
Click More to set the following parameters:
Select or enter values in to
Approach Generate a new target at a specified distance from the
first target.
Note
6 Click Close.
8.13 MultiMove
Overview
For browsing between the pages of the MultiMove window, click the tabs in the
navigation pane. By default the tabs are arranged in an order that corresponds to
the typical workflow:
Setup tab
System Con- Select System Here you select the system that con-
fig tains the robots to program.
System Each robot in the system is presented
in its own row in this grid. In the
columns you make the settings as
described below.
Enable Select this check box to use the robot
in the MultiMove program.
Type Specify if the robot holds the tool or
the work piece.
Robot Displays the name of the robot.
Path Config Update Click this button to update the paths
in the grid if any of the paths have
been changed. The button turns red
if a change has been detected and an
update is necessary.
Paths Each path in the station is presented
in its own row in this grid. In the
columns you make the settings as
described below.
Enable Select this check box for the paths to
use for the program.
Order Displays the order in which the paths
will be executed. To change the order,
use the lists in the path column for
rearranging the rows in which the
paths appear.
Path Sets the path to be executed here.
Start Posi- Select Robot that other shall jump to When creating a new start position,
tion select a robot that the other will try to
reach here.
Apply Jumps the other robots to the new
start position.
MultiTeach tab
With this tab you teach complete synchronized move instructions for the robots in
the MultiMove program.
Settings Path Prefix Specify a prefix for the paths to create.
Target Prefix Specify a prefix for the generated tar-
gets here.
Start ID Specify the first ID number for the
synchronization of the instructions for
the robots.
ID step index Specify the gap between the succeed-
ing ID numbers.
Sync ident prefix Specify a prefix for the syncident
variable, which connects the sync in-
structions in the tasks for the tool ro-
bot and the work piece robot with each
other.
Task list prefix Specify a prefix for the tasklist vari-
able, which identifies the tasks for the
tool robot and work piece robot to
synchronize.
Select type of Sync instruction Select the type of synchronization to
use.
Coordinated implies that all move in-
structions are synchronized for the
robots.
Semicoordinated implies that the ro-
bots work independently at some
times and wait for each other at other
(like when repositioning the work
piece).
For detailed information about the co-
ordination types, see the Application
manual - Multimove.
Setup Select the robots for teaching targets.
This grid also displays the workobjects
and tools that will be used for the tar-
gets.
Teach MultiTeach Information Displays a hierarchal tree which con-
tains the created move instructions.
The tree is organized the same way
as the tree in the Layout browser.
MultiTeach Creates move instructions for the ro-
bots selected in the settings to their
current positions. The created move
instructions are immediately inserted
at their correct places in the Multi-
Teach Information tree.
Test tab
RobotStudios MultiMove window has a page with commands for testing multimove
programs. Its default placement is at the bottom of the MultiMove window.
The status group displays the status of the simulation, that is, whether the current
settings have been tested or if errors have occurred.
In addition to the status group, information from the virtual controller is also
displayed in RobotStudios Output window during simulation.
Play << < > >> Jumps the robots, respectively, to the
previous and next targets in paths.
The double arrow buttons jump sever-
al targets at once, while the single ar-
row buttons jump one target for each
click.
Play Click this button to move the robots
along the paths.
Play also has a list box in which you
can activate the following commands:
Save current position: Saves
the current start position. Since
the calculated motions are
based on the robot start posi-
tion saving the start position is
useful when testing alternative
solutions.
Restore saved position: Moves
the robots back to the saved
start positions.
Restore last closed loop posi-
tion: Moves the robots back to
the list used start position.
Close loop: Finds a suitable
start position based on the ro-
bots current positions and
prepares the calculation of
movements.
Calculate: Calculates and ex-
ecutes the movements.
Simulation speed Sets the speed at which the simulation
is performed.
Settings Stop at end Select this check box to make the
simulation stop after running the paths
one time. If cleared, the simulation will
continue playing over and over until it
is stopped manually.
Simulate Online Select this check box to run the simu-
lation as the movements are calcu-
lated.
This is useful for troubleshooting pur-
poses, since it displays and reports
targets the robot cannot reach.
Note
The wizard will not help you configure the RobotWare system correctly. If the
correct options are not used you will not be able to synchronize generated
MultiMove paths to the virtual controller, even if you can use the MultiMove
functions in RobotStudio.
Note
TrueMove path
Using the TrueMove path visualization, you can view the the programmed path of
a robot accurately, regardless of the programmed speed. In RobotStudio, the
TrueMove path will be visualized prior to executing the motion in the virtual
controller. The path takes the zone data into account. The TrueMove path
visualization applies to linear and circular motion instructions. Joint movements
are visualized as straight lines even though the robot takes a different path. These
movements are visualized with a dotted line to indicate that the robot will not follow
the path accurately.
Name Here you can change the name of the target you create when
creating the move instruction.
Robot axes Specify the joint values for the robot. Select the box and click
the list to set the values.
External axes box Specify the joint values for external axes, if any exist in the
station. Select the box and click the list to set the values.
Storage Type Click this button to expand or collapse parts of the create move
instruction dialog box.
Module Specify the module in which the jointtarget shall be declared.
Overview
Use Instruction Template Manager to support instructions other than RobotStudio's
default instructions set, for example, certain instructions like DispL and DispC are
instructions used for glueing by a robot controller system with the RobotWare
Dispense option. You can manually define the instruction templates for such
instructions using the Instruction Template Manager. These instruction templates
are exported to XML format and reused later.
RobotStudio provides pre-defined XML files that can be imported and used for
robot controller systems with certain RobotWare options. For example, it is
recommended to use RobotStudio ArcWelding PowerPac while using RobotWare
Arc. The instruction template supports Robotware options like Continuous
Application Process (CAP), Dispense (Disp), Fixed Position Events (Trigg), Spot
Pneumatic, Spot Servo, Spot Servo Equalizing, Paint, Multimove Coordinated and
Conveyor Tracking. When you start a new system, default instruction templates
are loaded. When starting a system with one or more of these options, the
corresponding instruction templates are added automatically.
8.18 Settings
8.18.1 Task
Selecting a Task
Select a task from the Task drop-down list. The selected task indicates active task,
to which new workobjects, tooldata, target, empty path or path from curve will be
added.
8.18.2 Workobject
Selecting a Workobject
Select a workobject from the Workobject drop-down list. The selected workobject
indicates active workobject, to which new targets and move instructions are added.
8.18.3 Tool
Selecting a Tool
Select a tool from the Tool drop-down list. The selected tool indicates active tool,
to which move instructions are added.
Move
1 In the Layout browser, select the item you want to move.
2 Click Move.
3 In the graphics window, click one of the axes and drag the item into position.
8.19.1 Rotate
Rotating an item
1 In the Layout browser, select the item you want to rotate.
2 Click Rotate.
3 In the graphics window, click one of the rotational rings and drag the item
into position.
If you press the ALT key while rotating, the item will snap 10 degrees at a
time.
Note
If you press the ALT key while reorienting, the robot moves by 10 units
and if you press the F key, it moves by 0.1 unit.
Note
Overview
The Graphics Tools helps you to control the graphics view and to modify the
appearance of objects. All available options are grouped under the following tabs.
View Tab
Edit Tab
Introduction
Use the View tab to choose view settings, control graphics view and create new
views, and to show/hide the selected targets, frames, paths, parts, and mechanisms.
The View tab options are grouped under the following groups.
View
Navigate
Markups
Lights
Clip Planes
Freehand
Close
View Group
Introduction
The View group helps you to choose view settings, control graphics view and
create new views, and to show/hide the selected targets, frames, paths, parts, and
mechanisms.The following options are available:
New View
View Settings : Projection, Representation, Frame Size
Settings
Advanced Lighting
Show/Hide
Automatic Transparency
Statistics
Stereo Mode
Select New View to create a new view.
View Settings
You can select the following different view settings.
Setting Description
Projection To view the orthographic and perspective view of the object.
Orthographic
Perspective
Representation To view the objects as a surface, wireframe, both surface
Surface and wireframe, by removing hidden lines.
Wireframe
Both
Hidden-line removal
Frame Size To view the frame in large, medium and small sizes.
Large
Medium
Small
Advanced Lighting
Advanced Lighting activates the advanced lighting model that enables features
such as multiple lights, shadows and environment mapping. This feature requires
graphics hardware that supports Direct3D feature level 10_1 or higher.
The standard lighting model is supported on all systems and is optimized for
performance and visibility.
Settings
The Settings button in the View tab provides various display options for graphics.
The Settings commands work on the active graphics view and do not affect
persisted settings or other views. The available options are:
Settings Description
Show Floor Shows or hides the floor the graphics view.
Show UCS Grid Shows or hides the UCS grid in the graphics view.
Show World Coordinates Shows or hides the world coordinates in the graphics view.
Show Buttons Shows or hides buttons in the graphics view.
Reset Floor Size Adjusts the floor and UCS grid to cover the area used by objects
in the station.
Background Color Allows the user to set a custom background for the view.
Default View Settings Opens the Options dialog box that shows the defaults settings.
Reset to Defaults Resets the active view to the default settings.
Show/Hide
You can either show or hide the following options:
Target Names
Frame Names
Path Names
All Targets/Frames
All Paths
All Parts
All Mechanisms
Automatic transparency
Automatic Transparency makes objects transparent when they cover a large part
of the graphics view. Click this button to enable Automatic Transparency. If you
enable Automatic Transparency, in 3D view when you zoom in on objects, the
closest part becomes gradually invisible and you would be able to see objects
beyond the closest object.
3D View
The 3D view shows the graphical overview of the robot, tool and its work envelope.
All robot activity is shown-in real time, which provides the opportunity to observe
the actual robot in operation. The user can move the 3D view around the robot for
more details.
Virtual Reality
The Virtual Reality button gets enabled when you connect VR glasses (Oculus
Rift or HTC Vive) to the PC. RobotStudio and its Station Viewer works with HTC
Vive and Oculus rift. These devices have motion tracking sensors for location and
orientation tracking of the headset and the hand controls. The hand controls can
be used to interact with the virtual reality environment. The use of HTC Vive requires
a high-performance gaming PC. Check the supplier web page for installation details,
http://www.vive.com/ and for details on Oculus rift, visit https://www.oculus.com.
Navigate Group
Introduction
Navigate group contains buttons for creating and managing viewpoint and for
controlling the orientation of graphics.
Setting Description
View Orientation To view the objects in the following different orientations.
View All
View Center
Top
Bottom
Front
Back
Left
Right
Create Viewpoint Stores the location and direction of a virtual camera in the 3D
environment.
Viewpoint
A Viewpoint stores the location and direction of a virtual camera in the 3D
environment. It stores points of interest in a station to create camera movements
during simulation.
Creating Viewpoint
You can create a viewpoint in a station in two ways:
1 In the View tab, click Create Viewpoint.
2 In the Layout browser, right-click the station and select Create Viewpoint.
A viewpoint is created and displayed (as an eye icon) in the layout browser to the
left.
The position and direction of the Viewpoint can also be visualized as an arrow in
the 3D graphics. By default, the newly created viewpoints are not visible and cannot
be selected by clicking on the graphics.
Viewpoint functions
In the Layout browser, right-click Viewpoint to perform the following functions:
Function Description
Move to Viewpoint Moves the active 3D view to the location stored in the viewpoint.
Function Description
Set to current Modifies the viewpoint to the current location and direction of
the active 3D view.
This action cannot be undone.
Visible Toggles the visibility of the viewpoint 3D representation.
This action cannot be undone.
Delete Deletes the viewpoint.
This action cannot be undone.
Rename Renames the viewpoint.
This action cannot be undone.
Move to Viewpoint
You can also move active 3D view to the location stored in the Viewpoint using
Event manager.
1 Create a viewpoint.
2 Add an event.
The Create new event dialog box appears.
3 Select Simulation under Activation and Simulation time under Event trig
type. Click Next.
4 Set the activation time. Click Next.
5 Select Move to Viewpoint from Set Action type. Click Next.
6 Select the viewpoint from select Viewpoint and set the transition time.
7 Click Finish.
Move to viewpoint function is also executed when replaying the simulation in a
Station Viewer. In addition, you can switch between view points using the
MoveToViewpoint Smart Components, see Running a simulation on page 361.
Markups Group
Overview
A markup is a text box displayed in the 3D graphics. It is similar to the temporary
text shown when performing measurement or freehand movement, but it is part of
the station.
The markup is displayed as a node in the layout browser and remains so when the
station is saved. It appears as text bubble pointing to a position in the graphics
window.
Creating Markup
Use this procedure to create markup to an object
1 In the Home tab, click View and select Create Markup.
The Create Markup dialog box appears.
Note
Alternatively, in the Layout browser, right-click the station and select Create
Markup for the dialog box to appear.
2 In the Markup Text field, enter a name for the markup text.
3 In the Pointer position field, set the position of the pointer.
4 Select Always on top if you want to display the text on top.
5 Click Create.
Markup functions
In the Layout browser, right-click Markup to perform the following functions:
Function Description
Visible Shows or hides the markup in the 3D graphics.
Modify Markup Modifies the Markup properties.
Attach to Attaches the markup to another graphical object.
Detach Detaches the attached markup.
Delete Deletes the markup.
Rename Changes the name of the markup object.
Modify Markup
Use this procedure to modify the markup properties:
1 In the Layout browser, right-click the markup and select Modify Markup.
The Modify Markup dialog box appears.
2 Modify the markup text, pointer position or text position.
3 Click Apply for the changes to take effect.
4 Click Close.
Lights Group
Overview
The Lights group helps you to control the number and nature of light sources in
the station when advanced lighting is enabled. There are four different kinds of
light sources:
Ambient Light Controls the ambient (background) light level in the station.
Infinite Light A directional light source, similar to the sun, this light source
can cast shadows.
Spotlight A light source with a cone of influence, this light source can cast
shadows.
Point light Casts light radially from a specified position, this light source
can not cast shadows.
By default, a new station contains two infinite light sources in addition to the ambient
light source. The ambient light source cannot be removed or created, but it can be
disabled. The Create Light menu contains commands for creating a new light
source and adding it to the station.
Light Properties
In the browser, right-click the light source and then select Light Properties from
the context menu. You can view the Light Properties window. Use this window to
modify the light source. The Light Properties window contains different controls
depending on the type of light.
Settings Description
Enabled (all kinds) Enables or disables the light source
Casts shadows (infinite and spot lights) Causes objects influenced by the light to cast
shadows
Color (all kinds) Controls the color of the light
Ambient intensity (ambient light) Controls the ambient (background) intensity of
the light
Diffuse intensity (infinite, spot and point Controls the intensity of diffuse highlights
lights)
Highlight (infinite, spot and point lights) Controls the intensity of specular highlight
Position (spot and point lights) Controls the position of the light source
Direction (infinite and spot lights) Controls the direction of the light
Limit range (spot and point lights) Optionally limits the range of influence of the
light
Spotlight angle (spot lights) Controls the angle of the light cone
Light presets
Light sources are saved in the station. User can use light presets to save a set of
lights for reuse. The Presets menu contains a list of user defined light presets.
When a preset is selected, the light sources in the station are replaced by the
preset. The menu also contains the following commands:
Command Description
Reset lights to default Resets light to the default preset
Save lights as preset Saves the lights in the station as a preset
Edit presets Allows the user to remove previously created presets
Clip Planes
Overview
A clip plane is an infinite plane that cuts through geometric objects in the station.
Objects on one side of the plane are visible while objects on the other side are
invisible. A station can contain multiple clip planes, but each graphics view can
only have one active clip plane.
Note
Function Description
Position Controls the position of the clip plane, you can select or type in the x, y and z
co-ordinates of the clip plane.
Normal Controls the orientation of the clip plane, you can select or type in the x, y and
z co-ordinates of the clip plane.
Flip Allows the user to reverse the orientation of the clip plane.
Active Enables or disables the clip plane in the active graphics view.
Freehand
Freehand options are used to move and rotate the selected object. User can select
the coordinate system.
Moving an item
1 In the Layout browser, select the item you want to move.
2 Click Move.
3 In the graphics window, click one of the axes and drag the item into position.
Rotating an item
1 In the Layout browser, select the item you want to rotate.
2 Click Rotate.
3 In the graphics window, click one of the rotational rings and drag the item
into position.
If you press the ALT key while rotating, the item will snap 10 degrees at a
time.
World
Use this option to move or rotate an object in the station in relation with the specified
coordinate system. The following options are available:
World
Local
UCS
Active Workobject
Active Tool
Close Graphics
Select this option to close the Graphics Tools tabs.
Overview
The Edit tab contains commands for working with materials and their application
on geometric objects. The available options are:
Materials
Pick Material
Apply Material
Replace Material
Edit Materials
Adjust Textures
Invert Surfaces
Close Graphics
Appearance Group
The Appearance group contains the following options:
Settings Description
Materials Contains a gallery of predefined and user defined materials
Pick Material Allows the user to select a material
Apply Material Activates or deactivates apply material mode
Replace Material Allows the user to replace material in a part that contains several different
materials.
Edit Materials Allows editing of user defined materials
Adjust Textures Allows the user to adjust texture coordinates on surfaces directly in the
main graphics view
Invert Surfaces Allows the user to invert the surfaces when selected in the Grahics win-
dow. The back side of the surface is highlighted in red.
Close Graphics To close the Graphics tools tab.
Materials
The Material menu contains controls for setting material parameters or for selecting
a material from the list of user defined and predefined materials. It is also possible
to save the current material to the user defined materials list.
Apply Material
When Apply Material is activated, the active material is automatically applied to
the geometric surfaces or objects (depending on selection mode) selected in the
Graphics view. The active material is selected by using the Materials menu or the
Pick Material command. When a material is selected, Apply Material is automatically
activated.
Replace Material
The Replace Material menu allows you to replace material in a part that consists
of different materials. Select a material from the Materials gallery and click on the
surface of the part to replace its material.
Edit Materials
The Edit Materials menu allows editing of user defined materials. Click this button
to see the list of defined materials. This list can be edited by adding, deleting and
copying materials. The name and description of a material can be changed by
right-clicking in the list. A preview of the selected material is displayed in the
Graphics view.
Adjust Textures
The Adjust Textures menu allows the user to adjust texture coordinates on surfaces
directly in the main Graphics view. When the command is activated and a textured
surface is selected, the user can use the keyboard to move, rotate, mirror and scale
the texture on the surface.
Graphics browser
A separate browser window is displayed when one of the graphics menu is selected.
It contains objects in the station that are related to the graphics system. The
following options are available:
Markups
Viewpoints
Lights
Clip planes
Close Graphics
Select this option to close the Graphics Tools tabs .
9 Modeling tab
9.1 Overview
Overview
Smart Component is a RobotStudio object (with or without a 3D graphical
representation) that has the behavior which can be implemented by code-behind
and/or aggregation of other Smart Components.
Terminology
The following table describes the different terminologies that you come across
when working with Smart Component.
Term Definition
Code behind A .NET class associated with a Smart Component that can
implement custom behavior by reacting to certain events, for
example simulation time steps and changes in property values.
[Dynamic] property An object attached to a Smart Component that has value, type
and certain other characteristics. The property value is used
by code behind to control the behavior of the Smart Component.
[Property] binding Connects the value of one property to the value of another
property.
[Property] attributes Key-value pairs that contain additional information about a
dynamic property, for example value constraints.
[I/O] signal An object attached to a Smart Component that has a value and
a direction (input/output), analogous to I/O signals on a robot
controller. The signal value is used by code behind to control
the behavior of the Smart Component.
[I/O] connection Connects the value of one signal to the value of a different
signal.
Aggregation The process of connecting several Smart Components using
bindings and/or connections in order to implement a more
complex behavior.
Asset Data object contained in a Smart Component. Uses include
code behind assembly and localized resources.
Overview
The Smart Component Editor allows you to create, edit, and aggregate Smart
Components using a graphical user interface. It is an alternative to using the xml
based library compiler.
Note
Overview
The Compose tab consists of the following:
Child components on page 286
Saved States on page 287
Assets on page 287
Child components
It is a list box that displays all the objects contained by the component. Objects
connected to a library have an overlay that indicates that the objects are locked.
Smart Components are displayed first followed by other type of objects.
If an object is selected from the list, the following commands are displayed in the
right panel:
Command Description
Add component Adds a child object to the component from the list.
You can select a built-in base Smart Component, a new empty
Smart Component, a library from file or a geometric part from
file.
Base components are organized as sub-menus based on the
usage. For example, Signals and Properties, Sensors, Actions
and so on. Recently used base components are listed at the
top.
For more information about base Smart Component, see Basic
Smart Components on page 296.
Edit parent Sets the context of the Editor to the parent of the component
that is currently being edited. If the parent is the station, see
Station Logic on page 359.
Disconnect from library Disconnects the selected object from library, allowing it to be
edited.
Export to XML Opens a dialog box where you can export and save the com-
ponent definition along with its properties as an *.rsxml file
Right-click on the selected object to display the following context menu items
Item Description
Edit Sets the context of the Editor to the selected child object.
Delete Deletes the child object.
Show in Browser Indicates if the object should be displayed in the Layout
browser.
Set as Role Sets the object as the Role of the component. The Smart
Component will inherit certain characteristics of the Role object.
For example, attaching a component with a tool as Role to a
robot will cause a ToolData to be created.
Properties Opens the Property editor dialog box for the object. See Prop-
erty Editor on page 313.
Saved States
The state of the component can be saved to be restored later. The state contains
selected modifiable aspects of the component and its child components at the time
when the state was saved. The following commands are available:
Command Description
Save Current State Opens the Save Current State dialog box. See Save Current
State on page 287.
Restore Selected State Restores the component to the selected state.
Details Opens a window that displays detailed information about the
selected state.
Delete Deletes the selected state.
Note
Assets
The assets contained in the component are displayed as grid.
The following commands are available:
Command Description
Add Asset Opens a dialog box and allows you to browse and select any
file as an asset.
Set Icon Opens a dialog box and allows you to browse and select an
image that represents a Smart Component.
Update All Assets Replaces the data of all the assets with the data of the corres-
ponding file on the disk. If the file is not available, a warning
message is displayed in the output window.
View Opens the selected asset in the associated program
Save Opens a dialog box and allows you to save the selected asset.
Delete Deletes the selected asset.
Note
The text resources (descriptions) for properties and signals are stored in an asset
called Resources.<language-id>.xml. If this is deleted, the texts for that language
will be empty and the default (English) will be used. The default language when
authoring a component is always English, regardless of the application language.
Overview
The Properties and Bindings tab consists of the following:
Dynamic Properties on page 289
Property Bindings on page 290
Dynamic Properties
The dynamic properties contained in the component are displayed in a grid.
The following commands are available
Command Description
Add Dynamic Property Opens the Add Dynamic Property dialog box. See Add or Edit
Dynamic Property on page 289.
Expose Child Property Opens the Expose Child Property dialog box. See Expose Child
Property on page 290.
Edit Opens the Edit Dynamic Property dialog box for the selected
property.
Delete Deletes the selected property.
Note
When editing an existing property, the Identifier and Type controls are locked
and cannot be modified. If the input is valid the OK button is enabled, allowing
you to add or update the property. If not, an error icon is displayed.
Property Bindings
The property bindings contained in the component are displayed in a grid.
The following commands are available:
Command Description
Add Binding Opens the Add Binding dialog box.
Add Expression Binding Opens the Add Expression Binding dialog box.
Edit Opens the Edit Binding or Edit Expression Binding dialog box,
depending on the type of binding selected.
Delete Deletes the selected binding.
Overview
The Signals and Connections tab consists of the following:
I/O Signals on page 292
I/O Connections on page 293
I/O Signals
The I/O Signals contained in the component are displayed in a grid.
The following commands are available:
Command Description
Add I/O Signals Opens the Add I/O Signals dialog box.
Expose Child Signal Opens the Expose Child Signal dialog box.
Edit Opens the Edit Signal dialog box.
Delete Deletes the selected signal.
Control Description
Hidden Indicates if the property should not be visible in GUI such as
the Property Editor and I/O Simulator.
Read only Indicates if the property value should be possible to modify in
GUI such as the Property Editor and I/O Simulator.
Note
When editing an existing signal, only the Signal Value and Description can be
modified, while all other controls are locked.
If the input is valid,OK is enabled allowing you to create or update the signal. If
not, an error icon is displayed.
I/O Connections
The I/O Connections contained in the component are displayed in a grid.
The following controls are available:
Control Description
Add I/O Connection Opens the Add I/O Connection dialog box.
Edit Opens the Edit I/O Connection dialog box.
Manage I/O Connections Opens the Manage I/O Connections dialog box.
Delete Deletes the selected connection.
Move Up or Move Down Sorts by moving the selected connections up and down the
list.
Control Description
Target Signal Specifies the target of the connection. The target must be of
the same type as the source, and either an input to a child
component or an output from the current component.
Allow cyclic connection Allows the target signal to be set two times in the same context,
which would otherwise generate an error.
Overview
The Design tab displays a graphical view of the structure of the component. It
includes the child components, internal connections, properties and bindings. The
Smart Component can be organized on the viewing screen and their viewing
position will be stored with the station.
Overview
The base components represent a complete set of basic building block components.
They can be used to build user defined Smart Components with more complex
behavior.
This lists the basic Smart Components available and are described in the following
sections:
Signals and Properties on page 296
Parametric Primitives on page 300
Sensors on page 302
Actions on page 305
Manipulators on page 307
Other on page 309
Signals Description
InputA The first input.
InputB The second input.
Output The result of the logic operation.
LogicExpression
Evaluates a logic expression.
Properties Description
String The expression to evaluate.
Operator The following lists the various operators:
AND
OR
NOT
XOR
Signals Description
Result Contains the result of the evaluation.
LogicMux
Output is set according to: Output = (Input A * NOT Selector) + (Input B * Selector)
Signals Description
Selector When low, the first input is selected.
When high, the second input is selected.
InputA Specifies the first input.
InputB Specifies the second input.
Output Specifies the result of the operation.
LogicSplit
The LogicSplit takes Input and sets OutputHigh to the same as Input, and OutputLow
as the inverse of Input.
PulseHigh sends a pulse when Input is set to high, and PulseLow sends a pulse
when Input is set to low.
Signals Description
Input Specifies the input signal.
OutputHigh Goes high (1) when input is 1.
OutputLow Goes high (1) when input is 0.
PulseHigh Sends pulse when input is set to high.
PulseLow Sends pulse when input is set to low.
LogicSRLatch
TheLogicSRLatch has one stable state.
When Set=1, Output=1 and InvOutput=0
When Reset=1, Output=0 and InvOutput=1
Signals Description
Set Sets the output signal.
Reset Resets the output signal.
Output Specifies output signal.
InvOutput Specifies Inverse output signal.
Converter
Converts between property values and signal values.
Properties Description
AnalogProperty Converts to AnalogOutput.
DigitalProperty Converts to DigitalOutput.
GroupProperty Converts to GroupOutput.
BooleanProperty Converts from DigitalInput and to DigitalOutput.
Signals Description
DigitalInput Converts to DigitalProperty.
DigitalOutput Converted from DigitalProperty.
AnalogInput Converts to AnalogProperty.
AnalogOutput Converted from AnalogProperty.
GroupInput Converts to GroupProperty.
GroupOutput Converted from GroupProperty.
VectorConverter
Converts between Vector3 and X, Y,and Z values.
Properties Description
X Specifies the X-value of Vector.
Y Specifies the Y-value of Vector.
Z Specifies the Z-value of Vector
Vector Specifies the vector value..
Expression
The Expression consists of numeric literals (including PI), parentheses,
mathematical operators +,-,*,/,^ (power) and mathematical functions sin, cos, sqrt,
atan, abs. Any other strings are interpreted as variables, which are added as
additional properties. The result is displayed in Result.
Signals Description
Expression Specifies the expression to evaluate.
Result Specifies the result of evaluation.
NNN Specifies automatically generated variables.
Comparer
The Comparer compares First value with Second value, using Operator. Output is
set to 1 if the condition is met.
Properties Description
ValueA Specifies the first value.
ValueB Specifies the second value.
Operator Specifies the comparison operator.
The following lists the various operators:
==
!=
>
>=
<
<=
Signals Description
Output True if the comparison evaluates to true, otherwise false.
Counter
Count is increased when the input signal Increase is set, and decreased when the
input signal Decrease is set. Count is reset when the input signal Reset is set.
Properties Description
Count Specifies the current count.
Signals Description
Increase Adds one to the Count when set to True.
Decrease Subtracts one from the Count when set to True.
Reset Resets the Count to zero when set to high.
Repeater
Pulses Output signal Count number of times.
Properties Description
Count Number of times to pulse Output.
Signals Description
Execute Set to high (1) to pulse Output Count times.
Output Output pulse.
Timer
The Timer pulses the Output signal based on the given interval.
If Repeat is unchecked, one pulse will be triggered after the time specified in
Interval. Otherwise, the pulse will be repeated at the interval given by Interval.
Properties Description
StartTime Specifies the time to pass before the first pulse.
Interval Specifies the simulation time between the pulses.
Repeat Specifies if the signal should be pulsed repeatedly or only once.
Current time Specifies the current simulation time.
Signals Description
Active Set to True to activate the timer, and False to deactivate it.
Output Sends pulses at the specified time intervals.
StopWatch
The StopWatch measures time during simulation (TotalTime). A new lap can be
started by triggering the Lap input signal. LapTime shows the current lap time. The
time is only measured when Active is set to 1. The times are reset when the input
signal Reset is set.
Properties Description
TotalTime Specifies the accumulated time.
LapTime Specifies the current lap time.
AutoReset If true, TotalTime and LapTime will be set to 0 when the simu-
lation starts.
Signals Description
Active Set to True to activate the stop watch, and False to deactivate
it.
Reset Resets Total time and Lap time when set to high.
Lap Starts a new lap.
Parametric Primitives
ParametricBox
The ParametricBox generates a box with dimensions specified by length, width,
and height.
Properties Description
SizeX Specifies the length of the box in the X-axis direction.
SizeY Specifies the length of the box in the Y-axis direction.
SizeZ Specifies the length of the box in the Z-axis direction
GeneratedPart Specifies the generated part.
KeepGeometry False to remove the geometry data from the generated part.
This can make other components such as Source execute
faster.
Signals Description
Update Set to high (1) to update the generated part.
ParametricCircle
The ParametricCircle generates a circle with a given radius.
Properties Description
Radius Specifies the radius of the circle.
GeneratedPart Specifies the generated part.
GeneratedWire Specifies the generated wire object.
KeepGeometry False to remove the geometry data from the generated part.
This can make other components such as Source execute
faster
Signals Description
Update Set to high (1) to update the generated part.
ParametricCylinder
The ParametricCylinder generates a cylinder with the dimensions given by Radius
and Height.
Properties Description
Radius Specifies the radius of the cylinder.
Height Specifies the height of the cylinder.
GeneratedPart Specifies the generated part.
KeepGeometry False to remove the geometry data from the generated part.
This can make other components such as Source execute
faster.
Signals Description
Update Set to high (1) to update the generated part.
ParametricLine
The ParametricLine generates a line with a given end point or a given length. If
either of them is changed, the other one will be updated accordingly.
Properties Description
EndPoint Specifies the end point for the line.
Length Specifies the length of the line.
GeneratedPart Specifies the generated part.
GeneratedWire Specifies the generated wire object.
KeepGeometry False to remove the geometry data from the generated part.
This can make other components such as Source execute
faster.
Signals Description
Update Set to high (1) to update the generated part.
LinearExtrusion
The LinearExtrusion extrudes SourceFace or SourceWire along the vector given
by Projection.
Properties Description
SourceFace Specifies the face to extrude.
SourceWire Specifies the wire to extrude.
Projection Specifies the vector to extrude along.
GeneratedPart Specifies the generated part.
KeepGeometry False to remove the geometry data from the generated part.
This can make other components such as Source execute
faster.
CircularRepeater
The CircularRepeater creates a number of given copies of Source around the center
of the SmartComponent with a given DeltaAngle.
Properties Description
Source Specifies the object to copy.
Count Specifies the number of copies to create.
Radius Specifies the radius of the circle.
DeltaAngle Specifies the angle between the copies.
LinearRepeater
The LinearRepeater creates a number of copies of Source, with the spacing and
direction given by Offset.
Properties Description
Source Specifies the object to copy.
Properties Description
Offset Specifies the distance between copies.
Count Specifies the number of copies to create.
MatrixRepeater
The MatrixRepeater creates a specified number of copies in three dimensions,
with the specified spacing of the object in Source.
Properties Description
Source Specifies the object to copy.
CountX Specifies the number of copies in the X-axis direction.
CountY Specifies the number of copies in the Y-axis direction.
CountZ Specifies the number of copies in the Z-axis direction.
OffsetX Specifies the offset between the copies in the X-axis direction.
OffsetY Specifies the offset between the copies in the Y-axis direction.
OffsetZ Specifies the offset between the copies in the Z-axis direction.
Sensors
CollisionSensor
The CollisionSensor detects collisions and near miss events between the First
object and the Second object. If one of the objects is not specified, the other will
be checked against the entire station. When the Active signal is high and a collision
or a near miss event occurs and the component is active, the SensorOut signal is
set and the parts that participate in the collision or near miss event are reported
in the first colliding part and second colliding partof the Property editor.
Properties Description
Object1 The first object to check for collisions.
Object2 The second object to check for collisions.
NearMiss Specifies the near miss distance.
Part1 The part of First object that has a collision.
Part2 The part of Second object that has a collision.
CollisionType None
Near miss
Collision
Signals Description
Active Specifies if the CollisionSensor is active or not.
SensorOut True if there is a NearMiss or Collision.
LineSensor
The LineSensor defines a line by the Start, End, and Radius. When an Active signal
is high, the sensor detects objects that intersect the line. Intersecting objects are
displayed in the ClosestPart property and the point on the intersecting part that is
closest to the line sensors start point is displayed in the ClosestPoint property.
When intersection occurs the SensorOut output signal is set.
Properties Description
Start Specifies the start point.
End Specifies the end point.
Radius Specifies the radius.
SensedPart Specifies the part that intersects the line sensor.
If several parts intersect, then the one closest to theStart point
is listed.
SensedPoint Specifies the point on the intersecting part, closest to the Start
point.
Signals Description
Active Specifies if the LineSensor is active or not.
SensorOut True if the sensor intersects with an object.
PlaneSensor
The PlaneSensor defines a plane by Origin, Axis1, and Axis2. When the Active
input signal is set the sensor detects objects that intersect this plane. Intersecting
objects are displayed in the SensedPart property and when intersection occurs
the SensorOut output signal is set.
Properties Description
Origin Specifies the origin of the plane.
Axis1 Specifies the first axis of the plane.
Axis2 Specifies the second axis of the plane.
SensedPart Specifies the part that intersects the PlaneSensor.
If several parts intersect, then the one listed first in the Layout
browser is selected.
Signals Description
Active Specifies if the PlaneSensor is active or not.
SensorOut True if the sensor intersects with an object.
VolumeSensor
The VolumeSensor detects objects that are inside or partly inside a box-shaped
volume. The volume is defined by a Corner Point, the Length, Height, and Width
of the sides and the orientation angles.
Properties Description
CornerPoint Specifies the local origin of the box.
Orientation Specifies the orientation (Euler ZYX) relative to Reference.
Length Specifies the length of the box.
Properties Description
Width Specifies the width of the box.
Height Specifies the height of the box.
Percentage The percentage of the volume to react on. Set to 0 to react on
all objects.
PartialHit Allow an object to be sensed if only a part of it is inside the
volume sensor.
SensedPart The last object that either entered or left the volume.
SensedParts The objects sensed in the volume
VolumeSensed The total volume sensed
Signals Description
Active Set to high (1) to activate the sensor.
ObjectDetectedOut Goes high (1) when an object is detected within the volume. Is
reset immediately after an object has been detected.
ObjectDeletedOut Goes high (1) when an object is detected to leave the volume.
Is reset immediately after an object has left the volume.
SensorOut Goes high (1) when the volume is full.
PositionSensor
The PositionSensor monitors the position and orientation of an object.
The position and orientation of an object is updated only during the simulation.
Properties Description
Object Specifies the object to monitor.
Reference Specifies the reference coordinate system (Parent or Global).
ReferenceObject Specifies the reference object, if Reference is set to Object.
Position Specifies the position of the object relative to Reference.
Orientation Specifies the orientation (Euler ZYX) relative to Reference.
ClosestObject
The ClosestObject defines a Reference object or a Reference point. When the
Execute signal is set, the component finds the ClosestObject, ClosestPart, and the
Distance to the reference object, or to the reference point if the reference object
is undefined. If RootObject is defined, the search is limited to that object and its
descendants. When finished and the corresponding properties are updated the
Executed signal is set.
Properties Description
ReferenceObject Specifies the object to get the closest object to.
ReferencePoint Specifies the point to get the closest object to.
RootObject Specifies the object whose children to search.
Empty means entire station.
ClosestObject Specifies the object closest to Reference object or Reference
point.
Properties Description
ClosestPart Specifies the part closest to Reference object or Reference
point.
Distance Specifies the distance between the Reference object and the
Closest object.
Signals Description
Execute Set to True to find the Closest part.
Executed Sends a pulse when completed.
Actions
Attacher
The Attacher will attach Child to Parent when the Execute signal is set. If the Parent
is a mechanism, the Flange to attach to must also be specified. When the input
Execute is set, the child object is attached to the parent object. If Mount is checked,
the child will also be mounted on the parent, with the Offset and Orientation
specified. The output Executed will be set when finished.
Properties Description
Parent Specifies the object to attach to.
Flange Specifies the Index of mechanism flange to attach to.
Child Specifies the object to attach.
Mount If true, the object to attach mounts on the attachment parent.
Offset Specifies the position relative to the attachment parent when
using Mount.
Orientation Specifies the orientation relative to the attachment parent when
using Mount.
Signals Description
Execute Set to True to attach.
Executed Sends a pulse when completed.
Detacher
The Detacher will detach the Child from the object it is attached to when the Execute
signal is set. If Keep position is checked, the position will be kept. Otherwise the
child is positioned relative to its parent. When finished, the Executed signal will be
set.
Properties Description
Child Specifies the object to detach.
KeepPosition If false, the attached object is returned to its original position.
Signals Description
Execute Set to True to remove the attachment.
Executed Sends a pulse when completed.
Source
The Source property of the source component indicates the object that should be
cloned when the Execute input signal is received. The parent of the cloned objects
is specified by the Parent property and a reference to the cloned object is specified
by the Copy property. The output signal Executed signifies that the clone is
complete.
Properties Description
Source Specifies the object to copy.
Copy Specifies the copied object.
Parent Specifies the parent to the copy.
If not specified, the copy gets the same parent as the source.
Position Specifies the position of the copy relative its parent.
Orientation Specifies the orientation of the copy relative its parent.
Transient Marks the copy as transient if created during simulation. Such
copies are not added to the undo queue and are automatically
deleted when the simulation is stopped. This is used to avoid
increased memory consumption during simulation.
Signals Description
Execute Set to True to create a copy of the object.
Executed Sends a pulse when completed.
Sink
The Sink deletes the object referenced by the Object property. Deletion happens
when the Execute input signal is received. The Executed output signal is set when
the deletion is finished.
Properties Description
Object Specifies the object to remove.
Signals Description
Execute Set to True to remove the object.
Executed Sends a pulse when completed.
Show
When the Execute signal is set, the object referenced in Object appears. When
finished, Executed signal will be set.
Properties Description
Object Specifies the object to show.
Signals Description
Execute Set to True to show the object.
Executed Sends a pulse when completed.
Hide
When the Execute signal is set, the object referenced in Object will be hidden.
When finished, Executed signal will be set.
Properties Description
Object Specifies the object to hide.
Signals Description
Execute Set to True to hide the object.
Executed Sends a pulse when completed.
Manipulators
LinearMover
The LinearMover moves the object referenced in the Object property with a speed
given by the Speed property in the direction given by the Direction property. The
motion starts when the Execute input signal is set and stops when Execute is reset.
Properties Description
Object Specifies the object to move.
Direction Specifies the direction to move the object.
Speed Specifies the speed of movement.
Reference Specifies the coordinate system in which values are specified.
It can be Global, Local, or Object.
ReferenceObject Specifies the reference object, if Reference is set to Object.
Signals Description
Execute Set to True to start move the object, and False to stop.
Rotator
The Rotator rotates the object referenced in the Object property with an angular
speed given by the Speed property. The axis of rotation is given by CenterPoint
and Axis. The motion starts when the Execute input signal is set and stops when
the Execute is reset.
Properties Description
Object Specifies the object to rotate.
CenterPoint Specifies the point to rotate around.
Axis Specifies the axis of the rotation.
Speed Specifies the speed of the rotation.
Reference Specifies the coordinate system in which values are specified.
It can be Global, Local, or Object.
ReferenceObject Specifies the object which are relative to CenterPoint and Axis,
if Reference is set to Object.
Signals Description
Execute Set to True to start rotating the object, and False to stop.
Positioner
The Positioner takes an Object, Position, and Orientation as properties. When the
Execute signal is set the object is repositioned in the given position relative to the
Reference. When finished the Executed output is set.
Properties Description
Object Specifies the object to position.
Position Specifies the new position of the object.
Orientation Specifies the new orientation of the object.
Reference Specifies the coordinate system in which values are specified.
It can be Global, Local, or Object.
ReferenceObject Specifies the object which are relative to Position and Orienta-
tion, if Reference is set to Object.
Signals Description
Execute Set to True to start move the object, and False to stop.
Executed Set to 1 when operation is completed.
PoseMover
The PoseMover has a Mechanism, a Pose, and Duration as properties. When the
Execute input signal is set the mechanism joint values are moved to the given
pose. When the pose is reached the Executed output signal is set.
Properties Description
Mechanism Specifies the mechanism to move to a pose.
Pose Specifies the Index of the pose to move to.
Duration Specifies the time for the mechanism to move to the pose.
Signals Description
Execute Set to True, to start or resume moving the mechanism.
Pause Pauses the movement.
Cancel Cancels the movement.
Executed Pulses high when the mechanism has reached the pose.
Executing Goes high during the movement.
Paused Goes high when paused.
JointMover
The JointMover has a Mechanism, a set of Joint Values and a Duration as
properties. When the Execute input signal is set the mechanism joint values are
moved to the given pose. When the pose is reached the Executed output signal is
set. The GetCurrent signal retrieves the current joint values of the mechanism.
Properties Description
Mechanism Specifies the mechanism to move to a pose.
Relative Specifies if J1-Jx are relative to the start values, rather than
absolute joint values.
Duration Specifies the time for the mechanism to move to the pose.
Properties Description
J1 - Jx Joint values.
Signals Description
GetCurrent Retrieve current joint values.
Execute Set to True to start moving the mechanism.
Pause Pauses the movement
Cancel Cancels the movement
Executed Pulses high when the mechanism has reached the pose.
Executing Goes high during the movement.
Paused Goes high when paused.
Other
GetParent
The GetParent returns the parent object of the input object. The executed signal
is triggered if a parent is found.
Properties Description
Child Specifies the object to whose parent is to be found.
Parent Specifies the parent of the child
Signals Description
Output Goes high (1) if the parent exists.
Note
The Child list for Properties:GetParent does not show every part or object in
the station. However, if you do not find the required part or object in the list, then
add it from the browser or graphic window by clicking it.
GraphicSwitch
Switches between two parts, either by clicking on the visible part in the graphics
or by setting and resetting the input signal.
Properties Description
PartHigh Displayed when the signal is high.
PartLow Displayed when the signal is low.
Signals Description
Input Input signal.
Output Output signal.
Highlighter
The Highlighter temporarily sets the color of the Object to the RGB-values specified
in Color. The color is blended with the original color of the objects as defined by
Opacity When the signal Active is reset, Object gets its original colors.
Properties Description
Object Specifies the object to highlight.
Color Specifies the RGB-values of the highlight color.
Opacity Specifies the amount to blend with the object's original color
(0-255).
Signals Description
Active True sets the hightlight. False restores the original color.
Logger
Prints a message in the output window.
Properties Description
Format Format string.
Supports variables like {id:type}, where type can be d (double),
i (int), s (string), o (object)
Message Formatted message.
Severity Message severity: 0 (Information), 1 (Warning), 2 (Error).
Signals Description
Execute Set to high (1) to print the message.
MoveToViewPoint
Moves to the selected viewpoint in the given time, when the input signal Execute
is set. The output signal Executed is set when the operation is completed.
Properties Description
Viewpoint Specifies the viewpoint to move to.
Time Specifies the time to complete the operation.
Signals Description
Execute Set to high (1) to start the operation.
Executed Goes high (1) when the operation is completed.
ObjectComparer
Determines if ObjectA is the same as ObjectB.
Properties Description
ObjectA Specifies the object to compare.
ObjectB Specifies the object to compare.
Signals Description
Output Goes high if the objects are equal.
Queue
The Queue represents a FIFO (first in, first out) queue. The object in Back is added
to the queue when the signal Enqueue is set. The front object of the queue is shown
in Front. The object in Front is removed from the queue when the signal Dequeue
is set. If there are more objects in the queue, the next object is shown in Front. All
objects in the queue are removed from the queue when the signal Clear is set.
If a transformer component (such as LinearMover) has a queue component as its
Object, it will transform the contents of the queue, rather than the queue itself.
Properties Description
Back Specifies the object to enqueue.
Front Specifies the first object in queue.
Queue Contains unique IDs of the queues elements.
NumberOfObjects Specifies the number of objects in the queue.
Signals Description
Enqueue Adds the object in Back to the end of the queue.
Dequeue Removes the object in Front from the queue.
Clear Removes all objects from the queue.
Delete Removes the object in Front from the queue and from the sta-
tion.
DeleteAll Clears the queue and removes all objects from the station
SoundPlayer
Plays the sound specified by Sound Asset when the input signal Execute is set.
The asset must be a .wav file
Properties Description
SoundAsset Specifies the sound file that should be played. Must be a .wav
file.
Signals Description
Execute Set to high to play the sound.
StopSimulation
Stop a running simulation when the input signal Execute is set.
Signals Description
Execute Set to high to stop the simulation.
Random
Random generates a random number between Min and Max in Value when Execute
is triggered.
Properties Description
Min Specifies minimum value.
Max Specifies maximum value.
Value Specifies a random number between Min and Max.
Signals Description
Execute Set to high to generate a new random number.
Executed Goes high when the operation is completed.
Overview
The Property editor is used to modify the values of dynamic properties and I/O
signals for a Smart Component. By default, the Property editor is displayed as a
tool window to the left.
Each dynamic property is represented by a control. The type of control that is
displayed depends on the property type and property attributes.
Properties with the Hidden flag set to true are not displayed. Read-only properties
cannot be modified but are only displayed.
The values are validated according to the property attributes. If an invalid value is
entered, an error icon is displayed next to the control and the Apply button is
disabled.
If you set the AutoApply attribute of a property to true, the value is applied
whenever you change the value in the control. You can apply the values of other
properties by clicking the Apply button. If the component has no properties without
AutoApply, then the Apply button will never be enabled.
You can toggle the value of a digital signal by clicking the control. Similarly, you
can change the value of an analog or group signal by entering the new value in
the text box.
Overview
The Simulation Watch allows you to monitor the values of dynamic properties and
I/O signals in Smart Components. It specifies the simulation that should be paused
when a value changes or meets a condition.
Note
As a prerequisite, you should add smart component, its properties and signals.
For more information, see Smart Component Editor on page 285.
1 In the Simulation Watch window, right-click and select Add to display the
Add submenu.
The Add submenu displays a recursive view of all the smart components,
their properties and signals. The top level submenu displays the station
signals.
Note
Watch items that are already watched are not displayed in the recursive
view.
2 From the Add submenu, select property or signal to add a single property
or signal of a component.
3 From the Add submenu, select Add all to add all the properties and signals
of a component.
4 In the Simulation Watch window, right-click on the row of the watch item
and select Delete to delete one or more watch items.
Note
The Watch items are saved in the station and are restored when the station
is opened.
Setting Breakpoints
You can set the breakpoint in one of the following ways:
1 To set the simulation breakpoint, select the check box next to a watch item.
Note
2 In the Simulation Watch window, right-click on the row of the watch item
and select Break Condition.
The Break Condition dialog box appears.
Set the simulation to paused, when the value meets a certain logical
condition. The condition can be viewed in the Break column of the
Watch window.
When a breakpoint is reached, the simulation is paused which is
indicated by both the Play and Stop buttons being enabled.
If the Simulation Watch window is hidden behind the other windows,
it is brought to the front and the text of the corresponding watch item
turns red.
Note
9.5 Tags
Overview
For a complex RobotStudio station containing many robots, parts, paths, targets
and other objects the browser and the 3D graphics view becomes cluttered. Tags
function helps the user to identify objects in the cluttered 3D graphics view and in
the browser during station modeling and offline programming.
Using tags function, you can group objects in a defined structure by labeling them.
It is possible to hide or show these tags independent of the other tags. A hidden
tagged object is invisible in the browser and in the 3D graphics window unless it
is labeled by a currently visible tag.
Tip
For easy and quick access of Tags function, add it to the Quick Access Toolbar
using the customize Commands.
Tag Visibility
When a tag is invisible/ unchecked, the corresponding tagged object will be hidden
in the 3D graphicas view and in the browsers (layout, path and targets, modeling).
If an object is labeled by several tags, the object will be visible when at least one
of the tags is set visible. Untagged objects are always visible.
Note
The regular visible property remains and overrides the tag visibility. If regular
visible property is unchecked for an object, the object will be hidden in the 3D
graphics view but it is visible in the browser. For a tagged object, when the
visibility is unchecked, the object will be hidden in the 3D graphics view and in
the browser.
Overview
In 3D view, you can select an object by drawing a selection rectangle using a mouse
cursor.
9.7 Solid
Creating a solid
1 Click Solid and then click the type of solid you want to create to bring up a
dialog box.
2 Enter requested values in the dialog box and click Create. For detailed
information about the specific dialog box for the curve to create, see below:
C
B
A
xx060000
xx060001
Corner Point (A) This point will be the local origin of the box.
Either type the position, or click in one of the boxes and then
select the point in the graphics window.
Point on diagonal of XY- This point is the the corner, diagonal to the local origin. It sets
plane (B)es the X and Y directions of the local coordinate system, as well
as the dimension of the box along these axes.
Either type the position, or click in one of the boxes and then
select the point in the graphics window.
Indication Point Z-axis (C) This point is the corner above the local origin, It sets the Z
direction of the local coordinate system, as well as the dimen-
sion of the box along the Z axis.
Either type the position, or click in one of the boxes and then
select the point in the graphics window.
B
A
xx060002
B
A
xx060003
B
A
xx060004
B
A
xx060005
9.8 Surface
Creating a surface
1 Click Surface and then click the type of solid you want to create to bring up
a dialog box.
2 Enter requested values in the dialog box and click Create. For detailed
information about the specific dialog box for the curve to create, see below:
B
A
xx060006
A
B
xx060007
B
A
xx060008
Select Curve from graph- Select a curve by clicking it in the graphics window.
ics
9.9 Curve
Creating a curve
1 Click Curve and then click the curve you want to create to bring up a dialog
box.
2 Enter requested values in the dialog box and click Create. For detailed
information about the specific dialog box for the curve to create, see below:
xx050034
xx050035
xx050036
xx050037
xx050038
xx050039
xx050040
xx050041
xx050042
xx050043
9.10 Border
Creating a curve
1 Click Border and then click the border you want to create to bring up a dialog
box.
2 Enter requested values in the dialog box and click Create. For detailed
information about the specific dialog box for the border to create, see below:
xx050044
First Body Click in this box and then select the first body in the graphics
window.
Second Body Click in this box and then select the second body in the
graphics window.
xx050045
Select Surface Click in this box and then select a surface in the graphics win-
dow.
en050000
Selected Object Click in this box and then select an object in the graphics win-
dow.
Point Coordinates Specify the points that define the border here, one at a time,
by either typing the values, or by clicking in one of these boxes,
and then selecting the point in the graphics window to transfer
its coordinates.
Add Click this button to add a point and its coordinates to the list.
Modify Click this button to modify an already defined point, after you
have selected it in the list and entered new values.
List The points that define the borders. To add more points, click
Add New, click the desired point in the graphics window, and
then click Add.
9.11 Intersect
A B
xx060009
Keep Original Select this check box to keep the original bodies when creating
the new body.
Intersect... (A) Select the body from which you want to make an intersection
(A) by clicking it in the graphics window.
...and (B) Select the body with which you want to make an intersection
(B) by clicking it in the graphics window.
A new body will be created based on the common area between
the selected bodies A and B.
9.12 Subtract
A B
xx060010
Keep Original Select this check box to keep the original bodies when creating
the new body.
Subtract... (A) Select the body from which you want to subtract (A) by clicking
it in the graphics window.
...with (B) Select the body you want to subtract (B) by clicking it in the
graphics window.
A new body will be created based on the area of body A sub-
tracted with the common volume between body A and B.
9.13 Union
A B
xx060011
Keep Original Select this check box to keep the original bodies when creating
the new body.
Union... (A) Select the body that you want to unify (A) by clicking it in the
graphics window.
...and (B) Select the body that you want to unify (B) by clicking it in the
graphics window.
A new body will be created based on the areas of the two se-
lected bodies A and B.
xx0600003076
To select the curve, first click the box, then the curve in the
graphics window.
Make Solid Select this check box to convert the extruded form into a solid.
Tip
Make sure to select the appropriate snap mode and selection levels before
making your measurements.
The mouse pointer will turn into a ruler when you have activated any of the
measurement functions.
2 In the graphics window, select the points or objects to measure between.
Information about the measuring points is displayed in the Output window.
The results will be displayed in the Measurements tab in the Output window
when all points have been selected.
3 Optionally, repeat step 3 for making a new measurement of the same type.
Tip
You can also activate and deactivate the measurement functions from the
measurement toolbar.
Note
6 Select a part in the Parts list box, enter any values in the Selected Parts
group boxes, and then click Apply to Part.
Repeat for each part, as required.
7 Click OK.
8 In the tree structure, right-click Joints, and then click Add Joint to bring up
the Create Joint dialog box.
A suggested name appears in the Joint Name box.
9 Complete the Create Joint dialog box, and then click OK.
10 In the tree structure, right-click Frame/Tool Data, and then click Add
Frame/Tool to bring up the Create Frame/Tool dialog box.
A suggested name appears in the Frame/Tool Data name box.
11 Complete the Create Frame/Tool dialog box, and then click OK.
The validity criteria for the Frame/Tool node are as follows:
12 In the tree structure, right-click Calibration, and then click Add Calibration
to bring up the Create Calibration dialog box.
13 Complete the Create Calibration dialog box, and then click OK.
14 In the tree structure, right-click Dependency, and then click Add Dependency
to bring up the Create Dependency dialog box.
15 Complete the Create Dependency dialog box, and then click OK.
16 If all nodes are valid, compile the mechanism, see Compiling a mechanism
on page 339.
Create Conveyor
1 Click Create Conveyor. The Create Conveyor browser opens.
Note
5 In the Conveyor length box, enter the length of the conveyor. The Create
Mechanism gets enabled.
6 Click Create to create the conveyor.
7 Build a new system using Building a new system on page 185.
In the System Options pane, scroll down to Motion Coordination and then
select 606-1 Conveyor Tracking under Conveyor Control Options.
8 Create a new station using this new system.
Compiling a mechanism
When compiling, a new mechanism, created in the create mode of the Mechanism
Modeler, is added to the station with the default name "Mechanism_" followed by
an index number.
xx060000
Remove Part Click this button to remove a selected part from the Part list
box.
Selected Part This group manipulates the transform of the selected part.
Part Position Specify the position of the part.
Part Orientation Specify the orientation of the part.
Apply to Part Click this button to apply the settings to the part.
Limit Type Specifies the limits in each direction to which a joint may move.
The options are Constant, Variable and No.
Joint Limits This group is visible in Constant or Variable mode.
Min Limit Specifies the minimum joint limit.
Max Limit Specifies the maximum joint limit.
Joint Limits This group is visible in Constant or Variable mode.
Variable Limits In Variable mode, variable limit points may be added as an
advanced way of delimiting the area of movement.
xx060012
left-cli
Remove Click this button to remove a selected point from the Point list
box.
Note
The mechanism must be compiled before testing Four Bar joint. If you must
change the mechanism, use the Modify Mechanism command to re-open the
Mechanism Modeler of the corresponding mechanism.
Set Transition Times Click this button to edit the transition times.
Pose Name Specifies the name of the pose. If the pose is a SyncPose, this
box is not editable.
The names "HomePosition" and "SyncPosition" are disallowed.
Home Pose Select this box to specify the home pose of the mechanism. If
selected, the non-editable pose name will be "HomePose".
Launch Joint Jog Tool Click this button to bring up the joint jog tool.
Use Current Click this button to set the current joint values in the Joint
Values group.
Reset Values Click this button to reset the joint values in the Joint Values
group to what they were when the dialog box was opened.
Joint Values Specify the joint values of the pose.
Creating a tool
You can create a robot hold tool by using the Create Tool Wizard. The wizard
allows you to easily create a tool from an existing part or by using a dummy part
to represent a tool. To create a tool complete with tooldata, follow these steps:
1 Click Create Tool.
2 In the Tool Name box, enter a tool name and choose one of the following
options:
Option Action
Use Existing Select one of the existing parts from the list. The selected
part will represent the tool graphics.
The selected part must be a single part. Parts with attach-
ments cannot be selected.
Use Dummy A cone will be created to represent the tool.
3 Continue entering the Mass of the tool, the Center of Gravity and the Moment
of Inertia Ix, Iy, Iz, if these values are known.
Note
If you do not know the correct values, the tool can still be used for
programming motions, but this data must be corrected before running the
program on real robots or measuring cycle times.
Tip
If the tool is built from materials with a similar density, you can find the
center of gravity by clicking the tool model using the Center of gravity
snap mode.
4 Click Next.
5 In the TCP Name box, enter a name for the Tool Center Point (TCP).
Note
The default name is the same as the name of the tool. If creating several
TCPs for one tool, each TCP must have a unique name.
6 Enter the position of the TCP relative to the world coordinate system, which
represents the tool mounting point, by any of the methods below:
Method Description
Read values from exist- Click in the Values from Target/Frame box, then select
ing target or frame the frame either in the graphics window or the
Paths&Targets browser.
Method Description
Enter position and orient- In the Position and Orientation boxes, type the values.
ation manually. If Use Dummy Part is selected, the position value can not
be 0,0,0. At least one coordinate has to be > 0 in order for
a cone to be created.
7 Click the arrow right button to transfer the values to the TCP(s): box.
If the tool shall have several TCPs, repeat steps 5 to 7 for each TCP.
8 Click Done.
The tool is created and appears in the Layout browser and in the graphics
window.
What to do next
To make the tool ready to use, do one of the following:
To make the robot hold the tool, attach the tool to the robot.
In the graphics window, check the position and orientation of the TCP. If it
is incorrect, modify the values in the tool frame part of the tooldata.
To simplify future usage of the created tool, save it as a library. On the File
menu, click Save As Library. Browse to the folder where you want to store
the tool component, enter a name for the tool component and click Save.
Overview
Use the Physics feature to include physics simulation together with the traditional
robot simulation/programming tools. When you apply physics behavior to various
RobotStudio objects like, joints, cable, parts and so on, they will follow the rules
of physics during simulation.
Note
Creating a cable
1 In the Modelling tab, in the Create group, click Cable to create a cable, the
Create Cable pane opens, set cable properties like length, radius, material
and so on here.
You can also create a cable from the Physics contextual tab.
2 Click to add the start and end points of the cable in the station/robot.
3 Select a point on the cable, and drag it to add control point. You can also set
the control point in the Create Cable pane. The control point can be any Free
Point or an Attached Point. You can attach the cable to any objects using
the Attached to list box in the Create Cable pane.
4 Click Create to the new cable gets displayed in the Layout browser.
10 Simulation tab
10.1 Overview
Overview
A collision set contains two groups, Objects A and Objects B, in which you place
the objects to detect any collisions between them. When any object in Objects A
collides with any object in Objects B, the collision is displayed in the graphical view
and logged in the output window. You can have several collision sets in the station,
but each collision set can only contain two groups.
Tip
Overview
The Simulation Setup dialog box is used to perform the following two main tasks.
Setting up the sequence and entry point in the robot program
Creating simulation scenarios for different simulated objects
Prerequisites
To set up a simulation, the following conditions must be met:
At least one path must have been created in the station.
The paths to be simulated must have been synchronized to the virtual
controller.
Setting up a simulation
1 Click Simulation Setup to bring up the Setup Simulation pane.
2 Select the tasks to be active during simulation in the Select Active Tasks
box.
3 Select the run mode as either Continuous or Single Cycle.
4 From the Simulated Objects list select the task.
Creating an event
1 Click Event Manager.
2 Click Add to open the New Event Wizard.
3 Complete the New Event wizard to create the event.
eventman
Part Description
1 The Task pane.
Here you create new events, or copy or delete existing events selected in
the Event grid.
2 The Event grid.
Displays all events in the station. Here you select events to edit, copy or de-
lete.
3 The Trigger editor.
Here you edit the properties of the events trigger. The upper part of the trigger
editor is the same for all triggers, and the lower part adapts to the selected
trigger type.
4 The Action editor.
Here you edit the properties of the events action. The upper part of the action
editor is the same for all actions, and the lower part adapts to the selected
action type.
Part Description
Add Starts the Create New Event Wizard.
Delete Deletes the event selected in the Event grid.
Copy Copies the event selected in the Event grid.
Refresh Refreshes the Event manager.
Export
Import
Note
Column Description
Action Type Displays the action type that occurs in conjunction with the
trigger
I/O Signal Action: Changes the value of a digital input
or output signal.
Attach Object: Attaches an object to another.
Detach Object: Detaches an object from another.
Turn On/Off Simulation Monitor: Toggles the simulation
monitor of a specific mechanism.
Turn On/Off Timer: Toggles the process timer.
Move Mechanism to Pose: Moves the selected mechan-
ism to a predefined pose and thereafter sends a station
signal. Activates or deactivates the process timer.
Move Graphical Object: Moves a graphical object to a
new position and orientation.
Show/Hide Graphical Object: Shows or hides the
graphical object.
Do Nothing: No action occurs.
Multiple: The event triggers multiple actions, either all
at once or one at a time, each time the trigger is activ-
ated. Each action can be viewed in the action editor.
Action System When the action type is Change I/O, this column displays the
system to which the signal to change belongs.
A dash (-) signifies a virtual signal.
Action Name Displays the name of the signal to change, when the action
type is Change I/O.
Action Parameter Displays the condition after the action has occurred.
0: The I/O signal will be set to false.
1: The I/O signal will be set to true.
On: Turns the process timer on.
Off: Turns the process timer off.
Object1 -> Object2: Displays the object to which another
will be attached when the action type is Attach object.
Object1 <- Object2: Displays the object from which an-
other will be detached when the action type is Detach
object.
Ended: A collision ends within the collision set used as
trigger.
Near miss started: A near-miss starts within the collision
set used as trigger.
Near miss ended: A near-miss ends within the collision
set used as trigger.
Multiple: Signifies multiple actions.
Time Displays the time when the event trigger was executed.
Part Description
Activation Sets whether the event is active or not.
On: The action is always carried out when the trigger
event occurs.
Off: The action is not carried out when the trigger event
occurs.
Simulation = The action is only carried out if the trigger
event occurs when running a simulation.
Comments Text box for comments and notes about the event.
Part Description
Active Controller Select the system to which the I/O to use as a trigger belongs.
Signals Displays all signals that can be used as triggers.
Trigger Condition For digital signals, sets whether the event shall trigger when
the signals are set as true or false.
For analog signals, which are only available for station signals,
the event shall trigger under any of the following conditions:
Greater than, Greater/Equal, Less than, Less/Equal, Equal
to, Not equal to.
Part Description
Add Opens a dialog box for adding an activator signal to the Activ-
ator Signals pane.
Remove Removes a selected activator signal.
Add > Opens a dialog box for adding an operator symbol to the Con-
nections pane.
Remove Removes a selected operator symbol.
Delay (s) Specifies the delay in seconds.
Part Description
Collision Type Set the kind of collision to use as trigger.
Started: Triggers when a collision starts.
Ended: Triggers when a collision ends.
Near miss started: Triggers when a near-miss starts.
Near miss ended: Triggers when a near-miss ends.
Collision set Select the collision set to use as trigger.
Part Description
Add Action Adds a new action that occurs when the triggering condition
fulfills. You can add several different actions that either are
performed at once or one at a time each time the event triggers.
The following types of actions are available:
Change I/O: Changes the value of a digital input or out-
put signal.
Attach object: Attaches an object to another.
Detach objeect: Detaches and object from another.
Turn On/Off Timer: Activates or deactivates the process
timer.
Do Nothing: No action occurs (might be useful for ma-
nipulating sequences of actions).
Remove Action Removes the action selected in the Added Actions list.
Cyclic When selected, the actions are performed one at a time each
time the trigger occurs. When all actions in the list have been
performed, the event will restart with the first action in the list.
When cleared, all actions are performed at once every time the
trigger occurs.
Added Actions Lists all actions of the event, in the order they will be executed.
Arrow Rearranges the order in which the actions are executed.
Part Description
Active Controller Displays all systems of the station. Select the system to which
the I/O to change belongs.
Signals Displays all signals that can be set.
Action Sets whether the event shall set the signals to true or false.
If the action is connected to an I/O Connection, this group will
not be available.
Part Description
Attach object Select an object in the station to attach.
Attach to Select the object in the station to attach to.
Update position / Keep Update position = Moves the local origin of the attached
position object to the attachment point of the other object when
making the attachment. For mechanisms, the attachment
point is the TCP or the flange; for other objects, it is the
local origin.
Keep position = Keeps the current position of the object
to attach when making the attachment.
Flange index If the mechanism you attach the object to has several flanges
(attachments points), select the one to use.
Part Description
Offset Position Optionally, specify an offset between the objects when making
the attachment
Offset Orientation Optionally, specify an offset between the objects when making
the attachment
Part Description
Detach object Select an object in the station to detach.
Detach from Select the object in the station to detach from.
Part Description
Mechanism Selects the mechanism.
Turn Simulation Monitor Sets whether the action shall start or stop the simulation
On/Off monitor function.
Part Description
Turn On/Off Timer Sets whether the action shall start or stop the process timer.
Part Description
Mechanism Selects the mechanism.
Pose Selects between SyncPose and HomePose.
Station signal to set when Lists the station signals that are sent after the mechanism
Pose reached reaches its pose.
Add Digital Click this button to add a digital signal to the grid.
Remove Click this button to remove a digital signal from the grid.
Part Description
Graphical Object to Move Select a graphical object in the station to move.
New Position Sets the new position of the object.
New Orientation Sets the new orientation of the object.
Part Description
Graphical Object Select a graphical object in the station.
Show/Hide Sets whether the object is shown or hidden.
Running a simulation
1 In the Simulation Control group,
Click... to...
Play/Resume start and resume the simulation.
The Pause button is enabled once you start the
simulation
The Play button is changed to Resume once you
pause the simulation.
Click Resume to resume the simulation.
Play and select Record start the simulation and to record it to a Station Viewer.
to Viewer The Save As dialog box appears where the simulation is
saved.
Pause/Step pause and step the simulation.
The Pause button is changed to Step once you start
the simulation.
Click Step to run the simulation in steps.
You can set the simulation timestep. See Options:Simula-
tion:Clock on page 223.
Reset reset the simulation to its initial state. See Resetting sim-
ulation on page 361.
Note
When running a simulation in time slice mode, all breakpoints set in the
RAPID editor windows will be deactivated temporarily.
Note
During the simulation play, if a user does not want more objecs to be added
to the conveyor, in Layout browser, expand the conveyor node, then
right-click the object source and clear the Enabled option.
Resetting simulation
1 In the Simulation Control group, click Reset to reset the simulation.
2 Click Reset and select Save Current state to store states of objects and VCs
to be used in a simulation scenario. For more information, see Save Current
State on page 287.
3 Click Reset and select Manage states to launch Station Logic. For more
information, see Station Logic on page 359.
io_overv
Part Description
1 Select System. Select the system whose signals you want to view.
2 Filter type. Select the type of filter to use.
Part Description
3 Filter Specification. Select the filter for limiting the signal display. For ex-
ample, if Board is set as filter type, then you select the board whose signals
you want to view.
4 Inputs. Displays all input signals that pass the applied filter.
If more than 16 signals pass, only 16 signals at a time are displayed. Then
use the I/O range list to select the signals to view.
5 Outputs Displays all output signals that pass the applied filter. If more than
16 signals pass, only 16 signals at a time are displayed. Then use the I/O
range list to select the signals to view.
6 Edit Lists. Click this button to create or edit lists of favorite signals.
7 I/O Range. When more than 16 signals pass the filter, use this list to select
the range of signals to display.
Filter Description
Board Displays all signals on a specific board. To select a board, use
the Filter Specification list.
Group Displays all signals that belong to a specific group. To select
a group, use the Filter Specification list.
User List Displays all signals in a favorite list. To select a list, use the
Filter Specification list.
Digital Inputs Displays all digital input signals of the system.
Digital Outputs Displays all digital output signals of the system.
Analog Inputs Displays all analog input signals of the system.
Analog Outputs Displays all analog output signals of the system.
Signal icons
value 1
value zero
The cross in the upper right corner indicates that the signals
are a cross-connection.
cross connec
The -1 in the upper right corner indicates that the signal is in-
verted.
inverted
value box
10.9 Monitor
Enable TCP Trace Select this check box to activate tracing of the TCP path for
the selected robot.
Follow moving Workob- Select this check box to activate tracing of moving workobject.
jects
Clear trace at simulation Select this check box to remove the current trace when simu-
start lation starts.
Primary color You can set the color of the trace here.
Color by signal Select this check box to assign a particular color to the TCP
path of the selected signal.
Use color scale Select this button to define how the trace shall be colored. As
the signal changes between the values defined in the From
and To boxes, the color of the trace also varies according to
the color scale.
Use secondary color You can assign a color to the trace which gets displayed when
the signal value meets the specified conditions.
Show events Select this check box to view events along the trace.
Clear TCP traces Click this button to remove the current trace from the graphics
window.
Enable Simulation Alerts Select this check box to activate simulation alerts for the selec-
ted robot.
Log Alerts to Output Win- Select this check box to see a warning message when a
dow threshold value is exceeded. If TCP trace is not enabled, this
is the only display of the alert.
TCP Speed Specify the threshold value for TCP speed alerts.
TCP Acceleration Specify the threshold value for TCP acceleration alerts.
Wrist Singularity Specify how close joint five can be to zero rotation before
alerting.
Joint Limits Specify how close each joint can be to its limits before alerting.
10.10 Stopwatch
Setting up a Stopwatch
1 On the Simulation tab, in the Monitor group, click Stopwatch.
The Stopwatch settings dialog appears.
2 Specify a Name for the stopwatch.
3 Select a Start Trigger and an End Trigger for the stopwatch.
The following parameters are listed for selection as triggers:
Simulation Start
Simulation Stop
Target Changed
Additionally, specify the mechanical Unit and the target.
I/O Value
Additionally, specify the source mechanical unit from where the signal
comes, the type of I/O signal and the value of the signal.
4 Click Add.
The Signal Analyzer functionality helps in displaying and analyzing signals from
a robot controller. Using the Signal Analyzer, you can optimize the robot program.
The Signal Analyzer functionality is present for both virtual and real controllers.
The version adapted for real controllers is called Signal Analyzer Online. The
following section describes the Signal Analyzer functionality for virtual controllers,
though it includes certain common features.
Overview
This feature allows you to configure the signals to be saved for the next simulation.
The signals are recorded from the controller information stream and are stored in
the station.
Refresh
The Signal Setup window, by default, will be updated automatically, if a signal is
added or removed. However, in some cases, a manual refresh may be needed.
In the Signal Setup window, click Refresh to ensure all signals are displayed in
the window.
Available signals
The following tables show the signals that are available for setting up. You can
subscribe to a maximum of 12 signals simultaneously.
Category Available signals
Controller Signals Total Motor Power. See the description
provided after this table.
Total Power Consumption. See the descrip-
tion provided after this table.
EventLog All domains
I/O System All signals
Joint J1-J6
Near Limit. See the description provided after
this table.
Note
Total Motor Power signal represents the power consumed by the mechanical
robot arm and not the power that is fed into the controller cabinet from the power
network. The power used by the controller cabinet is excluded.
Purpose of signals
The purpose of the Total Motor Power and Total Motor Energy signals is to provide
an estimate of the power and energy used by the robots. For virtual robots, these
signals can be used to identify peaks in the power usage to enable the robot
programmer to adjust the robot program with the aim to reduce the power
consumption. For real robots, the signals can be used to compare the power usage
of different robot individuals running the same robot program, to see if any robot
differs significantly from the others. Any such deviation may indicate that the robot
needs maintenance.
Near Limit
Near Limit checks the distance to the closest limit for each joint. If any joint is less
than 20 degrees from a limit, the Near Limit signal will show the current value.
Otherwise, the value of the signal will be constant at 20 degrees. If more than one
joint is below 20 degrees from a limit, then the one that is closest will be looked
at.
Note
Disabling the station database will stop the recording but stores the
configuration and all completed recordings in the station.
Note
You can analyze the recorded signals. See Layout and usage on
page 371.
You can organize the saved signal data. See History on page 374.
Disable signal recording as soon as the analysis is completed to avoid
the station file size to increase.
Note
en1100000034
Toolbar
The toolbar displays the following options:
Option Description
Drop-down list For selecting the signal recording to be displayed. These sig-
nals are also available in Signal History. See History on
page 374.
Timer slider For moving the time forward and backward.
Zoom in/out buttons For zooming in / out the time axis.
Live data button For enabling data to be shown live, that is, as recorded during
a simulation.
Crosshair For displaying the crosshairs following the mouse.
Auto scale button For enabling / disabling vertical axis autoscaling.
Line marker button For displaying the line markers for each sample in the analog
/ numeric graph.
Save button For exporting the data to a file.
The data can be saved in Microsoft Excel 2007 format and tab
delimited text format.
Events
It displays one row per selected event category. Each event is indicated with a
diamond shaped icon. Click this icon to display a popup with more information
about the event.
Signals table
Displays information about each recorded signal. This enables you to configure
settings for each signal such as color, visibility, whether to use left or right vertical
axis and so on.
Note
If the station does not contain any saved signal data, you will then
have to setup the signals to analyze and record by running a
simulation. See Signal Setup on page 367.
You can organize the saved signal data. See History on page 374.
The sample interval of the Signal Analyzer is 24 ms, hence signal
changes within this interval will not be captured.
10.11.4 History
Overview
This feature displays and helps in organizing saved signal recordings of the current
RobotStudio station.
Note
Note
Note
Disable signal recording as soon as the analysis is completed to avoid the station
file size to increase.
Prerequisites
For optimal results, first configure the options, see Options:General:Screen
Recorder on page 219.
Note
Record Simulation gives better output quality than Record application or Record
graphics.
Overview
Conveyor tracking is the function where the robot follows a workobject mounted
on a moving conveyor. This section describes how to create a conveyor, add and
remove objects to and from the conveyor, create targets during tracking, and
simulate conveyor.
RobotStudio does not support tracking of circular conveyors. Only linear conveyors
are supported. For more information, see the Application manual - Conveyor
tracking.
Note
If an error occurs while executing the program, the controller reaches Guard
state. In this state, RobotStudio cannot execute the program during the
next simulation. To recover from this state, open the Control Panel and
switch to Manual Mode and then to Auto Mode.
For more information, see Application manual - Conveyor tracking.
Note
The conveyor speed and direction can be changed while running the simulation.
To jump the conveyor back to the start position, click Reset. This button remains
enabled as long as the station has at least one conveyor.
11 Controller tab
11.1 Real and virtual controllers
Overview
The Controller tab contains the controls for managing the real controller and also
the controls for synchronization, configuration and tasks assigned to the virtual
controller.
RobotStudio allows you to work with an off-line controller, which is a virtual IRC5
controller running locally on your PC. This offline controller is also referred to as
the virtual controller (VC). RobotStudio also allows you to work with the real physical
IRC5 controller, which is simply referred to as the real controller.
The features on the Controller tab can be categorized as follows:
Features for both virtual and real controllers
Features for real controllers
Features for virtual controllers
For more information on working with a real controller, see Working online on
page 155.
Note
For connecting RobotStudio to a real controller over the Ethernet (LAN), the
controller system must have the RobotWare option PC-interface. This option is
not required when connecting through the service port.
To start and connect to a virtual controller, on the Controller tab click the arrow
next to the Add Controller icon, and then click Start Virtual Controller.
Add Controller
1 In the Controller tab, click Add Controller to bring up a dialog box in which
all available controllers are listed.
2 If the controller is not found in the list, type its IP address in the IP Address
box, and then click Refresh.
3 Select the controller in the list and click OK.
Tip
You can use the Start Virtual Controller command when you require a virtual
controller as emulator while developing PC SDK or RobotWare add-ins. You can
also use this command when you need to use the Configuration editor or the
RAPID editor without requiring a station.
Clicking Start Virtual Controller under Add Controller opens the Start Virtual
Controller dialog box. In this dialog box, specify the following:
1 In the System Pool drop-down list specify the location and folder of your PC
where the required virtual controller systems are stored.
To add a folder to this list, click Add and then browse to and select the folder
to be added. To remove a folder from the list, click Remove.
2 The Systems Found table lists the virtual controller systems found in the
selected system folder. Click a system to select it for starting.
3 Select the required check boxes:
Reset system, to start the VC with the current system and the default
settings
Local login
Handle Write Access automatically
Note
A virtual controller system that has been modified using the Modify System
function of the System Builder must be restarted with the Reset System
option for the changes to take effect.
Note
Limitations
In low bandwidth mode;
the signal analyzer gets disabled.
system requires manual refresh to update the I/O Viewer, RAPID Watch
window, RAPID Program Pointer, Online Monitor and FlexPendant Viewer
in RobotStudio with the current controller status, hence manual buttons are
added to initiate the refresh.
semantic check in the RAPID editor will be restricted.
11.2.2 Events
Overview
You can view events in the Event log. The severity of each event is indicated by
its background color; blue for information, yellow for warning and red for an error
which needs to be corrected to proceed.
On the Controller tab in the Controller Tools group, click Events to view the Event
log.
Event log
You can perform the following operations on the Event log.
Available opera- Descriptions
tions
View Click any event to see a brief description about the event.
Automatic update The Auto Update check box is selected by default, so that new events
appear in the list as they occur.
Clear the check box to disable automatic update. Selecting it again,
fetches and displays the events missed while it was cleared.
Filter You can filter the event log list based on the category of the event or
based on any text in its displayed details.
To filter the list based on any required text, specify it in the Text box.
Use the Category drop-down list to filter based on the events categories.
The event categories are: Common, Operational, System, Hardware,
Program, Motion, I/O & Communication, User, Internal, Process, Config-
uration and RAPID.
Save Click Save, to save the event records of the selected event categories
to log files on the computer.
Log to file Select the Log to file check box to enable all events currently in the
Common Event Log to be saved to a log file.
The log file will be updated with all new events as they occur.
11.2.3 Inputs/Outputs
Overview
You can view and set input and output signals in the I/O System window.
To open this window, on the Controller tab, in the Controller Tools group, click
Inputs/Outputs.
Note
For details on local I/O and its features, refer Application manual Local I/O.
Column Description
Network Shows the industrial network to which this I/O device is physically con-
nected.
Device Shows the logical representation of the real I/O device.
Device Mapping Shows the bit(s) to which the I/O signal is mapped in the I/O memory
map of the assigned I/O device.
Category Shows a free-text categorization to an I/O signal.
Label Shows the Signal Identification Label as defined in the I/O Configuration
database.
It is possible to sort signals according to the signal properties. In the I/O System
window, click the particular field to sort signals according to the field. If you press
the SHIFT key and click multiple column headers then the columns will be sorted
by the order clicked.
11.2.4 ScreenMaker
Overview
ScreenMaker is a tool in RobotStudio for creating customized FlexPendant user
interfaces without the need to learn Visual Studio development environment and
.NET programming.
For more information on ScreenMaker, see ScreenMaker tab on page 539.
Prerequisites
Note
In RobotStudio 6.0, ScreenMaker is only available for the 32-bit edition and is
therefore disabled in the 64-bit edition.
To use ScreenMaker, you need to fulfill the following requirements:
RobotStudio with Premium license.
The IRC5 controller(s) require the FlexPendant Interface option in RobotWare
to run ScreenMaker applications.
Install Microsoft .NET Compact Framework 2.0. Download it from ht-
tp://www.microsoft.com/download
Install FlexPendant SDK with the same version as the RobotWare on the
target controller. Download it from http://developercenter.robotstudio.com/
For more information on the system requirements, hardware requirements, and
the supported Operating Systems, see RobotStudio Release Notes.
Launching ScreenMaker
You can launch ScreenMaker either from the Controller tab.
1 In the Controller tab, click the arrow next to the FlexPendant icon.
2 Click ScreenMaker.
Continues on next page
386 Operating manual - RobotStudio
3HAC032104-001 Revision: U
Copyright 2008-2017 ABB. All rights reserved.
11 Controller tab
11.2.4 ScreenMaker
Continued
Note
Restart
You must restart a controller when:
You have changed the baseframe of any of the robots belonging to that
controller.
You have changed the robot's configuration, either with the Configuration
Editor or by loading new configuration files.
You have added new options or hardware to the system.
A system failure has occurred.
Reset system Restarts the VC with the current system and the default
settings.
Reset RAPID Restarts the VC with the current system and reinstalls
RAPID.
The options for Restart are also present in the context menu when you
right-click a controller in the Controller browser.
Note
The options for Restart are also present in the context menu when you
right-click a controller in the Controller browser.
Overview
When backing up a system you copy all the data needed to restore the system to
its current state:
Information about software and options installed on the system.
System's home directory and all its content.
All robot programs and modules in the system.
All configuration and calibration data of the system.
Prerequisites
To backup a system you must have:
Write access to the controller
Logged on to the controller with appropriate grants. For more information,
see User Authorization on page 162.
Creating a Backup
To create a backup, follow these steps:
1 In the Controller browser, select the system you want to backup from the
browser.
2 Right-click and select Create Backup.
The Create Backup dialog box appears.
3 Enter a new backup name and specify a location for the backup, or keep the
default ones.
You can create backup either in the system or in the controller disk using
the following options, Browse File System or Browse Controller.
To create a backup in the system, select Browse File System and then
select the destination folder.
To create a backup in the controller disk, select Browse Controller
and then select the destination folder in the controller disk.
Note
Do not select Home folder when you specify the destination folder
for backup.
4 Click OK.
The progress of the backup is displayed in the Output window.
Backup folder
When the backup is complete you will have a folder with the name of the backup
in the specified location. This folder contains a set of subfolders which together
comprise the backup.
CAUTION
If the contents of the Backup folder are changed, then it will not be possible to
restore the system from backup.
Subfolders Description
BACKINFO Contains information necessary for re-creating the system's
software and options from the mediapool.
HOME Contains a copy of the systems home directory content.
RAPID Contains one subfolder for each task in the systems program
memory. Each of these task folders contains separate folders
for program modules and system modules.
SYSPAR Contains the system's configuration files.
Note
The contents of the PIB board of a IRC5P system (a controller system for painting)
will not be included with the regular RobotStudio backup. Please use the backup
function of the FlexPaintPendant to include the PIB content.
Overview
When restoring a system from backup, the current system gets the same content
as when the backup was performed. Restoring a system replaces the following
contents in the current system with the content from the backup:
All RAPID programs and modules in the system.
All configuration and calibration data of the system.
Note
The system's home directory and all its content are copied from the backup to
the current system.
Prerequisites
To restore a system you must have:
Write access to the controller.
Logged on to the controller with appropriate grants. For more information,
see User Authorization on page 162.
Restoring a system
Note
Before proceeding, make sure that the system from the backup is compatible
with the controller you are restoring.
To restore a system, follow these steps:
1 In the Controller browser, select the system you want to restore.
2 Click Backup and select Restore Backup.
The Restore from Backup dialog box appears.
Note
Select the Include Controller Settings check box to restore the UAS
settings, time settings and IP address, and select Include Safety Settings
check box to include the safety settings.
3 In the Restore from Backup dialog box, browse to the destination folder
either in the system or in the controller disk and then select the backup to
restore the system.
4 Click OK.
The progress of the restore appears in the Output window. The controller is
automatically restarted to load the restored system.
Note
If the system from the backup does not originate from the controller you
are restoring, you get the following message about the mismatch.
en0900001061
Configuration editor
From the Configuration Editor you view and edit the system parameters of a specific
topic in a controller. The Instance Editor is a complementary editor with which you
edit the details of a type instance (a row in the Configuration Editor's instance list).
The Configuration Editor has a direct communication with the controller. This means
that changes you make are applied to the controller as soon as you complete the
command.
With the Configuration Editor, including the Instance Editor, you can:
view types, instances, and parameters
edit instances and parameters
copy and paste instances within a topic
add and delete instances
Add Signals
You must have write access to the controller to be able to open the add signal
window.
Type of Signal Defines the type of signal.
Signal Base Name Defines the name for one or more signals.
Assigned to Device Defines the device to which the signal belongs.
Signal Identification Label Optionally, offers filtering and sorting based on this category.
Number of Signals Defines the number of signals to add in a range
Start Index Defines the index (number) to start the range with.
Step Defines the number which the index should increase with.
Device Mapping Start Defines the bits in the I/O memory map of the assigned unit
to which the signal is mapped.
Category Optionally, offer filtering and sorting based on this category.
Access Level Defines the write access to I/O signals for categories of I/O
controlling clients connected to the robot controller. This
field is enabled only when Advance checkbox is selected.
Not necessarily Write access. Options are Default, ReadOnly
and All.
Default Value Specifies the I/O signal value to be used at the start.
Invert Physical Value Applies an inversion between the physical value of the signal
and its logical representation in the system.
Prerequisite
You must have write access to the controller.
4 Click Open and browse to the configuration file to load. Then click Open
again.
5 In the information box, click OK to confirm that you want to load the
parameters from the configuration file.
6 When the loading of the configuration file is finished, close the Select mode
dialog box.
If a restart of the controller is necessary for the new parameters to take effect,
you will be notified of this.
Overview
The system parameters of a configuration topic can be saved to a configuration
file, stored on the PC or any of its network drives.
The configuration files can then be loaded into a controller. They are thereby useful
as backups, or for transferring configurations from one controller to another.
File-naming conventions
The configuration files should be named with a name that relates to their
corresponding topics. When saving configuration files, the correct name for each
file will be suggested by default.
11.2.13 Transfer
Overview
The transfer function allows easy transfer of offline-created RAPID programs to
the real robot on the shop floor. This means that you can transfer data from a virtual
controller (which is offline) to a real controller (which is online). As part of the
transfer function you can also compare the data present in the virtual controller
with that present in the real controller and then select which data to transfer.
You can also use the transfer function to transfer data from a virtual controller to
another virtual controller.
Creating a Relation
When you have two controllers listed in the Controller browser, you can create a
Relation between them. To create a Relation:
1 On the Controller tab, in the Transfer group, click Create Relation.
The Create Relation dialog box is displayed.
2 Enter a Relation Name for the relation.
3 Specify the First Controller, from the list.
The First Controller, also called the Source, owns the data being transferred.
4 Specify the Second Controller, from the list. This can either be a real
controller or another virtual controller.
The Second Controller, also called the Target, receives the data being
transferred.
5 Click Ok.
The relation between the controllers is now created.
After this, the Relation dialog box opens, using which you can configure and execute
the transfer. Relations of a controller are listed under its Relations node in the
Controller browser.
Note
The properties of the relation are saved in a XML file under INTERNAL in the
owner controllers system folder.
Transferring data
You can configure the details of the transfer of data and also execute the transfer,
in the Relation dialog box.
Note
If one of several modules fail, then the following error message is displayed.
Module xxx.zzz has failed. Do you want to continue?
Note
The Signal Analyzer Online command in the Controller Tools group is enabled
only if the selected controller is a real controller, or if the controller tree has only
one real controller.
For information about the layout of the Signal Analyzer Online, see Layout of Signal
Analyzer on page 371.
History
The signal data from each signal recording session is saved. To view these, click
the arrow next to the Signal Analyzer icon, and then click History. For more
information, see History on page 374.
Note
The signal data from each signal recording session is saved as a .sdf file at the
following location. The History feature uses these files.
C:\Users\<your user name>\AppData\Local\ABB Industrial
IT\Robotics IT\RobotStudio\SignalAnalyzer
This path is for a PC with a standard installation of Windows 7 or 8 (English
version). The path may differ if you have a customized installation or use Windows
XP.
Overview
For information on safety configuration, see:
Application manual - SafeMove
Application manual - Electronic Position Switches
Overview
The Collision avoidance functionality prevents the collision between the arms in
a dual arm robot.
To enable this feature, in the Controller browser, right-click any controller and then
click Collision Avoidance and then select Activate Collision Avoidance.
Overview
You need Write access for editing programs and configurations or in any other
way to change data on the controller.
If the prerequisites are not fulfilled you will be denied, or lose, the Write access.
This means that if you have Write access in auto mode and the controller is switched
over to manual mode you will lose the Write access without any warning. This is
because the FlexPendant unit by default has the Write access in manual mode,
for safety reasons. The same will happen if the remote Write access in manual
mode is recalled from the FlexPendant unit.
Result
The Controller Status window will be updated when the request for Write access
is granted.
If the Write access is denied, a message is displayed.
Overview
Several users can be logged on to a single controller but only one can have the
write access. You can release the write access when you do not need it anymore.
Result
The Controller Status window will be updated when your access right has changed
from read/write to read only.
11.3.3 Authenticate
Overview
The data, functionality, and commands on a controller are protected by a User
Authorization system (also called UAS). The UAS restricts the parts of the system
the user has access to. Different users can have different access grants.
You can perform the following functions from the Authenticate menu:
Login as a Different User
Log off
Log off all controllers
Edit User Accounts
UAS Grant Viewer
Log off
In the Authenticate menu, click Log off to log the user off from the controller.
Overview
You can transfer the files and folders between the PC and a controller through the
File Transfer window.
Prerequisites
The following are the prerequisites to be met:
The PC must be connected to the same network as the controller, or
connected to the service port of the controller.
You must be logged on to the controller as a user with UAS grants that allows
file transferring.
5 When the files and folder to transfer are selected, do one of the following:
To then press
cut the files CTRL + X
copy the files CTRL + C, or click Arrow
6 Place the insertion point either in the PC explorer or the Controller explorer
and click CTRL + V.
Note
Overview
FlexPendant Viewer is an add-in to RobotStudio that retrieves and displays a
screenshot from the FlexPendant. The screenshot is generated automatically at
the moment of the request.
Prerequisites
The controller you want to retrieve screen shots from must be added to your robot
view.
A FlexPendant must be connected to the controller. If no FlexPendant is currently
connected (option Hot plug is installed and the jumper plug is used) then no screen
shot can be retrieved.
5 Click OK.
4 Click OK.
11.3.7 Properties
Overview
You can perform the following actions from the Properties menu:
Renaming the controller
Setting the controller date and time
Setting the Controller ID
Viewing controller and system properties
Handling the Device Browser
Note
The controller name must be written with characters from the ISO 8859-1 (Latin
1) character set.
1 In the Configuration group, click Properties, and then click Rename.
The Rename Controller dialog box appears.
2 Enter the new name of the controller in the dialog box.
3 Click OK.
The new name will be activated when the controller is restarted.
You will be prompted to either click Yes to restart the controller immediately
or click No to restart later.
However, if the hard disk of the controller is replaced, the ID will be lost and you
must set it back to the serial number of the controller.
Note
You must Request Write Access to the controller before setting the controller
ID.
1 In the Configuration group, click Properties, and then click Controller ID.
The Set Controller ID dialog box appears.
2 Enter the Controller ID and then click OK.
Note
Use only characters from the ISO 8859-1 (Latin 1) character set and no
more than 40 characters.
1 In the Configuration group, click Properties, and then click Controller and
System Properties.
The Controller and System Properties window appears.
2 In the tree view at the left of the window, browse to the node for which you
want to view the properties.
The properties of the selected object are displayed in the Properties list to
the right of the window.
Displaying a trend
Select a device in the tree view and then double-click any property, that has a
numerical value, in the right-hand panel. This opens a trend view. The trend view
collects data at a rate of one sample per second.
11.3.8 Go Offline
Overview
The main purpose of this feature is to create a new station with a VC similar to the
connected real controller. This helps a robot technician to work offline, and not
just when connected to the real controller.
Using Go Offline
1 Connect the PC to a real controller.
2 On the Controller tab, click Request Write Access.
For more information on Request Write Access, see Request Write Access
on page 407.
3 Click Go Offline.
The Go Offline dialog box is displayed.
4 Enter a name for the system and browse for the location to save the system.
A new station is created with a VC with the same configuration as the real
controller.
Note
Overview
This feature allows you to remotely monitor the robot connected to a real controller.
It displays a 3D layout of the connected robot controller and enhances users
current perception of reality by adding motion visualization augmentation.
Note
The Online Monitor shows TCP robots and TCP robots with track. When
connecting the Online Monitor to a virtual controller, the motion is shown only if
the virtual controller is using Free-Run mode, not the Time Slice mode.
Note
The robot view is refreshed every second with the current joint values of
all the mechanical units.
Indication of TCP
A cone is automatically created to indicate the active tool data being used. The
cone has its base in the robot wrist and its tip at the location of the tool data.
Kinematic Limitations
When the Kinematic Limitation button is enabled, the graphical 3D viewer indicates
whether the robot is at a joint limit or at a singularity.
For joint limits, the corresponding link is highlighted in yellow to indicate a warning
and in red to indicate an error. The tolerance limits are defined in RobotStudio
Options - Online - Online Monitor.
For singularity, a markup indicates when the axis 5 is close to singularity. The
singularity level is also defined in RobotStudio Options.
Note
You can open one SafeMove Configurator at a time, even though several
controllers may be connected. If the SafeMove Configurator is opened for
one controller, real or virtual, the icon gets disabled for the other controllers.
Overview
Visual SafeMove is a 3D based configuration tool for SafeMove. The tool is
completely integrated into the RobotStudio user interface and takes full advantage
of the user interface elements such as tabs, browsers, and 3D graphics. Visual
SafeMove is enabled for robots with the SafeMove option. It offers an intuitive way
to visualize and configure safety zones. Visual SafeMove works both with the real
controller and the virtual controller. The Visual SafeMove configurator is available
alongside with the previous configurator.
Only a safety user is allowed to download a configuration. A safety user must be
created before configuring SafeMove. For more information on visual safemove
configurator, see Operating Manual- SafeMove.
Note
You can open one SafeMove Configurator at a time, even though several
controllers may be connected. If the SafeMove Configurator is opened for one
controller, real or virtual, the icon gets disabled for the other controllers.
Overview
All the procedures below require the following steps to be taken before managing
the details:
1 In the Controller browser, select the controller to which you want to manage
a user or group
2 From the Controller tab, click Request Write Access to provide write access
to the controller.
3 In the Controller tab, click Authenticate and select Edit User Accounts, for
administering UAS accounts, grants, and groups.
Users tab
With the Users tab you set which users will be able to log on to the controller and
which groups the users shall belong to.
users-ta
4 The Users on this Controller list. Shows the user accounts defined on this
controller. The list has two columns:
Column Description
User The name of the user account
Status Shows if the account is activated or deactivated. When deac-
tivated, it is not possible to log on using that account.
5 The Activated/Deactivated item box. Changes the status of the user account.
6 The Users groups/Users grants list.
The Users groups list shows which group(s) the user is a member of. For
changing the membership of a group, select or clear the checkbox in front
of the group name.
The Users grants list shows the available grants for the selected Users
group(s). When selecting a grant from the Users grants list, a description of
the selected grant appears.
users-t0
Adding a user
1 On the Users tab, click Add to bring up a dialog box.
2 In the User Name box, enter the user name. Use only characters from the
ISO 8859-1 (Latin 1) character set and no more than 16 characters.
3 In the Password box, enter the user's password. The password you type in
will not be visible. Use only characters from the ISO 8859-1 (Latin 1) character
set and no more than 16 characters.
4 In the Retype Password box, enter the user's password again.
5 Click OK to add the new user and close the dialog box.
6 Click OK.
Deleting a user
1 On the Users tab, select the user to delete from the Users on this controller
list and click Delete.
2 To the question Are you sure you want to remove this user?, answer Yes.
3 Click OK.
3 This opens an Open file dialog box, in which you browse to the file with the
list to import.
When you have selected the file, the ImportOptionsForm dialog opens.
Select ... Description
Delete existing users and groups Earlier groups and users will be deleted.
before importing
Advanced options A new dialog appears.
Import users but dont replace duplicates means
that you will not replace the existing users.
Import users and replace duplicates means that
you will replace the existing users.
Import groups but dont replace duplicates means
that you will not replace the existing groups.
Import groups and replace duplicates means that
you will replace the existing groups.
Adding a group
1 On the Groups tab, click Add.
This opens the Add new group dialog box.
2 In the Group Name box, enter the name of the group. Use only characters
from the ISO 8859-1 (Latin 1) character set and no more than 16 characters.
3 Click OK to add the new group and close the dialog box.
4 Click OK.
Renaming a group
1 On the Groups tab, select the group to rename from the Groups on this
controller list and click Rename.
This opens the Rename Group dialog box.
2 In the Group Name box, enter the name of the group. Use only characters
from the ISO 8859-1 (Latin 1) character set and no more than 16 characters.
3 Click OK to rename the group and close the dialog box.
4 You will now be asked if you want the users who belong to this group to
continue belonging to a group with the old name as well as the new one.
Click To
Yes Let the users of the group be members to groups with both the
old and the new name. However, the old group will no longer be
defined in the controller's UAS since it is replaced by the new
group.
This option might be useful if you plan to recreate the old group,
or copy the user's settings to another controller who has the old
group defined.
No Delete the user's memberships to the old group. This is to just
replace the old group name with the new one.
Cancel To cancel the change and keep the old group name, with its user's
memberships.
5 Click OK.
Deleting a group
1 On the Groups tab, select the group to delete from the Groups on this
controller list and click Delete.
2 You will now be asked if you want the users who belong to this group to
continue belonging to it though it is not valid.
Click To
Yes Let the users of the group remain members to it even if it is no
longer defined in the controller's UAS.
This option might be useful if you plan to recreate the group, or
copy the user's settings to another controller who has the group
defined.
No Delete the user's memberships to the group.
Cancel Cancel the change and keep the group, with its user's member-
ships.
3 Click OK.
Overview
The UAS Grant Viewer page displays information about the grants provided to the
user currently logged in and the groups owning them.
1 In the Authenticate menu, click UAS Grant Viewer. The UAS Grants window
appears.
en0900000852
Controller grants
Full access This grant includes all controller grants, also new grants
added in future RobotWare versions. The grant does not
include any application grants or the Safety Controller
configuration grant.
Manage UAS settings Gives access to read and write the UAS configuration, that
is to read, add, remove and modify UAS users and groups.
Execute program Gives access to perform the following:
Start/step program (stop is always allowed)
Move PP to Main
Execute service routines
Perform ModPos and HotEdit Gives access to perform the following:
Modify or teach positions in RAPID code (ModPos)
During execution modify positions in RAPID code as
single points or as a path (HotEdit)
Restore ModPos/HotEdit positions to original
Modify current value of any RAPID variable
Modify current value Gives access to modify current value of any RAPID variable.
This grant is a subset of the grant Perform ModPos and
HotEdit.
I/O write access Gives access to perform the following:
Set I/O signal value
Set signal as simulated and remove simulation
Set the device and industrial network as enabled/dis-
abled
Backup and save Gives access to perform a backup and to save modules,
programs and configuration files. The grant gives full FTP
access to the current systems BACKUP and TEMP directory.
Restore a backup Gives access to restore backup and restart the controller
using the restart mode Revert to last auto saved.
Modify configuration Gives access to modify the configuration database, that is
to load configuration files, change system parameter values
and add/delete instances.
Load program Gives access to load/delete modules and programs.
Remote restart Gives access to perform restart and shutdown from a remote
location. No grant is required to perform restart via a local
device, as for example the FlexPendant.
Edit RAPID code Gives access to perform the following:
Modify code in existing RAPID modules
Frame calibration (tool, workobj)
Commit ModPos/HotEdit positions to current values
Rename program
Application grants
Access to the ABB menu on Value true gives access to the ABB menu on the FlexPend-
FlexPendant ant. This is the default value if a user does not have the
grant.
Value false means that the user cannot access the ABB
menu when the controller is in Auto mode.
The grant has no effect in Manual mode.
Log off FlexPendant user when A user having this grant is automatically logged off from
switching to Auto mode the FlexPendant when switching from Manual mode to Auto
mode.
The Integrated Vision system provides a robust and easytouse vision system for
general purpose Vision Guided Robotics (VGR) applications. The system features
a complete software and hardware solution that is fully integrated with the IRC5
robot controller and the RobotStudio programming environment. The vision
capability leverages on the Cognex In-Sight smart camera family, with embedded
image processing and an Ethernet communication interface.
RobotStudio has been equipped with a vision programming environment that
exposes the full palette of Cognex EasyBuilder functionality with robust tools for
part location, part inspection and identification. The RAPID programming language
has been extended with dedicated instructions and error tracing for camera
operation and vision guidance.
For more information, see Application manual - Integrated Vision.
11.3.14 Jobs
Overview
The Jobs feature allows you to perform certain actions on a large population of
robot controllers. A Job is defined by a Device list and an Action. The Action will
be carried out for all controllers in the Device list.
Jobs tab
The Jobs feature is managed from the Jobs Contextual tab. On the Controller tab,
in the Controller Tools group, click Jobs to open the Jobs Contextual tab.
The Jobs Contextual tab contains the following groups.
Groups Description
Device Lists A user-defined group of robot controllers for applying a job. Device lists can
be reused between jobs.
Jobs A command group containing various job options.
Jobs group
The Jobs group contains the following commands and controls.
Commands Description
New job Opens a new job window.
Templates Provides options, Save Job and Edit Job Templates.
Save Job : Saves the job specification as an .xml file.
Edit Job Templates: Allows you to edit an existing template
file.
Verify Verifies the status of the group of robot controllers.
Execute Executes the user-selected action.
Pause Temporarily stops an active action.
Resume Resumes the paused action.
Cancel Aborts the active job.
Supported actions
Using the Jobs feature you can perform the following actions on a group of robot
controllers. You must select the required action in the Selected Action list in the
Jobs window. Some of these actions require the following additional data.
Action Description
Backup Backup Path: User-defined destination folder for saving the
backup file, this file contains controller specific backup folders
with a date and time stamp in the format Backup_{Date}_{Time}.
Backup name: The name of the backup file in the format {Sys-
temName}_{Date}. The name template can be modified according
to the user needs. The strings in curly brackets will be replaced
by the current values.
Note
The complete list of options to use for creating the file and folder names
are {NetworkAddress}, {ControllerName}, {SystemName}, {SerialNum-
ber}, {Comments}, {Group}, {Date} and {Time}.
Backup Program Creates backup of program modules with a date and time stamp in the
Modules format Backup_{Date}_{Time}. You can specify the name and destination
folder of the backup program module in the Backup name and Backup
Path fields.
Update UAS UAS File: User-selected UAS file.
UAS File Password: Password of the UAS file. For more details
about creating a UAS file, see User Accounts on page 421.
Set Time Threshold (seconds): User-defined threshold time in seconds. The
threshold defines the allowed time difference.
Verify Time Reads the time for each controller and compares it with the local PC
time.
Set Time Server Select this action to set the time zone of the NTP server.
and Time Zone Enter the name of the server in the NTP Server box and select the re-
quired time zone in the Time Zone list.
Save Event Logs Reads the specified event logs and saves it to the specified location
on the PC.
Search Event Logs Searches the event logs for a specified type (All, Warnings and Errors,
Errors) and upto an optional time(in days). You can also specify the
range for the error codes to include in the search.
Action Description
Read Single Data You can read RAPID Data, I/O Signal values, Configuration parameters
and device information with this function.
For RAPID Data, you must specify the URL of the RAPID instance
as Task/Module/Data or only Task/Data, for example,
T_ROB1/Module1/myToolData, or T_ROB1/myToolData. The
result will be the value of the instance.
For I/O Signals, you must specify the name of the signal, for ex-
ample, mySignal. The result will be the signal value.
For configuration parameters, you must specify the URL to the
instance attribute in the form DOMAIN/TYPE/InstanceName/At-
tributeName, for example MOC/ARM_LOAD/r1_load_4/mass or
EIO/EIO_SIGNAL/diMySignal/access.
Select the Devices option, to read device information like Main
Computer Fan Speed, Main Computer Module Temperature,
CPU Temperature and Free RAPID Memory(MB) by selecting
the required option in the Copy From the device browser.
To read other properties, copy the device property ID from the
Device Browser. Right-click the desired property and select
Copy device property ID from the context menu. Paste the ID
into the text field above.
See the Technical reference manual - System parameters for the names
of the domains, types and attributes. The result will be the value of the
attribute.
Search RAPID Searches for RAPID instances that matches the specified search pat-
Data terns. You can restrict the search to tasks, modules, data types and
names of record fields that match the specified pattern.
Search RAPID Searches for lines that contain the specified text string. You can restrict
Text the search to tasks or modules that match a certain name pattern.
Write File or Direct- Writes the selected file or directory to the specified target directory.
ory
Read File or Direct- Reads the selected file or directory from HOME folder or from a task.
ory
System Informa- Reads the options, languages and media versions of the controllers.
tion
Run External Tool Invokes an external executable.
External Tool Path: Location of the folder where the external tool
is placed.
Arguments: User specified arguments which the external tool
passes, for example {SystemName}, { Network address},{Group}
and so on.
Timeout(s): Specifies command time out period.
Compare Folder Compares two folders and generates a report with the differences.
These reports are available in two formats, Excel and xml files. These
reports are not exclusive to Compare Folder.
Note
Note
Note
RobotStudio does not support non-motion execution option. This option can be
set to prevent the real controller from moving, even when, the program is
executing. RobotStudio will ignore this option and move the robot. The non-motion
execution option applies to virtual controllers only.
Operation Mode This group contains the three operational modes of the control-
ler represented by option buttons.
Auto This option corresponds to the Auto mode on the FlexPendant.
Moving between the Auto and Manual Full Speed options
must proceed via the Manual option.
Manual This option corresponds to the Manual mode on the FlexPend-
ant.
Manual Full Speed This option corresponds to the Manual 100% mode on the
FlexPendant.
Moving between the Auto and Manual Full Speed options must
proceed via the Manual option.
Motors On Click this button to turn on the motors.
Enable Device In a manual mode, click this button to simulate holding the
three-position enabling device to turn on the motors.
Release Device In a manual mode, click this button to turn off the motors.
Reset Emergency Stop If the controller enters the emergency stop state, click this
button to reset the state.
11.4.3 Shutdown
Note
Overview
The Edit System window contains functions for making and viewing advanced
system configurations, such as changing controller and baseframe positions,
calibrating and setting up external axes.
The left side of the Edit System window contains a hierarchical tree with which you
browse to different aspects of the system. The right side contains a property sheet
for the aspect selected in the tree. Below are short descriptions of the property
sheets for each aspect node of the tool.
CAUTION
Select To
Stored station values Reset all changes made to the baseframe since the last
time the station was saved.
Optionally, you can enter new values in the baseframe
coordinate boxes (relative to the controller world coordin-
ate system).
Use current station val- Read and use the current location of the baseframe.
ues Optionally, you can enter new values in the baseframe
coordinate boxes (relative to the controller world coordin-
ate system).
6 Click OK.
Note
For information on adding a track from the Edit System tool, see Track motion
of type RTT or IRBTx003 on page 90.
12 RAPID tab
12.1 Overview of the RAPID tab
The RAPID tab provides tools and functionalities for creating, editing, and managing
RAPID programs. You can manage RAPID programs which are online on a real
controller, offline on a virtual controller, or standalone programs which are not part
of a system.
Limitations
Robtargets that are local to a procedure are not supported by Synchronize
to Station. Only robtargets that are local to a module are supported.
RobotStudio does not fully support instructions using Offs or RelTool
functions. These are synchronized and will appear in the element browser,
but commands such as View Tool at Target and Locate Target will not work.
Targets used in the instructions will not be visible in graphics. However,
instructions can be programmed and edited using the RAPID Editor and can
be simulated using the virtual controller.
RobotStudio does not support RAPID programs containing arrays of tooldata,
robtargets and workobjects. These programs will not be synchronized to the
station.
Workobjects and tooldata that are shared between several tasks must be
specified in RAPID with its full value for each task when programming offline
with RobotStudio. This will trigger a warning Initial value for PERS not updated
in the controller event log. You may ignore this warning. However, you must
carefully ensure that the RAPID variable definitions are the same in all tasks,
otherwise you may get unexpected behavior.
Synchronizing to RAPID
1 On the RAPID tab, in the Access group, click the arrow next to the
Synchronize icon, and then click Synchronize to RAPID.
2 Select the elements to be synchronized from the list.
3 Click OK.
The message Synchronization to RAPID completed is displayed in the
Output window.
Note
This function is also present in the Controller group on the Home tab.
Tip
The Zoom in Zoom out feature is also present in the RAPID Tasks, Rapid
Editor, Configuration Editor, Event viewer, and I/O windows.
Cut, copy, paste and drag and drop - These standard commands for
clipboard handling of text are supported.
Undo and redo - Standard commands for undo and redo operations are
supported.
Selection modes - You can select text by character, row and column.
Line numbers - Line numbers for the RAPID code lines are displayed in the
left margin of the editor.
Keyboard shortcuts - For keyboard shortcuts in the RAPID Editor, see
Keyboard shortcuts on page 78.
RAPID compare- To compare the controller version of RAPID module with
the editor/file version, right-click an open module and then click Editor
Version or File. You can compare folders and files using the Compare button.
In the Find group, click Compare and then select the required comparison
options like Controller Version and Editor, Controller Version and File and
Editor and File.
You can configure the comparison results either to show all content with the
differences highlighted or with only the differences between files/folders.
Select Options like BackInfo, PERS variables, Comments, Character case
and White space to add filters. The BackInfo option excludes the timestamp
of the Backinfo.txt file from comparison.
Tip
You can view the graphical layout, without closing the editor, by clicking the
graphics window tab.
Note
To make formatting easier, the tabs and white spaces can be indicated by
arrows and dots, respectively. To enable this go to Options:Robotics:RAPID
Editor (Options:Robotics:Text Editor on page 220) and then select the Show
whitespace check box.
By default a Tab consists of four whitespaces. To change this, go to
Options:Robotics:RAPID Editor and set the Tab size as your require.
Modify Position - Updates the coordinates of the target used in the move
instruction to the current position of the robot.
Edited lines are denoted by change bars which remain until the edits are applied.
Also, the RAPID Editors tab sports an asterisk (*) until the edits are applied.
Note
The folder <Documents and Settings> may be configured with different names,
for example, Data. It may also be translated on localized versions of Windows.
Snippets can also be edited in an XML editor such as Microsoft Visual Studio.
For information on creating customized code snippets, see
http://msdn.microsoft.com/.
Inserting instructions
To insert a predefined instruction into the code:
1 Place the cursor at the required point in the RAPID code.
2 In the Insert group, click Instruction.
A list of pre-defined instructions is shown.
Continues on next page
Operating manual - RobotStudio 449
3HAC032104-001 Revision: U
Copyright 2008-2017 ABB. All rights reserved.
12 RAPID tab
12.4 Edit RAPID code
Continued
The instruction is inserted into the code where the cursor is placed.
RobotStudio generates and inserts default arguments to the instruction,
using similar rules as the FlexPendant.
Note
The Apply commands are enabled only if there are changes waiting to be applied.
When possible, RobotStudio will try to commit the changes without losing the
program pointer. If this is not possible, you will be asked if it is OK to lose the
program pointer.
To verify the syntactic and semantic correctness of the modules, in the Test and
Debug group, click Check Program.
Overview
The Find group, on the RAPID tab contains commands for performing Find and
Replace actions on the code in the RAPID editor.
Quick Find
Enter the search string in the Quick find box and then press Enter or F3. If an
instance is found, it is highlighted. Press F3 again to search for the next instance.
Go to line
Enter a line number in the Go to line box and press Enter. The cursor moves to
the corresponding line in the RAPID editor. When multiple tasks are open in the
editor, and if you select the procedure name in the list box, the cursor moves to
the task that contains the specified name.
Jump To
The Jump To list has an item for each routine and data declaration in the program
module. Click an item to move to its location in the code.
Find or Replace
Click Find/Replace to open the Find/Replace dialog. This dialog provides standard
find/replace functionality and the following options.
Enter the string to search in the Find what list.
In the Look in list, select the option to specify the location to look for. The
various options are Current Document, Current System, Current Task, or
a folder in your PC (you can browse to a folder to specify it).
The Search Results window displays the results of the find operation. Double-click
a search result to go to the corresponding instance in the RAPID editor. If the
instance is from a module which is not in the RAPID editor, then the module opens
in the editor.
Go To Definition
The Go To Definition command is enabled for an identifier in the RAPID Editor
context menu if the source code for the corresponding symbol definition is available.
Click Go To Definition to move the cursor to (and select) the corresponding symbol
definition. This action detects symbol definitions such as routine declarations, data
declarations and record definitions.
Navigate forward/backward
Use the Navigate Backward button to move to previous locations of the RAPID
modules being edited, and the Navigate Forward button to return to more recent
locations.
Tip
For file based modules, the standard file commands are applicable: Save/Save
As will save the module; Open will open a module and Close will close the
module.
The Apply Changes command is disabled for file based modules. It is applicable
only for controller based modules.
Tip
Note
The RAPID Data Editor only shows data declarations that contain editable values.
Note
The content of the HOME folder of the connected virtual or real controller
is visible in the Controller browser. Both RAPID and configuration files
can be edited as text files.
For virtual controllers, RAPID modules can be synchronized to the graphics
environment of the station using the context menu of the RAPID module
file. To synchronize any changes back to the RAPID module, use the
command Synchronize to file.
2 A RAPID or system module file opens in the RAPID editor. The system
parameters file (*.cfg) opens in a notepad-like editor.
3 Click the Save button on the Quick Access Toolbar to save the changes.
Note
When you open standalone RAPID modules, the editor may show the code as
having syntax errors if the variable declarations exist in another module.
Note
Saving a program
You can save a RAPID program either in the system or in the controller disk.
1 On the RAPID tab, in the Controller group, click Program icon and then click
Save Program As to save the RAPID program in the system and click Save
Program to Controller to save a program in the controller disk.
Alternatively, in the Controller browser, right-click the active task under the
station, and select Save Program As.
2 In the Save As dialog box that appears, browse to the location where you
want to save your program, and click Save.
Renaming a program
1 On the RAPID tab, in the Controller group, click Program icon and then click
Rename Program.
Alternatively, in the Controller browser, right-click the active task under the
station, and select Rename Program.
2 In the Rename dialog box that appears, enter a new name for your program,
and click Ok.
Deleting a program
1 On the RAPID tab, in the Controller group, click Program and select Delete
Program.
A confirmation dialog is displayed.
2 Click Yes.
The selected program is deleted.
To delete the entire program under a task in a station, in the Controller group, click
Program and then click Delete Program.
Alternatively, in the Controller browser, right-click the task under the station, and
then click Delete Program.
Overview
The RAPID Tasks window shows the configured tasks of the selected controller
and their state, in a tabular form. To open the RAPID Tasks window, in the
Controller group click RAPID Tasks.
The following table describes the columns displayed for each task.
Task Name The task name, as defined by the controller configuration in
topic Controller, type Task.
For information on topic Controller type Task, see the Technical
Reference Manual for System Parameters.
Type A task can be of type Normal, Static, or SemiStatic. This is
defined by the controller configuration in topic Controller, type
Task.
For information on topic Controller type Task, see the Technical
Reference Manual for System Parameters.
Mechanical Unit Shows which mechanical unit group is used for the task. This is
defined by the controller configuration in topic Controller, type
Task
For information on topic Controller type Task, see the Technical
Reference Manual for System Parameters.
Run Mode Defined by the Run Mode setting in RobotStudio. For more in-
formation on Run Mode, see Run mode of the controller on
page 461.
State Displays the task execution state. A task can be in state Ready,
Running, or Stopped.
Ready: The program has no PP (program pointer). To set
the program pointer, use the Program Pointer menu of the
RAPID Tab. Alternatively, use the FlexPendant.
Running: The program is running.
Stopped: The program has stopped.
For more information on the Program Pointer (PP), see Using
the Program Pointer on page 466.
TrustLevel Handles the system behavior when a SemiStatic or Static task
is stopped or not executable.
The possible values here are NoSafety, SysFail, SysHalt or
SysStop.
A SemiStatic or Static task can only be stopped if it has Trust-
Level as NoSafety. The TrustLevel is defined by the controller
configuration in topic Controller, type Task.
For information on topic Controller type Task, see the Technical
Reference Manual for System Parameters.
Program Name The name of the program in the specific task.
Module Name The current module name.
Routine Name The current routine name.
Task in Foreground Use this to set priorities between tasks. The current task will
execute only if the foreground task is idle. This is defined by the
controller configuration in topic Controller, type Task.
Note
It is not possible to override the controllers safety system, that is, you cannot
stop a background task (Static and SemiStatic) that has the TrustLevel set to a
value other than NoSafety.
For detailed information about the different TrustLevel values, see Technical
reference manual - system parameters.
CAUTION
When starting a task, the manipulator axes may move very quickly and sometimes
in unexpected ways! Make sure no personnel is near the manipulator arm!
To stop a task, right-click the task in the Controller browser and then click Stop
Task. You can stop Normal tasks, but you can only stop a Static or SemiStatic task
if the TrustLevel is set to NoSafety.
Overview
The Adjust Robtargets feature helps in recalculating and changing the robtarget
data (tooldata and workobject data) while maintaining the joint angles of the robot.
The robtarget data related to the specified source tooldata and workobject will be
adjusted for usage with the new tooldata and workobject. In the RAPID tab, in the
Controller group, click Adjust Robtargets to access this feature.
Prerequisites
You should have a controller (virtual or real) running with one or more
modules containing procedures with a sequence of move instructions
expressed with a defined tool and workobject.
You should have RobotStudio Premium license to use this feature.
The Execute button of the feature Adjust Robtargets will be enabled only if
the selected tool data or workobject data have the same properties, such as
robhold, ufprog, ufmec and so on.
Note
Arrays, event records, and offsets are not supported. Relative tool is also not
supported. Circular move instruction (MoveC) is supported.
Note
Note
You can access Adjust Robtargets from the Controller tab also. Right-click
the RAPID task or module in the Controller browser and then click Adjust
Robtargets in the context menu.
3 Select a task from the Task drop-down list and module from the Module
drop-down list.
Note
In the Module drop-down list, you can either select a particular module or
<ALL> to update.
4 Select the source robtarget data (that is, the data defined in the selected
task) from Old tooldata and Old wobjdata drop-down list.
5 Select the destination robtarget data (that is, new tooldata and workobject)
from New tooldata and New wobjdata drop-down list.
6 Click Execute.
The Execute button is enabled only if source robtarget data (that is, old
tooldata and workobject) and destination robtarget data (that is, new tooldata
and workobject) are different.
The module searches for move instructions that use the specified old tooldata or
workobject and recalculates the robtarget data for the new tooldata and workobject.
For example,
1 Select "tool0" as the source tool and "wobj0" as the source workobject.
2 Select "toolb" as the new tool and "wobjb"as the new workobject.
3 Click Execute.
Robtargets of "tool0" and "wobj0" will be replaced with re-calculated robtargets
which correspond to the same robot configuration (all joint angles will be the same),
and with the new tool "toolb" and "wobjb". Note that both the tooldata and the
wobjdata are replaced independently.
Update instruction
By default, the Update instruction check box is selected. This means that move
instructions using the specified source (old) tooldata and workobject will be updated
to use the target (new) tooldata and workobject in addition to recalculating the
robtargets.
If the Update instruction check box is cleared, the robtargets will be recalculated,
but the move instructions will not be updated. They will still use the source tooldata
and workobject.
This feature is useful after the calibration of tooldata and workobject. After
calibration, you might still want to use the old names of the tooldata and workobject,
but update their values and recalculate the robtargets accordingly. The following
sample procedure illustrates how this can be accomplished.
Sample procedure
Prerequisite: RAPID module with robtargets and move instructions that use
uncalibrated tooldata tool1, and workobject wobj1.
1 Calibrate your tooldata tool1, and workobject wobj1. Store the new values
in tool1_calib and wobj1_calib, respectively. Keep the old values of the
Limitations
If a robtarget is used more than once but with different tools or workobjects,
then a message Target is referenced is displayed in the output window.
The adjust robtargets function operates on a module level and does not
update any referenced targets defined in other modules. It ignores the scope
of the robtargets when the referenced targets are local to a procedure. In
this case, any targets with the same name in the module scope will also be
updated.
Adjust Robtargets function works for modules with semantic errors, the editor
excludes the particular line containing the error and continues with program
execution. But Syntax errors stop program execution.
Other tools such as the Program Pointer (PP) and the RAPID Profiler, which aid in
testing and debugging RAPID code, are explained in detail in the following sections.
Selected tasks
You can use this option to select a particular task from a set of tasks to be stopped
in the Manual Operating mode.
In the Controller group, click the Selected tasks button to view the list of tasks.
You can select the required foreground task(Normal) or background task
(Semistatic/Static) from the list.
Note
While the program executes, you can see the program pointer jump across
modules only if those modules are already open in the editor. Hence, you can
decide in which modules you wish to follow the program pointer in, and keep
them open.
The other commands in the Program Pointer menu are:
Go To Program Pointer To show the current location of the program pointer
in the RAPID editor
Go To Motion Pointer To show the current location of the motion pointer
in the RAPID editor
To set the program pointer at a particular line code or code segment and
then start program execution from that point, use the Set Program Pointer
options. You can choose from the following options:
- Set Program Pointer to Main in all tasks
- Set Program Pointer to Cursor
- Set Program Pointer to Routine
Note
If the edit is too large for the program pointer to be maintained then a warning
message is displayed to convey this.
The program pointer cannot be maintained, for example, when editing the line of
code at which the program pointer is located. Editing that line of code results in
resetting the program pointer. In effect, the program will start from the beginning
when the controller is started after the edit.
WARNING
Starting program execution after the program pointer has been reset will cause
the robot to move along the shortest path from its current location to the first
point of the program.
Note
The RAPID Profiler will automatically stop if either of the following controller
events is generated by the controller. This is to avoid disturbing the robot
operation.
20192, Disk memory low (less than 25 MB free storage left)
20179, Disk memory critically low (less than 10 MB free storage left, program
execution is stopped)
start and end, respectively. When the program is run, a Spy log file is
generated. You can open the file for analysis by the RAPID Profiler. Use the
RAPID Profiler menu option Browse for Spy log to open the log file.
For more information about Spy instructions, see Technical reference manual
- RAPID Instructions, Functions and Data types.
Note
When the RAPID Profiler is used to analyze a log file, there is no information
about in which procedure the SpyStart command is executed. The triggering
procedure defaults to <SpyStart Procedure>.
For RobotWare version 5.14 or later, the log file can be generated
automatically. Activate the RAPID Profiler and run the program of the
controller. When the program execution stops, the results are presented to
the user.
Limitations
The Spy function, which produces the input to the RAPID Profiler, does not
produce useful output for systems based for Continuous Application Platform
(CAP), Arc and RW Cutting. This affects the RAPID Profiler that analyses the
log that Spy function generates.
The RAPID Spy function measures RAPID program execution time and not
motion execution time. To make these two times coincide for the RAPID
procedures, ensure that the last move instruction of all procedures is a stop
point. Otherwise, the RAPID instruction execution time will be lower than the
motion execution time. The reason being the program execution runs ahead
of the motion execution unless the programmed point is a stop point. For
more information on stop points, see RAPID Reference Manual.
Overview
The RAPID Breakpoints window lists all current breakpoints for the connected
controllers.
Overview
The RAPID Call Stack window displays the call stack for the selected task if the
program is in stopped state.
You can view and edit the RAPID data of the variables in the RAPID watch window,
both during program execution and when the controller is stopped. However, you
can only view, but not edit, I/O signals in the watch window.
To view a variable or I/O signal in the RAPID Watch window, you need to first add
it to the window. In the RAPID editor, right-click the required variable or I/O signal,
and then click Add Watch.
By default, during program execution the values of the variables are automatically
refreshed in the watch window every 2 seconds. You can also manually refresh
the values.
To enable or disable automatic refresh, in the context menu, select or clear the
Auto Refresh command.
To do a manual refresh, in the context menu, click Refresh (keyboard shortcut F5).
Note
Overview
This section provides examples illustrating several useful functions of the RAPID
editor including IntelliSense, code snippets and the watch window.
Editing
Assume that you wish to create an infinite loop whereby the controller receives
commands from a line PLC. The controller communicates with the PLC using digital
I/O signals, but you have forgotten the exact name of the function that reads an
input signal.
1 Using code snippets, create a new procedure.
2 On the Rapid tab, in the Insert group, click Instruction.
A drop-down list of available instructions is displayed.
3 On the Instruction menu, point to I/O, and then click DOutput.
4 Press the spacebar to display the parameter information ToolTip. As you
enter parameters, the ToolTip is updated, displaying the current argument
in bold. The ToolTip is closed either by concluding the instruction with a
semicolon (;), or by pressing ESC.
Tip
At any time you may press CTRL + Spacebar to complete what you have begun
typing. This will either bring up a narrowed-down list of selectable parameters,
or, if only one selection remains, will automatically complete your text.
Tip
After typing the name of an identifier or an instruction, press the TAB key to
automatically fill in the default arguments or parameters. For instructions, the
last used argument of each type will be used.
Searching
Assume that you have programmed targets and motion instructions and
synchronized them to the controller. The number of targets is large, so you decide
to distribute them among several modules.
You may have forgotten in which module your main procedure is found.
1 Press CTRL + F to bring up the Find and Replace dialog box.
2 In the Find what box, type "PROC main". Since no modules are open, in the
Look In list, select Current System, and then click Find All.
The search result is displayed in the Search Results window.
3 Double-click the line matching your search to launch the RAPID editor.
Adding breakpoints
Now that you have finished editing, you may want to test your loop and add some
breakpoints.
1 Place the insertion on the new statement and press F9 to set a breakpoint.
2 Ensure that the Ignore breakpoints button in the editor toolbar is not clicked,
and click the Play button on the Simulation toolbar.
The program will run and then stop at the breakpoint.
3 To run the program statement by statement, click the Step over button in
the editor toolbar.
Executing
You might want to debug your loop or monitor a specific variable.
1 In the RAPID editor browser, right-click the procedure you want to set as
entry point, and then click Set Program Pointer to Routine.
2 In the RAPID tab, click the Play button.
The program will run and then stop at the next breakpoint.
3 Select a variable for monitoring and drag it to the watch window.
4 Restart the loop and monitor the variable at each iteration.
13 Add-Ins tab
Overview of the Add-Ins tab
The Add-Ins tab contains the control for PowerPacs, Migration tools and Gearbox
Heat Prediction. The Add-Ins browser shows the installed PowerPacs, General
add-ins.
For instruction on building General add-ins visit the ABB Robotics Developer Center
web site at http://developercenter.robotstudio.com.
General add-ins are loaded from the following folder on your PC: C:\Program
Files (x86)\Common Files\ABB Industrial
IT\RoboticsIT\RobotStudio\Addins
Note
13.1 RobotApps
You can view and download RobotWare, RobotWare Addin and RobotStudio Addins
from the RobotApps window. This window is divided into two panes, The names
of all addins appear on one pane and the details of the selected folder are displayed
on the other pane. You can download a specific version of the addin from this pane.
You can also view and download contents from the ABB RobotApps web page.
Overview
A distribution package may consist of one or more products. When distributed as
one file, the suffix of the file is .rspak. Use the Install Package command in the
RobotApps page to install a distribution package.
RobotWare Add-In for the StandAlone Controller (SAC) is a separate package.
This package is available in the RobotApps page in the Add-Ins tab. You can
install RobotWare Add-Ins by browsing to a RobotWare Add-In manifest (.rmf file).
The Add-Ins browser shows the installed packages.
Note
In the RobotApps page, in the Add-Ins browser, when you hover the mouse
pointer over a package node, the tooltip displays the location information of a
specific package. Right-click an installed package and then click Open Package
Folder to view the location of the selected package folder.
Unpacked data
When used by a virtual controller, the packages are unpacked into a cached location
residing in a LocalAppData sub-folder, Users\<user name>\AppData\Local\ABB
Industrial IT\Robotics IT\RobotWare. On a PC with a default installation of Windows
7, the path is C:\Users\<user name>\AppData\Local\ABB Industrial IT\Robotics
IT\RobotWare. The content of this folder is similar to the RobotWare 5 Mediapool
folder.
Note
Overview
To migrate a robot system from RobotWare 5 to RobotWare 6 you need to use the
migration tools in the Add-ins tab.
If you are upgrading from RobotWare version 5.15 or earlier, you must contact
ABB to replace the controller main computer by DSQC 1000 and also to get a
RobotWare 6 license. You can contact your ABB Robotics Service representative
at www.abb.com/contacts.
For details on the migration process, refer Instruction - RobotWare upgrade and
migration guide.
Overview
The Gearbox Heat Prediction Tool is an add-in for RobotStudio which helps to
predict heat problems in the gearboxes. When the temperature is above a
predefined value, you can adjust the cycle to reduce the temperature or order a
fan that can cool down the gear.
Robots with compact gearboxes have a risk of getting overheated under certain
circumstances. The gearbox temperature is supervised by Service Information
System (SIS). SIS is a software function within the robot controller, that simplifies
maintenance of the robot system. It supervises the operating time and mode of
the robot, and alerts the operator when a maintenance activity is scheduled. It also
supervises large robots from damaging the motors during high load operations
with a safety shutdown.
The temperature supervision is based on an algorithm that predicts the stationary
temperature of the gearboxes and motors of the robot. The algorithm predicts the
heat based on the character of the robot motion and also the room temperature.
Intensive motion (high average speed and /or high average torque and/or short
wait time) will increase the heat of the gearbox and motors.
To avoid overheating, SIS stops the robot if the temperature becomes too high.
For large robots, there is an option to add a cooling fan to axis 1, 2, and sometimes
axis 3, to allow the robot to run even with a heavy duty program.
Note
Gearbox Heat Prediction is not supported for Tool and External axis. When a
virtual controller has more than one robot, only one robot will have predictions
calculated. The other robots will only display 0% chance of overheating.
Prerequisites
1 RobotStudio 5.14.02 or later.
2 RobotWare 5.14.01 or later.
3 RobotStudio station with controller having a programmed cycle that includes
payload for the robot.
3 In the Add-Ins tab, select Enabled to enable the Gearbox Heat Prediction
tool .
Note
4 Run a simulation.
Note
For RobotStudio Basic, the Play button in the Simulation tab will be
disabled. As such, you will be unable to run the simulation from the
Simulation tab. In such a scenario, use the Play button which will now be
visible in the Gearbox Heat Prediction tab window to run the simulation.
Note
The data is recorded during the simulation only if the Gearbox Heat tool
is enabled. After the recording is finished, you can perform another
recording or perform a calculation for heat related problems.
5 In Cycles, define the behavior of the cycle for predicting the heat generated
by the robot:
Continuous: Select this option if you want the robot to continuously
calculate the predictions without waiting time between two consecutive
cycles.
Number of cycles per hour: Select this option if you want to manually
specify the number of cycles per hour for calculation.
Waiting time between cycles (sec): Select this option to specify the
waiting between cycles. Specify the waiting time in seconds.
6 In Ambient Temperature, define the ambient temperature.
Use the slider to change the temperature.
Select Use temperature from controller(s) to reset the the ambient
temperature.
Note
Note
Note
Note
Note
14 Context menus
14.1 Add to Path
Reference Specify the frame or target for which you want to align the se-
lected objects here.
Align Axis The axis you specify here will be aligned as on the reference
target/frame for all selected objects.
Lock Axis The axis you specify here will not be changed on the selected
objects by the align function, but will keep its orientation.
Tip
You can change the Align and Lock axis and click Apply again to reorientate the
targets until you deselect them.
14.4 Attach to
Attaching an object
1 In the Layout browser, right-click the child object, click Attach to and click
the parent object in the list.
14.5 Configurations
Auto Configuration
Use this procedure for setting the configuration of all targets in the path that are
marked as The configuration is not verified :
Note
For all targets in the path, the function will ignore any existing unverified
configuration and replaces it with optimal configuration with respect to the
configuration of the preceding target.
1 In the Paths&Targets browser, right-click a path, select Configurations and
then select Auto Configuration.
The robot now steps through each target in the path and sets the
configurations.
Note
If the first target in the path has no configuration assigned, then the
configuration tool appears.
If the first target has a configuration assigned, then the one assigned
will be used.
The result of auto configuration varies depending on the configuration of
the first target.
The configuration for targets in the path that has a verified configuration,
will not be re-assigned.
Reset Configurations
The configuration data which is a part of the target, when reset, is optimized by
Auto Configuration. As a result, the target / move instruction icon will change and
is marked as The configuration is not verified.
Use this procedure for resetting the configuration:
Note
Note
Verify Configurations
Use this procedure for verifying the existing configuration:
Note
Targets and Move instructions marked as The configuration is not verified can
be verified with respect to the configuration.
1 In the Paths&Targets browser, right-click a path, select Configurations and
then select Verify Configurations.
Note
Note
The Check Reachability feature does not verify whether a path can be executed
or not.
1 In the Paths&Targets browser, right-click the workobject or target or path to
be checked for reachability.
2 Click Reachability to see the reachability status of the selected object.
The frames for the selected object change color in the graphic window based
on the reachability status.
Color Means
Green The object can be reached.
Red The object cannot be reached at its current position.
14.7 Configurations
Overview
The defined area of space through which a robot can move. A robot can only
perform within the confines of this work envelope.
Prerequisites
At least two targets, the via-point target and the end point target, must have been
created.
A path containing at least the via-point target and the end point target, in correct
order, must have been created.
Tip
To convert two move instructions to a circular motion, you can also select and
right-click both move instructions at once and then click Convert to Circular.
14.12 Detach
Detaching an object
1 In the Layout browser, right-click the attached object (child) and then click
Detach. The child will be detached from the parent and return to its position
before the attachment.
Prerequisites
The move instruction must exist.
A virtual controller must be running for the robot with the move instruction.
Prerequisites
You need to have a path selected and a robot with external axis configured.
5 Click Apply.
Overview
With the graphic appearance dialog box you set the graphic properties for an
individual object. These settings override the generic settings made in the options
dialog box. To launch the Graphic Appearance dialog box right-click a part in the
browser and select Graphic Appearance from the context menu.
The right part contains a preview of the part and controls for setting the behavior
and appearance of the preview. The user can work on the entire part, or on
individual bodies or faces by selecting them in the preview.
Color group
Simple Color Click this color box to select another color for the object.
Opacity Controls the transparency of the object.
The color boxes Set the color of the object for different light situations here.
Shininess Specify the reflectiveness of the object here.
Textures group
Base texture Specifies the basic structure of the selected part. It is a stand-
ard 24-bit image displayed on a 3D surface.
Note
Specify texture size Check this option to specify the texture size. When a material
with a specified texture size is applied to a geometry, Robot-
Studio tries to adjust the texture coordinates so that the texture
image covers the specified area.
Note
Blend Mode Specifies how the texture is combined with the specified object
color.
Environment map Provides a highly reflective appearance to the surface.
Normal Map Specifies a texture that defines the bumpiness of the surface
Surface Properties
Render both sides By selecting this option surfaces will be rendered regardless
of orientation.
Invert surface(s) Selected surfaces can be inverted by this button.
This process is simplified by checking Highlight inverted faces,
which will cause the background of surfaces to be displayed
in red.
Generate new normals Generate new normals. If the surface normals of an imported
geometry are of poor quality, they can be recreated by clicking
this button.
Texture coordinates
Swap u/v Click this button to swap the horizontal and vertical directions
of the texture.
Modify Select along which directions the commands listed below shall
be applied.
u is the horizontal axis of the texture.
v is the vertical axis of the texture.
Normalize Click this button to set the ratio between the dimensions of the
object and the texture to 1.
Flip Click this button to invert the coordinates along the selected
axes. This is the same as mirroring around the other axis.
Stretch Click this button to stretch the texture along the selected axes.
Shrink Click this button to shrink the texture along the selected axes.
Shift< Click this button to move the texture along the selected axes.
Shift> Click this button to move the texture along the selected axes.
Overview
This function reduces the model by removing bodies and faces that are not visible
from outside. Internal bodies will be removed completely while internal faces will
be removed from the graphical representation. To restore the faces, the graphical
representation must be created.
Go to Visualization
The Go to visualization context menu command is available for targets in the
RAPID editor. It takes you to the 3D graphical widow to show you where the target
is found.
Note
This command requires that the RAPID code has been synchronized to the
station.
Go to Declaration
In the Paths & Targets browser, the Go To Declaration context menu command
is available for targets. This command takes you back to the target in the RAPID
editor.
Note
This command requires that the RAPID code has been synchronized to the virtual
controller.
The function shows a semitransparent sphere at each target, that represents the
TCP zone of the programmed zone data. To access this function right-click Path
and then select View and then click Show Programmed Zones or click Show
Actual Zones.
Commands
Show programmed Shows a 3D sphere of the same radius as the zone size defined in
zones the RAPID program.
Show actual zones Shows a 3D sphere of the same radius as the minimum of the zone
size the user sets or a zone with radius half the distance to the
preceding or succeeding target in the path. This corresponds to
the zone reduction carried out by the controller during program
execution.
Depending on the zone data the sphere takes different colors white, red and purple,
white is the default color.
Red: If the zone data contains the preceding or subsequent target, that is, if
the zone data is larger than the closest distance.
Purple: If the zone data is greater than half the distance to the preceding or
subsequent target.
White: The default color
Note
True move will not work for a user defined customized zone.
The zone size cannot be larger than half the distance to the preceding or succeeding
target in the path. If a larger zone is specified, the robot automatically reduces it.
The zonedata of zones that are red or purple when visualized with Show actual
zones are replaced by the largest possible standard zone data, for example, if the
largest possible zone is 123 mm, then the zonedata is replaced by z100.
To reduce zone size, follow these steps:
1 In the Paths&Targets browser or the graphics window, select the path.
2 Right-click and select Path and then select Reduce zones to access this
option.
14.21 Invert
Jumping to a target
1 In the Paths&Targets browser, browse to the target to jump to through the
Controller, Tasks and WorkObjects nodes.
2 Click Jump to target.
If the target has a valid configuration for the robot axes stored, the active
TCP of the robot will immediately be positioned at the target. If no valid
configuration is stored, the Select Robot configuration dialog box is
displayed.
3 In the Select Robot Configuration dialog box, select a suitable configuration
solution and click Apply. The selected configuration is now stored with the
target.
Note
You can deactivate the configuration check when jumping to targets. The robot
will then use the configuration solution closest to the current one when reaching
the target. For more information, see Options on page 217.
Overview
The Linked Geometry feature allows you to load geometry from a shared repository.
If the source file is updated, then the station will be updated with a single click.
Adding Link
You can add a link to a geometry in two ways:
1 In the Home tab, click Import Geometry to open a dialog box.
Select the option Link to Geometry.
2 In the Layout browser, right-click an existing part in the station and select
Add Link.
A dialog box opens where you can select the CAD file to be linked.
Editing Link
To edit an existing link:
1 In the Layout browser, right-click an existing part in the station.
2 Select the option Link to Geometry and click Edit Link.
Deleting Link
To delete an existing link:
1 In the Layout browser, right-click an existing part in the station.
2 Select the option Link to Geometry and click Delete Link.
Note
Joint Move the joints of the objects by dragging the slider on the row
corresponding to each joint. Alternatively, click the buttons to
the right of the row, or type a value.
Cfg The current configuration value.
TCP The current position of the TCP.
Step Specify the length of the joint movements for each click of the
buttons to the right of each joint row.
External Axis If the robot uses external axes, you can select an axis to jog
from this list. The external axes must belong to the same task
as the object you are jogging for occurring in this list. If no ex-
ternal axes are present in the same task, this list is not avail-
able.
Lock TCP Select this check box to reposition the robot according to the
jogging of the external axis.
For track-external axes the robot will reposition so that the TCP
is locked relative to the world coordinate system.
For positioner-external axes the robot will reposition so that
the position of the robots TCP is locked relative to the attach-
ment point of the positioner. The robot will move with the posi-
tioner the same way as when using multi-robot jog.
If no external axes are present in the same task, this check
box is not available.
External axes joint Move the joint of the external axes by dragging the slider on
the row corresponding to each joint. Alternatively, click the
buttons to the right of the row, or type a value.
If no external axes are present in the same task, this check
box is not available.
Jogging a conveyor
Note
Using the following step, you can attach a workobject to the conveyor:
Click Workpiece source, right-click the part and then select Attach Workobject
and then click workobject.
1 In the Layout browser, click the Conveyor node.
2 Right-click Conveyor and then select Conveyor Jog.
The Conveyor Jog tab opens.
Continues on next page
Operating manual - RobotStudio 509
3HAC032104-001 Revision: U
Copyright 2008-2017 ABB. All rights reserved.
14 Context menus
14.25 Mechanism Joint Jog
Continued
Jogging the TCP of a robot by using the Linear Jog dialog box
1 In the Layout browser, select the robot.
2 Click Mechanism Linear Jog to bring up a dialog box.
3 Each row in the Linear Jog dialog box represents a direction or rotation for
the TCP. Jog the TCP along the preferred direction or rotation, either by
clicking and dragging the bar at each row, or by using the arrows to the right
of each row.
4 From the Reference list, you can select the coordinate system that you want
to jog the robot relative to.
5 In the Step box, specify the step movement per deg/rad.
Duplicate Select this option to keep the existing path when mirroring.
Replace Select this option to remove the existing path after mirroring.
X-Y, X-Z and Y-Z Select the plane to mirror the path around with these options.
The plane is defined by the selected axes and position of the
reference coordinate system selected below.
Reference Select the frame or coordinate system to define the mirror plane
in.
To use another frame than any of the predefined ones, select
Select Frame from the list and specify the frame in the box
below.
Select Frame If Select Frame is used as Reference frame, specify the frame
to use here by first clicking in the box and then selecting the
frame from the graphics window or the Layout browser.
Flip axis X/YZ Select one of these options to mirror the orientation of the tar-
gets. When any of these are selected, the robot will approach
the targets in a mirrored way.
The axis you select will change the most for achieving the
mirrored orientation, while the other one will be kept as near
to its current direction as possible.
The axis that is set to the robots approach vector cannot be
selected.
Keep orientation Select this option to keep the orientation of the targets. When
selected, the robot will go to the mirrored position, but approach
the target from the same direction as for the original target.
Mirror Robot Configura- Select this option to also mirror the robot axis configuration
tion for the targets. Selecting this option will mirror the robots mo-
tions completely.
For using this option, the following conditions must be met:
The Reference frame must be set to Baseframe.
The Mirror plane must be set to X-Z.
The tool of each move instruction must have its TCP in
the X-Z plane of tool0.
All targets in the path must have robot axis configuration
set.
The virtual controller must be running.
More / Less Click this button to show or hide the commands for naming
and location of generated targets and paths.
New path name Specify the name of the path that will be generated by the
mirroring here.
Target prefix Specify a prefix for the targets that will be generated by the
mirroring here.
Receiving robot Specify the robot task in which the new targets and path shall
be created.
Receiving work object Specify the work object in which the new targets shall be cre-
ated.
14.28 Mirror
Mirroring a part
1 In the Layout browser, select the part to mirror and right-click.
2 Select Mirror and then click one of the following options from the context
menu:
select... to create a new part..
Mirror YZ around YZ plane
Mirror ZX around ZX plane
Mirror XY around XY plane
Note
The mirror feature is applicable only to objects of type body and part that contains
geometry. Parts and and bodies that are imported without geometry cannot be
mirrored. See Libraries, geometries and CAD files on page 41.
For information on mirroring a path, see Mirror Path on page 512.
Overview
The following table provides an overview of the generic content available in the
Modify Curve dialog box.
Extend Extend a curve at any vertex with a straight line in the direction
of the curves tangent.
Join Join two or more curves into one. The original curves will be
deleted when joining curves.
Project Project a curve onto a surface or a body, creating a new curve
on the target part.
Reverse Reverse the direction of curves.
Split Split a curve in two bodies. Only open curves can be split.
Trim Cut a segment of a curve between intersection or end points.
Extending a curve with a straight line in the direction of the curves tangent
1 Click the Modify curve and then select Extend Curve from the drop down
menu.
The Extend Curve menu opens.
2 Click the curve you want to extend.
3 In the From start vertex and From end vertex boxes, type or select the
required length you want to extend the curve. In the graphics window a yellow
line displays a preview of the extension.
4 Click Apply.
Joining curves
1 Click the Modify curve and then select Join Curves from the drop down
menu.
The Join Curves menu opens.
2 Click the curves to join in the graphics window. The curves may be either
intersecting or adjacent to be joined.
The Selected curves list displays the curves that will be joined. To remove
a curve from the list, select the list entry and press the DEL key.
3 In the Tolerance box, enter a value. Adjancent curves whose end points lie
within the tolerance will be valid for the operation.
4 Click Apply.
Reversing curves
1 Click the Modify Curve and then select Reverse Curve from the drop down
menu.
The Project Curves menu opens.
2 Click the curves to reverse in the graphics window.
Note that when you rest the pointer over a curve, the current direction of the
curve is displayed by yellow arrows.
The Selected curves list displays the curves that will be reversed. To remove
a curve from the list, select the list entry and press the DEL key.
3 Click Apply. The curves will now be reversed.
Splitting a curve
1 Click the Modify Curve and then select Split Curve from the menu to open
the tool.
2 Click the curve at the point to split at. Only open curves can be split.
Note that when you rest the pointer over the curve, point of the split is
highlighted. This point is affected by the current snap mode setting.
3 Click Apply. The curve will now be split to two separate curves in the same
part.
Trimming a curve
1 Click the Modify Curve and then select Trim Curve in the menu to open the
tool.
2 Click the curve segment to trim.
Trim only works on single curves with intersection points. If you want to trim
a curve that intersects with another curve, first join the two curves.
3 Click Apply. The selected part of the curve will now be removed.
4 Click Apply.
< Jog the joint of the external axis corresponding to each row by
clicking the < button.
> Jog the joint of the external axis corresponding to each row by
clicking the > button.
value box Enter the axis value for the corresponding joint of the external
axis in the value box.
<- With the arrow left button, you transfer the value from the Eax
box to the corresponding value box.
-> With the arrow right button, you transfer the value from the
value box to the corresponding Eax box.
Eax Specify the value of the corresponding joint of the external
axis.
Modifying an instruction
1 In the Paths&Targets browser, select the instruction you want to modify. If
you want to apply the same properties to several instructions, press the
CTRL key and select them.
2 Click Modify Instruction to bring up a dialog box.
3 For move instructions, select joint or linear motion in the Motion type list.
4 In the Instruction Argument group, modify the values for the instruction.
For details about each argument, see the selected instruction in the RAPID
Reference Manual. For an overview of the arguments for move instructions,
see below.
5 When you have finished modifying, click Apply.
It is possible to change common move instruction parameters such as speed, zone
and tool without opening the edit instruction tool using the context menu. Right-click
any move instruction, then select Modify Instruction to access Speed, Zone or
Tool.
Modifying tooldata
1 In the Layout browser, select the tooldata you want to modify.
2 Click Modify Tooldata to bring up a dialog box.
3 In the Misc Data group:
Modify the Name of the tool.
Select if the tool is to be held by the robot in the Robot holds tool list.
4 In the Tool Frame group:
Modify the Position x, y, z of the tool.
Modify the Rotation rx, ry, rz of the tool.
5 In the Load Data group:
Enter a new Weight for the tool.
Modify the Center of gravity for the tool.
Modify the Inertia for the tool.
6 In the Sync Properties group:
In the Storage type list, select PERS or TASK PERS. Select TASK
PERS if you intend to use the tooldata in MultiMove mode.
In the Module list, modify the module in which to declare the tooldata.
7 Click Apply.
Modifying a workobject
1 In the Layout browser, select the workobject you want to modify.
2 Click Modify Workobject. to bring up a dialog box.
3 In the Misc Data group, modify the values for the workobject:
Enter a Name for the workobject.
In the Robot holds workobject list, select True or False. If you select
True, the robot will move the work piece instead of the tool.
In the Moved by mechanical unit list, select the mechanical unit with
which the robot movements are coordinated. This setting is only valid
when Programmed has been set to False.
In the Programmed list, select True or False. True means that the
workobject will use a fixed coordinate system, and False that a movable
coordinate system (that is, coordinated external axes) will be used.
4 In the User Frame group, do one of the following:
Modify the user frame by entering values for the Position x, y, z and
the Rotation rx, ry, rz for the workobject. Click in one of these boxes,
and then click the position in the graphics window to transfer the values.
Modify the user frame by using the Frame by points dialog box, see
Frame from Three Points on page 237 .
5 In the Object Frame group, do one of the following:
Modify the object frame by selecting values for Position x, y, z and
Rotation rx, ry, rz for the workobject.
Modify the object frame by using the Frame by points dialog box.
6 In the Sync Properties group, modify the values for the workobject:
In the Storage type list, select PERS or TASK PERS. Select TASK
PERS if you intend to use the workobject in MultiMove mode.
In the Module list, select the module in which to declare the workobject.
7 Click Apply.
Note
If you change the position of a workobject that is used in a program, you have
to synchronize the affected paths to the virtual controller; otherwise, the program
will not be updated.
Prerequisites
At least one path must have been created in the station.
A virtual controller must be running for the robot to move along the path.
Prerequisites
At least one joint position must be defined.
Only one mechanism may be selected at a time.
Moving to a pose
1 In the Layout browser, select one mechanism to move.
2 Click Move to Pose and then click one of the available poses. In the graphics
window, the mechanism will move to the pose.
14.38 Place
Placing an item
1 Select the item you want move.
2 Click Place and then click one of the commands to bring up a dialog box.
If you want to move the item Choose
from one position to another without af- One Point
fecting the orientation of the object.
Select the axes to be affected.
according to the relationship between a Two Points
start and a finish line.
The object will move to match the first
point, then it will rotate to match the
second point.
according to the relationship between a Three Points
start plane and a finish plane.
The object will move to match the first
point, then it will rotate to match the third
point.
from one position to a target or frame Frame
position and simultaneously change the
orientation of the object according to the
frame orientation.
The position of the object changes accord-
ing the orientation of the to-point coordin-
ate system.
from one frame of reference to another Two Frames
Primary Point - From Click in one of these boxes, and then click the primary point
in the graphics window to transfer the values to the Primary
Point - From boxes.
Primary Point - To Click in one of these boxes, and then click the primary point
in the graphics window to transfer the values to the Primary
Point - To boxes.
Point on X-Axis - From Click in one of these boxes, and then click the point on the x
axis in the graphics window to transfer the values to the Point
on X-Axis - From boxes.
Point on X-Axis - To Click in one of these boxes, and then click the point on the x
axis in the graphics window to transfer the values to the Point
on X-Axis - To boxes.
Translate along these Select whether the translation is to be performed along the X,
axes Y or Z axis, or several of the axes.
Select Frame Specify the name of the frame with which you want to place
the object.
You can protect a Smart Component from being edited. To protect the smart
component, right-click the smart component, and then click Protected. You can
also optionally specify a password that will be required to unlock the component
for edits.
For more information on protected smart components, see Protecting a Smart
Component from edits in the section Smart Component on page 284.
Note
Renaming targets
1 In the Paths & Targets browser, select the targets to rename.
To rename all targets in one or several paths, select the paths that contain
the targets.
2 Click Rename targets to bring up a dialog box.
3 In the Target Prefix box, enter a text string to precede the target numbers.
4 Optionally, in the Increment box and the Start with box, change the
numbering series for the target names.
5 Optionally, in the Target Suffix box, enter a text string to follow the target
numbers.
6 Click Apply.
Both target sequence and move instructions are reversed in a way that corresponds
to recording the robot movements and playing the movie backwards. For example,
if the robot used a linear motion to move from a target, it will use a linear motion
to move to the target after the reversal.
xx050047
Note that the move instructions have changed together with the targets. For
example, in the original path, a joint motion was used to reach target 20 and a
linear motion to leave it. After the reversal there is a linear motion to the target and
joint motion from it.
Also, note that the joint target has been converted into an ordinary target; otherwise,
it would not be possible to program a linear motion to that position.
Note
14.43 Rotate
Rotating an item
1 Select the item you want to rotate.
2 Click Rotate to bring up a dialog box.
3 Select the reference coordinate system you want to use:
If you want to move the item Select
absolute in the coordinate system of the World
station
relative to the coordinate system of its Parent
parent
relative to its own coordinate system Local
relative to the user-defined system UCS
relative to an axis defined by two points User defined axis
relative to a target reference frame Target Reference Frame
Note that this option is available only for
targets.
4 Specify the rotation of the item in the Rotate around x, y, z by first clicking
in one of the boxes, and then click the center position in the graphics window
to transfer the values.
5 If you have selected the coordinate system User defined axis, specify the
Axis start point x, y, z and the Axis end point x, y, z.
6 Specify the Rotation of the item and the axis around which the rotation is to
occur.
7 Click Apply.
Rotating a paths
1 In the Layout browser or the graphics window, select the paths to rotate.
2 Click Rotate path to bring up a dialog box.
3 In the Reference frame list, select the frame to rotate the paths around.
Select To
World rotate around the stations world coordinate system
Baseframe rotate around the robots baseframe
UCS rotate around a frame or target that previously has been
set to User Coordinate System.
Select Frame rotate around an existing target or frame other than the
listed ones. When using Select Frame, specify the frame
to rotate around further down.
4 If Selected frame was selected in the Reference frame list, specify a frame
or target in the text box by clicking in the box and then selecting the frame
in the graphics window.
5 With the Rotation axis options, select the axis of the frame to rotate around.
6 In the Rotation angle box, enter the rotation.
7 Click Apply.
5 In the Position X, Y, Z boxes, either type the new position or, click to select
it in one of the value boxes and then click the point in the Graphics window.
6 Type the Orientation.
7 Click Apply.
Positioning an item
1 Right-click the item you want to move.
2 Click Set Position to bring up the Set Position dialog box.
3 In the dialog box, select the reference coordinate system you want to use:
If you want to move the item Select
relative to its own coordinate system Local
relative to the coordinate system of its Parent
parent
absolute in the coordinate system of the World
station
relative to a user-defined coordinate sys- UCS
tem
relative to a target reference frame Target Reference Frame
This option is available only for targets.
4 In the Position X, Y, Z boxes, either type the new position, or select it by first
clicking in one of the value boxes and then clicking the point in the graphics
window.
5 Specify the Orientation for the item.
6 Click Apply.
Note
Translating a path
1 In the Paths&Targets browser or the graphics window, select the paths to
translate.
2 Click Translate path to bring up a dialog box.
3 In the Reference frame list, select the coordinate system to use as reference
for moving the paths.
Select To
World move relative to the origin of the world coordinate system
Base Frame move relative to the origin of the robots baseframe
UCS move relative to the origin of a frame or target that previ-
ously has been set to User Coordinate System.
Select Frame move relative to the origin of an existing target or frame
other then the listed ones. When using Select Frame,
specify the frame to use further down.
Point to Point move the path from one point to another without specify-
ing any coordinate system.
4 If Select frame was selected in the Reference frame list, specify a frame or
target in the text box by clicking in the box and then selecting the frame from
the graphics window.
5 In the Translation vector box, specify the distance to move the path along
the X, Y and Z axes of the reference frame.
Translation vector is applicable only if a reference frame is used. If Point to
Point is used as reference, specify the start and end points for the translation,
instead. To do this, click in one of the boxes for the point to specify and then
select the point in the graphics window, or type the coordinates of the point.
6 Click Apply.
15 ScreenMaker tab
15.1 Introduction to ScreenMaker
What is ScreenMaker?
ScreenMaker is a tool in RobotStudio for developing custom screens. It is used to
create customized FlexPendant GUIs without learning Visual Studio development
environment and .NET programming.
GUI concepts
xx0800000226
A GUI makes it easier for people to work with industrial robots by presenting a
visual front end to the internal workings of a robotic system. For FlexPendant GUI
applications, the graphical interface consists of a number of screens, each
occupying the user window area (the blue box in the figure above) of the
FlexPendant touch screen. A FlexPendant screen is then composed of a number
of smaller graphical components in a design layout. Typical controls (sometimes
referred as widgets or graphic components) include buttons, menus, images, and
text fields.
Note
FlexPendant concepts
xx0800000228
Running Windows CE, the ABB FlexPendant has limited CPU power and memory
compared to a PC. A custom GUI application must therefore be placed in the
designated folders on the controller hard drive before being loaded. Once loaded,
it can be found in the ABB menu as seen in the figure above. Click the menu item
to launch the GUI application.
As the robot controller is the one actually controlling the robot and its peripheral
equipment by executing a RAPID program, a GUI application needs to communicate
with the RAPID program server to read and write RAPID variables and set or reset
I/O signals.
It is essential for RAPID programmers to understand that there are two different
levels controlling a work cell: an event-driven GUI application running on the
FlexPendant, and a sequential RAPID program running in the controller. These
reside on different CPUs and use different operating systems, so communication
and coordination are important and must be carefully designed.
Limitations
ScreenMaker supports English language when building the application in
RobotStudio. ScreenMaker Designer does not provide a localization tool. Therefore,
applications created with ScreenMaker display the same text specified at the design
time, regardless of the choice of language on the FlexPendant.
When Asian languages are used (Chinese, Japanese, Korean), these screens
display accurately only when the FlexPendant language matches with the the
ScreenMaker language. Otherwise empty markers will be displayed instead of text
characters.
Overview
This section presents an overview of the ScreenMaker development environment
for creating user screens.
en0900000584
Parts Description
1 Ribbon Displays group of icons organized in a logical sequence
of functions. See Ribbon on page 543.
2 Project explorer Shows the active screen project and lists the screens that
are defined in the project. For more information, see
Managing projects on page 547.
3 Design area Layout to design the screen with the available controls.
4 Output window Displays information about the events that occur during
ScreenMaker development.
5 ToolBox / Properties Displays a list of available controls. For more information.
see ToolBox on page 544.
Contains the available properties and events of the selec-
ted control(s). The value of the properties can either be a
fixed value or a link to an IRC5 data or an Application
Variable. For more information, see Properties window on
page 546.
Ribbon
The ScreenMaker tab contains groups of commands organized in a logical sequence
of functions that facilitates the user in managing ScreenMaker projects. The tab
consists of the following groups:
Group Functions used for
Project Managing a ScreenMaker project. See Managing projects on
page 547.
Add Adding screen and application variables. See Managing screens
and Managing application variables on page 566.
Build Building a project. See Building a project on page 559.
Controller Connecting and deploying to the controller. See Connecting
to controller on page 558 and Deploying to controller on page 559.
Also for opening the Virtual FlexPendant.
Arrange Re-sizing and positioning the controls on the design area. See
Arrange on page 543.
Diagnosis Detecting problems in the project and providing a diagnostic
solution. See ScreenMaker Doctor on page 570.
Close Closing a project.
Arrange
This toolbar displays icons for resizing and positioning controls on the design area.
The icons are enabled once you select a control or group of controls on the design
area.
en0900000592
ToolBox
ToolBox acts a container for holding all the available controls that can be placed
on a screen.
en0900000407
The following table displays the GUI controls that can be dragged to the design
area.
Control Description
ActionTrigger Allows to run a list of actions when either a signal or rapid data
changes
BarGraph Represents an analog value in a bar
Button Represents a control that can be clicked.
Provides a simple way to trigger an event, and is commonly
used to execute commands. It is labeled either with text or an
image.
CheckBox Allows multiple selections from a number of options. They are
displayed as a square box with white space (for unselected)
or as a tick mark (for selected).
Control Description
ComboBox Represents a control that enables to select items from a list
Combination of a drop-down list and a textbox. It allows you
to either type a value directly into the control or choose from
the list of existing options.
It is not possible to add I/O signals to the combobox/listbox
control.
CommandBar Provides a menu system for a ScreenForm
ConditionalTrigger Allows to define conditions while defining action triggers. An
action is triggered, if there is any change in value of the data
bound.
ControllerModeStatus Displays the mode of the Controller (Auto - Manual)
DataEditor Represents a text box control that can be used to edit the data.
Graph Represents a control that plots data with lines or bars.
GroupBox Represents a Windows control that displays a frame around a
group of controls with an optional caption.
Is a container used to group a set of graphic components. It
usually has a title at the top.
LED Displays a two states value, like a Digital Signal.
ListBox Represents a control to display a list of items.
Allows the user to select one or more items from a list con-
tained within a static, multiple line text box.
NumEditor Represents a text box control that can be used to edit a number.
When the user clicks it, a Numpad is opened.
It is not recommended to add a NumEditor in a container con-
trol.
NumericUpDown Represents a spin box that displays numeric values.
Panel Used to group collection of controls.
PictureBox Represents a picture box control that displays images.
RadioButton Allows to select only one of a predefined set of options.
RapidExecutionStatus Displays the execution status of the Controller Rapid Domain
(Running - Auto)
RunRoutineButton Represents a Windows button control that calls a RapidRoutine
when clicked
Switch Displays and lets change a two states value, like a Digital
Output Signal.
TabControl Manages a set of tab pages.
TpsLabel Very commonly used widget that displays text, a label is usually
static, that is, it has nointeractivity. A label generally identifies
a nearby text box or other graphic component.
VariantButton Used to change the values of RAPID variables or Application
variables.
Note
For more information on using these controls and their properties, see the section
Development environment on page 542 and the chapterUsing the FlexPendant
SDK of the Application manual - FlexPendant SDK.
Continues on next page
Operating manual - RobotStudio 545
3HAC032104-001 Revision: U
Copyright 2008-2017 ABB. All rights reserved.
15 ScreenMaker tab
15.2 Development environment
Continued
Properties window
A control is characterized by its properties and events. Properties describe the
appearance and behavior of the component, while events describe the ways in
which a control notifies its internal state change to others. By changing the value
of a property, the controls have a different look and feel, or exhibit different behavior.
en0900000408
Element Description
1 Graphical component name panel Displays the selected component, and lists the
available components of the active design
screen.
2 Properties window toolbar
en0900000409
Overview
This section describes how to manage projects in ScreenMaker. A complete cycle
includes creating, saving, building, connecting, and deploying a ScreenMaker
project.
You can manage a project (create, delete, load, or save) either from the
ScreenMaker ribbon or the context menu.
Note
You can create a new project either from ScreenMaker installed templates
or ScreenMaker custom templates.
Note
If you select the template Basic, a project with two screens are created.
If you select the template Standard, a project with four screens are
created.
If you select the template Extended, a project with six screens are
created.
Continues on next page
Operating manual - RobotStudio 547
3HAC032104-001 Revision: U
Copyright 2008-2017 ABB. All rights reserved.
15 ScreenMaker tab
15.3.1 Managing projects
Continued
WARNING
2 Browse to the location of the project file or template file to be loaded and
click Open.
Note
You can also load an existing project using a quick access method.
1 Click Recent from the ScreenMaker ribbon or right-click Project context
menu and select Recent Projects.
2 Select the project file from the list of most recently opened projects.
Saving a project
To save a project or template, follow this step:
Click Save from the ScreenMaker ribbon or right-click Project context menu
and select Save.
To save the existing project or template with a new name, follow this step:
Click SaveAs from the ScreenMaker ribbon or right-click Project context
menu and select SaveAs.
Note
Designing screens
This section describes adding, copying, renaming, deleting, and editing a screen.
Overview
The Form designer is a tool to edit or design a screen. It allows you to design the
screen with the required controls and the design area resembles a FlexPendant
screen.
Editing a screen
To edit a screen, follow these steps:
1 Drag a control from the toolbox and drop it on the design area.
The Properties window displays all the properties of the control.
2 Select the control and resize or reposition for configuration.
Note
3 Click the smart tag on the upper right corner of the control to perform the
basic tasks of configuration. See Configuring data binding on page 567.
Note
ActionTrigger
An action trigger initiates an event, such as making a hidden object visible when
an action is performed using a control. It allows to run a list of actions when the
property value changes. The property value can be bound to a signal, rapid data,
or application variable.
ActionTrigger control can also be used to invoke the application from RAPID.
Use this procedure to add an ActionTrigger control::
Action
1 Drag an ActionTrigger control from the ToolBox on to the design area.
Action
2 You can modify the name, set the default value and configure data binding value
for a ActionTrigger control.
To set the values of a property, see Properties window on page 546.
You can set the trigger event for an ActionTrigger to any of the event handler
created either from a control or from an Events Manager option.
To configure the data binding values, see Configuring data binding on
page 567.
To set the application variables, see Managing application variables on
page 566.
Note
An action is not triggered when the screen is launched for the first time, but is
triggered when there is a difference in the bound value at any point of time. This
functionality is supported only in RobotWare 5.12.02 or higher.
Example: Consider a signal being bound to the value property. The value of the
signal changes at runtime on performing a specific action. The event handler
configured for ActionTrigger control gets triggered based on this signal value
change.
TpsLabel
TpsLabel is a standard Windows label that displays a descriptive text.
Use this procedure to add a TpsLabel control:
Step Action
1 Drag a TpsLabel control from the ToolBox on to the design area.
2 You can set the values, setup events, configure data binding values and set the
application values for a TpsLabel control.
To set the values of a property, see Properties window on page 546.
To set up the events, see Defining Events on page 554.
To configure the data binding values, see Configuring data binding on
page 567.
To set the application variables, see Managing application variables on
page 566.
3 You can set the option Allow Multiple States to true and change the property.
1 Click Allow Multiple States. The StatesEditor dialog box appears.
2 Click the check-box Allow Multi-States, select the properties to change from
Properties For States and click OK.
Panel
Panel is used to group a collection of controls.
Use this procedure to add a Panel control:
Step Action
1 Drag a Panel control from the ToolBox on to the design area.
2 You can add a group of controls to a panel.
Step Action
3 You can modify the name, set the default value and binding value for a Panel control.
To set the values of a property, see Properties window on page 546.
To set up the events, see Defining Events on page 554 .
To configure the data binding values, see Configuring data binding on
page 567.
To set the application variables, see Managing application variables on
page 566.
Note
ControllerModeStatus
ControllerModeStatus displays the mode of the controller (Auto - Manual).
Use this procedure to add a ControllerModeStatus control:
Step Action
1 Drag a ControllerModeStatuscontrol from the ToolBox on to the design area.
2 You can set the values, setup events, configure data binding values, and set the
application variables for a ControllerModeStatus control.
To set the values of a property, see Properties window on page 546.
To set up the events, see Defining Events on page 554.
To configure the data binding values, see Configuring data binding on
page 567.
To set the application variables, see Managing application variables on
page 566.
3 You can select the image to be displayed when the controller is in Auto mode and
in Manual mode.
Click AutoImage in the Properties window and browse to select the image
to be displayed in Auto mode.
Click ManualImage in the Properties window and browse to select the image
to be displayed in Manual mode.
RapidExecutionStatus
RapidExecutionStatus displays the execution status of the Controller Rapid Domain
(Running - Auto). This control is used
Use this procedure to add a RapidExecutionStatus control:
Step Action
1 Drag a RapidExecutionStatus control from the ToolBox on to the design area.
2 You can set the values, setup events, configure data binding values, and set the
application values for a RapidExecutionStatus control.
To set the values of a property, see Properties window on page 546.
To set up the events, see Setup Events.
To configure the data binding values, see Configuring data binding on
page 567.
To set the application variables, see Managing application variables on
page 566.
Step Action
3 You can select the image to be displayed when the Program is running and is
stopped.
Click RunningImage in the Properties window and browse to select the image
to be displayed when the Program is running.
Click StoppedImage in the Properties window and browse to select the image
to be displayed when the Program is stopped.
RunRoutineButton
RunRoutineButton represents a Windows button that calls a RapidRoutine when
clicked.
Note
To call a routine containing movements, you are not recommended to use the
RunRoutine Button control. Instead use a normal button control to call a Trap
routine. In the Trap routine, use instructions such as StopMove, StorePath,
RestorePath and StartMove to control the movements of the robot.
Use this procedure to add a RunRoutineButton control:
Step Action
1 Drag a RunRoutineButton control from the ToolBox on to the design area.
2 Click the smart tag on the RunRoutineButton and select one of the following Run-
RoutineButtonTasks.
Define Actions before calling Routine
Select Routine to call
Define Actions after calling Routine
3 Click Define Actions before calling Routine to define an action/event before calling
the routine.
The Events Panel dialog box appears.
4 Click Define Actions after calling Routine to define an action/event afterre calling
the routine.
The Events Panel dialog box appears.
5 Click Select Routine to call.
The Controller Object Binding dialog box appears.
6 In the Properties window, set the value for the following properties:
RoutineToCall - Set the routine to be called. Indicates the RAPID Routine
that will be called when this button is pressed.
AllowInAuto - Set to True or False. Indicates if the routine could be called
in the Auto mode.
TextAlign - Set to MiddleLeft and MiddleCenter. Indicates the text alignment.
Note the following restrictions:
You cannot bind RunRoutineButton to built-in Service routines.
Only user defined procedures with no arguments can be bound.
Set the PP to task before performing action through RunRoutineButton.
CommandBar
CommandBar allows you to add menu items in a controlled and organized order.
Use this procedure to add menu items to the CommandBar control:
Step Action
1 Drag a CommandBar control from the ToolBox on to the design area.
The CommandBar appear at the bottom of the screen.
2 Click the smart tag on the CommandBar and select Add/Remove Items.
The MenuItem Collection Editor window appears.
3 Click Add.
A new menu item is added and its properties are displayed which can be edited.
Note that while editing the menu item, ensure that the property Text is filled. If not,
nothing appears on the CommandBar.
4 To remove the menu item, select the menu item and Click Remove.
5 Click Close to close the MenuItem Collection Editor window.
To add an event to a menu item, for example menuItem1 on the command bar,
use this procedure:
Step Action
1 Go to the Properties window and select menuItem1 from the drop-down list.
2 Click Events icon and then double-click the Click event. This opens the Events
Panel dialog for the Click event.
3 Click Add Action from the Events Panel dialog. This opens a sub-list of actions.
4 Click an action from the sub-list of actions to add it to menuItem1's Click event.
Note
ScreenMaker does not support the FlexPendant controls feature to add sub menu
items on CommandBar.
VariantButton
The VariantButton control is a simple button control with additional features and
properties. Using this control, you can change the values of RAPID or Application
variables.
Use this procedure to add the VariantButton control:
Step Action
1 Drag a VariantButton control from the ToolBox on to the design area.
2 You can perform the following VariantButton tasks from the SmartTag:
Define Actions before value change
Define Actions after value change
Step Action
3 You can set the following VariantButton specific properties from the Properties
window:
Select Increment or Decrement from Behavior drop down. The default beha-
vior of VariantButton is Increment.
Select StepRate and set the rate at which the value must be varied.
Select DataType to which the value should be bound and set the value
property of the selected datatype.
Supports only the RAPID datatypes, Num and Dnum. For more information on data
binding, see Configuring data binding on page 567.
4 You can also perform the following common tasks from the Properties windows:
Set BackColor, ForeColor, Location, and Size of the control.
Select True or False from the Visible dropdown to hide or unhide the control.
Select True or False from the Enabled drop down to enable or disable the
control.
ConditionalTrigger
The ConditionalTrigger button defines the condition while defining action triggers.
An action will be triggered if there is a change in the value of the data bound.
Use this prcodedure to add the ConditionalTrigger control:
Step Action
1 Drag a ConditionalTrigger control from the ToolBox on to the design area.
2 You can set the following ConditionalTrigger properties from the Properties window:
Select the condition to execute from the Condition drop down. The following
are the supported conditions AND, OR, XOR, NOT, and EQUAL.
Select True or False from the Enabled drop down to enable or disable the
control.
Select LHS and RHS and bind the data value to Controller Object or Applic-
ation Variable. For more information on data binding, see Data binding on
page 567.
Defining Events
Event handler is a set of actions to be executed after an event occurs.
To set up an event, follow these steps:
1 Select the control for which the event handler is to be defined.
2 Open the Events Panel dialog box in any one of the following ways:
Double-click the control.
Right-click the control, select Events Manager, click Add enter the
name, and click OK and close.
Click smart tag and select the task from the list.
In the Properties window, click Events icon and select the desired
event from the list.
3 Click Add Action to add an action from a predefined list of actions.
The following table lists the set of predefined actions:
Screens Open Screen
Close Screen
4 Select the action from the left window and perform the following:
Click Delete to delete the action.
Click Move Up or Move Down to change the order of execution of
actions.
5 Click OK
Advanced Actions
Call another Action List
Existing event handlers from Events Manager can be reused by other controls
while defining actions for event. You can call another event handler from an existing
event handler.
In the following example, listbox1_SelectedIndexChanged event handler is called
from comboBox1_SelectionIndexChanged event handler.
Select the Show warning message before performing actions check box to have
a warning displayed before you can perform these actions.
Binding can be done only to the application variable. For more information, see
Application variable data binding on page 569.
Note
ScreenMaker allows you to call static methods of the public classes defined in
another DLL. This DLL is usually a class library or a control library. It has the
following limitations and the user should be aware of them while using .Net DLLs.
DLLs references must be in the same directory in order to load the DLL.
ScreenMaker provides access only to the static methods which contain basic
data types such as string, int, double, boolean, object.
The following procedure provides information on creating a .NET assembly. This
assembly can be added as a reference to ScreenMaker Project and for performing
certain computations which are not directly possible using ScreenMaker or to call
methods of FlexPendant or PCSDK.
Use Visual Studio 2010 or above to create a .NET assembly.
1 Create a new project with Class Library as your template.
2 Create public static methods like the following.
namespace SMDotNetMethods
{
public class Methods
{
/// <summary>
/// Inverts a boolean value
/// </summary>
/// <param name ="Value">input boolean value</param>
/// <returns>inverted boolean value</returns>
public static bool InvertBool(bool value)
{
return (value == false);
}
/// <summary>
/// Increments a numerical value
/// </summary>
/// <param name="value">value to be incremented</param>
/// <returns>incremented value</returns>
public static double Increment(double value)
{
return (value + 1);
}
}
}
3 Build the project.
4 Use the assembly generated from this Class Library project.
5 Add it as a reference to the ScreenMaker project.
Note
The applications that uses the option None cannot be run on RobotWare
releases earlier than 5.11.01.
4 In the Display tab under ABB Menu, browse and select the ABB menu image.
5 In the Display tab under TaskBar, browse and select the TaskBar image.
Note
By default, the Use Default Image and Use Menu Image checkbox is
enabled and the deafult image tpu-Operator32.gif is selected.
6 In the Display tab under Startup , select Automatic to load the screen
automatically at the Startup.
Note
7 In the Advanced tab under Run Settings, select Launch virtual FlexPendant
after deploying checkbox.
The virtual FlexPendant will be launched after deploying the ScreenMaker
project to the virtual controller.
Note
8 In the Project Properties dialog, select the General tab to view the project
properties which includes, Name, Assembly, Version and Path.
Version displays the specific versions of Controller and FlexPendant SDK
that the ScreenMaker project uses.
Connecting to controller
Use this procedure to connect to both real and virtual controllers:
1 Click Connect from the ScreenMaker ribbon or right-click Project context
menu and select Connect.
The Select a Robot Controller dialog box appears.
Note
Note
3 Select the controller to be connected from the list and click Connect.
The connection status is displayed in the Project tree view.
To remove the connection with the controller, click Disconnect from the Project
context menu.
Building a project
The result from building the ScreenMaker project is a set of files including DLL file
and images. The ScreenMaker project can be compiled into binary format (.dll)
that can be deployed on a FlexPendant.
Use this procedure to build a project:
1 Click Build from the ScreenMaker ribbon or right-click Project context menu
and select Build
The result is displayed in the output window.
Deploying to controller
Use this procedure to deploy a ScreenMaker project to a real controller or virtual
controller:
1 Connect to the controller you want to deploy to. See Connecting to controller
on page 558.
2 Click Deploy from the ScreenMaker ribbon or right-click Project context menu
and select Deploy Screen to Controller.
The Download dialog box appears displaying the progress of download. It
disappears once the download is successful.
The TpsViewxxxxxx.dll file is downloaded.
3 Restart the controller.
Note
Closing a project
To close a project, follow this step:
Right-click Project context menu and select Close Project.
Closing ScreenMaker
To close ScreenMaker, follow this step:
Click Close ScreenMaker from the ScreenMaker ribbon.
Widget Workflow
Widget created from ScreenMaker can be used in ScreenMaker application and
in Production Screen application.
The following are the steps required to create a Widget in ScreenMaker.
1 Start RobotStudio.
2 Launch ScreenMaker.
3 Create a new Widget Project or open an existing widget project.
For information on how to create a new widget project, see Creating a
ScreenMaker widget project on page 561.
4 Connect to a real or a virtual controller, as required.
5 If required, change the widget properties, using the Widget Properties dialog
box.
For information on the Widget Properties dialog box, see Specifying widget
properties on page 564.
6 Drag-and-drop the necessary user interface components, as you would in a
normal ScreenMaker project.
7 Link the user interface properties to the IRC5 data or to the application
variables
8 Build the widget project. The widget component is created and saved in
...\Documents\RobotStudio\Widget Components folder.
To achieve this:
1 Create a new widget project in ScreenMaker and names it as, for example,
GraphWidget.
2 Drags-and-drop the graph control and other necessary controls on the widget
form.
3 Connect to a real or virtual controller, as required.
4 Bind the controls to the controller data.
5 Use the widget properties dialog box, to change the size of the widget.
6 Build the project
7 Download the output to the production screen.
You can then repeat the above steps to create widgets either in the same or in
different projects based on your need to show the alarms and the status of the
controller.
Note
You can open one widget project at any time. Close an open widget project
before opening a new one.
A widget project has only one screen, the main screen, on which the widgets
are designed. All controls defined on a widget are considered as one widget.
Widgets are loaded into the toolbox from a folder that contains the widget
component DLLs, from Additional Options folder under MediaPool and from
RobotApps Repository. If you delete the widget components from these
locations (...\Documents\RobotStudio\Widget Components), then
the widgets will not appear in the Toolbox.
The Production Screen option is a framework for creating a customized GUI that
can be used to present process data and status and execute FlexPendant
applications.
To run widgets on the Production Screen, FlexPendant Interface option must be
selected. For more information on Production Screen. Use the following procedure
to create the Production Screen widget.
1 In the Screenmaker ribbon, select New. The New Project dialog opens
2 Select Widget Template to create a new widget project.
3 Drag and drop controls to the widget.
4 Select Widget Properties, Widget Properties dialog opens.
5 Under Type, click Production Screen and click OK.
xx1400000275
The ProductionSetup.xml file must be updated with widget details to view the
widget that was created in the Production Screen. You can find ProductionSetup.xml
under $System\HOME\ProdScr and Widget components under
$System\HOME\ProdScr\tps.
An example of widget detail is provided here:
<Widget>
<Name>Widget_9</Name>
<Page>1</Page>
<Assembly>Widget_9.dll</Assembly>
<Type>Widget_9.Widget_9</Type>
<Position>
<X>1</X>
<Y>2<Y>
</Position>
<ZIndex>1</ZIndex>
<Bindings>
<Binding PropertyName ="led1.Value" BindingType="SIGNAL"
DataName="MOTLMP" />
<Binding PropertyName ="button1.Text" BindingType="RAPID"
DataName="T_ROB1/BASE/wobj0" />
</Bindings>
</Widget>
The production screen provides the flexibility to modify bindings of the widget.
This is provided under Bindings tag as shown here:
<Bindings>
<Binding PropertyName ="led1.Value" BindingType="SIGNAL"
DataName="MOTLMP" />
<Binding PropertyName ="button1.Text" BindingType="RAPID"
DataName="T_ROB1/BASE/wobj0" />
</Bindings>
It is possible to create, use and modify the bindings of a widget created from
ScreenMaker and to view the results in Production Screen and in ScreenMaker
application environment.
Overview
Application Variables are variables defined inside a ScreenMaker application. An
application variable is similar to a RAPID variable. It supports the data types
supported by RAPID, such as num, dnum, string, tooldata, wobjdata, and so on.
An application variables definition includes its name, data type and initial value.
During the execution of the ScreenMaker application, an application variable has
a persistent value. It can store values coming from controller data or can be used
to write values to controller data. Therefore, it is like an intermediate persistent
variable which is used during RAPID execution along with other RAPID variables.
Note
For information on application variable data binding, see Data binding on page 567.
Overview
Data binding is the mechanism that links a GUI property with an external data
source such that whenever the data source is updated the GUI property will be
updated automatically and vice verse. Databinding has the following three aspects:
A unidirectional connection means that an update of the data source is
reflected by the GUI, or vice versa; a bidirectional connection means that
updates to either are reflected by the other.
A temporal connection can be suspended and resumed at any time.
A convertable connection negotiates between the different data types or
formats between the data source and the GUI property.
A screen has to be linked with data to be useful. There are two ways of linking the
data with the GUI properties:
Controller object data binding on page 568
Application variable data binding on page 569
Click... to...
Bind to an Application variable select available data in project temporary data store for
binding.
For more information, see Application variable data binding
on page 569.
For more information on RAPID array, see What is RAPID array on page 574.
Note
Overview
ScreenMaker Doctor is a diagnostic solution to detect problems in the ScreenMaker
project. It helps analyze the project and fix errors such as:
Unused events
Broken references, application variables, signals, modules, and Rapid data
RunRoutine issue
Note
In order to detect the signal data and RAPID, ScreenMaker project should be
connected to the controller.
Unused Events
The following sequence of actions will result in creating unused events.
1 Create a ScreenMaker project.
Broken Reference
The following sequence of actions will result in creating broken references.
1 Create a ScreenMaker project.
2 Define events for the controls.
3 Define the events Button1_Click and Button2_Click for the controls
Button1and Button2 respectively.
4 Define action ScreenOpen - Screen2 for the event Button1_Click.
5 Delete or rename the screen. A broken reference is created.
You can run ScreenMaker Doctor to detect and fix this error.
Broken Modules
If modules are bound but not found in the controller connected in the ScreenMaker
project, then perform the following procedure:
1 Create a ScreenMaker project.
2 Connect to a controller.
3 Bind the properties of the controls with controller data.
Continues on next page
Operating manual - RobotStudio 571
3HAC032104-001 Revision: U
Copyright 2008-2017 ABB. All rights reserved.
15 ScreenMaker tab
15.3.4 ScreenMaker Doctor
Continued
RunRoutine Issue
A check is made whether ScreenMaker.sys file is loaded on the controller or not.
An issue is detected if the system module is not loaded.
You can run ScreenMaker Doctor to detect and fix this error.
A System.NullReferenceException appears if ScreenMaker.sys entry is not available
in SYS.CFG file of robot system. To overcome this issue, add the following entry
under CAB_TASKS_MODULES in the SYS.CFG file and save and load the modified
file back into the robot system and then restart the robot system.
File "RELEASE:/options/gtpusdk/ScreenMaker.sys" -ModName
"ScreenMaker"\ -AllTask -Hidden
Actions
Location of output files
The files that contain the FlexPendant application from ScreenMaker are found
(for example) in the bin directory under the My ScreenMaker Projects located in
the My documents directory of the user.
For example, My Documents\My ScreenMaker Projects\SCM_Example\bin where
SCM_Example is the example ScreenMaker project.
The files in the bin directory are to be copied to a location where the Virtual
FlexPendant can read them during the start of the FlexPendant.
Copy files
Copy the files from the ScreenMaker output to the Home directory of the virtual
controller system.
Restart the Virtual FlexPendant and the new application will be loaded.
Actions
This is accomplished by adding an image and allowing the image to have multiple
states.
Set AllowMultipleState to TRUE and set the Image state.
Create two states and add images for each state:
The Value property is extremely important. If binding to a digital input then there
are two states for the input, 0 and 1. Set the Value property to the value of the
bound variable. 0 and 1 for digital input. It is also possible to bind to RAPID variables
and have multiple states and values for the values in the RAPID variable.
Set the SelectedStateValue property to bind to a controller object:
Actions
Create a group or a panel and place the two radio buttons on the group or panel.
For button1, set the property default value to True and bind the property to the
value of the controller digital output signal.
For button2, do not do any changes.
When the screen is loaded, the state of the two radio buttons is established
correctly.
Screen navigation
Screen navigation in ScreenMaker follows a tree structure.
Consider the following example,
To open screen A1, you first have to open Screen A
To navigate from screen A1 to screen B1, you first have to close screen A1
and then Screen A and navigate from Main Screen through Screen B to
screen B1.
Similarly, to navigate from screen B1 to screen C1, you first have to close
screen B1 and Screen B and then navigate from Main Screen through Screen
C to screen C1.
en0900000645
15.5 Tutorial
15.5.1 Overview
Procedure
Use this procedure to design the FlexArc operator panel:
Action Information
1 Create a system for the FlexArc operator panel. Select the following options,
FlexPendant Interface
PC Interface
For more information about creating
a system, see Creating a system from
layout on page 228.
2 Load EIO.cfg and MainModule.mod files. For more information on loading these
files, see Loading a configuration file
on page 398 and Loading a RAPID
module on page 453.
By default:
For Windows XP, the files can
be found at C:\Documents and
Settings\<user name>\My Doc-
uments\RobotStudio\My
ScreenMaker Projects\Tutorial
For Windows 7, the files can be
found at C:\Users\<user
name>\Documents\RobotStu-
dio\My ScreenMaker Pro-
jects\Tutorial
Action Information
3 The following signals are created after loading
EIO.cfg file
IO Type Description Connec-
tion
Dl_Ro- Dl Indicates robot Dl_Ro-
botAtHome at home posi- botAtHome
tion = DO_SIM-
HOME
Dl_RobotAt- Dl Indicates robot Dl_RobotAt-
Bullseye at bull's eye Bullseye =
position DO_SIMBU-
LLS
Dl_RobotAt- Dl Indicates robot Dl_RobotAt-
Service at service posi- Service =
tion DO_SIM-
SERVICE
Dl_PRO- Dl Indicates robot Dl_PRO-
DUCE is producing DUCE =
part DO_PRO-
DUCE
DO_SIM- DO Simulate robot
HOME at home
DO_SIMBU- DO Simulate robot
LLS at bull's eye
DO_SIM- DO Simulate robot
SERVICE at service
DO_PRO- DO Simulate robot
DUCE is producing
part
Gl_JOB Gl The code of Gl_JOB =
ordered job GO_JOB
GO_JOB GO Simulate job
order
4 Create an empty station in RobotStudio with the For more information about creating
system created in the previous step. a station, see New tab on page 211.
5 Launch ScreenMaker from RobotStudio. For more information, see Launching
ScreenMaker on page 386.
6 Create a new ScreenMaker project. For more informaton, see Creating a
new project on page 547.
1 Enter the project name as Flex-
ArcGUI, and save it in the de-
fault location, C:\Users\<user
name>\Documents\RobotStu-
dio\My ScreenMaker Pro-
jects\Tutorial.
2 A new tab MainScreenis added
to the Design Surface.
7 Configure the Project properties. To customize how the GUI should
appear on the FlexPendant, modify
the Project properties. For more in-
formation, see Modifying Project
properties on page 557.
Action Information
8 Connect to the controller. For more information, see Connecting
to controller on page 558.
The result appears in the output win-
dow.
9 Create application variables (temporary vari-
ables) and configure them with the following
data
Name Type Value
MyResetValue Num 0
JobProduce Num 1
JobIdle Num 0
JobBulls Num 2
JobService Num 3
For more information, see Managing application
variables on page 566.
10 Design the Main Screen. For more information, see Designing
the screen on page 580.
11 Build and Deploy the project. For more information, see Building
and deploying the project on page 586.
12 Open virtual FlexPendant and test the GUI In RobotStudio, press Ctrl+F5
to launch the virtual FlexPend-
ant.
Click FlexArc operator panel to
launch the GUI.
Note
2 Drag another GroupBox control from the General category; place it on the
design surface and set the following values in the Properties window.
Property Value
Location 14,170
Size 150,204
Title Part Status
BackColor LightGray
5 Drag a TpsLabel control from the General category; place it in the Part Status
groupbox created and set the following values in the Properties window:
Property Value
Location 16,30
Size 131,20
Text Parts Produced
BackColor LightGray
Font TpsFont10
7 Drag another TpsLabel control from the General category; place it in the Part
Status groupbox created and set the following values in the Properties
window:
Property Value
Location 16,89
Size 131,20
Text Cycle time/part
BackColor LightGray
Font TpsFont10
8 Drag another NumEditor control from the General category; place it in the
Part Status groupbox created and set the following values in the Properties
window:
Property Value
Location 16,115
Size 116,23
Value Link to RAPID variable cycleTime defined in the module
MainModule.
9 Drag a Button control from the General category; place it in the Part Status
group box created and set the following values in the Properties window:
Property Value
Location 33,154
Size 85,34
Text Reset
Perform the following for the Reset button in the Part Status group:
Step Action
1 Double-click the button Reset. The Events Panel dialog box appears which
is used to define the actions for Events.
2 In the Events Panel dialog box, click Add Action; point to Rapid Data and
select Write a Rapid Data.
The Action Parameters dialog box appears; assign Rapid data to the following
value and click OK.
T_ROB1.MainModule.partsReady to MyResetValue.Value
Similarly, assign Rapid data to the following value and click OK.
T_ROB1.MainModule.cycleTime to MyResetValue.Value
Two actions of similar type are needed to perform the Reset action. One is
to reset Rapid variable partsReady to 0, the other is to reset Rapid variable
cycleTime to 0.
10 Drag a PictureBox control from the General category; place it on the design
surface and set the following values in the Properties window:
Property Value
Location 177,28
Size 284,359
SizeMode StretchImage
Image FlexArcCell.GIF
Note
11 Drag another PictureBox control from the General category; place it on the
design surface and set the following values in the Properties window:
Property Value
Location 237,31
Size 48,48
SizeMode StretchImage
Image RobotAtHome.GIF
AllowMultipleStates True
Select Image property from the StatesEditor dialog box.
SlectedStateValue DI_RobotAtHome
States Link State{0} to RobotAtHome_gray.GIF
Link State{1} to RobotAtHome.GIF
Note
12 Drag a Button control from the General category; place it on the design
surface and set the following values in the Properties window:
Property Value
Location 486,66
Size 116,105
Text Start
Font TpsFont20b
BackColor LimeGreen
Enabled Link to DI_RobotAtHome
13 Drag a Button control from the General category; place it on the design
surface and set the following values in the Properties window:
Property Value
Location 486,226
Size 116,105
Text Stop
Font TpsFont20b
BackColor LimeGreen
Enabled Link to DI_PRODUCE
Step Action
3 In the Action Parameters dialog box, assign Rapid data to the following value
and click OK.
T_ROB1.MainModule.JobIdle to JobIdle
14 Drag a Button control from the General category; place it on the design
surface and set the following values in the Properties window:
Property Value
Location 274,246
Size 111,47
Text Bulls Eye
Font TpsFont14b
Enabled Link to DI_RobotAtHome
AllowMultipleStates True
Select BackColor property from the StatesEditor dialog
box
SelectedStates DI_RobotAtBull'sEye
States Link State{0} to Red
Link State{1} to Green
15 Drag a Button control from the General category; place it on the design
surface and set the following values in the Properties window:
Property Value
Location 274,324
Size 111,47
Text Service
Font TpsFont14b
Enabled Link to DI_RobotAtHome
AllowMultipleStates True
Select BackColor property from the StatesEditor dialog
box
SelectedStates DI_RobotAtService
States Link State{0} to Red
Link State{1} to Green
Procedure
1 From the ScreenMaker ribbon, click Build.
For more information on building the project, see Building a project on
page 559.
2 From the ScreenMaker ribbon, click Deploy.
For more information on deploying the project, see Deploying to controller
on page 559.
3 In RobotStudio, press Ctrl+F5 to launch the Virtual Flexpendant and click
FlexArc Operator Panel to open the GUI.
Note
Ensure that you start the RAPID execution and switch the controller into
Auto mode.
A Technical support
Overview
Contacting ABB
If you have any questions or problems with your RobotStudio installation, please
contact your local ABB Robotics Service representative, see
http://www.abb.com/contacts.
License support
For license-related questions, please contact the team responsible for license
support directly at softwarefactory_support@se.abb.com
G M
geometry Manage ScreenMaker project
troubleshoot and optimize, 96 Close ScreenMaker, 560
Go Offline, 417 ScreenMaker Doctor, 16, 543, 570
Grants, about, 163 Manage ScreenMaker Project, 547
Grants, give to groups, 425 Close project, 559
graphics window, 74 Create project, 547
Group, about, 162 Load project, 548
group, add, 424 Save project, 548
group, add user, 423 Manage Screens, 549
group, remove, 425 Managing ScreenMaker Projects
group, rename, 424 Build project, 559
Groups, give grants, 425 MediaPool, 29
Mirror, 513
H Modeling browser, 56
handle events, 205 Modify project properties, 557
date and time, 206 module, 30
event category, 206 move instruction
event code, 206 about, 32
event description, 207 Move instruction
event log list, 205 teach, 258
event title, 206 MoveJ
event type, 205 teach, 258
manage events, 207 MoveL
retrieve controller events, 207 teach, 258
sequential number, 206 MultiMove
programming workflow, 130
I
I/O N
set, 151 near-miss detection, 149
I/O system, 384 network security, 23
I/O signals, 198 network settings, 159
input signals, 198 firewall settings, 159
output signals, 198 local network connection, 159
simulated signals, 198 remote network connection, 159
virtual signals, 198 service port connection, 159
import, 94
import geometry, 234 O
import library, 227 object
instruction, 30 select, 76
about, 32 set local origin, 102
item troubleshoot and optimize, 96
select, 76 Offline and Online browser, 57
Online Monitor, 418
J operator window, 65
jog enabling operator window, 65
mechanism, 111 show virtual operator window, 65
robot, 111 orientations, 117
several mechanisms, 111 align target, 119
jog reorient, 269 copy and apply, 120
jointtarget target normal to surface, 118
creating, 112 unordered, 117
output window, 62
K event types, 62
keyboard shortcuts, 78
General commands, 78 P
part
L set local origin, 102
Layout browser, 53 Password, change for user, 423
LED, 545 path, 114
library about, 32
troubleshoot and optimize, 96 compensating, 115
Load Parameters, 398 creating, 114
local coordinate system creating from curve, 114
set, 102 reversing, 114
local origin rotating, 115
set, 102 setting axis configuration, 114
3HAC032104-001, Rev U, en
ABB AB, Robotics
Robotics and Motion
S-721 68 VSTERS, Sweden
Telephone +46 (0) 21 344 400
ABB Inc.
Robotics and Motion
1250 Brown Road
Auburn Hills, MI 48326
USA
Telephone: +1 248 391 9000
www.abb.com/robotics