Sunteți pe pagina 1din 64

/QVQOCP/4%%QPVTQNNGT

4GNCVKXG,QD
(WPEVKQP/CPWCN

Part Number:
Release Date:
Document Version:
Document Status:

133388-1
May 13, 1997
2
Final

Motoman, Incorporated
805 Liberty Lane
West Carrollton, OH 45449
TEL: (937) 847-6200
FAX: (937) 847-6277
24-Hour Service Hotline: (937) 847-3200

The information contained within this document is the proprietary property of Motoman, Inc., and may not be
copied, reproduced or transmitted to other parties without the expressed written authorization of Motoman,
Inc.
2003 by MOTOMAN
All Rights Reserved
Because we are constantly improving our products, we reserve the right to change specifications without
notice. MOTOMAN is a registered trademark of YASKAWA Electric Manufacturing.

Section
4.3

Page
CONFIRMING RELATIVE JOB INFORMATION.............................26
4.3.1
4.3.2
4.3.3

4.4

Coordinate Confirmation....................................................26
Command Position Confirmation ........................................27
Displaying Differences between Command and Current
Position........................................................................27
EDITING THE RELATIVE JOB ........................................................27

5.0 SIMPLIFIED OFF-LINE TEACHING SYSTEM...............................................29


5.1

JOB DATA FORMAT ......................................................................29

5.2

EXAMPLES OF JOB DATA.............................................................35


5.2.1
Relative Job With Robot Axes and User Frame 3 ...............35
5.2.2
Robot Axes + Base Axes (Base Frame).............................36
5.2.3
Robot Axes + Base Axes + Station Axes (Base Frame,
Synchronous Job) .............................................................36
5.2.4
Robot Axes + Base Axes + Station Axes (Base Frame,
Coordinated Job)...............................................................37
5.2.5
Robot Axes + Robot Axes (Base Frame,
Coordinated Job)...............................................................38
CONFIGURATION OF POSITION DATA........................................39

5.3
5.4

5.5

CONFIGURATION OF THE MANIPULATOR.................................. 41


5.4.1
Specification of Wrist Angle............................................... 41
5.4.2
Specification of the Base Three Axes.................................43
ROBOT FORM CONTROL METHODS ............................................45
5.5.1
Moving the R-and T-Axes to Preserve the Sign
of the B-Axis....................................................................45
5.5.2
Moving R-, B-, and T-Axes to Preserve the Robot's
Form of the Destination Point ...........................................47

6.0 ALARM AND ERROR MESSAGES................................................................ 51


6.1

ALARM MESSAGES ........................................................................ 51

6.2

ERROR MESSAGES......................................................................... 51

7.0 INSTRUCTIONS USED IN RELATIVE JOB ..................................................53


8.0 MRC TOOL CENTER POINT DEFINITION...................................................55
8.1

MANUAL TCP DEFINITION ...........................................................55

8.2

AUTOMATIC TCP DEFINITION .....................................................56

INDEX ............................................................................................................ Index

Relative Job Function, MRC

Page ii

MOTOMAN

LIST OF FIGURES
Figure

Page

Figure 3-1 Standard Job Pulse Position Data........................................................9


Figure 3-2 Relative Job X, Y, and Z Position Data.............................................. 10
Figure 3-3 Base, Robot, and User Coordinates................................................... 11
Figure 3-4 Relative Job Shift Function ............................................................... 12
Figure 3-5 Teaching Job in Standard Position..................................................... 15
Figure 3-6 Teaching X, Y, and Z Points.............................................................. 16
Figure 3-7 User Frame Before and After Modification....................................... 16
Figure 3-8 Example of Searching Out Defined Points Using External Vision
Controller..................................................................................... 17
Figure 3-9 After Job is Initially Taught, Job is Shifted to Other Positions........... 18
Figure 3-10 Shift to Multiple Manipulators.......................................................... 20
Figure 5-1 Command Levels Used in Relative Job................................................30
Figure 5-2 Base Coordinate System...................................................................39
Figure 5-3 Robot Coordinate System..................................................................40
Figure 5-4 User Coordinate System...................................................................40
Figure 5-5 Flip and No-Flip Positions of Wrist Angle...........................................42
Figure 5-6 Angle of R-Axis................................................................................ 42
Figure 5-7 Angle of T-Axis ................................................................................ 43
Figure 5-8 Front and Back Positions of S-Axis Turned at 0 and 180.................44
Figure 5-9 Upper and Lower Elbow Positions of L- and U- Axes .........................44
Figure 5-10 B-Axis "+" and "-" Range .................................................................45
Figure 5-11 Actual Motion of the R-Axis.............................................................46
Figure 5-12 Anticipated Motion of the R-Axis......................................................46
Figure 5-13 Flip and No-Flip Positions of the R-Axis............................................47
Figure 5-14 Robot Motion During a Job Shift ......................................................48
Figure 8-1 Tool Center Point ............................................................................. 55
Figure 8-2 Pointer.............................................................................................56

Relative Job Function, MRC

Page iii

MOTOMAN

LIST OF TABLES
Table

Page

Table 5-1 Parameter and Values Used in Robot Form Control Methods ..............48
Table 6-1 Alarm Messages ................................................................................ 51
Table 6-2 Error Messages................................................................................. 51
Table 6-3 Messages ..........................................................................................52
Table 7-1 List of Instructions.............................................................................53

Relative Job Function, MRC

Page iv

MOTOMAN

1.0 INTRODUCTION
The relative job function is a software option used when programming a robot offline. It allows a job to be converted from pulse counts to Cartesian coordinates so
that it may be edited off-line with a software package or shifted by a sensor. This
enables the user to develop robot programs without having an in-depth knowledge
of the robot arm configuration and the complicated mathematics required to convert
between joint angles and Cartesian coordinates. It also allows users to create
programs that are independent of the robot arm type (e.g., a program that is written
in Cartesian coordinates for a K10 will also run on a K6 or K30).
Relative Job is used with:

Vision systems
Sensor systems
Off-line programming (Robot Calibration and Tool Calibration should be
performed on robots that are running jobs that have been created off-line.)
Touch Sense

Relative job also has the ability of on-line 3-D shift. Jobs can be created based on a
part frame. Sensor input can be used to make a new frame, and the program can
then be executed for a new part position. Because the positions are based on the
Tool Center Point (TCP) position, updates can be made to the tool information and
translated to the path.

1.1

REFERENCE TO OTHER DOCUMENTATION

1.2

Motoman MRC Robotic Arc Welding Manual (Part Number 132335-1)


Motoman MRC User Functions (Part Number 132331-1)
Motoman MRC Operator's Manual for Arc Welding (Part Number 132332-1)
Motoman MRC Operator's Manual for Handling (Part Number 132332-2)
Motoman MRC Operator's Manual for Jigless (Part Number 132332-3)
Motoman MRC Operator's Manual for Spot Welding (Part Number 132332-4)
Motoman Manipulator Manual (Part Number 132330-x) (for your robot type)

CUSTOMER SERVICE INFORMATION


If you are in need of technical assistance, contact the Motoman service staff at
(513) 847-3200. Please have the following information ready before you call:

Robot Type (K3, K6, K10, etc.)


Robot Serial Number (located on the back side of the robot arm)
Application Type (palletizing, welding, handling, etc.)
Software version (appears on power-up screen)

Relative Job Function, MRC

Page 1

MOTOMAN

NOTES

Relative Job Function, MRC

Page 2

MOTOMAN

2.0 SAFETY
It is the purchaser's responsibility to ensure that all local, county,
state, and national codes, regulations, rules, or laws relating to
safety and safe operating conditions for each installation are met
and followed.
We suggest that you obtain and review a copy of the ANSI/RIA National Safety
Standard for Industrial Robots and Robot Systems. This information can be
obtained from the Robotic Industries Association by requesting ANSI/RIA R15.06.
The address is as follows:
Robotic Industries Association
900 Victors Way
P.O. Box 3724
Ann Arbor, Michigan 48106
TEL: 313/994-6088
FAX: 313/994-3338
Ultimately, the best safeguard is trained personnel. The user is responsible for
providing personnel who are adequately trained to operate, program, and maintain
the robot cell. The robot must not be operated by personnel who have not
been trained!
We recommend that all personnel who intend to operate, program, repair, or use the
robot system be trained in an approved Motoman training course and become
familiar with the proper operation of the system.
This safety section addresses the following:

Standard Conventions (Section 2.1)


General Safeguarding Tips (Section 2.2)
Mechanical Safety Devices (Section 2.3)
Installation Safety (Section 2.4)
Programming Safety (Section 2.5)
Operation Safety (Section 2.6)
Maintenance Safety (Section 2.7)

Relative Job Function, MRC

Page 3

MOTOMAN

2.1

STANDARD CONVENTIONS
This manual includes information essential to the safety of personnel and
equipment. As you read through this manual, be alert to the four signal words:

DANGER
WARNING
CAUTION
NOTE

Pay particular attention to the information provided under these headings which are
defined below (in descending order of severity).

DANGER!
Information appearing under the DANGER caption concerns the
protection of personnel from the immediate and imminent
hazards that, if not avoided, will result in immediate, serious
personal injury or loss of life in addition to equipment damage.

WARNING!
Information appearing under the WARNING caption concerns the
protection of personnel and equipment from potential hazards
that can result in personal injury or loss of life in addition to
equipment damage.

CAUTION!
Information appearing under the CAUTION caption concerns the
protection of personnel and equipment, software, and data from
hazards that can result in minor personal injury or equipment
damage.
NOTE:

Information appearing in a NOTE caption provides additional information which is helpful in


understanding the item being explained.

Relative Job Function, MRC

Page 4

MOTOMAN

2.2

GENERAL SAFEGUARDING TIPS


All operators, programmers, plant and tooling engineers, maintenance personnel,
supervisors, and anyone working near the robot must become familiar with the
operation of this equipment. All personnel involved with the operation of the
equipment must understand potential dangers of operation. General safeguarding
tips are as follows:

2.3

Improper operation can result in personal injury and/or damage to the


equipment. Only trained personnel familiar with the operation of this robot, the
operator's manuals, the system equipment, and options and accessories should
be permitted to operate this robot system.
Do not enter the robot cell while it is in automatic operation. Programmers must
have the teach pendant when they enter the robot cell.
Improper connections can damage the robot. All connections must be made
within the standard voltage and current ratings of the robot I/O (Inputs and
Outputs).
The robot must be placed in Emergency Stop (E-Stop) mode whenever it is not
in use.
In accordance with ANSI/RIA R15.06, section 6.13.4 and 6.13.5, use
lockout/tagout procedures during equipment maintenance. Refer also to Section
1910.147 (29CFR, Part 1910), Occupational Safety and Health Standards for
General Industry (OSHA).

MECHANICAL SAFETY DEVICES


The safe operation of the robot, positioner, auxiliary equipment, and system is
ultimately the user's responsibility. The conditions under which the equipment will
be operated safely should be reviewed by the user. The user must be aware of the
various national codes, ANSI/RIA R15.06 safety standards, and other local codes
that may pertain to the installation and use of industrial equipment. Additional
safety measures for personnel and equipment may be required depending on system
installation, operation, and/or location. The following safety measures are
available:

Safety fences and barriers


Light curtains
Door interlocks
Safety mats
Floor markings
Warning lights

Check all safety equipment frequently for proper operation. Repair or replace any
non-functioning safety equipment immediately.

Relative Job Function, MRC

Page 5

MOTOMAN

2.4

INSTALLATION SAFETY
Safe installation is essential for protection of people and equipment. The following
suggestions are intended to supplement, but not replace, existing federal, local, and
state laws and regulations. Additional safety measures for personnel and equipment
may be required depending on system installation, operation, and/or location.
Installation tips are as follows:

2.5

Be sure that only qualified personnel familiar with national codes, local codes,
and ANSI/RIA R15.06 safety standards are permitted to install the equipment.
Identify the work envelope of each robot with floor markings, signs, and
barriers.
Position all controllers outside the robot work envelope.
Whenever possible, install safety fences to protect against unauthorized entry
into the work envelope.
Eliminate areas where personnel might get trapped between a moving robot and
other equipment (pinch points).
Provide sufficient room inside the workcell to permit safe teaching and
maintenance procedures.

PROGRAMMING SAFETY
All operators, programmers, plant and tooling engineers, maintenance personnel,
supervisors, and anyone working near the robot must become familiar with the
operation of this equipment. All personnel involved with the operation of the
equipment must understand potential dangers of operation. Programming tips are
as follows:

Any modifications to PART 1 of the MRC controller PLC can cause severe
personal injury or death, as well as damage to the robot! Do not make any
modifications to PART 1. Making any changes without the written permission
of Motoman will VOID YOUR WARRANTY!
Some operations require standard passwords and some require special
passwords. Special passwords are for Motoman use only. Y O U R
WARRANTY WILL BE VOID if you use these special passwords.
Back up all programs and jobs onto a floppy disk whenever program changes
are made. To avoid loss of information, programs, or jobs, a backup must
always be made before any service procedures are done and before any changes
are made to options, accessories, or equipment.
The concurrent I/O (Input and Output) function allows the customer to modify
the internal ladder inputs and outputs for maximum robot performance. Great
care must be taken when making these modifications. Double-check all
modifications under every mode of robot operation to ensure that you have not
created hazards or dangerous situations that may damage the robot or other parts
of the system.
Improper operation can result in personal injury and/or damage to the
equipment. Only trained personnel familiar with the operation, manuals,
electrical design, and equipment interconnections of this robot should be
permitted to operate the system.

Relative Job Function, MRC

Page 6

MOTOMAN

2.6

Inspect the robot and work envelope to be sure no potentially hazardous


conditions exist. Be sure the area is clean and free of water, oil, debris, etc.
Be sure that all safeguards are in place.
Check the E-STOP button on the teach pendant for proper operation before
programming.
Carry the teach pendant with you when you enter the workcell.
Be sure that only the person holding the teach pendant enters the workcell.
Test any new or modified program at low speed for at least one full cycle.

OPERATION SAFETY
All operators, programmers, plant and tooling engineers, maintenance personnel,
supervisors, and anyone working near the robot must become familiar with the
operation of this equipment. All personnel involved with the operation of the
equipment must understand potential dangers of operation. Operation tips are as
follows:

Be sure that only trained personnel familiar with the operation of this robot, the
operator's manuals, the system equipment, and options and accessories are
permitted to operate this robot system.
Check all safety equipment for proper operation. Repair or replace any nonfunctioning safety equipment immediately.
Inspect the robot and work envelope to ensure no potentially hazardous
conditions exist. Be sure the area is clean and free of water, oil, debris, etc.
Ensure that all safeguards are in place.
Improper operation can result in personal injury and/or damage to the
equipment. Only trained personnel familiar with the operation, manuals,
electrical design, and equipment interconnections of this robot should be
permitted to operate the system.
Do not enter the robot cell while it is in automatic operation. Programmers must
have the teach pendant when they enter the cell.
The robot must be placed in Emergency Stop (E-Stop) mode whenever it is not
in use.
This equipment has multiple sources of electrical supply. Electrical
interconnections are made between the controller, external servo box, and other
equipment. Disconnect and lockout/tagout all electrical circuits before making
any modifications or connections.
All modifications made to the controller will change the way the robot operates
and can cause severe personal injury or death, as well as damage the robot. This
includes controller parameters, ladder parts 1 and 2, and I/O (Input and Output)
modifications. Check and test all changes at slow speed.

Relative Job Function, MRC

Page 7

MOTOMAN

2.7

MAINTENANCE SAFETY
All operators, programmers, plant and tooling engineers, maintenance personnel,
supervisors, and anyone working near the robot must become familiar with the
operation of this equipment. All personnel involved with the operation of the
equipment must understand potential dangers of operation. Maintenance tips are as
follows:

Do not perform any maintenance procedures before reading and understanding


the proper procedures in the appropriate manual.
Check all safety equipment for proper operation. Repair or replace any nonfunctioning safety equipment immediately.
Improper operation can result in personal injury and/or damage to the
equipment. Only trained personnel familiar with the operation, manuals,
electrical design, and equipment interconnections of this robot should be
permitted to operate the system.
Back up all your programs and jobs onto a floppy disk whenever program
changes are made. A backup must always be made before any servicing or
changes are made to options, accessories, or equipment to avoid loss of
information, programs, or jobs.
Do not enter the robot cell while it is in automatic operation. Programmers must
have the teach pendant when they enter the cell.
The robot must be placed in Emergency Stop (E-Stop) mode whenever it is not
in use.
Be sure all safeguards are in place.
Use proper replacement parts.
This equipment has multiple sources of electrical supply. Electrical
interconnections are made between the controller, external servo box, and other
equipment. Disconnect and lockout/tagout all electrical circuits before making
any modifications or connections.
All modifications made to the controller will change the way the robot operates
and can cause severe personal injury or death, as well as damage the robot.
This includes controller parameters, ladder parts 1 and 2, and I/O (Input and
Output) modifications. Check and test all changes at slow speed.
Improper connections can damage the robot. All connections must be made
within the standard voltage and current ratings of the robot I/O (Inputs and
Outputs).

Relative Job Function, MRC

Page 8

MOTOMAN

3.0 RELATIVE JOB USAGE


This section will discuss the differences between relative job and standard job,
introduce the three coordinate systems used in relative job, as well as illustrate
several examples of relative job usage.

3.1

RELATIVE JOB DESCRIPTION


Relative job is distinguished from standard job in that the latter is based on a joint
coordinate system using S-, L-, U-, R-, B-, and T-axes (see Figure 3-1). Relative
Job, however, utilizes a Cartesian coordinate system, using X-, Y-, and Z-axes to
define position data (see Figure 3-2).

U+
R+

B+

T+

URL-

T-

S+

S-

Figure 3-1

Relative Job Function, MRC

B-

L+

Standard Job Pulse Position Data

Page 9

MOTOMAN

When teaching points with the programming pendant, the actual position values are
not relevant to the operator. They are, however, relevant to the robot's memory,
enabling the robot to recognize a particular position in space. Coordinate numbers
are also important when any off-line programming is taking place, as the actual
coordinate numbers are defined in the computer before being transferred to the
MRC controller (see Section 5.0 ). If desired, the MRC controller can display the
current or taught robot position as X, Y, and Z coordinates or as encoder pulse
counts for each axis. Downloaded jobs will display positional information with
encoder pulse count values or X, Y, and Z, depending on whether the job is
standard or relative.

Z Axis

X Axis

Y Axis

Figure 3-2

Relative Job X, Y, and Z Position Data

Other software functions will allow individual points or whole programs to be


temporarily shifted or permanently moved in X, Y, or Z directions. With relative
job, programs are taught as usual and then converted to X, Y, and Z positions
relative to a particular coordinate frame. When a new frame position is defined, all
points in the job are shifted in the X, Y, and Z directions as well as rotated with
respect to the origin.

Relative Job Function, MRC

Page 10

MOTOMAN

3.1.1

Coordinate Systems
In relative job, the following three different coordinate systems may be used
(see Figure 3-3), which include base coordinates, robot coordinates, and user
coordinates.

Tool Coordinates

Robot Coordinates

Base Coordinates
User Coordinates

User
Coordinates

Figure 3-3

Base, Robot, and User Coordinates

Base Coordinate System


Base coordinates apply when the robot is on a track, otherwise they are the
same as robot coordinates.
Robot Coordinate System
Robot coordinates are centered on the base rotation with zero elevation even
with the L- and U- axis motors.
User Coordinate System (24 Frames)
User coordinates are defined by three points; an origin, X direction, and Y
direction. Most relative job applications will be based on user coordinates. The
user coordinate (frame) is defined by an origin point, and X-axis datum, and a
Y-axis reference. The origin point is used to establish the location of the frame.
The XX point establishes the positive X direction. It does not matter how far
the XX point is from the origin. The Z-axis is at a right angle from the XX
point. The XY point establishes the angle of XY plane and the positive Z
direction. For more information on user coordinates, see the User Coordinate
System Section in the Operator's Manual for your specific application.

Relative Job Function, MRC

Page 11

MOTOMAN

3.1.2

Relative Job Shift Function

WARNING!
If the user coordinate number selection is changed carelessly, it
is possible that the manipulator may not move in the anticipated
direction when executing the job. Use caution when modifying
coordinate systems.

CAUTION!
If the steps taught in MOVJ are shifted, the motion to the
instructed steps might differ. Use caution so that the fixture or
other parts do not interfere with the robot's movement.
If a user coordinate system is being used in the relative job and the ORG, XX, or
XY points are modified, creating a different user coordinate (frame), a shift to the
program will occur. The relative job's programmed positions always remain the
same. Job shifting is accomplished by changing or specifying a new coordinate
location (see Figure 3-4).
Z Axis

Z Axis

Y Axis

Y Axis

X Axis

X Axis

User Coordinate No. 1


Figure 3-4

3.1.3

Defined Points After User


Coordinate Shift
Relative Job Shift Function

Tool Center Point


A well-defined Tool Center Point (TCP), also referred to as Tool Control Point (see
Section 8.0 for MRC TCP definition), is necessary for relative job. The robot will
move the TCP to the X, Y, Z position in the relative job. Changing the TCP will
affect the position to which the robot will move. The TCP is also used in the
calculation required to convert a pulse job to a relative job. Refer to the Operator's
Manual for your specific application for information on defining a TCP.

Relative Job Function, MRC

Page 12

MOTOMAN

3.1.4

Standard Pulse Job Format


An encoder is connected to the motor shaft of each axis. When a point is taught the
encoder pulse count value for each axis is stored. The encoder values are an easy
reference for the robot because they relate to the angles for each joint of the arm.
Encoder information also eliminates redundant position or direction information
which can occur with Cartesian coordinates. Redundant positions can be illustrated
with a circle in which 0 degrees and 360 degrees define the same position.
The job header information indicates that the job is in a pulse format. The
positional information is referenced separately from the move instructions.
Separation of the positional information and move instructions allows motion type
of a point to be edited without affecting its position. The position references use the
following format:
C0000 = S-axis, L-axis, U-axis, R-axis, B-axis, T-axis
The following represents the standard pulse format of a simple job, ROBCAL:
/JOB
//NAME ROBCAL
//POS
///NPOS 5,0,0,0,0,0
///TOOL 0
///POSTYPE PULSE
///PULSE
C0000=10837,26902,-37781,3031,5985,-2564
C0001=12537,24145,-42521,8902,6556,-6188
C0002=8112,37524,-34331,138,1362,-998
C0003=14160,30655,-40077,5519,3881,-2961
C0004=7555,22735,-39080,-841,8992,-1254
//INST
///DATE 1995/07/10 09:25
///ATTR SC,RW
///GROUP1 RB1
NOP
MOVJ C0000 VJ=0.78
MOVJ C0001 VJ=0.78
MOVJ C0002 VJ=0.78
MOVJ C0003 VJ=0.78
MOVJ C0004 VJ=0.78
END

Relative Job Function, MRC

Page 13

MOTOMAN

3.1.5

Relative Job Format


Relative job positioning is based on Cartesian coordinates. Three dimensional
space is defined by X-,Y-, and Z-axes. The point located at 0,0,0 is defined as the
origin. Every point also has specified angles about the X-, Y-, and Z-axes to define
the tool orientation (Rx, Ry, Rz). The frames of robot and base coordinates are in a
fixed position. With user coordinates, however, frames can be programmed
anywhere in the robot's envelope in a variety of orientations.
The job header information indicates that the job is in a relative job format. The
positional information is referenced from the robot frame. The position references
use the following format:
C0000 = X (0.000 mm), Y (0.000 mm), Z (0.000 mm)
Rx (0.00 deg), Ry (0.00 deg), Rz (0.00 deg)
The following represents the format of the same job, ROBCALR, in Relative Job
format:
/JOB
//NAME ROBCALR
//POS
///NPOS 5,0,0,0,0,0
///TOOL 0
///POSTYPE ROBOT
///RECTAN
///RCONF 0,0,0,0,0
C0000=953.401,420.794,31.145,176.00,1.34,4.95
///RCONF 1,0,0,0,0
C0001=956.305,419.772,30.668,173.42,-26.15,5.55
///RCONF 0,0,0,0,0
C0002=951.477,420.561,31.288,-179.97,39.83,6.51
C0003=953.168,419.189,29.995,145.17,-0.67,6.17
C0004=954.199,422.637,33.045,-153.07,-5.73,2.31
//INST
///DATE 1995/07/10 12:19
///ATTR SC,RW,RJ
////FRAME ROBOT
///GROUP1 RB1
NOP
MOVJ C0000 VJ=0.78
MOVJ C0001 VJ=0.78
MOVJ C0002 VJ=0.78
MOVJ C0003 VJ=0.78
MOVJ C0004 VJ=0.78
END

Relative Job Function, MRC

Page 14

MOTOMAN

3.2

EXAMPLES OF RELATIVE JOB USAGE


This section will provide examples of several different types of relative job usage
including shift for a damaged tool, job shift, shift to multiple manipulators, and
simplified off-line teaching.

3.2.1

Shift for Damaged Tool


Relative job moves the Tool Center Point (TCP) to the programmed coordinates. If
the tool is bent, it will not be in the proper position. A bent tool can be easily
compensated for by teaching a new TCP (see Section 8.0 for TCP programming
procedure). With the new TCP defined, the tool will now be aligned in the proper
position. All relative jobs that use this tool will be aligned.

3.2.2

Job Shift
After a job is taught as a standard job in the standard position, a user frame is set up
and the job is converted to a relative job. If the fixture location is incorrect, during
execution of the job, the user frame can be recreated in the new position, allowing
the robot to continue executing the job. An example follows:
1. Place the work in a standard position and teach the job as usual as usual (see
Figure 3-5). Name the job [STDJOB-1]. (The name of the job should not
exceed 8 characters in length.)

Figure 3-5

Teaching Job in Standard Position

2. Create a user frame. Initially teach the frame using the programming
pendant to teach the origin (ORG), X direction (XX), and Y plane (XY).
(See Figure 3-6.)

Relative Job Function, MRC

Page 15

MOTOMAN

Z Axis

Y Axis

X Axis

Figure 3-6

Teaching X, Y, and Z Points

3. Convert the job to a relative job. The actual operation of the job conversion is
as follows: [STDJOB -1] is modified to User Coordinate No. 1, and the relative
job, [RELJOB -1], is created. (See Section 4.0 Relative Job Operation for
keystroke information on converting the standard job.)
4. If the fixture or workpiece is moved, the user frame can be realigned by
teaching the ORG, XX, and XY points. The job can then be executed using the
modified user frame (see Figure 3-7).

User Frame
Before Modification

User Frame
After Modification

Position
During
Teaching

Figure 3-7

Relative Job Function, MRC

User Frame Before and After Modification

Page 16

MOTOMAN

5. Teach frames manually for periodic movement. The following is an example


where user frames are updated for every part:
The vision controller searches out the three defined points of the user frame (see
Figure 3-8) and each subsequent job is executed on that newly established
coordinate frame.

Camera
YA

SN
MR AC
C

Z Axis

Y Axis
c

External Computer,
Vision Controller, etc.

Position Data
of a, b, and c to
MRC Controller

X Axis

Figure 3-8

Example of Searching Out Defined Points Using External Vision Controller


An example of a program that would read the three defined points from the vision
controller and create the frame follows:
FUNCTION
NOP
LOADV P000
LOADV P001
LOADV P002

COMMENTS

Position data detected by the


external sensor are received and the
position variable is stored.

MFRAME UF# (1)


P000 P001 P002

User coordinate is generated.

MOVJ VJ = 50.0

Moved to stand-by position.


Execution of User Coordinate #1
[RELJOB-1]. (The name of the job
should not exceed 8 characters in
length.)

CALL JOB: RELJOB-1

END

Relative Job Function, MRC

Page 17

MOTOMAN

3.2.3

Using One Manipulator for Work in Multiple Positions

CAUTION!
In some cases, the robot may not be able to reach all points of
the job. Try to orient the fixture so that the robot can reach all
points without modification.
NOTE:

In the first example, it is possible to adjust individual points of each job since they are separate
jobs. The second example, however, is a better use of the robot's memory. Each situation and
its usage should be taken into consideration.
Once the manipulator has been taught a job, that job can be shifted to other
positions (see Figure 3-9).

Work

Robot

Figure 3-9

After Job is Initially Taught, Job is Shifted to Other Positions

An example of this follows:


1. Teach a job on the fixture.
2. Create user coordinates on the fixture that the above job was taught on; for
example, UF#1.
3. Convert the job created in Step 1 using the user coordinate in Step 2 to a relative
job. (See Section 4.0, Relative Job Operation, for keystroke information on
converting the standard job.)

Relative Job Function, MRC

Page 18

MOTOMAN

4. Move the workpiece to another position, and in that position, a different user
coordinate (for example, UF#2) is taught.
5. The job header screen of the relative job created in Step 3 displays the user
coordinate (UF#1) which was taught in Step 1. Edit this to be the user
coordinate which was taught in Step 4 (UF#2).
6. Use the relative job function to convert the job in Step 5 back to a pulse-type
job.
7. If another job needs to be created, repeat Steps 4 through 6 can be used.
One relative job can also be executed in multiple positions. An example of
this follows:
1. Teach a job (for example, ABCDEF) on the fixture.
2. Create user coordinates on the fixture that the above job was taught on; for
example, UF#1.
3. Use the relative job function and convert the job from Step 1 using the user
coordinate frame from Step 2.
4. Set up an identical fixture in a new position and create a different user
coordinate on the fixture; for example, UF#2.
5. You can specify in the CALL instruction which fixture (user frame) to execute
the job on.
EXAMPLE:
NOP
CALL JOB : ABCDEF UF#(2)
END
When the CALL command is executed, relative job ABCDEF, which was taught on
UF#1, works on UF#2.
6. If you need to set up additional user fixtures on which the job needs to be
executed, repeat Steps 4 and 5, creating additional user frames on the additional
fixtures.

3.2.4

Shift to Multiple Manipulators

CAUTION!
There is a possibility that the robot will not be able to execute
the job in the playback position. Be sure to press FWD/BKWD to
confirm the playback position.
A job that has been taught on one robot can be shifted to other robots on the
production line (see Figure 3-9). An example of copying a job to the next
manipulator follows:
1. Teach the job on robot 1.
2. Set up a user frame (for example UF#1) around the fixture on which the job
was taught.

Relative Job Function, MRC

Page 19

MOTOMAN

3. Convert the job created in Step 1 to a relative job using the user frame in Step 2.
4. Save the relative job to a floppy disk, using the FC1/FC2 floppy disk drive.
5. Set up a user frame using the same user frame number as was used in Step 2 on
robots 2 and 3 on their fixtures.
6. Load the relative job which was saved in Step 4.
7. Convert the job back to a standard pulse job in robots 2 and 3 if desired.

Work

Robot

No. 1

No. 2

No. 3

Figure 3-10 Shift to Multiple Manipulators

3.2.5

Simplified Off-Line Teaching

CAUTION!
Positions that are taught off-line should be verified in Teach
Mode before executing a program in play.
Simplified off-line teaching of the relative job can be executed when using a
FC1/FC2 floppy disk drive or a computer.
1. Load the following data into the computer:

Manipulator position data (X,Y,Z)

Instructions

2. Convert the data into a program (relative job) for the MRC using the computer.
3. Transfer the relative job to the MRC controller. The following two methods can
be used for data transfer:

Save job data on a floppy disk and transfer to the MRC via the Yasnac FC1
or FC2 floppy disk drive.

Send job data from the computer to the MRC controller with communication
software.

Relative Job Function, MRC

Page 20

MOTOMAN

3.3

INSTRUCTIONS USED IN RELATIVE JOB


This section includes an overview of CALL and JUMP instructions used when
executing a relative job, as well as MFRAME instructions used when generating
new user coordinates (frames).

3.3.1

CALL/JUMP

CAUTION!
When executing a relative job, the manipulator maintains its
current orientation. For this reason, during teaching, the robot
should be oriented similar to how it will be oriented in the first
step of the relative job. If the position of the robot is extremely
different from that of the robot in the first step of the relative
job, there is a possibility that the robot will not perform the
work as anticipated.
Calling a relative job is executed by using the CALL or JUMP instruction. If the
coordinate number is omitted, the job is automatically executed using the
coordinates on which it was originally converted on, for example:
CALL JOB: JOB -1
JUMP JOB: JOB -1 IF IN#(1)= OFF
If the coordinate system used during teaching is a user coordinate, when the CALL
or JUMP instruction is called up, another coordinate system other than the one used
during teaching can be used. The following is an example:
The relative job [JOB-1], which has been converted in user frame No.
1, can be executed using a different frame by specifying it in the call
instruction. [JOB-1] is executed with the user coordinate value of No. 2.
CALL JOB : JOB - 1 UF# (2)
To enter a CALL or JUMP instruction, follow these steps:
1. While in Teach Mode, move the cursor to Address side of the screen and
press EDIT.
2. Press CONTROL (F2).
3. Press JUMP (F1) or press CALL (F2).
4. Press NAME (F1).
5. Move the cursor to Call or Jump Job and press ENTER.
6. Press the ARROW UP soft key.
7. Press UF# (F1).
8. Enter the coordinate number that job will be run on and press ENTER.
9. Press ENTER.

Relative Job Function, MRC

Page 21

MOTOMAN

3.3.2

MFRAME
MFRAME is the instruction used to generate or change user coordinates based on
the position data which has been detected by the sensor, etc. The MFRAME
instruction references points that are stored in position variables. The following is
an example:
MFRAME UF#(2) PX(ORG) PX(XX) PX(XY)
To enter an MFRAME instruction, follow these steps:
1.
2.
3.
4.
5.
6.
7.

NOTE:

Press EDIT.
Press the ARROW UP soft key.
Press ARITH (F2).
Press the ARROW UP soft key.
Press the ARROW UP soft key.
Press MFRAME (F5).
Press CONST (F1) or VAR (F2).

Be sure the User Coord No. used is not already in use because it will be overwritten.
8. Enter the User_coord_no. If you need to create a user coordinate frame, refer
to Creating User Frames.
9. Press ENTER.
10. Press PX(F1), LPX (F2), PX [], or LPX[].
11. Enter the position variable with the origin (ORG).
12. Press ENTER.
13. Enter the position variable with the XX coordinate.
14. Press ENTER.
15. Enter the position variable with the XY coordinate.
16. Press ENTER.
17. Press INSERT.
18. Press ENTER.

Relative Job Function, MRC

Page 22

MOTOMAN

3.3.3

CREATING USER FRAMES


A user frame is created by taking an external reference point and defining the origin,
xx, and xy direction.
1. Press TEACH on the playback box.
2. Press CUSTOMER.
3. Press USER (F2).
4. Use FILE UP/FILE DOWN keys to find a user frame not currently in use.
5. Press SET (F5).
6. Press MORE.
7. Press TEACH (F5).
The LCD will display "Available to User Frame File."
8. Enable the programming pendant.
9. Press ORG (F1).
10. Move the robot TCP to the desired origin point.

NOTE:

Ensure the robot is not in User Coordinates to define these points.


11. Press MODIFY.
12. Press ENTER.
13. Press XX (F2).
14. Move the robot to a point on the X-axis.
15. Press MODIFY.
16. Press ENTER.
17. Press XY (F3).
18. Move to a point on the +XY plane.
19. Press MODIFY.
20. Press ENTER.
21. Disable the programming pendant.
22. Press EXIT.
The user coordinate frame is now defined.
23. To return to the job display:
a. Press DISP.
b. Press JOB.
c. Press COORD until the red lamp is lit for User Coordinate.

Relative Job Function, MRC

Page 23

MOTOMAN

NOTES

Relative Job Function, MRC

Page 24

MOTOMAN

4.0 RELATIVE JOB OPERATION


This section contains easy-to-follow, step-by-step instructions for converting a
standard job to a relative job, converting a relative job back to a standard job,
confirming both coordinates and command position, displaying differences between
command and current position, and information on editing a relative job.

CAUTION!
When executing a relative job, the manipulator maintains its
current orientation. For this reason, during teaching, the robot
should be oriented similar to how it will be oriented in the first
step of the relative job. If the position of the robot is extremely
different from that of the robot in the first step of the relative
job, there is a possibility that the robot will not perform the
work as anticipated.

CAUTION!
When teaching points in a pulse-type job created for relative job
conversion, the amount of movement between the S-, R-, and Taxis teaching points must not exceed 180. If it does exceed
180, the S-, R-, or T-axis will operate in the opposite direction.

4.1

STANDARD JOB TO RELATIVE JOB CONVERSION


To change from standard job to relative job mode, follow these steps:
1.
2.
3.
4.
5.
6.
7.
8.

Press FUNC (F5).


Press MORE.
Press REL JOB (F2).
Press SEL JOB (F1) to display the job view screen.
Move the cursor to the desired job.
Press ENTER.
Press XYZ (F4).
Use soft keys to choose one of the following coordinate systems (frames):
BASE (F1), ROBOT (F2), or USER (F3)

NOTE:

If ROBOT (F2) was selected, skip step 9. If BASE (F1) or USER (F3) was selected, complete
step 9 before proceeding to step 10.
9. If BASE (F1) or USER (F3) is selected, proceed as follows:
a. Enter User_coord no.
b. Press ENTER.

Relative Job Function, MRC

Page 25

MOTOMAN

10. Enter the new job name.


11. Press ENTER.
12. Press EXECUTE (F5) to generate a new job.
The relative job is the edited job and the status display area indicates the job name.

4.2

RELATIVE JOB TO STANDARD JOB CONVERSION


To change from relative job to standard job mode, follow these steps:
1.
2.
3.
4.
5.
6.
7.
8.
9.

Press FUNC (F5).


Press MORE.
Press REL JOB (F2).
Press SEL JOB (F1) to display the job view screen.
Move the cursor to the desired job.
Press ENTER.
Press PULSE (F3).
Move the ARROW UP soft key and press ABC to display the alphabet.
Press CANCEL to erase the old job name.

10. Enter a new job name.


11. Press QUIT (F5) to exit the alphabet screen.
12. Press ENTER.
13. Press EXECUTE (F5) to generate a new job.
The standard job is the edited job and the status display area indicates the job name.

4.3

CONFIRMING RELATIVE JOB INFORMATION

4.3.1

Coordinate Confirmation
To confirm coordinates during teaching, follow these steps:
1.
2.
3.
4.
5.
6.

Press DISP.
Press JOB (F1).
Press MORE.
Press DIS CHG (F1).
Press HEADER (F1).
To change the user coordinate number from this screen, follow these steps:
a. Display the relative job header screen.
b. Press EDIT
c. Press MORE.

Relative Job Function, MRC

Page 26

MOTOMAN

d. Press COORD (F1).


e. Use the number keys to enter the coordinate number.
The job is now a relative job with coordinate numbers that have been changed.

4.3.2

Command Position Confirmation


To confirm command position, follow these steps:
1. Display the relative job command value screen to display the XYZ form
command value screen.
2. Press DISP (F1).
3. Press POSN (F2).
4. Press CMD POS (F3) to display command position.

4.3.3

Displaying Differences between Command and Current Position


To display differences between command and current position, follow these steps:
1. Press MORE.
2. Press DIFF (F1).

4.4

EDITING THE RELATIVE JOB


As in standard job, the relative job can be edited using the programming pendant.
This includes addition, modification, and deletion of positions. However, there are
some differences between editing operations for standard job and relative job.
When converting a job from standard to relative, it is not possible to paste and then
reverse. It is also not possible to paste and reverse between relative jobs in
different coordinate systems.

Relative Job Function, MRC

Page 27

MOTOMAN

NOTES

Relative Job Function, MRC

Page 28

MOTOMAN

5.0 SIMPLIFIED OFF-LINE TEACHING SYSTEM


5.1

JOB DATA FORMAT


When relative job data is output with the FC1/FC2 floppy disk drive or data
transmission, the output file will appear as follows:
FILE NAME
/JOB
//NAME
//POS
///NPOS
///TOOL
///POSTYPE
///RECTAN
///RECONF
Cxxxx =
BCxxxx =
ECxxxx =
//INST
///DATE
///COMM
///ATTR

JOB NAME. JBI

JOB NAME
C, BC, EC, PO, BP, EX
N
t
l, m, n, o, p
X, Y, Z, Rx, Ry, Rz
X0, Y0, Z0
1, 2
YY/MM/DD HH:TT
Command Letter Row
Attribution 1, Attribution 2,...Attribution 16

///FRAME

///GROUP1
///GROUP2
NOP
MOVJ
END

m1, m2, m3
m1, m2, m3
Cxxx BCxxx ECxxx VJ=xxx.x

The pseudo command is distinguished by a single slash. Double, triple, and four
slashes are used to indicate sub-level commands. The levels of commands used are
as shown below in Figure 5-1.

Relative Job Function, MRC

Page 29

MOTOMAN

JOB

NAME
POS

NPOS
USER
TOOL
POSTYPE
PULSE
RECTAN
RECONF

INST

Figure 5-1
1. JOB
2. NAME

DATE
COMM
ATTR
FRAME
GROUP1
GROUP2
LVARS

Command Levels Used in Relative Job

Function: Shows job.


Syntax: /JOB
Function: Shows job name.
Syntax: //NAME

NAME

NAME: = Up to 8 small characters, no spaces


3. POS

Function: Shows position data.


Syntax: //POS
NPOS Function: Shows number of position data.
Syntax: //NPOS

USER

C, BC, EC, P, BP, EX

C : =
BC : =
EC : =

Number of robot axis instructed positions.

P : =
BP : =
EX : =

Number of robot axis position variables.

Number of base axis instructed positions.


Number of external (station) axis instructed
positions.

Number of base axis position variables.

Number of external (station) axis position


variables.
Function: Shows which user coordinate number is
currently selected.
Syntax: ///USER N

Relative Job Function, MRC

: = User coordinate number (1-24)

Page 30

MOTOMAN

TOOL

Function: Shows which tool number is currently


selected.
Syntax: ///TOOL N

N
POSTYPE

: = Tool number (0-23)


Function: Shows position data type.

Syntax: ///POSTYPE t

t : = PULSE | BASE | ROBOT | TOOL |


USER | MTOOL

PULSE : Pulse data


BASE : Rectangular data Base coordinate
ROBOT : Rectangular data Robot coordinate
TOOL : Rectangular data Tool coordinate
USER : Rectangular data User coordinate
MTOOL : Rectangular data Master tool
PULSE Function: Shows pulse data.
Syntax: ///PULSE

Pulse Data : = C | BC | EC | P | BP |
EX
C : = Cxxxx = S, L, U, R, B, T,
E1, E2
BC : = BCxxxx = 1, 2, 3, 4, 5, 6,
E1, E2
EC : = ECxxxx = 1, 2, 3, 4, 5, 6,
E1, E2
P : = Pxxx = S, L, U, R, B, T,
E1, E2
BP : = BPxxx = 1, 2, 3, 4, 5, 6,
E1, E2
EX : = EXxxx = 1, 2, 3, 4, 5, 6,
E1, E2
Cxxxx : = Robot axis teach position
BCxxxx : = Base axis teach position
ECxxxx : = External (station) axis teach position
Pxxx : = Robot axis position variable
Relative Job Function, MRC

Page 31

MOTOMAN

BPxxx : = Base axis position variable


EXxxx : = External (station) axis position variable
S : = S-axis pulse data
L : = L-axis pulse data
U : = U-axis pulse data
R : = R-axis pulse data
B : = B-axis pulse data
T : = T-axis pulse data
E1 : = Trepan axis 1
E2 : = Trepan axis 2
xxxx : = Numbered from 0 up to 999
RECTAN Function: Shows that defined data following the
pseudo command are rectangular data.
Syntax: ///RECTAN

Rectangular Data : C | BC | P | BP |
C : = Cxxxx = X, Y, Z, Rx, Ry,
Rz, E1, E2
BC : = BCxxxx = 1, 2, 3, 4, 5, 6,
E1, E2
EC : = ECxxxx = 1, 2, 3, 4, 5, 6,
E1, E2
P : = Pxxx = X, Y, Z, Rx, Ry,
Rz, E1, E2
BP : = BPxxx = 1, 2, 3, 4, 5, 6,
E1, E2
EX : = EXxxx = 1, 2, 3, 4, 5, 6,
E1, E2
Cxxxx = Robot axis teach position
BCxxxx = Base axis teach position
Pxxx = Robot axis position variable
BPxxx = Base axis position variable
X
= X angular data
Y
= Y angular data
Relative Job Function, MRC

Page 32

MOTOMAN

Z =
Rx =
Ry =
Rz =

Z angular data
Rx-axis rectangular data
Ry-axis rectangular data

Rz-axis rectangular data


RCONF Function : Shows configuration of defined rectangular
data that follow the pseudo command.
Syntax : ///RCONF

l, m, n, o, p

l : = 0 : Flip Position,
m: = 0 : Upper Elbow Position,
n : = 0 : Front Position,
o : = 0 : R < 180,
p : = 0 : T < 180,
4. INST

1 : No-Flip
1 : Lower Elbow
Position
1 : Back Position
1 : R > = 180
1 : T > = 180

Function: Shows instructions.


Syntax: //INST
DATE Function : Shows date and time.
Syntax : ///DATE YYYY/ MM/ DD
HH : TT

YYYY : =
MM : =
DD : =
HH : =
TT : =

Year
Month
Day
Hour

Minute
COMM Function : Shows job commentary.
Syntax : ///COMM Comment Line

Comment Line : Displays up to 32 small characters.


ATTR

Function : Shows job attributes


Syntax : ///ATTR Attribute 1,
Attribute2,...Attribute n
n : Up to 16

Attribute : JD | DD | SC | (RO | WO | RW) | RJ | CJ | VJ


JD : = Job Destroy
DD : = Directory Destroy
SC : = Save Complete
Relative Job Function, MRC

Page 33

MOTOMAN

(RO | WO | RW):

RO : =
WO : =
RW : =
RJ : =
CJ : =
VJ : =

Read Only
Write Only
Read/Write
Relative Job
Concurrent Job

Vision Job
FRAME Function: Shows relative job coordinate (frame).
Syntax: ///FRAME C

C : = BASE | ROBOT | USER | N


N : = User coordinate number (1-24)
BASE : = Base coordinate (rectangular)
ROBOT : = Robot coordinate (rectangular)
USER : = User coordinate (rectangular)
GROUP1 Function: First MOVE Control Group (Slave side of
coordinated job).
Syntax: ///GROUP1 m1, m2

=
RB1 (Robot 1)
=
RB2 (Robot 2)
=
BS1 (Base 1)
=
BS2 (Base 2)
=
ST1 (Station 1)
=
ST2 (Station 2)
=
ST3 (Station 3)
=
ST4 (Station 4)
=
ST5 (Station 5)
=
ST6 (Station 6)
GROUP2 Function: Second MOVE Control Group (Master side
of coordinated job).
Syntax: ///GROUP2 m1, m2

=
RB1 (Robot 1)
LVARS Function: Shows number of local variables.
Syntax: ///LVARS LB, LI, LD, LR, LP,
LBP, LEX

LB
LI
Relative Job Function, MRC

: = Shows number of byte type local variables.


: = Shows number of integer type local
variables.

Page 34

MOTOMAN

LD

: = Shows number of double accuracy type local


variables.

LR

: = Shows number of actual number type


variables.

LP

: = Shows number of robot axis position type


variables.

LBP : = Shows number of base axis position type


variables.

LEX : = Shows number of station axis position type


variables.

5.2

EXAMPLES OF JOB DATA

5.2.1

Relative Job With Robot Axes and User Frame 3


The following is an example of job data for a job which uses a single robot and
User Frame 3.
FILE NAME: SAMPLE 1.JBI Robot Axes and User Frame 3 Relative Job
/JOB
//NAME SAMPLE1
//POS
///NPOS 5,0,0,0,0,0
///USER 3
///TOOL 0
///POSTYPE USER
///RECTAN
///RCONF 0,0,0,0,0
C0000 = 171.314, 36.037, 36.032, 179.99, -1.52, 85.23
C0001 = 39.290, 36.037, 36.014, 179.99, -1.51, 85.23
C0002 = 39.292, -65.965, 36.016, 179.99, -1.51, 85.23
C0003 = 39.288, -65.949, -75.987, 179.99, -1.52, 85.24
C0004 = 171.314, 36.037, 36.032, 179.99, -1.52, 85.23
//INST
///DATE 1993/07/23 16:34
///ATTR SC, RW, RJ
///GROUP1 RB1
NOP
MOVJ C0000 VJ = 50.00
MOVL C0001 V = 46.0
MOVL C0002 V = 46.0
MOVL C0003 V = 46.0
MOVJ C0004 VJ = 50.00
END

Relative Job Function, MRC

Page 35

MOTOMAN

5.2.2

Robot Axes + Base Axes (Base Frame)


The following is an example of job data for a job which uses a single robot on a
2-axis track.
FILE NAME: SAMPLE 2.JBI Robot Axes + Base Axes (Base Frame)
/JOB
//NAME SAMPLE2
//POS
///NPOS 3,3,0,0,0,0
///TOOL 0
///POSTYPE BASE
///RECTAN
///RCONF 0,0,0,0,0
C0000 = -415.000, 0.000, 770.000, 180.00, -90.00, 0.00
C0001 = 874.552, -626.159, 1031.906, 64.76, -37.91, 95.22
C0002 = 1344.117, 582.515, 1090.264, 52.72, -37.72, 18.41
BC0000 = 0.000, 0.000
BC0001 = 1343.952, -531.981
BC0002 = 1838.601, 830.637
//INST
///DATE 1993/07/23 17:36
///ATTR SC, RW, RJ
///GROUP1 RB1, BS1
NOP
MOVJ C0000 BC0000 VJ = 25.00
MOVJ C0001 BC0001 VJ = 25.00
MOVJ C0002 BC0002 VJ = 25.00
END

5.2.3

Robot Axes + Base Axes + Station Axes (Base Frame,


Synchronous Job)
The following is an example of job data for a synchronous job which uses a single
robot on a 2 axis track with a 2 axis positioner.
FILE NAME: SAMPLE3.JBI Robot Axes + Base Axes + Station Axes (Base
Frame, Synchronous Job)
/JOB
//NAME SAMPLE3
//POS
///NPOS 2,2,2,0,0,0
///TOOL 0

Relative Job Function, MRC

Page 36

MOTOMAN

///POSTYPE BASE
///RECTAN
///RCONF 0,0,0,0,0
C0000 = -494.484, -248.122, 1090.264, 52.72, -37.2, 118.41
C0001 = 157.216, -187.240, 1079.290, 84.07, -35.63, 118.76
BC0000 = 0.000, 0.000
BC0001 = 550.647, 485.316
///POSTYPE PULSE
///PULSE
EC0000 = 7103, 27536
EC0001 = 7230, 27577
///INST
///DATE 1993/07/23 18:11
///ATTR SC, RW, RJ
///GROUP1 RB1, BS1, ST1
NOP
MOVJ C0000 BC0000 EC0000 VJ = 25.00
MOVJ C0001 BC0001 EC0001 VJ = 25.00
END

5.2.4

Robot Axes + Base Axes + Station Axes (Base Frame,


Coordinated Job)
The following is an example of job data for a coordinated job which uses a single
robot on a 2 axis track coordinated with a 2 axis positioner.
FILE NAME: SAMPLE4.JBI Robot Axes + Base Axes + Station Axes (Base
Frame, Coordinated Job)
/JOB
//NAME SAMPLE4
//POS
///NPOS 2,2,2,0,0
///TOOL 0
///POSTYPE BASE
///RECTAN
///RCONF 0,0,0,0,0
C0000 = -494.484, -248.122, 1090.264, 52.72, -37.2, 118.41
C0001 = 157.216, -187.240, 1079.290, 84.07, -35.63, 118.76
BC0000 = 0.000, 0.000
BC0001 = 550.674, 485.316
///POSTYPE PULSE

Relative Job Function, MRC

Page 37

MOTOMAN

///PULSE
EC0000 = 7103, 27536
EC0001 = 7230, 27577
///INST
///DATE 1993/07/23 18:11
///ATTR SC, RW, RJ
///GROUP1 RB1, BS1
///GROUP2 ST1
NOP
MOVJ C000 BC000 VJ = 25.00 +MOVJ EC000 VJ = 25.00
MOVJ C001 BC001 VJ = 25.00 +MOVJ EC001 VJ = 25.00
END

5.2.5

Robot Axes + Robot Axes (Base Frame, Coordinated Job)


The following is an example of job data for a coordinated job which uses
two robots.
FILE NAME: SAMPLE5.JBI Robot Axes + Robot Axes (Base Frame,
Coordinated Job)
/JOB
//NAME SAMPLE5
//POS
///NPOS 10,0,0,0,0,0
///TOOL 0
///POSTYPE BASE
///RECTAN
///RECONF 0,0,0,0,0
C0000 = -765.337, 202.936, 1118.673, 0.00, 1.59. 160.42
///TOOL 1
C0001 = 856.025, -93.532, 1134.850, 1.43, -25.69, 172.39
///TOOL 0
C0002 = -831.637, 122.110, 1130.506, -0.36, 6.81, 167.30
///TOOL 1
C0003 = 812.058, -39.516, 1162.852, 1.42, -25.68, 172.39
///TOOL 0
C0004 = 767.908, 249.592, 1071.301, 0.00, 1.59, 157.08
///TOOL 1
C0005 = 882.057, -101.531, 10700.875, 1.42, -25.68, 172.40
///TOOL 0
C0006 = 557.794, 402.473, 1033.164, 0.63, -7.68, 137.99

Relative Job Function, MRC

Page 38

MOTOMAN

///TOOL 1
C0007 = 920.071, -149.510, 1042.893, 1.41, -25.67, 172.41
///TOOL 0
C0008 = 765.337, 202.936, 1118.673, 0.00, 1.59, 160.42
///TOOL 1
C0009 = 856.025, -93.532, 1134.850, 1.43, -25.69, 172.39
//INST
///DATE 1993/07/23 16:41
///ATTR SC, RW, RJ
///GROUP1 RB1
///GROUP2 RB2
NOP
MOV C000 VJ = 50.00 +MOVJ C0001 VJ = 50.00
SMOVL C0002 V =46.0 +MOVL C0003
SMOVL C0004 V = 46.0+MOVL C0005
MOVL C0006 V = 46.0 +MOVL C0007 V=11.0
MOVJ C0008 VJ = 50.0 +MOVJ C0009 VJ = 50.0
END

5.3

CONFIGURATION OF POSITION DATA


This section includes information on the configuration of position data for a robot
axis, robot and station axes, and robot and base axes. The robot axis, base axis,
and station axis position data in each of the coordinate systems are as shown below
(see Figures 5-2, 5-3, and 5-4).

Zb

Base
Coordinate

0b

Base Axis Coordinate Value


(Xb, Yb, Zb, RXb, RYb, RZb)

Yb

Station Axis Pulse


Value (W1, W2)
Xb

Base Axis Coordinate Value


(X0, Y0, Z0)

Figure 5-2

Relative Job Function, MRC

Base Coordinate System

Page 39

MOTOMAN

Zr

Zb

Robot
Coordinate

Base
Coordinate
Robot Axis Coordinate Value
(Xr, Yr, Zr, RXr, RYr, RZr)
0b

Yb
Yr
Station Axis Pulse
Value (W1, W2)

Xb

Base Axis Coordinate Value


(X0, Y0, Z0)

Figure 5-3

Xr

Robot Coordinate System

Zb
Zu

User
Coordinate

Base
Coordinate
User Axis Coordinate Value
(Xu, Yu, Zu, RXu, RYu, RZu)
0b

Yb

Station Axis Pulse


Value (W1, W2)
Yu
Xb

Base Axis Coordinate Value


(X0, Y0, Z0)

Figure 5-4

Xu

User Coordinate System

The configuration of position data for a robot axis, robot and station axes, and
robot and base axes is as shown below:
1. ROBOT AXIS
R1 = X, Y, Z, RX, RY, RZ + TYPE

The position of the specified coordinate system has a coordinate value.

2. ROBOT AXIS + STATION AXIS


R1 = X, Y, Z, RX, RY, RZ + TYPE

Relative Job Function, MRC

Page 40

MOTOMAN

S1 = W1, W2

The robot has the coordinate value of the specified coordinate system. The
station axis, however, continues to have a pulse value.

3. ROBOT AXIS + BASE AXIS


R1 = X, Y, Z, RX, RY, RZ + TYPE
B1 = X0 , Y0 , Z0

5.4

The robot has the coordinate value of the specified coordinate system.
The base axis.

Distance from base coordinate point of origin if base coordinate system


is specified.

Distance from robot coordinate point of origin if robot coordinate system


is specified.

Distance from user coordinate point of origin if user coordinate system


is specified.

CONFIGURATION OF THE MANIPULATOR


In the description of the job position data using X, Y, and Z coordinates, there are
several configurations of the robot that satisfy data. One configuration must be
specified. Up to five types of configurations are used with the MRC Controller.
The number of configurations depends on the type of robot. The five types of
configurations used with the MRC Controller are as follows:

5.4.1

Specification of Wrist Angle


1. The angle at the R-axis for a three-axis wrist robot can be specified by either of
the following two methods:

The "flip, no-flip" method (as shown in Figure 5-5)

The "R < 180 or R > = 180" method (as shown in Figure 5-6 )

When the R-axis is in range A, it is in the flip position. When it is in range B, it is


in the no-flip position (see Figure 5-5).
For robots with an R-axis that turns 180 or more, it must be specified that the axis
has made a turn from -90 to 90, 270 to 360, or -360 to -270. Similar
specification is also required for position B (see Figure 5-6).

Relative Job Function, MRC

Page 41

MOTOMAN

Flip Position

No-Flip Position

0
B

-90 < < 90


270 < <= 360, -360 <

90 < <= 270


-270 < <= -90

<= -270

NOTE: is the angle measured from the home position of the R-axis.
Figure 5-5

Flip and No-Flip Positions of Wrist Angle

R >180

R < 180

360

-360

-180 180
-180 < <180

180 < <360, -360 < <-180

NOTE: is the angle measured from the home position of the R-axis.
Figure 5-6

Relative Job Function, MRC

Angle of R-Axis

Page 42

MOTOMAN

2. The angle at the T-axis for a three-axis wrist robot must be specified as either
greater or less than 180 (see Figure 5-7).

T >180

T < 180

360

-360

-180 180
-180 <

180 <

<180

<360, -360 <

<-180

NOTE: T is the angle measured from the home position of the T-axis.
Figure 5-7

Angle of T-Axis

The above specifications determine the positions of the R-, B-, and T-axes. This
operation is required for L, K, and V type six-axis robots.

5.4.2

Specification of the Base Three Axes


1. Specify whether the pivot of the B-axis is on the right or left side of the S-axis
pivot, as seen from the right side of the L-and U-axes. When the B-axis pivot
is on the right side of the S-axis pivot, the robot is in the front position. If the B
pivot is left of the S pivot, the robot is in the back position.
Figure 5-8 shows the S-axis turned at 0 and 180. The front and back positions are
determined as seen from the right side of the L-and U-axes.

Relative Job Function, MRC

Page 43

MOTOMAN

S-axis Turned at 0
BACK POSITION

Figure 5-8

S-axis Turned at 180


BACK POSITION

FRONT POSITION

FRONT POSITION

Front and Back Positions of S-Axis Turned at 0 and 180

These specifications are required for K and V type six-axis robots. They are,
however, not applicable for Type L robots because they always take the front
position.
2. Specify the form of the L-and U-axis as seen from the right. The upper elbow
position (A) and lower elbow position (B) are shown below in Figure 5-9.
This specification is required for V type six-axis robots. This is not applicable for
L or K type robots because they always take the upper elbow position.

Upper Elbow Position

Figure 5-9

Relative Job Function, MRC

Lower Elbow Position

Upper and Lower Elbow Positions of L- and U- Axes

Page 44

MOTOMAN

5.5

ROBOT FORM CONTROL METHODS


When a relative job is executed, because the robot is not being programmed in pulse
counts, the robot is not always able to use the desired form to reach a defined point.
The following two methods are ways in which the robot is able to decide on which
form it will use to reach defined points of a particular job:
1. Moving the R-and T-axes to preserve the sign of the B-axis.
2. Moving R-, B-, and T-axes to preserve the robot's form of the destination
point.

5.5.1

Moving the R-and T-Axes to Preserve the Sign of the B-Axis


This method is used to keep the angle of the B-axis from deviating from the "+"
range to the "-" range. It can be used to prevent the B-axis from moving past 0 in a
job (see Figure 5-10). The R-and T-axes move to reach a defined point, preserving
the sign of the B-axis. This method is especially useful in a job shift, however
should not be used with off-line programming because the form of the robots arm
will be changed with the movement of the R-and T-axes.

+
0

Figure 5-10 B-Axis "+" and "-" Range

Relative Job Function, MRC

Page 45

MOTOMAN

If the angle of the B-axis moves past 0, this method will control the robot's arm to
move the R-axis 180 in the opposite position so that the B-axis does not deviate
from "+" or "-" (see Figures 5-11 and 5-12).
0

Figure 5-11 Actual Motion of the R-Axis

Figure 5-12 Anticipated Motion of the R-Axis

Relative Job Function, MRC

Page 46

MOTOMAN

5.5.2

Moving R-, B-, and T-Axes to Preserve the Robot's Form of the
Destination Point

CAUTION!
Use caution when using this method with a job shift. Robot
movement can be unpredictable, resulting in personal injury or
damage to equipment.

CAUTION!
When teaching points in a pulse-type job created for relative job
conversion, the amount of movement between the S-, R-, and Taxis teaching points must not exceed 180. If it does exceed
180, the S-, R-, or T-axis will operate in the opposite direction.
Because the encoder which reads pulse position is not used in relative job, the robot
recognizes the position of a job using X, Y, and Z coordinates. In this method, the
B-axis is moved to reach a defined point or changing the sine of the R-axis to
preserve the form of all other axes. Because the form of all other axes is preserved,
this method is especially useful when used with off-line teaching.
Caution should be used when using this method with a job shift. If the teaching
position is too close to the pole changing point, the robot may move in a direction
opposite to that of the anticipated motion. An example follows:
If during teaching, for example, a standard job, the angle of the R-axis is near 90
or less and the position is shifted, the angle of the R-axis may exceed 90. Before
the shift, the wrist is in a flip position. After shifting it is in a no-flip position (see
Figure 5-13).

R Axis
0
Flip
-90

90
No-Flip

Figure 5-13 Flip and No-Flip Positions of the R-Axis


\

Relative Job Function, MRC

Page 47

MOTOMAN

As shown below in Figure 5-14, if the wrist is already in a flip position, when
shifted, the wrist will remain in a flip position. The wrist of the robot will not
deviate between flip and no-flip positions as anticipated. The upper left-hand figure
shows the current robot position. The anticipated motion of the robot is as shown
in the lower figure, however it is possible that the robot's motion may be as shown
in the upper right-hand figure. The tool angle remains the same between the
original and shifted positions, however, the motion is different and may cause
interference with the workpiece or other equipment. Be sure to confirm the motion
of the robot when using this method.

R Axis
0

-90

90

ACTUAL ROBOT POSITION

-90

-90

90

ACTUAL ROBOT MOTION

90

ANTICIPATED ROBOT MOTION

Figure 5-14 Robot Motion During a Job Shift

The parameter and values for the robot form control methods are as shown below in
Table 5-1:

Table 5-1

Parameter and Values Used in Robot Form Control Methods

PARAMETER

CONTENTS AND SET VALUE

INITIAL VALUE

S2C195

0: Moving the R-and T-axes to preserve the 0


sign of the B-axis
1: Moving R-, B-, and T-axes to preserve
the robot's form of the destination point

Relative Job Function, MRC

Page 48

MOTOMAN

To change the parameter to use either of the above mentioned methods, follow
these steps:
1.
2.
3.
4.
5.
6.
7.
8.
9.

Go to CUST.
Press MORE.
Press ORG.
At the prompt, enter your 8-digit code.
Press ENTER.
Press PMTR.
Choose parameter SC.
Select S2C.
Press SEARCH.

10. Enter the numbers 195.


11. Press MODIFY.
12. Press 0 or 1.
13. Press ENTER.
The parameter has now been changed to use the desired method.
14. Cycle power from Off to On.

Relative Job Function, MRC

Page 49

MOTOMAN

NOTES

Relative Job Function, MRC

Page 50

MOTOMAN

6.0 ALARM AND ERROR MESSAGES


6.1

ALARM MESSAGES
Table 6-1

6.2

Alarm Messages

ALARM #

MESSAGE

MEANING

5760

Undefined User Frame

Specified Frame Not


Registered When CALL
Instruction Executed

5960

MFRAME Error

User Frame Could Not Be


Generated Because File Is
Broken

5990

Two Steps Same Line


(3 Steps)

Frame is Invalid When


Position Data for All 3 Points
are on Same Line

ERROR MESSAGES
Table 6-2

Error Messages

ERROR #

MESSAGE

MEANING

0300

Undefined User Frame

User Frame Specified During


Conversion Has Not Been
Registered

2460

Specified Job is Already Converted

Job Specified During Conversion


Has Already Been Converted To
This Job Type

2470

Wrong Job Type

Standard Job Coordinate Cannot Be


Established

2480

Wrong Job Coordinates Setting

Coordinates Other Than User


Coordinate Cannot Be Modified

2490

Execute FWD/BWD Operation Once Before Editing the Relative Job,


Press FWD/BWD Operation Once

2500

Cannot Convert the Job

A Job Which Only Has a Station


Axis and No Group Axes Cannot
Be Converted to a Relative Job

Page 51

MOTOMAN

Relative Job Function, MRC

Table 6-3

Messages

MESSAGE

MEANING

Steps Outside of Working Range


Have Been Created

When the Relative Job or Standard Job


is Modified, Steps Outside of the
Working Range are Calculated

Relative Job Function, MRC

Page 52

MOTOMAN

7.0 INSTRUCTIONS USED IN RELATIVE JOB


Table 7-1

List of Instructions

MFRAME
FUNCTION
(Make Frame)

CALL

Relative Job Function, MRC

Instruction used for creating a user frame after 3


defined points of position data have been established.
Format: MFRAME UF#(xx) (Data1) (Data2) (Data3)

ADDITIONAL
INFORMATION

UF# (User Frame Number)


DATA 1 Position Data of Defined Point ORG
DATA 2 Position Data of Defined Point XX
DATA 3 Position Data of Defined Point XY
IF Syntax

EXAMPLE OF
USAGE

MFRAME UF#1 P001 P002 P003

FUNCTION

Instruction used to call specific job to be executed.


When relative job is called, if there is a designated user
frame number, the job with that frame number will be
executed.

ADDITIONAL
INFORMATION

JOB: (Job Name)


IG# (Input Group Number)
B (Variable Number)
UF# (User Frame Number)
IF Syntax

EXAMPLE OF
USAGE

CALL JOB : TEST-1


CALL JOB: TEST -1 UF#(2)
CALL IG# (02)
(The job is called by the input signal pattern. In this
case, it is not possible to call JOB 0.)

Page 53

MOTOMAN

Table 7-1
JUMP

Relative Job Function, MRC

List Of Instructions (continued)


FUNCTION

Instruction used to jump to a specified job or label.


When JUMP is used during a relative job, if a user
frame has been specified, that job number's frame will
be executed.

ADDITIONAL
INFORMATION

JOB: (Job Name)


IG# (Input Group Number)
B (Variable Number)
(Label Name)
UF# (User Frame Number)
IF Syntax

EXAMPLE OF
USAGE

JUMP JOB: TEST1 IF IN# (14) = OFF

Page 54

MOTOMAN

8.0 MRC TOOL CENTER POINT DEFINITION


A well-defined Tool Center Point (TCP) is necessary for most applications,
especially any type of process work. A well-defined TCP allows easier teaching
and a much more accurate travel speed. An accurate TCP definition is a must for
welding, sealing, and cutting.
The MRC is capable of storing up to 24 different TCP's:

The first TCP is called the Standard Tool, or Tool 0. Robots with one tool are
concerned only with the Standard Tool.
The remaining 23 TCP's are called Universal Tools, or Tools 1-23. Robots
with multiple tools (such as two-handed grippers) use Universal Tools along
with the Standard Tool.

There are two methods for defining the TCP: manual TCP definition and automatic
TCP definition.

8.1

MANUAL TCP DEFINITION


Manual TCP is used when a tool has definite dimensions and orientation. To define
a TCP manually, follow these steps:
1.
1.
2.
3.
4.
5.
6.
7.

Press TEACH.
Press CUSTOMER.
Press TOOL (F1).
Move the cursor to the first tool dimension.
Press MODIFY.
Using the data keys, input the dimension of the tool relative to the wrist flange.
Press ENTER.
Repeat steps 3 through 6 for each tool dimension.

The TCP is now defined. To ensure accuracy of the TCP, use the rotate-about X,
Y, and Z keys to roll, bend, and twist the tool around the TCP (see Figure 8-1).
The TCP should not move.
FLANGE COORDINATES
Xf
TOOL COORDINATES
Yf
Zf

Zf

TOOL CENTER POINT

Figure 8-1

Relative Job Function, MRC

Page 55

Tool Center Point

MOTOMAN

8.2

AUTOMATIC TCP DEFINITION


Automatic TCP definition is used when a tool has a more complex geometry (for
example, angles or offsets).
To define a TCP automatically, follow these steps:
1. Put a pointer (with the sharp end up) on the fixture. Ensure that the pointer is
placed so that it will not move.
2. Press TEACH on the playback box.
3. Press CUSTOMER.
4. Press TOOL (F1).
5. Press CALIB (F4).

NOTE:

If calibration points have already been taught, it will be necessary to press DATA CL (F3) and
EXECUTE (F5) in order to clear the old values.
6. Press TEACH on the programming pendant.
7. Enable the programming pendant by pressing ENABLE.
8. Using the axis keys, move the robot towards the pointer until the tip of the wire
touches the tip of the pointer (see Figure 8-2).

TOOL

WIRE
POINTER

Figure 8-2
9.
10.
11.
12.
13.

Pointer

Press MODIFY.
Press ENTER. The first TC point is now programmed.
Press TC down arrow (F1) to select the next point to be programmed.
Repeat steps 8 through 10 for each TC point.
After all five TC points have been programmed, press CALC (F5).

The tool display screen (which shows the newly calculated XYZ dimensions of
the tool) appears.
14. Move the cursor to the right side of the screen to input tool angle dimensions.

Relative Job Function, MRC

Page 56

MOTOMAN

EXAMPLE OF ENTERING TOOL ANGLE DIMENSIONS FOR A


STANDARD TORCH:
a. Move the cursor to the Ry dimension.
b. Press MODIFY.
c. Using the data keys, manually enter -45 degrees.
d. Press ENTER.

Relative Job Function, MRC

Page 57

MOTOMAN

NOTES

Relative Job Function, MRC

Page 58

MOTOMAN

INDEX
A

ALARM AND ERROR MESSAGES, 51


ALARM MESSAGES, 51
AUTOMATIC TCP DEFINITION, 56

OPERATION SAFETY, 7

C
CALL/JUMP, 21
COMMAND POSITION CONFIRMATION, 27
CONFIGURATION OF POSITION DATA, 39
CONFIGURATION OF THE MANIPULATOR, 41
CONFIRMING RELATIVE JOB INFORMATION, 26
COORDINATE CONFIRMATION, 26
COORDINATE SYSTEMS, 11
CREATING USER FRAMES, 23
CUSTOMER SERVICE INFORMATION, 1

D
DISPLAYING DIFFERENCES BETWEEN
COMMAND AND CURRENT POSITION, 27

E
EDITING THE RELATIVE JOB, 27
ERROR MESSAGES, 51
EXAMPLE OF ENTERING TOOL ANGLE DIMENSIONS FOR
A STANDARD TORCH, 57
EXAMPLES OF JOB DATA, 35
EXAMPLES OF RELATIVE JOB USAGE, 15

G
GENERAL SAFEGUARDING TIPS, 5

I
INSTALLATION SAFETY, 6
INSTRUCTIONS USED IN RELATIVE JOB, 21, 53
INTRODUCTION, 1

P
PROGRAMMING SAFETY, 6

R
REFERENCE TO OTHER DOCUMENTATION, 1
RELATIVE JOB DESCRIPTION, 9
RELATIVE JOB FORMAT, 14
RELATIVE JOB OPERATION, 25
RELATIVE JOB TO STANDARD JOB CONVERSION, 26
RELATIVE JOB USAGE, 9
RELATIVE JOB WITH ROBOT AXES AND USER FRAME 3 , 35
ROBOT AXES + BASE AXES (BASE FRAME), 36
ROBOT AXES + BASE AXES + STATION AXES (BASE
FRAME, COORDINATED JOB), 37
ROBOT AXES + BASE AXES + STATION AXES (BASE
FRAME, SYNCHRONOUS JOB), 36
ROBOT AXES + ROBOT AXES (BASE FRAME,
COORDINATED JOB), 38
ROBOT FORM CONTROL METHODS, 45

S
SAFETY, 3
SHIFT FOR DAMAGED TOOL, 15
SHIFT TO MULTIPLE MANIPULATORS, 19
SIMPLIFIED OFF-LINE TEACHING SYSTEM, 29
SIMPLIFIED OFF-LINE TEACHING, 20
SPECIFICATION OF THE BASE THREE AXES, 43
SPECIFICATION OF WRIST ANGLE, 41
STANDARD CONVENTIONS, 4
STANDARD JOB TO RELATIVE JOB CONVERSION, 25
STANDARD PULSE JOB FORMAT, 13

TOOL CENTER POINT, 12

JOB DATA FORMAT, 29


JOB SHIFT, 15

USING ONE MANIPULATOR FOR WORK IN MULTIPLE


POSITIONS, 18

MAINTENANCE SAFETY, 8
MANUAL TCP DEFINITION, 55
MECHANICAL SAFETY DEVICES, 5
MFRAME, 22
MOVING R-, B-, AND T-AXES TO PRESERVE THE ROBOT'S
FORM OF THE DESTINATION POINT, 47
MOVING THE R-AND T-AXES TO PRESERVE THE SIGN OF
THE B-AXIS, 45
MRC TOOL CENTER POINT DEFINITION, 55

Relative Job Function, MRC

MOTOMAN