0% found this document useful (0 votes)
54 views216 pages

Omni Core

Download as pdf or txt
Download as pdf or txt
Download as pdf or txt
You are on page 1/ 216

ROBOTICS

Operating manual
OmniCore
Trace back information:
Workspace 20A version a2
Checked in 2020-02-21
Skribenta version 5.3.033
Operating manual
OmniCore
Robotware 7.0.2

Document ID: 3HAC065036-001


Revision: D

© Copyright 20192020 ABB. All rights reserved.


Specifications subject to change without notice.
The information in this manual is subject to change without notice and should not
be construed as a commitment by ABB. ABB assumes no responsibility for any errors
that may appear in this manual.
Except as may be expressly stated anywhere in this manual, nothing herein shall be
construed as any kind of guarantee or warranty by ABB for losses, damages to
persons or property, fitness for a specific purpose or the like.
In no event shall ABB be liable for incidental or consequential damages arising from
use of this manual and products described herein.
This manual and parts thereof must not be reproduced or copied without ABB's
written permission.
Keep for future reference.
Additional copies of this manual may be obtained from ABB.
Original instructions.

© Copyright 20192020 ABB. All rights reserved.


Specifications subject to change without notice.
Table of contents

Table of contents
Overview of this manual ................................................................................................................... 9
Product documentation .................................................................................................................... 11

1 Introduction to OmniCore 13
1.1 About this section ............................................................................................. 13
1.2 The OmniCore controller .................................................................................... 14
1.3 The FlexPendant ............................................................................................... 15
1.4 RobotStudio ..................................................................................................... 20

2 Navigating and handling the FlexPendant 21


2.1 Overview ......................................................................................................... 21
2.2 The user interface ............................................................................................. 22
2.2.1 Introduction ............................................................................................ 22
2.2.2 Status bar .............................................................................................. 23
2.2.3 FlexPendant applications .......................................................................... 31
2.3 Personalizing the FlexPendant ............................................................................. 34
2.3.1 Basic settings ......................................................................................... 34
2.3.1.1 Introduction ................................................................................ 34
2.3.1.2 System information ...................................................................... 35
2.3.1.3 Changing date and time ................................................................ 36
2.3.1.4 Configuring the interface language ................................................. 37
2.3.1.5 Identity settings ........................................................................... 38
2.3.1.6 Changing programmable keys ....................................................... 39
2.4 Updating the applications ................................................................................... 41

3 OmniCore controller operating modes 43


3.1 Introduction ...................................................................................................... 43
3.2 Changing operating modes ................................................................................. 44
3.3 Locking and unlocking operating modes ................................................................ 45

4 Calibration 49
4.1 Introduction ...................................................................................................... 49
4.2 How to check if the robot needs calibration ............................................................ 50
4.3 Fine calibration ................................................................................................. 52
4.4 Calibration ....................................................................................................... 54
4.5 Updating revolution counters ............................................................................... 56

5 Jogging 59
5.1 Introduction to jogging ....................................................................................... 59
5.2 Coordinate systems for jogging ........................................................................... 61
5.3 Basic settings for jogging ................................................................................... 66
5.4 Reading the exact position .................................................................................. 68
5.5 Restrictions to jogging ....................................................................................... 70
5.6 Lead-through .................................................................................................... 71
5.7 Supervision ...................................................................................................... 72
5.8 Align tool ......................................................................................................... 73

6 Programming and testing 75


6.1 Introduction ...................................................................................................... 75
6.2 Before you start programming ............................................................................. 76
6.3 Programming concept ........................................................................................ 77
6.3.1 Handling of programs .............................................................................. 77
6.3.2 Handling of modules ................................................................................ 81
6.3.3 Handling of routines ................................................................................ 85
6.3.4 Handling of instructions ............................................................................ 96

Operating manual - OmniCore 5


3HAC065036-001 Revision: D
© Copyright 20192020 ABB. All rights reserved.
Table of contents

6.3.5 Example: Add movement instructions ......................................................... 98


6.3.6 About the Program and Motion Pointers ...................................................... 100
6.4 Data types ....................................................................................................... 101
6.4.1 View data in specific tasks, modules, or routines ........................................... 101
6.4.2 Creating new data instance ....................................................................... 102
6.4.3 Editing data instances .............................................................................. 104
6.5 Tools .............................................................................................................. 106
6.5.1 What is a tool? ........................................................................................ 106
6.5.2 What is the tool center point? .................................................................... 108
6.5.3 Creating a tool ........................................................................................ 110
6.5.4 Defining the tool frame ............................................................................. 112
6.5.5 Editing the tool data ................................................................................. 117
6.5.6 Deleting a tool ........................................................................................ 119
6.5.7 Setup for stationary tools .......................................................................... 120
6.6 Work objects .................................................................................................... 122
6.6.1 What is a work object? ............................................................................. 122
6.6.2 Creating a work object ............................................................................. 123
6.6.3 Defining a work object .............................................................................. 124
6.6.4 Defining the work object coordinate system ................................................. 126
6.6.5 Editing the work object data ...................................................................... 130
6.6.6 Deleting a work object .............................................................................. 131
6.6.7 Setup stationary work object ..................................................................... 132
6.7 Payloads ......................................................................................................... 133
6.7.1 Overview ............................................................................................... 133
6.7.2 Creating a payload .................................................................................. 134
6.7.3 Editing the payload data ........................................................................... 136
6.7.4 Deleting a payload ................................................................................... 138
6.8 Testing ............................................................................................................ 139
6.8.1 Using the hold-to-run function ................................................................... 139
6.8.2 Running the program from a specific instruction ........................................... 141
6.8.3 Running a specific routine ........................................................................ 142
6.8.4 Stepping instruction by instruction ............................................................. 143
6.9 Service routines ................................................................................................ 146
6.9.1 Running a service routine ......................................................................... 146
6.9.2 Connected Services Reset service routine ................................................... 149
6.9.3 Battery shutdown service routine ............................................................... 150
6.9.4 Calibration Pendulum service routine .......................................................... 151
6.9.5 Service Information System service routine .................................................. 152
6.9.6 Load identification service routine .............................................................. 153
6.9.7 Brake check service routine ...................................................................... 162
6.9.8 Cyclic Brake Check service routine ............................................................. 168

7 Running in production 173


7.1 Introduction ...................................................................................................... 173
7.2 Basic procedures .............................................................................................. 174
7.2.1 Starting programs ................................................................................... 174
7.2.2 Stopping programs .................................................................................. 177
7.2.3 Using multitasking programs ..................................................................... 178
7.2.4 Returning the robot to the path .................................................................. 181
7.3 Managing Dashboards ....................................................................................... 183
7.4 Connecting and detaching a FlexPendant .............................................................. 186
7.5 Modifying positions ........................................................................................... 189

8 Handling inputs and outputs, I/O 191


8.1 Introduction ...................................................................................................... 191
8.2 Viewing signal lists ............................................................................................ 192
8.3 Setting signals as favorite signals ........................................................................ 193
8.4 Simulating the signals and changing the signal values ............................................. 194
8.5 I/O devices ....................................................................................................... 195

6 Operating manual - OmniCore


3HAC065036-001 Revision: D
© Copyright 20192020 ABB. All rights reserved.
Table of contents

9 Handling the event log 197


9.1 Introduction ...................................................................................................... 197
9.2 Accessing the event log ..................................................................................... 198
9.3 Saving log entries ............................................................................................. 199
9.4 Clearing the log entries ...................................................................................... 200

10 Install, update, restart, and other configuration 201


10.1 Introduction ...................................................................................................... 201
10.2 Start installer .................................................................................................... 202
10.3 Restart ............................................................................................................ 203
10.4 Back up the system ........................................................................................... 204
10.5 Restore the system ............................................................................................ 206
10.6 Reset user data ................................................................................................ 207
10.7 FlexPendant logs .............................................................................................. 208
10.8 Connection log ................................................................................................. 209
10.9 System diagnostics ........................................................................................... 210

Index 211

Operating manual - OmniCore 7


3HAC065036-001 Revision: D
© Copyright 20192020 ABB. All rights reserved.
This page is intentionally left blank
Overview of this manual

Overview of this manual


About this manual
This manual contains instructions for operation of OmniCore controller based
robots.

Note

It is the responsibility of the integrator to provide safety and user guides for the
robot system.

Usage
This manual should be used during operation.
Some actions that are more advanced, or not used in the daily operation, are
described in Operating manual - Integrator's guide OmniCore.

Note

Before any work on or with the robot is performed, the safety information in the
product manual for the controller and manipulator must be read.

Who should read this manual?


This manual is intended for:
• operators
• product technicians
• service technicians
• robot programmers

Prerequisites
The reader should:
• Have read and understood the safety instructions in the product manuals for
the robot.
• Be trained in robot operation.

References
Documentation referred to in the manual, is listed in the table below.
Document name Document ID
Product manual - OmniCore C30 3HAC060860-001
Operating manual - Integrator's guide OmniCore 3HAC065037-001
Operating manual - RobotStudio 3HAC032104-001
Application manual - Controller software OmniCore 3HAC066554-001
Technical reference manual - System parameters 3HAC065041-001
Application manual - SafeMove2 3HAC066559-001

Continues on next page


Operating manual - OmniCore 9
3HAC065036-001 Revision: D
© Copyright 20192020 ABB. All rights reserved.
Overview of this manual
Continued

Revisions

Revision Description
A First edition.
B • The safety information is moved to the product manuals for the
controller and the manipulator.
• Updated the section Procedure on page 44.
• Updated the section Connecting and detaching a FlexPendant on
page 186.
C Released with RobotWare 7.0.1. The following updates are made in this
revision:
• References to the Hold-to run-button is replaced with thumb button
in the manual.
• Section Service Information System service routine updated with
new counter: moved distance.
• Added information about recently used programs in the section
Starting programs on page 174.
• Updated the section Creating new data instance on page 102.
D Released with RobotWare 7.0.2. The following updates are made in this
revision:
• FlexPendant terminology updated in entire manual.
• Added information about SafeMove.
• Updated information about queueing backups.
• Added the section Locking and unlocking operating modes on
page 45.
• Added the section Modifying positions on page 189.
• Updated the section QuickSet window on page 23.
• Updated the section Connecting and detaching a FlexPendant on
page 186.
• Updated the section Creating new data instance on page 102.
• The directory of BC_config_IO.sys file is corrected in the section
Description of the I/O setup on page 164.

10 Operating manual - OmniCore


3HAC065036-001 Revision: D
© Copyright 20192020 ABB. All rights reserved.
Product documentation

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.

Technical reference manuals


The technical reference manuals describe reference information for robotics
products, for example lubrication, the RAPID language, and system parameters.

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.

Continues on next page


Operating manual - OmniCore 11
3HAC065036-001 Revision: D
© Copyright 20192020 ABB. All rights reserved.
Product documentation
Continued

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.

12 Operating manual - OmniCore


3HAC065036-001 Revision: D
© Copyright 20192020 ABB. All rights reserved.
1 Introduction to OmniCore
1.1 About this section

1 Introduction to OmniCore
1.1 About this section

Overview
This section presents an overview of the FlexPendant, the OmniCore controller,
and RobotStudio.
A robot consists of a robot controller, the FlexPendant, RobotStudio, and one or
several manipulators or other mechanical units.
This manual describes a robot without options, not a robot system. However, in a
few places, the manual gives an overview of how options are used or applied. Most
options are described in detail in their respective application manual.

Operating manual - OmniCore 13


3HAC065036-001 Revision: D
© Copyright 20192020 ABB. All rights reserved.
1 Introduction to OmniCore
1.2 The OmniCore controller

1.2 The OmniCore controller

Overview of OmniCore
The OmniCore controller contains all the functions needed to move and control
the manipulator, and delivers flexibility, connectivity, and performance. The
OmniCore controller gives ABB robots the ability to perform their tasks in a highly
efficient manner and also increases the flexibility to incorporate the latest digital
technologies. The controller comes with ABB’s powerful operating system,
RobotWare 7.
The controller can be equipped with additional offerings, such as fieldbus protocols,
vision solutions, and force control.
The OmniCore C30 controller offers a compact solution suitable for applications
where there is less need for additional equipment inside. For more information
about the OmniCore C30 controller, see Product manual - OmniCore C30.

14 Operating manual - OmniCore


3HAC065036-001 Revision: D
© Copyright 20192020 ABB. All rights reserved.
1 Introduction to OmniCore
1.3 The FlexPendant

1.3 The FlexPendant

Introduction to the FlexPendant


The FlexPendant is a hand held operator unit that is used for many of the tasks
when operating a robot: running programs, jogging the manipulator, modifying
programs, and so on.
The FlexPendant is designed for continuous operation in harsh industrial
environment. Its touch screen is easy to clean and resistant to water, oil, and
accidental welding splashes.
The FlexPendant consists of both hardware and software and is a complete
computer in itself. It is connected to the robot controller by an integrated cable and
connector.

Main parts
These are the main parts of the FlexPendant.

7 6

4 5

xx1700001891

1 Connector
2 Touch screen
3 Emergency stop button
4 Joystick
5 USB port and reset button
6 Three-position enabling device
7 Thumb button

Joystick
Use the joystick to move the manipulator. This is called jogging the robot. There
are several settings for how the joystick will move the manipulator.

Continues on next page


Operating manual - OmniCore 15
3HAC065036-001 Revision: D
© Copyright 20192020 ABB. All rights reserved.
1 Introduction to OmniCore
1.3 The FlexPendant
Continued

USB port
Connect a USB memory to the USB port to read or save files. The USB memory
is displayed as drive /USB:Removable in dialogs and FlexPendant Explorer.

Note

Close the protective cap on the USB port when not used.

Reset button
If the FlexPendant freezes during operation, press the reset button to restart the
FlexPendant.
The reset button resets the FlexPendant, not the system on the controller.

Hard buttons
Following are the dedicated hard buttons on the FlexPendant. You can assign your
own functions to four of the buttons.

1 2 3
5 4 6

7 9 8
10 11 12
xx1700001892

Label Description
1 Select mechanical unit.
2 Toggle motion mode, reorient or linear.
3 Toggle motion mode, axis 1-3 or axis 4-6.
4 Operator messages.
5, 6, 7, 8 Programmable keys, 1 - 4.
Programmable keys are hardware buttons on the FlexPendant that can be
used for dedicated, specific functions set by the user.

Continues on next page


16 Operating manual - OmniCore
3HAC065036-001 Revision: D
© Copyright 20192020 ABB. All rights reserved.
1 Introduction to OmniCore
1.3 The FlexPendant
Continued

Label Description
9 START button. Starts the program execution.
10 Step BACKWARD button. Executes one instruction backward.
11 STOP button. Stops the program execution.
12 Step FORWARD button. Executes one instruction forward.

Three-position enabling device

CAUTION

The person using the three-position enabling device is responsible to observe


the safeguarded area for hazards due to robot motion and any other hazards
controlled by the robot.
The three-position enabling device is a manually operated, constant pressure
push-button which, when in center-enabled position, allows potentially hazardous
functions.
The three-position enabling device will when continuously held in center-enabled
position permit robot motion and any hazards controlled by the robot. Release of
or compression past the center-enabled position will stop the hazard, for example,
robot motion.

CAUTION

For safe use of the three-position enabling device, the following must be
implemented:
• The three-position enabling device must never be rendered inoperational
in any way.
• If there is a need to enter safeguarded space, always bring the three-position
enabling device. This is to enforce single point of control.
A deviation exists in OmniCore from paragraph 5.3.5 Single point of control. Single
point of control cannot be guaranteed in automatic mode because external clients
can connect to the controller over the network. Make sure that only one client is
connected to the controller at a given time.
A deviation exists in IRB 14050 from paragraph 5.8.3 Enabling device. The enabling
device is not supported, unless a SafeMove configuration is active.

Note

To enforce single-point of control from the FlexPendant, press and release the
three-position enabling device twice.

Note

YuMi robots with SafeMove2 requires using the enabling device.


On YuMi robots without SafeMove2 the enabling device is disabled, hence, not
used.
Continues on next page
Operating manual - OmniCore 17
3HAC065036-001 Revision: D
© Copyright 20192020 ABB. All rights reserved.
1 Introduction to OmniCore
1.3 The FlexPendant
Continued

Thumb button
For robots used in collaborative application, the thumb button is used to enable
the lead-through functionality.
For robots supporting the mode manual full speed, the button is used as hold-to-run.

How to hold the FlexPendant


The FlexPendant is typically operated while being held in the hand. A right-handed
person uses his left hand to support the device while the other hand performs
operations on the touch screen. A left-hander, however, can easily rotate the display
through 180 degrees and use his right hand to support the device.

xx1800000045

Continues on next page


18 Operating manual - OmniCore
3HAC065036-001 Revision: D
© Copyright 20192020 ABB. All rights reserved.
1 Introduction to OmniCore
1.3 The FlexPendant
Continued

Touch screen elements


The illustration shows important elements of the FlexPendant touch screen.

xx1800001181

A Applications button From any window tap this icon to navigate to the Home
screen of FlexPendant. This is a toggle icon. Tapping this
icon again displays the previously active window.
The Home screen view is also the default view of the
FlexPendant during startup.
B Status bar buttons Allows you to navigate to operator messages, event logs,
and QuickSet window.
C Applications The applications that are required for operating the robot
system are available in the Home Screen. By default, the
Home screen displays all the applications available to you.
If you are in some other window, tap the Applications
button to view the Home screen.

Operating manual - OmniCore 19


3HAC065036-001 Revision: D
© Copyright 20192020 ABB. All rights reserved.
1 Introduction to OmniCore
1.4 RobotStudio

1.4 RobotStudio

Overview of RobotStudio
RobotStudio is an engineering tool for the configuration and programming of ABB
robots, both real robots on the shop floor and virtual robots in a PC. To achieve
true offline programming, RobotStudio utilizes ABB VirtualRobot™ Technology.
RobotStudio has adopted the Microsoft Office Fluent User Interface. The Office
Fluent UI is also used in Microsoft Office. As in Office, the features of RobotStudio
are designed in a workflow-oriented way.
With add-ins, RobotStudio can be extended and customized to suit the specific
needs. Add-ins are developed using the RobotStudio SDK. With the SDK, it is also
possible to develop custom SmartComponents which exceed the functionality
provided by RobotStudio's base components.
For more information, see Operating manual - RobotStudio.

RobotStudio for real controllers


RobotStudio allows, for example, the following operations when connected to a
real controller:
• Installing and modifying RobotWare systems on controllers, using the
Installation Manager.
• Text-based programing and editing, using the RAPID Editor.
• File manager for the controller.
• Administrating the User Authorization System.
• Configuring system parameters.

20 Operating manual - OmniCore


3HAC065036-001 Revision: D
© Copyright 20192020 ABB. All rights reserved.
2 Navigating and handling the FlexPendant
2.1 Overview

2 Navigating and handling the FlexPendant


2.1 Overview

Introduction to this section


The content in this section applies to a robot and not a robot system. It is the
responsibility of the integrator to provide a safety and users manual for the robot
system.
This section provides information about basic parts of the user interface. The
important elements for navigation is illustrated in Touch screen elements on
page 19.

Handling and troubleshooting the FlexPendant


How to handle, clean, and troubleshoot the FlexPendant is described in the product
manual for the controller.

Hardware and software options


This manual covers only the views of a basic RobotWare system. The details of
the various options are explained in the application manuals.

Operating manual - OmniCore 21


3HAC065036-001 Revision: D
© Copyright 20192020 ABB. All rights reserved.
2 Navigating and handling the FlexPendant
2.2.1 Introduction

2.2 The user interface

2.2.1 Introduction

Overview
The FlexPendant touch screen consists of a status bar at the top and also a set of
applications.

The applications and options required to use the applications are described in
section FlexPendant applications on page 31.

Menus
The following figure and table provides an overview of menus that are available in
the FlexPendant interface.

A B

A Application menu Available when you have selected one of the ap-
plications on the FlexPendant start screen. The
menu content reflects the selected application.
B Context menu The context menu displays available options for a
selected row.

22 Operating manual - OmniCore


3HAC065036-001 Revision: D
© Copyright 20192020 ABB. All rights reserved.
2 Navigating and handling the FlexPendant
2.2.2 Status bar

2.2.2 Status bar

Overview
The following figure and table provides an overview of the user interface elements
that you can access from the status bar of the FlexPendant.

Label Buttons Description


A Messages button Tapping the Messages button displays the operator mes-
sages window. The operator messages window displays
the messages from robot programs. This usually happens
when the program needs some kind of operator response
in order to continue.
B Event logs button Tapping the Event logs button displays the event logs
window. The event logs window displays all the event logs.
The list allows you to filter the event log list according to
the category.
C QuickSet button Tapping the QuickSet button displays the QuickSet window.
For more details see QuickSet window on page 23.

QuickSet window
When you tap on the QuickSet button the QuickSet window is displayed. The
QuickSet window has the following tabs:
• Control
• Jog
• Execution
• Visual
• Info
• ABB Ability
• Logout/Restart

Continues on next page


Operating manual - OmniCore 23
3HAC065036-001 Revision: D
© Copyright 20192020 ABB. All rights reserved.
2 Navigating and handling the FlexPendant
2.2.2 Status bar
Continued

Control Panel
The Control tab displays the Control Panel. The Control Panel allows you to
change the operating modes and turn the motors on and off. It also displays the
program control buttons.

Button/Section Description
Lock button Locks or unlocks the operating mode. For more details, see Locking
and unlocking operating modes on page 45.
Mode Changes the operating mode.

(Auto mode): Select this mode to move the manip-


ulator or run a program without human intervention. In this mode
the safety function of the three-position enabling device is bypassed.

(Manual mode): Select this mode to move the


manipulator or run a program with human intervention. In this mode
to make the motors on, select the Motors on button from the Motors
section. You can also press the three-position enabling device to
activate the motors.
Motors Turns the motors on or off.
Motors off: Turns the motors off.
Motors on: Turns the motors on.
Speed Controls the speed of program execution. Drag the scroll bar to
control the speed. The speed of 100% indicates that the program is
running at full speed.
Edit Program Pointer Sets the program pointer to main.
Cancel routine Cancels the execution of the current routine.

Continues on next page


24 Operating manual - OmniCore
3HAC065036-001 Revision: D
© Copyright 20192020 ABB. All rights reserved.
2 Navigating and handling the FlexPendant
2.2.2 Status bar
Continued

Button/Section Description
Play Starts the program execution.
Pause Pauses a program execution.
Prev Executes one instruction backward.
Next Executes one instruction forward.

Jog Settings
The Jog tab displays the Jog Settings.

Section/List Description
Mechanical Unit Displays the list of available mechanical units.
Work Object Displays the list of available work objects.
Tool Displays the list of available tools.
Load Displays the list of loads.
Jog Speed Controls the jog speed. Drag the scroll bar to set the jog speed. The
speed of 100% indicates that the jogging is at full speed.
Jog Mode Displays the list of jog modes.
Coordinate System Displays the list of coordinate systems.
Jog Supervision Prevents the mechanical damage to the robot during jogging.
Lead-through Allows you to grab the robot arms and jog the robot manually.

Continues on next page


Operating manual - OmniCore 25
3HAC065036-001 Revision: D
© Copyright 20192020 ABB. All rights reserved.
2 Navigating and handling the FlexPendant
2.2.2 Status bar
Continued

Execution Settings
The Execution tab displays the Execution Settings.

Button/Section Description
Run Mode Selects the program run mode.
• Single: Runs one cycle and then stops the execution.
• Continuous: Runs continuously.
Step Mode Selects the program step mode.
• Step Over: The called routines are executed in one single
step.
• Step Into: Steps into the called routines and executes
them step-by-step.
• Step Out: Executes the remaining part of the current
routine and then stops at the next instruction in the
routine from which the current routine was called. Not
possible to use in the Main routine.
• Step Move: Steps to the next move instruction. Stops
before and after movement instructions, for example, to
modify positions.
Non Motion Execution This is used to run a RAPID program without the robot motion.
Enable/Disable tasks This is used to enable or disable the selected task.

Continues on next page


26 Operating manual - OmniCore
3HAC065036-001 Revision: D
© Copyright 20192020 ABB. All rights reserved.
2 Navigating and handling the FlexPendant
2.2.2 Status bar
Continued

Visualization
The Visual tab displays the visualization details based on the actual robot
movement.

Section Description
Motion Mode Displays the selected motion mode.
Coordinate System Displays the selected coordinate system.
Mechanical Unit Displays the selected mechanical unit.
Axes Displays the position of each axis.
Colored arrows Displays the direction in which the jog stick needs to be moved for
jogging the selected axis.

Continues on next page


Operating manual - OmniCore 27
3HAC065036-001 Revision: D
© Copyright 20192020 ABB. All rights reserved.
2 Navigating and handling the FlexPendant
2.2.2 Status bar
Continued

Info
The Info tab displays the information about the system.

Section Description
System Displays the name of the system.
RobotWare Displays the version number of the RobotWare selected in the sys-
tem.
IP Address Displays the IP address of the management port.
Controller Id Displays the identity of the controller.
App version Displays the version information of the FlexPendant application.
Options Displays the options selected in the system.

Continues on next page


28 Operating manual - OmniCore
3HAC065036-001 Revision: D
© Copyright 20192020 ABB. All rights reserved.
2 Navigating and handling the FlexPendant
2.2.2 Status bar
Continued

ABB Ability
The ABB Ability tab displays the information about the Connected Services.

Button/Section Description
Status Displays the status of connected services connection.
Connection Status Connection status of Connected Services.
Registration Status Registration status of Connected Services.

Continues on next page


Operating manual - OmniCore 29
3HAC065036-001 Revision: D
© Copyright 20192020 ABB. All rights reserved.
2 Navigating and handling the FlexPendant
2.2.2 Status bar
Continued

Logout/Restart
The Logout/Restart tab allows you to restart the controller and FlexPendant, detach
the FlexPendant, and so on.

