IRC5 Programming and Operation - 2007
IRC5 Programming and Operation - 2007
Facilities Guide
Workshop Area
Must be accompanied by a member of ABB staff
Health & Safety / Customer confidentiality
Smoking area
Access via main entrance
Site Map
Fire Assembly point
Visitors
Parking
Smoking
Area
Employee parking
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
Smoking shelter
Please use main entrance
Fire Exit
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
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
Enabling device
Hold-to-run buttons
(for left or right hand)
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
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
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
Robot Axis
Axis 3
Axis 4
Axis 2
Axis 1
Linear / Reorientation
Base
World
Tool
Workobject
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
Exercise 1
Programming movements
Programming Positions
Speed Data
ToolData
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 Move
Linear Move
P2
Speed Data
ToolData
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
+Y
+X
Relative Directions X, Y & Z.
+Z
No rotation about X, Y or Z
Z
X
TCP & Z
Z direction defined
.
Both X and Z directions defined
1
4
2
3
2
Plan view
Z Elongator point
2
Jog along Base coordinate X Axis to define
tools X direction
X Elongator point
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;
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
p10
y
Base
Wobj0
(0,0,0)
Work Objects
X1
Object
frame
User
frame
World
p10
(200, 0, 450)
(400, 0, 50)
World
User
(300, 60, 0)
Object
World
World
X
Y
X
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
Zone Data
Circular Move
p1
Pick MoveC here
p2
p4
p3
Start / Finish
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
MainModule.mod
System Modules.sys
Program Data
Program Data
Main
Routine
Routines
Routines
Program Modules.mod
Program Data
Main
Routine
Routines
Program Data
Routines
System Modules.sys
Program Data
Routines
Module
XXXXX.sys
System Module
XXXXX.cfg
Parameter File
XXXXX.pgf
Program File
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
BACK INFO
HOME
System ID
Text information,
programme.id,
key.id,
keystr.txt,
system.guid,
template.guid
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
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.
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.
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
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
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