Professional Documents
Culture Documents
Abb BP Presentations4th
Abb BP Presentations4th
Basic
Programming
IRC5 Programming Basic
Course Objectives
Course Objectives
Upon completion of this course the student will be able to
successfully:
Course Objectives
Course Objectives
Upon completion of this course the student will be able to
successfully:
Load, create, save, delete, check and edit basic Routines using the
FlexPendant and Robot Studio Online software, based on the BMW
Body Shop Standard.
Verify robot synchronization using a calibration checking routine.
***Understand the creation and Definition of a tool center point, using
the 4 point method. And then the 5 point method with the Z elongator
and the X and Z elongator.
*** Understand the creation and use of a Work Object, and its use in the
programs. The correct selection of a Work Object for motion, and its
assignment in a motion point.
IRC5 Programming Basic
Course Objectives
Course Objectives
Upon completion of this course the student will be able to
successfully:
Course Objectives
Course Objectives
Upon completion of this course the student will be able to
successfully:
Course Objectives
Course Objectives
Upon completion of this course the student will be able to
successfully:
Introduction
Accident Risks
Fault tracing
Repair
Change of
program
Test run
LOCK OUT
Use Lock out Devices.
IRC5 Programming Basic
Emergency stop
Operating mode
Auto
Manual -< 250 mm/s
Manual 100%
Enabling device
(Dead mans grip)
Safeguard stop
(Auto and Manual)
Limiting the workspace
IRC5 Programming Basic
Law Demands
Emergency Stop
Operating Mode
Automatic mode
Production mode (no speed limit) max
7000 mm/s
Manual mode
< 250 mm/s – max velocity 250 mm/s
100 % – Option, robot can be
jogged/tested with no speed limit.
IRC5 Programming Basic
Enabling device
IRC5 Programming Basic
Safeguard Stop
Electrical Safety
Robot System
IRC 5 Controller
FlexPendant
Robot Studio Online
Drive Module
IRC5 Programming Basic
E-Stop
Motors On
Mode Selector
Hour Meter
110 V Outlet
IRC5 Programming Basic
IRC5 – FlexPendant
Graphical color touch screen 4 Hard keys for fast access
Programmable
IRC5 – FlexPendant
Menu Status bar
Main menu
Windows style
Quickset
“switch between
open windows/views” Note: No more than 6 windows open in the bottom.
IRC5 Programming Basic
Quickset button
IRC5 Programming Basic
Remember that the joystick assumes you are facing the front of the robot.
IRC5 Programming Basic
+2
+3 CW
CW
-4 +5 -6
-2
-5
-2
-1 +1
+4 -4
-1 +1
+6 -6
-3 +3
+5
+2
+Z Z
Y
+Y
-X
-X
X
-Y +Y
-Y +Y
+Z -Z
+Z -Z +X
+X
+X
IRC5 Programming Basic
Coordinate Systems
TCP Z
Y
X
Tool coordinates
Z Z
Y Y
X WorkObject
Base coordinates
X
Z
Y
X
World coordinates
IRC5 Programming Basic
IRC5 – FlexPendant
Output Output
Off On
IRC5 Programming Basic
IRC5 – FlexPendant
Jogging window
Event Messages IRC5 Controller
Maintenance
IRC5 Programming Basic
Handling Events
Introduction
Information
E.g: Hold to run must be pressed.
Information of how to proceed
Warning
E.g: Manual movement full speed is selected.
The operator is informed about a potential risk.
Error
E.g: Motor On when Emergency Stop is active.
The system cannot operate before a measure is
carried out.
IRC5 Programming Basic
Information
Warning
Error Message
Unacknowledged
message displayed
IRC5 Programming Basic
Event Log
Event Log
Event Log
Event Categories
Category Error number Area__________________
Exercise 1
BMW_EXERCISES.ppt
The Fundamentals in IRC5 Basic Programming
Robot Programming
IRC5 Programming Basic
Topics
Sample Routine
Sample Routine
IRC5 Programming Basic
MvSynchSwitch
IRC5 Programming Basic
MoveJP
Joint interpolation is often the fastest way to move between two points as
the robot axes follow the closest path between the start point and the
destination point (from the perspective of the axis angles). Use when in
open spaces such as moving from one fixture to another.
MoveLP
Changing a Program
Select item to
change by double
Tapping.
Move Instructions
z
MoveLP p40, v1000, z40, tool0;
Modifying a Position
Tap
Modify Position
IRC5 Programming Basic
Debug option
Program
Pointer
(PP)
IRC5 Programming Basic
MoveAbsJP
Create a new routine (GotoCalib)
Insert MoveAbsJP instruction
Choose star position, Debug / View Value, put all 6 axis to zero
IRC5 Programming Basic
Move Instructions
o position in air
x position on paper
ROBOT
o pHome
o p60
p40 x x p10
x p50
p30 x x p20
IRC5 Programming Basic
the … Box
Jog robot to next position
Repeat
IRC5 Programming Basic
the … Box
Jog robot to next position
Repeat
IRC5 Programming Basic
the … Box
Jog robot to next position
Repeat
IRC5 Programming Basic
the … Box
Jog robot to next position
Repeat
IRC5 Programming Basic
1 Switch the robot to Manual Mode. How can I see if the system is in
manual mode?
Switch from automatic to manual
mode.
xx
DANGER!
Before running the robot, please observe the safety
information in section DANGER – moving manipulators
are potentially lethal!
IRC5 Programming Basic
4 Tap on Debug.
Stepping forward
Step Action Info/Illustration
1 Press the FWD button on the FlexPendant as
shown in the illustration on earlier page.
Stepping backward
Step Action Info/Illustration
1 Press the BWD button on the FlexPendant as
shown in the illustration on earlier page.
IRC5 Programming Basic
Stopping Execution
Procedure
Start
Execute Backward/Forward
Stop program
IRC5 Programming Basic
Exercise 2
BMW_EXERCISES.ppt
Backup & Restore IRC5
IRC5 Programming
Basic Programming
Basic
IRC5 Programming Basic
Topics
Backup
Why?
When?
How?
Precautions
What is stored
IRC5 Programming Basic
Backup
Having a valid backup is necessary for fast recovery:
If the system behaves differently. (Other than normal)
After software upgrades
or replacement
Tap ABB
Tap Backup and Restore
Tap Backup Current
System
IRC5 Programming Basic
Backup
What does a backup contain?
All of the files/folders stored under Home directory in your
system on your flash drive.
The system parameters (e.g naming of I/O signals)
All current programs, modules, and tasks currently in memory.
A backup contains the info that allows your system to go back to
behave as it did when the backup was taken.
IRC5 Programming Basic
Backup
Always
Give your backup a good name.
To create a
new folder
IRC5 Programming Basic
Restore
Remember
Always check if you are restoring the correct Backup Folder.
IRC5 Programming Basic
Backup
Procedure
1 Tap .
xx0300000469
IRC5 Programming Basic
Backup
Procedure
3 Tap Backup.
Xx0300000440
Backup
Procedure
Info/
Step Action Illustration
4 Is the displayed directory the correct one?
If YES: Tap Backup at the bottom of the screen to perform
the backup to the selected directory.
If NO: Tap … to the right of the directory and proceed below.
xx0300000441
Backup
Procedure
Info/
Step Action
Illustration
5 Select the desired directory.
xx0300000443
IRC5 Programming Basic
Restore
Procedure
1 Tap .
xx0300000439
IRC5 Programming Basic
Restore
Procedure
3 Tap Restore.
Xx0300000440
Restore
Procedure
Info/
Step Action Illustration
4 Is the displayed directory the correct one?
If YES: Tap Restore at the bottom of the screen to perform
the backup to the selected directory.
If NO: Tap … to the right of the directory and proceed below.
xx0300000441
IRC5 Programming Basic
Restore
Procedure
Info/
Step Action Illustration
5 Select the desired directory.
xx0300000444
Exercise 3
BMW_EXERCISES.ppt
Rev.Count update IRC5
IRC5 Programming
Basic Programming
Basic
IRC5 Programming Basic
Topics
Revolution counters
Fine calibration
IRC5 Programming Basic
Calibration – IRC5
Rev. Counters
Rev.Counter
Tells how many turns the motor has rotated in the gearbox.
If value is lost the robot cannot run any programs.
A message notifies that the Rev.Counters need to be updated.
(e.g. If battery in SMB is drained)
IRC5 Programming Basic
MoveAbsJ
Create a new routine (GotoCalib)
Insert MoveAbsJ instruction
Choose star position, Debug / View Value, put all 6 axis to zero
IRC5 Programming Basic
Fine Calibration
Fine Calibration
Tells the current angle of motor shaft when robot is in sync
position
Is tuned in by or on site with special equipment
Only needs to be retuned if a motor / gearbox is replaced
Exercise 4
BMW_EXERCISES.ppt
Tool Center Points IRC5
IRC5 Programming
Basic Programming
Basic
IRC5 Programming Basic
Tool coordinates
Y
Tool0
X Z
Benefits using Tool:
Jogging
Re-orientation
Easy to change
Z
Y Control Speed
Follow Path
Base coordinates
X
IRC5 Programming Basic
Coordinate System
TCP
TCP
TCP
TOOL0
TCP
YFlange
ZFlange X Tool
XFlange
YTool
TCP with
tool calibration
Z Tool
IRC5 Programming Basic
Defining a Tool
Create a Tooldata on FlexPendant
Tap on ABB : Program Data : ToolData : Show Data : New
Exercise 5
BMW_EXERCISES.ppt
IRC5 Programming Basic
Arm Load
PayLoad
Tool Load
Things to Remember
When asked about the mass for known or unknown choose unknown
and the system will do a fine tune of the tool weight.
When asked about the angle that axis 6 is to move while performing
the test it is best to select +90 or -90 degrees. This will give the best
results. If the tooling is unable to make this amount of rotation choose
other. A minimum of 30 degrees must be specified.
At the end of the procedure the following information is given:
Mass (kg)= 2.3 Kg
Centrer of Gravity(mm) X= -87.5
Centrer of Gravity(mm) Y= 2.6
Centrer of Gravity(mm) Z= 89.1
Measurement Accuracy = (Should be greater than 80%)
(If not then run again)
IRC5 Programming Basic
Exercise 6
BMW_EXERCISES.ppt
IRC5 Programming Basic
TCP Z WorkObject
Y
X X
Tool coordinates
Z
Y
X
Base coordinates
IRC5 Programming Basic
Object
User User
IRC5 Programming Basic
Origin y1
x2
wobjA4
o pHome
o position in air
x position on paper
Origin o pTri10 y1
/
work object axis Y
x1 --
x pTri20
pTri40 x
x pTri30
x2 --
work object
Exercise 7
BMW_EXERCISES.ppt
Structured Programming IRC5
IRC5 Programming
Basic Programming
Basic
IRC5 Programming Basic
Topics
The ______________
WaitDI instruction is used for waiting
for a single input.
The ______________
WaitUntil instruction is used to wait for a
complicated condition.
The ______________
Waittime instruction is used for waiting
for an amount of time.
IRC5 Programming Basic
I/O Instructions
IRC5 Programming Basic
I/O Timing
P50 p10
P20
P40
DT
P30
I/O Timing
p10
P50
P40
P20
P30
IRC5 Programming Basic
Structured Programming
Structured
Well defined routines
- easy to test TDC Example Module Routine
T_FAULT
- easy to re-use T_GRIPPER
- easy to trace faults T_ROB1
TDC_F25_R01
Easy to read
F25_AIR
F25_PICK_CUBE
F25_DROP_CUBE
F25_TABLE_SIM1 AND 2
F25_DROP_CUBE_ON_TABLE
UID_DATA
UIP_TECH
HOME1, HOME2, HOME3
MV_CALIB
MV_HOME1_HOME2, ETC
MvSynchSwitch
IRC5 Programming Basic
Creating Routines
How to create and program routines.
Must be in the Program Editor.
Tap Routines : File
New Routine : Tap “ABC…”
to change the name.
Tap OK.
Select the routine.
Tap Show routine.
IRC5 Programming Basic
Exercise 9
BMW_EXERCISES.ppt
Program Flow IRC5
IRC5Basic Programming
Programming
Basic
IRC5 Programming Basic
IF Class_input6=1 THEN
Get_cube ;
ELSE
return ;
ENDIF
IF
THEN Class_input6=1
ELSE
Get_cube Return_cube
ENDIF
IRC5 Programming Basic
Table1
THEN ELSE
Class_input2=1
Table2 Return
ENDIF
IRC5 Programming Basic
Program flow IF
To add Else and Elseif Double tap just the word IF.
IRC5 Programming Basic
Program flow IF
The screen changes to this
IRC5 Programming Basic
Program flow IF
And now your ready to plug in the data
IRC5 Programming Basic
Program flow IF
Double tap the EXP
IRC5 Programming Basic
Program flow IF
Select change data type Select Signaldi
Select the signal to use and add the expression Pick the appropriate Expression
IRC5 Programming Basic
Program flow IF
Select Edit, Only selected for just the Highlighted cursor
IRC5 Programming Basic
Program flow IF
Then type a 1 or 0 for on and off
IRC5 Programming Basic
WaitUntil
To get the optional arguments Double tap the instruction
IRC5 Programming Basic
Program flow IF
Then optional argument
IRC5 Programming Basic
Program flow IF
Select the argument and touch use
IRC5 Programming Basic
Program flow IF
Select the argument to use. Then close
IRC5 Programming Basic
Program flow IF
OK
IRC5 Programming Basic
Program flow IF
Now enter the data to use with the arguments
IRC5 Programming Basic
Exercise 10
BMW_EXERCISES.ppt
Working with Numbers IRC5
IRC5Basic Programming
Programming
Basic
IRC5 Programming Basic
The robot has the following instructions that can be used when
working with numbers:
:= (Assign) _______________________
ADD, Clear, r, Decr Remember to create
the data you need
Example: nCounter := nCounter+1;
before you start or
r nCount;
with the instruction.
nCount:=0;
Clear nCount;
Add nCount, 1;
IRC5 Programming Basic
More Numbers
The Assign (:=)instruction can also do other mathematics such as:
___________________
ADD
___________________
Subtract
___________________
Multiply and more
IF
To make decisions using a number, use the ___________ or
Compact IF instructions.
__________
Get_cube Return_cube
nCount=3
Table1 Table2
Good Part Bad Part
Return_cube Reject_On_table
GotoCalib
IRC5 Programming Basic
Exercise 11
BMW_EXERCISES.ppt
Operator IRC5
IRC5Basic Programming
Programming
Communications Basic
IRC5 Programming Basic
TPReadFK
TPReadFK nFKey, “Is this a GOOD or BAD part?”, stEmpty, “GOOD”, stEmpty, “BAD”, stEmpty;
Double Tap
the
instruction
IRC5 Programming Basic
Exercise 12
BMW_EXERCISES.ppt
Work object and More IRC5
IRC5 Programming
Basic Programming
Basic
IRC5 Programming Basic
Topics
Clock instructions.
Repeating a section of a program
Understand the “For Endfor” loop.
IRC5 Programming Basic
Clock Instructions
Clock Instructions
When using a clock as a stop watch:
Clock Functions
Clock Functions
ClkRead - reads clock stopwatch value
Example:
IRC5 Programming Basic
Repeat Routine/Instruction
Repeat Routine/Instruction
Circular Movement
MoveC
pStart
p10
p20
IRC5 Programming Basic
Circular Movement
pStart
p30 p10
p20
Press Modify pos
IRC5 Programming Basic
Function Offset
Function Offset
In the Move command position definition, choosing
function will enable move with offset (Offs). A
displacement of the robot position.
Example
Used to displace a position
Move type Speed
from original position
C, J, L Accuracy
CW or CCW
IRC5 Programming Basic
Offset Example
Example
IRC5 Programming Basic
MM X
Example 100
Which quadrant will
the square be drawn?
75
1 2
50 1 2 3 4
25
100 75 50 25 -25 -50 -75 -100
Y MM
-25
pSTART
-50
3 -75 4
-100
Exercise 13
BMW_EXERCISES.ppt