3hac032104 001
3hac032104 001
3hac032104 001
Operating manual
RobotStudio
Trace back information:
Workspace RW 7-1 version a2
Checked in 2020-10-13
Skribenta version 5.3.075
Operating manual
RobotStudio
2020.3
Table of contents
Overview of this manual ................................................................................................................... 9
Product documentation .................................................................................................................... 12
Safety ................................................................................................................................................ 14
Network security ............................................................................................................................... 15
1 Getting Started 17
1.1 What is RobotStudio? ........................................................................................ 17
1.2 System Requirements ........................................................................................ 19
1.3 How to activate RobotStudio? .............................................................................. 21
1.4 Connecting a PC to the controller ......................................................................... 28
1.5 Network Settings ............................................................................................... 33
1.6 Managing user rights and write access on a controller ............................................. 35
1.6.1 Managing user rights and write access on an IRC5 controller .......................... 35
1.6.2 Managing user rights and write access on an Omnicore C30 controller ............. 37
1.7 Manage user interface using mouse ..................................................................... 39
1.8 Libraries, geometries and CAD files ...................................................................... 43
1.9 How to install RobotWare and Add-Ins .................................................................. 46
2 Building Stations 49
2.1 Understanding stations and solutions ................................................................... 49
2.2 Preparing the computer for hosting RobotStudio ..................................................... 51
2.3 Creating the station ........................................................................................... 54
2.4 Importing robots and related components .............................................................. 55
2.5 Creating a virtual controller ................................................................................. 56
2.6 Synchronizing to virtual controller to create a RAPID program ................................... 58
2.7 Configuring station with robot and positioner .......................................................... 59
2.8 Configuring station with robot and Track motion ..................................................... 60
2.9 Configuring Conveyor tracking ............................................................................ 61
2.10 Configuring external axis .................................................................................... 64
2.11 Programming MultiMove systems ......................................................................... 67
12 Jobs 221
13 Screenmaker 227
13.1 Introduction to ScreenMaker ............................................................................... 227
13.2 Development environment .................................................................................. 230
13.3 Working with ScreenMaker ................................................................................. 235
13.3.1 Managing projects ................................................................................... 235
13.3.2 Application variables ................................................................................ 253
13.3.3 Data binding ........................................................................................... 254
13.3.4 ScreenMaker Doctor ................................................................................ 256
13.4 Frequently asked questions ................................................................................ 259
13.5 Tutorial ............................................................................................................ 262
A Options 359
B Terminology 367
Index 385
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 into the following chapters:
Chapter Contents
1 Getting Started Contains installation, activation and licensing in-
formation, introduction to feature levels, network
settings and user rights.
2 Building Stations Contains information on how to prepare PC for
hosting RobotStudio, introduction on solution and
stations and building stations. This includes import-
ing and configuring the equipment to be simulated,
as well as testing the reachability for finding the
optimal station layout.
3 Programming robots Describes how to create robot movements, I/O
in the 3D environ- signals, process instructions and logics in a RAPID
ment program for the robots. It also describes how to run
and test the program.
4 Understanding RAP- Describes how to simulate and validate robot pro-
ID editor grams.
5 Testing and Debug- Describes how to debug a task, introduces program
ging RAPID pointer, RAPID breakpoints. RAPID Call Stack
window and using RAPID Watch window for debug-
ging code.
6 Simulating programs Describes simulation setup, playing simulation,
collision detection, collision avoidance and I/O
simulation.
Chapter Contents
7 Advanced simulation Introduces advance features such as Smart Com-
using smart compon- ponents, physics simulation and virtual commission-
ents and physics ing using SIMIT.
8 Deploying and Shar- Describes how to pack and distribute a station.
ing
9 Installing robot con- Contains instructions to work with System builder
troller software and Installation Manager.
10 Working with system Introduces system parameters and contains instruc-
parameters tion for managing instances and configuration files
11 Monitoring robot sig- Introduces signal analyzer and contains instructions
nals for managing signal recordings.
12 Jobs Introduces the Jobs feature and contains instruc-
tions for managing this feature.
13 Screenmaker Describes the ScreenMaker development tool, how
to manage projects in ScreenMaker and various
menus and commands used in the application.
References
Reference Document ID
Operating manual - OmniCore 3HAC065036-001
Technical reference manual - RAPID Overview 3HAC065040-001
Technical reference manual - System parameters 3HAC065041-001
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
L Released with RobotStudio 5.60.
M Released with RobotStudio 5.61.
N Released with RobotStudio 6.0.
P Released with RobotStudio 6.01.
Q Released with RobotStudio 6.02.
R Released with RobotStudio 6.03
S Released with RobotStudio 6.03.01.
T Released with RobotStudio 6.04.
U Released with RobotStudio 6.05.
V Released with RobotStudio 6.06.
W Released with RobotStudio 6.07.
X Released with RobotStudio 6.08.
Y Released with RobotStudio 2019.1.
Z Released with RobotStudio 2019.2.
AA Released with RobotStudio 2019.3.
AB Released with RobotStudio 2019.5.
AC Released with RobotStudio 2020.1.
AD Released with RobotStudio 2020.2.
AE Released with RobotStudio 2020.3.
Product documentation
Categories for user documentation from ABB Robotics
The user documentation from ABB Robotics is divided into a number of categories.
This listing is based on the type of information in the documents, regardless of
whether the products are standard or optional.
All documents can be found via myABB Business Portal, www.myportal.abb.com.
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 corresponding figures (or references to separate spare
parts lists).
• 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, 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 troubleshooters.
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 Safety manual for robot - Manipulator and
IRC5 or OmniCore controller.
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 damage and/or loss related to such security
breaches, any unauthorized access, interference, intrusion, leakage and/or theft
of data or information.
1 Getting Started
1.1 What is RobotStudio?
Overview
RobotStudio is an engineering tool for configuring and programming ABB robots,
both physical robots on the shop floor and virtual robots in a PC. Use this application
for modeling, offline programming, and simulation of robot cells. Its advanced
modeling and simulation features help in visualizing multi robot control, safety
features, 3D vision, and remote robot supervision.
RobotStudio’s built-in programming environment allows online and offline
programming of robot controllers. In online mode, it is connected to a real controller
and in offline mode, it is connected to a virtual controller that emulates a real
controller in a PC.
RobotStudio is downloadable from
http://new.abb.com/products/robotics/robotstudio/downloads. The 30 day basic(trial)
version is free and offers full functionalities including CAD Converters. CAD
Converters are not part of the Premium license and it requires additional options
to be purchased. The Premium version offers complete functionalities and requires
activation. To purchase a Premium license, contact your local ABB Robotics sales
representative at www.abb.com/contacts.
Overview
Before installing RobotStudio, ensure that the computer meets the following
hardware and software requirements.
Hardware
High-performance desktop or laptop workstation, with the following requirements:
Part Requirement
CPU 2.0GHz or faster processor, multiple cores recom-
mended
Memory 8 GB minimum.
16 GB or more if working with heavy CAD models.
Disk 10+ GB free space, solid state drive (SSD) recom-
mended.
Graphics card High-performance, DirectX 11 compatible, gaming
graphics card from any of the leading vendors. For
the Advanced lightning mode Direct3D feature level
10_1 or higher is required.
Display settings 1920 x 1080 pixels or higher resolution is recommen-
ded.
dots per inch (dpi) Only Normal size supported for Integrated Vision.
Mouse Three-button mouse.
3D Mouse [optional] Any 3D mouse from 3DConnexion.
See http://www.3dconnexion.com.
Software
Firewall settings
The firewall settings are applicable to real and virtual controllers. 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.
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 click Help.
Type of licenses
Note
Activation Wizard
The Activation Wizard tool provides activation options during RobotStudio
installation. It provides two activation modes, automatic activation over Internet or
manual activation. When RobotStudio starts for the first time after installation, the
wizard starts automatically and prompts for the activation key. RobotStudio can
be activated after installation or later using the wizard. Use the following steps to
start the Activation Wizard tool.
1 Click the File tab, and then click the Help section.
2 Under Support, click Manage Licenses. The Options dialog appears with
the Licensing options.
3 Under Licensing, click Activation Wizard to view RobotStudio license options.
installer opens these ports in the standard Windows firewall, but any
third-party firewall must be configured manually by the system administrator.
Note
Refer to the latest RobotStudio Release Notes for more information on the
installer requirements.
xx1300000052
To... Use...
Activate a Multi-user license The Activation tab.
manually a Click Manual Activation.
(for PCs without Internet con- b Type in your activation key provided by ABB,
nection) and then click Submit.
c 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 ht-
tp://manualactivation.e.abb.com/ and follow
the instructions given. A license key file gets
generated and will be saved. This file will be
returned to the machine which hosts the in-
stallation.
d After receiving the license file, click Browse
to upload and install the license file.
Your Multi-user 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 On 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.
Action
2 On the Licensing page to the right, click Activation wizard to start the Activation
Wizard.
3 In the Activation Wizard, on the Activate RobotStudio page, choose the option I
want to specify a Multi-user license server and manage server license, and
then click Next.
You will proceed to the License Server page.
4 Specify the name or IP address of the License Server, and then click Finish.
If Windows UAC is enabled, a confirmation dialog appears. This prompts to restart
RobotStudio to start using the specified server.
To go to the SLP Distributor server web interface, click the Open the server
dashboard link.
Note
Note
For Multi-user Licensing to work, the client system should be online with
the server.
Tip
Action
4 In the Commuter License page, select one of the following options as per the requirement:
• Check out a commuter license - In the Check out days box specify the number
of days for keeping the license.
This option is disabled if a commuter license has already been 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 expiry date and time of the license gets displayed.
5 Click Finish to complete the check in/check out.
Tip
Demo Stations
RobotStudio provides a set of demo stations as part of the installation to help
users. Users can open these stations for understanding the basic structure of a
generic station. These stations are stored as pack&go files.
To open a trial station:
1 On the Start menu, select All Programs\ABB\ RobotStudio X. x\ RobotStudio.
2 In the File tab, click Open and start RobotStudio.
3 Browse to \Documents\RobotStudio\Stations.
4 Select any available *.rspag file.
Overview
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 the 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 the 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 operating system
When connecting to the service port: you are running.
• The PC must be set to Obtain an IP
address automatically or set as de-
scribed in Service PC Information
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.
Action Note
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
xx1800000823
MGMT port
The MGMT port(management port) is intended for service engineers and
programmers connecting directly to the controller with a PC.
The management port is configured with the fixed IP address 192.168.125.1, which
is the same for all controllers and cannot be changed, and has a DHCP server that
automatically assigns an IP address to the connected PC.
Note
WAN port
The WAN port is a public network interface to the controller, typically connected
to the factory network with a public IP address provided by the network
administrator.
The WAN port can be configured with fixed IP address, or DHCP, from RobotStudio
or the FlexPendant. By default the IP address is blank.
Some network services, like FTP and RobotStudio, are enabled by default. Other
services are enabled by the respective RobotWare application.
Note
The WAN port cannot use any of the following IP addresses which are allocated
for other functions on the controller:
• 192.168.125.0 - 255
• 192.168.126.0 - 255
• 192.168.127.0 - 255
The WAN port cannot be on a subnet which overlaps with any of the above
reserved IP addresses. If a subnet mask in the class B range has to be used,
then a private address of class B must be used to avoid any overlapping. Contact
your local network administrator regarding network overlapping.
Prerequisites
The PC can be connected 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 the PC
an IP address if it is configured for this. For detailed information, see the 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
Overview
User Authorization System (UAS) restricts user access to the controller data and
functionalites. These functionalities are categorized and protected by UAS grants.
There are two types of grants; controller grants and application grants. Controller
grants are predefined and provided by RobotWare. Application grants are defined
by RobotWare add-ins. These grants are managed using the UAS Administration
Tool.
UAS grants are viewable using the UAS grant viewer. The UAS Grant Viewer page
displays information about the grants of the current user. In the Authenticate menu,
click UAS Grant Viewer to open the viewer.
Group
Group is a collection of grants that represents user roles. The available user roles
are administrator, programmer, operator and user defined. User inherits the grants
of the group it is associated to.
All the controllers have a preset group and preset user named Default Group and
Default User respectively. The Default User has an open password robotics. The
Default Group and User cannot be removed and the password cannot be changed.
However, the user with the user grant Manage UAS settings can modify the
controller grants and application grants of the default user.
You can deactivate the Default User except for RobotWare 6.04 and earlier. Before
deactivating the default user, it is recommended to define at least one user with
the grant Manage UAS settings so as to continue managing users and groups.
Write access
Write access is required to change data on a controller. The controller accepts a
single user with write access at a time. RobotStudio users can request write access
to the system. If the system is running in manual mode, the request for write access
is accepted or rejected on the FlexPendant. User loses write access if the mode
changes from manual to automatic, or vice versa. If the controller is in manual
mode, then the write access can be revoked from the FlexPendant.
4 On the Users tab, click Add. The Add new user dialog opens.
5 In the User Name and Password boxes, enter suitable values. Click OK.
The new user gets added to the Users on this controller list.
6 Select the user, and then from the User's groups, click the Administrator
check box.
7 Click OK. The new user gets added to the Administrator group.
Use the same steps to create users for various groups.
Note
1.6.2 Managing user rights and write access on an Omnicore C30 controller
Overview
The OmniCore controller is delivered with a preset user named Default User. This
user is assigned certain grants by default and it belongs to the role Operator. If a
new user is created with specific grants, the Default User can be removed. An
active Default User has read only rights to the controller data even if all grants are
removed. Hence, to prevent any unauthorized access to OmniCore controller data,
the Default User must be deleted.
The OmniCore controller is delivered with a default configured user, named Admin.
All UAS grants are assigned against this user, such as, adding, removing and
modifying users. The Admin user belongs to the role Administrator by default. You
can deactivate the Admin user. Before deactivating default users, it is recommended
to define at least one user with the grant Manage UAS settings so as to continue
managing users and roles.
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
Using a 3D mouse
The 3Dconnexion 3D mouse has a pressure-sensitive controller cap designed to
flex in all directions. The direction of movement are 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. Connect a 3D mouse to the RobotStudio environment to interact with the
graphical environment.
It is possible to connect the programmable buttons of the 3D mouse to the
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. After configuring the keyboard shortcuts
in RobotStudio, connect the programmable buttons to the keyboard shortcuts in
the 3D mouse applications control panel. For more information, refer the 3D mouse
user manual .
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
xx1900000134
2 In the Graphics window, click the Snap Object icon. This is a multi-snap
mode, snapping to the closest center, edge or corner.
xx1900000137
Click a part in the Graphics view, the entire object will be highlighted. You
can also see the pick point as a white star that has snapped to the closest
center/edge/corner.
3 On the Home tab, in the Freehand group, click the Move button.
xx1900000135
A cross with arrows in the X, Y and Z directions now appear on the part. Drag
the arrows to move the object.
4 On the Home tab, in the Freehand group, click the Jog Joint button and then
select any joint on the robot.
xx1900000136
By pressing the left mouse button on the joint in the Graphics window, the
robot can be jogged in any direction.
2 Optionally, click the desired snap mode icon for the part of the item you wish
to select.
3 In the Graphics window, click the item. The selected item will be highlighted.
Overview
Models of work pieces and equipment are added to RobotStudio for simulating the
station and for further programming. RobotStudio installation provides ABB library
which contains models of ABB robots and related equipment as library files or
geometries. User libraries are imported as geometries to RobotStudio. These files
can be created in RobotStudio.
Components of a geometry
A geometry consisting of several parts is called the Component Group in
RobotStudio. 3D Geometries of a station are displayed in the Layout browser,
under Components as parts. Parts contain bodies. Bodies contain faces (surfaces)
or curves.
Supported 3D formats
The native 3D CAD format of RobotStudio is SAT, it also supports other formats
for which you need an option. The CAD support in RobotStudio is provided by the
software component ACIS. The following table lists the supported formats and the
corresponding options.
Format File extensions Option required Read Write
3DStudio .3ds -
ACIS .sat, .sab, .asat, - X X
.asab
CATIA V4 .model, .exp, CATIA X
.session
CATIA V5/V6 .CATPart, .CAT- CATIA X X
Product, .CGR,
.3DXML
COLLADA 1.4.1 .dae -
DirectX writes .x -
2.0
Note
Refer to the latest Release Notes for the version information of various supported
CAD formats.
To import these files into RobotStudio, use the Import Geometry function.
not work with this type of part. To customize the detail level settings, on the File
tab, click Options and then select Options:Graphics:Geometry.
Options:Graphics:Geometry
Detail Level Specify the level of detail required when importing geometries.
Select Fine, Medium or Coarse as required.
Installing RobotWare
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.
Installing Add-Ins
RobotStudio add-ins are available in the RobotApps window and on the ABB
RobotApps website. The recommended method is to install software is from
RobotStudio.
Note
2 On successful installation, the following option gets added to the tool bar.
xx1900001281
xx1900001282
2 Building Stations
2.1 Understanding stations and solutions
Station
Station document is a .rsstn file that contains data of the robot cell. It stores
information about various station components, station logic including smart
components that controls external components, 3D graphics, CAD data, and data
on the graphical part of the robot program. Station document is linked to the virtual
controller that runs the robot in a station. virtual controller data is external to the
station document.
Solution
Solutions add structure to the station data. It contains folders for structuring station
data so as to keep related data together. Solution contains the station, that is , the
station document is part of the solution structure. By default, RobotStudio provides
solution folders. In the default solution folder structure, files of similar type are
stored in folders. The solution structure is the recommended way for storing station
files. In the solution structure there are dedicated folders for, stations, virtual
controllers, libraries, geometry, RAPID programs, distribution packages, and
backups.
For a new installation of RobotStudio, the solution folder contains the following
subfolders.
xx1800003488
Pack and Go
The Pack and Go file is a single file that packages the station data along with the
related virtual controllers for archiving and for sharing station data with other users.
Note
A station file that includes references to the virtual controllers cannot be moved
to a new location on the local disk. To move a station file to a different location,
create a Pack & Go file of the station from the original location and then move
this file to the new location and then unpack the file.
Overview
Laptops that are configured with switchable graphics adapters are can engage
higher performance graphics adapter for 3D applications, and the energy-efficient
integrated graphics adapter for less demanding tasks. For a laptop with switchable
graphics adapters, ensure that RobotStudio uses the adapter that handles the high
performance discrete graphics. To get the best user experience, it is recommended
to install the latest display drivers available.
Before installing display drivers, check the Windows® Device Manager and verify
that both graphics adapters appear in the list of hardware devices and that they
are enabled. When a driver is not installed for the device, either of the graphics
adapters may appear under Other Devices as a Generic Video Controller. Some
vendors of the graphics adapters provide configuration software for creating
application specific profiles. It is recommended to create a RobotStudio specific
application profile that uses the high-performance graphics adapter.
A second option is to modify the application configuration file,
RobotStudio.exe.config such that RobotStudio uses a specific graphics adapter.
This file is located in the installation folder of RobotStudio, C:\Program Files
(x86)\ABB\RobotStudio x.x. It contains a certain line that controls the type of
graphics adapter to use. Uncomment the following line to set a specific graphics
adapter for 3D graphics, remove the initial "<!--" "-->" in the beginning and at the
end of the line.
<!-- <add key="GraphicsDeviceType" value="Discrete"/> -->
Valid values are Discrete, Integrated, Warp, or Default.
• Discrete : configures the use of the high performance graphics adapter.
• Integrated : configures the energy efficient graphics adapter to be used.
• Default : allows the laptop to choose, but enables logging of graphics adapter
information to the Output window.
• Warp(Windows Advanced Rasterization Platform) : controls software
rendering, for example, use CPU instead of GPU.
A third option which may or may not be applicable to the laptop, is to configure the
graphics adapter to use in the BIOS, refer the user documentation of the laptop
for details.
Document folders
ABB Library is part of the RobotStudio installation. ABB Library contains geometries
of robots and other equipment. Creating a user library and adding user geometry
to those galleries allows you to directly access those libraries and geometries from
the Import Library and Import Geometry galleries in RobotStudio. You can create
folders with such libraries and then add references to make them appear in the
user interface galleries.
Use the following steps to create a gallery for frequently used documents.
1 Start RobotStudio.
2 On the File tab, click New and then double-click Empty Station to open a
new empty station.
The Documents window is part of the default layout. If you are unable to find
the Documents window, on the Quick Access menu, click Windows and
then click Documents.
xx1800003487
To access the Autosave option, on the File tab, click Options and then select
Options:General:Autosave.
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.
Assign default locations for storing the user data, solutions and so on, by selecting
Options:General:Files & Folders.
User Documents location Shows the default path to the project folder.
Solutions location 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.
Document Locations Launches the Document Locations dialog box.
Clear Recent Stations and Clears the list of recently accessed stations and controllers.
Controllers
Additional distribution RobotWare 6 and related RobotWare add-ins media pools are
package location distributed as distribution packages. For RobotStudio to find
them, they need to be located in a specific folder. If the folder
is not specified, the default location is used.
On a Windows installation with English language, the default
folder is C:\User\<user name>\AppData\Local\ABB\Distribution-
Packages.
The location can be customized by entering a search path here.
Download packages to Select this check box to download distribution packages to the
this location user defined location instead of the default folder.
Unpacked RobotWare Shows the default path to the unpacked RobotWare folder.
Location
Media Pool for RobotWare This is where RobotStudio searches for RobotWare 5.xx media
5.x pools.
Overview
The following steps define the workflow for building a new station.
1 Create an empty station.
2 Import a robot model.
3 Add positioners and track motion.
4 Create a virtual controller.
5 Import a tool and attach it to the robot.
6 Create a workobject.
7 Define paths and targets to create a robot program graphically.
8 Synchronize to RAPID to create the RAPID program.
Note
4 Click Create.
The new solution gets created. RobotStudio saves this solution by default.
Importing a library
Use this procedure for importing library files to a station:
1 On the Home tab, click Import Library and select various component libraries.
2 Click User Library to select the user defined libraries.
3 Click Equipment to import predefined ABB libraries.
4 Click Solutions Library to select the predefined solutions.
5 Click Locations to open the Document Locations window.
6 Click Browse for Library to select the saved library files.
• 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.
10 Verify the summary and then click Finish.
If the virtual controller contains more than one robot, the number of tasks
and the base frame positions of the mechanism should be verified in the
Motion Configuration window.
Note
To create a system from layout, all mechanisms such as robots, track motions
and positioners, must be saved as libraries.
Movements of the robot can be programmed using RAPID. A robot which is not
part of a task in a controller cannot be programed, hence configure a virtual
controller for the robot before synchronizing to RAPID.
1 With the station open, in the RAPID tab, click Synchronize.
2 From the options, click Synchronize to RAPID to match objects in the station
to the RAPID code.
In the Controller browser, expand the tree view to find the RAPID node. Click
RAPID node to view the RAPID files.
You can configure a station with robot and positioner using the Virtual Controller
button.
To configure a station with a robot and positioner:
1 Click From Layout to bring up the first page of the wizard.
2 In the Name box, enter the name of the virtual controller. The location of the
virtual controller will be displayed in the Location box.
3 In the RobotWare list, select the version of RobotWare you want to use.
4 Click Next.
5 In the Mechanisms box, select the Positioner that you want to include in the
virtual controller.
6 Click Next.
Tasks can be added and removed using the respective buttons; positioner
can be moved up or down using the respective arrows. To map the positioner
to tasks, follow this step:
7 Optionally, make any edits in the mapping, and then click Next.
The Controller Options page appears.
8 In the Controller Options page, you have the option to align Task Frame(s)
with the corresponding Base Frame(s).
• For single virtual controller, 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 virtual controller contains more than one robot, the number of tasks
and the baseframe positions of the positioner should be verified in the Motion
Configuration window.
Note
To create a system from layout, all mechanisms such as robots, track motions
and positioners, must be saved as libraries.
You can configure a station with robot and track motion using the Virtual Controller
button.
To configure a station with a robot and track motion:
1 Click From Layout to bring up the first page of the wizard.
2 In the Name box, enter the name of the system. The location of the system
will be displayed in the Location box.
3 In the RobotWare list, select the version of RobotWare you want to use.
4 Click Next.
5 In the Mechanisms box, select the track motion that you want to include in
the virtual controller.
6 Click Next.
Tasks can be added and removed using the respective buttons; track motion
can be moved up or down using the respective arrows. To map the track
motion to tasks, follow this step:
7 Optionally, make any edits in the mapping, and then click Next.
The System Option page appears.
8 On the Controller Options page, you have the option to align Task Frame(s)
with the corresponding Base Frame(s).
• For single virtual controller, 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 virtual controller contains more than one robot, the number of tasks
and the base frame positions of the track motion should be verified in the
Motion Configuration window.
Note
To create a system from layout, all mechanisms such as robots, track motions
and positioners, must be saved as libraries.
Overview
Configuring a conveyor tracking involves three steps; creating a conveyor, creating
a virtual controller with the option 606-1 Conveyor Tracking and then creating a
connection between virtual controller and the conveyor.
Creating a Conveyor
1 In the Modelling tab, in the Mechanism group, click Create Conveyor. The
Create Conveyor browser opens.
2 From the Conveyor Geometry list, select a geometry. To add a geometry to
the station, click Import Geometry and then select a geometry.
3 In the Reference Frame, enter the base frame values (Position and
Orientation) relative to the World/local origin of the selected graphic
component.
The Reference Frame defines the position where objects appear on the
conveyor.
4 From the Type list, select the type of conveyor.
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 virtual controller using the Virtual Controller button.
In the Controller Options pane, scroll down to Motion Coordination, under
Conveyor Control Options select 606-1 Conveyor Tracking and then select
one or more of the following options as required:
• 1552-1 Tracking Unit Interface
• 709-1 DeviceNet Master/Slave
• Conveyor Tracking on PIB
8 Add the new virtual controller to the station.
7 Click Next.
The wizard now prompts a mapping of the mechanisms to a specific motion
task, in accordance with the following rules:
• Only one TCP robot is allowed per task.
• Up to six motion tasks may be added, but only four TCP robots can be
used, and they must be assigned to the first four tasks.
• The number of tasks may not exceed the number of mechanisms.
• If the virtual controller contains one TCP robot and one external axis,
they will be assigned to the same task. It is, however, possible to add
a new task and assign the external axis to it.
• If the virtual controller contains more than one TCP robot, any external
axes will be assigned to a separate task. It is, however, possible to
move them to other tasks.
• The number of external axes in a task is limited by the number of
available drive modules in the cabinet (one for large robots, two for
medium, three for small).
If only one mechanism was selected in the previous page, this page
will not be shown.
Tasks can be added and removed using the respective buttons;
mechanisms can be moved up or down using the respective arrows.
To map the mechanisms to tasks, follow this step:
8 Optionally, make any edits in the mapping, and then click Next.
The System Option page opens. Select the 606-1 Conveyor Tracking option
and then select one or more of the following options as required:
• 1552-1 Tracking Unit Interface
• 709-1 DeviceNet Master/Slave
• Conveyor Tracking on PIB
9 On the System Option page, you have the option to align Task Frame(s) with
the corresponding Base Frame(s).
10 Verify the summary and then click Finish.
If the virtual controller contains more than one robot, the number of tasks
and the base frame positions of the mechanism should be verified in the
Motion Configuration window.
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 Virtual Controller 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 Virtual Controller From Layout. Dynamic tracks
cannot be combined with MU.
Overview
The purpose of MultiMove is to let one controller handle several robots. This does
not only save on hardware costs, it also allows advanced coordination between
different robots and other mechanical units.
Here are some examples of applications
• Several robots can work on the same moving work object.
• One robot can move a work object while other robots work on it.
• Several robots can cooperate to lift heavy objects.
Note
6 In the work area, click the Path config bar for expanding the path config
section.
7 Select the Enable check box for the tool robot and click the expand button.
This displays the paths of the robot.
8 Select the order of the paths to execute by specifying them in right order
using Path name column.
9 For each path that shall be included in the program, select the check box in
the Enable column.
10 In the Start Position section, select the robot in the Select Robot that other
should jump to box, click Apply.
11 When you have set up the robots and paths, continue testing the MultiMove
and then tune the motion properties, if necessary.
Creating paths
After testing the MultiMove program, convert the temporary move instructions that
MultiMove function uses to ordinary paths. Use the following steps to create paths
for the MultiMove program.
1 On the Home tab, in the Path Programming group, click MultiMove. The
MultiMove pane opens.
2 In the MultiMove pane, click Create Paths tab.
3 Click the title bar to expand the Settings group.
Continues on next page
Operating manual - RobotStudio 71
3HAC032104-001 Revision: AE
© Copyright 2020 ABB. All rights reserved.
2 Building Stations
2.11 Programming MultiMove systems
Continued
5 Click the title bar to expand the WP Robot Settings group 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 work piece shall use when
reaching its targets.
Path prefix Specify a prefix for the generated paths.
Target prefix Specify a prefix for the generated targets.
6 Click the title bar to expand the Generate path group and then click Create
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
or the user-defined coordinated systems for co-relating elements and objects in
the station.
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 task frame 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.
xx1900001116
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 control
When executing a robot program, you can choose whether to control configuration
values. If configuration control 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 control can be turned off and on for joint and linear movements
independently and is controlled by the ConfJ and ConfL action instructions.
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, reposition the object frame relative to the user
frame by using the following steps:
• 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 XYZ) 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 gets created and displayed under the
WorkObjects and Targets node under the robot node in the Paths&Targets
browser.
Add to Path
Creating a move instruction based on an existing target
1 Select the target for which to create the move instruction.
2 Right click on the selected target. and click Add to Path.
The move instruction will appear under the path node as a reference to the
original target.
3.5.1 AutoPath
Overview
AutoPath helps in generating accurate paths (linear and circular) based on CAD
geometry.
Prerequisites
A geometric object with edges, curves, or both must be available.
Note
3 Click Remove to delete the recently added edge from the Graphic window.
Note
To change the order of the selected edges, select the 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.
Depart Generates a new target at a specified distance from the
last target.
Note
6 Click Close.
Stationary tool is 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. In this configuration, the robot holds the workobject
and hence is attached to the robot whereas the tool is set as stationary.
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.
• Set Robot holds workobject to True.
• In Moved by mechanical unit, select the robot, for example, ROB_1.
• Set Programmed to False.
If the workobject is attached to the robot using the Attach to option, then
these settings get applied automatically.
3 On the Home tab, in the Path Programming group, click Other and select
Create Tooldata.
The Create Tooldata dialog box appears.
4 In the Misc Data group, enter the values for the new tooldata.
Set Robot holds tool to False.
Auto Configuration
The Auto Configuration function runs through the path and optimizes the
configurations with respect to their preceding target. There are two options, either
all of the configurations can be optimized, or only the configurations for linear and
circular move instructions. Use the Configurations tool on the individual joint targets
to change the configuration of intermediate joint move instructions.
In the Paths&Targets browser, right-click a path, and select Auto Configuration.
The robot now steps through each target in the path and sets the configurations.
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, right click on the target and select configuration the
Configuration dialog box is displayed.
3 In the Configuration dialog box, select a suitable configuration solution and
click Apply. The selected configuration is now stored with the target.
Note
Deactivate the configuration check while using Jump to target. The robot uses
the configuration solution that is closest to the current position for reaching the
target.
Overview
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. Use RAPID editor
to view and edit programs loaded into a robot controller, both real and virtual. The
integrated RAPID editor is useful for editing all robot tasks other than robot motion.
Use RAPID editor to edit the RAPID code of the RAPID modules.
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.
Compare
Use the compare function to compare between folders, files, controller and editor
versions of files. Unlike common text editors, the comparison function in
RobotStudio is designed to include RAPID specific advanced filtering wherein you
can choose to exclude Backinfo, PERS variables, comments and so on. The
following filters are available:
• The BackInfo option excludes the timestamp of the Backinfo.txt file during
comparison.
• The PERS variables option excludes changes in PERS variables during
comparison. A persistent variable retains the last assigned value during
restart by writing the value in the RAPID code. Hence the results of
comparison can still show differences even though there are no changes in
code. Select this option to narrow down comparison to view code changes
alone.
• The Comments,Character case and White space options exclude changes
in them during comparison.
Overview
RAPID editor provides various code editing features and commands for performing
actions on the code.
Syntax highlighting
Text is highlighted in different colors depending on their token classification (such
as keyword, identifier and so on). You can configure these colors in the File tab,
under Options:Robotics:Text Editor. In addition to token classification, the editor
also shows different colors for built-in and installed identifiers (such as MoveL)
and also for identifiers declared in user code.
Quick-Info tooltips
When you hover the mouse pointer over a symbol (such as a data declaration or
procedure call), a tooltip is displayed describing the symbol. For many built-in
symbols (such as MoveJ) a short description is also displayed. For symbols
corresponding to a data declaration, the current value is also displayed.
Auto-completion
After typing or completing a procedure call (such as MoveJ), pressing the Tab key
will fill in all required parameters. Note that this is only available for certain built-in
procedures, such as those listed in the Insert Instruction menu.
Argument information
While typing in procedure calls and function calls, tooltips showing argument
information are displayed.
Error highlighting
Red squiggly lines appear under errors in the code. All syntax errors and a subset
of semantic errors are indicated in this manner.
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.
Overview
RobotStudio allows editing of standalone modules, that are in memory of the
controller or that are available in the disk. When connected to virtual or real
controller, these standalone files can be edited in the Home folder. RAPID code
of the controller is structured into modules. A module contains several routines of
type procedure, function or trap. Modules are of two types system and program.
System module contains code related to robot installation, such as, surrounding
equipment, calibration equipment, feeders and service routines. Program module
contains RAPID code related to a particular process or parts that the robots are
working on. Program modules of a particular task constitute a RAPID program
which is handled as a unit. A program, when saved to disk saves each module as
independent to each other along with a header file (*pgf) containing references of
these modules.
Note
This function is also present in the Controller group on the Home tab.
Saving a program
Save a RAPID program either in the virtual controller or in the controller disk. You
need write access for saving a program.
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
Write access is required for 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
Write access is required for 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 atask 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.
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/.
4 From the drop down menu, select the required option, for example, Procedure
with parameters. The following code snippet gets inserted in the file.
PROC myProcedure(\switch doThis | switch doThat, INOUT num
numRepeats, PERS num dataList{*})
ENDPROC
Example
1 Click the File tab. The backstage view opens.
2 Click Open, then select the required RAPID file. The file opens in the RAPID
editor.
3 Place the cursor in the required line, then, in the Insert group click
Instruction.
4 From the drop down menu, select the required option, for example, Common
> MoveAbsJ. The following instruction gets inserted in the file.
MoveAbsJ <ARG>\NoEOffs,v1000,z50,tool0\WObj:=wobj0;
Tip
You can view the graphical layout, without closing the editor, by clicking the
graphics window tab.
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.
3 A RAPID or system module file opens in the RAPID editor. The system
parameters file (*.cfg) opens in a notepad-like editor.
4 Click the Save button on the Quick Access Toolbar to save the changes.
Note
The RAPID editor displays syntax errors in standalone RAPID module when the
variable declarations exist in another module.
the editor will not find data declared in other modules. The reason is that the editor
cannot know in which context (task) the module should be treated. The SYSPAR
folder will show the configuration files.
Note
Tip
Note
The RAPID Data Editor only shows data declarations that contain editable values.
Overview
RobotStudio provides certain set of default instructions. To create instructions for
custom applications such as paint, dispensing etc, the Instruction Template feature
can be used. You can manually define the instruction templates for RAPID motion
instructions other than the default instructions such as MoveL, and MoveC. Custom
instructions created using the instruction template feature can be saved as template
files and shared with other PCs.
The instruction templates can be saved in the C:\Users\<user
name>\Documents\RobotStudio\Instruction Templates in XML format and reused
later. These files can be used in the same way as any other pre-defined XML files
that are imported and used for robot controllers with appropriate RobotWare options.
Note
xx1900001270
3 In the Instruction Template window, select the instruction and then click the
Add button.
xx1900001271
Repeat this step for all instructions. The instructions are grouped according
to the process name (for example, MyMove). Adjustments to the Motion Type,
Point Mapping and default parameters are possible at this phase as required.
Motion type defines how RobotStudio traces the path preview. Point Mapping
defines how RobotStudio interprets robtarget.
4 Select the new instruction templates and then click Export Selection button
and then the Save button to save the file as XML in the Instruction Template
folder.
xx1900001273
The instruction template file must be exported for sharing the file with other
users or for using it in the RAPID Path editor. To export the file, use the
Export Selection button. Import this file to the PC for using it in a station.
Overview
Use RAPID Path editor to graphically view and edit programs loaded into a
controller. The RAPID program is displayed in a 3D structure in the RAPID Path
Editor that allows editing of multiple robtargets. The edits made in the graphical
RAPID program gets updated in the corresponding RAPID Editor and the RAPID
Data Editor simultaneously.
xx1900001274
2 Open the RAPID Path Editor to view and edit the custom move instruction
in RobotStudio like a standard move instruction.
xx1900001275
Note
The Apply commands are enabled only for unsaved changes. RobotStudio
commits 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.
Synchronizing to station
Synchronize the virtual controller to station for applying the changes performed
on the RAPID program to the virtual station. This applies to virtual robots only.
Note
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, ensure
that the RAPID variable definitions are the same in all tasks, otherwise you
may get unexpected behavior.
Overview
Debugging involves locating and correcting code errors in a task. Debugging is
part of the code testing and is an integral part of the entire software development.
RAPID editor provides several debugging features for testing and perfecting your
code. Some of them are introducing breakpoints for tracking a particular instruction,
using call stack window to monitor program pointer and so on.
To start a task, right-click the task in the Controller browser and then click Start
Task. You can start Normal tasks, but you can only start a Static or Semistatic task
if the TrustLevel is set to NoSafety.
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 to stop a Static or Semistatic task the
TrustLevel must be set to NoSafety. This method of starting and stopping tasks is
applicable only for RobotWare version 5.15.xx and below.
Overview
RAPID instructions are executed in the controller for carrying out various operations.
These instructions are grouped into various tasks and these tasks are further
grouped into motion and non-motion tasks. A non-motion task affects a logical
part of the controller operation such as handling of signals, whereas a motion task
controls the movement of a mechanical equipment, for example, a manipulator.
A task is a collection of RAPID instructions that are executed line by line. Every
task has a program pointer. During execution, program pointer points to the current
line of code in a task. The program pointer indicates the instruction with which the
program will start execution or rather the program execution continues from the
instruction where the program pointer is located.
The motion pointer indicates the instruction of the motion task that the robot is
currently executing. A motion task has both motion pointer and program pointer.
Program pointer is ahead of the motion pointer for preparing the controller for
motion execution. A motion pointer is normally located at one or more instructions
after the program pointer. This allows the system to execute and calculate the
robot path faster before the robot moves. The motion pointer is represented as a
small robot icon placed to the left margin in the RAPID Editor.
A task can further be classified into, Normal, Static and Semistatic. A motion task
must always be Normal. But a non-motion task can be Normal, Static or Semistatic.
Execution of Static and Semistatic tasks start when the controller is powered on.
But a Normal task start only when the Play button is pressed. In a Semistatic task,
when the controller restarts, the program execution starts from the beginning of
the task. But the program execution of a Static task starts from the last position of
the program pointer before restart.
Note
During program execution, you can view the movement of program pointer across
all open modules. Hence, keep all required modules 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 of 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
After resetting program pointer, when the program execution starts, the robot
can move along the shortest path from its current location to the first point of the
program.
Using breakpoints
Breakpoints are used to stop program execution at a certain point or line of code.
Set breakpoints to stop program execution to monitor the state of code variables
or to view the call stack. You can set a breakpoint in the source code by clicking
in the left margin of a file. When you run this code, execution stops whenever the
breakpoint is hit, that is, before the code on that line is executed. Press the Start
button to resume execution.
When a RAPID program is run from RobotStudio using the Play button, the program
execution includes breakpoints and stops execution at breakpoints. Breakpoint
functionality is available only in RobotStudio. When the program is run from
FlexPendant, breakpoints are ignored. Breakpoints can be viewed in the RAPID
Breakpoints window. Double-click a certain breakpoint to view the particular line
of code.
5.4 Navigate through your program using RAPID Call Stack window
xx1800000961
The Call Stack window displays the name of the task, module, routine and line
number that shows the trail of program pointer during program execution. Call
Stack will not be refreshed automatically during program execution, and it gets
refreshed automatically when the execution completes. To refresh call stack during
program execution, click the Refresh button.
xx1800000878
5.5 Using RAPID Watch window for debugging your RAPID code
Note
CONST variables cannot be edited. Variables and signals added to the RAPID
watch window gets removed when RobotStudio closes.
6 Simulating programs
6.1 Playing Simulation
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.
You can create simulation scenarios containing different simulated objects and
connect each scenario with a predefined state to ensure that the correct state is
applied to all project objects before running the scenario. If you want to simulate
a specific part or segment of the cell where not all simulated objects in the cell are
included, you can set up a new scenario and add only the objects needed for
simulation.
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 be synchronized to the virtual controller.
Setting up a simulation
1 Click Simulation Setup to bring up the Simulation Setup 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.
5 Select the entry point from the Entry point list.
6 Click Edit to open the RAPID program where the user can edit the procedure.
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 time step.
Reset Reset the simulation to its initial state.
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 objects 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
virtual controllers to be used in a simulation scenario.
3 Click Reset and select Manage states to start Station Logic.
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 robot’s group as well or
create specific collision sets for these setups.
Each collision set can be activated and deactivated separately.
Options:Simulation:Collision
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.
Tip
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
2 Select or enter the required values in various fields provided in the dialog
box.
3 Click Apply.
The Modify Collision set dialog box provides the following options:
Options Description
Active Collisions between objects in this set will be detected.
Near miss(mm) Specifies the maximum distance between the objects to be
considered a near miss.
Higlight colliding Lets the user select the colliding object (part, body, or sur-
face) that must be highlighted when two objects collide. It
also creates a temporary markup at the point of collision
or near miss.
Collision color Displays the collision in the selected color.
Near miss color Displays the near miss in the selected color.
Show markup at collision Shows markup at collision or near miss.
Detect collisions between invis- Detect collisions even if the objects are invisible.
ible objects
Overview
The Collision Avoidance function monitors the geometries of the robot and its work
envelope and stops the robot from a possible collision. The static geometry
surrounding the robot can also be included in the configuration. This is useful
where object positions are dynamically created during runtime by cameras or
sensors. The predicted collision can be visualized in the RobotStudio Online
Monitor. Collision Avoidance is active during jogging and program execution.
The Collision Prediction supports convex geometries such as points, line segments,
and convex polygons. Non-convex objects must be split into smaller parts that can
be approximated. The Convex Hull has two parameters for controlling the complexity
of the collision model, Max outside tolerance and Max inside tolerance. The Max
outside tolerance allows inclusion of a bigger approximated object than the original
geometry. The Max inside tolerance allows the approximated object to be smaller
than the original geometry.
In RobotWare 6, the option Collision Detection must be selected to enable this
functionality.
This feature is available for all six and seven axis backwards bending robots,
supported by the standard IRC5 controller.
Note
This option allows you to create collision models for predicting collision.
xx1800002593
3 The Collision Object Properties dialog box opens, set and modify the
Properties, Convex Hull, and Position of the object.
4 Click OK, to add the object to the Objects list.
Note
xx1800002592
xx1800002594
6 Select the objects to be paired for collision avoidance from their respective
drop-down lists.
7 Select the Exclude from collision check checkbox, to exclude the paired
object from the collision check.
8 Select the Override safety distance checkbox, to override the preset safety
distance.
9 Click Ok, to pair the objects and add it to the Object Pairs list.
10 Click Upload to Controller, to upload the configuration to the real controller.
Using the File Transfer feature a collision avoidance file can be transferred from
the HOME folder of the virtual controller to the real controller.
Limitations
Collision Avoidance is a function included in the option Collision Detection.
Collision Avoidance can only be used by six and seven axis serial link robots
(bending backwards). It is supported by robots with track motion and single axis
positioner (L-type).
When jogging, Collision Avoidance will not be triggered if used together with
responsive jogging. The system parameter Jog Mode must be changed to Standard.
The Collision Avoidance between 2 robots (or more) can only be achieved when
using a MultiMove system.
CAUTION
xx2000000008
Part Description
1 Select System. Select the required virtual controller to view the signals.
2 Filter type. Select the type of filter to use.
3 Filter Specification. Select the filter for limiting the signal display. For ex-
ample, if Board is set as filter type, then select the board to view its signals.
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 Dispalys a group input or group output signal. 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.
Digital Outputs Displays all digital output signals.
Analog Inputs Displays all analog input signals.
Analog Outputs Displays all analog output signals.
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
Setting up a Stopwatch
1 On the Simulation tab, in the Monitor group, click Stopwatch.
The Stopwatch settings dialog appears.
2 Click Add button, and 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.
Overview
TCP trace displays the movement of the robot in a simulation, it traces the
movement of the TCP. This data provides an overview of certain parameters. A
typical example is using TCP trace to monitor TCP speed. The TCP trace can be
colored by the speed of the robot to get the qualitative overview of the variation in
speed throughout robot motion. This data can be used to find issues in speed
calculations and for optimizing the program.
Note
The Use color scale defines 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.
7 In the Simulation Control group, click Play to view the color of the trace
when the speed signal is used in the simulation.
Note
The color assigned to the trace gets displayed when the signal value meets
the specified conditions.
5 In the Simulation Control group, click Play to view the trace with the change
in signal strength.
Note
The simulated stop positions visualized here do not indicate the exact
behavior of a real robot.
Overview
Smart Components are RobotStudio objects with built-in properties and logic for
simulating components that are not part of the virtual controller. RobotStudio, by
default, offers a set of Base Smart Components for basic motion, signal logic,
arithmetic, parametric modeling, sensors and so on.
Base Smart Components can be used to build user defined Smart Components
with more complex properties. Some examples are gripper motion, objects moving
on conveyors, logic and so on. Smart Components can be saved as library files
for reuse.
Note
Note
Information about Base Smart Components are listed against the selection in
the Smart Component editor.
Overview
A typical application of Smart Components is in the material handling scenario,
for example, simulating an infeeder. You can create dynamic objects which move
in a straight line until they arrive at a picking position. A gripper attached to a robot
picks the object and places it. When an object is removed from the picking position,
a new object gets created automatically. You can save the components associated
with an infeeder as a Smart Component library for reuse.
The pack&go files for this infeeder station is available in C:\Program Files
(x86)\ABB\RobotStudio\Samples\Stations. This folder contains two pack&go files,
SC demo station finished.rspag and SC demo station start.rspag. Open the SC
demo station start.rspag before starting this example.
Prerequisites
All basic components required for material handling must be imported to the station.
These components are a box, belt conveyor, robot, stop, and pallet.
Note
Workflow
1 Create a station with a robot, belt conveyor, robot, stop, and pallet. Add the
required I/O signals to the virtual controller.
2 Create the Infeeder Smart Component, this involves creating a work piece,
moving work pieces on the conveyor, placing a line sensor on the Stop,
setting up I/O connections between the Smart Components using bindings
and then saving this Smart Component as a library file.
3 Create a Smart Component for the Gripper.
4 Create a Smart Component for the pallet.
5 Setup I/O connections and create bindings between the Smart Components
and the virtual controller.
6 Connect all Smart Components of the station in the Station logic.
4 Click the Actions gallery and then click Source. The Source gets added as
a child component.
Note
2 In the Smart Component editor, click Add component and from the context
menu, click Sensors and then click LineSensor. The LineSensor gets added
to the Smart Component.
3 Place the Line Sensor at the center of the Stop using the the snap mode
Snap Center.
4 In the Layout browser, right-click LineSensor and then click Properties.
Enter the length and direction of the sensor and click Apply.
Line Sensor has two signals Active (Digital) - Set to 1 to activate the sensor
and SensorOut (Digital) - Goes high (1) when an object intersects the line.
When the Line Sensor detects a part the property SensedPart gets populated.
5 It is possible to view how these signals and properties get activated during
simulation:
a In the Properties: LineSensor browser, click the down arrow next to
the close button and select Tear Off to separate Properties: LineSensor
from the Layout browser.
b Start the simulation and click Execute in the Properties: Source
browser. The box gets created and starts to move on the conveyor.
Observe the change in the signal and property values of the LineSensor
in the Properties: LineSensor window. When the Line Sensor detects
the box, the Sensed Part field gets populated with the box object and
the SensorOut signal becomes active.
5 Right-click the Vacuum Tool and from the context menu select Modify and
then ensure that the Detectable by Sensors check box is not selected.
If the Detectable by Sensors is selected then the sensor will detect the
Vacuum Tool as an object. In that case the sensor will not detect any other
object.
6 In the Smart Component editor, click Add component and from the context
menu, click Sensors and then click LineSensor. The LineSensor gets added
to the Smart Component.
7 Place the LineSensor at the center of the Vacuum Tool using the the snap
mode Snap Center.
8 In the Layout browser, right-click LineSensor and then click Properties. Enter
the length and direction of the sensor and click Apply.
It is recommended to extend the length of the LineSensor beyond the vacuum
cup of the Vacuum Tool.
9 Configure I/O signals for the Smart Component to establish communication
between the robot and the Vacuum Tool.
Name Signal Type Value Description
diAttach DigitalInput 0 This signal gets active when the robot sends the
doVacuum signal to the Vacuum Tool.
doAttached DigitalOutput 0 This signal gets active when the Vacuum Tool
picks the box, or when the LineSensor in the Va-
cuum Tool detects the box.
Note
7 Add the following binding between the Plane Sensor and the Sink.
In the Smart Component editor, click the Properties and Bindings tab and
then click Add Binding.
Source Ob- Source Target Target Prop- Description
ject Property Object erty or Signal
PlaneSensor SensedPart Sink Object This binding connects the
SensedPart property of the
Plane Sensor to the Object
property of the Sink such that
it deletes the sensed part.
If the Plane Sensor and Sink Smart Components are connected at this stage,
the box gets removed as soon as the Plane Sensor detects it. But it is possible
to add a time delay between the sensor sensing the box and the box getting
deleted.
8 In the Smart Component editor, click Add component and from the context
menu, select Signals and Properties and then add LogicGate.
9 In the Properties: LogicGate, select the NOP Operator and set the time
Delay in seconds.
The Smart Component LogicGate performs logical operations on digital
signals. The logic gate used in this example is a NOP gate, it delays the
subsequent operation by the selected time.
10 In the Smart Component editor, click the Signals and Connections tab and
then click Add I/O Connection.
11 In the Add I/O Connection window, perform the following connections.
Source Ob- Source Target Ob- Target Sig- Description
ject Signal ject nal or Prop-
erty
PlaneSensor SensorOut LogicGate InputA When the Plane Sensor senses
[NOP] the box, its output signal is high,
the SensorOut signal is sent to
the LogicGate. The LogicGate
delays the Execute property of
the Sink.
LogicGate Output Sink Execute The Sink upon receiving the sig-
[NOP] nal from LogicGate, triggers Ex-
ecute signal to delete the box.
In the Station Logic window, click the Design tab and then click the arrow in the
virtual controller and then select the signal that must be exposed.
xx1800002954
Tip
CONST robtarget
pPick:=[[300.023,150,209.481],[0,-0.707106781,0.707106781,0],[0,0,0,0],
[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]];
!***********************************************************
!
! Procedure main
!
! Smart Component example, Pick and Place application.
!
!***********************************************************
PROC main()
WHILE TRUE DO
PickPart;
ENDWHILE
ENDPROC
PROC PickPart()
!** The robot moves to a wait position 200 mm above the pick
position. **
MoveJ Offs(pPick,0,0,200),v500,z1,tVacuum\WObj:=wobjInFeeder;
!** The robot waits for a box to pick at the infeeder stop.
**
WaitDI diBoxInPos,1;
MoveL pPick,v100,fine,tVacuum\WObj:=wobjInFeeder;
!** To attach the box, the robot turns on the digital output
signal "doVacuum" which is connected to the
Smart Component "SC_VacuumTool". **
SetDO doVacuum,1;
!** The robot waits for the digital input signal "diVacuum"
to go high, which comes from "SC_VacuumTool"
and indicates that the box is attached. **
WaitDI diVacuum,1;
MoveL Offs(pPick,0,0,200),v500,z1,tVacuum\WObj:=wobjInFeeder;
!** The robot moves to the drop position above the pallet. **
MoveL
Offs(pPick,0,-800,200),v500,fine,tVacuum\WObj:=wobjInFeeder;
!** To detach the box, the robot turns off the digital output
signal "doVacuum" which is connected to the
Smart Component "SC_VacuumTool". **
SetDO doVacuum,0;
!** The robot waits for the digital input signal "diVacuum"
to goes low, which comes from "SC_VacuumTool" and
indicates that the box is detached. **
WaitDI diVacuum,0;
!** The wait time simulates the time it takes for a real vacuum
gripper to loose the vacuum. **
WaitTime 0.5;
ENDPROC
ENDMODULE
Overview
In a station, the cable connecting robots undergo extensive wear and tear which
reduces its life span. RobotStudio's physics enabled cable simulation helps in
selecting the right material of the cable and accurately designing the length, radius
and mounting height of the cable to optimize its performance.
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 in the station/robot to add the start and end points of the cable .
3 Select a point on the cable, and drag it to add a 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, the new cable gets displayed in the Layout browser.
• Dynamic: During simulation the object follows rules of physics while in motion.
Similarly any joint created using the Physics Joint options will follow rules of
physics. These options are Rotational joint, Prismatic joint, Ball joint and Lock
joint.
Joints define the geometrical relationship between one rigid body relative to the
world or, two or more rigid bodies relative to each other, that should be met under
certain conditions. Each joint is build upon elementary joints or links that defines
the geometrical relationship. Acting upon these elementary joints can be secondary
order joints such as motors, limits or locks. The available joints in RobotStudio are
rotational, Prismatic , Cylindrical, ball and Lock joints.
Overview
The SIMIT SmartComponent enables signal communication between Siemens
SIMIT Simulation Platform and RobotStudio to perform virtual commissioning.
SIMIT uses Shared Memory to communicate with RobotStudio. This shared memory
is created in SIMIT. Input signals are written by SIMIT to the memory area and
output signals are read by SIMIT from the memory area. The schematic overview
of the setup:
xx1900000807
Prerequisites
RobotStudio 2019 and SIMIT ULTIMATE 9.1 and higher versions must be installed
on the same computer.
Signals/Symbols
The SIMITConnection Smart Component recognizes three symbol types based on
a naming convention. These symbols are Robot, Station and Process. Robot
symbols are robot controller signals. Station symbols (non-robot signals) control
the connection between the PLC and various station components such as sensors
and actuators during simulation. Process symbols are internal signals that reside
only in SIMIT and are not passed to RobotStudio.
Workflow
Use the following workflow to configure, start and execute the exchange of signals
between SIMIT and RobotStudio.
1 Configure TIA project in SIMIT. While configuring symbols, ensure that each
symbol has a unique name in the TIA project.
2 Export the symbols from TIA portal as an Excel symbol document.
3 Import the symbol document to SIMIT.
4 A coupling gets created between SIMIT and the PLC simulator (PLCSim,
PLCSimAdvanced, OPC or other programs).
5 A shared memory coupling gets created to be used from RobotStudio.
6 The Process symbol only resides in SIMIT and must be handled through
SIMIT macros, UI and so on.
7 Import the Robot and Station symbols into the shared memory and perform
the following setting.
xx1900000805
• Time slice: Set the cycle at which the coupling exchanges data. Time
slice 2 is the default, corresponding to a cycle of 100 ms.
• Shared Memory name: Enter the name with which the shared memory
area can be addressed.
• Signal description in header: Choose whether or not SIMIT will create
an extended header area. Signal description in header must be checked.
• Big/Little Endian: Little endian denotes that the least significant byte
(the lowest memory address) is stored first. This must be selected.
8 Start the simulation in SIMIT.
9 Connect the SIMITConnection SmartComponent in RobotStudio.
a In RobotStudio, on the Simulation tab, in the Configure group, click
Station logic.
b In the Station Logic window, click Add component, then select the
SIMIT Connection Smart Component under PLC.
c In the Layout browser, right-click SIMITConnection, and click
Properties, enter the Shared memory name. Since RobotStudio and
SIMIT connects through the shared memory, it is important that the
shared memory name must be identical in both SIMIT and in
RobotStudio.
d Start the SIMIT simulation, switch to RobotStudio and in the Layout
browser, right-click SIMIT Connection and then click Connect to
establish the connection between SIMIT and RobotStudio.
10 Start simulation in RobotStudio.
Time synchronization
xx1900000808
The maximum signal delay is the sum of the cycle time of individual products. After
the cycle the coupling exchanges data. This delay will affect the total cycle time
of the production cell. Usually connection gets established between the PLC and
the devices of the cell such that the signal delay will be duplicated since it is a set
and wait signal before continuing the simulation. This significantly affects the total
simulated cycle time.
Procedure
This procedure requires an active virtual controller.
1 Create a project in SIMIT, In the Project tree view, right-click Coupling and
then select Shared Memory.
2 In the Output window, enter the names of joint symbols. The joint symbol
names used in this example follows the required naming convention.
xx1900000810
xx1900000809
7 Start the SIMIT simulation, switch to RobotStudio and in the Layout browser,
right-click SIMIT Connection and then click Connect to establish the
connection between SIMIT and RobotStudio. On successful connection, the
joint values get displayed in SIMIT.
xx1900000811
xx1900000832
• The robot input or output symbols for a specific EIO device must contain
contiguous shared memory.
In the following example a digital input signal with Device Mapping 17 is
represented in SIMIT. To ensure continuity in the shared memory, a dummy
symbol of datatype WORD is used here. A symbol of type WORD is
represented by 16 bits in SIMIT. The shared memory area mapped to the
device [Dev123] starts at the first byte, for example, "1" in MW1. The
Robot[Controller1][Dev123]Dummy1 symbol occupies two bytes. That is why
the RobotSignalInput is mapped to the first bit of the third byte M3.1. This
will ensure the absence of memory gaps in the shared memory.
xx1900000837
• The robot input or output symbol area can start at any address in the shared
memory, but always map it to the beginning of the EIO device input or output
data.
• The start and end of a robot symbol area is determined by the first and last
robot symbol for a specific robot system and EIO device.
• The size of the robot input or output symbol area in the shared memory must
be less than or equal to the size of the input or output data area of the EIO
device.
• The robot symbols can belong to any of the datatypes: BOOL (1 bit), BYTE
(8 bits), WORD/INT (16 bits) or DWORD/DINT (32 bits). If a BOOL symbol is
used, all bits in the byte must be assigned to a BOOL symbol, unless it is
the last byte where the last bits can be left unassigned. REAL type is not
supported for robot symbols.
• The robot symbols in SIMIT need not correspond to (or must have the same
size as) the individual I/O signals in the robot controller. Examples:
- One BYTE (8 bits) robot symbol could map to the device data for 8
digital I/O signals in the robot controller.
- 2 WORD (16 bits each) robot symbols could map to a 32-bit group
signal in the robot controller.
It is possible to create robot symbols that exactly correspond to a specific
symbol, for example, a BOOL (1 bit) robot symbol could be created to
correspond to a digital I/O signal in the robot controller.
Procedure
This example requires an active virtual controller with a DeviceNet device.
1 In the Configuration Editor, create I/O signals for the Device(or any device),
for example, RobotSignalOutput and RobotSignalinout.
2 In RobotStudio, on the Simulation tab, in the Configure group, click Station
logic.
3 In the Station Logic window, click Add component, then select the SIMIT
Connection Smart Component under PLC.
4 In the Layout browser, right-click SIMITConnection, and click Properties,
enter the Shared memory name. Since RobotStudio and SIMIT connects
through the shared memory, it is important that the shared memory name
must be identical in both SIMIT and in RobotStudio, for example, RS_SIMIT_1.
5 Switch to SIMIT, add Inputs and Outputs symbols as per the required naming
convention.
6 Start the SIMIT simulation, switch to RobotStudio and in the Layout browser,
right-click SIMITConnection and then click Connect to establish the
connection between SIMIT and RobotStudio. On successful connection, the
xx1900000831
Procedure
This example requires an active virtual controller.
1 In RobotStudio, on the Simulation tab, in the Configure group, click Station
logic.
2 In the Station Logic window, click Add component, then select the SIMIT
Connection Smart Component under PLC.
3 In the Layout browser, right-click SIMIT Connection, and click Properties,
enter the Shared memory name. Since RobotStudio and SIMIT connects
through the shared memory, it is important that the shared memory name
must be identical in both SIMIT and RobotStudio, for example, RS_SIMIT_1.
4 Switch to SIMIT and add I/O signals under Inputs and Outputs for example,
Stn_Attach and Stn_Attached.
5 Start the SIMIT simulation, switch to RobotStudio and in the Layout browser,
right-click SIMIT Connection and then click Connect to establish the
connection between SIMIT and RobotStudio. On successful connection, the
I/O signals in SIMIT get auto-connected to the SIMITConnection smart
component.
xx1900000830
Overview
One of the purposes of creating simulations in RobotStudio is to create a robot
program that can be transferred to the real controller. RAPID programs are stored
in the virtual controllers of the respective station. You can save entire programs
or specific modules.
These programs can be shared with destination controllers in three different ways,
save program as a file in the host computer and transfer these files to the destination
controllers, create a backup and then restore the file in the destination controller
or transfer the file by using the transfer function.
Overview
Use the Pack & Go feature to create a package (*.rspag) of an active station. The
Unpack & Work feature can be used to unpack the Pack & Go file on another
computer. The Pack & Go file excludes RobotWare, but RobotWare add-ins that
are part of the station are included in the Pack&Go file. The required RobotWare
must be installed in the target computer, but any required RobotWare add-ins are
included/distributed with the Pack&Go file.
The Pack & Go format is the recommended mode for sharing the RobotStudio
stations.
Packing a station
1 On the File tab, under Share, 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 Optionally, select the Password protect the package check box.
4 Type in the password in the Password box to protect your package.
5 Click OK.
Unpacking a station
1 On the File tab, click Open and then browse to the folder and select the
Pack&Go file, the Unpack & Work wizard opens.
2 In the Welcome to the Unpack & Work Wizard page, click Next.
Note
3 In the Select package page, click Browse and then select the Pack & Go
file to unpack and the Target folder. Click Next.
4 In the Library handling page select the target library. Two options are
available, Load files from local PC or Load files from Pack & Go. Click the
option to select the location for loading the required files, and click Next.
Note
The station file in the Pack& Go uses library file (*.rslib). If the PC has a
later version of the library file, then select the option Load files from local
PC for loading the PC version of the library file.
5 In the Virtual Controller page, select the RobotWare version and then click
Locations to access the RobotWare Add-in and Media pool folders.
Optionally, select the check box to automatically restore backup. Click Next.
6 In the Ready to unpack page, review the information and then click Finish.
Continues on next page
164 Operating manual - RobotStudio
3HAC032104-001 Revision: AE
© Copyright 2020 ABB. All rights reserved.
8 Deploying and Sharing
8.2 Sharing a station
Continued
7 In the Unpack & Work finished page, review the results and then click Close.
Note
During an unpack operation, if you select the Copy configuration files to SYSPAR
folder option, the configuration (CFG) files of the back up virtual controller inside
the Pack& Go file gets copied to the SYSPAR folder of the new virtual controller.
This is to avoid any loss of configuration data during an I- start. Select this option
for complex configurations like the paint system.
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
Use Screenshot feature to capture an image of the entire application or an active
document window such as the Graphics window. Screenshot can be taken by
using the keyboard shortcut CTRL + B or by using the Screenshot button on the
Quick Access Toolbar.
To enable the Screenshot command in the Quick Access toolbar:
1 Click the Quick Access Toolbar, and then click Customize Commands from
the drop down menu. Options:General:Screenshot.
The Customize Commands and Quick Access Toolbar dialog opens.
2 In the Show Commands from box , select Other Commands and then select
Screenshot.
3 Click the Add>> button to add this option to the Quick Access Toolbar and
then click Close.
The Screenshot icon gets added to the toolbar.
4 On the Quick Access Toolbar, click Screenshot, the screenshot gets saved
to C:\Users\<user name>\Pictures folder.
Recording movies
Overview
RobotStudio provides three options for recording movies, Record Simulation,
Record Application and Record Graphics. The Record Application option records
the entire user interface of RobotStudio including the curser and mouse-clicks of
the simulation. These recordings are used for demonstrating certain features. The
Record Simulation option is similar to the Record Application, but records in
virtual time.
Records the graphics view only and it uses the virtual time for recording the frames.
The advantage here is that the recording will not be affected by the PC configuration
or the load on the PC at the time of recording as the frames are recorded with the
virtual timestamp.
1 In the Record Movie group, click Record Simulation to record the next
simulation to a video clip.
2 After recording, click Stop Recording.
The simulation is saved in a default location which is displayed in the Output
window.
3 Click View Recording to playback the recording.
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
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.
Note
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.
Overview
Use transfer function to transfer RAPID programs that are created offline in a virtual
controller to a real controller in the shop floor or to another virtual controller. 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 the data to be
transferred.
Creating a Relation
When two controllers are listed in the Controller browser, a Relation can be created
between them. To create a Relation:
1 On the Controller tab, in the Transfer group, click Create Relation.
The Create Relation dialog box opens.
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.
The Relation dialog box opens, here you can configure and execute the transfer.
Relations of a controller are listed under the Relations node in the Controller
browser.
Note
The properties of the relation are saved in a XML file under INTERNAL in the
system folder of the first controller (source).
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 the several modules fail, then the following error message is displayed.
Module xxx.zzz has failed. Do you want to continue?
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.
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.
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 robot
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 virtual controller, 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 from 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
9.1.8.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 positioner’s 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.
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.
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 the robot controller, 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 robot controller.
Import settings Click this button to import settings to the robot controller. 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 robot controller.
Revert Click this button to revert to the current settings of the robot controller.
Note
Note
The product install order shows the order in which products and Add-ins
are installed on the controller. Installing products in the required sequence
is important when products are dependent on each other. The product
order is assigned to products automatically based on the sequence in
which the products must be installed on the controller. This is independent
of the order in which products are added to the system.
Note
For RobotWare 7.0 systems, the package gets created in the preferred
folder.
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 the changed system and these changes will take effect
during the next restart.
Note
Note
Note
The product install order shows the order in which products and add-ins
are installed on the controller. Installing products in the required sequence
is important when products are dependent on each other. The product
order is assigned to products automatically based on the sequence in
which the products must be installed on the controller. This is independent
of the order in which products are added to the system.
7 Click Add, the Select License window opens. Select the license file and click
OK.
Repeat the same step to add multiple license files to your system.
8 Click Next, the Options tab gets selected. This pane shows the System
Options, Drive Modules and Applications. Here you are able to customize
your options.
9 Click Next, the Confirmation tab gets selected and shows an overview of
the system options.
10 Click Apply, the system gets created.
Note
For RobotWare 7.0 systems, the package gets created in the preferred
folder.
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 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
will be displayed here. You are able to view the license(s) from the backup.
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 backups will be marked in bold in the folder hierarchy. User
must select one of the valid backup folders for further system creation.
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
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
Overview
In this example we will use the Installation Manager to create a coordinated offline
system to use in a new RobotStudio station.
Overview
The controller configuration is a collection of six topics, each describing a
configuration area of the controller. A controller is configured at the factory as per
the RobotWare options that are selected at the time of delivery. The factory default
configuration is altered only during an update or any alteration processes. The
configuration parameters can be saved as text files (*.cfg) that lists the values of
system parameters. If the parameter is assigned the default value, then it will not
be listed in the configuration file.
When creating a backup of the controller, the configuration files will be stored in
the SYSPAR folder of the backup file structure. The configuration files will be loaded
into the controller memory when the backup is restored.
The controller system folder contains the SYSPAR folder in
...\MySystem\SYSPAR\ location. The configuration files in this folder gets loaded
when the controller resets. Note that changes to the configuration and RAPID will
be discarded during a controller reset. Configuration changes which are related to
the installation and independent of the program being executed can be loaded
from the SYSPAR folder. Examples of folders that can be loaded are configuration
of background tasks and the corresponding RAPID modules.
Topic: Configuration area: Configuration file:
Communication Communication protocols and devices SIO.cfg
Controller Safety and RAPID specific functions SYS.cfg
I/O I/O boards and signals EIO.cfg
Man-machine Functions to simplify working with the vir- MMC.cfg
communication tual controller
Motion The robot and external axes MOC.cfg
Process Process specific tools and equipment PROC.cfg
arguments or action values. The following image shows the details of the I/O signal,
di2.
en0800000183
xx1800003052
Viewing configurations
1 To view the topics of a controller, from the Controller tab, expand the
Configuration node of the controller.
All topics are now displayed as child nodes of the Configuration node.
2 To view the types and instances of a topic, double-click the required topic
node.
The Configuration Editor opens and lists all types of the topic in the Type
name list. In the Instance list, rows display the selected type and columns
display parameter values of the instances.
3 To view detailed parameter information of an instance, double-click the
instance.
The instance editor displays the current value, restrictions and limits of each
parameter in the instance.
Use the Configuration Editor to select a configuration type and to create a new
instance of the type, for example, adding a new instance of the type Signal creates
a new signal in the virtual controller.
1 In the Controller tab, expand the Controller and the Configuration node and
double-click the topic that contains the type to add an instance. This opens
the Configuration Editor.
2 In the Type name list, select the type to add an instance.
3 Double-click the type, the corresponding window opens to the right hand
side.
4 Right-click any element, and click Edit Tasks.
5 On the Controller menu, point to Configuration and click Add type (the word
type is replaced by the type that was selected earlier).
Right-click anywhere in the configuration editor and then select Add type
from the shortcut menu.
A new instance with default values gets added and displayed in the Instance
Editor window.
6 Click OK to save the new instance.
The values in the new instance are now validated. If the values are valid, the
instance gets saved, else a notification on the incorrect parameter values
gets displayed. Certain changes take effect only after a controller restart.
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 to copy an
instance.
3 Right--click the selected row, and then click Copy and change the name of
the instance. Click OK.
4 To select multiple instances, in the Instance list, select several instances to
copy.
The parameter values of all selected instances must be identical, else the
default values will be absent in the parameters of the new instances.
5 On the Controller menu, point to Configuration and click Copy Type (the
word type is replaced by the type that was selected earlier).
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 that was copied gets added
and displayed in the Instance Editor window.
6 Change the name of the instance and click OK to save the new instance.
The values in the new instance are now validated. If the values are valid, the
instance gets saved, else a notification on the incorrect parameter values
gets displayed. Certain changes take effect only after a controller restart.
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.
The values in the new instance are now validated. If the values are valid, the
instance gets saved, else a notification on the incorrect parameter values
gets displayed. Certain changes take effect only after a controller restart.
Overview
Signal Analyzer is used to record robot signals from real or virtual controllers. The
version of Signal Analyzer used for real controllers is called Signal Analyzer Online.
• To open Signal Analyzer, on the Simulation tab, in the Signal Analyzer group,
click Signal Analyzer.
• To open Signal Analyzer Online, on the Controller tab, in the Controller
Tools group, click Signal Analyzer Online.
Signal analyzer can only monitor a group of selected signals. This selection varies
for real and virtual controllers. The following table provides the list of signals for
real and virtual controllers that can be monitored in signal analyzer.
Category Available signals
Controller Signals Total Motor Power
Total Power Consumption
EventLog All domains
I/O System All signals
Joint J1-J6
Near Limit
Target Fine Point
Target Changed , Tool Changed, Workobject
Changed
TCP Maximum Linear Acceleration in World
Orientation Q1-Q4 Current Workobject
Orientation Speed in Current Workobject
Pos X, Y, Z in Current Workobject
Robot Configuration cf1, cf4, cf6, cfx
Speed in Current Workobject
Smart Components All signals
Physics Cable tension, cable length and cable twist
(only available for stations with cables)
Stop distance estimation All signals, available only for virtual control-
lers.
Devices (polled) CPU temperature and RAPID Memory.
actual conditions. For a real robot the value of the motor power signal depends on
various factors, for example, the temperature of the robot and the length of the
cables.
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.
11.4 Recordings
Overview
The saved signal recordings of the current station are stored in the following
locations.
• In the RobotStudio documents folder:
C:\Users\<user
name>\Documents\RobotStudio\SignalAnalyzer\Stations for a
virtual controller and C:\Users\<user
name>\Documents\RobotStudio\SignalAnalyzer\Online for a real
controller.
• In the Solution folder for the respective solution:
C:\Users\<user
name>\Documents\RobotStudio\Solutions\<Solution
folder>\SignalAnalyzer.
The signal recordings can be exported in the following formats:
• RobotStudio Signal Recording (*.rssigdata).
• Excel Workbook (*.xlsx).
• Text (Tab delimited) (*.txt).
The signal recordings can be imported in the RobotStudio Signal Recording
(*.rssigdata) format.
xx2000002027
4 In the Recording: list, select the required file and then click Play to view the
recording.
Use the buttons in the Recording Playback tab to navigate through the
recording during play back.
12 Jobs
Understanding jobs
Overview
RobotStudio online is designed to work with one real controller at a time. Use Jobs
function to perform certain actions on a large population of robot controllers. Fleet
or device set is a collection of selected set of controllers in a network that are
identified by the IP Address or the DNS name. A Job is defined by a Device list
and an Action. Action will be carried out for the selected controllers in the Device
list.
The default set of actions are designed to monitor and to collect data from the
controllers in the device list. This data can be analyzed for error detection and
further rectification for maintaining uniform configuration across all controllers in
a fleet.
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.
Commands Description
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 accord-
ing to the user needs. The strings in curly brackets will be re-
placed by the current values.
Note
The complete list of options to use for creating the file and folder
names are {NetworkAddress}, {ControllerName}, {SystemName},
{SerialNumber}, {Comments}, {Group}, {Date} and {Time}.
Backup Program Creates backup of program modules with a date and time stamp in
Modules the 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.
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
required 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.
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 in-
stance as Task/Module/Dataor 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
example, 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/AttributeName, 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.
Action Description
Search RAPID Data Searches for RAPID instances that matches the specified search pat-
terns. You can restrict the search to tasks, modules, data types and
names of record fields that match the specified pattern.
Search RAPID Text Searches for lines that contain the specified text string. You can restrict
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 Information Reads the options, languages and media versions of the controllers.
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 file formats, Excel and xml. These
reports are not exclusive to Compare Folder.
Distribute Update Copies the selected distribution package to the controller.
Package
3 In the Device Selection area, select a device list in the Device List. The
Group Filter list will be populated if the selected list contains data in the
Group field.
4 Enter valid credentials in the Username and Password boxes, or select
Default Credentials if the Default User has sufficient grants to perform the
selected action.
The specified user must be available and this user should have sufficient
grants for all controllers.
5 In the Action list, click the action that you want to perform. Depending on
the selected action, additional action specific data might be required.
To configure these actions, you must provide the required data.
6 In the Jobs group, click Verify/Execute to perform the selected action.
Once the action gets completed, a report and a log file are created. You can
open this report (in .xlsx format) from the History browser. The log file is
used for troubleshooting and support.
Note
You can schedule jobs using the Windows built-in Task Scheduler.
13 Screenmaker
13.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.
2 Project explorer Shows the active screen project and lists the screens that
are defined in the project.
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.
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.
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 ScreenMaker
Projects.
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.
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 235
3HAC032104-001 Revision: AE
© Copyright 2020 ABB. All rights reserved.
13 Screenmaker
13.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.
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.
• Set the values of a property in the Properties window.
• 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.
• Configure the data binding values using Configuring Data Binding.
• Set the application variables using the Managing Application Variables.
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.
• Set the values of a property in the Properties window.
• Set up the events , see Setup Events.
• To configure the data binding values, see Configuring Data Binding.
• To set the application variables, see Managing Application Variables.
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.
• To set up the events, see Setup Events .
• To configure the data binding values, see Configuring Data Binding.
• To set the application variables, see Managing Application Variables.
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.
• To set up the events, see Setup Events.
• To configure the data binding values, see Configuring Data Binding.
• To set the application variables, see Managing Application Variables.
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).
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.
• To set up the events, see Setup Events.
• To configure the data binding values, see Configuring Data Binding.
• To set the application variables, see Managing Application Variables.
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 after 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.
Step Action
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
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.
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.
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
Signals • Set a Digital Signal
• Invert a Digital Signal
• Pulse a Digital Signal
• Read a Signal
• Write a Signal
• Reset a Digital Signal
RapidData • Read a Rapid Data
• Write a Rapid Data
Application Variable • Read and Write
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.
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.
• DLL’s 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.
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.
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.
The widget project along with a screen MainScreen(main), appears in the tree
view. The widget project has .wzp file name extension. Widgets also appear in the
Toolbox.
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.
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 variable’s 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.
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 versa.
There are two ways of linking the data with the GUI properties:
• Controller object data binding
• Application variable data binding
2 In the Shared group, select Built-in data only to access shared Rapid data.
When you select Built-in data only, the option Signal data and the text box
Module are disabled.
3 If you have selected Rapid data, then in the Scope group, you can select a
task and module from the list.
When you select Signal data, the Scope group is disabled.
4 In the See list, select the desired data.
CAUTION
Unwanted toggle of I/O Signals & RAPID data when using data binding to
Enabled properties.
When you bind the Enabled property to a Controller object, and a dialog (like the
confirm Going to Auto) is displayed on top, then your screen will be disabled
and all the Enabled properties of all its controls will be set to false and all bound
Controller objects with it.
To avoid this behavior it is recommended to bind Enabled properties to I/O Signals
with Access Level: ReadOnly as this results in a one way binding.
Note
Note
A data bound RAPID array should be declared as PERS, it will not work as
CONST.
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 257
3HAC032104-001 Revision: AE
© Copyright 2020 ABB. All rights reserved.
13 Screenmaker
13.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
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.
Continues on next page
Operating manual - RobotStudio 259
3HAC032104-001 Revision: AE
© Copyright 2020 ABB. All rights reserved.
13 Screenmaker
13.4 Frequently asked questions
Continued
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
13.5 Tutorial
Overview
This chapter is designed as a tutorial to take you through the steps involved in
designing a FlexArc Operator Panel.
The FlexArc Operator Panel is a simple arc welding cell, where the robots can
perform the following three different jobs.
Job Description
Produce Welding the part
Service Service the welding gun
Bull’s Eye Calibrate with bull’s eye
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
Action Information
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
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
Property Value
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
Property Value
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
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 Bull’s 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
Note
Ensure that you start the RAPID execution and switch the controller into
Auto mode.
14 Home tab
14.1 Virtual Controller
Note
To create a system from layout, all your mechanisms such as robots, track
motions and positioners, must be saved as libraries.
14.2 Target
Overview
You can create multiple targets at once, either enter the coordinates manually or
click in the Graphics window to pick the desired positions.
You can align the target orientations with the surface of an adjacent CAD part by
selecting the check box for aligning the surface to the closest part.
Type-in the target name prefix and select the task and workobject where the targets
should go, and optionally select the path where the corresponding move instruction
must be created. The selected instruction template will be used for the created
move instruction.
Creating a target
1 In the Layout browser, select the workobject in which you want to create the
target and set it as Active.
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 workobject
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 Auto Configuration or the
Configurations dialog box.
If using external axes, the position of all activated external axes will be stored
in the target.
Creating a jointtarget
Joint target defines each individual axis position, for both the robot and the external
axes.
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 External 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.
Use... to..
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.
14.3 Path
Empty path
Use the below procedure to create an empty path:
1 On the Home tab, click Path.
2 Click Empty Path.
3 In the Paths&Targets browser, the new empty path is created in the folder
of the active task.
Note
xx1900001906
AutoPath
Use the AutoPath feature to generate accurate paths (linear and circular) based
on CAD geometry. You need to have a geometric object with edges, curves, or
both.
AutoPath feature can create paths from curves or along the edges of a surface.
To create a path along a surface use selection level Surface, and to create a path
along a curve, use selection level Curve. When using Selection level Surface, the
closest edge of the selection will be picked for inclusion in the path. An edge can
only be selected if connected to the last selected edge.
When using Selection level Curve, the selected edge will be added to the list. If
the curve does not have any branches, all edges of the entire curve will be added
to the list if holding the SHIFT button when selecting an edge. The Approach and
Travel directions as defined in the RobotStudio options are used to define the
orientation of the created targets.
Use this procedure to automatically generate a path.
1 In the Home tab, click Path and select AutoPath.
The AutoPath tool appears. Select the Create multiple paths from curves
check-box to create multiple paths from the selected curves.
2 Select the edge or curve of the geometric object for which you want to create
a path.
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.
14.4 Other
Create Workobject
Overview
A workobject is a local coordinate system that indicates the reference position
(and orientation) of a work piece. The workobject contains two frames, the user
frame and the object frame. The user frame (user coordinate system) is one of the
two frames of a workobject, is defined relative to the controller world coordinate
system. The object frame is defined relative to the user frame. To create a
workobject, the following parameters must be specified in the Create Workobject
dialog.
Name Specify the name of the workobject.
Robot holds workobject Select whether the workobject is to be held by the robot. If you
select True, the robot will hold the workobject. The tool can
then either be stationary or held by another robot.
Moved by mechanical unit Select the mechanical unit that moves the workobject. This
option is applicable only if Programmed is set to False.
Programmed Select True if the workobject is to use a fixed coordinate sys-
tem, and False if a movable (that is, external axes) will be used.
Position x, y, z Click in one of these boxes, and then click the position in the
graphics window to transfer the values to the Position boxes.
Rotation rx, ry, rz Specify the rotation of the workobject in the UCS.
Frame by points Specify the frame position of the user frame.
Position x, y, z Click in one of these boxes, and then click the position in the
graphics window to transfer the values to the Position boxes.
Rotation rx, ry, rz Specify the rotation of the workobject.
Frame by points Specify the frame position of the object frame.
Storage type Select PERS or TASK PERS. Select the Storage TypeTASK
PERS if you intend to use the workobject in multimove mode.
Task Specify the task of the sync properties.
Module Select the module in which to declare the 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 ZYX) 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.
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 Create Tooldata.
The Create Tooldata dialog box opens.
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 Task list, select the robot in which the task to be done using the
tooldata.
• 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.
Introduction
The Virtual Reality (VR) button gets enabled on the Home tab when you connect
a VR headset to the PC. RobotStudio and its Station Viewer works with HTC VIVE,
HTC VIVE Cosmos, Oculus Rift, Oculus Rift S, Valve Index and Samsung HMD
Odyssey (Windows Mixed Reality). These devices have motion tracking sensors
for location and orientation tracking of the headset and for the hand controls. The
hand controls can be used to interact with the virtual reality environment.
Note
Prerequisites
• A high-performance gaming PC that matches the specifications of the VR
headset requirements. Check the supplier web page for installation details.
• Microsoft Windows 10 operating system.
• It is recommended to ensure that the physical space is obstacle-free.
However, even in a limited space, the teleport function can be used to move
around in the VR environment.
Programming
The VR function enables robots to be lead through programmed in a safe way
which is otherwise not possible. You can teach movements to the robot by simply
moving the robot around.
Snap move/turn
Press the left hand controller joystick/trackpad forward or backward to snap move
in that direction in short steps. Press the joystick/trackpad left or right to snap turn
in that direction.
Teleportation
To achieve teleportation, press the Grip button on the left hand controller. Pressing
the Grip button displays a beam, press the Trigger button to teleport to the yellow
spot where the beam hits the floor. To cancel the teleportation, just release the left
Grip button.
To move the teleportation target to a higher or lower level, with the left Grip button
pressed, press the left joystick/trackpad forward or backward.
Drag navigation
To move and rotate the VR environment around a point that is centered between
the left and right hand controllers, press the left and right Grip buttons
simultaneously. Use the same buttons to move up/down, forward/backward, right/left
and rotate in the VR environment.
15 Modeling tab
15.1 Import Geometry
Overview
Use Import geometry to add 3D parts to the station. The User Geometry gallery
will display 3D geometry files in the Geometry folder of the user document location.
If you have a solution, the solution geometry gallery will display 3D geometry files
in the Geometry folder of the current solution. Additional galleries can be specified
with the Locations option. To import general files, use the Browse for Geometry
option. This dialog provides the following additional options.
• Convert CAD geometry to single part: Converts an assembly containing
multiple parts to a single part.
• Surface model(render both sides of surfaces): Render both sides of surfaces.
• Import hidden/no-show entities: Entities specified as hidden/no show in the
geometry file will be imported and made visible.
• Link to Geometry(remember source location): The file path of the imported
geometry file will be remembered to allow geometry to be updated at a later
occasion. Right click a part in Layout browser and click Update Linked
geometry.
• Duplicate instanced geometry: If the geometry file contains entities which
have multiple instances, each instance will be imported as separate entities.
Overview
It is possible to create mechanisms to simulate external objects such as, turn
tables, grippers, positioners. The following list describes some of the mechanisms:
• Robot is a mechanism that has a TCP and can be controlled by a virtual
controller.
• Device is a mechanism which does not have a TCP.
• External axes is mechanism that does not have a TCP but can be controlled
by a virtual controller, like track motion or a workpiece positioner or a gantry.
An external axis can move a robot, for example, track motion.
• Tool is a mechanism that has TCP which can be moved by a robot.
Note
Note
6 Select a component in the components list box, enter any values in the
Selected Components group boxes, and then click Apply to component.
Repeat for each component, 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.
Note
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.
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.
When compiling, an existing editable mechanism, modified in the modify mode of
the Mechanism Modeler, is saved without any poses, joint mapping ot transition
times.
To compile a mechanism, follow these steps:
1 To compile a new or edited mechanism, click Compile Mechanism.
The mechanism is inserted into the active station. The link parts are cloned
with new names, but the corresponding links will update their part references.
When the Mechanism modeler is closed, these cloned parts will be removed.
2 The Mechanism Modeler now switches to modify mode. To complete the
mechanism, see below.
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.
16 Simulation tab
16.1 Station Logic
Overview
The station logic is a typical connection between an IO signal/properties over
different items/objects of the station and an output signal/properties from a virtual
controller. The convenient way to connect different items/objects of a station is to
use design view.
Example: In a simulation module, where the gripper is controlled by IO signal you
can connect the output signal of the virtual controller to the gripper through the
station logic.
Note
The properties are connected through binding and the connection are displayed
in red color.
The signals are connected through connections and the connection are displayed
through green color.
The Station Logic editor consists of the following tabs:
Tab Description
Compose In this option, you can add and edit the smart components and all the smart
components are listed in child components.
The state of the component can be saved to be restored later. The state
contains selected modifiable aspects of the component and its child compon-
ents at the time when the state was saved.
• Child components: Lists all smart components.
• Saved States: The state of the components can be saved.
• Assets: Allows you to browse and select any file as an asset related
to RobotStudio
Design Its a graphical view where all the selected objects/items are listed. Its a most
convenient way to connect different items/objects of a station
Properties Displays all object/item properties.
and Bind-
ings
Signals and Displays all object/item signals.
Connections
Compose tab
Overview
The Compose tab consists of the following:
• Child components
• Saved States
• Assets
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.
The following commands are displayed in child components:
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.
Edit parent Sets the context of the Editor to the parent of the component
that is currently being edited.
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.
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.
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.
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.
Design View
Its a graphical view where all the selected objects/items are listed. Its a most
convenient way to connect different items/objects of a station.
Command Description
Show Bindings Displays the property connections.
Show Connections Displays the signal connections.
Show unused Displays all unused objects which are not connected.
Zoom You can zoom the size of the object as required using the slider
or for default size click on Auto Arrange option.
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.
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
Auto-reset Specifies that a digital signal should have transient behavior.
This applies to digital signals only. Indicates that the signal
value is automatically reset to 0.
Number of Signals Specifies the number of signals to create.
Start Index Specifies the first suffix when creating multiple signals.
Step Specifies the suffix interval when creating multiple signals.
Minimum Specifies the minimum value for an analog signal.
This applies to Analog signal only.
Maximum Specifies the maximum value for an analog signal.
This applies to Analog signal only.
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 Base Name and Signal Value
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.
Expose Child signal
The Expose Child Signal dialog box allows you to add a new I/O signal that is
connected to a signal in a child object.
The following controls are available:
Control Description
Signal Name Specifies the name of the signal to be created. By default, it is
the same as the name of the selected child signal.
Child Object Specifies the object for which to expose a signal.
Child Signal Specifies the child signal.
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.
Delete Deletes the selected connection.
Enable TCP Trace Select this check box to activate tracing of the TCP path for
the selected robot.
Note
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.
17 Controller tab
17.1 Add Controller
Note
For connecting RobotStudio to a real controller over the Ethernet (LAN), the
controller system must have the RobotWare option PC-interface. This feature
is not required when connecting through the service port.
The following changes is terminology is specific to RobotWare 7.0:
• Renamed Service port in RobotWare 6 to management port.
• Renamed RobotWare options in RobotWare 6 to RobotWare features.
• Renamed PC-Interface to RobotStudio Connect.
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.
The Add Controller function lists controllers on the local subnet.
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 applications based on PC-SDK or
RobotWeb Services 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 Location 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 Virtual Controllers table lists the virtual controller found in the selected
system folder. Click a virtual controller to select it for starting.
3 Select the required check boxes:
• Reset controller, to start the virtual controller with the default settings.
• Local login:
In local login the user will be logged in as a local user where the
program execution can be started in manual mode, in addition, program
pointer can be set in manual mode. The opposite of a local user is a
remote user, which is the default for RobotStudio. The privileges of a
remote user is restricted when the controller is in manual mode when
compared to a local user, for example, a remote user cannot start
program execution or set the program pointer.
• Handle Write Access automatically.
Note
A virtual controller that has been modified must be restarted with the Reset
controller 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.
17.2 Authenticate
Overview
Introduction
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.
Default Group and User cannot be removed and the password cannot be changed.
However, the user with the user grant Manage UAS settings can modify the
controller grants and application grants of the default user.
You can deactivate the Default User except for RobotWare 6.04 and earlier. Before
deactivating the default user, it is recommended to define at least one user with
the grant Manage UAS settings so as to continue managing users and groups.
Write access
Write access is required to change data on a controller. The controller accepts a
single user with write access at a time. RobotStudio users can request write access
to the system. If the system is running in manual mode, the request for write access
is accepted or rejected on the FlexPendant. User loses write access if the mode
changes from manual to automatic, or vice versa. If the controller is in manual
mode, then the write access can be revoked from the FlexPendant.
Note
2 On the Groups tab, Select the group and then click Edit. Enter the required
changes and click OK.
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.
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.
can deactivate the Admin user. Before deactivating default users, it is recommended
to define at least one user with the grant Manage UAS settings so as to continue
managing users and roles.
17.3 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.
Types of Events
17.4 Configuration
Configuration
From the Configuration you can view and edit the system parameters of a specific
topic in a controller. The Instance Editor is a complementary editor for editing the
details of a type instance (a row in the Configuration Editor's instance list). The
Configuration 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.
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.
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 Select mode dialog box, select how you want to combine the
parameters in the configuration file to load with the existing parameters:
If you want to then
replace the entire configuration of the select Delete existing parameters before
topic with the one in the configuration file. loading
add new parameters from the configura- click Load parameters if no duplicates
tion file to the topic, without modifying the
existing ones.
add new parameters from the configura- click Load parameters and replace du-
tion file to the topic and update the exist- plicates
ing ones with values from the configura-
tion file. Parameters that only exist in the
controller and not in the configuration file
will not be changed at all.
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 affect,
you will be notified of this.
Note
While using the IRC5 controllers use the I/O Configurator tool to configure the
PROFINET network, refer 3HAC065546-001 Application manual - PROFINET
Controller/Device for detailed procedures.
xx1900000802
Configure IP settings
1 In the Configuration browser, select PROFINET Network.
xx1900000882
xx1900000883
xx1900000884
2 Select the GSD file for the I/O device to add to the network.
xx1900000885
Tip
Use the Blink functionality to detect the correct unit when multiple devices
are connected.
2 Add the detected device by right-clicking the device and selecting Add as.
Select the configuration that corresponds to the physical device. The device
is now displayed in the Configuration browser under the PROFINET /
Controller node.
3 The properties for the device are added automatically in the Properties
browser. Make sure these are correct.
xx1900000886
xx1900000887
4 In the Properties tab, specify the properties for the communication module.
The ones with a red frame around must be specified (current value is invalid).
xx1900000888
xx1900000889
2 Select the sub-module in the Configuration browser and configure the module
settings in the Properties browser. These properties are extracted from the
GSD file for the I/O module.
xx1900000890
Note
Note that the channel configuration for all inputs and outputs may by default
be disabled and may have to be activated before an input or output can
be used on the specific channel.
Edit signals
1 In the ribbon, click on Signal Editor.
2 In the Configuration browser, select an I/O module to configure signals for.
3 In the column Name, type the name each signal should have.
xx1900000891
Save configuration
When the configuration is finished, save the configuration to the robot controller.
If you do not already have write access, click Request Write Access in the ribbon
to be allowed to configure the controller.
In the ribbon, click Write config. When asked if you would like to restart the
controller, answer Yes for the new configuration to take effect.
17.6 Properties
Overview
Select this option to view and edit various properties of the connected real
controller.
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.
Note
You must Request Write Access to the controller before setting the controller
ID.
Continues on next page
322 Operating manual - RobotStudio
3HAC032104-001 Revision: AE
© Copyright 2020 ABB. All rights reserved.
17 Controller tab
17.6 Properties
Continued
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.
Manage Certificates
When connecting to a real OmniCore controller the communication is encrypted
using a certificate on the controller. By default, this will be a self-signed certificate
that need to be trusted by the RobotStudio user. In this case the following dialog
will be displayed.
xx1900001786
xx1900001787
Configure firewall
Use this feature to set up the firewall to allow network connections. When you
choose Allow, it configures the firewall to allow connections through the public
network port on the controller. To prevent connections press Block. Advanced
button opens the Configuration editor to manually edit the configuration file. By
default, the firewall will be blocked. The firewall must be configured to allow network
connection through WAN.
xx1900001788
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.
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 the robot controller, 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 robot controller.
Import settings Click this button to import settings to the robot controller. 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 robot controller.
Revert Click this button to revert to the current settings of the robot controller.
6 Click Add, the Select Product window opens. Select the product manifest
file and click OK.
Note
Note
For RobotWare 7.0 systems, the package gets created in the preferred
folder.
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 the changed system and these changes will take effect
during the next restart.
Note
5 Click Add, the Select Product window opens. Select the product manifest
file and click OK.
If you want to add more products such as Add-ins, click Add again and select
the product. To find a product that is not in the list, click Browse and then
select the file from the particular folder.
Note
Note
For RobotWare 7.0 systems, the package gets created in the preferred
folder.
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.
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.
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.
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 or changed virtual controller and these changes will take effect
during the next restart.
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 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
will be displayed here. You are able to view the license(s) from the backup.
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.
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 backups will be marked in bold in the folder hierarchy. User
must select one of the valid backup folders for further system creation.
Introduction
The Conveyor Tracking tab contains a tree view browser displaying the connected
DSQC2000 units and other related objects. It is used as a user interface to configure
settings and monitor live signals of the DSQC2000 tracking units.
Note
While in the tree view browser or any of the related object dialogues, pressing
F1 will open the Application manual - Conveyor tracking.
To open the Conveyor Tracking tab:
Action
1 Click Conveyor Tracking from the Configuration group, in the Controller tab.
The Conveyor Tracking tab opens.
Adding a CTM
To add a CTM, a connection must be established between the computer and the
CTM:
Action
1 Click Add CTM.
The Add CTM dialog box displays all the detected CTMs.
2 Select the CTM from the list and click OK.
The CTM is added to the tree view object browser.
WARNING
Do not press the SW1 button while the CTM is restarting, this will reset the
CTM to default factory settings and any updates or upgrades will be lost.
Network settings
The WAN port of the CTM is connected to the robot controllers through an Ethernet
network. To establish communication between the robot controllers and the CTM,
a fixed IP address must be assigned to the CTM. The IP address should be located
on the same subnet as the network interface of the connected robot controllers.
To change the network settings:
Action
1 Right-click the CTM in the tree view browser, select Network settings, and then
click WAN interface.
2 Enter the IP address, the Subnet mask, and the Default gateway (optional) and
then click OK.
Authenticate
A CTM has the following two predefined users:
User Default pass- Description
word
abbadmin abbadmin It is an advanced user and is used for advanced
maintenance and troubleshooting.
Note
Note
WARNING
You cannot recover a lost password, so ensure the password is not lost or
forgotten.
To login as a user:
Action
1 Right-click the CTM and click Authenticate > Login as a Different User.
2 Enter the required credentials and click Login.
Rename
You can rename the CTM, the encoders, and the sensors.
To rename any object:
Action
1 Right-click the object in the tree view browser and then click Rename.
The Rename dialog box opens.
2 Enter a new name for the object and then click OK.
The new names are stored in the CTM and will be displayed in RobotStudio, once
it is restarted.
Configuring an encoder
You can configure some settings of an encoder, for example, Speed filter.
To configure an encoder:
Action
1 Right-click the encoder in the tree view browser and then click Configure encoder.
The Configure encoder tab opens.
2 Modify the settings and click Apply.
Configuring a sensor
You can configure some settings of a sensor, for example, Sync Separation.
To configure a sensor:
Action
1 Right-click the sensor in the tree view browser and then click Configure sensor.
The Configure sensor dialog box opens.
2 Modify the settings and click Apply.
Sync separation is used to filter an unstable signal in the sync input signal. It
defines the minimum encoder distance (counts) between two sync pulses from the
sensor. When the actual distance is shorter than this value, then the second sync
pulse is ignored.
The sensor type can be configured as I/O Sensor, Camera, or Not used. This
change in configuration will affect how the sensor is displayed in the tree view
browser.
Note
It is recommended to set the same sync separation value for all the encoders.
The camera pulse width defines the pulse length (ms) used with the camera trigger
signal.
Note
For high speed conveyors, the pulse length must be shorter than the time between
consecutive camera images, so that:
Camera pulse width < (Trigger distance in mm / Max conveyor speed in mm/s)
/ 1000
Restart
Overview
A restart or reboot of a CTM can be performed using the tree view browser.
Restart
A restart is required after modifying the settings of the CTM.
To restart the CTM:
Action
1 Right-click the desired CTM in the tree view browser and then click Restart.
Reboot
A reboot is slower than a restart, it corresponds to the restart after cycling the
power.
To reboot the CTM:
Action
1 Right-click the desired CTM in the tree view browser and then click Reboot.
Signals
There are 3 types of live signals: encoder, sensor, and other. You can sort and
filter the signals by various properties:
Signal property Description
Name Name of the signal
Type Signal value type, for example, float
Value Signal live value
Unit Signal value unit, for example, Hz
Category Signal category, for example, Public or Internal
Sensor Sensor number (1-8)
Encoder Encoder number (1-4)
Function Signal name used in the robot controller, for example, TrigVis
Label Connector on the CTM, for example, X11
Description Information on what the signal represents
Restoring a backup
To restore a backup of the CTM:
Action
1 Right-click the CTM in the tree view browser and then select Restore Backup….
The Restore from Backup to CTM dialog box opens.
2 Enter or browse to the required Location, select backup folder and click Open.
The backup of the CTM saved in the folder is displayed in the list of the Available
backups section.
3 Select the required backup from the list and click OK.
The CTM’s settings will be restored according to the backup, after a restart of the
CTM.
Firmware upgrade
A firmware upgrade is normally provided by ABB, as a .cab file.
WARNING
Action
3 Click Browse, navigate to the .cab file and then click Open.
The Verify Software dialog box opens.
It displays the publisher of the file.
4 If the publisher is trusted, click Yes.
The Firmware Upgrade dialog box opens.
It displays the new firmware version.
5 Verify it and click Upgrade, to download it.
The CTM will restart after the download and installation.
After a firmware upgrade, you may have to restore the network settings of the CTM.
Overview
The Motion Configuration window contains functions for making and viewing
advanced system configurations, such as changing controller and baseframe
positions, calibrating and setting up external axes.
CAUTION
6 Click OK.
Note
17.11 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 even when
the real controller is disconnected.
Using Go Offline
1 Connect the PC to a real controller.
2 On the Controller tab, click Request Write Access.
3 Click Go Offline.
The Go Offline dialog box is displayed.
4 Enter a name in the Virtual Controller Name field and browse for the location
to save the system.
5 Select the RobotWare version followed by the RobotWare Add-in version
and click OK.
A new station gets created with a virtual controller which has the same
configuration as the real controller.
Note
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 controller’s system folder.
Transferring data
You can configure the details of the transfer of data and also execute the transfer,
in the Relation dialog box.
18 RAPID tab
18.1 Synchronize
Overview
To synchronize is to make sure that the RAPID program in the virtual controller
corresponds to the program in the station. You can synchronize from the station
to the virtual controller and vice versa.
In a station, a robot’s position corresponds to the targets and its movements are
defined by move instructions in the robot path. These correspond to data
declarations and instructions in the modules of the RAPID program.
Synchronizing to RAPID
This operation updates the RAPID program of the virtual controller to reflect the
latest changes in the station. Perform this operation before running a simulation,
saving a program to file and before taking a backup of a virtual controller.
1 To synchronize, click the arrow next to the Synchronize icon, and then click
Synchronize to RAPID.
2 Select the elements to be synchronized from the list.
xx1900001535
Element Description
Module Specifies the target module of the virtual controller, if it does not exist
, it will be created.
Select from the list of modules or type in the name of the new module.
Local Specifies whether the data must be created as LOCAL. Adds the
keywork LOCAL before the data declaration and creates data LOCAL
to the module.
Storage Specifies the storage type of the data declaration.
class
Inline Specifies whether the data declaration must be declared as inline or
named. In this case the data is declared in the instruction itself.
3 Click OK.
The message Synchronization to RAPID completed is displayed in the
Output window.
Note
xx1900001536
xx1900001534
xx1900001533
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.
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.
19 Add-Ins tab
19.1 Gearbox Heat Prediction
Overview
The Gearbox Heat Prediction tool 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
its maintenance. It supervises the operating time and mode of the robot, and alerts
the operator when a maintenance activity must be 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 and read the temperature from the robot configuration as
specified in the parameter Motion->SIS Parameter ->
r1_sis_param->Robot temperature.
Note
The temperature value used while configuring the robot in the real
environment must be used for ambient temperature calculations.
Note
Note
Note
Note
A 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 Documents location Shows the default path to the project folder.
Solutions location 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.
Document Locations Launches the Document Locations dialog box.
Clear Recent Stations and Clears the list of recently accessed stations and controllers.
Controllers
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.
Follow program pointer by Select this check-box to enable the program pointer by default.
default
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
parallel is executed in parallel.
Directory for log files and report files Specifies the directory for log/report files.
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.
Automatically adjust view Select to automatically adjust the view center distance when
center distance rotating or zooming a 3D view.
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
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.
B Terminology
A
ABB Library
The default repository of robots, positioners, tracks and their respective galleries.
Add-In
A software program that expands the capabilities of RobotStudio or RobotWare.
Creating Add-Ins is the recommended way for third party developers to add new
features into RobotWare or RobotStudio.
A RobotWare Add-In contains RAPID modules and configuration files that holds
the code for loading the add-in and configuring it at start up. The Add-In may also
include .xml files with event log messages in different languages. Add-Ins can be
packaged using the RobotWare Add-In Packaging tool. You can download the tool
from http://www.abb.com/abblibrary/DownloadCenter/
Activation key
Activation key is a 25-character key that ABB sends by an e-mail during RobotStudio
purchase. Use this key for activating RobotStudio standalone license during manual
activation in the absence of Internet connection.
B
Base frame
The base coordinate system is called the Base Frame (BF). The base frame for a
robot is located at the center of its foot. It describes the location of the robot in
relation to the world coordinate system.
xx0300000495
Ball joint
Defined by a point that allows free rotation but no translation.
Body
A body is a shape, which can be a solid, surface, or curve.
Boot Server
It is a software installed in the controller along with RobotWare. The Boot Application
on the FlexPendant copies the installation files for the selected system to the
controller inbox. The Boot Server application on the robot controller uses these
files in the controller inbox to create a RobotWare system on the memory card in
the robot controller. Once the installation finishes, the selected RobotWare system
starts.
Breakpoint
A breakpoint is an intentional stop placed for debugging in a RAPID program. A
breakpoint is a signal that tells the debugger to temporarily stop the RAPID program
at a certain point. When execution stops at a breakpoint, the program is in the
break mode. Entering the break mode does not stop the program, you can resume
program execution at any time.
C
Category 0 stop
Stop by immediate removal of power to the actuators. Mechanical brakes are
applied. A robot that is stopped with a category 0 stop does not follow its
programmed path while decelerating.
Category 1 stop
Controlled stop with power available to the actuators to achieve the stop. Power
is removed from the actuators when the stop is achieved. A robot that is stopped
with a category 1 stop follows its programmed path while decelerating.
Checksum
A checksum is an auto-generated unique mandatory text string of 64 characters
appended to the safety configuration file of a controller. This string captures any
changes that may happen to the file during transmission or installation. It is applied
to the safety configuration file that Visual SafeMove creates.
Clip Plane
A clip plane is an imaginary infinite plane that cuts through geometric objects in
the station. It allows the user to temporarily cut parts of the model away to help
visualize the interior of a geometry or mesh. 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.
Collision Geometry
Collision geometry is the simplified shape of an object where sharp edges and
uneven surfaces of complex geometries are removed for easiness in collision
calculations. The simplified collision geometry is used in physics simulations.
RobotStudio uses regular geometry for collision detection.
Continues on next page
368 Operating manual - RobotStudio
3HAC032104-001 Revision: AE
© Copyright 2020 ABB. All rights reserved.
B Terminology
Continued
Collision detection
Useful to identify intersections between 3D objects in a station during programming
phase and to detect any probable collisions with robot. It helps in modifying robot
programs accordingly and avoid collisions on the shop floor at run-time. There is
a performance penalty in using collision detection as it is a compute-intensive
feature and demands computer resources extensively for collision calculations.
Therefore, it is recommended that it must include parts that can potentially collide
and exclude others during collision calculations.
Collision Set
A collision set is a pair of object sets that are checked for mutual collisions. A
common use of collision sets is to create one for each robot in the station. Add
robot and its tool in the first object set and objects against which you want to check
collision in the other. Each collision set can be activated and deactivated separately.
Curve
A curve is a wire body like a line, circle, arc, polygon, polyline, or spline.
Cylindrical joint
Defined by a line and is a combination of prismatic and rotational joint.
Coordinate system
A coordinate system specifies the position and orientation of an object in the 3D
space using three coordinates x, y and z. Orientation of an object can be specified
either by using three angles or quadrants. RobotStudio allows using the following
coordinate systems to define the orientation and placement of components. A
coordinate system defines a plane or space by axes from a fixed point called the
origin. Robot targets and positions are located by measurements along the axes
of coordinate systems. A robot uses several coordinate systems, each suitable for
specific types of jogging or programming. RobotStudio uses the following coordinate
systems, World, Local, UCS, Active Work object, Active Tool.
• The base coordinate system is located at the base of the robot. It is the
easiest one for just moving the robot from one position to another.
• The work object coordinate system is related to the work piece and is often
the best one for programming the robot.
• The tool coordinate system or the Tool Center Point frame(TCP) defines the
position of the tool the robot uses while reaching the programmed targets.
• The world coordinate system defines the robot cell, all other coordinate
systems are related to the world coordinate system, either directly or
indirectly. The world coordinate system has its zero point on a fixed position
in the cell or station. This makes it useful for handling several robots or robots
moved by external axes.
By default, the world coordinate system coincides with the base coordinate system.
The user coordinate system is useful for representing equipment that holds other
coordinate systems, like work objects.
Cycle time
Simulations are calculated cyclically. The cycle time specifies the time frame in
which the calculations are to be performed and data is to be exchanged.
D
Drive module
Houses power supply and the drive units of the robot and additional motors. If you
have external axis in the system the corresponding drive modules must be in place.
Distribution Package
Distribution Package is the basic unit for the distribution and installation. Package
Components are the smallest non-divisible unit of distribution containing a version
and type, for example, a RobotStudio add-in. The contents of the Distribution
Package may be installed on an embedded device such as the robot controller.
RobotWare 6 and related RobotWare add-ins media pools are packaged and
distributed in specific folders called distribution packages.
On a Windows installation with English language, the default folder is C:
\User\<user name>\AppData\Local\ABB\DistributionPackages, this
location can be customized. 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.
Locations of distribution package
In RobotStudio 6, RobotWare and related packages are referred as application
data. A distribution package is available in the following locations.
• ProgramData: used when the appdata is shared among users on the
computer. If RobotWare is installed with RobotStudio, the path is
%ProgramData%\ABB Industrial IT\Robotics
IT\DistributionPackages\.
• LocalAppData: used if a package or manifest is installed by a particular user.
If RobotWare is installed with RobotStudio, the path is
Users\<username>\AppData\Local\ABB Industrial IT\Robotics
IT\DistributionPackages .
• Customized location (optional): may be used when several users share a
package repository. For more information, see Additional distribution package
location in RobotStudio Options:General:Files & Folders.
E
External Axis
Moving equipment that is controlled by the robot controller (in addition to the robot)
is denoted as an external axis, for example, track motion, a positioner, and so on.
Entry point
Point where the program execution starts.
F
Frame
Frame is the visual representation of a coordinate system in RobotStudio.
• Position of a component is represented with respect to World, Base and
Work object frames.
• Orientation format is set to Quaternion or Euler angles.
• Position angle format is set to Angles.
• Presentation angle unit can be set to Degrees or Radians.
Face
Each surface of the body is called a face. Solid bodies are 3D objects, made up of
faces. A true 3D solid is one body containing multiple faces.
Freerun mode
Controllers run independently of each other. The cycle time will be accurate, but
the timing for setting signals and triggering events will be inaccurate.
G
Geometry
3D representation of real objects like box, cylinder and so on. CAD models of work
pieces and custom equipment are imported as geometries to the station. Geometry
consists of two layers; the mathematical representation of the curves and surfaces
known as boundary representation (BReps), and the graphics layer, containing
triangles that approximate the BReps. Graphics layer is used in collision detection
and for visualizing the mathematical layer.
I
Instruction Templates
A RAPID instruction file (template) containing predefined argument values used
to create new instructions. These templates can be created for RAPID instructions
in the virtual controller.
J
Joint
A joint defines how links around are connected. The most common joint types are
prismatic or linear. But there are also ball joints, cylindrical, and lock joints.
L
License
RobotStudio features are activated using the activation key. Activation key is a
25-character key that is availed when you purchase RobotStudio. RobotWare
options are enabled/unlocked by one or more RobotWare license files(.rlf). Several
license files can be combined for one RobotWare. The license file is delivered with
the robot. To extend the Virtual Controller with more RobotWare options, contact
ABB. Only the RobotWare options that are made available/unlocked by the license
file will be available for selection in the Installation Manager while building or
modifying the RobotWare.
RobotWare license decides the parts of RobotWare (supported robot models,
options and so on.) that must be part of the system. When running a system on a
real controller, it must be built with the license that was delivered with the robot.
For running a virtual controller (for simulations in RobotStudio) either a license
from a real robot or a virtual license can be used. Using a license from a real robot
is a quick way to ensure that the virtual controller matches that robot. Using a
virtual license provides possibility to simulate and evaluate any robot model with
any configuration. A virtual controller built with a virtual license cannot be run on
a real controller.
Library files
Library files are standalone external reusable files that are added to a RobotStudio
station. The ABB product range of robots are installed as library files with
RobotStudio, by default. Library files contain geometrical data and RobotStudio
specific data. For example, when a tool is saved as a library file, its tool data is
saved along with the CAD data.
Local origin
All objects have coordinate systems of its own called the local coordinate system.
Object dimensions are defined with respect to this coordinated system. When the
object’s position is referred from other coordinate systems like WCS, the local
origin of the object is used as the point of reference.
Lock joint
Connects two objects and does not allow them to move in relation to another.
Link
A link is a mechanical part. Several links are connected through joints to form a
manipulator (mechanism).
M
Mechanism
A mechanism is a graphical representation of a robot, tool, external axis, or device,
various parts of a mechanism move along or around axes.
MultiMove
Controls as many as 4 robots (36 axes) at a time. In a multimove system, common
work objects are shared between robots which requires complex coordinated
patterns. MultiMove also facilitates a dynamic switch between independent and
coordinated motion.
Markup
A markup is a text box displayed in 3D. It is part of the station and appears as a
text bubble pointing to a position in the Graphics window.
xx1900000306
Mechanical unit
A mechanical unit is the representation of a robot or one or more external axis in
the robot controller, for example, robot, track motion and so on.
Module
RAPID code of the controller is structured into modules. A module contains several
routines of type procedure, function or trap. Modules are of two types system and
program.
N
Near-miss
Near-miss occurs when objects in collision sets are closer to each other but it
avoids collision. Each collision set has its own near-miss settings. The near-miss
feature can be used to add a margin to collisions and to gauge distance between
the components in the station during movements.
O
Offline
User is disconnected from a real controller and is working with a virtual controller.
Orientation
The orientation of an object such as a line, plane or rigid body is it’s placement in
space. It is the imaginary rotation that is needed to move the object from a reference
placement to its current placement. A rotation may not be enough to reach the
current placement. It may be necessary to add an imaginary translation too. The
location and orientation together fully describe how the object is placed in space.
The above-mentioned imaginary rotation and translation may be thought to occur
in any order, as the orientation of an object does not change when it translates,
and its location does not change when it rotates.
Orientation formats available in RobotStudio are Quaternion, Euler angles and
RPY angles.
Quaternion
A quaternion is a mathematical representation of orientation. They are points in
space represented by their coordinates. A quaternion consists of four values
between -1 and 1. The sum of its squares must be equal to one, that is, it has to
be normalized (in which case it may be called unit quaternion).
Euler Angles
The term Euler implies that each angle is applied to the original coordinate system
(before the rotations are applied). The angles describe orientations around different
axes and in different order. The convention used in RobotStudio and for the IRC5
controller is Euler ZYX, which means the first values describe the angle to rotate
around the z axis, the second value describes the orientation angle around the
original Y-axis and the last value describes the orientation around original x-axis.
There are also other conventions like Euler ZYZ, and Euler XYZ which ABB does
not use.
RPY Angles
The RPY convention describes orientation with three angles, it is short for Roll,
Pitch, Yaw. Any target orientation can be reached, starting from a known reference
orientation, using a specific sequence of intrinsic rotations, whose magnitudes are
the Euler angles of the target orientation. The difference compared to the
Euler-convention is that each angle describes orientation around the new, rotated
coordinate system. When rotating using the RPY convention, then the first angle
describes orientation around x (same as Euler), but the second angle describes
orientation around the y-axis of the rotated coordinate system (different from Euler),
and the z-angle describes orientation around the rotated z axis. The RPY
representation is equivalent of the Euler ZYX representation.
Offline programming
Robot programming using the virtual controller.
Online
User is connected directly to a real controller through the network.
P
Path
A path is a sequence of targets with move instructions that the robot follows.
Part
Top node of a geometry is called a part.
Product
In the context of RobotWare 6, product is the collective name for 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.
Pack & go
Way to share RobotStudio stations by combining the station and virtual controllers
packaged into one file.
Positioner
A positioner is used to position a work piece for the robot to have better access.
In arc welding, positioners are used to re-orient the work piece so that the weld is
always done vertically due to gravity.
Position
Three coordinates that describe the x, and y and z- position of a point in a given
coordinate system. In RobotStudio position of an object can be displayed relative
to the reference coordinate systems World, Base and Work object.
Prismatic joint
Allow two connected links to move along a line that defines the joint.
PLCSIM Advanced
Virtual PLC.
R
Robotware keys
The RobotWare key is the license key that decides the robot models and RobotWare
options to run on the controller. The license key is delivered with the controller.
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 external axes.
Using a virtual key, you can select any RobotWare option, but a RobotWare system
created from a virtual key can only be used in a virtual environment such as
RobotStudio.
RobotWare license
This license unlocks the RobotWare options, for example, robots and RobotWare
options. To upgrade from RobotWare version 5.15 or earlier, replace the controller
main computer and get RobotWare 6 licenses. Contact ABB Robotics service
representative at www.abb.com/contacts.
RobotWare system
A set of software files that, when loaded into a controller, enables all functions,
configurations, data, and programs controlling the robot. RobotWare systems are
created in RobotStudio. These systems can be saved on a PC or on a control
module. RobotWare systems can be edited by RobotStudio or the FlexPendant.
Real Controller
A physical robot controller. It contains all functions needed to move and control
the robot.
RobotWare
Set of software products used to configure a real controller.
RAPID
Programming language for ABB robot controller.
Rail
A mechanism consisting of a linear axis with a carriage on which the robot is
mounted.
Robtarget
RobotStudio targets are translated to the RAPID data type robtarget during RAPID
synchronization. It defines the position and orientation that the TCP shall reach.
A robtarget defines a point in 3D space when it is associated with a work object.
The position is defined based on the coordinate system of the work object, including
any program displacement.
Routine
A well-defined part of a program for carrying out the intended task. Routines are
either procedures, functions or traps.
Rotational joint
Defined by a line around which parts can rotate.
S
Station
A station is the 3D representation of the virtual robot cell. It is saved to a file with
the extension *.rsstn.
Station logic
Station logic defines how smart components and virtual controllers of a station are
connected.
Station Components
Physical objects such as robot, fixtures, tools, fences and so on, that are used to
design an efficient and maintainable robotic cell are collectively referred to as
station components.
Synchronization
The synchronization function converts targets, workobjects, tools and paths in the
3D environment to RAPID code in the virtual controller and vice versa.
Smart Component
Smart Component is a RobotStudio object (with or without a 3D graphical
representation) whose properties are implemented by the code-behind or by
aggregating other Smart Components. The base components that are availed with
RobotStudio installation provides a complete set of basic building blocks. They
can be used to build user defined Smart Components with more complex properties.
System
A set of software files that, when loaded into a controller, enables all functions,
configurations, data and programs controlling the robot system. These systems
can be saved on a PC or on a control module. RobotWare systems can be created
and edited in RobotStudio or FlexPendant.
Solution
Solutions add structure to the station data. It contains folders for structuring station
data so as to keep related data together.
Solid model
Solid model is a consistent set of principles for mathematical and computer
modeling of 3D solids, for example, a robot mechanism. Solid models are 3D
objects, made up of faces consisting of shapes like boxes, cones, cylinders,
pyramids, or spheres.
STATIC task
A STATIC task gets restarted at the current position of the robot when the system
was powered off.
SEMISTATIC task
A SEMISTATIC task gets restarted from the beginning whenever the power is
turned on. A SEMISTATIC task will also initiate the restart sequence, reload modules
specified in the system parameters if the module file is newer than the loaded
module.
Station Viewer
It can playback a station in 3D without RobotStudio. It packages the station file
together with the files needed to view the station in 3D. It can also play recorded
simulations.
Simit
SIMIT is a simulation platform from Siemens for virtual commissioning of factory
automation.
Symbol
A signal is identified by this name in SIMIT.
T
Tool
A tool is an object that can be mounted directly or indirectly on the robot turning.
Tooldata
A tool is represented with a variable of the data type tooldata. Tooldata represents
characteristics of a tool such as position and orientation of the TCP and the physical
characteristics of the tool load.
en0300000497
Task
A task is an activity or piece of work. RobotStudio tasks are either Normal, Static
or Semistatic.
Task frame
Represents the origin of the robot controller world coordinate system in
RobotStudio.
Track motion
A mechanism consisting of a linear axis with a carriage on which the robot is
mounted. The track motion is used to give the robot improved reachability while
working with large work pieces.
Target
Target signifies the position to which the robot is programmed to move. It is a
RobotStudio object that contains the position and orientation of the point that the
robot must reach. Position data is used to define the position in the move
instructions to which the robot and additional axes will move.
As the robot is able to achieve the same position in several different ways, the axis
configuration is also specified. Target object contains values that shows position
of the robot, orientation of the tool, axis configuration of the robot and position of
the additional logical axes.
U
User Authorization System
Defines the correct access level for each user, protects the system from
unauthorized usage.
User library
Library files imported to RobotStudio.
V
Virtual Controller
A software that emulates the real controller on the PC. It is used for offline
programming and simulation. Virtual controller replicates the RobotWare system.
W
Work Object
A work object is a local coordinate system that indicates the reference position
(and orientation) of a work piece. The work object coordinate system must be
defined in two coordinate systems , the user coordinate system (related to the
world coordinate system) and the object coordinate system (related to the user
coordinate system). Work objects are often created to simplify jogging along the
object’s surfaces. Work objects should always be global to be available to all
modules in the program.
xx0600002738
en0300000496
Work Envelope
The defined area of space in which a robot can move is its work envelope. Work
envelope for a robot is the maximum range of movement that can be visualized in
2D/3D graphics. Work envelopes are only available for articulated robots, and not
available for picker robots or external axes.
Wobjdata
A work object is represented with a variable of the data type wobjdata. It describes
the work object that the robot welds, processes, moves within, and so on.
C 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 [email protected]
ABB Inc.
Robotics and Motion
1250 Brown Road
Auburn Hills, MI 48326
USA
Telephone: +1 248 391 9000
abb.com/robotics
3HAC032104-001, Rev AE, en