0% found this document useful (0 votes)
499 views

ABB RobotWare 6.0 Programming and Operation by DR - Poom

Uploaded by

Jone Eden
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
499 views

ABB RobotWare 6.0 Programming and Operation by DR - Poom

Uploaded by

Jone Eden
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 70

12/20/2019

TRAINING,DECEMBER 20, 2019

RobotWare 6.0
Programming and Operation

December 20, 2019 Slide 2 IRC5 Advanced Programming

1
12/20/2019

Safety requirements for basic programming and operation


Course Objectives 

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

 Configure and add input and output signals

 Use input and output instructions

 Flexpendant communication instructions

 Numerical data instructions

Saving and opening programs

Updating Revolution Counters

December 20, 2019 | Slide 3

Safety

Safety

December 20, 2019 | Slide 4

2
12/20/2019

Robot Safety during training course


Keep fingers clear of gripper jaws when loading parts

Stand clear of robot benches when running programs

Test all program modifications in a manual mode first

Full speed modes are permitted with instructors assistance

Be cautious when releasing brakes

When inside the robot cell, make sure you have control of
Pendant

December 20, 2019 | Slide 5

ABB Safety Solutions – an Overview


Emergency stop
Operating modes
– Production (Auto) Interlocked guarding
– Manual reduced speed (Teach)
• Jogging and program operation
• Maximum speed 250mm/sec
– Manual full speed (Test)
• Program operation only

December 20, 2019 | Slide 6

3
12/20/2019

Enabling Device (Dead Mans Grip)


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

Enabling device

December 20, 2019 | Slide 7

Manual Full Speed (Optional)

Press and Hold down the play key, to run the program

Press and Hold down the FWD or BWD key to step

Releasing the pressed key to stops execution

December 20, 2019 | Slide 8

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

December 20, 2019 | Slide 9

Working range of robot axis


All Axis are software controlled to limit their rotational range
– The software stop should prevent collision at the end of axis rotational
travel
– Axis 1–3 can on larger robots, can be fitted with adjustable mechanical
stops
Training robots axis are set to the default maximum range

Produced by Simon Turner

© 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

Safety Regarding Grip Device


All grip devices must be designed so the work piece will be held even on power failure and
other disturbances in the robot system
There should be possibilities to loosen the work piece manually
Familiarize yourself with operational buttons assigned to the gripper function

December 20, 2019 | Slide 12

6
12/20/2019

Safety

Operation

Simon Turner
December 20, 2019 | Slide 13

FlexPendant Overview Status bar


User defined keys
Windows E-Stop
button

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

QuickSet menu overview


With the QuickSet menu you can access some often used settings

Mechanical unit jogging mode (Not allowed in Auto)

Incremental jogging (Not allowed in Auto)

Running Mode Cycle or Continuous

Step Mode (In, Out, Over, Next move)

Override Speed (+/- 1%, 5%, 25%, 50%, 100%)


Tasks (task activation / deactivation)

December 20, 2019 | Slide 15

Basic Program Operation demonstration


 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
 Override speeds
 25% etc
 Running mode
 Cycle or Continuous

December 20, 2019 | Slide 16

8
12/20/2019

Program Operation using Debug (Program Editor)


Motion and Program pointers (MP / PP)
Program reset (PP to Main / PP to routine…)
– Collision awareness
Starting program from Cursor (PP to Cursor)

December 20, 2019 | Slide 17

‘Auto Condition Reset’ parameter


If Reset parameter is set to YES then the following conditions are reset
when switching to auto:

• The Program Pointer is reset to the Main routine if the call-chain


does not originate from the Main routine.
• All tasks are enabled. (multimove and backround)
• All stopped background tasks are started.
• Simulation of all simulated I/O signals are removed.
• Override Speed is set to 100%.

Produced by Simon Turner


Control panel – configuration – Controller – Auto condition Reset- All Debug Settings
December 20, 2019 | Slide 18

9
12/20/2019

FlexPendant Windows Overview

December 20, 2019 | Slide 19

Coordinate System

December 20, 2019 | Slide 20

10
12/20/2019

Jogging the robot

December 20, 2019 | Slide 21

6 Axis Robot Axis 4

Axis 6

Axis 3 Axis 5

Axis 2 Axis 3

Axis 4
Axis 1 Axis 2

