Sie sind auf Seite 1von 83

IRC5

PROGRAMMING AND OPERATION


ABB Automation Technologies
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
ABB Automation Technologies - 2

Numerical data instructions


Saving and opening programs
ABB Automation Technologies - 3

Safety
Potential Accident Risks
Modifying program within robot cell
Test run
Fault tracing
Repair
Process hazards
ABB Automation Technologies - 4
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)
ABB Automation Technologies - 5

Limiting the workspace


Lockouts and Interlocks
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.
ABB Automation Technologies - 6
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.
ABB Automation Technologies - 7
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
ABB Automation Technologies - 8

Enabling device
Hold-to-Run (Manual 100 %)

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
ABB Automation Technologies - 9

Hold-to-run buttons
(for left or right hand)
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
ABB Automation Technologies - 10
Safety Regarding Releasing the Breaks

The breaks on the robot motors can be manually


released to release a caught individual
Before the breaks are released, be sure the weight of the
robot arms dont jam the individual even more
ABB Automation Technologies - 11
Stop the System
Stop the system immediately if
there is any personnel in the robot working area, while the robot
is working
the robot causes harm to personnel or mechanical equipment
ABB Automation Technologies - 12
ABB Automation Technologies - 13

Jogging the robot


Jogging The Robot

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

Linear / Reorientation
Base
World
Tool
ABB Automation Technologies - 14

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
ABB Automation Technologies - 15

Step Mode
Override Speed
ABB Automation Technologies - 16

The Jogging Window


ABB Automation Technologies - 17

Exercise 1
Programming movements
Programming with the FlexPendant

ABB Main Menu


ABB Automation Technologies - 18
ABB Automation Technologies - 19

Creating a new Program File


ABB Automation Technologies - 20

Creating a new Program File


ABB Automation Technologies - 21

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;


ABB Automation Technologies - 22

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.
ABB Automation Technologies - 23

MoveL p2, v100, z10, tool0;


Joint & Linear Move

P1 Joint Move

Linear Move
ABB Automation Technologies - 24

P2
Positional Movements Instructions

MoveL - moves the TCP in a Linear direction


or straight line

Speed Data ToolData

MoveL *, v1000, z50, tool0;


ABB Automation Technologies - 25

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
ABB Automation Technologies - 26
ABB Automation Technologies - 27

Program Edit Menu


Tool Centre Point

Tool Mounting
Flange

+Y
ABB Automation Technologies - 28

+X +Z
Relative Directions X, Y & 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.


ABB Automation Technologies - 29

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
ABB Automation Technologies - 30
TCP Default Orientation

No rotation about X, Y or Z

Y
ABB Automation Technologies - 31

Z
X
ABB Automation Technologies - 32

TCP & Z

Z direction defined
TCP Z & X - Welding gun
ABB Automation Technologies - 33

Both X and Z defined


TCP Definition Default Orient

1
1
4
3
2 4

3 2
ABB Automation Technologies - 34

Plan view
TCP Definition Z & X

5 Z Elongator Z

1 X
4 Y
3
6 Base
2 coordinate
X Elongator direction
ABB Automation Technologies - 35
Tool Centre Point Definition Method
ABB 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
Press and hold on tool in list to get context menu
Select Define
ABB Automation Technologies - 36

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
ABB Automation Technologies - 37
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


z
p10
(900, 60, 500)
y
Base
(0,0,0)
Wobj0
ABB Automation Technologies - 38

x
Work Objects

Custom Work Object


X1
Object
frame

User
frame

World
ABB Automation Technologies - 39

Work Objects contain both User and Object Frames


Work Object Frames

p10
(200, 0, 450)
(400, 0, 50)

World User
(300, 60, 0)
Object
ABB Automation Technologies - 40
Defining a Work Object frames

World
World
ABB Automation Technologies - 41

User and Object Coordinate Systems are usually both defined


at the same position.
Work Object Definition Methods
ABB Automation Technologies - 42

User and Object Coordinate Systems are usually both defined


