ABB OmniCore, OmniCore C30, OmniCore C90XT Operating Manual

Add to My manuals
216 Pages

advertisement

ABB OmniCore, OmniCore C30, OmniCore C90XT Operating Manual | Manualzz

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 ...................................................................................................................

Product documentation ....................................................................................................................

9

11

1 Introduction to OmniCore

1.1

About this section .............................................................................................

1.2

The OmniCore controller ....................................................................................

1.3

The FlexPendant ...............................................................................................

1.4

RobotStudio .....................................................................................................

2 Navigating and handling the FlexPendant

2.1

Overview .........................................................................................................

2.2

The user interface .............................................................................................

2.2.1

Introduction ............................................................................................

2.2.2

Status bar ..............................................................................................

2.2.3

FlexPendant applications ..........................................................................

2.3

Personalizing the FlexPendant .............................................................................

2.3.1

Basic settings .........................................................................................

2.3.1.1 Introduction ................................................................................

2.3.1.2 System information ......................................................................

2.3.1.3 Changing date and time ................................................................

2.3.1.4 Configuring the interface language .................................................

2.3.1.5 Identity settings ...........................................................................

2.3.1.6 Changing programmable keys .......................................................

2.4

Updating the applications ...................................................................................

21

34

35

36

37

38

39

41

21

22

22

23

31

34

34

13

13

14

15

20

3 OmniCore controller operating modes

3.1

Introduction ......................................................................................................

3.2

Changing operating modes .................................................................................

3.3

Locking and unlocking operating modes ................................................................

43

43

44

45

4 Calibration

4.1

Introduction ......................................................................................................

4.2

How to check if the robot needs calibration ............................................................

4.3

Fine calibration .................................................................................................

4.4

Calibration .......................................................................................................

4.5

Updating revolution counters ...............................................................................

49

49

50

52

54

56

5 Jogging

5.1

Introduction to jogging .......................................................................................

5.2

Coordinate systems for jogging ...........................................................................

5.3

Basic settings for jogging ...................................................................................

5.4

Reading the exact position ..................................................................................

5.5

Restrictions to jogging .......................................................................................

5.6

Lead-through ....................................................................................................

5.7

Supervision ......................................................................................................

5.8

Align tool .........................................................................................................

59

59

61

66

68

70

71

72

73

6 Programming and testing

6.1

Introduction ......................................................................................................

6.2

Before you start programming .............................................................................

6.3

Programming concept ........................................................................................

6.3.1

Handling of programs ..............................................................................

6.3.2

Handling of modules ................................................................................

6.3.3

Handling of routines ................................................................................

6.3.4

Handling of instructions ............................................................................

75

75

76

77

77

81

85

96

Operating manual - OmniCore

3HAC065036-001 Revision: D

5

© Copyright 20192020 ABB. All rights reserved.

Table of contents

6.3.5

Example: Add movement instructions .........................................................

6.3.6

About the Program and Motion Pointers ......................................................

6.4

Data types .......................................................................................................

6.4.1

View data in specific tasks, modules, or routines ...........................................

6.4.2

Creating new data instance .......................................................................

6.4.3

Editing data instances ..............................................................................

6.5

Tools ..............................................................................................................

6.5.1

What is a tool? ........................................................................................

6.5.2

What is the tool center point? ....................................................................

6.5.3

Creating a tool ........................................................................................

6.5.4

Defining the tool frame .............................................................................

6.5.5

Editing the tool data .................................................................................

6.5.6

Deleting a tool ........................................................................................

6.5.7

Setup for stationary tools ..........................................................................

6.6

Work objects ....................................................................................................

6.6.1

What is a work object? .............................................................................

6.6.2

Creating a work object .............................................................................

6.6.3

Defining a work object ..............................................................................

6.6.4

Defining the work object coordinate system .................................................

6.6.5

Editing the work object data ......................................................................

6.6.6

Deleting a work object ..............................................................................

6.6.7

Setup stationary work object .....................................................................

6.7

Payloads .........................................................................................................

6.7.1

Overview ...............................................................................................

6.7.2

Creating a payload ..................................................................................

6.7.3

Editing the payload data ...........................................................................

6.7.4

Deleting a payload ...................................................................................

6.8

Testing ............................................................................................................

6.8.1

Using the hold-to-run function ...................................................................

6.8.2

Running the program from a specific instruction ...........................................

6.8.3

Running a specific routine ........................................................................

6.8.4

Stepping instruction by instruction .............................................................

6.9

Service routines ................................................................................................

6.9.1

Running a service routine .........................................................................

6.9.2

Connected Services Reset service routine ...................................................

6.9.3

Battery shutdown service routine ...............................................................

6.9.4

Calibration Pendulum service routine ..........................................................

6.9.5

Service Information System service routine ..................................................

6.9.6

Load identification service routine ..............................................................

6.9.7

Brake check service routine ......................................................................

6.9.8

Cyclic Brake Check service routine .............................................................

133

134

136

138

139

139

141

142

122

123

124

126

130

131

132

133

143

146

146

149

150

151

152

153

162

168

106

108

110

112

117

119

120

122

98

100

101

101

102

104

106

7 Running in production 173

7.1

Introduction ......................................................................................................

7.2

Basic procedures ..............................................................................................

7.2.1

Starting programs ...................................................................................

7.2.2

Stopping programs ..................................................................................

7.2.3

Using multitasking programs .....................................................................

7.2.4

Returning the robot to the path ..................................................................

7.3

Managing Dashboards .......................................................................................

7.4

Connecting and detaching a FlexPendant ..............................................................

7.5

Modifying positions ...........................................................................................

173

174

174

177

178

181

183

186

189

8 Handling inputs and outputs, I/O 191

8.1

Introduction ......................................................................................................

8.2

Viewing signal lists ............................................................................................

8.3

Setting signals as favorite signals ........................................................................

8.4

Simulating the signals and changing the signal values .............................................

8.5

I/O devices .......................................................................................................

191

192

193

194

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 ......................................................................................................

9.2

Accessing the event log .....................................................................................

9.3

Saving log entries .............................................................................................

9.4

Clearing the log entries ......................................................................................

197

198

199

200

10 Install, update, restart, and other configuration 201

10.1 Introduction ......................................................................................................

10.2 Start installer ....................................................................................................

10.3 Restart ............................................................................................................

10.4 Back up the system ...........................................................................................