Button/Section Description
Current User Displays the name of the current logged in user.
Log out: Logs out the current user from the FlexPendant.
Controller Restart: This is used to restart the controller.
FlexPendant Detach FlexPendant: This is used to detach the FlexPendant from
the controller without stopping the current program execution. For
more details, see Connecting and detaching a FlexPendant on
page 186.
Restart FlexPendant: This is used to restart the FlexPendant.
Restart Application: This is used to restart a FlexPendant applica-
tion.
Exit Application: This is used to exit a FlexPendant application.

30 Operating manual - OmniCore


3HAC065036-001 Revision: D
© Copyright 20192020 ABB. All rights reserved.
2 Navigating and handling the FlexPendant
2.2.3 FlexPendant applications

2.2.3 FlexPendant applications

Code
The Code application is used to create new programs, modify existing programs,
view and edit RAPID data, and so on.
Feature Limited App Essential App Program Pack-
Package [3120-1] Package [3120-2] age [3151-1]
Create new programs, edit existing ✓
programs
View and edit RAPID modules and ✓
RAPID routines
View and edit RAPID data (program ✓
data)
Debug Options ✓
PP to main, cursor to program
pointer, goto position, call routine,
cancel routine, check program, view
system data, next move instruction
Teach position (ModPos) ✓
Check for syntactic and semantic ✓
error

If the option Program Package is not selected then programs must be created and
edited using RobotStudio.

Jog
The Jog application is used to jog the ABB industrial robot using an intuitive touch
based user interface or using a joystick.
Feature Limited App Essential App Program Pack-
Package [3120-1] Package [3120-2] age [3151-1]
Joystick jog ✓ ✓
Touch jog ✓
Align tool ✓
Lead-through ✓
Jog supervision ✓ ✓
GoTo (jog to target) ✓
3D visualization ✓ ✓

Continues on next page


Operating manual - OmniCore 31
3HAC065036-001 Revision: D
© Copyright 20192020 ABB. All rights reserved.
2 Navigating and handling the FlexPendant
2.2.3 FlexPendant applications
Continued

Settings
The Settings application is used to configure the general settings of OmniCore
controller and FlexPendant. Controller configuration includes Network, ABB Ability,
Time and Language, Backup, Restore, System diagnostics and so on. FlexPendant
configuration includes background settings and programmable keys.
Feature Limited App Essential App Program Pack-
Package [3120-1] Package [3120-2] age [3151-1]
System ✓ ✓
About, hardware devices, software
resources
Network ✓ ✓
Status, WAN settings, DNS Client
Ability ✓ ✓
Status, Ability status, configure
3G/WiFi/wired
Configure Connected Services ✓ ✓
Backup and Recovery ✓ ✓
Backup, restore, system dia-
gnostics, restart, reset user data,
RobotWare Installation Utilities
Date & time ✓ ✓
Region & language ✓ ✓
Programmable keys ✓ ✓

I/O
The I/O application is used to manage the I/O signals. Signals are configured with
system parameters.
Feature Limited App Essential App Program Pack-
Package [3120-1] Package [3120-2] age [3151-1]
Show industrial networks ✓ ✓
View all I/O signals ✓ ✓
Display I/O signals with respect to ✓ ✓
category
Filter signals ✓ ✓
Sort signals ✓ ✓
Set signals ✓ ✓
Bit values ✓ ✓
Navigate to device specific signals ✓ ✓
Identify device ✓ ✓
Scan EDS ✓ ✓
Activate and deactivate devices ✓ ✓
Start ✓ ✓
Scan ✓ ✓
Firmware upgrade ✓ ✓

Continues on next page


32 Operating manual - OmniCore
3HAC065036-001 Revision: D
© Copyright 20192020 ABB. All rights reserved.
2 Navigating and handling the FlexPendant
2.2.3 FlexPendant applications
Continued

Operate
The Operate application is used to view the program code while the program is
running. Controller data can be configured for viewing the data in the form of
dashboards. Updates during production are shown here.
Feature Limited App Essential App Program Pack-
Package [3120-1] Package [3120-2] age [3151-1]
View dashboards ✓
Configure dashboards ✓
Load and execute RAPID programs ✓ ✓
View loaded RAPID programs ✓ ✓
Teach position (ModPos) of robtar- ✓ ✓
gets in loaded RAPID programs
Reset program pointer to Main ✓ ✓
Show program pointer position ✓ ✓
Show motion pointer position ✓ ✓
Execute service routines ✓ ✓

Calibrate
The Calibrate application is used for calibration and definition of frames for ABB
robots.
Feature Limited App Essential App Program Pack-
Package [3120-1] Package [3120-2] age [3151-1]
Mechanical unit calibration ✓ ✓
Update revolution counters ✓ ✓
Edit motor offset values ✓ ✓
Load motor offset values ✓ ✓
Fine calibration ✓ ✓
Robot memory ✓ ✓
Base frame calibration ✓ ✓
Manage payload data ✓ ✓
Manage tool data ✓ ✓
Manage work object data ✓ ✓
Execute calibration specific service ✓ ✓
routines

Operating manual - OmniCore 33


3HAC065036-001 Revision: D
© Copyright 20192020 ABB. All rights reserved.
2 Navigating and handling the FlexPendant
2.3.1.1 Introduction

2.3 Personalizing the FlexPendant

2.3.1 Basic settings

2.3.1.1 Introduction

Overview
The FlexPendant can be personalized in a number of ways. This is described in
this chapter.

34 Operating manual - OmniCore


3HAC065036-001 Revision: D
© Copyright 20192020 ABB. All rights reserved.
2 Navigating and handling the FlexPendant
2.3.1.2 System information

2.3.1.2 System information

Information
The information about the selected hardware devices, software resources, services,
and the features can be accessed from the System page of the Settings application.

Note

The only information that you can change from the System information page is
to edit the robot system name. For more details, see Identity settings on page 38.

Use the following procedure to access the system information:


1 On the start screen, tap Settings.
2 Tap System.
The About page displayed. On the left sidebar tap the Hardware Devices
and Software Resources to access the respective information.

Operating manual - OmniCore 35


3HAC065036-001 Revision: D
© Copyright 20192020 ABB. All rights reserved.
2 Navigating and handling the FlexPendant
2.3.1.3 Changing date and time

2.3.1.3 Changing date and time

Date and time settings


You can configure the date and time settings.
Use the following procedure to configure the date and time.
1 On the start screen, tap Settings.
2 Tap Time & Language.
3 On the left sidebar tap Date & Time.
4 Select Network Time or Manual Time.
• Network Time: Select this for configuring the robot controller for
automatic time synchronization using the NTP protocol of a time server.
The time server is identified by its IP address or DNS name.
• Manual Time: Select this if you do not have a time server that is
reachable from the controller.
5 If you select Network Time, in the Time Server Address field type the URL
or IP address of the time server.

Note

Tap the Test button next to the Time Server Address field to verify the
time server address.

6 If you select Manual Time, in the Select date and Select time fields manually
configure date and time.
7 Tap Apply.
The selected settings are saved.

36 Operating manual - OmniCore


3HAC065036-001 Revision: D
© Copyright 20192020 ABB. All rights reserved.
2 Navigating and handling the FlexPendant
2.3.1.4 Configuring the interface language

2.3.1.4 Configuring the interface language

Overview
The FlexPendant user interface supports English and Chinese languages. The
default language is English.

Note

When you switch to another language, all the buttons, menus, and dialogs will
use the new language. RAPID instructions, variables, system parameters, and
I/O signals are not affected.

Changing language
Use the following procedure to change the interface language on the FlexPendant.
1 On the start screen, tap Settings.
2 Tap Time & Language.
3 On the left sidebar tap Language.
4 Tap on the desired language button.
5 Tap Apply.
6 Tap OK.
The FlexPendant is restarted and the language of the user interface is
changed.

Operating manual - OmniCore 37


3HAC065036-001 Revision: D
© Copyright 20192020 ABB. All rights reserved.
2 Navigating and handling the FlexPendant
2.3.1.5 Identity settings

2.3.1.5 Identity settings

Overview
You can define a name for the robot system according to your requirement.

Configuring the identity settings


Use the following procedure to configure the name of the robot.
1 On the start screen, tap Settings.
2 Tap System.
3 In the Robot System Name field tap Edit.
4 Type or update the name of the robot.
5 Tap Apply.
The changes are saved and the name of the robot is updated.

38 Operating manual - OmniCore


3HAC065036-001 Revision: D
© Copyright 20192020 ABB. All rights reserved.
2 Navigating and handling the FlexPendant
2.3.1.6 Changing programmable keys

2.3.1.6 Changing programmable keys

Overview
Programmable keys are the four hardware buttons on the FlexPendant that can
be used for dedicated, specific functions configured by the user.
The keys can be programmed to simplify programming or to test the programs.
They can also be used to activate menus on the FlexPendant.

Changing programmable keys


Use the following procedure to set the programmable keys.
1 On the start screen, tap Settings.
2 Tap Personalization.
3 On the sidebar tap Programmable keys.
4 Tap on a key.
5 Type a name for the selected key in the Friendly Name field.

Note

This field is optional.

6 Tap the Type list and select the type of action.


7 If the type Input is selected:
• Tap to select an input signal from the Digital Input list.
• Tap the Allow in auto list to select if the function is also allowed in
automatic operating mode.

Note

An input cannot be set by using the programmable keys, its value can only
be pulsed. The pulse will be the inverted value of the input.

8 If the type Output is selected:


• Tap to select an output signal from the Digital Outputs list.
• Tap the Key Pressed list and define how the signal should behave
when the key is pressed.
• Tap the Allow in auto list to select if the function is also allowed in
automatic operating mode.
Following are the options available in the Key Pressed list.
• Toggle- switches the signal value from 0 to 1 or vice versa.
• Set to 1 - sets the signal value to 1.
• Set to 0 - sets the signal value to 0.
• Press/Release - sets the signal value to 1 while the key is pressed
(note that an inverted signal will be set to 0).
• Pulse - the signal value pulses once.

Continues on next page


Operating manual - OmniCore 39
3HAC065036-001 Revision: D
© Copyright 20192020 ABB. All rights reserved.
2 Navigating and handling the FlexPendant
2.3.1.6 Changing programmable keys
Continued

9 If the type System is selected:


• Tap the Allow in auto list to select if the function is also allowed in
automatic operating mode.

Note

The value Move PP to Main is selected in the Key Pressed list.

10 Tap Apply.
The selected key is configured.
11 Configure the other keys, if needed.

Note

It is not mandatory to configure all the programmable keys.

40 Operating manual - OmniCore


3HAC065036-001 Revision: D
© Copyright 20192020 ABB. All rights reserved.
2 Navigating and handling the FlexPendant
2.4 Updating the applications

2.4 Updating the applications

Overview
The FlexPendant applications are updated using the Update option. For more
details, see Updating the applications on page 202.

Operating manual - OmniCore 41


3HAC065036-001 Revision: D
© Copyright 20192020 ABB. All rights reserved.
This page is intentionally left blank
3 OmniCore controller operating modes
3.1 Introduction

3 OmniCore controller operating modes


3.1 Introduction

Overview
The Omnicore controller is delivered with the Keyless Mode Selector option. Using
this you can change the operating modes from FlexPendant.
The following operating modes are available:
• Manual mode, also known as Manual reduced speed mode.
• Manual high speed mode (not available in USA or Canada).
• Automatic mode.
The operating modes are described in the product manual for the robot controller.

Note

This behavior of OmniCore controller is different compared to IRC5.

CAUTION

Suspended safeguards shall be returned to full functionality prior to selecting


automatic mode.

Safety aspects of the Keyless Mode Selector

DANGER

Since the mode change and motors on operations are handled from the
FlexPendant, it is physically possible to perform these operations within the
safeguarded space. The user must always make sure to have safety equipment
that is blocking automatic operation while being inside the safeguarded space,
for example an auto stop connected to a gate.

Note

The Keyless Mode Selector is only a part of the robot system. It is the
responsibility of the integrator to do a risk assessment of the robot system.

Operating manual - OmniCore 43


3HAC065036-001 Revision: D
© Copyright 20192020 ABB. All rights reserved.
3 OmniCore controller operating modes
3.2 Changing operating modes

3.2 Changing operating modes

Procedure
Use the following procedure to change the operating mode on the robot controller:
1 On the FlexPendant status bar, tap the QuickSet button.
The Control Panel window is displayed.

2 Navigate to the Mode section. If the operating mode is locked, unlock it by


following the procedure Unlocking the operating mode on page 47.
3 Select the required operating mode.
When changing to automatic operating mode, a dialog is displayed with an
acknowledge button. This does not apply to YuMi robots.
The operating mode is changed.

Note

OmniCore goes to motors OFF state when the operating mode is changed.
This does not apply to YuMi robots.
For YuMi robots the motors are automatically on after changing to auto
mode.

Note

The operating mode change will work only in the sequence Auto <> Manual
Reduced Speed <> Manual Full speed. It is not possible to change the operating
mode directly from Auto to Manual Full Speed.

44 Operating manual - OmniCore


3HAC065036-001 Revision: D
© Copyright 20192020 ABB. All rights reserved.
3 OmniCore controller operating modes
3.3 Locking and unlocking operating modes

3.3 Locking and unlocking operating modes

Introduction
It is possible to restrict an unauthorized change in operating mode by locking it.
This is done by configuring a temporary or permanent PIN-code.
The option for configuring a temporary PIN-code is automatically enabled if a
permanent PIN-code is not configured. While an operator can configure a temporary
PIN-code, the permanent PIN-code is configured by the user with the Key-less
mode selector grant.

Configuring a temporary PIN-code


Use the following procedure to configure a temporary PIN-code:
1 On the FlexPendant status bar, tap the QuickSet button.
The Control Panel window is displayed.
2 In the Mode section, tap the Lock button.
The Mode Selector PIN-code window is displayed.

xx2000000187

3 Tap a 4 digit PIN-code on the number pad.


4 Tap OK.
The operating mode is locked.
Once a temporary PIN-code is enabled, the user must provide the correct PIN-code
to change the operating mode. For more details, see Unlocking the operating mode
on page 47.

Note

Since the temporary PIN-code is reset every time the operator unlocks it, this
procedure must be repeated every time to set a temporary PIN-code.

Continues on next page


Operating manual - OmniCore 45
3HAC065036-001 Revision: D
© Copyright 20192020 ABB. All rights reserved.
3 OmniCore controller operating modes
3.3 Locking and unlocking operating modes
Continued

Configuring a permanent PIN-code


A user with the Key-less mode selector grant can configure a permanent PIN-code
for other users to lock the operating mode.

Note

A user with the Key-less mode selector grant can unlock the Lock button at any
time without providing a PIN-code.
Use the following procedure to configure a permanent PIN-code:
1 On the FlexPendant status bar, tap the QuickSet button.
The Control Panel window is displayed.
2 In the Mode section, tap the Lock button.
The Mode Selector PIN-code window is displayed.

xx2000000186

3 Select the Request permanent lock check box.

Note

The Request Permanent lock check box is displayed only for those users
with the Key-less mode selector grant enabled.

4 Tap a 4 digit PIN-code on the number pad.


5 Tap OK.
The permanent PIN-code is saved and is applicable for all the users.

Continues on next page


46 Operating manual - OmniCore
3HAC065036-001 Revision: D
© Copyright 20192020 ABB. All rights reserved.
3 OmniCore controller operating modes
3.3 Locking and unlocking operating modes
Continued

Once a permanent PIN-code is enabled, the users must provide the correct PIN-code
to change the operating mode. For more details, see Unlocking the operating mode
on page 47.

Note

For permanent PIN-code, after an unlock, if the operating mode is changed, the
mode change will again be locked immediately.

Note

A saved permanent PIN-code is valid until a user with the Key-less mode selector
grant resets the permanent PIN-code.

Unlocking the operating mode


If the operating mode is locked you can unlock it using a temporary or a permanent
PIN-code.
Use the following procedure to unlock:
1 On the FlexPendant status bar, tap the QuickSet button.
The Control Panel window is displayed.
2 In the Mode section, tap the Lock button.
The Mode Selector PIN-code window is displayed.
3 Tap the 4 digit PIN-code on the number pad.

Note

If the permanent PIN-code is enabled, you must provide the PIN-code


configured by the Key-less mode selector grant user.

Note

If you are tapping a temporary PIN-code, you must provide the PIN code
that you have configured using the procedure listed in Configuring a
temporary PIN-code on page 45.

4 Tap OK.
The operating mode is unlocked.

Note

The temporary PIN-code is reset every time the user unlocks it.

Note

For permanent PIN-code, the users will have one minute time to change the
operating mode before it is locked again.

Operating manual - OmniCore 47


3HAC065036-001 Revision: D
© Copyright 20192020 ABB. All rights reserved.
This page is intentionally left blank
4 Calibration
4.1 Introduction

4 Calibration
4.1 Introduction

Overview
This section provides an overview of the calibration information and about updating
the revolution counter value for each axis, using the FlexPendant. Detailed
information about calibration, revolution counter update, and so on can be found
in the respective robot product manual.

Operating manual - OmniCore 49


3HAC065036-001 Revision: D
© Copyright 20192020 ABB. All rights reserved.
4 Calibration
4.2 How to check if the robot needs calibration

4.2 How to check if the robot needs calibration

Check robot calibration status


Use the following procedure to check the calibration status of the robot:
1 On the start screen, tap Calibrate, and then select Calibration from the menu.
2 The Mechanical Unit page is displayed.

Note

This step is required only if you are not already in the Mechanical Unit
page when you open Calibrate.

Note

The Mechanical Unit page is displayed only if there are more than one
mechanical unit available. Otherwise, the calibration summary page for
the available mechanical unit is displayed.

3 Select the unit that needs to be calibrated from the Mechanical Unit list.
The calibration summary page for the selected mechanical unit is displayed.
The Calibration Status column displays the status of calibration for each
axis.

What kind of calibration is needed?

If the calibration status is... then...


Calibrated Calibration is not needed.
Not calibrated the robot must be fine calibrated by a qualified service
technician.
Performing a fine calibration is described in the section
Fine calibration on page 52.

DANGER

Do not attempt to perform the fine calibration proced-


ure without proper training and tools. Doing so may
result in the incorrect positioning that may cause injur-
ies and property damage. Always consult a qualified
service technician.

Not updated update the revolution counters or perform the calibra-


tion.

Note

For IRB 14050 when you select update the revolution


counters, you are recommended to perform the calib-
ration.
Updating the revolution counters is described in the
section Updating revolution counters on page 56 and
performing a calibration is described in the section
Calibration on page 54.

Continues on next page


50 Operating manual - OmniCore
3HAC065036-001 Revision: D
© Copyright 20192020 ABB. All rights reserved.
4 Calibration
4.2 How to check if the robot needs calibration
Continued

If the calibration status is... then...


Not commutated the robot must be fine calibrated by a qualified service
technician.

DANGER

Do not attempt to perform the fine calibration proced-


ure without proper training and tools. Doing so may
result in the incorrect positioning that may cause injur-
ies and property damage. Always consult a qualified
service technician.

Operating manual - OmniCore 51


3HAC065036-001 Revision: D
© Copyright 20192020 ABB. All rights reserved.
4 Calibration
4.3 Fine calibration

4.3 Fine calibration

Overview
This section describes how to use the FlexPendant while performing the fine
calibration of the robot when the calibration status is Not calibrated.

WARNING

Do not fine calibrate the robot without the special equipment used for axis
calibration. It would cause an unsatisfactory accuracy in the robot movement.

Fine calibration procedure


Use the following procedure to fine calibrate the robot using the FlexPendant.

WARNING

Before starting the fine calibration procedure, you must jog each axis and bring
the robot to sync position and make sure that all the notches are matched.
1 On the start screen, tap Calibrate, and then select Calibration from the menu.
2 The Mechanical Unit page is displayed.

Note

This step is required only if you are not already in the Mechanical Unit
page when you open Calibrate.

Note

The Mechanical Unit page is displayed only if there are more than one
mechanical unit available. Otherwise, the calibration summary page for
the available mechanical unit is displayed.

3 Select the unit that needs to be calibrated from the Mechanical Unit list.
The calibration summary for the selected mechanical unit is displayed.
4 On the right pane tap Calibration Methods.
5 Tap Calibration Parameters.
The calibration parameters are displayed.
6 If the Calibration Status is Not Calibrated, jog the robot to sync position and
check that all the notches are matched.
7 Once the robot axes are moved to sync position, tap Fine Calibration.
A confirmation window is displayed.
8 Tap Yes.
9 Select the axes that needs to be calibrated.
10 Tap Calibrate.
A confirmation window is displayed.
Continues on next page
52 Operating manual - OmniCore
3HAC065036-001 Revision: D
© Copyright 20192020 ABB. All rights reserved.
4 Calibration
4.3 Fine calibration
Continued

11 Tap Calibrate.
The fine calibration for the selected axes is started. After calibration a
confirmation window is displayed.
12 Tap OK.
The fine calibration process is complete.

Operating manual - OmniCore 53


3HAC065036-001 Revision: D
© Copyright 20192020 ABB. All rights reserved.
4 Calibration
4.4 Calibration

4.4 Calibration

Overview
This section provides basic information about calibrating the robot.
Calibration can be done when the calibration status is Calibrated. For IRB 14050
the calibration status is Not updated.

Calibration procedure for industrial robots


Use the following procedure to perform the axis calibration when the calibration
status is Calibrated. For IRB 14050, see Calibration procedure for IRB 14050 on
page 55.

WARNING

Before starting the calibration (axis calibration) procedure, jog each axis and
bring the robot to sync position and make sure that all the notches are matched.
1 On the start screen, tap Calibrate, and then select Calibration from the menu.
2 The Mechanical Unit page is displayed.

Note

This step is required only if you are not already in the Mechanical Unit
page when you open Calibrate.

Note

The Mechanical Unit page is displayed only if there are more than one
mechanical unit available. Otherwise, the calibration summary page for
the available mechanical unit is displayed.

3 Select the unit that needs to be calibrated from the Mechanical Unit list.
The calibration summary for the selected mechanical unit is displayed.
4 On the right pane tap Calibration Methods.
The calibration options are displayed.
5 Tap Calibration.
The Axis Calibration message window is displayed.
6 Press and hold the three-position enabling device to enable the motors.
7 Press the Play button.
The Axis Calibration service routine page is displayed.
8 Follow the on-screen instructions and calibrate the robot.

Continues on next page


54 Operating manual - OmniCore
3HAC065036-001 Revision: D
© Copyright 20192020 ABB. All rights reserved.
4 Calibration
4.4 Calibration
Continued

Calibration procedure for IRB 14050


Use the following procedure to perform the calibration for IRB 14050 when the
calibration status is Not updated:

WARNING

Before starting the calibration procedure, jog each axis and bring the robot to
sync position and make sure that all the notches are matched.
1 On the start screen, tap Calibrate, and then select Calibration from the menu.
2 The Mechanical Unit page is displayed.

Note

This step is required only if you are not already in the Mechanical Unit
page when you open Calibrate.

Note

The Mechanical Unit page is displayed only if there are more than one
mechanical unit available. Otherwise, the calibration summary page for
the available mechanical unit is displayed.

3 Select the unit that needs to be calibrated from the Mechanical Unit list.
The calibration summary for the selected mechanical unit is displayed.
4 On the right pane tap Calibration Methods.
The calibration options are displayed.
5 Tap Calibration.
6 Select the axes that need to be calibrated.

Note

By default, the axes that are not calibrated are selected.

7 Tap Calibrate selected axes.


8 Tap Start Calibration.
The calibration process runs.
9 Tap Finish.
The calibration process is complete.

Operating manual - OmniCore 55


3HAC065036-001 Revision: D
© Copyright 20192020 ABB. All rights reserved.
4 Calibration
4.5 Updating revolution counters

4.5 Updating revolution counters

Overview
This section provides information about performing revolution counter update or
performing a rough calibration of each robot axis.
For robots using the Absolute Accuracy option, the calibration data file absacc.cfg
must be loaded first.

Storing the revolution counter setting

Note

You can not store the revolution counter setting if the robot is not fine calibrated.
For details about fine calibration, see Fine calibration on page 52.

Note

For IRB 14050 when you select update the revolution counters, you are
recommended to perform the calibration. Performing the calibration is described
in the section Calibration on page 54

Use the following procedure to store the revolution counter setting:


1 On the start screen, tap Calibrate, and then select Calibration from the menu.
2 The Mechanical Unit page is displayed.

Note

This step is required only if you are not already in the Mechanical Unit
page when you open Calibrate.

Note

The Mechanical Unit page is displayed only if there are more than one
mechanical unit available. Otherwise, the calibration summary page for
the available mechanical unit is displayed.

3 Select the mechanical unit for which the revolution counter need to be
updated.
The calibration summary page for the selected mechanical unit is displayed.
4 Tap Calibration Methods on the right pane.
5 Tap Revolution Counters.
6 In the Selection column select the axes for which revolution counters need
to be updated.
7 Tap Update.
The Revolution Counters Update confirmation window is displayed.
8 Tap Update.

Continues on next page


56 Operating manual - OmniCore
3HAC065036-001 Revision: D
© Copyright 20192020 ABB. All rights reserved.
4 Calibration
4.5 Updating revolution counters
Continued

A confirmation window is displayed.


9 Tap OK.
The revolution counter for the selected axes is updated.

CAUTION

If the revolution counter is incorrectly updated, it will cause incorrect manipulator


positioning, which in turn may cause damage or injury. Check the calibration
position very carefully after each update.

Operating manual - OmniCore 57


3HAC065036-001 Revision: D
© Copyright 20192020 ABB. All rights reserved.
This page is intentionally left blank
5 Jogging
5.1 Introduction to jogging

5 Jogging
5.1 Introduction to jogging

What is jogging?
Jogging is the process of manually positioning or moving the manipulator or
additional axes in manual mode.

