Vous êtes sur la page 1sur 102

IRC5

ABB Limited - Robotics

PROGRAMMING AND OPERATION

Facilities Guide
Workshop Area
Must be accompanied by a member of ABB staff
Health & Safety / Customer confidentiality

Please ask if you would like a guided tour

Phones, Faxes and Internet access


Outgoing calls - Phones available in training rooms and reception
Incoming calls and urgent messages Please ask reception to
relay
Internet access - via terminal in main training area
Password: Trainme2day11

Contacting ABB personnel


Please ask instructor if you would like to contact or meet up with
friends or acquaintances at ABB

Smoking area
Access via main entrance

Site Map
Fire Assembly point

Visitors
Parking

Smoking
Area
Employee parking

Auriga House Ground Floor Plan


Fire Exit

Fire Exit

Mech
Training
Area

Office

Room
3

Workshop gangways

Training Suite

Workshop

Room 2
Room 1

Paint
Training
rooms

Solutions
Centre

Weld Training
rooms

Reception
Technical
Help desk

Main Entrance

Robot Spare Parts

Smoking shelter
Please use main entrance

Fire Exit

IRC5 Training course scheme


Programming
&
Operation

Operator

5 day

2day

RobotStudio 5
Certified User

Electrical
4 day

Mechanical
4 day

Programming &
Operation for
Mig / Mag

MultiMove
Programming

Advanced
Stage1

5 day

WebWare
2 day

Mig Mag
Process
Appreciation
3 day

3 day

3 day

PickMaster

5 day

Rotary
External Axis
Programming
2 day

5 day

Advanced
Stage2
3 day

SmarTac
2 day

Course Objectives
Safety requirements for basic programming and operation
System warm start up, shut down and error recovery
Basic program operation
Basic production programming techniques
Editing program instructions to maximise efficiency
Create and use routines
Use input output instructions
Flexpendant communication instructions
Numerical data instructions
Saving and opening programs

Safety

Potential Accident Risks


Modifying program within robot cell
Test run
Fault tracing
Repair
Process hazards

ABB Safety Solutions an Overview


Emergency stop
Operating mode
Auto
Manual < 250 mm/s
Manual 100%

Enabling device
(Dead mans grip)
Hold-to-run
Safeguard stop
(Auto and Manual)
Limiting the workspace
Lockouts and Interlocks

Law Demands
The construction design for the robot is to comply with
requirements that are stated in ISO 10218, Jan 1992,
industrial robot safety. Robot also comply with
requirements for ANSI/RIA 15.06-1999.
Definition of safety function / regulations:
Emergency stop IEC 204-1, 10.7
Enabling device ISO 11161, 3.4
Safeguard ISO 10218 (EN 775), 6.4.3
Reduced speed ISO 10218 (EN 775), 3.2.17
Interlock ISO 10218 (EN 775), 3.2.8
Hold to run ISO 10218 (EN 775), 3.2.7
ANSI: American National Standards Institute
RIA: Robotics Industries Association
ISO: International Standards Organisation
IEC: International Electrotechnical Commission
EN: European Normalisation

Emergency Stop
Built in emergency stop
pushbuttons are found both
on the FlexPendant and
Controller-X-module as
default.
Extra emergency stops can
be connected to the robot
systems safety chain.

Operating Mode
Automatic mode
Production mode (no speed limit)

Manual mode
< 250 mm/s max velocity 250 mm/s
100 % Option, robot can be
jogged/tested with no speed limit.

Enabling Device (Dead Mans Grip)


The enabling device is a press switch with three
positions
The switch must be in the middle positions in order to
activate the motors
All robot movement will immediately stop if the switch is
released or pressed to the bottom

Enabling device

Hold-to-Run (Manual 100 %)


Only found on Version 1 FlexPendants
Hold-to-run buttons removed on Version 2 FlexPendant
Option (this function can be selected in the parameters)
The enabling device and one of the hold-to-run buttons
must be pressed simultaneously to start the motors

Enabling device

Hold-to-run buttons
(for left or right hand)

