0% found this document useful (0 votes)
64 views

UR10e Software 5.13 Handbuch

Uploaded by

lslenaschmitt
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
64 views

UR10e Software 5.13 Handbuch

Uploaded by

lslenaschmitt
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 199

Universal Robots e-Series

Software Manual

e-Series
Original instructions (en)
Contents
1. Introduction 11
1.1. Robot Arm Basics 11
1.2. PolyScope Basics 11
1.2.1. Touch Screen 12
1.2.2. Header Icons/Tabs 12
1.2.3. Footer Buttons 14

1.3. Installation 14
1.3.1. Installing the Robot Arm and Control Box 14
1.3.2. Turning the Control Box On/Off 15

Copyright © 2009–2022 by Universal Robots A/S. All rights reserved.


1.4. Initialization 15
1.4.1. Starting up the Robot Arm 16

1.5. Quick System Start-up 17


1.6. The First Program 17
1.7. Robot Registration and License file 18
1.7.1. Activate Remote TCP & Toolpath URCap via web 19
1.7.2. Activate the Software Licenses via myUR 19
1.7.3. Deactivate Software Licenses 20

1.8. Robot Cyber Security 20


1.8.1. Cyber Security Pre-requisites 20
1.8.2. Hardening Cyber Security 21

2. Freedrive 23
2.1. Enabling Freedrive: Standard Teach Pendant 24
2.1.1. Using the Freedrive Button 25
2.1.2. Using the Freedrive Button on the Move Tab Screen 25

2.2. Enabling Freedrive: 3PE Teach Pendant 25


3. Backdrive 26
3.1. Enabling Backdrive: Standard Teach Pendant 26
3.2. Enabling Backdrive: 3PE Teach Pendant 26
3.3. Backdrive Mode Inspection 26
4. Operational Mode Selection 29
4.1. Operational Modes 29
4.2. Three-Position Enabling Device 31
4.2.1. Manual High Speed 31

Software Manual e-Series


5. Safety Configuration 33
5.1. Safety Settings Basics 33
5.1.1. Accessing Safety Configuration 33

5.2. Setting a Safety Password 34


5.3. Changing the Safety Configuration 34
5.4. Applying New Safety Configuration 35
5.5. Safety Checksum 35
5.6. Safety Menu Settings 35
5.7. Robot Limits 35
5.8. Safety Modes 37
5.9. Tolerances 38
5.10. Joint Limits 38
Copyright © 2009–2022 by Universal Robots A/S. All rights reserved.

5.11. Planes 39
5.11.1. Modes 39
5.11.2. Configuring Safety Planes 40
5.11.3. Elbow 41
5.11.4. Color Codes 41

5.12. Freedrive 42
5.12.1. Using the Freedrive Button 42

5.13. Backdrive 42
5.13.1. Enabling Backdrive 42

5.14. Tool Position 43


5.15. Tool Direction 44
5.15.1. Limit Properties 45
5.15.2. Tool Properties 46

5.16. I/O 46
5.16.1. Input Signals 46
5.16.2. Output Signals 47
5.16.3. OSSD Safety Signals 48

5.17. Hardware 49
5.17.1. Selecting Available Hardware 49

5.18. Safe Home Position 49


5.18.1. Syncing from Home 50

5.19. Safe Home Output 50


5.19.1. Defining Safe Home Output 50

e-Series Software Manual


5.20. Edit Safe Home 50
5.20.1. Editing Safe Home 51

6. Run Tab 53
6.1. Program 55
6.2. Variables 55
6.3. Robot Age 56
6.4. Move Robot into Position 56
6.4.1. Accessing the Move Robot into Position Screen 56
6.4.2. Move robot to: 57
6.4.3. Manual 57

7. Program Tab 59
7.1. Move Robot into Position 59

Copyright © 2009–2022 by Universal Robots A/S. All rights reserved.


7.1.1. Accessing the Move Robot into Position Screen 59
7.1.2. Move robot to: 60
7.1.3. Manual 60

7.2. Program Tree 60


7.2.1. Program Tree Toolbar 61

7.3. Variable Setup 61


7.3.1. Program Execution Indication 63

7.4. Expression Editor 64


7.5. Starting a Program from a Selected Node 64
7.5.1. Using Play from Selection 65

7.6. Using Breakpoints in a Program 65


7.7. Single Step in a Program 67
7.8. Command Tab 67
7.8.1. Add Before Start Sequence 67
7.8.2. Program Loops Forever 67

7.9. Graphics Tab 68


7.10. Variables Tab 69
7.11. Basic program nodes 70
7.11.1. Move 70
7.11.2. Fixed Waypoint 73
7.11.3. Relative Waypoint 78
7.11.4. Variable Waypoint 79
7.11.5. Direction 80

Software Manual e-Series


7.11.6. Until 81
7.11.7. Until-Tool Contact 81
7.11.8. Wait 83
7.11.9. Set 84
7.11.10. Popup 84
7.11.11. Halt 85
7.11.12. Comment 86
7.11.13. Folder 86
7.11.14. Set Payload 87

7.12. Advanced program nodes 88


7.12.1. Loop 88
7.12.2. If 88
7.12.3. SubProgram 90
Copyright © 2009–2022 by Universal Robots A/S. All rights reserved.

7.12.4. Assignment 91
7.12.5. Script 91
7.12.6. Event 92
7.12.7. Thread 93
7.12.8. Switch 93
7.12.9. Timer 94
7.12.10. Home 95

7.13. Templates 95
7.13.1. Palletizing 95
7.13.2. Seek 101
7.13.3. Force 105
7.13.4. Force value selection 107
7.13.5. Speed limits 107
7.13.6. Test force settings 107
7.13.7. Conveyor Tracking 108
7.13.8. Screwdriving 109
7.13.9. Screwdrive Until 110

7.14. URCaps 111


7.14.1. Remote TCP and Toolpath URCap 111
7.14.2. Remote TCP Movement Types 113
7.14.3. Remote TCP Waypoint 113
7.14.4. Remote TCP Toolpath 114
7.14.5. Remote TCP 116
7.14.6. Remote TCP PCS 116
7.14.7. Regular TCP Toolpath Moves 119

e-Series Software Manual


8. Installation Tab 123
8.1. General 123
8.2. TCP Configuration 123
8.2.1. Position 123
8.2.2. Orientation 123
8.2.3. Adding, Renaming, Modifying and Removing TCPs 124
8.2.4. Teaching TCP position 124
8.2.5. Teaching TCP orientation 125

8.3. Payload 125


8.3.1. Adding, Renaming, Modfying and Removing Payloads 126
8.3.2. Setting the Center of Gravity 126
8.3.3. Payload Estimation 127
8.3.4. Inertia 127

Copyright © 2009–2022 by Universal Robots A/S. All rights reserved.


8.4. Mounting 128
8.5. I/O Setup 129
8.5.1. I/O Signal Type 129
8.5.2. Assigning User-defined Names 130
8.5.3. I/O Actions and I/O Tab Control 130

8.6. Installation Variables 132


8.7. Startup 133
8.7.1. Loading a Startup Program 134
8.7.2. Starting a Startup Program 134

8.8. Tool I/O 135


8.9. I/O Interface Control 135
8.10. Tool Analog Inputs 136
8.10.1. Tool Communication Interface 136
8.10.2. Configuring the Tool Communication Interface (TCI) 136

8.11. Digital Output Mode 136


8.11.1. Dual Pin Power 137

8.12. Smooth Transition Between Safety Modes 137


8.12.1. Adjusting Acceleration/Deceleration Settings 137

8.13. Home 137


8.13.1. Defining Home 138

8.14. Conveyor Tracking Setup 138


8.14.1. Defining a Conveyor 138
8.14.2. Conveyor Parameters 138

Software Manual e-Series


8.14.3. Tracking Parameters 139

8.15. Screwdriving Setup 139


8.15.1. Configuring a Screwdriver 140
8.15.2. Configuring the Screwdriver Position 140
8.15.3. Configuring the Screwdriver Interface 141

8.16. Safety 141


8.17. Features 142
8.17.1. Using a feature 143
8.17.2. Using Move here 144
8.17.3. Point feature 144
8.17.4. Line feature 144
8.17.5. Plane Feature 145
8.17.6. Example: Manually Updating a Feature to Adjust a Program 146
Copyright © 2009–2022 by Universal Robots A/S. All rights reserved.

8.17.7. Example: Dynamically Updating a Feature Pose 147


8.17.8. Feature Edit 149

8.18. Fieldbus 151


8.19. MODBUS Client I/O Setup 151
8.19.1. Refresh 151
8.19.2. Add unit 151
8.19.3. Delete unit 152
8.19.4. Set unit IP 152
8.19.5. Sequential mode 152
8.19.6. Add signal 152
8.19.7. Delete signal 152
8.19.8. Set signal type 152
8.19.9. Set signal address 153
8.19.10. Set signal name 153
8.19.11. Signal value 153
8.19.12. Signal connectivity status 153
8.19.13. Show Advanced Options 154
8.19.14. Advanced Options 154

8.20. EtherNet/IP 155


8.21. PROFINET 155
8.22. PROFIsafe 155
8.22.1. Communicating via PROFIsafe 156
8.22.2. Configuring PROFIsafe 158
8.22.3. Enabling PROFIsafe 159

e-Series Software Manual


9. Move Tab 161
9.1. Move Tool 161
9.2. Robot 161
9.2.1. Feature 162
9.2.2. Active TCP 162
9.2.3. Home 162
9.2.4. Freedrive 162
9.2.5. Align 162

9.3. Tool Position 162


9.4. Joint Position 162
9.5. Pose Editor Screen 163
10. I/O Tab 167

Copyright © 2009–2022 by Universal Robots A/S. All rights reserved.


10.1. Robot 167
10.2. MODBUS 168
11. Log Tab 171
11.1. Readings and Joint Load 171
11.2. Date Log 171
11.3. Saving Error Reports 172
11.4. Technical Support File 173
12. Program and Installation Manager 175
12.1. Open... 175
12.2. New... 176
12.3. Save... 177
12.4. File manager 178
13. Hamburger menu 181
13.1. Help 181
13.1.1. How to find the QR code and URL: 181

13.2. About 182


13.3. Settings 183
13.3.1. Preferences 183
13.3.2. Admin Password 183

13.4. System 185


13.4.1. Backup and Restore 185
13.4.2. Software Update 185
13.4.3. Network 186

Software Manual e-Series


13.4.4. Managing URCaps 186
13.4.5. Remote Control 187
13.4.6. Security 188

13.5. Shutdown Robot 192


14. Index 193
Copyright © 2009–2022 by Universal Robots A/S. All rights reserved.

e-Series Software Manual


1. Introduction

1. Introduction
This chapter provides the essential information you need to start using your Universal Robots
robot.

NOTE
Before powering on the robot for the first time, your designated Universal Robots
robot integrator must:
1. Read the safety information in the Hardware Installation Manual .
2. Set the safety configuration parameters defined by the risk assessment (see
5. Safety Configuration on page 33).

Copyright © 2009–2022 by Universal Robots A/S. All rights reserved.


1.1. Robot Arm Basics
The Universal Robots robot arm is composed of tubes and joints. You use the PolyScope to
coordinate the motion of these joints to move the robot arm. You attach tools to end of the robot
arm, or Tool Flange . Moving the robot arm positions the tool. You cannot position the tool directly
above, or directly below the Base.
• Base: where the robot is mounted.
• Shoulder and Elbow: make larger movements.
• Wrist 1 and Wrist 2: make finer movements.
• Wrist 3: where the tool is attached to the Tool Flange.

1.2. PolyScope Basics


PolyScope is the Graphical User Interface (GUI) on the Teach Pendant that operates the robot arm
via a touch screen. You create, load and execute programs for the robot in PolyScope. The
PolyScope interface is divided as shown in the following illustration:
• A: Header with icons/tabs that make interactive screens available to you.
• B: Footer with buttons that control your loaded program/s.
• C: Screen with fields and options to manage and monitor robot actions.

Software Manual 11 e-Series


1. Introduction
Copyright © 2009–2022 by Universal Robots A/S. All rights reserved.

1.2.1. Touch Screen


The Teach Pendant touch screen is optimized for use in industrial environments. Unlike consumer
electronics, Teach Pendant touch screen sensitivity is, by design, more resistant to environmental
factors such as:
• water droplets and/or machine coolant droplets
• radio wave emissions
• other conducted noise from the operating environment.

The touch sensitivity is designed to avoid false selections on PolyScope, and to prevent
unexpected motion of the robot.

Using the Touch Screen


For best results, use the tip of your finger to make a selection on the screen.
In this manual, this is referred to as a "tap".
A commercially available stylus may be used to make selections on the screen if desired.

The following section lists and defines the icons/tabs and buttons in the PolyScope interface.

1.2.2. Header Icons/Tabs

Run is a simple means of operating the robot using pre-written programs.

e-Series 12 Software Manual


1. Introduction

Program creates and/or modifies robot programs.

Installation configures robot arm settings and external equipment e.g. mounting and safety.

Move controls and/or regulates robot movement.

I/O monitors and sets live Input/Output signals to and from robot control box.

Log indicates robot health as well as any warning or error messages.

Program and Installation Manager selects and displays active

Copyright © 2009–2022 by Universal Robots A/S. All rights reserved.


program and installation (see 12.4. File manager on page 178). The Program and Installation
Manager includes: File Path, New, Open and Save.

New... creates a new Program or Installation.

Open... opens a previously created and saved Program or Installation.

Save... saves a Program, Installation or both at the same time.

Automatic indicates the operational mode of the robot is set to Automatic. Tap it to switch
to the Manual operational mode.

Manual indicates the operational mode of the robot is set to Manual. Tap it to switch to the
Automatic operational mode.
The Local mode and Remote mode icons only become accessible if you enable Remote Control.

Local indicates the robot can be controlled locally. Tap it to switch to Remote control.

Remote indicates the robot can be controlled from a remote location. Tap it to switch to
Local control.

Safety Checksum displays the active safety configuration.

Software Manual 13 e-Series


1. Introduction

Hamburger Menu accesses PolyScope Help, About and Settings.

1.2.3. Footer Buttons

Initialize manages robot state. When RED, press it to make the robot operational.

Speed Slider shows in real time the relative speed at which the robot arm
moves, taking safety settings into account.

Simulation button toggles a program execution between Simulation Mode


and the Real Robot. When running in Simulation Mode, the Robot Arm does not move. Therefore,
Copyright © 2009–2022 by Universal Robots A/S. All rights reserved.

the robot cannot damage itself or nearby equipment in a collision. If you are unsure what the Robot
Arm will do, use Simulation Mode to test programs.

Manual High Speed allows the tool speed to temporarily exceed 250mm/s. This hold-
to-run function is only available in Manual mode when a Three-Position Enabling Device is
configured.

Play starts current loaded robot Program.

Step allows a Program to be run single-stepped.

Stop halts current loaded robot Program.

1.3. Installation
1.3.1. Installing the Robot Arm and Control Box
Install and power on the robot arm and Control Box to start using PolyScope.
See Hardware Installation Manual for detailed installation instructions.

e-Series 14 Software Manual


1. Introduction

1. Unpack the robot arm and the Control Box.


2. Mount the robot arm on a sturdy, vibration-free surface.
Verify the surface can withstand at least 10 times the full torque of the base joint and at
least 5 times the weight of the robot arm.
3. Place the Control Box on its Foot.
4. Connect the robot cable to the robot arm and the Control Box.
5. Plug in the mains plug of the control box.

WARNING
Tipping hazard. If the robot is not securely placed on a sturdy surface, the robot
can fall over and cause injury.

1.3.2. Turning the Control Box On/Off

Copyright © 2009–2022 by Universal Robots A/S. All rights reserved.


The Control Box mainly contains the physical electrical Input/Output that connects the robot arm,
the Teach Pendant and any peripherals. You must turn on the Control Box to be able to power on
the robot arm.
1. On your Teach Pendant, press the power button to turn on the control box.
2. Wait as text from the underlying operating system, followed by buttons, appear on the
screen.

A Getting Stated screen can appear, prompting you to begin programmimg the robot.

1.4. Initialization
On your first start up a Cannot Proceed dialog box can appear. Select Go to initialization screen to
access the Initialize screen.

Software Manual 15 e-Series


1. Introduction

In the Footer, to the left, the Initialize button indicates the status of the robot arm using colors:
• Red Power off. The robot arm is in a stopped state.
• Yellow Idle. The robot arm is on, but not ready for normal operation.
• Green Normal. The robot arm is on and ready for normal operation.
Copyright © 2009–2022 by Universal Robots A/S. All rights reserved.

1.4.1. Starting up the Robot Arm

WARNING
Always verify the actual payload and installation are correct before starting up the
robot arm. If these settings are incorrect, the robot arm and Control Box will not
function correctly and may become dangerous to people or equipment.

CAUTION
Ensure the robot arm is not touching an object (e.g., a table) because a collision
between the robot arm and an obstacle might damage a joint gearbox.

To start the robot:


1. Tap the ON button with the green LED to start the initialization process. Then, the LED turns
yellow to indicate the power is on and in Idle.
2. Tap the START button to release the breaks.
3. Tap the OFF button with the red LED to power off the robot arm.

e-Series 16 Software Manual


1. Introduction

• When the PolyScope starts, tap the ON button once to power the robot arm. Then, the status
changes to yellow to indicate the robot is on and idle.
• When the robot arm state is Idle, tap the START button to start robot arm. At this point,
sensor data is checked against the configured mounting of the robot arm.
If a mismatch is found (with a tolerance of 30∘ ), the button is disabled and an error message
is displayed below it.
• If the mounting is verified, tap Start to release all joint brakes and the robot arm is ready for
normal operation.

Robot arm start up is accompanied by sound and slight movements as joint brakes are released.

1.5. Quick System Start-up


Before using the PolyScope, verify that the Robot Arm and Control Box are correctly installed.

Copyright © 2009–2022 by Universal Robots A/S. All rights reserved.


1. On the Teach Pendant, press the emergency stop button.
2. On the Teach Pendant, press the power button and allow the system to start, displaying text
on the PolyScope.
3. A popup appears on the touch screen indicating that the system is ready and that the robot
must be initialized.
4. In the popup dialog, tap Go to Initialize Screen to access the Initialize screen.
5. Unlock the emergency stop button to change robot state from Emergency Stopped to Power
off.
6. Step outside the reach (workspace) of the robot.
7. On the Initialize Robot screen, tap the ON button and allow robot state to change to Idle.
8. In the Payload field, in Active Payload, verify the payload mass. You can also verify the
mounting position is correct, in the Robot field.
9. Tap the Start button, for the robot to release its brake system. The robot vibrates and makes
clicking sounds indicating it is ready to be programmed.

NOTE
Learn to program your Universal Robots robot on www.universal-
robots.com/academy/

1.6. The First Program


A program is a list of commands telling the robot what to do. For most tasks, programming is done
entirely using the PolyScope. Teach the Robot Arm how to move using a series of waypoints to set
up a path for the Robot Arm to follow.
Use the Move tab (see 9. Move Tab on page 161) to move the Robot Arm to a desired position, or

Software Manual 17 e-Series


1. Introduction

teach the position by pulling the Robot Arm into place while holding down the Freedrive button at
the top of the Teach Pendant.
You can create a program can to send I/O signals to other machines at certain points in the robot’s
path, and perform commands like if…then and loop, based on variables and I/O signals.
The following is a simple program that allows a Robot Arm to move between two waypoints.
To create a simple program
1. On PolyScope, in the Header File Path, tap New... and select Program.
2. Under Basic, tap Waypoint to add a waypoint to the program tree. A default MoveJ is also
added to the program tree.
3. Select the new waypoint and in the Command tab, tap Waypoint.
4. On the Move Tool screen, move the robot arm by pressing the move arrows.
You can also move the robot arm by holding down the Freedrive button and pulling the Robot
Arm into desired positions.
5. Once the robot arm is in position, press OK and the new waypoint displays as Waypoint_1.
Copyright © 2009–2022 by Universal Robots A/S. All rights reserved.

6. Follow steps 2 to 5 to create Waypoint_2.


7. Select Waypoint_2 and press the Move Up arrow until it is above Waypoint_1 to change the
order of the movements.
8. Stand clear, hold on to the emergency stop button and in the PolyScope Footer, press Play
button for the Robot Arm to move between Waypoint_1 and Waypoint_2.
Congratulations! You have now produced your first robot program that moves the Robot Arm
between the two given waypoints.

NOTE
1. Do not drive the robot into itself or anything else as this may cause damage
to the robot.
2. This is only a quick start guide to show how easy it is to use a UR robot. It
assumes a harmless environment and a very careful user. Do not increase
the speed or acceleration above the default values. Always conduct a risk
assessment before placing the robot into operation.

WARNING
Keep your head and torso outside the reach (workspace) of the robot. Do not place
fingers where they can be caught.

1.7. Robot Registration and License file


It is necessary to register the robot and download and install the License File, because the license
file will include all available software licenses.

e-Series 18 Software Manual


1. Introduction

1.7.1. Activate Remote TCP & Toolpath URCap via web


It is possible to activate the Remote TCP & Toolpath URCap directly from www.universal-
robots.com/activate.
This is only possible for Remote TCP & Toolpath URCap. If you plan to obtain additional licenses
via myUR, please activate Remote TCP & Toolpath URCap first.

1.7.2. Activate the Software Licenses via myUR

NOTE
If you have more than one active license, all licenses will be included in the
downloaded license file.

If you have not registered your robot, please go to the URL on the screen at step 1 and register your Copyright © 2009–2022 by Universal Robots A/S. All rights reserved.

robot.
1. Download the license file to your PC.
2. Copy the license file to the USB and connect it to the Teach Pendant.
3. On the Settings screen, in Step 3, tap Load file to open the Select license file screen.
4. In the list, select the USB to display content and navigate to the license file.
5. Select license.p7b and tap Open to confirm robot registration.
6. On the bottom left, tap Exit.

Software Manual 19 e-Series


1. Introduction
Copyright © 2009–2022 by Universal Robots A/S. All rights reserved.

1.7.3. Deactivate Software Licenses


• A new license file is required if the robot changes owners. In this case, the license file must
be deactivated.
• If you purchase a new software license for your robot, it is necessary to deactivate and
reactivate the license file in order to add the new software license.

1. In the Header, tap the Hamburger Menu and select Settings.


2. In the menu on the left, tap System and select Licenses.
3. On the bottom right of the Settings screen, tap Deactivate.
4. Please see 1.7.2. Activate the Software Licenses via myUR on the previous page

1.8. Robot Cyber Security


Before implementing cyber security, you must conduct a risk assessment to:
• Identify threats
• Define trust zones and conduits
• Specify the requirements of each component in the application.

1.8.1. Cyber Security Pre-requisites


Before your system can reach a secure state of operation, ensure the following:

e-Series 20 Software Manual


1. Introduction

• You have a thourough understanding of general cyber security principles and advanced
technologies as used in your Universal Robots robot.
• You take physical security measures to allow only trusted personnel physical access to the
robot.
• You only connect your robot to a trusted network, behind a firewall restricting both inbound
and outbound access to/from the Internet.

1.8.2. Hardening Cyber Security


Although PolyScope includes many features for keeping the network connection secure, you can
harden security by observing to following guidelines:
• Always set an Admin password (see 13.3.2. Admin Password on page 183) before
connecting your robot to any network.
• Use the built-in settings to restrict the network access to the robot as much as possible.
• Some communication interfaces have no method of authenticating connections made. In

Copyright © 2009–2022 by Universal Robots A/S. All rights reserved.


some applications this is a security liability.
• Use local port forwarding (see Enabling SSH access on page 190) to setup an authenticated
and secure connection, if you require remote access to the motion controlling interfaces of
the robot. For example: the Dashboard Server and the Primary/Secondary/Realtime Client
Interfaces.
• Remove sensitive data from the robot before it is decommissioned. Pay particular attention
to the URCaps (see 7.14. URCaps on page 111) and data in the program folder.

Software Manual 21 e-Series


Copyright © 2009–2022 by Universal Robots A/S. All rights reserved.

e-Series
22
Software Manual
1. Introduction
2. Freedrive

2. Freedrive
This chapter describes how to start using the robot arm in Freedrive.
Freedrive allows the robot arm to be manually pulled into desired positions and poses.
As you use Freedrive, the robot arm creates a repelling force if it approaches a joint limit or a safety
plane (see 5.11. Planes on page 39).
When the robot arm is in Freedrive, a panel appears on PolyScope, as illustrated below.

Copyright © 2009–2022 by Universal Robots A/S. All rights reserved.


The LED on the status bar of the Freedrive panel indicates:
• When one or more joints are approaching their joint limits.
• When the robot arm’s positioning is approaching singularity. Resistance increases as the
robot approaches singularity, making it feel heavy to position.

Software Manual 23 e-Series


2. Freedrive
Copyright © 2009–2022 by Universal Robots A/S. All rights reserved.

You can lock one or more of the axes allowing the TCP to move in a particular direction, as defined
in the table below.

Movement is allowed through all axes.


All axes are free

Movement is only allowed through the X-axis and Y-axis.


Plane

Movement is allowed through all axes, without rotation.


Translation

Movement is allowed through all axes, in a spherical motion, around the TCP.
Rotation

WARNING
Moving the robot arm in some axes when a tool is attached, can present a pinch
point.

2.1. Enabling Freedrive: Standard Teach Pendant


You can enable Freedrive in the following ways:

e-Series 24 Software Manual


2. Freedrive

• Use the Freedrive button.


• Use the Freedrive button on the Move Tab screen (see 9.2.4. Freedrive on page 162).
• Use I/O Actions (see 8.5.3. I/O Actions and I/O Tab Control on page 130).

WARNING
• Do not enable Freedrive when you are pushing or touching the robot, as this
may cause the robot to drift.
• Do not switch axes while moving the robot in Freedrive mode, as this my
cause the robot to drift.

2.1.1. Using the Freedrive Button


