[go: up one dir, main page]

100% found this document useful (5 votes)
7K views216 pages

FANUC RJ3 Programming

Uploaded by

Piotr
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
100% found this document useful (5 votes)
7K views216 pages

FANUC RJ3 Programming

Uploaded by

Piotr
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 216

ƒ l previous page l contents l next page l

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.

It is not intended as a comprehensive manual of all that a robot can do.

Please pay particular attention to the safety advice contained within this document.

For further reference please consult the comprehensive FANUC Reference Manual.

Using This Manual


Each section is individual labelled to enable you to quickly access the information you
require in addition to the table of contents on page 5.

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

EDCMD Menu ..................................................................................................................47

INST Menu .......................................................................................................................57


Registers.............................................................................................................................. 57
Argument Registers .................................................................................................................. 63
Position Registers..................................................................................................................... 65
LPOS/JPOS .............................................................................................................................. 69

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

Frames Overview........................................................................................................... 137


Overview ............................................................................................................................137
Tool Frames ......................................................................................................................139
User Frames.......................................................................................................................149
Jog Frames ........................................................................................................................157

Utilities ........................................................................................................................... 157


Reference Position .............................................................................................................157
Soft Float ............................................................................................................................161
Macros ...............................................................................................................................167
Shift Functions....................................................................................................................173
Overview................................................................................................................................. 173
Program Shift.......................................................................................................................... 175
Mirror Shift .............................................................................................................................. 179
User Frame Program Shift .................................................................................................185
Continuous Turn.................................................................................................................189
PR Look Ahead Function ...................................................................................................195

File Management ........................................................................................................... 199


Program Header Information..............................................................................................199
Deleting a Program ...........................................................................................................203
Copying a Program ...........................................................................................................205
Backing Up ........................................................................................................................207

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.

Teaching and manual operation


Don't operate the teach pendant and operator's panel with the gloves on your
hand.

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.

Additionally, as the owner, employer, or user of a robotic system, it is your responsibility


to arrange for the training of the operator of a robot system to recognize and respond to
known hazards associated with your robotic system and to be aware of the
recommended operating procedures for your particular application and robot installation.

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 is essential whenever robots are used.

Safety Considerations
Keep in mind the following factors with regard to safety:

The safety of people and equipment

8
ƒ l previous page l contents l next page l
ƒ

Use of safety enhancing devices

Techniques for safe teaching and manual operation of the robot(s)

Techniques for safe automatic operation of the robot(s)

Regular scheduled inspection of the robot and workcell

Proper maintenance of the robot

The safety of people is always of primary importance in any situation. However,


equipment must be kept safe, too. When prioritizing how to apply safety to your robotic
system, consider the following:
People
External devices
Robot(s)
Tooling
Workpiece

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.

Sponsor your personnel for training in approved FANUC Robotics training


course(s). Never permit untrained personnel to operate the robots.

Install a lockout device that uses an access code to prevent unauthorized


persons from operating the robot.

Use anti-tie-down logic to prevent the operator from bypassing safety


measures.

Install safety fences to protect against unauthorized entry by personnel into


the work envelope.

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.

Position all controllers outside the safety fence.

Never rely on software as the primary safety element.

Mount an adequate number of EMERGENCY STOP buttons or switches within


easy reach of the operator and at critical points inside and around the outside
of the workcell.

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.

Program the robot to load and unload material safely.

If high voltage electrostatics are present, be sure to provide appropriate


interlocks, warning, and beacons.

If materials are being applied at dangerously high pressure, provide electrical


interlocks for lockout of material flow and pressure.

10
ƒ l previous page l contents l next page l
ƒ

Observe the following rules


Advise all personnel who must teach the robot or otherwise manually operate
the robot to observe the following rules:

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.

Understand the complete task the robot is programmed to perform before


initiating production operation.

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.

Inspecting the Robot


When inspecting the robot, be sure to

Turn off power at the controller.

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.

If power is needed to check the robot motion or electrical circuits, be prepared


to press the EMERGENCY STOP button, in an emergency.

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.

Consider all or any overlapping work envelopes of adjoining robots when


standing in a work envelope.

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.

Use blocks, mechanical stops, and pins to prevent hazardous movement by


the robot. Make sure that such devices do not create pinch points that could
trap personnel.

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
ƒ

Keeping Machine Tool & Other Devices Safe


Certain programming and mechanical measures are useful in keeping the machine tools
and other external devices safe. These measures are outlined below.

Implement the following programming safety measures to prevent damage to machine


tools and other external devices.

Back-check limit switches in the workcell to make sure they do not fail.

Implement ``failure routines" in programs that will provide appropriate robot


actions if an external device or another robot in the workcell fails.

Use handshaking protocol to synchronize robot and external device


operations.

Program the robot to check the condition of all external devices during an
operating cycle.

Implement the following mechanical safety measures to prevent damage to


machine tools and other external devices.

Make sure the workcell is clean and free of oil, water, and debris.

Use software limits, limit switches, and mechanical hardstops to prevent


undesired movement of the robot into the work area of machine tools and
external devices.

Preventing Damage During Operation


Observe the following operating and programming guidelines to prevent damage to the
robot.

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.

Use circuit breakers to guard against electrical overload.

Preventing Damage During Programming


The following safety measures are designed to prevent damage to the robot during
programming:

14
ƒ l previous page l contents l next page l
ƒ

Establish interference zones to prevent collisions when two or more robots


share a work area.

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.

Be aware of signals or other operations that could trigger operation of tooling


resulting in personal injury or equipment damage.

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.

Jogging the robot is the process of moving it around.

It is ESSENTIAL that all safety advice is understood and followed during jogging of the robot.

Always begin jogging the robot at a LOW speed.

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


Joint Coordinate system allows you to move only one axis at a time. That is, one joint at
a time unless multiple jog keys are pressed.

The zero point of this system is on each individual axis.

JOINT is the default system of the robot and cannot be changed.

ƒ
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
ƒ

User Coordinate System

User is a cartesian system, or XYZ.

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.

CONSULT THE SECTION ON USER FRAMES.

Jog Frame (JGFRM) Coordinate System

Jgfrm is a cartesian system, or XYZ.

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.

A jog frame has no effect on a program

Consult the Section on Jog Frames.

21
ƒ l previous page l contents l next page l
ƒ

Activating Coordinate Systems

Use the COORD Key to change between Coordinate systems.

Jogging the Robot

The following steps cause the robot to move, take care.

1. To jog the robot, press and hold the deadman


handle on the rear of the teach pendant.

2. Turn the teach pendant ON/OFF switch to ON, and


if necessary press the RESET key to reset any
faults.

Two keys are needed to jog (move) the robot. One


of the two SHIFT keys and one of the 12 jog keys
which are on the right hand side of the teach ƒ
pendant.

22
ƒ l previous page l contents l next page l
ƒ

3. Press and hold any one of the SHIFT keys

4. Press one of the twelve jog keys to the right of the


teach pendant.

5. The robot will now move in whichever coordinate system is active.

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

1. Pick up the teach pendant

2. Press the SELECT Key Program1 Line 7 PAUSED


Select Joint 10%

3. The SELECT screen will be displayed 537467 bytes free 1/5


No. Program name Comment
1 MAIN [ Main Program ]
2 SUB [ ]
3 TEST [ ]
4 MAIN2 [ ]
5 [ ]

[TYPE] CREATE DELETE MONITOR [ATTR]


F1 F2 F3 F4 F5
ƒ
25
ƒ l previous page l contents l next page l
ƒ

4. If CREATE is not above F2, press NEXT key

5. Press F2, CREATE

6. The following screen should be displayed Prog Line 2 PAUSED


Joint 10%
1. Words
2. Upper case
3. Lower case
4. Options
Select
--- Create Teach Pendant Program ---
Program name: [ ]

Enter program name --- END ---


PRG MAIN SUB TEST
F1 F2 F3 F4 F5
ƒ

7. Press the key to Uppercase and all the


Prog PAUSED
letters of the alphabet should be above Line 2
Joint 10%
the function keys, like so: 1. Words
2. Upper case
3. Lower case
4. Options
Select
--- Create Teach Pendant Program ---
Program name: [ ]

Enter program name --- END ---


ABCDEF GHIJKL MNOPQR STUVWX YZ_@*.
F1 F2 F3 F4 F5
ƒ
8. To select a letter, press the corresponding function key until the required letter
appears in the program name box.

Note
If 2 consecutive letters in the program name appear above the same function key, press
the right cursor key

9. Continue to press the function keys


corresponding to the required letters until Prog Line 2 PAUSED
Joint 10%
the program name is complete. 1. Words
2. Upper case
3. Lower case
10. If you make a mistake, use the 4. Options
BACKSPACE key. Select
--- Create Teach Pendant Program ---
11. Once the program name is complete, press Program name: [ BOX ]

ENTER. Enter program name --- END ---


DETAIL EDIT

12. The cursor will jump to – END --, shown ƒ F1 F2 F3 F4 F5

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: ƒ

J P[1] 100% FINE

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.

17. The new program will look similar to this:

J P[1] 100% FINE


J P[2] 100% FINE
J P[3] 100% FINE
J P[4] 100% FINE
J P[5] 100% FINE
J P[6] 100% FINE

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
ƒ

2. Ensure a SLOW speed is selected using the SPEED Keys.

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.

3. Press and hold the SHIFT key

4. Press the FWD key

5. So long as the STEP LED is on, the robot will


move to the first position and stop.
6. Keep hold of the SHIFT key and press the FWD
+
key repeatedly until the program finishes
execution.

To stop the robot at any time, realease the SHIFT key, let go of the Deadmans or hit any emergency stop.

Running Through the Program Continuously


When you are happy that the program is running as it should, press STEP again. The
STEP LED will turn off and the robot is in continuous mode.

1. Ensure a SLOW speed is selected

2. Press and hold the SHIFT key

3. Press the FWD key

30
ƒ l previous page l contents l next page l
ƒ

The robot will run the program through completely

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.

The difference between the two methods of recording positions is:

SHIFT + POINT

Records a new position with the default set of program elements.

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
ƒ

Set New I.D


If two points in a program have the same identity, for example if there are two P[3] ‘s, the
teach pendant will ask if you want to set a new i.d when you try to touchup one of them.

Set New I.D.

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:

J P[1] 100% FINE

It is possible to change what kind of program line appears when SHIFT + POINT is
pressed. That is, to change the default.

There are 4 possible motion defaults.

Changing the Default Motion

a. To select from the default menu press F1 POINT without the SHIFT key.

b. A screen similar to that below will appear:

35
ƒ l previous page l contents l next page l
ƒ

Prog Line 2 PAUSED


Default Motion Joint 10%
1 J P[ ] 100% FINE
2 J P[ ] 100% CNT100
3 L P[ ] 1000mm/sec FINE
4 L P[ ] 200mm/sec CNT50
PROG

7: J P[5] 100% FINE


8: J P[6] 100% FINE
[End]

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.

1. The program line will look like so:

