advertisement
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
2 Navigating and handling the FlexPendant
FlexPendant applications ..........................................................................
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.6 Changing programmable keys .......................................................
3 OmniCore controller operating modes
Handling of programs ..............................................................................
Handling of modules ................................................................................
Operating manual - OmniCore
3HAC065036-001 Revision: D
5
© Copyright 20192020 ABB. All rights reserved.
Table of contents
Example: Add movement instructions .........................................................
About the Program and Motion Pointers ......................................................
View data in specific tasks, modules, or routines ...........................................
Creating new data instance .......................................................................
What is the tool center point? ....................................................................
What is a work object? .............................................................................
Creating a work object .............................................................................
Defining the work object coordinate system .................................................
Editing the work object data ......................................................................
Setup stationary work object .....................................................................
Editing the payload data ...........................................................................
Using the hold-to-run function ...................................................................
Running the program from a specific instruction ...........................................
Running a specific routine ........................................................................
Stepping instruction by instruction .............................................................
Running a service routine .........................................................................
Connected Services Reset service routine ...................................................
Battery shutdown service routine ...............................................................
Calibration Pendulum service routine ..........................................................
Service Information System service routine ..................................................
Load identification service routine ..............................................................
Brake check service routine ......................................................................
Cyclic Brake Check service routine .............................................................
Stopping programs ..................................................................................
Using multitasking programs .....................................................................
Returning the robot to the path ..................................................................
8 Handling inputs and outputs, I/O 191
Simulating the signals and changing the signal values .............................................
6 Operating manual - OmniCore
3HAC065036-001 Revision: D
© Copyright 20192020 ABB. All rights reserved.
Table of contents
10 Install, update, restart, and other configuration 201
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
.
• 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
.
• 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
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
.
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
.
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
.
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
.
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
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
.
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
or
.
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
.
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
.
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
.
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 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
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
axes
B backup
backward execution
battery shutdown
C
Calibrate
calibrating
CalPendulum
Code
coordinate systems
cursor
D
data types
detaching FlexPendant, 186 disconnecting FlexPendant, 186
displacements
E elongator points
emergency stop button
Essential App Package
F files
FlexPendant
connecting, disconnecting, 186
Operating manual - OmniCore
3HAC065036-001 Revision: D
© Copyright 20192020 ABB. All rights reserved.
H
I
I/O
changing values, 194 simulating, 194
I/O
incremental movement
instances
instructions
copying and pasting, 97 copying arguments, 97 delete, 97
editing arguments, 96 handling of, 96
J
Jog
jogging
joystick directions
L
Limited App Package
LoadIdentify
loads
M mechanical unit
modifying positions
modules
211
Index
Motion mode
Motion Pointer, MP
multitasking programs
about, 178 loading, running and stopping, 178
N
O
Operate
P path
returning to, 181 path return region, 181
payloads
creating, 134 declarations, 134
display definitions, 136 editing, 136
PIN code
positions
program data
program execution start button, 17
programmable buttons
programmable keys
Program Package
Program Pointer, PP
programs
about files, 77 handling of, 77
R reset button
212 resolvers
restore
revolution counters
RobotStudio
routines
S service routines
Settings
signals
changing values, 194 simulating, 194
SIS, Service Information System
counters, 152 service routine, 152
SMB
start button, 16 step backward button, 16
step forward button, 16 stop button, 16
system
T targets
modifying, 189 moving to, 189 tuning, 189
tasks
normal, static, semistatic, 178 setting up, 178 starting and stopping, 178
teach pendant
connecting, disconnecting, 186
three-position enabling device, 15, 17
tool center point
Operating manual - OmniCore
3HAC065036-001 Revision: D
© Copyright 20192020 ABB. All rights reserved.
tool frame
reorientation test, 116 tool orientation, 116
setting, 66 tool orientation, definition, 66
tools
setting up tool coordinate system, 120
TPU
connecting, disconnecting, 186
tuning
W work objects
editing work objects data, 130
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
advertisement
Table of contents
- 1 Cover Page
- 5 Table of contents
- 9 Overview of this manual
- 11 Product documentation
- 13 1 Introduction to OmniCore
- 13 1.1 About this section
- 13 Overview
- 14 1.2 The OmniCore controller
- 14 Overview of OmniCore
- 15 1.3 The FlexPendant
- 15 Introduction to the FlexPendant
- 15 Main parts
- 15 Joystick
- 16 USB port
- 16 Reset button
- 16 Hard buttons
- 17 Three-position enabling device
- 18 Thumb button
- 18 How to hold the FlexPendant
- 19 Touch screen elements
- 20 1.4 RobotStudio
- 20 Overview of RobotStudio
- 20 RobotStudio for real controllers
- 21 2 Navigating and handling the FlexPendant
- 21 2.1 Overview
- 21 Introduction to this section
- 21 Handling and troubleshooting the FlexPendant
- 21 Hardware and software options
- 22 2.2 The user interface
- 22 2.2.1 Introduction
- 22 Overview
- 22 Menus
- 23 2.2.2 Status bar
- 23 Overview
- 23 QuickSet window
- 24 Control Panel
- 25 Jog Settings
- 26 Execution Settings
- 27 Visualization
- 28 Info
- 29 ABB Ability
- 30 Logout/Restart
- 31 2.2.3 FlexPendant applications
- 31 Code
- 31 Jog
- 32 Settings
- 32 I/O
- 33 Operate
- 33 Calibrate
- 34 2.3 Personalizing the FlexPendant
- 34 2.3.1 Basic settings
- 34 2.3.1.1 Introduction
- 34 Overview
- 35 2.3.1.2 System information
- 35 Information
- 36 2.3.1.3 Changing date and time
- 36 Date and time settings
- 37 2.3.1.4 Configuring the interface language
- 37 Overview
- 37 Changing language
- 38 2.3.1.5 Identity settings
- 38 Overview
- 38 Configuring the identity settings
- 39 2.3.1.6 Changing programmable keys
- 39 Overview
- 39 Changing programmable keys
- 41 2.4 Updating the applications
- 41 Overview
- 43 3 OmniCore controller operating modes
- 43 3.1 Introduction
- 43 Overview
- 43 Safety aspects of the Keyless Mode Selector
- 44 3.2 Changing operating modes
- 44 Procedure
- 45 3.3 Locking and unlocking operating modes
- 45 Introduction
- 45 Configuring a temporary PIN-code
- 46 Configuring a permanent PIN-code
- 47 Unlocking the operating mode
- 49 4 Calibration
- 49 4.1 Introduction
- 49 Overview
- 50 4.2 How to check if the robot needs calibration
- 50 Check robot calibration status
- 50 What kind of calibration is needed?
- 52 4.3 Fine calibration
- 52 Overview
- 52 Fine calibration procedure
- 54 4.4 Calibration
- 54 Overview
- 54 Calibration procedure for industrial robots
- 55 Calibration procedure for IRB 14050
- 56 4.5 Updating revolution counters
- 56 Overview
- 56 Storing the revolution counter setting
- 59 5 Jogging
- 59 5.1 Introduction to jogging
- 59 What is jogging?
- 59 Prerequisites
- 59 Jogging the robot
- 60 About motion modes and robots
- 60 About motion modes and additional axes
- 61 5.2 Coordinate systems for jogging
- 61 Coordinate systems
- 61 The base coordinate system
- 62 The work object coordinate system
- 63 The tool coordinate system
- 64 The world coordinate system
- 64 Examples of use
- 65 Illustration of axes and joystick directions
- 66 5.3 Basic settings for jogging
- 66 Selecting mechanical unit for jogging
- 66 Selecting Motion mode
- 66 Selecting tool, work object, and payload
- 66 Setting the tool orientation
- 66 Jogging axis by axis
- 67 Incremental movement for precise positioning
- 68 5.4 Reading the exact position
- 68 About positions and revolution counters
- 68 How robot positions are displayed
- 68 How additional axes positions are displayed
- 68 Reading the exact position
- 69 Position format
- 70 5.5 Restrictions to jogging
- 70 Jog additional axes
- 70 Jog mechanical units that are not calibrated
- 70 Jog robot axes in independent mode
- 70 Jog while using world zones
- 70 Jog with axis loads not set
- 70 Jog with tool or payload weights not set
- 71 5.6 Lead-through
- 71 What is lead-through?
- 71 Using lead-through
- 72 5.7 Supervision
- 72 Motion supervision
- 72 Functions in RobotWare base
- 72 Functions in Collision Detection
- 73 5.8 Align tool
- 73 Overview
- 73 Procedure
- 75 6 Programming and testing
- 75 6.1 Introduction
- 75 Overview
- 76 6.2 Before you start programming
- 76 Programming tools
- 76 Define tools, payloads, and work objects
- 76 Define coordinate systems
- 77 6.3 Programming concept
- 77 6.3.1 Handling of programs
- 77 Overview
- 77 About program files
- 77 Creating a new program
- 78 Saving a program
- 79 Renaming a loaded program
- 79 Deleting a program
- 81 6.3.2 Handling of modules
- 81 Overview
- 81 Creating a new module
- 82 Loading an existing module
- 82 Saving a module
- 83 Renaming a module
- 83 Changing type of module
- 84 Deleting a module
- 85 6.3.3 Handling of routines
- 85 Overview
- 85 Creating a new routine
- 87 Defining parameters in routine
- 89 Creating a copy of a routine
- 91 Changing the declaration of a routine
- 92 Moving a routine
- 93 Renaming a routine
- 94 Deleting a routine
- 96 6.3.4 Handling of instructions
- 96 Instructions
- 96 Adding instructions
- 96 Editing instruction arguments
- 97 Copying and pasting instructions or arguments
- 97 Deleting an instruction
- 97 Commenting instruction rows
- 98 6.3.5 Example: Add movement instructions
- 98 Overview
- 98 Add movement instructions
- 98 Result
- 100 6.3.6 About the Program and Motion Pointers
- 100 The Program Pointer
- 100 The Motion Pointer
- 100 The cursor
- 100 Code Editor
- 101 6.4 Data types
- 101 6.4.1 View data in specific tasks, modules, or routines
- 101 Viewing data in specific tasks, modules, or routines
- 102 6.4.2 Creating new data instance
- 102 Creating new data instance
- 104 6.4.3 Editing data instances
- 104 Overview
- 104 Viewing and editing data instances
- 104 Deleting a data instance
- 105 Copying a data instance
- 106 6.5 Tools
- 106 6.5.1 What is a tool?
- 106 Tool
- 107 Illustration
- 108 6.5.2 What is the tool center point?
- 108 Illustration
- 108 Description
- 108 Moving TCP
- 109 Stationary TCP
- 110 6.5.3 Creating a tool
- 110 What happens when you create a tool?
- 110 How to create a tool
- 111 Tool declaration settings
- 112 6.5.4 Defining the tool frame
- 112 Preparations
- 112 Available methods
- 112 How to define position and orientation
- 115 How to proceed with tool frame definition
- 116 How to define elongator points
- 116 Is the calculated result good enough?
- 117 6.5.5 Editing the tool data
- 117 Tool data
- 117 Editing the tool data
- 117 Measuring the tool center point
- 118 Editing the tool definition
- 119 6.5.6 Deleting a tool
- 119 Deleting a tool
- 120 6.5.7 Setup for stationary tools
- 120 Stationary tools
- 120 Make a tool stationary
- 120 Make a work object robot held
- 120 Set up the tool coordinate system
- 122 6.6 Work objects
- 122 6.6.1 What is a work object?
- 122 Illustration
- 122 Description
- 123 6.6.2 Creating a work object
- 123 What happens when I create a work object?
- 123 Creating a work object
- 123 Work object declaration settings
- 124 6.6.3 Defining a work object
- 124 Overview
- 124 Defining a work object
- 126 6.6.4 Defining the work object coordinate system
- 126 Overview
- 126 How to define the work object coordinate system
- 128 How to define the user frame
- 129 How to define the object frame
- 130 6.6.5 Editing the work object data
- 130 Overview
- 130 How to display the work object data
- 130 How to set user and object frame values manually
- 131 6.6.6 Deleting a work object
- 131 Deleting a work object
- 132 6.6.7 Setup stationary work object
- 132 Make a work object robot held
- 133 6.7 Payloads
- 133 6.7.1 Overview
- 133 Description
- 134 6.7.2 Creating a payload
- 134 What happens when I create a payload?
- 134 Adding a new payload and setting data declaration
- 134 Payload declaration settings
- 135 Setting the value for ModalPayLoadMode
- 136 6.7.3 Editing the payload data
- 136 Overview
- 136 Displaying the payload definition
- 136 Changing the payload data
- 136 Using the PayLoadsInWristCoords parameter
- 138 6.7.4 Deleting a payload
- 138 Deleting a payload
- 139 6.8 Testing
- 139 6.8.1 Using the hold-to-run function
- 139 When to use the hold-to-run function
- 139 Using the hold-to-run function
- 141 6.8.2 Running the program from a specific instruction
- 141 Overview
- 141 Running the program from a specific instruction
- 142 6.8.3 Running a specific routine
- 142 Overview
- 142 Prerequisites
- 142 Running a specific routine
- 143 6.8.4 Stepping instruction by instruction
- 143 Overview
- 143 Select step mode
- 143 Stepping
- 143 Limitations of backward execution
- 143 Backward execution behavior
- 144 Example of backward execution
- 146 6.9 Service routines
- 146 6.9.1 Running a service routine
- 146 Service routines
- 146 Prerequisites
- 146 Running a service routine
- 148 Limitations
- 149 6.9.2 Connected Services Reset service routine
- 149 Overview
- 149 Procedure
- 150 6.9.3 Battery shutdown service routine
- 150 When to use this service routine
- 150 Bat_shutdown
- 151 6.9.4 Calibration Pendulum service routine
- 151 When to use this service routine
- 151 CalPendulum
- 152 6.9.5 Service Information System service routine
- 152 When to use this service routine
- 152 ServiceInfo
- 152 Supervised functions
- 153 6.9.6 Load identification service routine
- 153 When to use this service routine
- 153 LoadIdentify
- 154 Configuration angles
- 154 LoadIdentify with arm loads mounted
- 155 Prerequisites for tool loads
- 155 Prerequisites for payloads
- 156 Running LoadIdentify
- 157 Load diagram check
- 158 Running LoadIdentify with ModalPayLoadMode deactivated
- 159 Error handling
- 159 Limitations for LoadIdentify
- 160 LoadIdentify for 4-axis robots
- 162 6.9.7 Brake check service routine
- 162 Overview
- 162 Prerequisites for running the BrakeCheck service routine
- 162 Exclude individual axes from the brake check
- 162 Running the brake check
- 163 Interrupt the brake check
- 163 Brake maintenance
- 163 Event logs
- 163 Brake check on additional axes
- 164 Description of the I/O setup
- 164 Signal configuration
- 165 Description of the BC_config_IO module
- 165 Description of the EIO.cfg file
- 166 Brake check signal description
- 166 Introduction
- 166 Timing sequence for brake check signals
- 166 Beginning of brake check
- 166 End of brake check
- 166 Program Pointer moved to Main after interrupted brake check
- 166 During the first brake check test
- 166 Interrupted brake check test, program pointer still in BrakeCheck routine
- 167 Interrupted brake check test, program pointer moved from BrakeCheck routine
- 167 Configure system parameters
- 167 About the system parameters
- 167 Type Mechanical Unit
- 167 Type Arm
- 167 Type Brake
- 168 6.9.8 Cyclic Brake Check service routine
- 168 Introduction
- 168 Functionality
- 168 Pre-requisites for Cyclic Brake Check
- 168 Activate Cyclic Brake Check
- 169 Cyclic Brake Check configuration
- 170 Example of RAPID program
- 170 Brake maintenance
- 171 Interrupted Cyclic Brake Check
- 173 7 Running in production
- 173 7.1 Introduction
- 173 Overview
- 174 7.2 Basic procedures
- 174 7.2.1 Starting programs
- 174 Starting programs
- 175 Continue running after the program is changed
- 175 Restart from the beginning
- 176 Limitations
- 177 7.2.2 Stopping programs
- 177 Stopping programs
- 177 Stopping execution when using hold-to-run or step-by-step execution
- 178 7.2.3 Using multitasking programs
- 178 Overview
- 178 Manually set up tasks
- 178 How tasks are run
- 178 Load, run, and stop multitasking programs
- 179 Loading programs to a task
- 179 Load a program in Operate
- 179 Load a program in Code
- 180 Viewing multitasking programs
- 181 7.2.4 Returning the robot to the path
- 181 About paths and return regions
- 181 Returning to path
- 183 7.3 Managing Dashboards
- 183 Overview
- 183 Defining cards
- 183 Defining dashboards
- 184 Assigning cards to dashboard
- 184 Assigning a card to multiple dashboards
- 185 Deleting cards from dashboards
- 186 7.4 Connecting and detaching a FlexPendant
- 186 Introduction
- 186 Detaching the FlexPendant in automatic mode
- 187 Connecting the FlexPendant
- 189 7.5 Modifying positions
- 189 Overview
- 189 Moving the robot to a programmed position
- 191 8 Handling inputs and outputs, I/O
- 191 8.1 Introduction
- 191 Overview
- 192 8.2 Viewing signal lists
- 192 Overview
- 192 Procedure
- 193 8.3 Setting signals as favorite signals
- 193 Overview
- 193 Procedure
- 194 8.4 Simulating the signals and changing the signal values
- 194 Simulating the signals
- 194 Changing the signal values
- 195 8.5 I/O devices
- 195 Managing I/O devices
- 196 Upgrading firmware
- 197 9 Handling the event log
- 197 9.1 Introduction
- 197 Overview
- 198 9.2 Accessing the event log
- 198 Open and close an event log
- 199 9.3 Saving log entries
- 199 Overview
- 199 Save all log entries
- 200 9.4 Clearing the log entries
- 200 Why should you clear the log entries?
- 200 Clear the log entries of a specific domain
- 200 Clear all the log entries
- 201 10 Install, update, restart, and other configuration
- 201 10.1 Introduction
- 201 Overview
- 202 10.2 Start installer
- 202 Overview
- 202 Procedure
- 202 Updating the applications
- 203 10.3 Restart
- 203 Restart controller and FlexPendant
- 203 Procedure
- 204 10.4 Back up the system
- 204 When do I need this?
- 204 When is backup possible?
- 204 BACKUP directory
- 204 Back up the system
- 206 10.5 Restore the system
- 206 When do I need this?
- 206 Restore the system
- 207 10.6 Reset user data
- 207 Overview
- 207 Procedure
- 208 10.7 FlexPendant logs
- 208 Overview
- 208 Procedure
- 209 10.8 Connection log
- 209 Overview
- 209 Procedure
- 210 10.9 System diagnostics
- 210 Overview
- 210 Procedure
- 211 Index