Prerequisites
You can jog the robot under the following conditions:
• The system has been started as detailed in this manual.
• Define the working range for the robots as well as for any other pieces of
equipment working in the robot cell. The robot’s working range is defined by
system parameters. For more details, see Technical reference
manual - System parameters.
• No programmed operation is running
• The controller is in manual mode.
• The three-position enabling device is pressed and the system is in Motors
ON state.

Note

YuMi robots with SafeMove2 requires using the enabling device.


On YuMi robots without SafeMove2 the enabling device is disabled, hence,
not used.

There might be restrictions to how you can jog, see section Restrictions to jogging
on page 70.

Jogging the robot


Use the following procedure to jog the robot.
1 On the start screen, tap Jog, and then select Joystick Jog or Touch Jog
from the menu.
2 From the Mechanical unit list select a mechanical unit.
3 From the Motion mode section, select an axis-set that need to be jogged.
For example, to jog axis 2, select the axis set Axis 1-3.
4 Press and hold the three-position enabling device to enable the motors.
5 If you have selected Joystick Jog, refer the Joystick Movements section to
understand the direction of the axis that you want to move and move the
joystick.
If you have selected Touch Jog, tap on the axis that you want to move and
drag it to the positive or negative direction.
The axis is moved according to the movement.

Continues on next page


Operating manual - OmniCore 59
3HAC065036-001 Revision: D
© Copyright 20192020 ABB. All rights reserved.
5 Jogging
5.1 Introduction to jogging
Continued

About motion modes and robots


The selected motion mode or coordinate system determines the way the robot
moves.
In linear motion mode, the tool center point moves along straight lines in space,
that is, it moves from "point A to point B". The tool center point moves in the
direction of the selected coordinate system’s axes.
Axis-by-axis motion mode moves one robot axis at a time. It is then hard to predict
how the tool center point moves.

About motion modes and additional axes


Additional axes can be jogged only axis-by-axis. An additional axis can either be
designed for some kind of linear motion or for rotational (angular) motion. Linear
motion is used in conveyers and rotational motion is used in many kinds of
workpiece handlers.
Additional axes are not affected by the selected coordinate system.

60 Operating manual - OmniCore


3HAC065036-001 Revision: D
© Copyright 20192020 ABB. All rights reserved.
5 Jogging
5.2 Coordinate systems for jogging

5.2 Coordinate systems for jogging

Coordinate systems
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.
• 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 Wobj (work object) coordinate system is related to the work piece and
is often the best one for programming the robot.
• The Tool coordinate system defines the position of the tool the robot uses
when reaching the programmed targets.
• The World coordinate system defines the robot cell. It is useful for jogging,
general movements, and for handling stations and cells with several robots.

The base coordinate system

The base coordinate system has its zero point at the base of the robot, which
makes the movement predictable for fixed mounted robots. It is therefore useful
for jogging a robot from one position to another. For programming a robot, other
coordinate systems, like the work object coordinate system are often the better
choices.
When you are standing in front of a robot and jog in the base coordinate system,
in a normally configured robot system, pulling the joystick towards you will move
the robot along the X axis, while moving the joystick to the sides will move the
robot along the Y axis. Twisting the joystick will move the robot along the Z axis.

Continues on next page


Operating manual - OmniCore 61
3HAC065036-001 Revision: D
© Copyright 20192020 ABB. All rights reserved.
5 Jogging
5.2 Coordinate systems for jogging
Continued

The work object coordinate system

A World coordinate system


B Work Object coordinate system 1
C Work Object coordinate system 2

The work object coordinate system corresponds to the work piece. It defines the
placement of the work piece in relation to the world coordinate system (or any
other coordinate system).
The work object coordinate system must be defined in two frames, the user frame
(related to the world frame) and the object frame (related to the user frame).
A robot can have several work object coordinate systems, either for representing
different work pieces or several copies of the same work piece at different locations.
It is in the work object coordinate system you create targets and paths when
programming the robot. This gives the following advantages:
• When repositioning the work piece in the station you just change the position
of the work object coordinate system and all paths are updated at once.
• Enables work on work pieces moved by external axes or conveyor tracks,
since the entire work object with its paths can be moved.
Following are two examples of work object coordinate system in use:
• To determining the positions of a number of holes to be drilled along the
edge of the work object.
• To create a weld between two walls in a box.

Continues on next page


62 Operating manual - OmniCore
3HAC065036-001 Revision: D
© Copyright 20192020 ABB. All rights reserved.
5 Jogging
5.2 Coordinate systems for jogging
Continued

The tool coordinate system

The tool coordinate system has its zero position at the center point of the tool. It
thereby defines the position and orientation of the tool. The tool coordinate system
is often abbreviated TCPF (Tool Center Point Frame) and the center of the tool
coordinate system is abbreviated TCP (Tool Center Point).
It is the TCP that moves to the programmed positions, when executing programs.
This means that if you change the tool (and the tool coordinate system) the robot’s
movements will be changed so that the new TCP will reach the target.
All robots have a predefined tool coordinate system, called tool0, located at the
wrist of the robot. One or many new tool coordinate systems can then be defined
as offsets from tool0.
When jogging a robot the tool coordinate system is useful when you don’t want to
change the orientation of the tool during the movement. For example, moving a
saw blade without bending it.
Following is an example of tool coordinate system in use:
• Use the tool coordinate system when you need to program or adjust
operations for threading, drilling, milling, or sawing.

Continues on next page


Operating manual - OmniCore 63
3HAC065036-001 Revision: D
© Copyright 20192020 ABB. All rights reserved.
5 Jogging
5.2 Coordinate systems for jogging
Continued

The world coordinate system

A Base coordinate system for robot 1


B World coordinate
C Base coordinate system for robot 2

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.

Examples of use
For example, you have two robots, one floor mounted and one inverted. The base
coordinate system for the inverted robot would be upside down.
If you jog in the base coordinate system for the inverted robot, movements will be
very difficult to predict. Choose the shared world coordinate system instead.

Continues on next page


64 Operating manual - OmniCore
3HAC065036-001 Revision: D
© Copyright 20192020 ABB. All rights reserved.
5 Jogging
5.2 Coordinate systems for jogging
Continued

Illustration of axes and joystick directions


The axes of a generic six axis robot can be jogged manually using the joystick.
Please check your plant or cell documentation to determine the physical orientation
of any additional axes.
The illustration shows the movement patterns for each manipulator axis.

Operating manual - OmniCore 65


3HAC065036-001 Revision: D
© Copyright 20192020 ABB. All rights reserved.
5 Jogging
5.3 Basic settings for jogging

5.3 Basic settings for jogging

Selecting mechanical unit for jogging


If your system has more than one robot, that is, additional robots or additional
axes, then you need to select which mechanical unit to jog when using the joystick.
Each mechanical unit that can be jogged is represented in the Mechanical unit
list. The name of the unit is defined in the system configuration.
Please consult your plant or cell documentation to see which mechanical units are
available in your robot system.

Note

The selected mechanical unit is active until you select another unit.

Selecting Motion mode


Navigate to the Movement Types section and tap on the movement type that you
want to select.

Selecting tool, work object, and payload


It is important to choose the proper tool, work object, or payload. This is required
when you create a program by jogging to the target positions. Failing to do this
may results in overload errors or incorrect positioning either when you jog or when
you run the program.
Select tool, workobject, or payload from the Active tool, Active workobject, or
Active Payload list respectively according to the requirement.

Setting the tool orientation


Tools for arc welding, grinding, and dispensing must be oriented in a particular
angle to the work piece to obtain the best result. You also need to set up the angle
for drilling, milling or sawing.
In most cases you set the tool orientation when you have jogged the tool center
point to a specific position such as the starting point for a tool operation. After you
have set the tool orientation you continue to jog in linear motion to complete the
path and the supposed operation.
The tool orientation is relative to the currently selected coordinate system. From
a user perspective however this is not noticeable.
Select Align Tool from the menu.

Jogging axis by axis


Use axis by axis jogging when you need to:
• Move the mechanical unit out of a hazardous position.
• Move robot axes out of singularities.
• Position axes for fine calibration.

Continues on next page


66 Operating manual - OmniCore
3HAC065036-001 Revision: D
© Copyright 20192020 ABB. All rights reserved.
5 Jogging
5.3 Basic settings for jogging
Continued

Use the following procedure to select axis group in the Jogging window.
1 On the start screen, tap Jog, and then select Joystick Jog or Touch Jog
from the menu.
2 Navigate to the Motion mode section and select the axis set.
3 Press and hold the three-position enabling device to enable the motors.
4 Jog the axis according to your requirement.
The selected axis is moved according to your hand gestures.

CAUTION

The orientation of any mounted tool is affected by this procedure. If the resulting
orientation is important, perform the procedure described in Setting the tool
orientation on page 66.

Incremental movement for precise positioning


Use incremental movement to jog the robot in small steps, which enables very
precise positioning.
This means that once the increment setting is configured, the robot moves one
step when you swipe on the graphical window. If you swipe for more time, a
sequence of steps, (at a rate of 10 steps per second), is performed as long as you
swipe the axis along the user interface.
You can use the jog app for precise movement.
Use the following procedure to select the incremental movement size using the
Jog app.
1 On the start screen, tap Jog, and then select Joystick Jog from the menu.
2 Navigate to the Motion mode section and select the axis set.
3 In the Joystick Movements section, navigate to the Increment Mode list,
and select the increment type.
4 Jog the selected axis.
The robot axis is moved according to the selected increment mode.

Operating manual - OmniCore 67


3HAC065036-001 Revision: D
© Copyright 20192020 ABB. All rights reserved.
5 Jogging
5.4 Reading the exact position

5.4 Reading the exact position

About positions and revolution counters


The exact position of the robot is determined using the position of the resolvers
and counters that count the number of resolver revolutions. These are called
revolution counters.
If the robot is correctly calibrated then the current position is automatically
calculated at start.

CAUTION

If the positions are displayed in red text then the values from the revolution
counters are lost and instead the values stored on the robot memory are
displayed. Be careful when jogging the robot if the values are displayed in red
text. Watch the robot closely and do not use the displayed values. If the
mechanical unit is uncalibrated then the actual position can be very different
from the position values stored by the robot memory. You must update the
revolution counters before a program can be started. For more details, see
Updating revolution counters on page 56.

Note

If no positions are displayed then the mechanical unit is uncalibrated. Instead


the text Selected mechanical unit is not calibrated is displayed.

Note

When updating the revolution counters, the ongoing RAPID instruction or function
is interrupted, and the path is cleared.

How robot positions are displayed


Positions are always displayed as:
• The point in space expressed in the x, y, and z tool center point coordinates.
• The angular rotation of the tool center point expressed in Euler angles or as
a quaternion.

How additional axes positions are displayed


When an additional axis is moved, only the axis position is displayed.
Linear axis positions are displayed in millimeters expressed as the distance to the
calibration position.
Rotating axis positions are displayed in degrees expressed as the angle to the
calibration position.

Reading the exact position


This procedure describes how to read the exact position.
1 On the start screen, tap Jog.

Continues on next page


68 Operating manual - OmniCore
3HAC065036-001 Revision: D
© Copyright 20192020 ABB. All rights reserved.
5 Jogging
5.4 Reading the exact position
Continued

2 The position of each axis is displayed in the Position Information section.

Position format
The position can be displayed in different formats. In Jog app, tap Settings >
Advanced to configure the settings.
The Position Format can be displayed relative the following frames:
• World
• Base
• Workobject
The Orientation format can be set to:
• Quaternion
• Euler angles
The Position angle format can be set to:
• Angles
The Presentation angle unit can be set to:
• Degrees
• Radians

Operating manual - OmniCore 69


3HAC065036-001 Revision: D
© Copyright 20192020 ABB. All rights reserved.
5 Jogging
5.5 Restrictions to jogging

5.5 Restrictions to jogging

Jog additional axes


Additional axes can be jogged only axis-by-axis. Please see .

Jog mechanical units that are not calibrated


If the mechanical unit is not calibrated the text Unit not calibrated will be displayed
in the Position area of the Jogging window.
An uncalibrated mechanical unit can only be jogged axis-by-axis. Its working range
will not be checked.
When the robot is not calibrated, incremental movement is restricted to one step
per joystick deflection. A calibrated robot performs 10 steps/sec when deflecting
the joystick.

CAUTION

Mechanical units whose working range is not controlled by the robot system can
be moved to dangerous positions. Mechanical stops should be used and
configured to avoid danger to equipment or personnel.

Jog robot axes in independent mode


It is not possible to jog axes in independent mode. You need to return the axes to
normal mode in order to jog.

Jog while using world zones


With the option World Zones installed, defined zones will restrict the motion while
you jog.

Jog with axis loads not set


If equipment is mounted on any of the robot axes, then axes loads must be set.
Otherwise overload errors might occur when jogging.
How to set axis loads are described in the Product Manuals delivered with your
robot.

Jog with tool or payload weights not set


If the weight of tools and payloads is not set, then overload errors might occur
when jogging. Loads for additional axes controlled by specific software (dynamic
models) can only be set in programing.

70 Operating manual - OmniCore


3HAC065036-001 Revision: D
© Copyright 20192020 ABB. All rights reserved.
5 Jogging
5.6 Lead-through

5.6 Lead-through

What is lead-through?
The lead-through functionality is available for YuMi robots.
Using lead-through, you can grab the robot arm and move it manually to a desired
position, as an alternative to jogging.

Using lead-through
Use the following procedure to jog the robot using the lead-through functionality:
1 Enable lead-through in one of the following ways:
• Press the thumb button on the FlexPendant.
• On the start screen, tap Jog and in the Jog app, select the
Lead-through menu.
• In Quick settings, select the Jog tab.

Note

If the robot is in motors off state, it will automatically go to the motors on


state when the lead-through is enabled.

2 Gently pull the robot arm to the desired position.


The robot arm moves along the path.

Note

You can feel if an axis reaches its end position. Do not try to force the axis
beyond this position.

Note

If lead-through is enabled, it will be temporarily disabled during program execution


and jogging. This means that it is possible to combine lead-through, jogging,
and testing the RAPID program without having to disable the lead-through.

Note

When using lead-through, it is important that the load is correctly defined. If the
load is heavier than defined, the effect will be the same as if you are pulling the
robot arm downwards. If the load is lighter than the defined load, the effect will
be the same as if you are pulling the robot arm upwards.

Note

For Yumi robots with SafeMove2, some different behaviors apply, see the product
manual for the robot.

Operating manual - OmniCore 71


3HAC065036-001 Revision: D
© Copyright 20192020 ABB. All rights reserved.
5 Jogging
5.7 Supervision

5.7 Supervision

Motion supervision
The controller software has the motion supervision functionality aiming at reducing
collision impact forces on the robot. This helps protecting the robot and external
equipment from severe damage if a collision occurs.
Motion supervision during program execution is always active, regardless which
options are installed in the controller. When a collision is detected, the robot will
immediately stop and relieve the residual forces by moving in reversed direction
a short distance along its path. The program execution will stop with an error
message. The robot remains in the Motors on state so that program execution can
be resumed after the collision error message has been acknowledged.
Moreover, there is a software option called Collision Detection, which has extra
features such as supervision during jogging. To find out if your system has this
option installed, tap the QuickSet icon on the status bar, tap the Info tab, and look
for the option 3107-1 Collision Detection. For more information on Collision
Detection, see Application manual - Controller software OmniCore.

Functions in RobotWare base


• Path Supervision in automatic and manual full speed mode is used to prevent
mechanical damage due to the robot running into an obstacle during program
execution.
• Non motion execution is used to run a program without robot motion.

Functions in Collision Detection


A RobotWare system with Collision Detection has additional functionality:
• Path Supervision in manual mode and the possibility to tune supervision in
all modes.
• Jog Supervision is used to prevent mechanical damage to the robot during
jogging.
• RAPID instruction MotionSup is used to activate/deactivate collision detection
and to tune sensitivity during program execution.

Note

All motion supervision must be set for each task separately.

72 Operating manual - OmniCore


3HAC065036-001 Revision: D
© Copyright 20192020 ABB. All rights reserved.
5 Jogging
5.8 Align tool

5.8 Align tool

Overview
A tool can be aligned with another coordinate system.
When aligning a tool, the tool's z-axis is aligned to the nearest axis of the selected
coordinate system. Therefore, it is recommended to first jog the tool so that it is
close to the desired coordinates. When aligning a tool the tool's data is not changed.

Procedure
Use the following procedure to align a tool:
1 On the start screen, tap Jog.
2 On the command bar, tap Align.
The Align window is displayed. The current active tool and work object are
displayed at the top of the window.
3 In the Align to coordinate system section, select the required coordinate
system.
4 Press and hold the three-position enabling device to activate the motors.

Note

For collaborative robots, the motors are on by default unless extra safety
options are selected in the system.

5 Continue holding the three-position enabling device and tap and hold Start
align.
The tool is aligned.

Operating manual - OmniCore 73


3HAC065036-001 Revision: D
© Copyright 20192020 ABB. All rights reserved.
This page is intentionally left blank
6 Programming and testing
6.1 Introduction

6 Programming and testing


6.1 Introduction

Overview
This chapter provides you information about creating programs and testing those
programs.

Operating manual - OmniCore 75


3HAC065036-001 Revision: D
© Copyright 20192020 ABB. All rights reserved.
6 Programming and testing
6.2 Before you start programming

6.2 Before you start programming

Programming tools
You can use both the FlexPendant and RobotStudio for programming. The
FlexPendant is best suited for modifying programs, such as positions and paths,
while RobotStudio is preferred for more complex programming.
How to program using RobotStudio is described in Operating manual - RobotStudio.

Define tools, payloads, and work objects


Define tools, payloads and work objects before you start programming. You can
always go back and define more objects later, but you should define your basic
objects in advance.
See Creating a tool on page 110.

WARNING

It is important to always define the actual tool load and, when used, the payload
of the robot (for example, a gripped part). Incorrect definitions of load data can
result in overloading of the robot mechanical structure. There is also a risk that
the speed in manual reduced speed mode can be exceeded.
When incorrect load data is specified, it can often lead to the following
consequences:
• The robot may not use its maximum capacity.
• Impaired path accuracy including a risk of overshooting.
• Risk of overloading the mechanical structure.
The controller continuously monitors the load and writes an event log if the load
is higher than expected. This event log is saved and logged in the controller
memory.

Define coordinate systems


Make sure the base and world coordinate systems have been set up properly
during the installation of your robot system. Also make sure that additional axes
have been set up.
Define tool and work object coordinate systems before you start programming. As
you add more objects later you also need to define the corresponding coordinate
systems.

Tip

For more details about the RAPID language and structure, see Technical reference
manual - RAPID Overview and Technical reference manual - RAPID Instructions,
Functions and Data types.

76 Operating manual - OmniCore


3HAC065036-001 Revision: D
© Copyright 20192020 ABB. All rights reserved.
6 Programming and testing
6.3.1 Handling of programs

6.3 Programming concept

6.3.1 Handling of programs

Overview
This section details how to perform normal handling of robot programs. It describes
how to:
• create a new program
• load an existing program
• save a program
• rename a program
• delete a program

Note

Each task must contain one program. Note that the following procedures describe
a single task system.
How to create a new program when no program is available is detailed in section
Creating a new program on page 77.

About program files


When saving a program to the controller hard disk, it is by default saved to the
directory HOME in the system’s folder unless otherwise stated. How to set another
default path is detailed in section How to set default paths in Operating
manual - OmniCore.
The program is saved as a folder, named as the program, containing the actual
program file, of type pgf.
When loading a program you open the program folder and select the pgf file.
When renaming a program you rename the program folder and the program file.
When saving a loaded program which is already saved to the hard disk, you must
not open the existing program folder. Instead, you should save the program folder
again and overwrite the old version, or rename the program.

Creating a new program


This section describes how to create a new program.
1 On the start screen, tap Code, and then select Modules from the menu.

Continues on next page


Operating manual - OmniCore 77
3HAC065036-001 Revision: D
© Copyright 20192020 ABB. All rights reserved.
6 Programming and testing
6.3.1 Handling of programs
Continued

2 On the Context menu, tap New Program.

xx1900000214

If there was already a program loaded, a warning dialog appears:


• Tap Save to save the loaded program.
• Tap Don't Save to close loaded program without saving it, i.e. delete
from program memory.
• Tap Cancel to leave the program loaded.
3 Tap Main Module.
4 Add the instructions and routines to the program.
5 Tap Check Program.
6 Tap Modules.
7 On the Context menu, tap Save as.
8 Tap a name for the program in the File Name field.
9 Select the location for saving the new program file.
10 Tap Save.
The program is saved.

Saving a program
This section describes how to save a loaded program to the controller hard disk.
A loaded program is automatically saved in the program memory, but saving to
the controller hard disk is an extra precaution.
1 On the start screen, tap Code, and then select Modules from the menu.
2 On the Context menu, tap Save as.

Continues on next page


78 Operating manual - OmniCore
3HAC065036-001 Revision: D
© Copyright 20192020 ABB. All rights reserved.
6 Programming and testing
6.3.1 Handling of programs
Continued

3 Use the suggested program name or enter a File Name. Tap Save.

xx1900000223

4 The program is saved.

Renaming a loaded program


This section describes how to rename a loaded program.
1 On the start screen, tap Code, and then select Modules from the menu.
2 On the Context menu, tap Rename.
3 In the Enter New Name field, type a new name for the selected program.

xx1900000224

4 Tap Apply.
The program is renamed.

Deleting a program
This section describes how to delete a program.

Note

You can only delete a loaded program.

Continues on next page


Operating manual - OmniCore 79
3HAC065036-001 Revision: D
© Copyright 20192020 ABB. All rights reserved.
6 Programming and testing
6.3.1 Handling of programs
Continued

1 On the start screen, tap Code, and then select Modules from the menu.
2 On the Context menu, tap Delete.
3 In the Delete Program confirmation window, tap OK to delete, or Cancel to
keep the program intact.

xx1900000225

80 Operating manual - OmniCore


3HAC065036-001 Revision: D
© Copyright 20192020 ABB. All rights reserved.
6 Programming and testing
6.3.2 Handling of modules

6.3.2 Handling of modules

Overview
This section details how to handle program modules. i.e.:
• create a new module
• load an existing module
• save a module
• rename a module
• delete a module

Creating a new module


This section describes how to create a new module.
1 On the start screen, tap Code, and then select Modules from the menu.
2 On the Context menu, tap New Module.

xx1900000214

3 In the Create New Module window, enter a Module Name, and select if
Module Type should be Program or System. Tap Apply.

xx1900000226

Continues on next page


Operating manual - OmniCore 81
3HAC065036-001 Revision: D
© Copyright 20192020 ABB. All rights reserved.
6 Programming and testing
6.3.2 Handling of modules
Continued

Note

How to later switch between these types is detailed in section Changing


type of module on page 83.

The module is created and displayed in the Modules section.

Loading an existing module


This section describes how to load an existing module.
1 On the start screen, tap Code, and then select Modules from the menu.
2 On the Context menu, tap Load Module.
3 Navigate and select the module from the location where it is saved. Tap
Load.

xx1900000227

The selected module is loaded.

Saving a module
This section describes how to save a module.
1 On the start screen, tap Code, and then select Modules from the menu.
2 Tap Save as on the Context menu for the module.

Continues on next page


82 Operating manual - OmniCore
3HAC065036-001 Revision: D
© Copyright 20192020 ABB. All rights reserved.
6 Programming and testing
6.3.2 Handling of modules
Continued

3 The Save Module as window is displayed:

xx1900000229

Tap and select a location for saving the module.


Use the suggested module name or enter a File Name.
4 Tap Save.
The module is saved in the selected location.

Renaming a module
This section describes how to rename a module.
1 On the start screen, tap Code, and then select Modules from the menu.
2 Tap Change Declaration on the Context menu for the module.
3 Enter a Module Name and then tap Apply.

xx1900000230

The module is renamed.

Changing type of module


This section describes how to change the type of module.
1 On the start screen, tap Code, and then select Modules from the menu.

Continues on next page


Operating manual - OmniCore 83
3HAC065036-001 Revision: D
© Copyright 20192020 ABB. All rights reserved.
6 Programming and testing
6.3.2 Handling of modules
Continued

2 Tap Change Declaration on the Context menu for the module.


3 Select Module Type and then tap Apply.

xx1900000230

The module type is changed.

Deleting a module
This section describes how to delete a module from memory. If the module has
been saved to disk, it will not be erased from the disk.
1 On the start screen, tap Code, and then select Modules from the menu.
2 Tap Delete on the Context menu for the module.
3 The Delete Module confirmation window is displayed:

xx1900000231

4 Tap OK.
The selected module is deleted and removed from the module list.

84 Operating manual - OmniCore


3HAC065036-001 Revision: D
© Copyright 20192020 ABB. All rights reserved.
6 Programming and testing
6.3.3 Handling of routines

6.3.3 Handling of routines

Overview
This section details how to handle program routines. i.e.:
• create a new routine
• create a copy of a routine
• change the declaration of a routine
• delete a routine

Creating a new routine


This section details how to create a new routine, set the declaration, and add it to
a module.
1 On the start screen, tap Code, and then select Code editor from the menu.
2 Tap Routines in the menu to the right.

xx1900000232

Continues on next page


Operating manual - OmniCore 85
3HAC065036-001 Revision: D
© Copyright 20192020 ABB. All rights reserved.
6 Programming and testing
6.3.3 Handling of routines
Continued

3 Tap Create New.

xx1900000251

4 The Create New Routine page is displayed:

xx1900000254

Complete the routine declaration by entering the following information:


• Routine Name

Continues on next page


86 Operating manual - OmniCore
3HAC065036-001 Revision: D
© Copyright 20192020 ABB. All rights reserved.
6 Programming and testing
6.3.3 Handling of routines
Continued

• Routine Type
- Procedure: used for a normal routine without return value
- Function: used for a normal routine with return value
- Trap: used for an interrupt routine
• Parameters
Tap Edit to add parameters to the routine. See section Defining
parameters in routine on page 87 for more information.
• Task
• Module
• Options
- Local Declaration
Tap the checkbox to select Local declaration if the routine should
be local.
A local routine can only be used in the selected module.
- Undo Handler
- Error Handler
- Backward Handler