J P[5] 100% FINE

2. To give P[5] the same identity as P[2] for example, cursor onto the 5 like so:

J P[5] 100% FINE

3. Enter a 2 with the numeric keypad, and press ENTER.

4. The program line will now look like so:

37
ƒ l previous page l contents l next page l
ƒ

J P[2] 100% FINE

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.

A typical program line will look like so:

J P[ 1 ] 100% FINE

Termination

Motion

Speed
Position

39
ƒ l previous page l contents l next page l
ƒ

Each item in the program line is a program element.

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

J P[1] 100% FINE

The following options are available:

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.

Joint motion is programmed at the destination


position.
Destination
Position
It causes the robot to move all the required J P[2] 100% FINE
axes to the destination position
simultaneously.

Units of Joint motion can be a percentage of


the total default speed, or seconds.

The actual speed of a Joint move is


dependant on the speed of the slowest axis. Start Position

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.

Linear motion is programmed at the destination position.

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

J P[1] 100% FINE


Start Position

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.

Circular motion is programmed at the intermediate position.

Units of circular motion are millimetres per second, inches per minute, centimetres per
minute, degrees per second and seconds.

DO NOT SELECT CIRCULAR MOTION UNLESS YOU UNDERSTAND IT PROPERLY

Start Position

P[3] 100mm/sec FINE


Destination Position

P[2]
Intermediate Position P[4]
Intermediate Position

P[1]
Start Position

42
ƒ l previous page l contents l next page l
ƒ

Position

J P[1] 100% FINE

Place the cursor on any position number to examine the positional coordinates of that
position.

PRESS F5 POSITION:

Prog Line 2 PAUSED


Position Detail Joint 10%
P[1] UF:0 UT:1 CONFIG: N 000
X 901.860 mm W 13.482 deg
Y -260.835 mm
P 12.777 deg
Z -173.005 mm
R 14.652 deg
PROG

1. J P[1] 100% FINE


2. J P[2] 100% FINE
[End]
Enter value

CONFIG DONE [REPRE]


F1 F2 F3 F4 F5

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.

X,Y,Z,W,P and R are the cartesian coordinates of the selected position.

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

J P[1] 100% FINE

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

J P[1] 100% FINE

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

J P[2] 100% CNT0


CNT50
CNT70
CNT100

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.

The menu consists of:

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.

Using the Insert Function

1. You are in the program screen

2. Place the cursor at the start of the program line below where you require the
inserted line to be.

Lines will always be inserted above the cursor.

3. If EDCMD is not above F5, press the NEXT key.

4. Press F5.

Prog Line 2 PAUSED


Joint 10%
1. J P[1] 100% FINE
2. L P[2] 100mm/sec FINE
[END] 1. INSERT
2. DELETE
3. COPY
4. FIND
5. REPLACE
6. RENUMBER
7. COMMENT
8. UNDO
[INST] EDCMD
F1 F2 F3 F4 F5
ƒ

5. Select INSERT

6. Once Insert is selected a question will be asked:

How many lines to 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.

Using the Delete Function

1. You are in the program screen

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.

3. If EDCMD is not above F5, press the NEXT key.

4. Press F5.

Prog Line 2 PAUSED


Joint 10%
1. J P[1] 100% FINE
2. L P[2] 100mm/sec FINE
[END] 1. INSERT
2. DELETE
3. COPY
4. FIND
5. REPLACE
6. RENUMBER
7. COMMENT
8. UNDO
[INST] EDCMD
F1 F2 F3 F4 F5
ƒ

5. Select DELETE

6. The teach pendant will ask:

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.

Using the Copy Function

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.

2. If EDCMD is not above F5, press the NEXT key.

3. Press F5.

Prog Line 2 PAUSED


Joint 10%
1. J P[1] 100% FINE
2. L P[2] 100mm/sec FINE
[END] 1. INSERT
2. DELETE
3. COPY
4. FIND
5. REPLACE
6. RENUMBER
7. COMMENT
8. UNDO
[INST] EDCMD

ƒ F1 F2 F3 F4 F5

4. Select COPY

5. COPY is above F2, and PASTE above F5.

6. Press F2 COPY

Multiple lines can now be highlighted using the cursor keys. ⇓⇑

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.

Paste before this line:


LOGIC POS-ID POSITION CANCEL
F2 F3 F4 F5

Leaves the position


Adds the lines exactly as they
numbers blank. Adds the lines exactly as
were and retains the current
Does not record any they were and renumbers
position numbers.
positional information. the copied positions with
Each pasted position will have
the next available position
the same identity as the
numbers.
ƒ original numbers.

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.

Reverse Order Pasting


To paste in reverse order press the NEXT key, after selecting the PASTE command. The
options above appear but this time with an R in front representing reverse.

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.

The FIND command is located on the EDCMD menu.

Using the Find Command

1. You are in the program screen at the start of a program line

2. If EDCMD is not above F5, press the NEXT key.

3. Press F5.

4. Select 4. FIND and follow the instructions on screen.

Prog Line 2 PAUSED


Joint 10%
1. J P[1] 100% FINE
2. L P[2] 100mm/sec FINE
[END] 1. INSERT
2. DELETE
3. COPY
4. FIND
5. REPLACE
6. RENUMBER
7. COMMENT
8. UNDO
[INST] EDCMD

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

It can be used to replace:

• FINE to CNT and vice versa


• Speed Values
• Speed Units
• Registers
• Jump Labels
• and others…

The REPLACE command is located on the EDCMD menu.

Using the Replace Command

1. You are in the program screen at the start of a program line

2. If EDCMD is not above F5, press the NEXT key.

3. Press F5.

4. Select 5. REPLACE and follow the instructions on screen.

Prog Line 2 PAUSED


Joint 10%
1. J P[1] 100% FINE
2. L P[2] 100mm/sec FINE
[END] 1. INSERT
2. DELETE
3. COPY
4. FIND
5. REPLACE
6. RENUMBER
7. COMMENT
8. UNDO
[INST] EDCMD
F1 F2 F3 F4 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:

J P[1] 100% FINE


J P[2] 100% FINE
J P[3] 100% FINE

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:

J P[1] 100% FINE


J P[4] 100% FINE
J P[2] 100% FINE
J P[3] 100% FINE

The RENUMBER command allows you to renumber the positions sequentially like so:

J P[1] 100% FINE


J P[2] 100% FINE
J P[3] 100% FINE
J P[4] 100% FINE

The RENUMBER command is located on the EDCMD menu.

1. You are in the program screen at the start of any program line

2. If EDCMD is not above F5, press the NEXT key.

3. Press F5.

4. Select 6. RENUMBER

The RENUMBER command changes the position number ONLY.

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.

R[1: Counter] = R[1: Counter] +1

Using the Comment Function

1. You are in the program screen at the start of any program line

2. If EDCMD is not above F5, press the NEXT key.

3. Press F5.

4. Select 7. COMMENT

5. This will enable or disable the appearance of comments on the program screen.

Prog Line 2 PAUSED


Joint 10%
1. J P[1] 100% FINE
2. L P[2] 100mm/sec FINE
[END] 1. INSERT
2. DELETE
3. COPY
4. FIND
5. REPLACE
6. RENUMBER
7. COMMENT
8. UNDO
[INST] EDCMD

ƒ 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

Using the UNDO Function

1. You are in the program screen

2. If EDCMD is not above F5, press the NEXT key.

3. Press F5.

4. Select 8. UNDO

Prog Line 2 PAUSED


Joint 10%
1. J P[1] 100% FINE
2. L P[2] 100mm/sec FINE
[END] 1. INSERT
2. DELETE
3. COPY
4. FIND
5. REPLACE
6. RENUMBER
7. COMMENT
8. UNDO
[INST] EDCMD
F1 F2 F3 F4 F5
ƒ

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

This statement means store a value of 54 in Register 1

Using a Register as a Counter


Registers can be used as counters to count production, or parts produced.

To use a register as a counter the following statement is required.

57
ƒ l previous page l contents l next page l
ƒ

R [1] = R[1] + 1

Determines how many parts per cycle are being counted.


In this example 1 will be added into Register [1] every time the robot reads this statement
in a program.

Registers are found on the [INST] menu.

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

This means set the value of register 9 to zero.

EXAMPLE INPUT
As an example, suppose we want to enter…

R[2] = R[2] + 1

…in to a program to set register 2 up as a counter.

Procedure
You are in the program screen and have inserted a blank line or the cursor is on on
[End].

1. If INST is not above F1, press the NEXT key.

2. Press F1 INST

3. Select item Registers

Program1 Line 7 PAUSED


INST Joint 10%
1. Registers 5. Jmp/Lbl
2. I/O 6. CALL
3. IF/SELECT 7. Miscellaneous
4. WAIT 8. --- next page ---

1. J P[1] 100% FINE


2. J P[2] 100% FINE
[End]

INST EDCMD

ƒ F1 F2 F3 F4 F5

58
ƒ l previous page l contents l next page l
ƒ

4. From the next screen select item 2 … = …+…

Program1 Line 7 PAUSED


INST Joint 10%
1. … = ... 5. … = … / ...
2. … = … + ... 6. … = … DIV ...
3. … = … - … 7. … = … MOD ...
4. … = … * ... 8.

1. J P[1] 100% FINE


2. J P[2] 100% FINE
[End]

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

Program1 Line 7 PAUSED


INST Joint 10%
1. R[ ] 5.
2. PR[ ] 6.
3. PR[i, j] 7.
4. 8.

1. J P[1] 100% FINE


2. J P[2] 100% FINE
[End]

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 [ ] = …+…

8. Enter the value of the register you wish to use.

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
ƒ

Program1 Line 7 PAUSED


INST Joint 10%
1. R[ ] 5. RO[ ]
2. Constant 6. RI[ ]
3. DO[ ] 7. GO[ ]
4. DI[ ] 8. --- next page ---

1. J P[1] 100% FINE


2. J P[2] 100% FINE
[End]

INST EDCMD

ƒ F1 F2 F3 F4 F5

10. Select item 1. R [ ]

11. The cursor will jump between the two square brackets. Enter the required register
number.

R [2] = R[…] +….

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]+ …

14. The screen below will appear giving these choices:

Program1 Line 7 PAUSED


INST Joint 10%
1. R[ ] 5. RO[ ]
2. Constant 6. RI[ ]
3. DO[ ] 7. GO[ ]
4. DI[ ] 8. --- next page ---

1. J P[1] 100% FINE


2. J P[2] 100% FINE
[End]

INST EDCMD

ƒ F1 F2 F3 F4 F5

15. Now we need to choose 2. Constant, to enter a constant value of 1.

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

Press the DATA key to view registers and position registers

ƒ
NOTE

To return to the
program screen from
the data screen (or
any other)
ƒ press the EDIT key.

1. Press the DATA key

2. If registers are not displayed, press F1, TYPE and select Registers.

Prog Line 2 PAUSED


