FANUC RJ3 Programming
FANUC RJ3 Programming
RJ3
PROGRAMMING
MANUAL
Designed to accompany RJ3 training courses at FANUC Robotics (UK) Ltd.
ƒ l previous page l contents l next page l
ƒ
ƒ l previous page l contents l next page l
ƒ
INTRODUCTION
Fanuc Robotics’ RJ3 Training Course
This manual is intended to accompany the RJ3 training course held within FANUC
Robotics UK Ltd.
Please pay particular attention to the safety advice contained within this document.
For further reference please consult the comprehensive FANUC Reference Manual.
3
ƒ l previous page l contents l next page l
ƒ
4
ƒ l previous page l contents l next page l
ƒ
C O N T E N T S
CONTENTS
Safety .................................................................................................................................7
The Basics........................................................................................................................17
Jogging the Robot & Coordinate Systems........................................................................... 17
Creating a Program ............................................................................................................. 25
Testing a Robot Program..................................................................................................... 29
Touchup............................................................................................................................... 33
Motion Default...................................................................................................................... 35
Giving 2 Positions the Same Identity .................................................................................. 37
Program Elements............................................................................................................39
5
ƒ l previous page l contents l next page l
ƒ
CONTENTS
Inputs and Outputs ...............................................................................................................73
IF/Select Statement.............................................................................................................79
IF Statement ............................................................................................................................. 79
Select Statement ...................................................................................................................... 83
Wait Instruction.....................................................................................................................87
Labels and Jump Labels ......................................................................................................91
Call Instruction......................................................................................................................95
Miscellaneous Menu.............................................................................................................99
RSR Instruction ........................................................................................................................ 99
User Alarms............................................................................................................................ 101
Timers..................................................................................................................................... 105
Override Instructions .............................................................................................................. 107
Remark ................................................................................................................................... 109
Message Instruction ............................................................................................................... 111
Parameter Instruction ............................................................................................................. 113
Maximum Speed Instruction ................................................................................................... 117
Multiple Control Menu ........................................................................................................119
Run Command ....................................................................................................................... 119
Semaphore Instruction ........................................................................................................... 121
Program Control Instruction ...............................................................................................123
Halt Instruction........................................................................................................................ 123
Abort Instruction ..................................................................................................................... 125
Offsets Menu ......................................................................................................................127
Offsets .................................................................................................................................... 127
Frames Instruction.................................................................................................................. 131
Skip Condition ....................................................................................................................135
6
ƒ l previous page l contents l next page l
ƒ
4
ƒ l previous page l contents l next page l
ƒ
S A F E T Y
SAFETY
Essential safety measures required whilst using robots
Ensure you read and understand the FANUC Robotics SAFETY HANDBOOK.
Use a low override speed to increase your control over the robot when jogging
it.
Visualize the movement the robot will make before you press the jog keys on
the teach pendant.
Know the path that can be used to escape from a moving robot; make sure the
escape path is never blocked.
The area near the robot must be clean and free of oil, water, or debris.
7
ƒ l previous page l contents l next page l
ƒ
Production operation
Understand the complete task the robot is programmed to perform before
initiating production operation.
Know the location and status of all switches, sensors, and control signals that
could cause the robot to move.
Know where the EMERGENCY STOP buttons are located on both the robot
control and external control devices. Be prepared to press these buttons in an
emergency.
Never assume that a program is complete if the robot is not moving. The robot
could be waiting for an input signal that will permit it to continue activity.
FANUC Robotics (UK) Ltd. is not and does not represent itself as an expert in safety systems, safety
equipment, or the specific safety aspects of your company and/or its work force. It is the responsibility of
the owner, employer, or user to take all necessary steps to guarantee the safety of all personnel in the
workplace.
The appropriate level of safety for your application and installation can best be
determined by safety system professionals. FANUC Robotics (UK) Ltd. therefore,
recommends that each customer consult with such professionals in order to provide a
workplace that allows for the safe application, use, and operation of FANUC Robotic
systems.
FANUC Robotics (UK) Ltd. therefore, requires that all personnel who intend to operate,
program, repair, or otherwise use the robotics system be trained in an approved FANUC
Robotics (UK) Ltd. training course and become familiar with the proper operation of the
system. Persons responsible for programming the system - including the design,
implementation, and debugging of application programs - must be familiar with the
recommended programming procedures for your application and robot installation.
The following guidelines are provided to emphasize the importance of safety in the
workplace.
Safety Considerations
Keep in mind the following factors with regard to safety:
8
ƒ l previous page l contents l next page l
ƒ
Always give appropriate attention to the work area that surrounds the robot. The safety
of the work area can be enhanced by the installation of some or all of the following
devices:
Safety fences, barriers, or chains
Light curtains
Interlocks
Pressure mats
Floor markings
Warning lights
Mechanical stops
DEADMAN switches
EMERGENCY STOP buttons
A Safe Workcell
A safe workcell is essential to protect people and equipment. Observe the following
guidelines to ensure that the workcell is set up safely.
9
ƒ l previous page l contents l next page l
ƒ
Arrange the workcell so the operator faces the workcell and can see what is
going on inside the cell.
Clearly identify the work envelope of each robot in the system with floor
markings, signs, and special barriers. The work envelope is the area defined
by the maximum motion range of the robot, including any tooling attached to
the wrist flange that extends this range.
If necessary, install flashing lights and/or audible warning devices that activate
whenever the robot is operating, that is, whenever power is applied to the
servo drive system.
Install special guarding that prevents the operator from reaching into restricted
areas of the work envelope.
Use interlocks.
Use presence or proximity sensing devices such as light curtains, mats, and
capacitance and vision systems to enhance safety.
Periodically check the safety joints or safety clutches that can be optionally
installed between the robot wrist flange and tooling. If the tooling strikes an
object, these devices dislodge, remove power from the system, and help to
minimize damage to the tooling and robot.
Make sure all external devices are properly filtered, grounded, shielded, and
suppressed to prevent hazardous motion due to the effects of electro-
magnetic interference (EMI), radio frequency interference (RFI), and electro-
static discharge (ESD).
Eliminate pinch points. Pinch points are areas where personnel could get
trapped between a moving robot and other equipment.
Provide enough room inside the workcell to permit personnel to teach the
robot and perform maintenance safely.
10
ƒ l previous page l contents l next page l
ƒ
Know whether or not you are using an intrinsically safe teach pendant if you
are working in a hazardous environment.
Before teaching, visually inspect the robot and work envelope to make sure
that no potentially hazardous conditions exist. The work envelope is the area
defined by the maximum motion range of the robot. These include tooling
attached to the wrist flange that extends this range.
The area near the robot must be clean and free of oil, water, or debris.
Immediately report unsafe working conditions to the supervisor or safety
department.
FANUC Robotics (UK) Ltd. recommends that no one enter the work envelope
of a robot that is on. However, if you must enter the work envelope, be sure
all safeguards are in place, and check the teach pendant DEADMAN switch
for proper operation. Take the teach pendant with you, turn it on, and be
prepared to release the DEADMAN switch. Only the person with the teach
pendant should be in the work envelope.
Know the path that can be used to escape from a moving robot; make sure the
escape path is never blocked.
Isolate the robot from all remote control signals that can cause motion while
data is being taught.
Testing a Program
Test any program being run for the first time in the following manner:
Using a low motion speed, single step the program for at least one full cycle.
Using a low motion speed, test run the program continuously for at least one
full cycle.
As speed is increased, the path may vary slightly. Run through the program
at 5-10% intervals up to 100%.
Using the programmed speed, test run the program continuously for at least
one full cycle.
Running Production
Make sure all personnel are outside the safety fence before running production.
Advise all personnel who operate the robot during production to observe the following
rules:
11
ƒ l previous page l contents l next page l
ƒ
Know the entire workcell area. The workcell includes the robot and its work
envelope, plus the area occupied by all external devices and other equipment
with which the robot interacts.
Make sure all personnel are outside the safety fence before operating the
robot.
Never enter or allow others to enter the work envelope during production
operation of the robot.
Know the location and status of all switches, sensors, and control signals that
could cause the robot to move.
Know where the EMERGENCY STOP buttons are located on both the robot
control and external control devices. Be prepared to press these buttons in an
emergency.
Never assume that a program is complete if the robot is not moving. The
robot could be waiting for an input signal that will permit it to continue activity.
If the robot is running in a pattern, do not assume it will continue to run in the
same pattern.
Never try to stop the robot, or break its motion, with your body. The only way
to stop robot motion immediately is to press an EMERGENCY STOP button
located on the controller panel, teach pendant, or emergency stop stations
around the workcell.
Lock out and tag out the power source at the controller according to the
policies of your plant.
Turn off the compressed air source and relieve the air pressure.
If robot motion is not needed for inspecting the electrical circuits, press the
EMERGENCY STOP button on the operator panel.
12
ƒ l previous page l contents l next page l
ƒ
Maintenance
When performing maintenance on your robot system, observe the following rules:
Never enter the work envelope while the robot or a program is in operation.
Before entering the work envelope, visually inspect the workcell to make sure
no potentially hazardous conditions exist.
Test the teach pendant for proper operation before entering the work
envelope.
If it is necessary for you to enter the robot work envelope while power is turned
on, you must be sure that you are in control of the robot. Be sure to take the
teach pendant with you, press the DEADMAN switch, and turn the teach
pendant on. Be prepared to release the DEADMAN switch to turn off servo
power to the robot immediately.
Whenever possible, perform maintenance with the power turned off. Before
you open the controller front panel or enter the work envelope, turn off and
lock out the 3-phase power source at the controller.
Release or block all stored energy. Before working on the pneumatic system,
shut off the system air supply and purge the air lines.
Isolate the robot from all remote control signals. If maintenance must be done
when the power is on, make sure the person inside the work envelope has
sole control of the robot. The teach pendant must be held by this person.
Make sure personnel cannot get trapped between the moving robot and other
equipment. Know the path that can be used to escape from a moving robot.
Make sure the escape route is never blocked.
Be aware that when you remove a servomotor or brake, the associated axis
will fall if it is not supported or resting on a hard stop.
When replacing or installing components, make sure dirt and debris do not
enter the system.
Use only specified parts for replacement. To avoid fires and damage to parts
in the controller, never use non-specified fuses.
Before restarting a robot, make sure no one is inside the safety fence; be sure
that the robot and all external devices are operating normally.
13
ƒ l previous page l contents l next page l
ƒ
Back-check limit switches in the workcell to make sure they do not fail.
Program the robot to check the condition of all external devices during an
operating cycle.
Make sure the workcell is clean and free of oil, water, and debris.
The following measures are designed to prevent damage to the robot during
operation.
Use a low override speed to increase your control over the robot when jogging
the robot.
Visualize the movement the robot will make before you press the jog keys on
the teach pendant.
Make sure the work envelope is clean and free of oil, water, or debris.
14
ƒ l previous page l contents l next page l
ƒ
Make sure that the program ends with the robot near or at the home position.
The robot must be at HOME to start a cycle, therefore the robot must return
HOME at the end of the program.
NOTE Any deviation from the methods and safety practices described in this manual must conform to the
approved standards of your company. If you have questions, see your supervisor.
15
ƒ l previous page l contents l next page l
ƒ
16
ƒ l previous page l contents l next page l
ƒ
B A S I C S
JOGGING
THE ROBOT
The process of moving the robot using jog keys on the teach pendant
Remember!
Only the person with the teach pendant should be in the working envelope of the robot.
It is ESSENTIAL that all safety advice is understood and followed during jogging of the robot.
Become familiar with the different ways the robot moves depending on the different
coordinate system chosen.
Coordinate Systems
The robot may be jogged in one of four different coordinate systems. Each system moves
the robot in a different way.
17
ƒ l previous page l contents l next page l
ƒ
World Frame
The default system of the robot for XYZ moves is the WORLD frame.
WORLD is a cartesian (XYZ) frame. That is, it moves the robot in a frame where the X, Y
and Z directions are at right angles to each other.
In WORLD, multiple axes at a time move to keep the robot Tool Centre Point in an XYZ
plane.
+Z
-X +Y
-Y
+X
-Z
ƒ
World Frame
18
ƒ l previous page l contents l next page l
ƒ
ƒ
Joint Coordinate System
19
ƒ l previous page l contents l next page l
ƒ
Tool Frame
Moves multiple axes at a time relative to the robot faceplate. The robot will move relative
to the tool tip if a tool centre point has been set up.
The zero point of the robot is on the faceplate but this can be moved to the tip of the tool
which is known as the Tool Centre Point (TCP)
+X
+Y
+Z +Z
+Z -Y
-X
-X +Y
-Y
+X
-Z
ƒ
Tool Coordinate System
20
ƒ l previous page l contents l next page l
ƒ
Moves multiple axes at a time to ensure that the tool centre point or robot faceplate
moves in the selected XYZ plane.
The zero point of the robot can be placed anywhere by setting up a user frame.
If a user frame has not been set up, the robot will move in the WORLD framE when user
coordinate system is selected.
Take care…when a user frame is set up it can affect how your programs work.
Moves multiple axes at a time to ensure that the tool centre point or robot faceplate
moves in the selected XYZ plane.
A jog frame can be set up by the user to allow for easier jogging in an XYZ plane other
than the default.
The robot zero point of a jog frame always remains in the WORLD frame.
If a JOG frame has not been set up, the robot will move in the WORLD frame when
JGFRM coordinate system is selected.
21
ƒ l previous page l contents l next page l
ƒ
22
ƒ l previous page l contents l next page l
ƒ
23
ƒ l previous page l contents l next page l
ƒ
24
ƒ l previous page l contents l next page l
ƒ
B A S I C S
CREATING
A PROGRAM
Runs step by step through the procedure for creating a new program
Before you can begin to teach the robot the path to take around an object, you must first
create a program. You must give it a unique program name to identify it, and this
selection illustrates how this is achieved.
Creating a Program
Note
If 2 consecutive letters in the program name appear above the same function key, press
the right cursor key
here
26
ƒ l previous page l contents l next page l
ƒ
13. Press ENTER again to lead to the program Prog Line 2 PAUSED
screen. Joint 10%
[END]
POINT TOUCHUP
F1 F2 F3 F4 F5
ƒ
Recording a Position
The teach pendant is now ready for the first program point to be recorded.
14. To do this, jog the robot to the first position and press SHIFT +
F1, (POINT).
+
15. The robot has now been taught that position and a line
identifying it will appear looking something like this: ƒ
16. Continue jogging the robot to new positions and recording them by using SHIFT +F1,
POINT.
Every time SHIFT +F1, POINT are pressed, new program lines will be displayed
representing the robot positions in space.
18. Each new recorded position is given the next available position number, P[ ].
27
ƒ l previous page l contents l next page l
ƒ
28
ƒ l previous page l contents l next page l
ƒ
B A S I C S
TESTING A
ROBOT PROGRAM
Running through a robot program for the first time.
Ensure all safety advice has been read and understood. the following steps cause the robot to move, take
care.
1. To test a program for the first time, cursor to the top of the program and press STEP
until the STEP LED lights up to the left of the teach pendant screen.
ƒ
29
ƒ l previous page l contents l next page l
ƒ
Ensure it is safe for the robot to move from where it is currently sitting to the position in the program the
cursor is at. If it is not safe, first jog the robot to a safe position.
To stop the robot at any time, realease the SHIFT key, let go of the Deadmans or hit any emergency stop.
30
ƒ l previous page l contents l next page l
ƒ
Continue to run the program, increasing the percentage speed slowly, bearing in mind
that the path of the robot may change the faster you go.
To re-check a program point, press SHIFT & BWD to move back one step at a time.
31
ƒ l previous page l contents l next page l
ƒ
32
ƒ l previous page l contents l next page l
ƒ
B A S I C S
TOUCHUP
Altering a program position
The TOUCHUP command may be needed to modify the position of existing points. It is
located above F5.
Using TOUCHUP
To use Touchup, you must press SHIFT + TOUCHUP whilst in the program screen. This
is similar to recording a point using SHIFT + POINT.
SHIFT + POINT
SHIFT + TOUCHUP
Changes the positional information only of the position the cursor is currently on.
33
ƒ l previous page l contents l next page l
ƒ
YES NO
F4 F5
If YES is selected, the position is touched up and given the next available position
number. The second position in the program will not be touched up and the two no longer
have the same identity.
If NO is selected, the position is touched up and the second position is touched up also,
keeping the two positions identical.
34
ƒ l previous page l contents l next page l
ƒ
B A S I C S
MOTION DEFAULT
Changing the way a position is recorded as default
The usual program line that appears when SHIFT + POINT is pressed looks similar to:
It is possible to change what kind of program line appears when SHIFT + POINT is
pressed. That is, to change the default.
a. To select from the default menu press F1 POINT without the SHIFT key.
35
ƒ l previous page l contents l next page l
ƒ
ED_DEF DONE
F1 F2 F3 F4 F5
ƒ
c. Press F1, ED_DEF, and these motion defaults can be changed to that required by the
user.
d. Just cursor in, press CHOICE (above F4) and edit these defaults. When completed
press DONE (F5).
36
ƒ l previous page l contents l next page l
ƒ
B A S I C S
GIVING 2
POSITIONS
THE SAME ID
Recording identical positions
This procedure allows you to give a position the same identity as a previously recorded
one.
2. To give P[5] the same identity as P[2] for example, cursor onto the 5 like so:
37
ƒ l previous page l contents l next page l
ƒ
5. This point has now taken the same identity as a previously recorded position number
[2]. If there is no position number [2] in the program, the position number you have
changed will be uninitialized. Ensure you enter a number that exists in the program.
This procedure can be carried out to give any position the same identity as a previously recorded one.
38
ƒ l previous page l contents l next page l
ƒ
E L E M E N T S
PROGRAM
ELEMENTS
Altering the way the robot moves to positions
A program line is made up of various elements that control how the robot moves between
two positions.
Each element can be changed to enable the robot to move the required path in the
desired way.
J P[ 1 ] 100% FINE
Termination
Motion
Speed
Position
39
ƒ l previous page l contents l next page l
ƒ
Every element can be changed and each are described in this section.
To change any element cursor onto it and CHOICE appears above F4. Pressing
CHOICE will bring up various menus depending on which element the cursor is
placed.
There are further advanced options available by cursoring to the very end of the line, past
FINE and pressing F4 CHOICE.
Motion
The motion type defines the way in which the robot moves between two points. To
change it, place the cursor on the first element, and select CHOICE (above F4).
1. Joint
2. Linear
3. Circular
Joint
The robot makes its own way between two
points and calculates the fastest way to get
there. Joint motion is particularly useful for
points in space when it doesn’t matter which
path the robot takes.
40
ƒ l previous page l contents l next page l
ƒ
Linear
The robot will move the tool centre point between two positions in a straight line.
Units of linear motion can be millimetres per second, inches per minute, centimetres per
minute, degrees per second and seconds.
The orientation of the tool centre point changes gradually as the robot moves from the
start position to the destination position.
Destination Position
L P[2] 2000mm/sec100% FINE
41
ƒ l previous page l contents l next page l
ƒ
CIRCULAR
With circular motion selected, the robot will move the tool centre point in an arc from the
start position through an intermediate position to the end position.
Units of circular motion are millimetres per second, inches per minute, centimetres per
minute, degrees per second and seconds.
Start Position
P[2]
Intermediate Position P[4]
Intermediate Position
P[1]
Start Position
42
ƒ l previous page l contents l next page l
ƒ
Position
Place the cursor on any position number to examine the positional coordinates of that
position.
PRESS F5 POSITION:
The screen displayed informs you where in space this position was recorded. You can
edit all the values by cursoring onto them and using the numeric keypad to enter new
values.
To display the JOINT coordinates (each axis in degrees), press F5 [REPRE] and select
Joint. When coordinates are displayed in JOINT, all tool and user frame information is
ignored.
43
ƒ l previous page l contents l next page l
ƒ
Speed
The speed value can be changed by cursoring onto it and entering a new value via the
numeric keypad.
The speed units can be changed by cursoring onto them and pressing F4 CHOICE.
The choice available depends on the motion type selected, Joint, Linear or Circular.
If the motion is JOINT the following units are available for selection:
1. %
2. secs
If the motion is LINEAR or CIRCULAR the following units are available for selection:
1. mm/sec 5. sec
2. cm/min 6.
3. inch/min 7.
4. deg/sec 8.
The robot knows how fast it can go and will not let you enter too fast a speed.
44
ƒ l previous page l contents l next page l
ƒ
Termination
There are two types of motion termination, FINE and CNT (continuous). To change
between the two types, cursor to either of them and press F4 CHOICE.
FINE termination
With FINE termination selected, the robot visits each point exactly and momentarily stops
at each position before moving to the next position.
P[1]
Start Position
Destination
Position
L P[2] 100mm/sec FINE
P[3]
Next Position
45
ƒ l previous page l contents l next page l
ƒ
CNT Termination
With CNT termination selected, the robot curves each point, does not stop (at high values
of CNT) and may not visit the points exactly.
The continuous value can be between 0 and 100. This determines how close the robot
will come to the destination position.
At CNT100, the robot moves furthest from the destination position, with minimum
deceleration.
P[1]
Start Position
Destination Position
L P[2] 100mm/sec FINE
P[3]
Next Position
46
ƒ l previous page l contents l next page l
ƒ
E D C M D M e n u
EDCMD MENU
Editing your programs, adding and deleting lines etc.
The EDCMD menu is located above F5 and to view it you must be in a program.
If EDCMD is not above F5, press the NEXT key.
1. Insert
2. Delete
3. Copy (and Paste)
4. Find
5. Replace
6. Renumber
7. Comment
8. Undo
This section will go through each item on the list and describe them in turn.
47
ƒ l previous page l contents l next page l
ƒ
Insert
If a further command or point needs to be added to an existing program, a blank line
needs to be inserted first, otherwise existing data will be lost.
2. Place the cursor at the start of the program line below where you require the
inserted line to be.
4. Press F5.
5. Select INSERT
7. Enter the number of lines you wish to insert, press ENTER and the blank lines will
appear.
48
ƒ l previous page l contents l next page l
ƒ
Delete
Deleting program lines.
2. To delete a line or range of lines, place the cursor at the start of the program line
at the top or bottom of the range.
4. Press F5.
5. Select DELETE
Delete line(s) ?
YES NO
ƒ F4 F5
7. Before selecting yes, highlight as many lines as you require to be deleted using
the cursor keys. ⇓ ⇑
49
ƒ l previous page l contents l next page l
ƒ
Copy
Copying program lines.
1. To copy, place the cursor at the start of the program line at the top or bottom of the
range of lines to be copied.
3. Press F5.
ƒ F1 F2 F3 F4 F5
4. Select COPY
6. Press F2 COPY
7. When all the required lines are selected, press F2 COPY again. The copy has now
been performed.
50
ƒ l previous page l contents l next page l
ƒ
Paste
Once program lines have been copied, they can be pasted as many times as required
and in as many different programs as required. You do not need to insert blank lines
before using the paste command.
1. Cursor to the start of the program line in the program where you wish to paste the
copied lines. It will paste ABOVE the cursor.
2. If PASTE is not above F5, press the NEXT key until EDCMD appears above F5.
Press F5, EDCMD and select copy.
3. Press F5 PASTE.
4. Once PASTE is selected, the following options will appear above the functions
keys.
If copying from one program to another, you must select F4 POSITION to paste. F3 POS-ID should only be used if
you are pasting in the same program as you copied from.
Note
Copy and Paste will remain above the function keys until the prev key is pressed.
51
ƒ l previous page l contents l next page l
ƒ
Find
In large programs the FIND command can be used to search the program for instructions
such as Registers, I/O and Labels among others.
3. Press F5.
ƒ F1 F2 F3 F4 F5
52
ƒ l previous page l contents l next page l
ƒ
Replace
The REPLACE command is used to replace instructions or motion commands in a
program.
3. Press F5.
53
ƒ l previous page l contents l next page l
ƒ
Renumber
The RENUMBER command is used to renumber positions sequentially. The positional
data will remain the same, only the position numbers will change.
Suppose you have a program containing 3 positions, like so:
You may wish to add a position between positions 1 and 2, (after inserting a blank line
first). When you do so, the new position will be given the next available position number,
like so:
The RENUMBER command allows you to renumber the positions sequentially like so:
1. You are in the program screen at the start of any program line
3. Press F5.
4. Select 6. RENUMBER
54
ƒ l previous page l contents l next page l
ƒ
Comment
The COMMENT command enables or disables the appearance of comments on the
program screen.
For example, if a Register has a comment to describe it (SECTION 5), the comment will
appear in the program like so, if this command is enabled.
1. You are in the program screen at the start of any program line
3. Press F5.
4. Select 7. COMMENT
5. This will enable or disable the appearance of comments on the program screen.
ƒ F1 F2 F3 F4 F5
55
ƒ l previous page l contents l next page l
ƒ
UNDO
The UNDO functions allows you to correct a mistake by undoing the last action.
CAUTION
An UNDO operation automatically rewrites the program, so that the results may not be those expected by the
operator. Before executing a program after an undo operation, carefully check the program.
Notes
This function can undo the following operations
- Instruction modifications
- Line insertion
- Line deletion
- Copying of program statements
- Program instruction replacement
- Reassignment of position numbers
The UNDO function is disabled when any of the following operations are performed:
- Power Off
- Selection of another program
3. Press F5.
4. Select 8. UNDO
56
ƒ l previous page l contents l next page l
ƒ
I N S T M e n u
INST>REGISTERS>
REGISTERS
Counting or storing a numerical value
Registers may be thought of as containers. They will store numbers given to them, via a
program or manually, until told to store something else.
There are 32 registers as the default number on a RJ3 robot, but this may be increased
to 256 as desired. In a program they look like so:
R [1] = 54
57
ƒ l previous page l contents l next page l
ƒ
R [1] = R[1] + 1
Resetting a Register
Registers store the last value given to them until told otherwise. Therefore, it may be
necessary to reset a register before using it. This will ensure that it begins its count at 0.
To reset any register, the program line should look like that below:
R [9] = 0
EXAMPLE INPUT
As an example, suppose we want to enter…
R[2] = R[2] + 1
Procedure
You are in the program screen and have inserted a blank line or the cursor is on on
[End].
2. Press F1 INST
INST EDCMD
ƒ F1 F2 F3 F4 F5
58
ƒ l previous page l contents l next page l
ƒ
INST EDCMD
ƒ F1 F2 F3 F4 F5
5. The cursor will now jump to the first position in the line and give a list of choices like
that shown
INST EDCMD
F1 F2 F3 F4 F5
ƒ
6. Select item 1. R [ ]
7. The cursor will jump between the two square brackets like so:
R [ ] = …+…
9. The cursor will now jump to the other side of the = sign and give these choices.
59
ƒ l previous page l contents l next page l
ƒ
INST EDCMD
ƒ F1 F2 F3 F4 F5
11. The cursor will jump between the two square brackets. Enter the required register
number.
12. Enter the same value of register as that before the = sign.
13. The program line should now look like so, with the cursor to the right of the + sign:
R[2] = R[2]+ …
INST EDCMD
ƒ F1 F2 F3 F4 F5
16. Enter 1 via the numeric keypad and the program line will now look like so:
R[2]=R[2]+1
60
ƒ l previous page l contents l next page l
ƒ
Viewing Registers
ƒ
NOTE
To return to the
program screen from
the data screen (or
any other)
ƒ press the EDIT key.
2. If registers are not displayed, press F1, TYPE and select Registers.
3. To change the value a register is storing, cursor to it, use the numeric keypad to
insert a new number, and press ENTER.
To add a comment to describe a register, cursor to the register and press ENTER. All the
letters of the alphabet should appear above the function keys. Type in the required
comment and press ENTER.
61
ƒ l previous page l contents l next page l
ƒ
62
ƒ l previous page l contents l next page l
ƒ
I N S T M e n u
INST>REGISTERS>
ARGUMENT
REGISTERS
Transferring data between programs
Notation
The notation used for argument registers is AR[ ].
Argument registers are added to the CALL command when a program is called, like so:
63
ƒ l previous page l contents l next page l
ƒ
EXAMPLE
AR[1] = 2
AR[2] = R[3]
R[3] at this point is
equal to 5 due to
the counter above.
MAIN SUB_1
AR[1] = 2
AR[2] = R[3]
R[3] at this point is
equal to 5 due to
the counter above.
64
ƒ l previous page l contents l next page l
ƒ
I N S T M e n u
INST>REGISTERS>POSITION REGISTERS
POSITION
REGISTERS
Storing positional data away from a program
DO NOT ATTEMPT TO USE POSTION REGISTERS UNTIL YOU HAVE READ ALL THE AVAILABLE
INFORMATION AND UNDERSTOOD ALL THE GIVEN INSTRUCTION.
Position Registers are a powerful programming tool because they can alter the way a
program runs. It is ESSENTIAL to understand Position Registers implicitly before you
begin programming with them using Offsets. Position Registers are extremely versatile
and have multiple uses.
Warning
Position Registers are affected by User Frames and Tool Frames.
65
ƒ l previous page l contents l next page l
ƒ
This can then be called up from as many different programs as require it.
Advantages
You may at a later date wish to alter your Home Position.
If it is stored in a Position Register you need only alter the relevant position register and
all programs using it will adjust accordingly.
However, if you have not stored your Home Position in a Position Register you will need
to go into every program using the Home Position and alter them individually.
PR[ 1: ] = *
5. Cursor to the Position Register you wish PR[
PR[
2:
3:
]
]
=
=
R
*
to record into. PR[ 4: ] = *
PR[ 5: ] = *
PR[ 6: ] = R
6. Jog the Robot to the required position PR[ 7: ] = R
ƒ F1 F2 F3 F4 F5
Use SHIFT + F2, MOVE_TO to move to the position of the current Position Register.
Adding to a Program
To use the newly recorded position register in a program, record a position in space in
the usual way (SHIFT + F1, POINT) regardless of where the robot is.
1. Cursor onto the position number of the recorded position like so:
66
ƒ l previous page l contents l next page l
ƒ
J P[ 1 ] 100% FINE
2. Press F4 CHOICE
3. From the options available in the menu that appears, select PR[ ]
4. Enter the Position Register number you record the position in.
1. In the DATA screen, cursor to the Position Register you wish to add a comment to and
press ENTER.
2. All the letters of the alphabet will appear above the function keys. Type in the required
comment and press ENTER.
67
ƒ l previous page l contents l next page l
ƒ
68
ƒ l previous page l contents l next page l
ƒ
I N S T M e n u
INST>REGISTERS>POSITION REGISTERS
LPOS/JPOS
Recording the robots current position.
The LPOS and JPOS commands allow you to store the current position of the robot into
a position register.
Program Examples
PR[5] = LPOS
ƒ PR[6] = JPOS
69
ƒ l previous page l contents l next page l
ƒ
EXAMPLE INPUT
You are in the program screen and have inserted a blank line or the cursor is on on
[End].
2. Press F1 INST
INST EDCMD
ƒ F1 F2 F3 F4 F5
INST EDCMD
ƒ F1 F2 F3 F4 F5
5. The cursor will now jump to the first position in the line and give a list of choices like
that shown
70
ƒ l previous page l contents l next page l
ƒ
INST EDCMD
ƒ F1 F2 F3 F4 F5
6. Select item 2. PR [ ]
7. The cursor will jump between the two square brackets like so:
PR [ ] = …
9. The cursor will now jump to the other side of the = sign and give these choices.
INST EDCMD
ƒ F1 F2 F3 F4 F5
71
ƒ l previous page l contents l next page l
ƒ
72
ƒ l previous page l contents l next page l
ƒ
I N S T M e n u
INST>I/O>
INPUTS AND
OUTPUTS
Controlling and Monitoring Inputs and Outputs
Digital
• Digital I/O (DO/DI) signals provide access to data on a single input or output signal
line.
• Signals can be ON or OFF.
Robot
• Robot digital input and output signals (RO/RI) are used to communicate between the
controller and the robot.
• Signal are ON or OFF.
73
ƒ l previous page l contents l next page l
ƒ
Analogue
• Analogue inputs and outputs (AI/AO) are continuous input and output signals and
indicate values such as temperature and voltage.
Group
• Group inputs and outputs (GI/GO) are several digital input or output signals that have
been assigned to a group.
• They are read as binary numbers.
For example, we have 4 conveyor belts, each with a digital input to check if a box is
waiting to be picked up by the robot.
74
ƒ l previous page l contents l next page l
ƒ
EXAMPLE INPUT OF IO
As an example, suppose we wanted to enter RO[3] = ON into our program to turn robot
output number 3 on.
Procedure
You are in the program screen and have inserted a blank line or the cursor is on on
[End].
2. Press INST (F1), and the Instruction Menu will be displayed like so:
INST EDCMD
ƒ F1 F2 F3 F4 F5
INST EDCMD
ƒ F1 F2 F3 F4 F5
4. Select item 3. RO [ ] = ….
5. The cursor will jump between the two square brackets like so:
RO [ ] = ……
6. Enter the value of I/O you wish to use, press ENTER and the cursor will jump across
to the right of the = sign and the following choices will be displayed
75
ƒ l previous page l contents l next page l
ƒ
INST EDCMD
ƒ F1 F2 F3 F4 F5
7. Select item 1. ON
RO [3] = ON
PULSE
PULSE means the output will turn on for a specified time only.
76
ƒ l previous page l contents l next page l
ƒ
Viewing I/O’s
4. Press MENUS
5. Select I/O
ƒ F1 F2 F3 F4 F5
2. Select I/O
3. If the I/O type you wish to add a comment to is not displayed, press F1, [TYPE] and
select the required type of I/O
4. Press F2 CONFIG
5. Press F4 DETAIL
7. Press ENTER. Letters of the alphabet will appear above the function keys.
77
ƒ l previous page l contents l next page l
ƒ
8. Using the function keys, enter a comment and then press ENTER. If you make a
mistake, use the backspace key
Each time the input or output is called within a program, the comment should appear in
the program screen. If it does not you need to enable comments, See the EDCMD Menu.
11. If Robot I/O are not displayed, press F1, [TYPE] and select Robot I/O
15. Using the alphabet above the function keys, enter a comment and then press
ENTER
Each time the input or output is called within a program, the comment should appear in
the program screen. If it does not you need to enable comments, See the EDCMD Menu.
78
ƒ l previous page l contents l next page l
ƒ
I N S T M e n u
INST>IF/SELECT >
IF STATEMENT
Setting up conditional statements
The If Statement allows you to carry out a program command, only when certain
conditions are met.
When the set conditions are met, the robot can call another program to run or jump to a
label.
EXAMPLE INPUT
Procedure
You are in the program screen and have inserted a blank line or the cursor is on on
[End].
79
ƒ l previous page l contents l next page l
ƒ
2. Press F1 INST
INST EDCMD
ƒ F1 F2 F3 F4 F5
INST EDCMD
ƒ F1 F2 F3 F4 F5
5. Select item 1. IF … = …
6. The cursor will now jump to the first position in the line and give a list of choices…
INST EDCMD
ƒ F1 F2 F3 F4 F5
80
ƒ l previous page l contents l next page l
ƒ
7. Select item 1. R [ ]
8. The cursor will jump between the two square brackets like so:
IF R [ ] = … …
9. Enter the value of the register you wish to use and press ENTER.
10. The cursor will now jump to the other side of the = sign and give the following
choices.
INST EDCMD
ƒ F1 F2 F3 F4 F5
12. Enter the value of the constant you require and press ENTER. this will
determine the number of cycles the robot makes.
13. The cursor will jump to the next space and give you another menu to choose from.
INST EDCMD
ƒ F1 F2 F3 F4 F5
14. Select item 2. CALL and a list of all the teach pendant programs will appear in
alphabetical order.
15. If the program you wish to call is not listed, press 8. -- next page --, to flip the pages
of programs.
81
ƒ l previous page l contents l next page l
ƒ
Although this example calls a program depending on the IF statement, a JMPLBL could
also be used with the IF statement to jump to another part of the same program.
REMEMBER!
You must have the same register as that in the IF statement set up as a counter above the IF statement.
82
ƒ l previous page l contents l next page l
ƒ
I N S T M e n u
INST>IF/SELECT >
SELECT
Adding conditions into a program
The SELECT statement is located on the INST menu and works in a similar but slightly
different way to the IF statement.
Imagine a program that needs to check a register value and then depending on the value
jump to different lines in the program.
Using Group Input 1, GI[1], many IF statements would be necessary like so:
83
ƒ l previous page l contents l next page l
ƒ
4 different IF statements are necessary and the robot would read them all until it found
one that was true.
Instead, with the Select statement the program would work like so:
EXAMPLE INPUT
Procedure
1. You are in the program screen and have inserted a blank line or the cursor is on
[End].
3. Press F1 INST
4. Select IF/SELECT
INST EDCMD
ƒ F1 F2 F3 F4 F5
8. Choose item 2 or 3 when you wish to add new branches to an existing SELECT
statement.
84
ƒ l previous page l contents l next page l
ƒ
To add a branch to an existing SELECT statement, the cursor must be placed on the line below the existing SELECT
statement or below the last branch added to the SELECT statement.
85
ƒ l previous page l contents l next page l
ƒ
86
ƒ l previous page l contents l next page l
ƒ
I N S T M e n u
INST>WAIT>
WAIT
INSTRUCTION
Pausing the program or waiting for a condition to become true
The WAIT Instruction tells the robot to wait for something to happen.
• An input or output
• A semaphore
87
ƒ l previous page l contents l next page l
ƒ
EXAMPLE INPUT
As an example we will enter a statement to make the robot wait for 2 seconds before
carrying on to the next program line.
Procedure
You are in the program screen and have inserted a blank line or the cursor is on on
[End].
INST EDCMD
ƒ F1 F2 F3 F4 F5
INST EDCMD
ƒ F1 F2 F3 F4 F5
WAIT … (secs)
5. Enter the number of seconds you wish to wait, and press ENTER.
88
ƒ l previous page l contents l next page l
ƒ
WAIT 2 (secs)
The WAIT Instruction can also be used to wait for inputs to turn on, or to wait for a
register to reach a certain value.
89
ƒ l previous page l contents l next page l
ƒ
90
ƒ l previous page l contents l next page l
ƒ
I N S T M e n u
INST>Jmp/Lbl>
LABELS &
JUMP LABELS
Using labels and jump labels to create cycles
Labels (LBL) are similar to markers in that they mark a point in a program for the robot to
jump to when the jump to label (JMPLBL) command is used. They are therefore used for
cycling purposes.
For example:
1. LBL [1]
2. J P[1] 100% FINE Every time the
This label defines 3. J P[2] 100% FINE
robot reads this
the line for the robot 4. J P[3] 100% FINE
line, it will jump to
to jump to when it 5. J P[4] 100% FINE
label [1], and hence
reads a JMPLBL[1] 6. J P[5] 100% FINE
run the entire
command. 7. J P[6] 100% FINE
program again and
8. J P[7] 100% FINE
again.
9. J P[8] 100% FINE
10.JMPLBL [1]
91
ƒ l previous page l contents l next page l
ƒ
The order of the LBL and JMPLBL commands in a program does not matter. You can
place a JMPLBL command anywhere in a program to jump to any other label, even if
the label appears after the JMPLBL.
EXAMPLE INPUT
Procedure
You are in the program screen and have inserted a blank line or the cursor is on on
[End].
2. Press F1 INST
INST EDCMD
ƒ F1 F2 F3 F4 F5
1. JMPLBL
2. LBL
5. To enter a LBL, select 2.LBL and the value of the label may be entered via the
numeric keypad.
There are 10,000 labels that can be used, but the same one cannot be used in the same
program. You can jump to the label as many times as required, but there must be only
one label with the same number in any one program. For example, only one LBL[99] or
LBL[2], etc.
92
ƒ l previous page l contents l next page l
ƒ
JMPLBL
To enter a JMPLBL. Press F1, INST again, and select 5. JMP/LBL.
Select 1. JMPLBL and enter the value via the numeric keypad.
The above example sets up an unconditional cycle. i.e. it will cycle forever. To set up a
conditional cycle, you need to use the IF statement together with registers, labels and
jump labels.
93
ƒ l previous page l contents l next page l
ƒ
94
ƒ l previous page l contents l next page l
ƒ
I N S T M e n u
INST>CALL>
CALL
INSTRUCTION
Calling programs from within programs
In addition to using the CALL Statement in conjunction with the IF Statement, it can also
be used alone. It is located on the INST menu and in a program looks like so:
EXAMPLE INPUT
Procedure
You are in the program screen and have inserted a blank line or the cursor is on on
[End].
95
ƒ l previous page l contents l next page l
ƒ
2. Press F1 INST
INST EDCMD
ƒ F1 F2 F3 F4 F5
INST EDCMD
ƒ F1 F2 F3 F4 F5
6. There will then be a list of teach pendant programs displayed, select the program you
wish to call.
Remember
The robot always takes the shortest route from where it is to where it is going. Make sure the path
between programs is a safe one to take.
96
ƒ l previous page l contents l next page l
ƒ
When a program is called and not fully executed, the robot remains in
that program. You cannot get back to the host program until you press
the FCTN key and select 1. ABORT ALL.
Remember the robot always takes the shortest route from where it is to where it is going. If you abort a
program remember to jog the robot to a safe position away from a workpiece so that the route taken will
be a safe one when you restart a program.
97
ƒ l previous page l contents l next page l
ƒ
98
ƒ l previous page l contents l next page l
ƒ
I N S T M e n u
INST>MISCELLANEOUS>
RSR INSTRUCTION
Enables or Disables the RSR function.
The robot service request (RSR) starts a program from an external device. The four robot
service request signals (RSR1 to RSR4) are used for this function.
The RSR instruction alternately enables or disables the RSR function having a specified
RSR number.
RSR[ ] (value)
99
ƒ l previous page l contents l next page l
ƒ
100
ƒ l previous page l contents l next page l
ƒ
I N S T M e n u
INST>MISCELLANEOUS>
USER ALARMS
Setting up alarms to alert the user
It is possible to set up a message that will appear as a fault at the top of the teach
pendant and stop program execution.
There are 10 different user alarms that can be used and each one can be set up to cause
the robot to respond in a different way when it is greeted with a UALM instruction in a
program.
There are different severities of user alarm that can be set up and the value is stored in a
system variable called $UALRM_SEV. The value this variable stores can change how the
robot responds to a user alarm.
101
ƒ l previous page l contents l next page l
ƒ
Value Action
0 No action
2 Pause program
3 Abort program with error
4 Stop program motion
6 Pause program and stop its motion
8 Cancel program motion
10 Pause program and cancel its motion
11 Abort program and cancel its motion
To change the severity of a user alarm, the value stored in the system variable
$UALRM_SEV must be changed.
To do this:
102
ƒ l previous page l contents l next page l
ƒ
1. $ACC_MAXLMT 500
2. $ACC_MINLMT 0
3. $ANGTOL [9] of REAL
4. $APPLICATION [3] of STRING [21]
5. $AP_CUREQ [32] of APCUREQ_T
6. $AP_CURTOOL 0
7. $AP_MAXAX 536870912
8. $AP_PLUGGED 0
9. $AP_TOTALAX 0
10. $AP_USENUM [32] of BYTE
[TYPE]
ƒ F1 F2 F3 F4 F5
[TYPE]
ƒ F1 F2 F3 F4 F5
8. Cursor to the user alarm you wish to change and enter a new value with the numeric
keypad.
2. Select Setup
3. Press F1 TYPE
4. Select User Alarm and the following screen will be displayed showing the 10 user
alarms.
103
ƒ l previous page l contents l next page l
ƒ
[TYPE]
ƒ F1 F2 F3 F4 F5
6. The letters of the alphabet will appear above the function keys. Enter the message
you require and press ENTER.
7. The message is now set and when a program encounters a UALM instruction calling
that user alarm, the message will appear at the top of the teach pendant informing
the user of the fault.
EXAMPLE INPUT
Procedure
1. You are in the program screen and have inserted a blank line or the cursor is on
[End].
4. You need to select Miscellaneous from the INST menu. (You may need to press 8.
next page first.)
UALM []
Enter the value of alarm you wish to use and press ENTER.
104
ƒ l previous page l contents l next page l
ƒ
I N S T M e n u
INST>MISCELLANEOUS>
TIMERS
Timing all or part of a program
A timer will store the last time recorded into it, even after the controller has been switched
off. When it is next used, it will continue to add onto that time and so will not give a true
reading of how long a program took to execute.
Timers are located on the Instruction Menu [INST] and in a program will look like so:
105
ƒ l previous page l contents l next page l
ƒ
EXAMPLE INPUT
Procedure
You are in the program screen and have inserted a blank line or the cursor is on
[End].
2. Press F1 INST
3. Select Miscellaneous from the INST menu. (You may need to press 8. next page
first.)
6. Enter the value of timer you wish to use (there are a possible ten) and press ENTER.
7. The cursor will jump over the = sign and give you the following choices:
1. RESET
2. START
3. STOP
Viewing Timers
1. To view the timer recorded by a timer in a program, press the MENUS key.
3. Select Status
106
ƒ l previous page l contents l next page l
ƒ
I N S T M e n u
INST>MISCELLANEOUS>
OVERRIDE
Control the override speed with a program instruction.
The override instruction allows you to control, through a program instruction, the override
speed the robot runs at. Values available are 0 – 100%.
Example
J P[1] 100% FINE
L P[2] 2000mm/sec FINE
L P[3] 2000mm/sec FINE
OVERRIDE 100%
L P[4] 2000mm/sec FINE
L P[5] 2000mm/sec FINE
L P[6] 2000mm/sec FINE
L P[7] 2000mm/sec FINE
OVERRIDE 20%
L P[8] 2000mm/sec FINE
L P[9] 2000mm/sec FINE
L P[10] 2000mm/sec FINE
[End]
107
ƒ l previous page l contents l next page l
ƒ
EXAMPLE INPUT
Procedure
You are in the program screen and have inserted a blank line or the cursor is on [End].
11. Select Miscellaneous from the INST menu. (You may need to press 8. next page
first.)
OVERRIDE =
108
ƒ l previous page l contents l next page l
ƒ
I N S T M e n u
INST>MISCELLANEOUS>
REMARK
Adding a comment into a program
Remarks are basically comments that you can add at any point to a program. A remark
will make no difference to a program because the robot ignores them. They merely serve
as a way for the programmer to add a comment that may later aid memory as to what
each line of the program does.
Lines of code in a teach pendant program do not make for easy reading to anybody
unfamiliar to it. Adding comments at appropriate points to explain what a program is
doing will serve as a guide to what the program does to a user.
EXAMPLE INPUT
Procedure
You are in the program screen and have inserted a blank line or the cursor is on on
[End].
109
ƒ l previous page l contents l next page l
ƒ
2. Press F1 INST
3. Select Miscellaneous from the INST menu. (You may need to press 8. next
page first.)
6. Press Enter and the letters of the alphabet will appear above the function keys and
allow you to enter a comment.
Remember, the robot does not read the comment during program execution.
110
ƒ l previous page l contents l next page l
ƒ
I N S T M e n u
INST>MISCELLANEOUS>
MESSAGE
Allows you to display a message on the user screen.
User Screen
The user screen displays messages from a program being executed.
Note
When a message instruction is not executed, nothing appears on this screen.
111
ƒ l previous page l contents l next page l
ƒ
EXAMPLE INPUT
Procedure
You are in the program screen and have inserted a blank line or the cursor is on [End].
2. Press F1 INST
3. Select Miscellaneous from the INST menu. (You may need to press 8. next page
first.)
MESSAGE[ ]
112
ƒ l previous page l contents l next page l
ƒ
I N S T M e n u
INST>MISCELLANEOUS>
PARAMETER
INSTRUCTION
Changing the value of system variables.
The parameter instruction allows the value of a system variable to be changed. This
instruction can be used for a system variable containing a numeric value only.
The operation of the robot and control unit is controlled with system variables. Only a person who knows
details of the influence of changes in system variables should set system variables. If a person without
detailed knowledge attempts to set the system variables, the robot and control unit could malfunction,
causing injury.
$ASCII_SAVE
113
ƒ l previous page l contents l next page l
ƒ
Variable type
These can be assigned to a register.
Position type
These can be assigned to a position register. There are 3 data types for a position type
system variable:
• Orthogonal [XYZWPR]
• Joint[J1, J2, J3, J4, J5, J6]
• Matrix[AONL]
When a system variable of position type is assigned to a position register, the position
register is automatically converted to the correct data type of the system variable.
If system variables are incorrectly assigned, i.e if a variable type is assigned to a position
register or a position type is assigned to a register, the following alarm will be displayed.
EXAMPLE INPUT
Procedure
You are in the program screen and have inserted a blank line or the cursor is on [End].
2. Press F1 INST
3. Select Miscellaneous from the INST menu. (You may need to press 8. next page
first.)
6. Press ENTER and user the function keys to enter the name of the system variable.
114
ƒ l previous page l contents l next page l
ƒ
$ASCII_SAVE=1
R[1] = $ASCII_SAVE
115
ƒ l previous page l contents l next page l
ƒ
116
ƒ l previous page l contents l next page l
ƒ
I N S T M e n u
INST>MISCELLANEOUS>
M A X IM U M S P E E D
INSTRUCTION
Changing the value of system variables.
The maximum speed instruction allows you to specify the maximum operating speed of a
program. There are two maximum speed instructions:
JOINT_MAX_SPEED
Allows you specify the joint operation speed.
LINEAR_MAX_SPEED
Allow you to specify the path control operating speed.
If a user selects a speed exceeding the value set in the program it will be ignored and the
speed set with the maximum speed instruction is used.
EXAMPLE INPUT
Procedure
You are in the program screen and have inserted a blank line or the cursor is on [End].
117
ƒ l previous page l contents l next page l
ƒ
2. Press F1 INST
3. Select Miscellaneous from the INST menu. (You may need to press 8. next page first.)
118
ƒ l previous page l contents l next page l
ƒ
I N S T M e n u
INST>MULTIPLE CONTROL>
RUN COMMAND
Running two programs at once.
The Run command allows to execute a program from within another program so that
both programs run together.
You cannot run 2 programs together that use the same motion group, that is the same
axes. The programs must use different motion groups, or the second program is set up
as a no motion program. That is it doesn’t have any positional commands in it.
The RUN instruction remains in the program it is in but also runs the program that is
called at the same time. The two programs run concurrently.
119
ƒ l previous page l contents l next page l
ƒ
Program Example
PROGRAM1
1. J P[1] 100% FINE
2. RUN PROGRAM2
3. J P[2] 100% FINE
4. J P[3] 100% FINE
MOTION GROUP[1, *, *, *, *]
PROGRAM2
1. DO[1]=ON
2. RO[5]=ON
3. RO[6]=ON
4. RO[7]=ON
MOTION GROUP[*, *, *, *, *]
EXAMPLE INPUT
Procedure
You are in the program screen and have inserted a blank line or the cursor is on [End].
2. Press F1 INST
3. Select Multiple Control from the INST menu. (You may need to press 8. next page
first.)
RUN
6. A list of all the available teach pendant programs will appear. Select the program you
wish to run.
120
ƒ l previous page l contents l next page l
ƒ
I N S T M e n u
INST>MULTIPLE CONTROL>
SEMAPHORE
INSTRUCTION
Used when programs are multi-tasking.
Program Example
PROGRAM1 PROGRAM2
1. SEMAPHORE[1]=OFF 1. J P[1] 100% FINE
2. RUN PROGRAM2 2. J P[2] 100% FINE
3. J P[1] 100% FINE 3. J P[3] 100% FINE
4. J P[2] 100% FINE 4. J P[4] 100% FINE
5. WAIT SEMAPHORE[1] 5. SEMAPHORE[1]=ON
This program will wait at line 5 for SEMAPHORE[1] to be ON. PROGRAM2 which
is running concurrently turns SEMAPHORE[1] on.
121
ƒ l previous page l contents l next page l
ƒ
EXAMPLE INPUT
Procedure
You are in the program screen and have inserted a blank line or the cursor is on [End].
2. Press F1 INST
3. Select Multiple Control from the INST menu. (You may need to press 8. next page
first.)
122
ƒ l previous page l contents l next page l
ƒ
I N S T M e n u
INST>PROGRAM CONTROL>
HALT
INSTRUCTION
Interrupts program execution.
The halt instruction allows you to stop robot motion in the following way:
• If an operation instruction is being executed, the program stops before the operation is completed.
• The cursor moves to the next line. When restarted the program is executed from this line.
• If the program timer is active, it is stopped. When the program is restarted, the program timer is
activated.
• If a pulse output instruction is being executed, the program stops after that instruction has been
executed.
• If an instruction other than a program call instruction is being executed, the program stops after
that instruction has been executed. A program call instruction is executed when the program is
restarted.
Halt Instruction
PAUSE
123
ƒ l previous page l contents l next page l
ƒ
EXAMPLE INPUT
Procedure
You are in the program screen and have inserted a blank line or the cursor is on [End].
2. Press F1 INST
3. Select Program Control from the INST menu. (You may need to press 8. next page
first.)
124
ƒ l previous page l contents l next page l
ƒ
I N S T M e n u
INST>PROGRAM CONTROL>
ABORT
INSTRUCTION
Aborts program execution.
• If an operation instruction is being executed, the program stops before the operation is completed.
• The cursor stops on the current line. When restarted the program is executed from this line.
• When the abort instruction is executed, the execution of the program CANNOT be continued.
• Information held by a program call instruction about the main program is lost.
Abort Instruction
ABORT
125
ƒ l previous page l contents l next page l
ƒ
EXAMPLE INPUT
Procedure
You are in the program screen and have inserted a blank line or the cursor is on [End].
2. Press F1 INST
3. Select Program Control from the INST menu. (You may need to press 8. next page
first.)
126
ƒ l previous page l contents l next page l
ƒ
I N S T M e n u
INST>OFFSETS
OFFSETS
Mathematically altering a program
Offsets are a way of either offsetting a single position, multiple positions or a whole
program without the need for reprogramming. Offsets are a useful way of incrementing
program positions by direct measurements.
For example, palletising requires that a program increment vertically to form the layers.
127
ƒ l previous page l contents l next page l
ƒ
PR[ 1: ] = *
PR[ 2: ] = R
PR[ 3: ] = *
PR[ 4: ] = *
PR[ 5: ] = *
PR[ 6: ] = R
PR[ 7: ] = R
PR[ 8: ] = *
PR[ 9: ] = *
Press EN TER
[TYPE] MO VE_TO R EC OR D POSITIO N C LEAR
F1 F2 F3 F4 F5
ƒ
ƒ F1 F2 F3 F4 F5
6 Elements
The 6 elements of a Position Register are X, Y, Z, W, P and R.
They each store a piece of information that together identify the position register.
X 1 W 4
Y 2 P 5
Z 3 R 6
Element Numbers
Each element can be addressed either from the DATA screen, or from a program.
128
ƒ l previous page l contents l next page l
ƒ
PR[i, j]
i is the Position
Register NUMBER j is the Position
you wish to address Register ELEMENT
you wish to address
PR[5, 3] = 200
(If the Position Register is represented as a Joint move instead of Cartesian, this
command would send in 200 degrees to Joint 3.
INST EDCMD
ƒ F1 F2 F3 F4 F5
129
ƒ l previous page l contents l next page l
ƒ
INST EDCMD
ƒ F1 F2 F3 F4 F5
INST EDCMD
ƒ F1 F2 F3 F4 F5
2. Press F4 CHOICE
This program line means add on the ENTIRE contents of Position Register [5] to
programmed position [1] and move there.
ALL of the information in PR[5] is used for the offset. It is therefore important to ensure
that the other elements of PR[5] are set to zero if you do not wish to offset by them.
130
ƒ l previous page l contents l next page l
ƒ
I N S T M e n u
INST>OFFSET>
FRAMES
INSTRUCTION
Change the frame setting
The FRAME instruction is used to change the setting of the Cartesian coordinate system
by which the robot works.
Please ensure you properly understand the implications of making a frame equal to a position register
Tool Frame
The tool frame setup instruction changes the setting of the tool frame you select and
makes it equal to a position register.
UTOOL[ ] = PR[ ]
Put the Tool Frame Put the position register
number here you you wish to make it
wish to use equal to here.
131
ƒ l previous page l contents l next page l
ƒ
Program Example
1. UTOOL[1] = PR[1]
User Frame
The user frame setup instruction changes the setting of the user frame you select and
makes it equal to a position register.
UFRAME[ ] = PR[ ]
Put the User Frame Put the position register
number here you you wish to make it
wish to use equal to here.
Program Example
1. UFRAME[1] = PR[2]
UTOOL_NUM = (value)
Program Example
1. UTOOL_NUM = 1
User Frame
This changes the user frame number being selected.
UFRAME_NUM = (value)
132
ƒ l previous page l contents l next page l
ƒ
Program Example
1. UFRAME_NUM = 1
Warning
If you activate a tool or user frame that is different to the one in which a program was created, you will
generate an error and the robot will not move.
If you change the values in a user or tool frame and then try and run a program that was created with the
previous user and tool frame values, the robot will move relative to the new frame information. ENSURE
YOU UNDERSTAND THE IMPLICATIONS OF THIS. THE ROBOT MAY NOT MOVE WHERE YOU
EXPECTED IT TO.
ADDING TO A PROGRAM
Procedure
You are in the program screen and have inserted a blank line or the cursor is on [End].
2. Press F1 INST
3. Select Offset from the INST menu. (You may need to press 8. next page first.)
133
ƒ l previous page l contents l next page l
ƒ
134
ƒ l previous page l contents l next page l
ƒ
I N S T M e n u
INST>SKIP>
SKIP CONDITION
Specifying in advance a skip instruction for the robot to follow.
Before a skip instruction can be executed, a skip condition instruction must be executed.
A skip condition once specified is valid until the execution of the program is completed, or
the next skip condition instruction is executed.
Example
SKIP CONDITION
1. SKIP CONDITION DI[5] = ON DI[5] = ON
2. J P[1] 100% FINE
3. L P[2] 2000mm/sec FINE, Skip, LBL[1]
4. J P[3] 100% FINE
5. LBL[1] SKIP INSTRUCTION
6. J P[4] 100% FINE If the Skip Condition is NOT met, the
robot at this point will jump to label [1].
135
ƒ l previous page l contents l next page l
ƒ
In the skip condition, multiple conditions can be specified on a single line use ‘AND’ and
‘OR’ operator.
Procedure
You are in the program screen and have inserted a blank line or the cursor is on [End].
6. Press F1 INST
7. Select SKIP from the INST menu. (You may need to press 8. next page first.)
Procedure
1. Cursor to the end of the program line you wish to add a skip instruction to like so:
2. Press F4 CHOICE
136
ƒ l previous page l contents l next page l
ƒ
F R A M E S
FRAMES-
OVERVIEW
General overview of frames, see individual frame sections for further detail
The LOCATION is the distance x, y, and z directions from the origin of the reference
frame. The location is expressed in millimetres.
The ORIENTATION is the rotation about the x, y, and z axes of the reference frame,
called w, p, and r. The orientation is expressed in degrees.
When a position is recorded, the location and orientation of the robot are automatically
recorded, relative to the active reference frame.
YOU MUST USE THE SAME REFERENCE FRAME THAT YOU RECORDED A
POSITION IN WHEN YOU EXECUTE A PROGRAM.
NEVER OVERWRITE a reference frame that is being used by a program. Damage to equipment can occur
or injury to personnel.
137
ƒ l previous page l contents l next page l
ƒ
The robot system has four kinds of frame, World, User, Jgfrm and Tool.
• Tool Frames
• User Frames
• Jog Frames
IMPORTANT
Frames can alter the way the robot moves to positions. Please ensure that you fully understand how to set
up frames and the implication changing frames can have on program positions.
138
ƒ l previous page l contents l next page l
ƒ
F R A M E S
TOOL FRAMES
Setting up the Tool Centre Point (TCP)
By default, the origin of the tool frame is on the faceplate of the robot.
139
ƒ l previous page l contents l next page l
ƒ
• 3 Approach points are taught with the tool touching a common point from three
different directions.
• This six point method involves the same 3 approach points of the Three Point Method,
but in addition 3 directional points are required.
140
ƒ l previous page l contents l next page l
ƒ
Do not accidentally alter an existing tool frame or tool centre point. doing so could lead to serious damage
to equipment or injury to personnel.
1. Press MENUS
Program1 Line 7 PAUSED
SETUP Frames Joint 10%
2. Select SETUP X Y Z
1. 23.2 - 82.0 33.5 *****************
2. 0.0 0.0 0.0 *****************
3. F1 [TYPE] 3. 0.0 0.0 0.0 *****************
4. 0.0 0.0 0.0 *****************
5. 0.0 0.0 0.0 *****************
4. Select Frames
Active TOOL $MNUTOOLNUM[1] = 1
5. If tool frames are not displayed, press F3 [TYPE] DETAIL [OTHER] CLEAR SETIND
[other], and select tool frames, this ƒ F1 F2 F3 F4 F5
screen should appear.
7. Select F2 DETAIL.
Program1 Line 7 PAUSED
Approach Point 1
10. Cursor to Approach Point 1
11. Jog the robot so that the end of the tool touches the tip of the common point.
Approach Point 2
13. Cursor to Approach Point 2
14. In JOINT, rotate axis 6 by more than 90o but less than 360o.
141
ƒ l previous page l contents l next page l
ƒ
15. In WORLD,USER or JGFRM, use the major robot axes to re-align the tip to the
common point.
Approach Point 3
17. Cursor to Approach Point 3
19. In WORLD, USER or JGFRM, use the major robot axes to re-align the tip to the
common point.
ƒ F1 F2 F3 F4 F5
NOTE:
When the 3 point TCP is set up,
+Y becomes –Y
+Z becomes –Z
142
ƒ l previous page l contents l next page l
ƒ
Do not accidentally alter an existing tool frame or tool centre point. doing so could lead to serious damage
to equipment or injury to personnel.
1. Press MENUS
2. Select SETUP
Program1 PAUSED
3. F1 [TYPE] Line 7
SETUP Frames Joint 10%
X Y Z
4. Select Frames 1. 23.2 - 82.0 33.5 *****************
2. 0.0 0.0 0.0 *****************
3. 0.0 0.0 0.0 *****************
5. If tool frames are not displayed, press F3 4. 0.0 0.0 0.0 *****************
5. 0.0 0.0 0.0 *****************
[other], and select tool frames, this screen
should appear. Active TOOL $MNUTOOLNUM[1] = 1
7. Select F2 DETAIL.
8. Press F2 METHOD
You can convert a 3 point tool centre point that has been set up to a 6 point tool centre point. Go into the DETAIL of
the 3 point TCP that has been set up and press F2 METHOD and select 6 point. The first 3 points will already be
recorded and the last 3 points are available to record. Follow this procedure from ORIENT ORIGIN POINT
143
ƒ l previous page l contents l next page l
ƒ
Approach Point 1
10. Cursor to Approach Point 1
11. Jog the robot so that the end of the tool touches the tip of the common point.
Approach Point 2
13. Cursor to Approach Point 2
14. In JOINT, rotate axis 6 by more than 90o but less than 360o.
15. In WORLD,USER or JGFRM, use the major robot axes to re-align the tip to the
common point.
Approach Point 3
17. Cursor to Approach Point 3
19. In WORLD, USER or JGFRM, use the major robot axes to re-align the tip to the
common point.
22. In JOINT, jog the robot so that the tool is parallel to the Z axis of the robot WORLD
frame, that is so the tool is vertical.
X Direction Point
25. Cursor to X Direction Point
Z Direction Point
28. Cursor to Orient Origin Point
144
ƒ l previous page l contents l next page l
ƒ
ƒ F1 F2 F3 F4 F5
The tool centre point is now set up. The minor axes should make the robot pivot around
the TCP. The major axes will move relative to the orientation of the tool.
The direction of the major axes will depend on how they were set up, above.
145
ƒ l previous page l contents l next page l
ƒ
You must run a program with the TCP it was created with active. If you try to run a
program created in TCP 1 say, with TCP 2 active, you will generate an error message
telling you that an invalid UTOOL is active.
A program created in one tool centre point will not run with another tool centre point active. ensure the
correct tool centre point is active BEFORE creating a new program.
3. Enter the frame number you wish to make active and press ENTER.
4. Select the Tool Coordinate system using the COORD key, and the robot will now jog
relative to the tool centre point. Jogging with the minor axes in tool frame will make
the tool pivot about the tool centre point. All the major axes will now move relative to
the orientation of the tool.
NOTE
A good programming technique for ensuring the correct tool centre point is active when a new program is being
created is to complete the following:
UTOOL_NUM=(tcp number)
146
ƒ l previous page l contents l next page l
ƒ
at the very start of a program, before any points have been recorded.
Run the line using SHIFT + FWD, and this will ensure that the correct tool centre point is active before any program
points are recorded.
You must run a program with the TCP it was created with active. If you try to run a
program created in TCP 1 say, with TCP 2 active, you will generate an error message
telling you that an invalid UTOOL is active.
2. Press COORD
3. A small box will appear in the top right hand corner of the teach pendant screen.
Tool 1
Jog 2
User 0
4. Cursor to Tool and enter the frame number you wish to use with the numeric keypad.
147
ƒ l previous page l contents l next page l
ƒ
148
ƒ l previous page l contents l next page l
ƒ
F R A M E S
USER FRAMES
Setting up a user frame
A user frame is a frame that can be created to allow for easy jogging in a plane that is
different from the WORLD Frame.
When a User frame is created, UNLIKE a jog frame, a new zero point is defined.
Position registers and positions are recorded relative to the user frame. It is therefore essential to
understand how user frames work and how a user frames can change the way a program runs.
1. Press MENUS
2. Select SETUP
149
ƒ l previous page l contents l next page l
ƒ
IS BEING USED BY YOUR PROGRAMS. INJURY TO [TYPE] DETAIL [OTHER] CLEAR SETIND
F1 F2 F3 F4 F5
EQUIPMENT OR PERSONNEL MAY OCCUR.
Active $MNUFRAMENUM[1] = 1
[TYPE] [METHOD] FRAME
ƒ F1 F2 F3 F4 F5
X Direction Point
13. Cursor to X Direction 2
150
ƒ l previous page l contents l next page l
ƒ
Y Direction Point
16. Cursor to Y Direction
Active $MNUFRAMENUM[1] = 1
[TYPE] [METHOD] FRAME
ƒ F1 F2 F3 F4 F5
151
ƒ l previous page l contents l next page l
ƒ
2. To make it active press the PREV key, and then SETIND F5.
3. The teach pendant will now ask which frame to make active, enter the number and
press ENTER.
4. Go into the User Coordinate system using the COORD key, and the robot will now jog
relative to the new User Frame that has just been set up.
To get back to the default user frame, make user frame zero active.
6. Run this line using SHIFT + FWD to make the required frame active.
REMEMBER - Changing the active user frame changes the position of recorded position registers and can
alter how a program runs. Injury or damage can occur if a user frame is changed or made active without
the user fully understanding how user frames work.
2. Press COORD
3. A small box will appear in the top right hand corner of the teach pendant screen.
Tool 1
Jog 2
User 0
4. Cursor to User and enter the frame number you wish to use with the numeric keypad.
152
ƒ l previous page l contents l next page l
ƒ
F R A M E S
JOG FRAMES
Setting up a jog frame for easy jogging
A jog frame is a frame that can be created to allow for easy jogging in a plane that is
different from the WORLD Frame.
The X and Y directions are re-defined for JOGGING ONLY. Setting up and using a jog
frame will have NO EFFECT during the running of a program.
Active JOGFRAME[1] = 1
4. If jog frames are not displayed, press F3
[TYPE] DETAIL [OTHER] CLEAR SETIND
[OTHER], and select jog frames, this screen
should be displayed. ƒ F1 F2 F3 F4 F5
153
ƒ l previous page l contents l next page l
ƒ
select F2 DETAIL. X:
W:
0.0
0.0
Y:
P:
0.0
0.0
Z:
R:
0.0
0.0
Comment: **************************
Active JOGFRAME[1] = 1
[TYPE] [METHOD] FRAME
9. This screen will be displayed
ƒ F1 F2 F3 F4 F5
11. Jog the Robot to a corner of the box (1) on the diagram
shown. 1
X Direction Point
13. Cursor to X Direction
Y Direction Point
16. Cursor to Y Direction
154
ƒ l previous page l contents l next page l
ƒ
19. The program screen should look like Program1 Line 7 PAUSED
this SETUP Frames Joint 10%
Jog Frame Setup
Frame number: 1
X: 0.0 Y: 0.0 Z: 0.0
W: 0.0 P: 0.0 R: 0.0
Comment: **************************
Active JOGFRAME[1] = 1
[TYPE] [METHOD] FRAME
ƒ F1 F2 F3 F4 F5
155
ƒ l previous page l contents l next page l
ƒ
2. To make it active press the PREV key, and then SETIND F5.
3. The teach pendant will now ask which frame to make active, enter the number and
press ENTER.
5. Go into the Jog Coordinate system using the COORD key, and the robot will now jog
relative to the new jogframe that has just been set up.
6. To get back to the default jogframe, make a jogframe active that contains all zeroes.
8. Press COORD
9. A small box will appear in the top right hand corner of the teach pendant screen.
Tool 1
Jog 2
User 0
10. Cursor to Jog and enter the frame number you wish to use with the numeric keypad.
156
ƒ l previous page l contents l next page l
ƒ
U T I L I T I E S
REFERENCE
POSITION
How to record a reference position
For example, suppose you create a Reference Position that turns on an output whenever
the robot is at the Home position. The Reference Position and the Home position are
independent of each other. If you later move the Home, you must move the Reference
Position also.
The Reference Position can be a single point in space OR it can be a zone determined
by tolerance ranges.
157
ƒ l previous page l contents l next page l
ƒ
4. Press MENUS
5. Select SETUP
6. F1 [TYPE]
[TYPE] RECORD
ƒ F1 F2 F3 F4 F5
158
ƒ l previous page l contents l next page l
ƒ
13. Cursor to 3. Signal Definition and select the output to be turned on at the Reference
Position from the choices above the function keys.
14. Cursor to the signal value and enter the required number via the numeric keypad.
15. The tolerance ranges can be changed by cursoring into them and entering the values
from the numeric keypad. The larger the value the bigger the zone created.
16. To check the reference position, go into the I/O screen (MENUS - I/O). See Page 39
17. Jog the robot away from the reference position and out of the tolerance range. The
selected output should turn off.
NOTE
If you want to get back to the exact position you recorded as a Reference Position, go into the program you created and
execute it.
159
ƒ l previous page l contents l next page l
ƒ
160
ƒ l previous page l contents l next page l
ƒ
Soft float is a feature that can be used to compensate for variances in workpiece
precision. It increases the softness of the robot and allows it to be compliant in the
variance of an external force.
Robot floats by itself to follow the
pressure of diecasting machine
Push from
Push from
peripheral
peripheral
equipment
equipment
161
ƒ l previous page l contents l next page l
ƒ
Function
The soft float function works as follows:
• Joint soft float for specifying the softness related to the direction of rotation of each
arm of the robot
• Cartesian soft float for specifying the softnesses on the Cartesian axes.
Servo Flexibility
”Servo flexibility”can be specified for each axis. The term servo flexibility indicates how
strongly the axis resists external forces. It is specified between 0% and 100%. A servo
flexibility of 100% corresponds to being the most flexible. The servo flexibility is specified
using a condition table that contains a set of data for one group (for nine axes).
External Force
If an external force above a certain level (so high as to overcome a static frictional force)
is applied to a robot, the axis of the robot is pressed and moved.
An external force applied to a robot may prevent it from reaching the taught point. The
distance between the taught point and the point the robot can reach is nearly proportional
to the magnitude of the external force.
Static Load
If static load is applied to a robot, the robot controls force to maintain its attitude even if
the soft float function is enabled.
Program Instruction
The following three program instructions related to the soft float function are supported.
SOFTFLOAT[n]
n is the soft float number you have set up.
SOFTFLOAT END
This will disable the soft float function.
FOLLOW UP
When an external force is removed from a robot, it usually tries to go back to the taught
point. However, this instruction causes the robot to assume that the current position is
the taught point, and prevents it from going back to the taught point.
162
ƒ l previous page l contents l next page l
ƒ
Example 1
Soft float as a separate instruction line.
ƒ
Soft float
function is
enabled
Example 2
Soft float added onto a program line. i.e. it is an auxillary motion instruction.
To add this instruction, cursor to the end of the line, press F4 CHOICE and select
SOFTFLOAT[ ]
100%
50%
ƒ 0%
Soft float
Start Ratio Soft float
function is
enabled
163
ƒ l previous page l contents l next page l
ƒ
1. Press MENUS
2. Select Setup
4. Select SOFTFLOAT
164
ƒ l previous page l contents l next page l
ƒ
Servo flexibility
• Servo flexibility for each axis can be specified on line 3 and subsequent lines.
• The servo flexibility indicates how strongly the axis resist external forces.
• It is specified between 0% and 100%. A flexibility of 100% corresponds to being
the most flexible.
• Setting the cursor at the rightmost end (enabled/disabled setting position) of line 3
and subsequent lines causes the F4 (ENABLE) and F5 (DISABLE) keys to
appear.
Enable/Disable
• When this item is set to DISABLE, soft float cannot be executed.
Coordinate
• Select one of WORLD, USER, and TOOL.
• If the remote TP is used, USER indicates the coordinate system on the remote
TCP.
X direction
• Set the softnesses on or around the X--, Y--, and Z--axes.
• If Soft Rat increases, the spring constant decreases, allowing the robot to move
with less force.
• If Soft Tol increases, the maximum force and moment applied by the robot in that
direction decreases, allowing the robot to move with less force.
Limitations
When soft float is enabled:
165
ƒ l previous page l contents l next page l
ƒ
166
ƒ l previous page l contents l next page l
ƒ
MACROS U T I L I T I E S
Record a macro program
A macro instruction is very similar to a teach pendant program but has additional
capabilities.
A macro instruction:
• Can be called from within a teach pendant program
• Can be started using the manual operation screen on the teach pendant
• Can be started using a user key on the teach pendant
• Can be started using inputs, DI, RI and UI.
167
ƒ l previous page l contents l next page l
ƒ
ƒ F1 F2 F3 F4 F5
4. Cursor down to Sub Type and change from None to MR, Macro.
Note
If you wish to convert an existing teach pendant program into a macro program, press SELECT and then press F2,
DETAIL to get to this screen.
168
ƒ l previous page l contents l next page l
ƒ
169
ƒ l previous page l contents l next page l
ƒ
4. Select “Macros”
UK = User Key
SU= SHIFT + User Key
UK[1] or SU[1]
UK[2] or SU[2]
UK[3] or SU[3]
UK[4] or SU[4]
UK[5] or SU[5]
UK[6] or SU[6]
UK[7] or SU[7]
170
ƒ l previous page l contents l next page l
ƒ
Using the procedure above assign a macro to a user key (UK[1] to UK[7]) or (SU[1] to
SU[7])
Note
A macro instruction that contains a motion group cannot be executed using user keys UK[1] to UK[7]. It must be
assigned instead to SU[1] to SU[7].
To execute the macro, press the correct user key or press SHIFT + user key if SU was
assigned.
1. Insert a blank line in your program where you require the macro instruction to be.
2. Press F1 INST
4. Cursor through the list of macro programs until you find the one you require.
171
ƒ l previous page l contents l next page l
ƒ
172
ƒ l previous page l contents l next page l
ƒ
U T I L I T I E S
SHIFT FUNCTIONS
OVERVIEW
Allows you to move a program from one place to another.
The shift functions shift the specified positions for the operation instructions within a
certain range of a previously taught position.
173
ƒ l previous page l contents l next page l
ƒ
Rules governing the Cartesian coordinate system number (UT, UF) in position data
having Cartesian coordinates:
• The Cartesian coordinate system number is not changed due to conversion.
• During conversion (on the shift information input screen), a user coordinate
system number (UF) of 0 (world coordinate system) is used.
• Position data is converted to data in the Cartesian coordinate system with a UF of
0 (world coordinate system) and displayed.
Rules governing the configuration (joint placement and turn number) of position data
having Cartesian coordinates:
• The configuration is not changed as a result of the conversion.
• For the turn number, if the conversion causes rotation about the wrist axis by 180o
or greater, the turn number for the axis is optimised, and a message appears so
that the user can determine whether to accept it.
Mirror shift :
Performs a 3--dimensional symmetrical shift about a specified mirror plane.
Warning
Ensure you have received proper instruction before attempting the shift utilities.
174
ƒ l previous page l contents l next page l
ƒ
SHIFT FUNCTIONS>
U T I L I T I E S
PROGRAM SHIFT
Allows you to move a program from one place to another.
The program shift function performs a linear shift or linear rotation shift on the specified
positions within a certain range of a previously taught program.
175
ƒ l previous page l contents l next page l
ƒ
P[5]
P[1]
P[6]
P[3]
P[4]
P[2]
P[1]
P[3]
P[2] Linear
P[5] Rotation
P[4] Shift
ƒ
P[6]
2. Select 1. UTILITIES
[TYPE]
ƒ F1 F2 F3 F4 F5
176
ƒ l previous page l contents l next page l
ƒ
+
The representative point specification screen appears. To return to the
previous screen, use
1 Rotation OFF
2 Source position P1
2 Destination position Q1
ƒ F1 F2 F3 F4 F5
7. In this example, rotation is set to ON. When rotation is ON, you must specify 3 source
positions and 3 destination positions.
2 Source position P1
P2
P3
3 Destination position Q1
Q2
Q3
[TYPE] [EXECUTE] ON OFF
ƒ F1 F2 F3 F4 F5
F4 REFER Use this to refer to a position in the program you wish to shift or to
refer to a position register.
F5 RECORD Use this to record a new position
ƒ F1 F2 F3 F4 F5
177
ƒ l previous page l contents l next page l
ƒ
9. After setting shift information, press F2 EXECUTE and then F4 YES. The conversion
results are written into the program.
Warning
Avoid moving the robot to a position that is not correctly shifted. Check the shift results before moving
the robot. Otherwise, serious problems can occur.
178
ƒ l previous page l contents l next page l
ƒ
U T I L I T I E S
SHIFT FUNCTIONS>
MIRROR SHIFT
FUNCTION
Allows you to symmetrically shift a program.
The mirror shift function shifts the specified positions in a certain range of an already
taught program symmetrically about a plane.
Theoretically, the mirror shift function converts the attitude of the tool from right--handed
coordinates to left--handed coordinates. In reality, however, the attitude is returned to the
right--handed coordinate system by inverting the Y-axis because no left-handed
coordinates exist.
179
ƒ l previous page l contents l next page l
ƒ
P[1] P[1]
P[3]
P[3]
P[2] P[2]
P[5] P[5]
P[4] P[4]
P[6] P[6]
ƒ
The mirror shift function, therefore, performs conversion most naturally when the plane of
symmetry is parallel to the XZ plane of the tool coordinate system.
Source tool Z
coordinate system Destination tool
coordinate system
Z
Y
Y X
Y
ƒ X
Caution
The tool coordinate system must be established accurately. The mirror shift function requires that the Z-
axis matches the tool direction.
The tool centre point must be set accurately to ensure correct operation with the point resulting from a
symmetrical shift. Otherwise, the points resulting from the shift will contain offset values.
180
ƒ l previous page l contents l next page l
ƒ
Z P[1] Z Q[1]
Q[3]
P[3] Q[2]
P[2]
Y X
Y
ƒ X
To execute the mirror shift function, use the mirror screen MIRROR IMAGE SHIFT. The
explanation of the program shift screen also applies to the mirror screen.
[TYPE]
ƒ
F1 F2 F3 F4 F5
181
ƒ l previous page l contents l next page l
ƒ
+
ƒ
+
7. The representative point specification screen appears. To return to the
previous screen, use
1 Rotation OFF
2 Source position P1
2 Destination position Q1
8. In this example, rotation is set to ON. When rotation is ON, you must specify 3 source
positions and 3 destination positions.
2 Source position P1
P2
P3
3 Destination position Q1
Q2
Q3
[TYPE] [EXECUTE] ON OFF
ƒ F1 F2 F3 F4 F5
F4 REFER Use this to refer to a position in the program you wish to shift or to
refer to a position register.
182
ƒ l previous page l contents l next page l
ƒ
ƒ F1 F2 F3 F4 F5
10. After setting shift information, press F2 EXECUTE and then F4 YES. The
conversion results are written into the program.
Warning
Avoid moving the robot to a position that is not correctly shifted. Check the shift results before moving
the robot. Otherwise, serious problems can occur.
183
ƒ l previous page l contents l next page l
ƒ
184
ƒ l previous page l contents l next page l
ƒ
U T I L I T I E S
SHIFTING
PROGRAMS USING
USER FRAMES
Changing the values of a user frame can result in changing the positions of a program
Program positions are recorded with respect to a user frame. If no user frame is set up
on the robot, a UF[0], user frame 0 is used. UF[0] is the world frame.
When a user frame is set up (See the section on User Frames), values are recorded into
the user frame.
Changing the values stored in a user frame can result in the robot moving unpredictably. Ensure you have
received proper instruction before attempting to change user frames values. It is essential to understand
how user frames work and how a user frames can change the way a program runs.
185
ƒ l previous page l contents l next page l
ƒ
1. Press MENUS
2. Select SETUP
4. If user frames are not displayed, press F3 [OTHER], and select user frames
5. Cursor to the frame you wish to view the values of and press F2 DETAIL.
Active $MNUFRAMENUM[1] = 1
[TYPE] [METHOD] FRAME
ƒ F1 F2 F3 F4 F5
+Z Direction
out of paper +Y Direction
towards the
reader +Y Direction
+Z Direction
out of paper
towards the
reader
+X Direction
+X Direction
186
ƒ l previous page l contents l next page l
ƒ
Suppose we have created a program in user frame 1. By changing the values stored by
user frame 1 to those of user frame 2, we can shift the entire program into user frame 2.
You must be careful that you don’t change the values of a user frame into unreachable positions by
the robot.
UFRAME[ ] = PR[ ]
Put the User Frame Put the position register
number here you you wish to make it
wish to use equal to here.
The values stored by the position register should be the values of the desired user frame.
In the example above, you would go into the user frame screen of user frame 2 and
make a note of the XYZWPR values. You would then put these into a position register.
Then make UFRAME[1] = whichever position register you chose.
Note
Be sure to make a note of the values stored in User Frame 1 before you overwrite them.
187
ƒ l previous page l contents l next page l
ƒ
188
ƒ l previous page l contents l next page l
ƒ
U T I L I T I E S
CONTINUOUS
TURN
Allows continuous and limitless rotation about the final axis.
NOTE
In a six axis robot, the ”final axis” refers to axis 6 (J6).
This function is useful for rotating those devices that require continuous rotation, such as
conveyors, pumps, and grinders, about a robot axis or additional rotation axis.
189
ƒ l previous page l contents l next page l
ƒ
Before this function can be used, the setup necessary for continuous rotation must be
performed. Only a single continuous rotation axis can be allocated for each operation
group.
Relative Degrees
When this function is enabled, the axis allocated as a continuous rotation axis allows
limitless rotation. The angle on the axis is, therefore, represented by a relative degree
within +180o, not by an absolute one.
Example
0o
This example
shows rotation
from 0 o to 200 o
in the positive
-160o 200o direction. The
angle on the
axis after the
rotation is –160o,
not 200 o.
ƒ
Shorter-Way Operation
When the continuous turn function is enabled but continuous rotation is not performed,
the final axis rotates from the current angle to the target angle in whichever is the
shortest direction.
190
ƒ l previous page l contents l next page l
ƒ
2. Select SETUP.
3. Press F1 TYPE.
1 Group : 1
2 Continuous Turn Axis Ratio Num : 0
3 Numerator of Gear Ratio : 0
4 Denominator of Gear Ratio : 0
[TYPE] DONE
F1 F2 F3 F4 F5
ƒ
6. Specify the necessary items using the numeric and other keys.
Note
- To disable the continuous rotation function, set ”0”for Continuous Turn Axis Num.
- The maximum value for Numerator of Gear Ratio and Denominator of Gear Ratio is 32766.
- Set the operation group number for Group. If a different number (number of the operation group to be viewed) is
entered in this field, the other settings are changed to those of the operation group.
7. Turn off the power, then turn it back on with a cold start.
The items on the continuous rotation setup screen are described below.
Item Description
Group
Set the operation group number.
Numerator of Gear Ratio divided by Denominator of Gear Ratio must be 4000 or less
191
ƒ l previous page l contents l next page l
ƒ
After setting up the continuous rotation axis, specify the start point of continuous rotation
using the operation add instruction, ”continuous rotation speed instruction.”
CTV [ i ]
Program Example
When continuous rotation is stopped, the operation on the other axes for the same
operation group also terminates. The robot, therefore, decelerates even if the positioning
format for the previous operation is CNT.
The robot starts decelerating to stop on the continuous rotation axis after it has
completely stopped on the other axes. At this time, the robot is not necessarily at the
192
ƒ l previous page l contents l next page l
ƒ
specified position on the continuous operation axis. Thus, the synchronization of the
operation on the continuous rotation axis with the operation on the other axes
(including those for other operation groups) is lost.
If an operation statement is specified next, the robot rotates in the same direction as the
previous continuous rotation direction to move to the specified position.
Notes
• Continuous rotation continues even if logic instructions (instructions other than those in operation statements)
are executed.
• During program playback, the turn number for the continuous rotation axis is ignored, and is always assumed to
be ”0.”
• The turn number for the continuous rotation axis at a point specified when this function is enabled is always
stored as ”0.”
• If the rotation axis speed for a continuous rotation speed instruction is specified as ”0,”continuous operation is not
performed. If an operation statement is specified next, shorter--way operation is performed on the continuous
rotation axis. This feature is useful if continuous rotation about the continuous rotation axis is to be stopped
temporarily but temporary stop of the robot due to the end of the continuous rotation is to be avoided.
• In single--step execution (both forward and backward), continuous rotation is not performed even if a continuous
rotation speed instruction is added; shorter--way operation is performed.
• Continuous rotation stops due to a hold. If program execution is subsequently restarted, if the target position has
already been reached on axes other than the continuous rotation axis, continuous rotation is not performed. If the
target position has not been reached on axes other than the continuous rotation axis, continuous rotation is
restarted.
• Continuous rotation about the continuous rotation axis is possible from jog feed.
Notes/restrictions
Note the following when using this function:
• When continuous rotation is to be performed on a robot axis or built--in additional axis,
The X and Y components of the tool coordinate system must both be 0. (Only the Z--axis
component can have a value other than 0.)
If this condition is not satisfied, the path of linear or arc operation cannot be guaranteed in
normal operation other than continuous rotation.
• This function automatically updates the mastering data (for the continuous rotation axis
only) according to the amount of rotation about the continuous rotation axis. Thus,
previously recorded mastering data may not match the current mastering data.
• When this function is disabled, the current position on the continuous rotation axis may fall
outside the stroke limits. If this occurs, move the position on continuous rotation axis
within the stroke limits using jog feed or a program.
193
ƒ l previous page l contents l next page l
ƒ
• If, on a multi group system, the settings on the SETUP Continuous T screen are changed
and the F4 DONE key is pressed, it is necessary to set system variable
$PARAM_GROUP[group].$SV_OFF_ENBL[i] (where i is an axis number) to FALSE to
disable break control for all the axes for all operation groups before turning the power
back on with a cold start.
• On a multi group system, even if there are multiple continuous rotation axes, separate
continuous rotation speeds cannot be specified for them.
• At the end of continuous rotation, one or more rotations about the continuous rotation may
be performed to ensure smooth deceleration and stop. (The amount of rotation differs
depending on the acceleration/deceleration constant.)
194
ƒ l previous page l contents l next page l
ƒ
U T I L I T I E S
PR LOOK–AHEAD
FUNCTION
.
While the robot is executing a program, it reads the lines ahead of the line currently being
executed (look - ahead execution).
Conventionally, look - ahead execution could not be performed for motion statements
that used position registers for their position data.
Motion statements using position registers could not be read in advance because the
values in the position registers could be changed by the program, data transfer function,
and so forth.
Such a change is not reflected in the motion statement that has already been read by the
robot. Consequently, the robot’s operation may be unpredictable.
195
ƒ l previous page l contents l next page l
ƒ
Motion statements that use position registers can be classified into two types
• Motion statements with the target position specified by a position register
• Motion statements with an offset instruction where an offset is given by a position
register
The position register look - ahead execution function enables look - ahead execution for
position registers.
For this purpose, an instruction to lock position registers and an instruction to unlock the
registers are provided. By means of these instructions, the user can explicitly specify a
program portion. Then, for the specified program portion, even when it contains motion
statements that use position registers, look - ahead execution can be performed.
Function
The position registers can be locked to prevent their contents from being changed after
they are read. When an attempt is made to execute an instruction to change a locked
position register (for example, an assign instruction for the position register, or an
application instruction to set data in the position register), the following alarm message is
issued:
When a function (such as the data transfer function) other than the program attempts to
change the value of a locked position register, the following alarm message is issued,
and the attempt fails:
Position registers are generally locked and unlocked with instructions taught in a
program.
All position registers are locked simultaneously. While the position registers are locked, access to
any position register is disabled, even in a different motion group.
When a program that has locked the position registers terminates, the position registers are
unlocked automatically.
196
ƒ l previous page l contents l next page l
ƒ
Operation
The following program instructions are available:
LOCK PREG
UNLOCK PREG
Unlocks all
position registers.
These are control instructions (not motion instructions). They can be taught in the same
way as other control instructions. They are found on the INST Menu.
Example
The following shows how to use the LOCK PREG and UNLOCK PREG instructions in a
program
If the program is terminated between lines 4 and 10, the locked position registers are
unlocked automatically.
If the program is paused between lines 4 and 10, the cursor is moved manually, then the
program is restarted, the locked position registers are unlocked. In this case, look -
ahead execution is not performed for the statements in lines 7 and 8.
197
ƒ l previous page l contents l next page l
ƒ
When back execution is performed, then normal execution is restarted, the position registers are
unlocked.
Look - ahead execution is not performed for the LOCK PREG and UNLOCK PREG instructions.
This means that when one of these instructions is encountered, look - ahead execution is stopped
temporarily; after the instruction is executed, look - ahead execution is again enabled.
198
ƒ l previous page l contents l next page l
ƒ
F I L E M g m t.
PROGRAM
HEADER
Manipulating Programs
The program header contains information that identifies and classifies the program.
Program header information consists of:
Creation Date
Modification Date
Copy Source
Does the program contain positions?
Program Size
Program Name
Sub Type
Program Comment
Group Mask
Write Protection
Ignore Pause
199
ƒ l previous page l contents l next page l
ƒ
Either :
1. You are in the SELECT screen
2. If so, place the cursor on the program name you wish to change.
OR
3. You have just created a new program and wish to enter the program header
information.
Program Name
6. The name of a program can be changed in the program header.
Sub Type
10. Cursor to Sub Type on the Program Header screen and press F4, CHOICE
200
ƒ l previous page l contents l next page l
ƒ
Program Comment
13. Cursor to comment on the Program Header screen and press ENTER
14. The letters of the alphabet will appear above the function keys and allow you to enter
a comment.
Protecting a Program
15. Cursor to Write protect
201
ƒ l previous page l contents l next page l
ƒ
202
ƒ l previous page l contents l next page l
ƒ
F I L E M g m t.
DELETING A
PROGRAM
Manipulating Programs
4. Press F3 DELETE
Delete OK ?
YES NO
F4 F5
203
ƒ l previous page l contents l next page l
ƒ
6. If you are sure you wish to delete the highlighted program press F4 YES.
There is no going back if you delete the wrong program. (Unless you have a backup of it)
204
ƒ l previous page l contents l next page l
ƒ
F I L E M g m t.
COPYING A
PROGRAM
Manipulating Programs
4. Press F3 COPY
Prog Line 2 PAUSED
5. Press F3 COPY Joint 10%
1. Words
2. Upper case
6. The screen will be like so: 3. Lower case
4. Options
Select
--- Copy Teach Pendant Program ---
From: [ BOX ]
To: [ ]
Press Enter for next item --- END ---
PRG MAIN SUB TEST
ƒ F1 F2 F3 F4 F5
205
ƒ l previous page l contents l next page l
ƒ
7. Cursor down to Upper Case and the letters of the alphabet will appear above the
function keys.
206
ƒ l previous page l contents l next page l
ƒ
F I L E M g m t.
BACKING UP
Manipulating Programs
Files
A file is a unit of data storage in the memory of the R--J3 controller.
Program file
A program file ( *.MN) contains a sequence of instructions for the robot. These
instructions are called program instructions. Program instructions control robot
operations, peripheral devices, and each application.
A program file is automatically stored in the C--MOS RAM of the controller. A directory of
program files is displayed on the program selection screen (“SELECT”).
NOTE The directory of program files is not displayed on the file screen. The file screen enables you to select the
external memory device which includes the desired files and manipulate the files.
207
ƒ l previous page l contents l next page l
ƒ
• DEF_MOTN0.DF
Stores the settings of the default motion instructions. F1 key
The following three files store the settings of the default logic instructions assigned to
each function key.
• DF_LOGI1.DF
F2 key
• DF_LOGI2.DF
F3 key
• DF_LOGI3.DF
F4 key
System File
A system file ( *.SV ) contains a system control program for operating the application tool
software, or contains data used with the system. The following types of system file are
used:
• SYSVARS.SV
Used to store the settings of the system variables related to frames, reference points, joint
operating area and brake control.
• SYSSERVO.SV
Used to store servo parameter data
• SYSMAST.SV
Used to store mastering data
• SYSMACRO.SV
Used to store the settings of the macro command.
• FRAMEVAR.SV
Used to store the settings of the reference position which is used at setting the
frame, comments, etc.
Data File
Date file (*.VR,*.IO) is the file which stores the data used by the system.
208
ƒ l previous page l contents l next page l
ƒ
POSREG.VR
Used to store the data of the position register.
(Only when position register software option is used.)
PALREG.VR
Used to store the data of the pallet register. (only when the palletizing option is used)
ASCII File
An ASCII file (*.LS) is in ASCII format. ASCII files cannot be read. The contents of an
ASCII file can, however, be displayed or printed using a personal computer.
209
ƒ l previous page l contents l next page l
ƒ
Saving Files
The function of saving files stores the data that exists in the RAM memory in the
controller to the external storage device such as a memory card or floppy disk, etc. The
following screens on the teach pendant can be used to save the files.
File screen
The specified program file, system file, etc can be saved to the default device. The
following files can be saved:When a batched save operation is executed, programfiles,
systemfiles, and application files can all be saved at the same time.
• Program file
• System file
• Default logic file
• Program file
• System file
• Data file
• Default logic file
With the R--J3 control unit, a flash ATA memory card and SRAM memory card can be
used.
CAUTION
Flash ATA memory card
It is recommended that files on a flash ATA memory card be backed up to media such as floppy disks to protect the
flash ATA memory card contents against accidental loss.
210
ƒ l previous page l contents l next page l
ƒ
2. Select 7. FILE
1 * * (all files)
2 * KL (all KAREL source)
3 * CF (all command files)
4 * TX (all text files)
[TYPE] [DIR] LOAD [BACKUP] [UTIL ]
ƒ F1 F2 F3 F4 F5
211
ƒ l previous page l contents l next page l
ƒ
You can save only one file at a time using this method.
1. Ensure the default device is defined and the media is in the interface.
5. Press F4 SAVE
ƒ F1 F2 F3 F4 F5
Note
Do not include a file extension in the program name
9. If a program with the same name already exists on the media you are backing up to,
the file cannot be saved. A message will appear saying ‘file already exists’.
212
ƒ l previous page l contents l next page l
ƒ
7. Ensure the default device is defined and the media is in the interface.
ƒ F1 F2 F3 F4 F5
Note
F2, EXIT
Ends saving program files
F3, ALL
Saves all the program files and default logic instruction files.
F4 YES
Saves the specified file (program, default logic instruction).
F5, NO
Does not save the specified file (program, default logic instruction). After the file has been saved, the system asks
whether the next program file is to be saved.
14. When a file with the same name you specified already exists, the following
message appears:
213
ƒ l previous page l contents l next page l
ƒ
F3,OVERWRITE
The specified file is overwritten and saved.
F4,SKIP
Does not save the specified file.
F5,CANCEL
Ends saving files.
ƒ F1 F2 F3 F4 F5
18. When a file with the same name you specified already exists, the following
message appears:
F3,OVERWRITE
The specified file is overwritten and saved.
F4,SKIP
Does not save the specified file.
F5,CANCEL
Ends saving files.
214
ƒ l previous page l contents l next page l
ƒ
go back
Notes
215