10.5 Restore the system ............................................................................................

10.6 Reset user data ................................................................................................

10.7 FlexPendant logs ..............................................................................................

10.8 Connection log .................................................................................................

10.9 System diagnostics ...........................................................................................

201

202

203

204

206

207

208

209

210

Index 211

Operating manual - OmniCore

3HAC065036-001 Revision: D

© Copyright 20192020 ABB. All rights reserved.

7

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

Product manual - OmniCore C30

Operating manual - Integrator's guide OmniCore

Operating manual - RobotStudio

Application manual - Controller software OmniCore

Technical reference manual - System parameters

Application manual - SafeMove2

Document ID

3HAC060860-001

3HAC065037-001

3HAC032104-001

3HAC066554-001

3HAC065041-001

3HAC066559-001

Operating manual - OmniCore

3HAC065036-001 Revision: D

Continues on next page

9

© Copyright 20192020 ABB. All rights reserved.

Overview of this manual

Continued

Revisions

Revision

A

B

C

D

Description

First edition.

• 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 .

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 .

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

© Copyright 20192020 ABB. All rights reserved.

Operating manual - OmniCore

3HAC065036-001 Revision: D

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.

Operating manual - OmniCore

3HAC065036-001 Revision: D

© Copyright 20192020 ABB. All rights reserved.

Continues on next page

11

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

© Copyright 20192020 ABB. All rights reserved.

Operating manual - OmniCore

3HAC065036-001 Revision: D

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

3HAC065036-001 Revision: D

© Copyright 20192020 ABB. All rights reserved.

13

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

© Copyright 20192020 ABB. All rights reserved.

Operating manual - OmniCore

3HAC065036-001 Revision: D

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

2

1

Joystick

4 5

3 xx1700001891

3

4

5

6

7

1

2

Connector

Touch screen

Emergency stop button

Joystick

USB port and reset button

Three-position enabling device

Thumb button

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.

Operating manual - OmniCore

3HAC065036-001 Revision: D

© Copyright 20192020 ABB. All rights reserved.

Continues on next page

15

1 Introduction to OmniCore

1.3 The FlexPendant

Continued

USB port

Reset button

Hard buttons

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.

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.

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

1

5

2

4

3

6

7

10

9

11

8

12 xx1700001892

Label

1

2

3

4

5, 6, 7, 8

Description

Select mechanical unit.

Toggle motion mode, reorient or linear.

Toggle motion mode, axis 1-3 or axis 4-6.

Operator messages.

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

9

10

11

12

Three-position enabling device

Description

START button. Starts the program execution.

Step BACKWARD button. Executes one instruction backward.

STOP button. Stops the program execution.

Step FORWARD button. Executes one instruction forward.

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.

Operating manual - OmniCore

3HAC065036-001 Revision: D

Continues on next page

17

© 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

© Copyright 20192020 ABB. All rights reserved.

Operating manual - OmniCore

3HAC065036-001 Revision: D

1 Introduction to OmniCore

1.3 The FlexPendant

Continued

Touch screen elements

The illustration shows important elements of the FlexPendant touch screen.

xx1800001181

A

B

C

Applications button

Status bar buttons

Applications

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.

Allows you to navigate to operator messages, event logs, and QuickSet window.

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

3HAC065036-001 Revision: D

© Copyright 20192020 ABB. All rights reserved.

19

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

© Copyright 20192020 ABB. All rights reserved.

Operating manual - OmniCore

3HAC065036-001 Revision: D

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

3HAC065036-001 Revision: D

© Copyright 20192020 ABB. All rights reserved.

21

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.

Menus

The applications and options required to use the applications are described in section

FlexPendant applications on page 31

.

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

A B

22

A

B

Application menu

Context menu

Available when you have selected one of the applications on the FlexPendant start screen. The menu content reflects the selected application.

The context menu displays available options for a selected row.

© Copyright 20192020 ABB. All rights reserved.

Operating manual - OmniCore

3HAC065036-001 Revision: D

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

A

B

C

Buttons

Messages button

Event logs button

QuickSet button

Description

Tapping the Messages button displays the operator messages 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.

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.

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

Operating manual - OmniCore

3HAC065036-001 Revision: D

© Copyright 20192020 ABB. All rights reserved.

Continues on next page

23

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

Lock button

Mode

Description

Locks or unlocks the operating mode. For more details, see

Locking and unlocking operating modes on page 45

.

Changes the operating mode.

( Auto mode ): Select this mode to move the manipulator or run a program without human intervention. In this mode the safety function of the three-position enabling device is bypassed.

Motors

Speed