DATA Registers Joint 10%
R[1: ] = 0
R[2: ] = 0
R[3: ] = 3
R[4: ] = 102
R[5: ] = 10
R[6: ] = 0 To change
R[7: ] = 0
R[8: ] = 0 between Registers
R[9:
Press ENTER
] = 33
and Position
[TYPE] Registers, press
F1 F2 F3 F4 F5 F1 TYPE.
ƒ

3. To change the value a register is storing, cursor to it, use the numeric keypad to
insert a new number, and press ENTER.

Adding a Comment to a Register

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

Using ‘arguments’ and ‘argument registers’, it is possible to transfer data between


programs.

Data can be transferred between 2 programs only.

Notation
The notation used for argument registers is AR[ ].

Argument registers are added to the CALL command when a program is called, like so:

ƒ CALL SUB_1(2, R[3])

AR[1] = 2 AR[2] = R[3]

63
ƒ l previous page l contents l next page l
ƒ

To illustrate the principle of argument registers, lets look at 2 programs as an example.


The first program is called MAIN and the second SUB_1.

MAIN will pass 2 arguments to SUB_1.

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

J P[1] 100% FINE IF R[7] > AR[2] JMPLBL[5]


R[3] = 0 R[8] = AR[1]
LBL[1] L P[1] 2000mm/sec FINE
L P[2] 2000mm/sec FINE L P[2] 2000mm/sec FINE
L P[3] 2000mm/sec FINE L P[3] 2000mm/sec FINE
L P[4] 2000mm/sec FINE L P[4] 2000mm/sec FINE
L P[4] 2000mm/sec FINE L P[5] 2000mm/sec FINE
R[3] = R[3] + 1 LBL[5]
IF R[3] < 5 JMPLBL[1] [End]
CALL SUB_1(2, R[3])
ƒ [End]

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.

A Position Register stores positional information, in the form of X, Y, Z, W, P and R.

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
ƒ

Using Position Registers as Program Positions


Position Registers are stored away from a program and as such can be used by multiple
programs.

An efficient programming technique is to store frequently used positions (such as the


Home position) in a Position Register.

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.

Recording Position Registers


1. Press the DATA key

2. If Position Registers are not displayed, press F1, [TYPE]

3. Select Position Reg


Prog Line 2 PAU SED
4. This screen be displayed D ATA Position Reg Joint 10%

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

and press SHIFT + F3, RECORD. PR[


PR[
8:
9:
]
]
=
=
*
*
Press EN TER
[TYPE] MO VE_TO R EC OR D POSITIO N C LEAR

ƒ F1 F2 F3 F4 F5

Use SHIFT + F2, MOVE_TO to move to the position of the current Position Register.

Use F5, CLEAR to clear 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.

Adding a Comment to a Position Register


You may wish to add a comment to a Position Register to describe it.

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.

3. If you make a mistake, use the BACKSPACE key.

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

LPOS stores the LINEAR (XYZWPR) coordinates of the robot

ƒ PR[6] = JPOS

JPOS stores the JOINT (J1…J6) coordinates of the robot

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

1. If INST is not above F1, press the NEXT key.

2. Press F1 INST

3. Select item Registers

Program1 Line 7 PAUSED


INST Joint 10%
1. Registers 5. Jmp/Lbl
2. I/O 6. CALL
3. IF/SELECT 7. Miscellaneous
4. WAIT 8. --- next page ---

1. J P[1] 100% FINE


2. J P[2] 100% FINE
[End]

INST EDCMD

ƒ F1 F2 F3 F4 F5

4. From the next screen select item 1 … = …

Program1 Line 7 PAUSED


INST Joint 10%
1. … = ... 5. … = … / ...
2. … = … + ... 6. … = … DIV ...
3. … = … - … 7. … = … MOD ...
4. … = … * ... 8.

1. J P[1] 100% FINE


2. J P[2] 100% FINE
[End]

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
ƒ

Program1 Line 7 PAUSED


INST Joint 10%
1. R[ ] 5.
2. PR[ ] 6.
3. PR[i, j] 7.
4. 8.

1. J P[1] 100% FINE


2. J P[2] 100% FINE
[End]

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 [ ] = …

8. Enter the value of the position register you wish to use.

9. The cursor will now jump to the other side of the = sign and give these choices.

Program1 Line 7 PAUSED


INST Joint 10%
1. PR[ ] 5.
2. JPOS 6.
3. LPOS 7.
4. 8.

1. J P[1] 100% FINE


2. J P[2] 100% FINE
[End]

INST EDCMD

ƒ F1 F2 F3 F4 F5

10. Select the choice you require.

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

Output - Will turn something on or off. (e.g. a gripper)


Input - Monitors signals. (e.g. a sensor)

There are various types of Inputs and Outputs (I/O), 4 are:

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.

Group Input Example


Suppose we have a number of digital inputs that we need to check and then have the
robot act accordingly.

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.

Combine the 4 digital inputs into group input [1], GI[1].

DI[1] has group input value of 2 DI[1]


DI[2] has group input value of 4
DI[3] has group input value of 8
DI[4] has group input value of 16
DI[2]
Therefore:

DI[1] = ON …………………………….. GI[1]=2


DI[3] = ON …………………………….. GI[1]=8
DI[1] = ON & DI[3] = ON ……………….. GI[1] =10 DI[3]
DI[2] = ON & DI[3] = ON & DI[4]……….. GI[1] =28

This feature allows for efficient programming and


easy manipulation of digital inputs and outputs in a DI[4]
program.

Group inputs and outputs can also be assigned to


registers.

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

1. If INST is not above F1, press the NEXT key.

2. Press INST (F1), and the Instruction Menu will be displayed like so:

Program1 Line 7 PAUSED


INST Joint 10%
1. Registers 5. Jmp/Lbl
2. I/O 6. CALL
3. IF/SELECT 7. Miscellaneous
4. WAIT 8. --- next page ---

1. J P[1] 100% FINE


2. J P[2] 100% FINE
[End]

INST EDCMD

ƒ F1 F2 F3 F4 F5

3. Select item 2. I/O, and this screen will be displayed

Program1 Line 7 PAUSED


INST Joint 10%
1. DO[ ] = ... 5. GO[ ] = ...
2. R[ ] = DI[ ] 6. R[ ] = GO[ ]
3. RO[ ] = ... 7.
4. R[ ] = RI[ ] 8.

1. J P[1] 100% FINE


2. J P[2] 100% FINE
[End]

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
ƒ

Program1 Line 7 PAUSED


INST Joint 10%
1 ON 5.
2. OFF 6.
3. PULSE 7.
4. R[ ] 8.

1. J P[1] 100% FINE


2. J P[2] 100% FINE
[End]

INST EDCMD

ƒ F1 F2 F3 F4 F5

7. Select item 1. ON

8. The program line will now look like so:

RO [3] = ON

9. This procedure may also be followed to turn off an output.

PULSE

PULSE means the output will turn on for a specified time only.

For example, if the program line said:

RO[3] = PULSE 2 secs

Robot output number 3 would turn on for 2 seconds only.

76
ƒ l previous page l contents l next page l
ƒ

Viewing I/O’s

4. Press MENUS

5. Select I/O

6. A screen similar to this should be displayed.

Program1 Line 1 ABORTED


I/O DIGITAL OUT Joint 10%
DO[1] U ON [ ]
DO[2] U ON [ ]
DO[3] U ON [ ]
DO[4] U ON [ ]
DO[5] U ON [ ]
DO[6] U ON [ ]
DO[7] U ON [ ]
DO[8] U ON [ ]
DO[9] U ON [ ]
DO[10] U ON [ ]

[TYPE] CONFIG IN/OUT ON OFF

ƒ F1 F2 F3 F4 F5

Outputs can be forced On


To switch between the different types of
and OFF by pressing F4
output press f1 [type], cursor to the correct
and F5.
output and press enter.

Adding Comments to I/O

For Robot I/O go to “Adding Comments to Robot IO” below

1. Press the MENUS key

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

6. Cursor to the output you wish to add a comment to.

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

To return to the program screen, press the EDIT 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.

Adding Comments to ROBOT I/O

9. Press the MENUS key

10. Select I/O

11. If Robot I/O are not displayed, press F1, [TYPE] and select Robot I/O

12. Press F2 DETAIL

13. Cursor to the output you wish to add a comment to

14. Press ENTER

15. Using the alphabet above the function keys, enter a comment and then press
ENTER

If you make a mistake, use the backspace key

To return to the program screen, press the EDIT 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.

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

As an example, we will set up an If statement to call another program when 3 cycles


have been executed. Remember, a Register counter statement would be needed to
count the number of cycles.

Procedure
You are in the program screen and have inserted a blank line or the cursor is on on
[End].

1. If INST is not above F1, press the NEXT key.

79
ƒ l previous page l contents l next page l
ƒ

2. Press F1 INST

3. Select item IF/SELECT

Program1 Line 7 PAUSED


INST Joint 10%
1. Registers 5. Jmp/Lbl
2. I/O 6. CALL
3. IF/SELECT 7. Miscellaneous
4. WAIT 8. --- next page ---

1. J P[1] 100% FINE


2. J P[2] 100% FINE
[End]

INST EDCMD

ƒ F1 F2 F3 F4 F5

4. Select item 3.IF/SELECT and this screen will be displayed

Program1 Line 7 PAUSED


INST Joint 10%
1. IF … = ... 5. IF … > ...
2. IF … <> ... 6. IF … >= ...
3. IF … < ... 7.
4. IF … <= ... 8. --- next page ---

1. J P[1] 100% FINE


2. J P[2] 100% FINE
[End]

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…

Program1 Line 7 PAUSED


INST Joint 10%
1. R[ ] 5. RI[ ]
2. DO[ ] 6. GO[ ]
3. DI[ ] 7. GI[ ]
4. RO[ ] 8. --- next page ---

1. J P[1] 100% FINE


2. J P[2] 100% FINE
[End]

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.

Program1 Line 7 PAUSED


INST Joint 10%
1. R[ ] 5.
2. Constant 6.
3. 7.
4. 8.

1. J P[1] 100% FINE


2. J P[2] 100% FINE
[End]

INST EDCMD

ƒ F1 F2 F3 F4 F5

11. Select item 2. Constant

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.

Program1 Line 7 PAUSED


INST Joint 10%
1. JMPLBL 5.
2. CALL 6.
3. 7.
4. 8.

1. J P[1] 100% FINE


2. J P[2] 100% FINE
[End]

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.

16. The program line will now look like so:

81
ƒ l previous page l contents l next page l
ƒ

IF R [1] = 3 CALL (name of program)

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.

How SELECT works:

Imagine a program that needs to check a register value and then depending on the value
jump to different lines in the program.

Suppose we use Group Input 1, GI[1].

Using Group Input 1, GI[1], many IF statements would be necessary like so:

1. IF GI[1] = 2 CALL PROGRAM1


2. IF GI[1] = 4 CALL PROGRAM1
3. IF GI[1] = 8 CALL PROGRAM1
4. IF GI[1] = 16 JMP CALL PROGRAM1

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:

1. SELECT GI[1] = 2 CALL PROGRAM1


The robot will branch
= 4 CALL PROGRAM1 to whichever
= 8 CALL PROGRAM1 statement is true.
= 16 CALL PROGRAM1

EXAMPLE INPUT

Entering a SELECT statement.

Procedure

1. You are in the program screen and have inserted a blank line or the cursor is on
[End].

2. If INST is not above F1, press the NEXT key

3. Press F1 INST

4. Select IF/SELECT

5. Select 8. next page

6. The SELECT statement is available on this menu.

Program1 Line 7 PAUSED


INST Joint 10%
1. SELECT R[ ] 5.
2. select <> 6.
3. ELSE R[ ] 7.
4. 8.

1. J P[1] 100% FINE


2. J P[2] 100% FINE
[End]

INST EDCMD

ƒ F1 F2 F3 F4 F5

7. Choose item 1 when you are setting up a new SELECT statement.

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.

The robot can wait for :

• A given time in seconds

• An input or output

• A register to be equal to a certain value.

• A semaphore

Wait is located on the INST menu.

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

1. If INST is not above F1, press the NEXT key.

Program1 Line 7 PAUSED


INST Joint 10%
1. Registers 5. Jmp/Lbl
2. I/O 6. CALL
3. IF/SELECT 7. Miscellaneous
4. WAIT 8. --- next page ---

1. J P[1] 100% FINE


2. J P[2] 100% FINE
[End]

INST EDCMD

ƒ F1 F2 F3 F4 F5

2. Select item 4. WAIT, and this screen will be displayed

Program1 Line 7 PAUSED


INST Joint 10%
1. WAIT … (secs) 5. WAIT … <= ...
2. WAIT … = ... 6. WAIT … > ...
3. WAIT … <> ... 7. WAIT … >= ...
4. WAIT … < ... 8. WAIT SEMAPHORE

1. J P[1] 100% FINE


2. J P[2] 100% FINE
[End]

INST EDCMD

ƒ F1 F2 F3 F4 F5

3. Select item 1. WAIT … (sec)

4. The program line will look like this:

WAIT … (secs)

5. Enter the number of seconds you wish to wait, and press ENTER.

6. The program line should look like this:

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 above is an example of an unconditional loop. It will continue to cycle no matter


what. To set up a conditional loop, an IF statement is required in combination with a
Register counter.

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

Entering a LBL command.

Procedure
You are in the program screen and have inserted a blank line or the cursor is on on
[End].

1. If INST is not above F1, press the NEXT key.

2. Press F1 INST

3. Select item JMP/LBL

Program1 Line 7 PAUSED


INST Joint 10%
1. Registers 5. Jmp/Lbl
2. I/O 6. CALL
3. IF/SELECT 7. Miscellaneous
4. WAIT 8. --- next page ---

1. J P[1] 100% FINE


2. J P[2] 100% FINE
[End]

INST EDCMD

ƒ F1 F2 F3 F4 F5

4. Select 5.JMP/LBL and there will be two choices, shown below:

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:

CALL (name of program)

EXAMPLE INPUT

Entering a CALL command.

Procedure
You are in the program screen and have inserted a blank line or the cursor is on on
[End].

1. If INST is not above F1, press the NEXT key.

95
ƒ l previous page l contents l next page l
ƒ

2. Press F1 INST

3. Select item CALL

Program1 Line 7 PAUSED


INST Joint 10%
1. Registers 5. Jmp/Lbl
2. I/O 6. CALL
3. IF/SELECT 7. Miscellaneous
4. WAIT 8. --- next page ---

1. J P[1] 100% FINE


2. J P[2] 100% FINE
[End]

INST EDCMD

ƒ F1 F2 F3 F4 F5

4. Select item CALL and this screen will be displayed

Program1 Line 7 PAUSED


INST Joint 10%
1. CALL program 5.
2. End 6.
3. 7.
4. 8.

1. J P[1] 100% FINE


2. J P[2] 100% FINE
[End]

INST EDCMD

ƒ F1 F2 F3 F4 F5

5. Select item 1. CALL program

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
ƒ

Function - Abort All

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)

RSR 1 to 4 ENABLE:RSR function enabled


DISABLE: RSR function disabled

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.

This is achieved by using a user alarm, UALM.

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.

User Alarm Severity.

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

16 added to any value causes the


servomotors to be turned off

32 added to any value causes the action to


apply to all programs and all motions

64 added to any value requires a cold start


to reset the controller

The default value of all the user alarms is 6.

Changing the severity of a user alarm.

To change the severity of a user alarm, the value stored in the system variable
$UALRM_SEV must be changed.

To do this:

1. Press the MENUS key.

2. Select System, you may need to select 0. next page first.

3. Press F1, [TYPE]

4. Select System Variables

5. The screen will look similar to below:

102
ƒ l previous page l contents l next page l
ƒ

Program1 Line 7 PAUSED


System Variables Joint 10%

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

6. Cursor to $UALRM_SEV and press ENTER

7. The severities of all 10 user alarms is shown like so:

Program1 Line 7 PAUSED


System Variables Joint 10%
$UALM_SEV
1. [1] 2
2. [2] 6
3. [3] 6
4. [4] 6
5. [5] 6
6. [6] 6
7. [7] 6
8. [8] 6
9. [9] 6
10. [10] 6

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

Entering the User Alarm Messages

1. Press the MENUS key

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
ƒ

Program1 Line 7 PAUSED


Setting/User Alarm Joint 10%
Alarm No.
[1] : [ ]
[2] : [ ]
[3] : [ ]
[4] : [ ]
[5] : [ ]
[6] : [ ]
[7] : [ ]
[8] : [ ]
[9] : [ ]
[10] : [ ]

[TYPE]

ƒ F1 F2 F3 F4 F5

5. Cursor to the alarm you wish to use and press ENTER.

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

Entering a User Alarm in a program.

Procedure
1. You are in the program screen and have inserted a blank line or the cursor is on
[End].

2. If INST is not above F1, press the NEXT key.

3. Press F1, INST

4. You need to select Miscellaneous from the INST menu. (You may need to press 8.
next page first.)

5. From the Miscellaneous menu, select UALM[ ]

6. It will appear in your program like so:

UALM [„]

The cursor will sit in the brackets

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

Timers can be used to time all or any 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.

It is for this reason that a timer must be reset before it is used.

Timers are located on the Instruction Menu [INST] and in a program will look like so:

1. TIMER [2] = RESET


2. TIMER [2] = START
3. J P[1] 100% FINE
4. J P[2] 100% FINE
5. L P[3] 2000mm/sec FINE
6. L P[4] 2000mm/sec FINE
7. TIMER [2] = STOP

105
ƒ l previous page l contents l next page l
ƒ

EXAMPLE INPUT

Entering a TIMER command.

Procedure
You are in the program screen and have inserted a blank line or the cursor is on
[End].

1. If INST is not above F1, press the NEXT key.

2. Press F1 INST

3. Select Miscellaneous from the INST menu. (You may need to press 8. next page
first.)

4. Once in the Miscellaneous menu, select TIMER[ ]

5. It will appear in your program like so:

TIMER [„] = ....

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

8. Choose the item you require.

Remember, you must reset a timer before starting it.

Viewing Timers

1. To view the timer recorded by a timer in a program, press the MENUS key.

2. Select 0. next page

3. Select Status

4. Press F1 TYPE and select Prg Timer.

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

Entering an OVERRIDE command.

Procedure
You are in the program screen and have inserted a blank line or the cursor is on [End].

9. If INST is not above F1, press the NEXT key.

10. Press F1 INST

11. Select Miscellaneous from the INST menu. (You may need to press 8. next page
first.)

12. Once in the Miscellaneous menu, select OVERRIDE[ ]

13. It will appear in your program like so:

OVERRIDE =

14. Enter the value you require and press ENTER.

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

Adding a Remark to a Program.

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
ƒ

1. If INST is not above F1, press the NEXT key

2. Press F1 INST

3. Select Miscellaneous from the INST menu. (You may need to press 8. next
page first.)

4. Once in the Miscellaneous menu, select Remark

5. It will appear in your program like so:

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.

The message instruction displays a specified message on the user screen.

User Screen
The user screen displays messages from a program being executed.

To view the User screen:

1. Press the MENUS key.


2. Select User.

Note
When a message instruction is not executed, nothing appears on this screen.

A message can consist of up to 24 characters including alphanumeric characters,


asterisks (*), underlines(_) and ampersand marks, (@).

111
ƒ l previous page l contents l next page l
ƒ

EXAMPLE INPUT

Entering a MESSAGE command.

Procedure
You are in the program screen and have inserted a blank line or the cursor is on [End].

1. If INST is not above F1, press the NEXT key.

2. Press F1 INST

3. Select Miscellaneous from the INST menu. (You may need to press 8. next page
first.)

4. Once in the Miscellaneous menu, select MESSAGE[ ]

5. It will appear in your program like so:

MESSAGE[ ]

6. Press ENTER and user the function keys to enter a 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.

System Variable Notation


System Variables are represented by a dollar sign at the beginning of them, like so:

$ASCII_SAVE

System Variable Types


There are 2 types of system variables:

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.

INTP – 240 Incomputible datatype

EXAMPLE INPUT

Entering a parameter instruction.

Procedure
You are in the program screen and have inserted a blank line or the cursor is on [End].

1. If INST is not above F1, press the NEXT key.

2. Press F1 INST

3. Select Miscellaneous from the INST menu. (You may need to press 8. next page
first.)

4. In the Miscellaneous menu, select Parameter Instruction

5. It will appear in your program like so:

6. Press ENTER and user the function keys to enter the name of the system variable.

You can either write to or read from a system variable.

114
ƒ l previous page l contents l next page l
ƒ

Writing to System Variable

$ASCII_SAVE=1

This will set the system variable $ASCII_SAVE to a value of 1

Reading From a System Variable

R[1] = $ASCII_SAVE

This will put the value of $ASCII_SAVE into Register [1]

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

Entering a maximum speed instruction.

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
ƒ

1. If INST is not above F1, press the NEXT key.

2. Press F1 INST

3. Select Miscellaneous from the INST menu. (You may need to press 8. next page first.)

4. In the Miscellaneous menu, select Max Speed Instruction

5. Select either JOINT_MAX_SPEED or LINEAR_MAX_SPEED

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.

To synchronise programs, the semaphore instruction is used.

Differences Between CALL and RUN


The CALL instruction causes the robot to branch out of the program it is currently in and
run the program being called.

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

Entering a RUN command.

Procedure
You are in the program screen and have inserted a blank line or the cursor is on [End].

1. If INST is not above F1, press the NEXT key.

2. Press F1 INST

3. Select Multiple Control from the INST menu. (You may need to press 8. next page
first.)

4. In the Multiple Control menu, select Run Instruction

5. It will appear in your program like so:

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.

The Semaphore instruction switches a semaphore, specified with a number, between on