Note

Use the Preview button to preview the values selected for the new routine.

5 Tap Apply
The new routine is created and displayed in the Routines list for the selected
module.

Defining parameters in routine


This section describes how to define parameters in a routine.
1 On the start screen, tap Code, and then select Code editor from the menu.

Continues on next page


Operating manual - OmniCore 87
3HAC065036-001 Revision: D
© Copyright 20192020 ABB. All rights reserved.
6 Programming and testing
6.3.3 Handling of routines
Continued

2 Tap View Routines on the Context menu for the module.

xx1900000228

3 Tap Change declaration on the Context menu for the routine.

xx1900000271

Continues on next page


88 Operating manual - OmniCore
3HAC065036-001 Revision: D
© Copyright 20192020 ABB. All rights reserved.
6 Programming and testing
6.3.3 Handling of routines
Continued

4 If no parameters are shown, tap Add Parameter to add a new parameter.

xx1900000272

Tap Mandatory Parameter/Optional Parameter according to your


requirement.
The selected parameter is added to the Edit Routine Parameters list.

Note

Select an optional parameter and tap Add Parameter > Optional Mutual
Parameter to add a parameter that is mutually optional with another
parameter.
Read more about routine parameters in the RAPID reference manuals.
5 Type a Name for the parameter and tap Apply.
6 The new parameter is displayed in the list. Tap to select a parameter. To edit
values, tap the value.
7 Tap Apply.
The selected parameters are added to the Parameters field in the routine
declaration window.

Creating a copy of a routine


This section describes how to create a copy of a routine.
1 On the start screen, tap Code, and then select Code editor from the menu.

Continues on next page


Operating manual - OmniCore 89
3HAC065036-001 Revision: D
© Copyright 20192020 ABB. All rights reserved.
6 Programming and testing
6.3.3 Handling of routines
Continued

2 Tap View Routines on the Context menu for the module.

xx1900000228

3 Tap Copy Routine on the Context menu for the routine.

xx1900000271

The Copy Routine dialog is displayed.


4 Edit the name or other parameters according to your requirement.
5 Tap Apply.
A copy of the selected routine is created.
How to make all declarations is detailed in section Creating a new routine
on page 85.

Continues on next page


90 Operating manual - OmniCore
3HAC065036-001 Revision: D
© Copyright 20192020 ABB. All rights reserved.
6 Programming and testing
6.3.3 Handling of routines
Continued

Changing the declaration of a routine


This section describes how to change the declaration of a routine.
1 On the start screen, tap Code, and then select Code editor from the menu.
2 Tap View Routines on the Context menu for the module.

xx1900000228

3 Tap Change Declaration on the Context menu for the routine.

xx1900000271

The Change Declaration dialog is displayed.


4 Edit the values according to your requirement.
5 Tap Apply.
The changes to the routine are saved.

Continues on next page


Operating manual - OmniCore 91
3HAC065036-001 Revision: D
© Copyright 20192020 ABB. All rights reserved.
6 Programming and testing
6.3.3 Handling of routines
Continued

How to make all declarations is detailed in section Creating a new routine


on page 85.

Moving a routine
This section describes how to move a routine to another module.
1 On the start screen, tap Code, and then select Code editor from the menu.
2 Tap View Routines on the Context menu for the module.

xx1900000228

3 Tap Move Routine on the Context menu for the routine.

xx1900000271

The Move Routine dialog is displayed.

Continues on next page


92 Operating manual - OmniCore
3HAC065036-001 Revision: D
© Copyright 20192020 ABB. All rights reserved.
6 Programming and testing
6.3.3 Handling of routines
Continued

4 Select the Task and Module to which the routine should be moved. Then tap
Apply.

xx1900000310

Renaming a routine
This section describes how to rename a routine.
1 On the start screen, tap Code, and then select Code editor from the menu.
2 Tap View Routines on the Context menu for the module.

xx1900000228

Continues on next page


Operating manual - OmniCore 93
3HAC065036-001 Revision: D
© Copyright 20192020 ABB. All rights reserved.
6 Programming and testing
6.3.3 Handling of routines
Continued

3 Tap Rename on the Context menu for the routine.

xx1900000271

4 Type a new name for the routine in the Enter New Name field.
5 Tap Apply.
The selected routine is renamed.

Deleting a routine
This section describes how to delete a routine from memory.
1 On the start screen, tap Code, and then select Code editor from the menu.
2 Tap View Routines on the Context menu for the module.

xx1900000228

Continues on next page


94 Operating manual - OmniCore
3HAC065036-001 Revision: D
© Copyright 20192020 ABB. All rights reserved.
6 Programming and testing
6.3.3 Handling of routines
Continued

3 Tap Delete on the Context menu for the routine.

xx1900000271

The Delete Routine conformation window is displayed.


4 Tap OK.
The selected routine is deleted.

Operating manual - OmniCore 95


3HAC065036-001 Revision: D
© Copyright 20192020 ABB. All rights reserved.
6 Programming and testing
6.3.4 Handling of instructions

6.3.4 Handling of instructions

Instructions
A RAPID program consists of instructions. An instruction can, for example, move
the robot, set an I/O signal, or write a message to the operator.
A large number of instructions are available, and these are listed in Technical
reference manual - RAPID Instructions, Functions and Data types. The basic
procedure for adding instructions are, however, identical.

Adding instructions
Use the following procedure to add instructions to a module:
1 On the start screen, tap Code, and then select Modules from the menu.
2 Open the module on which instruction need to be added.
3 Tap Add Instruction.
The Add Instruction panel is displayed.
4 Tap on the location where the instruction need to be inserted.
5 Select an instruction from Common or Groups tab according to your
requirement.
The selected instruction is displayed with its parameters.
6 Edit the instruction parameters and tap Add.
The selected instruction is added after the selected location on the module.
7 Tap Check Program.
The validity of the program is verified.

Editing instruction arguments


This section describes how to edit instruction arguments.
1 On the start screen, tap Code, and then select Modules from the menu.
2 Open the module on which instruction need to be edited.
3 Tap on the instruction that need to be edited.
4 Tap Modify Instruction.
The selected instruction is displayed with its parameters.
5 Edit the instruction parameters.

Note

Tap Exp. Edit to open the selected instruction in Expression Editor window.
You can edit the instruction from here also.

6 Tap Apply.
The changes are updated in the selected instruction.
7 Tap Check Program.
The validity of the modified program is verified.

Continues on next page


96 Operating manual - OmniCore
3HAC065036-001 Revision: D
© Copyright 20192020 ABB. All rights reserved.
6 Programming and testing
6.3.4 Handling of instructions
Continued

Copying and pasting instructions or arguments


This section describes how to paste instructions or arguments.
1 On the start screen, tap Code, and then select Modules from the menu.
2 Open the module.
3 Tap on the instruction that needs to be copied.
4 Tap Edit.
5 Tap Copy.
6 Tap and select the instruction after which you want to paste the copied
instruction.
7 Tap Paste.
The copied instruction is pasted.

Deleting an instruction
This section describes how to delete an instruction.
1 On the start screen, tap Code, and then select Modules from the menu.
2 Open the module.
3 Tap on the instruction that needs to be deleted.
4 Tap Edit.
5 Tap Delete.
The selected instruction is deleted from the module.

Commenting instruction rows


Use the following procedure to comment an instruction.
1 On the start screen, tap Code, and then select Modules from the menu.
2 Open the module.
3 Tap on the instruction that you want to comment.
4 Tap Edit.
5 Tap Comment.
The selected instruction is commented and is skipped during the program
execution.

Operating manual - OmniCore 97


3HAC065036-001 Revision: D
© Copyright 20192020 ABB. All rights reserved.
6 Programming and testing
6.3.5 Example: Add movement instructions

6.3.5 Example: Add movement instructions

Overview
In this example you will create a simple program that makes the robot move in a
square. You need four movement instructions to complete this program.

A B

C
A First point
B Robot movement Speed data v50 = speed 50mm/s
C Zone z50 = (50mm)

Add movement instructions


Use the following procedure to write a simple program that makes the robot move
in a square:
1 On the start screen, tap Code, and then select Modules from the menu.
2 Open a module.
3 Jog the robot to the first point.
4 Tap Add Instruction.
5 Tap MoveL.
6 Tap Add.
7 Repeat the steps 4 to 7 and add the other three positions of the square.
The MoveL instructions for the selected points are added.

Note

For the first and last instruction, select the instruction and tap Edit
Instruction. Then change the Zone to Fine.

8 Tap Apply.
The program is saved.

Result
Your program code should look like this:
Proc main()
MoveL *, v50, fine, tool0;
MoveL *, v50, z50, tool0;
Continues on next page
98 Operating manual - OmniCore
3HAC065036-001 Revision: D
© Copyright 20192020 ABB. All rights reserved.
6 Programming and testing
6.3.5 Example: Add movement instructions
Continued

MoveL *, v50, z50, tool0;


MoveL *, v50, z50, tool0;
MoveL *, v50, fine, tool0;
End Proc;

Operating manual - OmniCore 99


3HAC065036-001 Revision: D
© Copyright 20192020 ABB. All rights reserved.
6 Programming and testing
6.3.6 About the Program and Motion Pointers

6.3.6 About the Program and Motion Pointers

The Program Pointer


The Program Pointer (PP) indicates the instruction with which the program will
start when you press the Start, Forward, or Backward buttons on the FlexPendant.
Program execution continues from the instruction where the Program Pointer is
placed. However, if the cursor is moved to another instruction when the program
is stopped, the Program Pointer can be moved to the position of the cursor (or the
cursor can be moved to the Program Pointer), and execution can be restarted from
that position.
The Program Pointer is shown as an arrow to the left of a line in program code in
Code Editor of Code and in Advanced View of Operate.

The Motion Pointer


The Motion Pointer (MP) indicates the instruction that the robot is currently
executing. This is normally one or more instructions after the Program Pointer, as
the system executes and calculates the robot path faster than the robot moves.
The Motion Pointer is shown as a small robot to the left of the program code in
Code Editor of Code and in Advanced View of Operate.

The cursor
The cursor can indicate a complete instruction or any of the arguments.
The cursor is shown as blue highlighting of the program code in Code Editor of
Code.

Code Editor
If you toggle between the Code Editor and another view and back again, the Code
Editor will show the same part of the code as long as the program pointer has not
been moved. If the program pointer is moved, the Code Editor shows the code at
the position of the program pointer.
The same behavior applies to Advanced View in Operate.

100 Operating manual - OmniCore


3HAC065036-001 Revision: D
© Copyright 20192020 ABB. All rights reserved.
6 Programming and testing
6.4.1 View data in specific tasks, modules, or routines

6.4 Data types

6.4.1 View data in specific tasks, modules, or routines

Viewing data in specific tasks, modules, or routines


It is possible to view selections of data types by selecting a specific scope.
Use the following procedure to view data instances in specific modules or routines:
1 On the start screen, tap Code, and then select RAPID Data from the menu.
2 Select the required scope. The following options are available:
• Built-In Data Only: Displays all the data types used by the specific
system.
• Current Execution: Displays all the data types used in the current
execution.
The following sub options are available. To access the sub options tap
on Change.
- Task: Displays all the data types used by a specific task.
- Module: Displays all the data types used by a specific module.
- Routine: Displays all the data types used by a specific routine.
3 Select the required view. The following options are available:
• Only used types: Displays only the used data types.
• All data types: Displays all the data types.
4 Tap on a data type to view its details.

Operating manual - OmniCore 101


3HAC065036-001 Revision: D
© Copyright 20192020 ABB. All rights reserved.
6 Programming and testing
6.4.2 Creating new data instance

6.4.2 Creating new data instance

Creating new data instance


This section details how to create new data instances of data types.
1 On the start screen, tap Code, and then select RAPID Data from the menu.
The Data Types dialog is displayed.

Tip

Define what data to be displayed by selecting either Only used types or


All data types.

2 Tap the data instance type to be created, for example, bool.


3 Tap the context menu, and select Create New Data.
The Create New Data dialog is displayed.
4 In the Declaration tab, complete the following fields for the new data type:

xx1900000351

• Name: Type a new name.


• Scope: Set the accessibility for the data instance from the following
options:
- Global - reachable by all the tasks.
- Local - reachable within the module.
- Task - reachable within the task.
• Storage type: Set the type of memory used for the data instance from
the following options:
- Persistent to retain the data between sessions.
- Variable if the data instance is variable.

Continues on next page


102 Operating manual - OmniCore
3HAC065036-001 Revision: D
© Copyright 20192020 ABB. All rights reserved.
6 Programming and testing
6.4.2 Creating new data instance
Continued

- Constant if the data instance is constant.


• Tap the Module menu to select module.
• Tap the Routine menu to select routine.
5 In the Initial Value tab, select the values according to the selected data type.
6 Tap Apply.
The new data instance is created.

Operating manual - OmniCore 103


3HAC065036-001 Revision: D
© Copyright 20192020 ABB. All rights reserved.
6 Programming and testing
6.4.3 Editing data instances

6.4.3 Editing data instances

Overview
This section describes how to view data instances in the RAPID Data window. It
also details how to edit, delete, change declaration of, copy, and define a data
instance.
For the data types tooldata, wobjdata and loaddata also see sections Tools
on page 106, Work objects on page 122 or Payloads on page 133.

Viewing and editing data instances


This section details how to view the available instances of a data type.
1 On the start screen, tap Code, and then select RAPID Data from the menu.
2 Tap the data instance type for which the data instances need to be viewed
or edited. For example, tooldata.
The data instances for the selected type are displayed.
3 Tap on the data instance that needs to be edited.
4 Tap the Declaration tab, Initial Value, and Current Value tab and edit the
parameters according to your requirement.
5 Tap Apply.
The changes to the selected data instance are saved.

Note

If the value of a persistent variable is changed at any point in a running program,


the Code Editor will still show the old value until the program stops. The RAPID
Data view, however, always shows the current value of persistent variables. See
Persistent declaration in the Technical reference manual - RAPID Overview for
further information.

Deleting a data instance


Use the following procedure to delete a data instance.
1 On the start screen, tap Code, and then select RAPID Data from the menu.
2 Tap the data instance type for which you need to delete the data instance.
For example, tooldata.
The data instances for the selected type are displayed.
3 Tap Delete on the context menu for the data instance that you want to delete.
4 Tap Yes.
The selected data instance is deleted.

Continues on next page


104 Operating manual - OmniCore
3HAC065036-001 Revision: D
© Copyright 20192020 ABB. All rights reserved.
6 Programming and testing
6.4.3 Editing data instances
Continued

CAUTION

A deleted tool, work object, or payload cannot be recovered, and all the related
data will be lost. If the tool, work object, or payload is referenced by any program,
those programs cannot run without changes.
If you delete a tool you cannot continue the program from the current position.

Copying a data instance


Use the following procedure to create the copy of a data instance.
1 On the start screen, tap Code, and then select RAPID Data from the menu.
2 Tap the data instance type for which you need to create a copy of the data
instance. For example, tooldata.
3 Tap Copy on the context menu for the data instance that you want to copy.
4 A confirmation window is displayed.
5 Tap OK.
A copy of the selected data instance is created.

Note

The copied data instance has the same values as the original, but the name is
unique.

Operating manual - OmniCore 105


3HAC065036-001 Revision: D
© Copyright 20192020 ABB. All rights reserved.
6 Programming and testing
6.5.1 What is a tool?

6.5 Tools

6.5.1 What is a tool?

Tool
A tool is an object that can be mounted directly or indirectly on the robot turning
disk or fitted in a fixed position within the robot working range.

Note

A fixture (jig) is not a tool.


All tools must be defined with a TCP (Tool Center Point).
Each tool that can be used by the robot must be measured and its data stored in
order to achieve accurate positioning of the tool center point.

WARNING

It is important to always define the actual tool load and, when used, the payload
of the robot (for example, a gripped part). Incorrect definitions of load data can
result in overloading of the robot mechanical structure. There is also a risk that
the speed in manual reduced speed mode can be exceeded.
When incorrect load data is specified, it can often lead to the following
consequences:
• The robot may not use its maximum capacity.
• Impaired path accuracy including a risk of overshooting.
• Risk of overloading the mechanical structure.
The controller continuously monitors the load and writes an event log if the load
is higher than expected. This event log is saved and logged in the controller
memory.

Continues on next page


106 Operating manual - OmniCore
3HAC065036-001 Revision: D
© Copyright 20192020 ABB. All rights reserved.
6 Programming and testing
6.5.1 What is a tool?
Continued

Illustration

en0400000803

A Tool side
B Robot side

Operating manual - OmniCore 107


3HAC065036-001 Revision: D
© Copyright 20192020 ABB. All rights reserved.
6 Programming and testing
6.5.2 What is the tool center point?

6.5.2 What is the tool center point?

Illustration
The illustration shows how the tool center point (TCP) is the point around which
the orientation of the tool/manipulator wrist is being defined.

xx0300000604

Description
The tool center point (TCP) is the point in relation to which all robot positioning is
defined. Usually the TCP is defined as relative to a position on the manipulator
turning disk.

CAUTION

Incorrect settings for the TCP will result in incorrect speed. Always verify the
speed after changing the settings.
The TCP will be jogged or moved to the programmed target position. The tool
center point also constitutes the origin of the tool coordinate system.
The robot system can handle a number of TCP definitions, but only one can be
active at any one time.
There are two basic types of TCPs: moveable or stationary.

Moving TCP
The vast majority of all applications deal with moving TCP, i.e. a TCP that moves
in space along with the manipulator.
A typical moving TCP can be defined in relation to, for example the tip of a arc
welding gun, the center of a spot welding gun, or the end of a grading tool.

Continues on next page


108 Operating manual - OmniCore
3HAC065036-001 Revision: D
© Copyright 20192020 ABB. All rights reserved.
6 Programming and testing
6.5.2 What is the tool center point?
Continued

Stationary TCP
In some applications a stationary TCP is used, for example when a stationary spot
welding gun is used. In such cases the TCP can be defined in relation to the
stationary equipment instead of the moving manipulator.

Operating manual - OmniCore 109


3HAC065036-001 Revision: D
© Copyright 20192020 ABB. All rights reserved.
6 Programming and testing
6.5.3 Creating a tool

6.5.3 Creating a tool

What happens when you create a tool?


When you create a new tool a variable of the data type tooldata is created. The
variable name will be the name of the tool. For more information on data types,
see Technical reference manual - RAPID Instructions, Functions and Data types.
The new tool has initial default values for mass, frame, orientation etc., which must
be defined before the tool can be used.

How to create a tool


The tool center point of the default tool (tool0) is in the center of the robot's
mounting flange and shares the orientation of the robot base.
By creating a new tool you define another tool center point. For more information
about tool center points, see What is the tool center point? on page 108.

A
en0400000779

A Tool center point, TCP, for tool0

1 On the start screen, tap Calibrate, and then select Tool from the menu.
2 Tap Create New Data in the menu to the right.
The Create Tool window is displayed.
3 Complete the tool information (see Tool declaration settings on page 111) and
then tap Apply.

Continues on next page


110 Operating manual - OmniCore
3HAC065036-001 Revision: D
© Copyright 20192020 ABB. All rights reserved.
6 Programming and testing
6.5.3 Creating a tool
Continued

Tool declaration settings

If you want to change... then... Recommendation


the name of the tool tap on the Name field and Tools are automatically
change name using the soft named tool followed by a
keyboard that appears. running number, for example
tool10 or tool21.
You are recommended to
change this to something
more descriptive such as gun,
gripper or welder.

Note

If you change the name of a


tool after it is referenced in
any program you must also
change all occurrences of that
tool.

the scope select the preferred scope Tools should be global, if it


from the Scope drop-down should be available to all the
list. modules in the program.

the storage type select the value from the Tool variables must always
Storage Type drop-down list. be persistent.
the task select the value from the Task
drop-down list.
the module select the module in which
this tool should be declared
from the Module drop-down
list.
the routine select the value from the
Routine drop-down list.
the size of the data array's select the value from the Di-
axes mension drop-down list.

Note

The created tool is not useful until you have defined the tool data (TCP
coordinates, orientation, weight etc.). See Editing the tool data on page 117 and
section about LoadIdentify in Operating manual - OmniCore.

Operating manual - OmniCore 111


3HAC065036-001 Revision: D
© Copyright 20192020 ABB. All rights reserved.
6 Programming and testing
6.5.4 Defining the tool frame

6.5.4 Defining the tool frame

Preparations
To define the tool frame, you first need a reference point in the world coordinate
system. If you need to set the tool center point orientation, you also need to affix
elongators to the tool.
You also need to decide which method to use for the tool frame definition.

Available methods
There are three different methods which can be used when defining the tool frame.
All three require that you define the cartesian coordinates of the tool center point.
What differs is how the orientation is defined.
If you want to... ...then select
set the orientation the same as the orientation TCP (default orient.)
of the robot’s mounting plate
set the orientation in Z axis TCP&Z
set the orientation in X and Z axes TCP&Z,X

How to define position and orientation


This procedure describes how to select the method to be used when defining the
tool frame.
1 On the start screen, tap Calibrate, and then select Tool from the menu.
2 Tap the tool you want to edit.
The Edit Tool window is displayed.
3 Tap Define in the menu.
The Tool TCP Definition, Define Position window is displayed.

Continues on next page


112 Operating manual - OmniCore
3HAC065036-001 Revision: D
© Copyright 20192020 ABB. All rights reserved.
6 Programming and testing
6.5.4 Defining the tool frame
Continued

4 Select the number of approach points to be used in field Number of points.


Usually 4 points is enough. If you choose more points to get a more accurate
result, you should be equally careful when defining all of them.

xx1900000353

5 Tap Modify to define the points. See How to proceed with tool frame definition
on page 115.
6 Tap Next.
The Tool TCP Definition, Define Orientation window is displayed.

Continues on next page


Operating manual - OmniCore 113
3HAC065036-001 Revision: D
© Copyright 20192020 ABB. All rights reserved.
6 Programming and testing
6.5.4 Defining the tool frame
Continued

7 Select the Method to be used.

xx1900000354

8 Tap Modify to modify the positions. Then tap Next.


The Tool TCP Definition, Calibration Result window is displayed.
9 Tap Finish to save the calibration.

Continues on next page


114 Operating manual - OmniCore
3HAC065036-001 Revision: D
© Copyright 20192020 ABB. All rights reserved.
6 Programming and testing
6.5.4 Defining the tool frame
Continued

How to proceed with tool frame definition


This procedure describes how to define the tool center point in Cartesian
coordinates.

en0400000906

1 Jog the robot to an appropriate position, A, for the first approach point.
Use small increments to accurately position the tool tip as close to the
reference point as possible.
2 Tap Modify to define the point.
3 Repeat step 1 and 2 for each approach point to be defined, positions B, C,
and D.
Jog away from the fixed world point to achieve the best result. Just changing
the tool orientation will not give as good a result.
4 If the method you are using is TCP&Z or TCP&Z,X orientation must be defined
as well.
Follow the instructions in How to define elongator points on page 116.
5 If, for some reason, you want to redo the calibration procedure described in
step 1-4, tap Cancel.

Continues on next page


Operating manual - OmniCore 115
3HAC065036-001 Revision: D
© Copyright 20192020 ABB. All rights reserved.
6 Programming and testing
6.5.4 Defining the tool frame
Continued

6 Tap Next. The Calculation Result dialog box will now be displayed, asking
you to cancel or to confirm the result before it is written to the controller.
For further information see Is the calculated result good enough? on page 116

How to define elongator points


This procedure describes how to define the orientation of the tool frame by
specifying the direction of the z and/or x axis. You need to do this only if you the
tool orientation should differ from that of the robot base. The tool coordinate system
by default resembles the coordinate system of tool0, as illustrated in Measuring
the tool center point on page 117.
1 Without changing the orientation of the tool, jog the robot so that the reference
world point becomes a point on the desired positive axis of the rotated tool
coordinate system.
2 Tap Modify to define the point.
3 Repeat step 1 and 2 for the second axis if it should be defined.

Is the calculated result good enough?


The Calculation Result dialog box displays the calculated result of the tool frame
definition. You have to confirm that you accept the result before it can take effect
in the controller. The alternative is to redo the frame definition in order to achieve
a better result. The result Mean Error is the average distance of the approach
points from the calculated TCP (tool center point). Max Error is the maximum error
among all approach points.
It is hard to tell exactly what result is acceptable. It depends on the tool, robot type
etc. you are using. Usually a mean error of a few tenths of a millimeter is a good
result. If the positioning has been undertaken with reasonable accuracy the result
will be okay.
As the robot is used as a measuring machine, the result is also dependent on
where in the robot’s working area the positioning has been done. Variation of the
actual TCP up to a couple of millimeters (for large robots) can be found between
definitions in different parts of the working area.The repeatability of any following
TCP calibrations will thus increase if these are done close to the preceding ones.
Note that the result is the optimal TCP for the robot in that working area, taking
into account any discrepancies of the robot in the configuration at hand.

Tip

A common way to check that the tool frame has been correctly defined is to
perform a reorientation test when the definition is ready. Select the reorient
motion mode and the tool coordinate system and jog the robot. Verify that the
tool tip stays very close to the selected reference point as the robot moves.

116 Operating manual - OmniCore


3HAC065036-001 Revision: D
© Copyright 20192020 ABB. All rights reserved.
6 Programming and testing
6.5.5 Editing the tool data

6.5.5 Editing the tool data

Tool data
Use the value settings to set the tool center point position and physical properties
of the tool such as weight and center of gravity.
This can also be done automatically with the service routine LoadIdentify. See
Operating manual - OmniCore.

CAUTION

If the tooldata is incorrectly defined there is a risk that the speed is higher than
expected. This is particularly important in manual mode.

Editing the tool data


This section details how to edit the tool data.
1 On the start screen, tap Calibrate, and then select Tool from the menu.
2 Tap the tool you want to edit.
The Edit Tool dialog is displayed.
3 In the Declaration and Value tabs edit the parameters according to your
requirement.
4 Tap Save.