Version 2 FlexPendant Hold-to-Run

Hold-to-Run buttons and


prompt message removed

Hold down the play key, to run the program


Hold down the FWD or BWD key to step through program
Release the pressed key to stop execution

Safeguard Stop
The connection of safeguard stop enables inter-locking
of external safety equipment, such as: doors, photoelectric trip device, photo cells or pressure mats.
Safeguard stop can be connected in two ways:
Always active regardless of operating modes
Only active when automatic mode is selected

Possibility to activate Delayed Safeguard Stop.


A delayed stop gives a smooth stop. The robot stops in
the same way as at a normal program stop with no
deviation from the programmed path.

Limiting the Workspace


To avoid the risk of getting
caught between the robot and
the outer safe equipment, e.g.
a fence, the robots workspace
can be limited:
All axis can be software controlled
Axis 13 can be limited by
adjustable mechanical stops and
controlled by limit switches

Safety Regarding Grip Device


All grip devices must be designed so the work piece will
be held on power failure and other disturbances in the
robot system
Make yourself familiar with the output used to activate
the gripper
Mind your fingers when manually operating gripper from
FlexPendant

Electrical Safety
Hazardous power in both the cabinet and the robot
Net power 400 VAC
Transformer 260 VAC
Rectifier 260 VAC and 370 VDC
Power supply 370 VDC
Power supply to robot motors up to 370 VDC
Customer equipment

Safety Regarding Releasing the Breaks


The breaks on the robot motors can be manually
released.
Before the breaks are released, be sure that the weight
of the robot arm is supported and wont cause damage to
individual or equipment

Operational Exercise
Execute program
Manual reduced speed
Enabling device
Manual Full speed
Enabling device and Hold-to-run
Automatic
Stepwise Operation
Fwd Bwd and limitations
E-Stop and recovery
Debug menu
Starting program from cursors position
Program Reset

Jogging the robot

Robot Axis

Axis 3

Axis 4
Axis 2

Axis 1

Jogging The Robot


Motion Types
Robot
Major Axes 1,2,3
Minor Axes 4,5,6

Linear / Reorientation
Base
World
Tool
Workobject

Can Jog the Robot in Incremental steps.

QuickSet menu
With the QuickSet menu you can access some often
used settings
Mechanical unit

Jogging mode
(1-3, 4-6, linear or reorient)
Coordinate system

Increment
Running Mode
Step Mode
Override Speed

The Jogging Window

Exercise 1
Programming movements

Programming with the FlexPendant


ABB Main Menu

Creating a new Program File

Creating a new Program File

Programming Positions

Positional Movements Instructions


MoveJ - moves the TCP in a way which is
easiest for the robot and not in a straight line

Speed Data

ToolData

MoveJ *, v1000, z50, tool0;


Robot Position

Zone Data

Zone
Zone data describes how close to the destination
position the axes must be before the next instruction
can be executed.
Robot path in automatic mode.

Programmed
position.

Zone size.
MoveL p2, v100, z10, tool0;

Joint & Linear Move


P1

Joint Move

Linear Move

P2

Positional Movements Instructions


MoveL - moves the TCP in a Linear direction
or straight line

Speed Data

ToolData

MoveL *, v1000, z50, tool0;


Robot Position

Zone Data

ModPos
Modifying the position in a positioning instructions
Move robot to desired position
Select the instruction or target to be changed
Press Modify position

Program Edit Menu

Tool Centre Point


Tool Mounting
Flange

+Y

+X
Relative Directions X, Y & Z.

+Z

Tool Centre Point


Position & movement of robot always related to TCP.
Defined as being somewhere at the end of the tool.
Many can be defined but only one active at any one time.
Can be programmed manually but only if accurate data.
Normally use robot to define TCP.
If tool is damaged or replaced, dont change program just
redefine the tool.

Tool Centre Point Definition Methods


Default Orientation (same direction as tool0)
TCP & Z Just Z direction defined (X stays in same plane as tool0)
TCP & Z, X both Z and X defined
From 3 to 9 approach points