and off. A semaphore is a kind of switch used to synchronise the execution of tasks.

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.

The SEMAPHORE command can be used with a TIMEOUT like so:

WAIT SEMAPHORE[1] TIMEOUT, LBL[1]

121
ƒ l previous page l contents l next page l
ƒ

EXAMPLE INPUT

Entering a SEMAPHORE command.

Procedure
You are in the program screen and have inserted a blank line or the cursor is on [End].

1. If INST is not above F1, press the NEXT key.

2. Press F1 INST

3. Select Multiple Control from the INST menu. (You may need to press 8. next page
first.)

4. In the Multiple Control menu, select Semaphore or Semaphore Wait Instruction

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

Entering a PAUSE command.

Procedure
You are in the program screen and have inserted a blank line or the cursor is on [End].

1. If INST is not above F1, press the NEXT key.

2. Press F1 INST

3. Select Program Control from the INST menu. (You may need to press 8. next page
first.)

4. In the Program Control menu, select PAUSE

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.

The abort instruction aborts program execution in the following way:

• 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

Entering an ABORT command.

Procedure
You are in the program screen and have inserted a blank line or the cursor is on [End].

1. If INST is not above F1, press the NEXT key.

2. Press F1 INST

3. Select Program Control from the INST menu. (You may need to press 8. next page
first.)

4. In the Program Control menu, select ABORT

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.

To use offsets, you need to understand Position Register Elements.

Position Register Elements


Understanding Position Register Elements is the key to a powerful programming tool.

1. Press the DATA key

2. If Position Registers are not displayed, press F1, [TYPE].

3. Select Position Reg

127
ƒ l previous page l contents l next page l
ƒ

4. This screen will be displayed


Prog Line 2 PAU SED

D ATA Position Reg Joint 10%

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
ƒ

5. Press F4, POSITION and this screen will be


displayed. This shows the six elements of a Position D etail
PR[3] U F:F UT:F
position register. C ON F: U 00
X -1721.239 mm W: -180.000 deg
Y -77.531 mm P: 0.000 deg
Z -200.000 mm R: -89.354 deg
D ATA Position R eg
PR[ 1: ] = *
PR[ 2: ] = R
PR[ 3: ] = *
PR[ 4: ] = *
PR[ 5: ] = *
Enter value
C ON FIG D ON E [R EPR E]

ƒ 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
ƒ

Addressing Position Register Elements from a Program


The program command for addressing individual elements looks like so:

PR[i, j]

i is the Position
Register NUMBER j is the Position
you wish to address Register ELEMENT
you wish to address

Example Program Command

PR[5, 3] = 200

means send a value


of 200mm into the Z
element of Position
Register [5].

(If the Position Register is represented as a Joint move instead of Cartesian, this
command would send in 200 degrees to Joint 3.

Entering This Command Into a Program


This command is available on the instruction menu like so:

1. You are in the program screen

2. Press F1, INST


Program1 Line 7 PAUSED
INST Joint 10%
3. Select Registers 1. Registers 5. Jmp/Lbl
2. I/O 6. CALL
3. IF/SELECT 7. Miscellaneous
4. WAIT 8. --- next page ---

1. J P[1] 100% FINE


2. J P[2] 100% FINE
[End]

INST EDCMD

ƒ F1 F2 F3 F4 F5

129
ƒ l previous page l contents l next page l
ƒ

4. Select item 1. …=…


Program1 Line 7 PAUSED
INST Joint 10%
1. … = ... 5. … = … / ...
2. … = … + ... 6. … = … DIV ...
3. … = … - … 7. … = … MOD ...
4. … = … * ... 8.

1. J P[1] 100% FINE


2. J P[2] 100% FINE
[End]

INST EDCMD

ƒ F1 F2 F3 F4 F5

5. Select PR[i,j] from the menu that appears


Program1 Line 7 PAUSED
INST Joint 10%
1. R[ ] 5.
2. PR[ ] 6.
3. PR[i, j] 7.
4. 8.

1. J P[1] 100% FINE


2. J P[2] 100% FINE
[End]

INST EDCMD

ƒ F1 F2 F3 F4 F5

Adding an Offset to a Program Line


1. Cursor to the end of the position you wish to use the offset with:

J P[1] 100% FINE

2. Press F4 CHOICE

J P[1] 100% FINE Offset, PR[5]

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.

There are two kinds of FRAME instruction.

Making a Frame Equal to a Position Register


The definition of the specified frame is changed.

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]

Activating a Frame from within a Program


Tool Frame
This changes the tool frame number being selected.

UTOOL_NUM = (value)

You can make the


Tool Frame equal
to a constant or a
register.

Program Example
1. UTOOL_NUM = 1

This means make Tool


Frame 1 the Active Frame.
This would usually appear
at the very top of a
program.

User Frame
This changes the user frame number being selected.

UFRAME_NUM = (value)

You can make the


User Frame equal
to a constant or a
register.

132
ƒ l previous page l contents l next page l
ƒ

Program Example
1. UFRAME_NUM = 1

This means make User


Frame 1 the Active Frame.
This would usually appear
at the very top of a
program.

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

Entering a Frame Instruction.

Procedure
You are in the program screen and have inserted a blank line or the cursor is on [End].

1. If INST is not above F1, press the NEXT key.

2. Press F1 INST

3. Select Offset from the INST menu. (You may need to press 8. next page first.)

4. In the Offset menu, select the frame instruction you require.

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.

A skip condition is used with a skip instruction.

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

If the Skip Condition IS met, the robot at


this point will continue to the next line.

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.

EXAMPLE SKIP CONDITION

Entering a Skip Condition.

Procedure
You are in the program screen and have inserted a blank line or the cursor is on [End].

5. If INST is not above F1, press the NEXT key.

6. Press F1 INST

7. Select SKIP from the INST menu. (You may need to press 8. next page first.)

8. Select SKIP CONDITION

EXAMPLE SKIP INSTRUCTION

Entering a Skip Instruction.

Procedure

1. Cursor to the end of the program line you wish to add a skip instruction to like so:

J P[1] 100% FINE

2. Press F4 CHOICE

3. Select Skip, LBL[ ]

4. Enter the label number you wish to use.

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

Frames are used to describe the location and orientation of a position.

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.

World is a default of the robot and cannot be changed

Three Types of Frame


There are three different types of frames that can be set up in the robot:

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

You must move the origin of the tool


frame to the position, both location and
orientation, where the work is to be +X
done.

This position is called the tool center


point (TCP).
+Z
+Z

All measurements in tool frame are +Y


+X
relative to the origin of the tool frame
+Y
(the TCP).
ƒ

139
ƒ l previous page l contents l next page l
ƒ

Three methods for Setting up the Tool Centre Point


Three Point Method
• Use this to define the location of the tool frame.

• 3 Approach points are taught with the tool touching a common point from three
different directions.

Six Point Method


• Use this to define the location and orientation of the tool frame.

• This six point method involves the same 3 approach points of the Three Point Method,
but in addition 3 directional points are required.

Direct Entry Method


• This method provides direct recording and numerical entry of the frame position. The
manufacturing specifications of the tool are required for this method.

140
ƒ l previous page l contents l next page l
ƒ

The Three Point Method

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.

6. Cursor to the frame to be set up and if necessary clear it by selecting F4 CLEAR

7. Select F2 DETAIL.
Program1 Line 7 PAUSED

8. Press F2 METHOD SETUP Frames Joint 10%


Tool Frame Setup
Frame number: 1
9. Select Three Point X: 0.0 Y: 0.0 Z: 0.0
W: 0.0 P: 0.0 R: 0.0
Comment: **************************
The teach pendant screen should now be like Approach Point 1 : UNINIT
this… Approach Point 2 : UNINIT
Approach Point 3 : UNINIT
Active TOOL $MNUTOOLNUM[1] = 1
[TYPE] [METHOD] FRAME
ƒ F1 F2 F3 F4 F5

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.

12. Press SHIFT + RECORD

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.

16. Press SHIFT + RECORD

Approach Point 3
17. Cursor to Approach Point 3

18. In JOINT, rotate axis 4 or 5 by less than 90o

19. In WORLD, USER or JGFRM, use the major robot axes to re-align the tip to the
common point.

20. Press SHIFT + RECORD


21. The screen will now be like this:
Program1 Line 7 PAUSED
SETUP Frames Joint 10%
Tool Frame Setup
Frame number: 1
X: 0.0 Y: 0.0 Z: 0.0
W: 0.0 P: 0.0 R: 0.0
Comment: **************************
Approach Point 1 : USED
Approach Point 2 : USED
Approach Point 3 : USED
Active TOOL $MNUTOOLNUM[1] = 1
[TYPE] [METHOD] FRAME

ƒ 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
ƒ

The Six Point Method

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

[TYPE] DETAIL [OTHER] CLEAR SETIND


6. Cursor to the frame to be set up and if
ƒ F1 F2 F3 F4 F5
necessary clear it by selecting F4 CLEAR

7. Select F2 DETAIL.

8. Press F2 METHOD

9. Select Six Point

The teach pendant screen should now be


like this Program1 Line 7 PAUSED
SETUP Frames Joint 10%
Tool Frame Setup
Frame number: 1
X: 0.0 Y: 0.0 Z: 0.0
W: 0.0 P: 0.0 R: 0.0
Comment: **************************
Approach Point 1 : UNINIT
Approach Point 2 : UNINIT
Approach Point 3 : UNINIT
Orient Origin Point: UNINIT
X Direction: UNINIT
Z Direction: UNINIT
Active TOOL $MNUTOOLNUM[1] = 1

[TYPE] [METHOD] FRAME


ƒ F1 F2 F3 F4 F5

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.

12. Press SHIFT + RECORD

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.

16. Press SHIFT + RECORD

Approach Point 3
17. Cursor to Approach Point 3

18. In JOINT, rotate axis 4 or 5 by less than 90o

19. In WORLD, USER or JGFRM, use the major robot axes to re-align the tip to the
common point.

20. Press SHIFT + RECORD

Orient Origin Point


21. Cursor to Orient Origin 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.

23. Ensure the tool is lined up with the X-axis.

24. Press SHIFT + RECORD

X Direction Point
25. Cursor to X Direction Point

26. In WORLD or JGFRM jog the robot in +X direction by at least 250mm.

27. Press SHIFT and RECORD.

Z Direction Point
28. Cursor to Orient Origin Point

29. Press SHIFT and MOVE_TO(F4)

144
ƒ l previous page l contents l next page l
ƒ

30. Cursor to Z Direction Point

31. In WORLD or JGFRM jog the robot in +Z direction by at least 250mm.

32. Press SHIFT and RECORD.

The screen will look like this:


Program1 Line 7 PAUSED
SETUP Frames Joint 10%
Tool Frame Setup
Frame number: 1
X: 0.0 Y: 0.0 Z: 0.0
W: 0.0 P: 0.0 R: 0.0
Comment: **************************
Approach Point 1 : USED
Approach Point 2 : USED
Approach Point 3 : USED
Orient Origin Point: USED
X Direction: USED
Z Direction: USED
Active TOOL $MNUTOOLNUM[1] = 1