( 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.

Turns the motors on or off.

Motors off : Turns the motors off.

Motors on : Turns the motors on.

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.

Jog Settings

2 Navigating and handling the FlexPendant

2.2.2 Status bar

Continued

Button/Section

Play

Pause

Prev

Next

Description

Starts the program execution.

Pauses a program execution.

Executes one instruction backward.

Executes one instruction forward.

The Jog tab displays the Jog Settings .

Section/List

Mechanical Unit

Work Object

Tool

Load

Jog Speed

Jog Mode

Coordinate System

Jog Supervision

Lead-through

Description

Displays the list of available mechanical units.

Displays the list of available work objects.

Displays the list of available tools.

Displays the list of loads.

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.

Displays the list of jog modes.

Displays the list of coordinate systems.

Prevents the mechanical damage to the robot during jogging.

Allows you to grab the robot arms and jog the robot manually.

Operating manual - OmniCore

3HAC065036-001 Revision: D

© Copyright 20192020 ABB. All rights reserved.

Continues on next page

25

2 Navigating and handling the FlexPendant

2.2.2 Status bar

Continued

Execution Settings

The Execution tab displays the Execution Settings .

Button/Section

Run Mode

Step Mode

Non Motion Execution

Enable/Disable tasks

Description

Selects the program run mode.

• Single : Runs one cycle and then stops the execution.

• Continuous : Runs continuously.

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.

This is used to run a RAPID program without the robot motion.

This is used to enable or disable the selected task.

Continues on next page

26

© Copyright 20192020 ABB. All rights reserved.

Operating manual - OmniCore

3HAC065036-001 Revision: D

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

Motion Mode

Coordinate System

Mechanical Unit

Axes

Colored arrows

Description

Displays the selected motion mode.

Displays the selected coordinate system.

Displays the selected mechanical unit.

Displays the position of each axis.

Displays the direction in which the jog stick needs to be moved for jogging the selected axis.

Operating manual - OmniCore

3HAC065036-001 Revision: D

© Copyright 20192020 ABB. All rights reserved.

Continues on next page

27

2 Navigating and handling the FlexPendant

2.2.2 Status bar

Continued

Info

The Info tab displays the information about the system.

Section

System

RobotWare

IP Address

Controller Id

App version

Options

Description

Displays the name of the system.

Displays the version number of the RobotWare selected in the system.

Displays the IP address of the management port.

Displays the identity of the controller.

Displays the version information of the FlexPendant application.

Displays the options selected in the system.

Continues on next page

28

© Copyright 20192020 ABB. All rights reserved.

Operating manual - OmniCore

3HAC065036-001 Revision: D

ABB Ability

2 Navigating and handling the FlexPendant

2.2.2 Status bar

Continued

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

Button/Section

Status

Connection Status

Registration Status

Description

Displays the status of connected services connection.

Connection status of Connected Services.

Registration status of Connected Services.

Operating manual - OmniCore

3HAC065036-001 Revision: D

© Copyright 20192020 ABB. All rights reserved.

Continues on next page

29

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

Current User

Controller

FlexPendant

Description

Displays the name of the current logged in user.

Log out : Logs out the current user from the FlexPendant.

Restart : This is used to restart the controller.

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 application.

Exit Application : This is used to exit a FlexPendant application.

30

© Copyright 20192020 ABB. All rights reserved.

Operating manual - OmniCore

3HAC065036-001 Revision: D

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

Create new programs, edit existing programs

View and edit RAPID modules and

RAPID routines

Limited App

Package [3120-1]

Essential App

Package [3120-2]

Program Package [3151-1]

✓

✓

✓ 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

Joystick jog

Touch jog

Align tool

Lead-through

Jog supervision

GoTo (jog to target)

3D visualization

Limited App

Package [3120-1]

Essential App

Package [3120-2]

✓ ✓

Program Package [3151-1]

✓

✓

✓

✓

✓

✓

✓

✓

Operating manual - OmniCore

3HAC065036-001 Revision: D

© Copyright 20192020 ABB. All rights reserved.

Continues on next page

31

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

System

About, hardware devices, software resources

Limited App

Package [3120-1]

Essential App

Package [3120-2]

✓ ✓

Program Package [3151-1]

Network

Status, WAN settings, DNS Client

Ability

Status, Ability status, configure

3G/WiFi/wired

Configure Connected Services

✓

✓

✓

✓

✓

✓

✓

✓ Backup and Recovery

Backup, restore, system diagnostics, 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

Show industrial networks

View all I/O signals

Display I/O signals with respect to category

Limited App

Package [3120-1]

Essential App

Package [3120-2]

✓ ✓

Program Package [3151-1]

✓

✓

✓

✓

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.

Operate

Calibrate

2 Navigating and handling the FlexPendant

2.2.3 FlexPendant applications

Continued

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

View dashboards

Configure dashboards

Load and execute RAPID programs

View loaded RAPID programs

Teach position (ModPos) of robtargets in loaded RAPID programs

Limited App

Package [3120-1]

Essential App

Package [3120-2]

Program Package [3151-1]

✓

✓

✓

✓

✓

✓

✓

✓

Reset program pointer to Main

Show program pointer position

Show motion pointer position

Execute service routines

✓

✓

✓

✓

✓

✓

✓

✓

The Calibrate application is used for calibration and definition of frames for ABB robots.

Feature

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

Limited App

Package [3120-1]

Essential App

Package [3120-2]

✓ ✓

Program Package [3151-1]

✓

✓

✓

✓

✓

✓

✓

✓

✓

✓

✓

✓

✓

✓

✓

✓

✓

✓

✓

✓

Operating manual - OmniCore

3HAC065036-001 Revision: D

© Copyright 20192020 ABB. All rights reserved.

33

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

© Copyright 20192020 ABB. All rights reserved.

Operating manual - OmniCore

3HAC065036-001 Revision: D

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

3HAC065036-001 Revision: D

© Copyright 20192020 ABB. All rights reserved.

35

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

© Copyright 20192020 ABB. All rights reserved.

Operating manual - OmniCore

3HAC065036-001 Revision: D

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

3HAC065036-001 Revision: D

© Copyright 20192020 ABB. All rights reserved.

37

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

© Copyright 20192020 ABB. All rights reserved.

Operating manual - OmniCore

3HAC065036-001 Revision: D

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.

Operating manual - OmniCore

3HAC065036-001 Revision: D

Continues on next page

39

© 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

© Copyright 20192020 ABB. All rights reserved.

Operating manual - OmniCore

3HAC065036-001 Revision: D

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

3HAC065036-001 Revision: D

© Copyright 20192020 ABB. All rights reserved.

41

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

3HAC065036-001 Revision: D

© Copyright 20192020 ABB. All rights reserved.

43

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.

44

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 .

© Copyright 20192020 ABB. All rights reserved.

Operating manual - OmniCore

3HAC065036-001 Revision: D

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.

Operating manual - OmniCore

3HAC065036-001 Revision: D

Continues on next page

45

© 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

© Copyright 20192020 ABB. All rights reserved.

Operating manual - OmniCore

3HAC065036-001 Revision: D

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.

47 Operating manual - OmniCore

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

3HAC065036-001 Revision: D

© Copyright 20192020 ABB. All rights reserved.

49

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...

Calibrated

Not calibrated

Not updated then...

Calibration is not needed.

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 procedure without proper training and tools. Doing so may result in the incorrect positioning that may cause injuries and property damage. Always consult a qualified service technician.

update the revolution counters or perform the calibration.

Note

For IRB 14050 when you select update the revolution counters, you are recommended to perform the calibration.

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.

If the calibration status is...

Not commutated

4 Calibration

4.2 How to check if the robot needs calibration

Continued then...

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

DANGER

Do not attempt to perform the fine calibration procedure without proper training and tools. Doing so may result in the incorrect positioning that may cause injuries and property damage. Always consult a qualified service technician.

Operating manual - OmniCore

3HAC065036-001 Revision: D

© Copyright 20192020 ABB. All rights reserved.

51

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.

Continues on next page

52

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.

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

3HAC065036-001 Revision: D

© Copyright 20192020 ABB. All rights reserved.

53

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

© Copyright 20192020 ABB. All rights reserved.

Operating manual - OmniCore

3HAC065036-001 Revision: D

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.

55 Operating manual - OmniCore

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

3HAC065036-001 Revision: D

© Copyright 20192020 ABB. All rights reserved.

57

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.

Operating manual - OmniCore

3HAC065036-001 Revision: D

Continues on next page

59

© 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

© Copyright 20192020 ABB. All rights reserved.

Operating manual - OmniCore

3HAC065036-001 Revision: D

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.

Operating manual - OmniCore

3HAC065036-001 Revision: D

Continues on next page

61

© Copyright 20192020 ABB. All rights reserved.

5 Jogging

5.2 Coordinate systems for jogging

Continued

The work object coordinate system

A

B

C

World coordinate system

Work Object coordinate system 1

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

© Copyright 20192020 ABB. All rights reserved.

Operating manual - OmniCore

3HAC065036-001 Revision: D

The tool coordinate system

5 Jogging

5.2 Coordinate systems for jogging

Continued

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.

Operating manual - OmniCore

3HAC065036-001 Revision: D

© Copyright 20192020 ABB. All rights reserved.

Continues on next page

63

5 Jogging

5.2 Coordinate systems for jogging

Continued

The world coordinate system

Examples of use

A

B

C

Base coordinate system for robot 1

World coordinate

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.

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

© Copyright 20192020 ABB. All rights reserved.

Operating manual - OmniCore

3HAC065036-001 Revision: D

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

3HAC065036-001 Revision: D

© Copyright 20192020 ABB. All rights reserved.

65

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

© Copyright 20192020 ABB. All rights reserved.

Operating manual - OmniCore

3HAC065036-001 Revision: D

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

3HAC065036-001 Revision: D

© Copyright 20192020 ABB. All rights reserved.

67

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

3HAC065036-001 Revision: D

© Copyright 20192020 ABB. All rights reserved.

69

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

© Copyright 20192020 ABB. All rights reserved.

Operating manual - OmniCore

3HAC065036-001 Revision: D

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

3HAC065036-001 Revision: D

© Copyright 20192020 ABB. All rights reserved.

71

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

© Copyright 20192020 ABB. All rights reserved.

Operating manual - OmniCore

3HAC065036-001 Revision: D

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

3HAC065036-001 Revision: D

© Copyright 20192020 ABB. All rights reserved.

73

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

3HAC065036-001 Revision: D

© Copyright 20192020 ABB. All rights reserved.

75

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

© Copyright 20192020 ABB. All rights reserved.

Operating manual - OmniCore

3HAC065036-001 Revision: D

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.

Operating manual - OmniCore

3HAC065036-001 Revision: D

© Copyright 20192020 ABB. All rights reserved.

Continues on next page

77

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

© Copyright 20192020 ABB. All rights reserved.

Operating manual - OmniCore

3HAC065036-001 Revision: D

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.

Operating manual - OmniCore

3HAC065036-001 Revision: D

© Copyright 20192020 ABB. All rights reserved.

Continues on next page

79

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

© Copyright 20192020 ABB. All rights reserved.

Operating manual - OmniCore

3HAC065036-001 Revision: D

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

Operating manual - OmniCore

3HAC065036-001 Revision: D

© Copyright 20192020 ABB. All rights reserved.

Continues on next page

81

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

© Copyright 20192020 ABB. All rights reserved.

Operating manual - OmniCore

3HAC065036-001 Revision: D

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.

Operating manual - OmniCore

3HAC065036-001 Revision: D

Continues on next page

83

© 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:

84 xx1900000231

4 Tap OK .

The selected module is deleted and removed from the module list.

© Copyright 20192020 ABB. All rights reserved.

Operating manual - OmniCore

3HAC065036-001 Revision: D

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

Operating manual - OmniCore

3HAC065036-001 Revision: D

© Copyright 20192020 ABB. All rights reserved.

Continues on next page

85

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

© Copyright 20192020 ABB. All rights reserved.

Operating manual - OmniCore

3HAC065036-001 Revision: D

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.

Operating manual - OmniCore

3HAC065036-001 Revision: D

© Copyright 20192020 ABB. All rights reserved.

Continues on next page

87

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

© Copyright 20192020 ABB. All rights reserved.

Operating manual - OmniCore

3HAC065036-001 Revision: D

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.

Operating manual - OmniCore

3HAC065036-001 Revision: D

© Copyright 20192020 ABB. All rights reserved.

Continues on next page

89

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.

Continues on next page

90 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 .

© Copyright 20192020 ABB. All rights reserved.

Operating manual - OmniCore

3HAC065036-001 Revision: D

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.

Operating manual - OmniCore

3HAC065036-001 Revision: D

© Copyright 20192020 ABB. All rights reserved.

Continues on next page

91

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.

Continues on next page

92 xx1900000271

The Move Routine dialog is displayed.

© Copyright 20192020 ABB. All rights reserved.

Operating manual - OmniCore

3HAC065036-001 Revision: D

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

Operating manual - OmniCore

3HAC065036-001 Revision: D

© Copyright 20192020 ABB. All rights reserved.

Continues on next page

93

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

© Copyright 20192020 ABB. All rights reserved.

Operating manual - OmniCore

3HAC065036-001 Revision: D

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

3HAC065036-001 Revision: D

© Copyright 20192020 ABB. All rights reserved.

95

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

3HAC065036-001 Revision: D

© Copyright 20192020 ABB. All rights reserved.

97

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.

B

A

C

A

B

C

First point

Robot movement Speed data v50 = speed 50mm/s

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

© Copyright 20192020 ABB. All rights reserved.

Operating manual - OmniCore

3HAC065036-001 Revision: D

MoveL *, v50, z50, tool0;

MoveL *, v50, z50, tool0;

MoveL *, v50, fine, tool0;

End Proc;

6 Programming and testing

6.3.5 Example: Add movement instructions

Continued

Operating manual - OmniCore

3HAC065036-001 Revision: D

© Copyright 20192020 ABB. All rights reserved.

99

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

© Copyright 20192020 ABB. All rights reserved.

Operating manual - OmniCore

3HAC065036-001 Revision: D

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

3HAC065036-001 Revision: D

© Copyright 20192020 ABB. All rights reserved.

101

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:

Continues on next page

102 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.

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

3HAC065036-001 Revision: D

© Copyright 20192020 ABB. All rights reserved.

103

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

© Copyright 20192020 ABB. All rights reserved.

Operating manual - OmniCore

3HAC065036-001 Revision: D

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

3HAC065036-001 Revision: D

© Copyright 20192020 ABB. All rights reserved.

105

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

© Copyright 20192020 ABB. All rights reserved.

Operating manual - OmniCore

3HAC065036-001 Revision: D

Illustration en0400000803

A

B

Tool side

Robot side

6 Programming and testing

6.5.1 What is a tool?

Continued

Operating manual - OmniCore

3HAC065036-001 Revision: D

© Copyright 20192020 ABB. All rights reserved.

107

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.

Description

Moving TCP xx0300000604

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.

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

© Copyright 20192020 ABB. All rights reserved.

Operating manual - OmniCore

3HAC065036-001 Revision: D

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

3HAC065036-001 Revision: D

© Copyright 20192020 ABB. All rights reserved.

109

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

© Copyright 20192020 ABB. All rights reserved.

Operating manual - OmniCore

3HAC065036-001 Revision: D

6 Programming and testing

6.5.3 Creating a tool

Continued

Tool declaration settings

If you want to change...

the name of the tool the scope the storage type the task the module the routine the size of the data array's axes then...

tap on the Name field and change name using the soft keyboard that appears.

Recommendation

Tools are automatically named tool followed by a 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.

select the preferred scope from the Scope drop-down list.

Tools should be global, if it should be available to all the modules in the program.

select the value from the

Storage Type drop-down list.

Tool variables must always be persistent.

select the value from the Task drop-down list.

select the module in which this tool should be declared from the Module drop-down list.

select the value from the

Routine drop-down list.

select the value from the Dimension 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

3HAC065036-001 Revision: D

© Copyright 20192020 ABB. All rights reserved.

111

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...

set the orientation in X and Z axes

...then select set the orientation the same as the orientation of the robot’s mounting plate

TCP (default orient.) set the orientation in Z axis TCP&Z

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

© Copyright 20192020 ABB. All rights reserved.

Operating manual - OmniCore

3HAC065036-001 Revision: D

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.

Operating manual - OmniCore

3HAC065036-001 Revision: D

© Copyright 20192020 ABB. All rights reserved.

Continues on next page

113

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

© Copyright 20192020 ABB. All rights reserved.

Operating manual - OmniCore

3HAC065036-001 Revision: D

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 .

Operating manual - OmniCore

3HAC065036-001 Revision: D

Continues on next page

115

© 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

© Copyright 20192020 ABB. All rights reserved.

Operating manual - OmniCore

3HAC065036-001 Revision: D

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

Operating manual - OmniCore

3HAC065036-001 Revision: D

© Copyright 20192020 ABB. All rights reserved.

Continues on next page

117

6 Programming and testing

6.5.5 Editing the tool data

Continued

X

0

Y

0

Z

0

X

1

Y

1

Z

1

X axis for tool0

Y axis for tool0

Z axis for tool0

X axis for the tool you want to define

Y axis for the tool you want to define

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

1

2

3

4

5

6

7

Action

Enter the cartesian coordinates of the tool center point's position.

Instance tframe.trans.x

tframe.trans.y

tframe.trans.z

If necessary, enter the tool frame orientation.

tframe.rot.q1

tframe.rot.q2

tframe.rot.q3

tframe.rot.q4

Enter the weight of the tool.

tload.mass

If necessary, enter the tool's center of gravity.

tload.cog.x

tload.cog.y

tload.cog.z

If necessary, enter the orientation of the axis of moment tload.aom.q1

tload.aom.q2

tload.aom.q3

tload.aom.q4

If necessary, enter the tool's moment of inertia.

tload.ix

tload.iy

tload.iz

Tap Save to use the new values, Cancel to leave the definition unchanged.

Unit

[mm]

None

[kg]

[mm]

None

[kgm 2 ]

118

© Copyright 20192020 ABB. All rights reserved.

Operating manual - OmniCore

3HAC065036-001 Revision: D

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

3HAC065036-001 Revision: D

© Copyright 20192020 ABB. All rights reserved.

119

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

© Copyright 20192020 ABB. All rights reserved.

Operating manual - OmniCore

3HAC065036-001 Revision: D

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

3HAC065036-001 Revision: D

© Copyright 20192020 ABB. All rights reserved.

121

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

X

Y

Z

X

Y

Z

X

Y

Description en0400000819

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

© Copyright 20192020 ABB. All rights reserved.

Operating manual - OmniCore

3HAC065036-001 Revision: D

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...

the work object’s name the scope the storage type the task the module

then...

enter a name in Name select the scope of choice from the menu select the preferred task from the menu select the module in which this work object should be declared from the menu

Recommendation

Work objects are automatically named wobj followed by a running number, for example wobj10 , wobj27 .

You should change this to something more descriptive.

If you change the name of a work object after it is referenced in any program you must also change all occurrences of that work object.

Work objects should always be global to be available to all modules in the program.

Work object variables must always be persistent.

Operating manual - OmniCore

3HAC065036-001 Revision: D

© Copyright 20192020 ABB. All rights reserved.

123

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

3HAC065036-001 Revision: D

© Copyright 20192020 ABB. All rights reserved.

125

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.

Continues on next page

126 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.

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.

Operating manual - OmniCore

3HAC065036-001 Revision: D

© Copyright 20192020 ABB. All rights reserved.

Continues on next page

127

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

© Copyright 20192020 ABB. All rights reserved.

Operating manual - OmniCore

3HAC065036-001 Revision: D

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

3HAC065036-001 Revision: D

© Copyright 20192020 ABB. All rights reserved.

129

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.

Unit mm

Values

The cartesian coordinates of the position of the object frame

Instance oframe.trans.x

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 frame uframe.trans.x

uframe.trans.y

uframe.trans.z

The user frame orientation uframe.rot.q1

uframe.rot.q2

uframe.rot.q3

uframe.rot.q4

-

mm

Note

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

130

© Copyright 20192020 ABB. All rights reserved.

Operating manual - OmniCore

3HAC065036-001 Revision: D

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

3HAC065036-001 Revision: D

© Copyright 20192020 ABB. All rights reserved.

131

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

© Copyright 20192020 ABB. All rights reserved.

Operating manual - OmniCore

3HAC065036-001 Revision: D

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

3HAC065036-001 Revision: D

© Copyright 20192020 ABB. All rights reserved.

133

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...

the payload’s name

...then...

enter a name in Name

Recommendation

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...

the scope the storage type the task the module

-

...then...

select the scope of choice from the menu select the preferred task from the menu select the module in which this payload should be declared from the menu

-

Recommendation

Payloads should always be global to be available to all modules in the program.

Payload variables must always be persistent.

Setting the value for ModalPayLoadMode

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

Operating manual - OmniCore

3HAC065036-001 Revision: D

© Copyright 20192020 ABB. All rights reserved.

135

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.

1

2

3

4

5

Action

Enter the weight of the payload.

Enter the payload’s center of gravity.

Instance load.mass

load.cog.x

load.cog.y

load.cog.z

Enter the orientation of the axis of moment.

Enter the payload’s moment of inertia.

Tap Save to use the new values, Cancel to leave the data unchanged.

ix iy iz load.aom.q1

load.aom.q2

load.aom.q3

load.aom.q3

-

Unit

[kg]

[mm]

[kgm 2 ]

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

3HAC065036-001 Revision: D

© Copyright 20192020 ABB. All rights reserved.

137

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

© Copyright 20192020 ABB. All rights reserved.

Operating manual - OmniCore

3HAC065036-001 Revision: D

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

Manual full speed mode

Manual reduced speed mode

Automatic mode

Function

Pressing the three-position enabling device the thumb button enables running a program. It may run continuously or step-bystep.

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.

Normally, hold-to-run has no effect in the manual reduced speed mode. However, it is possible to activate for manual reduced speed mode by changing a system parameter.

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.

Operating manual - OmniCore

3HAC065036-001 Revision: D

Continues on next page

139

© 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

© Copyright 20192020 ABB. All rights reserved.

Operating manual - OmniCore

3HAC065036-001 Revision: D

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

3HAC065036-001 Revision: D

© Copyright 20192020 ABB. All rights reserved.

141

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

© Copyright 20192020 ABB. All rights reserved.

Operating manual - OmniCore

3HAC065036-001 Revision: D

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

Overview for 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.

1

Action

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...

forward backward then press...

Forward button on FlexPendant

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

143 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

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 robot is in p50 the motion pointer will indicate p50 and the program pointer will indicate the next move instruction ( MoveL p60 ).

pressing the Backward button once pressing the ward

Backbutton again the robot will not move but the program pointer will move to the previous instruction ( MoveC p30, p40 ). This indicates that this is the instruction that will be executed the next time Backward is pressed.

the robot will move to p40 linearly with the speed v1000.

The target for this movement (p40) is taken from the MoveC instruction. 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 Backward button again pressing the ward

Backbutton again the robot will move circularly, through p30, to p20 with the speed 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 .

the robot will move linearly to p10 with the speed v1000.

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 button once the robot will not move but the program pointer will move to the next instruction ( MoveL p20 ).

pressing the Forward button again the robot will move to p20 with the speed v1000.

Operating manual - OmniCore

3HAC065036-001 Revision: D

© Copyright 20192020 ABB. All rights reserved.

145

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.

Continues on next page

146

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.

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

.

Operating manual - OmniCore

3HAC065036-001 Revision: D

© Copyright 20192020 ABB. All rights reserved.

Continues on next page

147

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

© Copyright 20192020 ABB. All rights reserved.

Operating manual - OmniCore

3HAC065036-001 Revision: D

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

3HAC065036-001 Revision: D

© Copyright 20192020 ABB. All rights reserved.

149

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

© Copyright 20192020 ABB. All rights reserved.

Operating manual - OmniCore

3HAC065036-001 Revision: D

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

3HAC065036-001 Revision: D

© Copyright 20192020 ABB. All rights reserved.

151

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

© Copyright 20192020 ABB. All rights reserved.

Operating manual - OmniCore

3HAC065036-001 Revision: D

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

B

C

Upper arm load

Tool load

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.

Operating manual - OmniCore

3HAC065036-001 Revision: D

Continues on next page

153

© 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°

A

B

A

B

C

Configuration 1 (start position)

Configuration angle

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.

C

D

A

B

Continues on next page

154

Cable 1

Load 1

Cable 2

Load 2

© Copyright 20192020 ABB. All rights reserved.

Operating manual - OmniCore

3HAC065036-001 Revision: D

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 .

Operating manual - OmniCore

3HAC065036-001 Revision: D

Continues on next page

155

© 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

© Copyright 20192020 ABB. All rights reserved.

Operating manual - OmniCore

3HAC065036-001 Revision: D

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

Operating manual - OmniCore

3HAC065036-001 Revision: D

© Copyright 20192020 ABB. All rights reserved.

Continues on next page

157

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.

Operating manual - OmniCore

3HAC065036-001 Revision: D

Continues on next page

159

© 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:

• I x

- 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

• I y

- The inertia around the y-axis.

• m z

- 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

3HAC065036-001 Revision: D

© Copyright 20192020 ABB. All rights reserved.

161

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

© Copyright 20192020 ABB. All rights reserved.

Operating manual - OmniCore

3HAC065036-001 Revision: D

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

10272

10273

Title

Brake Check Done

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

37234

37235

Title

Brake Performance Warning

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

Operating manual - OmniCore

3HAC065036-001 Revision: D

Continues on next page

163

© Copyright 20192020 ABB. All rights reserved.

6 Programming and testing

6.9.7 Brake check service routine

Continued

1

2

L

3

Length to mass (L)

Mass (M) * Gravity constant (g)

Transmission (n)

Motor (1)

Gearbox (2)

Arm (3)

M * g

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

© Copyright 20192020 ABB. All rights reserved.

Operating manual - OmniCore

3HAC065036-001 Revision: D

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"

Operating manual - OmniCore

3HAC065036-001 Revision: D

© Copyright 20192020 ABB. All rights reserved.

Continues on next page

165

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

BCOK

BCACT

BCERR

BCWAR

1

0

0

Set to

0

End of brake check

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

Signal

BCOK

BCERR

BCWAR

BCACT

0

0

0

BrakeCheck test OK

Set to

BrakeCheck test

WARNING

Set to

1 0

0

1

0

1

0

0

BrakeCheck test ER-

ROR

Set to

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

BCOK

BCACT

Set to

0

0

During the first brake check test

Signal

BCOK

BCERR

BCWAR

BCACT

0

1

Signal state

0

0

Interrupted brake check test, program pointer still in BrakeCheck routine

Signal

BCOK

Signal state

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

BCERR

BCWAR

BCACT

Signal state

0

0

1

Interrupted brake check test, program pointer moved from BrakeCheck routine

Signal

BCOK

BCERR

BCWAR

BCACT

0

0

Signal state

0

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

3HAC065036-001 Revision: D

© Copyright 20192020 ABB. All rights reserved.

167

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:

1

Action

In the Visual SafeMove tab ribbon, navigate to the Create group, and click on the

Cyclic Brake Check button.

The Cyclic brake check properties window is displayed.

Note/illustration

WARNING

The Warning only, no stop check box should not be selected under any circumstances.

2 In Max CBC test interval (h) , set the maximum allowed time (in hours) between the cyclic brake checks.

Note

It is recommended to configure the maximum 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.

Operating manual - OmniCore

3HAC065036-001 Revision: D

© Copyright 20192020 ABB. All rights reserved.

Continues on next page

169

6 Programming and testing

6.9.8 Cyclic Brake Check service routine

Continued

4

5

6

Action

Make sure axes 1 to 6 are selected. If not, select the appropriate check box for the corresponding axis.

Note/illustration

Standstill tolerance is used for Stand Still

Supervision during brake test. The motor 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.

Do not change the default value for Standstill tolerance .

Supervision threshold defines the threshold to verify that a brake check has been made. The default value is 0.02 radians.

Do not change the default value for Supervision threshold .

WARNING

An axis can be excluded only after an appropriate 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, deactivation of the axes must be done by setting 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

3HAC065036-001 Revision: D

© Copyright 20192020 ABB. All rights reserved.

171

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

3HAC065036-001 Revision: D

© Copyright 20192020 ABB. All rights reserved.

173

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.

Continues on next page

174

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 .

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...

are unsure of the consequences your changes might have and want to investigate further then tap...

are sure the changes you have made are not in conflict with the current robot position and that the program can continue without danger to equipment or personnel

Yes

No

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.

Operating manual - OmniCore

3HAC065036-001 Revision: D

Continues on next page

175

© 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

© Copyright 20192020 ABB. All rights reserved.

Operating manual - OmniCore

3HAC065036-001 Revision: D

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

Operation with hold-to-run

Step-by-step mode

Action

Press the Stop button.

Information

The hold-to-run function is described in section

The

FlexPendant on page 15

.

The robot will stop after executing each instruction.

Execute the next instruction by pressing the Forward button again.

If you press the STOP button while executing a move instruction, the robot will stop without completing the move.

Operating manual - OmniCore

3HAC065036-001 Revision: D

© Copyright 20192020 ABB. All rights reserved.

177

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

© Copyright 20192020 ABB. All rights reserved.

Operating manual - OmniCore

3HAC065036-001 Revision: D

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 .

Operating manual - OmniCore

3HAC065036-001 Revision: D

Continues on next page

179

© 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

© Copyright 20192020 ABB. All rights reserved.

Operating manual - OmniCore

3HAC065036-001 Revision: D

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.

Operating manual - OmniCore

3HAC065036-001 Revision: D

Continues on next page

181

© 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

© Copyright 20192020 ABB. All rights reserved.

Operating manual - OmniCore

3HAC065036-001 Revision: D

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.

Operating manual - OmniCore

3HAC065036-001 Revision: D

Continues on next page

183

© 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

© Copyright 20192020 ABB. All rights reserved.

Operating manual - OmniCore

3HAC065036-001 Revision: D

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

3HAC065036-001 Revision: D

© Copyright 20192020 ABB. All rights reserved.

185

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.

Continues on next page

186

4 Tap Detach .

© Copyright 20192020 ABB. All rights reserved.

Operating manual - OmniCore

3HAC065036-001 Revision: D

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.

Operating manual - OmniCore

3HAC065036-001 Revision: D

© Copyright 20192020 ABB. All rights reserved.

Continues on next page

187

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

© Copyright 20192020 ABB. All rights reserved.

Operating manual - OmniCore

3HAC065036-001 Revision: D

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

3HAC065036-001 Revision: D

© Copyright 20192020 ABB. All rights reserved.

189

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

3HAC065036-001 Revision: D

© Copyright 20192020 ABB. All rights reserved.

191

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

© Copyright 20192020 ABB. All rights reserved.

Operating manual - OmniCore

3HAC065036-001 Revision: D

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

3HAC065036-001 Revision: D

© Copyright 20192020 ABB. All rights reserved.

193

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

© Copyright 20192020 ABB. All rights reserved.

Operating manual - OmniCore

3HAC065036-001 Revision: D

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

Activate / Deactivate

Bit Values

Signals

Actions

Output

Activates or deactivates the selected I/O device.

Displays the input and output bit values of the selected I/O device.

Displays the signals associated with the selected I/O device.

Displays the MAC ID of the selected I/O device.

Configure

Firmware Update

Note

Actions - Identify option is available only for the network type

EtherNet IP.

Allows you to configure the selected I/O device.

Note

The Configure option is available only for the network type

EtherNet IP.

Allows you to upgrade the firmware.

Note

Actions - Firmware option is available only for the network type

EtherNet IP.

Operating manual - OmniCore

3HAC065036-001 Revision: D

Continues on next page

195

© 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

© Copyright 20192020 ABB. All rights reserved.

Operating manual - OmniCore

3HAC065036-001 Revision: D

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.

9 Handling the event log

9.1 Introduction

Operating manual - OmniCore

3HAC065036-001 Revision: D

© Copyright 20192020 ABB. All rights reserved.

197

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

© Copyright 20192020 ABB. All rights reserved.

Operating manual - OmniCore

3HAC065036-001 Revision: D

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

3HAC065036-001 Revision: D

© Copyright 20192020 ABB. All rights reserved.

199

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

© Copyright 20192020 ABB. All rights reserved.

Operating manual - OmniCore

3HAC065036-001 Revision: D

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

3HAC065036-001 Revision: D

© Copyright 20192020 ABB. All rights reserved.

201

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

© Copyright 20192020 ABB. All rights reserved.

Operating manual - OmniCore

3HAC065036-001 Revision: D

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

3HAC065036-001 Revision: D

© Copyright 20192020 ABB. All rights reserved.

203

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

Continues on next page

204

While the backup is in process background tasks continue to execute.

1 On the start screen, tap Settings , and then Backup & Recovery .

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

3HAC065036-001 Revision: D

© Copyright 20192020 ABB. All rights reserved.

205

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

© Copyright 20192020 ABB. All rights reserved.

Operating manual - OmniCore

3HAC065036-001 Revision: D

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

3HAC065036-001 Revision: D

© Copyright 20192020 ABB. All rights reserved.

207

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

© Copyright 20192020 ABB. All rights reserved.

Operating manual - OmniCore

3HAC065036-001 Revision: D

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.

209 Operating manual - OmniCore

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

© Copyright 20192020 ABB. All rights reserved.

Operating manual - OmniCore

3HAC065036-001 Revision: D

Index

Index

A applications

overview, 31

approach points, 113

apps, 19

axes

illustration, 65

B backup

directory, 204 system, 204

backward button, 16

backward execution

about, 143 limitations, 143

battery shutdown

service routine, 150

C

calculation result, 116

calender time counter, 152

Calibrate

application, 33

calibrating

CalPendulum, 151

LoadIdentify, 153

calibration, 54

fine calibration, 52

status, 50

CalPendulum

service routine, 151

Code

application, 31

connector, 15

coordinate systems

overview, 61

cursor

about, 100

D

data instance, 102

data types

creating new, 102

editing, 104

date and time, 36

detaching FlexPendant, 186 disconnecting FlexPendant, 186

displacements

work object, 124, 126

E elongator points

define, 116

emergency stop button

FlexPendant, 15

enabling device, 15, 17

using, 139

Essential App Package

[3120-2], 31

F files

programs, 77

FlexPendant

connecting, disconnecting, 186

hardware buttons, 16

how to hold, 18

Operating manual - OmniCore

3HAC065036-001 Revision: D

© Copyright 20192020 ABB. All rights reserved.

left-hander, 18

main parts, 15 overview, 15

screen, 19, 23

forward button, 16

H

Hard buttons, 16

hold-to-run, 18, 177

using, 139

I

I/O

changing values, 194 simulating, 194

I/O, inputs and outputs, 192

I/O

application, 32

incremental movement

definition, 67

instances

data types, 102

instructions

backward execution, 143

copying and pasting, 97 copying arguments, 97 delete, 97

editing arguments, 96 handling of, 96

running from a specific, 141

IsBrakeCheckActive, 163, 168

J

Jog

application, 31

jogging

about, 59

additional axes, 70 axes in independent mode, 70 non calibrated mechanical units, 70 restrictions, 70 world zones, 70

joystick, 15 using, 15

joystick directions

illustration, 65

L

lead-through, 71

Limited App Package

[3120-1], 31

load, 71

LoadIdentify

service routine, 153

loads

identifying, 153

Locking operating mode, 45

M mechanical unit

selecting, 66

modifying positions

data instances, 104

overview, 189

modules

deleting, 84

handling of, 81

loading, 82

renaming, 83

saving, 82

211

Index

Motion mode

selecting, 66

Motion Pointer, MP

about, 100

moved distance counter, 152

multitasking programs

about, 178 loading, running and stopping, 178

viewing, 180

N

network settings, 38

O

Operate

application, 33

operation time counter, 152

operator messages, 23

P path

returning to, 181 path return region, 181

payload, 71

payloads

creating, 134 declarations, 134

deleting, 138

display definitions, 136 editing, 136

identifying, 153

selecting, 66

personalizing, 34

PIN code

permanent PIN code, 46

temporary PIN code, 45

positions

about, 68 exact, 68

modifying, 189 moving to, 189

reading, 68

tuning, 189

program data

editing, 104

program directory, 77

program execution start button, 17

programmable buttons

editing, 16, 39

programmable keys

editing, 16, 39

Program Package

[3151-1], 31

Program Pointer, PP

about, 100

programs

about files, 77 handling of, 77

multitasking, 178

renaming, 79

saving, 78

starting, 174

step by step execution, 143

stopping, 177

R reset button

location, 15

using, 16

212 resolvers

about, 68

restore

system, 206

revolution counters

about, 68

battery shutdown, 150

setting, 56 updating, 56

RobotStudio

overview, 20

routines

changing declarations, 91

copying, 89

defining parameters, 87

deleting, 94

handling of, 85

moving, 92

renaming, 93

running a specific, 142

running service routines, 146

run button, 17

S service routines

bat_shutdown, 150

CalPendulum, 151

LoadIdentify, 153

running, 146

ServiceInfo, 152

Settings

application, 32

signals

changing values, 194 simulating, 194

viewing, 192

SIS, Service Information System

counters, 152 service routine, 152

SMB

battery shutdown, 150

start button, 16 step backward button, 16

step by step execution, 143

step forward button, 16 stop button, 16

system

backup, 204

restore, 206

T targets

modifying, 189 moving to, 189 tuning, 189

tasks

loading program to, 179

normal, static, semistatic, 178 setting up, 178 starting and stopping, 178

teach pendant

connecting, disconnecting, 186

three-position enabling device, 15, 17

thumb button, 15

using, 18

tool center point

about, 110

calculation result, 116

Operating manual - OmniCore

3HAC065036-001 Revision: D

© Copyright 20192020 ABB. All rights reserved.

define, 115

defining, 116

measuring, 117

TCP, 110

working area variations, 116

tool frame

defining, 112 methods, 112

reorientation test, 116 tool orientation, 116

setting, 66 tool orientation, definition, 66

tools

aligning, 73

creating, 110

deleting, 119

editing definitions, 118

identifying loads, 153

make stationary, 120

selecting, 66

setting up tool coordinate system, 120

touch screen, 19

TPU

connecting, disconnecting, 186

tuning

positions, 189 targets, 189

W work objects

declarations, 123

defining, 124

deleting, 131

displacements, 124, 126

editing work objects data, 130

selecting, 66

Index

Operating manual - OmniCore

3HAC065036-001 Revision: D

© Copyright 20192020 ABB. All rights reserved.

213

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

© Copyright 20192020 ABB. All rights reserved.

Specifications subject to change without notice.

advertisement

Related manuals

Download PDF

advertisement

Table of contents