Programming Manual m93
Programming Manual m93
THE CONTROLS
MOVEMENT PRINCIPLES
OPERATION
AUTOMATIC MENU
EDITING MENU
MANUAL MENU
ADAPTIVITY
10
PROGRAMMING
11
ARC WELDING
12
GLUING
13
SPOT WELDING
14
ERROR LIST
INDEX
SHAB ooos-2/Rev I
15
16
The information in this document is subject to change without notice and should not be construed as a
commitment by ABB Robotics Products AB. ABB Robotics Products AB assumes no responsibility for any
errors that may appear in this document.
In no event shall ABB Robotics Products AB be liable for incidental or consequential damages arising from
use of this document or of the software and hardware described in this document.
This document and parts thereof must not be reproduced or copied without ABB Robotics Products AB's
written permission, and the contents thereof must not be imparted to a third party nor be used for any
unauthorized purpose. Contravention will be prosecuted.
Additional copies of this document may be obtained from ABB Robotics Products AB at its then current
charge.
1 Safety
1
SAFETY
Before operating, servicing or in any other way handling the robot system, the Safety Manual in
the Product Manual must be thoroughly studied.
S3
1 Safety
Programming
S3
Contents
Contents
Section
1
2
Page
Safety
1.1 General
1:1
The
2.1
2.2
2.3
2:3
2:7
2:8
Controls
The Control cabinet
Mains switch
Control panel
2.3.1 AUTO mode
2.3.2 MANUAL REDUCED SPEED mode
2.3.3 MANUAL FULL SPEED mode
2.3.4 Change of operation mode
2.4 Programming unit
2.4.1 Dialog via programming unit
2.5 Joystick
2.6 Enabling device
2.7 Monitor (option)
2.8 Program printout (option)
2.9 Computer Link (option)
2.10 Remote control
Movement Principles
3.1 The Manipulator
3.2 Coordinate Systems
3.2.1 Coordinate systems for defining positions
3.2.2 Coordinate systems in program execution
3.2.3 Coordinate systems for manual movements
3.2.4 Moving the robot with the joystick
3.2.4.1 Rectangular base coordinate system
3.2.4.2 Robot main axes coordinate system
3.2.4.3 Robot wrist axes coordinate system
3.2.4.4 Tool coordinate system, no basepoint active
3.2.4.5 Tool coordinate system, basepoint active
3.2.4.6 Reorientation around TCP
3.3 TCP
3.3.1 Normal TCP
3.3.1.1 Basepoint
3.3.2 Room fixed TCP
3.3.2.1 General
3.3.2.2 Moving the robot with the joystick
3.3.2.3 Program execution with fixed TCP
3.3.2.4 Limitations
3.4 Position programming
3.4.1 Robot configuration
3.5 Movement velocity
Programming
2:12
2:14
2:15
2:15
2:15
2:16
2:16
3:3
3:5
3:18
3:22
3:23
S3
Contents
Section
Page
3.6
Movement characteristics
3.6.1 Path optimization
3.6.1.1 Path following principles
3.6.1.2 Zones
3.6.1.3 Velocity in corners
3.6.1.4 Corner deviation
3.6.1.5 Exceptions
3.6.2 Speed optimization
3.6.2.1 Guide text
3.6.2.2 Programming
3.7 Circles
3.7.1 Orientation interpolation
3.7.2 Velocity in circle
3.8 Soft Servo
3.8.1 Introduction
3.8.2 Definition of softness
3.8.3 Use of Soft Servo
3.9 Program displacement
3.9.1 Parallel displacement with reference point (REFP)
3.9.2 Program displacement with reference frame (FRAME)
3.10 Singular points
4
OPERATION
4.1 Start
4.1.1 Power on, power off, synchronization
4.1.2 Program Execution
4.1.3 Stop
4.2
Restart after power failure
4.2.1 General
4.2.2 Automatic restart
4.2.3 Manual restart
4.2.4 Restart from PLC
4.3 Languge selection
4.4
Software configuration
4.5
Program information
4.6
Error buffer
4.7
Disk handling
4.7.1 Initialize disk
4.8 Computer link
4.8.1 General
4.8.2 Commands to robot
4.8.3 Commands from robot
4.8.4 Spontaneous status messages
4.8.5 Request for superior control
4.8.6 Operation status
4.9 Register
4.9.1 Register
, 4.9.2 Position registers, location
4.10 Inputs and outputs
4.11 Ports
4.11.1 Digital ports
4.11.2 Analog ports
Programming
3:25
3:36
3:38
3:40
3:46
4:3
4:5
4:8
4:8
4:9
4:10
4:11
4:13
4:15
4:17
4:17
S3
Contents
Section
Page
4.12 SYSTEM-I/0
4.12.1 Standard SYSTEM-I/0, inputs
4.12.2 Standard SYSTEM-I/0, outputs
4.12.3 Additional SYSTEM-I/O at I/O MAP
4.12.3.1 Summary of HOLD, HOLD RESET and AUTO INPUT
4.12.3.2 Inputs
4.12.3.3 Outputs
4.13 Remote control panel signals, panel- I/O
5
4:22
4:28
5:5
5:7
5:9
5:9
5:12
5:13
5:15
5:15
5:18
5:19
551
5:21
5:22
5:23
5:24
5:25
5:26
5:27
5:27
5:27
5.27
5:28
Programming
S3
Contents
Section
6
Page
Positioning instructions m e n u
6.1 V%
6.2 SAME
6.3 ZONE
6.4 SEARCH
6.4.1
SEARCH (dist)
6.4.2
SEARCH (dir)
6.4.3
SEARCH (auto)
6.5 WEAVING
6.6 REFP
6.7 VCTRL
6.8 CONTOUR
6.9 CORVEC
6.10 POSPOS
6.11 STOPOS
6.12 POSLOC
6.13 CIRCLE
6.14 FRAME
6.15 TIME
6.16 PALLET
6.17 RELTOOL
6.17.1 RELTOOL (X, Y, Z)
6.17.2
RELTOOL (via REG)
6.18 EXTFRAME
6:5
6:5
6:5
66
6:8
6:12
612
6:13
6:14
6:14
6:16
6:17
6:18
6:18
6:19
6:19
6:21
6:23
Automatic menu
7.1-4 PROGST., INS ST., BWD., SIM
7.5 DISPL
7.6 CORV ST
7.7 ALIGN
7.7.1 Tool direction
7.7.2 External axes
7.7.3 Homeposition
7.8 AW REST
7.9 RESYNC
7.10 MOV REST
Programming
7:5
7:5
7:6
7:6
7.8
7:8
7:9
S3
Contents
Section
8
Page
Editing menu
8.1 V%
8.2 INSTNO
8.3 STEP
8.4 MODPOS
8.5 MODIFY
8.5.1
HANDCHK
8.5.2
MODIF and MODARG
8.5.3
DISPL
8.5.4
MODEXT
8.6 DELETE
8.7 INSERT
8.8 PROGRAM
8.9 RESEQ
8.10 COPY
8.11 ERASE
8.12 PROG NO
8.13 MIRROR
8.14 TIME
8.15 COPY INS
8:5
8:5
8-5
8:5
86
8:8
8:8
89
8:9
8:10
8-11
811
8:12
8:14
8:15
Manual Menu
9.1
CLEAR
9.2
DISK
9.2.1 DISK (FROM DISK)
9.2.2 DISK (TO DISK)
9.2.3
DISK(INIT)
9.2.4 DISK (DELETE)
9.3 WINSCHESTER MEMORY
9.3.1 WINCH (FR WINCH)
9.3.2 WINCH (TO WINCH)
9.3.3 WINCH (INIT)
9.3.4 WINCH (DELETE)
9.4
IN/OUT (INPUT, OUTPUT, REG)
9.5
TOOL (TCP, SENSOR, WRIST LOAD, SOFT S)
9.6
FRAME
9.7 LIST (prog, errors)
9.7.1 PROG
9.7.2 ERRORS
9.7.3 SYS PAR
9.7.4 USER PAR
9.8
FRSC
9.9 TO SC
9.10 RBMODE
9.11 *LANG
9.12 ERRORS
9.12.1 Software Configuration
9.13 TEACH
9.14 WDATA (arc weld function)
9.15 PALLET
9.16 EXTFRAME
9.17 HOMEPOS (from M93/5)
9.18 REFP
Programming
9:5
9:6
9:8
9:9
9:10
9:26
9:28
9:28
9:29
9:30
9:30
9:30
9:32
9:34
9:34
9:35
9:35
9:36
S3
Contents
Section
10
11
Page
Adaptivity
10.1 Adaptivity sensor interface
10.2 Connection and definition of sensors
10.3 Searching
10:4
10.3.1 Distance searching
10.3.2 Direction searching
10.3.3 Autosearch (AW)
10.4 Speed control
10.5 Contour tracing
10.6 Correction vector
10.7 FRAME
Programming
11.1 OVERVIEW OF FIVE PROGRAMMING MENUS
11.2 Initialization sequence for the main program
11.3 PROGRAM STRUCTURE
11.4 PATTERN PROGRAM
11.5 PROGRAMMING ROBOT PATHS
11.5.1 Smooth wrist reorientation
11.5.2 Recommendation for Arc Welding
11.5.3 Recommendation for Glueing and Sealing
11.5.4 Process application type plastic cutting, metal cleaning,
deburring and polishing
11.5.5 Recommendation for Assembly, Machine, Tending and
Material Handling
11.5.6 Closely spaced positions
11.6 PROGRAMMING EXAMPLES
11.6.1 Arc welding of rear axis member
11.6.2 Glueing of a car door
11.6.3 Cutting and deburring of plastic, forming of holes using
the CIRCLE function
11.6.4 Cutting and deburring of plastic lining for a car door
11.6.5 Material handling applications
11.7 HIGH PERFORMANCE PROGRAMMING
11.7.1 General
11.7.2 Recommendations for best performance
11.7.3 Movement principle choice
11.7.3.1 Coordinate system
11.7.3.2 Movement principle
11.8 LOAD, PROGRAMMABLE
11.8.1 General function
11.8.2 Wrist operations (A and P).
11.8.2.1 Acceleration index calculation.
11.8.2.2 Trimming of position gain index.
11.8.2.3 Preset values
11.8.2.4 Measures to deal with overshoots.
11.9 TRIM, PROGRAMMABLE
Programming
10:3
10:3
10:7
10:8
10:10
10:11
11:3
11:5
11:5
11:7
11:9
11:16
11:23
11:27
11:38
S3
Contents
Section
Page
12
12:3
12:3
12:3
12:12
12:15
12:61
13
14
Arc welding
12.1 Introduction
12.2 System principles
12.3 Program structure
12.4 Description and programming of welding data
12.5 Description of robot instructions
12.5.1 Instructions for the welding process
12.5.2 Instructions for manipulator
12.6 Programming of robot instructions
12.6.1 Define a position with a PATH zone
12.6.2 Instructions for the weld process
12.6.3 Instructions for manipulator movements
12.6.4 Common functions
12.6.5 EXTFRAME
12.6.5.1 Alignment of External axes
12.7 Program execution
12.7.1 Program test
12.7.2 Override function
12.7.3 Supervision of welding process
12.7 .4 Execution of welding instructions
12.8 Program example
Gluing
13.1 Introduction
13.1.1 General
13.1.2 Signals
13.2 Programming
13.2.1 Gluing instruction
13.2.2 Scaling instruction
13.3 Overrides
13.3.2 Override on the scaling instruction
13.4 Error handling
Spot weld
14.1 Introduction
14.2 The standard function
14.2.1 General
14.2.2 Welding gun, manual operation
14.2.3 Function parameters
14.2.4 The spot weld instruction
14.2.5 Programming the first spot weld instruction
14.2.6 Subsequent instructions
14.2.7 Editing of spot weld in structions
14.2.8 Execution of instruction without current
Programming
12:64
12:83
12:88
13:3
13:7
13:15
13:20
14.3
14.3
S3
Contents
Section
Page
14.11
15
Error List
15.1 General
15.2 Error buffer
15.3 Operational errors
15.4 System faults
15.5 Diagnotic messages
15:1
15:2
15:3
15:5
15:10
15:35
16
Index
16:1
Programming
S3
2 The Controls
Thej Controls
Section
Paj
2.1
2.2
2:3
2:7
2:8
Programming
2:12
2:14
2:15
2:15
2:15
2:16
2:16
S3
2 The Controls
Programming
S3
2 The Controls
2 THE CONTROLS
2.1
The Control cabinet
External features
Control panel
Prograi
Programming unit
Disk drive
Winchester memory
(Option)
Monitor
(Option)
Customer connections
S3
2 The Controls
Main components
Unit
Functions
Computer board
System board
Power unit
Power supply
Drive units
Mains transformer
Provides:
* galvanic isolation of the control system from the mains
supply;
* adapts the system to mains voltages between 200 V and
600 V.
Two versions:
Software
Arcweld
Material handling, glue, spotweld
(Shortening MH/GL/SW)
How to find out which version is present is described
in 9.12.1.
Programming
S3
2 The Controls
Process connections (option)
The system can handle the following input and output signals from the peripheral
equipment:
Digital I/O
- up to 128 in and 128 out.
Analogue I/O
up to 4 in and 4 out.
Computer communication via RS 232 interface.
Control signals for 1-6 external axes.
The AC drive system, for the robot motors and one integrated axis 7 (option), consists of the
following units.
Computer board
for overall control.
Rectifier unit
for power supply to the drive units.
Drive unit
receives current references from the computer
board.
Serial measurement board
monitors resolver signals
Position
Speed
Torque
Speed
Drive Unit
Current'
!
Rotor angte
XCurrert
Programming
S3
2 The Controls
Drive units for optional external axes, other than the integrated axis 7, are located outside
the cabinet.
These drive units are provided with a speed reference by the control system.
Separate drive unit
outside control cabinet
Control cabinet
Position
Control
board
for ext.
axes
Speed
-(
Position
Di agnostics
The control system is provided with its own built-in diagnostics with the following
characteristics:
* Test on start-up:
computer board
programming unit
monitor (option)
power supply
power unit
rectifier unit
location control of I/O board and drive unit
* During test running, a red LED on the computer board is flashing.
*
* Running of the control system in a special test mode during servicing, with the
following functions:
start-up test:
full test of the I/O boards, jumpers included
test running of the drive units at full voltage
program for cleaning heads on floppy disk unit
Prograi
S3
2 The Controls
2.2
Mains switch
The mains switch is used for connection and disconnection of the mains voltage.
If the robot is provided with the optional flange disconnect, the door will be mechanical
interlocked. To open the door the flange disconnectet must be in OFF position.
Progrju
S3
2 The Controls
2.3
Control panel
S3
2 The Controls
2.3.1
AUTO mode
AUTO (production mode) is used to run previously entered programs in production.
The following applies to AUTO mode:
general mode stop is possible
auto-mode stop is possible
enabling device not in operation
control via computer link/remote control is enabled
programming/editing is disabled
manual running (using the joystick) is disabled
no robot speed limitation
corrections during programexecution are disabled
Some of these features can be changed by system parameters, see Installation S3
2.3.2
MANUAL REDUCED SPEED mode
MANUAL REDUCED SPEED mode (programming mode) is used when working inside the
robot working range and when programming the robot and testing of programs at limited
speed.
The following applies to the MANUAL REDUCED SPEED mode:
general mode stop is possible
auto mode stop is not possible
enabling device in operation
control via computer link/remote control is disabled
programming/editing is enabled
manual running (using the joystick) is allowed
robot speed is limited to 250 mm/s
HOLD TO RUN is active but can be disabled by a system parameter
233
MANUAL FULL SPEED mode
MANUAL FULL SPEED mode (test mode for 100% robot speed) is used for programming
and testing the robot programs at full program speed.
The following applies to the MANUAL FULL SPEED mode:
general mode stop is possible
auto mode stop is not possible
enabling device in operation
control via computer link/remote control is disabled
programming/editing is allowed
manual running (using the joystick) is allowed
no robot speed limitation
HOLD TO RUN is active
S3
2 The Controls
2.3.4
Change of operation mode
The function "Software Key" means that the operator has to confirm the change in
operation mode to AUTO mode or to MANUAL FULL SPEED mode before the new
operation mode is acknowledged.
The confirmation is done by answering a check question given on the programming unit
when changing the operation mode.
YES
NO
Programming
10
S3
2 The Controls
i PLEASE:
CHANGE TO MANUAL REDUCED SPEED
|p mm
tSSRffllSSk
1L
I
1
Programming
11
S3
2 The Controls
24
o
12
[^ If
.2 i ?.;
I
-Jo I
SHIFT
DECIMAL POINT
Decimal point
Shift of error message in plain language
MENUS
SPEED CORRECTION
LOGICAL INSTRUCTION
AUTOMATIC
Automatic program execution
(continuous or siep-by-step)
Simulation of input signals
Displacement of positions, programmed
previously
Robot coordinates
fff
EDITING
Selection of program correction functions
Tool coordinates
MANUAL
Selection of manual functions
VISION
Image handling functions
PROCESS
Selection of appication-speciftc instructions
ft ft
PROGRAM STOP
ft ft
Programming
12
S3
2 The Controls
2.4.1
Dialog via programming unit
Programming and other work with the robot system via the programming unit is performed
as a dialogue between the operator and the robot system. The dialogue is based on a set of
menus from which different alternatives can be chosen.
The menus are presented on the programming unit display. The operator selects a menu by
pressing the button under the alternative required.
The robot system responds by presenting consequential questions, by presenting an
information or error text or by presenting a program instruction on the display. If
necessary, the menu which the operator needs to continue the dialogue is also presented.
The main menus are obtained by pressing the buttons LOGICAL INSTRUCTION,
POSITION, AUTOMATIC, EDITING, MANUAL, VISION and PROCESS on the
programming unit.
The five buttons located immediately below the display are designated multi-function
buttons as their function depends on the current menu alternatives, displayed above.
SCAN is used to page new alternatives forward on the display. SCAN is always at the
extreme right in the menus.
When an alternative has been selected either a sub-menu or a question with response
alternatives is presented. If a value is requested this is supplied by means of the numerical
buttons. Complete program instructions are presented on the upper line of the display
when the dialogue is finished.
An incorrect choice of main menu or menu alternative can most often be corrected by a
reselection of menu or alternative. If the selection has resulted in the creation of a complete
program instruction, this must be erased before any further work is performed.
10 different dialogue languages can be selected.
Programming
13
S3
2 The Controls
2.5
Joystick
Emergency stop
0m
Enabling
device
12
Toggle
buttons
Joystick
The joystick on the programming unit is used for positioning of the robot, when
programming. The joystick can also be used to change the positions of external axes
which may be connected to the system. The joystick can also be used for override of
the current and voltage when arc welding.
The joystick can be moved forward, backward, up and down and turned clockwise and
counterclockwise or combinations of these. The speed of the corresponding robot movement
is proportional to the deflection of the joystick.
The robot moves immediately when the joystick is operated. Make sure nobody is
inside the robot working area before running the robot.
Two toggle buttons are associated with the joystick.
Either control of robot axes or control of external axes is selected by pressing the upper
button. The functions of the lower button depend on the status of the upper button as
follows:
* If control of robot axes has been selected, selection of function 1 results in linear
movement of the TCP if rectangular coordinates are active, or movement of axes 1-3, if
robot coordinates are active. If function 2 is selected, wrist orientation can be performed
around TCP, if rectangular coordinates are active, or, if robot coordinates, axis 4-6 can be
moved.
If control of external axes has been selected with the upper button, axes 7, 8 and 9
can be controlled with function 1. When function 2 is selected, the axes 10, 11 and 12 can be
controlled.
Each time a toggle button is pressed, the selection changes. The LEDs in the buttons
illuminate to indicate activation of the corresponding selection.
Programming
14
S3
2 The Controls
2.6
Enabling device
The enabling device is in operation when the operation mode selector is in either the
MANUAL REDUCED SPEED or the MANUAL FULL SPEED mode.
When the enabling device is kept in the middle position, the robot is brought to the
MOTOR ON mode.
When released or fully depressed, the robot returns to the MOTOR OFF mode.
2.7
Monitor (option)
A monitor, is used for display of:
program section in the active program when program execution is stopped. The
current instruction is pointed out by the cursor
any comments in the program during program execution.
error messages.
During program execution, the most recently executed comment will be presented on the
screen until the next comment in the program is executed. (This assumes the presence of
comments in the program.)
An example of a program section with comments is given below:
120 POSV=100%
130 ("WAITING FOR OBJECT*)
140 WAIT UNTIL INPUT 6=1
150 POS V = 100 %
160 ("COMPONENT 1 MOUNTED*)
2.8
Program printout (option)
This option makes it possible to connect a printer for printout of:
Individual programs.
The contents of the error buffer.
Parameters
The communication with the printer is serial asynchronous at a speed of 300/1200 baud.
The interface is RS 232C/V24. The printer connected must have an internal memory buffer.
Programming
15
S3
2 The Controls
2.9
2.10
Remote control
Remote control makes it possible to operate the robot from an external panel
or from a PLC.
Digital I/O signals are used with a parallel or serial interface. The signals accessible are
described further in chapter 4.12 and 4.13.
Programming
16
S3
3 Movement principles
Movement Principles
Section
Page
3.1
3.2
The Manipulator
3:3
Coordinate Systems
3:5
3.2.1 Coordinate systems for defining positions
3.2.2 Coordinate systems in program execution
3.2.3 Coordinate systems for manual movements
3.2.4 Moving the robot with the joystick
3.2.4.1 Rectangular base coordinate system
3.2.4.2 Robot main axes coordinate system
3.2.4.3 Robot wrist axes coordinate system
3.2.4.4 Tool coordinate system, no basepoint active
3.2.4.5 Tool coordinate system, basepoint active
3.2.4.6 Reorientation around TCP
3.3 TCP
3:18
3.3.1 Normal TCP
3.3.1.1 Base point
3.3.2 Room fixed TCP
3.3.2.1 General
3.3.2.2 Moving the robot with the joystick
3.3.2.3 Program execution with fixed TCP
3.3.2.4 Limitations
3.4 Position programming
322
3.4.1 Robot configuration
3.5 Movement velocity
3:23
3.6 Movement characteristics
3:25
3.6.1 Path optimization
3.6.1.1 Path following principles
3.6.1.2 Zones
3.6.1.3 Velocity in corners
3.6.1.4 Corner deviation
3.6.1.5 Exceptions
3.6.2 Speed optimization
3.6.2.1 Guide text
3.6.2.2 Programming
3.7 Circles
3:36
3.7.1 Orientation interpolation
3.7.2 Velocity in circle
3.8 Soft Servo
3:38
3.8.1 Introduction
3.8.2 Definition of softness
3.8.3 Use of Soft Servo
3.9 Program displacement
3:40
3.9.1 Parallel displacement with reference point (REFP)
3.9.2 Program displacement with reference frame (FRAME)
3.10 Singular points
3:46
Programming
S3
3 Movement principles
Programming
S3
3 Movement principles
3 MOVEMENT PRINCIPLES
3.1
The Manipulator
The robot's movement pattern can be briefly described as follows (see also the figure below
showing the IRB 2000).
Axis 1 (C) Turning of the complete mechanical robot arm system.
Axis 2 (B) Forward and reverse movement of the lower arm.
Axis 3 (A) Up and down movement of the upper arm.
Axis 4 (D) Turning of the complete wrist centre.
Axis 5 (E) Bending of wrist around the wrist centre.
Axis 6 (P) Turning of mounting flange.
Motor unit 5th and
6th axes
3rd (A) axis
Motor unit 4th axis
Base
Gear box 1st axis
Prograi
S3
3 Movement principles
Drive system
All motors are servo controlled, brushless AC motors, specially adapted for each axis.
Feedback system:
Brakes
The robot is supplied with brakes on all axes. The robot is automatically braked at
emergency stops, power failure, or when taken to MOTORS OFF mode. Brakes are
also activated after still-stand for 30 seconds (automatic operation) or 5 min (manual
operation).
Programming
S3
3 Movement principles
3.2
Coordinate systems
3.2.1
Coordinate systems for defining positions
All positions of the robot are expressed with the help of coordinate values. These values
describe the positions of the robot in space. To know how to interpret the coordinates, i.e. to
know from what reference and in what direction to measure the position, a reference frame
or coordinate system must be defined.
FIG.1
Programming
S3
3 Movement principles
The internal calculations in the robot controller will be expressed in the Base Coordinate
System (BCS), see the figure above. BCS is always fixed to the robot base with the x-y plane
in the floor and the z-axis pointing upwards and concentric with the first rotation axis.
However, it is not always a good idea to express the programmed positions in the BCS,
because then it will be hard to change the positions if the robot installation changes. Often,
when an installation changes, the relative movements are the same but the positions
should be some what displaced. Then it is not necessary to reprogram all the positions but
just to redefine the used coordinate system. For this purpose, a World Coordinate System
(WCS) is used for defining the stored positions, see the figure above. The dislocation of the
WCS from the BCS is defined with a FRAME-value, holding an x, y, z value defining the
displacement, and an orientation quaternion (a four value vector) defining the
reorientation.
In some cases a temporary displacement search will be needed, e.g, if an object is located at
different positions from time to time and localized with a search function. In this case the
position is expressed in the Object Coordinate System (OCS) and the displacement is
defined with a REFERENCE POINT. Please note that REF. POINT displacement will only
give a parallell displacement, i.e. no reorientation.
The outermost coordinate system of the figure above is the Goal Coordinate System (GCS).
This defines the goal position (with an x, y, z value for the origin) and orientation (defined
by a quaternion) which the robot should reach with its tool. The GCS is stored in every
position instruction.
To summarize, the goal position and orientation is always stored in a position instruction
relative to the OCS. The location of OCS is defined relative to the WCS, with REF. POINT.
If REF. POINT is not active OCS and WCS will coincide. The location of WCS is defined
relative to BCS with FRAME. If no FRAME is active WCS and BCS will coincide.
3.2.2
Coordinate system in program execution
While the final position or goal of a movement always is expressed in rectangular
coordinates as have been described above, the path between positions can be executed in
three different coordinate systems. These are Rectangular Coordinates, Robot Coordinates
and Modifed Rectangular Coordinates which can all be activated through instructions in a
robot program. Each of these coordinate systems will give a slightly different path and
should be used depending on priority of speed, accuracy or orientation.
Rectangular Coordinates
These coordinates are default and should be used in most movements. The path, which the
TCP follows, will be linear or circular depending on the used position instruction. The
speed will be controlled to the programmed value, but the path accuracy will be given
priority. The speed will therefore be reduced when necessary. The orientation will be
changed regularly from start orientation to end orientation. If start and end orientations
are the same, the orientation will be held constant. A reduction in TCP velocity may occur
during passage near a singular point (see section 3.9 and below), or during wrist
reorientation.
Robot Coordinates
When running the robot in Robot Coordinates (Joint Coordinates) all axes are moved with
constant motor speed from start position to end position. All axes will reach their goal
position at the same time. The path will be curved in space. Robot Coordinates are used
when a fast motion is given higher priority than the linear path accuracy.
Programming
S3
3 Movement principles
Modified Rectangular Coordinates (MODRECT)
All six axis robots will have so called "singular points" in their working area. A singular
point is a point where two or more of the robot axes are parallell. Very big robot axes
movements or movement stop (with error message) can arise in or near singular points
when running the robot in rectangular coordinates. In such cases it is advisable to use
Modified Rectangular Coordinates to avoid the singular point.
When running the robot in MODRECT the TCP is moved along a linear path, as in
rectangular coordinates. The wrist axes (axes 4, 5 and 6) however, are moved with constant
speed in Joint coordinates from the start orientation to the end orientation. This means
that the orientation will not be held constant during the movement, but will change slightly
along the path.
Note: When changing from robot to rectangular coordinates the robot movement makes a
short stop, while coordinating the axes. This stop does not occur when changing from
rectangular to robot coordinates.
Programming
S3
3 Movement principles
3.2.3
Coordinate systems for manual movements
Three coordinate systems are used to define manual (joystick controlled) movements of the
robot These are Base Coordinate System, Tool Coordinate System and Robot Coordinate
System (see figure 2).
I
Programming
S3
3 Movement principles
The Base Coordinate System is always fixed to the robot base with the x-y plane in the floor
and the z-axis pointing upwards and concentric to the first axis. When using the Base
Coordinate System, joystick movements will correspond to TCP movements parallell to
Base axes.
The Wrist Coordinate System, (see figure 2) is used to define the tool and the Tool
Coordinate System. The Hand Coordinate System is always fixed to the mounting flange of
the robot, with the origin in the center of the flange, the x-axis pointing outwards and the
z-axis pointing through the pinhole.
The Tool Coordinate System has its origin in the Tool Center Point (TCP) and is defined
relative to the Wrist Coordinate System of the robot. The Tool Coordinate System is used to
define the goal positions of the robot, i.e. the Tool Coordinate System is moved to coincide
with the Goal Coordinate System (see 3.2.1).
Normally the orientation of the Tool Coordinate System is the same as for the
Wrist Coordinate System. In this case only the TCP-values (x,y,z), defining the are origin,
are defined (see figure 3).
TCP
II
Programming
S3
3 Movement principles
The Tool Coordinate System can, however, also be given another orientation according to the
mounted tool. In this case also a Base point has to be defined (see figure 4). The orientation of the
Tool Coordinate System will be determined in the following way:
The x"-axis will point through the TCP and the Basepoint.
The y"-axis is perpendicular to the x-axis and points through the TCP and on a line through
the Basepoint, which is parallell to the x'-axis of the Wrist Coordinate System. If the x"-axis
is perpendicular to the x'-axis of the hand coordinate system, the y"-axis will point in the
negative x'-direction.
The z"-axis will be perpendicular to the x"-axis and the y"-axis.
\
\
LINE THROUGH BASE POINT
PARALLELLTOX -A[S
WRIST COORDINATE SYSTEM
MOUNTING FLANGE
Programming
10
S3
3 Movement principles
3.2.4
Moving the robot with the joystick
Select the coordinate system which is most convenient to run the robot to the required position
with the joystick. (When programming positions, how the robot has reached a position is
immaterial, it is the position itself that is registered).
Robot coordinates
Tool coordinates
The robot system has to be synchronized before coordinate system can be selected. How the
movements of the joystick affect the movements of the robot in the different coordinate systems is
described in the following sections.
The robot moves immediately when the joystick is moved. Make sure nobody remains
Programming
11
S3
3 Movement principles
3.2.4.1
Rectangular base coordinate system
Obtained with button combination
The coordinate system is permanently located at the origin in the robot base in accordance with
the figures above. When the joystick is moved in the directions of the arrows, the robot TCP
currently active moves in straight lines in the X, Y-and Z-directions respectively.
Note!
When the robot is mounted in an inverted position (function parameter M0UNTING=2), the
movement directions of y and z are reversed relative to the robot base.
Programming
12
S3
3 Movement principles
3.2.4.2
Robot main axes coordinatesystem
Obtained with button combination
When the robot coordinate system is selected, joystick deflections in accordance with the
arrows correspond to movements of the robot axes 1,2 and 3 respectively in accordance with the
robot sketches. The TCP does not move in straight lines.
The robot reacts to joystick deflection as described above also when the robot is not synchronized.
The working range of the axes is not supervised when the robot is manoeuvred
unsynchronized. The movements are only interrupted by the mechanical stop if the
robot attempts to move outside the working range.
Note!
When the robot is mounted in an inverted position (function parameter M0UNTING=2), the
movement directions of axes 1 and 3 are reversed relative to the robot base.
Programming
13
S3
3 Movement principles
3.2.4.3
Robot wrist axes coordinatesystem
Obtained with button combination
When the robot coordinate system is selected, joystick deflections in accordance with the arrows
correspond to movements of the robot axes 4, 5 and 6 respectively in accordance with the robot
sketch. The TCP does not move in straight lines.
An unsynchronized robot also reacts to joystick deflections as described above.
The working range of the robot axes is not supervised when an unsynchronized robot
is maneuvred. Attempted movements outside the working range are only interrupted
by the mechanical stop.
Note!
When the robot is mounted in an inverted position (function parameter M0UNTING=2), the
movement direction of axis 5 is reversed.
Programming
14
S3
3 Movement principles
3.2.4.4
Tool coordinate system, no basepoint active
Obtained with button combination
Z"
The tool coordinate system gives movements of the active TCP in straight lines, parallell to the
axes of the tool coordinate system. If no basepoint is active the movement will be parallell to the
wrist coordinate system, as shown above.
Programming
15
S3
3 Movement principles
3.2.4.5
Tool coordinate system, basepoint active
Y"
BASEP1
The tool coordinate system gives movements of the active TCP in straight lines, parallell to the
axes of the tool coordinate system.
Programming
16
S3
3 Movement principles
3.2.4.6
Reorientation around TCP
Obtained with button combination
The joystick deflections will rotate the tool around the axes of the tool coordinate system as
shown above. The robot axes interact to keep the TCP stationary, despite the movements of
the robot.
Programming
17
S3
3 Movement principles
3.3
TCP
TCP is an abbreviation of Tool Center Point. Normally the TCP refers to the point moved
by the robot (see 3.3.1). It can also refer to a room fixed point, around which the robot
moves an object (see 3.3.2).
3.3.1
Normal TCP
The active TCP is the point moved by the robot when positioning and it is the position of
the TCP which is registered when programming positions.
As many different types of tool with different forms and sizes can be mounted on the robot,
the work point for each tool must be determined individually e.g. the nozzle of a glue
dispenser, the centre point of a gripper, the tip of a drill or a deburring tool etc.
19 different normal TCFs can be stored simultaneously in addition to TCP 0 which is
predefined as the centre of the mounting flange of the robot.
Only one TCP can be active at a time. TCP 0 becomes active immediately on start up and
remains active until a change is made.
A TCP can be defined either manually or automatically. With manual definition, the
operator states the measures in x-, y-, and z- directions from the center of the tool fixing
(TCP 0) to the working point of the tool via the programming unit.
An example of automatic definition is the utilization of a fixed point in space to which first
the TCP 0 and then the TCP to be defined are positioned. The robot system then calculates
the difference between the TCP 0 and the new TCP, thus defining the new TCP.
When a TCP is redefined the original TCP-values are erased and the new measures are
entered instead.
3.3.1.1
Base point
The BASE POINT is used in combination with TCP to define the 'Tool Coordinate System",
see section 3.2.3. This coordinate system is used to define not only the TCP of a tool but also
its orientation, which is necessary if tool relative motions should be programmed or
performed.
Programming
18
S3
3 Movement principles
3.3.2
3.3.2.2
Moving the robot with the joystick
The robot will move normally in the base, wrist and robot coordinates, when jogging the
robot. The difference, compared to a normal TCP, is when reorientation of the wrist is
performed. Then the work piece will twist and move in relation to the room fixed work
point, independent of the position of the robot. See figure next page.
Programming
19
S3
3 Movement principles
3.3.2.3
Program execution with room fixed TCP
When running the program the work piece is going to move either in a straight line or in a
circle while passing the fixed tool point. The path and veloicity are not affected by
reorientation of the work piece during the movement. See figure below.
Linear interpolation with room fixed TCP.
H.%
Prograi
20
S3
3 Movement principles
3.3.2.4
Limitations
BASE POINT
Definition of base points is not possible for a room fixed TCP. An error message is
displayed if an attempt is made.
REFERENCE POINT
The reference point does not move the room fixed TCP. Instead the work point on the work
piece is moved. The reference point must be deactivated before changing between an
ordinary and a room fixed TCP.
FRAME
Manual and automatic definition of frame can not be done with an active room fixed TCP.
An earlier defined frame can be used. The frame moves the room fixed TCP and changes
the orientation of the work piece in the same way as for an ordinary position.
MIRROR
The function is interrupted with an error message if a position is programmed with a room
fixed TCP.
WEAVING
Weaving is blocked for programming and program execution when a fixed TCP is active.
MODPOS
The function MODPOS is working normally when a room fixed TCP is active, but if the
position instruction in question was created with an ordinary TCP, the function is blocked.
RELTOOL
The function is blocked for programming and program execution if a room fixed TCP is
active.
VISION
If a room fixed TCP is active all the vision functions are blocked for programming and
program running.
Programming
21
S3
3 Movement principles
3.4
Position programming
The following principles apply to position programming.
The robot, i.e. the TCP, is moved by deflecting the joystick, to the position it is to pass
when the program is executed.
The position, i.e. TCP position and wrist/tool orientation (see below) expressed in the world
coordinate system (see 3.2.1), is programmed and stored in memory by pressing the POSbutton.
When a position is programmed:
The wrist orientation is stored, if no basepoint is defined for the active TCP.
The tool orientation is stored if a base point for the active TCP is defined.
It diouldte noted, that a poationcouW be pix^rammed with one TCP active and
later a movement to that position could be performed with another TCP active.
Generally this should be avoided, since it could result in dangerous and
unexpected movements.
Sometimes this could be useful, however, giving a possibility to use different tools in the
same position, which has to be programmed only once. In most cases the different tools
have different mounting orientations relative to the mounting flange, and in these cases
base points must be used to define the tool orientations.
When a position is programmed, a number of optional arguments describing the movement,
may also be defined. Such arguments are for instance corner zones (see 3.6) and speed (see
3.5). For a complete description of the position instruction, see chapter 6.
3.4.1
Robot configuration
Many combinations of tool position and orientation can be reached with more than one
robot configuration. The controller therefore has to make a choise of configuration, before
going to the position in question.
Information on the configuration at programming time is stored in each position
instruction.
Rectangular coordinates
The configuration in the next position that gives the smallest wrist axes movements is
chosen.
The configuration is supervised so that execution stops and an error message is issued
if either
the configuration obtained as the next position is reached is not the same
as the one at programming time if the position is a FINE-position.
on the way towards the next position, the axis 4 deviates more than 45 degrees,
or axis 6 deviates more than 90 degrees from the start position in direction away from
the stored configuration of the next position.
This supervision can be deactivated (see 8.5) so as to allow the configuration to be different
at programming and execution time.
Programming
22
S3
3 Movement principles
Robot coordinates and modified rectangular coordinates
The configuration which is closest (normally identical) to that at programming time
will be chosen.
Displacement
If some kind of position displacement is made (reference point or frame active, pallett
instruction, stored position with offset or mirrored program), the configuration information
in the position is no longer used (as it is not valid for the displaced position).
This means that, regardless of coordinate system, the configuration in the next position
that gives the smallest wrist axes movements will be chosen. There will be no supervision
of the configuration.
Note! When mirroring a program the operator is given the option of retaining the
configruration information.
From software version M93/7 and on, the configuration handling for displaced programs
(except for mirrored programs) can be changed by the parameter DHANDCHK. If set to 1
the following apply:
Displaced and undisplaced programs are handled in the same way. This change will lead to
some positions causing the supervision to trip in rectangular coordinates. To avoid this, the
supervisions can be deactivated for such positions (see section 8.5).
The advantages of the changed handling in displaced programs are:
1.
The user can chose whether configuration supervision should be active or not (always
deactivate previously).
2.
The user can choose between the programmed and the closest configuration in
modified rectangular coordinates and in robot coordinates (by chosing DHANDCHK
active or not). Previously the closest configuration was always chosen.
3.5
Movement velocity
The speed of robot movement during program execution depends on the basic and
maximum speeds, programmed in a velocity instruction, and the speed percentage specified
in each positioning instruction. The speed is also affected by the speed correction (the plus
and minus buttons on the programming unit). The preprogrammed basic speed is 1000
mm/s and the preprogrammed maximum speed is 2500 mm/s.
The positioning speed is specified in each instruction as a percentage of the basic speed.
There is however a check that this never exceeds the maximum speed. If an attempt is
made to program an impossible maximum speed, an error message is obtained and the
value is rejected.
Note that speed correction, with the plus (+%) and minus (-%) buttons, is only to be used
for testing of different speeds. The percentage should always be set to 100% when the
finished program is run in production. Otherwise unnecessary speed reduction and jerks
can result in corners.
Programming
23
S3
3 Movement principles
Rectangular coordinate system
The programmed velocity refers to the velocity of the TCP. The robot will always try to
reach the programmed velocity, but due to physical limitations, this might not always be
possible for high speeds.
If minimum cycle time is strived for (and robot coordinates cannot be used), it is advisable
to program a realistic velocity. If a velocity which cannot be reached is programmed,
unnecessary delays will be introduced in corners, which will lead to a longer cycle time
than would have been the case with a lower programmed speed.
Wrist reorientation and external axes movements are synchronized with the TCP so
that they are spread evenly over the available path length and all conclude the
movement simultaneously. For large wrist reorientation, the reorientation can set a limit
to the TCP velocity to enable the programmed orientation to be reached at the programmed
position. At low percentage speeds (V% below 10%) the rate of reorientation is reduced
proportionally to the percentage speed value. Note that the rate of reorientation is also
affected by the % buttons.
The external axes velocities are limited by the instruction velocity.
V=100% corresponds to maximum external axes velocity.
Influence of programming functions on the robot velocity:
Programming functions
Programmed
Programmed
Speed correcvelocity V
POS-speed V% tion + %-%
TCP velocity
Reorientation velocity
External axes velocity
Velocity dependent
zone
below 10%
x
x
x
Programming
24
S3
3 Movement principles
3.6
Movement characteristics
Two different modes of path planning can be chosen with the system parameter PATH
(see "Installation S3"). These are path and speed optimization.
3.6.1
Path, optimization
To ensure accurate path performance with the high speed and agility of ABB robots, the S3
controller uses the so called SPF (servo path following) concept
SPF results in optimum path accuracy in rectangular and modified rectangular
coordinates.
Zone
(see section 3.6.2)
Programming
25
S3
3 Movement principles
3.6.1.1
Path following principles
SPF keeps the TCP close to the straight line between two programmed positions while
compensating for changing moment of inertia, gravity and robot dynamics without
overshoot.
Path following in rectangular coordinates is carried out by continuously coordinating the
movements of each individual axis to the speed of the axis which limits the performance for
the moment. When a change of direction in TCP movement is programmed, a parabolic
corner path is automatically generated.
The corner path starts at a defined distance from the programmed position. This distance is
called the corner zone or just zone.
Zone
B
automatically generated
corner path
If the robot TCP velocity is too high to take the corner, the incoming velocity is reduced to a
suitable value. A certain speed reduction will also take place within the corner zone.
Because of servo lag logical instructions are executed just before the robot TCP enters into
the zone.
Servo
A
Programming
lag
logical instructions
are
processed
here by the
controller
26
S3
3 Movement principles
3.6.1.2
Zones
The zone is the distance from the programmed position to the point at which the robot TCP
leaves the straight-line path. The different zone sizes are defined in the system parameters
(S3 Installation) and a suitable zone is selected when programming a position (see 6.3).
The size of the zone is defined in mm or inch, however the value is applicable only when
using rectangular coordinates. When using robot coordinates the zone size might differ
somewhat from that programmed.
The zone can have a fixed size or a velocity dependent size.
The zone has fixed size if the zone size is entered as a positive value. If the value is
entered as a negative value, the zone will be treated as a velocity dependent one.
A velocity dependent zone size corresponds to the defined value (in mm or inches) at a TCP
velocity of 1000 mm/sec and is directly proportional to the velocity. For example in
rectangular coordinates and defined zone value of-25 mm, the zone size at 100 mm/sec is
2,5 mm.
Zone
Programming
27
S3
3 Movement principles
If the velocities before and after a programmed position differ, the zone entry and exit sizes
of a velocity dependent zone will differ, and will be directly proportional to the velocity
ratios. The path is automatically generated accordingly.
50 mm
25 mm
Zone
250 mm/s
250
=
x 50 = 25 mm
500
Programming
28
S3
3 Movement principles
3.6.1.3
Velocity in corners
Highest incoming velocity
If necessary, the velocity when entering the zone is reduced automatically to the maximum
velocity allowed to perform the programmed path without overshoot. The maximum
velocity is a function of the zone size and the corner angle. It can also be limited by large
wrist reorientation.
VELOCITIES
PROGRAMMED
MAXIMUM INCOMING
MINIMUM
ZONE
TIME
Corner angle
1
2
5
15
25
50
100
45
90
135
180
40
80
200
600
40
80
200
600
1000
2100
2500
1000
1000
2100
20
40
100
300
500
700
800
15
30
70
200
350
500
700
15
30
70
200
350
400
600
minimum velocity in % of
incoming velocity
100%
90%
70%
40%
0%
45
90
135
180
Programming
29
S3
3 Movement principles
Velocity between overlapping zones.
If two postions lie so close that their programmed zones overlap, there will be an automatic
reduction of zone sizes, so as to avoid overlap. The TCP velocity between the two positions will
then also be reduced. The reduction is directly proportional to the reduction of zone size, see the
figure below.
V
I ZONE
I
Entry zone to position
I 2
A = ZONE1
ZONE2
ZONE1
Example: The original zone is 15 mm, the positions are 15 mm apart so that the exit zone size for
position A is 7.5 mm. The velocity at X will then be 7.5/15 = 0.5 times the programmed velocity.
The speed correction buttons -% and +%
As mentioned earlier, the speed correction buttons do not affect the size of zones, and the TCP
path is therefore unchanged.
However, the TCP velocity and the velocity of external axes are affected by these buttons, as well
as the rate of reorientation. This will give the possibility to check the path with a lower speed.
This possibility should only be used at testing. The speed correction should be set to 100% in
production.
Programming
30
S3
3 Movement principles
3.6.1.4
Corner deviation
The deviation from the corner point is a function of the zone size and the corner angle.
Zone |
V
\
deviation = d
corner angle
Deviation in nun
Zone size
(nun)
Corner angle
45
0
90
135
180
0,2
0,4
0,5
0,5
0,4
0,7
0,9
1,8
2^
2,5
15
5,5
7,5
25
11,5
12,5
50
10
18
23
25
100
19
36
46
50
Note that for velocity dependent zones, the current velocity must of course be taken into
account to calculate the actual zone size.
Programming
31
S3
3 Movement principles
3.6.1.5
Exceptions
No corner path is generated after the following instructions and functions:
after a TCP instruction
(section 5.9)
at a FINE position
(section 6.3)
after a SEARCH STOP
(section 6.4)
between two circle segments
on PROGRAM START after
a PROGRAM STOP in a zone
on INSTRUCTION START
on BACKWARD instruction
on WEAVE
on LASERTRAK operations
on manual control with the joystick
(section 6.13)
(section 7.1)
(section 7.2)
(section 7.3)
(section 6.5, 12.4)
(separate document)
(section 2.5)
Zone
POS A FINE
POS B PATH
TCP
POS C FINE
TCP instruction
Program stop
Backward movement
tto B after start
INSTRUCTION START
Programming
32
S3
3 Movement principles
Observe that if the velocity is high and/or the programmed points are close, the
instruction execution can be serveral steps ahead of the physical position of the TCP.
This can result man unexpected path at Program Start after emergency stop or similar.
To avoid collision risk in these situations, the Move Restart function (see 7.10) should be
used instead of Program Start.
Note: Emergency stop or similar connected as" Category 1 safety stop" (controlled stop),
see Installation S3 chapter 3.5, does not cause this phenomenon.
Programming
33
S3
3 Movement principles
3.6.2
Speed optimization
Speed optimization is advantagous in applications where problems
are caused by speed reductions. Using speed optimization, the movement
characteristics will be similar to that of ABB robots of M87 model or earlier. This
means, for instance, that there will be no speed reductions due to overlapping corner
zones and that the cycle time will be shorter than for path optimization. Speed
optimization is only described in 3.6.2. In the rest of this manual the default value,
path optimization is presupposed.
The zones used at corners have different meaning and values, depending on which
optimization pridple is used. Path optimization uses a corner zone, showing how far
ahead of a point the control system will begin to generate a parabolic path. Speed
optimization uses a zero zone, showing the servo system how close to the point the
axes should be before driving towards the next point Both type of zones are installed
with MANUAL/PARAM/CHANGE/AUTO/ZONE. If path optimization is chosen,
comer zones will automatically be installed and if speed optimizing is chosen, zero
zones will be installed.
Path optimization
POS FINE
POS FINE L
POS FINE XL
POS
POS FINE
POS Cl
POSC2
POS PATH
Path optimization
FINE
SMALL
LARGE
XLARGE
Programming
ZONE
FINE
CORNER 1
CORNER 2
34
S3
3 Movement principles
3.6.2.2
Programming
When speed optimization has been chosen, three different types of fine points and
coarse points can be chosen.
Fine point with SMALL, LARGE or EXLARGE zero zone. The zero zone is
defined with the installation parameter PARAM/CHANGE/AUTO/ZONE.
Coarse point without defined zero zone. You can however define a zero zone also
for coarse points. The coarse point will then work as a fine point.
Programming
35
S3
3 Movement principles
3.7
Circles
Circles are programmed by putting in a circle point between two ordinary positions.
The circle point is used only to define a position on the circle, i.e speed and
orientation are not influenced by the circle point.
3.7.1
Orientation interpolation
There are three different ways to interpolate the wrist orientation in a circular
movement:
Interpolation with CIRCLE = 0
The wrist orientation will be interpolated as during a linear movement. All
reorientation calculations are handled as orientations relative to the base coordinate
system. This means, that the wrist orientation will change from start pos A to end
pos B, without respect to the TCP's circular movement. As in linear interpolation, the
wrist reorientation will always be done in the shortest possible way, i.e. reorientation
during path will always be less than 180 degrees.
Example:
Programming
36
S3
3 Movement principles
Observe: Only CIRCLE = 1 should be used when running circles in a rotational
EXTFRAME.
Example with small reorientation relative to the CCS:
I
Programming
37
S3
3 Movement principles
PROGRAMMED
MAXIMUM
IN CIRCLE
1
1
1
1
1
1
1
1
CIRCLE
TIME
2,5 mm
5mm
12 mm
25 mm
50 mm
100 mm
200 mm
400 mm
limited by robot
90 mm/s
130 mm/s
220 mm/s
300 mm/s
450 mm/s
650 mm/s
900 mm/s
1200 mm/s
10 mm/s
20 mm/s
50 mm/s
100 mm/s
200 mm/s
400 mm/s
800 mm/s
1200 mm/s
3.8
Soft servo
3.8.1
Introduction
The SOFT SERVO function only exists in the MH/GI/SW software.
The SOFT SERVO function enables the operator to:
define 9 sets of "softness percentages"; each set containing a softness value for each
axis
manually activate any of the 9 sets, or normal axis control
program an instruction in the robot program for activation of any of these sets, or
normal control
check the number of the active "softness percentage" set.
When SOFT SERVO for any axis (1-7) is active, a force applied on this axis will cause a
positional deviation from the programmed position. The deviation is directly proportional to
the force (except for frictional effects which are significant for small forces).
Programming
38
S3
3 Movement principles
3.8.2
Definition of softness
When the "softness" for an axis has the value 0%, the axis is controlled normally and no
deviation is allowed. If a force is large enough to cause deviation from the programmed
position, an error message is displayed and program execution is stopped.
When the axis is "soft" with percentage value between 1-100, an outer force will cause axis
deviation.
Static loads are automatically compensated, thus the robot will not move at
activation or deactivation of SOFT SERVO, if the load remains the same.
For a specific face, the deviation will increase for increased softness, see fig below
Deviation
1%
Programming
100%
39
Softness
S3
3 Movement principles
3.8.3
Use of SOFT SERVO
SOFT SERVO is a software alternative to mechanical compliance in
grippers in applications where imperfections in processed objects can be assumed.
Assembly, grinding and polishing are such applications.
SOFT SERVO can also be used to limit the forces caused by the robot on the processed
objects, e.g. assembly of fragile parts such as glass.
"Trial and error" methods in assembly applications can be performed with SOFT SERVO
together with the function "JUMP IF NOT INPOS". This function controls the program
depending on whether the robot has reached close enough to the programmed position or
not.
Different characteristics of SOFT SERVO compliance can be used in the same robot
program.
Soft servo is defined for each axis individually. The purpose is often to obtain "softness" in
a specific rectangular direction and therefore the softness should be defined on those axes
that mainlly are working in that direction. Because of the robots non-rectangular structure
some softness is also obtained in other directions.
Often, an application for soft servo requires a robot TCP movement in one direction while a
force is applied at the TCP in another direction. A robot configuration should be chosen so
that the main movement is carried out by one or two axes and these should be given a
rather "stiff' softness value (for example 10%), while the force is taken up by one axis (with
movement in the direction of the force) and with a "soft" value of soft servo
(e.g. 70% to 90 %). In other words, softness in the axes contributing the most to the TCP
movement should be avoided.
The brakes are activated 30 seconds after the robot has stopped during program execution.
Activated brakes disable softness. If a long period with force on an axis without movement
is required, activate softness immediately after movement has ceased. In this case, SOFT
SERVO will be active for 9 hours until brakes are activated.
Some notes regarding the SOFT SERVO function:
* if SOFT SERVO is active for any axis from 1 to 7 the dynamic performance of all
axes is decreased
* the static load compensation is the same as was valid in the position, when SOFT
SERVO was activated. When the "soft" axes are moved from this position, they will
deviate from the nominal path. This will result in axis movement when the
function is deactivated as the nominal part in resumed.
* Motion speed affects the path strongly when SOFT SERVO is active. Using delays (for
example "WATT 0.5 S") helps keeping the path close to nominal.
When using the Soft Servo function, speed and path are affected!
Programming
40
S3
3 Movement principles
3.9
Program displacement
Two different functions are available for program displacement:
Parallel displacement by means of a reference point.
Program displacement by change of reference frame, i.e. displacement of the world
coordinate system.
Both functions mean that all positions in a program are displaced in relation to their
original locations. Both functions should be activated at a FINE position.
3.9.1
Parallel displacement with a reference point (REFP)
Parallell displacement is used for temporary displacement which will change for every new
operation cycle of the robot. A typical application is when the exact location of an object is
being searched for with a sensor, and the following sequence of positions should all be
displaced equally.
Only one reference point can be defined at a time and it is always defined and activated in
the same instruction, POS KEFPOINT. When programming the instruction POS
REFPOINT the position POS1 (see the figure below) is stored in the instruction. When
executing the instruction the robot is in position POS1' after a search operation. The REF
POINT vector (d) defines the displacement of the Object Coordinate System (figure in
section 3.2.1) relative to the World Coordinate System. If no FRAME is active the World
Coordinate System will be the same as the Base Coordinate System.
POS1'
POS1
The reference point vector
Programming
41
S3
3 Movement principles
Example
Subprogram 5 includes a movement pattern which must be capable of parallel
displacement For practical reasons, the movement pattern is placed in a separate
subprogram 100.
Program 5:
200 POSV = 50% FINE
Program 100:
10 POSV REFPOINT ON
20
POS V = 100 %
170 RETURN
Displacement vector
Instruction 10 was
programmed here
Instruction 20 was
programmed here
Instruction 20 is
executed here
Note!
The instructions 10 and 160 are not positioning instructions. Their only purpose
is to activate and deactivate parallel displacement of the program section
between them.
Programming
42
S3
3 Movement principles
3.9.2
Program displacement with reference frame (FRAME)
With a FRAME instruction it is possible to displace and reorient all positions in a program
with the same amount. FRAME is used if a more permanent change has occured in the
station, (e.g. the robot has been displaced or a fixture has been moved). The FRAME
function can, however, also be used in combination with search functions to adapt to
temporary displacements of the object, like REF.POINT. The FRAME function is more
powerful than the REF.POINT, as it also allows for rotations, but it is more complicated to
define.
All stored positions in position instructions are expressed relative to the World Coordinate
System WCS (let us suppose that REF.POINT is zero) (see the figure in section 3.2.1). If
there is no FRAME active the WCS will coincide with the Base Coordinate System BCS.
A FRAME instruction however will displace the WCS relative to the BCS with an x, y, z
value and a quaternion value for reorientation (both symbolised by vector FRAME) i.e. the
WCS will be displaced and rotated relative to the BCS. Rotation may be performed around
any axis.
Up to five FRAME-vectors may be stored in frame registers in memory, i.e. FRAME 1 FRAME 5. A FRAME-vector can be defined by dislocation of three positions (see figure
below). This can be done either manually by moving the robot with the joystick or
automatically during program execution. A FRAME vector is stored in the frame register
until it is overwritten by a new definition of the frame with the same number.
If possible, the orientation of the tool should be kept unchanged, to get the highest
accuracy.
POS3'
POS2'
POST
POS1
POS2
DEFINING A FRAME
Programming
43
S3
3 Movement principles
When defining a frame in automatic mode, the dislocations are measured with POS FRAME
POS instructions. Suppose that the robot is in position POS1 when programming the POS
FRAME POS 1 instruction (see figure above). The coordinates for this position will be stored
in the instruction. When executing the instruction the robot will be in position POSl',
perhaps after a search operation, and the dislocation vector d will be calculated. The same
operations are performed for POS2 and POS3. After this the execution of a FRAME 1
DEFINE instruction will calculate the FRAME vector from the three dislocation vectors and
store the result in FRAME 1 (the same will go for FRAME 2-5). Please observe that no real
dislocation of the following stored positions is performed yet. This will not happen until
FRAME 1 is activated with a FRAME 1 instruction.
A new FRAME may be activated while a former one is still active. This will give an
accumulated displacement. This should however be avoided since the accuracy will be
suffering. Thus an active FRAME should be deactivated a FRAME 0 instruction before a
new FRAME is activated. Also observe that through both FRAME instructions and POS
REFPOINT instructions can be active at the same time.
Three positions are included in the definition of a program displacement. In order to
succeed with the definition, the three positions must be located as below:
In a triangle.
> 100 mm from each other.
(1)
Programming
44
S3
3 Movement principles
Position 2 defines the new direction, for the line (1) - (2), as 1 - 2:
Displacement
in relation to 1
Position 3 defines the new position of the plane (1) - (2) - (3), as 1 - 2 - 3:
(D&(2)
Displacement
in relation to 1 and 2
(3)
S3
3 Movement principles
As the direction only is important, position 2 can be placed as in the figure below:
2 can be
placed here
As the position of the plane only is important, position 3 can be placed according
to the figure below:
3 can be
placed here
Programming
46
S3
3 Movement principles
3.10
Singular points
Singular points are points in the robot working range where the axis of rotation of two
robot axes coincide. Sometimes, when driving the robot in rectangular coordinates, this will
cause very big robot axes movements or movement stop (with error message). To overcome
this problem when jogging with the joystick, the robot coordinate system should be chosen
when the point is to be passed.
In the case of program execution, singular point problems can be handled by the following
instructions:
MODRECT COORD
RECT COORD
Of course MODRECT COORD can be used throughout the program if the orientation is of
minor inportance.
Another type of singularity occurs when the wrist rotates around the z-axis of the Base
Coordinate System. To meet this, the following limitations are introduced:
The wrist center can not move through a prohibited zone with the radius 2 cm in
rectangular coordinates. A pass-through can be performed in robot coordinates.
When running in MODRECT coordinates, the TCP as well must not be located inside a
corresponding prohibited zone around the z-axis. The radius of the zone in question
varies and can as a maximum reach a size equal to the TCP vector, depending on the
TCP orientation at the pass-through.
It is not possible to program a point with the wrist center inside the prohibited zone.
Programming
47
S3
3 Movement principles
Programming
48
S3
4 Operation
Operation
Section
Page
4.1 Start
4:3
4.1.1
Power on, power off, synchronization
4.1.2
Program Execution
4.1.3
Stop
4.2 Restart after power failure
4:5
4.2.1
General
4.2.2
Automatic restart
4.2.3
Manual restart
4.2.4 Restart from PLC
4.3 Languge selection
4:8
4.4 Software configuration
4:8
4.5 Program information
4:9
4.6 Error buffer
4:10
4.7 Disk handling
4:11
4.7.1
Initialize disk
4.8 Computer link
4:13
4.8.1
General
4.8.2
Commands to robot
4.8.3
Commands from robot
4.8.4
Spontaneous status messages
4.8.5
Request for superior control
4.8.6
Operation status
4.9 Register
4:15
4.9.1
Register
4.9.2
Position registers, location
4.10 Inputs and outputs
4:17
4.11 Ports
4:17
4.11.1 Digital ports
4.11.2 Analog ports
4.12SYSTEM-I/O
4:22
4.12.1 Standard SYSTEM-I/O, inputs
4.12.2 Standard SYSTEM-I/O, outputs
4.12.3 Additional SYSTEM-I/O at I/O MAP
4.12.3.1 Summary of HOLD, HOLD RESET and AUTO INPUT
4.12.3.2 Inputs
4.12.3.3 Outputs
4.13 Remote control panel signals, panel- I/O
4:28
Programming
S3
4 Operation
Programming
S3
4 Operation
4.1
Start
4.1.1 Power on, power off, synchronization
Power on
Before the robot is started, ensure that the working range ofthe robot is
unobstructed and that no person is in any dangerous zone.
The robot must be 'left alone" during the initiation.
The initiation is ended by displaying the text shown below at the same time as all the panel
and programming unit lights are lit for 3 seconds.
"ABB ROBOT SYSTEM AT YOUR SERVICE"
SOFTWARE FOR IRB XXXX
After the initiation followed by MOTOR ON command a safety test is performed. This will
cause the robot movement, initiated by a program start or by the joystick, to be delayed
about 10 sec.
Power off
First, stop any program execution. Then bring the robot to the MOTOR OFF mode.
Turn off the mains switch.
When the robot is switched a&, all outputs are reset This may affect the
peripheral equipment and grippers which in turn might cause damage.
The memory utilizes battery backup, and is not affected by mains switched off.
Synchronization
If optional external axes are not equipped with absolute measurement system, the MOTOR
ON lamp will start flashing when the robot is taken to the MOTOR ON mode for the first
time after initiating. This is to indicate that the robot has not been synchronized.
Press the programming unit SYNC button to synchronize the external axes. The MOTOR
ON lamp will be on steadily when the synchronization is completed.
When SYNC is selected, the external axes immediately start moving.
Make sure nobody is inside any dangerous zone.
Programming
S3
4 Operation
4.1.3 Stop
Program execution may be stopped in several ways:
manually, by releasing HOLD TO RUN
manually, using the programming unit STOP button.
manually, using the remote control STOP button.
automatically, using the program stop digital input (system I/O)
automatically, using programmed stop in the robot program
automatically, due to a system fault
Note!
Program execution stop performed in one of the above mentioned ways results in
a shortest possible smooth stop on the path. Release of the enabling device in
MANUAL mode or use of any switch in the MOTOR ON chains will activate the
brakes immediately causing the robot to stop without path control.
Note!
Stopping program execution in the MANUAL REDUCED SPEED and MANUAL
FULL SPEED modes should be done by pressing the PROG STOP button on the
programming unit before releasing the safety pad. Otherwise the braking is done
more harshly since hardware is performing the braking (safely demand).
NandR
On program stop, an R (ready) is shown at the right hand side of the second line of the
display if the current instruction is completed. An in completed instruction is shown by the
letter N (not ready). (An instruction can be executed twice by entering the Editing menu
between the two executions).
Programming
S3
4 Operation
4.2
Restart after power failure
4.2.1 General
By using the automatic restart function program execution can be resumed at the
instruction interrupted by a power failure. Automatic restart can be performed at:
the programming unit
a remote control panel
a superior computer
A robot system provided with absolute measurement need not be synchronized before
restart, as the measurement system automatically registers the robot position anywhere
inside the working area. Calibration of the measurement system is performed during
installation. See the Installation S3.
S3
4 Operation
Note!
Analog outputs are cleared.
Programming
S3
6
4 Operation
4.2.4
Restart from PLC
After a power failure the logic for a pic can be like the following:
Read output SYNC.
When SYNC is high (after lamptest which is approx 3 seconds) then set input MOTOR
ON with a pulse.
Read the output MOTOR ON.
When MOTOR ON is high, set input SYNC with a pulse.
When output SYNC is low, start program execution by either PROG START or MOVE
RESTART.
See chapter 4.12 and 4.13 for definition of the signals. (If MOVE RESTART is desired, I/Omap has to be used.)
Programming
S3
4 Operation
Programming Unit
Control Panel
gync lamp lit on
remote control panel
RESTART POSSIBLE
MOTOR ON via
control panel/remote
control panel
RESTART (sync
input) via remote
control (sync lamp
goes out).
START PROGRAM
via remote control
S3
8
4 Operation
4.3
Language selection
The dialog with the robot system can be performed in ten different languages: English,
German, French, Dutch, Spanish, Italian, Portuguese, Finish, Japanese (katakana) or
Swedish.
The language used can be changed, at any time during the course of the dialog. Not only
the menus, guide questions and messages presented on the display are changed, but all of
the robot programs are presented in the new language.
Language is changed according to the following:
1.
2.
3.
4.
5.
The asterisk is there to simplify finding the language function, no matter if the langauge
presently on the display is not understood by the operator.
4.4
Software configuration
The code for the software supplied in the controller can be read on the programming unit
display or on the Monitor. When the programming unit display shows ERRORS, these
should be scanned through by pressing the SHIFT button until finally details of the
software configuration are shown.
Robot type
Program
version
Program
revision
Year
Week
Model
.*-:.>:M.-:*:~^-.^^W.^.V.-.W.^W.^-.W.^^
IRB 60002,4-120
"Programming
S3
9
4 Operation
4.5
Program information
Program information is available by using the SHIFT button. The following example shows
what information is displayed:
100 POS V = 100% FINE
ROBOT COORD
V=1000MM/S 100%
Programming
S3
10
4 Operation
4.6
Error buffer
The system contains an internal error buffer, which can store 9 error messages. In the
buffer the system stores:
All kinds of error messages (both system errors and operator errors), occurred at the
latest error occasion.
Earlier messages about system errors.
The system can, on request, present the contents of the error buffer via:
The programming unit. (Just error messages from the latest error occasion.)
A printer, if the optional function Program printout is provided.
A monitor, if this optional function is provided.
Display on the programming unit of error messages.
The programming unit displays one error message at a time, according to the following:
When the system stops running due to an error, the operator will see the first
error message. An arrow on the display indicates if there are any consequent errors. In
this case the operator can display these messages also, one by one.
During manual operation the operator can, on request, display stored messages from
the latest error occasion, one by one. The error messages are chronologically displayed.
For most error messages, it is possible to get text in plain language by pressing "" on
the programming unit.
Display on the monitor of error messages.
The monitor displays all the messages within the error buffer, according to the following:
When the system stops running due to an error, the operator will see all messages
in plain language, occurred during that error occasion. The error messages are
chronologically displayed.
During manual operation the operator can, on request, display all stored messages. The
error messages are chronologically displayed. The oldest message on top of the list.
Printout of error messages.
During manual operation the operator can, on request, display all stored messages.
The error messages are chronologically displayed, the oldest one on top of the list.
EIrasure of the contents in the error buffer and display of text in plain language.
During manual operation the operator can, on request, erase all messages stored in
the error buffer.
On request, the operator can get text in plain language for most error messages.
On request, the operator can load the texts in plain language from disk
(See Installation S3).
Programming
S3
11
4 Operation
4.7
Disk handling
The disk drive is used for storage and loading of robot programs, system parameters and
program parameters. 3.5"-2DD (two side, double density) IMbytes disk are used.
A block corresponds to the whole contents of theuser memory, including main program, all
subprograms and program data.
Up to 7 program blocks with different numbers can be stored on each disk, in addition to
system parameters, and program parameters (See Installation S3 for system parameter
information).
Program blocks can have numbers from 0 to 9999. Program blocks stored previously are
written over if a new block with the same number is entered for storage.
4.7.1
Initialize disk
Anew disk must be initialized before being used. The contents of a disk used previously
will be erased by initializing the disk again.
A disk can only be initialized when the robot is in MOTOR OFF mode.
The procedure is described in section 9.2.3.
S3
Programming
12
4 Operation
4.8
Computer link
4.8.1
General
Connections to the Superior Computer are point-to-point as shown below.
SC
.
IRB1
IRB5 1
IRB4
IRB2
1KB 3
4.8.2
Commands to robot
A large number of commands can be given to a robot from the superior computer (SC). Each
command must be acknowledged by the robot. The different types of commands are
described below:
Loading of program blocks or individual programs from the SC.
Start or stop of program execution.
Reading and writing of
robot data
process data
Reading of the current status of the robot
Position of active TCP, wrist and external axes
Change of robot mode (MOTOR OFF, MOTOR ON etc)
Control of IRB from S.C. by means of X, Y, Z and wrist position and orientation
coordinates.
Note: While the robot program is executing logical (i.e. non-position) instructions,
commands from SC can not be received. Therfore if a long sequence (approximately 15) of
logical instructions is executed, e.g. in a loop waiting for an input, occational WAIT 0.1s
instructions should be entered so as to allow receptions of SC commands.
Programming
S3
13
4 Operation
4.8.3
Commands from robot
A few commands can be initiated manually from a robot to the SC via the programming
unit:
Storage or loading from the SC of program blocks or an individual program (for arc
welding robots even weld data, see chapter 12).
Storage or loading from the SC of system data.
4.8.4
Spontaneous status messages
When certain events occur in the robot, a message is automatically transmitted to the
superior computer. The message contains information regarding the current robot status
with respect to:
Robot mode (MOTOR OFF, MOTOR ON, PROGRAM EXECUTING or EMERGENCY
STOP).
The operating mode selector in position AUTO or MANUAL REDUCED
SPEED/MANUAL FULL SPEED.
Interrupt via direct acting inputs (permitted or not permitted).
Active program and instruction number
Position of active TCP, wrist and any external axes.
A spontaneous status message is transmitted each time:
4.8.5
Request for superior control
The robot will send a request for superior control to the SC by executing the instruction
SUCTRL. The instruction can have a combination of functions for program stop and
register information.
Programming
S3
14
4 Operation
4.8.6
Operation status
A robot can be run in two different operation modes:
Local operation mode, when the robot control system does not accept commands from an
SC.
Remote operation mode, when commands from an SC are processed by the robot control
system.
The different operation modes can be selected manually using the Programming Unit.
After power on, the remote operation mode is obtained automatically if the robot is
configurated for a computer link.
The robot can be programmed in either operation mode. It is however necessary for the
local operation mode to be selected when programs are transferred to and from disk and
when function parameters are changed. The remote operation mode must be selected when
the above operations are to be performed with the SC.
All functions are allowed in the AUTO mode, but the following are not allowed in the
MANUAL REDUCED SPEED and MANUAL FULL SPEED modes when issued from a
S.C.
Write to frame register
Write to program/block
Order MOTOR ON and SYNC
Start of robot program
Write arc weld data
Write to sensor register
Write parameters
Write to TCP register *
Write to location register *
Write to register *
Write to digital output *
E
Erase program
Load program/block from disk
Write positioning data
Write to analog outputs
4.9
Registers
4.9.1
Register
Control of program or peripheral equipment is performed on the basis of a value in a
numerical register.
The system contains 120 numerical registers, number 0 -119, where one integer value at a
time can be stored. When a new value is stored, the previous value is written over.
Permitted values range from - 32 768 to +32 767.
During program execution, a numerical value can:
Be stored directly.
Be stored indirect from a digital or an analog input port.
Be sent to the peripheral equipment via a digital or on anlogue output port.
Compared with another value in a jump instruction.
S3
15
4 Operation
Be a:
- Program number at an indirect call of a program.
- Position register number when running to a stored position.
- Block number at indirect read of a block from diskette.
Define a value for a robot position
Specify which module in a pattern program is to be called.
Define displacement or rotation of a location, or a position, defined by one of the
instructions POS LOC, POS POS or RELTOOL (not on ARCW software).
Define the current position in a pallet (not on ARCW software).
It is possible to manually check and change the value in one register at a time.
The register instruction is used for:
Storing a value into a numerical register directly or via other registers.
Fetching a value from a port.
Transferring a value from a register to a port.
Arithmetic handling of the register value.
Entry of location coordinate values.
The manual function is used in checking and editing the program.
The robot reacts immediately as soon as a manual or a programmed command, as described
above, is concluded.
4.9.2
Position register, location
Means:
Storage and reuse of a position in a position register during program execution as an
argument in positioning instructions.
Facts:
When using a position register there is a difference between location and position.
A robot location is only three coordinates in the memory, i.e. the TCP location.
Positions of external axes are also saved.
A robot position is, besides of the TCP coordinates, also the tool orientation and the
positions of external axes (provided that any one of the position registers 0 - 95 is used).
(Arc welding robots only)
By activating/deactivating a parameter (REF POINT MODE) it is possible to
compensate/not compensate for the influence by an active reference point.
Used:
When the same position is to be used for the tool several times during a work cycle.
When a programmed position is to be displaced step by step each time the tool moves to
the position.
Executed:
By the STO POS-instruction, the TCP location, the tool orientation and the positions
for the external axes are stored in a position register.
By the POS POS-instuction a position is programmed in such a way that the robot, during
program execution, will move to a stored position with the tool orientation stored.
The position can be provided with an offset if required.
Programming
S3
16
4 Operation
The offset can be given in three different ways:
1. Entered from the programming unit as x, y and z values when programming the POS
POS instruction.
2. Entered by moving the robot with the joystick the distance wanted, when programming
the POS POS instruction.
3. The x, y and z values are read from three numerical registers when the instruction is
executed. When the POS POS instruction is programmed the number of the referred
numerical registers are given. In this way the offsets can be changed dynamically while
the program is running.
By the POS LOC-instruction a position is programmed in such a way that the robot, during
program running, will move to a stored location with the current tool orientation. The
location can also be provided with an offset if required.
4.10
Inputs and outputs
Means:
The robot and peripheral equipment communicate via inputs and outputs of both digital
and analog types. The analog version is described under "Ports".
Facts:
A digital input or output can have one of two different statuses, "1" (voltage) and "0" (no
voltage). Via the outputs, the robot transmits information and commands to the peripheral
equipment and the corresponding information from this is received at the inputs. The
setting of outputs to 1 or 0 is managed by special instructions during program execution
and such an instruction applies until a similar but contradictory instruction is encountered
during the execution.
A manual function permits:
checking of the status of individual digital inputs.
checking of digital outputs individually. It is also possible to make, an immediate
correction when the status of an output is found out to be faulty.
It is also possible to invert an output and to send a negative or positive pulse of 200 ms
duration via an output (short change of the current status of the output).
4.11
Ports
A port is a group configuration of digital inputs/outputs or a single analog input/output. It
is possible, in a user program, by using REGISTER instructions (section 5.8) to connect
register 0-119 to ports. The connection is temporary and is only active in connection with
execution of REGISTER instructions. The normal functions of the digital inputs/outputs in
other program sections is not affected.
The function permits:
The accessing of the status of a group of digital inputs for storage in a numerical
register. The status of each of the inputs is given by a binary digit, "1" (closed input) or
"0" (open input), and the binary value formed is stored in the register.
Transmission of the binary value in a register to a group of digital outputs for setting
these to one or zero. The value is coded in binary form, "V (active output) or "0"
(inactive output).
Programming
S3
17
4 Operation
4.11.1
Digital ports
In this context a group is either 4 inputs/outputs (ports 1,2,11 or 12) or 8 inputs/outputs
(port 3, 4, 13 or 14). There are two 16 bit ports, 70 and 80, which embrace both inputs and
outputs. Two analog outputs, port 21 and 22, are used in arcwelding and glueing software,
see chapter 12 and 13.
The group configuration of inputs/outputs for ports 1-4 and ports 11-14 are shown in the
table below. (LSB means Least Significant Bit and MSB means Most Significant Bit".)
Port no.
Output no.
Logical output
3
4
13
2
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
*
'
1.astbit (MSB)
0-15
0-15
0-255
0-255
No. of bits
Value in register
0-15
0-15
0-255
Logical input
11
2
4
13
14
15
16
17
18
19
20
13
Input no.
12
Value in register
Port no.
No. of bits
Programming
S3
18
4 Operation
21
22
23
24
>
25
26
27
28
29
30
31
14
32
0-255
1^astbitCMSB)
70
Output no.
1
2
3
4
5
6
Logical in/output
First bit (LSB)
80
Input no.
5
Input no.
1
2
3
4
5
Note
Prograi
S3
19
4 Operation
Output no.
1
2
3
4
5
6
There is a time supervision in the robot. If input 5 is not inverted within 400 ms after
output 6 is inverted the program execution will be stopped.
When transmitting via Port 70 it is never checked that data bit 0-3 has been read input 5
inverted.Therefore a waiting time in the program will secure that data has been
transmitted correctly before output 1-4 is changed.
Activity sequence at data transfer to port 70
Robot
External equipment
Set output 6
Transmit control data to outputs 1-4
Invert output 5
Wait 2 ms
Read the control word
Invert input 5
S3
Programming
20
4 Operation
Activity sequence at data fetching from port 80
Reset output 6
Transmit control data to outputs 1-4
Invert output 5
Wait 2 ms
Read control word
Transmit data, bit 12-15 to inputs 1-4
Invert input 5
Read data from input 1-4
Invert output 6
Wait 2 ms
Transmit data, bit 8-11 to inputs 1-4
Invert input 5
Wait 2 ms
Transmit data, bit 4-7 to inputs 1-4
Invert input 5
Wait 2 ms
Transmit data, bit 0-3 to inputs 1-4
Invert input 5
4.11.2
Analog ports
For analog input/output signals there are four ports , numbered according to the table
below. The same REGISTER instructions as for digital ports apply.
Corresponding
Port no.
21
22
23
24
Output no.
1
2
3
4
Limit values
0- 10 V
0- 10 V
0- 10 V
0- 20 mA
Port no.
31
32
33
34
Input no.
1
2
3
4
Limit values
0- 10 V
0- 10 V
0- 10 V
0- 10 V
Programming
Register values
0- 1024
0- 1024
0- 1024
0- 1024
0- 1024
0- 1024
0-+ 1024
0- 1024
S3
21
4 Operation
4.12
SYSTEM-I/O
System-I/O is a group of functions which can be selected in two ways, either as a standard
set according to the list below, or as a flexible set decided by the user (see Installation S3).
The selection is done by defining the I/O USE - SYS parameter in PREDEFINED
(standard) mode or in I/O MAP (flexible) mode. In the standard mode only the I/O-board
position, preferrably the last one, has to be selected. The input and output channels no. 9-.,
16 will then be occupied. In the flexible mode the functions desired can be selected on any
board and any channel.
4.12.1
Standard SYSTEM-I/O, inputs
There are 8 inputs which can control the execution of the user program from outside. The
robot to reacts on an input signal if:
the instruction ENABLE INTERRUPT is executed in the user program before any of
INTERRUPT INSTRUCTION, INTERRUPT PROGRAM, JUMP TO PROGRAM is
used.
the input signal is changed from "0" to "1* (the input is closed)
Combined input signals must be delayed in relation to each other by at least 10 ms and
activated in the correct sequence to make sure that they are processed in the correct order
and interpreted correctly by the robot.
Input channel on
board selected
Function
INPUT CH 9
Interrupt instruction
When the signal is activated, the robot interrupts the execution of
the current instruction. Execution of the next instruction in the
program then begins.
Interrupt program
When the signal is activated, the robot completes the execution of
the current instruction. The program execution is then stopped.
Interrupt instruction before Interrupt program.
When the signal combination is activated, the robot interrupts the
execution of the current instruction in the program. Execution of
the next instruction in the program is then begun. The robot
completes this and program execution is then stopped.
Interrupt program before Interrupt instruction.
When the signal combination is activated, program execution is
stopped immediately.
Jump to program
Each one of the inputs is connected to a fixed subprogram:
Input channel 11 to subprogram 1.
Input channel 12 to subprogram 2.
Input channel 13 to subprogram 3.
Input channel 14 to subprogram 4.
Input channel 15 to subprogram 5.
INPUT CH 10
INPUT CH 9 and 10
INPUT CH 11-15
S3
22
4 Operation
INPUT 16
4.12.2
Standard SYSTEM-I/O, outputs
There are 7 outputs for indication of the status of the robot:
Output channel on
board selected
OUTPUT CH 9
Function
Gripl
Grip/release - activation of gripper no. 1
OUPUT CH 10
Grip 2
Grip/release - activation of gripper no. 2
OUTPUT CH 11
MOTOR ON
An active signal indicates that the robot is in the MOTOR ON
mode, i. e. that voltage is applied to the motors.
OUTPUT CH 12
Cycle on
An active signal indicates that program execution of the robot is
in progress. When execution instruction by instruction, the signal
is deactivated when the instruction is completed.
OUTPUT CH 13
Cycle Error
An active signal indicates a malfunction in the robot during
program execution. Error code is displayed.
OUTPUT CH 14
MANUAL mode
An active signal indicates mode MANUAL REDUCED SPEED or
MANUAL FULL SPEED.
Programming
S3
23
OUTPUT CH 15
4 Operation
Search stop
An active signal indicates that searching function has been
stopped by a sensor signal.
4.12.3
Additional System I/O at I/O MAP
4.12.3.1
Summary of HOLD, HOLD RESET and AUTO INPUT
Stoping of program exection followed by MOTOR OFF mode is possible by to active HOLD
command. If the operating mode selector is in AUTO it is possible to resume program
execution with one commend by either AUTO INPUT or HOLD RESET.
Presumption: Robot in AUTO mode and a program is executing. An (EXT) HOLD stops
program execution, sets HOLD-ACK and sets MOTOR OFF. If the operating mode selector
remains in AUTO, it is possible to resume program execution again by AUTO INPUT (or if
SYSTEM AUTO is set by (EXT) HOLD RESET).
HOLD-ACK indicates that the robot has been stopped by HOLD and has to be started by
AUTO INPUT or (EXT) HOLD RESET. HOLD-ACK can be reset by MOTOR OFF.
See time chart.
The following signals are involved in this functionality:
Inputs
HOLD
EXTERNAL HOLD
HOLD RESET
Outputs
HOLD-ACKnowledge
SYSTEM AUTO
Each of the signals covered in this chapter have to be defined in the I/O-MAP before they
can be used. The exception is HOLD which is not always part of the SYSTEM I/O but is
involved in the functionality. HOLD is inputs to the System board DSQC 256A in robots
from M93.
EXTERNAL HOLD is nearly indentical to HOLD.
EXTERNAL HOLD RESET is indentical to HOLD RESET.
In the following text the term "(EXT) HOLD" symbolized any of HOLD and EXTERNAL
HOLD. (EXT) HOLD RESET is equals to any of EXTERNAL HOLD RESET and HOLD
RESET.
The (EXT) HOLD is an inverted signal i.e. it is activated when it goes from 1 to 0 and
passive when it is high.
Examples of some simple ways to utilze this functionality.
A. If no signals are defined in a robot equipped with DSQC 256A:
- A program execution can be stopped followed by a delayed MOTOR OFF in one step
by HOLD on the System board. When the signals become passive it is possible to
resume program execution by commending MOTOR ON and Program Start.
(If the robot doesn't have DSQC 256A, (EXT) HOLD has to be defined to get the
same functionality).
Programming
S3
24
4 Operation
B. If AUTO INPUT is defined. After commanding (EXT) HOLD, the program execution
can be resumed by AUTO INPUTafler that (EXT) HOLD has been set passive. AUTO
INPUT carries out MOTOR ON , reset HOLD-ACK, executes Program Start and sets
SYSTEM OUTPUT, if it is defined.
Note the following columns in the time chart.
Column 4 (EXT) HOLD RESET when SYSTEM AUTO is reset. (Compare column no 7.)
Column 5 AUTO INPUT starts program execution instead of (EXT) HOLD RESET.
Programming
S3
25
MOTOR ON
n_
MOTOR OFF
PROG START
(EXT) HOLD
(EXT) HOLD RESET
AUTO INPUT
n
n
EMERGENCY STOP
O
MOTOR ON
CJ
MOTOR OFF
>
CQ
CYCLE ON
2)
SYSTEM AUTO
HOLD ACKNOWLEDGE
ERROR
1) Aprox 1 sec. after cycle on -0
2) 0.5 sec. after motor on
3) ERROR lamp
4) ERROR IN AUTO. Cycle error and ERROR lamp
3)
4 Operation
4.12.3.2
Inputs
HOLD and EXTERNAL HOLD
HOLD (HOLDl and HOLD2) carries out a program stop by the software. Connected in the
MOTOR ON chains, the hardware on system the board delays MOTOR OFF by approx. 1.5
sec.
EXTERNAL HOLD executes both program stop and sets MOTOR OFF by software.
(If the robot is not equipped with the system board DSQC 256A, HOLD can be defined by
I/O MAP and consequently only executes a program stop.)
AUTO INPUT
1) If program is executing, AUTO INPUT, will set the output SYSTEM AUTO.
2) If program execution is stopped by (EXT) HOLD, AUTO INPUT will start program
execution. (HOLD ACK must be set and HOLD passive.) HOLD ACK is then reset
and SYSTEM AUTO is set
Note. Neither of the outputs HOLD ACK and SYSTEM AUTO have to be defined to get
this functionality.
4.12.4.3
Outputs
HOLD ACKNOWLEDGE (HOLD ACK)
This output is set by (EXT) HOLD, and is reset by either MOTOR OFF, AUTO INPUT or
(EXT) HOLD RESET if (EXT) HOLD is passive.
HOLD ACK informs the operator or a PLC that the robot is stopped by an (EXT) HOLD
signal. As long as the output is active, program execution can only be resumed by AUTO
INPUT or (EXT) HOLD RESET, if (EXT) HOLD is passive.
When (EXT) HOLD becomes passive it is also possible to reset HOLD ACK by MOTOR
OFF. Thus program execution has to be started by MOTOR ON and Program Start.
ERROR in AUTO
This output is set at errors stopping program execution provided that SYSTEM AUTO is
set.
SYSTEM AUTO
The purpose of this output is only to inform the operator of the status for the AUTO
INPUT. See above.
Programming
S3
27
4 Operation
4.13
Remote control panel signals, Panel-I/O
The following section is valid if PANEL I/O is defined under PARAM/CHANGE/I/OUSE/PREDEF. If I/O MAP is used board, place and in- and outputs can be freely selected.
A central control panel or a PLC for remote control can be used by one or more robots. The
remote control panel may be used in paralell with the cabinet control panel. The inputs are
called buttons and outputs are called lamps, since this is intended for a remote panel.
Input channel on
board selected
Function
INPUT CHI
MOTOR ON button
Brings the robot to MOTOR ON in AUTO mode.
Voltage is applied to the robot motors.
INPUT CH2
INPUT CH3
INPUT CH4
Disabling edit
When set, editing of programs from programming unit
is prevented.
INPUT CH5
INPUT CH6
INPUT CH7
INPUT CH8
SYNCHRONIZATION button
This button is used to restart the robot after a power
failure during program execution . The
synchronization of external axes is started when the
button is pressed.
Programming
S3
28
4 Operation
4.13
Remote control panel signals, Panel-I/O
The following section is valid if PANEL I/O is defined under PARAM/CHANGE/I/OUSE/PREDEF. If I/O MAP is used board, place and in- and outputs can be freely selected.
A central control panel or a PLC for remote control can be used by one or more robots. The
remote control panel may be used in paralell with the cabinet control panel. The inputs are
called buttons and outputs are called lamps, since this is intended for a remote panel.
Input channel on
board selected
Function
INPUT CHI
MOTOR ON button
Brings the robot to MOTOR ON in AUTO mode.
Voltage is applied to the robot motors.
INPUT CH2
INPUT CH 3
INPUT CH4
Disabling edit
When set, editing of programs from programming unit
is prevented.
INPUT CH5
INPUT CH 6
INPUT CH 7
INPUT CH 8
SYNCHRONIZATION button
This button is used to restart the robot after a power
failure during program execution . The
synchronization of external axes is started when the
button is pressed.
Programming
S3
29
4 Operation
S3
30
Page
5.1
5.2
5:5
5:7
GRIPPER
WAIT
5.2.1
WAIT (TIME)
5.2.2
WAIT (INPUT)
5.3
OUTPUT
5.4
JUMP
5.4.1
JUMP (unconditional)
5.4.2
JUMP (conditional)
5.4.3
JUMP (SEARCH)
5.4.4
JUMP (NINPOS)
5.5
VELOC
5.6
CALL
5.7
RETURN
5.8 REG
5.8.1
REG (FETCH)
5.8.2 REG (SET)
5.8.3
REG (TRANSFER)
5.8.4 REG (LOC)
5.9 TCP
5.10 INTER
5.11 COORD
5.12 GET B/ADD BLOCK
5.13 COM
5.14 SUCTRL
5.15 FRAME/FRAME DEFINE
5.16 SOFTS
5.17 EXTAX
5.18 EXTFRAME
5.19 GLUE SCA
5.20 LOAD (IRB 6000 only)
5.21 TRIM (IRB 6000 only)
5.22 LOCATE and VISCTRL
Programming
5:9
5:9
5:12
5:13
5:15
5:15
5:18
5:19
5:21
5:21
5:22
5:23
554
5:25
5:26
5:27
5:27
5:27
5.27
5:28
S3
Programming
GRIPPER
Grippercontrol
Time/Input
status
VELOC
speed
Jump to
subprog.
Enable/
disable
Prog end
Request for
superior
control
Set/reset
register
COORD
Selection
of coord.
syst.
SUCTRL
Entry of
itary
UncondV
cond-jump
RETURN
INTER
Activate
TCP
Control of
digital output
Load prog,
block from
disk/Winchester
FRAME
External
FRAME
Activation
of displayed
system
*
EXTAX
SOFTS
Independent
rotating
external axes
SOFT SERVO
*
LOAD
GLUESCA
VISCTRL
Glue scaling
TRIM
MH/GL/SW
* If Vision is defined
AW only
* IRB 6000 only
Programming
S3
Programming
S3
5.1
GRIPPER
Gripper function
Menu: INSTRUCTION
Function: GRIPPER
Means:
A gripper, a welding gun or corresponding tool is operated during program execution.
Facts:
The gripper can assume two positions, GRIP or RELEASE. With gripper operations the robot
must remain still until the movement is completed. For this reason, a waiting time is given in
the instruction.
The gripper instruction is implemented in two versions; one for MH/GL/SW robots and one for
AW robots.
In the MH/GL/SW case, up to eight tools can be controlled and the release/grip movement for
the chosen gripper is explicitely programmed in the instruction. Only one gripper can be
controlled by one instruction. In this case the actual positions of the grippers does not matter
when programming. The connection of the grippers is described briefly below (see Outputs for
gripper) and in detail in the Installation S3.
In the AW case, only grippers can be controlled. The release/grip function is implicitely defined
by the actual positions of the grippers when programming,i.e the grippers must be positioned
manually befor the instruction is programmed. Both of the grippers can be controlled in one
instruction.
Executed:
During program execution, the gripper is positioned to the position decided when
programming. The robot then stands still until the waiting time has expired.
Procedure:
Instruction for gripper operation MH/GL/SW
Menu: INSTRUCTION
Function: GRIPPER
Programming
S3
RELEASE or
GRIP
Manual operation of the "GRIPPER" via the programming unit is done as shown below:
The function is divided in two cases:
Two grippers defined (default value)
The button for gripper 1 (grip, release) handles gripper one
The button for gripper 2 (grip, release) handles gripper two
Procedure:
Instruction for gripper operation (AW)
1
Set the gripper or the welding gun in the position required with gripper buttons on the
operators panel.
3 Specify if the waiting time for gripper opertaion is to be enterd with the numerical button
set (YES) or have its pre- programmed value 0.5 s (NO).
If NO is selected, the isntruction is now completed. Otherwise continue with point 4 below.
4
Specify the waiting time in the range 0.1 - 9.9 in seconds with one decimal.
The instruction is thereby completed.
Programming
S3
6
5.2
WAIT
Pause in program running
Menu: INSTRUCTION
Function: WAIT
Means:
The running of the program is interruped:
A predetermined time.
Until 1-8 digital inputs have assumed the required status.
Until 1-8 digital inputs have assumed the required status, or the supervision time has
expired.
Facts:
A waiting time can be determined in seconds with two decimals in the range 0 - 99.99 s.
The correct status before restart of program execution at each of the inputs included in the
condition can be 1 or 0.
If required, a maximum permitted time before restart can be set in complete seconds in the
range 0 - 320 s. A time of 60 s is preprogrammed. See Installation S3.
Used:
When program execution must be interrupted at a particular position in the program while
another machine, or the operator, performes some other operation.
Programming
S3
5.2.1
WAIT (TIME)
Procedure:
Instruction with waiting time
1. Select WATT under the INSTRUCTION menu.
2. Select TIME.
3. Specify the time 0.01 - 99.99 s.
The instruction is now complete.
5.2.2
WAIT (INPUT)
Instruction with input conditions
1. Select WAIT under the INSTRUCTION menu.
2. Select INPUT.
3. State the number of the first input in the condition.
4. Give the correct status for the first input.
5. Repeat the points 3 - 4 above for a new input (YES) or go to point 6 (NO).
6. Specify (with YES) if there is to be supervision of the maximum permitted waiting time
before restart of program execution. Continue in this case to point 7.
The instruction is otherwise now complete.
7. Specify the time 0 - 320 seconds. Press ENTER directly if the preprogrammed value
(normally 60 s) is to apply.
The instruction is now complete.
Programming
S3
8
5.3
OUTPUT
Change of the status of an output during program execution
Menu: INSTRUCTION
Function: OUTPUT
5.4
JUMP
Jump within the program
Menu: INSTRUCTION
Function: JUMP
Means:
A program execution can jump to another instruction uncondionaly or when one or more
conditions are fullfilled.
Facts:
Jumps can be made both forwards and backwards in the program
* Unconditionally.
Under 1-8 conditions each of which can be one of the following:
- One digital input is to be 1 or 0.
- One digital output is to be 1 or 0.
- The value in a number register 0 - 99 is to be either
- greater than (> )
- less then ( < )
- equal to (= )
or
- not equal to < - >
a reference value. ( <>)
Programming
S3
9
5.4.1
JUMP (unconditional)
Executed:
An unconditional jump is performed as followed:
1. Select JUMP under the INSTRUCTION menu.
2. Specify which instruction in the program is to be executed instead of that immediately
following.
3. Specify that there are no conditions for the jump with NO.
The instruction is complete.
5.4.2
JUMP (conditional)
Procedure:
Jump instruction with 1-8 conditions
1. Select JUMP under the INSTRUCTION menu.
2. Specify which instruction in the program is to be executed instead of that immediately
following when all conditions are satisfied.
3. Specify that conditions for the jump is to be set with YES.
4. Specify if the condition is to apply to either:
- A register, with REG.
- An input, with INPUT.
- An output, with OUTPUT.
- Search condition
Continue through the conditions selected (see "Facts", above) until the question CONTINUE? is
presented on the display.
5. Specify if several conditions are to be set for the jump (YES). Repeat in this case
points 3 and 4 for the next conditions.
If NO, the instruction is now concluded.
Programming
S3
10
5.4.3
JUMP (SEARCH)
Jump with search stop conditions
Search stop can be used as a jump condition. A jump can be programmed to take place when
the search stop is either active (one) or inactive (0). Through these the following program
execution can be controlled by the search result. See the example below.
Example: Main program
80 POS SEARCH
90 JUMP TO 110 IF
SEARCH = 0
100 CALL PROG 5
110 POS
In the program above, the robot searches for an object when instruction so is executed. If the
object is encountered SEARCH becomes = 1 and subprogram 5 is called. If however no object is
encountered during the search, SEARCH remains = 0 and the program call in the instruction
100 is omitted.
Further information about jump in program, see "Jump within the program".
If the robot contains extra digital outputs, the output SEARCH STOP can control
peripheral equipment. See Installation S3.
The instruction is now programmed and no further arguments can be added.
4. Press ENTER
5. Press YES
6. Press SEARCH
7. If the search stop is to be a jump condition press =1 otherwise press =0.
5.4.4
JUMP (N INPOS)
Jump if not in position
Means:
A conditional jump instruction which causes a jump in the program if the robot does not
reach the programmed position. No other conditions are permitted together with N INPOS.
Facts:
To use the function, soft servo must be and activated. See section 9.5.
The allowed position error can be chosen by specifying different zones. When using this
instruction the position of the robot must not be programmed with a FINE zone.
Programming
S3
11
Jump
if
incorrect
Function: JUMP
Function: VELOC
Means:
Definition of basic and maximum speeds for a number of instructions.
Facts:
The speed with which a movement is to be performed to a programmed position is built by
three different components:
An absolute basic speed with pre-programmed value 1000 mm/s.
A relative percentages speed specified for each individual instruction as a percentage of
the basic speed with pre-programmed value 0 %.
An absolute max. speed with pre-programmed value 2500 mm/s.
Programming
S3
12
Used:
When basic and maximum speeds are to be redefined (from their pre-programmed values).
Performed:
After definition of the speeds during program execution these apply until a new definition is
encountered in some program, irrespective of the number of program changes which have
occurred before.
Procedures:
1. Select VELCO under INSTRUCTION menu
2. Specify both basic and maximum speeds, even if only one of these is to be redefined.
/ | \ The speed of the external axes and robot may, when running in robot
/ \ coordinates, exceed the programmed speed.
5.6
CALL
Program exchange
Menu: INSTRUCTION
Function: CALL
Means:
The program execution continues in a subprogram, performed completely or module by module
before execution of the program interrupted is continued.
Facts:
Program change is performed via call. The program called can be performed when called an
optional number of times from 1 - 99 before return to the calling program is executed.
The number of the program to be called can be specified in the instruction, either:
Directly.
Indirectly via the value in a numberical register 0 - 119.
Used:
Generally, when program exchange is necessary during program execution.
Programming
S3
13
Programming
S3
14
5.7
RETURN
End of instruction sequence
Menu: INSTRUCTION
Function: RETURN
Means:
The last instruction in a program.
In a pattern program it is also the last instruction within a program module, see section 11.4.
Facts:
The instruction returns the program running to:
The calling program where the running continues with the first instruction after the
call when the program called is executed the number of times required.
Procedure:
Instruction for program end (or end of program module)
1. Select RETURN under the INSTRUCTION menu.
The instruction is then completed.
5.8
REG
Arithmetic handling
The values stored in the registers can be handled with arithmetics, i e be added, subtracted,
multiplied or divided, with each other or with constant values. The values can be positive as
well as negative.
Example:
Rl =
R2 + 5
(Rl, R2 and R3 are data registers)
R2 =
R3 + Rl
Rl =
R3 + 1
Division with 0 or overflow causes PROGRAM RUN ERROR 27.
Division is performed without respect to decimals, i e 8/5 = 2.7/1 = 1, and the decimal part is
adjusted. If the decimal part is 0.5 or greater it is adjusted upwards to the next unit value.
Range: -32 768
to
32 767
Programming
S3
15
5.8.1
REG (FETCH)
Accessing of register value
A robot register is given a value from an external source.
Menu: INSTRUCTION
Function: REG
11
12
13
14
31
32
33
34
Input
1-4
13-16
17-24
25-32
1
2
3
4
5.8.2
REG (LET)
Procedures:
Arithmetic handling of register values
Menu: INSTRUCTION
Function: REG
Programming
S3
16
5.8.3
REG (TRANSFER)
Transmission of register value during program execution
A robot register value is transmitted to an external.
Menu: INSTRUCTION
Function: REG
Analog
1
2
3
4
21
22
23
24
1-4
13-16
17-24
25-32
1
2
3
4
5.8.4
REG (LOC)
Robot positions
The different positions of the robot can be stored in the data registers (REG NO 0-119). The
three coordinate values (x, y and z) are stored in three consecutive registers. With the help of
register arithmetics (see above), displaced positions can be calculated for example.
The stored position is the location for the active TCP when the instruction is executed. The
Programming
S3
17
5.9
TCP
Activation of TCP during program execution
Menu: INSTRUCTION
Function: TCP
Previous definition of the TCP-selected is assumed
1. Select TCP under the INSTRUCTION menu.
2. Specify TCP number 0-19 for ordinary TCP. MH/GL/SW only: 20 - 29 are reserved for
room fixed TCP.
Note!
When the instruction is programmed the TCP selected is also activated.
Activation of an incorrect TCP wQl cause Hie robot to perform unintended motions.
When the TCP instruction is executed during program execution, the internal representation of
the TCP position will change but the TCP instruction itself will cause any robot motion. The
first position instruction after the TCP instruction, however, will move the robot using the new
TCP to the programmed position.
Please note, that if a path is programmed with zones, no comerpath will be generated after the
TCP instruction but the robot will move directly to the following position with the new TCP
activated. See section 3.6. To avoid problems, the TCP instruction should be executed after a
POS FINE instruction, i.e. in a well defined position.
Warning text for TCP
In certain circumstances when editing and interchanging programs, there is an increased risk
that an incorrect TCP is active. A warning text is presented on the programming unit to
indicate that an incorrect TCP may be active.
The warning text is obtained with execution of the program after the following operations if a
TCP instruction has not been executed before the first POS instruction.
* Exchange of active instruction during editing.
* Exchange of active TCP during manual operation.
* Exchange of active program during editing.
* Exchange of active program during system intialization.
* Exchange of active program during CLEAR.
Programming
S3
18
5.10
INTER
Interrupt in the program execution via direct-acting inputs
Menu: INSTRUCTION
Function: INTER
Means:
Program execution can be interrupted with the help of digital signals from peripheral
equipment via direct-acting inputs. These interrupts can be controlled to affect or not affect the
program running during different stages of the work cycle.
Facts:
Interrupt can be performed in one of the following ways:
Current instruction interrupted and the next instruction is begun.
Program stop when the current instruction is performed.
Immediate program stop.
Jump to one of the subprograms 1-5 when the current instruction is executed.
Immediate jump to one of the subprograms 1-5.
A small program example is shown below:
60 DISABLE INTERRUPT
Assume that input JUMP TO PROGRAM 5 is connected to the peripheral equipment. If the
input is then set to 1, the program execution is not affected as the interrupt request is not
registered by the robot.
250 ENABLE INTERRUPT
When the signal is set to 1 before instruction 250 is entered, the robot is again
unaffected by the signal because the signal must be set to 1 after instruction 250 is
executed.
The following happens however when JUMP TO PROGRAM 5 is set to 1 after instruction 250
has been executed:
1. The instruction under execution, e.g. instruction 340, is completed.
2. Subprogram 5 is called and executed.
Pmgramniing
S3
19
Programming
20
5.11
COORD
Change of coordinate system for programmed execution
Menu: INSTRUCTION
Function: COORD
5.12
GETS
An instruction for program loading in a robot program is prepared as follows:
Programmed loading of program block
Menu: INSTRUCTION
Function: GET B
S3
21
5.13
COM
Program stop with comments
Menu: INSTRUCTION
Function: COM
Means:
Comments can be entered in the program using the programming unit. When the optional
function "Program Printout" is provided , a comment can be inserted in the program from the
printer.
Facts:
The comments in the program, with associated program stop can consist of up to 72 ASCII code
characters, including spaces, read in from a keyboard or 24 characters read in from the
programming unit.
Used:
The commentary in the program with associated program stop is used in program sequences in
which it is necessary to be able, simultaneously, to:
Stop program execution.
Receive a readout on a monitor or on the programming unit, or a printout on a printer
indicating why the robot is at standstill. Even without program stop, the comment
takes time to present. Comments may therefor not be suitable in all situations.
Executed:
When a commentary instruction with associated program stop is performed, the robot stops
and the commentary is presented. If the program stop is not used, comments are presented on
the display and monitor when the instruction with comment is executed, and remains untill
the next comment is presented.
Procedure:
Instruction with comments and associated program stop (from keyboard)
1. Select COM under the INSTRUCTION menu.
2. Select YES on the question "FROM TERMINAL?' if an external keyboard is to be used.
3. Specify whether program stop is to be associated with the commentary, or not.
4. Enter the comments from the keyboard, with up to 72 characters including spaces.
5. Make a carriage return on the keyboard.
10 STOP (*COMMENT*)
ABCDEF
CHIJKL
MNOPQR STUVWX
Instruction with comments and associated program stop (from programming unit)
1. Select COM under the INSTRUCTION menu.
2. Select NO on the question "FROM TERMINAL?" if the programming unit is to be used.
3. Specify whether program stop is to be associated with the commentary, or not.
4. Enter the comments from the programming unit, according to the figure below.
5. Enter "." when the comment is completed. The text string is otherwise concluded
automatically after 24 characters "-" for erasure.
Entry is performed with the help of the multi-function buttons and numbers. To enter, for
example, a P, first press the button F3 and then "4".
* # is available but does not appear.
Programming
S3
22
5.14
SUCTRL
SUCTRL, request for superior computer control
The function SUCTRL is used when a programmed request for superior computer control is to
be sent to the SC. When the instruction is executed during programmed execution, the robot
system concerned will send a spontaneous status message to the S.C. The robot is then
prepared to react immediately on order from the S.C.
If stop is programmed, a stop-command must be given from the S.C. before a start of program
execution can be requested again. When the robot is in the instruction SUCTRL before a STOP
command is given from the S.C. the programming unit is blocked. It is possible to execute
commands from the S.C.
If required, the request for superior control can be cancelled manually by means of a program
stop via the programming unit. In addition a request for superior control can also be cancelled
by a program stop via an digital input.
Program the function in accordance with the following:
1. Press the function control button INSTR
2. Press the function button SCAN three times.
3. Press the function button SUCTRL.
4. If the robot is to continue to execute without halting, press YES. If it is to stop and await a
STOP command from the S.C, press NO.
5. If a register value is to be sent to the S.C, press REG NO and enter the required register
number (0-119)
The instruction SUCTRL is now completely programmed and no further arguments can be
added.
Programming
S3
23
5.15
FRAME/FRAME DEFINE
Activation of program displacement
Function: FRAME
Menu: INSTRUCTION
1. Select FRAME under the INSTRUCTION menu.
2. Specify which of the program displacements 1 - 5 is to be activated.
3. Select SET.
Note that the frame displacement and a reference point displacement can be active
simultaneously. In such a case, the frame displacement is always calculated first, and
consequently, the reference point displacement will be calculated and superpositioned upon the
frame displacement, according to the figure below.
The pattern is
^ X programmed h iere!
The program is
executed here after
instruction 100!
This displacement
is activated in
INSTRUCTION 50
10
"50 REFP
100 FRAME
See section 3.9.2 for a more detailed description of the FRAME function.
See section 6.14 for programmed actovation of desireed FRAME.
See section 2.6 for manual definition of FRAME.
See section 10.7 for automatic definition of FRAME.
Programming
S3
24
5.16
SOFTS (MH/GL/SW only)
Instruction programming
Any set of defined softness or normal speed control, can be activated manually or during
program execution. An attempt to execute a SOFT SERVO instruction with an undefined
number will cause the program execution to stop and disply an error message C'504 PROGRAM
RUN ERROR 70").
A SOFT SERVO instruction is programmed as follows:
1. Select SOFTS under the INSTRUCTION menu.
2. Specify desired set of soft servo. Number 0 provides normal speed control on all axes.
Position instructions executed while SOFT SERVO is activated should not be FINE.
All nine sets of softness percentages form a part of the system parameters, possible to store on
a disk for later use.
for detailed information, see section 3.8.
See section 9.5 for definition of softness percentage.
| \ When usmg the function Soft Servo, the robot speed and path are changedNote. In order to prevent abrupt motions when activating and deactivating SOFT SERVO,
a WAIT instruction can be programmed before and after the SOFT SERVO sequence.
S3
Programming
25
Programming
S3
26
5.18
EXTFRAM (AW only)
The instruction makes it possible to program interpolated movement between the robot and one
external axis.
Ses section 12.6.5 for detailed description and how to program.
5.19
GLUE SCA (MH/GL/SW only)
Used for gluing only. See chapter 13.
5.20
LOAD (1KB 6000 only)
The instruction makes it possible to program differernt wrist loads. Thus the prefrmance of the
robot can be optimized to the actual load in order to reduce cycle time. See 11.8 for detailed
information. 20 different loads can be programmed.
1. Selected LOAD under the instruction menue.
2. Specify LOAD number 0-19.
LOAD 0 is defined as a system parameter, see Installation S3.
LOAD 1-19 is denned according to section 9.5.
The defined LOAD 0 values are stored as systemparameters and LOAD 1-19 values as user
parameters like TCP.
5.21
TRIM (1KB 6000 only)
To be able to optimize the robot's 'movement into FINE points in a movement, a function
TRIM is available. The TRIM function makes it possible to adjust the movement between
two FINE points, according to mod. A described in Chapter 4, in the optimum manner. As well
as mode A, it is only available for 1KB 6000.
The function is programmed as an ordinary instruction and can change the servo position
control with 100 scale divisions.
Preselected value is 0, the same as when disconnected. The TRIM factor is a part of the robot
program and will be saved on a disk or superiorur computer together with the robot program.
All fine points programmed according to a TRIM instruction will be using the programmed
factor until a new TRIM instruction is programmed.
The current TRIM factor is displayed out on the topline on an optional monitor when the
program stops.
The same information is displayed on the programming unit by pressing the SHIFT key.
5.22
LOCATE andVISCTKL
The instructions makes it possible to program image processing instructions. For detailed
information of the function and how to program, see OptiMaster User's manual.
Programming
S3
27
!i
AW ONLY
=!
fl
|;'J"
JUMP
SCAN |
1^
S3
Programming
28
CE
ENTER
CE
ENTER
NO, PAGE 30
YES, PAGE 30
S3
Programming
29
ENTER
r~ir~Kr~i
WATTING TIME 30 SEK
YES, PAGE 29
Max 8 inputs
S3
Prograi
30
=2
INVERT PULSE
l
140 INVERT OUTP 5
II 1
S3
Programming
31
CE
ENTER
INSTRUCTION NO 710
CONDITION?
YES
NO
SCAN
REG, PAGE 35
OUTPUT, PAGE 34
INPUT, PAGE 33
140JUMPTO710
IFSEARCH
140JUMPTO710
IFSEARCH=1
YES
Programming
140JUMPTO710
IFSEARCH
NO
32
S3
i
i
YES
| CONTINUE?
rr
Programming
NO
MM
ITJH LJ
YES
|
NO
S3
33
ni
14OJUMPTO710 IF OUTP 9 = 1
YES
1 CONTINUE?
9 ^
pi
NO
|%
140JUMPTO710 IFOUTP9 = 0
i mmmmm
H
CONTINUE?
YES
II
NO
i|
S3
34
REGISTER NO 3
NOT EQUAL TO
GREATER THAN
Progrn-mmi-ng
S3
35
FINE
CONER1 CONER2
Prograi
S3
36
VELOCITY ( M M / S )
SCAN
SCAN
CE
ENTER
CE
ENTER
VELOCITY 300 M M / S
MAXVEL.CMM/S)
MAX VELOCITYIOOO MM / S
Programming
140 RETURN
S3
37
140
GRIPPER WATT OUTPUT JUMP SCAN
140
VELOC CALL RETURN REG SCAN
Programming
S3
38
Programming
S3
39
8888888888!
140
VELOC CALL RETURN
FETCH
14
CE
3 J 140
4 b
8
- 0
LOC
ENTERj
11
1
|
11 PORT NO =
CE
gSw:<w:*:<iSSS-:'C;M;>:*:*:i.1':'
~m'""' 11
PORT* lla
12
TRANSF
j REG NO =
LET
REG SCAN
i ffl
i1
ENTER
11
REGISTER NO 5
Programming
40
S3
REG
-REG
VALUE=1
10SETR5=l
10 SET R5 = -R2
ADD
10
SUB
MUL
DIV
10SETR5 = -R2
CE
REG NO =
ENTER
VALUE
DIV
10
REG NO:
REG
REG NO = 2
10SETR5
ADD
SUB
MUL
CE
ENTER
REG NO = 3
10SETR5 = -R2-R3
ADD, PAGE 42
DIV, PAGE 42
MUL, PAGE 42
VALUE=3
S3
Programming
41
S3
42
POS, PAGE 40
1
140
CE
REG NO =
ENTER
REG NO = 5
S3
Programming
43
| 140
JGRIPPER
it:
IN
II
i
140
VELOC CALL
140
TCP
INTER
Programming
44
COORD GETB
SCAN
S3
INTER, PAGE 44
Programming
YES
NO
S3
45
COORD, PAGE 44
Programming
S3
46
IF NO VALUE IS ENTERED,
ONLY PROGRAM 2 WILL
BE ERASED
S3
Programming'
47
1 140
\ VELOC CALL RETURN REG
1 IH
SCAN
I 140
1 TCP
INTER
i i
COORD
GETB
SCAN
140
COM
Programming
SUCTRL
FRAME
SCAN
S3
48
Programming
S3
49
140 FRAME 3
irTTTl
Programming
1
%
S3
50
SCAN 4 TIMES
EXTAX
SOFTS GLUESCAL
S3
Programming
51
SCAN 5 TIMES
I 29LOAlDNOTi)Iimi:S
! LOADNO=
CE ENTER
Q 1 m,I
Programming
S3
52
Programming
S3
53
Programming
S3
54
6.
Page
6.1
6.2
6.3
6.4
6:5
6:5
6:5
6:6
6.5
6.6
6.7
6.8
6.9
6.10
6.11
6.12
6.13
6.14
6.15
6.16
6.17
6.18
Programming
V%
SAME
ZONE
SEARCH
6.4.1 SEARCH (dist)
6.4.2 SEARCH (dir)
6.4.3 SEARCH (auto)
WEAVING
REFP
VCTRL
CONTOUR
CORVEC
POSPOS
STOPOS
POSLOC
CIRCLE
FRAME
TIME
PALLET
RELTOOL
6.17.1RELTOOL (X, Y, Z)
6.17.2RELTOOL (via REG)
EXTFRAME
6:8
6:12
6:12
6:13
6:14
6:14
6:16
6:17
6:18
6:18
6:19
6:19
6:21
6:23
S3
Programming
S3
i
1
1
SAME
Pos.-speed
Arg. ace. to
WEAVE
Weaving
I
CORVEC
REFP
Ref. point
ON/OFF
POS POS
CIRCLE
Circle
movement
ZONE
SEARCH
Fine point
Searching
VCTRL
CONTOUR
Speed
control
I
STO POS
SCAN
Pos. to
stored loc.
TIME
SCAN
Pos.-time
Pallet pos.
MH/GL/SW
POS LOC
PALLET
SCAN
Contour
tracing
Automatic
correction of
FRAME
SCAN
Store location
FRAME
POSITIONING
Correction
movement
1
RELTOOL
SCAN
Pos. relative
actual pos.
Programming
S3
Programming
S3
6. POSITIONING
Programming of position
The Menu button gives the instruction
1. Position the tool to the required position with the joy stick
2. Press the POSITION menu button. The position is programmed and the percentage
speed which applies is shown.
If the percentage speed is not to be changed omit the next procedure. If the position is only
to be a PATH point, the programming of the position is now complete.
Note
When 10 -12 axes are present the system generates two instructions, according to the
following examle:
240 AXES 10 -12 POS
Extra instruction
250 POS V = 100% PATH
Normal instruction
6.1
V%
Change of percentage velocity
1. Select V % in the menu
2. Specify the percentage speed 0-799.9 %.
6.2
SAME
If the complete instruction is to be repeated in a new position, select SAME in the menu
and conclude in this way the programming of the position.
In other cases, the definition of the zero zone is described in the next procedure whereas
other arguments described briefly under "Otherwise".
6.3
ZONES
There are four alternatives for programming a zone. The values for the alternatives are
defined as system parameters. The default zone alternative for an instruction is PATH. The
other alternatives are programmed by using the ZONE button:
Three alternatives will appear:
ZONE
FINE
CORNER 1 CORNER2
The text on the display shows which alternative is active:
100 POS V = 100 % PATH
100 POS V = 100 % FINE
100 POS V = 100 % Cl
100 POS V = 100 % C2
Programming
S3
Default value
-2
Note! ("-") indicates velocity dependent zone size
15
-100
2
Use of zones
PATH
CORNER1
CORNER2
FINE
6.4 SEARCH
See section 10.3 for more detailed description.
If several sensors are to be used press YES and repeat the points 4-6 for the new
sensor. Otherwise press NO and continue with point 9.
9. If a delayed search stop is required, press the function button YES. Otherwise press
NO.
The argument SEARCH is now programmed. If required, more arguments can be added to
the instruction.
Programming
S3
2 Press SEARCH
3 Press DIR
4 Enter the number of the sensor (1-16) with the numerical button set
5 Press ENTER. If the question "STOP CONDITIONS=" is shown on the lower line of the
display, continue with point 6. Otherwise proceed to point 8.
6 Specify the search stop condition, as a percentage (0-100) of the maximum signal range
with the numerical button set. If the current signal level is to be a stop value, run the
robot with the joy stick to the position where the sensor gives the required signal.
7 Press ENTER.
8 If more sensors are to be used, press YES and repeat the points 4-6 for the new sensor.
Otherwise press NO and continue with point 9.
9 If a detailed search stop is required, press function button YES. Otherwise press NO.
The SEARCH argument is now programmed completely. If required, more arguments can
be added to the instruction.
2 Press SEARCH.
3 Press AUTO.
4 Specify the number of the sensor (1-16) with the numerical keyboard.
5 Press ENTER.
6 Answer the question "MORE SENSORS?". If YES, return to point 4. Otherwise,
continue as below.
7 Answer the question "DELAY?". The instruction is now complete.
The resulting instruction looks as the example below:
140 POS V = 100% AUTOSEARCH SI
where "SI" is the sensor used.
Programming
S3
Function: WEAVE
Means:
A periodic recalling transverse movement (weaving), stored in a separate sub-program, the
weaving program is superimposed on a movement to a programmed position, the main
movement.
Facts:
The weaving movement is a combination of:
The main movement between the start point and the end point, in the ordinary
program.
A superimposed periodic weaving movement, in a separate weaving subprogram.
The example below shows how each of the programs contributes with one part of the
resulting weaving movement.
Example
The movement below is performed during running of subprogram 10, with the help of
weaving subprogram 200, where the periodic weaving movement is programmed.
20,30
10
40,50
Subprogram 10
90 POS V = 10% WEAVING PROG 200 H = 100%
Programming
S3
10-^
20 30
\-
-f
\- - # - End position
40 50
40 50
Subprogram 10
vc
Subprogram 200
10 POS V = 1
V
30POSV =
Vm = The percentage speed for the main movement in subprogram 10, instruction 90. (An
increase of the percent value results in a smaller number of weavings on a specified
distance. The weaving pattern is "streched out" in the direction of the main movement and
keeps it's proportions.)
Before increase of Vm
After increase of Vm
Vp = The percentage speed in the weaving program 200 for all movements. (An increase of
the percent value results in faster movements sideways. On the other hand, the tool will
remain in the end positions during the same time as before. The weaving pattern is
"shortened" in the direction of the main movement, but will not keep it's proportions.)
Before increase of V
After increase of V
Programming
S3
After increase of V,
Weaving is performed in basic coordinates, i.e. the tool does not change orientation. It
means also that the same movement pattern, performed in a new direction, requires a
special weaving program. See the example below:
1
10
10
20
^ ^
30
20
20
Main movement
Result
20,30
10
Movement
20
3-*"
30
AA
20 < ^
l b ^ 30
20 < ^
30
30
w
10
20
10,40
10
10
40
20
30
40
go
Weaving program
10POSV =
100%
10POSV =
100%
10POSV =
100%
10POSV =
100%
20POSV =
100%
20POSV =
100%
20POSV =
100%
20 WATT 1 S
30 RETURN
30 RETURN
100%
30POSV =
100%
30POSV =
40 RETURN
40 WATT 1 S
50 RETURN
Prngra-nmtiiTi |
10
S3
Note.
Weaving can not be combined with movements of an external axis.
External axis can not be used in the weaving pattern.
Procedure:
The procedure is a direct continuation of positioning programming. Proceed in accordance
with the following:
1. Select the WEAVE function.
2. State which weaving program 1 -9999 is to be used.
3. State the adjustment factor 0.1 -100% for the basic speed of the weaving program.
11
S3
6.6 REFP
See section 3.9.1 for more detailed description.
and 3.4.1 for parameter DHANDCK.
Program the REFP (reference point) instruction, as follows:
1. Check that the reference point is not active.
2. Program the position (program segment) parallel to desired positions.
3. Program the REFPOINT ON instruction immediately before the first position to be
displaced.
4. Program the REFPOINT OFF instruction immediately after the last position to be
displaced.
Note
The reference point is not activated/deactivated until the REFPOINT ON/OFF instruction
is executed. Use a FINE position before REFPOINT is activated.
Reference point can be used alsot with an external axis. In this case you do not achieve a
parallel displacement but:
a rotating external axis moves a number of degrees from it's current starting position.
a linear external axis moves a number of millimeters from it's starting position.
6.7VELCTRL
See section 10.4 for more detailed description.
Speed control is programmed as follows:
1 Program a FINE position instruction.
2 Press VELCTRL
3 Enter the number of the sensor (1-16) with the numerical button set
4 Press the function button ENTER. If the question THRESHOLD VALUE=" is
presented on the lower line of the display, go directly to point 7. Otherwise go to point 5.
5 Specifiy the speed as a percentage (0-100) of the programmed speed with the
numerical button set.
6 Press ENTER.
7 Specifiy with the numerical button set the required threshold value as a percentage (0100) of the maximum signal range of the sensor. If the current signal level is to be a
threshold or maximum value, run the robot with the joy stick to the position where the
sensor gives the required signal.
8 Press ENTER.
The argument is now programmed. If required, further arguments can be added to the
instruction.
Programming
12
S3
6.8 CONTOUR
See section 10.5 for more detailed description.
Contour tracing is programmed as follows.
1 Program a FINE position instruction.
2 Press SCAN
3 Press CONTOUR
4 Enter the number of the sensor (1-16) with the numerical button set
5 Press ENTER. If the question "BIAS = "is shown on the lower line of the display,
continue to point 6. Otherwise go to point 8 directly
6 Specify with the numerical button set the required bias as a percentage (0-100) of the
maximum signal range of the sensor. If the current signal level is to be the bias, run the
robot with the joy stick to the position at which the sensor gives the required signal
before the value is programmed.
7 Press ENTER
8 If further sensors are to be used press YES and repeat points 4-6 for the new
sensor. Otherwise press NO.
The argument CONTOUR is now programmed. If required, further arguments can be
added to the instruction.
Note
This instruction is affected by the use of the speed correction buttons +%, -%
Programming
13
S3
6.9CORVEC
See section 10.6 for more detailed description.
A correction movement is programmed as follows.
1 Check that the relevant sensor is defined.
2 Press SCAN twice
3 Press COR VEC
4 Specify the number of the sensor (1-16) for which the correction movement is to be
programmed with the numerical button set
5 Press ENTER
6 Run the robot with the joystick a short distance in the direction required
7 Press END POS
Note
If the operator should release the enabeling device during running with the joy
stick before finishing the sequence the programming of this function has to be
started from the beginning.
If the current percent value V = .... % on the upper line of the display is to be changed for
the correction separately, execute the points 7 and 8 below. Otherwise omit these.
8 Specify with the numerical button set the required percentage value for the correction
(0.1-799.9)
9 Press ENTER.
Programming
14
S3
From above
"
Programming
15
S3
Programming
16
S3
With POS LOC a positioning instruction is programmed in such a way that the robot,
during program execution, will move to a stored location i e with the current tool
orientation. The location can be provided with an offset if required.
1. Select POS LOC under the POSITIONING menu.
2. The system now asks: VIA REG? Answer with YES if you wish to name the register
which contains the number of the position register you wish to use. Answer NO if you
wish to give the number of the position register directly.
3. Specify the required register number (0-99)
4. Specify if a displacement (OFFSET) is to be added. If the answer is NO, the argument is
entered and ready.
5. The offset, can be given in one of the ways described here:
A. Enter the x-, y- and z-values in basic coordinates in mm with one decimal and with the
correct sign. If any of the values is to be 0, press ENTER directly.
B Run the tool the distance required in the direction required and then press END POS.
C
Select VIA REG
Define the scale factor (0.1 - 20, scale factor 1.0 means 1 mm or 0.1 inch).
Define the data register which contains the required x- displacement.
Define the data register which contains the required y- displacement.
Define the data register which contains the required z- displacement.
The latter procedure thus allows entry of displacements from data registers.
Programming
17
S3
Function: CIRCLE
Means:
The tool moves in a circular arc if the program is executing in RECT or MODRECT
coordinates.
2 = CIRCLE POINT
Facts:
A circular arc < 180 degrees is built up of two standard points and an intermediate circle
point. For circular arcs, equal to or greater than 180 degrees, two circular arcs with the
same radius must be used in succession (the end point for the first becomes the starting
point of the second).
6.14 FRAME
Activation of program displacement
Menu: INSTRUCTION
Function: FRAME
Programming
18
S3
6.15 TIME
Definition of positioning time
Menu: POSITIONING
Function: TIME
6.16 PALLET
(MH/ASM and GLUE)
Means:
A pallet (matrix) is defined by specifying three of the corner points. The robot is then
automatically positioned to the different points in the pallet. Every time the PALLETinstruction is executed the positioning will be made to the next element in the pallet.
Facts:
The pallet is defined by specifying the size, number of rows and columns, and by manually
moving the robot to three corner points. A position above the pallet can also be defined by
giving the fourth position. This position specifies a displacement from the first point. This
displacement can then be used for all points to define a fetch position above the pallet. 10
pallets can be defined with a size of up to 99x99 elements in each. Also single columns can
be defined.
The pallets can be stored on floppy disc together with the other system data.
The pallets can be placed anywhere in the working area and they need not be rectangular.
Actual position in the pallet is pointed out by two ordinary registers. These are
automatically updated when a PALLET- instruction is executed but can also be set by the
REGister- instructioin.
The positioning can be done both to a position above the pallet and to the real pallet
position.
When the pallet is defined the orientation of the tool (not the wrist) is stored. This has the
effect that a multigrip with different TCPs can be used if the BASEPoints are defined.
Used:
When any type of pallet or matrix-pattern is used.
Programming
19
S3
Funktion: PALLET
|x|
Programming
[x\
a
a
Check hole
20
S3
100SETRl=l
110SETR2=l
120SETR3=l
130 SET R4 = 1
140 JUMP TO 300 IF Rl=l * R2=4
150 JUMP TO 300 IF Rl=6 * R2=4
160 POS V=100% PALLET 1 Rl R2 OFFSET
170 POS V=50% FIN PALLET 1R3 R4
180 GRIP 1 WATT 0.3 S
190 POS V=50% RELTOOL DX= - 50
200 CALL PROG11
210 JUMP TO 140 IF R2<8
220 !
Initiate
Initiate
Initiate
Initiate
Jump if hole 1
Jump if hole 2
Above pallet
In pallet
Grip
50 mm above pallet
Assemble
Continue until all details are used.
Change pallet....
Control hole
New column
Jump if not end of row
New row
6.17 RELTOOL
Tool-relative displacement (MH/GL/SW)
Means:
The next goal position is calculated relative to the present position and orientation of the
tool and based on the arguments given in the instruction or in the referred registers.
Facts:
The arguments are given as elementary translations and rotations in the rectangular hand
or tool coordinate system defined in the chapter 3.2 'Coordinate systems'. If the active TCP
does not have a corresponding basepoint (BASEP) the movement is calculated in the hand
coordinate system.
The movements (arguments) resemble the joystick movements. No more than six
arguments can be given in one instruction.
The translations (DX, DY, DZ) and rotations (RX, RY, RZ using the 'right hand rule') are
combined based on the initial orientation of the tool. (For example RX is a rotation about
x"-axis.) The resulting position is the result of this combination and the initial position.
Additional POSITIONING arguments (V(%), FINE, TIME, SEARCH, CONTOUR and
VELCTRL) can be given with RELTOOL.
The translational arguments are given in mm or inches and the rotational in degrees.
Programming
21
S3
Function: RELTOOL
1.
2.
Specify that the arguments are given in the instruction by pressing NO.
3.
4.
5.
Push 'BREAK.
6.
Programming
22
S3
FunctionrRELTOOL
Programming
23
S3
V(%)
SAME
VELOCITY 20%
SAME
ZONE SEARCH
SCAN
f
PREVIOUS
INSTRUCTION:
90 POS
V=100% FINE
100POS V=100%FINE
FINE
! 100POS
CORNER1
CORNER2
v= 100% FINE
1 V(%)
|n
msss&
MM*
i 100 POS
v =100% C l
100 POS
V(%)
V(%)
ZONE
v= 100% C2
SEARCH
SCAN
1 i i
S3
SAME ZONE
SEARCH SCATS
AUTO
D1K
SEE PAGE 26
SEE PAGE 27
100POS V=.100%FINE
MORE SENSORS?
YES
100POS V- 100%FINE
SEARCH SCAN
If an anlog or digital multibitsensor is used, the system asks for a stop condition before this is
shown on the display. The answer is to be entered in percent of the maximum sensor voltage.
** The stop condition for the current multibitsensor is displayed when the instruction is
completed (e.g. S6/45%).
Programming
25
S3
SEARCH/DIR
SENSOR NO 6
**
DIBSEARCH DELAY SG
ZONE
SEARCH
DIRSEARCH DELAY S6
ZONE
SCAN
SEARCH
SCAN
If an analog or digital multibitsensor is used, the system asks for a stop condition
before this is shown on the display. The answer is to be enterde in percent of the
sensor voltage.
** The stop condition for the current multibitsensor is displayed when the instruction is
completed (e.g. S6/45%)
Programming
26
S3
SEARCH/AUTO
100 POS V= 100% FINE
Programming
27
S3
SCAN
100POS V = 20%FINE
REFP
VELCTRL CONTOUR
SCAN
100POS V = 20%FINE
\ 100POS V = 20%
REFPOINTON
100 POS V = 20 %
Programming
28
REFPOINT OFF
S3
100POS V = 100%FINE
WEAVE
4
A
3
b
REFP
VELCTRL
CONTOUR
SCAN
UK
1tmmm
SENSOR N O - 2
KNTKK
Up
Programming
29
S3
100POS V = 100%FINE
REFP
VELCTRL CONTOUR
SCAN
an
100POS V = 100%FINE
ZONE
SEARCH
SCAN
If analog or digital multibitsensor is used, the system asks for a bias before this is
shown on the display. The answer is to be entered in percent of the maximum sensor
voltage.lt is displayed when the instruction is completed (e.g. S9/40%)
Programming
30
S3
SCAN 2 TIMES
100POS V= 100%PATH
COR.VEC
POSPOS
STOPOS
POSLOC
SCAN
100POS V = 100%PATH
4
7
-
6
9
POSITION NO=
|
CE ENTER
ft&gN8&Siffi8SPDfl&tSf!i
POSITION NO = 7
SENSOR NO =9
100POS V= 100%PATH
100POS V=100%PATH
POSmON7
VELOCITY (%)=
100POS V= 10%
Programming
VECTORS9
31
S3
100POS V = 60%FINE
COR.VEC POSPOS STOPOS POSLOC
SCAN
100POS V = 60%FINE
100POS V = 60%FINE
100POS V = 60%FINE
POSITION NO
POSITION NO= 5
100POS V=60%
FINEPOS1TION5
32
S3
_JS'^
SEE PAGE 36
ENTER
ZONE
SEARCH
n II
^SCAN
Programming
SEARCH
SCAN
33
S3
100POSV = 60%FINE
VECTOR POSPOS
1 2
4
7
-
8
0
STOPOS
POSLOC
SCAN
3
LOCATION NO =
CE
pal mmmm
LOCATION NO =5
ENTER ;
i|
REG NO = 10
YES
OFFSET?
NO
SEEPAGE 33
SEE PAGE 33
V%
ZONE
SEARCH
SCAN
Programming
ZONE
SEARCH SCAN
34
S3
SEE PAGE 36
X=5
Y=4
ENTER
Z=3
v%
ZONE SJSAKCH
- > SCAN
I
i OFFSET X=5 Y=4 Z=3
Ij V%
ZONE SEARCH
SCAN
BffHSB55388SHB5i
1 P
Programming
35
S3
=100 % POSITION 1
VALUE
VIA KEG
AUTO
ZREG NO = 3
Prograi
36
SEARCH SCAN
S3
Pmgr
37
S3
140POSV=100 %PATH
PALLET REL TOOL SCAN
140POSV=100 %PATH
PALLET NO=1
140POSV=100 %PATH
140POSV=100 %PATH
Programming
38
S3
7 Automatic menu
Automatic menu
Section
Page
7.1-4
7.5
7.6
7.7
7:5
7:5
7:6
7:6
Programming
7.8
7:8
7:9
S3
7 Automatic menu
Programming
S3
7 Automatic menu
PROGST
ConEprogr
execution
instruction
wiseprogr.
execution
CORVST
Displacement of progr.
pos
Check of
correction
movem
RESYNC
MOVREST
Resynchronization of
sync, axes
Restart after
interrupt
Exec, of pos.
instr. backwards
Simulation
ofWATT
condition
ALIGN
Alignment
of tool or home
position
PROGST
Cont progr.
execution
INSST
Instruction
wise progr.
execution
CORVST
Displacement of progr.
pos
(Jheck ot
correction
movem
RESYNC
MOVREST
Resynchronization of
sync, axes
Restart after
interrupt
Programming
Exec, of pos.
instr. backwards
Simulation
ofWAIT
condition
AW REST
Arcweld
Restart
Alignment
of external axes or
homeposition
S3
7 Automatic menu
Pri>grnTTrmiTig
S3
7 Automatic menu
7.1-4
PROG ST., INS ST., BWD., SIM
Menu: AUTOMATIC
PROGST
INSST
BWD
SIM
Program start (PROG ST, INS ST, EXEC BW, AW REST) means that the robot
will start moving at high speed.
Make sure nobody remains inside the robot working range before starting the
robot and make sure all safety equipment is functioning correctly.
7.5
DISPL
Definition of position by reading in during program execution.
Menu: AUTOMATIC
Function: DISPL
1.
2.
3.
4.
Select the AUTOMATIC menu again if the displacement is to be executed again with this
function by:
A position which is before the newly adjusted position in the same program.
A position within another program.
Programming
S3
7 Automatic menu
7.6
CORVST
Execution of correction movement
Menu: AUTOMATIC
Function: CORV ST
The CORV ST function is used when the correction movement for a specific sensor is to be
checked. The check is performed according to the following:
1. Call the vector instruction required, see program selection and searching within the
program.
2. Press AUTO
3. Press SCAN
4. Press CORVST
When point 4 as above is performed, the robot will move in the direction programmed for
the activated sensor (Activation takes place when the desired instruction is executed).
Note. If the sensor concerned is mounted on the robot in accordance with the sensor data entered
(see chapter 9.5), the direction of the robot orientation is affected when the button CORV
ST is pressed.
To enable the function the robot must be in AUTO with no program execution.
7.7
ALIGN
7.7.1
Tool direction (MH/GL/SW only)
Menu: AUTOMATIC
Function: ALIGN
Means:
The tool is rotated to desired orientation while TCP stand still. With BASE mode the x"axis of tool (see chapter 3.2.3) is aligned with one axis of the rectangular basic coordinate
system.
Facts:
Ten different orientations of (0-9) can be stored and used afterwards. For practical reasons
the tool should be rotated at first with a joystick close to the desired orientation. If the
overall rotation will be wider than 20 degrees in the BASE mode and 45 degrees in the
FETCH mode, an error message is displayed.
Because ALIGN depends excessively on the definition of the TCP, it should be checked
before ALIGN is used at first time with a TCP.
The TCP can be changed between storing and reusing an orientation.
Stored orientations are transferred to and from diskette with other system parameters.
Used:
When a specific, or repeated orientation is used in a robot program. Thus it is used during
teaching of positions.
Programming
S3
7 Automatic menu
Executed:
Only if the desired rotation is not wider than the limits above and the operator starts the
movement.
Procedures:
Storing an orientation (STORE)
1. Select ALIGN under the AUTOMATIC menu.
2. Select STORE.
3. Enter the number of the orientation.
Reusing a stored orientation (FETCH)
1. Select ALIGN under the AUTOMATIC menu.
2. Select FETCH.
3. Enter the number of the orientation.
4. Start align movement.
The robot will move with slow speed and "ROBOT ALIGNED" will be displayed.
Aligning the tool to a base coordinate system axis. (BASE)
1. Select ALIGN under the AUTOMATIC menu.
2. Select BASE.
3. Start align movement.
The robot will move with slow speed and "ROBOT ALIGNED" will be displayed.
7.7.2
External axes, (AW only)
Menu: AUTOMATIC
Function: ALIGN
Programming
S3
7 Automatic menu
7.7.3
HOMEPOS
Menu: AUTOMATIC
Function: ALIGN
7.8
AW REST (AW only)
Arcweld restart
The function AW REST facilitates restarting of the welding process after an interruption.
To make the welding seam as good as possible, the robot is moved to an optional position
which it had 0 - 0.45 seconds before the interruption.
(See Installation S3 for parameter setting). Then the welding process is restarted with the
same welding parameters as were used before the interruption. AW restart is performed as
follows:
1. Press AUTO.
2. Press SCAN.
3. Press AW REST.
Note.
A restart attempt when it is not allowed will result in an error message: "NOT ALLOWED
COMMAND".
Program start (PROG ST, INS ST, EXEC BW, AW BEST) means that the robot will
start moving at highspeed.
Make sure nobody remains inside the robot working range before starting the robot
and make sure all safety equipment is functioning correctly.
7.9
RESYNC
Using the function RESYNC it is possible to make synchronized axes unsynchronized
without reinitiating the entire system. This is done in accordance with the following:
1. Press AUTO.
2. Press SCAN twice.
3. Press RESYNC.
4. If the robot includes syncronized external axes then press SYNC white will commence
the synchronization movement.
5. Calibrate the robot. (See Service manual IRB XXXX.)
Programming
S3
7 Automatic menu
7.10
MOV REST
The function Move Restart is used for restarting the robot when there is a risk for
collisions, e.g. after an emergency stop (see 3.6.1.5).
The robot starts from standing still (2) by moving back (3) to the path, to approximately
where the interrupt occured (1).
This movement is made at about 125 mm/s.
The robot then moves forward (4) on the path at a speed of 25% of program speed.
When the TCP has reached the position (5) of the path planner at the interrupt, normal
program execution is resumed (6).
All positioning instructions except WEAVE, PALLET and RELTOOL can be restarted.
Note that a continous process, like gluing and arc welding is not resumed until the next
process instruction is executed (for AW; use AW restart).
forward path at
25% of program speed
reverse path
at 125 mm/s
TCP position
at stand still
forward path at
program speed
Programming
S3
7 Automatic menu
100% |
SCAN |
!imp
100POS V = 100% PATH
PROGST INSST
?
BWD
SIM
SCANR
INSST BWD
SIM
SCANR
START P. PAGE 11
START P. PAGE 11
Programming
10
S3
7 Automatic menu
START P. PAGE 10
Programming
11
S3
7 Automatic menu
100 POS V=100 % PATH
100%
CORVSTAWREST*
ALIGN* SCA
ALIGN PAGE 15
AW RESTART PAGE 16
USED FOR AN INSTRUCTION IF
CORRECTION FOR A SENSOR IS
DISPLAYED.WHEN YOU PRESS
THE BUTTON THE ROBOT WILL
MOVE 50 MM IN THE CORRECTION
DIRECTION LATEST ACTIVATED
FOR THE RELEVANT SENSOR
INSTRUCTION 30
DISPL. PAGE 13
DISPL. PAGE 13
Programming
12
S3
7 Automatic menu
DISPL. PAGE
DISPL. PAGE 12
INSTRNO =
ENTER
40 POS V= 100%
FINE
and so on
Programming
13
S3
7 Automatic menu
50
P O S V = 100% PATH
PROGST INSST
50
BWD
SIM
SCAN
DISPL
CORVST ALIGN*
MH/GL/SW
50
STORE
FETCH
BASE
HOMEPO PAGE 15
50
50
ORIENTATION NO
START ALIGNMENT?
ROBOT ALIGNED
50
ORIENTATION NO
50
CE
ENTEE
START ALIGNMENT?
ROBOT ALIGNED
Programming
14
S3
7 Automatic menu
ALIGN PAGE 12
j 100
- j j l | EXTFRAMENO*
100%
CE
ENTER
mmmmm
START ALIGN?
EXTERNAL
AXES ALIGNED
CORVST AW REST
100%
ALIGN SCAN
Programming
SCAN
15
S3
7 Automatic menu
Scan 2 times
50POSV=100%PATH
RESYNC MOVREST
SCAN
DE3PL ORIDE
100%
SIM
Synchronizing
Programming
16
S3
8 Editing menu
Editing menu
Section
Page
8.1
8.2
8.3
8.4
8.5
8:5
8:5
8:5
8:5
8.6
V%
INSTNO
STEP
MODPOS
MODIFY
8.5.1 HANDCHK
8.5.2 MODIF and MODARG
8.5.3 DISPL
8.5.4 MODEXT
8.6
DELETE
8.7
INSERT
8.8
PROGRAM
8.9
RESEQ
8.10
COPY
8.11
ERASE
8.12
PROG NO
8.13
MIRROR
8.14
TIME
8.15
COPY INS
Programming
8:8
8:8
8:9
8:9
8:10
8:11
8:11
8:13
8:14
8:15
S3
8 Editing menu
Programming
S3
8 Editing menu
f-*f
1
V(%)
Change of
speed
1
MODIFY
Change of
aninstr.
1
RESEQ
Resequencing
of instr. no.
INSTNO
STEP
Calling of
aninstr.
MODPOS
Stepinstr.
byinstr.
DELETE
INSERT
Erasure of
aninstr.
PROGRAM
Addition of
aninstr.
SCAN
Calling sequence
Calling of progr.
COPY
Copying of
a program
SCAN
Change of
progr. pos.
PROG NO
ERASE
Erasure of
program
used
SCAN
listing of
progr. no.
MIRROR
TIME
Mirroring of
program
Change of
pos. time
Programming
= Editing
COPY INS
SCAN
Copying of
instruction
S3
8 Editing menu
Programming
S3
8 Editing menu
8.1
V (%)
Change of speed
Menu: EDITING
Function: V%
Means:
The percentage speed in an instruction is changed. For changing of the basic or maximum
speed, see 8.5.
Used:
When editing a program.
Executed:
After the conclusion of the procedure, the robot reacts immediately.
Procedure:
Change of percentage speed
1. Ensure that the instruction required is presented on the display.
2. Select V% under the EDITING menu.
3. Specify the new percentage speed 0 - 799.9% as a percentage with one decimal.
The new percentage speed is shown in the instruction.
8.2 INSTNO
Instead of stepping forward to a certain instruction, it is possible to call it up directly by
pressing INST NO. The robot then asks which instruction number is required and when
this is given, the instruction line is shown on the display.
8.3 STEP
The STEP function is used when, for example, the program is to be presented instruction by
instruction. When STEP is pressed, it is possible to press INST NO FORW or BWD as
required. For each pressing of these buttons, a new instruction line is presented on the
display.
8.4 MODPOS
Procedures:
Redefinition of location by running the tool
Menu: EDITING
Function: MODPOS
1. Ensure that:
Programming
S3
8 Editing menu
8.5
MODIFY
Change of instruction
Menu: EDITING
Function: MODIFY
Means:
An instruction is changed, partly or completely.
Facts:
Different subfunctions are available:
HANDCHK
MODINST, the complete instruction is reprogrammed.
MODARG, a motion instruction argument except position and speed is reprogrammed.
DISPL, the position for a motion instruction is changed.
MODEXT, modification of external axes.
With AW software a subfunction CLE LO (clear local override) is also available. See
Override, section 12.7.2.
Note
Change only absolute positions in the program, i.e. deactivated reference point and
reference frame 0 active. Otherwise, the expected change of position does not
correspond to the actual.
8.5.1
HANDCHK
There is an implicit argument to the POS-instruction, HANDPOS, which stores information
of the configuration of the robot arm as it was when the POS-instruction was programmed.
This information is used when running the robot in Robot Coordinates or Modrect
Coordinates to ensure a specific configuration (see chapter 3.4) of the arm. When running in
rectangular coordinates the robot will choose the configuration corresponding to the
smallest movement from start to end position. In rectangular coordinates a supervision is
available, which will stop the robot if anything of the following occurs:
1. The fourth axis is more than 45 degrees in direction from its position at programming
time.
2. The sixth axis is more than 90 degrees from its position at programming time.
3. The programmed axis configuration is not achieved.
This supervision is normally active, but can be deactivated and then reactivated with the
function HANDCHK
If the inspection is not to be performed, "*" will be displayed in the instruction.
Change of HANDCHK argument
1.
2.
3.
4.
Programming
S3
8 Editing menu
8.5.2
8.5.3
DISPL
Definition of position by entry without moving the tool
1.
2.
3.
4.
When the menu, shown before point 3 above is performed, is presented again, the
procedure is complete.
Programming
S3
8 Editing menu
8.5.4
MODEXT
Modification of external axes
Means:
MODEXT is a function with which it is possible to copy the position of an external axis to
another, within one and the same POS-instruction. It is possible to execute the copying
within a sequence of instructions.
The system copies the position from the required external axis to another external axis
immediately after the procedure is concluded. The possibility of displacement is available.
Procedure:
Copying of external axes
1. Call the program and the first instruction (of several) which is to be modified.
2. Select MODEXT under the EDIT/MODIFY menu.
3. Specify the axis from which the position is to be copied.
4. Specify the axis to which the position is to be copied.
5. State the number of instructions up to and including the last to be modified.
6. State the displacement in increment. (Max = working range).
When the modification is completed the instruction most recently changed is the current
instruction.
Any intermediate logical instructions and POS-instructions which do not include the
external axes concerned are not affected.
Programming
S3
8
8 Editing menu
8.6 DELETE
Erasure of an instruction
Menu: EDITING
Function: DELETE
Means:
An instruction, or several, in a sequence in the program is erased.
Executed:
The system reacts immediately after the procedure is concluded.
Procedure:
Erase of instruction
1. Call the program required and the first instruction (of several) which is to be erased.
2. Select DELETE under the EDITING menu.
3. Specify the number of instructions which is to be erased, from and including the
instruction displayed.
The first remaining instruction in the program (or the message PROGRAM END) is
presented, thereby concluding the procedure.
Note.
In order to regain memory space you must clear the program block, see Clearing of program
block, (see section 9.1) or make a program selection.
8.7 INSERT
Addition of an instruction
Menu: EDITING
Function: INSERT
Means:
Addition of instructions at an optional place in an existing program.
Facts:
When instructions are added, the new instructions will be numbered in accordance with the
following system.
If the next multiple often is vacant, the instruction will receive this number.
If the next multiple often is occupied, the next following vacant number will be used.
See example next page:
Existing
program
Instructions
to be inserted
Program after
insertion
^^fos
110
POS
120 POS
POS
130 POS
131 POS
Programming
S3
9
8 Editing menu
Procedure:
Addition of instruction
1. Call the instruction after which the addition is to be made, in the required program.
2. Select INSERT under the EDITING menu.
3. Specify the number of the new instruction.
Programming in the normal way of the instructions which are to be added can now begin.
8.8 PROGRAM
To write a robot program, begin by selecting a program number by pressing PROGRAM in
the editing menu after which the robot system asks for the required program number.
When the number is specified, line 10 without an instruction is shown if a new program is
created. If the program already contains instructions, the first program line is presented.
8.9 RESEQ
Numbering in even tenths of instructions
Menu: EDITING
Function: RESEQ
Means:
Renumbering of the instructions within a corrected program so that all instructions again
have numbering in consequitive multiples of 10.
Used:
After editing of a program
Executed:
The system reacts immediately after the conclusion of the procedure.
Programming
S3
10
8 Editing menu
Procedure:
Numbering of instructions in multiples of 10
1. Call the program required.
2. Select RESEQ under the EDITING menu.
The procedure is now concluded.
Otherwise:
When the function RESEQ is executed, the jump addresses within the program are also
changed.
An error message is presented when a jump is to be made to an erased instruction.
The renumbering function RESEQ is associated with a function parameter with the same
name. Renumbering is not permitted when the parameter is set to the value 0.
8.10
COPY
Copying of a program
Menu: EDITING
Function: COPY
Means:
A program existing in the user memory is copied under another number.
Used:
For example, when two or several similar programs are to be created.
Procedure:
Copying of a program
'
Programming
S3
11
8 Editing menu
8.11
ERASE
Erasure of a program
Menu: EDITING
Function: ERASE
Means:
One or several programs are to be erased from the user memory.
Facts:
When the function is selected, the size of the remaining user memory can be presented as a
readout by pressing the SHIFT button.
Executed:
The system reacts immediately after the procedure is concluded by specifying which
program is to be erased.
Procedure:
Erasure of a program
1. Select ERASE under the EDITING menu (the numbers of program used are presented
with the active program marked with an asterisk. Empty memory space, in percent of
the total memory area, is also displayed.).
2. Give the program (or the first program in a continuous number series) to be erased with
the number 0 - 9999.
If only this program is to be erased, press ENTER. Thereby concluding the procedure.
Otherwise continue with point 3 below.
3. Specify the last program number, 0 - 9999, in the number series of the program to be
erased.
The procedure is now concluded and the system erases the programs specified, regains the
space after the erased programs in the memory and responds with information about which
programs that have been erased.
8.12
PROG NO
All numbers of programs stored in memory can be displayed by pressing PROG NO. All
program numbers in use are then presented on the display. An active program is marked
with an asterisk after the program number. Empty memory space is also displayed.
Programming
S3
12
8 Editing menu
8.13
MIRROR
Mirroring of program
Menu: EDITING
Function: MIRROR
Means:
All the positions of the active program are reflected in relation to a mirroring plane.
Facts:
The program is reflected in base coordinates. Three different planes are available:
YZ-plane
A
XY-plane
S3
Programming
13
8 Editing menu
Example 2: Mirroring in parallel displaced XZ-plane
,Y
MIRRORING PLANE
Procedure:
1. Select the program to be mirrored.
2. Select MIRROR under the EDITING menu.
3. CLEAR CONFIG YES NO. (from M93/5, otherwise continue with 4)
Answer Yes and the robot will take the shortest way to get the right orientation of the tool.
This meams that axis 1,4 and 6 can be rotated 180 degrees compared to the original
program (performance as in control programs up to and including M93/4).
Answer No, and it will try to have axes 1,4 and 6 in approximately the same position as
they had when the program was not mirrored. Depending on the orientation it is not
always possible to not clear the configuration.
When you once have answered YES, you can not restore the configuration.
Hint: Try to mirror the program by answer NO.If you the later on want to clear the
configuration, mirror the program twice and clear the configuration when you mirror the
program.
4. Select mirroring plane according to the figures below:
5. Press YES if a parallel offset is wanted.
YZ-plane
XY-plane
SAME
Which means the
same mirroring
plane that was
selected the last
time the MIRRORfunction was used.
Programming
14
8 Editing menu
or B, by moving the robot a corresponding distance.
A Enter the displacement concerned along the relevant axis in the basic coordinate
system. Use the correct sign for the value which is to be expressed in mm.
In example 2 above a negative value should be entered, corresponding to the distance
from origo to the mirroring plane in negative y-direction.
B Position the robot to a position in the original program with the joystick and press
ST POS. Run then to the corresponding position in the "mirror image" of the program
and press ENDPOS.
In example 2 above the robot is first positioned, for instance, in the point 3 in the
original program and STPOS is pressed. After that the robot is manually moved to the
point 3 where it should be located in the reflected program and ENDPOS is pressed.
Then the mirrorplane will be automatically calculated and all positions in the program
will be mirrored.
Note, when placing the robot in the mirrored point, only the distance perpendiular to
the mirror plane will be used in the calculation.
Before mirroring
8.14
After mirroring
TIME
Change of positioning time
Menu: EDITING
Function: TIME
Means:
The positioning time in an instruction is changed.
Used:
When editing a program.
Executed:
After the conclusion of the procedure, the system reacts immediately.
S3
Pragrnwi-miiig
15
8 Editing menu
Procedure:
Change of positioning time
1. Ensure that the instruction required is presented on the display.
2. Select TIME under the EDITING menu.
3. Specify the new positioning time in seconds with two decimals (0.00 - 650.00 s).
The new positioning time is shown in the instruction.
8.15
COPY INS
Copying of instruction
Means:
One instruction, or more, are copied.
Facts:
The copied instructions are placed after the current instruction.
Copying to a place between two instructions can be performed if enough spare instruction
numbers are available.
Instructions can be copied from another program.
Performed:
The system reacts immediately after concluded procedure.
Procedures:
Menu: EDITING
Function: COPYINS
1. Call the instruction, after which the copied instructions are to be placed.
2. Select COPYINS under the EDITING menu.
3. Specify from which program the instructions are to be copied. If they are to be copied
from the
current program, press
ENTER directly.
4. Specify the instruction number for the first instruction to be copied.
5. Specify the number of instructions that is to be copied. If one instruction only is to be
copied, press ENTER directly.
The last copied instruction is now shown and the procedure is thereby concluded.
Programming
S3
16
8 Editing menu
100POSV=100% FINE
CE ENTER
ENTER
VELOCITY 60%
INSTRUCTION NR 350
100POSV=60% FINE
S3
17
8 Editing menu
1 0 0 P O S V = 1 0 0 % FINE
V(%) INSTNO STEP MODPOS SCAN
JOG THE ROBOT WITH THE
JOYSTICK TO REQUIRED
POSITION BEFORE
"MODPOS" IS PRESSED.
1 0 0 P O S V = 1 0 0 % FINE
1 0 0 P O S V = 1 0 0 % FINE
INSTRUCTION NR 350
S3
Programming
18
8 Editing menu
100 POS V = 100% FINE
V(%) INSTNO STEP MGDPOS SCAN
DELETE
INSERT PROGRAM
SCAN
100POSV=100% FINE
DISPL CLE.LO MODABG MODINS SCAN
Arc Weld
software only
100POSV = 100% FINE
CE
100POSV=100% PATH
ZONE SEARCH SCAN
ENTER
(MAX 10 mm)
ENTER
1 1 1
mm
(MAX 10 mm)
MM
MB
I| 1
S3
Progranuning
19
8 Editing menu
PAGE 19
100POSV = 100% FINE
100POSV=100% FINE
HANDCONFIGUKATION CHECK? YES
NO
1 0 0 P O S V = 1 0 0 % *FINE
30POSV=100%
TROMAXISNO =
CE
ENTER
30POSV=100%
30POSV=100%
30POSV=100%
DISPLACEMENT
CE
ENTER
80POSV=55%
V(%) INSTNO STEP MODPOS SCAN
S3
Programming
20
8 Editing menu
100POSV=100% FINE
V (%) INSTNO STEP MODPOS SCAN
100POSV=100% FINE
MODIFY DELETE INSERT PROG SCA>
5 HOW MANY?
CE
Gil PROGRAM NO
ENTER
CE
ENTER
PROGRAM NO 7
SET OUTPUT 5
INSTNO STEP MODPOS
SCAN
100POSV=100% FINE
INSTRUCTION NO 355
S3
Programming
21
8 Editing menu
100POSV=100% FINE
V(%)
INSTNO
100POSV=100% FINE
RESEQ COPY ERASE PROG NO SCAN
100POSV=100%
RENUMBERING OF INSTRUCTIONS
IN THE PROGRAM TO THE NEAREST
NUMBER OF TEN
100POSV=100% FINE
TIME COPYINS SCAN
COPYINS, PAGE ^5
TIME, PAGE 23
MIRROR, PAGE 24
V(%)
V(ft)
INSTNO
INSTNO STEP
MODPOS SCAN
S3
Programming
22
8 Editing menu
ERASE, PAGE 22
ERUSED PROG: 0 2 10
EMPTY AREA 98 ft
ERASE PROGRAM
CE
ENTER
TOPROGRAM
PROGRAM
CE
ENTER
ERASED PROG: 0 2
V(ft)
INSTNO
STEP
MODPOS SCAN
TIME, PAGE 22
1 2
A 5
7 8
- (
a \ POS T
< | TIME(S)
=25SPATH
CE
ENTER
ITTTTi
1 SEC
POS T =1BANA
j V(%)
INSTNO
II 1 _l
STEP
MODPOS SCAN
111
mmmmmz
S3
Programming
23
8 Editing menu
MIRROR, PAGE 22
100POSV=100% FINE
XZ
YZ
XY
SAME
mssmsmmmmm
| !
100POSV=100% FINE
100POSV=100% FINE
ENTER
100POSV=100% FINE
S3
Programming
24
8 Editing menu
COPYINS, PAGE 22
PROGRAM NO Y
100POSV=100% PINE
CE
ENTER
INST. NO 120
100POSV=100% PINE
NUMBER OP INST
CE
ENTER
NUMBER OF INST. X
INSTNO
STEP
MODPOS SCAN
S3
Programming
25
8 Editing menu
Programming
S3
26
9 Manual menu
Manual menu
Section
Page
9.1
9.2
9:5
9:6
CLEAR
DISK
9.2.1 DISK (FROM DISK)
9.2.2 DISK (TO DISK)
9.2.3 DISK(INIT)
9.2.4 DISK (DELETE)
9.3 WINCHESTER MEMORY
9.3.1 WINCH (FR WINCH)
9.3.2 WINCH (TO WINCH)
9.3.3 WINCH (INIT)
9.3.4 WINCH (DELETE)
9.4
IN/OUT (INPUT, OUTPUT, REG)
9.5 TOOL (TCP, SENSOR, WRIST LOAD, SOFT S)
9.6
FRAME
9.7
LIST (prog, errors)
9.7.1 PROG
9.7.2 ERRORS
9.7.3 SYS PAR
9.7.4 USER PAR
9.8
FRSC
9.9 TOSC
9.10 RBMODE
9.11 LANG
9.12 ERRORS
9.12.1 Software Configuration
9.13 TEACH
9.14 WDATA (arc weld function)
9.15 PALLET
9.16 EXTFRAME
9.17 HOMEPOS (from M93/5)
9.18 REFP
Programming
9:8
9:9
9:10
9:26
9:28
9:28
9:29
9:30
9:30
9:30
9:32
9:34
9:34
9:35
9:35
9:36
S3
9 Manual menu
Programming
S3
9 Manual menu
= ]MANUAL
1
CLEAR
DISK
Clearance
Handling of
of
outputs
diskettes
(floppy disks)
|
TOOL
PARAM
Def.of
TCP/Sensor
WINCH
Handling of
Winchester
memory (option)
Prog, listing
with printer
on paper
PALLET
SYSTEM
Pallet
PARAMETERS definition
Installation
Manual. Ch 5
Status check
of input,
output, reg
FRAME
SCAN
Definition of
displaced
coord.
FRSC
TOSC
Loading of
Storing of
progr ./block progr. in
from superior superior
computer
computer
LANG
SCAN
LIST
IN/OUT
RB
MODE
Running mode
relative
superior
computer
ERRORS
TEACH
SCAN
**
WDATA
** AW
* MH/GL/SW
SCAN
TRIM
External axes
functions. See
Installation S3
**
EXTFRA
Funct. ext.
axes. See
chapter 12.
Programming
READSYN
TSIG
HOMEPOS
SCAN
See S3
Service
Manual
1
I REFP
1
SCAN
Reference
pointer
OS/On
S3
9 Manual menu
Programming
S3
9 Manual menu
9.1
CLEAR
Clearing of a program block
Menu: MANUAL
Function: CLEAR
Means:
The program block is reset so that:
The first instruction in the program 0 is presented.
All outputs and register are cleared.
All stored positions (with STO POS function) in position registers are cleared.
Correction movements for all sensors are cleared, see Adaptivity.
The system regains memory space after erased instructions.
Program displacement by means of reference point is deactivated.
The velocity override is set to 100%.
Used:
When a program block is to be restarted from the beginning.
When it is necessary to regain blocked memory space after manual erasure.
Executed:
The system reacts immediately after the procedure is completed.
Procedure:
Clearing of a program (Regaining of memory space).
Select CLEAR under the MANUAL menu, thereby concluding the procedure.
Otherwise:
The function should be used with discretion during manual work with a program after a
program stop. The contents of the register and outputs can control the complete working
process which has been stopped.
If a program assumes certain value at the output and register, this must be set manually
before the program is started after a resetting to 0.
Programming
S3
9 Manual menu
9.2
DISK
9.2.1
Function: DISK
9.2.2
Function: DISK
Programming
S3
6
9 Manual menu
9.2.3
DISK (INIT)
A new diskette must be initialized before being used. The contents of a diskette used
previously can be erased b y initializing the diskette again.
Diskettes can only be initialized when the robot system is at Standby.
Initializing of a diskette
Menu: MANUAL
Function: DISK
9.2.4
DISK (DELETE)
A complete program block can be deleted from the diskette.
Manual deleting from diskette
Menu: MANUAL
Function: DISK
PragraTwmrng
S3
9 Manual menu
9.3
WINCHESTER
9.3.1
Function: WINCH
9.3.2
Function: WINCH
S3
8
9 Manual menu
9.3.3
WINCH (INIT)
The Winchester memory must be initialized before being used, which can only be performed
when the robot system is in the STANDBY mode.
Initializing the Winchester
Menu: MANUAL
Function: WINCH
9.3.4
WINCH (DELETE)
A complete program block can be deleted from the Winchester.
Manual deleting from Winchester
Menu: MANUAL
Function: WINCH
9.4
IN/OUT
IN/OUT (INPUT)
Check of the status of an input
Menu: MANUAL
Function: IN/OUT
Programming
S3
9
9 Manual menu
IN/OUT (OUTPUT)
Check and possible changing of status of an output
Menu: MANUAL
Function: IN/OUT
Function: IN/OUT
9.5
TOOL
TOOL (TCP, CHANGE, MAN DEF)
Manual definition of TCP or BASEP
Menu: MANUAL
Function: TOOL
Prograi
S3
10
9 Manual menu
Note! Allowed range for x-, y- z- coordinates is 1500mm, and for the vector
V X2 + Y2 + Z2 for 1KB 2000. 1500 mm, far 1KB 3000 1290 mm and for
IRB 6000 2500 mm. If these values are exceeded the error message TDATA ERROR" is
displayed on the programming unit.
7. Activate (see Manual activation of TCP, below) and test run the TCP by manually
changing the tool orientation. If necessary, correct the TCP by a new definition, manually
or automatically.
TOOL (TCP, CHANGE, AUTO DEF)
Automatic definition of a normal TCP
Facts:
** ^ With the automatic definition it is possible to use an already known TCP value of one tool
to measure, with the help of the robot, the TCP coordinates for a new tool. The known "tool"
could be the center of the mounting flange, defined by TCP 0.
^^
Procedure:
The known tool is mounted and the corresponding TCP value is activated. Then the robot is
positioned with the tool-tip (TCP) in a defined position. This position is stored in the robot
memory as the start position.
After the new tool, which should be measured, is mounted and the robot is repositioned so
that the TCP of the new tool is in the defined position. This position will be used as the end
position, and the system will automatically calculate the new TCP value and store it in the
specified register.
If the center of the mounting flange is used as the known TCP, no tool should be mounted
when defining the start position, and TCP 0 should be activated.
v-s,
When the start position has once been defined and stored in the robot memory, it can be
reused when measuring new tools, without the need to remounting the old tool and
reposition the robot. However, the old TCP must be active when measuring and defining
the new TCP.
Menu: MANUAL
Function: TOOL
1. Activate TCP 0 (see Manual activation of TCP, below).
2. Select TOOL under the MANUAL mode.
3. Select TCP.
4. Specify TCP number 1 -19.
5. If a basepoint is to be defined, press BASEP.
6. Select CHANGE.
7. Select AUTO DEF.
8. If a new starting position for TCP measuring is to be defined, select YES. Otherwise,
select NO and go directly to point 9.
9. Dismount the tool, jog the robot manually to a known position, press ST POS and
finally, mount the tool again.
10. Jog the robot manually to the known point where the tool is located, and then press
ENDPOS.
11. Activate the TCP and test run by orientation of the tool. If necessary, correct the TCP
by a new definition automatically or manually.
Programming
S3
11
9 Manual menu
Automatic definition of a Room fixed TCP.
Move the active normal TCP to the desired position where the Room fixed TCP should be
defined.
Press TCP
Enter a value in the range 20 - 29
Press AUTO DEF
Press END POS Use the BREAK function (under point 8 - 9) to, if required, break:
The entire procedure if the function was selected erronously.
Definition of a TCP if the intention is to define a starting position for the TCP definition
by running.
For IRB 1500, 2000 and 6000 systems, there is a set of TCP aids which simplifies the
handling and increases the accuracy when determining the TCP with the function AUTO
DEF. The following is a brief description of the operation:
1. The tool, can remain mounted on the mounting flange during the complete procedure.
2. Mount the guide pin in the outer hole of the mounting flange .
3. Define a suitable TCP number for the guide pin at TCP position given according to the
table below.
4. Follow the procedure for AUTODEF of TCP in accordance with the programming
manual with the following exception:
*) On IRB 1500 it is
possible to use the
TCP-pin on robots
delivered from
autumn 1993.
IRB 1500
IRB 2000
IRB 6000
-6.5
-8
-15
-100
100
0
3HAA 2246-1
3HAA 2246-1
3HAA 0001-UA
0
-150
I
a Activate the previously selected TCP (see point 3 above) instead of TCP 0.
b When defining the starting point for the TCP measurement the tip of the guide pin (and
not the TCP 0) is run to the starting point with ST POS.
S3
Programming
12
9 Manual menu
TOOL (TCP, ACTIVE)
Manual activation of TCP
Menu: MANUAL
Function: TOOL
Function: TOOL
Programming
3
13
9 Manual menu
TOOL (TCP,BASEP)
Normal TCP only.
It is described below how the tool coordinate system can be defined with a TCP and a
Basepoint. First the Startpoint is defined to a reference point in the work piece, for instance
with the help of a guide pin as described above, see figure below. After that the tool is
mounted and the TCP is defined, see figure below. The Basepoint should now be located on
the symmetrical axis of the tool to define the orientation of the tool coordinate system.
REFERENCE POINT
TCP
r/\
REFERENCE POINT
MOUNTING FLANGE
FIG. 7
FIG. 8
DEFINING TCP
The base point can be defined manually or by Automatic definition. Below three ways of
using the automatic definition are described.
When defining the Basepoint the robot should first be
moved to a position where the symmetrical axis or its
extension points through the referencepoint, see the
figure below. In this figure, the Basepoint will be defined
in point B, i.e. outside the TCP.
Note.This means that the z-axis of the tool-coordinate system will point in the
opposite tool direction, but this is generally of less importance.
REFERENCE POINT
B-BASE POINT
TCP
X-AXIS
FIG. 9
DEFINING BASEPOINT
Alternative 1:
1. Direct the tool to the orientation required, relative the work piece.
2. Define the TCP with the AUTO DEF method.
3. When ENDPOS is entered the TCP is defined. Move the TCP a couple of centimeters
backwards from the work piece by moving the robot manually with the joystick.
4. Define the BASEPoint with the AUTO method without moving the robot, i. e. answer
thequestion "NEW START POS" with NO, and then press ENDPOS.
5. Activate the recently defined TCP.
S3
Programming
14
9 Manual menu
Alternative 2:
If the tool orientation is to be changed during the program execution, a new pair of
basepoint/TCP must be defined.
1. Activate the old TCP.
2. Direct the tool to the orientation required (by manual running).
3. Copy the old TCP-location under the new TCP-number with the AUTO method,
i e answer the question "NEW START POS" with YES, press START POS and then
press ENDPOS, without moving the robot in between.
4. Move the TCP a couple of centimeters backwards from the work piece by moving the
robot manually.
5. Define the new basepoint with the AUTO method without moving the robot, i e answer
the question "NEW START POS" with NO, and then press ENDPOS.
Alternative 3:
Define the TCP (Manually or already defined).
Press BASEP, CHANGE and AUTO DEF.
NEW START POS: answer YES.
Press ST POS
Move the robot in the desired x-direction, showed in the fig. 9.
TOOL (SENSOR)
The following menu for selection of sensor numbers is avaiable under TOOL + SENSOR in
the MANUAL menu on the programming unit.
S246
SENSOR NO =
CE
ENTER
1. The numbers of the sensors which are already defined in the system are presented in
theupper display line.
2. Select the number of the sensor which is to be checked, changed or defined.
3 The system then presents a succession of questions for all parameters which are
availablefor the sensor concerned.
4. With ENTER without specification of data, a value already defined for the parameter
concerned is not changed. This is used if parameter values are only to be checked.
5. When the sensor definition is completed, the following menu is presented:
YES: Return to the basic menu for definition of further sensors. NO: Conclusion.
S3
Programming
15
9 Manual menu
Sensor data upper display line
Parameter values previously defined for the sensor concerned is shown on the upper
display line. The display line is updated after each new entry of parameter values. The
following figure shows an example of a completely defined sensor.
(1)
(4) (2)
(3)
(5)
(6 ) (7 )
1 1 1 ) J II
S2
0.2 -500/500 ;
INP1
YES
MORE SENSORS?
NO
;! 1
i , 11 ,.
For the numbering (1) - (7) ace. to the figure above, refer to parameter I to VII ace. to the
following:
1 S2
SENSOR NO = 2
2 A
Analog sensor
2 B
NO OF BITS = 2
3 INP1
INPUT NO = 1
4 R
INSTALLED ON ROBOT
NOT INSTALLED ON ROBOT
5 0,2
SCALE = 0,2
6 -500
MINVALUE = -500
7 500
MAXVALUE = 500
Parameter definitions
Parameter I
Menu
Guide text
SENSOR NO =
Def.range
1-16
Parameter II
NO OF BITS=
Def.range
0 = Analog sensor.
1 = Digital one bit sensor of ON/OFF type
2 = Digital two bit sensor.
The two bit sensor can be interpreted as a one bit sensor with a
sign bit (MSB).
Note
It is possible to define a digital multi bit sensor with 3-8 bits, but
the performance is unspecified.
Programming
S3
16
9 Manual menu
Parameter III
Menu
Guide text
INPUT NO=
Def.range
1-4
= Analog inputs
1-96
= Normal digital inputs
237 - 239 = Fast digital inputs
Type of inputs
1. Analog inputs:
The parameter value 1-4 corresponds to the connection of the
sensor to a physical input 1-4 on analog I/O board DSQC 209.
E.g. Parameter value 2 = Physical input 2.
2. Normal digital inputs:
The parameter value 1-96 corresponds to the connection of the
least significant bit (LSB) of the sensor to logical inputs 1-96 on
up to 6 digital I/O board DSQC 223 . For definitions, see section
7.5.3.1. E.g. Parameter value 17 = Logical input 17 i.e. first
physical input on the second digital I/O board.
3. Fast digital inputs:
The parameter values 237-239 correspond to connection of the
sensor to sensor input 1-3 on the system board DSQC 256 A.
E.g. Parameter value 238 = Sensor input 2.
Note
DSQC 223
INPUT
Input
group -v
1
2
3
4
5
6
7
8
LSB
9
10
11
12
13
14
15
16
17
S3
9 Manual menu
DSQC 256A
SENSOR
1
2
3
Digital
1-bit sensor
Parameter IV
Menu
Def. range
Parameter V
Menu
Guide text
SCALE=
Def.range
0.00 - 99.99
Note
Practically usable values 0,01 When using contour tracking with weld guard, too high values can
result in instabile weaving direction.
S3
18
Parameter VI
9 Manual menu
The parameter defines te least permissible digital value of the
sensor signal i.e. the control system, before use, filters out sensor
signals less than a certain value.
Menu
Guide text
MINVALUE =
Def.range
Note
Parameter VII
Menu
Guide text
MAXVALUE =
Def.range
Note
The values in the upper row displays the defined sets of wrist loads, the digit with a star
displays the set currently activ.
Menu
Programming
S3
19
9 Manual menu
*
Active LOAD
**
Not for LOAD 0
*** Not for undedfined LOAD
**** Not for active LOAD
When the shift key on the programming unit is pressed the acceleration and position gain
indeces are displayed.
CHANGE
12
Cont.
Programming
S3
20
9 Manual menu
CE
ENTER
12
ENTER
ENTER
CE
ENTER
Programming
NEXT
DELETE
S3
21
9 Manual menu
ACTIVE
LOAD 5
M=-KGX=-MM
CHANGE NEXT
I
If the WRIST LOAD number is undefined, the values for the acceleration and position gain
indeces will be uppdated with predefined values.
Programming
S3
22
9 Manual menu
DELETE
^>..:.>-.X.-------.--.-..............v.
^...w.r...-.-.v.-.v.-.v^..^rvv..w.v.-.-.v^w...-.-.-.-.-.-.-.-.-.-.-.-..-..v-
LOAD3 M= 50 KG X=200 MM
SOFTSERVO 0 1 2 * 4 9
SOFT SERVO
CE
ENTER
The values in the upper row displays the defined sets of softness percentages. The digit
with a star displays the set currently active.
Note!
If HUB 6000, the current wrist load should be trimmed before defining
SOFT SERVO.
S3
Programming
23
9 Manual menu
MENU
The following menu will be displayed when SOFT SERVO=l-9 is selected and the selected
number is active:
SOFT SERVO Al=10 A2=20 A3=30
CHANGE ACTIVE NEXT
When the shift key on the programming unit is pressed, axes A4-A7 are displayed. Should
the 7th axis be undefined it will not be displayed and can not be changed.
A4=15 A5=25 A6=35 A7=45
CHANGE ACTIVE NEXT
CHANGE
|
1 A1=
|
CE
ENTER 1
i
15
SHE
{ SOFTSERVOA1=10 A2 =20 A3=30 > i
A2=
CE
ENTER
J
\ U 11|
I A7=
CE
1 1
Programming
>
ENTER
S3
24
9 Manual menu
If he SOFT SERVO number was undefined, the values for all axes will be updated with
the values for normal servo (0).
All values entered with the ENTER key will be displayed in the upper row. ENTER
without a value will leave the old value displayed.
When the SOFT SERVO number is ACTIVE, all changes will immediatly be transferred to
the SERVO COMPUTER. Accordingly, no activiation of the SOFT SERVO number is
necessary after a change if the number was already active.
When the desired value has been entered for axis A7 the display will return to the SOFT
SERVO menu.
The values for axes A1-A7 are defined in percent (0-100%). 0% corresponds to normal servo.
1-100% activates SOFT SERVO. Maximum SOFT SERVO is obtained at 100%.
ACTIVE
CHANGE ACTIVE NEXT
SOFT SERVO 0 2 3 * 5
DELETE
Prograi
S3
25
9 Manual menu
DELETE
| SOFT SERVO 4 Al=10 A2=20 A3=30 > ]
I CHANGE ACTIVE NEXT
DELETE
'is
....:?
I
J
"S
YES
NO
?<??..
YES: Current set of SOFT SERVO values are deleted. The SOFT SERVO number becomes
undefined. Return to the SOFT SERVO menu.
NO: Nothing will happen and the SOFT SERVO menu will be displayed.
9.6
FRAME
Menu: MANUAL
Function: FRAME
1. Check that program displacement 0 is active using the SHIFT button, see section 4.5.
stored displacements give an uncertain result
2. Select FRAME under the MANUAL menu.
3. Select DEFINE (RESET resets program displacement to its original place.)
4. Type in FRAME number 1 - 5.
5. Run the tool to the original position 1, select FRAME under the MANUAL menu and
then press ST POS 1.
6. Position the tool with the joystick to the new position 1 and then press END POS 1.
7. Repeat points 5-6 above for position 2 (ST POS 2 and ENDPOS 2 are presented on the
display).
8. Repeat points 5 - 6 for position 3 (ST POS 3 and ENDPOS 3 are presented on the
display).
Note!
If the operator happens to release the safety pad during jogging, the system exits
from the function selected. In that case, start from the beginning once again with
function selection.
Automatic definition
The entire procedure is described in detail in section 10.7.
Programming
S3
26
9 Manual menu
9.7
LIST
9.7.
PROGRAM,
Program printout
Menu: MANUAL
Function: LIST
Means:
Readout of program on a display or printout on a printer (option).
Facts:
A printout queue of up to five programs can be requested and the printouts are performed
in the order in which they are commanded. The printout of a program can be commanded
while another program is under execution.
The printout is in groups of 60 lines each to suit A4 format paper.
Executed:
The system reacts immediately after the conclusion of the procedure (one program at a
time, if there is no queue of printouts to be processed).
Procedure:
1. Ensure that the printer or screen is switched on.
2. Select LIST under the MANUAL menu.
3. Select PROGRAM.
4. Specify the number 0 - 9999 of the program to be printed out.
The procedure is now completed.
Note!
9.7.2
LIST (ERRORS)
Printout of all error messages in the buffer
Menu: MANUAL
Function: LIST
1. Select LIST under the MANUAL menu
2. Select ERRORS
The system responds by printing out a list of the messages int the buffer. The version of the
control program is also printed out.
9.7.3
SYSPARl.
Select LIST under the MANUAL menu
2. Select SYSPAR
The function prints the system parameters i.e. parameters under PARMICHANGE.
9.7.4
USEPARl.
Select LIST under the MANUAL menu
2. Select USEPAR
The function prints user parameters i.e. TCP, SENSOR, EXTFRAME, FRAME, LANG.
Programming
S3
27
9 Manual menu
9.8
FR SC
Loading of program from SC
The function FROM SC is used to load program blocks or individual programs from the SC.
The different procedures are described below.
Note that the remote operation mode must be selected before FROM SC can be used.
Procedure A
Loading of a program block is performed as follows:
1. Select the menu MANUAL.
2. Press function button SCAN twice.
3. Press function button FROM SC.
4. Press function button BLOCK
5. Enter the number (storage identity) of the system data block required (0-9999) with the
numerical button set.
6. Press the function button ENTER.
The loading begins immediately after this. The upper line of the display presents the text:
"COMMAND IN PROGRESS" (during the loading phase itself)
"READY" (when the loading is complete)
Procedure B
The loading of an individual program is performed as described in the following:
1. Select the menu MANUAL.
2. Press function button SCAN twice.
3. Press function button FROM SC.
4. Press function button PROGRAM.
5. Enter the number (0-9999) of the program block required (in which the program sought
is located) with the numerical button set.
6. Press the function button ENTER
7. Enter the number of the program required (storage identity)in the block (0-9999) with
the numerical button set.
8. Press function button ENTER.
The entry begins immediately after this. The following text is then presented on the upper
line of the programming unit:
"COMMAND IN PROGRESS" (during the loading phase itself)
"READY" (when the loading is complete)
Programming
S3
28
9 Manual menu
9.9
TO SC
Storage of program in SC
The function TO SC is used to store program blocks or individual programs in the SC. The
different procedures are described below.
Note that the remote operation mode must be selected before TO SC can be used.
Procedure A
Storage of a program block is performed in accordance with the following:
1. Select the menu MANUAL.
2. Press function button SCAN twice.
3. Press function button TO SC.
4. Press function button BLOCK
5. Enter the number (storage identity) of the program block required (0-9999) with the
numerical button set.
6. Press function button ENTER
The storage then begins immediately and when this is completed, the text "READY" is
presented on the upper line of the display on the programming unit.
Procedure B
Storage of an individual program is performed in accordance with the following:
1. Select the menu MANUAL.
2. Press function button SCAN twice.
3. Press function button TO SC.
4. Press function button PROGRAM.
5. Enter the number (0-9999) of the program block in which the program sought is to be
stored by means of the numerical button set.
6. Press function button ENTER.
7. Enter the number (storage identity) of the program required (0-9999) with the
numerical button set.
8. Press the function button ENTER.
The storage then begins immediately and when this is completed, the text "READY" is
presented on the upper line of the programming unit display.
Programming
S3
29
9 Manual menu
9.10
RB MODE
Change of operational mode in relation to SC
The function RB MODE is used when the operational mode of the robot system in relation
to the SC is to be changed.
The change is performed in accordance with the following:
1. Select the menu MANUAL.
2. Press function button SCAN twice.
3. Press function button RBMODE.
4. Check which operational mode is currently selected on the upper line of the
programming unit display. If a change is to be performed, continue with point 5.
Otherwise return to the manual menu by pressing the Manual button.
5. If the remote operation mode is to be selected, press function button REMOTE. If local
operation is to be selected, press function button LOCAL.
When the status changes to REMOTE, the robot may be started by an superior
computer. Before switching to REMOTE, make sure nobody remains inside
the robot working area.
9.11
*LANG
Selection of language
A change of language is obtained in the following manner:
1.
2.
3.
4.
5.
This asterisk is intended to simplify location of the language button in the menus when the
language currently in use in te programming unit is not understood by the operator.
9.12
Errors
Display on the programming unit of error messages (after production stop)
Read the error message. For most messages it is possible to get text in plain language by
pressing "" on the programming unit. Use the SHIFT button to display more error
messages, if required. If you want to read messages about system errors once again, select
errors under the MANUAL meny as below:
Display on the programming unit of error messages from the latest error
occasion
Menu: MANUAL
Function: ERRORS
1. Select ERRORS under the MANUAL menu and read the error message.
2. Press "" to show text in plain language.
3. Use the SHIFT button to display more error messages if required.
Programming
S3
30
9 Manual menu
Display of error messages on the monitor after production stop
Read the error message displayed on the monitor.
Display of all error messages in the buffer on the monitor
Manu: MANUAL
Function: ERRORS
Select ERRORS under the MANUAL menu and read the error messages tat are displayed
on the monitor.
Erasure of all messages in the error buffer
Menu: MANUAL
Function: ERRORS
1 Select ERRORS under the MANUAL menu.
2 Select ERASE.
3 Answer with YES. (If the answer is NO the system will not erase any message).
Optional Error message in plain language (to be selected)
Menu: MANUAL
1. Select ERRORS under the MANUAL menu.
2. Select TEXT.
3. Answer with message number and code.
Function: ERRORS
9.12.1
Function: ERRORS
Software Configuration
The controller software configuration can be read by pressing the ERROR button, and then
scanning through any errors in the buffer by pressing the SHIFT button until finally the
software configuration is shown on the display.
Menu: MANUAL
Robot type
Function: ERRORS
Program
version
Program
revision
Year
Week
Model
Display error messages with the SHIFT button until the display shows the following
information:
The control program version is also displayed on the monitor.
Programming
S3
31
9 Manual menu
9.13
TEACH
Position definition for Off-line
Means
Definition of robot positions for use with Off-line programming.
Facts
The TEACH function can only be used when the Off-line Programming Package is
connected via a computer link to the robot.
Positioning instructions in programs developed Off-line can refer to robot positions stored
on a coordinate file in the development computer.
When TEACH is utilized, the name, position and wrist orientation of each robot position is
registered on a coordinate file. When external axes are used, the positions of these are also
stored if they are defined in the robot system.
A position is defined by placing the robot in the required position with the joystick and
pressing the POS button of the TEACH function.
Used
To be able to use TEACH, the function must start from the Off- line package and be
selected under the MANUAL menu on the programming unit.
When TEACH is used in the development computer, all of the TEACH messages and
spontaneous messages from the robot system are presented on the development computer
display screen. In addition the messages are saved in accordance with the above on the
TEACH LOG file in the development computer.
The parameters "Communication board", "Robot identity" and "Computer Link" are to be
set correctly in the robot system and the REMOTE mode is to be selected (See Installation
S3) for the control system. The parameters "Robot identity" and "Computer link" in the
development computer are to have the same values as the corresponding parameters in the
robot system.
The robot system is to be in the MOTOR ON mode when TEACH is used.
To check that the connections between the development computer and the robot system
function, some action can be taken in the robot system which results in the presentation of
a spontaneous message on the computer display. For example, the programming unit can
be extracted from the robot system control cabinet and then returned.
Procedure Menu: MANUAL
Function: TEACH
When names on coordinate files and positions are to be specified, the write function on the
programming unit is to be used in accordance with the following.
Six letters are shown at each multifunction-button on the lower display line on the
programming unit. If for example an "N" is required, the third button from the left is
pressed followed by the figure 2 ("N" is the second letter in the group of letters at the third
multifunction button). The letter "NT is then presented on the display. Numbers are typed
in at the numerical key set of the programming unit. Characters are erased with the minus
sign "-". Each name is concluded with a period sign (.).
Programming
S3
32
9 Manual menu
Sequence definition of positions means that positions are named in sequence when
defining. A basic named is given and each new position defined is given the basic name
followed by a sequence number. If, for example, the basic name "BOX 1" is selected, the
first position defined will be given the designation "BOX 1", the second "BOX 2" etc. The
alternative to sequence naming of positions is manual entry of each name.
1 Select TEACH under the menu MANUAL. Then start TEACH from the Off-line package
in the development computer.
2 The question "NEW COORDINATE FILE?" is asked.
Answer YES if a new file is to be created and give the name of the new coordinate file.
Answer NO if the coordinate file shown on the upper line of the display is to be used (the
coordinate most recently edited.
3 The alternatives DEF, CHANGE, ERASE and EXIT are shown on the lower line of the
display.
DEF
4 The system asks if a sequential definition is required.
If YES, give the base name for the position sequence to be defined (e.g. BOX 1). If NO, give
the name of the position to be defined (conclude the name with a point).
5 Run the robot to the required position with the joystick and then press the button to
define the position.
6A Sequence-definition
The name of the next position (e.g. BOX 2) is shown on the display.
Define the next position in accordance with the point 5 above and repeat the procedure
until all positions are defined within the sequence.
Pressing "BREAK" breaks the definition of positions within the sequence and results in the
repetition of the presentation on the display of the menu in accordance with point 3 above.
6B Manual entry of each name
The robot system asks if more positions are to be defined.
With YES, give the name of the position and then define the position in accordance with
point 5 above. Repeat until all positions have been entered. With NO, the menu in
accordance with point 3 above is presented again.
CHANGE
4 The system asks which position is to be changed. Give the name of the position,
concluded with a point.
5 Run the robot to the position required with the joystick. Then press the menu button
POS to redefine the position.
ERASE
4 The system asks which position is to be erased.
Give the name of the position and conclude with a point. The point named is then erased
EXIT
4 Conclude TEACH.
Programming
S3
33
9 Manual menu
9.14
WDATA
Weld data (W DATA) contains instructions for definding the different parts of the arcweld
process:
START DATA
MAIN DATA
END DATA
WEAVE DATA
SENSOR DATA
These are described in chapter 10 under the Arc Welding Process. The instructions are
available in the IRB 2000 AW software only.
9.15
PALLET
Definition of a pallet. Available on MH/ASM and GLUE software.
Menu: MANUAL
Function:PALLET
1
2
3
4
The pallet is now defined. The definition can be interrupted by pressing BREAK. The pallet
will then be undefined.
ST POS
END POS 2
END POS 1
END POS 3
Programming
S3
34
9 Manual menu
9.16
9.17
NOTE 1
External axes positions are not included in the HOMEPOS, i.e. it is only the 6 robot axes
which are supervised.
NOTE 2 As there is a sampling time of 200 ms and because servo-lags are not observed, the output
will - especially at high speeds - not be set at the exact point of time when the robot is in
the home position. When using the HOMEPOS-output during program execution especially at high speeds - special care has to be taken about the timing.
DEFINITION OF THE HOMEPOS AND THE CORRESPONDING OUTPUT
The homepos definition is done under the manual menu.
For a complete homepos definition, the position and a corresponding output have to be
defined. The position is defined by moving the robot into the desired position and then
enter this position to the HOMEPOS memory. Any free accessable output may be used as
homepos indicator.
The HOMEPOS definition is done by selecting the HAND menu and then depressing SCAN
4 times.
Programming
S3
35
9 Manual menu
9.18
REFP
Reference point can be turned off by answering YES.
Programming
S3
36
9 Manual menu
100 POS V= 100% PATH
CLEAR DISK WINCH IN/OUT
SCAN
SCAN
DELETE, PAGE 38
INIT.PAGE38
INIT.PAGE38
CE
ENTER
1 2
USED BLOCKS: 1, 5
PROGRAM N O :
CE
ENTER
READY
Programming
S3
37
9 Manual menu
DELETE, PAGE 37
DELETE BLOCK?
YES
NO
Block deleted
INIT, PAGE 37
INITIATE WINCHESTER?
YES
NO
CLEAR
Programming
DISK
WINCH IN/OUT
SCAN
S3
38
9 Manual m e n u
CLEAR DISK
Programming
S3
39
9 Manual menu
REG, PAGE 39
OUTPUT, PAGE 39
=1
HI j n
II
\MMIm
K 11 = 23
CHANGE
Programming
NEXT
S3
40
9 Manual menu
100 POS
V=100%PATH
100 POS
Only IRB 6000
(see section 11.8)
TCP
V=100%PATH
CE
ENTER
IFTCPO-19
ex. TCP 5
CHANGE ACTIVE
IF TCP 2 0 - 2 9 PAGE 59
BASER PAGE 43
CLEAR
DISK
IN/OUT
NEXT BASEP
SCAN
TCP, PAGE 42
Programming
S3
41
9 Manual menu
TCP, PAGE 41
TCP5 X-250
Y=0
AUTODEF
Z=0
MANDEF
1 2 3
TCP5
NEW START POS?
YES
4 5 b
7 8 9
0
NO
t
TCP5 X=250 Y = 0
X=
CE
X-1iTALUE = 100 mm
4OVE
REMC
THE TOOL
z=o
TCP5 X=250 Y = 0
ENTER
Hi
Z=0
CE
ENTER
VALUE = 50 mm
f
TCP5 X=250 Y = 0
Z=0
CE
ENTER
Z-VALUE =50 mm
REINSTATE
THE TOOL
f
TCP5 X=100 Y = 50
75
5 X=100 Y = 50 Z = 75
TCP5 X=100 Y = 50
Z = 75
BASEP DELETE
Programming
S3
42
9 Manual menu
BASEP.PAGE41
|BASEP5X=_. Y = _ Z = ... MM
AUTODEF
MANDEF
8ASEP5
NEW START POS?
YES
NO
BASEP6 X=... Y=... Z = ...MM
REMOVE
THE TOOL
EASEP5
STPOS
\
BREAK
1 ill 1
|BASEP5X=5 Y = 70 Z=100
CHANGE
Programming
S3
43
9 Manual menu
SENSOR, PAGE 41
See also
SENSOR
INTERFACE
Chapter 10.
Programming
44
S3
9 Manual menu
SOFT SERVO, PAGE 41
SOFT SERVO 0 1 2 * 4 9
SOFT
SERVO
CE
ENTER
DELETE
SHIFT
ACTIVATE
CURRENT
VALUES
CE ENTER
DELETE
DELETE
1 2
DELETE SOFT SERVO? YES
15
NO
SOFT SERVO 0 12 * 4
CE ENTER
S3
Programming
45
9 Manual menu
100 POS
CLEAR
V = 100% PATH
DISK
100 POS
V = 100% PATH
PALLET, PAGE 57
INSTALLATION S3
S3
Programming
46
9 Manual menu
100 POS
100%PATH
100 POS
IN/OUT SCAN
V=100%PATH
100 POS
= 100%PATH
DEFINE
RESET
| 100 POS
PATH
V=100%PATH
1 \p
lOOPOS
V-lOOttPATH
FRAME, PAGE 48
RUN THE ROBOT INSTRUCTIONWISE TO POINT 2.
Programming
S3
47
9 Manual menu
140 POS V=100%PATH
CLEAR DISK WINCH IN/OUT
SCAN
SCAN
CLEAR
BREAK
SCAN
SCAN
Programming
BREAK
S3
48
9 Manual menu
CLEAR DISK
100 POS
LIST
V=100%PATH
100 POS
V=100%PATH
AW SOFTWARE ONLY
AW SOFTWARE
WITH LASERTRAK OPTION
ONLY
PRINTOUT OF
ERROR BUFFER.
100 POS
V=100%PATH
PROGRAM NO=
100 POS
CLEAR
Programming
V=100%PATH
DISK
S3
49
9 Manual menu
FROM SC / TO SC. PAGE 49
100 POS V = 100 % PATH
BLOCK PROGRAM
Programming
S3
50
9 Manual menu
100 POS
V=100%PATH
100 POS
SCAN
V=100%PATH
100 POS
LIST
V = 100%PATH
LOCAL MODE
REMOTE MODE
LOCAL REMOTE
LOCAL REMOTE
LOCAL MODE
REMOTE MODE
Programming
S3
51
9 Manual menu
100 POS
V=100%PATH
CLEAR DISK
\?\
100 POS
TOOL
V=100%PATH
PARAM PALLET FRAME SCAN
| 100 POS
V=100%PATH
RBMODE SCAN
1 p
\ 100 POS
| *LANG ERR<
4 f
V=100%PATH
5 TEACH WDATA* SCAN
1n
TEACH, PAGE 53
ERRORS, PAGE 56
**(AW0NLY)
DESCRIBED IN CHAPTER 12,
SCAN
SELECTED LANGUAGE
APPEARS AT ONCE
Programming
S3
52
9 Manual menu
TEACH, PAGE 52
If no file has been
edited previously,
the menu below is
shown directly.
YES
NO
DEF
CHANGE ERASE
LETTER NO. 2
CONCLUDE
TEACH
COORDINATE FILE = T
ERASE, PAGE 55
CHANGE, PAGE 55
DEF, PAGE 54
LETTER NO. 5
LETTER NO. 1
DEF
CHANGE ERASE
LETTER NO. 2
CONCLUDE
TEACH
COORDINATE FILE = TEST
ERASE, PAGE 55
CHANGE, PAGE 55
DEF, PAGE 54
Programming
S3
53
9 Manual menu
DEF, PAGE 53
If no file has been
edited previously,
the menu below is
shown directly.
....-.
...........i..
. . . . .
YES
NO
.......^^....J:-..>....::C.>1M
NAME;
ABCDEF GHIJKL MNOPQR STUVWX YZ
2 3
4
7
b
8 9
NAME =
ABCDEF GHIJKL MNOPQR STUVWX YZ
_JI_1
1 111 1
NAME = BOX 2
POS
NAME = BOX 3
POS
BREAK
SEE THIS
PAGE
NAME=BOX3
DEF CHANGE ERASE
CONCLUDE
TEACH
BREAK
CONCLUDE TEACH
ERASE, PAGE 55
CHANGE, PAGE 55 ,
Programming
S3
54
9 Manual menu
CHANGE, PAGE 53
ERASE, PAGE 53
3!
7
-
i NAME=B0X2
ij
III
NAME = B 0 X 2
Enter the name of the position
which is to be erased. Conclude
with a point.
NAME = BOX 2
DEP CHANGE ERASE
-..........re"v.yw=v.
Programming
BREAK
,-w.:::>:
.-.v.-.-.-.w:
-\
.;;[;;;
^r-
S3
55
9 Manual menu
ERRORS, PAGE 52
n times
IRB2000AW DOl
NO
9104 1991
NO ERROR MESSAGE
LANG ERRORS TEACH
SCAN
was
READY
S3
Programming
56
9 Manual menu
SCAN 1 TIME
PALLET, PAGE 46
PALLET, PAGE 58
Programming
57
S3
9 Manual menu
PALLET, PAGE 57
FROMSTPOS
4
7
5
8
6
9
PAT.TJ!T
,
NOOFPOS =
!|
CE
ENTER
PALLET 1/4:5
PALLET
Progranmiing
SCAN
S3
58
9 Manual menu
TCP, PAGE 41
CHANGE
NEXT BASEP
AUTODEF
MANDEF
CE
ENTER
Y-VALUE = 200MM
CE
ENTER
Z-VALUE=1650MM
w.v.w.s_...w..~M.y.w^^^
S3
Programming
59
9 Manual menu
SCAN 4 TIMES
TRIM READSYN TSIG HOMEPOS
SCAN
IMODPOS MODOUIT
DELETE HOMEPOS
Programming
BREAK
60
YES
S3
10 Adaptivity
10
Adaptivity
Section
Page
10:3
10:3
10:4
Programming
10:7
10:8
10:10
10:11
S3
10 Adaptivity
Programming
S3
10 Adaptivity
10.1
SIGNAL LEVEL
High
Low
High
"01"
No signal "00"
Low
"10"
Error status "11" (stop of programmed
running)
Analog senors
-lOVto
"1"
"0"
+10V
The sensors can be used for the following functions and are connected in accordance with
the table:
SENSOR
FUNCTION
CONNECTED VIA
Distance searching
Speed control
System board
System board
Distance searching
Direction searching
Speed control
Contour tracking
Analog sensor
Distance searching
Direction searching
Speed control
Contour tracking
A digital sensor can be connected to any digital input on any digital I/O board. Both bits in
a two bit sensor are to be connected to input channels within the same supply group. The
connections is to be made input channels next to each other, with the lowest bit connection
to the input channel with the lower number.
Up to three one-bit sensors for distance searching can also be connected to the direct action
inputs of the system board. These inputs have a response time of 12 5 msec,
i.e. 7 to 17 msec. The response time for inputs on the digital I/O board 12 (- 5 + 15) msec,
Programming
S3
10 Adaptivity
i.e. 7 to 27 msec.
Connection of one bit sensors via the system board is described in Installation S3,
chapter 3.
Analog sensors can be connected to arbitrary analog input.
Except the physical connection according to above, must the sensors be logically definined
before the adaptive functions can be used. This is described in chapter 9.
10.3
Searching
The search function is usable for example when the position of the work piece which the
robot is to process is not completely known or if it can vary from cycle to cycle.
The robot searches for the part and uses its location as a starting point for the processing.
Two variants of searching can be programmed, distance searching and direction searching.
In both cases a search distance is defined during the programming which determines the
direction of the searching to be performed.
Up to three sensors can be used simultaneously when searching. When distance searching
all sensor types can be used (one bit and two bit digital and analog) and when using
direction searching all except digital one bit sensors.
When a sensor "finds" an object in the search distance, its signal level changes. During
distance searching, this causes a so-called search stop i.e. the searching movement is
interrupted.
During direction searching such a signal change results instead in the start of free
searching.
When two-bit sensor are used, a search stop is given when the sensor signal changes level
from "01" to "10" (or from "10" to "01"). During free searching under direction searching, a
search stop is given when level "00" is searched.
For analog sensors, a signal level is programmed at which a search stop is to be given. The
search stop is given irrespective of whether the signal was previously at a level higher or
lower than that programmed.
With free searching under direction searching, a search stop is also given when a certain
level programmed previously is reached.
As the search stop status is presented at the robot outputs, this can be utilized to control
peripherals or as jump conditions etc.
The length of the search movements are determined by the positioning tolerances of the
workpiece. To ensure constant search speed the start and stop positions of the searches
should be placed approx. 5 mm outside the tolerance range of the workpiece.
Programming
S3
10 Adaptivity
If the position of the workpiece varies within very wide limits, the long search movements
necessary become excessively time-consuming. An introductory quick search with reduced
accuracy can then be used to advantage to give a start point for a search with normal speed
and accuracy. To secure that the whole distance of the programmed search movement is
executed, the start and end position of the search must be fine points.
Reference point
Reference point instructions are used to refer the search and TCP movements to the
preceding search stop. This procedure permits transposition of the TCP movements to the
correct position. Reference point instruction REFP should be programmed at a FINE
position.
When a reference point is programmed, the current position of the robot TCP is stored in
the robot memory. When the reference point instruction is executed, the difference between
the stored position when programming and the current position is calculated. This
difference is added, with further programming or program execution, to the position of all
position instructions until a new reference point is activated or the instruction "REFP OFF
is executed. A new reference point can be activated without deactivation of the preceding
reference point.
/""*
Conditional jumps
When executing a search movement, the register "Search" is activated to indicate that the
search has resulted in a search stop. The search register is one of the arguments with
conditional jumps. This permits repetition of unsuccessful searches or jump to an error,
control program. If also a jump, conditional with respect to the contents of a register is
used, unsuccessful searches can be repeated a programmed number of times before the
error control program is called.
10.3.1
Distance searching
If a sensor detects that which is required during a distance searching the searching is
interrupted and a search stop is activated. The next instruction in the program is then
executed. The search stop applies until a new search begins.
If no search stop is activated, the robot continues to the end of the search distance and then
begins execution of the next instruction.
It is also possible to program a delay so that the search stop is not actuated until 0.5
seconds after the sensor detection.
10.3.
Direction searching
Direction searching can be used when the robot is to locate the corner of a sheet or a box.
When such a corner is located in the search distance, searching continues in a new
direction (free searching) without a search stop.
The direction of the free searching is determined by correction vectors, the magnitude and
direction of which are programmed with the help of the VECTOR function. (See section
10.6 Correction vector for a more detailed description of how the function is utilized).
Programming
S3
5
10 Adaptivity
The free searching continues until all of the sensors used give signals that no more
correction is necessary, (i.e. level "00" for two bit sensors. For analog sensors, the level to
apply is selected at programming). The position of the corner is determined and a search
stop becomes effective. The search stop can also be delayed until 0.5 seconds after location
of the corner.
The stop position is adjusted with respect to the zero zone after which execution of the next
instruction is begun.
If no sensor reacts during the first search distance free searching begins at the end of the
search distance.
Free searching is stopped if it reaches outside a radius of 5 cm from where it began.
10.3.3
Start position
Expected position
for search stop
Programming
S3
10 Adaptivity
10.4
Speed control
In some robot applications, the possibility of controlling the working speed of the robot is to
advantage, particularly when different parts may require different processing.
A sensor is utilized for speed control so that the sensor signal controls the reduction of the
programmed speed. The reduction (X % below) is specified when programming digital
sensors. In the case of analog sensors a threshold value and a maximum value are specified
(see below)
One bit sensors:
Two bit sensor:
Analog sensor:
O=Unreduced speed
l=Speed reduced by X %
01=Unreduced speed
OO=Speed reduced by X %
10=Speed reduced by 2 x X %
ll=Stop
When the signal is lower than the
threshold value, the speed is not reduced.
For signals equal to or greater than the
threshold value but less than the
maximum value, the speed is reduced in
proportion to the signal with signals equal
to or greater than the maximum value,
the robot movement is halted.
Only one sensor is used with speed control. All types of sensor can be used.
The present velocity correction is saved when the program is stopped (irrespective of how).
It is still active when the program restarts (even at backwards execution). The correction is
erased first when a POS-instruction without a VCTRL-argument is executed.
Programming
S3
10 Adaptivity
10.5
Contour tracing
When the robot is to follow a contour between two points the contour tracing function can
be utilized. The function is activated with the argument CONTOUR.
Start and stop points for the tracing distance are specified during the program as FINE
positions. During movement between the two points, the sensors signal states where the
robot is, in relation to the followed contour.
The position of the robot is corrected if it departs from its path. The direction in which the
correction is to be made is given with the help of correction vectors (see section 10.6).
Up to three sensors can be used at the same time when tracing contours. Analog sensors,
digital two bit sensors but not one bit sensors can be used.
When programming, the signal level to be adopted by the analog sensors when the contour
is followed correctly i.e. when no correction is necessary (a so- called BIAS level). For two
bit sensors the level "00" is the BIAS level.
For contour tracing, the following applies:
Up to three sensors can be used
Digital one-bit sensors cannot be used
Correction vectors for each sensor used must have been programmed previously.
Principle
The contouring function is designed to enable small path corrections to be made when the
robot moves between two pre-programmed points. Correction are performed by each
interpolated interval (each 48 ms) that are proportional to value of the sensor and the
programmed speed of the correction vector.
The actual formula for calculating the correction is as follows:
Programming
S3
8
10 Adaptivity
The algorithm for calculating the position corrections is located in the robot system and
therefore the function is not designed to receive pre-calculated position corrections from
"smart" sensors such as seam trackers.
ABB Robotics seam tracking system - LaserTrak - operates on a different principle which
means that the limitations in the speed and deviations given above do not apply.
Complementary programming notes
Normally is an analog sensor used for contouring. As can be seen from the formula given
above, the scale factor and correction vector speed together determine the size of the
correction.
The recommended procedure for obtaining smooth contouring is to define a small scale
factor and then to adjust the correction vector speed.
A recommended scale factor value is between 0.01-0.1 and a suggested starting value for
the correction vector speed is four times the robot speed.
Note that the direction on the correction vector normally should be perpendicular to the
programmed robot path and that if the speed of the correction vector is less than that of the
programmed points no correction to the pre-programmed path will be noticed.
The BIAS defined in the contour instruction is given as a percentage of the working range
of the sensor which in turn is defined as the max-/min values provided in the list of sensor
parameters. If the sensor operates from 0-10 V the min-/max values should be given as 0
and 1023 (since, an analog sensor is converted to an ten bit digital value). A BIAS of 50%,
therefore, means that corrections will be calculated when the sensor value deviates from 5
V. If the sensor voltage lies outside the defined MinTMax range ADAPTrvTTY ERROR 1
will be displayed.
The correction vector operates in hand coordinates or base coordinates depending on
whether the sensor is defined as being ON or OFF the robot in the sensor parameter
definition. "ON the robot" means that the correction vector follows the orientation of the
robot hand. "OFF the robot" means that the correction vector is fixed relative the robot's
base coordinates.
Note!
A correction vector cannot be defined as a pure rotation: a correction vector must be defined
between two separate TCP points.
Speed
Since the contouring function is intended to be used when small deviations from the
programmed path are expected, the robot speed with contouring is approx. the same as the
programmed speed of the robot without contouring.
Where control of the speed of the robot is important, the VELOCITY CONTROL function
should be used.
Programming
S3
9
10 Adaptivity
10.6
Correction vector
During free searching (direction search and counter search) the correction is given as a
vector with speed and direction. When programming a correction vector, the speed is
specified as a percentage of the basic speed. The direction is defined by running the robot
from a start point to a final point in the direction specified for the vector.
For analog sensors, a signal level at which no correction is required is defined. (For two bit
sensors, the zero level applies).
All signals lower than this level give a correction in the direction of the correction vector
and all signals higher than the level give corrections in the opposite direction of the vector.
The speed value, V, in an instruction in which a correction vector is defined, has different
meanings for free searching and for contour tracing as follows:
V specifies the maximum search speed with free searching (as a percentage of the basic
speed).
V specifies a gain factor for position correction when contour tracing.
The formula for calculation of the correction, at counter tracing is given in section 10.5.
The formula for the speed of a correction during free searching is as follows:
Search speed (mm/s) = 20 x scale factor x the difference between required and actual sensor
signal.
If the current sensor signal deviates less than 3 % from the required sensor signal no
correction movement is performed (zero zone).
The max. value for the search speed is determined by the programmed speed, in mm/s.
When two or three sensors with associated correction vectors together control a free
search or contour tracing, the different directions and speeds will be stored as shown in the
example below.
Vector 1
Resulting vector
Vector 2
The robot can locate an object in a plane or follow an optional contour with two correction
movements. An object in space can be localized by the robot with three correction
movements.
When a sensor, in accordance with sensor data entered (see section 9.5) is mounted on
the robot, the associated correction movement follows the robot orientation. If the robot
wrist is rotated around the TCP, the direction is affected. When a sensor, according to
sensor data entered, is installed elsewhere, the above does not apply.
Programming
S3
10
10 Adaptivity
A correction movement for a specific sensor can be programmed in a program at any time.
It applies until:
A new movement for the same sensor is programmed and activated.
The contents of the program memory are lost.
The VECTOR function is used when the direction and the speed of a correction movement
are to be determined.
When the instruction is executed, the new correction vector will replace any previous
vector for the sensor concerned.
The following applies for a correction vector:
A correction vector for a sensor is programmed. If several vectors for several sensors
are to be program, one instruction is required for each sensor.
The correction vector for a sensor applies until a new movement for one and the same
sensor is programmed and activated
A program correction vector follows the orientation of the robot if the sensor concerned
is mounted on the robot in accordance with the sensor data read in.
If the memory content in the program memory is lost, all vectors disappear
At start-up, no correction vectors are programmed.
At Testart the correction vectors remain active.
10.7
FRAME
The procedure for programming automatic definition of FRAME is described in detail in the
following pages. Note that the method for searching for objects must always be adapted
from case to case. The basic definition of the FRAME function is found under section 3.9.2.
A simple example of the appearance of a program section with automatic definition of
program displacement is given below. It is assumed that the program is to be twisted in a
plane.
1. Ensure that program displacement 0 is active. Displacements stored on each other give
an inaccurate result.
2. Place the object to be located in a suitable place.
3. Program the start point for searching for the actual location of position 1, (FINE
position)
4. Program the end point for the seraching so that the searching is always successful if an
object is available, (FINE position).
5. Program an instruction with the FRAME function under the POSITIONING menu for
position 1.
6. Perform points 3-5 above for position 2.
7. Perform points 3-5 above for position 3.
The program is now to have the following appearance. Note that all instruction numbers
and numerical values in the instructions are examples only.
90
SET FRAME 0
Programming
S3
11
Definition
of
displacement
of
10 Adaptivity
position
1.*
Definition
Definition
of
displacement
of
position
2.*
displacement
of
position
3.*
8. Enter instruction 190 with the help of the FRAME instruction under the LOGICAL
INSTRUCTION menu. Select the sub-instruction DEF. The result is to become as
follows:
190
DEFINE FRAME 1
*)Note
When these positions are programmed, the robot is to stand in the positions which
correspond to the search points on a non-displaced object. Each FRAME-POS instruction
has to be executed once were the non-displaced positions are. The execution of these
instructions will give information for the instruction DEFINE FRAME later on were the
non-displaced object were placed.
For a successful search for the true location of the positions 2 and 3, the complete program
must be parallel displaced when the searching for the true location of position 1 is
performed. When the definition of FRAME 1 is performed in accordance with the example,
the parallel displacement is cancelled. The program displacement according to FRAME 1
is to be activated instead. This is to be continued as follows:
9. Add an instruction with number 125 to the program. This instruction is to activate a
reference point. Use:
INSERT under the EDITING menu to create the new instruction number.
REFPunder the POSITIONING menu for activation of the reference point.
10. Program deactivation of a reference point as an instruction 200. Use the REFP under
the POSITIONING menu.
11. Activate the program displacement FRAME 1 with the help of instruction 210. Use SET
under the FRAME function in the INSTRUCTION menu.
Programming
S3
12
10 Adaptivity
12.The program should now continue with a further searching which determines how the
object is parallel-displaced in relation to the established program displacement. The
instructions 220 - 240 are used for this is accordance with the following:
220
230
FRAME 0
95
REFPOINT off
100
130
140
POSV=10%
SEARCH S2
170
200
210
FRAME 1
Programming
S3
13
220
10 Adaptivity
The start point is placed well within the
area occupied by the object.
230
240
400
REFPOINT OFF
410
RETURN
Programming
S3
14
11 Programming
11
Programming
Section
Page
Programming
S3
11 Programming
Programming
S3
11 Programming
11 Programming
11.1 Overview of five programming menus:
Descriptions of the instructions are found under respective chapter and section, The
section corresponds
to the position on the menu. Example: TIME is described in chapter 6 section 15. etc.
= Positioning
Instruction
= Logical Instruction
Menu chapter 5
GBIPPEB
WATT
OUTPUT
JUMP
S.1
S3
SJ
5*
VELOC
CALL
RETURN
BEG
5.7
54
55
TCP
&9
INTER
5.10
COM
SUCTKL
COORD
SJ1
.,
GETB
5.12
BtmAME
(LOCATE)
5.13
5J4
EXTAX
SOFTS
;LUESCA
5.17
5.16
10.1
LOAD
530
TRIM
531
FBAIIE
SCAN
SCAN
SCAN
WEAVE
6.1
BEFP
6.6
COB
VEC
POSPOS
CIRCLE
8.13
5.15 S32)
SAME
S.18
ta
SCAN
5.16
VISCTBL
V()
63
6.10
FSAMZ
6.14
SCAN
ZONE
SEARCH
6J
6-4
VCTRL
SCAN
6.7
CONTOUB
6*
STOPOS
POSLOC
SCAN
6.11
.li
SCAN
TIME
6.15
HELTO-
PALLET
522
SCAN
SCAN
6.17
6.16
SCAN
Automatic Menu
chapter 7 AW
1
PROG SI
DSST
BWD
7J
72
73
DISPL
75
COB VST
7.6
HESYNC
MOVE
RESTART
7J0
IS
= Automatic Menu
chapter 7
MH/GL/SW
SIM
SCAN
7.4
ALIGN*
7.7
PBOGST
7.1
DISPL
7S
SCAN
RESYNC
73
BWD
73
SDC
7A
COBVST
ALIGN*
AW BEST
7.6
7.7
7.8
INSST
73
MOVE
JESTABT
7.10
SCAN
SCAN
SCAN
SCAN
3"
= Editing Menu
chapter 8
vow
INSTNO
8.1
82
MODIFY
DELETE
85
1 STEP
1"
PKOGRA
PEOGNO
copy
1 EBASE
&
8.10
1 8.11
8.12
1 TIME
copy
1 8.14
INS
8.15
8J3
SCAN
84
RES8Q
MIRBOR
SCAN
84
&?
1 INSERT
MODPOS
SCAN
SCAN
CLEAR
9.1
TOOL
A
LIST
9.7
DISK
rase
Manual Menu
chapter 9
DOUT
PALLET
9.15
FRAME
9
SCAN
rose
BBMOD
9.10
SCAN
SCAN
9.8
LANG
ERRORS
TEACH
WDATA
9.11
9.12
9.13
9.14
TBM
sxrnuME
9J6
READ
SYN
REPP
9.18
SCAN
93
93
PARAM
InatMan.
TSIG
HOME
PCS
9.17
SCAN
SCAN
Programming
S3
11 Programming
Programming
S3
11 Programming
11.2
10 V = (value) M A X = (value)
20 TCP (number)
30 RECT COORD or ROBOT COORD
40 FRAME (No)
50 REFP OFF
If these values are not specified the robot system utilizes instead the values most recently
used.
The SHIFT button on the programming unit can be used to check the values currently
activated program information is then presented on the display.
11.3
Program structure
Each robot program has its own program number and consists of a series of instructions
which are numbered within the program. Programs can include positioning instructions,
logical instructions such as jump, allocation statements tests and comparisons, call of
subprogram etc.
Programs can be numbered optionally between 0 and 9999. Instructions within a program
can be numbered optionally from 1 to 65535.
The types of instructions determine how many can be accommodated in the memory at any
one time. Positioning instructions occupy considerable space - more than logical
instructions. The primary memory accommodates 64 kbytes which corresponds to 2500
coarse points.
An appropriate program construction includes an administrative main program which
controls the work of the robot and calls subprogram for different sub-processes which are
often repeated during a work cycle.
A main program with all associated subprograms is designated a program block. Program
number 0 should be used for the main program if possible.
Programming
S3
11 Programming
MAIN PROGRAM
Call of a subprogram
Subprogram can be called with repetition so that they are executed the number of times
required before a return is made to the main program. (Max 99 repetitions)
Call of subprogram with repetition
MAIN PROGRAM 0
SUB-PROGRAMS
EXECUTE
3 TIMES
Programming
S3
11 Programming
MAIN PROGRAM 0
10 mmmmmmmm
20
LEVEL 1
CALLS
30
mmmmm
40 seemssmmmsmmmz
SUB-PROGRAM 3
50 ****
LEVEL2
SUB-PROGRAM7
"To
'
20 CALLS
30
40
50
60
70
80
90 RETURN
11.4
Pattern program
A pattern program is a sub-program and is treated in a special way as follows:
The program is divided into a number of modules separated by RETURN-instructions.
PATTERN PROGRAM
> module 0
module 1
370 POS
380
390
400
410
420 REGISTER - 0
module 6
430 RETURN
Prograi
S3
11 Programming
A number of positions for a repetitive task where the task itself is stored within another
sub-program which is called from each program module, see example below:
PATTERN PROGRAM
10 POS
20
30
40
50
60
70
80
90
790
800
810
820
SUB-PROGRAM
FOR PATTERN
CALL
RETURN
POS
CALL
RETURN
POS
CALL
RETURN
10 REFPON
20 POS
30 POS
40
50
60
70
GRIPPER
POS
REFPOFF
RETURN
POS
CALL
REGISTER = 0
RETURN
* Variations of a task.
Different tasks which are executed during different stages of the main program's work
cycle.
When calling such a program a number register is defined for control of which module that
is to be called.
The register is normally set to 0. When the content of the register is 0, the first module is
called. When the content is 1, the second module is called etc. The register is incremented
with 1 each time the patternprogram is called. At the first call, the content thus becomes 1,
at the second, 2 etc.
Only a register defined in such a way should be used for this purpose.
Programming
S3
8
11 Programming
Below is shown an example on how the calling instruction co- operates with the number
register when executing the different modules within a sub-program.
VALUE
MAIN PROGRAM
PATTERN PROGRAM
10
20
-30
40
50
60
70
80
90
190
200
210
220
POS
CALL
RETURN
POS
CALL
RETURN
POS
CALL
RETURN
SUB-PROGRAM
FOR MOVEMENTS
10 REFPON
20 POS
30 POS
40 GRIPPER
50 POS
60 REFPOFF
70 RETURN
POS
CALL
REGISTER = 0
RETURN
VALUE
MAIN PROGRAM
PATTERN PROGRAM
10
20
30
-40
50
60
70
80
POS
CALL
RETURN
POS
CALL
RETURN
POS
CALL
190
200
210
220
POS
CALL
REGISTER = 0
RETURN
Programming
SUB-PROGRAM
FOR MOVEMENTS
-10
20
30
40
50
60
70
REFPON
POS
POS
GRIPPER
POS
REFPOFF
RETURN
S3
9
11 Programming
When programming the last module an instruction, before the RETURN-instruction,
should reset the number register which controls the module execution, see figure below:
VALUE
MAIN PROGRAM
PATTERN PROGRAM
' 10
20
30
40
50
60
70
80
90
-190
200
210
20
POS
CALL
RETURN
POS
CALL
RETURN
POS
CALL
RETURN
SUB-PROGRAM
FOR MOVEMENTS
JO
20
30
40
50
60
70
REFPON
POS
POS
GRIPPER
POS
REFPOFF
RETURN
POS
CALL
REGISTER = 0
RETURN
When executing a pattern program the modules can be executed in any desired order. It
isnot necessary to reset the register in the last module if appropriate values are inserted
into the register from somehwere else within the program block.
Values can also be entered into a number register, see "Registers".
Programming
S3
10
11 Programming
11.5
11.5.1
c
original programmed
positions
c
programmed positions
after adjustment
P7
To obtain a smooth reorientation between positions P5 and P7 the following method can be
used: Depending on the profile of the path, either remove P6 temporarly or change P6 to a
circle point. Run the program slowly from P5 towards P7 in rectangular coordinates. When
the TCP passes P6 stop the robot. Correct the X, Y, Z location of the TCP to position P6
without changing the orientation. Program position 6 and change vack from a circle point
to a position.
The wrist reorientation is now spread out smoothly from P5 to P7. It is possible to spread
out the reorientation even more by means of more positions, in order to achieve a smooth
reorientation over a longer path.
At some TCP velocities a circular arc can give best smoothness for reorientation. This
assumes that the position zones do not overlap, and that the circle radius is more than
twice the zone size (to avoid overlap at entry and exit from the circle).
Programming
S3
11
11 Programming
11.5.2
FINE
CORNER1
CORNER2
PATH
2 mm
5 mm
-100 mm
-25 mm
(=default)
(=default)
(=default)
The value 5 mm for CORNER1 is chosen to give a small corner radius while still allowing
sufficient path length for smooth reorientation.
Position Zones
FINE
Used for weld start and finish positions
CORNER1
Used during the weld process. Note that the robot starts the corner path
about 5 mm before the programmed position. Logical instructions and for
example, change of weld data, are executed just before entry to the zone.
CORNER2
Used for fast movements between weld paths.
PATH Used during the weld process. Note that because of the low velocity the
zone is very small. The robot TCP will therefor enter the position and
logical instructions will execute at the programmed position.
Program structure
Rectangular coordinates should be used during the weld process.
Robot coordinates are used for movement between process runs as this gives the highest
velocity.
FINE
positions are used at weld start and finish.
CIRCLE
is used when possible on curved weld runs. Reorientation is spread out
over as long a path as possible.
CORNER 1 is used on sharp turns on a weld run. Note that the distance between
programmed positions should be over 10 mm to avoid velocity reduction due
to zone interference.
11.5.3
Recommendation for Glueing and Sealing
Programming
S3
12
11 Programming
Circle is used for curved glueing paths.
Reorientation of the wrist is spread out over the greatest available space to give smooth
reorientation. The distance between positions should be greater than two times the zone
size to avoid velocity reduction at interfering zones.
11.5.4
Programming
S3
13
11 Programming
11.5.5
11.5.6
Programming
S3
14
11 Programming
11.6
Programming examples
General
A number of functions often used when examples are to be programmed are summarized
below.
A subprogram is called up as follows:
1. Press EDITING.
2. Press the function button SCAN.
3. Press the function button PROG.
4. Enter the number of the required subprogram with the numerical keyboard.
5. Press the function button ENTER.
Searching of an instruction within the program is executed as follows:
1. Press EDITING.
2. Press the function button STEP.
Now three subfunctions are displayed, which can be used, namely:
FORW, step forward to next instruction number.
BWD, step backwards to the subsequent instruction number.
INST NO, jump directly to an instruction number, which is entered with the numerical
keyboard.
Functions for program execution are located under the AUTO menue, see chapter 7.
Continuous program execution is commanded with the function button START P.
Program execution forward, instruction by instruction, is commanded with the function
button START I.
Positioning backward, instruction by instruction, is commanded with the function button
BWD.
"Satisfied conditions" for WAIT instructions are simulated with the function button SIM.
Programming
S3
15
11 Programming
Main program 0
10 V=2500 mm/s. Max 2500 mm/s
20 TCP = 1
30 ROB COORD
40 FRAME 0
50 POS V = 100% C2
60 WAIT until INPUT 5=1
70 CALL PROG 100
80 RETURN
(home position)
(wait for start signal)
(call weld program)
Programming
(first cleaning)
(second cleaning)
S3
16
11 Programming
11.6.2
r:
P9
P3
^ *
P12
I I I I I I I I I I I I I I I I
i i i i i i i i i i i i i i i i
PO.PIU
Car door
Profile
Main Program 0
10
20
30
40
50
60
70
80
90
100
(home position)
(wait for start signal)
(positions close to the start pos)
P9
S3
Programming
17
11 Programming
Program 10
10
20
30
40
50
60
70
80
90
100
110
120
130
140
230
240
250
Pos V = 5% PATH
Pos V= 10% PATH
Pos V = 100% PATH
Programming
(start position)
(in front of work piece)
(movement to work piece)
(cutting large circle)
(cutting small circle)
S3
18
11 Programming
11.6.4
700 mm
Pos 310
Program 100
10 V = 1000 mm/s max 2500 mm/s
20 TCP = 1
30 Robot Coord
40 Pos V= 100% PATH
50 WAIT till INPUT 1 = 1
60 Pos V = 100% PATH
70 Rect Coord
80 Pos V = 50% PATH
90 Pos V = 5% PATH
100 Pos V = 5% PATH
180 Robot Coord
190 Pos V= 100% PATH
200 RECT COORD
210 Pos V = 50% PATH
220 Pos V = 5% PATH
310
320
330
PosV = 5%C2
Pos V = 5% CIRCLE
Pos V = 5% C2
400
410
420
430
440
Pos V = 5% PATH
Robot Coord
Pos V = 100% PATH
Pos V = 100% PATH
WAIT until INPUT 2 = 1
(cutting finished)
Programming
S3
19
11 Programming
11.6.5
40
POS
Program 110
10 TCP 1
20 RECT COORD
30 GRIPPER 1 OPEN WAIT =,5 S
V=
100%
PATH
50 POSV=100%C1
60 POSV=100%C1
70 POS V=5% FINE
80 GRIPPER 1 CLOSE WAIT 0,3 S
90 POSV=10%C1
100 POS V=25% PATH
110 RETURN
When first programming these applications the robot may enter a fault condition. If and
when this may happen depends on possibilities which are then shown on the display. To
handle these situations it is important that the programmer structures the program in an
operator-friendly way.
Programming
S3
20
11 Programming
Therefore:
1. Follow the recommended program structure.
2. After a return to the main or transport program from a sub- program use the following
three- instruction sequence:
TCPX
ROBOT COORD
POS V=100% PATH
The position should lie about 200 mm above or in front of the fetch or hand-over
position. This position results in controlled path following even if the operator by
mistake makes a restart from the end of the sub-program. Instruction TCP X is also a
safety measure if something has happend in the sub-program. ROBOT COORD gives
the fastest cycle times.
3. The first position in a sub-program should be the same as the last position in the main
program. This will result in a controlled path following even if the operator by mistake
restarts from the sub-programs first instruction.
These recommendations will allow the operator to proceed with the operations after a fault
condition without needing to restart from the beginning of the program, and without
needing to know exactly at which robot position the stop occured. The operator can read-in
the first or last instruction in the sub-program depending on whether it is desired to repeat
or hop over the operation which failed.
Programming
S3
21
11 Programming
11.7
11.7.1
General
Two servo concepts (mode A and B) ensure high performance of IRB 6000. In mode A
advanced algorithms are used to handle flexible mechanical arm structures. Thereby, it
will be possible to allow very rapid motor torque changes, resulting in very fast
movements.
One of the two servo modes is automatically chosen:
Mode A for short movements for axis 1, < 120 mm, with high programmed speed.
Mode B is for longer movements or short movements at low speed.
The difference in cycle time between mode A and mode B is especially large for short axis 1
motions.
The maximum TCP motion distance for mode A varies between approx. 60 mm and
120 mm, depending on the TCP position in the workspace. Mode A will not be activated
for the main axes if any of the wrist axes performs a too long motion.
Mode A is never activated during motions within corner zone (path, corner 1 or corner 2)
or immediately before or after the corner zone.
11.7.2
Programming
S3
22
11 Programming
Fig. 2
Fig.l
PATH= - 25
C2 = (-100)
zone
overlap
reduction of
velocity
PATH= - 25
Fig. 3
PATH= (-25)
PATH= (-25)
4 (step)
3 (step)
Programming
S3
23
11 Programming
Example around obstacles:
corner zone
40
Programming example, distance between points = 80 mm:
10
20
40
50
60
70
80
90
Rules of thumb
distance between
points (mm)
type of corner
(parameter)
20-50
path (-25)
500
50-125
path (-25)
1000
>125
path (-50)
2500
Programming
velocity (mm/s)
S3
24
11 Programming
11.7.3
11.7.3.1
Coordinate system
When very short cycle time is required as e.g. in spot welding, ROBOT coordinates
should be used. In applications where path following is more important than short cycle
time, RECT-coordinates is the best choice.
Using RECT-coordinates, servo path following (SPF) is carried out, see section 3.6.1.
Programming
S3
25
11 Programming
11.8
LOAD, PROGRAMMABLE
11.8.1
General function
This function is only accessible for IRB 6000 and means that the robot's load can be
selected and altered manually or direct in the robot program, in the same way as TCP.
This means that the robot can operate optimally even when great weight differences are
involved in the same program. This avoids cycle time losses.
The compensation is performed for the wrist load. Any equipment mounted on robot arm
may also be defined as an additional load. This load is part of the parameters and cannot be
altered during program execution.
Wrist load definition involves the following parameters:
Wrist weight.
Distance in X direction to the centre of gravity of the wrist load, in mm from mounting
flange.
Acceleration index (A4.. A6) for axis 4..6.
Position adjustment index (P4..P6) for axis 4..6.
20 different loads can be defined under the MANUAL button.
Load no. 0 is defined under the PARAMmenu. Load no. 1-19 are defined under menue
TOOL (see chapter 9.5).
The relevant load is activated when a special load instruction, LOAD, is executed, or
manually under menu TOOL.
The weight for any equipment on the robot arm is defined, under PARAM, (see Installation
S3) in the same way as the wrist load, but cannot be activated by a program instruction.
The weight and distance values control the main axis's operations and should precisely
correspond to the load concerned. Values that are too low may lead to overload in the
mechanical structure and severe arm deflections. Values that are too high cause
unnecessary cycle time loss and somewhat oscillative performance.
11.8.2
S3
Programming
26
11 Programming
11.8.2.1.1PT- loads
Press tending operation involves using large sheets extending out some distance and with a
high moment of inertia. This may result in greater forces and torque loadings than
permitted on the wrist.
At high loadings the robot reaches the current limit, which may result in oscillative
behaviour and unpermitted mechanical loadings, especially in gears and structures in the
wrist.
To reduce such loadings, the acceleration performance has to be reduced.
K has to be defined so as to utilise available torque without exceeding the permitted
transverse force loading.
E is the smaller value out of Kl and K2.
Axis 4 and 5
Other variants
2.4-150 kg variant
K1=(950-Ms)/Jxx
K1 =(1350-Ms)/Jxx
* 0.5
K 2= 47 / (A x * m )
K 2= 70 / (Ax * m' 5 )
where:
Jxx = Ja5, Jb4 or Jb5 according to Description 1KB 6000
Ms is the static moment on axis 4 or 5. Ms = Ax * m * 9.81
Ax in metres as per definition in diagram in section 11.8.2.1.2
m is the total handling weight.
Axis 6:
In the case of axis 6 there will be a distinction depending on what the robot cycle looks like
but the same formulae apply to all variants.
Kl = 750/J6
K2 = 47/(Ay*m 0 - 5 )
Robot cycle according to case B in Description IRB 6000
Kl = (550-Ms)/J6
K2 = 25/(Ay*m> 5 )
Programming
S3
27
11 Programming
where:
Ms is the static moment on axis 6, Ms = Ay * m * 9.81
J6 is the moment of inertia on axis 6,
m is the handling weight
Ay is in meter
see diagram in section 11.8.2.1.2
150 kg
Other
variants
A = acceleration index
10
-8
7
6
5
4
3
-2
1
1 2 3 4 5 6 7 8 9
1 0
K= smaller value
out of K1 and K2
11.8.2.1.2Low loads, Jo<10 kgm^ and weight within the load diagram
In the case of loads with moment of inertia lower than 10 kgm2 and handling weight within
the load diagram, the torque margin is regarded as utilised for increased acceleration of
the wrist axis.
The following applies to all IRB 6000 variants.
A parameter K which is proportional to the margin to the load diagram's limitation for the
relevant handling weight is created.
Axis 4 o5
Axis 6
K=Lx/Ax
K=Ly/Ay
Lx is the X load diagram for relevant handling weight +0.2 m for axis 4 and
Ly is the Y load diagram for the relevant handling weight for axis 6
Ax is the relevant distance of the centre of gravity for the total handling weight in the X
direction from the mounting flange + 0.2 m for axis 4 and 5
Ay is the relevant distanse of the centre of gravity for the total handling weight in the Y
direction from the mounting flange.
S3
Prograi
28
11 Programming
Robot variants
2.4-150
2.4-120
11
10
9
8
7
6
5
4
15
14
13
12
11
10
9
8
A acc. index.
Others
14
13
12
11
10
I
1.0
1.1
1.2
1.3
1.4
1.5
1.6
1.7
(L/A)
K
Note: Because of stability limitations the actual acceleration may remain at a limited level despite the
index rising.
Programming
S3
29
11 Programming
Note!
Write a program that only concerns the axis that is to be trimmed in a long
movement at maximum speed.
Alter the position gain index until a distinct performance without overshoot is achieved.
Robot type
A4
A5
A6
P4
P5
P6
IRB 6000/2.4-100
10
10
11
10
11
12
IRB 6000/2.4-150
13
IRB 6000/2.8-100
10
10
11
10
11
12
IRB 6000/3.0-75
10
10
11
10
11
12
IRB 6000/S3.0-100
10
10
11
10
11
12
10
10
11
10
11
12
The acceleration and position gain are set automatically to these predefined values when
the weight and offset are undefined (LOAD 1..19) even if they are altered for the
installation load (LOAD 0).
Programming
S3
30
11 Programming
11.9
TRIM, PROGRAMMABLE
See section 5.21.
Programming
S3
31
11 Programming
Programming
S3
32
12 Arc welding
12
Arc welding
Section
Page
12.1 Introduction
12.2 System principles
12.3 Program structure
12.4 Description and programming of welding data
12.5 Description of robot instructions
12.5.1 Instructions for the welding process
12.5.2 Instructions for manipulator
12.6 Programming of robot instructions
12.6.1 Define a position with a PATH zone
12.6.2 Instructions for the weld process
12.6.3 Instructions for positioner movements
12.6.4 Common functions
12.6.5 EXTFRAME
12.6.5.1 Alignment of External axes
12.7 Program execution
12.7.1 Program test
12.7.2 Override function
12.7.3 Supervision of welding process
12.7.4 Execution of welding instructions
12.8 Program example
12:3
12:3
12:12
12:15
12:61
Programming
12:64
12:83
12:88
S3
12 Arc welding
Programming
S3
12 Arc welding
12
Arc welding
12.1 Introduction
The contents in this chapter are only valid for arc welding robots.
This chapter describes operation of the robot for arc welding and the special function
developed for this application.
The design of a robot welding station is described first and then how the robot interacts
with the welding equipment and other peripheral equipment. The general principles and
methods of preparing a program for robotized arc welding are discussed.
After this broad description of the arc welding system and program structure, detailed
instructions for how the welding data (parameter values for the welding process) is
programmed and used and how the robot instructions specific to arc welding applications
are given.
A special section contains a description of program execution, how a program is tested and
optimized, how the override function is used and how the welding process is monitored. In
conclusion, an example of a robot program for welding of a simple workpiece is given.
12.2
System principles
Example of station design
A robot station for arc welding can consist of the following main parts:
Robot
- manipulator
- control system
Welding equipment
- current source
- wire feed
- welding gun with hose package
- spatter cleaning equipment
Positioning equipment
- mechanical unit
- drive equipment
- fixtur
Sundries
- operators's panel
- adaption unit
- smoke extractor
- cooling unit
- safety equipment
Programming
S3
12 Arc welding
The requirement for exchange of signals between the robot and the other equipment
depends on the configuration concerned but the basic requirement is in accordance with the
following list:
Analog signals
- reference voltage for control of the current source
- reference voltage for control of the current wire feed unit
Digital output signals
- current source, on/off
- wire feed unit, on/off
- protective gas, on/off
- spatter cleaning, on/off
- contour following active (Applies only under certain conditions.)
- right edge of joint (Applies only under certain conditions.)
- left edge of joint (Applies only under certain conditions.)
Digital input signals
- current indication
- supervision gas/coolant
- ready signal (workpiece fixed)
- command, block welding process
- command, block weaving
- command, manual wire feed
The signal exchange with the positioning equipment can vary considerably depending on
the type of positioner (servo powered or indexing) and should be determined for each
individual case.
All programming and testing of robot programs is performed from the programming unit.
Normal production execution in the station is controlled from the station operator's panel
which should be easily accessible to the operator.
The stations operator's panel can normally contain controls for:
Program start
Ready signal (workpiece fixed)
Program stop
Blocking of welding process and weaving
Manual wire feed
Emergency stop
Programming
S3
12 Arc welding
HANDLING
UNIT
FIXTURE
PROGRAMMING
UNIT
OPERATING
UNIT
CONTROL
CABINET
RELAY
UNIT
NOZZLE
CLEANING
DIGITAL SIGNALS
POWER SUPPLY
Programming
ANALOG SIGNALS
S3
12 Arc welding
REGISTER (AW)
Means:
Control of program or peripheral equipment is performed on the basis of a value in a
number register.
Facts:
The system contains 120 numerical registers, number 0 -119, where one value at a time can
be stored. When a new value is stored, the previous value is written over. Permitted values
are from -32 768 to +23 767.
During program execution, a numerical value can:
Be stored directly.
Be accessed from a digital or an analog input.
Be sent to the peripheral equipment on digital or an analog output.
Be compared with another value in a jump instruction, see "Jump within the program".
Added or subtracted.
Be a:
- Program number at call of a program, see "Program change".
- Number in a position register when moving to a stored position, see "Position
register".
Specify which module in a pattern program is to be called, see "Program structure".
It is also possible to check manually and if necessary, to change the value in one register at
a time.
Used:
The register instruction itself is used for:
Reading the value into a number register directly or with the help of the contents in
other registers.
Accessing a value from a port.
Transmitting a value from a register to a port.
The manual function is used in checking and editing the program.
Executed:
The robot reacts immediately as soon as a manual or a programmed command, as described
above, is concluded.
Programming
S3
6
12 Arc welding
Interface to welding equipment
The robot is provided with an interface for communication with the welding equipment. A
survey of the signals concerned is given below. More detailed instructions with respect to
connection, function parameters, etc., are given in the Installation S3.
Analog outputs
The system is provided with two analog outputs for control of the power source (Port 21)
and the wire feed unit (Port 22). The parameter output to the source -voltage- is expressed
in volts. The parameter output to the wire feed unit is selected using a function parameter
(see Installation S3) and can be either current (expressed in amperes) or wire speed
(expressed in meter/minute or inch/minute). These outputs are normally dedicated to the
functions specified above (via the integrated welding process control) but they can also be
programmed freely (via I/O instructions).
The relation between the parameter value, programmed via the programming unit and the
reference voltage obtained from the analog outputs is determined by function parameters.
See also figure below.
Ref. voltage
from analog
output
Ref. max
10 V
Ref. min
2
Param. max
Param. min
I
50 A
100 A
200 A
300 A
400 A
500 A
Weld
current
S3
12 Arc welding
The functions described below are completely integrated in the robot system and no
programming of these is necessary.
Digital inputs
The robot is provided with five special digital inputs for the arc welding application.
Current indication
(INPUT 7)
The input is used for supervision of the ignition sequence and the continuous welding and
is connected to the current relay in the power source.
The signal is to be active for at least 50ms during the ignition procedure for the arc to be
considered to be struck. If the arc has not struck within the weld start max time specified
in the start data, an error indication is presented.
If during continuous welding the signal is absent for longer than 150 ms, the arc is
considered to have extinguished and an error is presented.
In the event of malfunction the execution of the program is halted and an error printout is
presented.
Gas/coolant
(INPUT 6)
The input is used for supervision of protective gas and/or liquid cooling and is connected to
the flow monitors in the welding equipment.
The input is monitored at weld-start and continously during the welding process.
If the signal is absent, execution of the program is halted and an error is presented.
Manual wire feed
(INPUT 8)
The input is used when the wire is fed forward manually, e.g. when a new wire is
introduced.
The following takes place when the input is set:
- Output 8 (wire feed unit on) is set
- 30 % of max reference voltage is issued to the wire feed unit
The command is only accepted when the program is not execution.
Blocking of welding process
(INPUT 9)
The input is used to block the welding process manually during, for example, testing of the
robot movements.
- If the input is set during program execution, any welding in progress will be halted
as from the next WELD instruction.
Blocking of weaving
(INPUT 10)
The input is used to block a superimposed weaving motion manually during, for example,
testing of the robot movements.
Programming
S3
8
12 Arc welding
Digital outputs
The robot is provided with three special digital outputs for the arc welding application.
Switch-on of power source
(OUTPUT 7)
The output is set when the gas pre-flow time has expired. The signal then remains active
during welding until the weld end procedure has started. During the conclusion procedure,
the output is reset during the cooling time and set again during the crater-fill time and the
burn-back time.
Switch-on, wire feed unit
(OUTPUT 8)
This output has the same function as "Switch-on, power source" except for during the burnback time when it is cleared.
Switch-on, protective gas
(OUTPUT 9)
The output is set approximately 250 ms before the robot is in position for weld-start. It
remains active until the gas post-flow time has expired.
Contour following active
(OUTPUT 19)
The output is set to logical "1" when the welding arc is energized. The output setting will
remain until just before the welding is interrupted. The output is valid when the WELDinstruction is executed with automatic contour following.
Right edge joint
(OUTPUT 17)
The output will be set to logical "1" to indicate the right limit of the weaving during contour
following.
Left edge joint (OUTPUT 18)
The output will be set to logical "1" to indicate the left limit of the weaving during contour
following.
Programming
S3
9
12 Arc welding
Arc welding-I/O is primarily used with ESAB welding equipment and positioner controlled
with external axes and common drive unit.
A description of the principles of three arc welding functions is given below:
Welding cycle during three instructions
Weld start
Weld end
Logical
output 9
Gas on
Logical
output 7
Voltage on
Logical
output 8
Wire feed on
Port 2
Welding
voltage
Port 22
Welding
current
Robot
movement
Programming
Inactive signal
or activity
Hot start
Cooling time
Gas pre-flow
Welding
Filling time
Ignition (incl.
possible strike)
Burn-back time
S3
10
12 Arc welding
Servo controlled positioner with common drive unit
The external axis can be distributed to different stations with the help of the function
STATION so that it becomes possible to activate these in suitable groups.
The stations can be activated/deactivated independently, except when axes share a common
drive unit. An input and an output are connected to each station to permit activation of the
station and to check the status of the station respectively.
Example:
STATION A
STATION B*
STATION C*
STATION D
OUTPUT 1
OUTPUT 2
INPUT 11
INPUT 12
INPUT 13
INPUT 14
and
and
and
and
OUTPUT 12
OUTPUT 13
AXES 7
AXES 8, 9
AXES 10,11
AXES 12
Axes 8 and 10 respectively 9 and 11 share two drive units, which means that the stations B
and C cannot be active simultaneously. This is marked with a "*".
In this case the synchronization order would be the following:
1. C +robot
2. B + A + D +robot
3. B + D is being deactivated so that only A is activated after the synchronization.
A switchover from station B to station C is illustrated by the following time diagram:
Output
Input
Servo
11
Output
Input
0
1
0
- 1
active
0
1
12
Servo
- o1
deactivated
Output
Input
13
0
1
Servo
Programming
12
0
1
activated
S3
11
12 Arc welding
Signals, servo controlled positioner with common drive unit
Logical
input/output
Function
Only one input and one output is used in each station in accordance with the function
parameter STATION.
Non-servo-controlled positioner
A non-servo-controlled positioner can be run with the help of ports 70 and 80. A description
is given in section 12.5.2.
12.3
Program structure
Robot program construction
A robot program for a robot welding station has in principle, the following construction
elements
Welding data, special data fields containing parameter values for control of the
welding procedure. Welding data is programmed under the control button MANUAL, for
preference, separately from the programming instructions themselves.
Main program, includes basic data such as basic speed, TCP and coordinate type,
welding and positioning instructions and other instructions of a general nature as
required. The system welding instructions are of a combination type, i.e. they command
positioning of the welding gun and call of the appropriaten welding data selected. The
welding instructions are programmed under the control button PROCESS (P) and may
be conveniently entered into a subprogram, a welding program.
A series of subprograms, as required, for control of spatter cleaning equipment,
positions, weaving, etc. The system has special instructions for checking and control of
external equipment and spatter cleaning. These instructions are programmed under the
control button PROCESS (P).
A good structure is of great importance in a robot program. It permits easier tracing of
faults, amendments and additions.
Programming
S3
12
12 Arc welding
Even if subprograms may be numbered optionally (except interrupt programs) it is
recommended that subprogram groups be organized so that a certain type is always within
the same number series as shown in the following table.
Program number
Program type
Main program
Interrupt programs
5
100
Welding programs
199
200
External check program
299
300
<
399
400
Weaving program
t
t
C
499
Other subprograms
500
S3
PragraTn-miTig
13
12 Arc welding
40
START DATA which contains parameter values for the weld start procedure.
MAIN DATA which contains parameter values for the welding operation itself.
END DATA which contains parameter values for the conclusion of the welding.
WEAVE DATA, containg parameter values for automatic weaving.
SENSOR DATA, containing parameter values for contour following.
The different types of DATA are called by the weaving instructions when executing the
program.
The instruction AWELD calls START DATA, MAIN DATA, WEAVE DATA and
SENSOR DATA
The instruction WEND calls END DATA.
Main principles for programming
Preparation of a robot program for arc welding should follow a predetermined plan, for
example, as follows:
Examine the workpiece concerned and determine the order in which the different welds
are to be run. Determine also in which positions of the positioner the different joints are
to be welded.
Make an estimate of the parameter values for the different welding runs and program
the necessary welding data.
Program the necessary basic data in the main program.
Program suitable sub-programs for, for example, spatter cleaning and control of the
positioner.
Program the robot motion with POS / AWELD / WEND instructions. The principle on
whicharc welding programming is based is:
- Position the robot to the start or end point required.
- Press the P-button.
- Select the function required (AWELD or WEND)
At suitable places, CLEAN and EXTERNAL CONTROL (EXTC) instructions are
programmed in accordance with the same principle .
When the first version of the program is complete, a test run can be executed to permit
correction of any errors. Test the robot motion first with the welding and any weaving
function blocked.Trimming to obtain optimum welding data is performed with the help
of the override function available by means of the programming unit joystick. (See
further section 12.7.2)
Programming
S3
14
12 Arc welding
12.4
Description and programming of welding data
Welding data; description
WELD DATA consists of special collections of data in which all parameter values necessary
to control the welding process are assembled.
WELD DATA is of five different types:
START DATA
MAIN DATA
END DATA
WEAVE DATA
SENSOR DATA
WELD DATA is programmed under the control button MANUAL by means of a dialogue
procedure in a manner similar to that used for other programming. Parameter values are
expressed in technical terms (V, A, mm/s, etc.) and it is easy to check and amend values
programmed.
Restrike is defined under START DATA. It removes coating from the point of the weld
wire by performing a zig-zag weaving at one point. The weaving movement is perpendicular
to the welding direction in all cases except when the following point is a circle point. The
weaving movement will then be perpendiculer to the vector from the start point to the
circle point. The weaving motion will continue until the arc is lit, then the movement will
terminate and return to the middle line.
Restrike is defined by defining the amplitude and weaving time. If these are not given, the
weld start will be performed without restrike.
WEAVE DATA is a data group which contains all data necessary for the weaving
movement of the welding gun. They are:
Weave-type:
Amplitude:
Total
width
Zigzag
Triangular
V-shape
Wristweave
Cross time:
The cross time is the time required for the movement, by the
shortest path in the weaving pattern, between the points
which limit the weaving. A specified cross time gives
different weaving frequencies determined by the weaving
pattern.
During the dwell time, the TCP is moved parallel with the
direction vector from point 1 to point 2 with triangular and
V-shaped weaving in accordance with the description below.
Programming
S3
15
12 Arc welding
During the dwell time, the TCP is moved parallel to the
direction vector from point 3 to point 4 with triangular
weaving and from point 5 to point 6 with V-shaped weaving
in accordance with the description below.
During the dwell time, the TCP is moved parallel with the
direction vector from point 5 to point 6 with triangular
weaving. With V-shaped weaving, there is corresponding
movement with both passages of the mean point, i.e. from
point 3 to point 4 and from point 7 to point 8 in accordance
with the description below.
Seam angle:
The seam angle is the opening angle of the triangular and Vshaped weaving. When the forward bias is not zero, the
seam angle is defined as the opening angle of the weaving
triangle projected on a plane at right angles to the direction
vector.
Forward bias:
Weaving angle:
Perpendicular weaving:
Note!
Dwell time left and right (and middle at V-shaped and triangular weaving) should not be
chosen less than 0.05 s, besides when weaving with maximum weaving frequency. This
dwell time is needed to obtain full amplitude at weaving.
Zig-zag, triangular and V-shaped weaving
The weaving points which are superimposed on the process movement are described below
in a coordinate system which is given by the direction vector, the weaving vector and the
TCP vector.
Programming
S3
16
12 Arc welding
The weave-coordinate system will adapt to the path so that the weaving will be carried out
perpendicular to the path for velocities down to 2,7 mm/s. Below this velocity, the operator
must himself check that the weaving is oriented correctly in relation to the path of the
ordinary movement.
Weaving vector
Direction vector
TCP
\
\
x
Base point
TCP vector
Programming
S3
17
12 Arc welding
WEAVE PATTERN
Zig-zag
V-shape
Triangular
Programming
S3
18
12 Arc welding
The tool direction defined by the TCP and base point, is always in the plane formed by the
TCP vector and the direction vector in the weaving-coordinate system. The weaving vector
is normally orientated perpendicular (90) to this plane, which we call the tool-plane.
The direction of the weaving vector to the tool plane can be varied by help of the weaving
angle parameter according to the following figures.
Zig-zag weaving, seen from the front.
w
Weaving vector
Weaving angle 90
TCP vector
Zig-zag weaving, seen from the front.
w
Weaving vector
Weaving angle
- 100 Weaving
TCP vector
S3
Programming
19
12 Arc welding
The three dimensional patterns, V-shaped and triangular weaving, are always performed
symmetric to the normal of the weaving vector, as shown below.
V-shaped weaving, seen from the front.
Weaving Vector
Weaving angle
TCP vector
Triangular weaving, seen from the front.
Weaving Vector
Weaving angle
TCP vector
S3
Programming
20
12 Arc welding
Weaving points
Definitions:
V :
Vv :
Vh :
Am:
L :
H :
F :
Pn (m):
Triangular weaving
POO) = o
Pl(l) = -L
Pl(2) = A/2
Pl(3) = A/ (2*tan(F/2))
P2(l) = Pl(l) + W * H
P2(2) = Pl(2)
P2(3) = Pl(3)
P3(l)= P2(l)
P3(2) = -A/2
P3(3)= P2(3)
P5(l) = P4(l) + L
P5(2) = 0
P5(3)= 0
P(X1) = 0
P(K2) = 0
PO
PI
P2
P3 P4 P5 P6
Output signals
Left
Output signals
Right
The output signals are valid at least 15 ms.
Programming
S3
21
12 Arc welding
V-shaped weaving (also Zig-zag weaving, but then with a seam angle of 180)
P0(l) = 0
P0(2) = 0
POO) = 0
Pl(l) = -L
Pl(2) = A/2
Pl(3) = A/ (2*tan(F/2))
P2(1) = P1(1) + W * H
P2(2) = Pl(2)
P2(3) = Pl(3)
P3(l) = P2(l) + L
P3(2)= 0
P3(3)= 0
P5U) = P4(l) - L
P5(2) = -A/2
P5(3) = A/(2*tan(F/2))
P7(l) = P6(l) + L
P7(2)= 0
P7(3)= 0
P0
PI
P2
P3
P4
P5
P6
P7
P8
Output signals
Left
Output signals
Right
The output signals are valid at least 15 ms.
Programming
S3
22
12 Arc welding
Wrist weaving
Wrist weaving is a special type of weaving for axis 6. It enables weaving in confined spaces
where weaving with axes 1-3 is impossible. Wrist weaving can also be used when a higher
weaving frequency is required as the dynamic mass is smaller.
Designations
Weaving arm is an arm which extends from the TCP to the weaving axis. The arm is
perpendicular to the weaving axis.
Weaving plane
Weaving plane is the plane in which the weaving arm moves.
The wrist weaving is superimposed on the ordinary movement, but there is no vertical
error compensation. See the figure below. To reduce the vertical error, the weaving arm
should be relatively large and the amplitude small.
The robot operator must check that the weaving plane is oriented correctly in relation to
the ordinary movement. The rules which apply otherwise to the other types of weaving
apply also to the wrist weaving.
weaving arm
vertical error
A corner path (parabolic path) is generated at a corner for normal movements, but not for
WEAVE data movement. Weaving starts when entering the zone of the start position and
ends when entering the zone of the finish position.
If the weld data is changed at an intermediate position a fine point is automatically
defined. To avoid a temporary halt in robot movement at the fine point the programmer
should change the position definition to a PATH or CORNER1.
Weaving at maximum weaving frequency
The parameters shold be chosen as below when weaving at maximum weaving frequency is
used.
Zig-zag, V-shaped and triangular weaving (maximum weaving frequency 5 Hz)
Cross time = 0.1 s
Dwell time right = 0 s
Dwell time left = 0 s
Dwell time middle = 0 s
Programming
S3
23
12 Arc welding
Wrist weaving (maximum weaving frequency 10 Hz)
Cross time = 0.05 s
Dwell time right = 0 s
Dwell time left = 0 s
Note! Dwell time left and right (and middle at V-shaped and triangular weaving) should
not be chosen less than 0.05 s, besides when weaving with maximum weaving frequency.
This dwell time is needed to obtain full amplitude at weaving.
The handling of weaving outputs for contour following (output 17 and 18) are also affected
when the dwell times are set to 0 s for weaving with maximum weaving frequency. These
outputs are therefor set 0.05 s earlier than normal to be able to be set and cleared in pace
with the maximum weaving frequency (see figures below).
AMPLITUDE
_
i
5
\a20f
1i*.
0.05
.05 0.10 0.15 ^ V
O.j
\0.
t[s]
\
L05W 0 . 1 5 W 0 J 5 W
0.05
A/. .
W
t[s]
Programming
24
S3
12 Arc welding
Sensor data
Sensor data is a collection of data containing necessary data for definition of contour
following during AWELD. They are:
Side corr. sensor no.:
Normally the weaving vector corresponds to the side correction vector, which means that
the side correction angle normally is 0. The direction can however be adjusted according to
the figures below.
The height correction vector corresponds to the TCP vector in both figures.
Zig-zag weaving, seen from the front
\J
Side correction vector
Side correction
angle - +10
_^ Weaving vector
Weaving angle
-100
TCP vector
Zig-zag weaving, seen from the front correction angle normally is 0. The
direction can however be adjusted according to the figures below.
Side correction
angle - -30
, Weaving vector
Programming
25
S3
12 Arc welding
Fifty different collections of each MAIN DATA type can be defined.
Twenty different collections of each WEAVE DATA type can be defined.
Ten different data collections of each of the other WELD DATA types can be defined.
The table below shows the parameter values which can be programmed.
Current is replaced by wire speed if wire speed is selected in the system parameters, (see
Installation S3).
Type Parameter
Ignition voltage
Ignition current
Ign. wire speed
Gas pre-flow
Start Hot start voltage
data Hot start current
Hot st. wire speed
Hot start time
Restrike amplitude
Restrike weave time
Weld st. max time
Weld voltage
Main Weld current
data Weld wire speed
Weld speed
End
End voltage
End current
End wire speed
Given in
Volt
Ampere
m/min
inch/min
seconds
Volt
Ampere
m/min
inch/min
seconds
millimeter
seconds
seconds
Volt
Ampere
m/min
inch/min
mm/s
inch/min
Volt
Ampere
m/min
inch/min
seconds
seconds
seconds
seconds
Basic
value
0.0
0.0
0.0
0
0.00
0.0
0.0
0.0
0
0.00
0.0
0.00
2.00
0.0
0.0
0.0
0
0.0
0
0
0
0
0
1
0.05
0
0
zig-zag
1.0
1.00
Min.
Max.
value value
-40.0
40.0
-400.0 400.0
-20.0
20.0
-787
787
0.00
99.99
-40.0
40.0
-400.0 400.0
-20.0
20.0
-787
787
0.00
99.99
0.0
99.99
0.00
99.9
0.50
99.99
-30.0
0
0.0
0
0
0
-40.0
-400.0
-20.0
-787
0
0
0
0
100.0
1000.C
50.0
1968
200.0
476
40.0
400.0
20.0
787
99.99
99.99
99.99
99.99
Resolution
0.1
0.1
0.1
1
0.01
0.1
0.1
0.1
1
0.01
0.1
0.01
0.01
0.1
0.1
0.1
1
0.1
1
0.1
0.1
0.1
1
0.01
0.01
0.01
0.01
Programming
S3
26
12 Arc welding
The following diagram shows the relation between different signals, times, etc.
START
DATA
END
DATA
MAIN
DATA
Y/////////A
Y///Y//Y//////Ayyyyyyyyyyyyyy Gas
vyyyyyyy/.
YA
-Weld voltage on
yyyyyyyyy,yyyyyyyyyyyyyyy
"Weld current on
Contour
follower on
i/////////.
V/////////////A
_Ref. voltage
current source
Y///////////////A
Ref. voltage
wire feed unit
xzz&yy,Y/////////////A
-Robot movement
Weaving
-movement
Restrike
Y7L
TO
Tl
T2
T3
T4
I _. l _. I I
T5
T6
T4 T7
Programming
S3
27
12 Arc welding
Programming of weld data
Welding data is programmed under the control button MANUAL. Begins with:
1.
2.
3.
4.
Press SCAN.
Press SCAN.
Press SCAN.
Press WDATA
10 POS V = 60% PATH
CLEAR
DISK
WINCH IN/OUT
SCAN
SCAN
SENSOR
SCAN I
f :
<
Si
Programming
S3
28
12 Arc welding
After the above sequence, START DATA, MAIN DATA, END DATA, WEAVE DATA or
SENSOR DATA can be programmed.
S3
29
12 Arc welding
25. Write the restrike weaving cross time required with the numerical button set.
26. Press ENTER. (* See point 5)
27. Press ENTER.
28. Write the weld start max time required with the numerical button set.
29. Press ENTER. (* See point 5)
30. Press ENTER.
N3!
If it is decided to retain the basic value for a parameter, the sequence can be
continued by pressing ENTER directly, instead of writing another numerical
value.
Programming
S3
30
12 Arc welding
1.
1
1 START
MAIN
END
SCAN
...
*$
< j
* i
y ;
3.
4.
CE
VOLTAGE (V) =
4|| 5|| 61
ENTER
15
QUO
ran
5.
CE
1 VOLTAGE(V) = 15
Programming
mI
ENTER!
S3
31
12 Arc welding
6.
7.
CE
ENTER
9.
CE
ENTER
I
START DATA 1 GAS PREFLOW TIME (S) = 0.0
Programming
S3
32
12 Arc welding
10.
11.
12.
CE
ENTER
I
START DATA 1 GAS PREFLOW TIME (S) = 1.5 0
CE
13.
-10
14.
15.
ENTER
VOLTAGE (V) =
Programming
33
ENTER
S3
12 Arc welding
1 STARTDATA 1 HOT CURR DIFF (A) = 0.0
CE
, CURRENT (A) =
>> --
f.-ii '
- -'- '
ENTERI
" ?
ri
16.
17.
18.
TTME(S) =
ENTER
19.
20.
Programming
S3
34
21.
12 Arc welding
CE
ENTER
ODO
START DATA 1 RESTREKE AMPL (MM) = 0.0
AMPLITUDE (MM) =
CE
-T J L-r
22.
23.
CE
ENTER
, > > S v ** vw v
24.
"i-- ^
"""^yr-
ENTER
25.
26.
TIME(S)=10
ENTER
S3
Programming
35
12 Arc welding
27.
CE
ENTER
28.
29.
30.
CE
ENTER
I
START DATA AW START MAX. TIME = 1.50
CE
TIME(S)=
ENTER
S3
Programming
36
12 Arc welding
Programming MAIN DATA
1. Press function button MAIN.
2. Select the MAIN DATA number required (1-50) with the numerical button set. Data
numbers not used are indicated on the display with -.
3. Press ENTER.
4. Write the weld voltage value required with the numerical button set.
5. Press ENTER (* The value programmed is now shown on the display. New values can
be programmed directly if so required.)
6. Press ENTER.
7. Write the weld current/wire speed value required with the numerical button set.
8. Press ENTER. (* See point 5)
9. Press ENTER.
10. Write the weld speed required with the numerical button set.
11. Press ENTER. (* See point 5)
12. Press ENTER.
NJ3!
If it is decided to retain the basic value for a parameter, it is possible to proceed
with the sequence by pressing ENTER directly instead of writing another
numerical value.
Programming
S3
37
12 Arc welding
1.
3.
MAIN DATA NO =
* *s
4.
CE
*
ENTER
"iJ
] VOLTAGE(V) =
ENTER^
s
_s
AS!
27
5.
VOLTAGE(V) = 27
Programming
ENTER
S3
38
12 Arc welding
6.
7.
9.
150
CE
ENTER
CURRENT (A) =
ENTER
Programming
S3
39
12 Arc welding
10.
11.
12.
Programming
CE
ENTER
S3
40
12 Arc welding
Programming END DATA
1. Press the function button END.
2. Select the END DATA number required (1-10) with the numerical button set. Data
numbers not used are indicated on the display with -.
3. Press ENTER.
4. Write the end voltage difference value required with the numerical button set.
5. Press ENTER. (* The value programmed is now shown on the display. A new value can,
if required, be programmed directly.)
6. Press ENTER.
7. Write the end current/wire speed difference value required with the numerical button
set.
8. Press ENTER (* See point 5)
9. Press ENTER.
10. Write the gas post-flow time required with the numerical button set.
11. Press ENTER. (* See point 5)
12. Press ENTER.
13. Write the burn-back time required with the numerical button set.
14. Press ENTER (* See point 5)
15. Press ENTER
16. Write the cooling time required with the numerical button set.
17. Press ENTER (* See point 5)
18. Press ENTER
19. Write the fill time with the numerical button set.
20. Press ENTER (* See point 5)
21. Press ENTER
NJB!. If it is decided to retain the basic value of a parameter, the sequence can be
continued by pressing ENTER directly instead of entering another numerical
value.
Programming
S3
41
12 Arc welding
1.
1
i
1
START
MAIN
END
|
?
'
ENDDATANO =
CE
ENTER
CE
ENTER
***.!
2.
3.
END DATA NO =
txfflmmm&
ENTER8
CE
VOLTAGE (V) =
hi
-15
5.
;-'-f
ENTER::
'
T
Programming
S3
42
12 Arc welding
6.
CE
ENTER
;--s"g>
3|
7.
-180
"CURRENT DIFF1
END DATA 1 END CURRENT DIFF (A) = 0.0
ENTER
9.
ENTER
CE
OrO
'?:
Programming
CE
. .
: V s
/ w~
ENTER
* r'-A 5 S S B ^ . . . <
S3
43
12 Arc welding
10.
11.
END DATA 1 GASPOSTFLOWTIME (S) = 1.00
TIME (S) = 1.5
CE
ENTER
12.
END DATA 1 GAS POSTFLOW TIME (S) = 1.50
CE
ENTER
ENTEES
CE
TTME(S) =
':
13.
14.
15.
TIME(S) =
VI H IProgramming
ENTER
S3
44
12 Arc w e l d i n g
16.
17.
CE
jTIME(S) = 2.0
*
'
*%
s!
18.
*
1
ENTER 1
43883888$$$
1i
.*
TTMEG3) =
1
| END DATA 1 FILL TIME (S) == 0.00
CE
| TEME(S) =
' s *. r. "" *
' :;
ENTER
If
'>
$v
19.
2.0
20.
Programming
S3
45
12 Arc welding
21.
i
1 END DATA 1 FILL TIME (S) = 2.00
TIME(S) =
CE
START
*
18888
-ils
i
MAIN
ENTER!
END
?S4-
S3
Programming
46
12 Arc welding
Programming WEAVE DATA
The different parameters are described in Chapter 12.4.
1.
2.
Select required WEAVE DATA number (1-20) with the numerical button set. Not used
data numbers are marked with " -" on the display.
3.
Press ENTER
4.
5.
6.
Press ENTER (Now the programmed value is displayed. A new value can be entered if
required).
7.
Press ENTER
8.
Specify required cross time (s) with the numerical button set.
9.
S3
47
12 Arc welding
25. Press ENTER.
26. Specify required weave angle (deg) with the numerical button set.
27. Press ENTER (see point 6).
28. Press ENTER.
29. State whether the weaving motion always is to be perpedicular to the programmed
robot path or not (YES/NO).
30
Press ENTER
31. Specify if reset is required. Then the starting menu will return.
10 POS V = 60% PATH
1.
WEAVE SENSOR
SCAN
$r
2.
3.
WEAVE DATA NO = 1
Programming
S3
48
12 Arc welding
WEAVE DATA 1 TYPE ZIG-ZAG
ZIG-ZAG TRIANGLE V-SHAPE
WRIST
ENTER
WRIST
ENTER
.*v . .*..;
"
...>.'.-.:....^..r
' > '
QL1Q "
QLllH
Programming
S3
49
12 Arc welding
WEAVE DATA 1 AMPUTUDECMM) = 1.0
CE
ENTER
CE
-i>-;-#<,
ENTER
-?';-,yj
JJL3L3J
8.
ran
WEAVE DATA 1 CROSS TIME (S) = 1.00
9.
CE
ENTER
~ - ' s' r \
4
10.
S3
Programming
50
12 Arc welding
WEAVE DATA 1 DWELL TIME L( S) = 0.05
11.
12.
| DWELLTIMEL = 0.55
il
ENTER \
CE
wsssenssM
13.
1
| WEAVE DATA 1 DWELL TIME R (S) = 0.05
| DWELLTIMER =
CE
ENTER
|
i!
P
0.01
14.
15.
Programming
S3
51
12 Arc welding
WEAVE DATA 1 DWELL TIME R( S) = 0.01
16.
DWELL TIME R=
CE
ENTER
11
CE
ENTER
M
ill 2|| 31
0<01
QQIQ
17.
18.
1 DWELLTIMEL =
CE
1
ill
19.
sr
IF WRIST
WEAVING,
PAGE 54
ENTER 1
v !
5''
IF ZIG-ZAG
WEAVING,
PAGE 53
SEAM ANGLE =
20.
S3
Programming
52
12 Arc welding
21.
SEAMANGEL=80
IF ZIG ZAG
WEAVING
WEAVE DATA 1 SEAM ANGLE (DEG) = 80
SEAM ANGEL =
22.
IF WRIST
WEAVING
23.
24.
25.
FORWARD BIAS =
Programming
S3
53
12 Arc welding
CE
ENTER
26.
27.
IF WRIST
WEAVING
28.
YES
ENTER
NO
31.
Programming
S3
54
12 Arc welding
Programming SENSOR DATA
The various parameters are described in chapter 12.4.
1. Press the function key SENSOR.
2. Select the desired SENSOR DATA -number (1-10) on the numerical keyboard. Data
numbers not in use are displayed as"-".
3. Press ENTER.
4. Type the desired sensor number for side correction on the numerical keyboard.
5. Press ENTER. (The programmed value is now displayed. A new value can be entered
immediately if desired.
6. Press ENTER.
7. Type the desired BIAS value on the numerical keyboard.
8. Press ENTER.
9. Press ENTER. (See point 5).
10. Type the desired sensor number for height correction on the numerical keyboard.
11. Press ENTER. (See point 5).
12. Press ENTER.
13. Type the desired sensor BIAS on the numerical keyboard.
14. Press ENTER. (See point 5).
15. Press ENTER.
16. Type the desired side correction angle on the numerical keyboard.
17. Press ENTER. (See point 5).
18. Press ENTER.
Programming
S3
55
12 Arc welding
SENSOR DATA NO =
SENSOR DATA NO =
CE
ENTER
7
| SENSOR DATA 1 SIDE = 0 BIAS = 50
CE
; SIDE=
ENTER
it,
's s
4.
5.
CE
SEDE= 1
|
ENTER
OS
*l in in i in in II '
s v;
S3
Programming
56
12 Arc welding
SENSOR DATA 1 SIDE = 1 BIAS = 50
SIDE =
6.
7.
8.
1 BIAS = 55
CE
V.,
fe.
v'
j
ENTERi
^ '
9.
10.
S3
Programming
57
12 Arc welding
SENSOR DATA 1 HEIGHT = 0 BIAS = 50
11.
HEIGHT=2
CE
ENTER
12.
HEIGHT=2
CE
I
ENTEP
BIAS=
ENTER
LJJUJG
13.
0
SENSOR DATA 1 HEIGHT = 2 BIAS = 50
14.
BIAS = 45
CE
ENTER
I
SENSOR DATA 1 HEIGHT = 2 BIAS = 45
15.
CE
BIAS=
ENTER
16.
Programming
000
000
EEQ
CE
ENTER
S3
58
12 Arc welding
SENSOR DATA 1 S CORR ANGLE (DEG) = 0
17.
CE
ENTEP
18.
ENTER
i
10POSV=10%
SCAN
WEAVE SENSOR
Programming
S3
59
12 Arc welding
Computer link
In systems equipped with a computer link function, the weld data area can be stored on or
accessed from the superior computer. The transfer is performed in accordance with the
following:
1.
2.
3.
4.
Programming
S3
60
12 Arc welding
12.5
12.5.1
Programming
S3
61
12 Arc welding
WEND instruction
This instruction is used to program positioning forward to a point for weld end and call of
data for the weld end procedure. The instruction is given automatically the speed
percentage (this is significant only when executing instruction by instruction, see section
12.7.4) which applies for the P- or POS-instruction most recently programmed and also fine
point The instruction is also given the END DATA number which applies for the WENDinstruction most recently programmed. If required, a new speed percentage and new data
number can be entered and/or the positioning accuracy can be adjusted to PATH or
COENER1.
When the instruction is executed the following takes place:
The robot is positioned to the location specified with the welding speed programmed in the
MAIN DATA called by the preceding AWELD-instruction.
When in position (or at zone) the weld end procedure is executed in accordance with the
END DATA specified in the instruction.
If SPS has been disconnected (contour following), it is automatically reconnected.
CLEAN instruction
Positioning of the robot to a point for spatter cleaning and call of a robot sub-program is
programmed with this instruction.
The positioning is given automatically the speed percentage which applies for the P- or
POS-instruction most recently programmed and PATH. The instruction is also given
automatically the sub-program number which applies for the CLEAN instruction most
recently programmed. If required it is also possible to enter a new speed percentage or a
new subprogram number and/or to change the positioning to fine point or CORNER1.
When this instruction is executed, the subprogram is called when the positioning is
completed (reached zone).
The subprogram called is to contain instructions for control of the spatter cleaning
procedure.
12.5.2
Programming
S3
62
12 Arc welding
When the instruction is executed, the subprogram is called after the positioning is
complete. The subprogram called is to contain instructions to control the external
equipment concerned.
EXTPOS instruction
This instruction permits positioning of external equipment without servo control.
This instruction is used to program positioning of the robot forward to a point and
transmission of position information to external equipment.
The position of the external equipment is read and stored in the instruction when
programming. (Position information is accessed via port 70 and transmitted via port 80.
Compare with the instructions GET and TRANSFER.) The positioning is given
automatically the speed percentage which applies for the P- or POS-instruction most
recently programmed.
If required, a new speed percentage can be entered and/or the positioning can be changed to
fine point or CORNERl.
When the instruction is executed, the position information is transferred after the
positioning is completed and an acknowledgment is received.
Programming
S3
63
12 Arc welding
12.6.1
WEND
CLEAN
EXTC
EXTPOS
There are thus three types of arc weld instructions and two types of positioner instructions
available. The following sections describe in detail how these are programmed.
Note!
12.6.2
Programming
S3
64
Note!
12 Arc welding
The relevant START, MAIN DATA,WEAVE and SENSOR DATA numbers are presented
on the display (at the end of the instruction).
PROCEDURE 0
Program positioning with subsequent weld start and/or welding according to the following:
1. Press control button P.
2. Press function button AWELD
WEND
CLEAN
EXTC
SCAN
PATH
ZONE
WDATA
SCAN
1/2/3/4
The AWELD instruction is now completely programmed. If a new speed, new positioning
accuracy and/or new weld data are to be selected, continue with the corresponding
procedures (section 12.6.4).
S3
Programming
65
12 Arc welding
A. The POS POS instruction gives the position argument for the movement in accordance
with chapter 6.10.
B. The POS LOC instruction gives the location argument for the movement, in accordance
with chapter 6.12.
C. Definition of positioning time is done with the instruction TIME as in chapter 6.15.
Note!
When the instruction TIME is given, the specified positioning time will override
the given process speed.
Program a WEND instruction
The WEND instruction is used to program:
Positioning to a fine point.
Call of END DATA and execution of the END procedure.
When the WEND instruction is executed the robot will:
1. Position to the programmed position with the appropriate accuracy or zone most
recently specified.
2. Perform a weld end in accordance with the END DATA specified in the instruction.
Only then is the next instruction executed.
The programming of the WEND instruction is described under procedure 0 below.
The selection of new speed, new positioning accuracy and/or new DATA are described
under the procedures A, C and D respectively in section 12.6.4.
PROCEDURE 0
Program positioning with the subsequent weld end in accordance with the following:
1. Press control button P.
2. Press function button WEND
The WEND-instruction programming is now complete. If a new speed, new positioning
accuracy and/or new weld data is to be selected, continue with the corresponding procedure
(section 12.6.4).
Programming
S3
66
12 Arc welding
WEND
CLEAN
EXTC
SCAN
Weave data no
100 POS V= 100% FINE WELD 5
V%
PATH
ZONE
WDATA
SCAN
TIME
f
Programming
S3
67
12 Arc welding
A. The POS POS instruction gives the position argument for the movement according to
chapter 6.10.
B. The POS LOC instruction gives the location argument for the movement according to
chapter 6.12.
C. Definition of positioning time is done with the instruction TIME as in chapter 6.15.
Note!
When the instruction TIME is given, the specified positioning time will override
the given process speed.
Programming of a CLEAN instruction
The CLEAN function is used for simultaneous programming of:
Positioning to a PATH
Call and execution of a special subprogram for spatter cleaning
When the CLEAN instruction is executed, the robot will:
1. Position to the zone.
2. Execute the subprogram.
Only then is the next instruction executed. The programming of the CLEAN instruction is
described under procedure 0 below.
Selection of new speed and new positioning accuracy and/or new subprogram number is
described under the procedures A, C and B respectively in section 12.6.4.
PROCEDURE 0
Program positions with subsequent call of subprogram for spatter cleaning according to the
following:
1. Press control button P.
2. Press function button CLEAN.
WEND
CLEAN
EXTC
SCAN
PATH
ZONE
PROGRAM SCAN
S3
68
12 Arc welding
12.6.3
WEND
CLEAN
*/'
EXTC
^
^ s
^ ' ^
SCAN
^
'
'
%%
V
s
ZONE
PROGRAM SCAN
The EXTC instruction is now completely programmed. If a new speed, new positioning
accuracy and/or new subprogram are to be selected, continue with the corresponding
procedures (section 12.6.4).
Programming
S3
69
12 Arc welding
Program an EXTPOS instruction
The EXTPOS function is used to program at the same time:
Positioning to a PATH point
Transfer of position information to external equipment. This position information has
been accessed and stored in the instruction when programming.
When the EXTPOS instruction is executed, the robot will:
1. Position to the programmed position at the zone currently specified.
2. Transmit the position information.
3. Await acknowledgment.
Only then is the next instruction executed. The programming of EXTPOS instructions is
described under procedure 0 below.
Selection of new speed and new positioning accuracy described under the procedures A and
C respectively in section 12.6.4 below.
PROCEDURE 0
Program positioning with associated transmission of position information according to the
following:
1. Press control button P.
2. Press SCAN.
3. Press function button EXTPOS.
1.
2.
WEND
CLEAN EXTC
1
3.
SCAN
/>:
'{
_, <
v%
PATH
ZONE
The EXTPOS instruction is now completely programmed. If a new speed and/or new
positioning accuracy are to be selected, continue with the corresponding procedures (section
12.6.4).
Programming
S3
70
12 Arc welding
12.6.4
Common functions
PROCEDURE A
Select a new speed percentage in accordance with the following:
1. Press function button V(%).
2. Write the speed percentage required (0.1 - 799.9 %) with the numerical button set.
3. Press function button ENTER.
1.
2.
PATH
ZONE
WDATA
SCAN
CE
VELOCITY (%) =
ENTER
3.
V%
Programming
PATH
ZONE
WDATA
S3
71
12 Arc welding
PROCEDURE B
Select a new subprogram number in accordance with the following:
1. Press function button PROGRAM.
2. Write the subprogram number required (1-9999) with the numerical button set.
3. Press function button ENTER.
1.
IL
PATH
-1
100
ZONE
PROGRAM
SCAN j
2.
3.
V%
Programming
PATH
ZONE
PROGRAM
SCAN
S3
72
12 Arc welding
PROCEDURE C
Select a new positioning accuracy in accordance with the following:
PATH POINT
1. Press function button PATH.
1.
ZONE
WDATA
SCAN
ZONE
WDATA
SCAN
ZONE
WDATA
SCAN
FINE POINT
1. Press function button ZONE.
2. Press function button FINE.
1.
2.
PATH
CORNER1 CORNER2
-;.
|
;>-;
mm
CORNER POINT
1. Press function button ZONE.
2. Press function button CORNER 1 or CORNER 2.
Programming
S3
73
12 Arc welding
PROCEDURE D
Select a new data number in accordance with the following:
START, MAIN DATA, WEAVE or SENSOR DATA number
1. Press function button WDATA.
2. Press either function button START, MAIN,WEAVE or SENSOR depending on which
data type is to be changed.
3. Write the new data number with the numerical button set.
4. Press ENTER
1.
ZONE
WDATA
SCAN
I
100POSV=100% FINEAWELDl/1/1/1
START
MAIN
WEAVE
SENSOR
":
l)
100POSV=100% FINE A W E L D l / 1 / 1 / 1
CE
START DATA NO =
StS.
3.
4.
CE
/l I
ENTER |
I't 5s * } >
5.
V%
"
N.
ZONE
WDATA
SCAN
\-V
* :
Programming
S3
74
12 Arc welding
END DATA number
1. Press function button WDATA.
2. Write the new data number with the numerical button set.
3. Press ENTER.
1.
V%
PATH
ZONE
!\..?
3E '""""
SCAN 1
WDATA
#s .'
.!?.. sit
"'
.(.
3.
CE
ENTER 1
' ^1
100POSV=100% FINEWEND2
ZONE
Programming
WDATA
SCAN
S3
75
12 Arc welding
12.6.5
EXTFRAME
External axes are used for moving workpieces or the whole robot unit The position and
direction of these axes are not known for the robot control system and therefore
interpolation between internal and external axes is not possible.
With help of the function EXTFRAME a geometric relation of an external axis and the
robot coordinate system can be described. The EXTFRAME brings by that one interpolated
external axis to the robot system. This means that it is possible to perform linear and
circular paths with the robot and the interpolated axis at the same time. The programming
is as simple as for a stillstanding external axis. Joining of tubes can, for example, be
programmed with a few points even if the tube has been mounted excentric or not even
parallel with a rotating interpolated axis.
The real relative velocity between the edge of the tool and the workpiece is the programmed
velocity. This means that the weld parameters incl. the process velocity easily can be
adjusted afterwards, without path interfering.
Programmed weaving will be carried out relative to the moving workpiece without more
programming work then with a stillstanding workpiece.
Note! To avoid path following faults because of different dynamic quality of the external and
internal robot axes must, in certain cases, the weld velocity be limited. To get a good result
in respect of path following is it important that the KP-value for the external axis is
optimizied.
FUNCTION OVERWEEV
- Gear ratio for the external axis is defined under the function parameters.
- A rotating or linear external axis is defined in the EXTFRAME refering to location and
direction related to the robot coordinate system.
- 20 different EXTFRAMES can be defined. 1-10 for rotating external axes, 11-20 for
linear external axes.
- As standard the movement of all external axes is blocked when the EXTFRAME, for
certain axis is active.
- It is possible to exclude axes, that don't influence the geometric determination of the
interpolated axis, from blocking.
- Before EXTFRAME (n) is activated, external axes that have becomes blocked at
activation, can be run to positions valid at the time of definition of the EXTFRAME (n)
with the help of the function EXALIGN.
- Activation of earlier defined EXTFRAMES is done either manually, through
programming or execution of the EXTFRAME instruction. EXTFRAME 0 deactivates
the EXTFRAME function.
An active EXTFRAME will have the following effects on the system:
- during program execution interpolation will be carried out with the EXTFRAME
active.
- all external axes except the ORBIT axes and those axes not specified as blocked axes
(BLOCKAX) are blocked.
Programming
S3
76
12 Arc welding
At activation several checks are conducted concerning the possibility of proper activation
with respect to active REFPOINT, active STATIONS and the positions of those external
axes wich must have a fix position when the EXTFRAME is active (i.e. which were defined
as BLOCKAXes for that specific EXTFRAME). If any of these checks fails, the system will
not activate the EXTFRAME, but respond with an error message.
Before activating an EXTFRAME it is necessary to move all interfering external axes to a
position where the EXTFRAME data set is valid. For this purpose it is possible to align the
interfering external axes according to each defined EXTFRAME. Alignment towards an
EXTFRAME means, that all external axes, which are supposed to be at a fixed position for
that same EXTFRAME, are moved to the positions they had at EXTFRAME definition
time. This is done under AUTO menu; EXALIGN.
To be able to work on different external axes or to handle indexed tilting of an external axis
by another external device it is possible to switch between these data sets within the robot
program.
EXTFRAME definition is carried out by positioning the robot's TCP to a special calibration
point on the ORBIT (or on the mounted workpiece), then two times turning the axis about
90 degrees and positioning the robot's TCP to the same point on the ORBIT each time the
ORBIT has been moved. From these three positions the system will calculate the movement
of the external axis.
Only two points are necessary for a linear axis. There are two cases:
- When the robot stands in front of the external axis the calibration position should be
fixed on the moving object (as for the rotating axis in the case above). The TCP of the
robot is placed on the calibration position, there after the object is moved at least 1
meter. Finally is the robots TCP placed on the same calibration point again.
-
When the robot is mounted on the trackmotion the calibration position is a position on
the fix object. The robot is once moved to the calibrationpos on that object. Then the
external axis (with the robot mounted) is to be moved for an optional distance (dist.
should not be less than 1 mtr for accuracy reasons). Finally the robot's TCP has to be
repositioned to the fix calibrationpos. Observe, that the robot don't need to have a
certain relation toward the external axis it is mounted on, i.e. it is not necessary to take
care of parallelity of (e.g.) extax movement direction and y-axis of the robot system.
Note that the zero (origo) position of the new coordinate system for these linear cases is in
the middle, between the two calibration locations. Transport from origo can be done
4096 mm.
For improved accuracy a special tool with well defined TCP can be used. It is recommended
not to reorientate the TCP during the calibration procedure.
During EXTFRAME definition the movements of all other external axes, except the ORBIT
axis, are blocked to avoid unwanted movements of external axes which might interfere with
the calibration.
In the end of the EXTFRAME definition it is possible to define those external axes, which
shall not be blocked when the EXTFRAME is active.
After the EXTFRAME definition is completed it is possible to activate the defined
EXTFRAME via the pushbutton ACTIVE.
Programming
S3
77
12 Arc welding
SCANx5
EXTFRAME REFP
HOMEPOS SCAN
NotforEXTFRAMEO
Programming
S3
78
12 Arc welding
| EXTFR 2 NO
ONLY FOR
LINEAR CASES
(EXTFRAME > 10
I
EXTFR2POS1
BREAK
POSl
BREAK
j EXTFR 21 POS2
BREAK
j
"A
EXTFR 2POS3
BREAK
NOT FOR
LINEAR CASE
S3
Programming
79
12 Arc welding
| EXTFR 2-
1 P0S3
BREAK I
MA
1
EXTFR (R) 2 EXTAX=7 BLOCKAX=8-12
CE
ENTER
+ '
ENTER
NEXT
<
EXTFR01*
EXTFRAME REFP
HOMEPOS
SCAN
S3
Prograi
80
12 Arc welding
Programming
S3
81
12 Arc welding
Press AUTO + SCAN
50 POS V = 100 % PATH
DISPL
SCAN
1
| EXTERNAL AXES ALIGN
1:1
DISPL
SCAN t
v1*
r
>-
S3
Programining
82
12 Arc welding
12.7
Program execution
12.7.1
Program test
The first version of a robot program for an arc welding application must be tested before
use.
The robot system has several functions for testing and editing programs:
Override function which permits individual or collective adjustment of the weld
parameters CURRENT/WIRE SPEED, VOLTAGE and WELD VELOCITY during
welding (see section 12.4). WEAVE and SENSOR DATA can not be adjusted in this
way.
+% and -% buttons, for adjustment of the positioning speed between the weld runs.
DISPLACEMENT, which permits displacement of a certain position during program
running (see programming manual).
The possibility of blocking the welding process during program execution.
The possibility of blocking weaving during program execution.
The possibility of simulating input signals during program execution.
12.7.2
Override function
The robot system is provided with a direct action override function for the welding
parameters speed, current/wire speed and voltage. This function is managed with the
programming unit joystick which permits individual or collective adjustment of the
parameters named above, during welding. The parameter values tested can be
permanently stored in the program.
The three degrees of freedom of the joystick can be utilized in correcting welding data as
shown in the figure below.
Increased
-current (A) /
wire speed (m/min)
Reduced speed
(mm/s)
Increased speed
(mm/s)
Increased
voltage (V)
Reduced
voltage (V)
-Reduced
current (A)/
wire speed (m/min)
/
S3
83
12 Arc welding
Parameter
Given in
Min. value
Max. value
Voltage
Volt
-40.0
40.0
Current
Apere
- 400.0
400.0
Wire speed
m/min
inch/min
-20.0
-787
20.0
787
Velocity
mm/s
inch/min
-40.0
-94
40.0
94
The changes of welding data obtained in this way are stored in a special register. The
correction is direct-acting, i.e. the welding is performed with the parameters stored in the
program (current MAIN DATA) plus the correction stored in the register. The correction
can be entered permanently into the program by means of the programming unit function
buttons.
Corrections can be made permanent in two different ways:
GLOBAL
LOCAL
Global storage means that corrected parameter values are added to the current MAIN
DATA. This means that the data is changed in all weld instructions in which just this
MAIN DATA is called.
Local storage means that the correction is only associated with the weld concerned (the
correction is stored in the instruction). Welding with the same MAIN DATA in other parts
of the program is thus not affected by local storage. Values twice the values in the table
above can be stored.
These two correction storage possibilities provide almost unlimited possibilities of trimming
the weld process.
The correction register mentioned above and the corrections stored locally can be cleared
via the programming unit.
To maintain control over the corrections etc., the current welding data concerned can be
presented during the welding in progress.
The joystick is activated for the override function by depressing a function button (ORIDE).
The enabling device must be held depressed to permit use of the override function.
Notel
Override should be performed in MANUAL REDUCED SPEED mode. The safety function
Hold-to-run can be deactivated in that mode to simplify the use of override.
S3
Programming
84
12 Arc welding
The exact sequence in which buttons are pressed for the override function and welding data
presentation is as follows:
1. After program start, the function button ORIDE is presented on the display. Pressing of
ORIDE gives the function buttons STO.LO, CLE.LO, CLE.O, STO.GLO and
presentation of the welding data concerned. In addition, two status indications are
shown at the right in the display:
O = Override-register containing correction value.
L = Instruction under execution contains the correction stored.
The active MAIN DATA number is also specified.
2. STO. GLO = Global storage of correction values.
STO. LO = Local storage of correction values.
CLE.LO = Clearing of correction values
CLE.O = Clearing of override.
1.
10POSV=10%
DISPL
ORIDE
STO.LO
SIM
7.0 MM/S
OL
CLE.LO CLE.0
SCAN
<
OL
SCAN
^>^...>..?g
S3
Programming
85
12 Arc welding
Supervision,
gas and coolant
Programming
S3
86
12 Arc welding
100
140
110
130
Programming
S3
87
12 Arc welding
12.8
Program example
Introduction
This section describes how a robot program for arc welding can be written.
The program is assumed to be used in welding a workpiece as shown in the figure below.
The different welds are numbered in the figure.
The program example is based on an installation as shown in the figure below. The
positioner is assumed to be servo-powered (external axes of the robot system)
5
A-A
Programming
S3
88
12 Arc welding
The following data fields numbers have been used:
START-data
No. 1
MAIN-data
No. 1 - 3
WEAVE-data
No. 1 - 3
SENSOR-data
No. 1 - 2, 4
END-data
No. 1
The working range of the power source concerned is 17 V to 50 V (parameter values
selected).
The power source generates 17 V with a reference voltage of+3 V and 50 V with a reference
voltage of + 10V.
Reference
value
10
8 -
6 _
4 -
2 -
10
20
30
60
Parameter value
In this case, the parameters are to be defined in accordance with the following:
PARAM MIN (V)
=17
PARAMMAXCV)
=50
REFMIN(V)
= 3
REF MAX (V)
=10
The max. and min. values of the parameters and reference values for current, and
wire-feed unit are calculated and entered in a corresponding way.
Programming
S3
12 Arc welding
PROGRAM 0; MAIN PROGRAM
Basic data
Wait for ready signal
Call weld program
PROGRAM 100; WELD PROGRAM
Instruction:
POS
Positioning
Control of positioner
to initial position
Instruction:
AWELD
Pos +call of
start data, main
data, weave data,
and sensor data.
Instruction:
WEND
Pos+ call of
end data
Instruction:
POS
Positioning
Control of
positioning unit
Instruction:
CLEAN
Pos+ call of
spatter cleaning
program
Positioning of robot
and spatter cleaning
program.
Instruction:
AWELD
Pos+ call of
start data, main
data, weave data,
and sensor data.
RETURN
PROGRAM 300; SPATTER CLEANING PROGRAM
Instruction:
Switch on
SET OUTPUT...
compressed air
Instruction:
WATT... S
Wait
Instruction:
RESET OUTPUT...
Switch off
compressed air
Instruction:
WATT... S
Wait
Instruction:
SET OUTPUT...
Instruction:
WATT... S
Wait
Instruction:
RESET OUTPUT...
1st cleaning
2nd cleaning
RETURN
Programming
S3
90
12 Arc welding
Program list
START DATA 1
Ignition voltage
Ignition current
Gas pre-flow time
Hot start voltage
Hot start current
Hot start time
4
-30
1
V
A
s
MAIN DATA 1
Weld voltage
Weld current
Weld velocity
MAIN DATA 2
Weld voltage
Weld current
Weld velocity
22
160
10
V
A
21.5
V
A
150
8
mm/s
mm/s
MAIN DATA 3
Weld voltage
Weld current
Weld velocity
21
145
6
END DATA1
End voltage- 2
End current
Gas post-flow time
Burn-back time
Cooling time
Fill time 0.8
V
-15
1
0.2
0.5
s
mm
s
3
4
5
deg
6
90
Yes
SENSOR DATA 1
Side corr. sensor no.
Height corr. sensor no.
Side corr. sensor prestress
Height corr. sensor prestress
1
2
50
50
%
%
SENSOR DATA 2
Side corr. sensor no.
Height corr. sensor no.
Side corr. sensor prestress
Height corr. sensor prestress
1
2
45
52
%
%
Programming
V
A
mm/s
A
s
s
s
s
s
s
mm
deg
S3
91
12 Arc welding
SENSOR DATA 3
Side corr. sensor no.
Height corr. sensor no.
Side corr. sensor prestress
Height corr. sensor prestress
1
2
49
50
Programming
S3
92
S3 Robot Programming
Spot Welding
13 Gluing
13
Gluing
Section
Page
13.1
13:3
13.2
13.3
13.4
Programming
Introduction
13.1.1 General
13.1.2 Signals
Programming
13.2.1 Gluing instruction
13.2.2 Scaling instruction
Overrides
13.3.2 Override on the scaling instruction
Error handling
13:7
13:15
13:20
S3
13 Gluing
Programming
S3
13 Gluing
13
13.1
Gluing
Introduction
13.1.1
General
The following chapter contains certain abbreviations describing the various functions and
signals. Explanations of these are given below:
GLFL
AIRFL
= GLUE FLOW
= AIR FLOW
GLVP
AIRVP
GLSP
AIRSP
= FLOW ADJUSTMENT
ORIDE
= OVERRIDE
Programming
S3
13 Gluing
(2) The second is a scaling instruction for calibrating the robot at different speeds and
different gluing/sealing equipment. See the following figure:
9999 GLSP: 10V= 500 mm/s
AIRSP:10V=500mm/s
Adjustment of the gluing parameters GLUE- and AIR FLOW during the gluing process is
made possible with an override function (ORIDE).
An ordinary OUTPUT-instruction is used to open and close the glue gun (SET/RESET
OUTPUT).
13.1.2
Signals
The gluing/sealing function uses the following input and output signals:
Analog output 1, Port 21, (0-10V):
This is the reference signal for the glue flow to the gluing equipment (GLUE FLOW).
Analog output 2, Port 22, (0-10V):
This is the reference signal for the air flow to the gluing equipment (AIR FLOW).
Digital output 7, (0/1):
This is the signal for glue reference error. It is set to 1 when the calculated value of GLUE
FLOW or AIR FLOW exceeds 10V. It is only set/reset when the parameter GLUE = 1.
Digital input 6, (0/1):
The input is used to block the gluing operation. When external equipment sets the signal to
1, the reference signals GLUE FLOW and AIR FLOW are reset to zero as soon as the
current execution of an instruction is concluded.
In addition, a digital output must be used to open and close the glue gun. This output and
the analog outputs 1 and 2 also have a delaying function which permits compensation,
during the execution of the program, for lag in the robot movement and for delay in the
gluing equipment.
Programming
S3
13 Gluing
The following figure shows the connections described:
Glue equipment connections
Digital input 6
Digital output 7
Analog ouput 1
Analog output 2
Digital output x
NOTE!
Glue equipment
Glue inhibit
Glue reference error
Glue flow reference
Gluing gun
Glue and
air supply
Digital input 6 and digital output 7 are dedicated for process control. The user is
to ensure that the input and the output are not used for other instructions.
If an error situation occurs, it is also possible for external equipment to close off the GLUE
FLOW and the AIR FLOW by setting digital input 6 to 1. The input then resets the
reference signals as soon as the current instruction execution is completed and before
execution of the next instruction. This input is mainly intended for testing of robot
programs. The analog outputs are however limited to 10V. When any of the reference
signals exceed 10V, the calculation are changed somewhat. See the following section.
Programming
S3
13 Gluing
Example 1:
The glue reference is thus calculated in accordance with the following:
GLUE REF := FLADJ * GLFL * TCPSP / GLSP * 10V
Programmed FLADJ
Programmed GLFL
Programmed GLSP
: 90%
: 10V = 500 mm/s
Calculated TCPSP
: 400 mm/s
If GLVP is active, then GLUE REF := 0,8 * 0,9 * 400 / 500 * 10V = 5,76V
Otherwise GLUE REF := 0,8 * 0,9 * 10V = 7,2V
Example 2:
The air reference is calculated in a corresponding way in accordance with the following:
AIR REF := FLADJ * AIRFL * TCPSP / AIRSP * 10V
Programmed FLADJ
Programmed AIRFL
Programmed AIRSP
: 120%
: 75%
: 10V = 650 mm/s
Calculated TCPSP
: 400 mm/s
If AIRVP is active, then AIR REF := 1,2 * 0,75 * 400 / 650 * 10V = 5,54V
Otherwise AIR REF := 1,2 * 0,75 * 10V = 9,0V
The analog outputs are however limited to 10V. There is an exception from the normal
calculations when one of the reference signals (GLUE/AIR REF) exceeds 10V.
When both signals are proportional to the TCP speed, the higher value is limited to 10V
and the lower is reduced proportionally to maintain the relation between the two reference
signals (see the formula above). This applies even when both signals are not proportional to
the TCP speed, i.e. when GLVP and AIRVP not active.
If only one of the signals is proportional to the TCP speed, the values are only limited to a
maximum of 10V without retaining the relation.
Example:
Calculated GLUE REF
: 15V
Calculated AIR REF
: 12V
(a) Both signals proportional to the TCP speed.
As GLUE REF > AIR REF, the outputs are set to:
GLUE REF
:= 10V
AIRREF
:=12/15*10V=8V
(b) Only GLUE REF is proportional to the TCP speed.
The outputs are then set to:
GLUE REF
:= 10V
AIRREF
:=10V
Digital output 7 is set to 1 (Digital output 7 := 1) at the same time and remains so while
the reference signals are limited.
Programming
S3
6
13 Gluing
13.2
Programming
13.2.1
Gluing instruction
The gluing instruction functions as a normal positioning instruction with the added
capability of setting reference signals for the glue and air flows. When a gluing instruction
is executed, the robot positions to the zone of the position programmed and sets the glue
and air signals to the voltages which correspond to the percentages for GLUE- and AIR
FLOW. These are retained until a new gluing instruction is performed.
Note that the two percentages programmed in the gluing instruction apply to different
robot movements.
# The percentage for the speed (V=x%) applies to the robot track before the programmed
position, i.e. the speed at which the robot positions to the point programmed.
# The percentages for the glue/air flows (GLFL=x% and AIRFL=x%) apply to the the robot
track after the programmed position, i.e. the magnitude of the glue flow when the robot
leaves the point concerned. See the following figure:
GLFL/AIRFL
With respect to the coordinate system, TCP, basic and maximum speed, positioning
accuracy, editing etc. the same rules apply as for normal positioning instructions.
The instruction is programmed by positioning the robot to the point required and then
pressing the P-button. The menu for the instruction parameters appears as follows:
9999 POSV=100% PATH
Four different position types are available: PATH, Cl, C2, FINE.
GLFL (Glue Flow), Range 0-100%, Resolution 1%:
Analog output 1 is set to a value corresponding to the percentage specified, 10V corresponds
to 100%. Remember that the glue flow signal is also affected by the global override
parameter FLADJ (Flow Adjustment), and by the TCP speed if the parameter GLVP is
active.
AIRFL (Air Flow):
As for GLFL except for air flow and for analog output 2.
Programming
S3
13 Gluing
GLVP (Glue Flow Speed Velocity Proportional), Value: activeAnactive:
If the parameter is active, the glue flow is scaled proportional to the TCP speed. An
activated GLVP parameter is indicated with the letter (V) after the glue flow in the
programming menu. The parameter is activated/deactivated by pressing the button GLVP
as shown in the example below.
ABRVP (Air Flow Speed Velocity Proportional):
As for GLVP except for air flow.
Default values:
POSTYPE
GLFL
AIRFL
GLVP
AIRVP
:PATH
:0%
:0%
: inactive
: inactive
Programming
S3
8
13 Gluing
Example:
Gluing instructions are programmed via the P-button. See the following figure:
GLUEFLOW=0%
GLUEFLOW= 0%
AIRFLOW: 0%
GLFL
GLVP
AIRFL
AIRVP
GLUEFLOW=0%
SCAN
->
GLUEFLOW= 0%
->
AIRFLOW: 0%
GLUEFLOW (%) = 80
GLUEFLOW=80% >
AIRFLOW: 0%
GLFL
GLVP
AIRFL
AIRVP
Programming
SCAN
S3
9
13 Gluing
9999 POSV=100% PATH
50
GLUEFLOWs 80%
GLUEFLOWs 80%
->
AIRFLOW= 50%
GLFL
GLVP
AIRFL
AIRVP
SCAN
GLUEFLOW=80%
GLUEFLOWs 80%
Programming
->
S3
10
13 Gluing
13.2.2
Scaling instruction
The scaling instruction enables the user to program the relation between the calculated
TCP speed and the output voltage on the two analog channels. The instruction also includes
a global override (FLADJ) which functions as a type of scale factor in all subsequent
GLUE/AIR instructions until a new scaling instruction is executed.
The scaling instruction is normally located at the beginning of the program, as nominal
speed, reference frame etc. However, the instruction can be used anywhere in the program
if the scaling values are to be changed. If no scaling instruction is given, the preset values
apply as default values. The menu for the instruction parameters has the following
appearance:
GDELAYs 0.1
s->
AIRSP:10V=500mm/s
I
B
FLADJ= 100%
GLSP
AIRSP
GDELAY
ADELAY
FLADJ
The flow
is changed
(12)
(13)
time
(10
(te)
Programming
S3
11
13 Gluing
The analog reference signals GLUE FLOW and AIR FLOW are set at the same time (tl).
This occurs the time (tf) before the time at which the TCP reaches the position. The gluing
equipment changes the flow the time (te) after the change in the reference signals if no
extra delay is introduced. To force the change in flow to the time (t3) when the TCP has
reached the position, the delay time (td) must be programmed in the scaling instruction. If
the delay is set to zero, the flow will change somewhat before the TCP reaches the position
programmed (provided that the gluing equipment is faster than the robot).
ADELAY (Air Delay):
As for GDELAY except for air.
FLADJ (Flow Adjust):
The flow adjustment factor functions as a general override in all of the subsequent flow
instructions until the next scaling instruction is reached or program execution concludes.
This applies to both GLUE FLOW and AIR FLOW.
Argument range:
GLSP : 100 - 2000 mm/s
(236 - 4724 inch/min
AIRSP: 100 - 2000 mm/s
(236 - 4724 inch/min
GDELAY : 0 - 0,5 s
ADELAY : 0 - 0,5 s
FLADJ
: 50 - 200%
resolution 1 mm/s
resolution 1 inch/min)
resolution 1 mm/s
resolution 1 inch/min)
resolution 0,01 s
resolution 0,01 s
resolution 1%
Default values:
GLSP : 500 mm/s
AIRSP: 500 mm/s
GDELAY : 0,1 s
ADELAY : 0,1 s
FLADJ
: 100%
Programming
S3
12
13 Gluing
The scaling is located under the F-button. See the following figure:
GDELAY
AIRSP
ADELAY=0.1 s ->
FLADJ=100%
GLSP
GDELAY=0.1 s >
ADELAY
FLADJ
FLADJs100%
CE
ENTER
650
ADELAY=0.1 s ->
1
1
FLADJ=100%
GLUESP 10V (mm/s) = 650
CE
ENTER
S3
Programming
13
13 Gluing
1
FLADJs 100%
AIRDELAY (s) =
CE
ENTER
0.25
GDELAY= 0.1 s ->
ADELAY= 0.1 s ->
FLADJ=100%
CE
ENTER
50
S3
Programming
14
13 Gluing
13.3
Overrides
It is possible, with the override function ORIDE, to control the GLUE/AIR flow for
individual gluing instructions Gocal override), or via the scaling instruction FLADJ (global
override).
Changing the reference signals with ORIDE during automatic program execution affects
the reference signals the next time a gluing instruction is executed.
There are thus two principally different overrides:
(1) One which affects the GLUE/AIR flow.
(2) One which affects the scaling instruction FLADJ.
The instruction number is requested when the ORIDE button is pressed during program
execution. The instruction number specified determines which type of override function is
applied. If the instruction number is that of a GLUE/AIR function, it becomes a local
override, but if the number is that of a scaling instruction, it becomes a global override.
Programming
S3
15
13 Gluing
13.3.1
9999
S3
Programming
16
13 Gluing
9999 POSV=100% PATH
100
GLUEFLOW= 100%(V)->
60
It is possible to continue in the program with the NEXT or BWD buttons. When an
instruction is affected which is neither a scaling instruction nor a GLUE/AIR instruction,
the system will not go to the submenu for entry of new values for Flow Adjustment
(FLADJ) or GLUE/AIR flow. The robot then shows only the current instruction on the top
line of the display of the programming unit. It is however possible to step farther through
the program by pressing the NEXT button until a scaling instruction or a GLUE/AIR
instruction is encountered.
S3
Programming
17
13 Gluing
13.3.2
9999
S3
Programming'
18
13 Gluing
i
FLADJ=100%
CE
ENTER
120
GDELAY= 0.1 s
ADELAYr 0.25 s
FLADJ=100%
FLOW ADJUST (%) = 120
ENTER
FLADJ=120%
DISPL
ORIDE
NEXT
BWD
It is also possible here to continue in the program with the NEXT or BWD buttons. When
an instruction is affected which is neither a scaling instruction nor a GLUE/AIR
instruction, the robot will not go to the submenu for entry of new values for Flow
Adjustment (FLADJ) or GLUE/AIR flow. The robot then shows only the current instruction
on the top line of the display of the programming unit. It is however possible to step further
through the program by pressing the NEXT button until a scaling instruction or a
GLUE/AIR instruction is encountered.
S3
Programming
19
13 Gluing
13.4
Error handling
As described in section 13.1.2, the calculation of reference signals can result in values
which exceed 10V, the maximum permitted value. In such a case, the higher value is
limited to 10V and the lower is scaled down proportionally to maintain the relation between
the signals GLUE REF and AIR REF.
At the same time, digital output 7 is set to 1 while the references are limited. Program
execution continues however.
The reference signals are reset to zero when execution of the program stops or with an
emergency stop (GLUE REF and AIR REF := OV).
Programming
S3
20
14
14
Spot welding
Spot welding
Section
Page
14.1 Introduction
14.2 The standard function
14.2.1 General
14.2.2 Welding gun, manual operation
14.2.3 Function parameters
14.2.4 The spot weld instruction
14.2.5 Programming the first spot weld instruction
14.2.6 Subsequent instructions
14.2.7 Editing of spot weld instructions
14.2.8 Execution of instruction without current
14.3 The SWI-function
14.3.1 General
14.3.2 Function parameters
14.3.3 I/O signals
14.3.4 The spot weld instruction
14.3.5 Programming the spot weld instruction
14.3.6 Execution of instruction
14.3.7 Repeat weld after interrupt
14.3.8 Execution of instruction without weld current
14.3.9 Reset of the weld controller
14.3.10 Weld Controller programming.
14.3
14.3
Programming
14.1
S3
14
Programming
Spot welding
S3
2
14
14.1
Spot welding
INTRODUCTION
For spot welding, a weld controller is necessary to control the weld sequence. The weld
controller consists mainly of a timer unit and a power unit. This chapter describes how
to program a weld instruction, both with a standard function, and with SWI (= Spot
Weld Interface) function.
To simplify the programming of a spot weld instruction special, a control button P
(Process) on the programming unit is used. An instruction which is a combination of a
position instruction and a weld sequence instruction is obtained when this button is
pressed.
14.2
14.2.1
General
The spot weld function controls an external welding controller with an instruction that
contains a call for a sub-program. The physical communication between the robot and
the weld controller is effected via a digital I/O board (DSQC 223). The signal sequence is
defined in the sub program mentioned above, where ordinary logical instructions are
used to set the outputs and to control the inputs that are necessary.
The programming of a spot weld instruction requires only one push on the
programming unit P button. The number of the sub- program that is to be used is given
in the instruction, and also any register that is intended for the step function.
14.2.2
14.2.3
Function parameters
To get the welding function under the P-button, a special function parameter, SWELD,
must be activated (SWELD = 1).
The function parameter SWELD is found in the MANUAL meny
See S3 Installation section 5.2.4.26.
Programming
S3
14 Spot welding
The parameter ZONE is used to chose the zero zone size for the different types o
fine points in the spot weld instruction.
The valid sizes are:
Type
Def. range
default value
SMALL
2- 100 mm
2 mm
LARGE
2- 100 mm
10 mm
XLARGE
2-100 mm
20 mm
Note that the actual size of the zero zone will be vary throughout the working range.
The size will correspond to the value stated in the parameters for movements in axis 1
with the arm fully stretched out. For other cases the size will be smaller.
(The figure describes how to set the parameter ZONE if SWELD = 1.)
MAN + SCAN + PARAM + CHANGE + SCAN + SCAN + SCAN + ZONE
CORNER1 CORNER2
PATH BREAK |1
O n l y if
PATH =0
SMALL
Programming
LARGE XLARGE
Only if
SWELD =1
S3
14
14.2.4
Spot welding
Program numbers:
100 - 9999
Register numbers:
0-119
Note.
In spot weld instructions, it is possible to program three different types of FINE
arguments. This is necessary to allow the programmer to adjust the zero zone to the
closing time of the gun.
Note.
Program numbers 0-99 are not allowed as subprogram numbers in the instruction.
This is in order to avoid confusion with welding programs in the welding controller.
Programming
S3
14
14.2.5
Spot welding
Programming
S3
6
14
1 2 3
100POSV=100%C1
4 6 6
7 8 9
- 0
PROGRAM NO =
ill
Spot welding
CE ENTER
DO
PROGRAM NO = 120
V(%)
0-ZONE
PROGRAM
<
1 2 3
4 5 6
7 8 9
- 0
REG NO =
REG NO = 5
Programming
CE ENTER
1 i
S3
14
14.2.6
Spot welding
The instruction number and the same sub-program number and argument as in the
preceeding spot weld instruction are presented on the upper line of the programming
unit display. If no further changes are necessary, the instruction is now completely
programmed.
Otherwise change the arguments by pressing (V%), 0-ZONE or PROGRAM.
14.2.7
14.2.8
Execution of instruction
Programming
S3
8
14
During the execution of a spot weld instruction the following happens:
Spot welding
Programming
S3
9
14
14.3
14.3.1
General
Spot welding
SWI ( Spot Welding Interface) is a software function in the robot system that controls
the communication with the external weld controller. Programming is similar to that for
the standard function. The instruction states which weld program is to be used and
which register is to be used for control of the opening time of the gun. Subprograms for
control af the weld controller are not necessary.
The concept also presents the possibility of using a double gun. In that case it is necessary
to specifiy in the instruction which of the guns is to be activated (gun 1, gun 2, or both).
When a spot weld instruction is executed, the signal communication between weld
controller and gun is performed automatically in a predetermined order.
The physical communication between the robot and weld controller is accomplished via a
digital I/O board, (DSQC 223). Supervision and control of the gun is also performed through
this board.
The function is developed to suit weld controllers that can use the same signal interface,
like BOSCH PSS 208 IB, SATTWELD 1000 and others. It is also prepared for adaptation
to weld controllers with a different signal interface. It is possible to read and edit a
subset of the BOSCH weld controller parameters by use of serial communication.
14.3.2
Function parameters
To obtain access to the SWI function a special function parameter must be activated. The
parameter SWELD, which gives access to the spot weld function under the button P on the
programming unit, also has to be activated.
The function parameter SWELD is found in the MANUAL menu.
See Installation S3 section 5.2.4.26 - 27.
SWELD = 1 or 2 gives access to the parameters SWI, SERIAL COMM BOSCH and 64
PROGRAMS.
The digital I/O board DSQC 223 can be located in any slot and receives I/O numbers in
the ordinary way. When the function parameter SWI is activated, a question appears
regarding which board position (1- 6) is to be used.
The standard function with subprograms for control of the weld controller can also be
used when the parameter SWI is activated.
Note.
If the SWELD parameter is reset, the parameter SWI is also reset.
Programming
S3
10
14
14.3.3
Spot welding
I/O signals
See also Installation S3, section 3.13, for description on how to use I/O signals!
Output signals:
START 1
START2
CURRENT ENABLE
WELD POWER
RESET
GRIP1
GRIP 2
PARITY
WELD PROGRAM
Programming
S3
11
14
Spot welding
Input signals:
WELD READY
High signal from the weld controller when the weld is ready.
The signal need to be low before START 1 or START 2 is set for
the next spot weld. If not, error message 550 WELD ERROR 1
is displayed and program execution stops. If WELD READY is
not recived within 20 sec. after START 1 or START 2, error
message 550 WELD ERROR 2 is displayed and program
execution stops (if SWI=1, MOTOR OFF is also received).
TIMER OK
CURRENT OK
FLOW OK
TEMP OK
Programming
S3
12
14
ENABLE MOVE
Spot welding
High signal indicates that the gun(s) is(are) open. Low signal is
used to prevent robot movements when the gun is closed. The
signal is checked after the programmed opening time has
expired. If low after programmed opening time, register 98 is
incremented by 1. If the signal is low more than 5 sec, error
message 555 WELD ERROR ENABLE MOVE is displayed and
robot movement is blocke (If SWI=1, MOTOR OFF is received).
Note!
Reserved input signals that are not used must be strapped to 24 V. This does not apply to
WELD READY which has to be supplied from the weld controller (see above) to make it
possible to execute the SWI -instruction.
14.3.4
Program numbers:
Register numbers:
0-119
Gun arguments:
(Gl), G2 or G12
The instruction corresponds to the standard spot weld instruction with external weld
controller. It is the programmed weld program number that determines whether the
instruction should be executed as a standard or a SWI instruction.
The register in the SWI instruction contains the opening time for the gun in ms. If no
register is programmed the opening time is set to 0. If the signal WELD READY is not
given until the gun has been opened, it is not necessary to program any opening time in
the instruction.
The reason why the opening time is set in a register and not directly in the instruction
is that when trimming the opening time of the gun it is only necessary to edit one
instruction.
When double gun is used, the last argument (GUN) states which of the guns is to be
activated. If only gun 1 is to be activated, the argument is left out. If only gun 2 is to be
activated, the argument G2 is displayed, and if both guns are to be activated, G12 is
displayed.
Note!
If the SWI parameter 1 or 2 is not activated, only standard function program numbers are
possible. Gun argument is not possible to program.
Programming
S3
13
14
14.3.5
Spot welding
100 POSV=100% Cl
V(%)
0-ZONE
PROGRAM
GUN 1
pi
1 2 3
! 100 POSV=100% Cl
4 5 6
j PROGRAM NO =
7 8 q
0
1!
CE
ENTER
I!
PROGRAMNO == 26
PROGRAM
GUN
V(%)
0-ZONE
PROGRAM
GUN
See next
page.
0-ZONE
PROGRAM
GUN
Programming
0-ZONE
PROGRAM
GUN
S3
14
14
Spot welding
100POSV-100%FINELWELDPR20RS
V(%)
0-ZONE
PROGRAM
GUN
S3
Programming
15
14
14.3.6
Spot welding
Execution of instruction
When executing the spot weld instruction, the robot will perform the following actions:
1. Outputs for program number and parity bit are set.
2. The robot moves to the programmed point.
3. Outputs for START 1 and GRIP 1 are set.when the zerozone is reacted.
4. The robot waits for input WELD READY. If the waiting time exceeds 20 sec,
START 1 and GRIP 1 are reset and program excution is stopped.
If not, continues with 5.
5. START 1 and GRIP 1 are reset.
6. The internal timer for the opening time starts and spot counter (register 99) is
incremented.
7. The instruction is now completed and execution of the next instruction is started.
Any logical instruction will be executed directly. Another spot weld instruction will
perform the following actions.
8. Outputs for program number and parity bit are set.
9. If input ENABLE MOVE is high, the robot moves to the next point.
If ENABLE MOVE is low for more than 5 sec, the program excution stops.
A timetable of the signal sequences is shown below (principle):
Robot in weld position
Change of PROGNO:
START 1 (START 2)
GRIP 1 (GRIP 2)
CURRENT
NEXT
_T
J
WELD READY
ENABLE MOVE
Programming
S3
16
14
Spot welding
Observe that there is a certain gain of cycle time if the WELD READY signal is received
before the gun's opening phase is concluded. In such a case the opening time is used to
perform the calculations for the next position. This is why the gun's opening time has to
be specified in the instruction via the register number.
If the weld controller does not set the WELD READY signal before the gun has opened
completely, the opening time is to be set to zero in the program. In such a case the
register number can be omitted in the instruction.
Register 99 is used for counting the welded spots. Its content is incremented
automatically after each spot. Resetting must be carried out through the user's
program.
Register 98 is used for counting at how many spots the robot has been waiting for the
signal ENABLE MOVE after the programmed opening time has expired. The register is
therefore suitable for checking why the opening time of the gun has started to increase.
Resetting of the register is performed in the user program.
When executing a spot weld instruction backwards, only the robot movements are
performed.
14.3.7
Programming
S3
17
14
Spot welding
14.3.9
SWI SCAN
Programming
S3
18
14
14.3.10
Spot welding
0,1 or 2 PHA/SSU/KSR
0,0 - 9,9 kN
01-99 cycles
01 - 30 cycles
00 - 99 scale values
in kA
00 - 99 cycles
01-09 pulses
00 - 30 cycles
00 - 99 scale values
in kA
00 - 99 cycles
01-99 cycles
With this interface it is possible to read the data block described above, to change the
data and to send it back to the weld controller. Additionally, the actual current values of
the last weld can be received by the robot control system and displayed together with the
programmed values and in case of a weld controller error code can be received from the
weld timer.
Programming
S3
19
14
AUTO + SCAN + SWI
Spot welding
26
BREAK
ENTER
WELD PROG NO = 26
OPERATING M O D E - 2
OP MODE.
BREAK
26
CE
ENTER
Parameters are also shown on the optional LCD of the S3 control system.
If there is no answer within 30 sec, an error message NO SERIAL CONTACT TIMER
will be diplayed.
Programming
S3
20
15
Error list
ERROR LIST
3HAB 0008-2/Rev 1
Error List
S3
15
Error list
1
General
When an error is detected, the ERROR lamp on the control panel illuminates. If a P-unit is
connected to the robot system, an error message is presented at the same time in plain
language on the upper line of the display. This applies also when a P- unit is connected
after the error has developed and the ERROR lamp has illuminated.
Errors which can occur are divided into:
Operational errors; the error messages beginning with a number 001-499.
System errors; the error messages beginning with a number 501-999.
The appropriate corrective actions for the different errors are described below.
OPERATIONAL ERRORS
1 Check the error type on the upper line of the P-unit display.
2 If further information is necessary, go directly to point 6. Otherwise continue with point 3.
3 Press the control button SHIFT - the error message is then cleared.
4 Perform the control operation correctly so that the error status is not repeated.
5 Continue with point 8.
6 Seek the error message displayed in section 3.
7 Perform the appropriate actions stipulated in section 3.
8 If the same error message returns or persists, despite the incorrect operation not being
repeated, contact service personnel.
SYSTEM FAULTS
1 Seek the error message presented in section 4.
2 Perform the appropriate corrective actions as described in section 4.
3 If the same error message persists or returns, call service personnel.
Note!
Some error messages described in the sections 2 - 4 can occur for certain types of
robots only.
Error List
S3
15
Error list
2
Error buffer
Means: The system contains an internal error buffer, which can store 9 error messages. In the
buffer the system stores:
All kinds of error messages (both system errors and operator errors), occurred at the
latest error occasion.
Earlier messages about system errors.
The system can, on request, present the contents of the error buffer via:
The programming unit. (Just error messages from the latest error occasion.)
A printer, if the optional function Program printout is provided.
A monitor, if this optional function is provided.
Facts: Display on the programming unit of error messages
The programming unit displays one error message at a time, according to the following:
When the system stops running due to an error, the operator will see the first error
message. An arrow on the display indicates if there are any consequent errors. In this
case the operator can display these messages also, one by one.
During manual operation the operator can, on request, display stored messages from the
latest error occasion, one by one. The error messages are chronologically displayed.
For most error messages, it's possible to get text in plain language by pressing "" on the
programming unit.
Display on the programming unit of error messages
The monitor displays all the messages within the error buffer, according to the following:
When the system stops running due to an error, the operator will see all messages,
occurred during that error occasion. The error messages are chronologically displayed.
During manual operation the operator can, on request, display all stored messages. The
error messages are in plain language and chronologically displayed.
Printout of error messages
During manual operation the operator can, on request, display stored messages from the
latest error occasion, one by one.The error messages are chronologically displayed.
Erasure of the contents in the error buffer and show text in plain language
During manual operation the operator can, on request, erase all messages stored in
the error buffer.
On request, the operator can get text in plain language for most error messages.
On request, the operator can load the texts in plain language from disk. (See Installation
manual, S3.)
Error List
S3
15
Error list
CODE
* * * * * : M c * * * * * * * * * * * * * * * * * * * * * * * * * * * *
Used:
Executed:
Procedures: Display on the programming unit of error messages (after production stop)
Read the error message. Use the SHIFT button to display more error messages, if
required.
If you want to read messages about system errors once again, select ERRORS under
the MANUAL menu.
Error List
S3
15
Error list
Operational errors
The following tables describe the errors which the operator can cause when programming or
operating the robot system.
These are numbered from 001-499. The table gives.
Error message
Causes
Recommended corrective action
ERROR MESSAGE
CAUSES
1.NOT ALLOWED
COMMAND
1.NOT ALLOWED
COMMAND 10
3J)ATA ERROR
Attempted entry of
incorrect numerical
value.
4JNSTRNOT
FOUND
After resequencing a
program the system has
detected jumps to nonexisting instructions.
5.PROGRAM
MISSING
6.MEMORY
FILLED UP
Attempt to:
enter further
instructions
copy program when the
robot memory is full
Error List
15
Error list
RECOMMENDED CORRECTIVE ACTION
ERROR MESSAGE
CAUSES
7.PROGRAMEND
8.PROGRAM NUMBER
OCCUPD2D
9. INSTRUCTION
NUMBER
OVERFLOW
10. ADAPTlVJLTY
ERROR1
A digital multi-bit
sensors or analog
sensor gives a
signal outside its
working area.
10. ADAPT1V1TY
ERROR 2
10. ADAPTTVITY
ERROR3
10.ADAPTTVrrY
ERROR 4
lCADAPnVITY
ERROR6
10.ADAPnVITY
ERROR 7
S3
Error List
6
ERROR MESSAGE
CAUSES
15 Error list
RECOMMENDED CORRECTIVE ACTION
lO.ADAPnVITY
ERROR 8
11. OUTSIDE
WORKING
AREA 1-12
11. OUTSIDE
WORKING
AREA 20
11. OUTSIDE
WORKING
AREA 23
11. OUTSD3E
WORKING AREA 99
13 ROBOT NOT
SYNCHRONIZED
14AUTO MODE/
KEYLOCK
A The key-switch is in
A Choose position MANUAL REDUCED
position AUTO and/or the
SPEED or MANUAL FULL SPEED
key input on the remote
and/or deactivate the key input
control is activated.
on the remote control.
B
Change to MANUAL REDUCED
B Corresponding parameter
is ACTIVE under AUTO C. SPEED or MANUAL FULL SPEED
mode or deactivate the parameter.
sensor number.
Error List
S3
15 Error list
RECOMMENDED CORRECTIVE ACTION
ERROR MESSAGE
CAUSES
17. WRONG
INSTRUCTION TYPE
Attempt to change:
Argument
Position
Speed
for an instruction which
does not contain positioning.
18. INSTRUCTION
NUMBER OCCUPIED
19.PROGRAM START
20 SELECT ROBOT
COORDINATES
Attempt to program
activation of an
undefined TCP.
24.NOT DEFINED
25. INCOMPATIBLE
OPTION
S3
Error List
8
15 Error list
RECOMMENDED CORRECTIVE ACTION
ERROR MESSAGE
CAUSES
26 NOT ALLOWED
COMMAND/ROOM
FIXED TCP 1-8
27 NO MORE
INFORMATION
Error List
S3
9
15 Error list
RECOMMENDED CORRECTIVE ACTION
ERROR MESSAGE
CAUSES
32 CALIBRATION
ERROR3
33 NOT ALLOWED
EXTFRAME 1
33 NOT ALLOWED
EXTFRAME 2
Attempt to activate an
Use only defined EXTFRAMErs
undefined EXTFRAME have
been made or the robot system
is trying to align with an
undefined EXTFRAME.
33 NOT ALLOWED
EXTFRAME 4
Attempt to activate an
EXTFRAME have been
made while REFPOINT
is active.
33 NOT ALLOWED
EXTFRAME 5
Attempt to activate an
Activate the STATION which the
EXTFRAME without activated axis belongs to.
ORBIT axis. The axis belongs
to an inactive STATION or
Attempt to define an EXTFRAME
in the ratine for calibration, that
can't be activated because it belongs
to an inactive STATION.
33 NOT ALLOWED
EXTFRAME 7
Attempt to deactivate a
STATION while an
EXTFRAMEis active, where
the EXTFRAME is an axis to
the specific STATION.
33 NOT ALLOWED
EXTFRAME 8
Error l i s t
S3
10
15
Error list
System faults
The errors which can occur in the robot system itself are described in the following table.
These are numbered from 501 to 999.
The table gives.
Error message
Causes
Recommended corrective measures.
ERROR MESSAGE
CAUSES
502 PROGRAM
MEMORY FAULT
Error List
S3
11
15 Error list
RECOMMENDED CORRECTIVE ACTION
ERROR MESSAGE
CAUSES
A Attempt to execute a
movement path outside
the robot's working area.
B The wrist centre of the
robot or the TCP is in
20 mm range of the
base Z-axis.
Error List
S3
12
15 Error list
RECOMMENDED CORRECTIVE ACTION
ERROR MESSAGE
CAUSES
Exchange
welddata
nr.
C (not AW) Attempt has been C Correct the sub weaving
made to execute a weave
program.
movement when instruction
in sub weaving program is
faulty.
Attempt to execute a
jump to a non-existent
instruction.
Attempt to execute a
pattern subprogram, when
the register concerned
contains an incorrect
value.
Attempt to execute a
nested call to a 11th
subprogram level (or a
12th level of interrupt
program).
Error List
S3
13
15
Error list
RECOMMENDED CORRECTIVE ACTION
ERROR MESSAGE
CAUSES
A Main program
A, B Enter a main program.
(program 0) is missing.
B The active program replaced by the corresponding one on floppy disk
at program loading with
the subfunctional APPALL
under the GET B-function
C Another mass memory
C Try to perform the corresponding
error
GET B-function manually.
The acknowledgment
of transferred data is
omitted when executing
the arc welding instruction EXTPOS.
Error List
S3
14
15 Error list
RECOMMENDED CORRECTIVE ACTION
ERROR MESSAGE
CAUSES
D Program running in
rectangular coordinates
is not possible.
Error List
S3
15
ERROR MESSAGE
CAUSES
15 Error list
RECOMMENDED CORRECTIVE ACTION
Automatic definition
of a program displacement is in progress.
During the process, at
least two positions
approach each other
too closely:
When the positions
are selected.
* In the resulting
program displacement.
Attempt to activate
an undefined TCP
Attempt to execute a
gluing instruction with
the parameter GLUE not
activated.
S3
Error List
16
ERROR MESSAGE
CAUSES
15 Error list
RECOMMENDED CORRECTIVE ACTION
(AW)
Weaving data not defined for the current weaving data field.
(AW)
CROSSTIM is 0.
Define CROSSTIM.
(AW)
BASEPoint not defined.
(AW)
Sensor data undefined for
current sensor data field
(AW)
Internal error in calculation
of end position for AUTOSEARCH.
(AW)
The robot velocity is to high
at connection or disconnection of SPS.
Error List
Edit the start position for AUTOSEARCH and try again. If the error
persists after several trials, check the
computer board.
S3
17
15 Error list
RECOMMENDED CORRECTIVE ACTION
ERROR MESSAGE
CAUSES
Change TCP
Reduce the amplitude.
Timeout in supervision of a
spot weld. WELD READY
not received within 5 s after
START 1/2.
Attempt to execute an
instruction have been
made,who don't function
together with a fixed
TCP.
S3
Error List
18
ERROR MESSAGE
CAUSES
15 Error list
RECOMMENDED CORRECTIVE ACTION
505 SERVO
ERROR 1
Error List
S3
19
15 Error list
RECOMMENDED CORRECTIVE ACTION
ERROR MESSAGE
CAUSES
Speed error.
A Lower the programmed speed locally
The motor for axis 1 (1301)in the program where the error occurs
and/or change the positioning pattern
12 (1312) runs considerably
so that the axis which trips because
faster than is commanded
of the incorrect speed is not so active
from the control system.
in this part of the program.
Cause, internal axes:
A Considerable interference B Check that the correct commutator
offset is entered for the axis. If the
between the axes at
axis has been repaired, remeasured
high speeds results in
and enter a new offset
incorrect speed at certain
points in the user's
C 1. Check all fuses.
program.
2. Check the motor current using the
B Incorrectly commutated
test outlets. Check the wiring, the
motor
drive unit and the robot computer
C Axis stops (the motor
board.
receives no current)
D Incorrect acceleration of
D Replace the robot computer or drive
the motor.
unit.
F 1. Check external controller, drive
Cause, external axes:
E See point A above.
stage and external wiring.
F Incorrect acceleration of the 2. Replace robot computer or external
axis board.
motor.
Error List
S3
20
ERROR MESSAGE
15 Error list
RECOMMENDED CORRECTIVE ACTION
CAUSES
Jam error, external axes.
Resolver/tacho signal
differs for axis 1 (1701)
- axis 7 (1707).
Cause:
Tachometer signal indicates
another speed than that
calculated from the resolver
signal.
S3
Error List
21
15 Error list
RECOMMENDED CORRECTIVE ACTION
ERROR MESSAGE
CAUSES
Racing protection at start-up. A 1. Check that the correct commutator offset is entered.
The racing protection for axis 2. If the commutation has been
1(2101)- axis 7(2107) has
changed because of repairs,
tripped as the axis has not
make new measurements.
remained stationary when the
See Installation manual.
RUN status was activated the B 1. If the tachometer is newly infirst time after initialization.
stalled, check that positive
Cause:
voltage is obtained when the
A Incorrect commutation
axis is turned in a positive
direction.
offset
B Faulting tachometer
2. Check that the voltage is
(B concerns only robots
received at the axis board.
with tachometer).
C If the resolver is newly installed,
check turning the axis very slowly
C Faulty resolver
in a positive direction and reading
D Low motor torque
with the help of the programming unit
that the resolver value increases
(when reaching 8191, the value
restarts from 0).
D 1. Check the drive unit.
2. Check the resistances of the
motor windings.
Error List
S3
22
ERROR MESSAGE
15 Error list
RECOMMENDED CORRECTIVE ACTION
CAUSES
A External electrical
equipment has jammed
the robot computer or
serial measurement
board.
B Faulty computer board
or serial measurement
board.
C Faulty wiring between
the robot computer
board and the serial
measurement board.
Error List
S3
23
15 Error list
RECOMMENDED CORRECTIVE ACTION
ERROR MESSAGE
CAUSES
Internal error.
Re-initiate the system.
Internal error.
Re-initiate the system.
Fault in internal
calculation routine
in the control program.
Execution of a program
module in the main
computer starts, before a
valid acknowledge signal
has occurred.
STALL ALARM.
The main computer has detected that messages from
the axis computer are not
transmitted fast enough.
Error List
A Check fuses
8 Check that voltage to rectifier
S3
24
15 Error list
RECOMMENDED CORRECTIVE ACTION
ERROR MESSAGE
CAUSES
Transmission fault
between the serial
measurement board
and the robot
computer board.
Causes:
A External disturbances
B Wiring fault
C Electronic fault
507 JOYSTICK
ERROR
Repeat attempt
Change disk
Repeat attempt
Change disk
Repeat attempt
Change disk
A. Repeat attempt
B. Change disk
Error List
S3
25
ERROR MESSAGE
CAUSES
15 Error list
RECOMMENDED CORRECTIVE ACTION
Erroneous data at
attempt of storing
data on floppy disk.
Try again
Change disk
Internal Winchester
fault
Not possible to load the block Load the block into the user memory and
into the reserved memory
check the contents. Edit the block or
area. More than 25% of the select a block from the system disk and
block is used.
try again.
Attempted loading of
function parameters from
wrong disk.
Change disk
Attempt to program
storage when the
whole floppy disk
is occupied.
Change disk
Replace disk
Error List
S3
26
15 Error list
RECOMMENDED CORRECTIVE ACTION
ERROR MESSAGE
CAUSES
Change disk
Try again
Incorrect version of
weld data.
Error List
S3
27
15 Error list
RECOMMENDED CORRECTIVE ACTION
ERROR MESSAGE
CAUSES
509
SYNCHRONIZATION ERROR 15XX
Resolver error.
Check the measurement system.
Axis no. XX has obtained an
impermissible resolver
value with absolute measurement.
Error List
S3
28
ERROR MESSAGE
CAUSES
15 Error list
RECOMMENDED CORRECTIVE ACTION
510 SYSTEM
FAULT3
510 SYSTEM
FAULT4
510 SYSTEM
FAULT5
Restart data in
memory is wrong.
510 SYSTEM
FAULTS
510 SYSTEM
FAULT7
Internal error.
Check active instruction before
resume program execution.
S3
Error List
29
15
Error list
RECOMMENDED CORRECTIVE ACTION
ERROR MESSAGE
CAUSES
A Board missing on
position X.
B The board on position X does not correspond to the boardtype specified in the
system parameters
(specified manually
for subcode 1-6).
C The board on position
X erroneous.
514 COMMUNICATION
ERROR 1
(apply only to robots
equipped with computer
link)
514 COMMUNICATION
ERROR 2
(apply only to robots
equipped with
computer link)
514 COMMUNICATION
Transmission error on
the data link.
ERROR 3
(apply only to robots equipped
with computer link)
514 COMMUNICATION
ERROR4
(apply only to robots
equipped with
computer link)
Insufficient space in
the robot memory when
attempting to load a
program from a superior
computer
S3
Error List
30
ERROR MESSAGE
15 Error list
RECOMMENDED CORRECTIVE ACTION
CAUSES
514 COMMUNICATION
Program with program
number selected not in
ERRORS
(apply only to robots equipped the robot memory.
with computer link)
514 COMMUNICATION
ERROR 6
(apply only to robots
equipped with
computer link)
514 COMMUNICATION
ERROR8
(For robots with
computer link only)
514 COMMUNICATION
ERROR 9
(For robots with
computer link only)
514 COMMUNICATION
ERROR 10
(For robots with
computer link only)
Vision timeout.
514 COMMUNICATION
ERROR 11
(For robots with
computer link only)
514 COMMUNICATION
ERROR 12
(For robots with
computer link only)
514 COMMUNICATION
ERROR 13
(For robots with
computer link only)
514 COMMUNICATION
ERROR 14
(For robots with
computer link only)
Error List
S3
31
15 Error list
RECOMMENDED CORRECTIVE ACTION
ERROR MESSAGE
CAUSES
Gas and coolant flow received Check gas flow and coolant flow,
has not been started before
2 seconds after the robot
has moved to the position
for welding start
No communication with
host processor (PLC).
Check hardware.
Check hardware.
Check hardware.
Error List
S3
32
15
Error list
ERROR MESSAGE
CAUSES
Error List
S3
33
15 Error list
RECOMMENDED CORRECTIVE ACTION
ERROR MESSAGE
CAUSES
S3
Error List
34
15 Error list
RECOMMENDED CORRECTIVE ACTION
ERROR MESSAGE
CAUSES
542 MOTORTYPE
NOT DEFINED
547 HYDRAULIC
PRESSURE ERROR 1
(ROBOTS IN THE
8000 SERIES)
548 ERROR IN
RUN CHAIN 2
Error List
S3
35
15 Error list
RECOMMENDED CORRECTIVE ACTION
ERROR MESSAGE
CAUSES
551 WELD ERROR TIMER Signal TIMER OK is missing. Check the welding controller.
552 W E L D E R R O R
CURRENT
Signal CURRENT OK is
missing.
The system has been waiting Check the welding gun and
for signal ENABLE MOVE sensors,
more than 5 sec. upon gun
opening.
560 ERROR/ROBOT
COMPUTER BOARD
562 ERROR/ROBOT
DRIVE UNIT:
563 ERROR/DRIVE
UNTTOFFSx
567 ERROR/SYSTEM
BOARD:
Error List
Unit:
Drive unit 1
Drive unit 2
Drive unit 3
Drive unit 4
Drive unit 5
Drive unit 6
Drive unit 7
S3
36
15 Error list
RECOMMENDED CORRECTIVE ACTION
ERROR MESSAGE
CAUSES
570 ERROR/MEASURE
SYSTEM, AXES 1-6:
571 ERROR/MEASURE
SYSTEM, AXES 7:
572 ERROR/MEASURE
SYSTEM, AXES 8-12 xxxx
573 ERROR/MEASURE
SYSTEM, AXES 7-12 xxxx
588 WARNING
WINCHESTER
S3
Error List
37
15 Error list
RECOMMENDED CORRECTIVE ACTION
ERROR MESSAGE
CAUSES
589 RECTIFIER
MISSING
The drive units on the axis Check the type of drive units on
X in question are of the wrong the axis in question, and change
type.
to the right type.
Error List
S3
38
15 Error list
RECOMMENDED CORRECTIVE ACTION
ERROR MESSAGE
CAUSES
602 VISION
SYSTEM ERROR
Error list
S3
39
15
Error list
5
Diagnostic messages
Diagnostic error concerns the fault- and warning message the system discovers when testing
the hard ware during the start-up sequence.
Depending on the type of malfunction, two types of message may be displayed: error message
or warning message.
Error message:
When this type of message is displayed on the programming unit, the system is always
interrupted and put in an error mode. If the malfunction occurs during start-up, this is
interrupted.
Warning message:
The printout is given after a malfunction has been detected in any of the units, but the
malfunction is not serious enough to interrupt the system.
Normally, all message printouts are displayed on the programming unit display, but during
the diagnostic test at start-up, no text can be displayed during certain periods of time. The
error codes may then be displayed by the error LED on the computer board front. See chapter
6 for a detailed description.
Error and warning messages using a subcode:
560 ERROR/ROBOT COMPUTER BOARD xxxx
562 ERROR/DRIVE UNIT xxxx
567 ERROR/SAFETY BOARD xxxx
570 ERROR/MEASUREMENT SYSTEM, AXES 1-6 xxxx
571 ERROR/MEASUREMENT SYSTEM, AXIS 7 xxxx
572 ERROR/MEASUREMENT SYSTEM, AXES 8-12 xxxx
573 ERROR/MEASUREMENT SYSTEM, AXES 7-12 xxxx
580 WARNING DISK xxxx
581 WARNING COMPUTER LINK xxxx
582 WARNING PRINTER xxxx
583 WARNING SENSOR xxxx
585 WARNING PROGRAMMING UNIT xxxx
586 WARNING MONITOR xxxx
588 WARNING WINCHESTER xxxx
for which xxxx represents one of the following subcodes, more thoroughly describing the cause
of the message.
The following is the list of the subcodes which may be displayed along with an error or
warning message.
Error List
S3
40
SUBCODE
CAUSE
15
Error list
RECOMMENDED CORRECTIVE
ACTION
0001
0002
0003
RWM error
0004
0008
0009
0010
0011
0013
0014
0017
0018
0019
0039
0040
0070
Error when testing the main computer serial channel. Out = low,
In = high
0071
Error when testing the main computer serial channel. Out = low,
In = high
S3
Error List
41
15
ERROR MESSAGE
Error list
CAUSES
0072
0075
0076
0080
0081
0101
0102
0105
Erroneous I/O computer "stall timer" Replace the robot computer board
0106
0107
0108
0109
0112
0114
0116
0120
0121
Error List
S3
42
0122
15 Error list
RECOMMENDED CORRECTIVE ACTION
a Check main cabling
b Replace mass memory
c Replace the robot computer board
0124
0125
0130
0131
0133
0134
a Perform a restart
b Check main cabling
c Replace the programming unit
0138
0139
0140
0201
0202
0205
0206
Erroneous servo computer " time out Replace the robot computer board
timer"
0207
0208
ERROR MESSAGE
CAUSES
S3
Error List
43
ERROR MESSAGE
15 Error list
RECOMMENDED CORRECTIVE ACTION
CAUSES
0209
0210
0211
0216
0239
0240
0302
0315
0358
0701
0702
0722
a Replace rectifier
b Check flat cable between robot
computer board and drive system,
c Replace the robot computer,
d Replace drive unit rack
0723
a Replace rectifier
b Check flat cable between robot
computer board and drive system,
c Replace the robot computer
d Replace drive unit rack
0724
a Replace rectifier
b Check flat cable between robot
computer board and drive system,
c Replace the robot computer,
d Replace drive unit rack
0731
Error List
S3
44
ERROR MESSAGE
15 Error list
RECOMMENDED CORRECTIVE ACTION
CAUSES
0732
0733
0734
0741
0742
0743
0744
0751
0900
a Perform a restart
b Install the missing equipment
c Check cabling between measurement
system and robot couputer.
d Replace measurement board DSQC 234
or axis board DSQC 233.
e Replace the robot computer board
0902
Communication error to
measurement system.
0903
0904
0905
0906
A Do a restart.
B Install missing equipment
C Check the cabling between
the measurement board and
the robot computer.
D Exchange the identified
serialmeasurement board.
E Exchange robotcomputer board.
S3
Error List
45
ERROR MESSAGE
15 Error list
RECOMMENDED CORRECTIVE ACTION
CAUSES
0907
0920
Communication error to
measurement system DSQC 233
0921
0922
0923
0924
0925
0926
0927
0928
0929
0930
0960
0961
0962
Error List
S3
46
15
Error list
6
Test mode errors
To enable performing tests in the test mode, the key switch must be set in either position
TEACH or position TEST V=100% when the robot is in its normal initiated mode.
Then, the robot is to be initiated in the test mode by pressing both push buttons on the
computer board front, and then letting the initiation button up a couple of seconds before
letting up the test button.
If an error is discovered during start-up diagnostics in the test mode, the subcode of the error
message will not only be displayed on the programming unit but also on the robot computer
board error lamp.
This enables obtaining an error code in cases where the error message is not displayed on the
programming unit. The displayed subcode is one of the subcodes explained in section 5.
To obtain an subcode from a faulty system, the operator must perform an initiation to enter
the test mode which. This is described above. During this restart, the diagnostic system will
perform the same tests once more, and the error will be rediscovered.
The error lamp on the robot computer board front will blink repeatedly to indicate the error
subcode in accordance with the following description. The blinking of the error lamp will be
repeated until the system is reinitiated.
E.g. error code
560 ERROR/ROBOT COMPUTER BOARD
302
Robot
computer
board front
DSQC230
FAULT lamp
IS LIT
O
o
O
ENABLE
f^*
FAULT
TEST
IS NOT LIT
INIT
1
10
I2H11112
1 II 1II 1
2.2.
2AU2
11 I I
time, seconds
S3
Error List
47
15
Error list
Function
XX
Function
01
03
02
04
05
Function
Board absent
CH2
CH4
XX
1
3
Function
CHI
CH3
Function
XX
Function
0
2
4
6
8
10
12
14
16
Board absent
CH2
CH4
CH6
CH8
CH10
CH12
CH14
CH16
1
3
5
7
9
11
13
15
CHI
CH3
CH5
CH7
CH9
CH11
CH13
CH15
Error List
S3
48
15
Test of board DSQC 224, combined digital and analog in/output board:
Error list
The error printout parameter XX indicates the output/input in accordance to the table below:
XX
Function
XX
Function
0
2
4
6
8
10
12
14
16
Board absent
CH2
CH4
CH6
CH8
CH10
CH12
CH14
CH16
1
3
5
7
9
11
13
15
CHI
CH3
CH5
CH7
CH9
CH11
CH13
CH15
21
Analog CHI
22
Analog CH 2
Error List
S3
49
15
Error List
Error list
S3
50
16 Index
Keyword
Chapter, section
Absolute measurement
Acceleration index calculation
Adaptivity
Adaptivity sensor interface
Additional system I/O at I/O MAP
ALIGN Fool, externel axis, home pos)
Analog ports
Arc welding
ARG, modify an argument
AUTO DEF, manual tool
AUTO mode
AUTO, automatic search
Automatic (menu)
Automatic restart
Autosearch (AW)
Arc weldning
Arc weldning,system principles
Arc weldning, program structure
Arc weldning of rear axis member
AW REST, Arcweld Restart
4.2
11.8.3.1
10
10.1
4.12.3
7.7
4.11.2
12
8.5
9.4
2.3
6.4.3, 10.3.3
7
4.2.3
6.4.3,10.3.3.3
12
12.2
12.3
11.6.1
7.8
7.7
3.3.1.1
3.2.4.5
9.5
9.2.2
7.1-4
CALL a sub-program
Change of operation mode
CHANGE, manual tool
CIRCEL
Circuit breaker
CLEAN, welding
CLEAR
Close-down
Closely spaced positions
COM
Commands from robot
Commands to robot
Common functions
Compability with earlier programs
Computer link
CONTOUR, contour tracing
Connection and definition of sensors
Control cabinet
Control panel
Coordinate systems
5.6
2.3.4
9.4
3.7,6.13
2.2
10.2.4.1, 10.2.5.2
9.1
4.1.1,4.1.3
11.5.7
5.13
4.8.3
4.8.2
12.6.4
11.5.2
2.9, 4.8
6.8, 10.5
10.2
2.1
2.3
3.2, 5.11. 11.7.3.1
Programming
S3
16 Index
Keyword
Chapter, section
3.2.1
3.2.2
3.2.3
8.16
8.5.4
8.10
5.11
6.3
6.9, 10.6
3.6, 11.5.6
3.6.1.4
6.9, 10.5
7.6
Delay of outputs
Definition of ARM load parameters
Define a position with PATH zone
Defining of WRIST load.
Devitations
DHANDCHK
Diagnostic messages
Dialog via prog.unit
Digital ports
DIR. direction search
DISK
DISK (DELETE)
DISK (FROM DISK)
DISKdNTT)
DISK (TO DISK)
Diskette handling
Distance searching
DISPL, displacement of position
DISPL, modify a position
DIST, distance search
5.3
8.6
9.2.4
11.8.4
12.6.1
11.8.5
3.6.4
3.4.1,6.6,6.10,6.14.6.16
15.5
2.4.1
4.11.1
6.4.2,10.3.2
9.2
9.2.4
9.2.1
9.2.3
9.2.2
4.7
10.3.1
7.5
8.5.3
6.4.1,10.3.1
Editing MENU
Editing
Emergency stop
END DATA, welding
Enabling device
ERASE, TCP, tool
Error buffer
ERASE
ERRORS
Error buffer
Error hanling
Execution of instruction
Execution of instruction without current
8
8.1
1.2.1,2.3,2.5
12.5
2.6
9.4
4.6
8.11
9.7, 9.12
15.2
13.4
14.3.6
14.3.7
DELETE
DELETE (DISK)
Programming
11.6.3
11.6.4
S3
16 Index
Keyword
Chapter, section
Exceptions
External axes, homeposition
EXTAX, Independent External Axes
EXTC, welding
EXTPOS, welding
EXTFRAME
3.6.1.5
7.7.2
5.17
10.2.4.2
10.2.4.2
5.18, 6.18, 9.16, 12.6.5
7.7
5.8.1
3.6.1.2, 6.3
13.1.1
9.2.1
9.8
3.9.2,5.15,6.14,
9.6, 10.7
14.2.3, 14.3.2
5.12
5.19
13.1
13.2.1
11.6.2
5.1
HANDCHK
High performance programming
HOLD, HOLD RESET and AUTO INPUT
Hold-to-run
Home position
Host computer
8.5.1
11.7
4.12.3.1
1.2.5
7.7.3,9.17
2.8,4.8, 5.14
I/O signals
IN/OUT
Information(program)
INIT (DISK)
Initialize diskette
Initialization sequence
INPUT, manual
INPUT, wait-input
Input, jump-input
Inputs and outputs
INS, instruction start
INSERT
INST NO, call up instruction
INST, modify instruction
INTER, interrupt
Intialization sequence for the main program
14.3.3
9.4
4.5
9.2.3
4.7.1
11.2
9.4
5.2.2
5.4.2
4.12, 9.4
7.1-4
8.7
8.2
8.5
4.12, 5.10
11.2
Programming
S3
16 Index
Keyword
Chapter, section
Joystick
JUMP
JUMP (SEARCH)
JUMP(NINPOS)
2.5
5.4
5.4.3
5.4.4
LANG, language
Language section
Limitations
LIST
LIST, program printout
LOAD
LOAD, programmable
LOAD definition
Local (operation)
Location (Registers)
LOCATE
Logical Instruction menu
9.11
4.3
3.3.2.4
9.7
9.7
9.5
11.8
9.5
4.8.6
12.4
2.2
9:5
9.1
2.3.2
2.3.3
4.2.2
5.5
3.1
12.5.2,12.6.3
11.6.5
11.8.3.4
11.1
8.13
8.5.4
8.5
8.5.2
N (not ready)
NINPOS, jump-not in position
NEXT, TCP, tool
4.1.3
5.4.4
9.5
Programming
4:9.2
5.22
5
8.4
3.9, 5.11
2.7
3.2.4
7.10, 4.12, 3.2
3.6
11.7.3.2
3.5
S3
16 Index
Keyword
Chapter, section
Off-line
Off-line, teach
OPERATION
Operation status, computer link
Operation status, error list
OUTPUT
Override, (Gluing)
Override on the scaling instruction
Override, function (Arc welding)
Overviewe of five programming menus
2.8
9.13
4
4.8.6
15.3
4.10, 5.3, 9.4
13.3
13.3.2
12.7.2
11.3
PALETT
Pattern program
Path following (principles)
Path optimization
Parallel displacement
Ports
POSPOS
Positioning instruction menu
Position programming
Position registers, location
POSLOC
Positioning
Power on. power off synchronization
PROG NO
PROGST.INS ST., BWD., SIM
PROG, printout
PROG.
6.16, 9.15
11.4
3.6.1.1
3.6.1
3.9
4.11
6.10
6
3.4
4.9.2
6.12
6
4.1.1
8.12
7.1-4
2.8
8.8
3.9.1
11.8.3.3
Programming
11.5.5
3.9.2
14.2.5
11.5
14.3.5
11.6,12.8
4.5
2.4
4.1.2
3.3.2.2
4.5
2.8
S3
16 Index
Keyword
Chapter, section
Program structure
Program test
Program robot paths
Programming unit
Position programming
11.3
12.7.1
11.5
2.4
3.4
RB MODE
Recommendations (for programming)
Recommended paths, zones
RECT COORD Rectangular base Coordinates
system
9.10
11.5.1-6
11.5.3-6
3.2.4,3.2.4.1,
3.2.4.4, 3.2.4.5
11.5.3
Safety
SAME, repeat instruction
Save on disk
SC
Scaling instruction
SEARCH
SEARCH (auto)
SEARCH (dist)
SEARCH (dir)
SEARCH AUTO
Sensor definition
SIM, simulation of input
Signals
Singular Points
Smooth wrist reorintation
Softness definition
SOFTS
Programming
11.5.6
11.7.2
11.5.4
4.8.5
3.9.1,6.6
4.9, 5.8, 10.2.1
5.8.1
5.8.4
5.8.2
5.8.3
6.17
2.10
4.13
8.9
7.9
4.2.4
4.2
5.7
3.2.4, 3.2.4.2, 3.2.4.3
3.4.1
3.3.2
1
6.2
11.8.6
2.9, 4.8, 5.14, 9.8,
9.9,9.10
13.2.2
6.4, 10.3
6.4.3
6.4.1
6.4.2
6.4.3
9.5
7.4
13.1.2
3.10
11.5.1
9.5
5.16
S3
16
Keyword
Chapter, section
Soft servo
Software configuration
Speed control
Speed optimization
Spontaneous status messages
Spot welding
Spot welding instruction
Spot welding instruction, editing
Standard SYSTEM I/O, inputs
Standard SYSTEM I/O, outputs
START DATA, welding
START
STEP
STO POS, storage of position
Stop
STORE, align store
SUCTRL, superior computer
SWI-function
SYS PAR
System-I/O
System faults
3.8
4.4, 9.12.1
10.4
3.6.2
4.8.4
14
14.2.4, 14.3.4
14.2.7
4.12.1
4.12.2
12.4
4.1
8.3
6.11
4.1.3
7.7
5.14
14.3
9.7.3
4.12
15.4
TCP
TCP, activate
TCP, fixed
TCP, definition
TEACH, offline
Trimming of position gain index
TIME
TIME, wait-time
TO SC program to SC
TO DISK
TOOL, (TCP, sensor, softs)
Tool direction
TRANSFER, register value to port
TRIM, progammable
3.3
5.9
3.2.4.6, 3.10
9.5
9.13
11.8.3.2
6.15,8.15
5.2.1
9.9
9.2.2
9.5
7.7.1
5.8.3
11.9
USER PAR
9.7.4
6.1, 8.1
6.7
5.5
3.7.2
3.6.1.3
3.6.2
3.6.3
5.22
5.2
5.2.1
5.2.2
9.14,10.2.3
6.5
12.4
11.8.2
Programming
Index
S3
16 Index
Keyword
Chapter, section
WELD
Welding data, desceription and programming
Welding gun, manual operation
Welding process, instructions
Welding process, supervision
WEND, welding
WINCH (DELETE)
WINCH (FR WINCH)
WINCH (ESTIT)
WINCH (TO WINCH)
WINSCHESTER MEMORY
WRIST/LOAD
10.2.4.1
12.4
14.2.2
12.5.1, 12.6.2
12.7.3
10.2.4.1
9.3.4
9.3.1
9.3.3
9.3.2
9.3
5.20, 9.5, 11.8
Zones
3.6.1.2,6.3
S3
Programming
8