[TYPE] [METHOD] FRAME

ƒ 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
ƒ

Making a Tool Centre Point Active


A tool centre point must be made active before it can be used. There are three ways of
achieving an active TCP. It can be done manually by entering the setup screen, it can be
set active via a program or there is a shortcut to setting it active via the COORD key. The
three methods are detailed below.

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.

Manually setting a TCP 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.

1. Press the PREV key

2. Press F5, SETIND

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.

Setting a TCP Active Within a Program


1. A tool centre point can be made active via the program screen.

2. To do this press INST

3. Select Offset/Frames (you may need to press 8 – next page – first)

4. Select UTOOL_NUM = ... and press ENTER

5. Select Constant from the choices given

6. Finally enter the value of the tool centre point required.

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:

Enter the program line,

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.

Shortcut to Making a TCP Active


1. Press and hold the SHIFT key

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.

The Three Point Method

1. Press MENUS

2. Select SETUP

3. F1 [TYPE], select Frames

149
ƒ l previous page l contents l next page l
ƒ

4. If user frames are not displayed, press ƒ


Program1 Line 7 PAUSED
F3 [OTHER], and select user frames, SETUP Frames Joint 10%
this screen should appear. User Frame Setup
X Y Z
1. 0.0 0.0 0.0 *****************
5. If necessary clear the frame by 2. 0.0 0.0 0.0 *****************
3. 0.0 0.0 0.0 *****************
pressing F4 CLEAR. 4. 0.0 0.0 0.0 *****************
5. 0.0 0.0 0.0 *****************

REMEMBER DO NOT ALTER A USER FRAME THAT Active $MNUFRAMENUM[1] = 1

IS BEING USED BY YOUR PROGRAMS. INJURY TO [TYPE] DETAIL [OTHER] CLEAR SETIND

F1 F2 F3 F4 F5
EQUIPMENT OR PERSONNEL MAY OCCUR.

6. Cursor to the frame to be set up and select


Program1 Line 7 PAUSED
F2 DETAIL. SETUP Frames Joint 10%
User Frame Setup
Frame number: 1
7. Press F2 METHOD X: 0.0 Y: 0.0 Z: 0.0
W: 0.0 P: 0.0 R: 0.0
Comment: **************************
8. Select Three Point
Orient Origin Point: UNINIT
X Direction: UNINIT
9. This screen will be displayed Y Direction: UNINIT

Active $MNUFRAMENUM[1] = 1
[TYPE] [METHOD] FRAME

ƒ F1 F2 F3 F4 F5

Orient Origin Point


10. Cursor to Orient Origin Point
1
11. Jog the Robot to a corner of the
box (1) on the diagram shown.

12. Press SHIFT + RECORD (F5)

X Direction Point
13. Cursor to X Direction 2

14. To define the +ve X-Direction,


jog the Robot to position 2 on the +ve X
box on the diagram shown.

15. Press SHIFT + RECORD (F5) Anywhere along the


box edge would
suffice to setup the
+ve X-Direction
ƒ

150
ƒ l previous page l contents l next page l
ƒ

Y Direction Point
16. Cursor to Y Direction

17. It is now necessary to define the +ve X-


Jog the robot
Y plane. To do this jog the Robot to 3 anywhere on the
anywhere on the box surface. (shaded shaded area to
in the diagram) define the +ve X-Y
plane.
18. Press SHIFT +

19. RECORD (F5)


ƒ

20. The screen should look like this


Program1 Line 7 PAUSED
SETUP Frames Joint 10%
User Frame Setup
Frame number: 1
X: 1173.2 Y: 22.1 Z: 5.20
W: 71.2 P: 62.2 R: 25.16
Comment: **************************

Orient Origin Point: USED


X Direction: USED
Y Direction: USED

Active $MNUFRAMENUM[1] = 1
[TYPE] [METHOD] FRAME

ƒ F1 F2 F3 F4 F5

151
ƒ l previous page l contents l next page l
ƒ

Making a User Frame Active

1. If a User frame is not made active, it cannot be used.

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.

Setting a User Frame Active in a Program


A user frame can be made active via the program screen.

1. To do this press INST

2. Select Offset/Frames (you may need to press 8 – next page – first)

3. Select UFRAME_NUM = ...

4. Select Constant from the choices given

5. Finally enter the value of the user frame required.

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.

SHORTCUT TO SETTING A USER FRAME ACTIVE


1. Press and hold the SHIFT key

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.

The Three Point Method Program1 PAUSED


Line 7
SETUP Frames Joint 10%
1. Press MENUS Jog Frame Setup
X Y Z
1. 0.0 0.0 0.0 *****************
2. Select SETUP 2. 0.0 0.0 0.0 *****************
3. 0.0 0.0 0.0 *****************
4. 0.0 0.0 0.0 *****************
3. F1 [TYPE], select Frames 5. 0.0 0.0 0.0 *****************

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
ƒ

5. If there are values other than zero in the


frame you are using, press F4 (CLEAR) Program1 Line 7 PAUSED
SETUP Frames Joint 10%
6. Cursor to the frame to be set up and Jog Frame Setup
Frame number: 1

select F2 DETAIL. X:
W:
0.0
0.0
Y:
P:
0.0
0.0
Z:
R:
0.0
0.0
Comment: **************************

7. Press F2 METHOD Orient Origin Point: UNINIT


X Direction: UNINIT

8. Select Three Point Y Direction: UNINIT

Active JOGFRAME[1] = 1
[TYPE] [METHOD] FRAME
9. This screen will be displayed
ƒ F1 F2 F3 F4 F5

Orient Origin Point


10. Cursor to Orient Origin Point

11. Jog the Robot to a corner of the box (1) on the diagram
shown. 1

12. Press SHIFT + RECORD (F5)

X Direction Point
13. Cursor to X Direction

14. To define the +ve X-Direction, jog the Robot to


position 2 on the box on the diagram shown. +ve X
2

15. Press SHIFT + RECORD (F5) Anywhere


along the box
edge would
suffice to
setup the +ve
ƒ X-Direction

Y Direction Point
16. Cursor to Y Direction

17. It is now necessary to define the +ve X-Y plane. To do


this jog the Robot to anywhere on the box surface.
(shaded in the diagram)
Jog the robot
18. Press SHIFT + RECORD (F5) anywhere on
the shaded
area to define
the +ve X-Y
plane.
ƒ

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: **************************

Orient Origin Point: USED


X Direction: USED
Y Direction: USED

Active JOGFRAME[1] = 1
[TYPE] [METHOD] FRAME

ƒ F1 F2 F3 F4 F5

155
ƒ l previous page l contents l next page l
ƒ

Making a Jog Frame Active


1. If the new jogframe is not made active, it cannot be used.

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. Remember, a jogframe has NO EFFECT on a program. It is simply a way to jog


easier in a plane other than the default.

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.

SHORTCUT TO SETTING A JOG FRAME ACTIVE


7. Press and hold the SHIFT key

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

A Reference Position is a position in space where a Robot or Digital Output will


automatically turn on. It exists independently of any recorded positions in a program.

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
ƒ

SETTNG UP A REFERENCE POSITION

1. Create a program called Ref_Pos.

2. Jog the robot to the position to be used as a reference position.

3. Record the point

4. Press MENUS

5. Select SETUP

6. F1 [TYPE]

7. Select Ref Position

8. A screen similar to this will appear.

Program1 Line 7 PAUSED


SETUP Ref Posn Joint 10%
Reference Position
Reference Position number: 1
No. Enb/Dsbl @POS Comment
1 DISABLE FALSE [ ]
2 DISABLE FALSE [ ]
3 DISABLE FALSE [ ]

[TYPE] [METHOD] FRAME


ƒ F1 F2 F3 F4 F5

9. To set up the Reference Position, cursor to 1, 2 or 3 and press F3 DETAIL.

10. The screen should be similar this:

Program1 Line 7 PAUSED


SETUP Ref Posn Joint 10%
Reference Position
Reference Position number: 1
1. Comment [*****************************]
2. Enable/Disable DISABLE
3. Signal Definition DO[2]
4.
5. J1 0.000 +/- 0.000
6. J2 0.000 +/- 0.000
7. J3 0.000 +/- 0.000
8. J4 0.000 +/- 0.000
9. J5 0.000 +/- 0.000

[TYPE] RECORD
ƒ F1 F2 F3 F4 F5

11. Press SHIFT and F5 RECORD.

158
ƒ l previous page l contents l next page l
ƒ

12. Cursor to 2. Enable/Disable and ENABLE appears above F4. Press F4

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.

Tolerance Ranges are measured in degrees on each Joint axis.

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 [movie]


U T I L I T I E S
How to record a reference position

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

ƒ Traditionally a mechanical floating is Floats by itself


used, but with Fanuc Soft float, this
can be eliminated.

161
ƒ l previous page l contents l next page l
ƒ

Function
The soft float function works as follows:

Two Types of Soft Float


Two types of soft float are supported:

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

Enabling and Disabling


The function is enabled/disabled using an instruction in the program. Its conditions are
also specified using the instruction.

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.

The detailed descriptions of the soft float function follow.

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
ƒ

2 Ways of Using Soft Float Within a Program


There are two ways of using the Soft float instruction in a program

Example 1
Soft float as a separate instruction line.

1. J P[1] 100% FINE


2. SOFTFLOAT[1]
3. L P[2] 2000mm/sec FINE
4. L P[3] 2000mm/sec FINE
5. SOFTFLOAT END

P[1] P[2] P[3]

ƒ
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[ ]

1. J P[1] 100% FINE


2. L P[2] 2000mm/sec FINE SOFTFLOAT[1]
3. L P[3] 2000mm/sec FINE
4. SOFTFLOAT END

100%

50%

ƒ 0%

Soft float
Start Ratio Soft float
function is
enabled

163
ƒ l previous page l contents l next page l
ƒ

Soft Float Setup


To enter the soft float setup menu:

1. Press MENUS

2. Select Setup

3. Press F1, TYPE

4. Select SOFTFLOAT

5. The following screen should be displayed:

Program1 Line 7 PAUSED


SETUP/SOFTFLOAT Joint 10%
Group 1
No Start (%) Comment
1 0 [ ]
2 0 [ ]
3 0 [ ]
4 0 [ ]
5 0 [ ]
6 0 [ ]
7 0 [ ]
8 0 [ ]
9 0 [ ]
10 0 [ ]
[TYPE] GROUP DETAIL
ƒ F1 F2 F3 F4 F5

6. Press F3 DETAIL to show the DETAIL screen

JOINT soft float details CARTESIAN soft float details