1. Press and hold down the Freedrive button located on the Teach Pendant.

Copyright © 2009–2022 by Universal Robots A/S. All rights reserved.


2. When the Freedrive panel appears in PolyScope, select the desired movement type for the
robot arm’s joints. Or use the list of axes to customize the movement type.
3. You can define the type of feature if required, by selecting an option from the Feature
dropdown list.
The robot arm can stop moving if it approaches a singularity scenario. Tap All axes are free
in the Freedrive panel to resume movement.
4. Move the robot arm as desired.

2.1.2. Using the Freedrive Button on the Move Tab Screen


1. In the Header, tap Move.
2. In the Robot panel, tap Freedrive.
3. When the Freedrive panel appears, select the desired movement type for the robot arm’s
joints. Or use the list of axes to customize the movement type.
4. You can define the type of feature if required, by selecting an option from the Feature
dropdown list.
The robot arm can stop moving if it approaches a singularity scenario. Tap All axes are free
in the Freedrive panel to resume movement.
5. On the Freedrive panel , press and hold Freedrive to move the robot arm.

2.2. Enabling Freedrive: 3PE Teach Pendant


To use the 3PE button to freedrive the robot arm:
1. Rapidly light-press, then light-press-and-hold, the 3PE button.
Now you can pull the robot arm into a desired position, while the light-press is maintained.

Software Manual 25 e-Series


3. Backdrive

3. Backdrive
Backdrive is used to force specific joints to a desired position without releasing all brakes in the
robot arm.
This is sometimes necessary if the robot arm is close to collision and the vibrations that
accompany a full restart are not desired.

3.1. Enabling Backdrive: Standard Teach Pendant


1. On the Initialize screen, tap ON to start the power up sequence.
2. When the robot state is Idle, press and hold the Freedrive button. The robot state changes to
Backdrive.
3. Now you can apply significant pressure to release the brake in a desired joint.
Copyright © 2009–2022 by Universal Robots A/S. All rights reserved.

As long as the Freedrive button is engaged/pressed, Backdrive is enabled, making the robot
joints feel heavy to move.

3.2. Enabling Backdrive: 3PE Teach Pendant


To use the 3PE button to backdrive the robot arm:
1. On the Initialize screen, tap ON to start the power up sequence.
2. When the robot state is Idle, light-press, then light-press-and-hold, the 3PE button.
The robot state changes to Backdrive.
3. Now you can apply significant pressure to release the brake in a desired joint.
As long as light-press is maintained on the 3PE button, Backdrive is enabled. The robot joints
feel heavy to move.

3.3. Backdrive Mode Inspection


If the robot is close to colliding with something, you can use the Backdrive function to move the
Robot Arm to a safe position before initializing.
1. Press ON to enable power. Status changes to Robot Active

e-Series 26 Software Manual


3. Backdrive

Copyright © 2009–2022 by Universal Robots A/S. All rights reserved.


2. Press and hold Freedrive. Status changes to Backdrive

Software Manual 27 e-Series


3. Backdrive
Copyright © 2009–2022 by Universal Robots A/S. All rights reserved.

3. Move robot as in Freedrive mode. Joint brakes are released where needed once the
Freedrive button is activated.

NOTICE
In Backdrive Mode the robot is “heavy” to move around.

MANDATORY ACTION
You must test Backdrive mode on all joints.

Safety settings
Verify the robot safety settings comply with the robot installation risk assessment.
Additional safety inputs and outputs are still functioning
Check which safety inputs and outputs are active and that they can be triggered via PolyScope or
external devices.

e-Series 28 Software Manual


4. Operational Mode Selection

4. Operational Mode Selection


4.1. Operational Modes
Operational Modes are enabled when you configure a Three-Position Enabling Device, set a
password, define an Operational Mode Configurable I/O, or via the Dasboard Server (see Using the
Dashboard Server on page 31).
Automatic Mode Once activated, the robot can only perform pre-defined tasks. The Move Tab and
Freedrive Mode are unavailable if a Three-Position Enabling Device is configured. You cannot
modify or save programs and installations.

WARNING
Automatic Mode Safeguard Stop can only be activated in Automatic Mode, so the

Copyright © 2009–2022 by Universal Robots A/S. All rights reserved.


safeguard’s protective function is only active in Automatic Mode.

Manual Mode Once activated, you can program the robot using the Move Tab, Freedrive Mode and
Speed Slider. You can modify and save programs and installations.

Operational mode Manual Automatic


Freedrive x *
Move robot with arrows on Move Tab x *
Speed Slider x x**
Edit & save program & installation x
Execute Programs Reduced speed*** x
Start program from selected node x

*Only when no Three-Position Enabling Device is configured.


** The Speed Slider on the Run Screen can be enabled in the PolyScope Settings.
*** If a Three-Position Enabling Device is configured, the robot operates at Manual Reduced Speed
unless Manual High Speed is activated.

NOTE
• A Universal Robots robot may not be equipped with a Three-Position
Enabling Device. If the risk assessment requires the device, it must be
attached before the robot is used.
• If a Three-Position Enabling Device is not configured, speed is not reduced in
Manual Mode.

Software Manual 29 e-Series


4. Operational Mode Selection

WARNING
• Any suspended safeguards must be returned to full functionality before
selecting Automatic Mode.
• Wherever possible, the Manual Mode of operation shall be performed with all
persons outside the safeguard space.
• The device used to switch between Operational Modes must be placed
outside the safeguarded space.
• The user must not enter the safeguarded space when robot is in Automatic
Mode, unless an Automatic Mode Safeguard input is configured.

The methods for configuring Operational Mode selection are described in the following
subsections. Each method is exclusive, meaning that using one method, makes the other two
methods inactive.
Copyright © 2009–2022 by Universal Robots A/S. All rights reserved.

Using Operational Mode Safety Input


1. Tap the Installation Tab, and select Safety I/O.
2. Configure the Operational Mode Input. The option to configure appears in the drop-down
menu.
• The robot is in Automatic Mode when the Operational Mode Input is low.
• The robot is in Manual Mode when the Operational Mode Input is high.

NOTE
The physical mode selector, if used, must completely adhere to ISO 10218-1: article
5.7.1 for selection.

Switching Modes
1. To switch between modes, in the Header, select the profile icon.
• Automatic indicates the operational mode of the robot is set to Automatic.
• Manual indicates the operational mode of the robot is set to Manual.

PolyScope is automatically in Manual Mode when the Safety I/O configuration with Three-Position
Enabling Device is enabled.

e-Series 30 Software Manual


4. Operational Mode Selection

Using the Dashboard Server


1. Connect to the Dashboard server.
2. Use the Set Operational Mode commands.
• Set Operational Mode Automatic
• Set Operational Mode Manual
• Clear Operational Mode

See http://universal-robots.com/support/ for more on using the Dashboard server.

4.2. Three-Position Enabling Device


When a Three-Position Enabling Device is configured and the Operational Mode is in Manual Mode,
the robot can only be moved by pressing the Three-Position Enabling Device. Connecting and

Copyright © 2009–2022 by Universal Robots A/S. All rights reserved.


configuring a Three-Position Enabling Device makes Automatic Mode Safeguard Stop accessible.
The Three-Position Enabling Device has no effect in Automatic Mode.

4.2.1. Manual High Speed


The hold-to-run function, Manual High Speed, allows the tool speed to temporarily exceed
250mm/s. It is only available when your robot is in Manual mode and a Three-Position Enabling
Device is configured. The robot performs a Safeguard Stop in Manual mode, if a Three-Position
Enabling Device is configured, but not pressed. Switching between Automatic mode to Manual
mode requires the Three-Position Enabling Device to be fully released and pressed again to allow
the robot to move.
When using Manual High Speed, use safety joint limits (see 5.10. Joint Limits on page 38) or safety
planes (see 5.11. Planes on page 39) to restrict the robot’s moving space.

Software Manual 31 e-Series


Copyright © 2009–2022 by Universal Robots A/S. All rights reserved.

e-Series
32
Software Manual
4. Operational Mode Selection
5. Safety Configuration

5. Safety Configuration
5.1. Safety Settings Basics
This section covers how to access the robot safety settings. It is made up of items that help you
set up the robot Safety Configuration.

WARNING
Before you configure your robot safety settings, your integrator must conduct a risk
assessment to guarantee the safety of personnel and equipment around the robot.
A risk assessment is an evaluation of all work procedures throughout the robot
lifetime, conducted in order to apply correct safety configuration settings
(see Hardware Installation Manual ). You must set the following in

Copyright © 2009–2022 by Universal Robots A/S. All rights reserved.


accordance with the integrator’s risk assessment.
1. The integrator must prevent unauthorized persons from changing the safety
configuration e.g. installing password protection.
2. Use and configuration of the safety-related functions and interfaces for a
specific robot application (see Hardware Installation Manual ).
3. Safety configuration settings for set-up and teaching before the robot arm is
powered on for the first time.
4. All safety configuration settings accessible on this screen and sub-tabs.
5. The integrator must ensure that all changes to the safety configuration
settings comply with the risk assessment.

5.1.1. Accessing Safety Configuration


Note: Safety Settings are password protected and can only be configured once a password is set
and subsequently used.
1. In your PolyScope header, tap the Installation icon.
2. In the Side Menu on the left of the screen, tap Safety.
3. Observe that the Robot Limits screen displays, but settings are inaccessible.
4. If a Safety password was previously set, enter the password and press Unlock to make
settings accessible. Note: Once Safety settings are unlocked, all settings are now active.
5. Press Lock tab or navigate away from the Safety menu to lock all Safety item settings again.

Software Manual 33 e-Series


5. Safety Configuration
Copyright © 2009–2022 by Universal Robots A/S. All rights reserved.

You can find more safety system information in the Hardware Installation Manual.

5.2. Setting a Safety Password


You must set a password to Unlock all safety settings that make up your Safety Configuration. If no
safety password is applied, you are prompted to set it up.
1. In your PolyScope header right corner, press the Hamburger menu and select Settings.
2. On the left of the screen, in the blue menu, press Password and select Safety.
3. In New password, type a password.
4. Now, in Confirm new password, type the same password and press Apply.
5. In the bottom left of the blue menu, press Exit to return to previous screen.

You can press the Lock tab to lock all Safety settings again or simply navigate to a screen outside
of the Safety menu.

5.3. Changing the Safety Configuration


Changes to the Safety Configuration settings must comply with the risk assessment conducted by
the integrator (see Hardware Installation Manual ).
Recommended procedure:

e-Series 34 Software Manual


5. Safety Configuration

1. Verify that changes comply with the risk assessment conducted by the integrator.
2. Adjust safety settings to the appropriate level defined by the risk assessment conducted by
the integrator.
3. Verify that the settings are applied.
4. Place following text in the operators’ manuals:

“Before working near the robot, make sure that the safety configuration is as expected. This can be
verified e.g. by inspecting the safety checksum in the top right corner of PolyScope for any
changes.”

5.4. Applying New Safety Configuration


The robot is powered off while you make changes to the configuration. Your changes only take
effect after you hit the Apply button. The robot cannot be powered on again until you either Apply
and Restart or Revert Changes. The former allows you to visually inspect your robot Safety

Copyright © 2009–2022 by Universal Robots A/S. All rights reserved.


Configuration which, for safety reasons, is displayed in SI Units in a popup. When your visual
inspection is complete you can Confirm Safety Configuration and the changes are automatically
saved as part of the current robot installation.

5.5. Safety Checksum

The Safety Checksum icon displays your applied robot safety configuration. It could be four or
eight digits. Four digit checksum should be read from top to bottom and left to right, while eight
digit checksum is read left to right, top row first. Different text and/or colors indicate changes to
the applied safety configuration.
The Safety Checksum changes if you change the Safety Functions settings, because the Safety
Checksum is only generated by the safety settings.
You must apply your changes to the Safety Configuration for the Safety Checksum to reflect your
changes.

5.6. Safety Menu Settings


This section defines Safety menu settings that make up your robot Safety configuration.

5.7. Robot Limits


Robot Limits restrict general robot movements. The Robot Limits screen has two configuration
options: Factory Presets and Custom.

Software Manual 35 e-Series


5. Safety Configuration

1. Factory Presets is where you can use the slider to select a predefined safety setting . The
values in the table are updated to reflect the preset values ranging from Most Restricted to
Least Restricted

NOTE
Slider values are only suggestions and do not substitute a proper risk
assessment.
Copyright © 2009–2022 by Universal Robots A/S. All rights reserved.

2. Custom is where you can set Limits on how the robot functions and monitor the associated
Tolerance.

Power
limits maximum mechanical work produced by the robot in the environment. This limit
considers the payload a part of the robot and not of the environment.
Momentum
limits maximum robot momentum.
Stopping Time
limits maximum time it takes the robot to stop e.g. when an emergency stop is
activated.
Stopping Distance
limits maximum distance the robot tool or elbow can travel while stopping.

NOTE
Restricting stopping time and distance affect overall robot speed. For
example, if stopping time is set to 300 ms, the maximum robot speed is
limited allowing the robot to stop within 300 ms.

e-Series 36 Software Manual


5. Safety Configuration

Tool Speed
limits maximum robot tool speed.
Tool Force
limits the maximum force exerted by the robot tool in clamping situations.
Elbow Speed
limits maximum robot elbow speed.
Elbow Force
limits maximum force that the elbow exerts on the environment.

The tool speed and force are limited at the tool flange and the center of the two user-defined
tool positions, see 5.14. Tool Position on page 43.

Copyright © 2009–2022 by Universal Robots A/S. All rights reserved.


NOTE
You can switch back to Factory Presets for all robot limits to reset to their
default settings.

5.8. Safety Modes


Under normal conditions, i.e. when no protective stop is in effect, the safety system operates in a
Safety Mode associated with a set of safety limits:
Normal mode is the safety mode that is active by default
Reduced mode is active when the robot Tool Center Point (TCP) is positioned beyond a Trigger
Reduced mode plane (see 5.11. Planes on page 39), or when triggered using a configurable input
(see 5.16. I/O on page 46)

Software Manual 37 e-Series


5. Safety Configuration

Recovery mode activates when a safety limit from the active limit set is violated, the robot arm
performs a Stop Category 0. If an active safety limit, such as a joint position limit or a safety
boundary, is violated already when the robot arm is powered on, it starts up in Recovery mode. This
makes it possible to move the robot arm back within the safety limits. While in Recovery mode, the
movement of the robot arm is restricted by a fixed limit that you cannot customize. For details
about Recovery mode limits (see Hardware Installation Manual ).

WARNING
Limits for joint position, tool position and tool orientation are disabled in Recovery
mode, so take caution when moving the robot arm back within the limits.

The menu of the Safety Configuration screen enables the user to define separate sets of safety
limits for Normal and Reduced mode. For the tool and joints, Reduced mode limits for speed and
momentum are required to be more restrictive than their Normal mode counterparts.
Copyright © 2009–2022 by Universal Robots A/S. All rights reserved.

5.9. Tolerances
In the Safety Configuration the safety system limits are specified. The Safety System receives the
values from the input fields and detects any violation if any these values are exceeded. The robot
controller attempts to prevent any violations by making a protective stop or by reducing the speed.

5.10. Joint Limits


Joint Limits allow you to restrict individual robot joint movements in joint space i.e. joint rotational
position and joint rotational speed. There are two Joint Limits options: Maximum speed and
Position range.
The Wrist 3 position range is unlimited by default. When using cables attached to the robot, you
must first disable the Unrestricted Range for Wrist 3 checkbox to avoid cable tension and
protective stops.
1. Maximum speed is where you define the maximum angular velocity for each joint.
2. Position range is where you define the position range for each joint. Again, the input fields for
Reduced mode are disabled if there is no safety plane or configurable input set to trigger it.
This limit enables safety-rated soft axis limiting of the robot.

e-Series 38 Software Manual


5. Safety Configuration

Copyright © 2009–2022 by Universal Robots A/S. All rights reserved.


5.11. Planes
NOTE
Configuring planes is entirely based on features. We recommend you create and
name all features before editing the safety configuration, as the robot is powered
off once the Safety Tab has been unlocked and moving the robot will be
impossible.

Safety planes restrict robot workspace. You can define up to eight safety planes, restricting the
robot tool and elbow. You can also restrict elbow movement for each safety plane and disable by
deselecting the checkbox. Before configuring safety planes, you must define a feature in the robot
installation (see 8.5. I/O Setup on page 129). The feature can then be copied into the safety plane
screen and configured.

WARNING
Defining safety planes only limits the defined Tool spheres and elbow, not the
overall limit for the robot arm. This means that specifying a safety plane, does not
guarantee that other parts of the robot arm will obey this restriction.

5.11.1. Modes
You can configure each plane with restrictive Modes using the icons listed below.

Disabled
The safety plane is never active in this state.

Software Manual 39 e-Series


5. Safety Configuration

Normal
When the safety system is in Normal mode, a normal plane is active and it acts as a strict limit
on the position.
Reduced
When the safety system is in Reduced mode, a reduced mode plane is active and it acts as a
strict limit on the position.
Normal & Reduced
When the safety system is either in Normal or Reduced mode, a normal and reduced mode
plane is active and acts as a strict limit on the position.
Trigger Reduced Mode
The safety plane causes the safety system to switch to Reduced mode if the robot Tool or
Elbow is positioned beyond it.
Show
Pressing this icon hides or shows the safety plane in the graphics pane.
Delete
Copyright © 2009–2022 by Universal Robots A/S. All rights reserved.

Deletes the created safety plane. There is no undo/redo action. If a plane is deleted in error, it
must be remade.
Rename
Pressing this icon allows you to rename the plane.

5.11.2. Configuring Safety Planes


1. In your PolyScope header, tap Installation.
2. In the Side Menu on the left of the screen, tap Safety and select Planes.
3. On the top right of the screen, in the Planes field, tap Add plane.
4. On the bottom right of the screen, in the Properties field, set up Name, Copy Feature and
Restrictions.

In Copy Feature, only Undefined and Base are available. You can reset a configured safety plane by
selecting Undefined
If the copied feature is modified in the Features screen, a warning icon appears to the right of the
Copy Feature text. This indicates that the feature is out of sync i.e. the information in the properties
card is not updated to reflect the modifications that may have been made to the Feature.

e-Series 40 Software Manual


5. Safety Configuration

Copyright © 2009–2022 by Universal Robots A/S. All rights reserved.


5.11.3. Elbow
You can enable Restrict Elbow to prevent robot elbow joint from passing through any of your
defined planes. Disable Restrict Elbow for elbow to pass through planes.

5.11.4. Color Codes

Gray
Plane is configured but disabled (A)

Software Manual 41 e-Series


5. Safety Configuration

Yellow & Black


Normal Plane (B)
Blue & Green
Trigger Plane (C)
Black Arrow
The side of the plane the tool and/or elbow is allowed to be on (For Normal Planes)
Green Arrow
The side of the plane the tool and/or elbow is allowed to be on (For Trigger Planes)
Gray Arrow
The side of the plane the tool and/or elbow is allowed to be on (For Disabled Planes)

5.12. Freedrive
Freedrive allows the robot arm to be manually pulled into desired positions and/or poses. The
Copyright © 2009–2022 by Universal Robots A/S. All rights reserved.

joints move with little resistance because the brakes are released. While the robot arm is being
moved manually, it is in Freedrive mode (see 4.1. Operational Modes on page 29). As the robot arm
in Freedrive Mode approaches a predefined limit or plane (see 5.11. Planes on page 39), resistance
increases. This makes pulling the robot into position feel heavy. You can enable Freedrive in the
following ways:
• Use the Freedrive Button
• Use I/O Actions (see 8.5.3. I/O Actions and I/O Tab Control on page 130)
• Use the Freedrive button on the Move Tab screen (see 9.2.4. Freedrive on page 162)

5.12.1. Using the Freedrive Button


1. Press and hold down the Freedrive Button located on Teach Pendant.
2. Move the robot arm as desired.

5.13. Backdrive
During initialization of the robot arm, minor vibrations may be observed when the robot brakes are
released. In some situations, such as when the robot is close to collision, these tremors are
undesirable and the Backdrive feature can be used to forcefully move specific joints to a desired
position without releasing all brakes in the robot arm.

5.13.1. Enabling Backdrive


1. On the Initialize screen, tap ON to start the power up sequence.
2. When the robot state is Idle, press and hold the Freedrive button. The robot state changes to
Backdrive.

e-Series 42 Software Manual


5. Safety Configuration

3. Brakes are only released in the joints to which significant pressure is applied. As long as the
Freedrive button is engaged/pressed. While using Backdrive, the robot arm feels heavy to
move around.

5.14. Tool Position


The Tool Position screen enables more controlled restriction of tools and/or accessories placed on
the end of the robot arm.
Robot is where you can visualize your modifications.
Tool is where you can define and configure a tool up to two tools.
Tool_1 is the default tool defined with values x=0.0, y= 0.0, z=0.0 and radius=0.0. These values
represent the robot tool flange.
Under Copy TCP, you can also select Tool Flange and cause the tool values to go back to 0.
A default sphere is defined at the tool flange.

Copyright © 2009–2022 by Universal Robots A/S. All rights reserved.

For the user defined tools, the user can change:


Radius to change the radius of the tool sphere. The radius is considered when using safety planes.
When a point in the sphere passes a reduced mode trigger plane, the robot switches to Reduced
mode. The safety system prevents any point on the sphere from passing a safety plane (see 5.11.
Planes on page 39).
Position to change the position of the tool with respect to the tool flange of the robot. The position
is considered for the safety functions for tool speed, tool force, stopping distance and safety
planes.
You can use an existing Tool Center Point as a base for defining new tool positions. A copy of the
existing TCP, predefined in General menu, in TCP screen, can be accessed in Tool Position menu,
in Copy TCP drop-down list.
When you edit or adjust the values in the Edit Position input fields, the name of the TCP visible in

Software Manual 43 e-Series


5. Safety Configuration

the drop down menu changes to custom, indicating that there is a difference between the copied
TCP and the actual limit input. The original TCP is still available in the drop down list and can be
selected again to change the values back to the original position. The selection in the copy TCP
drop down menu does not affect the tool name.
Once you apply your Tool Position screen changes, if you try to modify the copied TCP in the TCP
configuration screen, a warning icon appears to the right of the Copy TCP text. This indicates that
the TCP is out of sync i.e. the information in the properties field is not updated to reflect
modifications that may have been made to the TCP. The TCP can be synced by pressing the sync
icon (see 8.2. TCP Configuration on page 123).
The TCP does not have to be synced in order to define and use a tool successfully.
You can rename the tool by pressing the pencil tab next to the displayed tool name. You can also
determine the Radius with an allowed range of 0-300 mm. The limit appears in the graphics pane
as either a point or a sphere depending on radius size.
Copyright © 2009–2022 by Universal Robots A/S. All rights reserved.

5.15. Tool Direction


The Tool Direction screen can be used to restrict the angle in which the tool is pointing. The limit is
defined by a cone that has a fixed orientation with respect to the robot arm Base. As the robot arm
moves around, tool direction is restricted so it remains within the defined cone. The default
direction of the tool coincides with the Z-axis of the tool output flange. It can be customized by
specifying tilt and pan angles.
Before configuring the limit, you must define a point or plane in the robot installation (see 8.17.
Features on page 142). The feature can then be copied and its Z axis used as the center of the
cone defining the limit.

e-Series 44 Software Manual


5. Safety Configuration

NOTE
Configuration of the tool direction is based on features. We recommend you create
desired feature(s) before editing the safety configuration, as once the Safety Tab
has been unlocked, the robot arm powers off making it impossible to define new
features.

Copyright © 2009–2022 by Universal Robots A/S. All rights reserved.


5.15.1. Limit Properties
The Tool Direction limit has three configurable properties:
1. Cone center: You can select a point or plane feature from the drop-down menu, to define the
center of the cone. The Z axis of the selected feature is used as the direction around which
the cone is centred.
2. Cone angle: You can define how many degrees the robot is allowed to deviate from center.

Disabled Tool direction limit


is never active
Normal Tool direction limit
is active only when safety system is in Normal mode.
Reduced Tool direction limit
is active only when the safety system is in Reduced mode.
Normal & Reduced Tool direction limit
is active when the safety system is in Normal mode as well as when it is in Reduced mode.

You can reset the values to default or undo the Tool Direction configuration by setting the copy
feature back to "Undefined".

Software Manual 45 e-Series


5. Safety Configuration

5.15.2. Tool Properties


By default, the tool points in the same direction as the Z axis of the tool output flange. This can be
modified by specifying two angles:
Tilt angle: How much to tilt the Z axis of the output flange towards the X axis of the output flange
Pan angle: How much to rotate the tilted Z axis around the original output flange Z axis.
Alternatively, the Z axis of an existing TCP can be copied by selecting that TCP from the drop-down
menu.

5.16. I/O
The I/O are divided between inputs and outputs and are paired up so that each function provides a
Category 3 and PLd I/O.
Copyright © 2009–2022 by Universal Robots A/S. All rights reserved.

5.16.1. Input Signals


The following Safety Functions can be used with the input signals:

System Emergency Stop


This is an emergency stop button alternative to the one on the Teach Pendant, providing the
same functionality if the device complies with ISO 13850.
Reduced Mode
All safety limits can be applied in either Normal mode or Reduced mode (see 5.8. Safety
Modes on page 37). When configured, a low signal sent to the inputs causes the safety system
to transition to Reduced mode. The robot arm decelerates to satisfy the Reduced mode limit
set. The safety system guarantees that the robot is within Reduced mode limits less than 0.5s
after the input is triggered.
If the robot arm continues to violate any of the Reduced mode limits, it performs a Stop
Category 0. Transition to Normal mode occurs in the same way. The trigger planes can also
cause a transition to Reduced mode.
3-Position Enabling Device
In Manual Mode, an external 3-Position Enabling Device must be pressed and held in the
center-on position to move the robot.

e-Series 46 Software Manual


5. Safety Configuration