Measuring the tool center point


The easiest way to define the tool center point, TCP, is usually to use the predefined
method described in Defining the tool frame on page 112. If you use this method,
you do not have to write any values for the frame as these are supplied by the
method.
If you already have the measurements of the tool, or for some reason want to
measure them manually, the values can be entered in the tool data.

en0400000881

Continues on next page


Operating manual - OmniCore 117
3HAC065036-001 Revision: D
© Copyright 20192020 ABB. All rights reserved.
6 Programming and testing
6.5.5 Editing the tool data
Continued

X0 X axis for tool0


Y0 Y axis for tool0
Z0 Z axis for tool0
X1 X axis for the tool you want to define
Y1 Y axis for the tool you want to define
Z1 Z axis for the tool you want to define

1 Measure the distance from the center of the robot's mounting flange to the
tool's center point along the X axis of tool0.
2 Measure the distance from the center of the robot's mounting flange to the
tool's center point along the Y axis of tool0.
3 Measure the distance from the center of the robot's mounting flange to the
tool's center point along the Z axis of tool0.

Editing the tool definition

Action Instance Unit


1 Enter the cartesian coordinates of the tool tframe.trans.x [mm]
center point's position. tframe.trans.y
tframe.trans.z
2 If necessary, enter the tool frame orientation. tframe.rot.q1 None
tframe.rot.q2
tframe.rot.q3
tframe.rot.q4
3 Enter the weight of the tool. tload.mass [kg]
4 If necessary, enter the tool's center of gravity. tload.cog.x [mm]
tload.cog.y
tload.cog.z
5 If necessary, enter the orientation of the axis tload.aom.q1 None
of moment tload.aom.q2
tload.aom.q3
tload.aom.q4
6 If necessary, enter the tool's moment of inertia. tload.ix [kgm 2 ]
tload.iy
tload.iz
7 Tap Save to use the new values, Cancel to
leave the definition unchanged.

118 Operating manual - OmniCore


3HAC065036-001 Revision: D
© Copyright 20192020 ABB. All rights reserved.
6 Programming and testing
6.5.6 Deleting a tool

6.5.6 Deleting a tool

Deleting a tool
Use the following procedure to delete a tool:
1 On the start screen, tap Calibrate, and then select Tool from the menu.
2 Tap Delete on the context menu for the tool that you want to delete.
3 The Confirm deletion of data message is displayed.
4 Tap Delete.
The selected tool is deleted.

CAUTION

A deleted tool, work object or payload cannot be recovered, and all related data
will be lost. If the tool, work object or payload is referenced by any program,
those programs cannot run without changes.
If you delete a tool you cannot continue the program from the current position.

Operating manual - OmniCore 119


3HAC065036-001 Revision: D
© Copyright 20192020 ABB. All rights reserved.
6 Programming and testing
6.5.7 Setup for stationary tools

6.5.7 Setup for stationary tools

Stationary tools
Stationary tools are used, for instance, in applications that involve large machines
such as cutters, presses and punch cutters. You may use stationary tools to perform
any operation that would be difficult or inconvenient to perform with the tool on
the robot.
With stationary tools, the robot holds the work object.

Make a tool stationary


This section describes how to make a tool stationery.
1 On the start screen, tap Calibrate, and then select Tool from the menu.
2 Tap the tool you want to edit.
The Edit Tool dialog is displayed.
3 Tap Value.
The data that defines the tool appears.
4 Set robhold to Off (=FALSE).
5 Tap Save.
The selected tool is made stationery.

Make a work object robot held


This section describes how to make a work object robot held.
1 On the start screen, tap Calibrate, and then select Workobject from the
menu.
2 Tap the work object you want to edit.
The Edit Workobject dialog is displayed.
3 Tap Value.
The data that defines the work object appears.
4 Set robhold to On (=TRUE).
5 Tap Save to use the new setup, Cancel to leave the work object unchanged.

Set up the tool coordinate system


You use the same measurement methods to set up a stationary tool coordinate
system as with tools mounted on the robot.
The world reference tip must, in this case, be attached to the robot. Define and
use a tool with the reference tip’s measurements when you create approach points.
You also need to attach elongators to the stationary tool if you need to set up the
orientation.
You should enter the reference tip’s tool definition manually to minimize errors
when calculating the stationary tool’s coordinate system.

Continues on next page


120 Operating manual - OmniCore
3HAC065036-001 Revision: D
© Copyright 20192020 ABB. All rights reserved.
6 Programming and testing
6.5.7 Setup for stationary tools
Continued

You may enter the stationary tool’s definition manually.

en0400000990

Operating manual - OmniCore 121


3HAC065036-001 Revision: D
© Copyright 20192020 ABB. All rights reserved.
6 Programming and testing
6.6.1 What is a work object?

6.6 Work objects

6.6.1 What is a work object?

Illustration

Z Y
Z

Y X
Y

X
X

en0400000819

Description
A work object is a coordinate system with specific properties attached to it. It is
mainly used to simplify programming when editing programs due to displacements
of specific tasks, objects processes etc.
The work object coordinate system must be defined in two frames, the user frame
(related to the world frame) and the object frame (related to the user frame).
Work objects are often created to simplify jogging along the object’s surfaces.
There might be several different work objects created so you must choose which
one to use for jogging.
Payloads are important when working with grippers. In order to position and
manipulate an object as accurate as possible its weight must be accounted for.
You must choose which one to use for jogging.

122 Operating manual - OmniCore


3HAC065036-001 Revision: D
© Copyright 20192020 ABB. All rights reserved.
6 Programming and testing
6.6.2 Creating a work object

6.6.2 Creating a work object

What happens when I create a work object?


A variable of the type wobjdata is created. The variable’s name will be the name
of the work object. For more information on data types, see Technical reference
manual - RAPID Instructions, Functions and Data types.
This is detailed in section What is a work object? on page 122.

Creating a work object


The work object’s coordinate system is now identical with the world coordinate
system.
To define the position and orientation of the work object’s coordinate system, see
Work object declaration settings on page 123.
1 On the start screen, tap Calibrate, and then select Workobject from the
menu.
2 Tap Create New Data in the menu to the right.
The Create Workobject window is displayed.
3 Select the declaration and value parameters and tap Apply.
The work object is created.

Work object declaration settings

If you want to change... then... Recommendation


the work object’s name enter a name in Name Work objects are automatic-
ally named wobj followed by
a running number, for ex-
ample wobj10, wobj27.
You should change this to
something more descriptive.
If you change the name of a
work object after it is refer-
enced in any program you
must also change all occur-
rences of that work object.
the scope select the scope of choice Work objects should always
from the menu be global to be available to all
modules in the program.
the storage type - Work object variables must
always be persistent.
the task select the preferred task from
the menu
the module select the module in which
this work object should be
declared from the menu

Operating manual - OmniCore 123


3HAC065036-001 Revision: D
© Copyright 20192020 ABB. All rights reserved.
6 Programming and testing
6.6.3 Defining a work object

6.6.3 Defining a work object

Overview
Defining a workobject means that the robot is used to point out the location of it.
This is done by defining three positions, two on the x-axis and one on the y-axis.
When defining a workobject you can use either the user frame or the object frame
or both. The user select frame and the object frame usually coincides. If not, the
object frame is displaced from the user frame.

Defining a work object


Use the following procedure to define a work object:
1 On the start screen, tap Calibrate, and then select Workobject from the
menu.
2 Tap on the workobject that you want to define.
The Edit Workobject page is displayed.
3 In the Edit Workobject command bar, tap Define
The Define User frame tab is displayed.
4 In the User method list select the method User defined with 3 points.
5 Select each point, jog the robot to the approach point, and tap Modify.
The message Modified is displayed for the selected point.
Repeat this step for each point.
6 Tap Next.
The Define Object frame tab is displayed.
7 In the Object Method list select the User defined with 3 points method.
8 Select each point, jog the robot to the approach point, and tap Modify.

Continues on next page


124 Operating manual - OmniCore
3HAC065036-001 Revision: D
© Copyright 20192020 ABB. All rights reserved.
6 Programming and testing
6.6.3 Defining a work object
Continued

The message Modified is displayed for the selected point.


Repeat this step for each point.
9 Tap Next.
The Results tab is displayed.
10 Verify the calculation result. If any change is required tap the Back button
and redefine the parameters.
11 Tap Finish.

Operating manual - OmniCore 125


3HAC065036-001 Revision: D
© Copyright 20192020 ABB. All rights reserved.
6 Programming and testing
6.6.4 Defining the work object coordinate system

6.6.4 Defining the work object coordinate system

Overview
Defining a work object means that the robot is used to point out the location of it.
This is done by defining three positions, two on the x-axis and one on the y-axis.
When defining a work object you can use either the user frame or the object frame
or both. The user select frame and the object frame usually coincides. If not, the
object frame is displaced from the user frame.

How to define the work object coordinate system


This procedure describes how to define the work object coordinate system. Note
that this only works for a user created work object, not the default work object,
wobj0.
1 On the start screen, tap Calibrate, and then select Workobject from the
menu.
2 Tap the work object you want to edit.
The Edit Workobject window is displayed.
3 Tap Define in the menu.
The Workobject Definition, Define User frame window is displayed.
4 Select method from the User method drop down menu.

xx1900000451

5 Tap Modify to define the points. See How to define the user frame on page 128.
6 Tap Next.
The Workobject Definition, Define Object frame window is displayed.

Continues on next page


126 Operating manual - OmniCore
3HAC065036-001 Revision: D
© Copyright 20192020 ABB. All rights reserved.
6 Programming and testing
6.6.4 Defining the work object coordinate system
Continued

7 Select the Object Methods to be used.

xx1900000452

8 Tap Modify to modify the positions. See How to define the object frame on
page 129.
9 Tap Next.
The Workobject Definition, Calibration Result window is displayed.
10 Tap Finish to save the calibration.

Continues on next page


Operating manual - OmniCore 127
3HAC065036-001 Revision: D
© Copyright 20192020 ABB. All rights reserved.
6 Programming and testing
6.6.4 Defining the work object coordinate system
Continued

How to define the user frame


This section details how to define the user frame.

en0400000887

The x axis will go through points X1-X2, and the y axis through Y1.
1 In the User method drop down menu, select User defined with 3 points.
2 Press the three-position enabling device and jog the robot to the first (X1,
X2 or Y1) point that you want to define.
Large distance between X1 and X2 is preferable for a more precise definition.
3 Select the point in the list.
4 Tap Modify to define the point.
5 Repeat steps 2 to 4 for the remaining points.

Continues on next page


128 Operating manual - OmniCore
3HAC065036-001 Revision: D
© Copyright 20192020 ABB. All rights reserved.
6 Programming and testing
6.6.4 Defining the work object coordinate system
Continued

How to define the object frame


This section describes how to define the object frame if you want to displace it
from the user frame.

en0400000899

The x axis will go through points X1-X2, and the y axis through Y1.
1 In the Object Methods drop down menu, select User defined with 3 points.
2 See steps 2 to 4 in the description of How to define the user frame on page 128.

Operating manual - OmniCore 129


3HAC065036-001 Revision: D
© Copyright 20192020 ABB. All rights reserved.
6 Programming and testing
6.6.5 Editing the work object data

6.6.5 Editing the work object data

Overview
Use the work object data definition to set the position and rotation of the user and
object frames.

How to display the work object data


1 On the start screen, tap Calibrate, and then select Workobject from the
menu.
2 Tap the work object you want to edit.
The Edit Workobject dialog is displayed.
3 Tap Value.
The data that defines the work object appears.
4 Proceed with changing the data as described in How to set user and object
frame values manually on page 130 and then tap Save.

How to set user and object frame values manually


The easiest way to set the work object and user coordinate systems position is to
use the method described in Defining the work object coordinate system on page 126.
You can however edit the values manually using the guide below.
Values Instance Unit
The cartesian coordinates of the position of the object oframe.trans.x mm
frame oframe.trans.y
oframe.trans.z
The object frame orientation oframe.rot.q1 -
oframe.rot.q2
oframe.rot.q3
oframe.rot.q4
The cartesian coordinates of the position of the user uframe.trans.x mm
frame uframe.trans.y
uframe.trans.z
The user frame orientation uframe.rot.q1 -
uframe.rot.q2
uframe.rot.q3
uframe.rot.q4

Note

Editing work object data can also be done from the Code window.

130 Operating manual - OmniCore


3HAC065036-001 Revision: D
© Copyright 20192020 ABB. All rights reserved.
6 Programming and testing
6.6.6 Deleting a work object

6.6.6 Deleting a work object

Deleting a work object


Use the following procedure to delete a work object:
1 On the start screen, tap Calibrate, and then select Workobject from the
menu.
2 The Workobject page displays the available work objects.
3 Tap Delete on the context menu for the work object that you want to delete.
4 The Confirm deletion of data window is displayed.
5 Tap Delete.
The selected work object is deleted.

Operating manual - OmniCore 131


3HAC065036-001 Revision: D
© Copyright 20192020 ABB. All rights reserved.
6 Programming and testing
6.6.7 Setup stationary work object

6.6.7 Setup stationary work object

Make a work object robot held


Use the following procedure to make a workobject stationery:
1 On the start screen, tap Calibrate, and then select Workobject from the
menu.
2 Tap the work object you want to make stationery.
The Edit Workobject page is displayed.
3 Tap Value.
The data that defines the work object appears.
4 Set robhold to On (=TRUE).
5 Tap Save to use the new setup, Cancel to leave the work object unchanged.

132 Operating manual - OmniCore


3HAC065036-001 Revision: D
© Copyright 20192020 ABB. All rights reserved.
6 Programming and testing
6.7.1 Overview

6.7 Payloads

6.7.1 Overview

Description
Payloads are important when working with grippers. In order to position and
manipulate an object as accurate as possible its weight must be accounted for.
You must choose which one to use for jogging.

Operating manual - OmniCore 133


3HAC065036-001 Revision: D
© Copyright 20192020 ABB. All rights reserved.
6 Programming and testing
6.7.2 Creating a payload

6.7.2 Creating a payload

What happens when I create a payload?


When you create a payload, a variable of the type loaddata is created. The
variables name will be the name of the payload. For more information on data
types, see Technical reference manual - RAPID Instructions, Functions and Data
types.

Adding a new payload and setting data declaration


The payloads coordinate system will be set to the position, including orientation,
of the world coordinate system.
1 On the start screen, tap Calibrate, and then select Payload from the menu.
2 Tap Create New Data in the menu to the right.
The Create Payload window is displayed.
3 Complete the payload information (see Payload declaration settings on
page 134) and then tap Apply.
The payload is created.

WARNING

It is important to always define the actual tool load and, when used, the payload
of the robot (for example, a gripped part). Incorrect definitions of load data can
result in overloading of the robot mechanical structure. There is also a risk that
the speed in manual reduced speed mode can be exceeded.
When incorrect load data is specified, it can often lead to the following
consequences:
• The robot may not use its maximum capacity.
• Impaired path accuracy including a risk of overshooting.
• Risk of overloading the mechanical structure.
The controller continuously monitors the load and writes an event log if the load
is higher than expected. This event log is saved and logged in the controller
memory.

Payload declaration settings

If you want to change... ...then... Recommendation


the payload’s name enter a name in Name Payloads are automatically
named load followed by a
running number, for example
load10, load31.
You should change this to
something more descriptive.
If you change the name of a
payload after it is referenced
in any program you must also
change all occurrences of that
payload’s name.

Continues on next page


134 Operating manual - OmniCore
3HAC065036-001 Revision: D
© Copyright 20192020 ABB. All rights reserved.
6 Programming and testing
6.7.2 Creating a payload
Continued

If you want to change... ...then... Recommendation


the scope select the scope of choice Payloads should always be
from the menu global to be available to all
modules in the program.
the storage type - Payload variables must al-
ways be persistent.
the task select the preferred task from
the menu
the module select the module in which -
this payload should be de-
clared from the menu

Setting the value for ModalPayLoadMode


The ModalPayLoadMode is defined in RobotStudio. See Operating
manual - RobotStudio.

Operating manual - OmniCore 135


3HAC065036-001 Revision: D
© Copyright 20192020 ABB. All rights reserved.
6 Programming and testing
6.7.3 Editing the payload data

6.7.3 Editing the payload data

Overview
Use the payload data to set physical properties of the payload such as weight and
center of gravity.
This can also be done automatically with the service routine LoadIdentify. See
Operating manual - OmniCore.

Displaying the payload definition


1 On the start screen, tap Calibrate, and then select Payload from the menu.
2 Tap the payload you want to edit.
The Edit Payload window is displayed.
3 Tap Value.
The data that defines the payload appears.
4 Proceed with changing the data as described in Changing the payload data
on page 136 and then tap Save.

Changing the payload data


This procedure describes how to manually enter the payload data. This can also
be done automatically by running the service routine LoadIdentify.
Action Instance Unit
1 Enter the weight of the payload. load.mass [kg]
2 Enter the payload’s center of gravity. load.cog.x [mm]
load.cog.y
load.cog.z
3 Enter the orientation of the axis of moment. load.aom.q1
load.aom.q2
load.aom.q3
load.aom.q3
4 Enter the payload’s moment of inertia. ix [kgm 2 ]
iy
iz
5 Tap Save to use the new values, Cancel to leave - -
the data unchanged.

Using the PayLoadsInWristCoords parameter


By using the PayLoadsInWristCoords parameter, the loaddata for payloads can
be specified relative to the wrist instead of the active TCP or work object. This can
be useful if several tool or TCP or work objects (when tool is stationary) are used
for one payload. In this case only one load identification is needed instead of one
for each tool or TCP or work object. Thus it is possible to use the same payload
loaddata for any robhold or stationary tool being active. This saves the time (for
example, during commissioning).

Continues on next page


136 Operating manual - OmniCore
3HAC065036-001 Revision: D
© Copyright 20192020 ABB. All rights reserved.
6 Programming and testing
6.7.3 Editing the payload data
Continued

For more information about PayLoadsInWristCoords, see Technical reference


manual - System parameters and Technical reference manual - RAPID Instructions,
Functions and Data types.

Operating manual - OmniCore 137


3HAC065036-001 Revision: D
© Copyright 20192020 ABB. All rights reserved.
6 Programming and testing
6.7.4 Deleting a payload

6.7.4 Deleting a payload

Deleting a payload
Use the following procedure to delete a payload:
1 On the start screen, tap Calibrate, and then select Payload from the menu.
2 The Payload page displays the available work objects.
3 Tap Delete on the context menu for the payload that you want to delete.
4 The Confirm deletion of data window is displayed.
5 Tap Delete.
The selected payload is deleted.

CAUTION

A deleted tool, work object or payload cannot be recovered, and all related data
will be lost. If the tool, work object or payload is referenced by any program,
those programs cannot run without changes.
If you delete a tool you cannot continue the program from the current position.

138 Operating manual - OmniCore


3HAC065036-001 Revision: D
© Copyright 20192020 ABB. All rights reserved.
6 Programming and testing
6.8.1 Using the hold-to-run function

6.8 Testing

6.8.1 Using the hold-to-run function

When to use the hold-to-run function


The hold-to-run function is used to run or step programs in manual full speed
operating mode, in combination with the thumb button and the three-position
enabling device. The location of the thumb button is illustrated in the section,
FlexPendant Main parts on page 15.
To run a program in manual full speed mode it is necessary, for safety reasons, to
keep pressing both the three-position enabling device and the thumb button. This
also applies when stepping through a program in manual full speed mode.

Note

For robots in collaborative applications, the motors are on by default. There is


no need to press the three-position enabling device. Other safety measures apply
if SafeMove2 is selected in the system.
The following table provides the relation between the controller operating mode
and the hold-to-run function.
Operating mode Function
Manual full speed mode Pressing the three-position enabling device the thumb button
enables running a program. It may run continuously or step-by-
step.
Releasing the thumb button in this mode immediately stops the
manipulator movement as well as program execution. When
pressing it again, the execution is resumed from that position.
Manual reduced speed Normally, hold-to-run has no effect in the manual reduced speed
mode mode. However, it is possible to activate for manual reduced
speed mode by changing a system parameter.
Automatic mode Hold-to-run is not used in automatic mode.

Using the hold-to-run function


Use the following procedure to use the hold-to-run function in manual full speed
mode.
1 Open the program and set the program pointer to main.
2 Press the three-position enabling device to center-position.
3 Choose the execution mode by pressing one of the following buttons:
• Start (for continuous program execution)
• Forward (for step-by step program execution forwards)
• Backward (for step-by step program execution backwards)
4 Press and hold the thumb button.
If Start was pressed, the program execution continues as long as you hold
the thumb button.

Continues on next page


Operating manual - OmniCore 139
3HAC065036-001 Revision: D
© Copyright 20192020 ABB. All rights reserved.
6 Programming and testing
6.8.1 Using the hold-to-run function
Continued

If Forward or Backward was pressed, the program is executed step-by-step


by alternately releasing and pressing the Forward/Backward button.

Note

The thumb button must be pressed and held to continue running the
program. If the button is released, the program execution will stop
immediately.

5 If the three-position enabling device is released, intentionally or by accident,


the procedure must be repeated to enable running.

140 Operating manual - OmniCore


3HAC065036-001 Revision: D
© Copyright 20192020 ABB. All rights reserved.
6 Programming and testing
6.8.2 Running the program from a specific instruction

6.8.2 Running the program from a specific instruction

Overview
When starting a program the execution starts from the program pointer. To start
from another instruction, move the program pointer to the cursor.

WARNING

When execution is started the robot will move to the first programmed position
in the program. Make sure that the robot with TCP does not risk running into any
obstacles.

Running the program from a specific instruction


1 Open Code and open the program.
2 Tap on the program step where you want to start, then tap Debug and then
PP to Cursor.

DANGER

Make sure that no personnel are in the safeguarded space.


Before running the robot, read the safety information in the product manual
for the controller.

3 Press the Start button on the FlexPendant.

Operating manual - OmniCore 141


3HAC065036-001 Revision: D
© Copyright 20192020 ABB. All rights reserved.
6 Programming and testing
6.8.3 Running a specific routine

6.8.3 Running a specific routine

Overview
When starting a program the execution starts from the program pointer. To start
from another routine, move the program pointer to the routine.

Prerequisites
In order to run a specific routine the module with the routine must be loaded and
the controller must be in manual stopped mode.

Running a specific routine


This procedure describes how to run a specific routine by moving the program
pointer.
1 On the start screen, tap Code, and then select Code Editor from the menu.
2 Tap Debug and then PP to Routine to place the program pointer at the start
of the routine.
3 Press the Start button on the FlexPendant.

142 Operating manual - OmniCore


3HAC065036-001 Revision: D
© Copyright 20192020 ABB. All rights reserved.
6 Programming and testing
6.8.4 Stepping instruction by instruction

6.8.4 Stepping instruction by instruction

Overview
In all operating modes the program may be executed step by step forwards or
backwards.
Stepping backwards is limited, see Technical reference manual - RAPID
Overviewfor more details.

Select step mode


This section details how to select step mode. Stepping can be done in three ways;
step in, step over, and motion step.
Action
1 Select step mode using the Quickset menu.
For more details, see Execution Settings on page 26.

Stepping
This section details how to step forwards and backwards.
If you want to step... then press...
forward Forward button on FlexPendant
backward Backward button on FlexPendant

Limitations of backward execution


There are some restrictions for the backward execution:
• When stepping backwards through a MoveC instruction, the execution does
not stop in the circular point.
• It is not possible to step backwards out of a IF, FOR, WHILE and TEST
statement.
• It is not possible to step backwards out of a routine when reaching the
beginning of the routine.
• There are instructions affecting the motion that cannot be executed backwards
(e.g. ActUnit, ConfL and PDispOn). If attempting to execute these
backwards, an alert box will inform you that this is not possible.

Backward execution behavior


When stepping forward though the program code, a program pointer indicates the
next instruction to execute and a motion pointer indicates the move instruction
that the robot is performing.
When stepping backward though the program code, the program pointer indicates
the instruction above the motion pointer. When the program pointer indicates one
move instruction and the motion pointer indicates another, the next backward
movement will move to the target indicated by the program pointer, using the type
of movement and speed indicated by the motion pointer.

Continues on next page


Operating manual - OmniCore 143
3HAC065036-001 Revision: D
© Copyright 20192020 ABB. All rights reserved.
6 Programming and testing
6.8.4 Stepping instruction by instruction
Continued

Example of backward execution


The following example illustrates the behavior when stepping backwards through
move instructions. The program pointer and motion pointer helps you keep track
of where the RAPID execution is and where the robot is.
MoveL, MoveJ, and MoveC are move instructions in RAPID, see Technical reference
manual - RAPID Instructions, Functions and Data types.

When... then...
stepping forward until the motion pointer will indicate p50 and the program pointer will in-
the robot is in p50 dicate the next move instruction (MoveL p60).
pressing the Back- the robot will not move but the program pointer will move to the
ward button once previous instruction (MoveC p30, p40). This indicates that this is
the instruction that will be executed the next time Backward is
pressed.
pressing the Back- the robot will move to p40 linearly with the speed v1000.
ward button again The target for this movement (p40) is taken from the MoveC instruc-
tion. The type of movement (linear) and the speed are taken from
the instruction below (MoveL p50).
The motion pointer will indicate p40 and the program pointer will
move up to MoveL p20.
pressing the Back- the robot will move circularly, through p30, to p20 with the speed
ward button again v1000.
The target p20 is taken from the instruction MoveL p20. The type
of movement (circular), the circular point (p30) and the speed are
taken from the MoveC instruction.
The motion pointer will indicate p40 and the program pointer will
move up to MoveL p10.
pressing the Back- the robot will move linearly to p10 with the speed v1000.
ward button again The motion pointer will indicate p10 and the program pointer will
move up to MoveJ p10.

Continues on next page