December 20, 2019 | Slide 22

11
12/20/2019

4 Axis Robot (FlexPalletiser)


C

• A = Axis 1

• B = Axis 2

A • C = Axis 3

• D = Axis 6
+

December 20, 2019 | Slide 23

3 / 4 Axis Robot (FlexPicker)

2 3

Y 4

Z Base coordinate system

December 20, 2019 | Slide 24

12
12/20/2019

Jogging 6 axis robot


2

December 20, 2019 | Slide 25

Jogging along Coordinate axis

December 20, 2019 | Slide 26

13
12/20/2019

Jogging Motion Keys

Mechanical unit activation switch


Linear / Reorient
Group 1 / Group 2 Axis
Activate / deactivate incremental
jogging

December 20, 2019 | Slide 27

Jogging External Axis Track

December 20, 2019 | Slide 28

14
12/20/2019

Jogging External Axis Positioner

December 20, 2019 | Slide 29

Incremental Jogging

• Greater jogging control

• Small = 0.05mm 2

• Medium = 1mm

• Large 5mm

• User from 0 to 5mm

• Show values to edit User 3

December 20, 2019 | Slide 30

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

December 20, 2019 | Slide 31

Jogging Override Speed


Used when the default 100% value feels to sensitive
Value can be set to a percentage of the default jog speed
Reduce percentage will be slower and less sensitive
Jog speed is still proportional to joystick deflection

December 20, 2019 | Slide 32

16
12/20/2019

The Jogging Window

December 20, 2019 | Slide 33

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

December 20, 2019 | Slide 34

17
12/20/2019

Exercise
Jogging the Robot Arm

December 20, 2019 | Slide 35

Tool Centre Points (TCP)

Tool Coordinate system

+Y

Wrist Coordinate system +Z


+X

December 20, 2019 | Slide 36

18
12/20/2019

Tool Centre Point theory


The position & movement of the robot is always relative to the active TCP.

TCP’s are defined as being somewhere at the end of the tool.

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.

Normally the robot is used to define its TCP.

If tool is damaged or replaced, don’t modify program positions, just redefine the tool.

December 20, 2019 | Slide 37

Tool Centre Point Definition Methods


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

December 20, 2019 | Slide 38

19
12/20/2019

Example of TCP with default orient


 No rotational difference from the wrist coordinate system

December 20, 2019 | Slide 39

Example of TCP with Z direction defined


 The TCP’s X&Z are in the same plane as the wrist

December 20, 2019 | Slide 40

20
12/20/2019

Example of TCP with Z&X directions defined


 The TCP’s X&Z directions are rotated differently to the wrist

December 20, 2019 | Slide 41

TCP Definition – Default Orient

1
1
4
3
2 4

3 2
Plan view

December 20, 2019 | Slide 42

21
12/20/2019

TCP Definition – Z & X


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

Jog robot so the tool’s intended Z and X


directions, visually align to the base
coordinate’s Z and X axis.
4 1
6 3
2 Jog along Base coordinate Z Axis to define
tools Z direction

Jog along Base coordinate X Axis to define


X Elongator point tools X direction

December 20, 2019 | Slide 43

Tool Centre Point Definition Method


– Menu
– Program data
– Select tooldata
– Show data
– New…
– Name tool
– Initial value or OK and then select tool in list and Edit Value
– Mass:= type in kg and Centre of Gravity
– Press OK
– 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

December 20, 2019 | Slide 44

22
12/20/2019

Load Identify

Arm Load

PayLoad

Tool Load

Arm Load on Arm 1 , 2 and 3

Exercise 2

Exercise
Create a Tool Centre Point and
Use Load Identify

December 20, 2019 | Slide 46

23
12/20/2019

Work Object Coordinate Systems


 All program positions are attached to a workobject coordinate system

 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

December 20, 2019 | Slide 47

Work Objects Work Object data contains both User and Object Frames

User Object

World

December 20, 2019 | Slide 48

24
12/20/2019

Work Objects and External Axis


 Positioners base frame is defined relative to the world coordinate system

 Work object is connected to, and moved by the positioner

 Object frame locates the tooling fixture relative to the user frame / faceplate

User frame

Object frame

December 20, 2019 | Slide 49

Calibrating Work Object frames


 Both User and Object frames can be defined with calibration points

 An active TCP is jogged to each point during the calibration