If you are using a built-in 3-Position Enabling Device, the button must be pressed and held in
the mid position to move the robot.
Operational Mode
When defined, this input can be used to switch between Automatic Mode and Manual Mode
(see 4.1. Operational Modes on page 29).
Safeguard Reset
When a Safeguard Stop occurs, this output ensures that the Safeguard Stop state continues
until a reset is triggered.
Automatic Mode Safeguard Stop
Once configured, an Automatic Mode Safeguard Stop performs a Safeguard Stop when the
input pins are low and ONLY when the robot is in Automatic mode.
Automatic Mode Safeguard Reset
When an Automatic Mode Safeguard Stop occurs, the robot remains safeguard stopped in
Automatic Mode until a rising edge on the input pins trigger a reset.

Copyright © 2009–2022 by Universal Robots A/S. All rights reserved.


WARNING
• If you disable the default Safeguard Reset input, the Robot Arm is no longer
Safeguard Stop stopped as soon as the input is high. A program paused only
by the Safeguard stop resumes.
• Similar to the Safeguard Reset, if the default Automatic Mode Safeguard
Reset is disabled, the Robot Arm is no longer Safeguard Stop stopped once
the Automatic Mode Safeguard Stop input is high. A program paused only by
the Automatic Mode Safeguard Stop resumes.

5.16.2. Output Signals


You can apply the following Safety functions for output signals. All signals return to low when the
state which triggered the high signal has ended:

System Emergency Stop


Signal is Low when the safety system has been triggered into an Emergency Stopped state by
the Robot Emergency Stop input or the Emergency Stop Button. To avoid deadlocks, if the
Emergency Stopped state is triggered by the System Emergency Stop input, low signal will not
be given.
Robot Moving
Signal is Low if the robot is moving, otherwise high.
Robot Not Stopping
Signal is High when the robot is stopped or in the process of stopping due to an emergency
stop or safeguard stop. Otherwise it will be logic low.
Reduced Mode

Software Manual 47 e-Series


5. Safety Configuration

Signal is Low when the robot arm is placed in Reduced mode or if the safety input is
configured with a Reduced Mode input and the signal is currently low. Otherwise the signal is
high.
Not Reduced Mode
This is the inverse of the Reduced Mode defined above.
Safe Home
Signal is High if the Robot Arm is stopped in the configured Safe Home Position. Otherwise,
the signal is Low.

NOTE
Any external machinery receiving its Emergency Stop state from the robot through
the System Emergency Stop output must comply with ISO 13850. This is
particularly necessary in setups where the Robot Emergency Stop input is
connected to an external Emergency Stop device. In such cases, the System
Emergency Stop output becomes high when the external Emergency Stop device is
Copyright © 2009–2022 by Universal Robots A/S. All rights reserved.

released. This implies that the emergency stop state at the external machinery will
be reset with no manual action needed from the robot’s operator. Hence, to comply
with safety standards, the external machinery must require manual action in order
to resume.

5.16.3. OSSD Safety Signals


You can configure the Control Box to output OSSD pulses when a safety output is inactive/high.
OSSD pulses detect the ability of the Control Box to make safety outputs active/low. When OSSD
pulses are enabled for an output, a 1ms low pulse is generated on the safety output once every
32ms. The safety system detects when an output is connected to a supply and shuts down the
robot.
The illustration below shows: the time between pulses on a channel (32ms), the pulse length (1ms)
and the time from a pulse on one channel to a pulse on the other channel (18ms)

Enabling OSSD for Safety Output

1. In the Header, tap Installation and select Safety.


2. Under Safety, select I/O.
3. On the I/O screen, under Output Signal, select the desired OSSD checkbox. You must assign
the output signal to enable the OSSD checkboxes.

e-Series 48 Software Manual


5. Safety Configuration

5.17. Hardware
You can use the robot without attaching the Teach Pendant. Removing the Teach Pendant requires
defining another Emergency Stop source. You must specify if the Teach Pendant is attached to
avoid triggering a safety violation.

5.17.1. Selecting Available Hardware


The robot can be used without PolyScope as the programming interface.
1. In the Header tap Installation.
2. In the Side Menu on left tap Safety and select Hardware.
3. Input Safety password and Unlock the screen.
4. Deselect Teach Pendant to use robot without PolyScope interface.

Copyright © 2009–2022 by Universal Robots A/S. All rights reserved.


5. Press Save and restart to implement changes.

CAUTION
If the Teach Pendant is detached or disconnected from the robot, the Emergency
Stop button is no longer active. You must remove the Teach Pendant from the
vicinity of the robot.

5.18. Safe Home Position


Safe Home is a return position defined by using the user-defined Home Position. Safe Home I/Os
are active when the Robot Arm is in the Safe Home Position and a Safe Home I/O is defined. The
Robot Arm is in the Safe Home Position if the joint positions are at the specified joint angles or a
multiple of 360 degrees thereof. The Safe Home Safety Output is active when the robot is standing
still at the Safe Home Position.

Software Manual 49 e-Series


5. Safety Configuration
Copyright © 2009–2022 by Universal Robots A/S. All rights reserved.

5.18.1. Syncing from Home


1. In the Header, tap Installation.
2. In the Side Menu on the left of the screen, tap Safety and select Safe Home.
3. Under Safe Home, tap Sync from Home.
4. Tap Apply and in the dialog box that appears, select Apply and restart.

5.19. Safe Home Output


The Safe Home Position must be defined before the Safe Home Output (see 5.16.2. Output
Signals on page 47).

5.19.1. Defining Safe Home Output


1. In the Header, tap Installation.
2. In the Side Menu on the left of the screen, under Safety, select I/O.
3. On the I/O screen in the Output Signal, under Function Assignment, in drop-down menu,
select Safe Home.
4. Tap Apply and in the dialog box that appears, select Apply and restart.

5.20. Edit Safe Home


Editing Home does not automatically modify a previously defined Safe Home position. While these
values are out of sync, Home program node is undefined.

e-Series 50 Software Manual


5. Safety Configuration

5.20.1. Editing Safe Home


1. In the Header, tap Installation.
2. In the Side Menu on the left of the screen, under General, select Home.
3. Tap Edit Position and set the new robot arm position and tap OK.
4. In the Side Menu, under Safety, select Safe Home. You need a Safety password to Unlock the
Safety Settings (See 5.2. Setting a Safety Password on page 34).
5. Under Safe Home, tap Sync from Home

Copyright © 2009–2022 by Universal Robots A/S. All rights reserved.

Software Manual 51 e-Series


Copyright © 2009–2022 by Universal Robots A/S. All rights reserved.

e-Series
52
Software Manual
5. Safety Configuration
6. Run Tab

6. Run Tab
The Run tab allows you to do simple operations and monitor the state of your robot. You can load,
play, pause and stop a program, as well as monitor variables. The Run Tab is most useful when the
program is created and the robot is ready for operation.

Copyright © 2009–2022 by Universal Robots A/S. All rights reserved.


Program:
The Program pane displays the name and status of the current program.

To load a new program


1. In the Program pane, tap Load Program.
2. Select your desired program from the list.
3. Tap Open to load the new program.
The variables, if present, are displayed when you play the program.

Variables:
Variables are used by programs to store and update values during runtime.
• Program variables belong to programs.
• Installation variables belong to installations that can be shared among different programs.
The same installation can be used with multiple programs.

By default, all program variables and installation variables in your program are displayed in the
Variables pane.
You can also display selected variables by using the Show only favorite variables option.

Software Manual 53 e-Series


6. Run Tab

To show favorite variables


1. Under Variables, check the Show only favorite variables box.
2. Check Show only favorite variables again to show all variables.

You cannot designate favorite variables in the Run Tab, you can only display them. Designating
favorite variables depends on the variable type.

Program variables Installation variables


To designate favorite program variables To designate favorite installation variables
1. In the Header, tap Program. 1. In the Header, tap Installation.
The variables are listed under Variable 2. Under General, select Variables.
Setup. The variables are listed under Installation
2. Select the desired variables. Variables.
3. Check the Favorite variable box. 3. Select the desired variables.
Copyright © 2009–2022 by Universal Robots A/S. All rights reserved.

4. Tap Run to return to your variable 4. Check the Favorite variable box.
display. 5. Tap Run to return to your variable display.

See 7.10. Variables Tab on page 69 for more about program variables.
See 8.6. Installation Variables on page 132 for more about installation variables

Control:

The Control pane allows you to control the running program. You can play and stop, or pause and
resume a program, using the buttons listed in the table below.
The Play button, Pause button and the Resume Button are combined. The Play button changes to
Pause when the program is running. The Pause button changes to Resume.

Button Function

Play

Resume

Stop

e-Series 54 Software Manual


6. Run Tab

Button Function

Pause

To play a program
1. Under Control, tap Play to start running a program from the beginning.

To stop a program
1. Tap Stop to stop the running program
• You cannot resume a stopped program.
• You can tap Play to restart the program.

Copyright © 2009–2022 by Universal Robots A/S. All rights reserved.


To pause a program
1. Tap Pause to pause a program at a specific point.
• You can resume a paused program.

To resume a paused program


1. Tap Resume to continue running the paused program.

6.1. Program
The Program field, displays the name of the program that was loaded on to the robot and its
current status. You can tap the Load Program tab to load a different program.

6.2. Variables
A robot program can make use of variables to store and update various values during runtime. Two
kinds of variables are available:

Installation variables
These can be used by multiple programs and their names and values are persisted together
with the robot installation (see 8.6. Installation Variables on page 132). Installation variables
keep their value after the robot and control box has been rebooted.
Regular program variables
These are available to the running program only and their values are lost as soon as the
program is stopped.
Show waypoints

Software Manual 55 e-Series


6. Run Tab

The robot program uses script variables to store information about waypoints.
Select the Show Waypoints checkbox, under Variables to show script variables in the variables
list.
Variable types

bool A boolean variable whose value is either True or False.


int A whole number in the range from − 2147483648 to 2147483647 (32 bit).
float A floating point number (decimal) (32 bit).
string A sequence of characters.
A vector describing the location and orientation in Cartesian space. It is a combination
pose of a position vector (x, y, z) and a rotation vector (rx, ry, rz) representing the orientation,
written p[x, y, z, rx, ry, rz].
list A sequence of variables.
Copyright © 2009–2022 by Universal Robots A/S. All rights reserved.

6.3. Robot Age


This field represents the length of time since the robot was initially turned on. The numbers in the
field are not associated with program run time

6.4. Move Robot into Position


Access the Move Robot into Position screen when the Robot Arm must move to a particular start
position before running a program, or when the Robot Arm is moving to a waypoint while modifying
a program.
In cases where the Move Robot into Position screen cannnot move the Robot Arm to the program
start position, it moves to the first waypoint in the program tree.
The Robot Arm can move to an incorrect pose if:
• The TCP, feature pose or waypoint pose of the first movement is altered during program
execution before the first move is executed.
• The first waypoint is inside an If or Switch program tree node.

6.4.1. Accessing the Move Robot into Position Screen


1. In the Footer, tap Play to access the Move Robot into Position screen.
2. Follow the on-screen instructions to interact withthe animation and the real robot.

e-Series 56 Software Manual


6. Run Tab

Copyright © 2009–2022 by Universal Robots A/S. All rights reserved.


6.4.2. Move robot to:
Hold down Move robot to: to move the Robot Arm to a start position. The animated Robot Arm
displayed on-screen shows the desired movement about to be performed.

NOTE
Collision can damage the robot or other equipment. Compare the animation with
the position of the real Robot Arm to ensure the Robot Arm can safely perform the
movement without colliding with any obstacles.

6.4.3. Manual
Tap Manual to access the Move screen where the Robot Arm can be moved by using the Move
Tool arrows and/or configuring Tool Position and Joint Position coordinates.

Software Manual 57 e-Series


Copyright © 2009–2022 by Universal Robots A/S. All rights reserved.

e-Series
58
Software Manual
6. Run Tab
7. Program Tab

7. Program Tab
The program tab shows the current program being edited.

Copyright © 2009–2022 by Universal Robots A/S. All rights reserved.


7.1. Move Robot into Position
Access the Move Robot into Position screen when the Robot Arm must move to a particular start
position before running a program, or when the Robot Arm is moving to a waypoint while modifying
a program.
In cases where the Move Robot into Position screen cannnot move the Robot Arm to the program
start position, it moves to the first waypoint in the program tree.
The Robot Arm can move to an incorrect pose if:
• The TCP, feature pose or waypoint pose of the first movement is altered during program
execution before the first move is executed.
• The first waypoint is inside an If or Switch program tree node.

7.1.1. Accessing the Move Robot into Position Screen


1. In the Footer, tap Play to access the Move Robot into Position screen.
2. Follow the on-screen instructions to interact withthe animation and the real robot.

Software Manual 59 e-Series


7. Program Tab
Copyright © 2009–2022 by Universal Robots A/S. All rights reserved.

7.1.2. Move robot to:


Hold down Move robot to: to move the Robot Arm to a start position. The animated Robot Arm
displayed on-screen shows the desired movement about to be performed.

NOTE
Collision can damage the robot or other equipment. Compare the animation with
the position of the real Robot Arm to ensure the Robot Arm can safely perform the
movement without colliding with any obstacles.

7.1.3. Manual
Tap Manual to access the Move screen where the Robot Arm can be moved by using the Move
Tool arrows and/or configuring Tool Position and Joint Position coordinates.

7.2. Program Tree


Create a program tree by adding program nodes, from the list on the right side of the screen, to the
Robot Program . A Robot Program must contain program nodes because an empty Program Tree
is not allowed to run. Programs containing mis-configured, or invalid program nodes are also not
allowed to run. Invalid program nodes are highlighted in yellow to indicate what should be fixed
before the program is allowed to run.

e-Series 60 Software Manual


7. Program Tab

Copyright © 2009–2022 by Universal Robots A/S. All rights reserved.


7.2.1. Program Tree Toolbar
Use the toolbar at the base of the Program Tree to modify the Program Tree.

Undo/Redo The and buttons serve to undo and redo changes to commands.
Buttons
Move Up & The and buttons change the position of a node.
Down
Cut The button cuts a node and allows it to be used for other actions (e.g., paste it
on other place on the Program Tree).
Copy button allows copies a node and allows it to be used for other actions (e.g.,
paste it on other place on the Program Tree).
Paste The button allows you to paste a node that was previously cut or copied.
Delete Tap the button to remove a node from the Program Tree.
Suppress Tap the button to suppress specific nodes on the Program Tree.
Search Tap the to search in the Program Tree. Tap the icon to exit search.
Button

7.3. Variable Setup


The Variable Setup is always the first node on the program tree.

Software Manual 61 e-Series


7. Program Tab

The main purpose of the Variables Setup is to initialize variables. You can use the Variable Setup
as follows:
• Assign an initial value.
• Designate as a Favorite Variable.
• Add a variable description.
• Option to rename.
Copyright © 2009–2022 by Universal Robots A/S. All rights reserved.

Designating a favorite variable allows the variable to be part of the set of favorite variables
displayed when you select it to only show favorite variables on the Variables pane in the Program
Tab screen and on the Run Tab screen.

To designate a program variable as favorite


1. In the Header, tap Program.
2. Under Variables Setup, select a variable.
3. Check the Favorite variable box to designate the selected variable as favorite.

Editing program variables


Editing program variables includes renaming, describing and setting an initial value with an
expression.

To rename a program variable


1. Under Variables Setup, select a variable.
2. Select the Name field.
3. Type a name using the on-screen keyboard that appears.

e-Series 62 Software Manual


7. Program Tab

To describe a program variable


1. Under Variables Setup, select a variable.
2. Select the Description field.
3. Type a description using the on-screen keyboard that appears.

To set initial value for a program variable


1. Under Variables Setup, select a variable.
2. Select the Expression field.
3. Type the expression using the on-screen keyboard that appears.

Initial Value
An initial value is the first value you assign to a program variable, when you start a program.

Copyright © 2009–2022 by Universal Robots A/S. All rights reserved.


You can check the Keep value from previous run box to replace the initial value with a value from a
previously run program. However, if you load a new program, after using a value from a previously
run program, the initial value is reinstated.

7.3.1. Program Execution Indication

When the program is running, the program node currently being executed is indicated by a small
icon next to the node. Furthermore, the path of execution is highlighted using a blue color.
Pressing the icon at the corner of the program will make it track the command being executed.
Suppressed program lines are simply skipped when the program is run. A suppressed line can be
unsuppressed again at a later time. This is a quick way to make changes to a program without
destroying the original contents.

Software Manual 63 e-Series


7. Program Tab

7.4. Expression Editor


Copyright © 2009–2022 by Universal Robots A/S. All rights reserved.

While the expression itself is edited as text, the expression editor has a number of buttons and
functions for inserting the special expression symbols, such as * for multiplication and ≤ for less
than or equal to. The keyboard symbol button in the top left of the screen switches to text-editing
of the expression. All defined variables can be found in the Variable selector, while the names of
the input and output ports can be found in the Input and Output selectors. Some special
functions are found in Function.
The expression is checked for grammatical errors when the Ok button is pressed. The Cancel
button leaves the screen, discarding all changes.
An expression can look like this:

digital_in[1] True and analog_in[0]<0.5

7.5. Starting a Program from a Selected Node


When the robot is in Manual Mode (see 4.1. Operational Modes on page 29), Play from Selection
allows a program to start from a selected node. Play from Beginning runs a program normally. The
Play from Selection option is disabled if a program cannot be run from a particular node. Play from
Selection cannot be enabled with a thread becasue threads always start from the beginning.

e-Series 64 Software Manual


7. Program Tab

Copyright © 2009–2022 by Universal Robots A/S. All rights reserved.


7.5.1. Using Play from Selection
Tap Play and select Play from Selection to run a program from a node in the program tree.

NOTE
• The Before start section, if used, is always executed for both Play from
Selection and Play from Beginning.
• The program stops and displays an error message if an unassigned variable
in encountered.
• A program can only start from a node in the Robot Program.
• Play from Selection can be used within a subprogram. The program
execution halts when the subprogram ends.

7.6. Using Breakpoints in a Program


A breakpoint pauses program execution. You can use breakpoints to pause and resume a program
at a specific point to inspect robot position, variables etc. See 4.1. Operational Modes on page 29.
1. In a Program tree, tap a line number to set or clear a breakpoint.

Software Manual 65 e-Series


7. Program Tab
Copyright © 2009–2022 by Universal Robots A/S. All rights reserved.

A red line either above of below a node, indicates when a breakpoint is set, pausing execution.
Most nodes pause before they are executed, with the following exceptions:
• Waypoints: A breakpoint on a waypoint node, ignores the blend and pauses the program
when the robot reaches this waypoint.
• Until nodes: A breakpoint on an until node pauses the program once the until condition is
met. Blends used in the until node are not ignored. They are paused when the robot reaches
the blend radius.

e-Series 66 Software Manual


7. Program Tab

7.7. Single Step in a Program


The Single Step button allows one node to be executed at a time, when the robot is in Manual
mode. You can use the Single Step button when the program is paused. Tap the Single Step button
for the program to continue execution, and pause when reaching the following node in the
program. If a node does not support Breakpoints, program execution initiated by tapping the Single
Step button does not pause on that node. Instead, the execution continues until the program
reaches a node that supports Breakpoints.

7.8. Command Tab


In the panes under Command, you configure the nodes that make up the program tree.
This manual does not cover all the details about every type of Program Node. The Robot Program
Node includes three check-boxes controlling the overall behavior of the program.

Copyright © 2009–2022 by Universal Robots A/S. All rights reserved.

7.8.1. Add Before Start Sequence


Select this check-box to add a special section to the program which is run once when the program
starts.
A variable can be deleted from the program by setting its name to blank (only spaces).

7.8.2. Program Loops Forever


Select this to make the program continuous.

Software Manual 67 e-Series


7. Program Tab

7.9. Graphics Tab


Graphical representation of the current robot program. The path of the TCP is shown in 3D view,
with motion segments in black, and blend segments (transitions between motion segments)
shown in green. The green dots specify the positions of the TCP at each of the waypoints in the
program. The 3D drawing of the robot arm shows the current position of the robot arm, and the
shadow of the robot arm shows how the robot arm intends to reach the waypoint selected in the
left hand side of the screen.
Copyright © 2009–2022 by Universal Robots A/S. All rights reserved.

If the current position of the robot TCP comes close to a safety or trigger plane, or the orientation
of robot tool is near the tool orientation boundary limit (see 5.11. Planes on page 39), a 3D
representation of the boundary limit is shown.
When the robot is running a program, the visualization of boundary limits will be disabled.
Safety planes are visualized in yellow and black with a small arrow representing the plane normal,
which indicates the side of the plane on which the robot TCP is allowed to be positioned.
Trigger planes are displayed in blue and green and a small arrow pointing to the side of the plane,
where the Normal mode limits (see 5.8. Safety Modes on page 37) are active.
The tool orientation boundary limit is visualized with a spherical cone together with a vector
indicating the current orientation of the robot tool. The inside of the cone represents the allowed
area for the tool orientation (vector).
When the target robot TCP no longer is in the proximity of the limit, the 3D representation
disappears. If the TCP is in violation or very close to violating a boundary limit, the visualization of
the limit turns red.
The 3D view can be zoomed and rotated to get a better view of the robot arm. The buttons in the
top-right side of the screen can disable the various graphical components in 3D view. The bottom
button switches on/off the visualization of proximate boundary limits.

e-Series 68 Software Manual


7. Program Tab

7.10. Variables Tab


The pane under Variables shows the live values of all variables in the running program, and keeps a
list of variables and values between program runs.
In the Variables pane, you can also use the following options:
• Select Show Waypoints to show waypoint script variables in the variables list. The robot
program uses script variables to store information about waypoints. Select the Show
Waypoints checkbox, under Variables to show script variables in the variables list.
• Select Show only favorite variables to only view favorite variables on the Variables Tab. This
is the same as in the Variables pane on the Run Tab (See 6. Run Tab on page 53).

Copyright © 2009–2022 by Universal Robots A/S. All rights reserved.


A robot program uses variables to store and update various values during runtime. Variables only
appear when there is information to display. Variable types include:
• Program variables - These are available to the running program only and their values are lost
as soon as the program is stopped.
• Installation variables - These can be used by multiple programs and their names and values
stay together with the robot installation (see: 8.6. Installation Variables on page 132).
• Script variables - These come from script files and they can be assigned different variable
types. Script variables do not appear in the Program tab or in the Installation tab. The robot
program uses the script variables to store information about waypoints. You can select the
Show Waypoints checkbox, under Variables, to show script variables in the variables list.

The table below list variable value types:

Variable value types


bool A boolean variable whose value is either True or False

Software Manual 69 e-Series


7. Program Tab

Variable value types


int A whole number in the range from -2147483648 to 2147483647 (32 bit)
float A floating point number (decimal) (32 bit)
string A sequence of characters
pose A vector describing the location and orientation in Cartesian space. It is a
combination of a position vector (x, y, z) and a rotation vector (rx, ry,
rz) representing the orientation written p[x, y, z, rx, ry, rz]
list A sequence of variables

7.11. Basic program nodes


7.11.1. Move
Copyright © 2009–2022 by Universal Robots A/S. All rights reserved.

The Move command controls the robot motion through the underlying waypoints. Waypoints have
to be under a Move command. The Move command defines the acceleration and the speed at
which the robot arm will move between those waypoints.

Movement Types
You can select one of three types of movements: MoveJ, MoveL and MoveP. Each movement type
is explained below.
• moveJ makes movements that are calculated in the robot arm joint space. Joints are
controlled to finish their movements at the same time. This movement type results in a
curved path for the tool. The shared parameters that apply to this movement type are the

e-Series 70 Software Manual


7. Program Tab

maximum joint speed and joint acceleration, specified in deg/s and deg/s2, respectively. If it
is desired to have the robot arm move fast between waypoints, disregarding the path of the
tool between those waypoints, this movement type is the preferable choice.
• moveL moves the Tool Center Point (TCP) linearly between waypoints. This means that each
joint performs a more complicated motion to keep the tool on a straight line path. The
shared parameters that can be set for this movement type are the desired tool speed and
tool acceleration specified in mm/s and mm/s2, respectively, and also a feature.
• moveP moves the tool linearly with constant speed with circular blends, and is intended for
some process operations, like gluing or dispensing. The size of the blend radius is by default
a shared value between all the waypoints. A smaller value will make the path turn sharper
whereas a higher value will make the path smoother. While the robot arm is moving through
the waypoints with constant speed, the robot control box cannot wait for either an I/O
operation or an operator action. Doing so might stop the robot arm’s motion, or cause a
protective stop.
• Circle move can be added to a moveP to make a circular movement. The robot starts the

Copyright © 2009–2022 by Universal Robots A/S. All rights reserved.


movement from its current position or start point, moves through a ViaPoint specified on the
circular arc, and an EndPoint that completes the circular movement.
A mode is used to calculate tool orientation, through the circular arc. The mode can be:
• Fixed: only the start point is used to define tool orientation
• Unconstrained: the start point transforms to the EndPoint to define tool orientation

Shared parameters
The shared parameters in the bottom right corner of the Move screen apply to the movement from
the previous position of the robot arm to the first waypoint under the command, and from there to
each of the following waypoints. The Move command settings do not apply to the path going from
the last waypoint under that Move command.

Software Manual 71 e-Series


7. Program Tab

TCP selection
The way the robot moves between waypoints is adjusted depending on whether the TCP is set
using a user defined TCP or an active TCP. Ignore Active TCP allows this movement to be adjusted
in relation to the Tool Flange.

Setting the TCP in a Move


1. Access the Program Tab screen to set the TCP used for waypoints.
2. Under Command, in the drop down menu on the right select the Move type.
3. Under Move, select an option in the Set TCP drop down menu.
4. Select Use active TCP or select a user defined TCP.
You can also choose Ignore Active TCP.

Feature selection
Copyright © 2009–2022 by Universal Robots A/S. All rights reserved.