144 Operating manual - OmniCore
3HAC065036-001 Revision: D
© Copyright 20192020 ABB. All rights reserved.
6 Programming and testing
6.8.4 Stepping instruction by instruction
Continued

When... then...
pressing the Forward the robot will not move but the program pointer will move to the next
button once instruction (MoveL p20).
pressing the Forward the robot will move to p20 with the speed v1000.
button again

Operating manual - OmniCore 145


3HAC065036-001 Revision: D
© Copyright 20192020 ABB. All rights reserved.
6 Programming and testing
6.9.1 Running a service routine

6.9 Service routines

6.9.1 Running a service routine

Service routines
Service routines perform a number of common services. The service routines
available to you depends on your system setup and available options. Please refer
to your plant or cell documentation for more information.

Prerequisites
Following are the prerequisites for running a service routine:
• Service routines can be started only in manual mode or in manual full speed
mode.
• The program must be stopped and there has to be a program pointer.
• If the service routine contains parts that must be carried out in automatic
mode, then the program pointer must not be moved manually before starting
the service routine. The program pointer should be where the program flow
was stopped.

WARNING

If a service routine is started in the middle of a stopped movement instruction


(that is, before the end position is reached), then the movement will be resumed
when the execution of the service routine starts.

CAUTION

Once a service routine is started, aborting it might not resume the system to its
previous state, as the routine might have moved the robot arm.

Running a service routine


Use the following procedure to execute a service routine:

Note

Before running the service routine change the operating mode to Manual (manual
reduced speed) mode or Man FS (manual full speed) mode.
1 On the start screen, tap Operate, and then select Service Routines from the
menu.

Note

You can also find calibration related service routines in the Calibrate menu.

2 The available service routines are displayed.


3 Select the routine according to your requirement.

Continues on next page


146 Operating manual - OmniCore
3HAC065036-001 Revision: D
© Copyright 20192020 ABB. All rights reserved.
6 Programming and testing
6.9.1 Running a service routine
Continued

4 In the confirmation window tap Yes.


5 Press the three-position enabling device to bring the controller to Motors
On state.

Note

For collaborative robots you do not need to press the three-position


enabling device since the motors are ON by default.

6 Press the Play button on the Control Panel.

Note

You can also press the START hard button on the FlexPendant.
The service routine is executed.

Note

After the execution of the routine, the program pointer is returned to where
it was before.

CAUTION

Press Cancel Call Rout if you need to interrupt the routine before it has finished
executing. Before resuming normal program flow, however, you must see to it
that the robot is correctly positioned. If the interrupted routine has moved it, you
will need to take actions to return the robot to its position. See Returning the
robot to the path on page 181 for further information.

WARNING

Do not execute a service routine in the middle of a move or a weld.


If you execute a service routine in the middle of a movement, the unfinished
movements will be completed before the called routine is executed. This can
result in an unwanted movement.
If possible, step and complete the interrupted movement before the service
routine is called. Otherwise save the current movement by adding StorePath
and RestoPath in the service routine. The movement will then be completed
after the service routine has ended and the program starts again.
However, it is not possible to save more than one interrupted movement each
time as wanted, if the service routine would be called from an error handler with
StorePath and RestoPath.

Continues on next page


Operating manual - OmniCore 147
3HAC065036-001 Revision: D
© Copyright 20192020 ABB. All rights reserved.
6 Programming and testing
6.9.1 Running a service routine
Continued

Limitations
Besides service routines, Call Routine applies to all routines with the following
criteria:
• Must be a procedure with empty parameter list. This means not a function
and not a trap routine.
• Must be in the task scope, not local. If the procedure is local in a module the
scope is restricted to that module, and the procedure is not visible from the
task level.
• Must be in a loaded module, not installed. (Check the system parameter
Installed in the type Automatic Loading of Modules in the Controller topic.)

148 Operating manual - OmniCore


3HAC065036-001 Revision: D
© Copyright 20192020 ABB. All rights reserved.
6 Programming and testing
6.9.2 Connected Services Reset service routine

6.9.2 Connected Services Reset service routine

Overview
It is possible to reset the software agent. When you reset, the software agent erases
all its internal information including the registration information, the data collector
script, and all the locally stored service information. The configuration will not be
reset, but a new registration is required to reactivate the connected services.

Procedure
Use the following procedure to reset the software agent using FlexPendant:
1 On the start screen, tap Operate, and then select Service Routines from the
menu.
2 Tap Connected Services Reset.
The ConnectedServicesReset window is displayed.
3 Tap Yes.
4 Press the START button on the FlexPendant.
A confirmation page is displayed with operator messages.
5 Tap Reset.
The software agent is reset.

Operating manual - OmniCore 149


3HAC065036-001 Revision: D
© Copyright 20192020 ABB. All rights reserved.
6 Programming and testing
6.9.3 Battery shutdown service routine

6.9.3 Battery shutdown service routine

When to use this service routine


For SMB units with 2-pole battery contact, it is possible to shut down the battery
backup of the serial measurement board to save battery power during transportation
or storage. This is the Bat_shutdown service routine.
For SMB units with 3-pole contact, this function shall not be used since the power
consumption is so low that it is not needed.

Bat_shutdown
When the system is powered on again, the function is reset. The revolution counters
will be lost and need an update but the calibration values will remain.
The consumption in ordinary shutdowns is then approximately 1 mA. When using
sleep mode the consumption is reduced to 0.3 mA. When the battery is nearly
discharged, with less then 3 Ah left, an alert is given on the FlexPendant and the
battery should be replaced.

Tip

Before starting the service routine Bat_shutdown, run the robot to its calibration
position. This will make it easier to recover after the sleep mode.

150 Operating manual - OmniCore


3HAC065036-001 Revision: D
© Copyright 20192020 ABB. All rights reserved.
6 Programming and testing
6.9.4 Calibration Pendulum service routine

6.9.4 Calibration Pendulum service routine

When to use this service routine


CalPendulum is a service routine used with Calibration Pendulum, the standard
method for calibrating the non-collaborative (articulated) ABB robots. This is the
most accurate method for the standard type of calibration, and it is also the
recommended method in order to achieve proper performance.

Note

Calibration Pendulum is described in the manual Operating manual - Calibration


Pendulum. Specific information for each robot is described in the robot’s product
manual.

CalPendulum
The calibration equipment for Calibration Pendulum is delivered as a complete
toolkit, including the manual Operating manual - Calibration Pendulum.

Operating manual - OmniCore 151


3HAC065036-001 Revision: D
© Copyright 20192020 ABB. All rights reserved.
6 Programming and testing
6.9.5 Service Information System service routine

6.9.5 Service Information System service routine

When to use this service routine


ServiceInfo is a service routine based on Service Information System, SIS, a
software function which simplifies the maintenance of the robot system. It
supervises the operating time and mode of the robot, and alerts the operator when
a maintenance activity is scheduled.

ServiceInfo
Maintenance is scheduled by setting the system parameters of the type SIS
Parameters.
All system parameters are described in Technical reference manual - System
parameters. More details about SIS is described in Operating manual - Service
Information System.

Supervised functions
The following counters are available:
• Calender time counter
• Operation time counter
• Gearbox operation time counters
• Moved distance counter
Counters are reset when maintenance has been performed.

Note

The moved distance value cannot be reset through the service routines.
The counter status is displayed after running the ServiceInfo routine for
maintenance. Status OK indicates that no service interval limit has been exceeded
by that counter. Status NOK indicates that service interval limit has been exceeded
by that counter.

152 Operating manual - OmniCore


3HAC065036-001 Revision: D
© Copyright 20192020 ABB. All rights reserved.
6 Programming and testing
6.9.6 Load identification service routine

6.9.6 Load identification service routine

When to use this service routine


The LoadIdentify service routine is used to automatically identify the data of loads
mounted on the robot. The data can also be entered manually, but this requires
information that may be difficult to calculate.
To run LoadIdentify, there are a number of things to consider. These are described
on the following pages. There is also information on error handling and limitations
described in this chapter.

WARNING

It is important to always define the actual tool load and, when used, the payload
of the robot (for example, a gripped part). Incorrect definitions of load data can
result in overloading of the robot mechanical structure. There is also a risk that
the speed in manual reduced speed mode can be exceeded.
When incorrect load data is specified, it can often lead to the following
consequences:
• The robot may not use its maximum capacity.
• Impaired path accuracy including a risk of overshooting.
• Risk of overloading the mechanical structure.
The controller continuously monitors the load and writes an event log if the load
is higher than expected. This event log is saved and logged in the controller
memory.

LoadIdentify
LoadIdentify can identify the tool load and the payload. The data that can be
identified are mass, center of gravity, and moments of inertia.

A Upper arm load


B Tool load
C Payload

Before running the load identification for the payload, make sure the tool load data
is correctly defined, for example by running LoadIdentify for the tool.
To identify the mass of B and C, axis 3 has to perform some movement. This means
that to identify the mass, the upper arm load A must be known and correctly defined
first.
Continues on next page
Operating manual - OmniCore 153
3HAC065036-001 Revision: D
© Copyright 20192020 ABB. All rights reserved.
6 Programming and testing
6.9.6 Load identification service routine
Continued

To improve accuracy if the upper arm load A is mounted, input the known mass
of B and C and choose the known mass method when identifying.

Configuration angles
To perform the identification the robot moves the load after a specific pattern and
calculates the data. The axes that move are 3, 5 and 6. At the identification position,
the motion for axis 3 is approximately ±3 degrees and for axis 5 it is approximately
±30 degrees. For axis 6 the motion is performed around two configuration points.
The optimum value for the configuration angle is either +90 degrees or -90 degrees.

30°
C
30°

30° 30° B
A
A Configuration 1 (start position)
B Configuration angle
C Configuration 2

LoadIdentify with arm loads mounted


The best way to perform load identification is to use a robot with no arm loads
mounted. If this is not possible, good accuracy can still be achieved. Consider, for
example, the robot in the figure below, which has arc welding equipment mounted
on it.

A Cable 1
B Load 1
C Cable 2
D Load 2

Continues on next page


154 Operating manual - OmniCore
3HAC065036-001 Revision: D
© Copyright 20192020 ABB. All rights reserved.
6 Programming and testing
6.9.6 Load identification service routine
Continued

If we want to use load identification to find the data of load 2, the most important
thing to remember is to make sure that the upper arm load is correctly defined, in
particular its mass and center of gravity along the robot arm. The arm load includes
everything that is mounted on the robot, except tool load and payload. In the figure
above, cable 1, cable 2, and load 1 are included in the arm load, the total weight
and center of gravity have to be calculated.
When performing the load identification, cable 2 should be disconnected since it
will otherwise put an extra force on load 2. When identifying load 2 with such a
force present, the result may differ considerably from the correct load. Ideally,
cable 2 should be disconnected from load 2 and fastened on the upper arm. If this
is not possible, the cable can also be disconnected at load 1 and fastened to the
upper arm in such a way that the resulting force on load 2 is minimized.

Prerequisites for tool loads


Before running the LoadIdentify service routine for a tool load, make sure that:
• The tool is selected in the jogging menu.
• The tool is correctly mounted.
• Axis 6 is close to horizontal.
• The upper arm load is defined, if the tool mass is to be identified.
• The axes 3, 5, and 6 are not close to their corresponding working range limits.
• The speed is set to 100%.
• The system is in manual mode.

Note

LoadIdentify cannot be used for tool0.

Prerequisites for payloads


Before running the LoadIdentify service routine for a payload, make sure that:
• The tool and payload are correctly mounted.
• Axis 6 is close to horizontal.
• The tool load is known (run LoadIdentify for the tool first).
• The upper arm load is defined, if the payload mass is to be identified.
• When using a moving TCP, the tool must be calibrated (TCP).
• When using a stationary TCP, the corresponding work object must be
calibrated (user frame and object frame).
• The axes 3, 5, and 6 are not close to their corresponding working range limits.
• The speed is set to 100%.
• The system is in manual mode.

Note

LoadIdentify cannot be used for tool0.

Continues on next page


Operating manual - OmniCore 155
3HAC065036-001 Revision: D
© Copyright 20192020 ABB. All rights reserved.
6 Programming and testing
6.9.6 Load identification service routine
Continued

Running LoadIdentify
To start the load identification service routine you must have an active program in
manual mode. Also the tool and payload that you want to identify must be defined
and active in Jog.

Tip

Always run load identification with cold motors (no warm-up).


1 On the start screen, tap Operate, and then select Service Routines from the
menu.
2 Tap LoadIdentify.
3 Press the three-position enabling device.
4 In the Control Panel tap Play. You can also press the START hard button
on the FlexPendant.
The Load Identification operator message window is displayed.
5 Tap OK to confirm that current path will be cleared and that the program
pointer will be lost.
6 In the operator message window, tap Tool or PayLoad.
7 Tap OK to confirm that the correct tool or payload is active in the jogging
menu and that the tool or payload is correctly mounted.

Note

If it is not correct, release the three-position enabling device and select


the correct tool/payload in the Jogging menu. Then return to LoadIdentify,
press the three-position enabling device, and press Start. Tap Retry and
confirm that the new tool/payload is correct.

8 When identifying tool loads, confirm that the tool is active.


When identifying payloads, confirm that the payload’s tool is active and
calibrated.
9 When identifying payloads with stationary TCP, confirm that the correct work
object is active and (preferably) calibrated. If it is correct, tap OK to confirm.
10 Select identification method. If you select the method where the mass is
assumed to be known, remember that the tool/payload that you use must
have the correct mass defined. Tap OK to confirm.
11 Select the configuration angle. The optimum is +90 or -90 degrees. If this is
impossible, tap Other and set the angle. The minimum is +30 or -30 degrees.
12 If the robot is not in a correct position for load identification, you will be asked
to jog one or more axes roughly to a specified position. When you have done
this tap OK to confirm.

Continues on next page


156 Operating manual - OmniCore
3HAC065036-001 Revision: D
© Copyright 20192020 ABB. All rights reserved.
6 Programming and testing
6.9.6 Load identification service routine
Continued

If the robot is still not in a correct position for load identification, the robot
will slowly move to the correct position. Press Move to start the movement.

Note

Axis 1 to 3 must not be more than 10 degrees from proposed position.

13 The robot can go through the load identification movements slowly before
performing the load identification (slow test). Tap Yes if you want a slow test
and No to proceed to the identification.

Note

This is useful for ensuring that the robot will not hit anything during the
identification. However, this will take a lot longer time.

Note

If the load identification is planned to be run in manual full speed, then the
slow test is required before the actual measurement can start.

14 The setup for load identification is now complete. To start the motion, switch
to Automatic mode and Motors On. Then tap Move to start the load
identification movements.
15 When the identification is finished, switch back to manual mode, press the
three-position enabling device and the Start button. Tap OK to confirm.
16 The result of the load identification is now presented on the FlexPendant.
For robots that support the Load diagram check functionality, there is a
message if the load is approved or not, and an Analyze button to view more
information.
17 Tap Yes to update the selected tool or payload with the identified parameters.
Tap No to exit LoadIdentify without saving the parameters.

Load diagram check


For robots that support the Load diagram check functionality, the combination of
the arm load, tool and payload, will be assessed against the load diagram. The
ratings of total handling weight as well as of the center of gravity distance to the
load diagram in Z and L directions will be provided both for wrist-up and wrist-down
configurations.
There is a message if the load is approved or not, and an Analyze button to view
more information.
• Load approved
• Load not approved
• Load approved only with wrist down

Continues on next page


Operating manual - OmniCore 157
3HAC065036-001 Revision: D
© Copyright 20192020 ABB. All rights reserved.
6 Programming and testing
6.9.6 Load identification service routine
Continued

Running LoadIdentify with ModalPayLoadMode deactivated


When the system parameter ModalPayLoadMode is deactivated, set to 0,
LoadIdentify will identify the tool load and the total load. It is no longer possible to
define the payload.
With ModalPayLoadMode deactivated it is possible to use the \TLoad argument
in movement instructions. The \TLoad argument describes the total load used in
the movement. The total load is the tool load together with the payload that the
tool is carrying. If the \TLoad argument is used, then the loaddata in the current
tooldata is not considered. For more information about ModalPayLoadMode in
movement instructions, see the section MoveL in Technical reference
manual - RAPID Instructions, Functions and Data types.
To start the load identification service routine you must have an active program in
manual mode and the tool and payload that you want to identify must be defined
and active in the Jogging window.

Tip

Always run load identification with cold motors (no warm-up).


1 On the start screen, tap Operate, and then select Service Routines from the
menu.
2 Tap LoadIdentify.
3 Press the three-position enabling device.
4 In the Control Panel tap Play. You can also press the START hard button
on the FlexPendant.
The Load Identification operator message window is displayed.
5 Tap OK to confirm that current path will be cleared and that the program
pointer will be lost.
6 In the operator message window, tap Tool or PayLoad.
7 Tap OK to confirm that the correct tool or payload is active in the jogging
menu and that the tool or payload is correctly mounted.

Note

If it is not correct, release the three-position enabling device and select


the correct tool/payload in the Jogging menu. Then return to LoadIdentify,
press the three-position enabling device, and press Start. Tap Retry and
confirm that the new tool/payload is correct.

8 When identifying tool loads, confirm that the tool is active.


9 Select the identification method. If you select the method where the mass is
assumed to be known, remember that the tool/total load that you use must
have the correct mass defined. Tap OK to confirm.
10 Select the configuration angle. The optimum is +90 or -90 degrees. If this is
impossible, tap Other and set the angle. The minimum is +30 or -30 degrees.

Continues on next page


158 Operating manual - OmniCore
3HAC065036-001 Revision: D
© Copyright 20192020 ABB. All rights reserved.
6 Programming and testing
6.9.6 Load identification service routine
Continued

11 If the robot is not in correct position for load identification, you are asked to
jog one or more axes roughly to a specified position. When you have done
this tap OK to confirm.
If the robot is still not in a correct position for load identification, the robot
will slowly move to the correct position. Press Move to start the movement.

Note

Axis 1 to 3 must not be more than 10 degrees from proposed position.

12 The robot can go through the load identification movements slowly before
performing the load identification (slow test). Tap Yes if you want a slow test
and No to proceed to the identification.

Note

This is useful for ensuring that the robot will not hit anything during the
identification. However, this will take a lot longer time.

Note

If the load identification is planned to be run in manual full speed, then the
slow test is required before the actual measurement can start.

13 The setup for load identification is now complete. To start the motion, switch
to Automatic mode and Motors On. Then tap Move to start the load
identification movements.
14 When the identification is finished, switch back to manual mode, press the
three-position enabling device and the Start button. Tap OK to confirm.
15 The result of the load identification is now presented on the FlexPendant.
Tap Tool if you want to update the selected tool, tap Loaddata if you want
to update the total load, or tap No if you want to quit without saving.
16 If Loaddata is selected it is possible to update the total load to either an
existing or a new loaddata persistent variable.

Error handling
If the three-position enabling device is released during the load identification (before
the movements start), the routine can always be restarted by pressing the
three-position enabling device again and then pressing the START button.
If an error should occur during the load identification movements, the routine must
be restarted from the beginning. This is done automatically by pressing Start after
confirming the error. To interrupt and leave the load identification procedure, tap
Cancel Call Routine in the code editor's debug menu.

Limitations for LoadIdentify


Only tool loads and payloads can be identified with LoadIdentify. Thus arm loads
cannot be identified.

Continues on next page


Operating manual - OmniCore 159
3HAC065036-001 Revision: D
© Copyright 20192020 ABB. All rights reserved.
6 Programming and testing
6.9.6 Load identification service routine
Continued

If the load identification movements are interrupted by any kind of stop (program
stop, emergency stop, etc.), the load identification must be restarted from the
beginning. Confirm the error and press Start to automatically restart.
If the robot is stopped on a path with program stop and load identification is
performed at the stop point, the path will be cleared. This means that no regain
movement will be performed to return the robot back to the path.
The load identification ends with an EXIT instruction. That means that the program
pointer is lost and must be set to main before starting any program execution.

Tip

The tool and/or payload data can be set manually if the load is small (10% or
less of the maximum load) or symmetrical, for example if the tool load is
symmetrical around axis 6.

Tip

If the mass of the tool or payload is unknown, the service routine LoadIdentify
can in some cases identify a 0 kg mass. If the load is very small compared to the
maximum load for the robot, then a 0 kg mass can be ok. Otherwise, try the
following to identify the mass.
• Check that the arm loads are correctly defined and redo the identification.
• Find the weight of the load in some other way and perform a load
identification with known mass to remove the dependency on arm loads.

LoadIdentify for 4-axis robots


When running LoadIdentify on a robot with 4 instead of 6 axes, there are some
differences. In this description of the differences the robot type is assumed to be
similar to IRB 260, IRB 460, IRB 660, IRB 760, or IRB 910SC.
The main differences are:
• The used axes are:
- 1 (or 2 for some robot models)
- 3 (for all robot models)
- 6 (or 4 for some robot models)
• Because the first axis (axis 1 or 2) is used, the resulting movements can be
large.
• Not all load parameters can be identified.
The first axis (axis 1 or 2) will move approximately ±23 degrees from its current
position. Therefore, the load can move a large distance during the identification.
Axes 3 and 6 (or 4) will move as for 6-axis robots. The configuration angle for axis
6 (or 4) works exactly as for 6-axis robots.
Because there is not 6 axes, a 4-axis robot cannot identify all parameters of the
load. The following parameters cannot be identified:
• Ix - The inertia around the x-axis.

Continues on next page


160 Operating manual - OmniCore
3HAC065036-001 Revision: D
© Copyright 20192020 ABB. All rights reserved.
6 Programming and testing
6.9.6 Load identification service routine
Continued

• Iy - The inertia around the y-axis.


• mz - The z-coordinate for the center of mass.
However, for this type of robot the above parameters have negligible effect on the
motion performance. See the definition of the load coordinate system in the
following figure.

Tip

It is possible that the identification procedure fails to estimate the center of gravity
if the measured torque data has too high variance. If this happens, it should still
be possible to get good results by running the LoadIdentify routine again,
preferably with another position of the last axis.

Operating manual - OmniCore 161


3HAC065036-001 Revision: D
© Copyright 20192020 ABB. All rights reserved.
6 Programming and testing
6.9.7 Brake check service routine

6.9.7 Brake check service routine

Overview
The BrakeCheck service routine is used to verify whether the mechanical brakes
work correctly.
The BrakeCheck service routine is included in the RobotWare installation if the
controller does not have SafeMove option.

Note

If the controller has SafeMove option, the RobotWare installation includes Cyclic
Brake Check service routine. For more details, see Application
manual - SafeMove2.
While running the BrakeCheck service routine the brakes are tested in consecutive
order and each test takes 10-15 seconds.

Prerequisites for running the BrakeCheck service routine


Following are the prerequisites for running the BrakeCheck service routine:
• The robot and all additional axes must be moved to a safe and relaxed
position (away from people, equipment and not too much stretched) before
performing a brake check. Normally the robot moves only a few centimeters
during the brake check.
• Move the robot to a stop point before performing a brake check.
• The brake check can be performed only at normal execution level (not from
a trap routine, error handler, event routine, or store path level).

Exclude individual axes from the brake check


It is possible to exclude individual axes from the brake check. For this, set the
value of system parameter Deactivate Cyclic Brake Check for axis to
On. For more details, see Configure system parameters on page 167.

Running the brake check


Following are the two ways to initiate a BrakeCheck service routine:
• Call the BrakeCheck service routine from FlexPendant. The controller must
be in manual mode.
• Call the procedure BrakeCheck from the RAPID program.

WARNING

While the brake check routine is active, do not change the speed from the
FlexPendant and do not use the instructions VelSet, AccSet, SpeedRefresh,
or any other instruction that affects the motion performance in TRAPS or event
routines.

Continues on next page


162 Operating manual - OmniCore
3HAC065036-001 Revision: D
© Copyright 20192020 ABB. All rights reserved.
6 Programming and testing
6.9.7 Brake check service routine
Continued

Note

The RAPID function IsBrakeCheckActive can be used to check if BrakeCheck


is active.

Interrupt the brake check


It is not recommended, but it is possible to stop the execution while running a
brake check.
If the brake check is interrupted, it will be resumed when the program execution
starts again. The brake check can be resumed up to 3 times.

Brake maintenance
Brake maintenance is a feature in the brake check functionality.
The BrakeCheck routine automatically detects if maintenance of the mechanical
brakes is needed and activates the Brake maintenance functionality during
execution. Brake maintenance applies the brake and turns the motor shaft 1 radian
five times, which gives a movement of the robot arm of less than 1 degree.
There are event logs that tell if Brake maintenance is needed, and if it has been
run.
For more information see parameter Brake Maintenance, type General Rapid, topic
Controller, in Technical reference manual - System parameters.

Event logs
When BrakeCheck is executed, the following event logs will be shown:

Event log Title


10272 Brake Check Done
10273 Brake Check Started

If there is a problem with one or several mechanical brakes, an event log that is
describing which mechanical unit and which axis that has bad brakes will be shown:
Event log Title
37234 Brake Performance Warning
37235 Brake Performance Error

Brake check on additional axes


To be able to run brake check on additional axes, the parameter Max Static Arm
Torque (in topic Motion and type Brake) needs to be calculated for the additional
axis and entered into the configuration. Brake check uses this value when testing
the brake at error-level.
The parameter should be the maximum static torque that the brake needs to
withstand when the additional axis is positioned in maximum gravity. The following
formula should be used:
Max Static Arm Torque = (M*L*g)/n

Continues on next page


Operating manual - OmniCore 163
3HAC065036-001 Revision: D
© Copyright 20192020 ABB. All rights reserved.
6 Programming and testing
6.9.7 Brake check service routine
Continued

Length to mass (L)


L Mass (M) * Gravity constant (g)
1
Transmission (n)
2
3 Motor (1)
Gearbox (2)

M*g
Arm (3)

To calculate the parameter for an axis that has no gravity, for example a track, the
below formula may be used:
Max Static Arm Torque = Tbrake min/1.35