TCP Default Orientation

No rotation about X, Y or Z

Z
X

TCP & Z

Z direction defined

TCP Z & X Mag welding and Water cutting

.
Both X and Z directions defined

TCP Definition Default Orient

1
4

2
3

2
Plan view

TCP Definition Z & X


Tool orientations are defined by the direction the tool is
positioned away from the datum point.
5

Z Elongator point

Jog robot so the tools intended Z and X


directions, visually align to the base
coordinates Z and X axis.

Jog along Base coordinate Z Axis to define


tools Z direction

2
Jog along Base coordinate X Axis to define
tools X direction

X Elongator point

Tool Centre Point Definition Method


Menu
Program data
Select tooldata
Show data
New
Name tool
Initial value or OK and select tool in list and Edit Value
Mass:= type in kg
Press OK
For RW5.06 Press and hold on tool in list to get context menu
For RW5.07 Press Edit

Select Define
Select Method and number of Points
Select Point 1, jog robot to calibration position and press Modify Position
Repeat for remaining points
Press OK
You will need to activate your TCP in the jog window

Exercise 2
Create a Tool Centre Point

Logical
Set - turns ON a Digital Output.
Set doGripper;
Reset - turns OFF a Digital Output.
Reset doGripper;

Logical
SetDO - changes the value of a Digital Output.

SetDO do15, 1;
or
SetDO \SDelay := 0.2, do15, 1;
SetDO \Sync do15, 1;

Routines and program flow example


main
PickPen

PutPen

Main
PickPen;
MoveJ ,v200,
MoveL v200,
MoveL v100,
MoveL v300,
MoveL v200,
MoveL v200,
MoveJ ,v200,
PutPen;

Main routine

PickPen
MoveJ ,v200,
MoveL v1000
Set doGripper;
MoveL v200,

PutPen
MoveJ ,v200,
MoveL v1000
Reset doGripper;
MoveL v200,

Sub routines

Routines
Repetitive instruction sequences, that occur frequently in the program,
should form their own routines.
Routines separate the program into smaller more easily understood
parts, these can then be called anywhere in the program using the
ProcCall instruction.
A Max of 16 characters are allowed for naming routines, meaningful
names such as PickBlock, CutSquare and Put_Part etc will make
the program easier to follow and operate.
Routines can be tested by moving the Program Pointer to a routine.

Routines Exercise
Create a new routine called PickPen
Activate your TCP
Program the robot to pick up the pen using the minimum amount of instructions
Test this routine
Duplicate this routine and edit the output instruction to put the pen down
Call these routines in your main routine
Test your Main Routine

Exercise 3
Create Routine to pick and place
Pen

Work Object Coordinate System

All program positions are attached to a work object


Wobj0 is the default coordinate system
It is advisable to use custom work objects

p10
y

Base
Wobj0

(0,0,0)

(900, 60, 500)

Work Objects

Custom Work Object

X1

Object
frame
User
frame

World

Work Objects contain both User and Object Frames

Work Object Frames

p10
(200, 0, 450)

(400, 0, 50)

World

User
(300, 60, 0)

Object

Work Objects and External Axis


Workobject disconnected from robot world
and attached to mechanical unit

Object frame may be transposed


from its User frame

Defining a Work Object frames

World
World

User and Object Coordinate Systems are usually both defined


at the same position.

Work Object Definition Methods

User and Object Coordinate Systems are usually both defined


at the same position.

Jogging along axis Work Objects

X
Y
X

Work Objects Summary


WObjData is used to describe the area that the robot welds, processes,
moves within etc.
If position Data is entered manually, the values can be taken from a
drawing.
Programs can be reused quickly following changes in the robot installation
e.g. if a fixture is moved, just redefine user coordinate system.
Variations in how the work object is attached can be compensated for. For
this, however, some sort of sensor will be required to position the work
object.
Robot can be jogged along the axes of the work object.

Work Object Definition Method