Y1
Y1

X1 X1
X2

X2

World

December 20, 2019 | Slide 50

25
12/20/2019

Work Object Definition Method (page 76 in pocket guide)


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

December 20, 2019 | Slide 51

Work Object Definition Methods


 Selecting ‘No Change’ will not change the current value

 Its common practice for the Object frame to be located directly on top
of its User frame.

December 20, 2019 | Slide 52

26
12/20/2019

Jogging along axis of active workobject

X Y Z

December 20, 2019 | Slide 53

Work Objects Summary


WObjData allows robtargets to be connected to a work piece coordinate system.

Workobjects can be static in the world coordinate or moved by a mechanical unit.

Many work object data’s may be defined, but only one can be active at a time.

Programs can be reused quickly following changes in the robot installation,


e.g. if a fixture is moved, just recalibrate its coordinate system.

Accuracy is maintained when loading programs created in RobotStudio.

Robot can be jogged along the axes of the work objects, object frame.

December 20, 2019 | Slide 54

27
12/20/2019

Exercise 4

Exercise
Create a Work Object

December 20, 2019 | Slide 55

Safety

Programming

December 20, 2019 | Slide 56

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

December 20, 2019 | Slide 57

RAPID Program Structure

Program
Program Program System
Module Main Module 1 Module
Global data Global data Global data

Local data Local data Local data

Global Global Global


Routine Routine Routine

Local Local Local


Routine Routine Routine

December 20, 2019 | Slide 58

29
12/20/2019

Data Declaration

Variable Global

Persistent Task

Constant Local

December 20, 2019 | Slide 59

Routines and program flow example


The Main Procedure controls the flow of the entire program

Sub Procedure routines do the jobs

The ProcCall Instruction is used to program the call of the routines

December 20, 2019 | Slide 60

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 can be tested by moving the Program Pointer to a routine. (Debug)

Routines are called within the program using the instruction ‘Procall’

Produced by Simon Turner

© ABB Group
December 20, 2019 | Slide 61

Creating a new Program


 Old program will be removed
 The new program is temporarily named ‘NewProgramName’
 A ‘main’ routine is created within a ‘MainModule’

December 20, 2019 | Slide 62

31
12/20/2019

Introduction to Joint & Linear Motion

Move L

Move J

December 20, 2019 | Slide 63

Positional Movements Instructions (Common Picklist)


MoveJ is used to move the robot quickly from point to point
The movement will not be in a straight line.

Robtarget Speed Zone Tool

December 20, 2019 | Slide 64

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.

Robot path during non stepwise motion Programmed


position

p2
p1

Zone size
MoveL p1, v100, z10, tool0;
MoveL p2, v100, z10, tool0;
MoveL p3, v100, z10, tool0;
p3

December 20, 2019 | Slide 65

Positional Movements Instructions (Common Picklist)

 MoveL moves the TCP in a Linear direction or straight line.

Robtarget Speed Zone Tool

December 20, 2019 | Slide 66

33
12/20/2019

Moving Circular (‘Common’ Picklist)


MoveC - moves the TCP in a Circular direction
using the mid & end point of a semicircle
MoveL *, v100, fine, tPen \WObj:=w obj1;
MoveC *, *, v100, z10, tPen \WObj:=wobj1;

mid
end

December 20, 2019 | Slide 67

Programming MoveC (‘Common’ Picklist)


p1
Pick MoveC here

p4 p2

p3
ModPos End target here

MoveL p1, v100, fine, tPen \WObj:=wobj1;


MoveC p2, p3, v100, z1, tPen \WObj:=wobj1;
MoveC p4, p1, v100, fine, tPen \WObj:=wobj1;

December 20, 2019 | Slide 68

34
12/20/2019

Path Following Exercise


Start / Finish Start / Finish

Path Following Exercise

Start / Finish

Direction

December 20, 2019 | Slide 69

Offset Function
 Offset Function is used to add an offset to a robot position in the
coordinate system
Reference Robot Position

MoveL Offs(p1, 0, 0, 10), v1000, z50, tool0;

Offset value along X-Axis


Offset value along Y-Axis
Offset value along Z-Axis

p2 := Offs (p1, 0, 0, 10);


MoveL p2, v1000, z50, tool0;

December 20, 2019 | Slide 70