Tbrake min for ABB motor units can be found in the product specification for the
specific motor unit, see Product specification - Motor Units and Gear Units.
For more information about parameter Max Static Arm Torque, see topic Motion,
type Brake in Technical reference manual - System parameters.

Note

Note that the calculated value should be entered in [Nm] and calculated to the
motor side.

Description of the I/O setup


Signal configuration
It is possible to configure digital output signals that reflect the status of the
mechanical brakes in an open RAPID module. The digital output signals that can
be configured are OK, WARNING, ERROR, and ACT (brake check active) for each
drive module.
The signal configuration should be done in the RAPID module BC_config_IO.sys,
see Description of the I/O setup on page 164.
The file BC_config_IO.sys can be found in directory
/products/RobotControl_7.x.xxxx/utility/BrakeCheck/, and must then be copied to
the HOME directory of the active system.

Note

Remember to update the I/O configuration with the digital output signals.

Note

If the signals should keep their values after a power fail, the power fail settings
in the system parameters must also be updated, see Description of the I/O setup
on page 164.

Continues on next page


164 Operating manual - OmniCore
3HAC065036-001 Revision: D
© Copyright 20192020 ABB. All rights reserved.
6 Programming and testing
6.9.7 Brake check service routine
Continued

Description of the BC_config_IO module


MODULE BC_config_IO(SYSMODULE,NOVIEW)
PROC BC_config_IO_proc(VAR string user_io_names{*,*})
!TPWrite "BC_config_IO_proc";
! Define your own signals. The signal
! names must be signals defined in EIO.cfg

! If 1 drive module
user_io_names{1, 1}:="BCACT1";
user_io_names{1, 2}:="BCOK1";
user_io_names{1, 3}:="BCWAR1";
user_io_names{1, 4}:="BCERR1";

! If 2 drive modules
!user_io_names{2, 1}:="BCACT2";
!user_io_names{2, 2}:="BCOK2";
!user_io_names{2, 3}:="BCWAR2";
!user_io_names{2, 4}:="BCERR2";

! If 3 drive modules
!user_io_names{3, 1}:="BCACT3";
!user_io_names{3, 2}:="BCOK3";
!user_io_names{3, 3}:="BCWAR3";
!user_io_names{3, 4}:="BCERR3";

! If 4 drive modules
!user_io_names{4, 1}:="BCACT4";
!user_io_names{4, 2}:="BCOK4";
!user_io_names{4, 3}:="BCWAR4";
!user_io_names{4, 4}:="BCERR4";
ENDPROC
ENDMODULE

Description of the EIO.cfg file


EIO:CFG_1.0:6:1::
...
#
EIO_SIGNAL:

-Name "BCACT1" -SignalType "DO"

-Name "BCOK1" -SignalType "DO"

-Name "BCWAR1" -SignalType "DO"

-Name "BCERR1" -SignalType "DO"

Continues on next page


Operating manual - OmniCore 165
3HAC065036-001 Revision: D
© Copyright 20192020 ABB. All rights reserved.
6 Programming and testing
6.9.7 Brake check service routine
Continued

Brake check signal description


Introduction
Description of different signal states for brake check in the BrakeCheck routine.
The signal names are according to Description of the I/O setup on page 164.

Timing sequence for brake check signals


Description of which signals are set at different times during the BrakeCheck
execution.

Beginning of brake check


The following signals are set in the beginning of the BrakeCheck execution.

Signal Set to
BCOK 0
BCACT 1
BCERR 0
BCWAR 0

End of brake check


The following signals are set in the end of the BrakeCheck execution.

Signal BrakeCheck test OK BrakeCheck test BrakeCheck test ER-


Set to WARNING ROR
Set to Set to
BCOK 1 0 0
BCERR 0 0 1
BCWAR 0 1 0
BCACT 0 0 0

Program Pointer moved to Main after interrupted brake check


When the program pointer is moved to Main after an interrupted BrakeCheck
execution, the following signals are set.
Signal Set to
BCOK 0
BCACT 0

During the first brake check test

Signal Signal state


BCOK 0
BCERR 0
BCWAR 0
BCACT 1

Interrupted brake check test, program pointer still in BrakeCheck routine

Signal Signal state


BCOK 0

Continues on next page


166 Operating manual - OmniCore
3HAC065036-001 Revision: D
© Copyright 20192020 ABB. All rights reserved.
6 Programming and testing
6.9.7 Brake check service routine
Continued

Signal Signal state


BCERR 0
BCWAR 0
BCACT 1

Interrupted brake check test, program pointer moved from BrakeCheck routine

Signal Signal state


BCOK 0
BCERR 0
BCWAR 0
BCACT 0

Configure system parameters


About the system parameters
The configuration of system parameters required for a robot system should be
made before running the brake check.

Note

The controller must be restarted after changing the system parameters.

Type Mechanical Unit


All mechanical units for additional axes that shall be supervised must have the
parameters Activate at Start Up and Deactivation Forbidden set to On. (Supervised
mechanical units must always be active.)

Type Arm
If an axis should be excluded from brake check, set the parameter Deactivate
Cyclic Brake Check for axis to On.

Type Brake
If brake check is executed on an additional axis, a lowest safe brake torque must
be defined. A 5% margin is added during the test for setting the fail limit. The
parameter used is Max Static Arm Torque defined in Nm on motor side. A warning
limit is set with a higher torque value (depending on the brake).

Operating manual - OmniCore 167


3HAC065036-001 Revision: D
© Copyright 20192020 ABB. All rights reserved.
6 Programming and testing
6.9.8 Cyclic Brake Check service routine

6.9.8 Cyclic Brake Check service routine

Introduction
Cyclic Brake Check is a function that verifies that the brakes work correctly.
The Cyclic Brake Check service routine is included in the RobotWare installation
if the controller has the option SafeMove. For details about working with Cyclic
Brake Check and SafeMove, see Application manual - SafeMove2.

Functionality
The Cyclic Brake Check is initiated by the robot controller or an external PLC. The
robot moves to a safe position where the brakes are locked with servos engaged.
The motors of the robot are then used to generate the torque. If any axis moves,
the system is set in reduced speed mode. A new successful Cyclic Brake Check
must be performed before the robot can be used again with normal speeds.
With a defined interval (brake cycle time), the robot must move to the safe position
and perform a Cyclic Brake Check. If Cyclic Brake Check is not performed within
the brake cycle time an error message is generated, and depending on configuration
the robot will be set to reduced speed or keep its normal supervision levels. A
predefined time (pre-warning time) warning appears on the FlexPendant before
the brake cycle time has passed.

Pre-requisites for Cyclic Brake Check


Pre-requisites for Cyclic Brake Check:
• The robot and all the additional axes must be moved to a safe and relaxed
position (away from people, equipment, and not too much stretched) before
performing a brake check. Normally the robot moves only a few centimeters
during the brake tests.
• Move the robot to a stop point before performing a Cyclic Brake Check.
• A Cyclic Brake Check can only be performed at normal execution level (not
from a trap routine, error handler, event routine or store path level).
• Brakes are tested in consecutive order and each test takes about 10-15
seconds.
• Do not change the speed from the FlexPendant and do not use VelSet,
AccSet, SpeedRefresh, or any other instruction that affects motion
performance in TRAPS or event routines while Cyclic Brake Check is active.

Note

The RAPID function IsBrakeCheckActive can be used to check if Cyclic Brake


Check is active.

Activate Cyclic Brake Check


Cyclic Brake Check can be initiated in the following way:
• Run the Cyclic Brake Check service routine from FlexPendant. The controller
must be in manual mode.

Continues on next page


168 Operating manual - OmniCore
3HAC065036-001 Revision: D
© Copyright 20192020 ABB. All rights reserved.
6 Programming and testing
6.9.8 Cyclic Brake Check service routine
Continued

• Run the RAPID program procedure CyclicBrakeCheck.

Note

Cyclic Brake Check cannot be dynamically activated or deactivated. If it is


configured to be active, it is always active. That is, a constant supervision to
verify the brake check has been performed within the configured time interval.

Cyclic Brake Check configuration


Use the following procedure to configure Cyclic Brake Check:
Action Note/illustration
1 In the Visual SafeMove tab ribbon, navig-
ate to the Create group, and click on the
Cyclic Brake Check button.
The Cyclic brake check properties win-
dow is displayed.
WARNING

The Warning only, no stop check box


should not be selected under any circum-
stances.

2 In Max CBC test interval (h), set the


maximum allowed time (in hours) between Note
the cyclic brake checks.
It is recommended to configure the maxim-
um value in Max CBC test interval (h) as 8
hours.

3 In Pre warning time (h), set how long


before the end of the interval a warning
should be displayed on the FlexPendant.

Continues on next page


Operating manual - OmniCore 169
3HAC065036-001 Revision: D
© Copyright 20192020 ABB. All rights reserved.
6 Programming and testing
6.9.8 Cyclic Brake Check service routine
Continued

Action Note/illustration
4 Standstill tolerance is used for Stand Still Do not change the default value for Stand-
Supervision during brake test. The motor still tolerance.
is in regulation during brake test, and a
small movement may be allowed. The size
of the allowed movement is specified in
Standstill tolerance (in radians on motor
side). The default value is 2 radians.
5 Supervision threshold defines the Do not change the default value for Super-
threshold to verify that a brake check has vision threshold.
been made. The default value is 0.02 radi-
ans.
6 Make sure axes 1 to 6 are selected. If not,
select the appropriate check box for the WARNING
corresponding axis.
An axis can be excluded only after an appro-
priate safety analysis has been performed.
This must correspond with the axis that has
the system parameter Deactivate Cyclic
Brake Check for axis set to On.
For the axes not included in SafeMove, de-
activation of the axes must be done by set-
ting the parameter Deactivate Cyclic Brake
Check for axis to On through RobotStudio.

Note

An error or warning message is logged for each axis with low brake torque. A
status message is also logged for each complete brake cycle.

Example of RAPID program


A signal diPSC1CBCPREWARN is defined and cross connected to the safety signal
PSC1CBCPREWARN in the I/O parameters. This cross connection is required because
there is a restricted usage of safety signals in the RAPID program. The
PSC1CBCPREWARN signal will be set to a logical high state when the prewarning
time interval expires. It will be kept high until a successful brake check has been
carried out. The status of the diPSC1CBCPREWARN signal is checked in the Main
loop in the application program.
PROC main()
IF diPSC1CBCPREWARN=1 THEN
MoveAbsJ *, v1000, fine, tool1;
! Call to the predefined service routine CyclicBrakeCheck
CyclicBrakeCheck;
ENDIF
....
ENDPROC

Brake maintenance
Brake maintenance is a feature in the Cyclic Brake Check functionality.
Cyclic Brake Check automatically detects if maintenance of the mechanical brakes
is needed and activates the Brake maintenance functionality during execution.

Continues on next page


170 Operating manual - OmniCore
3HAC065036-001 Revision: D
© Copyright 20192020 ABB. All rights reserved.
6 Programming and testing
6.9.8 Cyclic Brake Check service routine
Continued

Brake maintenance applies the brake and turns the motor shaft 1 radian five times,
which gives a movement of the robot arm of less than 1 degree.
There are event logs that tell if Brake maintenance is needed, and if it has been
run.
For more information see parameter Brake Maintenance, type General Rapid, topic
Controller, in Technical reference manual - System parameters.

Interrupted Cyclic Brake Check


It is not recommended, but it is possible to stop the execution while running a
Cyclic Brake Check.
If the Cyclic Brake Check is interrupted, it will be resumed when the program
execution starts again. The Cyclic Brake Check can be resumed up to 3 times.
If the Cyclic Brake Check is interrupted more than 3 times, a new cyclic brake
check is required. Only reduced speed can be used until a new Cyclic Brake Check
is performed.

Operating manual - OmniCore 171


3HAC065036-001 Revision: D
© Copyright 20192020 ABB. All rights reserved.
This page is intentionally left blank
7 Running in production
7.1 Introduction

7 Running in production
7.1 Introduction

Overview
The content in this section applies to a robot and not a robot system. It is the
responsibility of the integrator to provide a safety and users manual for the robot
system.

Operating manual - OmniCore 173


3HAC065036-001 Revision: D
© Copyright 20192020 ABB. All rights reserved.
7 Running in production
7.2.1 Starting programs

7.2 Basic procedures

7.2.1 Starting programs

Starting programs
Use the following procedure to start a program for the first time or to continue
running a program that has been stopped.
1 Check that all necessary preparations are done to the robot and make sure
no obstacles exist within the safeguarded space.
2 Make sure no personnel are inside the safeguarded space.
3 Select the controller operating mode using FlexPendant.
4 Switch on the Motors ON button using FlexPendant.
In Auto mode:
• On the status bar, tap the QuickSet button, tap the Control tab, and
tap Motors On in the Motors section.
In manual mode and manual high speed mode:
• Press and hold the three-position enabling device.

Note

YuMi robots with SafeMove2 requires using the enabling device.


On YuMi robots without SafeMove2 the enabling device is disabled,
hence, not used.

5 Open Operate.
The Advanced View page is displayed.
6 Tap and make a selection based on the following scenarios:
• If there is no loaded program:
- a list of recent programs is displayed in the Recently used
programs section. Select a recently used program to load it, and
proceed to step 8.

Note

Tap the Load Other Program button to load a program that is


not listed in the Recently used programs section.

- tap the Load Program button if there is no list of recently used


programs.
• If there is already a program loaded: On the command bar, select Load
Program from the context menu.
- Tap Yes to continue loading a new program.
- Tap No to continue with the existing program and proceed to
step 8.
7 Browse to the location, select a program file, and tap Load.
Continues on next page
174 Operating manual - OmniCore
3HAC065036-001 Revision: D
© Copyright 20192020 ABB. All rights reserved.
7 Running in production
7.2.1 Starting programs
Continued

The selected program is loaded.


8 Tap Advanced and select Reset Program Pointer to Main.
The program pointer is set to main. For more information about program
pointer, see About the Program and Motion Pointers on page 100.
9 On the status bar tap the QuickSet icon.
The Control Panel is displayed.
10 Tap the Play button.
The program execution starts.

Note

You can also press the Start hard button on the FlexPendant to start the
program.

Continue running after the program is changed


You can continue running a program even if it has been changed.
In automatic mode, a warning dialog may appear to avoid restarting the program
if the consequences are unknown.
If you... then tap...
are sure the changes you have made are not in conflict with the current Yes
robot position and that the program can continue without danger to
equipment or personnel
are unsure of the consequences your changes might have and want No
to investigate further

Restart from the beginning


A program can be restarted from Operate or Code.

Note

Resetting the program pointer will reset the program pointer in all the normal
tasks and the background tasks.
Use the following procedure to restart a program from Operate.
1 On the start screen, tap Operate, and then select Advanced View from the
menu.
2 The selected program is loaded.
3 Tap Advanced and select Reset Program Pointer to Main.
The program pointer is set to main.
Use the following procedure to restart a program from Code.
1 On the start screen, tap Code, and then select Code Editor from the menu.
2 On the right menu tap Debug.
3 Select PP to Main
The program pointer is set to main.

Continues on next page


Operating manual - OmniCore 175
3HAC065036-001 Revision: D
© Copyright 20192020 ABB. All rights reserved.
7 Running in production
7.2.1 Starting programs
Continued

Limitations
Only one program can be executed at a time, unless your system has the
Multitasking option. If so several programs can be executed simultaneously.
If the robot system encounters program code errors while the program is running,
it will stop the program and the error is logged in the event log.

176 Operating manual - OmniCore


3HAC065036-001 Revision: D
© Copyright 20192020 ABB. All rights reserved.
7 Running in production
7.2.2 Stopping programs

7.2.2 Stopping programs

Stopping programs
Use the following procedure to stop a program:
1 Check that the ongoing operation is in such a state that it can be interrupted.
2 Make sure it is safe to stop the program.
3 Press the Stop button on the FlexPendant.
The program is stopped.

Note

If your robot system has the Multitasking option installed, see Using multitasking
programs on page 178.

DANGER

In case of an emergency use the emergency stop button instead of the stop
button.
Stopping a program with the Stop button does not mean that the robot will stop
moving immediately.

Stopping execution when using hold-to-run or step-by-step execution


When using hold-to-run or step-by-step execution, execution can be stopped
according to the following.
Mode Action Information
Operation with hold-to-run Press the Stop button. The hold-to-run function is
described in section The
FlexPendant on page 15.
Step-by-step mode The robot will stop after ex- If you press the STOP button
ecuting each instruction. while executing a move in-
Execute the next instruction struction, the robot will stop
by pressing the Forward but- without completing the move.
ton again.

Operating manual - OmniCore 177


3HAC065036-001 Revision: D
© Copyright 20192020 ABB. All rights reserved.
7 Running in production
7.2.3 Using multitasking programs

7.2.3 Using multitasking programs

Overview
In a system with the option Multitasking installed, you may have one or several
programs running in parallel, for instance in a MultiMove cell with more than one
robot where each robot has its own task and program (multitasking).

Manually set up tasks


Tasks need to be set up in order to run as planned. Normally, all tasks are set up
on delivery. Setting up tasks is done by defining system parameters of the type
Controller. For information about system parameters, see Technical reference
manual - System parameters.
You need detailed information to set up tasks manually, see your plant or cell
documentation for details.

How tasks are run


Tasks may be defined as Normal, Static, or Semistatic. Static and Semistatic tasks
are automatically started as soon as a program is loaded into that task.
Normal tasks are started when you press the Start button of the FlexPendant, and
stopped when you press the Stop button.

Load, run, and stop multitasking programs


Use the following procedure to load, run, and stop multitasking programs.
1 Make sure there is more than one task set up. This is done using system
parameters, see Technical reference manual - System parameters.
2 Load programs to the respective task using Operate or Code. This is
described in the section Loading programs to a task on page 179.
3 If one or more task should be disabled, on the status bar, tap the QuickSet
menu, select the Execution tab, and disable the required tasks in the
Enable/Disable tasks section.
Disabling the tasks can be done only in manual mode.
4 Start program execution by pressing the Start button on the FlexPendant.
All the active tasks are started.
5 Stop program execution by pressing the Stop button on the FlexPendant.
All the active tasks are stopped.

Continues on next page


178 Operating manual - OmniCore
3HAC065036-001 Revision: D
© Copyright 20192020 ABB. All rights reserved.
7 Running in production
7.2.3 Using multitasking programs
Continued

Loading programs to a task


This section describes how to load a program to a task in a multitasking system.
It is assumed that the tasks have been configured.

Load a program in Operate


Use the following procedure to load a saved program in Operate:
1 On the start screen, tap Operate, and then select Advanced View from the
menu.
• If there is no loaded program: The recent programs are displayed in
the Recently used programs section. Select a recently used program
to open it. Otherwise, tap on the Load Other Program button.
• If there is already a loaded program: On the command bar, select Load
Program in the context menu.
- Tap Yes to continue loading a new program.
- Tap No to continue with the existing program.
2 From the Location section, select the device where the program is saved.
The folders and files available in the selected device are displayed.
3 Navigate and choose the required program file.

Note

The supported file format is .pgf

4 Tap Load.
The selected program is loaded to the selected task.

Load a program in Code


Use the following procedure to load a saved program in Code:
1 On the start screen, tap Code, and then select Modules from the menu.
2 On the command bar, select Load Program in the context menu.
If there is already a program loaded, the Load Program window appears.
• Tap Save to save the loaded program. Once the loaded program is
saved the Load Program page is displayed.
• Tap Don't save to close the loaded program without saving it, that is,
delete from the program memory. Once the loaded program is closed
the Load Program page is displayed.
• Tap Cancel to keep the currently loaded program.
3 From the Location section select the device where the program is saved.
The folders and files available in the selected device are displayed.
4 Navigate and choose the required program file.

Note

The supported file format is .pgf

5 Tap Load.

Continues on next page


Operating manual - OmniCore 179
3HAC065036-001 Revision: D
© Copyright 20192020 ABB. All rights reserved.
7 Running in production
7.2.3 Using multitasking programs
Continued

The selected program is loaded in Code Editor.

Viewing multitasking programs


In Operate, there is one tab for each task. To switch between viewing the different
tasks, tap on the tabs.
To edit several tasks in parallel, use the Code Editor in Code.

180 Operating manual - OmniCore


3HAC065036-001 Revision: D
© Copyright 20192020 ABB. All rights reserved.
7 Running in production
7.2.4 Returning the robot to the path

7.2.4 Returning the robot to the path

About paths and return regions


While a program is running, the robot or additional axis is considered to be on
path, which means that it follows the desired sequence of positions.
If you stop the program the robot is still on path, unless you change its position.
It is then considered to be off path. If the robot is stopped by an emergency or
safety stop it may also be off path.
If the stopped robot is within the path return region you can start the program again,
and the robot will return to the path and continue program execution.
Note that there is no way to predict the exact return movement for the robot.

Tip

The path return region is set with system parameters, see Technical reference
manual - System parameters, Type Path Return Region.

Returning to path
Turning off the power to the robot motors often results in the robot slipping from
its programmed path. This may occur after an uncontrolled emergency or safety
stop. The allowed slip distance is configured with system parameters. The distance
can be different depending on operating mode.

Note

On YuMi robots with SafeMove2, axes 5 and 6 can drop slightly when releasing
the enabling device, because there are no brakes on these axes. There is a risk
that mounted tools or workpieces are damaged.
If the robot is not within the configured allowed distance, you may choose to let
the robot return to the programmed path or continue to the next programmed point
in the path. Then the program execution continues automatically in programmed
speed.
1 Make sure there are no obstacles blocking the way and that payload and
work objects are properly placed.
2 If necessary, put the system in automatic mode and press the Motors on
button on the controller to activate the robot motors.
3 Press the Start button on the FlexPendant to continue execution from where
it stopped. One of these things will happen:
• The robot or axis will slowly return to the path and execution will
continue.
• The Regain Request dialog will be displayed.
4 If the Regain Request dialog is displayed, select the proper action.
• Tap Yes to return to the path and continue the program.
• Tap No to return to the next target position and continue the program.

Continues on next page


Operating manual - OmniCore 181
3HAC065036-001 Revision: D
© Copyright 20192020 ABB. All rights reserved.
7 Running in production
7.2.4 Returning the robot to the path
Continued

• Tap Cancel to cancel the program.

182 Operating manual - OmniCore


3HAC065036-001 Revision: D
© Copyright 20192020 ABB. All rights reserved.
7 Running in production
7.3 Managing Dashboards

7.3 Managing Dashboards

Overview
Dashboards are used to display the controller parameters, RAPID data, live values
from I/O signals, and so on.
The values are displayed through dashboards. The dashboards are made up of
cards. Each card displays a value based on its defined properties. A dashboard
can hold a maximum of 6 cards.

Defining cards
Use the following procedure to define a card:
1 On the start screen, tap Operate, and then select Define Cards from the
menu.
2 Tap Create New Card on the context menu.
The Add Card page is displayed.
3 Type or select the values in the title, Label, Value, and Unit fields.
4 Tap Apply.
The new card is created and displayed on the Define Cards page.
Once a card is created you can associate the card to dashboards. For more details,
see Assigning cards to dashboard on page 184.

Defining dashboards
Use the following procedure to define a dashboard:
1 On the start screen, tap Operate, and then select Define Dashboards from
the menu.
2 Tap Create New Dashboard on the context menu.

Continues on next page


Operating manual - OmniCore 183
3HAC065036-001 Revision: D
© Copyright 20192020 ABB. All rights reserved.
7 Running in production
7.3 Managing Dashboards
Continued

The Add Dashboard page is displayed.


3 Type a name for the new dashboard in the Title field.
4 Tap Apply.
The new dashboard is created and displayed in the Define Dashboards and
Dashboards page.
Once a dashboard is created you need to associate cards to it. For more details,
see Assigning cards to dashboard on page 184

Assigning cards to dashboard


Use the following procedure to associate cards to a dashboard:
1 On the start screen, tap Operate, and then select Define Dashboards from
the menu.
2 The Define Dashboards page is displayed. The current available dashboards
are displayed on this page.
3 Tap on a dashboard for which cards needs to be associated.
The Edit Dashboard page is displayed.
4 Navigate to the Associated Cards section and tap Associate.
The Select Card(s) page is displayed with a list of available cards.
5 Select the cards that needs to be associated to the selected Dashboard.

Note

You can associate a maximum of 6 cards in each dashboard.

6 Tap OK.
The Edit Dashboard page is displayed with the list of selected dashboards.
7 Tap Apply.
The selected cards are associated with the Dashboard.

Assigning a card to multiple dashboards


You can assign a card to a multiple dashboards:
1 On the start screen, tap Operate, and then select Define Cards from the
menu.
2 The Define Cards page is displayed. The current available cards are displayed
on this page.
3 Tap on a card that needs to be associated with dashboards.
The Edit Card page is displayed.
4 Navigate to the Associated Dashboards section and tap Associate.
The Select Dashboards page is displayed with a list of available dashboards.

Continues on next page


184 Operating manual - OmniCore
3HAC065036-001 Revision: D
© Copyright 20192020 ABB. All rights reserved.
7 Running in production
7.3 Managing Dashboards
Continued

5 Select the dashboards that needs to be associated with the selected card.

Note

You can associate a maximum of 6 cards to each dashboard. So if a


dashboard already has 6 associated cards then you cannot associate the
selected card to that dashboard.

6 Tap OK.
The Edit Card page is displayed with the list of associated dashboards.
7 Tap Apply.
The selected card is associated with the selected dashboards.

Deleting cards from dashboards


Use the following procedure to delete the associate cards from a dashboard:
1 On the start screen, tap Operate, and then select Define Dashboards from
the menu.
2 The Define Dashboards page is displayed. The current available dashboards
are displayed on this page.
3 Tap on a dashboard for which the associated cards needs to be deleted.
The Edit Dashboard page is displayed. The Associated Cards section
displays the cards that are already associated to the selected dashboard.
4 Tap on the delete icon next to the card that you want remove from the selected
dashboard.
The card is deleted from the Associated Cards section.
5 Tap Apply.
The changes are saved.

