ABB RobotWare 6.0 Programming and Operation by DR - Poom
ABB RobotWare 6.0 Programming and Operation by DR - Poom
RobotWare 6.0
Programming and Operation
1
12/20/2019
Safety
Safety
2
12/20/2019
When inside the robot cell, make sure you have control of
Pendant
3
12/20/2019
Enabling device
Press and Hold down the play key, to run the program
4
12/20/2019
Safeguard Stops
Your robot system can be equipped with a vast range of safeguards such as door interlocks,
safety light curtains, laser scanners and pressure mats etc.
A safeguard prevents hazardous situations by stopping the manipulator in a controlled manner
when a mechanism such as a light curtain is activated
The controller has three separate safeguarding mechanisms,
– General stop (GS) Always active regardless of operating mode
– Automatic stop (AS) Only active in auto mode
– Superior stop (SS). Always active regardless of operating mode
© ABB Group
December 20, 2019 | Slide 10
5
12/20/2019
Brakes Release
The brakes on the robot motors can be manually released
Make sure the weight of the robot axis and tooling are supported
Brakes are reapplied when button is released
IRC5C controller
brake release button
Produced by Simon Turner
© ABB Group
December 20, 2019 | Slide 11
6
12/20/2019
Safety
Operation
Simon Turner
December 20, 2019 | Slide 13
Enabling
device
3D
Joystick
Jogging
keys
Quickset menu
Produced by Simon Turner
December 20, 2019 | Slide 14
USB port
Program execution keys
7
12/20/2019
8
12/20/2019
9
12/20/2019
Coordinate System
10
12/20/2019
Axis 6
Axis 3 Axis 5
Axis 2 Axis 3
Axis 4
Axis 1 Axis 2
11
12/20/2019
• A = Axis 1
• B = Axis 2
A • C = Axis 3
• D = Axis 6
+
2 3
Y 4
12
12/20/2019
13
12/20/2019
14
12/20/2019
Incremental Jogging
• Small = 0.05mm 2
• Medium = 1mm
• Large 5mm
15
12/20/2019
Jogging collisions
Disabling Jog supervision allows robot to be jogged after collision
‘Collision Detection’ Software option (613-1), required
Path supervision is not effected only jog supervision
Try before releasing brakes
Disabled
16
12/20/2019
Jogging demonstration
Position the robot joints
Major Axis
Minor Axis
Increments where required
Position the tool using Linear relative to:
World / Base coordinates
Tool coordinates
Work object coordinates
Increments where required
Position the tool using Orientation relative to:
Tool / Base and Work object coordinates
Practice Tool Alignment
17
12/20/2019
Exercise
Jogging the Robot Arm
+Y
18
12/20/2019
Many TCP’s may be defined, but only one active at any one time.
Can be programmed manually but only if accurate TCP values are known.
If tool is damaged or replaced, don’t modify program positions, just redefine the tool.
19
12/20/2019
20
12/20/2019
1
1
4
3
2 4
3 2
Plan view
21
12/20/2019
22
12/20/2019
Load Identify
Arm Load
PayLoad
Tool Load
Exercise 2
Exercise
Create a Tool Centre Point and
Use Load Identify
23
12/20/2019
Wobj0 is the default coordinate system and connected to the robot World
Its advisable to use custom work objects as wobj0 can not be moved
pSafe
TCP
wobjBox
World / wobj0
Work Objects Work Object data contains both User and Object Frames
User Object
World
24
12/20/2019
Object frame locates the tooling fixture relative to the user frame / faceplate
User frame
Object frame
Y1
Y1
X1 X1
X2
X2
World
25
12/20/2019
Its common practice for the Object frame to be located directly on top
of its User frame.
26
12/20/2019
X Y Z
Many work object data’s may be defined, but only one can be active at a time.
Robot can be jogged along the axes of the work objects, object frame.
27
12/20/2019
Exercise 4
Exercise
Create a Work Object
Safety
Programming
28
12/20/2019
Programming Introduction
Program Structure
Data Declaration
Creating a program
Programming move instructions
Modifying Instructions and data
Input and Output Configurations
Logical Instructions
Communication Instructions
Saving programs and Creating Backup
Program
Program Program System
Module Main Module 1 Module
Global data Global data Global data
29
12/20/2019
Data Declaration
Variable Global
Persistent Task
Constant Local
30
12/20/2019
Routines Summary
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 will make the
program easier to follow and operate.
Routines are called within the program using the instruction ‘Procall’
© ABB Group
December 20, 2019 | Slide 61
31
12/20/2019
Move L
Move J
32
12/20/2019
Zone
Zone data describes how close to the destination position
the axes must be before the next instruction can be executed.
p2
p1
Zone size
MoveL p1, v100, z10, tool0;
MoveL p2, v100, z10, tool0;
MoveL p3, v100, z10, tool0;
p3
33
12/20/2019
mid
end
p4 p2
p3
ModPos End target here
34
12/20/2019
Start / Finish
Direction
Offset Function
Offset Function is used to add an offset to a robot position in the
coordinate system
Reference Robot Position
35
12/20/2019
Offset Function
Example : Drawing a perfect circle with Offset Function
Modify Position
– Select the instruction or target to be changed (Step is
recommended)
– Jog robot to the desired position
– Press Modify Position
36
12/20/2019
37
12/20/2019
Exercise 1
Exercise
Programming movements
สร ้าง Tool
สร ้าง Work Object
ทํา Path Move J L ดู เรือง Zone
ขยับ กล่อง แล้วอ ัพเดท Work Object ใหม่
Move C วาด วงกลม ก ับ S
38
12/20/2019
Safety
I/O Configurations
DeviceNet
Terminal
(Pin 1-5) Input Terminal
(16 digital inputs)
Pin 6 7 8 9 10 11 12
Value 0V 1 2 4 8 16 32
39
12/20/2019
40
12/20/2019
IO connectors
Cable bracket
Cable grommet
DSQC1003 RPU
Customer field cables
Expansion Board
“Front door”
XS16:1 +24v
XS16: 2 0v
41
12/20/2019
42
12/20/2019
I/O Configurations
1. Add Devices
On the Flexpendant window, tap Control Panel
In the Configuration menu, Tap DeviceNet Device and then tap Show All
43
12/20/2019
Tap OK to add the device and then tap YES to restart the controller
44
12/20/2019
I/O Configurations
2. Add Input and Output Signals
In the Configuration menu, tap Signal and then tap Show All
I/O Configurations
Tap Edit to change existing signal configurations or
tap Add to add a new signal
45
12/20/2019
I/O Configurations
In the new signal configuration, Tap Name to change the name of the
signal
I/O Configurations
Tap Device Mapping to map the signal to the device
46
12/20/2019
I/O Configurations
After finishing the configuration, tap OK to add the signal
Tap Yes to restart the controller, or tap No to cancel restart and add more
signals
To monitor any I/O devices or I/O signals, tap Inputs and Outputs on
the Flexpendant window.
I/O Configurations
Tap View, and tap I/O Devices to see the device status
47
12/20/2019
I/O Configurations
Tap View, and tap Digital Inputs to see all digital inputs in the controller
Tap View, and tap Digital Outputs to see all digital outputs in the controller
I/O Configurations
System Input
Digital Input signals can be assigned as specific System Inputs
Start
Stop
Start at main
Quick stop
Stop at End of Cycle
Stop at End of Instruction
Motor On
PP to main
Motor On and Start
Reset Emergency Stop
48
12/20/2019
I/O Configurations
System Input
How to assign a System Input?
In the Configuration menu, tap System Input and then tap Show All
I/O Configurations
Tap Edit to change existing System Input configurations or
tap Add to add a new System Input
49
12/20/2019
I/O Configurations
In the new System Input configuration, Tap Name to select the Digital
Input signal to connect to the System Input
Tap Action to select the type of the System Input, then tap OK
I/O Configurations
System Output
Digital Output signals can be assigned as specific System Outputs
Auto On
Cycle On
Emergency Stop
Motor Off
Motor On
Production Execution Error
50
12/20/2019
I/O Configurations
System Output
How to assign a System Output?
In the Configuration menu, tap System Output and then tap Show All
I/O Configurations
Tap Edit to change existing System Output configurations or
tap Add to add a new System Output
51
12/20/2019
I/O Configurations
In the new System Input configuration, Tap Name to select the Digital
Output signal to connect to the System Output
Tap Action to select the type of the System Output, then tap OK
Set doGripper;
Reset doGripper;
52
12/20/2019
53
12/20/2019
WaitUntil di1=1;
WaitTime 0.5;
(Waits 0.5 seconds)
54
12/20/2019
55
12/20/2019
WHILE reg1> 0 DO
rCircle;
Decr reg1;
ENDWHILE
Repeats the instructions in the WHILE loop as long as
reg1 > 0
WHILE Condition DO... ENDWHILE
56
12/20/2019
ClkRead()
ClkReset clock1;
ClkStart clock1;
MoveJ *, v1000, fine, tool0;
ClkStop clock1;
TPWrite “Cycle Time =
”\Num:=ClkRead(clock1);
57
12/20/2019
Exercise 5
Exercise
Programming with
I/O and Logical Instructions
December 20, 2019 | Slide 115
58
12/20/2019
TPShow TP_LATEST;
Show the previous FlexPendant Window before the current one.
59
12/20/2019
60
12/20/2019
Exercise 8
Exercise
Operators Log Messages
Introduction to Modules
What is a module
Types of modules
61
12/20/2019
Main
Routines Routines
Routine
62
12/20/2019
Main
Routines Routines Routines
Routine
Modules Summary
A module contains routines and data’s.
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
63
12/20/2019
64
12/20/2019
Backup Structure
Copy of
Systems
‘home’
folder
TASKS
65
12/20/2019
Exercise
Backup and Restore System
Revolution Counters
Tell degrees the motors have rotated in the gearbox
If the values are lost, the robot cannot run any programs and the user
cannot
move the robot in the linear and reorient motions.
An error message notifies that the Revolution Counters need to be
updated
(e.g. If battery in SMB is drained)
66
12/20/2019
Axis 1
Axis 3
Axis 2
Axis 5
Axis 4
67
12/20/2019
68
12/20/2019
69
12/20/2019
70