In the jogging window activate the TCP that you will use to define Workobject
Menu
Program data
Select wobjdata and tap Show Data
Select New
Name work object
Press OK
For RW5.06 Press and hold on the Workobject in list to get context menu
For RW5.07 Press Edit
Select Define
Select 3 points for user frame and No Change for Object frame definition
Jog the tool to the User X1 point select and Modify Position
Repeat for User X2 and User Y1
Press OK and view the calculated result
Press OK to close
You will need to activate your workobject in the Jogging window
in order to program or jog relative to it.

Exercise 4
Create a Work Object

Positional
MoveC - moves the TCP in a Circular
direction using the mid & end point of a semicircle

Speed Data

ToolData

MoveC *, *, v1000, z10, tool0;


Robot Positions

Zone Data

Circular Move
p1
Pick MoveC here

p2

p4

p3

ModPos MoveC here

MoveL p1, v100, fine, tool0;


MoveC p2, p3, v100, z1, tool0;
MoveC p4, p1, v100, fine, tool0;

Path Following Exercise


Start / Finish

Start / Finish

Path Following Exercise


Start / Finish
Direction

Path Following Exercise


Example of main routine

Exercise 5
Programming with Routines

What is a module
The Internal Structure of Modules
%%%
VERSION:1
LANGUAGE:ENGLISH
%%%
MODULE EX1
CONST robtarget p3:=[[1266.11,-44.68,379.91],[0.567059,0.054467,0.821577,0.022118],[0,0,CONST robtarget p2:=[[1270.77,-93.78,386.13],[0.567071,0.054457,0.82157,0.02211],[-1,0,CONST robtarget p1:=[[1312.4,-132.16,381.39],[0.567077,0.054431,0.821568,0.02209],[-1,0,PROC main()
MoveL p1,v1000,fine,tool0;
MoveL p2,v1000,fine,tool0;
MoveL p3,v1000,fine,tool0;
ENDPROC
ENDMODULE

IRC5 Task Structure


Robot Task
Program File.pgf
<?xml version="1.0" encoding="ISO-8859-1" ?>
<Program>
<Module>MainModule.mod</Module>
</Program>

MainModule.mod

System Modules.sys

Program Data

Program Data

Main
Routine

Routines

Routines

IRC5 Task Structure


Robot Task
Program File.pgf
<?xml version="1.0" encoding="ISO-8859-1" ?>
<Program>
<Module>ModuleA.mod</Module>
<Module>ModuleB.mod</Module>
<Module>MainModule.mod</Module>
</Program>

Program Modules.mod
Program Data
Main
Routine

Routines

Program Data
Routines

System Modules.sys
Program Data
Routines

What are Modules


A module is a group of routines and data.
The module that contains the main routine is the MainModule
System modules are always present in memory and can be used to save
your default data
Filename extensions are
XXXXX.mod

Module

XXXXX.sys

System Module

XXXXX.cfg

Parameter File

XXXXX.pgf

Program File

Creating a new program in IRC5


A new program file is created (.pgf)
A MainModule with main routine is created

Saving program in IRC5


A folder with the same name as the program is created
This folder contains the MainModule, Sub modules and the
program file
The program file (.pgf),is an extensible mark-up language,
XML, file that lists all program modules in the task
System Modules are NOT saved

Folder created with


same name

Saving Individual Modules


Individual, Program or System modules can be saved
Select in Program Editor and Save Module As from File menu

Loading Programs
Loading whole programs will overwrite existing programs
Each task will have its own program

Loading Modules
Loading Program and System modules from the Program Editor
1

IRC5 System backup


Backup_20050117

BACK INFO

HOME

System ID
Text information,
programme.id,
key.id,
keystr.txt,
system.guid,
template.guid

Most files off


Flash disk from
Active system

RAPID

SYSPAR

System.xml

System parameters

TASK 0

PROGMOD

SYSMOD

Empty

Empty
Used by system only!

Multitasking
TASK
1
TASK
11
TASK
TASK 1

PROGMOD
SYSMOD
PROGMOD
SYSMOD
PROGMOD
PROGMOD SYSMOD
SYSMOD
Program modules

Backed up regularly !!!

System modules

Exercise 6
Backup and Restore

Logical
WaitDI - Waits until a Digital Input is set to either
high or low.
WaitDI di1, 1;

Logical
WaitUntil - Waits until 1 or several Inputs have
been set.
WaitUntil di1=1;
WaitUntil di1=1 AND di2=1;
AND, OR

Logical
WaitTime - Waits a set amount of time.
WaitTime 0.5;
(Waits 0.5 seconds)
WaitTime \ InPos, 0.5 ;
(Optional Argument wait in position)

Logical
Stop - is used to stop program execution.

Move J pTCPcheck, v100,fine,tGun;


Stop;

Exercise 7
Waiting for Inputs and Time

TPWrite
TPWrite - writes Text/Data to FlexPendant.
TPWrite Execution Started;
TPWrite Num of produced parts= \Num:=reg1;
TPWrite String [\Num] | [\Bool] | [\Pos] | [\Orient]

TPErase
TPErase - is used to clear the display of the FlexPendant.
TPErase;
TPWrite Execution Started;

TPShow
TPShow - is used to switch the window on the FlexPendant.

TPShow TP_PROGRAM;
The Production Window will be active if the system is in AUTO mode.
Or
The Program Editor will be active if the system is in MAN mode.
TPShow TP_LATEST;
Show the previous FlexPendant Window before the current one.

Exercise 8
Operators Log Messages

Comment
Comment - Inserts a line of text so as to make it easier to understand
the program.

Comment / Uncomment Row


Comment Row Disabling Instructions, sometimes better than delete!

CompactIF
Compact IF - where a single instruction is executed
depending on whether a condition is met or not.
IF di1 = HIGH WaitTime 0.5;
or
IF di1 = HIGH PickPart;
The instruction may be a ProcCall which calls a
routine

IF
IF - where different instructions are executed

depending on whether a condition is met or not.


IF di1 = HIGH THEN
Circle;
Oval;
ENDIF

IF di1 = HIGH THEN


Circle;
ELSEIF di2 = HIGH THEN
Outside;
ELSE
Oval;
ENDIF

Exercise 9
Decision making with IF

TPReadNum
TPReadNum - writes Text on FlexPendant and records
which Numbers are pressed.
TPReadNum reg1, How many Outsides should be produced?;

While
While - is used when a number of instructions are to be
repeated as long as a given condition is met.
WHILE reg1> 0 DO
Outside;
Decr reg1;
ENDWHILE
Repeats the instructions in the WHILE loop as long as
reg1 > 0
WHILE Condition DO... ENDWHILE

Exercise 10
Loops

Cycle Timing Instructions


ClkReset - is used to reset a clock that functions as a stop
watch, it sets it to 0.
ClkReset clock1;
ClkStart - is used to start a clock that functions as a stop
watch.
ClkStart clock1;
ClkStop - is used to stop a clock that functions as a stop
watch.
ClkStop clock1;

ClkRead()
ClkRead() - is a function that reads a timing clock and
returns its value.
ClkReset clock1;
ClkStart clock1;
MoveJ *, v1000, fine, tool0;
ClkStop clock1;
TPWrite Cycle Time=\Num:=ClkRead(clock1);

TPReadFK
TPReadFK - writes text on the FlexPendant and records a number.
TPReadFK nPress, Choose?, Outside, Circle, Oval ,,;

TEST
TEST - where different instructions are executed
depending on the value of an expression or data.
TEST nPress
CASE 1:
Outside;
CASE 2:
Circle;
CASE 3:
Oval;
DEFAULT:
TPWrite Illegal choice;
Stop;
ENDTEST

Programming
Practice

Course Objectives
Safety requirements for basic programming and operation
System warm start up, shut down and error recovery
Basic program operation
Basic production programming techniques
Editing program instructions to maximise efficiency
Create and use routines
Use input output instructions
Flexpendant communication instructions
Numerical data instructions
Saving and opening programs

Vous aimerez peut-être aussi