35
12/20/2019

Offset Function
 Example : Drawing a perfect circle with Offset Function

MoveL pStart, v1000, fine, toolx;


MoveC Offs(pStart,-100,-100,0), Offs(pStart,-200,0,0), v1000, z1, toolx;
MoveC Offs(pStart,-100,100,0), pStart, v1000, z1, toolx;

December 20, 2019 | Slide 71

Modify Position
– Select the instruction or target to be changed (Step is
recommended)
– Jog robot to the desired position
– Press Modify Position

December 20, 2019 | Slide 72

36
12/20/2019

Program Edit Menu

December 20, 2019 | Slide 73

Comment (‘Various’ Picklist)


Comment - Inserts a line of text to make it easier to understand the program.
Use ABC… in the Edit menu to add text after the exclamation mark

December 20, 2019 | Slide 74

37
12/20/2019

Exercise 1

Exercise
Programming movements

December 20, 2019 | Slide 75

สร ้าง Tool
สร ้าง Work Object
ทํา Path Move J L ดู เรือง Zone
ขยับ กล่อง แล้วอ ัพเดท Work Object ใหม่
Move C วาด วงกลม ก ับ S

Produced by Simon Turner


© ABB Group
December 20, 2019 | Slide 76

38
12/20/2019

Safety

I/O Configurations

December 20, 2019 | Slide 77

DSQC 652 Output Terminal


(16 digital outputs)
DeviceNet Address
(Pin 6-12)

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

December 20, 2019 | Slide 78

39
12/20/2019

DSQC652  Customer Digital Inputs

December 20, 2019 | Slide 79

DSQC652  Customer Digital Outputs

December 20, 2019 | Slide 80

40
12/20/2019

IRC5 Compact Controller


 Compact and easy to integrate
 Saves space
 One phase 220/230 V
 Built-in 16 inputs & 16 outputs

RF cable outlet Panel Air holes RF cable Safety filed


fastener cable

IO connectors

Cable bracket

Cable grommet
DSQC1003 RPU
Customer field cables
Expansion Board
“Front door”

December 20, 2019 | Slide 81

Compact Controller I/O System


Built-in 16 inputs & 16 outputs XS12, XS13, XS14 and XS15
Power Supply XS16

XS16:1 +24v
XS16: 2 0v

Total customer usage for 24V


power supply from XS16 must not
exceed 6A.

December 20, 2019 | Slide 82

41
12/20/2019

Compact Controller I/O System


 Customer Digital Inputs

December 20, 2019 | Slide 83

Compact Controller I/O System


 Customer Digital Outputs and Power Supply

December 20, 2019 | Slide 84

42
12/20/2019

I/O Configurations
1. Add Devices
 On the Flexpendant window, tap Control Panel

December 20, 2019 | Slide 85

 Tap Configuration in the Control Panel menu


I/O Configurations

 In the Configuration menu, Tap DeviceNet Device and then tap Show All

December 20, 2019 | Slide 86

43
12/20/2019

I/O Configurations  Tap Edit to change existing device configurations or


tap Add to add a new device

December 20, 2019 | Slide 87

 In the new device configuration, change Use values from template to


be DSQC 652 24 VDC I/O Device
I/O Configurations  Tap Name to change the name of the device
 Tap Address to change the value to the configured address

 Tap OK to add the device and then tap YES to restart the controller

December 20, 2019 | Slide 88

44
12/20/2019

I/O Configurations
2. Add Input and Output Signals
 In the Configuration menu, tap Signal and then tap Show All

December 20, 2019 | Slide 89

I/O Configurations
 Tap Edit to change existing signal configurations or
tap Add to add a new signal

December 20, 2019 | Slide 90

45
12/20/2019

I/O Configurations
 In the new signal configuration, Tap Name to change the name of the
signal

 Tap Type of Signal to change the type of the signal

 Tap Assigned to Device and choose the device of the signal

December 20, 2019 | Slide 91

I/O Configurations
 Tap Device Mapping to map the signal to the device

 Signal mapping for DSQC 652

December 20, 2019 | Slide 92

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.

December 20, 2019 | Slide 93

I/O Configurations
 Tap View, and tap I/O Devices to see the device status

December 20, 2019 | Slide 94

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

December 20, 2019 | Slide 95

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

December 20, 2019 | Slide 96

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