Program1 Line 7 PAUSED Program1 Line 7 PAUSED
SOFTFLOAT (JOINT) Joint 10% SOFTFLOAT (CARTESIAN) Joint 10%
Group 1 Group 1
1 Schedule No[ 1] : [* * * * * * * * * * * * * * * * * * * * * * * * * * * * *] 1 Schedule No[ 1] : [ ]
2 Exec Start Ratio : 0% 2 Enable/Disable : [DISABLE]
3 Axis1 Soft Ratio : 0% DISABLE 3 Coordinate : [WORLD]
4 Axis2 Soft Ratio : 0% DISABLE
5 Axis3 Soft Ratio : 0% DISABLE 4 X direction [0%] [0%]
6 Axis4 Soft Ratio : 0% DISABLE 5 Y direction [0%] [0%]
7 Axis5 Soft Ratio : 0% DISABLE 6 Z direction [0%] [0%]
8 Axis6 Soft Ratio : 0% DISABLE 7 X rotation [0%] [0%]
9 Axis17Soft Ratio : 0% DISABLE 8 X rotation [0%] [0%]
10 Axis8 Soft Ratio : 0% DISABLE 9 Z rotation [0%] [0%]
11 Axis9 Soft Ratio : 0% DISABLE
[TYPE] NUMBER LIST JOINT CART [TYPE] NUMBER LIST JOINT CART
ƒ F1 F2 F3 F4 F5 F1 F2 F3 F4 F5

F3 LIST takes you back


to the previous screen

Press F4 and F5 to flip between JOINT


and CARTESIAN soft float

164
ƒ l previous page l contents l next page l
ƒ

The Detail Menu


Comment
• Press ENTER with the cursor on line 1 to enter a comment. The comment text can
be specified in the same way as on other menus.
Soft float start ratio
• Line 2 specifies the point where the soft float function is enabled if the
SOFTFLOAT [n] is used as an auxiliary motion instruction. See ”Soft float function
effective range” for the soft float start ratio.

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:

• The robot might not always follow the taught path


• Execution time may be increased
• Brake control is ineffective

Soft float is automatically disabled when

• Program execution ends


• Program stops due to an alarm
• Jogging is performed when the program is moved
• Backward execution is performed

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.

Creating a Macro Program


1. Follow the procedure for creating a teach pendant program until you reach this screen

167
ƒ l previous page l contents l next page l
ƒ

Prog Line 2 PAUSED


Joint 10%
1. Words
2. Upper case
3. Lower case
4. Options
Select
--- Create Teach Pendant Program ---
Program name: [ BOX ]

Enter program name --- END ---


DETAIL EDIT

ƒ F1 F2 F3 F4 F5

2. At this point, press F2 DETAIL

3. This screen should be displayed:

Prog Line 2 PAUSED


Program Detail Joint 10%
Creation Date: 28-May-1998
Modification Date: 28-May-1998
Copy Source:
Positions: TRUE Size: 2459 Bytes
1 Program name: [PROGRAM1 ]
2 Sub Type: [None ]
3 Comment: [ ]
4 Group Mask: [1, * , * , * , * ]
5 Write protect: [OFF ]

END PREV NEXT


ƒ 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
ƒ

Setting a Macro Instruction


1. Press the MENUS key

2. Select 6. SETUP Prog Line 2 PAUSED


Macro Command Joint 10%
Instruction name Program Assign
3. Press F1, TYPE 1 [ ] [ ] -- [ ]
2 [ ] [ ] -- [ ]
3 [ ] [ ] -- [ ]
4. Select Macro and the macro setup screen 4 [ ] [ ] -- [ ]
will be displayed. 5 [ ] [ ] -- [ ]

5. Cursor to the macro you wish to setup


and with the cursor in the ‘Instruction [TYPE] CLEAR
name’ column press ENTER ƒ F1 F2 F3 F4 F5

6. Use the alphanumeric keys to give a


name that describes the macro. When
the name is complete, press ENTER.

7. Cursor over to the ‘program name’


column and press F4 CHOICE. A list of all Prog Line 2 PAUSED
the programs will be displayed. Select the Macro Command Joint 10%
macro name you wish to use. 1– 5 SP
2 UK 6 DI
3 SU 7 RI
8. Cursor over to the ‘assign’ column and 4 MF 8 ---NEXT---
Macro Command
press F4 CHOICE. Instruction name Program Assign
1 [handopen ] [HOPN] -- [ ]

9. Select the option required and which 2


3
[
[
]
]
[
[
]
]
-- [
-- [
]
]
number you require. For example MF[1]
[TYPE] CLEAR
for manual function key 1.
ƒ F1 F2 F3 F4 F5

169
ƒ l previous page l contents l next page l
ƒ

Executing a Macro Using The Manual Functions Screen


To display the Manual Functions screen:

1. Press the MENUS key

2. Select 3. MANUAL FCTNS

3. Press F1 “TYPE” to display the screen change menu

4. Select “Macros”

5. The manual operation screen is displayed ƒ


Prog Line 2 PAUSED
MANUAL MACROS Joint 10%
6. Cursor to the Macro you wish to execute Instruction
1 handopen
2 handclose
Warning
The macro program is started in the next step, causing the
robot to make a motion. Before executing the operation, the
operator should check that no persons and no unnecessary
equipment are in the work area. Otherwise, you could injure
personnel or damage equipment. [TYPE] EXEC
F1 F2 F3 F4 F5
7. Press and hold the SHIFT key and press F3
EXEC

Executing a Macro Using the Teach Pendant


Certain keys (user keys) on the teach pendant can be assigned to macro instructions.

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.

Running a Macro From a Teach Pendant Program


You can call a macro from a teach pendant program by using the macro instruction on
the INST Menu.

1. Insert a blank line in your program where you require the macro instruction to be.

2. Press F1 INST

3. Select MACRO. You may need to press 8---next page--- first.

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.

Rules Applying To Converted Position Data

Rules governing position data:


• Position data having Cartesian coordinates is converted to Cartesian coordinates.
Position data with joint coordinates is converted to joint coordinates.
• If converted joint coordinate position data falls outside the variable axis area, it is
stored as unspecified.
• Converted Cartesian coordinate position data is stored as is even if it falls outside
the variable axis area.

173
ƒ l previous page l contents l next page l
ƒ

• Position data in the position registers is not converted.


• The position data with joint coordinates for operation instructions involving
incremental instructions is stored as unspecified.

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.

This manual discuss 2 shift functions:


Program shift :
Performs a 3--dimensional linear shift or linear rotation shift.

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]

Executing the Program Shift Function

1. Press the MENUS Key

2. Select 1. UTILITIES

3. Press F1, [TYPE]

4. Select Program Shift

5. This screen appears:


Prog Line 2 PAUSED
PROGRAM SHIFT Joint 10%
Program
1 Original Program : [Test1 ]
2 Range : WHOLE
3 Start line : (not used) ***
4 End line : (not used) ***
5 New Program: [Test1 ]
6 Insert line : (not used) ***

Use shifted up, down arrows for next page

[TYPE]

ƒ F1 F2 F3 F4 F5

6. After specifying the items, go to the next screen with +


ƒ

176
ƒ l previous page l contents l next page l
ƒ

+
The representative point specification screen appears. To return to the
previous screen, use

For a shift with a


rotation, set rotation
Prog Line 2 PAUSED
ƒ
PROGRAM SHIFT Joint 10%
to ON, using F4 Shift amount/Teach
Position data P1
X ***** Y ***** Z *****

1 Rotation OFF

2 Source position P1

2 Destination position Q1

[TYPE] [EXECUTE] ON OFF

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

PROGRAM SHIFT Line 2 PAUSED


Shift amount/Teach Joint 10%
Position data P1
X ***** Y ***** Z *****
Rotation ON

2 Source position P1
P2
P3
3 Destination position Q1
Q2
Q3
[TYPE] [EXECUTE] ON OFF

ƒ F1 F2 F3 F4 F5

8. Specify representative source and destination positions, by cursoring down to the


position you are recording and using:

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

PROGRAM SHIFT Line 2 PAUSED


Shift amount/Teach Joint 10%
Position data P1
X ***** Y ***** Z *****
Rotation ON As you record or
refer, the screen
2 Source position P1 Recorded changes to represent
P2 P[2]
P3 Recorded
that.
3 Destination position Q1 Recorded
Q2
Q3
[TYPE] [EXECUTE] ON OFF

ƒ 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
ƒ

Symmetrical shift of position data.

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.

The mirror shift function requires the following setup:

180
ƒ l previous page l contents l next page l
ƒ

Program Name Setting


Program name setting specifies :

• The name of the source program


• The range of lines on which the shift is to be performed
• The name of the program into which the shift results are to be inserted
• The line at which they are to be inserted.

Shift Information Input


Shift information input specifies :

• The direction and amount of the mirror shift.


• In representative point specification, the user indicates (specifies) representative
source and destination points to determine the shift direction and amount.
• Two types of shift are supported:
o symmetrical shift
one source point (P1) and one destination points (Q1), two points in total, must be
indicated (specified).
o symmetrical rotation shift.
three source points (P1, P2, and P3) and three destination points (Q1, Q2, and
Q3), six points in total, must be indicated (specified).

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.

Executing the Mirror Shift Function

1. Press the MENUS Key Prog Line 2 PAUSED


MIRROR IMAGE SHIFT Joint 10%
Program
2. Select 1. UTILITIES 1 Original Program : [Test1 ]
2 Range : WHOLE
3 Start line : (not used) ***
3. Press F1, [TYPE] 4 End line : (not used) ***
5 New Program: [Test1 ]
6 Insert line : (not used) ***
4. Select Mirror Image
Use shifted up, down arrows for next page

[TYPE]
ƒ
F1 F2 F3 F4 F5

181
ƒ l previous page l contents l next page l
ƒ

5. This screen appears:

6. After specifying the items, go to the next screen with

+
ƒ

+
7. The representative point specification screen appears. To return to the
previous screen, use

Prog Line 2 PAUSED


ƒ
For a shift with a MIRROR IMAGE SHIFT Joint 10%
Shift amount/Teach
rotation, set rotation
Position data P1
to ON, using F4 X ***** Y ***** Z *****

1 Rotation OFF

2 Source position P1

2 Destination position Q1

[TYPE] [EXECUTE] ON OFF


ƒ F1 F2 F3 F4 F5

8. In this example, rotation is set to ON. When rotation is ON, you must specify 3 source
positions and 3 destination positions.

MIRROR IMAGE SHIFT Line 2 PAUSED


Shift amount/Teach Joint 10%
Position data P1
X ***** Y ***** Z *****
Rotation ON

2 Source position P1
P2
P3
3 Destination position Q1
Q2
Q3
[TYPE] [EXECUTE] ON OFF

ƒ F1 F2 F3 F4 F5

9. Specify representative source and destination positions, by cursoring down to the


position you are recording and using:

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
ƒ

F5 RECORD Use this to record a new position

MIRROR IMAGE SHIFT Line 2 PAUSED


Shift amount/Teach Joint 10%
Position data P1
X ***** Y ***** Z ***** As you record or
Rotation ON refer, the screen
changes to represent
2 Source position P1 Recorded
that.
P2 P[2]
P3 Recorded
3 Destination position Q1 Recorded
Q2
Q3
[TYPE] [EXECUTE] ON OFF