The feature spaces the waypoints under the Move command, that should be represented when
specifying these waypoints (see section 8.17. Features on page 142). This means that when
setting a waypoint, the program will remember the tool coordinates in the feature space of the
selected feature. There are a few circumstances that need detailed explanation:
The selected feature has no effect on relative waypoints. The relative movement is always
performed with respect to orientation of the Base.
When the robot arm moves to a variable waypoint, the Tool Center Point (TCP) is calculated as the
coordinates of the variable in the space of the selected feature. Therefore, the robot arm
movement for a variable waypoint changes if another feature is selected.
You can change a feature’s position while the program is running by assigning a pose to its
corresponding variable.

Cruise
Deceleration
Speed

Acceleration

Time
8.1: Speed profile for a motion. The curve is divided into three segments: acceleration, cruise and
deceleration. The level of the cruise phase is given by the speed setting of the motion, while the
steepness of the acceleration and deceleration phases is given by the acceleration parameter.

Use joint angles


As an alternative to the 3D pose, you can select the Use joint angles checkbox when using the
MoveJ to define waypoints using the robot joint angles. If Use joint angles is enabled, TCP and
feature options are unavailable. Waypoints defined using Use joint angles are not adjusted when

e-Series 72 Software Manual


7. Program Tab

the program is moved between robots.

7.11.2. Fixed Waypoint

Copyright © 2009–2022 by Universal Robots A/S. All rights reserved.


A point on the robot path. Waypoints are the most central part of a robot program, telling the robot
arm where to be. A fixed position waypoint is taught by physically moving the robot arm to the
position.

Teaching Waypoints
Teaching is the term used to show the robot how to position the TCP in relation to a feature for an
application. To teach the robot a waypoint, follow the instructions below:
1. In the Program Tab, insert a Move Node.
2. On the Move Node, use the Set TCP drop-down menu to set the TCP.
3. On the Move Node, use the Feature drop-down menu to select a feature.
4. On the Waypoint Node, use Teach Mode or Jog to position the robot in a desired
configuration.

Using Waypoints
Using a waypoint means applying the taught relation between the feature and the TCP in the
present situation. The relation between the feature and the TCP, applied to the current selected
feature, achieves the desired TCP location. Then the robot figures out how to position itself to let
the currently active TCP reach that TCP position. To use a waypoint, follow the instructions below:

Software Manual 73 e-Series


7. Program Tab

1. Use an existing waypoint in a Move Node, or insert the waypoint into a different Move Node
(e.g. by copy and paste or use the "Link" button on the waypoint).
2. Set the desired TCP.
3. Set the desired feature.

Setting the waypoint

Waypoint names
Waypoints automatically get a unique name. The name can be changed by the user. By selecting
the link icon, waypoints are linked and share position information. Other waypoint information such
as blend radius, tool/joint speed and tool/joint acceleration is configured for individual waypoints
even though they may be linked.

Blending
Copyright © 2009–2022 by Universal Robots A/S. All rights reserved.

Blending enables the robot to smoothly transition between two trajectories, without stopping at the
waypoint between them.

Example
Consider a pick and place application as an example (see figure 8.2), where the robot is currently at
Waypoint 1 (WP_1) , and it needs to pick up an object at Waypoint 3 (WP_3) . To avoid collisions
with the object and other obstacles (O) , the robot must approach (WP_3) in the direction coming
from Waypoint 2 (WP_2) .
So three waypoints are introduced to create a path that fulfills the requirements.

WP_2
WP_1

WP_3

8.2: (WP_1) : initial position, (WP_2) : via point, (WP_3) : pick up position, (O) : obstacle.

Without configuring other settings, the robot will make a stop at each waypoint, before continuing
the movement. For this task a stop at (WP_2) is not optimal since a smooth turn would require
less time and energy while still fulfilling the requirements. It is even acceptable that the robot does
not reach (WP_2) exactly, as long as the transition from the first trajectory to the second happens
near this position.

e-Series 74 Software Manual


7. Program Tab

The stop at (WP_2) can be avoided by configuring a blend for the waypoint, allowing the robot to
calculate a smooth transition into the next trajectory. The primary parameter for the blend is a
radius. When the robot is within the blend radius of the waypoint it can start blending and deviate
from the original path. This allows for faster and smoother movements, as the robot does not need
to decelerate and re-accelerate.

Blend parameters

Apart from the waypoints, multiple parameters will influence the blend trajectory (see figure 8.3):
• the blend radius (r )
• the initial and final speed of the robot (at positions p1 and p2 , respectively)
• the movement time (e.g. if setting a specific time for a trajectory this will influence the
initial/final speed of the robot)
• the trajectory types to blend from and to (MoveL, MoveJ)

Copyright © 2009–2022 by Universal Robots A/S. All rights reserved.


r

WP_1
WP_2

p1

p2

WP_3

8.3: Blend over (WP_2) with radius r , initial blend position at p1 and final blend position at p2 .
(O) is an obstacle.

If a blend radius is set, the robot arm trajectory blends around the waypoint, allowing the robot arm
not to stop at the point.
Blends cannot overlap, so it is not possible to set a blend radius that overlaps with the blend radius
of a previous or following waypoint as shown in figure 8.4.

Software Manual 75 e-Series


7. Program Tab

WP_1
WP_2

WP_3

WP_4

8.4: Blend radius overlap not allowed (*).


Copyright © 2009–2022 by Universal Robots A/S. All rights reserved.

Conditional blend trajectories


The blend trajectory is affected both by the waypoint where the blend radius is set and the
following one in the program tree. That is, in the program in figure 8.5 the blend around (WP_1) is
affected by (WP_2) . The consequence of this becomes more apparent when blending around
(WP_2) in this example.
There are two possible ending positions and to determine which is the next waypoint to blend to,
the robot must evaluate the current reading of the digital_input[1] already when entering the
blend radius.
That means the if...then expression (or other necessary statements to determine the following
waypoint, e.g. variable waypoints) is evaluated before we actually reach (WP_2) which is
somewhat counter-intuitive when looking at the program sequence. If a waypoint is a stop point
and followed by conditional expressions to determine the next waypoint (e.g. the I/O command) it
is executed when the robot arm has stopped at the waypoint.

MoveL
WP_I
WP_1 (blend)
WP_2 (blend)
if (digital_input[1]) then
WP_F_1
else
WP_F_2

e-Series 76 Software Manual


7. Program Tab

WP_I

WP_1

WP_2
*

WP_F_1
WP_F_2

8.5: WP_I is the initial waypoint and there are two potential final waypoints WP_F_1 and WP_F_2,
depending on a conditional expression. The conditional if expression is evaluated when the

Copyright © 2009–2022 by Universal Robots A/S. All rights reserved.


robot arm enters the second blend (*).

Blend Trajectories

WP_2

WP_1

WP_3

WP_2

WP_1

WP_3

8.6: Joint space (MoveJ) vs. cartesian space (MoveL) movement and blend.

Software Manual 77 e-Series


7. Program Tab

Depending on the movement type (i.e., MoveL, MoveJ, or MoveP), different blend trajectories are
generated.
• Blends in MoveP When blending in MoveP, the position of the blend follows a circle arc at
constant speed. The orientation blends with a smooth interpolation between the two
trajectories. You can blend a MoveJ or a MoveL into a MoveP. In such a case, the robot uses
the circular arc blend of MoveP, and interpolate the speed of the two motions. You cannot
blend a MoveP to a MoveJ or a MoveL. Instead, the last waypoint of the MoveP is regarded
as a stop point with no blend. You cannot perform a blend if the two trajectories are at an
angle close to 180 degrees (reverse direction) because it creates a circular arc with a very
small radius which the robot cannot follow at constant speed. This causes a runtime
exception in the program which can be corrected by adjusting the waypoints to cause a less
sharp angle.
• Blends involving MoveJ MoveJ blends cause a smooth curve in joint space. This goes for
blends from MoveJ to MoveJ, MoveJ to MoveL and MoveL to MoveJ. The blend produces a
smoother and faster trajectory than the movements without a blend (see Figure 15.6).
If velocity and acceleration are used for specifying the velocity profile, the blend stays within
Copyright © 2009–2022 by Universal Robots A/S. All rights reserved.

the blend radius during the blend. If using time instead of velocity and acceleration for
specifying the velocity profile of both motions, the blend trajectory follows the trajectory of
the original MoveJ. When both motions are time constrained, using blends does not save
time.
• Blends in MoveL When blending in MoveL, the position of the blend follows a circle arc at
constant speed. The orientation blends with a smooth interpolation between the two
trajectories. The robot may decelerate on the trajectory before following the circular arc to
avoid very high accelerations (e.g., if the angle between the two trajectories are close to 180
degrees).

7.11.3. Relative Waypoint

e-Series 78 Software Manual


7. Program Tab

A waypoint with the position given relative to the robot arm’s previous position, such as “two
centimeters to the left”. The relative position is defined as the difference between the two given
positions (left to right).
Note: repeated relative positions can move the robot arm out of its workspace.
The distance here is the Cartesian distance between the TCP in the two positions. The angle states
how much the TCP orientation changes between the two positions. More precisely, the length of
the rotation vector describing the change in orientation.

7.11.4. Variable Waypoint

Copyright © 2009–2022 by Universal Robots A/S. All rights reserved.


A waypoint with the position given by a variable, in this case calculated_pos. The variable has to be
a pose such as
var=p[0.5,0.0,0.0,3.14,0.0,0.0]. The first three are x,y,z and the last three are the orientation given as
a rotation vector given by the vector rx,ry,rz. The length of the axis is the angle to be rotated in
radians, and the vector itself gives the axis about which to rotate. The position is always given in
relation to a reference frame or coordinate system, defined by the selected feature. If a blend
radius is set on a fixed waypoint and the waypoints preceding and succeeding it are variable or if
the blend radius is set on a variable waypoint, then the blend radius will not be checked for overlap
(see Blend parameters on page 75). If, when running the program, the blend radius overlaps a point,
the robot will ignore it and move to the next one.
For example, to move the robot 20 mm along the z-axis of the tool:

var_1=p[0,0,0.02,0,0,0]
Movel
Waypoint_1 (variable position):
Use variable=var_1, Feature=Tool

Software Manual 79 e-Series


7. Program Tab

7.11.5. Direction
The program node Direction specifies a motion relative to feature axes or TCPs. The robot moves
in along the path specified by the Direction Program Node until that movement is stopped by an
Until condition.
Copyright © 2009–2022 by Universal Robots A/S. All rights reserved.

Adding a Direction Movement


1. Under Basic, tap Direction to add a linear movement to your Program Tree.
2. In the Direction field, under Feature, define the linear movement.

Stopping a Direction Movement


1. In the Direction field, tap the Add Until button to define and add stop criteria to your Program
Tree.

You can add Direction Vector settings, for Tool Speed and Tool Acceleration, to define the vector
direction for linear motion, allowing for advanced uses as:
• defining linear motion relative to multiple feature axes
• computing the direction as a mathematical expression

The Direction Vectors defines a custom code expression that is resolved to a unit vector. For
example, Direction vectors of [100,0,0] and [1,0,0] have the exact same effect on the robot; use the
Speed Slider to moving along the x-axis at a desired speed. The values of the numbers in the
direction vector only matter relative to each other.

e-Series 80 Software Manual


7. Program Tab

7.11.6. Until
The program node Until defines a stop criterion for a motion. The robot moves along a path and
stops when contact is detected. In the Progran Tree, you can add Until Nodes under Direction
Nodes and Waypoint Nodes. You can add several stop criteria to a single movement. The motion
stops when the first Until condition is met.

Copyright © 2009–2022 by Universal Robots A/S. All rights reserved.


In the Until field, you can define the following stop criteria:
• Distance This node can be used to stop a Direction move when the robot has moved a
certain distance. The velocity is ramped down so the robot stops exactly at the distance.
• Tool Contact (see 7.11.7. Until-Tool Contact below) You can use this node to stop a
movement when the robot tool detects a contact.
• Expression This node can be used to stop the motion due to a custom program expression.
You can use I/Os, variables or script functions to specify the stop condition.
• I/O Input You can use this node to stop a signal controlled motion on an I/O Input.

7.11.7. Until-Tool Contact


The program node Until Tool Contact allows the robot to stop its motion when contact with the
tool is established. You can define the deceleration of the stop and the retraction of the tool.

Software Manual 81 e-Series


7. Program Tab

CAUTION
The default speed of motion is too high for contact detection. A faster speed of
motion triggers a Protective Stop, before the Tool Contact condition can take
effect. To avoid triggering a Protective Stop, lower the speed of motion. For
example: 100m/s.
Copyright © 2009–2022 by Universal Robots A/S. All rights reserved.

NOTE
Until Tool Contact might not work if the mounted tool vibrates. For example: a
vaccuum gripper with an embedded pump can introduce fast vibrations.

You can use the Until Tool Contact Node for applications like Stacking/Destacking, where Until
Tool Contact determines the height of stacked objects.

e-Series 82 Software Manual


7. Program Tab

Retract to Contact
Use the Retract to Contact setting for the robot to return to the initial point of contact. You can set
an additional reverse movement to make the robot move free of, or toward, contact. This is useful
if you have a gripper that needs free space to move, or if a clamping action is needed.

Action
Add an Action allows a program node to be be added if a specific Until condition is met. For
example, Until Tool Contact can engage the gripping action of a gripper tool. If no Action is defined,
then program execution continues to the next program node in the Program Tree.

7.11.8. Wait

Copyright © 2009–2022 by Universal Robots A/S. All rights reserved.


Wait pauses I/O signal, or expression, for a given amount of time. If No Wait is selected, nothing is
done.
When the Tool Communication Interface TCI is enabled, the tool analog input is unavailable for
Wait For selection and expressions.

Software Manual 83 e-Series


7. Program Tab

7.11.9. Set
Copyright © 2009–2022 by Universal Robots A/S. All rights reserved.

If the active TCP for a particular motion is known at the time of writing of the program, you can use
the TCP selection by tapping Move in the Side Menu on the left, (see 7.11.1. Move on page 70). For
further information about configuring named TCPs (see 8.2. TCP Configuration on page 123).

7.11.10. Popup

e-Series 84 Software Manual


7. Program Tab

The Popup is a message that appears on the screen when the program reaches the Popup node in
the program tree. Under the Command tab, tap the empty field and use the on-screen keyboard to
create text content for the popup message. Messages are limited to a maximum of 255
characters.
You can select the Text dropdown, if you prefer to have a variable displayed in your popup
message instead of text.
You can also select Halt program execution at this popup for the program to stop when the popup
appears.
During program execution, when the popup message appears, tap OK in the popup dialog box to
continue the program.

7.11.11. Halt

Copyright © 2009–2022 by Universal Robots A/S. All rights reserved.


The program execution stops at this point.

Software Manual 85 e-Series


7. Program Tab

7.11.12. Comment
Copyright © 2009–2022 by Universal Robots A/S. All rights reserved.

Gives the programmer an option to add a line of text to the program. This line of text does not do
anything during program execution.

7.11.13. Folder

A Folder is used to organize and label specific parts of a program, to clean up the program tree,
and to make the program easier to read and navigate.
Folders have no impact on the program and its execution.

e-Series 86 Software Manual


7. Program Tab

7.11.14. Set Payload

Copyright © 2009–2022 by Universal Robots A/S. All rights reserved.


Use the Set Payload command to set the payload of the robot arm. You can adjust the payload
weight to prevent the robot from triggering a protective stop, when the weight at the tool differs
from the expected payload.

NOTICE
Setting the payload correctly ensures optimal motion performance and avoids
protective stops.
• Set the payload when picking up- and releasing objects with a gripper.

To use the Set Payload command you can:


• Use the drop-down, under Select Payload, to select one of the payloads already configured in
the installation.
• Or, use the drop-down to configure a new payload by selecting Custom Payload and
completing the mass and CoG fields.

You can also use the Set Active button to set the values on the node as the active payload.

Software Manual 87 e-Series


7. Program Tab

7.12. Advanced program nodes


7.12.1. Loop
Copyright © 2009–2022 by Universal Robots A/S. All rights reserved.

Loops the underlying program commands. Depending on the selection, the underlying program
commands are either looped infinitely, a certain number of times or as long as the given condition
is true. When looping a certain number of times, a dedicated loop variable (called loop_1 in the
screen shot above) is created, which can be used in expressions within the loop. The loop variable
counts from 0 to N − 1.
When looping using an expression as end condition, PolyScope provides an option for continuously
evaluating that expression, so that the “loop” can be interrupted anytime during its execution,
rather than just after each iteration.

7.12.2. If
If and If...Else statements change the robot’s behavior based on sensor inputs or variable values.

e-Series 88 Software Manual


7. Program Tab

Copyright © 2009–2022 by Universal Robots A/S. All rights reserved.


Select conditions in the Expression Editor that make up expressions using an If statement. If a
condition is evaluated as True, the statements within this If command are executed. An If
statement can have only one Else statement. Use Add ElseIf and Remove ElseIf to add and remove
ElseIf expressions.
Select Check Expression Continuously to allow If, ElseIf and Loop statements to be evaluated
while the contained lines are executed. If an expression inside an If statement is evaluated as
False, the ElseIf or Else statements are followed.

NOTE
If there are waypoints inside an If expression or inside a Loop expression with the
Check Expression Continuously option, you can add a stopj() or a stopl() after the
expression to gently decelerate the robot arm. This is valid for both If and Loop
Commands (see section 7.12.1. Loop on the previous page).

Software Manual 89 e-Series


7. Program Tab

7.12.3. SubProgram
Copyright © 2009–2022 by Universal Robots A/S. All rights reserved.

A SubProgram can hold program parts that are needed several places. A SubProgram can be a
separate file on the disk, and can also be hidden to protect against accidental changes to the
SubProgram.

Call Subroutine

A call to a Subroutine will run the program lines in the SubProgram, and then return to the following
line.

e-Series 90 Software Manual


7. Program Tab

7.12.4. Assignment

Copyright © 2009–2022 by Universal Robots A/S. All rights reserved.


Assigns values to the variables. The variable value can be the result of expressions created in the
Expression Editor (see section 7.4. Expression Editor on page 64).
You can also request a variable value from an operator. When requesting a value from an operator,
it is possible to display an Operator Message to validate input against common variable types.

7.12.5. Script

The following options are available in the drop down list under Command:

Software Manual 91 e-Series


7. Program Tab

• Line allows you to write a single line of URscript code, using the Expression Editor ( 7.4.
Expression Editor on page 64)
• File allows you to write, edit or load URscript files.