December 20, 2019 | Slide 97

I/O Configurations
 Tap Edit to change existing System Input configurations or
tap Add to add a new System Input

December 20, 2019 | Slide 98

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

 Tap OK to add the System Input


 Tap Yes to restart the controller, or tap No to cancel restart and add more
System Input

December 20, 2019 | Slide 99

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

December 20, 2019 | Slide 100

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

December 20, 2019 | Slide 101

I/O Configurations
 Tap Edit to change existing System Output configurations or
tap Add to add a new System Output

December 20, 2019 | Slide 102

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

 Tap OK to add the System Output


 Tap Yes to restart the controller, or tap No to cancel restart and add more
System Output

December 20, 2019 | Slide 103

Logical Instructions (‘Common’ Picklist)

Set - turns ON a Digital Output.

Set doGripper;

Reset - turns OFF a Digital Output.

Reset doGripper;

December 20, 2019 | Slide 104

52
12/20/2019

Logical Instructions (‘I/O’ Picklist)


SetDO - changes the value of a Digital Output.
SetDO do15, 1;
or
SetDO \SDelay := 0.2, do15, 1;

InvertDO - changes the value of a Digital Output


to the opposite value.
InvertDO do15;
PulseDO - turns on a Digital Output for a short time
PulseDO \Plength:=1, do15;

December 20, 2019 | Slide 105

Logical Instructions (‘Common’ Picklist)


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

December 20, 2019 | Slide 106

53
12/20/2019

Logical Instructions (‘Common’ Picklist)

WaitUntil - Waits until one or several Inputs have been


set.

WaitUntil di1=1;

WaitUntil di1=1 AND di2=1;

AND, OR, XOR, NOT

December 20, 2019 | Slide 107

Logical Instructions (‘Common’ Picklist)

WaitTime - Waits a set amount of time.

WaitTime 0.5;
(Waits 0.5 seconds)

December 20, 2019 | Slide 108

54
12/20/2019

Logical Instructions (‘Common’ Picklist)

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;
ELSE
Oval;
ENDIF
December 20, 2019 | Slide 109

Logical Instructions (‘Common’ Picklist)

Compact IF – A single instruction is executed depending on whether a condition is met or not.

IF di1 = HIGH WaitTime 0.5;

IF reg1 >= 10 Set doPalletFull;

IF bAtHome = TRUE TPWrite “Robot in Home Position”;

IF diPartPresent = HIGH PickPart;


The instruction may be a ProcCall which calls a routine

December 20, 2019 | Slide 110

55
12/20/2019

TEST (‘Prog.Flow’ Picklist)


TEST - where different instructions are executed
depending on the value of an expression or data.
TEST nFKpress
CASE 1:
rOutside;
CASE 2:
rCircle;
CASE 3:
rOval;
DEFAULT:
! Incorrect value found in
nFKpress
Stop;
ENDTEST

December 20, 2019 | Slide 111

Logical Instructions (‘Common’ Picklist)


While - is used when a number of instructions are to be
repeated as long as a given condition is met.

WHILE reg1> 0 DO
rCircle;
Decr reg1;
ENDWHILE
Repeats the instructions in the WHILE loop as long as
reg1 > 0
WHILE Condition DO... ENDWHILE

December 20, 2019 | Slide 112

56
12/20/2019

Cycle Timing Instructions (‘System & Time’ Picklist)

A clock functions like a stopwatch and is used for timing.


Clock data stores a time measurement and has a resolution of 0.001
second.
The maximum time that can be stored is 4,294,967 seconds (49 days)

ClkReset is used to reset a clock to 0.


ClkReset clock1;

ClkStart - is used to start a clock.


ClkStart clock1;

ClkStop - is used to stop a clock.


ClkStop clock1;

December 20, 2019 | Slide 113

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);

December 20, 2019 | Slide 114

57
12/20/2019

Exercise 5

Exercise
Programming with
I/O and Logical Instructions
December 20, 2019 | Slide 115

Communication Instructions (‘Communicate’ Picklist)


TPWrite - writes Text/Data to FlexPendant’s Operator Log window.
TPWrite “Executing Program”;
TPWrite “Num of produced parts = ” \Num:= reg1;
TPWrite String [\Num] | [\Bool] | [\Pos] | [\Orient ] | [\Dnum]