at the same position.
Jogging along axis Work Objects

X
ABB Automation Technologies - 43

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.
ABB Automation Technologies - 44

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
ABB Menu
Program data
Select wobjdata and tap Show Data
Select New
Name work object
Press OK
Press and hold on the Workobject in list to get context menu
Select Define
Select 3 points for user frame and No Change for Object frame definition
ABB Automation Technologies - 45

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

MoveC - moves the TCP in a Circular


direction using the mid & end point of a semicircle

Speed Data ToolData

MoveC *, *, v1000, z10, tool0;


ABB Automation Technologies - 46

Robot Positions Zone Data


Circular Move
p1
Pick MoveC here

p4 p2

p3 ModPos MoveC here


ABB Automation Technologies - 47

MoveL p1, v100, fine, tool0;


MoveC p2, p3, v100, z1, tool0;
MoveC p4, p1, v100, fine, tool0;
Routines and program flow
main

outside circle oval

Main Outside Circle Oval


MoveJ pHome,v MoveJ pSafe,v MoveJ pSafe,v MoveJ pSafe,v
Outside; MoveJ v1000 MoveJ v1000 MoveJ v1000
Circle; MoveL v200, MoveL v200, MoveL v200,
Oval; MoveL v200, MoveC v20 MoveC v20
MoveC v20 MoveC v20 MoveC v20
MoveL v200, MoveL v200, MoveC v20
MoveC v20 MoveJ v1000 MoveC v20
ABB Automation Technologies - 48

MoveL v200, MoveC v20


MoveC v20 MoveC v20
MoveL v200, MoveL v200,
MoveC v20
MoveL v200,

Main routine Sub routines


Routines

Before you start to program, you should think out the structure first.

Repetitive instruction sequences that occur frequently in the program,


such as gripper handling, should form their own routines.

Routines separate the program into smaller more easily understood


parts that can then be called anywhere in the program.

You have a Max 16 characters allowed for naming a routine so you


ABB Automation Technologies - 49

should give them meaningful names such as DrawCircle, CutSquare


and Pick_Part etc.
Path Following Exercise

Start / Finish Start / Finish

Path Following Exercise


ABB Automation Technologies - 50

Start / Finish

Direction
Path Following Exercise

Example of main routine


ABB Automation Technologies - 51
Routines
There are three types of Routine:
Procedure - could be described as a number of instructions that
perform a specific task, such as welding a part or changing a tool.
These are put into your program by using ProcCall in the Pick List.

Function - returns a value and, for example, is used to displace a


position or read an input. Not in the Pick List.

Trap - is used to deal with interrupts. These routines are run when
something happens e.g. when a sensor tells you your weld gun has
no gas so an error is reported by the trap routine. Can only be
ABB Automation Technologies - 52

connected to an interrupt.
What is a module
The Internal Structure of Modules
%%%
VERSION:1
LANGUAGE:ENGLISH
%%%
MODULE MainModule
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,-
ABB Automation Technologies - 53

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


ABB Automation Technologies - 54

Main
Routines Routines
Routine
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 System Modules.sys

Program Data Program Data Program Data


ABB Automation Technologies - 55

Main
Routines Routines Routines
Routine
Creating a new program in IRC5

A new program file is created (.pgf)


A MainModule with main routine is created
ABB Automation Technologies - 56
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
ABB Automation Technologies - 57

Folder created with


same name
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
ABB Automation Technologies - 58
Saving Individual Modules
Individual, Program or System modules can be saved
Select in Program Editor and Save Module As from File menu
ABB Automation Technologies - 59
IRC5 System backup
Backup_20050117

BACK INFO HOME RAPID SYSPAR System.xml

System ID Most files off System parameters


Text information, Flash disk from
programme.id, Active system
key.id,
keystr.txt, TASK 0 TASK
TASK 111
Multitasking
system.guid,
template.guid
TASK
TASK 1
ABB Automation Technologies - 60

PROGMOD SYSMOD PROGMOD