Operating manual - OmniCore 185


3HAC065036-001 Revision: D
© Copyright 20192020 ABB. All rights reserved.
7 Running in production
7.4 Connecting and detaching a FlexPendant

7.4 Connecting and detaching a FlexPendant

Introduction
The FlexPendant can be detached from the controller when the controller is in
automatic mode without interrupting ongoing processes, if the logged in user has
the Safety Services grant.

CAUTION

Before detaching the FlexPendant, another emergency stop shall be available


on the robot/robot system.
How to configure emergency stops is described in the product manual for the
controller, see References on page 9.

CAUTION

Without a connected FlexPendant, there is no visual identification of the operating


mode.

CAUTION

A FlexPendant that is not connected to the robot or robot system cannot initiate
emergency stops or protective stops. This must be stored out of reach and sight
so that it cannot be mistaken for being in use.

Detaching the FlexPendant in automatic mode


Use the following procedure to detach the FlexPendant in automatic mode:
1 On the status bar, tap the QuickSet button.
2 Tap the Logout/Restart tab.
3 In the FlexPendant section, tap Detach FlexPendant.
The Detach FlexPendant window is displayed.

4 Tap Detach.

Continues on next page


186 Operating manual - OmniCore
3HAC065036-001 Revision: D
© Copyright 20192020 ABB. All rights reserved.
7 Running in production
7.4 Connecting and detaching a FlexPendant
Continued

A popup window with 30 seconds countdown timer is displayed.

5 When the countdown is progressing, loosen the locking ring and detach the
FlexPendant from the controller.
The FlexPendant is shut down.

Note

If the FlexPendant cable is not detached within 30 seconds, the FlexPendant


remains in the existing operating state.

WARNING

If the FlexPendant is detached after the 30 seconds countdown has passed,


the controller will go to guard stop state.

Connecting the FlexPendant


The controller must be in manual mode when connecting the FlexPendant.

CAUTION

Always inspect the connector for dirt or damage before connecting it to the
controller. Clean or replace any damaged parts.

Continues on next page


Operating manual - OmniCore 187
3HAC065036-001 Revision: D
© Copyright 20192020 ABB. All rights reserved.
7 Running in production
7.4 Connecting and detaching a FlexPendant
Continued

Plug in the connector on the controller and tighten the locking ring.

xx1900000975

CAUTION

Make sure that the emergency stop button is not pressed in when connecting
the FlexPendant.

188 Operating manual - OmniCore


3HAC065036-001 Revision: D
© Copyright 20192020 ABB. All rights reserved.
7 Running in production
7.5 Modifying positions

7.5 Modifying positions

Overview
Positions are instances of the data type robtarget. For more details, see Technical
reference manual - RAPID Instructions, Functions and Data types.

Moving the robot to a programmed position


A robot program usually contain programmed positions. The robot can move
automatically to a programmed position using the Jog app.

DANGER

When moving the robot automatically, the robot arm may move without warning.
Make sure no personnel are in safeguarded space and that no objects are in the
way between the current position and the programmed position.
Use the following procedure to move the robot automatically to a programmed
position.
1 On the start screen, tap Jog.
2 Tap the Menu button and select Go To.
A list of programmed positions is displayed.
3 From the list select a programmed position to which you want to move the
robot.
4 Press and hold the three-position enabling device and then tap and hold the
Go To button.
The robot is moved from the current position to the selected programmed
position.

Note

For collaborative robots, after selecting a programmed position, you need


to just press and hold the Go To button to move the robot.

Operating manual - OmniCore 189


3HAC065036-001 Revision: D
© Copyright 20192020 ABB. All rights reserved.
This page is intentionally left blank
8 Handling inputs and outputs, I/O
8.1 Introduction

8 Handling inputs and outputs, I/O


8.1 Introduction

Overview
The inputs and outputs signals can be managed using the I/O application or
RobotStudio.

Operating manual - OmniCore 191


3HAC065036-001 Revision: D
© Copyright 20192020 ABB. All rights reserved.
8 Handling inputs and outputs, I/O
8.2 Viewing signal lists

8.2 Viewing signal lists

Overview
The Signals page is used to view the input and output signals and their values.

Procedure
Use the following procedure to view a list of I/O signals:
1 On the start screen, tap I/O, and then select Signals from the menu.
2 The Signals page is displayed.

Note

By default all the signals are displayed.

3 Tap on the Filter list.

4 Select the category of the signal that you want to view.


The signals of the selected category are displayed.

Tip

You can use the search box to quickly filter and view a particular signal.

192 Operating manual - OmniCore


3HAC065036-001 Revision: D
© Copyright 20192020 ABB. All rights reserved.
8 Handling inputs and outputs, I/O
8.3 Setting signals as favorite signals

8.3 Setting signals as favorite signals

Overview
You can set few signals from various signal categories as favorite signals if you
use it frequently.

Procedure
Use the following procedure to set signals as favorite signals:
1 On the start screen, tap I/O, and then select Favorite Signals from the menu.
2 The Favorite Signals page is displayed and it displays all the signals.

Note

You can use the Filter list to display a selected category of signals.

3 Use the check box to select the signals that need to be set as favorite signals.
4 Tap Apply.
The selected signals are saved as favorite signals.

Tip

The favorite signals are listed under the Favorite Signals category on the Signals
page. To view a selected category of signals, use the procedure Viewing signal
lists on page 192.

Operating manual - OmniCore 193


3HAC065036-001 Revision: D
© Copyright 20192020 ABB. All rights reserved.
8 Handling inputs and outputs, I/O
8.4 Simulating the signals and changing the signal values

8.4 Simulating the signals and changing the signal values

Simulating the signals


A signal can be simulated.
Use the following procedure to simulate a signal:
1 On the start screen, tap I/O, and then select Signals from the menu.
2 Use the Filter list or use the search box to navigate to a particular signal.
3 Tap Simulate on the context menu for the signal that is to be simulated.
The signal is changed to a simulated signal.

Note

If there is a cross connection created between two signals, changing the value
of one signal automatically changes the value of the corresponding cross
connected signal.

Changing the signal values


The value of the signal can be changed.

Note

You can change the value of a signal only if that signal is simulated. For more
details about simulating a signal see, simulating signal values.
Use the following procedure to change the value of a signal:
1 On the start screen, tap I/O, and then select Signals from the menu.
2 Use the Filter list or use the search box to navigate to a particular signal.
3 To change the value of a signal:
• For a digital signal, in the Value column tap on the arrow and select
value. 0 - False and 1 - True are the allowed values.
• For an analog signal, in the Value column tap on the arrow. A soft
numeric keyboard is displayed. Type a value between 0 and 10 and
tap Apply.

194 Operating manual - OmniCore


3HAC065036-001 Revision: D
© Copyright 20192020 ABB. All rights reserved.
8 Handling inputs and outputs, I/O
8.5 I/O devices

8.5 I/O devices

Managing I/O devices


You can manage I/O devices from the I/O Devices page. To manage an I/O device,
use the context menu that is displayed for the devices.

Following are the actions that you can perform using the context sensitive menu:
Action Output
Activate/Deactivate Activates or deactivates the selected I/O device.
Bit Values Displays the input and output bit values of the selected I/O
device.
Signals Displays the signals associated with the selected I/O device.
Actions Displays the MAC ID of the selected I/O device.

Note

Actions - Identify option is available only for the network type


EtherNet IP.

Configure Allows you to configure the selected I/O device.

Note

The Configure option is available only for the network type


EtherNet IP.

Firmware Update Allows you to upgrade the firmware.

Note

Actions - Firmware option is available only for the network type


EtherNet IP.

Continues on next page


Operating manual - OmniCore 195
3HAC065036-001 Revision: D
© Copyright 20192020 ABB. All rights reserved.
8 Handling inputs and outputs, I/O
8.5 I/O devices
Continued

Upgrading firmware
You can upgrade the firmware of I/O device of type EtherNet IP.
Use the following procedure to upgrade the firmware.
1 On the start screen, tap I/O, and then select I/O Devices from the menu.
2 Select Firmware Update in the context menu for an EtherNet IP I/O device.
The I/O Modernization window is displayed with the details of the firmware
upgrade.

Note

The Firmware upgrade option is available only for the network type EtherNet
IP.

3 Tap Browse and select the firmware from the location it is stored.
4 Tap Upgrade.
The firmware for the selected EtherNet IP I/O device is upgraded.

196 Operating manual - OmniCore


3HAC065036-001 Revision: D
© Copyright 20192020 ABB. All rights reserved.
9 Handling the event log
9.1 Introduction

9 Handling the event log


9.1 Introduction

Overview
Open the event log to:
• view the current event logs.
• study specific event log in detail.
• manage the log entries.
The log can be printed from RobotStudio.

Operating manual - OmniCore 197


3HAC065036-001 Revision: D
© Copyright 20192020 ABB. All rights reserved.
9 Handling the event log
9.2 Accessing the event log

9.2 Accessing the event log

Open and close an event log


Use the following procedure to open the event log:
1 Tap the Event log icon on the status bar.
The Event Log page is displayed. It displays the event log list. By default the
event logs from the Common domain (category) are displayed.
2 Select a category in the list to filter the event logs.
3 Tap a log entry.
The selected event log message is displayed.

Note

Tap the Back button to go back to the Event Log list.

198 Operating manual - OmniCore


3HAC065036-001 Revision: D
© Copyright 20192020 ABB. All rights reserved.
9 Handling the event log
9.3 Saving log entries

9.3 Saving log entries

Overview
You should save log entries when:
• you need to clear the log but want to keep the current entries to be viewed
later.
• you want to send log entries to support the solution of a problem.
• you want to keep log entries for future reference.

Note

The log can keep up to 20 entries in a category and up to 1000 entries in the all
the events list. When the buffer is full the oldest entries are overwritten. There
is no way to retrieve these overwritten log entries.

Save all log entries


Use the following procedure to save all the log entries.
1 Tap the Event log icon on the status bar.
2 Select Save Log from the context menu.
The Save window is displayed.
3 Select a location and select a folder to store the file.
4 In the File name text box, type a name for the file.
5 Tap Save.
The log entries are saved.

Operating manual - OmniCore 199


3HAC065036-001 Revision: D
© Copyright 20192020 ABB. All rights reserved.
9 Handling the event log
9.4 Clearing the log entries

9.4 Clearing the log entries

Why should you clear the log entries?


Logs can be cleared or deleted to increase the available disk space. Deleting the
log entries is often a good way to trace the faults since you can remove old or
insignificant log entries not related to the problem that you are trying to solve.

Clear the log entries of a specific domain


Use the following procedure to clear all the log entries.
1 Tap the Event log icon on the status bar.
2 In the Domain list select the domain for which you want to clear the log
entries.
3 On the command bar, select Clear Domain from the context menu.
A confirmation window is displayed.
4 Tap OK.
The log entries for the selected domain are deleted.

Clear all the log entries


Use the following procedure to clear all the log entries.
1 Tap the Event log icon on the status bar.
2 Select Clear all from the context menu.
A confirmation window is displayed.
3 Tap OK.
The log entries in all the domains are deleted.

200 Operating manual - OmniCore


3HAC065036-001 Revision: D
© Copyright 20192020 ABB. All rights reserved.
10 Install, update, restart, and other configuration
10.1 Introduction

10 Install, update, restart, and other configuration


10.1 Introduction

Overview
This chapter provides information about installing a RobotWare system, updating
the FlexPendant applications, backup the system, and other configuration.

Operating manual - OmniCore 201


3HAC065036-001 Revision: D
© Copyright 20192020 ABB. All rights reserved.
10 Install, update, restart, and other configuration
10.2 Start installer

10.2 Start installer

Overview
The start installer option is used to install a system using the installation package.

Procedure
Use the following procedure to install the installation package:
1 On the start screen, tap Settings, and then select Backup & Recovery from
the menu.
2 On the left sidebar tap RobotWare Installation Utilities.
3 Tap Start Installer.
A confirmation message is displayed.
4 Tap OK.
The controller is restarted and the RobotWare Installation Utilities window
is displayed.

5 Tap Install RobotWare System and select the installation package folder.
The selected installation package is added.
6 Tap Start RobotWare System.
7 Tap Start.
The controller is restarted and the system is installed.

Updating the applications


If the installed system has updates for the applications, you can update the
applications.
Use the following procedure to update the applications:
1 On the start screen, tap Settings, and then select Update from the menu.
2 If there are updates, a file is displayed in the Available Updates section.
3 Tap Update All.
The applications are updated and the FlexPendant is restarted.

202 Operating manual - OmniCore


3HAC065036-001 Revision: D
© Copyright 20192020 ABB. All rights reserved.
10 Install, update, restart, and other configuration
10.3 Restart

10.3 Restart

Restart controller and FlexPendant


ABB robot systems are designed to operate unattended for long times. There is
no need to periodically restart functioning systems.
Restart the robot system when:
• new hardware has been installed.
• the robot system configuration files have been changed.
• a new system has been added and is to be used.
• a system failure (SYSFAIL) has occurred.

Procedure
Use the following procedure to restart the controller or FlexPendant:
1 On the start screen, tap Settings, and then select Backup & Recovery from
the menu.
2 On the sidebar tap Restart.
The Restart page is displayed.
3 Select the Controller or FlexPendant check boxes.
4 Tap Restart.
The selected device is restarted.

Note

You can restart the controller or only the FlexPendant for restart. When
the controller is restarted the FlexPendant is restarted automatically .

Operating manual - OmniCore 203


3HAC065036-001 Revision: D
© Copyright 20192020 ABB. All rights reserved.
10 Install, update, restart, and other configuration
10.4 Back up the system

10.4 Back up the system

When do I need this?


We recommend performing a backup:
• Before installing new RobotWare.
• Before making any major changes to instructions or parameters to make it
possible to return to the previous settings.
• After making any major changes to instructions or parameters and testing
the new settings to retain the new successful settings.

When is backup possible?


A backup of a system can be performed during program execution, with a few
limitations:
• Start program, load program, load module, close program, and erase module
can not be done during backup in executing state. The RAPID instructions
Load and StartLoad can, however, be used.
• Do not create backups while performing critical or sensitive robot movements.
This may affect the accuracy and performance of the movement. To make
sure that no backup is requested while in critical areas, use a system input
with the action value Disable Backup.
The system input signal can be set from RAPID for the parts of the code that are
critical for disturbances or remove the setting otherwise. For more information,
see Technical reference manual - System parameters.

Note

Making a backup during production can interfere with the RAPID execution.

BACKUP directory
A local default backup directory, BACKUP, is automatically created by the system.
We recommend using this directory for saving the backups. Such backups are not
copied to the directory HOME in following backups.
Never change the name of the BACKUP directory.
Also, never change the name of the actual backup to BACKUP, since this would
cause interference with the name of the directory.
A default path can be created to any location on the network where the backup
should be stored.

Back up the system


This section describes how to backup the current system.

Note

While the backup is in process background tasks continue to execute.


1 On the start screen, tap Settings, and then Backup & Recovery.

Continues on next page


204 Operating manual - OmniCore
3HAC065036-001 Revision: D
© Copyright 20192020 ABB. All rights reserved.
10 Install, update, restart, and other configuration
10.4 Back up the system
Continued

2 The Backup page is displayed with a default name and a default location to
store the backup.
3 To change the default values edit the Backup Name and Location fields.

Note

To backup the files in tar format select the Backup to tar file check box.

4 Tap Backup.
The current system is backed up and saved in the selected location.

Note

No save operation is performed in the backup command. This implies that two
revisions of the same module can exist in the backup, one from the program
memory saved in Rapid\Task\Progmod\ directory and one from the HOME
directory copied to the backup’s home directory. Restoring such a backup will
restore both revisions of the module, so the status remains unchanged.

Note

Too many files in the HOME directory can result in a very large backup directory.
The unnecessary files in the home directory can then be deleted without any
problems.

Note

If a fault occurs during the backup, for example, full disk or power failure, the
whole backup structure is deleted.

Operating manual - OmniCore 205


3HAC065036-001 Revision: D
© Copyright 20192020 ABB. All rights reserved.
10 Install, update, restart, and other configuration
10.5 Restore the system

10.5 Restore the system

When do I need this?


We recommend performing a restore:
• If you suspect that the program file is corrupt.
• If any changes made to the instructions and/or parameters settings did not
prove successful, and you want to return to the previous settings.
During the restore, all system parameters are replaced and all the modules from
the backup directory are loaded.
The Home directory is copied back to the new system’s HOME directory during
the restart.

Restore the system


1 On the start screen, tap Settings, and then Backup & Recovery.
2 On the Backup & Recovery menu, tap Restore.
The restore dialog is displayed.

xx1900000153

Browse for the location where the backup is located and select which of the
following options should be restored:
• Safety Settings
3 Tap Restore to restore the selected options.
The restore is performed, and the system is restarted.

206 Operating manual - OmniCore


3HAC065036-001 Revision: D
© Copyright 20192020 ABB. All rights reserved.
10 Install, update, restart, and other configuration
10.6 Reset user data

10.6 Reset user data

Overview
We recommend to perform a reset user data:
• when you want to reset the RAPID in the system.
• when you want to restore the system to its original state by resetting RAPID
and system parameters.
• when you want to remove the user configured safety settings and load the
default safety settings.

Procedure
Use the following procedure to reset the system settings:
1 On the start screen, tap Settings, and then Backup & Recovery.
2 On the left sidebar tap Reset user data.
3 Select one of the following reset data options:
• Reset RAPID: To reset the RAPID data of the loaded system.
• Reset RAPID and System Parameters: To restore the system to its
original state by resetting the RAPID and system parameters.
• Reset safety setting: To remove the user configured safety settings
and load the default safety settings.
4 Tap Reset.
A confirmation message is displayed.
5 Tap OK.
The controller is restarted and the system is updated according to the selected
reset data settings.

Operating manual - OmniCore 207


3HAC065036-001 Revision: D
© Copyright 20192020 ABB. All rights reserved.
10 Install, update, restart, and other configuration
10.7 FlexPendant logs

10.7 FlexPendant logs

Overview
This option is used to save the FlexPendant logs for the troubleshooting analysis.

Procedure
Use the following procedure to save the FlexPendant log:
1 On the start screen, tap Settings, and then Backup & Recovery.
2 On the left sidebar tap FlexPendant logs.
3 If required, in the File Name field edit the name of the file.
4 If required, to change the storage path, in the Folder Name field tap Browse
and select the required path.
5 Tap Create.
The FlexPendant log is saved in the selected path.

208 Operating manual - OmniCore


3HAC065036-001 Revision: D
© Copyright 20192020 ABB. All rights reserved.
10 Install, update, restart, and other configuration
10.8 Connection log

10.8 Connection log

Overview
This option is used to save the current connection state of the connectivity module.

Note

Connection log is available only for Connected Services Gateway 3G and Wi-Fi
but not for Wired.

Procedure
Use the following procedure to save the current connection state of the connectivity
module:
1 On the start screen, tap Settings, and then Backup & Recovery.
2 On the left sidebar tap Connection log.
The Connection log page is displayed and the logs are displayed on a
window.

Note

Tap on the refresh button to update the logs.

3 Tap Export.
4 If required, in the File Name field edit the name of the file.
5 If required, to change the storage path, in the Folder Name field tap Browse
and select the required path.
6 Tap Create.
The current connection state of the connectivity module is saved in the
selected path.

Operating manual - OmniCore 209


3HAC065036-001 Revision: D
© Copyright 20192020 ABB. All rights reserved.
10 Install, update, restart, and other configuration
10.9 System diagnostics

10.9 System diagnostics

Overview
The system diagnostics feature is used to gather the current state of the system
and store on the controller as a file.

Procedure
Use the following procedure to gather the current state of the system:
1 On the start screen, tap Settings, and then Backup & Recovery.
2 On the left sidebar tap System diagnostics.
3 If required, in the File Name field edit the name of the file.
4 If required, to change the backup location, in the Folder Name field tap
Browse and select path.
5 Tap Create.
The file is saved in the selected location.

210 Operating manual - OmniCore


3HAC065036-001 Revision: D
© Copyright 20192020 ABB. All rights reserved.
Index

Index left-hander, 18
main parts, 15
overview, 15
A screen, 19, 23
applications
forward button, 16
overview, 31
approach points, 113 H
apps, 19 Hard buttons, 16
axes hold-to-run, 18, 177
illustration, 65 using, 139
B I
backup I/O
directory, 204 changing values, 194
system, 204 simulating, 194
backward button, 16 I/O, inputs and outputs, 192
backward execution I/O application, 32
about, 143 incremental movement
limitations, 143 definition, 67
battery shutdown instances
service routine, 150 data types, 102
instructions
C backward execution, 143
calculation result, 116
copying and pasting, 97
calender time counter, 152
copying arguments, 97
Calibrate application, 33
delete, 97
calibrating
editing arguments, 96
CalPendulum, 151
handling of, 96
LoadIdentify, 153
running from a specific, 141
calibration, 54
IsBrakeCheckActive, 163, 168
fine calibration, 52
status, 50 J
CalPendulum Jog application, 31
service routine, 151 jogging
Code application, 31 about, 59
connector, 15 additional axes, 70
coordinate systems axes in independent mode, 70
overview, 61 non calibrated mechanical units, 70
cursor restrictions, 70
about, 100 world zones, 70
joystick, 15
D using, 15
data instance, 102
joystick directions
data types
illustration, 65
creating new, 102
editing, 104 L
date and time, 36 lead-through, 71
detaching FlexPendant, 186 Limited App Package [3120-1], 31
disconnecting FlexPendant, 186 load, 71
displacements LoadIdentify
work object, 124, 126 service routine, 153
loads
E identifying, 153
elongator points
Locking operating mode, 45
define, 116
emergency stop button M
FlexPendant, 15 mechanical unit
enabling device, 15, 17 selecting, 66
using, 139 modifying positions
Essential App Package [3120-2], 31 data instances, 104
overview, 189
F modules
files
deleting, 84
programs, 77
handling of, 81
FlexPendant
loading, 82
connecting, disconnecting, 186
renaming, 83
hardware buttons, 16
saving, 82
how to hold, 18

Operating manual - OmniCore 211


3HAC065036-001 Revision: D
© Copyright 20192020 ABB. All rights reserved.
Index

Motion mode resolvers


selecting, 66 about, 68
Motion Pointer, MP restore
about, 100 system, 206
moved distance counter, 152 revolution counters
multitasking programs about, 68
about, 178 battery shutdown, 150
loading, running and stopping, 178 setting, 56
viewing, 180 updating, 56
RobotStudio
N overview, 20
network settings, 38 routines
changing declarations, 91
O copying, 89
Operate application, 33 defining parameters, 87
operation time counter, 152 deleting, 94
operator messages, 23 handling of, 85
moving, 92
P renaming, 93
path running a specific, 142
returning to, 181 running service routines, 146
path return region, 181 run button, 17
payload, 71
payloads S
creating, 134 service routines
declarations, 134 bat_shutdown, 150
deleting, 138 CalPendulum, 151
display definitions, 136 LoadIdentify, 153
editing, 136 running, 146
identifying, 153 ServiceInfo, 152
selecting, 66 Settings application, 32
personalizing, 34 signals
PIN code changing values, 194
permanent PIN code, 46 simulating, 194
temporary PIN code, 45 viewing, 192
positions SIS, Service Information System
about, 68 counters, 152
exact, 68 service routine, 152
modifying, 189 SMB
moving to, 189 battery shutdown, 150
reading, 68 start button, 16
tuning, 189 step backward button, 16
program data step by step execution, 143
editing, 104 step forward button, 16
program directory, 77 stop button, 16
program execution start button, 17 system
programmable buttons backup, 204
editing, 16, 39 restore, 206
programmable keys
editing, 16, 39 T
Program Package [3151-1], 31 targets
Program Pointer, PP modifying, 189
about, 100 moving to, 189
programs tuning, 189
about files, 77 tasks
handling of, 77 loading program to, 179
multitasking, 178 normal, static, semistatic, 178
renaming, 79 setting up, 178
saving, 78 starting and stopping, 178
starting, 174 teach pendant
step by step execution, 143 connecting, disconnecting, 186
stopping, 177 three-position enabling device, 15, 17
thumb button, 15
R using, 18
reset button tool center point
location, 15 about, 110
using, 16 calculation result, 116

212 Operating manual - OmniCore


3HAC065036-001 Revision: D
© Copyright 20192020 ABB. All rights reserved.
Index

define, 115 make stationary, 120


defining, 116 selecting, 66
measuring, 117 setting up tool coordinate system, 120
TCP, 110 touch screen, 19
working area variations, 116 TPU
tool frame connecting, disconnecting, 186
defining, 112 tuning
methods, 112 positions, 189
reorientation test, 116 targets, 189
tool orientation, 116
setting, 66 W
tool orientation, definition, 66 work objects
tools declarations, 123
aligning, 73 defining, 124
creating, 110 deleting, 131
deleting, 119 displacements, 124, 126
editing definitions, 118 editing work objects data, 130
identifying loads, 153 selecting, 66

Operating manual - OmniCore 213


3HAC065036-001 Revision: D
© Copyright 20192020 ABB. All rights reserved.
ABB AB, Robotics
Robotics and Motion
S-721 68 VÄSTERÅS, Sweden
Telephone +46 (0) 21 344 400

ABB AS, Robotics


Robotics and Motion
Nordlysvegen 7, N-4340 BRYNE, Norway
Box 265, N-4349 BRYNE, Norway
Telephone: +47 22 87 2000

ABB Engineering (Shanghai) Ltd.


Robotics and Motion
No. 4528 Kangxin Highway
PuDong District
SHANGHAI 201319, China
Telephone: +86 21 6105 6666

ABB Inc.
Robotics and Motion
1250 Brown Road
Auburn Hills, MI 48326
USA
Telephone: +1 248 391 9000

abb.com/robotics
3HAC065036-001, Rev D, en

© Copyright 20192020 ABB. All rights reserved.


Specifications subject to change without notice.

You might also like