ƒ 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
ƒ

Viewing User Frame Values

1. Press MENUS

2. Select SETUP

3. F1 [TYPE], select Frames

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.

6. This screen will be displayed


Program1 Line 7 PAUSED
SETUP Frames Joint 10%
User Frame Setup
User Frame Values Frame number: 1
X: 1173.2 Y: 22.1 Z: 5.20
W: 71.2 P: 62.2 R: 25.16
Comment: **************************

Orient Origin Point: USED


X Direction: USED
Y Direction: USED

Active $MNUFRAMENUM[1] = 1
[TYPE] [METHOD] FRAME

ƒ F1 F2 F3 F4 F5

Lets Look at an Example

User Frame 1 User Frame 2

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

Notice how the directions of X, Y, and Z are equivalent.

You must be careful that you don’t change the values of a user frame into unreachable positions by
the robot.

Changing the Value Held by User Frame 1


You have to use position registers to dynamically change values of user frames from
within a program.

The command used is:

UFRAME[ ] = PR[ ]
Put the User Frame Put the position register
number here you you wish to make it
wish to use equal to here.

See Page 131 for more on this instruction.

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.

Continuous Rotation Function


The continuous rotation function allows continuous and limitless rotation about the final
axis or an additional rotation axis of the robot in one direction.

To use this function, an option (continuous rotation function) is required.

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.

current angle current angle

The shorter way


rotation is
effective in
Shorter Way reducing cycle
time.

target angle target angle


ƒ

190
ƒ l previous page l contents l next page l
ƒ

Setting Up the Continuous Rotation Function


1. Press MENUS. The screen menu appears.

2. Select SETUP.

3. Press F1 TYPE.

4. Select Cont Turn.

5. The continuous rotation setup screen


Prog Line 2 PAUSED
appears SETUP Continuous T Joint 10%

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.

Continuous Turn Axis Num


Set the number of the continuous rotation axis. If ”0” is set, this function is disabled for the operation group.

Numerator of Gear Ratio and Denominator of Gear Ratio


Set the gear reduction ratio for the continuous rotation axis set for the above item. A value from 0 to 32766 can be set
for each item. The items must, however, satisfy the following:

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
ƒ

Using the Function

After setting up the continuous rotation axis, specify the start point of continuous rotation
using the operation add instruction, ”continuous rotation speed instruction.”

Continuous rotation speed instruction

CTV [ i ]

where i = -100 to 100,

which is the ratio of the


rotation axis speed to the
maximum axis speed (%)

Program Example

1:J P[1] 100% FINE


2:J P[2] 100% CNT100 CTV100
3:J P[3] 100% FINE
4:J P[4] 100% CNT100 CTV100
5:J P[5] 100% FINE CTV100
6:J P[6] 100% FINE
7:J P[7] 100% FINE CTV100
8:WAIT 100.0sec
9:J P[8] 100% FINE

Starting Continuous Rotation


Continuous rotation is started as soon as an operation statement with a continuous
rotation speed instruction added is started.
Stopping continuous rotation
Continuous rotation is stopped when the first operation statement with no continuous
rotation speed instruction added is started since a continuous rotation speed instruction
was started.

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 cannot be used together with the following functions:


o Asynchronous addition axis speed instruction. (The synchronous additional axis speed
instruction can be used.)
o Arc sensor
o Weaving
o TCP speed estimation function (sealing flow rate control)

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

After this function is disabled, it is not necessary to perform mastering.

• 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.)

• Even during backward execution (single--step execution), shorter--way operation is


performed on the continuous rotation axis. If, therefore, forward step execution and
backward execution are performed sequentially in an operation statement with the
movement angle being very close to 180o, rotation may be performed about the
continuous rotation axis in the same direction during the forward and backward
executions.

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:

[INTP--128 Pos reg is locked]

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:

[VARS--053 Pos reg is locked]

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

Locks all position


registers. This instruction
prevents any change
being made to any
position register.

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

1: J P[1] 100% FINE Position registers are locked


2: PR[1]=PR[2]
3: PR[2]=PR[3]
4: LOCK PREG Subject to look – ahead execution.
5: L P[2] 100mm/sec Cnt100
6: L P[3] 100mm/sec Cnt100
7: L PR[1] 100mm/sec Cnt100
8: L P[4] 100mm/sec Cnt100 offset, PR[2]
9: L P[5] 100mm/sec FINE
10: UNLOCK PREG Position registers are unlocked

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
ƒ

Note the following when using this instruction


The LOCK PREG and UNLOCK PREG instructions are not executed in backward program
execution mode.

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.

Viewing Program Header Information


4. If DETAIL is not above F2, press the NEXT key

5. Press F2 DETAIL - The screen will look like so:

Prog Line 2 PAUSED


This shows
Program Detail Joint 10%
when the
Creation Date: 28-May-1998
Modification Date: 28-May-1998
program was
Copy Source: created and
Positions: TRUE Size: 2459 Bytes last modified.
1 Program name: [PROGRAM1 ]
2 Sub Type: [None ]
If the current 3 Comment: [ ]
program has been 4 Group Mask: [1, * , * , * , * ]
[OFF ]
copied from 5 Write protect:
another program, END PREV NEXT
the name of the F1 F2 F3 F4 F5
original program
ƒ will be here.

Press F1, END when


you have finished
editing the PROGRAM
HEADER screen.

Program Name
6. The name of a program can be changed in the program header.

7. Cursor to Program name and press ENTER.

8. The alphabet will appear above the function keys

9. Enter the new name and press ENTER.

Sub Type
10. Cursor to Sub Type on the Program Header screen and press F4, CHOICE

11. There are two choices, None and Macro

200
ƒ l previous page l contents l next page l
ƒ

12. Select None, if you wish to create a Teach Pendant Program

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.

A comment can contain any characters, including blank spaces.

Protecting a Program
15. Cursor to Write protect

16. ON and OFF will appear above the function keys.

17. Press F4, ON to protect the program from changes.

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

1. You are in the SELECT screen

2. Place the cursor on the program you wish to delete

3. If DELETE is not above F3, press the NEXT key

4. Press F3 DELETE

5. You will be asked :

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

1. You are in the SELECT screen

2. Place the cursor on the program you wish to copy

3. If COPY is not above F3, press the NEXT key

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.

8. Enter a new name and press ENTER

9. Press ENTER again and the program will be copied.

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.

The following types of files are typically used.

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
ƒ

Default Logic File


The default logic file (*.DF) includes the settings of the default logic instruction assigned
to each function key (F1 to F4 key) in the program edit screen.

The default logic file is divided to the following kinds:

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

The following kinds are in the data file:

• Data file (*.VR)


NUMREG.VR
Used to store the data of the register.

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)

• I/O Configuration Data File (*.IO)


DIOCFGSV. IO
Used to store the settings of the I/O assignment.

• Robot setting data file (*.DT)


This file is used to store those settings that are made on the robot setting screen. The file name
varies depending on the model.

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.

Files are saved to the default device.

Program selection screen


A specified program is saved to the default device as program 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

“5 SAVE”in the function menu


It is possible to preserve it on the default device as a program file and a system file, etc.
of the program and the data, etc. displayed on the screen. The following files can be
preserved:

• Program file
• System file
• Data file
• Default logic file

Backing Up With Memory Card


With the R-J3 control unit, the standard setting specifies the use of memory cards. The
use of a memory card allows files to be saved and read quickly, which can greatly
improve the work efficiency.

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.

SRAM memory card


The SRAM memory card requires a backup battery. When an SRAM memory card is purchased, the battery is not
installed. Always install the battery in the card before attempting to use it.
Once the battery in the SRAM memory card reaches the end of its service life, the data on the card will be lost.

Therefore, always make a backup of the card contents.

210
ƒ l previous page l contents l next page l
ƒ

Setting the Device to Be Memory Card


Before you save files you must select the device you wish to save to. In our case this is
memory card.

1. Press the MENUS Key

2. Select 7. FILE

3. The file screen appears:

Prog Line 2 PAUSED


FILE Joint 10%
P3: *.*
1 * * (all files)
2 * KL (all KAREL source)
3 * CF (all command files)
4 * TX (all text files)
5 * LS (all KAREL listings)
6 * DT (all KAREL data files)

Press DIR to generate directory


[TYPE] [DIR] LOAD [BACKUP] [UTIL ]
ƒ F1 F2 F3 F4 F5

4. Press F5 UTIL, and select Set Device.

5. The following screen appears:

Prog Line 2 PAUSED


FILE Joint 10%
1 Floppy disk
2 Mem Card (MC)
3
4
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

6. Select Mem Card (MC)

211
ƒ l previous page l contents l next page l
ƒ

Saving With The Program Selection Screen


The program selection screen enables you to save the specified program as the program
file.

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.

2. Port setting must be completed.

3. Press the SELECT Key

4. Press the NEXT key until SAVE is above F4

5. Press F4 SAVE

6. The program save screen appears:

7. Enter the name of the program you wish to save

Prog Line 2 PAUSED


Joint 10%
1. Words
2. Upper case
3. Lower case
4. Options
Select
--- Save Teach Pendant Program ---
Program name: [ ]

Enter program name --- END ---


PRG MAIN SUB TEST

ƒ F1 F2 F3 F4 F5

8. Enter the name of the program you wish to save

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
ƒ

Saving Files Using the File Screen


The file screen enables you to save multiple files.

7. Ensure the default device is defined and the media is in the interface.

8. Port setting must be completed.

9. Press the MENUS Key

10. Select 7. FILE

11. The file screen appears:

Prog Line 2 PAUSED


FILE Joint 10%
P3: *.*
1 * * (all files)
2 * KL (all KAREL source)
3 * CF (all command files)
4 * TX (all text files)
5 * LS (all KAREL listings)
6 * DT (all KAREL data files)

Press DIR to generate directory


[TYPE] [DIR] LOAD [BACKUP] [UTIL ]

ƒ F1 F2 F3 F4 F5

Saving Program Files


12. Press F4 BACKUP, then select TPE programs from the menu that appears.

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.

13. Select the desired function key

14. When a file with the same name you specified already exists, the following
message appears:

OVERWRITE SKIP CANCEL


F3 F4 F5

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.

Saving System Files


15. Press F4 SAVE and select System Files.

16. The following screen is displayed:

Prog Line 2 PAUSED


FILE Joint 10%
P3: *.*
Saving the following files
DIOFGSV.IO
FRAMEVAR.SV
NUMREG.VR
SYSVARS.SV
SYSSERVO.SV
SYSMAST.SV
SYSMACRO.SV
Backup to disk?
YES NO

ƒ F1 F2 F3 F4 F5

17. To save all the system files, press F4, YES.

18. When a file with the same name you specified already exists, the following
message appears:

OVERWRITE SKIP CANCEL


F3 F4 F5

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

You might also like