PROGMOD SYSMOD
SYSMOD
Empty Empty PROGMOD
PROGMOD SYSMOD
SYSMOD
Program modules System modules
Used by system only!
Loading Programs

Loading whole programs will overwrite existing programs


Each task will have its own program
ABB Automation Technologies - 61
Loading Modules

Loading Program and System modules from the Program Editor

1
ABB Automation Technologies - 62

2
Logical

Set - turns ON a Digital Output.

Set doGripper;

Reset - turns OFF a Digital Output.

Reset doGripper;
ABB Automation Technologies - 63
Logical

SetDO - changes the value of a Digital Output.

SetDO do15, 1;
or
SetDO \SDelay := 0.2, do15, 1;
ABB Automation Technologies - 64

SetDO \Sync do15, 1;


WaitDI

WaitDI - Waits until a Digital Input is set to either


high or low.

WaitDI di1, 1;
ABB Automation Technologies - 65
Logical

WaitUntil - Waits until 1 or several Inputs have


been set.

WaitUntil di1=1;

WaitUntil di1=1 AND di2=1;


ABB Automation Technologies - 66

AND, OR, XOR & NOT


Logical

WaitTime - Waits a set amount of time.

WaitTime 0.5;
(Waits 0.5 seconds)

WaitTime \InPos, 0.5 ;


(Optional Argument wait in position)
ABB Automation Technologies - 67
Logical

Stop - is used to stop program execution.

Move J pTCPcheck, v100,fine,tGun;


Stop;
ABB Automation Technologies - 68
TPWrite
TPWrite - writes Text/Data to FlexPendant.

TPWrite Execution Started;


TPWrite Num of produced parts= \Num:=reg1;
TPWrite String [\Num] | [\Bool] | [\Pos] | [\Orient]
ABB Automation Technologies - 69
TPErase

TPErase - is used to clear the display of the FlexPendant.

TPErase;
TPWrite Execution Started;
ABB Automation Technologies - 70
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 Window will be active if the system is in MAN mode.

TPShow TP_LATEST;
ABB Automation Technologies - 71

Show the previous FlexPendant Window before the current one.


Program Documentation

All your programs, and documentation should be well looked


after. At the very least your programs should be:

Backed up regularly

Master
copies on CD or USB Memory stick in
Company safe
ABB Automation Technologies - 72

Shop floor copies on USB Memory stick or robots


Hd0a
Comment
Comment - Inserts a line of text so as to make it easier to understand
the program.
ABB Automation Technologies - 73
Comment / Uncomment Row
Comment Row Disabling Instructions, sometimes better than delete!
ABB Automation Technologies - 74
IF

IF - where different instructions are executed


depending on whether a condition is met or not.

IF di1 = HIGH THEN IF di1 = HIGH THEN


Circle; Circle;
Oval;
ELSEIF di2 = HIGH THEN
ENDIF
Outside;
ABB Automation Technologies - 75

ELSE
Oval;
ENDIF
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 Oval;

The instruction may be a ProcCall which calls a


ABB Automation Technologies - 76

routine
TPReadNum
TPReadNum - writes Text on FlexPendant and records
which Numbers are pressed.
TPReadNum reg1, How many Outsides should be produced?;
ABB Automation Technologies - 77
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
ABB Automation Technologies - 78

Repeats the instructions in the WHILE loop as long as


reg1 > 0
WHILE Condition DO... ENDWHILE
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;
ABB Automation Technologies - 79

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);
ABB Automation Technologies - 80
TPReadFK
TPReadFK - writes text on the FlexPendant and records a number.

TPReadFK nPress, Choose?, Outside, Circle, Oval ,,;


ABB Automation Technologies - 81
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;
ABB Automation Technologies - 82

DEFAULT:
TPWrite Illegal choice;
Stop;
ENDTEST
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
ABB Automation Technologies - 83

Flexpendant communication instructions


Numerical data instructions
Saving and opening programs

Das könnte Ihnen auch gefallen