December 20, 2019 | Slide 116

58
12/20/2019

Communication Instructions (‘Communicate’ Picklist)


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

December 20, 2019 | Slide 117

Communication Instructions (‘Communicate’ Picklist)


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.

December 20, 2019 | Slide 118

59
12/20/2019

TPReadFK (‘Communicate’ Picklist)


TPReadFK - Writes text on the functions keys and records the selected key
Program execution waits until one of the function keys is pressed
A numeric value 1..5 is returned to a register

TPReadFK nFKpress, “Choose?…”, “Outsides”, “Circles”, “Ovals” ,“”,“”;

December 20, 2019 | Slide 119

Communication Instructions (‘Communicate’ Picklist)

TPReadNum - Is used to read a number from the FlexPendant.


Program execution waits until a number has been input from the numeric keyboard.
The entered number is stored in a register.
TPReadNum reg1, “How many Circles should be produced?…”;

December 20, 2019 | Slide 120

60
12/20/2019

Exercise 8

Exercise
Operators Log Messages

December 20, 2019 | Slide 121

Introduction to Modules

 What is a module

 Robot Task memory

 Types of modules

 Saving and Loading programs

 Creating, loading saving and deleting modules

 Backup and Restore

December 20, 2019 | Slide 122

61
12/20/2019

Internal Structure of Module

December 20, 2019 | Slide 123

Program Task Structure


Program Modules.mod System Modules.sys

Program Data Program Data

Main
Routines Routines
Routine

<?xml version="1.0" encoding="ISO-8859-1" ?>


<Program>
<Module>MainModule.mod</Module>
</Program>

December 20, 2019 | Slide 124

62
12/20/2019

Program Task Structure


Program Modules.mod System Modules.sys

Program Data Program Data Program Data

Main
Routines Routines Routines
Routine

<?xml version="1.0" encoding="ISO-8859-1" ?>


<Program>
<Module>MainModule.mod</Module>
<Module>ModuleA.mod</Module>
<Module>ModuleB.mod</Module>
</Program>

December 20, 2019 | Slide 125

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

• XXXXX.mod Program Module


• XXXXX.sys System Module
• XXXXX.pgf Program File

December 20, 2019 | Slide 126

63
12/20/2019

Creating and Loading programs


 New Programs can be created in the Program Editor
 Program names can not start with a number
 If a program allready exists, it will be overwritten
 New programs are temporaraly called ’NewProgramName’

December 20, 2019 | Slide 127

Saving the program in IRC5


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

December 20, 2019 | Slide 128

64
12/20/2019

The Modules view


 Select the modules tab from the Program Editor
 Use the file menu to create, load, save or delete individual modules

December 20, 2019 | Slide 129

Backup Structure

Copy of
Systems
‘home’
folder

TASKS

December 20, 2019 | Slide 130

65
12/20/2019

Backup and Restore Exercise

Exercise
Backup and Restore System

December 20, 2019 | Slide 131

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)

December 20, 2019 | Slide 132

66
12/20/2019

Updating Revolution Counters


1. Move the robot to the correct axis positions
 Example Calibration marks on IRB120

Axis 1

Axis 3

Axis 2

December 20, 2019 | Slide 133

Updating Revolution Counters


 Example Calibration marks on IRB120
Axis 6

Axis 5

Axis 4

December 20, 2019 | Slide 134

67
12/20/2019

 Calibration marks on IRB6700

December 20, 2019 | Slide 135

Updating Revolution Counters


2. When all axes are positioned, store the Revolution Counter settings
 On the Flexpendant window, tap Calibration

December 20, 2019 | Slide 136

68
12/20/2019

Updating Revolution Counters


 Tap the mechanical unit in question

 In the Rev. Counters menu, Tap Update Revolution Counter

 Then, tap YES to update Revolution Counters


or tap NO to cancel updating

December 20, 2019 | Slide 137

Updating Revolution Counters


 Select the axis to have its revolution counter updated by :
 Tick the box on the left
 Tap Select All to select all axes

 Tap Update to start updating Revolution Counters

December 20, 2019 | Slide 138

69
12/20/2019

Updating Revolution Counters


 Tap Update to proceed
 Tap Cancel to cancel updating

 Tap OK to confirm after updating

December 20, 2019 | Slide 139

70

You might also like