You can find instructions for writing URscript in the Script Manual on the support website
(http://www.universal-robots.com/support).
Functions and variables declared in a URscript file are available for use througout the program in
the PolyScope.

7.12.6. Event
Copyright © 2009–2022 by Universal Robots A/S. All rights reserved.

An event can be used to monitor an input signal, and perform some action or set a variable when
that input signal goes high. For example, in the event that an output signal goes high, the event
program can wait for 200ms and then set it back to low again. This can make the main program
code a lot simpler in the case on an external machine triggering on a rising flank rather than a high
input level. Events are checked once every control cycle (2ms) .

e-Series 92 Software Manual


7. Program Tab

7.12.7. Thread

Copyright © 2009–2022 by Universal Robots A/S. All rights reserved.


A thread is a parallel process to the robot program. A thread can be used to control an external
machine independently of the robot arm. A thread can communicate with the robot program with
variables and output signals.

7.12.8. Switch

Software Manual 93 e-Series


7. Program Tab

A Switch Case construction can make the robot change behavior based on sensor inputs or
variable values. Use the Expression Editor to describe the base condition and define the cases
under which the robot should proceed to the sub-commands of this Switch. If the condition is
evaluated to match one of the cases, the lines inside the Case are executed. If a Default Case
has been specified, then the lines will be executed only if no other matching cases were found.
Each Switch can have several Cases and one Default Case. Switches can only have one
instance of any Case values defined. Cases can be added using the buttons on the screen. A Case
command can be removed from the screen for that switch.

7.12.9. Timer
Copyright © 2009–2022 by Universal Robots A/S. All rights reserved.

A Timer measures the length of time it takes for specific parts of the program to run. A program
variable contains the time passed since a Timer started, and can be seen in the Variables Tab and
in the Run Tab.

e-Series 94 Software Manual


7. Program Tab

7.12.10. Home

Copyright © 2009–2022 by Universal Robots A/S. All rights reserved.


The Home node uses joint angles to move the robot to a predefined Home position. If defined as a
Safe Home position,the Home node displays as Home(Safety) in the Program Tree. If the Home
position is out of sync with Safety, the node is undefined.

7.13. Templates
7.13.1. Palletizing
Palletizing is a template to easily program palletizing and depalletizing tasks, picking-and-placing
parts (i.e., from trays, fixtures, etc.), and having the robot perform repeatable actions for different
items in multiple layers with different patterns. You can create different patterns and apply them to
specific layers. You can also place a separator between each layer (see Adding a Separator
Between Layers in a Palletizing Sequence on page 99). Furthermore, you can use Features from
Pallet Properties to easily adjust the placement of your pallet. To learn about Features, see 8.17.
Features on page 142. Follow the Creating a Palletizing Program section below to use the
Palletizing template.

Software Manual 95 e-Series


7. Program Tab

Creating a Palletizing Program


Copyright © 2009–2022 by Universal Robots A/S. All rights reserved.

1. Decide if you want to teach a Feature (see 8.17. Features on page 142) or use a Base as a
reference plane.
2. In the Program Tab, under Templates, tap Palletizing.
3. On the Palletizing screen, select one of the following actions depending on the desired
action.
1. Select Palletizing to organize items onto a pallet.
2. Select Depalletizing to remove items from a pallet.
4. Under Pallet Properties, specify the Name, Feature (see Step 1), Object Height, and Item
Counter name for your program. Select the Remember last item location box if you want the
robot to restart at the item it was handling when it stopped.
5. On the Palletizing screen, under Actions, add additional actions to be performed before or
after palletizing sequence by selecting the following:
1. Add Action Before Palletizing: These actions are performed before starting to
palletize.
2. Add Action After Palletizing: These actions are performed after finishing palletizing.
6. On the Program Tree, tap the Patterns node to designate patterns for your layers. You can
create the following type of patterns: Line, Grid, or Irregular (see figure below). On this
screen, you can select if you want to include a separator between layers (see Adding a
Separator Between Layers in a Palletizing Sequence on page 99).

e-Series 96 Software Manual


7. Program Tab

7. Tap the pattern node(s) on the Program Tree to teach the robot layer-specific positions (e.g.,
start/end points, grid corners, and/or number of items). See 7.11.1. Move on page 70 for
teaching instructions. All positions must be taught at the bottom of the pallet. To duplicate a
pattern, tap the Duplicate pattern button on the Pattern node screen that you wish to
duplicate.

Line To teach the positions, select each item in the Program Tree:
• StartItem1
• EndItem1
Insert the number of items in your sequence using the Items text box at
the bottom of the screen.
Grid To teach the positions, select each item in the Program Tree:
• CornerItem1
• CornerItem2

Copyright © 2009–2022 by Universal Robots A/S. All rights reserved.


• CornerItem3
• CornerItem4
Insert the number of rows and columns in the appropriate text boxes to
set the dimensions of the pattern.
Irregular To teach the positions, select each item in the Program Tree:
• Item1
• Item2
• Item3
Tap Add Item to add and identify a new item in the sequence.

8. In the Program Tree, tap the Layers node to configure the layers of your palletizing
sequence. Use the Choose Pattern drop-down menu to select the pattern for each layer. Tap
the Add layer button to add additional layers to your program. Layers must be added in the
correct order, as they cannot be reordered later.
9. In the Program Tree, tap At Each Item node. Choose to use the default option (A) At Each
Item Wizard, or (B) Manually Configure At Each Item. Instructions for each option are below.

(A) At Each Item Wizard


The At Each Item Wizard assists in defining the actions performed at each item on a pallet, such as
the ReferencePoint, the Approach Waypoint, ToolActionPoint Waypoint, and Exit Waypoint
(described in the table below). The Approach and Exit Waypoints for each item remains in the
same orientation and direction regardless of the different items’ orientation.

Software Manual 97 e-Series


7. Program Tab

1. Tap the At Each Item node on the Program Tree.


2. On the At Each Item screen, tap Next.
3. Tap the Move Here button. Then, hold the Auto button or use the Manual button to move the
robot to the ReferencePoint. Tap the Continue button. Tap Next.
4. Tap Set Waypoint to teach the Approach Waypoint (see 7.11.1. Move on page 70). Tap Next.
5. Repeat Step 3.
6. Tap Set Waypoint to teach the Exit Waypoint (see 7.11.1. Move on page 70). Tap Next.
7. Tap Finish.
8. You can now add appropriate gripper action nodes in the Tool Action folder in the Program
Tree.

ToolActionPoint Waypoint: The location and position you want the robot to
be in when conducting an action for each item in a layer. The ToolActionPoint
Waypoint is the ReferencePoint by default, but it can be edited in the Program
Copyright © 2009–2022 by Universal Robots A/S. All rights reserved.

Tree by tapping the ToolActionPoint Waypoint node. When using the wizard,
the ReferencePoint is the first position in the first defined layer on the pallet.
The ReferencePoint is used to teach the robot the Approach Waypoint,
ToolActionPoint ToolActionPoint Waypoint, and Exit Waypoint for each item in a layer.

Approach Waypoint: The collision-free position and direction you want the
robot to take when approaching an item in a layer.

Approach

Tool Action: The action you want the robot attachment to perform for each
item.

Tool Action

Exit Waypoint: The position and direction you want the robot to take when
moving away from an item in a layer.

Exit

e-Series 98 Software Manual


7. Program Tab

(B) Manual Configuration


1. Tap the At Each Item node on the Program Tree.
2. On the At Each Item start screen, tap Manual Configuration.
3. Use the drop-down menus to select a Pattern and a ReferencePoint item. Tap the Use this
ReferencePoint button to set the ReferencePoint.
4. Move the robot to the ReferencePoint by tapping Move Here.
5. Tap the Approach node in the Program Tree to teach the robot the Approach Waypoint (see
7.11.1. Move on page 70). The Approach Waypoint remains in the same orientation and
direction regardless of the different items’ orientation.
6. Tap the At Each Item node in the Program Tree. Repeat Step 4.
7. Tap the Exit node in the Program Tree to teach the robot the Exit Waypoint (see 7.11.1.
Move on page 70).

Copyright © 2009–2022 by Universal Robots A/S. All rights reserved.


8. You can now add appropriate gripper action nodes in the Tool Action folder in the Program
Tree.

Adding a Separator Between Layers in a Palletizing Sequence

Separators, such as paper or Styrofoam, can be placed between layers in a palletizing sequence.
To add separators between layers, follow the instructions below:
1. On the Program Tree, select the Patterns node.
2. On the Patterns screen, select Separator and define the height using the Separator Height
text box. If the height is not defined, the program will not run.
3. Select Layers in the Program Tree. On the Layers screen, select which layers you want the
separators to go between (separators are automatically placed between each layer).
4. Tap the Separator node in the Program Tree. Tap Set Separator to teach the Separator
Position.
5. Choose between using the default option (A) Separator Wizard, or (B) Manually Configure the
Separator sequence. Instructions for each option are below.

When the wizard is complete, or if you cancel the wizard, a template appears in the Program Tree
under Separator Action. In addition to the Tool Action folder under the Separator Action node, you
can select one of the following folders:

Software Manual 99 e-Series


7. Program Tab

• Pick Up Separator to program the robot to pick up separators for palletizing


• Drop Off Separator to drop off separators for depalletizing

(A) Separator Wizard


1. Tap the Separator Action node on the Program Tree.
2. On the Separator Action screen, tap Next.
3. Tap the Move Here button and hold the Auto button or use the Manual button to move the
robot to the Separator Point. Tap the Continue button. Tap Next.
4. Tap Set Waypoint to teach the Approach Waypoint (see 7.11.1. Move on page 70). Tap Next.
5. Repeat Step 3.
6. Tap Set Waypoint to teach the Exit Waypoint (see 7.11.1. Move on page 70). Tap Next.
7. Tap Finish.
8. You can now add appropriate action nodes in the Pick Up Separator, Drop Off Separator, and
Copyright © 2009–2022 by Universal Robots A/S. All rights reserved.

Tool Action folders in the Program Tree.

(B) Manual Configuration


1. Tap the Separator Action node on the Program Tree.
2. On the Separator Action start screen, tap Manual Configuration.
3. Move the robot to the Separator Point by tapping Move to Separator Point.
4. Tap the Approach node in the Program Tree to teach the robot the Approach Waypoint (see
7.11.1. Move on page 70).
5. Tap the Separator Action node in the Program Tree. Repeat Step 3.
6. Tap the Exit node in the Program Tree to teach the robot the Exit Waypoint (see 7.11.1.
Move on page 70).
7. You can now add appropriate action nodes in the Pick Up Separator, Drop Off Separator, and
Tool Action folders in the Program Tree.

Options to Customize A Palletizing Program


You can customize your palletizing program in the following ways:
• If your pallet needs to be adjusted or re-positioned after you have created a palletizing
program, you only need to re-teach the pallet Feature (see 8.17. Features on page 142)
because the palletizing sequence is fixed relative to the Feature. Thus, all other program
components automatically adjust to the newly taught position.
• You can edit the properties of the move commands (see 7.11.1. Move on page 70).
• You can change the speeds and blends radii (see 7.11.1. Move on page 70).
• You can add other program nodes to the At Each Item sequence or the Separator Action
sequence.

e-Series 100 Software Manual


7. Program Tab

7.13.2. Seek
The seek function uses a sensor to determine the correct position to grab or drop an item. This
function allows for working on stacks of items of varying thickness, and determining the exact
positions of the items are either unknown or too hard to program.
The sensor can be a push button switch, a pressure sensor or a capacitive sensor.

Stacking Destacking

Copyright © 2009–2022 by Universal Robots A/S. All rights reserved.


To program a seek operation, define the following:
• A - the starting point.
• B to C - the stack direction. This means growing the stack when Stacking and shrinking the
stack when Destacking.
• D - the thickness of the items in the stack.

You must also define the condition for when the next stack position is reached, and a special
program sequence that is performed at each stack position.
Speed and accelerations need to be given for the movement involved in the stack operation.

Software Manual 101 e-Series


7. Program Tab

Stacking
Copyright © 2009–2022 by Universal Robots A/S. All rights reserved.

During Stacking, the robot arm moves to point A, then moves opposite the direction to search for
the next stack position. When the next stack position is found, the robot remembers it and
performs the special sequence.
In subsequent rounds, the robot starts the search from the remembered position, incremented by
the item's thickness along the direction.
Stacking is complete when the stack height is more than some defined number, or when a sensor
gives a signal.

e-Series 102 Software Manual


7. Program Tab

Destacking

Copyright © 2009–2022 by Universal Robots A/S. All rights reserved.


During Destacking, the robot arm moves from point A in the given direction to search for the next
item. The condition on the screen determines when the next item is reached. When the condition is
satisfied, the robot remembers the position and performs the special sequence.
In subsequent rounds, the robot starts the search from the remembered position, incremented by
the item's thickness along the direction.

Starting position
The starting position is where the stack operation starts. If the starting position is omitted, the
stack starts at the robot arm’s current position.

Software Manual 103 e-Series


7. Program Tab

Direction
Copyright © 2009–2022 by Universal Robots A/S. All rights reserved.

The direction, given by positions B to C, is calculated as the position difference from the TCP of B
to the TCP of C.
Direction does not consider the orientations of the points.

Next Stacking Position Expression


The robot arm moves along the direction vector while continuously evaluating whether the next
stack position has been reached. When the expression is evaluated to True the special sequence
is executed.

“BeforeStart”
The optional BeforeStart sequence is run just before the operation starts. This can be used to
wait for ready signals.

“AfterEnd”
The optional AfterEnd sequence is run when the operation is finished. This can be used to signal
conveyor motion to start, preparing for the next stack.

Pick/Place Sequence
The Pick/Place Sequence is a special program sequence performed at each stack position, similar
to the Pallet operation.

e-Series 104 Software Manual


7. Program Tab

7.13.3. Force

NOTE
Using this function at the same time as Conveyor Tracking and/or Path Offset can
lead to program conflict.
• Do not use this function together with Conveyor Tracking or Path Offset.

Force mode is suited to applications where the actual TCP position along a predefined axis is not
important, but instead a desired force along that axis is required. For example, if the robot TCP rolls
against a curved surface, pushes or pulls a workpiece.
Force mode also supports applying certain torques around predefined axes. The robot arm
attempts to accelerate along that axis, if no obstacles are met in an axis where a non-zero force is
set. Although an axis is selected to be compliant, the robot program still tries to move the robot
along that axis. However, force control assures that the robot arm still approaches the specified

Copyright © 2009–2022 by Universal Robots A/S. All rights reserved.


force.

NOTE
If there is a Force node inside an If, ElseIf or Loop, and the Check
Expression Continuously option is selected, you can add an end_force_
mode() script at the end of the expression to exit force control.

WARNING
1. Avoid high deceleration just before entering force mode.
2. Avoid high acceleration in force mode, since it decreases force control
accuracy.
3. Avoid movements parallel to compliant axes before entering force mode.

Software Manual 105 e-Series


7. Program Tab
Copyright © 2009–2022 by Universal Robots A/S. All rights reserved.

Feature selection
The Feature menu is used to select the coordinate system (axes) the robot will use while it is
operating in force mode. The features in the menu are those which have been defined in the
installation (see 8.17. Features on page 142).

Force mode type


The types of force mode, listed below, determine how the selected feature is interpreted.
• Simple: Only one axis will be compliant in force mode. The force along this axis is
adjustable. The desired force will always be applied along the z-axis of the selected feature.
However, for Line features, it is along their y-axis.
• Frame: The Frame type allows for more advanced usage. Here, compliance and forces in all
six degrees of freedom can be independently selected.
• Point: When Point is selected, the task frame has the y-axis pointing from the robot TCP
towards the origin of the selected feature. The distance between the robot TCP and the
origin of the selected feature is required to be at least 10 mm. The task frame changes at
runtime as the position of the robot TCP changes. The x- and z-axis of the task frame are
dependent on the original orientation of the selected feature.
• Motion: Motion means that the task frame will change with the direction of the TCP motion.
The x-axis of the task frame will be the projection of the TCP movement direction onto the
plane spanned by the x- and y-axis of the selected feature. The y-axis will be perpendicular to
the robot arm’s motion, and in the x-y plane of the selected feature. This can be useful when
de-burring along a complex path, where a force is needed perpendicular to the TCP motion.

e-Series 106 Software Manual


7. Program Tab

When the robot arm is not moving: If force mode is entered with the robot arm standing still,
there will be no compliant axes until the TCP speed is above zero. If later, while still in force
mode, the robot arm is again standing still, the task frame has the same orientation as the
last time the TCP speed was larger than zero.

For the last three types, the actual task frame can be viewed at runtime on the graphics tab (see
7.9. Graphics Tab on page 68), when the robot is operating in force mode.

7.13.4. Force value selection


• Force or torque value can be set for compliant axes, and robot arm adjusts its position to
achieve the selected force.
• For non-compliant axes robot arm will follow the trajectory set by the program.

For translational parameters, the force is specified in Newtons [N] and for rotational the torque is
specified in Newton meters [Nm].

Copyright © 2009–2022 by Universal Robots A/S. All rights reserved.


NOTE
You must do the following:
• Use get_tcp_force() script function in separate thread, to read actual
force and torque.
• Correct wrench vector, if actual force and/or torque is lower than requested.

7.13.5. Speed limits


Maximum Cartesian speed can be set for compliant axes. The robot moves at this speed in force
control, as long as it does not come into contact with an object.

7.13.6. Test force settings


The on/off button, labelled Test, toggles the behavior of the Freedrive button on the back of the
Teach Pendant from normal Freedrive mode to testing the force command.
When the Test button is on and the Freedrive button on the back of the Teach Pendant is pressed,
the robot will perform as if the program had reached this force command, and this way the settings
can be verified before actually running the complete program. Especially, this possibility is useful
for verifying that compliant axes and forces have been selected correctly. Simply hold the robot
TCP using one hand and press the Freedrive button with the other, and notice in which directions
the robot arm can/cannot be moved.
Upon leaving this screen, the Test button automatically switches off, which means the Freedrive
button on the back of the Teach Pendant is again used for regular Freedrive mode.
The Freedrive button is only effectual when a valid feature is selected for the Force command.

Software Manual 107 e-Series


7. Program Tab

7.13.7. Conveyor Tracking

NOTE
Using this function at the same time as Force and/or Path Offset can lead to a
program conflict.
• Do not use this function together with Force or Path Offset.

Conveyor Tracking allows the Robot Arm to track the movement of up to two conveyors. Conveyor
Tracking is defined in the Installation Tab (see section 8.14. Conveyor Tracking Setup on
page 138).
Copyright © 2009–2022 by Universal Robots A/S. All rights reserved.

The Conveyor Tracking program node is available in the Program Tab under Templates. All
movements under this node are allowed while tracking the conveyor, but they are relative to the
motion of the conveyor belt. Blends are not allowed when exiting Conveyor Tracking, so the robot
stops completely before making the next motion.

Tracking a Conveyor
1. In the Header, tap Program.
2. Tap Templates and select Conveyor Tracking to add a Conveyor Tracking node to the
Program Tree. Any movements listed under the Conveyor Tracking node tracks the
movement of the conveyor.
3. Under Conveyor Tracking, in the Select Conveyor dropdown list, select Conveyor 1 or
Conveyor 2 to define which conveyor must be tracked.

e-Series 108 Software Manual


7. Program Tab

NOTE
If there is a Conveyor Tracking node inside an If, ElseIf or Loop, and the Check
Expression Continuously option is selected, you can add an end_
conveyor_tracking() script at the end of the expression to exit conveyor
tracking.

7.13.8. Screwdriving
The Screwdriving program node provides an easy way to add a screwdriving application for an
attached screwdriver. Configuring the screwdriver and its connections to the robot is defined in the
Installation Tab (see 8.1. General on page 123).

Copyright © 2009–2022 by Universal Robots A/S. All rights reserved.


Adding a Screwdriving Node
1. In the Header, tap Program.
2. Under Templates, tap Screwdriving.
3. Select Tighten to follow the screw in a tightening direction (in), or select Loosen to follow the
screw in a loosening direction (out). This selection only impacts the motion of the robot to
follow the screw and its measuring calculations.
4. In the Program Selection field, you can select a screwdriver program, depending on the
Program Selection signals in the Installation.
5. Select Enable Starting Point, to add a MoveL to the Program Tree that is executed when the
screwdriver is already running.

Software Manual 109 e-Series


7. Program Tab

Select Enable Machine Error Handler, to add a corrective measure, if required, to the
Program Tree before the screwdriving actions begins.

Selecting Follow the Screw, under Process, to affect the screwdriving action in the following ways:
• Force: Select Force to define how much force is exerted on a screw. Then select Speed
Limit, so the robot moves at this speed as long as it does not come into contact with the
screw.

CAUTION
Place the screwdriver bit above the screw before starting a screwdriving
program. Exerting any force on the screw can affect the screwdriving
program performance.

• Speed: Select a fixed Tool Speed and Accelerationfor the robot to follow the screw.
• Expression: Similar to the If command (see 7.12.2. If on page 88), select Expression to
Copyright © 2009–2022 by Universal Robots A/S. All rights reserved.

describe the condition under which the robot follows the screw.

7.13.9. Screwdrive Until


The Screwdriving program node includes a mandatory until success Until node that defines stop
criteria for the screwdriving process.

You can define the following stop criteria:

e-Series 110 Software Manual


7. Program Tab

• Success: Screwdriving continues until completion is detected using your selected option.
You can only add one success condition.
• Error: Screwdriving continues until an error is detected using your selected option/s. You can
add more than one error condition.

Success
• OK: Screwdriving continues until an OK signal from the screwdriver
is detected.
• Time: Screwdriving continues upto a defined time.
• Distance: Screwdriving continues upto a defined distance.
• Expression: Screwdriving continues until a custom expression
condition is met.

Error
• Not OK: Screwdriving stops when a NOT OK signal from the

Copyright © 2009–2022 by Universal Robots A/S. All rights reserved.


screwdriver is detected.
• Distance: Screwdriving stops when the defined distance is
exceeded.
• Timeout: Screwdriving stops when the defined time is exceeded.

7.14. URCaps
7.14.1. Remote TCP and Toolpath URCap
The Remote TCP and Toolpath URCap allows you to set Remote Tool Center Points (RTCP), where
the tool center point is fixed in space, relative to the base of the robot. The Remote TCP and
Toolpath URCap also allows for programming waypoints and circle moves, and generating robot
motion based on imported toolpath files defined in third-party CAD/CAM software packages.
The Remote TCP URCap requires your robot to be registered before use (see 1.7. Robot
Registration and License file on page 18). The RTCP works in applications that require the robot to
grasp and move items, relative to a fixed tool. The RTCP is used together with the RTCP_MoveP
and RTCP_CircleMove commands to move a grasped part with constant speed, relative to the fixed
tool.

Software Manual 111 e-Series


7. Program Tab
Copyright © 2009–2022 by Universal Robots A/S. All rights reserved.

Similar to a regular TCP (see 8.2. TCP Configuration on page 123) you can define and name an
RTCP in the Installation Tab’s Setup. You can also complete the following actions:
• Add, rename, modify, and remove RTCPs
• Understand the default and active RTCP
• Teach RTCP position
• Copy RTCP orientation

Setting the RTCP from a Feature


Set an RTCP using a Feature to allow the robot to be jogged relative to the RTCP while creating
RTCP Waypoints and RTCP Circle Moves.
1. Tap the plus icon to create a new RTCP RTCP. Or select an existing RTCP in the drop-down
menu.
2. Tap the Copy values from a point feature drop-down menu and select a Feature. Verify the
RTCP orientation values update to match that of the selected Feature.

e-Series 112 Software Manual


7. Program Tab

Copyright © 2009–2022 by Universal Robots A/S. All rights reserved.


7.14.2. Remote TCP Movement Types

RTCP_MoveP
Similar to a regular MoveP, the RTCP_MoveP defines the tool speed and acceleration the Robot
Arm moves relative to the Remote TCP. See 8.2. TCP Configuration on page 123.

RTCP Circle move


Similar to a regular Circle move, the RTCP Circle move can be added to an RTCP_MoveP to make
circular movements. See 8.2. TCP Configuration on page 123.

NOTE
The maximum speed of a Circle Move may be lower than the specified value. The
circle radius is r, the maximum acceleration is A, and the maximum speed cannot
exceed Ar due to centripetal acceleration.

7.14.3. Remote TCP Waypoint


Similar to regular waypoints, RTCP Waypoints allow a tool to move linearly using constant speed
and circular blends. The default blend radius size is a shared value between all the waypoints. A
smaller blend radius size sharpens the path turn. A larger blend radius size smoothens the path.
RTCP Waypoints are taught by physically moving the Robot Arm to a desired position.

Software Manual 113 e-Series


7. Program Tab
Copyright © 2009–2022 by Universal Robots A/S. All rights reserved.

Teaching RTCP Waypoints


1. In the Program Tab, insert an RTCP_MoveP node.
2. On the RTCP_MoveP node, tap Set to bring up the Move screen.
3. On the Move screen, use Teach Mode or Jog to position the robot in a desired configuration.
4. Tap the green check mark to validate.

Configuring an RTCP Waypoint


Use blends to enable the robot to smoothly transition between two trajectories. Tap Use Shared
Blend Radius or tap Blend with radius to set the blend radius for a waypoint from an RTCP_MoveP.

NOTE
A physical time node (e.g. Move, Wait) cannot be used as a child of an RTCP_
MoveP node. If an unsupported node is added as a child to an RTCP_MoveP node,
the program fails to validate.

7.14.4. Remote TCP Toolpath


The Remote TCP and Toolpath URCap generates robots motions automatically, making it easier to
follow complex trajectories accurately.

e-Series 114 Software Manual


7. Program Tab

Configuring a Remote TCP Toolpath


1. Select Remote TCP Toolpath Moves on the Remote TCP & Toolpath URCap Home Page to
enter the workflow.
2. Follow the instructions under the Instructions Tab.

A Remote TCP Toolpath Move requires the following major components:


• Toolpath file
• Remote TCP
• Remote TCP PCS

Configuring a Toolpath using CAD/CAM Software


A toolpath defines the orientation, trajectoy, speed or (feed rate) and travel direction of the tool.
1. Create or import a CAD model of a part.

Copyright © 2009–2022 by Universal Robots A/S. All rights reserved.


2. Set up a Part Coordinate System (PCS) fixed to the part.
3. Create a toolpath relative to the PCS based on part features
4. Simulate the toolpath motion to verify it meets expectation.
5. Export the toolpath into a G-code file with .nc file extension.

Importing a G-code Toolpath into PolyScope

Software Manual 115 e-Series


7. Program Tab

1. Load the toolpath files in the root directory of a USB stick. Toolpath files must have the .nc
extension
2. Insert the USB stick into the Teach Pendant.
3. In the Header, tap Installation, tap URCaps, select Remote TCP & Toolpath, select Remote
TCP - Toolpath Moves, and select Toolpath.
4. Select which toolpath files to import into Polyscope.

7.14.5. Remote TCP

Configuring a Remote TCP for Toolpath Moves


1. At the first waypoint in the CAM environment, determine the tool orientation.
2. Use Freedrive to manually grasp the part with the gripper.
3. Select the location of the Remote TCP
Copyright © 2009–2022 by Universal Robots A/S. All rights reserved.

4. Use the position wizard to obtain the positive values.


5. Adjust the robot until the desired part pose for approaching the remote TCP is acheived.
6. Envision the tool orientation at the first waypoint on the physical part. The positive Z-axis
direction should point away fromthe part surface.
7. Create a Plane Feature with the same orientation as envisioned in the previous step.
8. Set the Remote TCP orientation by copying values from the Plane Feature. The desired part
pose is maintained while the toolpath is executed.

7.14.6. Remote TCP PCS


The Remote TCP Part Coordinate System (PCS) is defined as fixed relative to the robot tool flange.
Tap the wand, on the PolyScope screen, to activate the wizard to teach the Remote TCP PCS. You
can use either of the teaching methods described below.

e-Series 116 Software Manual


7. Program Tab

Copyright © 2009–2022 by Universal Robots A/S. All rights reserved.


Configuring a Remote TCP PCS
Use this method if the PCS can be set on the part surface.
1. Use freedrive to manually grasp the part with the gripper.
2. Select a Remote TCP to teach the reference points. For high accuracy, temporarily set up a
sharp Remote TCP to complete this teaching process.
3. Jog the robot for the Remote TCP to touch the origin, positive X-axis and the positive Y-axis
direction of the PCS on the part.
4. Tap Set to conclude the teaching process. The position and orientation values are populated
automatically.

Otherwise, use this method.


1. Select three or four reference points on the part surface.
2. In the CAD/CAM software, record the X, Y, Z coordinates, relative to the PCS of the selected
reference points.
3. Use freedrive to to manually grasp the part with the gripper.
4. Select a Remote TCP to teach the reference points. For high accuracy, temporarily set up a
sharp Remote TCP to complete this teaching process.
5. Enter the coordinates for the first reference point.
6. Jog the robot for the Remote TCP to touch the first reference point on the part.
7. Repeat steps five and six for the other reference points.

Software Manual 117 e-Series


7. Program Tab

Setting a Variable PCS


For advanced use cases, where the part is not grasped with high consistency, you can set a
Variable PCS to adjust the toolpath moves according to the part location and orientation relative to
the robot tool flange. You can create a pose variable tied to an external sensor that can detect the
PCS location and orientation.
1. Set up an external sensor that detects the PCS location and orientation. You must convert
the sensor output to the robot tool flange frame.
2. Verify the PCS is set up relative to the part and the location and orientation are detectable by
the external sensor.
3. In PolyScope, create a pose variable tied to the external sensor output as a variable PCS.
Give it a distinct name, for example, variable_rtcp_pcs_1.
4. Insert an RTCP Toolpath Node.
5. At the top right corner of the program page, in the drop-down menu, select Variable PCS.
Copyright © 2009–2022 by Universal Robots A/S. All rights reserved.

6. In the Select PCS drop-down menu, select variable_rtcp_pcs_1.


7. Create an Assignment or Script node to update variable_rtcp_pcs_1 before the RTCP
Toolpath Node.

The following section explains how to use a variable PCS in a Remote TCP Toolpath node.

Configuring a Remote TCP Toolpath Node

e-Series 118 Software Manual


7. Program Tab

1. Access the Program Tab and tap URCaps.


2. Select Remote TCP Move to insert an RTCP_MoveP node.
3. Select a TCP and set the motion parameters: tool speed, tool acceleration and blend radius.
4. Tap +Toolpath to insert an RTCPToolpath node. Delete the RTCPWaypoint node that was
created by default, if it is not needed.
5. Select a toolpath file and the corresponding Remote TCP PCS fromthe drop-down menus.
6. Adjust the motion parameters if different values are to be applied to the RTCPToolpath node.
7. Tap Move to First Point to verify the grasped part approaches the Remote TCP as expected.
8. Test the program in the simulation mode at a low speed to confirm the configurations.

NOTE
You can ensure the robot motion is identical, each time the toolpath is executed, by
adding a MoveJ with a Use Joint Angles set to move to a fixed joint configuration

Copyright © 2009–2022 by Universal Robots A/S. All rights reserved.


before executing the toolpath. See 7.11.1. Move on page 70

7.14.7. Regular TCP Toolpath Moves


Similar to configuring a Remote TCP Toolpath Move, a regular TCP Toolpath Move requires the
following:
• Toolpath file
• Regular TCP
• Plane Feature as a PCS

Configuring and Importing a Toolpath File


This is similar to configuring a Toolpath (see Configuring a Toolpath using CAD/CAM Software on
page 115) and importing Toolpath (see Importing a G-code Toolpath into PolyScope on page 115).

Software Manual 119 e-Series


7. Program Tab

Configuring a Regular TCP


• Follow the instructions in 8.2. TCP Configuration on page 123 to configure a Regular TCP.
• Verify the positive Z-axis of the tool points away from the part surface.
Copyright © 2009–2022 by Universal Robots A/S. All rights reserved.

Configuring a Plane Feature PCS


1. Create a plane feature by Adding a plane or Teaching a plane. See 8.17.5. Plane Feature on
page 145.
2. Fix the part relative to the robot base.
3. Verify the correct TCP is us to create the plane feature. For high accuracy, temporarily set up
a sharp Remote TCP to complete this teaching process.
4. Jog the robot for the Remote TCP to touch the origin, positive X-axis and the positive Y-axis
direction of the PCS on the part.
5. Finish the teaching process and confirm the PCS position and orientation.

Configuring a Toolpath Node


1. Access the Program Tab and tap URCaps.
2. Select a TCP and set the motion parameters: tool speed, tool acceleration and blend radius.
Select Spin tool freely around its Z-axis. Do not select if the tool must follow the orientation
around Z-axis defined in the toolpath file.
3. Tap +Toolpath to insert a Toolpath node.
4. In the drop-down menu, select a toolpath file and the corresponding PCS (Plane Feature).
5. Adjust the motion parameters if different values are to be applied to the Toolpath node.
6. Tap Move to First Point to verify the tool can move to the first point of the toolpath.
7. Run the program in the simulation mode, at a low speed, to confirm the configurations are
correct.

e-Series 120 Software Manual


7. Program Tab

NOTE
You can ensure the robot motion is identical, each time the toolpath is executed, by
adding a MoveJ with a Use Joint Angles set to move to a fixed joint configuration
before executing the toolpath. See 7.11.1. Move on page 70

Copyright © 2009–2022 by Universal Robots A/S. All rights reserved.

Software Manual 121 e-Series


Copyright © 2009–2022 by Universal Robots A/S. All rights reserved.

e-Series
122
Software Manual
7. Program Tab
8. Installation Tab

8. Installation Tab
8.1. General
The Installation Tab allows you to configure the settings which affect the overall performance of
the robot and PolyScope.

8.2. TCP Configuration


A Tool Center Point (TCP) is a point on the robot’s tool. Each TCP contains a translation and a
rotation relative to the center of the tool output flange.
When programmed to return to a previously stored waypoint, a robot moves the TCP to the position
and orientation saved within the waypoint. When programmed for linear motion, the TCP moves
linearly.

Copyright © 2009–2022 by Universal Robots A/S. All rights reserved.

8.2.1. Position
The X, Y, Z coordinates specify the TCP position. When all values (including orientation) are zero,
the TCP coincides with the center point of the tool output flange and adopts the coordinate system
depicted on the screen.

8.2.2. Orientation
The RX, RY, RZ coordinate boxes specify the TCP orientation. Similar to the Move Tab, use the
Units drop down menu above the RX, RY, RZ boxes to select the orientation coordinates (see ).

Software Manual 123 e-Series


8. Installation Tab

8.2.3. Adding, Renaming, Modifying and Removing TCPs


You can start configuring a new TCP with the following actions:
• Tap the to define a new TCP with a unique name. The new TCP is available in the
dropdown menu.
• Tap the to rename a TCP.
• Tap the to remove a selected TCP. You cannot remove the last TCP.

Active TCP
When moving linearly, the robot always uses the active TCP to determine the TCP offset. The
active TCP can be changed using a Move command (see 7.11.1. Move on page 70) or a Set
command. The motion of the active TCP is visualised on the Graphics Tab (see 7.9. Graphics
Tab on page 68).
Copyright © 2009–2022 by Universal Robots A/S. All rights reserved.

Default TCP
The Default TCP must be set as the active TCP before running a program.
• Select the desired TCP and tap Set as default to set a TCP as the default.

The green icon in the available drop-down menu indicates the default configured TCP.

8.2.4. Teaching TCP position

TCP position coordinates can be calculated automatically as follows:

e-Series 124 Software Manual


8. Installation Tab

1. Tap Measure.
2. Choose a fixed point in the workspace of the robot.
3. Use the position arrows on the right side of the screen to move the TCP from at least three
different angles and to save the corresponding positions of the tool output flange.
4. Use the Set button to apply the verified coordinates to the appropriate TCP. The positions
must be sufficiently diverse for the calculation to work correctly. If they are not sufficiently
diverse, the status LED above the buttons turns red.

Though three positions are sufficient to determine the TCP, a fourth position can be used to further
verify the calculation is correct. The quality of each saved point, with respect to the calculated TCP,
is indicated using a green, yellow, or red LED on the corresponding button.

8.2.5. Teaching TCP orientation

Copyright © 2009–2022 by Universal Robots A/S. All rights reserved.


1. Tap Measure.
2. Select a feature from the drop-down list. (See 8.17. Features on page 142) for additional
information on defining new features
3. Tap Set point and use Move tool arrows to a position where the tool’s orientation and the
corresponding TCP coincide with the selected features’s coordinate system.
4. Verify the calculated TCP orientation and apply it to the selected TCP by tapping Set.

8.3. Payload
You must set the Payload, the CoG and the inertia for the robot to perform optimally.

Software Manual 125 e-Series


8. Installation Tab

You can define multiple Payloads, and switch between them in your program. This is useful in Pick
and Place applications, for example, where the robot picks up and releases an object.
Copyright © 2009–2022 by Universal Robots A/S. All rights reserved.

8.3.1. Adding, Renaming, Modfying and Removing Payloads


You can start configuring a new Payload with the following actions:
• Tap the to define a new Payload with a unique name. The new payload is available in the
drop-down menu.
• Tap the to rename a Payload.
• Tap the to remove a selected Payload. You cannot remove the last Payload.

Active Payload
The checkmark in the drop-down indicates which payload is active . The active
Payload can be changed using the .

Default Payload
The default Payload is set as the active Payload before the program starts.
• Select the desired Payload and tap Set as default to set a Payload as the default.

The green icon in the drop-down menu indicates the default configured Payload .

8.3.2. Setting the Center of Gravity


Tap the fields CX, CY and CZ to set the center of gravity. The settings apply to the selected Payload.

e-Series 126 Software Manual


8. Installation Tab

8.3.3. Payload Estimation


This feature allows the robot to help set the correct Payload and Center of Gravity (CoG).

Using the Payload Estimation Wizard


1. In the Installation Tab, under General, select Payload.
2. On the Payload screen, tap Measure.
3. In the Payload Estimation Wizard tap Next.
4. Follow the steps in the Payload Estimation Wizard to set the four positions.
Setting the four positions requires moving the robot arm into four different positions. The
load of the payload is measured at each position.
5. Once all measurements are complete, you can verify the result and tap Finish.

Copyright © 2009–2022 by Universal Robots A/S. All rights reserved.


NOTE
Follow the these guidelines for best Payload Estimation results:
• Ensure the TCP positions are as different as possible from each other
• Perform the measurements within a short timespan
• Avoid pulling on the tool and/or attached payload before and during
estimation
• Robot mounting and angle must be correctly defined in the installation

8.3.4. Inertia

Setting Inertia Values


You can select Use custom Inertia Matrix to set inertia values.
Tap the fields: IXX, IYY, IZZ, IXY, IXZ and IYZ to set the inertia for the selected Payload.
The inertia is specified in a coordinate system with the origin at the Center of Gravity (CoG) of the
payload and the axes aligned with the tool flange axes.
The default inertia is calculated as the inertia of a sphere with the user specified mass, and a mass
density of 1g/cm3

Software Manual 127 e-Series


8. Installation Tab

8.4. Mounting
Copyright © 2009–2022 by Universal Robots A/S. All rights reserved.

Specifying the mounting of the Robot arm serves two purposes:


1. Making the Robot arm appear correctly on screen.
2. Telling the controller about the direction of gravity.

An advanced dynamics model gives the Robot arm smooth and precise motions, as well as allows
the Robot arm to hold itself in Freedrive Mode. For this reason, it is important to mount the Robot
arm correctly.

WARNING
Failure to mount the Robot’s arm correctly may result in frequent Protective Stops,
and/or the Robot arm will move when pressing the Freedrive button.

e-Series 128 Software Manual


8. Installation Tab

If the Robot arm is mounted on a flat table or floor, no change is needed on this screen. However, if
the Robot arm is ceiling mounted, wall mounted, or mounted at an angle, this needs to be adjusted
using the buttons.
The buttons on the right side of the screen are for setting the angle of the Robot arm’s mounting.
The top three right side buttons set the angle to ceiling (180∘ ), wall (90∘ ), floor (0∘ ). The Tilt
buttons set an arbitrary angle.
The buttons on the lower part of the screen are used to rotate the mounting of the Robot arm to
match the actual mounting.

WARNING
Use the correct installation settings. Save and load the installation files with the
program.

8.5. I/O Setup

Copyright © 2009–2022 by Universal Robots A/S. All rights reserved.

Use the I/O Setup screen to define I/O signals and configure actions with the I/O tab control. The
types of I/O signals are listed under Input and Output.
You can use a fieldbus, for example, Profinet and EtherNet/IP, to access the general purpose
registers.
If you enable the Tool Communication Interface (TCI), the tool analog input becomes unavailable.

8.5.1. I/O Signal Type


To limit the number of signals listed under Input and Output, use the View drop-down menu to
change the displayed content based on signal type.

Software Manual 129 e-Series


8. Installation Tab

8.5.2. Assigning User-defined Names


You can name the Input and Output signals to easily identify the ones being used.
1. Select the desired signal.
2. Tap the text field to type a name for the signal.
3. To reset the name to default, tap Clear.

You must provide a user-defined name for a general purpose register to make it available in the
program (i.e., for a Wait command or the conditional expression of an If command).
The Wait and If commands are described in (7.11.8. Wait on page 83) and (7.12.2. If on page 88),
respectively. You can find named general purpose registers in the Input or Output selector on the
Expression Editor screen.

8.5.3. I/O Actions and I/O Tab Control


Copyright © 2009–2022 by Universal Robots A/S. All rights reserved.

Input and Output Actions


You can use Physical and Fieldbus digital I/Os to trigger actions or react to the status of a
program.
Available Input Actions:

Input Action
Start Starts or resumes the current program on a rising edge (only
enabled in Remote Control, see 13.4.5. Remote Control on
page 187 )
Stop Stops the current program on a rising edge
Pause Pauses the current program on a rising edge
Freedrive When the input is high, the robot goes into freedrive (similar to
the freedrive button).
The input is ignored if other conditions disallow freedrive.

WARNING
If the robot is stopped while using the Start input action, the robot slowly moves to
the first waypoint of the program before executing that program. If the robot is
paused while using the Start input action, the robot slowly moves to the position
from where it was paused before resuming that program.

Available Output Actions:

e-Series 130 Software Manual


8. Installation Tab

Action Output state Program state


Low when not running Low Stopped or paused
High when not running High Stopped or paused
High when running, low when Low Running
stopped High Stopped or paused
Low on unscheduled stop Low Program terminated unscheduled
Low on unscheduled stop, Low Program terminated unscheduled
otherwise High High Running, stopped or paused
Continuous Pulse Alternates between high Running (pause or stop the program
and low to maintain the pulse state)

NOTE

Copyright © 2009–2022 by Universal Robots A/S. All rights reserved.


A program is terminated unscheduled if any of the following occur:
• Protective stop
• Fault
• Violation
• Runtime exception

I/O Tab Control


Use I/O Tab Control to specify whether an output is controlled on the I/O tab (by either
programmers, or both operators and programmers), or if it is controlled by the robot programs.

Software Manual 131 e-Series


8. Installation Tab

8.6. Installation Variables


Copyright © 2009–2022 by Universal Robots A/S. All rights reserved.

Variables created on the Installation Variables pane are called installation variables and are used
like normal program variables. Installation variables are distinct because they keep their value even
if a program stops then starts again, and when the robot arm and/or Control Box is powered down
and powered up again.
Installation variables names and values are stored with the installation, so you can use the same
variable in multiple programs.
Installation variables and their values are saved automatically every 10 minutes during program
execution, also when the program is paused and when it is stopped.

To create a installation variable


1. Tap Create New and a new variable name is suggested in the Name field.
You can edit the variable name as desired.
2. In the Value field, set a value for the new variable.
You cannot save a variable without first setting the Value.
3. You can describe the new installation variable in the Description field.
4. You can set the new variable as favorite by checking the Favorite variable box.
5. Tap OK to add the new variable to the Installation Variables list.

e-Series 132 Software Manual


8. Installation Tab

Designating a favorite variable allows the installation variable to be part of the set of favorite
variables displayed when you select it to only show favorite variables on the Variables tab in the
Program Tab screen and on the Run Tab screen.

To designate an installation variable as favorite


1. In the Header, tap Installation.
2. Under General, select Variables.
The variables are listed under Installation Variables.
3. Select the desired variables.
4. Check the Favorite variable box.
5. Tap Run to return to your variable display.

To edit a variable

Copyright © 2009–2022 by Universal Robots A/S. All rights reserved.


1. Select the desired variable in the Installation Variables list.
2. You can edit the Value, the Description, or the Favorite variable.
You cannot edit the variable name in this step.

Changes to edited installation variables take immediate effect.

To delete a variable
1. Select the desired variable and tap Delete.
2. Select Delete Variable in the confirmation pop-up

8.7. Startup

Software Manual 133 e-Series


8. Installation Tab
Copyright © 2009–2022 by Universal Robots A/S. All rights reserved.

The Startup screen contains settings for automatically loading and starting a default program, and
for auto-initializing the Robot arm during power up.

WARNING
1. When autoload, auto start and auto initialize are enabled, the robot runs the
program as soon as the Control Box is powered up as long as the input
signal matches the selected signal level. For example, the edge transition to
the selected signal level will not be required in this case.
2. Use caution when the signal level is set to LOW. Input signals are low by
default, leading the program to automatically run without being triggered by
an external signal.
3. You must be in Remote Control Mode before running a program where auto
start and auto initialize are enabled.

8.7.1. Loading a Startup Program


A default program is loaded after the Control Box is powered up. Furthermore, the default program
is auto loaded when the Run Program screen (see 6. Run Tab on page 53) is entered and no
program is loaded.

8.7.2. Starting a Startup Program


The default program is auto started in the Run Program screen. When the default program is
loaded and the specified external input signal edge transition is detected, the program is started
automatically.
On Startup, the current input signal level is undefined. Choosing a transition that matches the

e-Series 134 Software Manual


8. Installation Tab

signal level on startup starts the program immediately. Furthermore, leaving the Run Program
screen or tapping the Stop button in the Dashboard disables the auto start feature until the Run
button is pressed again.

8.8. Tool I/O

Copyright © 2009–2022 by Universal Robots A/S. All rights reserved.


8.9. I/O Interface Control
The I/O Interface Control allows you to switch between user control and URcap control.
1. Tap the Installation tab and under General, tap Tool I/O
2. Under I/O Interface Control, select User to access the Tool Analog Inputs and/or Digital
Output Mode settings. Selecting a URCap removes access to the Tool Analog Inputs and the
Digital Output Mode settings.

NOTE
If a URCap controls an end-effector, such as a gripper, then the URCap requires
control of the Tool IO Interface. Select the URCap in the list, to allow it to control
the Tool IO Interface.

Software Manual 135 e-Series


8. Installation Tab

8.10. Tool Analog Inputs


8.10.1. Tool Communication Interface
The Tool Communication Interface (TCI) enables the robot to communicate with an attached tool
via the robot tool analog input. This removes the need for external cabling.
Once the Tool Communication Interface is enabled, all tool analog inputs are unavailable.

8.10.2. Configuring the Tool Communication Interface (TCI)


1. Tap the Installation tab and under General tap Tool I/O.
2. Select Communication Interface to edit TCI settings.
Once the TCI is enabled, the tool analog input is unavailable for the I/O Setup of the
Installation and does not appear in the input list. Tool analog input is also unavailable for
Copyright © 2009–2022 by Universal Robots A/S. All rights reserved.

programs as Wait For options and expressions.


3. In the drop-down menus under Communication Interface, select required values.
Any changes in values are immediately sent to the tool. If any installation values differ from
what the tool is using, a warning appears.

8.11. Digital Output Mode


The tool communication interface allows two digital outputs to be independently configured. In
PolyScope, each pin has a drop-down menu that allows the output mode to be set. The following
options are available:
• Sinking: This allows the pin to be configured in an NPN or Sinking configuration. When the
output is off, the pin allows a current to flow to the ground. This can be used in conjunction
with the PWR pin to create a full circuit. See chapter five in the Hardware Installation
Manual .
• Sourcing: This allows the pin to be configured in a PNP or Sourcing configuration. When the
output is on, the pin provides a positive voltage source (configurable in the IO Tab). This can
be used in conjunction with the GND pin to create a full circuit.
• Push / Pull: This allows the pin to be configured in a Push / Pull configuration. When the
output is on, the pin provides a positive voltage source (configurable in IO Tab). This can be
used in conjunction with the GND pin to create a full circuit When the output is off, the pin
allows a current to flow to the ground.

After selecting a new output configuration, the changes take effect. The currently loaded
installation is modified to reflect the new configuration. After verifying the tool outputs are working
as intended, make sure to save the installation to prevent losing changes.

e-Series 136 Software Manual


8. Installation Tab

8.11.1. Dual Pin Power


Dual Pin Power is used as a source of power for the tool. Enabling Dual Pin Power disables default
tool digital outputs.

8.12. Smooth Transition Between Safety Modes


When switching between safety modes during events (i.e., Reduced Mode Input, Reduced Mode
Trigger Planes, Safeguard Stops, and Three-Position Enabling Device), the Robot Arm aims to use
0.4s to create a "soft" transition. Existing applications have unchanged behavior which
corresponds to the "hard" setting. New installation files default to the "soft" setting.

8.12.1. Adjusting Acceleration/Deceleration Settings


1. In the Header, tap Installation.

Copyright © 2009–2022 by Universal Robots A/S. All rights reserved.


2. In the In the Side Menu on the left, under General, select Smooth Transition.
3. Select Hard to have a higher acceleration/deceleration
or select Soft for the smoother default transition setting.

8.13. Home

Home is a user-defined return position for the Robot Arm. Once defined, the Home Position is
available when creating a robot program. You can use the Home Position to define a Safe Home
Position.(See 5.18. Safe Home Position on page 49) Use the Home screen buttons for the
following:

Software Manual 137 e-Series


8. Installation Tab

• Edit Position modifies a Home Position.


• Move here moves the Robot Arm to the defined Home Position.
• Zero Position returns the Robot Arm to an upright position.

8.13.1. Defining Home


1. In the Header, tap Installation.
2. Under General, select Home.
3. Tap Set Position.
4. Teach robot using either Freedrive or Transition buttons.

8.14. Conveyor Tracking Setup


The Conveyor Tracking Setup allows the movement of up to two separate conveyors to be
Copyright © 2009–2022 by Universal Robots A/S. All rights reserved.

configured. The Conveyor Tracking Setup provides options for configuring the robot to work with
absolute or incremental encoders, as well as linear or circular conveyors.

8.14.1. Defining a Conveyor


1. In the Header, tap Installation.
2. Under General, select Conveyor Tracking.
3. Under Conveyor Tracking Setup, in the dropdown list select Conveyor 1 or Conveyor 2.
You can only define one conveyor at a time.
4. Select Enable Conveyor Tracking
5. Configure Conveyor Parameters (section 8.14.2. Conveyor Parameters below) and Tracking
Parameters (section 8.14.3. Tracking Parameters on the facing page).

8.14.2. Conveyor Parameters


Incremental
encoders can be connected to Digital Inputs 8 to 11. Decoding of digital signals runs at 40kHz.
Using a Quadrature encoder (requiring two inputs), the robot can determine the speed and
direction of the conveyor. If the direction of the conveyor is constant, a single input can be used
to detect Rising, Falling, or Rise and Fall edges which determine conveyor speed.
Absolute
encoders can be connected through a MODBUS signal. This requires a Digital MODBUS Output
register preconfigured in (section 8.19. MODBUS Client I/O Setup on page 151).

e-Series 138 Software Manual


8. Installation Tab

8.14.3. Tracking Parameters


Linear Conveyors
When a linear conveyor is selected, a line feature must be configured in the Features part of the
installation to determine the direction of the conveyor. Ensure accuracy by placing the line
feature parallel to the direction of the conveyor, with a large distance between the two points
that define the line feature. Configure the line feature by placing the tool firmly against the side
of the conveyor when teaching the two points. If the line feature’s direction is opposite to the
conveyor’s movement, use the Reverse direction button. The Ticks per meter field displays the
number of ticks the encoder generates when the conveyor moves one meter.
Circular Conveyors
When tracking a circular conveyor, the conveyor center point must be defined.
1. Define the center point in the Features part of the installation. The value of Ticks per
revolution must be the number of ticks the encoder generates when the conveyor rotates
one full revolution.

Copyright © 2009–2022 by Universal Robots A/S. All rights reserved.


2. Select the Rotate tool with conveyor checkbox for the tool orientation to track the
conveyor rotation.

8.15. Screwdriving Setup


The Screwdriving Setup provides options for configuring the robot to work with an industrial
screwdriver or an industrial nutrunner. You can setup the screwdriver’s position with respect to the
robot’s tool flange and electrical interface.

Software Manual 139 e-Series


8. Installation Tab

8.15.1. Configuring a Screwdriver


1. In the Header, tap Installation.
2. Under General, select Screwdriving, or create your own TCP for screwdriving by tapping TCP
under General.
3. Under Input and Output, configure the I/Os for your screwdriver. You can use the Interface
list to filter the type of I/Os displayed under Input and Output.
4. Under Start, select the I/O that starts the screwdriving action.

In any output Program Selection list under Output, you can select an integer output to switch
Program Selection (see 7.13.8. Screwdriving on page 109) to a number field.

8.15.2. Configuring the Screwdriver Position


1. Under Screwdriving Setup, use the drop-down menu to select a previously defined TCP
Copyright © 2009–2022 by Universal Robots A/S. All rights reserved.

(see 8.2. TCP Configuration on page 123) where Position and Orientation are set up as
follows:
• Configure the Position to be the tip of the screwdriver tool where it contacts the screw.
• Configure the Orientation so that the positive Z direction is aligned to the length of the
screws to be tightened.
You can visualize the X, Y and Z coordinates of the selected TCP to confirm it matches the
tool’s bit or socket.
The Screwdriving program node (see 7.13.8. Screwdriving on page 109) uses the positive Z
direction of the selected TCP to follow the screw and calculate distances.

Typical Orientation values (in Rotation Vector [rad] notation) are illustrated in the following table.

Orientation

Screwdriving axis parallel to the negative Y • RX: 1.5708 rad


direction of the robot’s tool flange • RY: 0.0000 rad
• RZ: 0.0000 rad
Orientation

Screwdriving axis parallel to the positive Y • RX: -1.5708 rad


direction of the robot’s tool flange • RY: 0.0000 rad
• RZ: 0.0000 rad
Orientation

Screwdriving axis parallel to the positive X • RX: 0.0000 rad


direction of the robot’s tool flange • RY: 1.5708 rad
• RZ: 0.0000 rad

e-Series 140 Software Manual


8. Installation Tab

Orientation

Screwdriving axis parallel to the negative X • RX: 0.0000 rad


direction of the robot’s tool flange • RY: -1.5708 rad
• RZ: 0.0000 rad
Orientation

Screwdriving axis parallel to the positive Z • RX: 0.0000 rad


direction of the robot’s tool flange • RY: 0.0000 rad
• RZ: 0.0000 rad
Orientation

Screwdriving axis parallel to the negative Z • RX: 3.1416 rad


direction of the robot’s tool flange • RY: 0.0000 rad
• RZ: 0.0000 rad

Copyright © 2009–2022 by Universal Robots A/S. All rights reserved.


8.15.3. Configuring the Screwdriver Interface
1. Use the Interface drop-down menu at the top of the screen to change the displayed content
based on signal type.
2. Under Input, configure the signals that the robot receives from the screwdriver:
• OK: High when tightening ends successfully, if not selected this condition is not
available in the Screwdriving program node
• NOK: High when tightening ends with errors, if not selected this condition is not
available in the Screwdriving program node
• Ready: High when the screwdriver is ready to be started, if not selected this condition
is not checked
3. Under Output configure the signals that the robot sends to the screwdriver:
• Start: starts the tool tightening or loosening a screw depending only on wiring.
• Program Selection: one integer, or up to four binary signals, can be selected to activate
different tightening configurations stored in the screwdriver
• Program Selection Delay: wait time to be used after changing the screwdriver’s
program to make sure it is active

8.16. Safety
See chapter 5. Safety Configuration on page 33.

Software Manual 141 e-Series


8. Installation Tab

8.17. Features
Copyright © 2009–2022 by Universal Robots A/S. All rights reserved.

A Feature represents an object defined by a six dimensional pose (position and orientation) relative
to the robot base. You can name a feature for future reference.
Some subparts of a robot program consist of movements executed relative to specific objects
other than the base of the robot arm. These objects can be tables, other machines, workpieces,
vision systems, blanks, or boundaries existing around the robot arm.
The robot includes two predefined features, listed below, with poses defined by the configuration
of the robot arm itself:
• The Base feature is located with origin in the centre of the robot base (see figure 9.1).
• The Tool feature is located with origin in the centre of the current TCP (see figure 9.2).

e-Series 142 Software Manual


8. Installation Tab
9.1: Base feature

9.2: Tool (TCP) feature

Use the Point feature, Line feature and/or Plane feature to define a feature pose.
These features are positioned through a method that uses the current pose of the TCP in the work

Copyright © 2009–2022 by Universal Robots A/S. All rights reserved.


area. So you can teach feature locations using Freedrive , or "jogging" to move the robot to the
desired pose.
Selecting a feature depends on the type of object being used and the precision requirements. Use
the Line feature and Plane feature where possible as they are based on more input points. More
input points mean higher precision.
For example, you can accurately define the direction of a linear conveyor, by defining two points of
a Line feature with as much physical separation as possible. You can also use the Point feature to
define a linear conveyor, however, you must point the TCP in the direction of the conveyor's
movement.
Using more points to define the pose of a table means that the orientation is based on the
positions rather than the orientation of a single TCP. A single TCP orientation is harder to configure
with high precision.
For more on adding features, see (sections: on the next page), ( on page 145) and (8.17.5. Plane
Feature on page 145).

8.17.1. Using a feature


You can refer to a feature defined the installation from the robot program, to relate robot
movements (e.g. MoveJ, MoveL and MoveP commands) to the feature (see section 7.11.1.
Move on page 70).
This allows for easy adaptation of a robot program when for example: there are multiple robot
stations, when an object is moved during program runtime, or when an object is permanently
moved in the scene. Adjusting the feature of an object, adjusts all program movements relative to
the object accordingly. For further examples, see (sections 8.17.6. Example: Manually Updating a
Feature to Adjust a Program on page 146) and (8.17.7. Example: Dynamically Updating a Feature
Pose on page 147). When a feature is chosen as a reference, the Move Tool buttons for translation
and rotation operate in the selected feature space (see 9.3. Tool Position on page 162) and (9.1.
Move Tool on page 161), reading of the TCP coordinates. For example, if a table is defined as a

Software Manual 143 e-Series


8. Installation Tab

feature and is chosen as a reference in the Move Tab, the translation arrows (i.e., up/down,
left/right, forward/backward) move the robot in these directions relative to the table. Additionally,
the TCP coordinates will be in the frame of the table.
• In the Features tree you can rename a Point, Line or Plane by tapping the pencil button.
• In the Features tree you can delete a Point, Line or Plane by tapping the Delete button.

8.17.2. Using Move here


Tap Move here to move the robot arm towards the selected feature. At the end of this movement,
the coordinate systems of the feature and the TCP will coincide.
Move here is disabled if the robot arm cannot reach the feature.

8.17.3. Point feature


The point feature defines a safety boundary or a global home configuration of the Robot arm. The
Copyright © 2009–2022 by Universal Robots A/S. All rights reserved.

point feature pose is defined as the position and orientation of the TCP.

Adding a Point
1. In Installation, select Features.
2. Under Features select Point.

8.17.4. Line feature


The line feature defines lines that the robot needs to follow. (e.g., when using conveyor tracking). A
line l is defined as an axis between two point features p1 and p2 as shown in figure 9.3.

e-Series 144 Software Manual


8. Installation Tab

Adding a Line
1. In Installation, select Features.
2. Under Features select Line.

9.3: Definition of the line feature

In figure 9.3 the axis directed from the first point towards the second point, constitutes the y-axis
of the line coordinate system. The z-axis is defined by the projection of the z-axis of p1 onto the

Copyright © 2009–2022 by Universal Robots A/S. All rights reserved.


plane perpendicular to the line. The position of the line coordinate system is the same as the
position of p1.

8.17.5. Plane Feature


Select the plane feature when you need a frame with high precision: e.g., when working with a
vision system or doing movements relative to a table.

Software Manual 145 e-Series


8. Installation Tab

Adding a plane
1. In Installation, select Features.
2. Under Features select Plane.

Teaching a plane
When you press the plane button to create a new plane, the on-screen guide assists you creating a
plane.
1. Select Origo
2. Move robot to define the direction of the positive x-axis of the plane
3. Move robot to define the direction of the positive y-axis of the plane

The plane is defined using the right hand rule so the z- axis is the cross product of the x-axis and
the y-axis, as illustrated below.
Copyright © 2009–2022 by Universal Robots A/S. All rights reserved.

NOTE
You can re-teach the plane in the opposite direction of the x-axis, if you want that
plane to be normal in the opposite direction.

Modify an existing plane by selecting Plane and pressing Modify Plane. You will then use the same
guide as for teaching a new plane.

8.17.6. Example: Manually Updating a Feature to Adjust a Program


Consider an application where multiple parts of a robot program is relative to a table. Figure 9.4
illustrates the movement from waypoints wp1 through wp4.

e-Series 146 Software Manual


8. Installation Tab

Robot Program
MoveJ
S1
MoveL # Feature: P1_var
wp1
wp2
wp3
wp4

Copyright © 2009–2022 by Universal Robots A/S. All rights reserved.


9.4: Simple program with four waypoints relative to a feature plane manually updated by
changing the feature

The application requires the program to be reused for multiple robot installations where the
position of the table varies slightly. The movement relative to the table is identical. By defining the
table position as a feature P1 in the installation, the program with a MoveL command configured
relative to the plane can be easily applied on additional robots by just updating the installation with
the actual position of the table.
The concept applies to a number of Features in an application to achieve a flexible program can
solve the same task on many robots even though if other places in the work space varies between
installations.

8.17.7. Example: Dynamically Updating a Feature Pose


Consider a similar application where the robot must move in a specific pattern on top of a table to
solve a particular task (see 9.5).

Software Manual 147 e-Series


8. Installation Tab

9.5: A MoveL command with four waypoints relative to a plane feature

Robot Program
MoveJ
wp1
Copyright © 2009–2022 by Universal Robots A/S. All rights reserved.

y = 0.01
o = p[0,y,0,0,0,0]
P1_var = pose_trans(P1_var, o)
MoveL # Feature: P1_var
wp1
wp2
wp3
wp4

9.6: Applying an offset to the plane feature

Robot Program
MoveJ
S1
if (digital_input[0]) then
P1_var = P1
else
P1_var = P2
MoveL # Feature: P1_var
wp1
wp2
wp3
wp4

e-Series 148 Software Manual


8. Installation Tab

9.7: Switching from one plane feature to another

The movement relative to P1 is repeated a number of times, each time by an offset o. In this

Copyright © 2009–2022 by Universal Robots A/S. All rights reserved.


example the offset is set to 10 cm in the Y-direction (see figure 9.6, offsets O1 and O2). This is
achieved using pose_add() or pose_trans() script functions to manipulate the variable. It is possible
to switch to a different feature while the program is running instead of adding an offset. This is
shown in the example below (see figure 9.7) where the reference feature for the MoveL command
P1_var can switch between two planes P1 and P2.

8.17.8. Feature Edit


The Feature Edit is an alternative way to add features to your installation and/or edit existing
features.

Use Edit to place and move features without moving the robot arm, so the feature can be placed
outside of the robot arm's reach.

Software Manual 149 e-Series


8. Installation Tab

Editing a Point
You can edit a defined point or an undefined point. Editing an undefined point defines it.
Copyright © 2009–2022 by Universal Robots A/S. All rights reserved.

1. In Installation, tap Features.


2. Under Features, select Point to add a point to your program tree.
3. Tap Edit to access the Edit screen to make changes to the position and rotation of the point

Editing a Line
The line appears as two points in your program tree. You must define each point.
1. In Installation, tap Features.
2. Under Feature, select Line to add a line to your program tree.
3. The line is made up of two points:
• Tap one point to edit those coordinates, then tap the other line point to edit those
coordinates.

e-Series 150 Software Manual


8. Installation Tab

Editing a Plane
1. In Installation, tap Features.
2. Under Feature, select Plane to add a plane to your program tree.
3. Tap Edit to access the Edit screen to make changes to the positon and rotation of the plane

8.18. Fieldbus
Here you can set the family of industrial computer network protocols used for real-time distributed
control accepted by PolyScope: MODBUS, Ethernet/IP and PROFINET.

8.19. MODBUS Client I/O Setup

Here, the MODBUS client (master) signals can be set up. Connections to MODBUS servers (or Copyright © 2009–2022 by Universal Robots A/S. All rights reserved.
slaves) on specified IP addresses can be created with input/output signals (registers or digital).
Each signal has a unique name so it can be used in programs.

8.19.1. Refresh
Push this button to refresh all MODBUS connections. Refreshing disconnects all modbus units, and
connects them back again. All statistics are cleared.

8.19.2. Add unit


Push this button to add a new MODBUS unit.

Software Manual 151 e-Series


8. Installation Tab

8.19.3. Delete unit


Push this button to delete the MODBUS unit and all signals on that unit.

8.19.4. Set unit IP


Here the IP address of the MODBUS unit is shown. Press the button to change it.

8.19.5. Sequential mode


Available only when Show Advanced Options (see 8.19.13. Show Advanced Options on page 154) is
selected. Selecting this checkbox forces the modbus client to wait for a response before sending
the next request. This mode is required by some fieldbus units. Turning this option on may help
when there are multiple signals, and increasing request frequency results in signal disconnects.
The actual signal frequency may be lower than requested when multiple signals are defined in
Copyright © 2009–2022 by Universal Robots A/S. All rights reserved.

sequential mode. Actual signal frequency can be observed in signal statistics (see section 8.19.14.
Advanced Options on page 154). The signal indicator turns yellow if the actual signal frequency is
less than half of the value selected from the Frequency drop-down list.

8.19.6. Add signal


Push this button to add a signal to the corresponding MODBUS unit.

8.19.7. Delete signal


Push this button to delete a MODBUS signal from the corresponding MODBUS unit.

8.19.8. Set signal type


Use this drop down menu to choose the signal type. Available types are:

Digital input
A digital input (coil) is a one-bit quantity which is read from the MODBUS unit on the coil
specified in the address field of the signal. Function code 0x02 (Read Discrete Inputs) is used.
Digital output
A digital output (coil) is a one-bit quantity which can be set to either high or low. Before the
value of this output has been set by the user, the value is read from the remote MODBUS unit.
This means that function code 0x01 (Read Coils) is used. When the output has been set by a
robot program or by pressing the set signal value button, the function code 0x05 (Write Single
Coil) is used onwards.
Register input
A register input is a 16-bit quantity read from the address specified in the address field. The
function code 0x04 (Read Input Registers) is used.
Register output

e-Series 152 Software Manual


8. Installation Tab

A register output is a 16-bit quantity which can be set by the user. Before the value of the
register has been set, the value of it is read from the remote MODBUS unit. This means that
function code 0x03 (Read Holding Registers) is used. When the output has been set by a robot
program or by specifying a signal value in the set signal value field, function code 0x06 (Write
Single Register) is used to set the value on the remote MODBUS unit.

8.19.9. Set signal address


This field shows the address on the remote MODBUS server. Use the on-screen keypad to choose a
different address. Valid addresses depends on the manufacturer and configuration of the remote
MODBUS unit.

8.19.10. Set signal name


Using the on-screen keyboard, the user can give the signal a name. This name is used when the

Copyright © 2009–2022 by Universal Robots A/S. All rights reserved.


signal is used in programs.

8.19.11. Signal value


Here, the current value of the signal is shown. For register signals, the value is expressed as an
unsigned integer. For output signals, the desired signal value can be set using the button. Again, for
a register output, the value to write to the unit must be supplied as an unsigned integer.

8.19.12. Signal connectivity status


This icon shows whether the signal can be properly read/written (green), or if the unit responds
unexpected or is not reachable (gray). If a MODBUS exception response is received, the response
code is displayed. The MODBUS-TCP Exception responses are:

E1
ILLEGAL FUNCTION (0x01) The function code received in the query is not an allowable action
for the server (or slave).
E2
ILLEGAL DATA ADDRESS (0x02) The function code received in the query is not an allowable
action for the server (or slave), check that the entered signal address corresponds to the setup
of the remote MODBUS server.
E3
ILLEGAL DATA VALUE (0x03) A value contained in the query data field is not an allowable value
for server (or slave), check that the enterd signal value is valid for the specified address on the
remote MODBUS server.
E4
SLAVE DEVICE FAILURE (0x04) An unrecoverable error occurred while the server (or slave) was
attempting to perform the requested action.
E5

Software Manual 153 e-Series


8. Installation Tab

ACKNOWLEDGE (0x05) Specialized use in conjunction with programming commands sent to


the remote MODBUS unit.
E6
SLAVE DEVICE BUSY (0x06) Specialized use in conjunction with programming commands sent
to the remote MODBUS unit, the slave (server) is not able to respond now.

8.19.13. Show Advanced Options


This check box shows/hides the advanced options for each signal.

8.19.14. Advanced Options


Update Frequency
This menu can be used to change the update frequency of the signal. This means the
frequency with which requests are sent to the remote MODBUS unit for either reading or writing
Copyright © 2009–2022 by Universal Robots A/S. All rights reserved.

the signal value. When the frequency is set to 0, then modbus requests are initiated on demand
using a modbus_get_signal_status, modbus_set_output_register, and modbus_set_output_signal
script functions.
Slave Address
This text field can be used to set a specific slave address for the requests corresponding to a
specific signal. The value must be in the range 0-255 both included, and the default is 255. If
you change this value, it is recommended to consult the manual of the remote MODBUS device
to verify its functionality when changing slave address.
Reconnect count
Number of times TCP connection was closed, and connected again.
Connection status
TCP connection status.
Response time [ms]
Time between modbus request sent, and response received - this is updated only when
communication is active.
Modbus packet errors
Number of received packets that contained errors (i.e. invalid length, missing data, TCP socket
error).
Timeouts
Number of modbus requests that didn’t get response.
Requests failed
Number of packets that could not be sent due to invalid socket status.
Actual freq.
The average frequency of client (master) signal status updates. This value is recalculated each
time the signal receives a response from the server (or slave).

All counters count up to 65535, and then wrap back to 0.

e-Series 154 Software Manual


8. Installation Tab

8.20. EtherNet/IP
EtherNet/IP is a network protocol that enables the connection of the robot to an industrial
EtherNet/IP Scanner Device.
If the connection is enabled, you can select the action that occurs when a program loses
EtherNet/IP Scanner Device connection.
Those actions are:

None
PolyScope ignores the loss of EtherNet/IP connection and the program continues to run.
Pause
PolyScope pauses the current program. The program resumes from where it stopped.
Stop
PolyScope stops the current program.

Copyright © 2009–2022 by Universal Robots A/S. All rights reserved.


8.21. PROFINET
The PROFINET network protocol enables or disables the connection of the robot to an industrial
PROFINET IO-Controller.
If the connection is enabled, you can select the action that occurs when a program loses
PROFINET IO-Controller connection.
Those actions are:

None
PolyScope ignores the loss of PROFINET connection and the program continues to run.
Pause
PolyScope pauses the current program. The program resumes from where it stopped.
Stop
PolyScope stops the current program.

If the PROFINET engineering tool (e.g. TIA portal) emits a DCP Flash signal to the robot's
PROFINET or PROFIsafe device, a popup in PolyScope is displayed.

8.22. PROFIsafe
The PROFIsafe network protocol allows the robot to communicate with a safety PLC according to
ISO 13849, Cat. 3 PLd requirements. The robot transmits safety state information to a safety PLC,
then receives information to trigger safety related functions, such as: emergency stop or enter
reduced mode.
The PROFIsafe interface provides a safe, network-based alternative to connecting wires to the
safety IO pins of the robot control box.
PROFIsafe is only available on robots that have an enabling license, which you can obtain by
contacting your local sales representative, once obtained, the license can be downloaded on myUR.

Software Manual 155 e-Series


8. Installation Tab

Please refer to 1.7. Robot Registration and License file on page 18 for information regarding robot
registration and license activation.

8.22.1. Communicating via PROFIsafe


A control message received from the safety PLC contains the information in the table below.

Signal Description
E-Stop by system Asserts the system e-stop.
Safeguard stop Asserts the safeguard stop.
Reset safeguard stop Resets safeguard stop state (on low-to-high transition in
automatic mode) if the safeguard stop input is cleared
beforehand.
Safeguard stop auto Asserts safeguard stop if the robot is operating in Automatic
mode.
Copyright © 2009–2022 by Universal Robots A/S. All rights reserved.

Safeguard stop auto shall only be used when a 3-Position


Enabling (3PE) Device is configured. If no 3PE Device is
configured, the safeguard stop auto acts as a normal safeguard
stop input.
Reset safeguard stop auto Resets safeguard stop auto state (on low-to-high transition
when in automatic mode) if safeguard stop auto inputs are
cleared beforehand.
Reduced mode Activates the Reduced mode safety limits.
Operational mode Activates either manual or automatic operational mode. If the
safety configuration "Operational mode selection via PROFIsafe"
is disabled, this field shall be omitted from the PROFIsafe
control message.

A status message sent to the safety PLC contains the information in the table below.

Signal Description
Stop, cat. 0 Robot is performing, or it has completed, a safety stop of
category 0; A hard stop by immediate removal of power to the
arm and the motors.
Stop, cat. 1 Robot is performing, or it has completed, a safety stop of
category 1; A controlled stop after which the motors are left in a
power off state with brakes engaged.
Stop, cat. 2 Robot is performing, or it has completed, a safety stop of
category 2; A controlled stop after which the motors are left in a
power on state.
Violation Robot is stopped because the safety system failed to comply
with the safety limits currently defined.

e-Series 156 Software Manual


8. Installation Tab

Signal Description
Fault Robot is stopped because of an unexpected exceptional error in
the safety system.
E-stop by system Robot is stopped because of one of the following conditions:
• a safety PLC connected via PROFIsafe has asserted
system level e-stop.
• an IMMI module connected to the control box has asserted
a system level e-stop.
• a unit connected to the system e-stop configurable safety
input of the control box has asserted system level e-stop.
E-stop by robot The robot is stopped because of one of the following conditions:
• The e-stop button of the teach pendant is pressed.
• An e-stop button connected to the robot e-stop non-

Copyright © 2009–2022 by Universal Robots A/S. All rights reserved.


configurable safety input of the control box is pressed.
Safeguard stop The robot is stopped due to one of the following conditions:
• A safety PLC connected via PROFIsafe has asserted the
safeguard stop.
• A unit connected to the safeguard stop non-configurable
input of the control box has asserted the safeguard stop.
• A unit connected to the safeguard stop configurable safety
input of the control box has asserted the safeguard stop.

The signal follows the safeguard reset semantics. A configured


safeguard stop reset functionality shall be used to reset this
signal.
PROFIsafe implies use of the safeguard reset functionality.
Safeguard stop auto The robot is stopped because it is operating in Automatic mode
and because of one of the following conditions:
• A safety PLC connected via PROFIsafe has asserted
safeguard stop auto.
• A unit connected to a safeguard stop auto configurable
safety input of the control box has asserted safeguard
stop auto.

The signal follows the safeguard reset semantics. A configured


safeguard stop reset functionality shall be used to reset this
signal
PROFIsafe implies use of the safeguard reset functionality

Software Manual 157 e-Series


8. Installation Tab

Signal Description
3PE stop Robot is stopped because it is operating in Manual mode and
because of one of the following conditions:
• You are using a 3PE TP and none of the buttons are in the
middle position.
• A 3-position enabling device connected to a configurable
safety input of the control box has asserted the 3PE stop.
Operational mode Indication of the current operational mode of the robot.
This mode can be: Disabled (0), Automatic (1), or Manual (2).
Reduced mode Reduced mode safety limits are currently active.
Active limit set The active set of safety limits.
This can be: Normal (0), Reduced (1), or Recovery (2).
Robot moving Robot is moving. If any joint moves at a velocity of 0.02 rad/s or
higher the robot is considered in motion.
Copyright © 2009–2022 by Universal Robots A/S. All rights reserved.

Safe home position Robot is at rest (robot not moving), and in the position defined as
the Safe Home Position.

8.22.2. Configuring PROFIsafe


Configuring PROFIsafe relates to programming the safety PLC, but requires minimal robot setup.

1. Connect the robot to a trusted network that accesses a safety compliant PLC.
2. On PolyScope, in the Header, tap Installation.
3. Tap Safety, select PROFIsafe and configure as needed.

e-Series 158 Software Manual


8. Installation Tab

8.22.3. Enabling PROFIsafe


1. Enter the robot safety password and tap Unlock.
2. Use the switch button to enable PROFIsafe.
3. Enter a source address and destination address into the corresponding boxes.
These addresses are arbitrary numbers used by the robot and the safety PLC to identify each
other.
4. You can switch the Control Operational Mode to the ON position if you want PROFIsafe to
control the robot operational mode.
Only one source can control the operational mode of the robot. Therefore other sources of
mode selection are disabled when operational mode selection via PROFIsafe is enabled.

The robot is now setup to communicate with a safety PLC.


You cannot release the robot's brakes if the PLC is not responding or if it is misconfigured.

Copyright © 2009–2022 by Universal Robots A/S. All rights reserved.

Software Manual 159 e-Series


Copyright © 2009–2022 by Universal Robots A/S. All rights reserved.

e-Series
160
Software Manual
8. Installation Tab
9. Move Tab

9. Move Tab
On this screen, you can move (jog) the robot arm directly, either by translating/rotating the robot
tool, or by moving robot joints individually.

Copyright © 2009–2022 by Universal Robots A/S. All rights reserved.


9.1. Move Tool
Hold down any of the Move Tool arrows to move the robot arm in a particular direction.
• The Translate arrows (upper) move the robot tool-tip in the direction indicated.
• The Rotate arrows (lower) change the orientation of the robot tool in the indicated direction.
The rotation point is the Tool Center Point (TCP), i.e.the point at the end of the robot arm that
gives a characteristic point on the robot’s tool. The TCP is shown as a small blue ball.

9.2. Robot
If the current position of the robot TCP comes close to a safety or trigger plane, or the orientation
of robot tool is near the tool orientation boundary limit (see 5.11. Planes on page 39), a 3D
representation of the proximate boundary limit is shown. When the robot is running a program, the
visualization of boundary limits is disabled.
Safety planes are visualized in yellow and black with a small arrow representing the plane normal,
which indicates the side of the plane on which the robot TCP is allowed to be positioned. Trigger
planes are displayed in blue and green and a small arrow pointing to the side of the plane, where
the Normal mode limits (see 5.8. Safety Modes on page 37) are active. The tool orientation

Software Manual 161 e-Series


9. Move Tab

boundary limit is visualized with a spherical cone together with a vector indicating the current
orientation of the robot tool. The inside of the cone represents the allowed area for the tool
orientation (vector).
When the robot TCP is no longer in proximity of the limit, the 3D representation disappears. If the
TCP is in violation or very close to violating a boundary limit, the visualization of the limit turns red.

9.2.1. Feature
Under Feature, you can define how to control the robot arm relative to View, Base or Tool features.
For the best feel for controlling the robot arm you can select the View feature, then use Rotate
arrows to change the viewing angle of the 3D image to match your view of the real robot arm.

9.2.2. Active TCP


In the Robot field, under Active TCP, the name of the current active Tool Center Point (TCP) is
displayed.
Copyright © 2009–2022 by Universal Robots A/S. All rights reserved.

9.2.3. Home
The Home button accesses the Move Robot into Position screen, where you can hold down the
Auto button (see 7.1.2. Move robot to: on page 60) to move robot into position previously defined
under Installation (see 8.13.1. Defining Home on page 138). The Home button’s default setting
returns the Robo Arm to an upright position (see 8.13. Home on page 137).

9.2.4. Freedrive
The on-screen Freedrive button allows the Robot Arm to be pulled into desired positions/poses.

9.2.5. Align
The Align button allows the Z axis of the active TCP to align to a selected feature.

9.3. Tool Position


The text boxes display the full coordinate values of the TCP relative to the selected feature. You
can configure several named TCPs (see 8.2. TCP Configuration on page 123). You can also tap
Edit pose to access the Pose Editor screen.

9.4. Joint Position


The Joint Position field allows you to directly control individual joints. Each joint moves along a
default joint limit range from − 360∘ to + 360∘ , defined by a horizontal bar. Once the limit is
reached you cannot move a joint any further. You can configure joints with a position range
different from the default (see 5.10. Joint Limits on page 38), this new range is indicated with red
zone inside the horizontal bar.

e-Series 162 Software Manual


9. Move Tab

WARNING
1. In the Setup tab, if the gravity setting (see 8.4. Mounting on page 128) is
wrong, or the robot arm carries a heavy load, the robot arm can start moving
(falling) when you press the Freedrive tab. In that case, release Freedrive
again.
2. Use the correct installation settings (e.g. Robot mounting angle, payload
mass and payload center of gravity offset). Save and load the installation
files along with the program.
3. Payload settings and robot mounting settings must be set correctly before
operating the Freedrive button. If these settings are not correct, the robot
arm will move when you activate Freedrive.
4. The Freedrive function must only be used in installations where the risk
assessment allows it. Tools and obstacles must not have sharp edges or
pinch points. Make sure that all personnel remain outside the reach of the

Copyright © 2009–2022 by Universal Robots A/S. All rights reserved.


robot arm.

9.5. Pose Editor Screen


Once you access the Pose Editor screen, you can precisely configure a target joint positions, or a
target pose (position and orientation) for the TCP. Note: This screen is offline and does not control
the Robot Arm directly.

Software Manual 163 e-Series


9. Move Tab

Robot
The 3D image shows the current Robot Arm position. The shadow shows the Robot Arm target
position controlled by the specified values on the screen. Press the magnifying glass icons to
zoom in/out or drag a finger across it to change the view.
If the specified target position of the robot TCP is close to a safety or trigger plane, or the
orientation of robot tool is near the tool orientation boundary limit (see 5.11. Planes on page 39), a
3D representation of the proximate boundary limit is shown. Safety planes are visualized in yellow
and black with a small arrow representing the plane normal, which indicates the side of the plane
on which the robot TCP is allowed to be positioned. Trigger planes are displayed in blue and green
and a small arrow pointing to the side of the plane, where the Normal mode limits (see 5.8. Safety
Modes on page 37) are active. The tool orientation boundary limit is visualized with a spherical
cone together with a vector indicating the current orientation of the robot tool. The inside of the
cone represents the allowed area for the tool orientation (vector). When the target robot TCP is no
longer in proximity of the limit, the 3D representation disappears. If the target TCP is in violation or
very close to violating a boundary limit, the visualization of the limit turns red.
Copyright © 2009–2022 by Universal Robots A/S. All rights reserved.

Feature and Tool Position


The active TCP and coordinate values of the selected feature are displayed. The X, Y, Z coordinates
specify tool position. The RX, RY, RZ coordinates specify orientation. For further information about
configuring several named TCPs, see 8.2. TCP Configuration on page 123.
Use the drop down menu above the RX, RY and RZ boxes to choose the orientation representation
type:
• Rotation Vector [rad] The orientation is given as a rotation vector. The length of the axis is
the angle to be rotated in radians, and the vector itself gives the axis about which to rotate.
This is the default setting.
• Rotation Vector [∘ ] The orientation is given as a rotation vector, where the length of the
vector is the angle to be rotated in degrees.
• RPY [rad] Roll, pitch and yaw (RPY) angles, where the angles are in radians. The RPY-
rotation matrix (X, Y’, Z” rotation) is given by:
Rrpy(γ, β, α) = RZ(α) ⋅ RY(β) ⋅ RX(γ)
• RPY [∘ ] Roll, pitch and yaw (RPY) angles, where angles are in degrees.

You can tap the values to edit the coordinates. You can also tap the + or - buttons to the right of a
box to add/subtract an amount to/from the current value. Or you can hold down a button to directly
increase/decrease the value.

Joint Positions
Individual joint positions are specified directly. Each joint position can have Joint Limit range from
− 360∘ to + 360∘ . You can configure Joint Positions as follows:

e-Series 164 Software Manual


9. Move Tab

• Tap the joint position to edit the values.


• Tap the + or - buttons to the right of a box to add or subtract an amount to/from the current
value.
• Hold down a button to directly increase/decrease the value.

OK Button
If you activate this screen from the Move screen (see 9. Move Tab on page 161), tap the OK button
to return to the Move screen. The Robot Arm moves to the specified target. If the last specified
value was a tool coordinate, the Robot Arm moves to the target position using movement type
MoveL; or it uses movement type MoveJ if a joint position was specified last (see Movement
Types on page 70).

Cancel Button
The Cancel button exits the screen discarding all changes.

Copyright © 2009–2022 by Universal Robots A/S. All rights reserved.

Software Manual 165 e-Series


Copyright © 2009–2022 by Universal Robots A/S. All rights reserved.

e-Series
166
Software Manual
9. Move Tab
10. I/O Tab

10. I/O Tab


10.1. Robot

Copyright © 2009–2022 by Universal Robots A/S. All rights reserved.


On this screen you can always monitor and set the live I/O signals from/to the robot control box.
The screen displays the current state of the I/O, including during program execution. If anything is
changed during program execution, the program will stop. At program stop, all output signals will
retain their states. The screen is updated at only 10Hz, so a very fast signal might not display
properly.
Configurable I/O’s can be reserved for special safety settings defined in the safety I/O
configuration section of the installation (see 5.16. I/O on page 46 ); those which are reserved will
have the name of the safety function in place of the default or user defined name. Configurable
outputs that are reserved for safety settings are not togglable and will be displayed as LED’s only.
The electrical details of the signals are described in chapter .

Voltage
In Tool Output, Voltage can be configured only when Tool Output is controlled by the User.
Selecting a URCap removes access to the Voltage.

Analog Domain Settings


The analog I/O’s can be set to either current [4-20mA] or voltage [0-10V] output. The settings will
be remembered for eventual later restarts of the robot controller when a program is saved.
Selecting a URCap, in Tool Output, removes access to the Domain Settings for the analog Tool
Inputs.

Software Manual 167 e-Series


10. I/O Tab

Tool Communication Interface


When the Tool Communication Interface TCI is enabled, the tool analog input becomes
unavailable. On the I/O screen, the Tool Input field changes as illustrated below.

NOTE
When the Dual Pin Power is enabled, the tool digital outputs must be named as
follows:
• tool_out[0] (Power)
Copyright © 2009–2022 by Universal Robots A/S. All rights reserved.

• tool_out[1] (GND)
The Tool Output field is illustrated below.

10.2. MODBUS
The screenshot below displays the MODBUS client I/O signals as they are set up in the installation.
Using the drop-down menus at the top of the screen, you can change the displayed content based
on signal type and MODBUS unit if more than one is configured. Each signal in the lists contains its
connections status, value, name, and signal address. The output signals can be toggled if the
connection status and the choice for I/O tab control allows it (see 8.5. I/O Setup on page 129).

e-Series 168 Software Manual


10. I/O Tab

Software Manual
169
e-Series
Copyright © 2009–2022 by Universal Robots A/S. All rights reserved.
Copyright © 2009–2022 by Universal Robots A/S. All rights reserved.

e-Series
170
Software Manual
10. I/O Tab
11. Log Tab

11. Log Tab

Copyright © 2009–2022 by Universal Robots A/S. All rights reserved.


The Log tab displays information about the robot arm and Control Box.

11.1. Readings and Joint Load


The Readings pane displays Control Box information. The Joint Load pane displays information for
each robot arm joint. Each joint displays:
• Temperature
• Load
• Status
• Voltage

11.2. Date Log


The first column displays log entries, categorized by the severity. The second column shows a
paperclip if there is an Error Report associated with the log entry. The next two columns display the
messages’ time of arrival and the source of the message. The last column shows a short
description of the message itself.
Some log messages are designed to provide more information that is displayed on the right side,
after selecting the log entry.

Software Manual 171 e-Series


11. Log Tab

Message Severity
You can filter messages by selecting the toggle buttons that correspond to the severity of the log
entry or by whether an attachment is present. The following table describes message severity.

Provides general information, such as status of a program, changes of the controller and
controller version.
Issues that may have occurred but the system was able to recover.
A violation occurs if the safety limit is exceeded. This causes the robot to perform a
safety rated stop.
A fault occurs if there is an unrecoverable error in the system. This causes the robot to
perform a safety rated stop.

When you select a log entry, additional information appears on the right side of the screen.
Selecting the attachments filter either displays entry attachments exclusively or, displays all
Copyright © 2009–2022 by Universal Robots A/S. All rights reserved.

entries.

11.3. Saving Error Reports


A detailed status report is available when a paper clip icon appears on the log line.

NOTE
The oldest report is deleted when a new one is generated. Only the five most recent
reports are stored.

1. Select a log line and tap the Save Report button to save the report to a USB drive.
You can save the report while a program is running.

You can track and export the following list of errors:


• Emergency stop
• Fault
• Internal PolyScope exceptions
• Protective Stop
• Unhandled exception in URCap
• Violation

The exported report contains: a user program, a history log, an installation and a list of running
services.

e-Series 172 Software Manual


11. Log Tab

11.4. Technical Support File


The report file contains information that is helpful to diagnose and reproduce issues. The file
contains records of previous robot failures, as well as current robot configurations, programs and
installations. The report file can be saved to external USB drive. On the Log screen, tap Support file
and follow the on-screen instructions to access the function.

NOTE
The export process can take up to 10 minutes depending on USB drive speed and
the size of files collected from robot file system. The report is saved as a regular
zip file, that is not password protected, and can be edited before sending to
technical support.

Copyright © 2009–2022 by Universal Robots A/S. All rights reserved.

Software Manual 173 e-Series


Copyright © 2009–2022 by Universal Robots A/S. All rights reserved.

e-Series
174
Software Manual
11. Log Tab
12. Program and Installation Manager

12. Program and Installation Manager

The Program and Installation Manager refers to three icons that allow you to create, load and
configure Programs and Installations: New..., Open... and Save.... The File Path displays your
current loaded Program name and the type of Installation. File Path changes when you create or
load a new Program or Installation. You can have several installation files for a robot. Programs
created load and use the active installation automatically.

12.1. Open...

Copyright © 2009–2022 by Universal Robots A/S. All rights reserved.


Allows you to load a Program and/or Installation.

Opening a Program
1. In the Program and Installation Manager, tap Open... and select Program.
2. On the Load Program screen, select an existing program and tap Open.
3. In the File Path, verify that the desired program name is displayed.

Opening an Installation.

Software Manual 175 e-Series


12. Program and Installation Manager

1. In the Program and Installation Manager, tap Open... and select Installation.
2. On the Load Robot Installation screen, select an existing installation and tap Open.
3. In the Safety Configuration box, select Apply and restart to prompt robot reboot.
4. Select Set Installation to set installation for the current Program.
5. In the File Path, verify that the desired installation name is displayed.

12.2. New...
Allows you to create a new Program and/or Installation.
Copyright © 2009–2022 by Universal Robots A/S. All rights reserved.

Creating a new Program


1. In the Program and Installation Manager, tap New... and select Program.
2. On the Program screen, configure your new program as desired.
3. In the Program and Installation Manager, tap Save... and select Save All or Save Program
As...
4. On the Save Program As screen, assign a file name and tap Save.
5. In the File Path, verify that the new program name is displayed.

Creating a new Installation

Save your installation for use after powering down the robot.

e-Series 176 Software Manual


12. Program and Installation Manager

1. In the Program and Installation Manager, tap New... and select Installation.
2. Tap Confirm Safety Configuration.
3. On the Installation screen, configure your new installation as desired.
4. In the Program and Installation Manager, tap Save... and select Save Installation As...
5. On the Save Robot Installation screen, assign a file name and tap Save.
6. Select Set Installation to set installation for the current Program.
7. In File Path, verify that the new installation name is displayed.

12.3. Save...

Copyright © 2009–2022 by Universal Robots A/S. All rights reserved.


Save... proposes three options. Depending on the program/installation you load-create, you can:
Save All to save the current Program and Installation immediately, without the system prompting
to save to a different location or different name. If no changes are made to the Program or
Installation, the Save All... button appears deactivated.
Save Program As... to change the new Program name and location. The current Installation is also
saved, with the existing name and location.
Save Installation As... to change the new Installation name and location. The current Program is
saved, with the existing name and location.

Software Manual 177 e-Series


12. Program and Installation Manager

12.4. File manager


Copyright © 2009–2022 by Universal Robots A/S. All rights reserved.

This image shows the load screen which consists of the following buttons:

Breadcrumb Path
The breadcrumb path shows a list of directories leading to the present location. By selecting a
directory name in the breadcrumb, the location changes to that directory and displays it in the file
selection area.

File Selection Area


Tap the name of a file to open it. Directories are selected by pressing their name for half a second.

File Filter
You can specify the file types shown. After selecting Backup Files, this area displays the 10 most
recently saved program versions, where ’.old0’ is the newest and ’.old9’ is the oldest.

Filename
The selected file is shown here. When saving a file, use the text field to manually enter the file
name.

Action buttons
The action bar consists of a series of buttons that enable you to manage files.
The ’Backup’ action to the right of the action bar supports backing up the currently selected files
and directories to the location and to a USB. The ’Backup’ action is only enabled when an external

e-Series 178 Software Manual


12. Program and Installation Manager

media is attached to the USB port.

Copyright © 2009–2022 by Universal Robots A/S. All rights reserved.

Software Manual 179 e-Series


Copyright © 2009–2022 by Universal Robots A/S. All rights reserved.

e-Series
180
Software Manual
12. Program and Installation Manager
13. Hamburger menu

13. Hamburger menu


13.1. Help
You can access the online help by scanning the QR code or typing the following URL in a browser:
help.universal-robots.com
You can find the following pieces of documentation in the help online:
• Robot arm hardware description
• Control box hardware description
• PolyScope software manual
• Service manual
• Script manual

Copyright © 2009–2022 by Universal Robots A/S. All rights reserved.


• Error codes reference.

13.1.1. How to find the QR code and URL:

1. Tap in the top right corner from anywhere in PolyScope

2. Tap in the dropdown menu


3. Now you can scan the QR code to access help.universal-robots.com

Software Manual 181 e-Series


13. Hamburger menu
Copyright © 2009–2022 by Universal Robots A/S. All rights reserved.

NOTE
When you scan the QR code the following information will be sent with the QR
code, and can be used in customer analytics at Universal Robots:
• PolyScope software version installed
• Robot type and size
• Language in Polyscope
• Serial number of the robot arm

13.2. About
You can display Version and Legal data.
1. Tap the Hamburger menu and select About.
2. Tap either Version or Legal to display data.
3. Tap Close to return to your screen.

e-Series 182 Software Manual


13. Hamburger menu

13.3. Settings
Personalizing PolyScope Settings
1. In the Header, tap the Hamburger menu and select Settings.
2. In the Side Menu on the left, select an item to personalize. If an operational mode password
was set, in the Side Menu, System is only available to the programmer.
3. On the bottom right, tap Apply and Restart to implement your changes.
4. On the bottom left, tap Exit to close Settings screen without changes.

13.3.1. Preferences

Language

Copyright © 2009–2022 by Universal Robots A/S. All rights reserved.


You can change PolyScope language and measurement unit (Metric or Imperial).

Time
You can access and/or adjust the current time and date displayed on the PolyScope.
1. In the Header, tap the Hamburger menu icon and select Settings.
2. Under Preferences, select Time.
3. Verify and/or adjust Time and/or Date as desired.
4. Tap Apply and Restart to apply your changes.

Date and Time are displayed in the Log tab (see 11.2. Date Log on page 171) under Date Log.

Speed Slider
Located at the base of the Run tab screen, the Speed Slider allows the operator to change the
speed of a running Program.

Hiding the Speed Slider


1. In the Header, tap the Hamburger menu icon and select Settings.
2. Under Preferences, tap Run Screen.
3. Select check box to show or hide Speed Slider.

13.3.2. Admin Password


Use the Admin password to change the security configuration of the system, including network
access.

Software Manual 183 e-Series


13. Hamburger menu

The Admin password is equal to the password used for the root user account on the Linux system
running on the robot, which may be needed in some network use cases such as SSH or SFTP.

WARNING
You cannot recover a lost Admin password.
• Take the appropriate steps to ensure your admin password is not lost.
Copyright © 2009–2022 by Universal Robots A/S. All rights reserved.

Setting the Admin Password


1. In the Header, tap the Hamburger menu icon and select Settings.
2. Under Password, tap Admin.
3. Under Current password, put in the default password: easybot.
4. Under New password, create a new password.
Creating a strong, secret password obtains the best security for your system.
5. Under Confirm new password, repeat your new password.
6. Tap Apply to confirm your password change.

Safety
The Safety password prevents unauthorized modification of the Safety settings.

e-Series 184 Software Manual


13. Hamburger menu

13.4. System
13.4.1. Backup and Restore
Save a full copy of your system to a USB drive and use it to restore your system back to a previous
state. This may be necessary after disk corruption or accidental deletion.

NOTE
Use one of the USB ports inside the Control Box (CB) when doing a Backup and
Restore operation. Using a CB USB port is more stable and running a Backup
requires less time.

NOTE

Copyright © 2009–2022 by Universal Robots A/S. All rights reserved.


If you restore a system with a new SD card, you must match the Serial Number in
the new SD card image when you start up Polyscope. Failure to match the Serial
Number can result in an incomplete restore process. A restore error appears for
not finding the matching serial number

Backing up the System


1. In the Header, tap the Hamburger menu icon and select Settings.
2. Under System, tap Backup Restore.
3. Select Location to store the back-up and press Backup.
4. Tap OK for full system reboot.

Restoring the System


1. In the Header, tap the Hamburger menu icon and select Settings.
2. Under System, tap Backup Restore.
3. Select your Backup file and press Restore.
4. Tap OK to confirm.

13.4.2. Software Update


Install updates from a USB to ensure the robot software is up-to-date.

Software Manual 185 e-Series


13. Hamburger menu

Updating Software
1. In the Header, tap the Hamburger menu icon and select Settings.
2. Under System, tap Update.
3. Insert an USB and tap Search to list valid update files.
4. In the list of valid update files, select desired version and tap Update to install.

WARNING
Always check your program/s after a software upgrade. The upgrade might change
the trajectories in your program.

13.4.3. Network
Copyright © 2009–2022 by Universal Robots A/S. All rights reserved.

You can configure robot connection to a network by selecting one of three available network
methods:
• DHCP
• Static Address
• Disabled network (if you don’t wish to connect your robot to a network)

Depending on the network method you select, configure your network settings:
• IP Address
• Subnet Mask
• Default Gateway
• Preferred DNS Server
• Alternative DNS Server

Tap Apply to apply changes.

13.4.4. Managing URCaps


You can manage your existing URCaps or install a new one in your robot.
1. In the Header, press the Hamburger menu and select Settings.
2. Under System, select URCaps.
3. Tap the + button, select the .urcap file and press Open.
4. If you wish to proceed with the installation of that URCap, press Restart. After that step, the
URCaps is installed and ready to be used.
5. To remove an installed URCaps, select it from Active URCaps, press the - button and press
Restart so changes can take effect.

e-Series 186 Software Manual


13. Hamburger menu

Details about the new URCap appear in the Active URCaps field. A status icon indicates the state
of the URCap, as listed below:
• URCap ok: The URCap is installed and running normally.
• URCap fault: The URCap is installed but unable to start. Contact the URCap developer.
• URCap restart needed: The URCap has just been installed and a restart is required.

Error messages and information about the URCap appear in the URCaps Information field.
Different error messages appear depending on the type of error/s detected.

13.4.5. Remote Control


A robot can either be in Local Control (controlled from the Teach Pendant) or Remote Control
(controlled externally).

Local Control does not allow Remote Control does not allow

Copyright © 2009–2022 by Universal Robots A/S. All rights reserved.


Power on and brake release sent to the robot over
Moving the robot from Move Tab
network
Receiving and executing robot programs and installation
Starting from Teach Pendant
sent to the robot over network
Autostart of programs at boot, controlled from digital Load programs and installations from
inputs the Teach Pendant
Auto brake release at boot, controlled from digital inputs Freedrive
Start of programs, controlled from digital inputs

Control of the robot via network or digital input is, by default, restricted.
• Enable and select the Remote Control feature removes this restriction.
• Enable Remote Control by switching to the Local Control profile (PolyScope control) of the
robot, allowing all control of running programs and executing scripts to be performed
remotely.
• Enable the Remote Control feature in Settings to access Remote mode and Local mode in
the profile.

Enabling Remote Control


1. In the Header, tap the Hamburger menu and select Settings.
2. Under System, select Remote Control.
3. Tap Enable to make the Remote Control feature available. PolyScope remains active.
Enabling Remote Control does not immediately start the feature. It allows you to switch from
Local Control to Remote Control.
4. In the profile menu, select Remote Control to alter PolyScope. You can return to Local
Control by switching back in the profile menu.

Software Manual 187 e-Series


13. Hamburger menu

NOTE
• Although Remote Control limits your actions in PolyScope, you can still
monitor robot state.
• When a robot system is powered off in Remote Control, it starts up in Remote
Control.

13.4.6. Security

General
General allows you to configure Magic Files and to configure network access to the robot.

Magic files
Copyright © 2009–2022 by Universal Robots A/S. All rights reserved.

A Magic File is a script on a USB drive that executes once it is inserted into the system.
Magic files have unrestricted privileges to make system changes, thus they must be considered as
a security liability.

Running Magic Files


1. In the Header, tap the Hamburger menu and select Settings.
2. Under Security, select General.
3. Enter your Admin password.
4. Enable Run Magic Files.

e-Series 188 Software Manual


13. Hamburger menu

Inbound Connections
Use Restrict inbound network access to a specific subnet to make sure network connections
originating from an IP-address outside the indicated subnet will be refused. For example:
• Use 192.168.1.0/24 to only allow access from hosts in the range of 192.168.1.0 –
192.168.1.255.
• Use 192.168.1.96 to allow inbound access only from one host.

Leave the field blank to disable subnet restriction.


Use Disable inbound access to additional interfaces (by port) to make sure any inbound
connection to the designated ports will be refused.
For example:
• Use 0-65535 to block all ports. Use 564 to block a specific port.
• Use 2318-3412,22,56-67 to block specific ports and specific ranges of ports.

Copyright © 2009–2022 by Universal Robots A/S. All rights reserved.


Leave the field blank to avoid blocking ports. Any enabled service (refer to Settings->Security-
>Services) will take precedence over port blocking.

WARNING
URCaps may require particular network interfaces to be open in order to function.
• Consult your URCaps vendor/s, if any of your URCaps require particular
network interfaces (ports/services) to be open.

Configuring Inbound Connections


1. In the Header, tap the Hamburger menu and select Settings.
2. Under Security, select General.
3. Enter your Admin password.
4. Enter subnet restrictions under Restrict inbound network access to a specific subnet.
5. Enter the interfaces to be closed in Disable inbound access to additional interfaces (by
port).

Secure Shell (SSH)


Secure Shell (SSH) provides a private (encrypted) and authenticated connection to the robot
allowing:
• operating system access
• file copying
• tunneling of network interfaces

Software Manual 189 e-Series


13. Hamburger menu

NOTE
SSH is a powerful tool if used as intended. Make sure you understand how to use
SSH technology before you rely on SSH technology to secure a robot application.
Copyright © 2009–2022 by Universal Robots A/S. All rights reserved.

Enabling SSH access

1. In the Header, tap the Hamburger menu and select Settings.


2. Under Security, select Secure Shell.
3. Enter your Admin password.
4. Configure the Secure Shell Settings:
• Select Enable SSH Access.
• Select to enable/disable Allow Port Forwarding (when in remote control mode).
Port forwarding is only available in remote control mode.
Port forwarding is a recommended technique for wrapping open interfaces (eg. the
Dashboard service) in a secure and encrypted tunnel requiring authentication.
5. Select the Authentication type.

Authentication
Any SSH connection requires the connecting user to authenticate when the connection is
established. You can set up authentication with a password and/or with a pre-shared, authorized
key.

e-Series 190 Software Manual


13. Hamburger menu

Managing Authorized Keys


Key based authentication relies on pre-shared keys.
Available keys are listed here together with buttons for removing a selected key from the list and
for adding new keys.
1. Tap Add to open a file selection dialog.
2. Select a key from the file.
The file is read line by line adding only lines which are not blank and not identified as
comments (starting with #). No validation of lines added is done.
3. They must comply with the format used for authorized_keys.

Services
Services lists the standard services running on the robot. You can enable or disable each service.

Copyright © 2009–2022 by Universal Robots A/S. All rights reserved.


An enabled service remains available when the ports associated with that service are blocked. So,
simply blocking a port is not enough to prevent access to the listed services if they are enabled.
The listed services must be disabled by selecting General, then Inbound Connections to prevent
access.

Enabling a Service
1. In the Header, tap the Hamburger menu and select Settings.
2. Under Security, select Services.
3. Enter your Admin password.
4. In the list, select an option and tap Enable, or tap Disable.

Software Manual 191 e-Series


13. Hamburger menu

13.5. Shutdown Robot


The Shutdown Robot button allows the robot to be powered off or restarted.

Shutting Down the Robot


1. In the Header, tap the Hamburger menu and select Shutdown Robot.
2. When the Shutdown Robot dialog box appears, tap Power Off.
Copyright © 2009–2022 by Universal Robots A/S. All rights reserved.

e-Series 192 Software Manual


14. Index

14. Index
A

About 182

Align 162

Auto 162

Automatic mode 29

Automatic Mode Safeguard Reset 47

Automatic Mode Safeguard Stop 47

Copyright © 2009–2022 by Universal Robots A/S. All rights reserved.


B

Base 11, 72

Base feature 142

Blend parameters 75

Blending 74

Cone angle 45

Cone center 45

Control 54

control box 15, 167

Control Box 132

Conveyor Tracking 108

Conveyor Tracking Setup 138

Custom 36

Delete 40

Software Manual 193 e-Series


14. Index

Direction Vector 80

Disabled 39, 41

Disabled Tool direction limit 45

Edit Position 43

Elbow 11

Elbow Force 37

Elbow Speed 37

Error 111
Copyright © 2009–2022 by Universal Robots A/S. All rights reserved.

Ethernet 151

EtherNet/IP 129, 155

Expression Editor 94

Factory Presets 36

Feature 139, 142, 162

Feature menu 106

File Path 175

Folder 86

Footer 11, 56, 59

Frame 106

Freedrive 29, 107, 128, 143, 162-163

Hamburger Menu 14

Header 11

Home 162

e-Series 194 Software Manual


14. Index

I/O 13, 46, 129, 131, 167

Initialize 14, 16

input signals 46

Installation 13, 175-176

Installation variables 132

Copyright © 2009–2022 by Universal Robots A/S. All rights reserved.


Joint Limits 38

joint space 70

Log 13, 171

Manual High Speed 14, 31

Manual mode 29

MODBUS 138, 151, 153, 168

mode

Automatic 13, 30

Local 13

Manual 13, 30

Remote 13

Modes 39

Momentum 36

Motion 106

Move 13, 29, 70-71, 84, 165

Move robot to 57, 60

Software Manual 195 e-Series


14. Index

Move Tool 161

MoveJ 70, 143, 165

MoveL 70, 143, 165

MoveP 70, 143

New... 13, 175

Normal 40

Normal & Reduced 40

Normal & Reduced Tool direction limit 45


Copyright © 2009–2022 by Universal Robots A/S. All rights reserved.

Normal mode 37, 45, 68, 164

Normal Plane 42

Normal Tool direction limit 45

Not Reduced mode 48

Open... 13, 175

output signals 47

Pan angle 46

Play 14, 56, 59

Point 106

PolyScope 11, 14, 17, 49, 88, 123, 151, 155, 188

popup 85

Pose Editor 162-163

Position 43

Position range 38

Power 36

Profinet 155

e-Series 196 Software Manual


14. Index

Profisafe 155

Program 13, 53, 55, 108, 175-176

Program and Installation Manager 13, 175

program node 60

Program Node 67

Program Tree 67

Radius 43

Recovery mode 38

Copyright © 2009–2022 by Universal Robots A/S. All rights reserved.


Reduced 40

Reduced mode 37, 43, 45-46, 48

Reduced Tool direction limit 45

Relative waypoint 72

Remote Control 134, 187

Rename 40

Restrict Elbow 41

Robot 43, 161

robot arm 11, 16, 102-103, 107, 132, 161

Robot Limits 35

Robot Moving 47

Robot Not Stopping 47

robot program 60

Robot Program Node 67

Run 12, 53

safe Home 48

Safeguard Reset 47

Safety Checksum 13, 35

Safety Configuration 33-35, 38

Safety planes 39, 161, 164

Software Manual 197 e-Series


14. Index

Safety Settings 33, 184

Save... 13, 175, 177

Screen 11

Settings 183

Setup 163

Shoulder 11

Show 40

Shut Down 192

Simple 106

Simulation 14

Speed Slider 14, 29

Step 14
Copyright © 2009–2022 by Universal Robots A/S. All rights reserved.

Stop 14

stopped state 16

Stopping Distance 36

Stopping Time 36

Success 111

Switch Case construction 94

System Emergency stop 46

System Emergency Stop 47

TCI 83

Teach Pendant 11, 15, 49, 107, 187

Templates 108

Test button 107

Tilt angle 46

Tool 43

Tool Center Point 37, 72, 123, 162

Tool Center Position 43

Tool Communication Interface 136

Tool Direction 44-45

Tool feature 142

e-Series 198 Software Manual


14. Index

Tool Flange 11

Tool Force 37

Tool Position 43-44

Tool Speed 37

Trigger Plane 42

Trigger Reduced Mode 40

Until 80

Until Distance 81

Copyright © 2009–2022 by Universal Robots A/S. All rights reserved.


Until Expression 81

Until Tool Contact 81

URCaps 186

Variable feature 72

Variable waypoint 72

Variables 53, 55, 69

Voltage 167

Wait 83

Waypoint 70, 72-74, 79

Waypoints 17

Wrist 11

Software Manual 199 e-Series

You might also like