Download as pdf or txt
Download as pdf or txt
You are on page 1of 168

MRC Robot Controller

MRC Advanced Programming


Training Manual

Revised 03/30/01

NOT FOR RESALE

July 1, 1994

MOTOMAN
805 Liberty Lane
West Carrollton, OH 45449
TEL: (937) 847-6200 FAX: (937) 847-6277
24-HOUR SERVICE HOTLINE: (937) 847-3200
WWW.MOTOMAN.COM

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.

©1994 by MOTOMAN
All Rights Reserved

Because we are constantly improving our products, we reserve the right to change specifications
without notice. YASNAC and MOTOMAN are registered trademarks of YASKAWA Electric
Manufacturing.
PREFACE

PURPOSE OF THIS MANUAL


This MRC Advanced Programming Training manual is to be used in conjunction with
MOTOMAN’s MRC Advanced Programming Class and is not intended for use as a training
tool in itself. This manual is not for resale and will not be sold separately.

WHO SHOULD USE THIS MANUAL


This manual should be used by attendees of MOTOMAN’s MRC Advanced Programming Class.
Do not use this manual as a reference tool unless you have attended the
MRC Advanced Programming Class and have received certification through MOTOMAN, Inc.

HOW TO USE THIS MANUAL


This manual has been written in accordance with MOTOMAN’s MRC Advanced
Programming Class daily course structure. It is designed to assist students in understanding
MRC functions for a MOTOMAN robot. Use this manual as a step-by-step guide through
the MRC Advanced Programming Class.

DISCLAIMER
Be aware that keystrokes described in this manual may vary with SUBSET, STANDARD,
EXPAND language levels, LEARN ON/OFF settings, software versions, and purchased
software options.

NOTE: All MOTOMAN Technical Education Center Training Manuals are copy-
righted. Do not copy any portion of these manuals.
Table of Contents

Contents
1.0 CUSTOMER KEY FEATURES .................................................................................. 1-1
1.1 Changing the Registered User ID Number ....................................................... 1-1
1.2 Setting DATE / TIME ........................................................................................ 1-2
1.3 Accessing System Information .......................................................................... 1-3
1.4 Registering Variables Names ............................................................................ 1-5
1.5 Registering I/O Names ...................................................................................... 1-7
1.6 Customizing MRC Play Speed Key ................................................................... 1-8
1.6.1 Customizing the PLAY SPD Key ............................................................. 1-8
1.6.2 Customizing the PLAY SPD Key with System Construction Parameters 1-8
1.6.3 Changing velocity units (cm/min, mm/sec, or in/min) ............................. 1-9
1.7 Customizing System Conform Parameters ..................................................... 1-10
1.7.1 SLOW, MEDIUM, FAST, INCHING manual speeds (Linear Jogging)
& the HIGH SPD Key ..................................................................................... 1-10
1.7.2 Playback Speed Control ........................................................................ 1-11
1.7.3 Jog Operation Speed Limit .................................................................... 1-11
1.7.4 Positioning Level Zone (PL).................................................................. 1-11
1.7.5 FWD Key Execution .............................................................................. 1-12
1.7.6 COORD Change/Not Change at JOB CONTENT Screen Change........ 1-12
1.7.7 Address Setting at MRC Power ON....................................................... 1-13
1.7.8 Job List Display ..................................................................................... 1-13
1.7.9 Playback at STEP Cycle Mode ............................................................. 1-13
1.8 MRC Reserved Job List ................................................................................... 1-14
2.0 SOFT LIMITS ......................................................................................................... 2-1
2.1 Soft Limits for S, L, U, R, B, & T ...................................................................... 2-1
2.1.1 Displaying Pulse Position to Determine Soft Limit Data ........................ 2-1
2.1.2 Defining/Modifying Operating Soft Limits of Individual Axes ................ 2-2
2.2 The Cube Soft Limit (TCP Operating Envelope) ............................................. 2-2
2.2.1 Displaying BASE XYZ Position to Determine Cube Limit Data.............. 2-3
2.2.2 Defining Cube Soft Limits of TCP .......................................................... 2-3
2.3 Temporary Release of Soft Limits ..................................................................... 2-4
3.0 ROBOT ORIGIN .......................................................................................................... 3-1
3.1 Home Position Calibration ................................................................................. 3-1
3.2 Operation Origin ............................................................................................... 3-1
4.0 CUBIC INTERFERENCE ZONES ........................................................................... 4-1
4.1 Defining Cubes by CUBE LENGTH Method ................................................... 4-1
4.2 Defining Cubes by MIN-MAX Method .............................................................. 4-3
4.3 Entering & Modifying Cubic Interference Data ............................................... 4-4
4.4 Entering Data Directly into Parameters ........................................................... 4-4
4.5 Displaying “SP OUT” Diagnostics for Cubes .................................................. 4-7
4.6 Programming WAIT Instructions with “SOUT” .............................................. 4-7

MRC Advanced Programming Training Manual Page i © MOTOMAN


Table of Contents

5.0 C. I/O USER MESSAGES & ALARMS ...................................................................... 5-1


5.1 Registering Concurrent I/O User Messages ...................................................... 5-1
5.2 Registering Concurrent I/O User Alarms .......................................................... 5-2
5.3 Accessing System I/O Messages & Alarms ....................................................... 5-3
5.4 Displaying the I/O Monitor ............................................................................... 5-3
5.5 Displaying User & System Alarm Lists ............................................................. 5-4
5.6 Displaying CONCURRENT I/O Program ......................................................... 5-5
6.0 MRC INFORM II INSTRUCTION SET .................................................................... 6-1
6.1 Setting the Instruction Set ................................................................................ 6-2
6.2 Setting Learning On/Off ................................................................................... 6-3
6.3 Use of PRIOR and SAME ................................................................................. 6-4
7.0 SEARCH JOB CONTENT FOR LINE, STEP, INST, LABEL, OR TAG ............... 7-1
7.1 Searching for a Line .......................................................................................... 7-1
7.2 Searching for a Step .......................................................................................... 7-1
7.3 Searching for an Instruction ............................................................................. 7-2
7.4 Searching for a Label ........................................................................................ 7-2
7.5 Searching for a Tag ........................................................................................... 7-3
8.0 DEFAULT SPEED INSTRUCTION ......................................................................... 8-1
9.0 NWAIT, CWAIT, & UNTIL INSTRUCTIONS .......................................................... 9-1
9.1 Programming the NWAIT Tag .......................................................................... 9-2
9.2 Programming the CWAIT Instruction ............................................................... 9-2
9.3 Programming the UNTIL Tag .......................................................................... 9-2
10.0 VARIABLE TYPES & ADDRESSES ..................................................................... 10-1
10.1 Local & Global Variables ............................................................................... 10-1
10.1.1 Scalar and Array Address Numbers ................................................... 10-2
10.1.2 Reserving Local Variables in the Subheader ...................................... 10-2
10.2 Arithmetic Variables ....................................................................................... 10-3
10.3 Position Variables ........................................................................................... 10-4
10.4 CARTESIAN (XYZ) COORDINATE FRAMES ................................................ 10-5
10.4.1 Robot Frame (RF) .............................................................................. 10-5
10.4.2 Base Frame. ....................................................................................... 10-6
10.4.3 User Frame (UF#1-24) ..................................................................... 10-6
10.4.4 Tool Frame (TF) ................................................................................ 10-7
10.4.5 Master Tool Frame (MTF) ................................................................. 10-8
10.4.6 Tool No. Selection for Multiple TCPs ................................................ 10-8
10.4.7 External Station Axes ...................................................................... 10-10
10.5 SYSTEM VARIABLES ($) .............................................................................. 10-11
10.5.1 Control Group Axes Position Variables ($PX & PX) ...................... 10-11

MRC Advanced Programming Training Manual Page ii © MOTOMAN


Table of Contents

11.0 POSITION VARIABLES ......................................................................................... 11-1


11.1 Access to Position Variable display ................................................................ 11-1
11.2 Store Position Variable in pulse counts ........................................................... 11-2
11.3 Store Position Variable for XYZ ...................................................................... 11-3
11.4 Check Position Variable ................................................................................. 11-3
11.5 Editing data in Pulse Counts .......................................................................... 11-4
11.6 Editing data in X, Y, Z, Rx, Ry, Rz ................................................................... 11-4
11.7 Programming Motion with Position Variables ............................................... 11-5
11.8 Incremental Moves (IMOV) ............................................................................ 11-6
12.0 ARITHMETIC INSTRUCTIONS ........................................................................... 12-1
12.1 Instructions for System Variables ................................................................... 12-1
12.1.1 GETS ................................................................................................. 12-1
12.2 Position Variable Functions ............................................................................ 12-2
12.2.1 CNVRT ............................................................................................... 12-2
12.2.2 MFRAME ........................................................................................... 12-2
12.2.3 GETE ................................................................................................. 12-3
12.2.4 SETE .................................................................................................. 12-3
12.3 Calculating Functions .................................................................................... 12-4
12.3.1 ADD ................................................................................................... 12-4
12.3.2 SUB .................................................................................................... 12-4
12.3.3 MUL ................................................................................................... 12-5
12.3.4 DIV ..................................................................................................... 12-5
12.3.5 SQRT .................................................................................................. 12-6
12.4 Value Setting Functions .................................................................................. 12-7
12.4.1 SET .................................................................................................... 12-7
12.4.2 CLEAR ............................................................................................... 12-8
12.5 Counting Functions ........................................................................................ 12-9
12.5.1 INC .................................................................................................... 12-9
12.5.2 DEC ................................................................................................... 12-9
12.6 Trigonometric Functions .............................................................................. 12-10
12.6.1 SIN ................................................................................................... 12-10
12.6.2 COS .................................................................................................. 12-11
12.6.3 ATAN ................................................................................................ 12-11
12.7 Boolean Logic Functions .............................................................................. 12-11
12.7.1 AND ................................................................................................. 12-11
12.7.2 OR .................................................................................................... 12-12
12.7.3 XOR .................................................................................................. 12-13
12.7.4 NOT ................................................................................................. 12-14

MRC Advanced Programming Training Manual Page iii © MOTOMAN


Table of Contents

13.0 SHIFT FUNCTIONS .............................................................................................. 13-1


13.1 Temporary Shift Instruction (SFTON/SFTOF) ............................................... 13-1
13.2 MSHIFT Instruction ........................................................................................ 13-3
13.3 Permanent Parallel Shift Function (PSHIFT) ................................................ 13-4
13.4 Dynamic Editing Function (PAM) .................................................................. 13-5
14.0 RELATIVE JOB ...................................................................................................... 14-1
14.1 3-D Shift with RELATIVE JOB Conversion .................................................... 14-1
14.2 RELATIVE JOB Conversion for editing User Frame Position Data Type .. 14-3
14.3 XYZ RELATIVE JOB Type for Playback with Edited TCP Data .................... 14-6
15.0 POSITION MODIFICATION FOR EDITED TOOL DATA (PMT) ................ 15-1
15.1 Saving New TCP Data ................................................................................... 15-1
15.2 Shifting Points with PMT Software ................................................................ 15-2
16.0 MULTIPLE TOOL PATH FUNCTION (TCPON/TCPOF) ................................. 16-1
16.1 Programming TCPON .................................................................................... 16-2
16.2 Programming TCPOF .................................................................................... 16-2
17.0 JOB INTERRUPT ................................................................................................... 17-1
17.1 Programming JOB INTERRUPTS .................................................................. 17-1
17.2 Accessing EI/DI Control Instructions ............................................................. 17-2
17.3 Displaying INTERRUPT JOB Diagnosis screen .............................................. 17-3
18.0 RAPID SEARCH FUNCTION ............................................................................... 18-1
18.1 Programming SRCH Tags ............................................................................... 18-1
18.1.1 Programming the SRCH on a MOVL for STANDARD Language ..... 18-1
18.1.2 Programming the SRCH Tag on a MOVL for EXPAND Language ... 18-2
18.2 Programming a Search With POSITION VARIABLE Motion ......................... 18-3
18.2.1 Using SRCH with a Position Variable MOVL for
STANDARD Language .................................................................................... 18-3
18.2.2 Using SRCH with a Position Variable MOVL for
EXPAND Language ........................................................................................ 18-4
19.0 INDEPENDENT CONTROL / CONCURRENT JOB ......................................... 19-1
19.1 Explanation of Concurrent Jobs Sub 1 & Sub 2 ............................................. 19-1
19.1.1 Activating The Same Job Using Master Job ..................................... 19-2
19.1.2 Registering a Master Job for each Task ............................................ 19-2
19.1.3 Activating Various Jobs Using The PSTART Instruction ................... 19-3
19.2 Creating new ROBOT and CONCURRENT Jobs ........................................... 19-4
19.2.1 Creating Robot Jobs .......................................................................... 19-4
19.2.2 Creating New Concurrent Jobs ......................................................... 19-5

MRC Advanced Programming Training Manual Page iv © MOTOMAN


Table of Contents

19.3 Programming PSTART and PWAIT Instructions ............................................ 19-6


19.3.1 Programming PSTART Instructions .................................................. 19-7
19.3.2 Programming PWAIT Instructions .................................................... 19-8
19.4 PSEND/PRECV Operation ............................................................................. 19-9
19.4.1 Viewing Mailbox Diagnostic Display ............................................... 19-10
19.4.2 Modifying, Adding, or Removing Mailbox Contents ....................... 19-11
19.5 Use of CALL Job CONTROL Instructions with
ROBOT/CONCURRENT Job operation ........................................................ 19-12
19.6 FWD/BWD Operation ................................................................................... 19-13
A.0 COORDINATED MOTION ...................................................................................... A-1
A.1 Sample Job contents display ............................................................................ A-2
A.2 Coordination move instruction and Independent move instruction ................ A-2
A.3 Registering a job name .................................................................................... A-3
A.4 Selecting Axis Operation ................................................................................. A-4
A.5 Selecting Synchronization/Single ..................................................................... A-5
A.5.1 Moving Station Axis Not Registered For Group Combination .............. A-6
A.5.2 Moving/Teaching Station Axis................................................................ A-7
A.6 Teaching Coordinated Move Instruction ......................................................... A-7
A.7 Teaching Independent Move Instruction ......................................................... A-8
B.0 ENDLESS ROTATION OF T-AXIS ......................................................................... B-1
C.0 EXTERNAL REFERENCE POINT FUNCTION .................................................. C-1
C.1 Setting up External Reference Point ................................................................ C-2
C.2 Programming EIMOVL or EIMOVC ............................................................... C-2
C.3 Programming EIMOVL or EIMOVC with Position Variables ......................... C-3
D.0 INDEPENDENT T-AXIS VELOCITY CONTROL (VCON/VCOF) .................... D-1

MRC Advanced Programming Training Manual Page v © MOTOMAN


Table of Contents

LIST OF FIGURES
Figure Page

1-1a User ID Display .................................................................................................. 1-1


1-1b User ID Registration ........................................................................................... 1-2
1-2 Clock Set Display ............................................................................................... 1-3
1-3a Robot Axis Configuration Display ...................................................................... 1-4
1-3b Version No. Display ............................................................................................ 1-5
1-4 Variable Name Display ....................................................................................... 1-6
1-5 Universal Input Name and Universal Output Name Displays ................................ 1-7
1-6 Reserve Job Name Display for Naming a Job .................................................... 1-15
3-4 Operation Origin Position Display ...................................................................... 3-2
5-1 I/O Message Name Display ................................................................................ 5-1
5-2 I/O Alarm Name Display .................................................................................... 5-2
5-3 I/O Alarm List (User Section) Display ................................................................. 5-4
6-1 Instruction Set Display ........................................................................................ 6-2
6-2 Learning Display ................................................................................................. 6-3
10-1 Robot Frame .................................................................................................... 10-5
10-5 Base Frame ...................................................................................................... 10-6
10-6 User Frame Coordinates ................................................................................... 10-6
10-4 Tool Frame Coordinates ................................................................................... 10-7
10-5 Tool No. in JOB CONTENT Screen ................................................................ 10-8
10-7 Station Axes ..................................................................................................... 10-9
11-1 Position Variable Display (default, NO data type) .............................................. 11-1
11-2 Position Variable Display (Pulse) ....................................................................... 11-2
11-3 Position Variable Display (XYZ) ...................................................................... 11-5
11-5 Job Example using IMOVs ............................................................................... 11-7
13-1 Job Example using SFTON/SFTOF ................................................................. 12-2
13-2 Job Example using MSHIFT Instruction ............................................................ 12-3

MRC Advanced Programming Training Manual Page vi © MOTOMAN


Table of Contents

13-3 PAM Input Display ........................................................................................... 13-6


16-1 Job Example with TCPON and TCPOF Instructions ......................................... 16-1
19-1 Using Master Task as Concurrent Job ............................................................... 19-1
19-2 PSTART Job Example without Master Job Register .......................................... 19-2
19-3 Supervisory Display .......................................................................................... 19-3
19-4 Multiple Job Activation by PSTART .................................................................. 19-4
19-5 PSTART, PWAIT Job Example with Multiple Sub Task Jobs ............................. 19-4
19-6 Selecting Group Axis ........................................................................................ 19-5
19-7 Registering Robot Jobs ..................................................................................... 19-5
19-8 Selecting No Group Axis .................................................................................. 19-6
19-9 New Concurrent Job Sample ............................................................................ 19-6
19-10 Soft Key Labels for Control Instructions ........................................................... 19-7
19-11 Input Buffer Line and Soft Key Labels .............................................................. 19-8
19-12 Soft Key Labels for Control Instructions ........................................................... 19-8
19-13 Input Buffer Line and Soft Key Labels .............................................................. 19-9
19-14 Mailbox Diagnostic Display In Edit Mode ....................................................... 19-11
19-15 Teaching Condition 1 Set Display .................................................................... 19-13
19-16 Step/Test Run Operation Mode ...................................................................... 19-14
A-1 Coordinated Motion Keys ................................................................................. A-2
A-2 Job Contents Display ......................................................................................... A-2
A-3 Job List Display ................................................................................................. A-3
A-4 New Job Contents Display ................................................................................ A-4
A-5 Group Axes ....................................................................................................... A-4
A-6 Synchro/Single Selection .................................................................................... A-5
A-7 Group Combination Display ............................................................................... A-6
A-8 Group Combination Status Area ........................................................................ A-6
A-9 Station Number Display ..................................................................................... A-7
B-1 Job example of Endless Rotation Programming ................................................... B-1
C-1 Job example of External Reference Point programming ....................................... C-1
D-1 Job example using Independent T Axis control programming ............................... D-1

MRC Advanced Programming Training Manual Page vii © MOTOMAN


Table of Contents

This page intentionally left blank.

MRC Advanced Programming Training Manual Page viii © MOTOMAN


Customer Key

1.0 CUSTOMER KEY FEATURES

1.1 Changing the Registered User ID Number


The CUSTOMER key has two levels of menus. No password is required to
modify Tool data, User Frames, or access SPEC PT, etc., however, only
authorized personnel who know the user ID number can access menus to
change parameter settings or modify other settings.
NOTE: The CUSTOMER key is only active in TEACH mode.
To change the registered user ID number, complete the following steps:

1. In TEACH mode, press CUSTOMER.


2. Press MORE.
3. Press ORG (F5).

The user ID display appears (see Figure 1-1a).

J:WORK-A S:024 TEACH CYCLE STOP CUST


USER ID
THIS FUNCTION IS FOR MAINTENANCE
AUTHORIZED PERSONNEL ONLY
[DATE DATA CHG]
PARAMETER MODI 2000/01/31 16:45
HOME CALIBRATION 1999/08/17 09:32
C.I/O 1998/12/04 21:56
> ********
! Enter ID No. (8-digit)

Figure 1-1a User ID Display

NOTE: If parameters, home calibration position, or concurrent I/O ladder


program are modified after delivery, “MODI” is displayed on the lines
where the changes have been made. The date of the change is also
displayed.
4. Enter the current 8-digit ID number. (Preset factory default 00000000).

NOTE: Whenever a numeric value is required, use the Programming Pendant


keypad.

MRC Advanced Training Manual Page 1-1 © MOTOMAN


Customer Key

5. Press ENTER. The soft key labels for user functions appear at the bottom of
the screen to call up corresponding displays.
6. Press MORE three times.
7. Press ID SET (F5).

The user ID registration display appears (see Figure 1-1b).

J:SAFE S:001 TEACH CYCLE STOP CUST


USER ID REGISTRATION

YOUR ID NUMBER IS

00000000

>
********
! Enter ID No. (8-digit)

Figure 1-1b User ID Registration

8. Enter the desired 8-digit number.


9. Press ENTER.
The new number will be registered as the new ID number. Always keep a
record of the user ID number after changing it.

1.2 Setting DATE / TIME


The date and time settings on the MRC are in numeric format. The time
displayed is in military (24-hour clock) time, and the date format is Year-
Month-Day.

To set the time or date, complete the following steps:

1. Press CUSTOMER.
2. Press MORE.
3. Press ORG (F5).
4. Enter the 8-digit ID number.
5. Press ENTER.
6. Press MORE.

MRC Advanced Training Manual Page 1-2 © MOTOMAN


Customer Key

7. Press CLOCK (F3). The clock set display appears as shown below.

J:SAFE S:001 TEACH CYCLE STOP CUST


CLOCK SET

DATE: 2000. 02. 14

CLOCK: 14:27

! Select item
DATE CLOCK QUIT

Figure 1-2 Clock Set Display

8. Press DATE (F1) or CLOCK (F2).


9. Enter the new date or time. For example, to enter the date as February 14,
2000, enter “2000.2.14”; to set the time as 2:56 p.m., enter “14.27”.

NOTE: An error will occur if all figures are not entered or if erroneous dates or
times are entered.
10. Press ENTER.
11. Press QUIT (F5).

1.3 Accessing System Information


The Robot Axis Configuration Display contains information about the
manipulator type and the axis configuration. The Version No. Display
contains information regarding the CPU version.

To view ROBOT SYSTEM/VERSION information, perform the


following:

1. Press CUSTOMER.
2. Press MORE.
3. Press ORG (F5).
4. Enter the 8-digit ID number.
5. Press ENTER.
6. Press MORE three times.
7. Press SYSTEM (F1).

MRC Advanced Training Manual Page 1-3 © MOTOMAN


Customer Key

8. Press ROBOT (F1) to view the Robot Axis Configuration (see Figure 1-3a),
or VERSION (F2) to view the Version No. Display (see Figure 1-3b).

Robot Axis Configuration Display

J:IN-CUBE S:001 TEACH CYCLE E-STOP CUST


ROBOT AXIS CONFIGURATION
ROBOT TYPE: SK6-C000
AXIS CONFIGURATION
SK6-C00 0011_1111
S1 0000_0001

! Robot stops by P.Box emergency stop


ROBOT VERSION QUIT

Figure 1-3a Robot Axis Configuration Display

NOTE: While viewing Screen 1 in Version, press the DOWN CURSOR key to
view Screen 2.

Version No. Display, Screen 1 Version No. Display, Screen 2

J:IN-CUBE S:001 TEACH CYCLE E-STOP CUST J:IN-CUBE S:001 TEACH CYCLE E-STOP CUST
VERSION NO. VERSION NO.
SYSTEM NO. :4.111A(E)-00 CP02 4.111 SV#1 1.43/1.06 PP 3.2
PARAMETER :2.35 RSV SV#2 1.43/1.06 OP
ROM MACHINE :SK6-C00 SL#1 SV#3 IF02
APL :ARC WELDING SL#2 SV#4 RSV
CPU VERSION RSV SV#5 RSV
CP02 4.111 SV#1 1.43/1.06 PP 3.2 RSV SV#6 RSV
RSV SV#2 1.43/1.06 OP CP01 4.11 SV#7 RSV
SL#1 SV#3 IF02 IF01 1.02 RSV RSV
! Robot stops by P.Box emergency stop ! Robot stops by P.Box emergency stop
ROBOT VERSION QUIT ROBOT VERSION QUIT

Figure 1-3b Version No. Display

MRC Advanced Training Manual Page 1-4 © MOTOMAN


Customer Key

1.4 Registering Variables Names


A total of 64 variable names are available in memory with the default
parameter settings as follows:
S2C 091 : 10 names available for B-type addresses
S2C 092 : 10 names available for I-type
S2C 093 : 10 names available for D-type
S2C 094 : 10 names available for R-type
S2C 095 : 10 names available for P-type
S2C 096 : 7 names available for BP-type
S2C 097 : 7 names available for EX-type

To register variable names, complete the following steps:

1. Press CUSTOMER.
2. Press MORE.
3. Press ORG (F5).
4. Enter the 8-digit ID.
5. Press ENTER.
6. Press MORE two times.
7. Press VAR NAM (F3).
The variable name display appears (see Figure 1-4).

J:SAFE S:001 TEACH CYCLE STOP EDIT


VARIABLES BYTE
NO. NAME
0 B005 DIN from IG#(5)
1 B017 JOB var for CALL
2
3
4
5
! Select item
ROBOT BASE STATION
BYTE INTEGER DB PRCN REAL QUIT

Figure 1-4 Variable Name Display

MRC Advanced Training Manual Page 1-5 © MOTOMAN


Customer Key

8. Press the desired variable soft key:


(F1) BYTE Registers byte-type variable name for B000-
B039.
(F2) INTEGER Registers integer-type variable name for I000-
I039.
(F3) DB PRCN Registers double-precision-type variable name
for D000-D039.
(F4) REAL Registers real-type variable name R000-R039.

ARROW UP

(F1) ROBOT Registers position type variable name for P000-


P127.
(F2) BASE Registers base position-type variable name for
BP000-BP127.
(F3) STATION Registers external station-type variable name for
EX000-EX127.
9. Move the cursor to the desired number.
10. Press NUMBER (F1).
11. Enter the variable number (000-039 for arithmetic variable, and 000-127 for
position variables).

NOTE: Remember, whenever a numeric value is required, use the


Programming Pendant keypad.

12. Press ENTER.


13. Press NAME (F2).
14. Enter the variable name using CAP/LC alphabet, symbols, and/or number
characters. A variable name must be 16 characters or less.
(Press MORE, then the (F1) key to access space.)
15. Press QUIT (F5).
16. Press ENTER. The variable name is now registered.

NOTE: To delete a name, move the cursor to the line to be deleted and press
DELETE (F4). The variable number and name on the cursor line are
deleted simultaneously.

MRC Advanced Training Manual Page 1-6 © MOTOMAN


Customer Key

1.5 Registering I/O Names


To register Universal Input and Output names, complete the following
steps:

1. Press CUSTOMER.
2. Press MORE.
3. Press ORG (F5).
4. Enter the 8-digit ID number.
5. Press ENTER.
6. Press MORE two times.
7. Press IN NAME (F4) for Universal Input Name Display, or OT NAME (F5)
for Universal Output Name Display.
The universal input/output name display appears (see Figure 1-5).

Universal Input Name Display Universal Output Name Display

J:SAFE S:001 TEACH CYCLE STOP EDIT J:SAFE S:001 TEACH CYCLE STOP EDIT
UNIVERSAL INPUT NAME UNIVERSAL OUTPUT NAME
INPUT NO. NAME OUTPUT NO. NAME
IN#001 Cycle Start OUT#001 Clamp 1
IN#002 Sense SW. door A OUT#002 Clamp 2
IN#003 Sense SW. door B OUT#003 Clamp 3
IN#004 OUT#004 Clamp 4
IN#005 OUT#005 Lt Disp clps ON
IN#006 OUT#006
! Set cursor on character ! Set cursor on character
ABC SYMBOL ABC SYMBOL
<
CAP/LC < BACK SP
<
QUIT > CAP/LC < BACK SP QUIT >

Figure 1-5 Universal Input Name and Universal Output Name Displays

8. Move the cursor to the desired number.


9. Press NAME (F4) to enter the input/output name using CAP/LC alphabet,
symbols, and/or number characters. An I/O name must be 16 characters
or less. (Press MORE, then the (F1) key to access SPACE.)
10. Press QUIT (F5).
11. Press ENTER. The I/O name is registered.

NOTE: To clear any I/O name, simply enter a new name as just a SPACE.

MRC Advanced Training Manual Page 1-7 © MOTOMAN


Customer Key

1.6 Customizing MRC Play Speed Key


The PLAY SPD key on the MRC programming pendant can be customized to 8
preset, frequently used Joint (%) speeds and 8 Linear (cm/min, mm/sec, in/min)
speeds. Either of these play speed lists may be customized directly throough the
CUSTOMER key to enter the desired values (Section 1.6.1) or by setting the
appropriate System Construction parameters that are protected by the password
(Section 1.6.2).
1.6.1 Customizing the PLAY SPD Key
To change any or all of the 8 preset speeds, complete the following steps:

1. Press CUSTOMER.
2. Press PLAY SPD (F5).
3. Press JOINT (F1) or LINEAR (F2).
4. Press MODIFY.
5. Enter the desired value. (0.01-100.00%, 1-9000 cm/min, 0.1-1500.0 mm/sec
or 1-3543 in/min)
6. Press ENTER.
7. Press QUIT (F5).

1.6.2 Customizing the PLAY SPD Key with System Construction


Parameters
When the values for the PLAY SPD key are changed using the above method,
they are actually being set on the MRC S2C parameter list. Thus, another
method for changing the settings would be to directly set the appropriate
values in the correlating S1CxG parameters. (If the MRC has 2 robots, then
there are two lists, S1C1G for R1 and S1C2G for R2.)
NOTE: The parameters indicated above store the Play Speeds in mm/sec.
Values entered in parameters may not show on the Play Speed List
when other type speeds are selected (see sec 1.6.3).
To change any or all of the 8 preset speed list choices with System
Construction (SC) Parameters, complete the following steps:

1. Press CUSTOMER.
2. Press MORE.
3. Press ORG (F5).
4. Enter the 8-digit ID number.
5. Press ENTER.

MRC Advanced Training Manual Page 1-8 © MOTOMAN


Customer Key

6. Press PRMTR (F1).


7. Press SC (F5).
8. Press S1C1G (F1).
9. Move the cursor to S1C1G 002-009 for Joint (%) speed, or to
S1C1G 010-017 for Linear (mm/sec).
10. Press MODIFY.
11. Enter the desired setting

Reminder: No decimal point, therefore 10000=100.00% for VJ=Joint_speed, and


15000=1500.0 for V=Control_point_speed in mm/sec.
12. Press ENTER.

1.6.3 Changing velocity units (cm/min, mm/sec, or in/min)


To change the V=Control_point_speed unit to cm/min, mm/sec, or in./min, the
appropriate S2C parameter must be set.

To set the unit of linear velocity, complete the following steps:

1. Press CUSTOMER.
2. Press MORE.
3. Press ORG (F5).
4. Enter the 8-digit ID number.
5. Press ENTER.
6. Press PRMTR (F1).
7. Press SC (F5).
8. Press the ARROW UP key.
9. Press S2C (F1).
10. Press SEARCH (F1).
11. Enter 048.
12. Press ENTER.
13. Press MODIFY.
14. Enter 0 for mm/sec, 1 for cm/min, or 2 for in./min.
15. Press ENTER.

MRC Advanced Training Manual Page 1-9 © MOTOMAN


Customer Key

1.7 Customizing System Conform Parameters


In addition to the SC parameters mentioned previously, there are many others
for customizing the operation and editing features of the MRC. The SC parameters
are separated into four lists, S1CxG, S2C, S3C, and S4C. Below is just a sample
of some of the features available for customer setting. All of the example default
values mentioned are for a K6 and/or SK6 model robot, but these are typical of
most of the K-Series and SK-Series robots.
NOTE: For a complete listing and explanation of all the SC parameters, refer
to Section 8 in the MRC User Functions & I/O Structure Manual,
Part #132331-1.

1.7.1 SLOW, MEDIUM, FAST, INCHING manual speeds (Linear Jogging)


& the HIGH SPD Key
To customize the SLW, MED, FST manual speeds and/or the HIGH SPD
key, set the following S1CxG parameters in units of 0.1 mm/sec:

S1CxG 026: LOW speed setting (default 30)


S1CxG 027: MEDIUM speed setting (default 200)
S1CxG 028: FAST speed setting (default 1000)
S1CxG 029: HIGH SPD key setting (default 2000)

NOTE: Parameters S1CxG 045 - 048 (Low to High Spd respectively) should
also be set for Joint speed jogging.

NOTE: The settings for the parameters above cannot exceed the maximum
limits set in the Jog Operation Speed Limit parameters in Section
1.7.3.
To customize amount of movement for each press of an axis key in
INCHING manual speed, set the S1CxG parameters as follows:

S1CxG 030: Joint COORD for +/- SLURBT axis keys


(1 to 10 Pulse counts) (default 1)

S1CxG 031: WLD/CYL, TOOL, & USER COORD for


+/- X, Y, & Z axis keys (0.01 to 2.55 mm)
(default 30)

S1CxG 032: WLD/CYL, TOOL, & USER COORD for


+/- Rx, Ry, & Rz axis keys (0.1 to 1.0 deg)
(default 3)
MRC Advanced Training Manual Page 1-10 © MOTOMAN
Customer Key

1.7.2 Playback Speed Control


To limit the maximum playback operation speed, set the following S1CxG
parameters: (It is recommended that the initial values not be changed)

S1CxG 037: VJ=Joint_speed (units=0.01%) (default 10000)

S1CxG 038: V=Control_point_speed (units=0.1 mm/sec)


(default 15000)

S1CxG 039: VR=Angle_speed (units=0.1 deg/sec)


(default 3600)

1.7.3 Jog Operation Speed Limit


To limit the maximum jog operation speed, set the following S1CxG
parameters in units of 0.01% against the settings for maximum playback
speeds above: (It is recommended that the initial values not be changed)

S1CxG 040: Joint jogging (default 2000)


S1CxG 041: Linear jogging (default 2000)
S1CxG 042: Position orientation change jogging
(default 1500)

1.7.4 Positioning Level Zone (PL)


To customize the values for the motion step “tags” of PL=1, PL=2, PL=3,
& PL=4, set the following S1CxG parameters in units of µm = 0.001 mm:

S1CxG 033: Zone distance for PL=1 (default 12500)


S1CxG 034: Zone distance for PL=2 (default 25000)
S1CxG 035: Zone distance for PL=3 (default 50000)
S1CxG 036: Zone distance for PL=4 (default 100000)

NOTE: The motion step tag of PL=0 cannot be customized because it is


intended to always move the robot to the exact command position.

MRC Advanced Training Manual Page 1-11 © MOTOMAN


Customer Key

1.7.5 FWD Key Execution


The default settings for parameters regarding the FWD key are S2C025=0 and
S2C026=0. This means that...in TEACH mode using just the FWD key for
“stepping” through a job (manual speeds are in effect) the FWD key must be
pressed to move the robot to a motion step which the cursor is already on, then
press again to get to the next step, etc.. However, when the next LINE of the job is
an INSTRUCTION, either move the cursor by hand to skip the instruction, or hold
the * key + press FWD to execute the instruction.

If it is prefered not to have to use the * key, then set S2C026=1 so that just
pressing FWD will execute one job line for each press, For continuous execution
of all consecutive instruction lines also set S2C025=1.

If it is prefered that the cursor to move to and execute STEPs only, then set
S2C026=2. (The setting of S2C025 then becomes insignificant.)

Set the following S2C parameters as desired:

S2C025 = 0: Executes only one line (default )


= 1: Continues execution of all consecutive lines

S2C026 = 0: Press and hold * key + FWD key to execute


instructions (default )
=1: Press only FWD for execution of instruction
=2: Cursor will FWD to STEPS only

1.7.6 COORD Change/Not Change at JOB CONTENT Screen Change


Whenever a JOB CONTENT screen display is changed to another job using the
DIRECT OPEN key or by selecting another job from the SEL JOB list, the
COORD for jogging is reset to Joint as it is when the system is first powered ON.
If this is not desirable, it is recommended that the parameter S2C027 be set to “1”
to maintain the current COORD selection.

Set the following S2C parameter as desired:


(Must have software ver. 4.111 or higher)

S2C 027 = 0: COORD change to Joint upon screen change (default)


= 1: Keep COORD setting upon screen change

MRC Advanced Training Manual Page 1-12 © MOTOMAN


Customer Key

1.7.7 Address Setting at MRC Power ON


At power ON the MRC is set to put the cursor on the line in the job that was last
displayed at power OFF. The parameter S2C042 may be set to “1” in order to
have the controller go to the first line (L:0000 NOP) of the MASTER JOB if
desired.
NOTE: If a Master Job is not registered, an error will occur.
Set the following S2C parameter as desired:

S2C 042 = 0: Reproduce last “cursor” address in Status Line job


(default)
= 1: Top of Master Job

1.7.8 Job List Display


The SEL JOB list can be set up in one of three ways. The default is set to
always “fill in” NEW JOB names in the order they are created from left to
right and down the page. However, they can be listed in the ASCII form of
alphanumeric order which makes finding job names much easier. They can
also be listed by order of date of last EDIT. This parameter can be changed as
often as desired, for example, if you need to find out quickly the most recently
edited job(s), set the parameter temporarily to “1” so that the job(s) will all be
at the end of the list and easy to find for saving to a floppy disk.

Set the following S2C parameter as desired:

S2C 043= 0: Order of name characters


= 1: Order of date (last EDIT)
= 2: Order of new job creation (default )

1.7.9 Playback at STEP Cycle Mode


The MRC at STEP cycle Playback is set to stop at every instruction, requiring
the START button for every line. However, it can also be set for continuous
execution of all non-motion instructions and only stop at the next motion step.

Set the following S2C parameter as desired:

S2C 045 = 0: 1 LINE for each START (default )


= 1: All instructions plus next STEP for each START

MRC Advanced Training Manual Page 1-13 © MOTOMAN


Customer Key

1.8 MRC Reserved Job List


The Reserved Job Names are a list of up to ten, 6-character prefixes that can be
used in conjunction with a number tag to create new job names quickly. Using a
Reserved Job Name simplifies entry of many new job names that are similar such as
WELD-01, WELD-02, or CUT#56, CUT#57, or PICK-09, PICK-10, &
PLACE-09, PLACE-10.

To register a reserved name prefix on the list, complete the following


steps:

1. Press CUSTOMER.
2. Press RSV JOB (F4).
3. Press NAME (F5).
4. Press the ARROW UP key to access the alphabet, ABC (F1), or
SYMBOLS (F2).
5. Move the cursor to each desired character, then press ENTER.

NOTE: Job names are limited to eight characters; therefore, the reserved
prefix must contain less than 8 characters. (Some software versions
may limit you to 6 prefix characters.)
6. Press QUIT.
7. Press ENTER.

MRC Advanced Training Manual Page 1-14 © MOTOMAN


Customer Key

To use a Reserved Job Name prefix to name a new job, complete the
following steps:

1. Press SELECT.
2. Press RSV JOB (F3).
3. Move the cursor to the desired reserved job name.

NOTE: The reserved job name at the cursor position is displayed on the input
line. It can be used once “as is” for a job name, but from then on as
only a prefix.
4. Enter any additional numeric characters.
5. Press ENTER.

J:WORK-A S:024 LOCK AUTO STOP SEL


RESERVED JOB
NO. JOB NAME NO. JOB NAME
1 PIC-AT 6
2 PUT-AT 7
3 PART# 8
4 IN-CUBE 9
5 10

> PART#123
! Enter your JOB No.
>
BACK SP >

Figure 1-6 Reserve Job Name Display for Naming a Job

MRC Advanced Training Manual Page 1-15 © MOTOMAN


Customer Key

NOTES

MRC Advanced Training Manual Page 1-16 © MOTOMAN


Soft Limits

2.0 SOFT LIMITS


Soft limits restrict the operating envelope of the manipulator. The controller
monitors the manipulator and stops the robot before it reaches the hard limit switch.
The manipulator operating range is restricted with the following three soft limits:
• Individual maximum/minimum pulse counts for each axis
• Mechanical interference area between axes
• Allowable cubic working range (operating envelope) set and
activated by parameters in max/min XYZ Base Frame
coordinates only.
These soft limits are continuously monitored by the system, and the controller stops
the manipulator if it reaches the max/min working range of any soft limit.

2.1 Soft Limits for S, L, U, R, B, & T


To determine if the SLURBT soft limits need to be changed to values other than the
default settings, begin with the robot at its usual “safe” start/end position. Then,
using JOINT coordinates jog each axis to the desired positive operating limit, then
the negative operating limit and write down the pulse position data to be entered in
the SC parameter files.

The S+ and S- pulse values should be set just within the hard-stop limit switch
boundaries established by the placement of the bolts. The L+ and U+/U- should be
given as much “freedom” as possible; the L- soft limit should not be set below the
rearward horizontal position for any MOTOMAN robot (0 on a K-Series robot).
It is also very important for the positive and negative soft limit settings for R, B, and
T axes to be set to values appropriate for the end-effector(s) to be used.
2.1.1 Displaying Pulse Position to Determine Soft Limit Data
To display the current PULSE data, complete the following steps:

1. Press DISP.
2. Press POSN (F2).
3. Choose PULSE (F1) for determining S,L,U,R,B,T limits

MRC Advanced Training Manual Page 2-1 © MOTOMAN


Soft Limits
2.1.2 Defining/Modifying Operating Soft Limits of Individual Axes
To access the SC parameters to set individual axis operating soft limits,
complete the following steps:

1. Press CUSTOMER.
2. Press MORE.
3. Press ORG (F5).
4. Enter the 8-digit ID number.
5. Press ENTER.
6. Press PRMTR (F1).
7. Press SC (F5).
8. Press S1C1G (F1).
9. Press SEARCH (F1).
10. Enter number of desired parameter.

NOTE: The S1C1G 070 to SICIG 075 are the maximum S, L, U, R, B, T,


parameters; and S1C1G 078 to SICIG 083 are the minimum
S, L, U, R, B, T parameters.
11. Press ENTER.
12. Press MODIFY.
13. Enter pulse counts of limit value for operation of the axis in max/min direction.
14. Press ENTER.
15. Continue by moving the cursor to each axis parameter to be modified and
repeat Steps 12 through 14.

2.2 The Cube Soft Limit


(TCP Operating Envelope)
A “cube” for soft limits may also be established. This cube is normally set to the
entire workcell’s operating envelope of the TCP for jogging operation. An alarm
occurs during playback if the TCP is programmed to leave the cube. This cube
may be set up in Base Frame coordinates only. The +/- X, Y, Z for the max/min
cube positions are entered into the S3C parameters in microns. S3C000 through
S3C005 is for R1 and S3C006 through S3C011 is for R2. To activate the cube
soft limit check, parameter S2C001 must be set as follows: 1 = Cube check for R1
only; 2 = Cube check for R2 only; 3 = Cube check for both R1 & R2.

MRC Advanced Training Manual Page 2-2 © MOTOMAN


Soft Limits
2.2.1 Displaying BASE XYZ Position to Determine Cube Limit Data
To display the robot’s current position in BASE, complete the following
steps:

1. Press DISP.
2. Press POSN (F2).
3. Choose XYZ (F2).
4. Press BASE (F1) for determining the Cube soft limits.

2.2.2 Defining Cube Soft Limits of TCP


To access the S3C parameters to set the TCP operating cube soft limits,
complete the following steps:

1. Press CUSTOMER.
2. Press MORE.
3. Press ORG (F5).
4. Enter the 8-digit ID number.
5. Press ENTER.
6. Press PRMTR (F1).
7. Press SC (F5).
8. Press the ARROW UP key.
9. Press S3C (F2).
10. Cursor to the desired parameter.

NOTE: The S3C000 to S3C005 are the maximum XYZ and minimum XYZ
respectively for R1, and S3C006 to S3C011 are the maximum XYZ and
minimum XYZ for R2.
11. Press MODIFY.
12. Enter the BASE FRAME limit value in microns for the desired max/min X, Y,
or Z of the cube.
13. Press ENTER.
14. Continue by moving the cursor to each parameter to be modified and repeat
Steps 11 through 13. (All six parameters must be set.)

MRC Advanced Training Manual Page 2-3 © MOTOMAN


Soft Limits
To activate the cube soft limit check, parameter S2C001 must be set as follows:

0 = Default setting, no cube limit check;


1 = Cube soft limit check for R1 only;
2 = Cube soft limit check for R2 only;
3 = Cube soft limit check for both R1 & R2.

2.3 Temporary Release of Soft Limits


Use the following procedure to temporarily release all (individual axes and
operating cube) soft limits:

1. Press SELECT.
2. Press MORE.
3. Press the ARROW UP key.
4. Press LIMIT (F2).
5. Press RELEASE (F1).
The message line will read “!Soft limits have been released.”
6. Press QUIT (F5).

Choose one of the following three ways to cancel the soft limit release:

• Complete the steps above, but in step 5 choose CANCEL (F4),


or
• Press PLAY on the Playback Box,
or
• Turn the main power switch OFF, wait 5 seconds, then turn it ON again.

MRC Advanced Training Manual Page 2-4 © MOTOMAN


Robot Origin

3.0 ROBOT ORIGIN

3.1 Home Position Calibration


Home position calibration is an operation in which the home position and encoder
zero position coincide. Although this operation is performed at the factory prior to
shipment, the following are times when home position calibration must be performed
again:

• Changing the combination of the manipulator and controller


• After replacing a motor or encoder
• After the clearing of stored memory (caused by the replacement
of MIF01 board, a weak battery, etc.)
• After a home position deviation (caused by crashing the
manipulator into a work piece, etc.)

Home position is the zero pulse position for each axis.


The deviation values between home position and control reference position are set
to parameters. The deviation values are specified by an angle in units of 1/1000°
and vary for different manipulator types.

Since the calibration of the robot(s) affects all of the programs and motions, only
personnel who have been properly trained should change the Absolute Data. Refer
to the appropriate Manipulator Manual for the technique.

NOTE: Teaching and playback are not possible before home position
calibration is complete. In a system with two or more manipulators,
home position of all the manipulators must be calibrated before starting
teaching and playback.

3.2 Operation Origin


The Operation Origin (OPEORG) is simply a single position that can be stored and
then easily accessed to FWD the robot to this location whenever desired. The
OPEORG position typically would be either the start/end position for all jobs or
perhaps an approach point that may be common for all jobs so that the programmer
can easily get to this exact position. It could also be a position frequently used for
performing maintenance tasks, such as positioning the robot off to one side of the
cell where the tool could easily be reached for cleaning, replacement, repair, etc.

MRC Advanced Training Manual Page 3-1 ©MOTOMAN


Robot Origin
To access the OPEORG screen and record a position, perform the
following:

1. In TEACH, press CUSTOMER.


2. Press the MORE key.
3. Press OPEORG (F4).
4. With Servo Power ON, press PSN CHG (F1).

CAUTION! The FWD key may now be used to jog the robot to the OPEORG
position if one has previously been registered. Ensure that there is a
clear path from the present location directly to the point.

NOTE: Continue with steps 5-8 to change the existing location.

J:SAFE S:001 TEACH CYCLE STOP CUST


OPERATION ORIGIN POSITION
[APL 1] ORIGIN CURRENT
R1: S 0 -5275
L 0 218
U 0 46789
R 0 -864
B 0 -3021
T 0 73912

! Available to move to and modify operation origin position...


PSN CHG QUIT

Figure 3-1 Operation Origin Position Display

5. Press the MODIFY key.


6. Jog the robot to the desired position.
7. Press ENTER.
8. Press QUIT (F5).

MRC Advanced Training Manual Page 3-2 ©MOTOMAN


Cubic Interference

4.0 CUBIC INTERFERENCE ZONES


The MRC can support up to eight possible interference zones (Cube 1 to Cube 8)
for two robots. The cubes are internally tied to specified outputs as follows:
R1=SOUT #081-088 and R2 = SOUT #089-096. The corresponding specified
output will be ON when the robot’s TCP is inside the cube. This specified output
can be monitored by the controller for user defined situations. The controller may
wait for the output to be on, the controller may wait for a second robot to be out of
the cube (through a Sequence Wait), or a PLC may be monitoring the output before
starting another piece of equipment. Be aware that the controller monitors only the
TCP, not the entire arm.

The Concurrent I/O ladder program must have the appropriate cubes in use in
order for Sequence Wait to be in effect, and the cube check parameters S2C003
for R1 and S2C004 for R2 must be set. Though these parameters may be
accessed by the user, the I/O ladder program for cubes is only accessible by
Motoman Personnel.

The values for the location of these cubes are stored in parameters. These
parameters can be accessed and modified directly, but the ease of setting the cubes
is lost. Most frequently, cubes are defined through the Interference function, and the
values are placed in the parameters by the controller.

There are two methods to teach cubes using servo power:

• defining cubes by CUBE LENGTH method (refer to Section 4.1),


• defining cubes by MIN-MAX method (refer to Section 4.2).

Cube interference data can also be defined or modified by editing with the number
keys with no servo power required (refer to Section 4.3) or simply by setting the
correct data in the appropriate cube’s parameters (refer to Section 4.4).

4.1 Defining Cubes by CUBE LENGTH Method


Defining cubes by the Cube Length method creates dimensions for the cube’s edge
lengths based on the center position point.
NOTE: If the center of the cube is a position that is already recorded as a
Command Position or stored as a Position Variable, then display the
position and FWD the robot before you begin the procedure below.
(Jogging the robot with the axis keys as described in step 18 then
becomes unnecessary.)

MRC Advanced Training Manual Page 4-1 ©MOTOMAN


Cubic Interference
To define a cube with Cube Length method, complete the following steps:

1. Press CUSTOMER.
2. Press MORE.
3. Press INTRF (F3).
4. Press CUBIC (F1).
5. Press FILE ↓ (F1) or FILE ↑ (F2) to choose the desired cube.
6. If previous data exists, or if a different COORD is desired, complete the
following steps:
a. Press DATA CLEAR (F3).
b. Press EXECUTE (F5).
7. Press RBT POS (F5).
8. Select BASE (F1) or ROBOT (F2), then go to Step 9
or
select USER (F3), enter the UF# and press ENTER.
9. Press CUB. LEN (F2).
10. Press LENGTH (F1).
11. Move the cursor to the dimension to be modified (X, Y, or Z).
12. Press MODIFY.
13. Enter the numeric value in mm for the desired cube dimension.
14. Press ENTER.
15. Repeat Steps 11 through 14 for each dimension to be modified.
16. Press QUIT (F5). The message will read “!Teach the center of a cubic”
(servo power must be ON).
17. Press MODIFY.
18. If the robot has not been previously forwarded to a desired center point, jog
the robot to the center point of the cube.
19. Press ENTER.
20. Press QUIT (F5).

MRC Advanced Training Manual Page 4-2 ©MOTOMAN


Cubic Interference

4.2 Defining Cubes by MIN-MAX Method


Defining cubes by MIN-MAX method requires jogging the robot’s TCP to the
desired locations to set the minimum and maximum positions. (Do not use this
method if either the MAX corner or the MIN corner cannot be reached) Once the
position data has been entered, it can be modified (if the “critical wall” is too close,
too far, etc.) either by re-entering the point, or by number keypad EDIT as in
Section 4.3.

To define a cube using the MIN-MAX method, complete the following


steps:

1. Press CUSTOMER.
2. Press MORE.
3. Press INTRF (F3).
4. Press CUBIC (F1).
5. Press FILE ↓ (F1) or FILE ↑ (F2) to choose the desired cube.
6. If previous data exists, or if a different COORD is desired, complete the
following steps:
a. Press DATA CLEAR (F3).
b. Press EXECUTE (F5).
7. Press RBT POS (F5).
8. Select BASE (F1) or ROBOT (F2), then go to Step 9
or
select USER (F3), enter the UF#, and press ENTER.
9. Press MIN-MAX (F1).
10. Press MAX POS (F1).
11. Press MODIFY.
12. Jog the robot to the maximum position.
13. Press ENTER.
14. Press MIN POS (F2).
15. Press MODIFY.
16. Jog the robot to minimum position.
17. Press ENTER.
18. Press QUIT (F5).

MRC Advanced Training Manual Page 4-3 ©MOTOMAN


Cubic Interference

4.3 Entering & Modifying Cubic


Interference Data
NOTE: This method is recommended when the cubic interference zones
maximum & minimum position values for X, Y, & Z are known values
(obtained from jogging the robot and displaying TCP position
information in XYZ for either the ROBOT, BASE or a USER FRAME
COORDINATE or by simply measuring desired distances with a tape
measure in millimeters).
To enter cube data or make modifications to existing cube dimensions using
the number key pad, complete the following steps (servo power is not
necessary):

1. Press CUSTOMER.
2. Press MORE.
3. Press INTRF (F3).
4. Press CUBIC (F1).
5. Press FILE ↓ (F1) or FILE ↑ (F2) choose the desired cube.
6. Press NUM KEY (F4).
7. Press MODIFY.
8. Move the cursor to the desired XYZ MIN/MAX position.
9. Enter the desired numeric value in mm.
10. Press ENTER.
11. Repeat Steps 7 through 10 for each dimension to be modified.
12. Press QUIT (F5).

4.4 Entering Data Directly into Parameters


NOTE: This method requires the conversion of the distance data into microns
because no decimal points are used in parameter settings
(ie 538.000 mm = 538000).
To enter cube data dimensions into the parameter, complete the following
steps (servo power is not necessary):

1. Press CUSTOMER.
2. Press MORE.
3. Press ORG (F5).

MRC Advanced Training Manual Page 4-4 ©MOTOMAN


Cubic Interference
4. Enter the Password.
5. Press ENTER.
6. Press PRMTR (F1).
7. Press SC (F5).
Use table 4-1 to determine the parameter and value for the appropriate cube.

Table 4-1 Parameters for Cube Identification and Coordinate

CUBE S2C006 0:BASE 1: ROBOT 2: USER


1 S2C007 N/A N/A UF#(1-24)

CUBE S2C008 0:BASE 1: ROBOT 2:USER


2 S2C009 N/A N/A UF#(1-24)

CUBE S2C010 0:BASE 1: ROBOT 2: USER


3 S2C011 N/A N/A UF#(1-24)

• • • • •

• • • • •

• • • • •

CUBE S2C020 0:BASE 1: ROBOT 2: USER


8 S2C021 N/A N/A UF#(1-24)

8. Press the Arrow Up key.


9. Press S2C (F2).
10. Cursor to the desired parameter.
11. Press MODIFY.
12. Enter the desired numeric value.
13. Press ENTER.
14. Cursor to the desired parameter for User Frame (if applicable).
12. Enter the desired numeric value.
13. Press ENTER.
15. Press QUIT (F5).

MRC Advanced Training Manual Page 4-5 ©MOTOMAN


Cubic Interference
Use table 4-2 to determine the correct parameter for the appropriate cube.

Table 4-2 Cube Dimension Parameters

S3C024 X (+) S3C048 X (+)


S3C025 Y (+) S3C049 Y (+)
S3C026 Z (+) S3C050 Z (+)
Cube 1 Cube 5
S3C027 X (-) S3C051 X (-)
S3C028 Y (-) S3C052 Y (-)
S3C029 Z (-) S3C053 Z (-)
S3C030 X (+) S3C054 X (+)
S3C031 Y (+) S3C055 Y (+)
S3C032 Z (+) S3C056 Z (+)
Cube 2 Cube 6
S3C033 X (-) S3C057 X (-)
S3C034 Y (-) S3C058 Y (-)
S3C035 Z (-) S3C059 Z (-)
S3C036 X (+) S3C060 X (+)
S3C037 Y (+) S3C061 Y (+)
S3C038 Z (+) S3C062 Z (+)
Cube 3 Cube 7
S3C039 X (-) S3C063 X (-)
S3C040 Y (-) S3C064 Y (-)
S3C041 Z (-) S3C065 Z (-)
S3C042 X (+) S3C066 X (+)
S3C043 Y (+) S3C067 Y (+)
S3C044 Z (+) S3C068 Z (+)
Cube 4 Cube 8
S3C045 X (-) S3C069 X (-)
S3C046 Y (-) S3C070 Y (-)
S3C047 Z (-) S3C071 Z (-)

Note: The “+” designates the parameter for the Maximum dimension, and the
“-” designates the parameter for the Minimum dimension.

MRC Advanced Training Manual Page 4-6 ©MOTOMAN


Cubic Interference

4.5 Displaying “SP OUT” Diagnostics for Cubes


To display a cube’s Specified Output Status, complete the following steps:

1. Press DISP.
2. Press DIAG (F5).
3. Press SP OUT (F4).
4. Press FILE ↓ (F1) or FILE ↑ (F2) to the desired specified output number
R1=SOUT #081-088, R2=SOUT #089-096.
5. Move the cursor one or two times to view the exact specified output.

NOTE: When the robot is inside the cube zone, the specified output will turn
ON. The circle will darken (l) to indicate the ON setting.

4.6 Programming WAIT Instructions


with “SOUT”
To program a WAIT instruction with SOUT, complete the following steps:

1. The job must be displayed in TEACH, EDIT, with cursor on the address side.
2. Press IN/OUT (F1).
3. Press WAIT (F3).
4. Press SP OUT (F4).
5. Enter the number (81 - 96).
6. Press ENTER.
7. Press CONST (F1).
8. Choose ON (F2) or OFF (F5).

L: S: INSTR:
0000 NOP
0001 001 MOVJ VJ=0.78
0002 WAIT SOUT #(81)=ON
0003 002 MOVJ VJ=100.00
0004 003 MOVL V=138

Job Example using Wait for Specified Output

MRC Advanced Training Manual Page 4-7 ©MOTOMAN


Cubic Interference

NOTES

MRC Advanced Training Manual Page 4-8 ©MOTOMAN


C I/O Messages and Alarms

5.0 C. I/O USER MESSAGES & ALARMS


Up to eight User Messages can be registered in the table accessed with the
following keystrokes. The User Section of the Concurrent I/O ladder must then be
programmed for their request and use.

5.1 Registering Concurrent I/O User Messages


To register a message, complete the following steps:

1. Press CUSTOMER.
2. Press MORE.
3. Press ORG (F5).
4. Enter the 8-digit ID number.
5. Press ENTER.
6. Press MORE two times.
7. Press I/O MSG (F1).
The I/O Message Name Display screen appears (see Figure 5-1).

8. Press USER PT (F1).

J:SAFE S:001 TEACH CYCLE E-STOP CUST


I/O MESSAGE (USER SECTION)
NO. NAME
1 Red Light
2 Green Light
3 CAUTION!
4
5
6
7
! Select item
USER PT SYS PT NAME QUIT

Figure 5-1 I/O Message Name Display

9. Move the cursor to the desired line (No. 1-8).


10. Press NAME (F4).
11. Enter up to 32 characters using alphabet (CAP/LC), symbols, or numbers.
Press MORE to use SPACE (F1).
12. Press QUIT (F5).
13. Press ENTER.

MRC Advanced Training Manual Page 5-1 ©MOTOMAN


C I/O Messages and Alarms

5.2 Registering Concurrent I/O User Alarms


Up to eight User ALARMs can be registered in the table accessed with the
following keystrokes. The User Section of the Concurrent I/O ladder must then be
programmed for their request and use.

To register an alarm message, complete the following steps:

1. Press CUSTOMER.
2. Press MORE.
3. Press ORG (F5).
4. Enter the 8-digit ID number.
5. Press ENTER.
6. Press MORE two times.
7. Press I/O ALARM (F2). The I/O Alarm Name Display screen appears (see
Figure 5-2).

J:SAFE S:001 TEACH CYCLE E-STOP CUST


I/O ALARM (USER SECTION)
NO. NAME
1:9160
2:9170 Door open!
3:9180 Parts bin empty. Reload stock!
4:9190 Valve #1 not closed!
5:9200
6:9210
7:9220
! Select item
USER PT SYS PT NAME QUIT

Figure 5-2 I/O Alarm Name Display

8. Press USER PT (F1).


9. Move the cursor to the desired line (No. 1-8).
10. Press NAME (F4).
11. Enter up to 32 characters using alphabet (CAP/LC), symbols, or numbers.
Press MORE to use SPACE (F1).
12. Press QUIT (F5).
13. Press ENTER.

MRC Advanced Training Manual Page 5-2 ©MOTOMAN


C I/O Messages and Alarms

5.3 Accessing System I/O Messages & Alarms


The System Section Concurrent I/O Messages and Alarms cannot be edited, but
they can be accessed in the CUSTOMER menu in TEACH mode.

To access SYSTEM I/O Messages & Alarms, complete the following steps:

1. Press CUSTOMER.
2. Press MORE.
3. Press ORG (F5).
4. Enter the 8-digit ID number using the number.
5. Press ENTER.
6. Press MORE two times.
7. Choose I/O MSG (F1), or I/O ALM (F2).
8. Press SYS PT (F2).
9. Move the cursor to the desired line (No. 1-16) to view the message or alarm.

5.4 Displaying the I/O Monitor


The I/O Monitor screen displays the status of all I/O signals. It includes the
individual bit status in groups of eight and also displays the OPERAND number.

To display the I/O Monitor, complete the following steps:

1. Press DISP.
2. Press DIAG (F5).
3. Press MORE.
4. Press I/O MON (F1).
5. Choose UNIV IN (F1), UNIV OT (F2), EXT IN (F3), EXT OT (F4),
or SP IN (F5), or press MORE and choose SP OUT (F1), TIMER (F2),
AUX RLY (F3), CONTROL (F4), or DL (F5).

MRC Advanced Training Manual Page 5-3 ©MOTOMAN


C I/O Messages and Alarms

5.5 Displaying User & System Alarm Lists


The USER and SYSTEM Alarm Lists display up to 20 alarms. The most recent
alarm will be at the top of the list.

To display the USER or SYSTEM Alarm Lists, complete the following


steps:

1. Press DISP.
2. Press DIAG (F5).
3. Press the MORE key twice.
4. Press ALM LST (F1).
5. Choose I/O SYS (F3) or I/O USER (F4).

0The USER or SYSTEM Alarm List appears (see Figure 5-3).

J:SAFE S:001 TEACH CYCLE STOP DISP


I/O ALARM (USER SECTION)
CODE DATE CLOCK
15 9180 2000/02/21 23:59
16 9180 2000/01/17 08:46
17 9180 1999/12/28 15:07
18 9190 1999/12/19 12:24
19 9170 1999/12/15 21:18
20 9180 1999/11/30 03:32
=>Parts bin empty. Reload stock!
!
DETAILS

Figure 5-3 I/O Alarm List (User Section) Display

MRC Advanced Training Manual Page 5-4 ©MOTOMAN


C I/O Messages and Alarms

5.6 Displaying CONCURRENT I/O Program


To view the Concurrent I/O program, complete the following steps:

1. Press CUSTOMER.
2. Press MORE.
3. Press ORG (F5).
4. Enter the 8-digit ID number using the number keys on the programming
pendant.
5. Press ENTER.
6. Press MORE.
7. Press C.I/O (F5).
8a. Press SYSTEM PT (F2) to view the SYSTEM Section (Part 1).

NOTE: The SYSTEM Section (Part 1) can only be edited by MOTOMAN


personnel.
or
8b. Press USER PT (F1) to view the USER Section (Part 2).

CAUTION! Do not attempt to edit the Concurrent I/O ladder program without proper
training and knowledge. Hazardous operation conditions could result!

MRC Advanced Training Manual Page 5-5 ©MOTOMAN


C I/O Messages and Alarms

NOTES

MRC Advanced Training Manual Page 5-6 ©MOTOMAN


INFORM II Instruction Set

6.0 MRC INFORM II INSTRUCTION SET


The MRC INFORM II Language has three types of Instruction Sets to register:

• Subset,
• Standard
• Expanded

Subset: The Subset Language instruction set reduces


the number of instructions in the soft key labels
F1 through F5 for MOTION, IN/OUT, ARITH,
CONTROL, SHIFT, and DEVICE to those that
are used frequently. Selection for input buffer
line is quicker and/or easier since there are
fewer instructions to be displayed.

NOTE: Any instruction previously entered into a job will be executed during
playback, even if that instruction is no longer available in the EDIT
menu for future programming and/or editing due to SUBSET setting.

Standard: The Standard Language instruction set allows


use of all soft key instructions.

Expand: In addition to all INFORM II soft key instructions,


the following programming choices are available
in Expanded Language:

• Use of variable [VAR] or constant [CONST] for numeric values of


TIMER, default SPEED, and I/O numbers #( ), etc.
• Use of LOCAL variables (LI, LD, LB, LR, and LP)
• Use of ARRAY addressing (address number is stored in a Global/
Local B, I, or D variable)

MRC Advanced Training Manual Page 6-1 ©MOTOMAN


INFORM II Instruction Set

6.1 Setting the Instruction Set


To set the Instruction Set for Subset, Standard, or Expanded, complete the
following steps:

1. Press CUSTOMER.
2. Press MORE.
3. Press LANG (F1). The Instruction Set Display will appear
(see Figure 6-1).

J:SAFE S:001 TEACH CYCLE STOP CUST


ROBOT LANGUAGE SET

INSTRUCTION SET
SUBSET
STANDARD
EXPAND

LEARNING ON OFF

! Select item
INST LEARN QUIT >

Figure 6-1 Instruction Set Display

4. Press INSTR (F1).


5. Choose SUBSET (F1), STD (F2), or EXPAND (F3).
6. Press QUIT (F5).

MRC Advanced Training Manual Page 6-2 ©MOTOMAN


INFORM II Instruction Set

6.2 Setting Learning On/Off


Setting LEARNING to ON simplifies programming instructions that are going to be
used repetitively throughout a job or jobs. After an initial instruction is entered into
a job, the next time it is selected it is displayed on the input buffer line with all the
options that were registered the first time. It can be entered anywhere in the job
again “as is” or modified and then entered.

To set Learning ON or OFF, complete the following steps:

1. Press CUSTOMER.
2. Press MORE.
3. Press LANG (F1).
4. Press LEARN (F2).

J:SAFE S:001 TEACH CYCLE STOP CUST


ROBOT LANGUAGE SET

INSTRUCTION SET
SUBSET
STANDARD
EXPAND

LEARNING ON OFF

! Select item
INST LEARN QUIT >

Figure 6-2 Learning Display

5. Choose ON (F1) or OFF (F2).


6. Press QUIT (F5).
Once LEARNING has been activated, the next time an instruction is selected on
the input buffer line it will include all the conditions used the last time that this
instruction was entered into a job. You may then use the softkeys MODIFY (F1),
DELETE (F2), ← (F3), → (F4), or CLEAR (F5) to make changes before
entering.

MRC Advanced Training Manual Page 6-3 ©MOTOMAN


INFORM II Instruction Set

6.3 Use of PRIOR and SAME


When a job is in Edit mode with the cursor on the Address side, two soft keys
appear:

• PRIOR (F4)
• SAME (F5)

PRIOR: Learning must be turned ON in order for PRIOR


to function. When Learning is activated, any new
instruction becomes the “memorized” or “stored”
instruction. Pressing PRIOR (F4) will display the
most recently “memorized” or “stored” instruction
on the buffer line until a different instruction is
programmed. The instruction can then be
entered in the job “as is” or modified and then
entered. This function is convenient because it
allows a specific instruction to be entered
several times within a job or in other jobs as
well.

SAME: If the soft key SAME (F5) is pressed while the


cursor is on an instruction line of a job, then the
same instruction command will be entered onto
the input buffer line. It can then be entered
anywhere within this job “as is” or modified and
then entered. In effect, the SAME command is a
quick, one-line “copy” of an instruction.

MRC Advanced Training Manual Page 6-4 ©MOTOMAN


Search

7.0 SEARCH JOB CONTENT FOR LINE,


STEP, INST, LABEL, OR TAG
When the content of a job is displayed on the screen in TEACH mode, it is possible
to search for a specific line, step, instruction, label, or tag. The soft key menu for
SEARCH appears as follows:

• (F1) LINE Carries out a line address number search


• (F2) STEP Carries out a step address number search
• (F3) INST Carries out an instruction search
• (F4) LABEL Carries out a label search
• (F5) TAG Carries out a tag search

7.1 Searching for a Line


To search for a line within a job’s content selected in TEACH mode,
complete the following steps:

1. Press DISP.
2. Press JOB (F1).
3. Press SEARCH (F5).
4. Press LINE (F1).
5. Using the number keys, enter the line number for which you are searching.
6. Press ENTER. The cursor moves to the line number address.

7.2 Searching for a Step


To search for a step within a job’s content selected in TEACH mode,
complete the following steps:

1. Press DISP.
2. Press JOB (F1).
3. Press SEARCH (F5).
4. Press STEP (F2).
5. Using the number keys, enter the step number for which you are searching.
6. Press ENTER. The cursor moves to the step number address.

MRC Advanced Training Manual Page 7-1 ©MOTOMAN


Search

7.3 Searching for an Instruction


To search for an instruction within a job’s content selected in TEACH mode,
complete the following steps:

1. Press DISP.
2. Press JOB (F1).
3. Press SEARCH (F5).
4. Press INST (F3).
The following soft key labels appear: IN/OUT, CONTROL, DEVICE, PRIOR,
SAME, MOTION, ARITH, SHIFT.

• IN/OUT Displays I/O instruction soft key labels


• CONTROL Displays control instruction soft key labels
• DEVICE Displays work instruction soft key labels
• PRIOR Enters the same instruction as prior one
• SAME Enters the instruction before the cursor line
• MOTION Displays move instruction soft key labels
• ARITH Displays calculation instruction soft key labels
• SHIFT Displays shift instruction soft key labels

5. Press the desired instruction-type soft key. The soft key labels for the
instruction type appear.
6. Press the desired instruction soft key label.
7. Press ENTER. The cursor will advance to the first line it finds with the desired
instruction.

7.4 Searching for a Label


To search for a label within a job’s content selected in TEACH mode,
complete the following steps:

1. Press DISP.
2. Press JOB (F1).
3. Press SEARCH (F5).
4. Press LABEL (F4).
5. Enter the characters of the label.
6. Press ENTER. The cursor will move to the desired label.

MRC Advanced Training Manual Page 7-2 ©MOTOMAN


Search
NOTE: LABELS are primarily used with the JUMP instruction for job execution
in PLAY mode. However, for TEACH mode purposes, LABELS may be
used in a program as a “marker” for finding things such as a particular
section of a job or a comment for which there is no SEARCH.

7.5 Searching for a Tag


To search for another tag of the same type within a job’s content selected in
TEACH mode, complete the following steps:

1. Press DISP.
2. Press JOB (F1).
3. Press SEARCH (F5).
4. Move the cursor to the first line containing the tag.
5. Press TAG (F5) to display the contents of the cursor line.
6. If the cursor is not at the tag to be searched, move the cursor using the F4 and
F5 keys.
7. Press ENTER. The cursor will move to the desired tag.

The last tag searched is kept in memory. To search for this tag again,
complete the following steps:

1. Press DISP.
2. Press JOB (F1).
3. Press SEARCH (F5).
4. Press TAG (F5).
5. Press PR SRCH (F3).
The previous instruction will be displayed on the input buffer line. The tag to
be searched can be switched by pressing F4 or F5.
6. Press ENTER. The cursor will move to the desired tag.

MRC Advanced Training Manual Page 7-3 ©MOTOMAN


Search

NOTES

MRC Advanced Training Manual Page 7-4 ©MOTOMAN


Default Speeds

8.0 DEFAULT SPEED INSTRUCTION


The default SPEED instruction allows all velocity types, VJ=Joint_speed,
V=Control_point_speed, or VR=Angle_speed (rotation velocity), to be “set” in
one line of instruction. It must precede any steps that are to default to this SPEED
setting. In order for a motion step to use the default SPEED, the motion step must
be entered into the job without the input buffer line designating any VJ= or V=
velocity tag; instead, choose 0: SPEED OMIT from the PLAY SPD key lists for
JOINT (%) or LINEAR units.

The Figure 8-1 is a sample of a job with a default SPEED instruction. The robot
will move at the default VJ=50.00 (% ) for the MOVJ in Steps 002 and 008, and
in Steps 004 through 006, the robot will move at the default V=1125 (cm/min)
during travel in the circular path and the MOVL that follows. Also, note that if the
speeds for these steps need to be adjusted, only one line needs to be edited, rather
than each step.

L: S: INSTR:
0000 000 NOP
0001 SPEED V=1125 VJ=50.00
0002 001 MOVJ VJ=25.00
0003 002 MOVJ
0004 003 MOVC V= 138
0005 004 MOVC
0006 005 MOVC
0007 006 MOVL
0008 007 MOVL V=138
0009 008 MOVJ
0010 END

Figure 8-1 Job Example with Default Speeds

NOTE: In expanded language, a default speed can be programmed as a B, I,


or D Variable (Global/Local, Scalar/Array). In the Figure 8-3 shown
below, if I038=5000, then VJ=50.00%; if I039=1000, then V=1000cm/
min, or V=1000 in./min, or V=100.0 mm/sec.
L: S: INSTR:
0001 SPEED VJ=I038 V=I039

Figure 8-2 Job Example with Variable Default Speeds

MRC Advanced Training Manual Page 8-1 ©MOTOMAN


Default Speeds
Another example of the convenience of the SPEED instruction is illustrated in
Figure 8-2. If the robot’s TCP is not “traveling” in Steps 014, 016, and 018, but
rather “pivoting” the tool’s orientation, then each MOVL requires a VR=Angle
speed (rotation velocity of 0.1-360.0 degrees per second). Since the VR is only
available in LINE ED on the Instruction Side of the job when in EDIT, each VR tag
would have to be put on separately. However, to save programming time, a default
SPEED instruction was used.

L: S: INSTR:
0015 011 MOVJ VJ=100.00
0016 SPEED VJ=50.00 VR=120.0
0017 012 MOVJ
0018 013 MOVL V=558
0019 014 MOVL
0020 015 MOVL V=558
0021 016 MOVL
0022 017 MOVL V=558
0023 018 MOVL
0024 019 MOVJ
0025 END

Figure 8-3 Job Example with VR Default Speeds

To access the default SPEED setting, complete the following steps:

1. In Teach and Edit mode, display the job on the screen with the cursor on the
Address side.
2. Press the ARROW UP key.
3. Press MOTION (F1).
4. Press the ARROW UP key.
5. Press SPEED (F1).
6. Press VJ (F1), V (F2) or VR (F3).
7. Enter the desired default speed.
Ranges: VJ = 0.01-100.00 %,
V= 0.1-1500.0 mm/sec; 1-9000 cm/min; 1-3543 in/min,
VR= 0.1-360.0 deg/sec.
8. Press ENTER (the data moves to the input buffer line).
9. Repeat steps 6-8 for each default velocity desired.
10. Press ENTER to program the instruction into the job.

MRC Advanced Training Manual Page 8-2 ©MOTOMAN


NWAIT, CWAIT, & UNTIL

9.0 NWAIT, CWAIT, & UNTIL


INSTRUCTIONS
The NWAIT, or “No-Wait”, motion tag will allow execution of all non-motion
instruction lines programmed between the step with the NWAIT tag and the next
step while the robot moves to the tagged position step. If only a portion of the
instructions are to be executed during robot motion, then the CWAIT instruction is
used to “Cancel No-Wait” and may be inserted where it is necessary to resume
normal line-by-line job execution.

Figure 9-1 illustrates use of both NWAIT and the optional CWAIT. While the robot
travels from Step 008 to Step 009, instructions on Lines 0013 through 0017 will be
executed; Lines 0019 and 0020 will not be executed until the robot reaches Step
009.

L: S: INSTR:
0011 008 MOVL V=138
0012 009 MOVL V=138 NWAIT
0013 DOUT OT#(2) ON
0014 DIN B017 IG#(1)
0015 SET D015 B017
0016 MUL D015 1000
0017 CWAIT
0018 DOUT OT#(2) OFF
0019 010 MOVL V=276
0020 PULSE OT#(1) T=0.45
0021 TIMER T=0.50

Figure 9-1 Job Example of NWAIT and CWAIT

NOTE: If the instructions of the NWAIT (lines 0013 through 0017 above) take a
longer period of time than the robot’s travel to the NWAIT step (009
above), then the robot will hesitate at this step until these instructions
are completed.

MRC Advanced Training Manual Page 9-1 ©MOTOMAN


NWAIT, CWAIT, & UNTIL

9.1 Programming the NWAIT Tag


To access the NWAIT tag, complete the following steps:

1. Display the job on the screen in Teach and Edit mode with the cursor on the
Instruction side.
2. Press LINE ED (F1).
3. Press the ARROW UP.
4. If MOVJ, MOVC, or MOVS, skip to Step 5. If MOVL, press the
ARROW UP key again.
5. Press NWAIT (F4); or if MOVL, press (F3).
6. Press ENTER.

NOTE: The NWAIT command tag can also be added while programming with
position variables or incremental moves in the MOTION menu with the
cursor on the Address side. To add the NWAIT command tag, press the
ARROW UP key two times after the position variable is entered or three
times after IMOV is entered. Then press NWAIT (F3) and ENTER.

9.2 Programming the CWAIT Instruction


To program the optional CWAIT control instruction, complete the following
steps:

1. Display the job on the screen in Teach and Edit mode with the cursor on the
Address side.
2. Press INSERT.
3. Press CONTROL (F2).
4. Press the ARROW UP key.
5. Press CWAIT (F5).
6. Press ENTER.

9.3 Programming the UNTIL Tag


An UNTIL tag allows the robot to move toward a programmed position until an
input signal is received. The robot will then move directly to the next programmed
position from the point in the robot path at which the input signal was received. If
the input does not come on the robot continues to the command position of that
step without responding to the UNTIL tag. A Linear or Joint motion step can be
programmed with an UNTIL tag.

MRC Advanced Training Manual Page 9-2 ©MOTOMAN


NWAIT, CWAIT, & UNTIL
In Figure 9-2, the robot will abort moving toward the position in Step 020 when
Input #3 is ON and proceed directly to Step 021. If the job contains no other
motion steps after the UNTIL tag, the robot will stop when the input is ON.

L: S: INSTR:
0024 019 MOVL V=1125
0025 020 MOVL V=2250 UNTIL IN#(3)=ON
0026 021 MOVL V=4500

Figure 9-2 Job Example with the UNTIL tag

To program an UNTIL tag, complete the following steps:

1. Display the job on the screen in Teach and Edit mode with the cursor on the
Instruction side of a MOVL or MOVJ.
2. Press LINE ED (F1).
3. Press the ARROW UP key.
4. If MOVJ, skip to Step 5. If MOVL, press the ARROW UP key.
5. If MOVJ, press UNTIL (F3). If MOVL, press UNTIL (F2).
6. Enter the input number.
7. Press ENTER (the input number will move to the buffer line) and proceed via
ONE of the following possibilities:
8a. Press CONST (F1),
9a. Press ON (F2) or OFF (F5),
10a. Press ENTER (into job).
or
8b. Press B (F2).
9b. Enter Byte variable number.
10b. Press ENTER (to place the information on the input buffer line).
11b. Press ENTER (to enter the information into the job).

NOTE: When programming with position variables or incremental moves in the


MOTION menu, the UNTIL command tag can be added when the
cursor is on the Address side as follows: After the position variable is
entered, press the ARROW UP key two times or after IMOV is entered,
press the ARROW UP key three times. Then press UNTIL (F2) and
continue as above in Steps 6 through 10.

MRC Advanced Training Manual Page 9-3 ©MOTOMAN


NWAIT, CWAIT, & UNTIL

NOTES

MRC Advanced Training Manual Page 9-4 ©MOTOMAN


Variables

10.0 VARIABLE TYPES & ADDRESSES


One form of variable addressing that is always available regardless of the language
level (SUBSET, STD, or EXPAND) is Global Scalar. However, in Expanded
Language only, three other forms of addressing become available. They are
Global Array, Local Scalar, and Local Array.

10.1 Local & Global Variables

LOCAL variables differ from GLOBAL variables in the following ways:

• A Local Variable can be used only in the one job that defines it.
Global Variables can be used by all jobs. Global B001 is ‘seen’
and can be used by all jobs, but Local LB001 is unique to each
job that defines and uses it independently.
• The number of local addresses is set in the job’s SUBHEADER.
The total area of addresses available varies with the software
version.

NOTE: If Alarm 4560, LACK OF LOCAL VARIABLE AREA occurs, then


software version may only support 10 Local addresses #000 to 009 for
each type per job.

• Local variable files cannot be displayed. To monitor contents of a


local variable, it can be ‘saved’ to a global variable address with
the SET instruction.

SET P124 LP009

Figure 10-1 Instruction using Global and Local Variables

MRC Advanced Training Manual Page 10-1 ©MOTOMAN


Variables
10.1.1 Scalar and Array Address Numbers
Both GLOBAL and LOCAL variables may have a SCALAR or an ARRAY
address. A Scalar address is a constant, such as I000. An Array address varies
based on another global/local B, I, or D variable only, such as I[B000].

Examples (using Byte variable) of ALL address type combinations:

B039 (Global B, Scalar address)


LB001 (Local B, Scalar address)
B[D011] (Global B, Array address determined by global D011)
LB[I017] (Local B, Array address determined by global I017)
B[LI000] (Global B, Array address determined by local LI000)
LB[LD002] (Local B, Array address determined by local LD002)

NOTE: When the MRC INFORM II Language level is set to SUBSET or


STANDARD, only GLOBAL, SCALAR address variables are available.
When set to EXPAND level, ARRAY addresses may be used, and the
desired number of LOCAL variable addresses must be reserved in
each job’s SUBHEADER.

10.1.2 Reserving Local Variables in the Subheader

NOTE: To set language level to EXPAND, refer to Section 6.1.


To access a job’s SUBHEADER and reserve LOCAL address files,
perform the following keystrokes:

1. In TEACH mode, press SELECT.


2. Press SEL JOB (F4).
3. Cursor to the job’s name on the list.
4. Press ENTER.
5. Press DISP.
6. Press JOB (F1).
7. Press DISP CHG (F1) [Press MORE to access DISP CHG at (F1) if
Concurrent Job options SUPV, MASTER, SUB 1, and SUB 2 appear.]
8. Press the ARROW UP key.
9. Press SUB HD (F1).
10. Press EDIT.

MRC Advanced Training Manual Page 10-2 ©MOTOMAN


Variables
11. Cursor to the variable type desired.
12. Press MODIFY.
13. Enter the desired number of reserved LOCAL variable addresses needed.
14. Press ENTER.

Repeat steps 11-14 for each desired type.

NOTE: A repeating message appears stating ‘!Reconstruct local variable from


next start...’ The reserved memory for local variable storage only exists
while the job is in Play, START.
Once the required number of Local addresses have been reserved, it becomes the
programmer’s responsibility to reconstruct the values stored in each address within
the structure of the job commands. Also, the programmer must use the correct
addresses; if, for example, 9 Local Byte addresses were reserved, then only LB000
through LB008 are available for that job. Instructions most commonly used for
setting values into Local variables are in the ARITH menu (refer to Section 12.0).

10.2 Arithmetic Variables


There are 4 basic types of Global/Local Arithmetic Variables available for
programming with the MRC; Byte, Integer, Double Precision Integer, & Real.

Table 10-1 Arithmetic Variables

GLOBAL LOCAL
DATA TYPE RANGE
VARIABLE VARIABLE
BYTE B000 to B099 LB000 to LB255 0 to 255
INTEGER I000 to I099 LI000 to LI255 -32,768 to 32,767
DOUBLE -2,147,483,648 to
D000 to D099 LD000 to LD255
PRECISION 2,147,483,647
-3.400000E+38 to
3.400000E+38
(precision for values
REAL R000 to R099 LR000 to LR255
between -1&+1:
-9.99999E-38 to
9.99999E-38)

MRC Advanced Training Manual Page 10-3 ©MOTOMAN


Variables

10.3 Position Variables


Any MRC Variable is used for storing data. Where Arithmetic Variables store
single pieces of data, Position Variables store robot (or group axis) data. There can
be up to 6 pieces of information stored in a Position Variable. For robots as the
group axis, this information can be either S,L,U,R,B,T pulse data or X,Y,Z,Rx, Ry,
and Rz data.

There are 7 data types for Global Position Variables: Pulse, BF, RF, UF, TF,
MTF, & External Station. There are 3 data types for the Local Position
Variables; Robot, Base, & External Station. Each type may have a Scalar or an
Array address. In EDIT, position data may be recorded with servo power ON for
all global types except TOOL (see Sections 11.2 and 11.3). Data for TOOL, and
all other types as well, may be hand-entered in EDIT using the NUM KEY (F4)
method for purposes of IMOV, shifting, etc. (see Sections 11.5 and 11.6).

Table 10-2 Global Position Variables

Data Type Data Format Global Variable No.


Pulse Pulse (SLURBT) P000 to P127
Base (BF) XYZ P000 to P127
Robot (RF) XYZ P000 to P127
User (UF#) XYZ P000 to P127
Tool (TF) XYZ P000 to P127
Master Tool
XYZ P000 to P127
(MTF)
External Station Pulse EX000 to EX127

MRC Advanced Training Manual Page 10-4 ©MOTOMAN


Variables

Table 10-3 Local Position Variables

Data Type Data Format Global Variable No.

Robot Pulse or XYZ LP000 to LP255

Base Pulse or XYZ LBP000 to LBP255

External Station Pulse or XYZ LEX000 to LEX255

10.4 CARTESIAN (XYZ) COORDINATE FRAMES


The MRC supports four types of Cartesian XYZ coordinate frames regarding
position data. ROBOT Frame (RF), BASE Frame (BF), USER Frame (UF), and
TOOL Frame (TF) or Master (MTF).

Position data in XYZ format can be displayed as follows:

1. Press DISP.
2. Press PSN [F2].
3. Press XYZ [F2].
4a. Choose BASE [F1] or ROBOT [F2],
or
4b. choose USER [F3], enter the frame number (1-24), then press ENTER.

With regard to Position Variables, only BASE, ROBOT, and USER Frame can be
the chosen data type for registering positions with servo power. However, TOOL
and MTF, in addition to BASE, ROBOT, and USER, are available COORD data
type choices when editing by the NUM KEY method for purposes of shift values,
IMOVs, etc.

MRC Advanced Training Manual Page 10-5 ©MOTOMAN


Variables
10.4.1 Robot Frame (RF)
The Robot Frame (RF) XYZ Cartesian coordinate system, as illustrated below,
shows the zero position and the directions of the X+, Y+, and Z+ coordinate axes
which is the same as the operation of the axis keys when using the WLD [RECT]
jogging coordinates.

Robot Coordinate System

Figure 10-1 Robot Frame

10.4.2 Base Frame.


The BASE Frame differs from the ROBOT Frame only when the robot is mounted
on a servo driven track controlled by the MRC controller. With the inclusion of this
controlled axis, the envelope is expanded to include the area the robot can reach.
This expanded envelope is considered the Base Frame. The XYZ directions remain
the same, but the zero position is identified by a location on the Base axis as well as
a robot location.

Base Coordinate System

Figure 10-5 Base Frame

NOTE: In a system without any base axes, the BASE Frame (BF) position data
will be the same as the ROBOT Frame (RF) data.

MRC Advanced Training Manual Page 10-6 ©MOTOMAN


Variables
10.4.3 User Frame (UF#1-24)
There are 24 USER Frames available for set-up on the MRC. All User Frames are
based on three points: ORG, XX, & XY. These points are programmed/taught by
the user to create a plane in space that may be skewed from the Robot Frame
XYZ. It also may be used to provide a zero position at the ORG.

User Coordinate System

ORG

Figure 10-6 User Frame Coordinates

Not only can User Frames be used for jogging the robot in USER Coordinates, but
also UF#( ) can be used in program instructions with position variables regarding
shift data or the IMOV. In addition, performing dynamic editing with the PAM
function or a 3-D shift with the Relative Job software option includes User Frames.

10.4.4 Tool Frame (TF)


The MRC EDIT menu regarding Position Variables allows position data, for shifting
or IMOVs, etc., to be entered by NUM KEY [F4] not only in Base Frame, Robot
Frame, and User Frames, but also TOOL Frame with any Tool No. 00-23.

NOTE: The current position of the TCP in TOOL Frame Coordinates is always
zero! Therefore, the software does not display position data in TOOL,
nor does it register points with position variables in TOOL data type.

MRC Advanced Training Manual Page 10-7 ©MOTOMAN


Variables

Y+

X+
Z+

Figure 10-4 Tool Frame Coordinates

When jogging in TOOL coordinates, the effective application direction (wire-feed,


laser, waterjet, etc.) should be same as the direction of the Z+ axis key. This TF set
up for the TCP is accomplished by manually entering the Rx, Ry, and/or Rz degree
values for the Tool data.

10.4.5 Master Tool Frame (MTF)


The Master Tool Frame refers to a dual robot cell where one robot’s TCP is the
“master” and the other robot’s TCP is the “slave”. Position data for the slave TCP
is based on it’s distance and orientation in master TCP Tool Frame.

10.4.6 Tool No. Selection for Multiple TCPs


Each time a step is entered from the input buffer line, the Tool No. for that step is
displayed on right side of job screen as shown in Figure 10-5 below.

Figure 10-5 Tool No. in JOB CONTENT Screen

Consequently, the first concern is selecting the correct Tool Number not only for
new steps, but also for modifying points or storing position data in a Position
Variable address.

MRC Advanced Training Manual Page 10-8 ©MOTOMAN


Variables
NOTE: For multiple TCP use, set parameter S2C196=1 to activate the list for
TOOL No.00-23.

Tool No. is selected at the pendant by pressing [COORD] to choose TOOL,


JOINT, or WLD/CYL coordinates (not USER), then press asterisk [*] plus the
[COORD] key to display the list. Cursor to the desired tool number and press
QUIT [F5]. (Assuming the TCP data has been manually or automatically
stored previously.) Then, and only then, are you ready to program new steps or
modify step positions for that desired tool. Choose any desired coordinate system
for jogging purposes.

NOTE: The currently active tool will remain as the selected Tool No. on the tool
list until manually changed as described above.

NOTE: On software versions 4.111 and beyond, parameter S2C061 = 1


activates a tool ERROR message to prevent a job from being
programmed and/or edited accidentally with the wrong Tool No. This
means that all steps in a job must be entered with the same Tool No.
selected; otherwise ‘!ERROR 0070: Program and current tool different’
will appear on the message line. As long as this parameter is active
(1=ON), each individual job is limited to only one Tool for all motion
steps, however, CALL can be used for ‘child’ jobs to accommodate for a
different tool in each separate job.

MRC Advanced Training Manual Page 10-9 ©MOTOMAN


Variables
10.4.7 External Station Axes

The YASNAC-MRC has the capability to have two robots with two bases (B1 for
use with R1 and B2 for use with R2) and six stations (S1, S2, S3, S4, S5, and S6);
up to three axes can be set to one base. The maximum total is up to 21 axes
including each robot’s 6 axes (SLURBT), but only eighteen of these can be
controlled to operate simultaneously. Therefore, various settings are available
according to the user’s external axis system.

Positioner Positioner
Robot

Torch Tack
Tender Table

Figure 10-7 Station Axes

MRC Advanced Training Manual Page 10-10 ©MOTOMAN


Variables

10.5 SYSTEM VARIABLES ($)


There are 6 types of System Variables used with the MRC. All are designated by
the “$” symbol. The four ARITHMETIC types $B, $I, $D, & $R, and the
CONTROL GROUP AXES POSITION type $PX, are “fetched” using the GETS
Arithmetic Function and stored in the corresponding User type. The $C-type is
used only in Concurrent I/O programming. Each System Variable address is
dedicated for a specific use. Some samples for dedicated use are included in the
table below:

Table 10-4 System Variables

SYSTEM VARIABLES USER TYPE DEDICATED USE

$B002= Re turn co d e fo r SRCH instructio n


$B-typ e B-typ e $B006 = Re turn co d e fo r HSEN instructio n
$B008= Re turn co d e fo r SYSTART instructio n

$PX000 = Curre nt inte rp o late d p ath p o sitio n


d ata in PULSE fo r R1 syste m o r
slave o f R1 + R2 syste m

$PX001 = Curre nt inte rp o late d p ath p o sitio n


in XYZ (BF) fo r R1 o r inte rp o late d p ath p o sitio n
d ata in PULSE fo r maste r o f R1+R2

$PX002 = Actual FEEDBACK PULSE p o sitio n


d ata fo r R1 syste m o r slave o f R1+R2 syste m

$PX003 = Actual FEEDBACK XYZ (BF)


p o sitio n fo r R1 o r actual FEEDBACK PULSE
fo r maste r o f R1+R2.
PX-typ e
$PX011 = REFP1 Pulse
$PX-typ e (Gro up s o f P-typ e )
$PX012 = REFP2 Pulse
$PX013 = REFP3 Pulse
$PX014 = REFP4 Pulse
$PX015 = REFP5 Pulse
$PX016 = REFP6 Pulse
$PX017 = REFP7 Pulse
$PX018 = REFP8 Pulse
$PX021 = SREFP1 Pulse
$PX022 = SREFP2 Pulse
$PX023 = SREFP3 Pulse
$PX024 = SREFP4 Pulse
$PX025 = SREFP5 Pulse
$PX026 = SREFP6 Pulse
$PX027 = SREFP7 Pulse
$PX028 = SREFP8 Pulse

$C000-$C015 TIMER (Op e rand # 6010-# 6027)


$C-typ e C.I/O o nly
$C016-$C031 COUNTER (Op e rand # 6030-# 6047)

MRC Advanced Training Manual Page 10-11 ©MOTOMAN


Variables
10.5.1 Control Group Axes Position Variables ($PX & PX)
SYSTEM POSITION EXPANDED CONTROL GROUP AXES ($PX) variables
are a group of position variables “fetched” to a POSITION EXPANDED
CONTROL GROUP AXES (PX) variable using GETS and are defined by the
Control Group Axes specified in the job HEADER.

• When the control group is R1+R2, PX000 indicates P000 (slave)


and P001(master).
• When the control group is R1+B1 , PX000 indicates P000 and
BP000.
• When the control group is R1+B1+S1, PX000 indicates P000,
BP000, and EX000.
• When the control group is R1+R2+B1+B2+S1, the job is a
cooperative job and if the master coordinates are R1+B1,
then PX000 indicates:
P000 = R2 (slave)
P001 = R1 (master)
BP000 = B2 (slave)
BP001= B1 (master)
EX000= S1

CAUTION! The programmer must use care with address choices to avoid
overwriting stored values when using the GETS & CNVRT Arithmetic
Functions in jobs with multiple Group Axes control.
Example for R1+R2 job:
GETS PX000 $PX000 (Two position variable addresses, P000
& P001,would have Pulse position
data stored)

CNVRT PX002 PX000 UF#(5) (Two position variable addresses, P002


& P003, would have User Frame #(5)
position data stored).
If the CNVRT in the example above used PX001 instead of PX002, then the
stored pulse data in P001, from the GETS instruction preceding it, would be
overwritten by the values for UF#(5) data.
NOTE: When working with two robots or two bases, etc., it is best to be
consistent and use, for example, just EVEN numbered PX addresses,
then the EVEN numbered P-addresses will be the SLAVE data and the
ODD numbered P-addresses will be the MASTER data.

MRC Advanced Training Manual Page 10-12 ©MOTOMAN


Position Variables

11.0 POSITION VARIABLES


The MRC has 128 Position Variable addresses, #P000-P127, that can be used for
storing position data, shift data, or incremental move data.

11.1 Access to Position Variable display


To access the Position Variable display, complete the following steps:

1. Press DISP.
2. Press VAR (F4).
3. Press the ARROW UP key.
4. Press P (F1). The Position Variable Display appears (see Figure 11-1).

J:SAFE S:001 TEACH CYCLE STOP DISP


POSITION VARIABLE
#P008 NAME:
S * TOOL: *
L *
U *
R *
B *
T *

! Select item
>

SEARCH FILE FILE DIS CHG


>

Figure 11-1 Position Variable Display (default, NO data type)

5. Press FILE ↓ (F1) or FILE ↑ (F2) to desired number,


or
press SEARCH (F1), enter the number, then press ENTER.

To delete the data of the displayed variable, complete the following steps:

1. Press EDIT.
2. Press DATA CL (F3).
3. Press EXECUTE (F5).

MRC Advanced Training Manual Page 11-1 ©MOTOMAN


Position Variables
NOTE: DATA CLEAR must be executed to access menu to specify data type
(Pulse or X, Y, Z) if a change is desired. The desired data type must be
established for each address to be used.
After completing the above steps to access an address and establish data type,
continue on the pages that follow by choosing the desired editing procedures
in one of the sections (11.2, 11.3, 11.5, or 11.6) to enter data values for each
variable address to be used.

11.2 Store Position Variable in pulse counts


To store the robot’s current position in Pulse Counts, complete the following
steps:

1. Display the desired Position Variable address (see Section 11.1). Turn
ON the servo power and press ENABLE.
2. Press EDIT.
3. Press RBT POS (F5).
4. Press PULSE (F1).
5. If dual system, press ROBOT 1 (F1) or ROBOT 2 (F2).

J:SAFE S:001 TEACH CYCLE STOP EDIT


POSITION VARIABLE
#P000 NAME: HOME Position
S 0 TOOL: 01
L 0
U 0
R 0
B 0
T 0
! Select item
SEARCH
>

FILE FILE DATA CL NUM KEY RBT POS


>

Figure 11-2 Position Variable Display (Pulse)

6. Jog the robot to the desired position.


7. Press MODIFY.
8. Press ENTER.
9. Press QUIT (F5).

MRC Advanced Training Manual Page 11-2 ©MOTOMAN


Position Variables

11.3 Store Position Variable for XYZ


To store the robot’s current position in XYZ, complete the following steps:

1. Display the desired Position Variable address (see Section 11.1). Turn
ON the servo power and press ENABLE.
2. Press EDIT.
3. Press RBT POS (F5).
4. Press XYZ (F2).
5. If dual system, press ROBOT 1(F1) or ROBOT 2 (F2).
6. Press either BASE (F1), ROBOT (F2), or USER (F3). If USER, then enter
the desired number (1-24) and press ENTER.
7. Jog the robot to the desired position.
8. Press MODIFY.
9. Press ENTER.
10. Press QUIT.

11.4 Check Position Variable


To check the position set in a Position Variable, complete the following
steps:

1. Display the desired address and turn servo power ON.


2. Press EDIT.
3. Press RBT POS (F5).
4. Press ENABLE.

WARNING! The following step will cause the robot to move from its current position
directly to the Position Variable location. Ensure that the direct path is
clear before proceeding to Step 5.
5. After safe operation is ensured, press FWD until the position variable
number stops flashing.

MRC Advanced Training Manual Page 11-3 ©MOTOMAN


Position Variables

11.5 Editing data in Pulse Counts


To manually edit the data of a Position Variable in Pulse Counts,
complete the following steps:

1. Display the desired address and press EDIT.


2. Press NUM KEY (F4).
3. Press PULSE (F1) (necessary only after data clear).
4. Move the cursor to the chosen coordinate axis.
5. Press MODIFY.
6. Enter the correct numeric value using the number key pad.
7. Press ENTER.
8. Repeat Steps 4 through 6 for each desired setting or modification of S, L, U,
R, B, and T.
9. Press QUIT (F5).

11.6 Editing data in X, Y, Z, Rx, Ry, Rz


To manually edit the data of a Position Variable in XYZ mm and Rx, Ry,
& Rz degrees, complete the following steps:

1. Display the desired address and press EDIT.


2. Press NUM KEY (F4).
3. Press XYZ (F2) (necessary only after a data clear).
4. Press COORD (F2) (if necessary to change existing XYZ data type).
5. Press BASE (F1), ROBOT (F2), USER (F3) TOOL (F4), or MTF (F5).
6. If USER was not selected, skip to Step 7; if USER (F3) was selected,
complete the following steps:
a. Enter the User Frame number.
b. Press ENTER.
7. Move the cursor to the dimension to be set or modified.
8. Press MODIFY.
9. Enter X, Y, Z (0.000 ± 99,999.999 mm) or Rx, Ry, Rz (0 ± 180 degrees).
10. Press ENTER.
11. Repeat Steps 7 through 10 for each dimension to be set or modified.
12. Press QUIT (F5).

MRC Advanced Training Manual Page 11-4 ©MOTOMAN


Position Variables

J:SAFE S:001 TEACH CYCLE STOP EDIT


POSITION VARIABLE COORD:ROBOT
#P013 NAME: Shift Distance
X -250.000 TOOL: 01
Y 0.000 TYPE:FRONT
Z 0.000 UP
Rx 0.00 FLIP
Ry 0.00 S<180
Rz 0.00 R<180
! Select item
SEARCH

>
FILE FILE DATA CL NUM KEY RBT POS

>

Figure 11-3 Position Variable Display (XYZ)

11.7 Programming Motion with Position Variables


To program Motion in a job using position variables, complete the following
steps:

1. Display the job in Teach and Edit mode with the cursor on the
Address Side.
2. Press the ARROW UP key.
3. Press MOTION (F1).
4. Press MOVJ (F1), MOVL (F2), MOVC (F3), or MOVS (F4).
5. Press ROBOT (F1) if necessary.
6. Enter P (F1).
7. Enter the Position Variable number (0-127).
8. Press ENTER.
9. Press the ARROW UP key.
10. Press V or VJ (F1).
11. Enter the Control Point Speed or Joint speed.
12. Press ENTER to put the speed data on the input buffer line.
13. Press ENTER again to put the entire move instruction into the job.

MRC Advanced Training Manual Page 11-5 ©MOTOMAN


Position Variables

A job example is shown in Figure 11-4:

L: S: INSTR:
0000 000 NOP
0001 001 MOVJ P000 VJ=0.78
0002 002 MOVJ VJ=100.00
0003 003 MOVL P018 V=76
0004 004 MOVL P126 V=220 PL=0
0005 005 MOVJ VJ=12.50
0006 006 MOVJ P000 VJ=100.00
0007 END

Figure 11-4 Job Example using Moves to P-Vars

NOTE: In Steps 001 and 006, above, the same address has been used as the
start/end position.

11.8 Incremental Moves (IMOV)


An Incremental Move (IMOV) is a linear move of a designated amount and
direction based on a position variable. The position variable must be set up in
advance in XYZ to a specific number of millimeters in one or more directions and
orientations in degrees (refer to Section 11.6 to do this). For example, if P127 is
set for Z=+50 mm, then the robot will move linearly 50 mm in the positive direction.

To program an Incremental Move (IMOV) using a Position Variable,


complete the following steps:

1. Display the job in Teach and Edit mode with the cursor on the Address side.
2. Press ARROW UP.
3. Press MOTION (F1).
4. Press IMOV (F5).
5. Press ROBOT (F1).
6. Press P (F1).
7. Enter the Position Variable number.
8. Press ENTER.
9. Press the ARROW UP key.

MRC Advanced Training Manual Page 11-6 ©MOTOMAN


Position Variables
10. Press V (F1),
or
press VR (F2) if data in Position Variable is only degrees orientation.
11. Enter the Control-point-speed, or Angle-speed if VR was chosen.
12. Press ENTER.
13. Press the ARROW UP key twice.
14. Choose BF (F1), RF (F2), or TF (F3), then go to Step 14 ,
or
choose UF (F4), then enter number of frame and press ENTER.
15. Press ENTER (the contents of the buffer line move into the job).

In the job sample in Figure 11-5, the robot will move in a stair-step pattern
five times due to the IF construct on the JUMP instruction. The stair-step
pattern is created by setting P002 in XYZ format to Y=-50 mm, and P003 to
Z= 50 mm. All other shift elements remain zero millimeters/degrees.

L: S: INSTR:
0000 NOP
0001 001 MOVJ VJ=0.78
0002 SET I000 5
0003 *3
0004 002 IMOV P002 V=2250 UF#(18)
0005 003 IMOV P003 V=2250 UF#(18)
0006 DEC I000
0007 JUMP *3 IF I000 > 0
0008 004 MOVJ VJ=100.00
0009 END

Figure 11-5 Job Example using IMOVs

MRC Advanced Training Manual Page 11-7 ©MOTOMAN


Position Variables

NOTES

MRC Advanced Training Manual Page 11-8 ©MOTOMAN


Arithmetic Instructions

12.0 ARITHMETIC INSTRUCTIONS


There are twenty-one Arithmetic Functions available on the MRC. They appear in
the ARITH soft key menu as follows:

SETE GETE GETS


AND OR NOT XOR MFRAME
ADD SUB MUL DIV CNVRT
CLEAR INC DEC SET
(F1) (F2) (F3) (F4) (F5) (MORE)
SQRT SIN COS ATAN
(F1) (F2) (F3) (F4) (F5) (MORE)

Table 12-1 Arithmetic Instructions

NOTE: In all ARITHMETIC INSTRUCTIONS the results are stored in the


variable address immediately following the instruction. If this value
exceeds the range limits for the variable type, Alarm 4640, 4641, or
4642 will occur.

12.1 Instructions for System Variables


12.1.1 GETS
GET SYSTEM variable stores System ($) Variable information into a user’s
global/local, scalar/array variable file of the same type.

Examples:

GETS PX000 $PX000 (Gets system’s current position in Pulse and


stores data in PX000 which is just the file P000
if only R1 in job)
NOTE: In a job with R1 + R2, both P000 and P001 would have current Pulse
position data!
GETS PX011 $PX001 (Gets R1 system’s current position in BF and
stores data in PX011 which is just the file P011
if only R1 in job)

MRC Advanced Training Manual Page 12-1 ©MOTOMAN


Arithmetic Instructions
NOTE: In a job with R1 + R2, both P011 and P012 would have current BF
position data!

GETS LB005 $B002 (Gets system’s current return code of SRCH


software option instruction and stores status
results in LB005)

GETS B[I001] $B[LI001] (Gets system’s Byte variable, address deter-


mined by LI001, and stores value in B address
determined by I001)

12.2 Position Variable Functions


12.2.1 CNVRT
CONVERTs a Position variable from Pulse or any Frame type to only one of
the Frame types BF, RF, UF, MTF and stores the converted data in the same
or other designated Position variable address.

Examples:

CNVRT P003 P003 RF (Converts data of P003 into RF type)


CNVRT LP004 LP005 UF#(24) (Converts data of LP005 into UF type in
LP004)
CNVRT P[B006] P000 BF (Converts data of P000 into BF type in P
address determined by B006)
CNVRT LP[I007] LP[B009] MTF (Converts data of the LP address
determinedby B009 into MTF type in the
LP address determined by I007)
12.2.2 MFRAME
MAKE FRAME creates a User Frame from three Position variables. The
first designated address data becomes the ORG, the second the XX, the third
is stored as XY data. The Position variable data may be previously stored
manually in EDIT or “fetched” separately within the job using the GETS
instruction.

Example:

MFRAME UF#(4) PX005 PX006 PX007 (Makes User Frame #(4) with
PX005=ORG, PX006=XX, &
PX007=XY)

MRC Advanced Training Manual Page 12-2 ©MOTOMAN


Arithmetic Instructions
12.2.3 GETE
GET ELEMENT gets the designated element in a Position variable and
stores the value as Pulse counts or microns in a D-variable address.
NOTE: XYZ type Position variable elements are mm and degrees; 1,000
microns = 1 mm.
Examples:

GETE D004 P007 (3) (Gets third element of P007 and stores
value in D004)
GETE LD005 P[I005] (B039) (Gets element, determined by B039, of P
address, determined by I005, and store
value in LD005)
GETE D[B006] P008 (LB003) (Gets element, determined by LB003, of
P008 and stores value in D address
determined by B006)
GETE LD[I007] P009 (1) (Gets first element of P009 and stores value
in LD address determined by I007)
12.2.4 SETE
SET ELEMENT sets the designated element in a Position variable equal to a
constant or a value stored in a D-variable address.

Examples:

SETE P007 (1) 21470000 (Sets constant into first element of P007)
SETE LP008 (2) -500000 (Sets constant into second element of
LP008)
SETE P005 (B002) D003 (Sets value of D003 into element,
determined by B002, of P005)
SETE P[B039] (LB001) LD000 (Sets value of LD000 into element,
determined by LB001, into P address
determined by B039)

SETE LP001 (3) D[I022] (Sets value in D address, determined


by I022, into third element of LP001)

SETE LP[LB005] (LB002) LD[B005] (Sets value in LD address,


determined by B005, into the
element, determined by LB002, of
LPaddress, determined by LB005)

MRC Advanced Training Manual Page 12-3 ©MOTOMAN


Arithmetic Instructions

12.3 Calculating Functions


12.3.1 ADD
ΠAdd a constant or the value stored in any other arithmetic variable
address to the designated arithmetic variable address.

Examples:

ADD LD008 -81726354 (Adds constant to value stored in LD008)


ADD D006 B018 (Adds value in B018 to value in D006)
ADD R015 I[B033] (Adds value stored in “I” address, determined
by number in B033, to value in R015)

 Add the 6 elements stored in a Position variable address to the


designated Position variable’s elements. (Data type must be same;
Pulse, BF, RF, or UF) Suggestion: This function is useful for
combining XYZ shift amounts.

Examples:

ADD P125 P124 (Adds 6 elements of P124 to values in P125)


ADD LP002 LP004 (Adds 6 elements of LP004 to values in LP002)
ADD P[B001] LP[B001] (Adds 6 elements of LP address determined by
B001 to values in P address also determined by
B001)

12.3.2 SUB
ΠSubtract a constant or the value stored in any other arithmetic variable
address from the designated arithmetic variable address.

Examples:

SUB LD008 -45362718 (Subtracts constant from LD008)

SUB R006 B018 (Subtracts value stored in B018 from R006)


SUB D[B000] 27348 (Subtracts constant from D address determined
by number in B000)

 Subtract the 6 elements stored in a Position variable address from the


designated Position variable’s elements. (Data type must be same; Pulse,
BF, RF, or UF.)

MRC Advanced Training Manual Page 12-4 ©MOTOMAN


Arithmetic Instructions
NOTE: This function is useful for “zeroing” all 6 elements.
Examples:

SUB P127 P127 (Subtracts all elements from self to “zero” all
values)
SUB LP002 LP[I017] (Subtracts all elements in LP address
determined by number in I017, from LP002)

12.3.3 MUL
ΠMultiply a designated arithmetic variable address by a constant or
value stored in another variable address.

Examples:

MUL I005 25 (Multiplies 25 times value in I005)


MUL R005 D002 (Multiplies value in D002 times value in R005)
MUL LB001 LB002 (Multiplies value in LB002 times value in LB001)
MUL D[B005] LI[B004] (Multiplies value in LI address, determined by
B004,times value in D address determined by B005)

 Multiply a single element or all 6 elements stored in the position


variable address by an integer constant or any D-variable value.

Examples:

MUL P009 (3) -4 (Multiplies -4 times third element of P009)


MUL LP007 6 (Multiplies 6 times all elements of LP007)
MUL P127 (1) D039 (Multiplies value in D039 times first element of P127)
MUL LP002 LD[B001] (Multiplies value in LD address, determined by
B001, times all elements of LP002)
12.3.4 DIV
ΠDivide a constant or the value stored in another arithmetic variable
address into the designated arithmetic variable address.
NOTE: Any decimal place value results attempted to be stored in a B, I, or
D-type variable will be truncated to an integer value.

MRC Advanced Training Manual Page 12-5 ©MOTOMAN


Arithmetic Instructions
Examples:

DIV R005 67.854 (Divides constant into value of R005)


DIV R014 D002 (Divides value in D002 into value of R014)
DIV LB000 B[B000] (Divides value in B address, determined by
B000, into value of LB000)
DIV LB[LB004] LB[LB003] (Divides value in LB address, determined by
LB003 into value of LB address determined by
LB004)

 Divide an integer constant or any D-variable value into a single


element or all 6 elements stored in the designated Position variable
address.

Examples:

DIV P026 (1) 5 (Divides integer constant 5 into first element of


P026)
DIV P018 10 (Divides integer constant 10 into all elements of
P018)
DIV LP[B006] D[I030] (Divides value in D address, determined by
I030, into all elements of LP address determined
by B006)

12.3.5 SQRT
Stores the square root of a positive constant or the positive value stored in
another Real variable address into only a designated Real variable address.
NOTE: ALARM 5970 occurs if SQRT of a negative value is executed in
a job.
Examples:

SQRT R008 3 (√3 = 1.732051E+00 is stored in R008)


SQRT R014 81726.354 (Square root of positive constant is stored in
R014)
SQRT R009 5.87427E+16 (Square root of positive constant is stored in
R009)
SQRT R010 1.2487E-05 (Square root of positive constant is stored in
R010)
SQRT R006 LR009 (Square root of positive value in LR009 stored
in R006)
SQRT LR005 R[B033] (Square root of positive value in R address,
determined by B033, is stored in LR005)

MRC Advanced Training Manual Page 12-6 ©MOTOMAN


Arithmetic Instructions

12.4 Value Setting Functions


12.4.1 SET
ΠSet designated GLOBAL/LOCAL, SCALAR/ARRAY Byte, Integer,
Double, or Real variable address to a constant value.

Examples:

SET R009 452.2756 (Sets constant into R009)


SET LD008 -81726354 (Sets constant into LD008)
SET B[I000] 255 (Sets constant into B address determined by the
number in I000)

 Set designated GLOBAL/LOCAL, SCALAR/ARRAY Byte, Integer,


Double, or Real variable address to the same value that’s stored in
another variable’s address.

NOTE: Any decimal place value in a Real variable attempted to be set in a B,


I, or D type variable will be truncated to an integer value.
Examples:

SET R039 LB009 (Sets value stored in LB009 into R039)


SET LI001 B003 (Sets value stored in B003 into LI001)
SET LR[B001] LD[LB003] (Sets value stored in LD address determined by
B003 into LR address determined by B001)

Ž Set a designated GLOBAL/LOCAL, SCALAR/ARRAY Byte, Integer,


Double, or Real variable address to a value resulting from various
calculations with constants and/or other variable values.

NOTE: Any decimal place value results attempted to be stored in a B, I, or D


type variable will be truncated to an integer value.
Examples:

SET I006 I039 + 5 (Adds 5 to value in I039 and stores result in


I006)
SET R004 D007/8 (Divides value in D007 by 8 and stores result in
R004)
SET D032 2000 * B005 (Multiplies 2,000 times value in B005 and stores
result in D032)

MRC Advanced Training Manual Page 12-7 ©MOTOMAN


Arithmetic Instructions
SET LD001 (B004 + 255)/2 (Divides the sum of 255 and value in B004 by 2
and stores result in LD001)

 Set all 6 elements of a designated Position variable equal to another


Position variable’s elements of the same type (Pulse, BF, RF, UF).

NOTE: Data type must be previously defined in position variable file.


Examples:

SET P055 P040 (Sets all 6 elements of P040 into P055)


SET P125 LP002 (Sets all 6 elements of LP002 into P125)
SET P[B005] LP[LI003] (Sets all 6 elements of LP address determined by
LI003 into P address determined by B005)

12.4.2 CLEAR
ΠClear a section of any existing values to zero in consecutive
GLOBAL/LOCAL, SCALAR/ARRAY Byte, Integer, Double, or Real
variable addresses.

Examples:

CLEAR R007 ALL (Clears R007 through end at R039)


CLEAR LD000 ALL (Clears all Local D addresses reserved)
CLEAR I[B002] 8 (Clears 8 consecutive “I” addresses beginning
with address number stored in B002)

 Clear the STACK for nested CALL jobs. The STACK is limited to 8
levels of nesting, so by clearing the Stack within a nested Call Job
additional levels are made available.

Example:

CLEAR STACK (The “child” job containing this instruction becomes


level 1 of 8 possible stacked “parents”. When the
controller gets to the END of this job, the cycle is
finished at level 0)

MRC Advanced Training Manual Page 12-8 ©MOTOMAN


Arithmetic Instructions
CAUTION! Once the stack is cleared of previous levels, the controller will NOT
RETURN to any of these jobs, so programmer must consider safe
robot path for application.

Ž Clear the constant or D-variable value to zero in the Mail Boxes of


MASTER TASK, SUB 1, or SUB 2 if PSEND/PRECV functions are
used with Independent Control/Concurrent Job software option
(Section 19.0).

Examples:

CLEAR MB (Clears only mail boxes of this job)


CLEAR ALL (Clears all mailboxes of MT, S1, & S2)

12.5 Counting Functions


12.5.1 INC
Increment the value stored only in a GLOBAL/LOCAL, SCALAR/ARRAY
Byte, Integer, or Double variable address by adding one.

Examples:

INC I036 (Increases by one the value stored in I036)


INC LB000 (Increases by one the value stored in Local Byte
address)
INC D[LB002] (Increases by one the value stored in D address
determined by number in LB002)
12.5.2 DEC
Decrement the value stored only in a GLOBAL/LOCAL, SCALAR/ARRAY
Byte, Integer, or Double variable address by subtracting one.

Examples:

DEC I008 (Decreases by one the value stored in I008)


DEC LD001 (Decreases by one the value stored in Local D address)
DEC LI[D001] (Decreases by one the value stored in LI address determined by
number in D001)

MRC Advanced Training Manual Page 12-9 ©MOTOMAN


Arithmetic Instructions
In summary, using the SET and the INC or DEC instructions in combination with a
JUMP “loop” to a LABEL, any job can have a specific number of cycles counted.
See job sample below:

JOB:PART#234
LINE STEP INSTRUCTION

0000 000 NOP


0001 SET I016 85 [number of “Part#234” desired = 85]
0002 *2
0003 001 MOVJ VJ=25.00
0004 002 MOVJ VJ=100.00
0005 003 MOVJ VJ=12.50 PL=0
0006 004 MOVL VJ=558 PL=0
0007 005 MOVL VJ=558 PL=0
0008 006 MOVL VJ=558 PL=0
0009 007 MOVL VJ=558 PL=0
0010 008 MOVJ VJ=6.25
0011 009 MOVJ VJ=50.00
0012 DEC I016
0013 JUMP *2 IF I016>0
0014 PAUSE
0015 END

12.6 Trigonometric Functions


12.6.1 SIN
Stores the sine of a constant degrees or the value stored in another Real
variable address into only a designated Real variable address.

Examples:

SIN R008 90 (SIN 90° = 1.000000E+00 is stored in R008)


SIN LR001 -60 (SIN -60° = -8.660254E-01 is stored in LR001)
SIN LR009 R012 (Sine of the degrees value in R012 is stored in
LR009)
SIN R[B010] LR[I039] (Sine of the degrees value in LR address,
determined by I039, is stored in R address
determined by B010)

MRC Advanced Training Manual Page 12-10 ©MOTOMAN


Arithmetic Instructions
12.6.2 COS
Stores the cosine of a constant degrees or the value stored in another Real variable
address into only a designated Real variable address.

Examples:

COS R008 90 (COS 90° = -2.05103E-10 stored in R008)


COS LR002 -60 (COS -60° = 5.000000E-01 stored in LR002)
COS LR009 R012 (Cosine of the degrees value in R012 stored in
LR009)
COS R[B010] LR[I039] (Cosine of the degrees value in LR address,
determined by I039, is stored in R address
determined by B010)
12.6.3 ATAN
Stores the arc tangent in degrees for a constant ratio or for the value stored in
another Real variable address into only a designated Real variable address.

Examples:

ATAN R008 1 (ATAN 1 = 45°; 4.500000E+01 is stored in


R008)
ATAN LR000 -1.73205E+00 (ATAN -√3 = -60°; -6.000000E+01 is stored
in LR000)
ATAN LR009 R012 (Arc tangent of value in R012 is stored in
LR009)
ATAN R[B010] LR[I039] (Arc tangent of value in LR address,
determined by I039, is stored in R address
determined by B010)

12.7 Boolean Logic Functions


12.7.1 AND
Stores the logical resultant of AND for only a designated Global/Local Scalar/
Array Byte variable address combined with either a positive constant or the
value stored in any other Byte variable address.
NOTE: This is useful for masking I/O. To mask inputs 6, 7 & 8 of IG#(1) after a
DIN B000 IG#(1), use the next line of instruction as AND B000 31
(31=16 + 8 + 4 + 2 + 1, sum of inputs 1 to 5).

MRC Advanced Training Manual Page 12-11 ©MOTOMAN


Arithmetic Instructions
Examples:

AND B000 7 (If B000=63, then 7 is stored in B000)

0011_1111 [63]
AND 0000_0111 [ 7]
0000_0111 [ 7]

AND B000 B001 (If B000=63, then 63 is stored in B000)

0011_1111 [63]
AND 0011_1111 [63] B001
0011_1111 [63]

AND B000 83 (If B000=63, then 19 is stored in B000)

0011_1111 [63]
AND 0101_0011 [83]
0001_0011 [19]

AND B000 209 (If B000=63, then 17 is stored in B000)

0011_1111 [ 63]
AND 1101_0001 [209]
0001_0001 [ 17]
12.7.2 OR
Stores the logical resultant of OR for only a designated Global/Local Scalar/
Array Byte variable address combined with either a positive constant or the
value stored in any other Byte variable address.
Examples:

OR B001 7 (If B001=63, then 63 is stored in B001)

0011_1111 [63]
OR 0000_0111 [ 7]
0011_1111 [63]

OR B001 B002 (If B001=63, then 63 is stored in B001)

0011_1111 [63]
OR 0011_1111 [63] B002
0011_1111 [63]

MRC Advanced Training Manual Page 12-12 ©MOTOMAN


Arithmetic Instructions
OR B001 83 (If B001=63, then 127 is stored in B001)

0011_1111 [ 63]
OR 0101_0011 [ 83]
0111_1111 [127]

OR B001 209 (If B001=63, then 255 is stored in B001)

0011_1111 [ 63]
OR 1101_0001 [209]
1111_1111 [255]

12.7.3 XOR
Stores the logical resultant of XOR (“EXCLUSIVE OR”) for only a
designated Global/Local Scalar/Array Byte variable address combined with
either a positive constant or the value stored in any other Byte variable
address.

Examples:

XOR B003 7 (If B003=63, then 56 is stored in B003)

0011_1111 [63]
XOR 0000_0111 [ 7]
0011_1000 [56]
XOR B003 B004 (If B003=63, then 0 is stored in B003)

0011_1111 [63]
XOR 0011_1111 [63] B004
0000_0000 [ 0]

XOR B003 83 (If B003=63, then 108 is stored in B003)

0011_1111 [ 63]
XOR 0101_0011 [ 83]
0110_1100 [108]

XOR B003 209 (If B003=63, then 238 is stored in B003)

0011_1111 [ 63]
XOR 1101_0001 [209]
1110_1110 [238]

MRC Advanced Training Manual Page 12-13 ©MOTOMAN


Arithmetic Instructions
12.7.4 NOT
Stores the logical resultant of NOT for a positive constant or the value stored
in any Byte variable into only a designated Global/Local Scalar/Array Byte
variable address.

NOTE: The initial/existing value in the Byte address where the resultant is to
be stored is insignificant because it is not used as part of the NOT
logic process.
Examples:

NOT B002 7 (248 is stored in B002)

(insignificant) [63]
NOT 0000_0111 [ 7]
1111_1000 [255-7=248]

NOT B002 B003 (192 is stored in B002)

(insignificant) [63]
NOT 0011_1111 [63] B003
1100_0000 [255-63=192]

NOT B002 83 (172 is stored in B002)

(insignificant) [63]
NOT 0101_0011 [83]
1010_1100 [255-83=172]

NOT B002 209 (46 is stored in B002)

(insignificant) [63]
NOT 1101_0001 [209]
0010_1110 [255-209=46]

MRC Advanced Training Manual Page 12-14 ©MOTOMAN


Shift

13.0 SHIFT FUNCTIONS

13.1 Temporary Shift Instruction (SFTON/SFTOF)


The shift function provides the ability to transfer (shift) a single or group of
programmed positions by a specified distance and orientation. It uses position
variables for offsets in the X, Y, Z, Rx, Ry, and Rz directions. The shift value is the
difference of X, Y, or Z in the specified coordinate system between the
programmed position, the shifted position, and the tool displacement of degrees Rx,
Ry, and Rz. (Pulse Shift amounts may be used with software version 4.111 and
beyond.)

By using the shift function, a minimal number of robot positions are programmed in
order to provide execution at multiple locations. This simplifies and reduces the
time required to teach a job. This function is extremely useful for palletizing,
stacking, loading/unloading, and other applications that perform repeated functions
at multiple locations.

The shift function is initiated by a SFTON (shift on) instruction and specifying a
position variable and relative coordinate system. (The shift must be set up in
advance in a position variable. Refer to Section 11.5 for Pulse and Section 11.6 for
XYZ.) The XYZ shift data can be in any of the following coordinate systems: Base,
Robot, Tool, or one of the 24 User Frames. When the shift function is executed,
programmed positions are shifted by the data indicated in the specified position
variable. The shift function will affect all programmed positions including points in
called child jobs until a SFTOF (shift off) instruction is executed.

To program the SFTON instruction, complete the following steps:

1. Display the job in Teach and Edit mode with the cursor on the Address side.
2. Press the ARROW UP key.
3. Press SHIFT (F3).
4. Press SFTON (F1).
5. Press ROBOT (F1).
6. Press P (F1).
7. Enter the position variable number.
8. Press ENTER (the position variable number is moved to the buffer line).
9. Press the ARROW UP key.

MRC Advanced Training Manual Page 13-1 ©MOTOMAN


Shift
10. Choose BF (F2), RF (F3), or TF (F4), then go to Step 11,
or
choose UF (F5), then enter the number of the User Frame, and press ENTER.
11. Press ENTER (the contents of the buffer line move into the job).

To program the SFTOF instruction, complete the following steps:

1. Display the job in Teach and Edit modes with the cursor on the Address side.
2. Press the ARROW UP key.
3. Press SHIFT (F3).
4. Press SFTOF (F2).

In Figure 13-1, Steps 006, 007, & 008 will be shifted in USER FRAME #(24)
using the data stored in P127.

L: S: INSTR:
0011 005 MOVJ VJ=25.00
0012 SFTON P127 UF#(24)
0013 006 MOVJ P000 VJ=100.00
0014 007 MOVL V=1250
0015 008 MOVL V=1250
0016 SFTOF
0017 009 MOVJ VJ=100.00

Figure 13-1 Job Example using SFTON/SFTOF

NOTE: Whenever several Position Variable addresses may be needed for


shifting various portions of job(s) in different Frames, it is recommended
that the shift data in the Position Variable addresses be stored in
ROBOT Frame type so that they are all compatible for ADD, SUB, MUL,
and other ARITH menu instructions used to “compound” shift amounts.
Then, the instruction in the job must state which Frame to apply to the
(millimeters) X, Y, Z and (degrees) Rx, Ry, Rz data stored in the Position
Variable.

MRC Advanced Training Manual Page 13-2 ©MOTOMAN


Shift

13.2 MSHIFT Instruction


The MSHIFT instruction allows the desired offset or shift amount to be
determined during the execution of a job. Two position variables are used to
calculate the difference in millimeters/degrees; these can be set up in PULSE or
XYZ; however, the “answer” for the shift data will always be stored in the resultant
position variable address in XYZ format for RF, BF, TF, or UF#( ).

In Figure 13-2, PX029 is the position being shifted from, and PX030 is the position
desired for being shifted to. The MSHIFT in line 0009 subtracts the original
position data (PX029) from the desired new position data (PX030) and stores the
difference in PX001 as XYZ UF#(17) data type.

L: S: INSTR:
0006 003 MOVJ VJ=25.00
0007 004 MOVL P029 V=66 UNTIL IN#( )=ON
0008 GETS PX030 $PX000 (Captures current PULSE location)
0009 MSHIFT PX001 UF#(17) PX029 PX030
0010 SFTON P001 UF#(17)



0016 SFTOF
0017 010 MOVJ VJ=100.00
0018 END

Figure 13-2 Job Example using MSHIFT Instruction

To program the MSHIFT instruction, complete the following steps:

1. Display the job on screen in Teach and Edit mode with the cursor on the
Address side.
2. Press the ARROW UP key.
3. Press SHIFT (F3).
4. Press MSHIFT (F5).
5. Enter the PX variable address number for stored shift data.
6. Press ENTER.
7. Choose BF (F1), RF (F2), TF (F3), or MTF (F5), then go to Step 8,
or
choose UF (F4), then enter the number of the User Frame and press ENTER.

MRC Advanced Training Manual Page 13-3 ©MOTOMAN


Shift
8. Enter the PX variable address number of the original position.
9. Press ENTER.
10. Enter the PX variable address number of the desired shifted position.
11. Press ENTER.
12. Press ENTER (to enter MSHIFT instruction into the job).

13.3 Permanent Parallel Shift Function (PSHIFT)


An existing job can be permanently shifted by the PSHIFT function. The letter “P”
stands for parallel; all points are shifted the same amount/direction. The parallel
shift must be set up in a position variable with XYZ format in millimeters and
degrees (refer to Section 11.6 for XYZ). Also, software 4.111 and beyond may
shift in PULSE data (refer to Section 11.5 for Pulse). Since this is a permanent
rewrite of the job, it is recommended that backups of the original job and any called
jobs are made. Motion steps programmed with position variables will not be
shifted.
NOTE: Before performing a PSHIFT that will include RELATED child jobs,
display the HEADER for each job to be shifted and set EDT LOCK
[OFF]. Set EDT LOCK [ON] for each related child job not to be
permanently shifted by the PSHIFT.
To perform a Parallel shift, complete the following steps:

1. Press FUNC.
2. Press PSHIFT (F4).
3. Press SEL JOB (F1).
4. Move the cursor to the job to be shifted.
5. Press ENTER.
6. Press FILE (F2).
7. Press P (F1).
8. Enter the position variable number.
9. Press ENTER.
10. Press QUIT (F5).
11. Choose SINGLE (F4) to shift only the selected job, or RELATED (F3) to
shift child jobs that are not EDIT protected.

MRC Advanced Training Manual Page 13-4 ©MOTOMAN


Shift
12. Choose BASE (F1), ROBOT (F2), TOOL (F3), or ARROW UP to choose
PULSE (F2), then go to Step 13,
or
choose USER (F4), then enter the number of the User Frame and press
ENTER.
13. Press EXECUTE (F5).

NOTE: The Parallel Shift Function may cause programmed points to shift out of
the robot’s working envelope or past soft limits. These points will be
displayed in the job as “/OV”, meaning over the limit. These positions
must be modified. Do not play a job until it has been tested, step by
step, with the FWD key.

13.4 Dynamic Editing Function (PAM)


It is sometimes necessary to edit steps in a program without going into Teach mode.
The PAM (Position Adjustment and Modification) function allows you to
permanently shift taught points in any XYZ Frame direction, change the velocity of
steps, or modify associated position levels while in the PLAY or TEACH mode.
The changes become effective at the next NOP instruction of the selected job in
PLAY mode or immediately if in TEACH mode.

To use the PAM function, complete the following steps:

1. Press FUNC.
2. Press PAM (F5). The display appears as shown in Figure 13-1.
3. Press SEL JOB (F1). The job list is displayed.
4. Move the cursor to the job to be edited.
5. Press ENTER.

NOTE: The XYZ shift amounts have to be relative to a coordinate system. The
coordinate system options are BASE (F1), ROBOT (F2), TOOL (F3),
and USER (F4).
6. If you need to change the coordinate system, press COORD (F2), and select
the desired coordinate system as noted above. If USER (F4) is chosen, enter
the Frame number (1-24), then press ENTER.

MRC Advanced Training Manual Page 13-5 ©MOTOMAN


Shift

J:WORK-A S:000 PLAY AUTO FCTN


PAM INPUT COORD: ROBOT
JOB NAME: SAMPLE_1
STEP ∆X(mm) ∆Y(mm) ∆Z(mm) ∆V(%) PL
000 0.00 0.00 0.00 0.00 -
000 0.00 0.00 0.00 0.00 -
000 0.00 0.00 0.00 0.00 -
000 0.00 0.00 0.00 0.00 -
000 0.00 0.00 0.00 0.00 -
!
SEL JOB COORD EXIT

Figure 13-3 PAM Input Display

NOTE: Data changes for ∆X, ∆Y, ∆Z, ∆V (%), or PL will not be accepted on the
PAM screen unless a STEP number has been entered first.
7. Press MODIFY.
8. Enter the first STEP number to be edited in the selected job.
9. Press ENTER.
10. Cursor down to the next line in column one, and repeat Steps 7 through 9 for
each STEP number to be edited.

NOTE: Up to 10 steps can be modified at a time. However, only six lines are
displayed on the screen at one time.
11. Move the cursor to the ∆X, ∆Y, ∆Z, ∆V (%), or PL column of the STEP to
be changed.
12. Press MODIFY.

NOTE: The default value of position changing range is ± 10 mm. The default
speed changing range is ± 50%. A Position Level can only be modified
in steps that already have a PL set.
13. Enter the appropriate data.
14. Press ENTER.

NOTE: The MORE key allows access to CLEAR (F1) clears all data for that
step, COPY (F3) copies all data for that step, PASTE (F4) pastes all
data copied from another step, and QUIT (F5) aborts the PAM function.
Press MORE again to return to the previous menu to access EXIT.

MRC Advanced Training Manual Page 13-6 ©MOTOMAN


Shift
15. Repeat Steps 5 through 8 for each change, up to 10 steps maximum.
16. Press EXIT (F5) to save the data.
17. Press EXECUTE (F5) to make permanent changes effective or press
CANCEL (F4) to abort.

NOTE: To abort, after pressing EXECUTE (F5), press STOP (F5). However,
the PAM screen will not be cleared.

NOTE: In PLAY mode, the permanent changes will occur the next time the
cursor is at NOP during playback; in TEACH mode, the permanent
changes to the selected job are done immediately.

MRC Advanced Training Manual Page 13-7 ©MOTOMAN


Shift

NOTES

MRC Advanced Training Manual Page 13-8 ©MOTOMAN


Relative Job

14.0 RELATIVE JOB


The Relative Job function converts position data type from PULSE to XYZ
Cartesian coordinates for on-line/off-line 3-D shifting, off-line programming, or
alignment of jobs for tool (TCP) deformation or jobs taught on other robots. For
off-line programming, the User Frame XYZ data type allows all motion step
position data to be entered in a more suitable format of millimeters/degrees with
respect to the user-defined zero (ORG) location. The Relative Job function also
converts from XYZ back to PULSE position data type for standard operation.

14.1 3-D Shift with RELATIVE JOB Conversion


For 3-D shifting, a STANDARD JOB (Pulse type) once converted to RELATIVE
JOB (UF# XYZ type) can be relocated three-dimensionally to any position and
orientation within the robot envelope simply by changing the User Frame No. for
the TEACH COORDINATE in the job’s HEADER. This function is extremely
useful for duplicating jobs in multiple work piece applications and recreating jobs
due to work piece relocation.

Relative job also has on-line 3-D shift capability when sensor input to the GETS
instruction for System Position Variables is used to recreate the User Frame
(MFRAME) within the job. This allows the program to be shifted for a different/
deviated part position on every cycle.

To perform a 3-D shift using Relative Job in the TEACH mode, complete
the following steps:

1. Teach a User Frame for the job’s original location.


2. Teach another User Frame for the shifted location.

NOTE: For accurate shift results, the placement of the ORG, XX, and XY
positions for the shifted location should be a direct correlation from their
relationship within the original location.

MRC Advanced Training Manual Page 14-1 ©MOTOMAN


Relative Job
Perform the Relative Job conversion by completing the following steps:

1. Press FUNC.
2. Press MORE.
3. Press REL JOB (F2).
4. Press SEL JOB (F1).
5. Move the cursor to the desired job name.
6. Press ENTER.
7. Press XYZ (F4).
8. Press USER (F3).
9. Enter the User Frame number of the original location.
10. Press ENTER.
11. Enter a new name for the relative job.
12. Press ENTER.
13. Press EXECUTE (F5).

NOTE: The message line will read “!JOB converting.” When completed, the job
will be in XYZ User Frame data type instead of PULSE.

To shift the job to the new User Frame location, complete the following
steps:

1. Press DISP.
2. Press JOB (F1).
3. If necessary, press MORE to access DISP CH at (F1).
4. Press DISP CH (F1).
5. Press HEADER (F1).
6. Press the CURSOR DOWN key until TEACH COORDINATE is in view on
the JOB HEADER screen.
7. Press EDIT.
8. Press MORE.
9. Press COORD (F1).
10. Enter the new User Frame number for the shifted location.
11. Press ENTER. The job is now shifted to the new User Frame location, but is
still in XYZ data type.

MRC Advanced Training Manual Page 14-2 ©MOTOMAN


Relative Job
To convert the shifted job back to PULSE data type rather than leave it in
XYZ data type, proceed with the Relative Job conversion again by
completing the following steps:

1. Press FUNC.
2. Press MORE.
3. Press REL JOB (F2).
4. Press SEL JOB (F1).
5. Move the cursor to the shifted job name.
6. Press ENTER.
7. Press PULSE (F3).
8. Enter a new name for the job.
9. Press ENTER.
10. Press EXECUTE (F5).

NOTE: Moves that cannot be accommodated by the shift will be displayed in


the steps of the job as “/OV.” These moves must be modified.

14.2 RELATIVE JOB Conversion for editing


User Frame Position Data Type
To attempt editing position data in Pulse Counts is much too difficult (refer to the
job sample for JOB:ORIGINAL). However, if the job is converted to a User
Frame data type (refer to the job sample for JOB:ORG-UF20), all positions are
based off of the distance from the frame’s ORG position of X=0.000, Y=0.000,
Z=0.000, and the Rx, Ry, & Rz in degrees.

Figure 14-1 illustrates PULSE data type. The only position data that is user friendly
to “touch-up” would perhaps be the first and last command points in the job
(C0000 & C0007). If it was intended to be at it’s HOME POSITION then the
data could be edited to 0,0,0,0,0,0. All the other points are too confusing to think
about in Pulse data.

MRC Advanced Training Manual Page 14-3 ©MOTOMAN


Relative Job

/JOB
//NAME ORIGINAL
//POS
///NPOS 8,0,0,0,0,0
///TOOL 0
///POSTYPE PULSE
///PULSE
C0000=-11,23,-70,42,27,-14
C0001=-9433,29202,-36279,-4465,6352,-14220
C0002=-9433,29875,-36920,-4998,6481,-13863
C0003=-9701,38604,-33171,-2898,5532,-15270
C0004=-3363,41921,-31138,-871,5393,-17312
C0005=-9433,29875,-36920,-4998,6481,-13863
C0006=-9433,29202,-36279,-4465,6352,-14220
C0007=-11,23,-70,42,27,-14
//INST
///DATE 2000/03/03 15:16
///ATTR SC,RW
///GROUP1 RB1
NOP
MOVJ C0000 VJ=0.78
MOVJ C0001 VJ=100.00
MOVJ C0002 VJ=12.50
MOVL C0003 V=93.0
MOVL C0004 V=93.0
MOVL C0005 V=93.0
MOVJ C0006 VJ=25.00
MOVJ C0007 VJ=50.00
END

Figure 14-2 Job Example with Pulse Data

NOTE: All of the velocities for V (Control_point_speed) data appear as


millimeters per second regardless of the Programming Pendant Play
Speed Key display for the LINEAR list. For example, V=93.0 mm/sec is
equivalent to 558 cm/min.

MRC Advanced Training Manual Page 14-4 ©MOTOMAN


Relative Job
Figure 14-3 illustrates the JOB:ORIGINAL converted to the same path as
JOB:ORG-UF20, but in USER FRAME data type. The command positions
C0002 & C0005=0.000, 0.000, 0.000, -177.50, 11.06, 24.28 are at the ORG
location of the UF#(20) because the XYZ data is 0, 0, 0. Notice that the first and
last point, C0000 and C0007, are not as friendly anymore for editing, but all of the
other points are significantly easier to edit. For example, if C0001 is supposed to
be exactly above C0002 by 20mm, then the XYZ data could be changed from the
existing C0001= -0.022, 0.421, 19.350 to C0001=0.000, 0.000, 20.000 mm.

/JOB
//NAME ORG-UF20
//POS
///NPOS 8,0,0,0,0,0
///USER 20
///TOOL 0
///POSTYPE USER
///RECTAN
///RCONF 0,0,0,0,1,0
C0000=-73.233,274.215,383.557,-177.51,11.06,24.29
C0001=-0.022,0.421,19.350,-177.50,11.06,24.28
C0002=0.000,0.000,0.000,-177.50,11.06,24.28
C0003=175.147,-0.008,-0.013,-177.52,11.06,24.30
C0004=172.157,254.298,-0.006,-177.55,11.05,24.34
C0005=0.000,0.000,0.000,-177.50,11.06,24.28
C0006=-0.022,0.421,19.350,-177.50,11.06,24.28
C0007=-73.233,274.215,383.557,-177.51,11.06,24.29
//INST
///DATE 2000/03/03 15:18
///ATTR SC,RW,RJ
////FRAME USER 20
///GROUP1 RB1
NOP
MOVJ C0000 VJ=0.78
MOVJ C0001 VJ=100.00
MOVJ C0002 VJ=12.50
MOVL C0003 V=93.0
MOVL C0004 V=93.0
MOVL C0005 V=93.0
MOVJ C0006 VJ=25.00
MOVJ C0007 VJ=50.00
END

Figure 14-3 Job Example using XYZ Data

MRC Advanced Training Manual Page 14-5 ©MOTOMAN


Relative Job
NOTE: As long as the correct syntax is obeyed, new command steps could be
added, or an entirely NEW JOB could even be created (SAVE AS…) in
this USER data using exact distances that are known values in
millimeters and degrees.

14.3 XYZ RELATIVE JOB Type for Playback with


Edited TCP Data
If the tool has been displaced from the original TCP and cannot easily be adjusted
back to its original configuration, Relative Job conversion may be used (for each
desired job, individually) to convert to ROBOT XYZ TYPE and then the tool data
for the deformed TCP may be entered (Manual method or Automatic method) to
allow each converted job to be adjusted accordingly.

Perform the Relative Job conversion and use modified TCP data by
completing the following steps:

1. Press FUNC.
2. Press MORE.
3. Press REL JOB (F2).
4. Press SEL JOB (F1).
5. Move the cursor to the desired job name.
6. Press ENTER.
7. Press XYZ (F4).
8. Press ROBOT (F2).
9. Enter a new name for the relative job.
10. Press ENTER.
11. Press EXECUTE (F5).

NOTE: The message line will read “!JOB converting.” When completed, the job
will be in XYZ Robot Frame data type instead of PULSE. Repeat this
Relative Job conversion for each desired job. In order for the job(s) to
adapt to a different set of tool data, the job(s) must remain in this
RELATIVE JOB TYPE and the tool data must be edited using either the
manual method , the automatic TCP calibration method, or using
MOTOCAL software.

MRC Advanced Training Manual Page 14-6 ©MOTOMAN


Relative Job
Enter the deformed TCP data by completing the following steps:

1. Press CUSTOMER.
2. Press TOOL (F2).
3. Use FILE ↑ (F1) or FILE ↓ (F2) to display the existing tool data for the
desired tool number if tool list is activated.

To use the Manual Method of data entry, cursor to the desired X, Y, Z, Rx, Ry, or
Rz element, press MODIFY, enter the data, then press ENTER. Repeat for each
element to be edited. (See MRC Basic Programming Training Manual, Section
20.1 for detailed explanation)

or

To use the Automatic Method for calibration of X, Y, and Z, turn servo power ON,
Press CALIB (F4), TEACH (F4), record TC1- TC5 by jogging the TCP to the
reference pointer and press MODIFY then ENTER for each varied TC position.
Press CALC (F5) to calculate the X, Y, and Z tool data. Rx, Ry, and Rz must be
entered as above, manually. (Refer to the MRC Basic Programming Training
Manual for detailed explanation)

NOTE: You may also use the MOTOCAL software for best robot and tool
calibration results. (Refer to its instruction manual for use.)

MRC Advanced Training Manual Page 14-7 ©MOTOMAN


Relative Job

NOTES

MRC Advanced Training Manual Page 14-8 ©MOTOMAN


PMT

15.0 POSITION MODIFICATION FOR


EDITED TOOL DATA (PMT)
If a tool is bent or thrown out of alignment after a collision, the tool center
point, TCP, (also called the tool control point) is dislocated and job program
points then are often not aligned. Modifying each position would require a
great amount of time and effort. Position Modification for Tool (PMT)
software can be used to shift position data easily and accurately to compensate
for new tool data. PMT rewrites an individual job (with or without related
child jobs) or all jobs with new tool data, whether compensating for deformity
or a completely different end-effector.

15.1 Saving New TCP Data


In the PMT function, the old tool data is called the original tool (ORIGIN),
and the new tool data is called the orientation tool (ORIENT). Any of the 24
tool files, TOOL NO. 00-23, can be stored as the original tool or orientation
tool. Set Parameter S2C196 = 1 for access to all 24 tool data files.

Before the PMT function can be performed the ORIENT tool data must be entered
manually, or the X, Y, and Z may be taught by the automatic calculation method.
Also, the ROBOT CAL/ TOOL CAL or Motocal software option may be used.
Obtaining the desired results from using PMT software to rewrite positions depends
greatly on accurate TCP data for the new tool.

Also, the ORIGIN tool data and the ORIENT tool data must be saved to a
memory buffer exclusively for PMT (see keystrokes below) or loaded from a
floppy disk file.

To store the ORIGIN and ORIENT tool data to the PMT buffer,
complete the following steps:

1. Press CUSTOMER.
2. Press TOOL (F1).
3. Display the desired ORIGIN tool data to be saved to the buffer by using the
FILE ¯ (F1) or FILE - (F2) keys.
4. Press MORE.

MRC Advanced Training Manual Page 15-1 ©MOTOMAN


PMT
5. Press SAVE (F1) to save the ORIGIN tool file to the PMT buffer. The
message line will read “!This tool is stored.”
6. Display the desired ORIENT tool data to be saved to the buffer by using the
FILE ↓ (F1) or FILE ↑ (F2) keys.
7. Press MORE.
8. Press SAVE (F1) to save the ORIENT tool file to the PMT buffer. The
message line will read “!This tool is stored.”

NOTE: The tool data saved to the PMT buffer is retained until the controller is
turned off. Do not turn off the MRC until after performing the PMT
function.

15.2 Shifting Points with PMT Software


NOTE: MOTOMAN recommends that you backup all your job files and tool
dimension files before you perform the PMT function.
To complete the PMT function, perform the following:

1. Press FUNCTION.
2. Press PMT (F3). The original tool number file should be displayed.
3. If your system has only one tool, skip Steps 4 and 5, and proceed to Step 6 to
convert only one job or Step 7 to convert all jobs.
4. Verify the original and orientation tool files, as follows:
a. Press ORIGIN (F2).
b. Use the FILE ↓ (F1) or FILE ↑ (F2) keys to display the original
tool data.
c. Verify the original tool number and data, then press ENTER.
d. Press QUIT (F5) to return to the previous display.
e. Press ORIENT (F3).
f. Use the FILE ↓ (F1) or FILE ↑ (F2) keys to move the cursor to
the orientation tool number.
g. Verify the orientation tool number and data, then press ENTER.
h. Press QUIT (F5) to return to the previous display.

MRC Advanced Training Manual Page 15-2 ©MOTOMAN


PMT
5. Select the original tool and orientation tool for the PMT function, as follows:
a. Press TOOL NO (F4).
b. Press ORIGIN (F1).
c. Use the number keypad to enter the tool number of the original tool
and press ENTER. The original tool data will be displayed.
d. Press ORIENT (F2).
e. Use the number keypad to enter the tool number of the orientation
tool and press ENTER. The orientation tool data will be displayed.
f. Press QUIT (F5).
6. To select only one job to be permanently modified by the PMT function,
complete the following steps:
a. Press SEL JOB (F1). The JOB LIST display appears.
b. Move the cursor to the desired job name and press ENTER.
c. To shift only the above job, press SINGLE (F4).
or
To shift this job’s related jobs as well (jobs called or jumped to), press
RELATED (F3). Proceed to Step 8.

7. To select all jobs for shifting by the PMT function, press ALL JOB (F2).
8. To perform the PMT shift, press EXECUTE (F5).

NOTE: The message “!Step exceeding operation range is made” might appear
after shifting. This happens when points have been shifted beyond
robot soft limits. Shifted points that are over the soft limits will be
flagged with “/OV.” If a program is executed with faulty data, an alarm
will occur.

CAUTION! After the PMT shift, be sure to check each job VERY SLOWLY
and correct any problems before you run the job in normal operation. If
a mistake was made using the PMT function or inaccurate TCP data
was stored, then the job might contain a move that could injure
personnel or damage equipment.

MRC Advanced Training Manual Page 15-3 ©MOTOMAN


PMT

NOTES

MRC Advanced Training Manual Page 15-4 ©MOTOMAN


Multiple Tool

16.0 MULTIPLE TOOL PATH FUNCTION


(TCPON/TCPOF)
The Multiple Tool Path software option allows a robot path to be programmed
with one tool, but executed with the original tool or with up to 23 other tools.
This eliminates the need to teach an identical path for each required tool. All
TCP’s needed must be previously defined manually or by the automatic
method. (Set parameter S2C 196 = 1 to activate tool file for Tool No. 00-23.)

L: S: INSTR:
0000 000 NOP
0001 SPEED V=1125 VJ=50.00
0002 001 MOVJ VJ=25.00
0003 TCPON TL#(18)
0004 002 MOVJ
0005 003 MOVC V= 138
0006 004 MOVC
0007 005 MOVC
0008 006 MOVL
0009 007 MOVL V=138
0010 TCPOF
0011 008 MOVJ
0010 END

Figure 16-1 Job Example with TCPON and TCPOF Instructions

NOTE: The portion of the job between these instructions will be executed
using the tool dimensions for Tool No.18 regardless of the originally
recorded Tool Number. Also, in TEACH mode, performing TEST/
START from NOP will obey the TCPON/TCPOF.

CAUTION! If the operator puts the cursor on a motion step between the TCPON
and TCPOF instructions and begins theTEST/START from there, or
uses the FWD key, the MRC will move the robot to the command
position guiding the TCP for the TOOL No. of the originally recorded
step!

MRC Advanced Training Manual Page 16-1 ©MOTOMAN


Multiple Tool

16.1 Programming TCPON


To program the TCPON instruction (designates a Tool No. different from
the originally recorded tool for all motion steps that occur after this
command), complete the following:

1. In TEACH mode with the cursor on the Address Side, press EDIT.
2. Press the Arrow Up key.
3. Press MOTION.
4. Press the Arrow Up key two times (or three if necessary).
5. Press TCPON (F4).
6. If necessary, press ROBOT 1 (F1) or ROBOT 2 (F2), then TL (F3).
7. If in EXPAND language, choose CONST (F1) or VAR (F2).
8. Enter the tool number (00-23).
9. Press ENTER (into the buffer input line).
10. Press ENTER (into the job).

16.2 Programming TCPOF


To program the TCPOF instruction, (resumes use of the originally
recorded Tool No. for motion steps occurring after this command),
complete the following:

1. In TEACH mode with the cursor on the Address Side, press EDIT.
2. Press the Arrow Up key.
3. Press MOTION.
4. Press the Arrow Up key two times (or three if necessary).
5. Press TCPOF (F5).

MRC Advanced Training Manual Page 16-2 ©MOTOMAN


Interrupt Job

17.0 JOB INTERRUPT


The Interrupt Job Function software option is a type of job call which suspends an
on going job when an interrupt signal is input from peripheral equipment or other
systems and executes the job requested by the signal. When the interrupt job has
been completed, the suspended job is restarted from the instruction where the
cursor was at the time of interruption.

An interrupt table must be set up with 8 levels of priority (0-7). The Enable
Interrupt (EI) command and the Disable Interrupt (DI) are used to designate
the portion of the main job in which the interrupt may occur.

17.1 Programming JOB INTERRUPTS


To program the JOB INTERRUPT table, proceed as follows:

1. Press CUSTOMER.
2. Press MORE.
3. Press ORG (F5).
4. Enter password ********.
5. Press ENTER.
6. Press MORE four times.
7. Press INT. JOB (F4).
8. Press SET (F4).
9. Press OT# (F1).
10. Enter the output number which will be ON while interrupt job is executed.
11. Press ENTER.
12. Move the cursor to desired level of priority (0-7).
13. Press IN# (F2).
14. Enter desired input number.
15. Press ENTER.
16. Press JOB NAME (F3).
17. Move the cursor to desired job.
18. Press ENTER.
19. Repeat steps 12-18 for each desired level.
20. Press QUIT (F5).

MRC Advanced Training Manual Page 17-1 ©MOTOMAN


Interrupt Job
NOTE: To delete an entire line of data from a level of the table, complete steps
1-7 above, then cursor to the desired table level No. 0-7, press DATA
CL(F3), and EXECUTE (F5).

17.2 Accessing EI/DI Control Instructions


To program the EI & DI Control instructions, proceed as follows:

1. In Teach and Edit mode, display the job on the screen with the cursor on the
Address side.
2. Press INSERT.
3. Move the cursor to the line above the portion of job to be enabled with
interrupt.
4. Press CONTROL (F2).
5. Press the ARROW UP key two times.
6. Press EI (F1).

NOTE: This will enable all levels of interrupt. Skip to step 10, or if only
specific levels of priority are needed, then a numeric tag must be
attached based on the chart below:
7. Press the ARROW UP key.
8. Press CONST (F1).
9. Enter the desired value (see table 17-1):

Table 17-1

Level 7 6 5 4 3 2 1 0
Binary 128 64 32 16 8 4 2 1

Example EI: To enable levels 0,1, & 4 enter the total value tag of 1 + 2 + 16 =19
Example DI: To disable levels 0 & 4 enter the total value tag of 1 + 16 = 17

10. Press ENTER (onto buffer line).


11. Press ENTER (into table display).

Repeat the procedure above for disable interrupt levels by choosing DI (F2) in
step 6.

MRC Advanced Training Manual Page 17-2 ©MOTOMAN


Interrupt Job
NOTE: Actual INTERRUPT only occurs when the input signal changes from
OFF to ON.

17.3 Displaying INTERRUPT JOB Diagnosis screen


Display the INTERRUPT JOB Diagnostic screen by completing the
following steps:

1. Press DISPLAY.
2. Press DIAG (F5).
3. Press MORE three times.
4. Press INT. JOB (F5).

MRC Advanced Training Manual Page 17-3 ©MOTOMAN


Interrupt Job

NOTES

MRC Advanced Training Manual Page 17-4 ©MOTOMAN


Search Function

18.0 RAPID SEARCH FUNCTION


NOTE: This section is a brief explanation of the Rapid Input Search function
tag [SRCH RIN]. For complete information, refer to the Search
Function Manual, Part #133688-1.
The Search Function is an optional tag instruction on a MOVL that not only
allows the robot to move toward the point, but also continue searching beyond
the command position with linear interpolation for a designated distance until
a specified rapid input signal is on/off. At this point, position data can be
taken in using the GETS arithmetic function and used in combination with
other instructions so that operation can continue or be shifted accordingly.

18.1 Programming SRCH Tags


Instruction examples with SRCH tag on a MOVL:

MOVL V=138 SRCH RIN#(4) = ON T=1.25


MOVL V=558 SRCH RIN#(1) = OFF DIS=50.0
MOVL V=276 SRCH RIN#(B039) = ON T=1.00 DIS=30.8
MOVL V=2250 SRCH RIN#(I015) = LB001 T=0.5

18.1.1 Programming the SRCH on a MOVL for STANDARD Language


To program the SRCH tag on a MOVL for STANDARD language level,
perform the following:

1. In TEACH, EDIT mode, move the cursor to the desired MOVL on the
Instruction side.
2. Press LINE ED (F1).
3. Press the ARROW UP key twice.
4. Press SRCH (F4).
5. Enter the rapid input number (1-4), then press ENTER.
6. Press CONST (F1), then choose ON (F2) or OFF (F5).
7. To use an optional delay timer, press TIMER (F1), enter value on keypad
(0.01-655.35), then press ENTER.
8. To continue the linear search beyond the programmed position, press DIS
(F2), enter value on keypad, (0.1-6553.5) then press ENTER.
9. Press ENTER.

MRC Advanced Training Manual Page 18-1 ©MOTOMAN


Search Function

18.1.2 Programming the SRCH Tag on a MOVL for EXPAND Language


To program the SRCH tag on a MOVL for EXPAND language level,
perform the following:

1. In TEACH, EDIT mode, move the cursor to the desired MOVL on the
Instruction side.
2. Press LINE ED (F1).
3. Press the ARROW UP key twice.
4. Press SRCH (F4).
5a. Choose CONST (F1) and enter the rapid input number (1-4), then press
ENTER,
or
5b. Choose VAR (F2), then choose B, I, or D global/local, scalar/array variable,
and enter address number. Press ENTER.

6a. Choose CONST (F1), then ON (F2) or OFF (F5),


or
6b. Choose VAR (F2), then choose B global/local, scalar/array variable, and enter
address number. Press ENTER.

7a. To use an optional delay timer, press TIMER (F1), then choose CONST (F1),
enter value on keypad (0.01-655.35 sec), then press ENTER.
or
7b. VAR (F2), enter the I global/local, scalar/array variable address, then press
ENTER.

8a. To continue the linear search beyond the programmed position, press DIS
(F2), then choose...
CONST (F1), enter distance (0.1- 6553.5mm), then press ENTER,
or
8b. VAR (F2), B, I, or D global/local, scalar/array variable address, then press
ENTER.

9. Press ENTER.

MRC Advanced Training Manual Page 18-2 ©MOTOMAN


Search Function

18.2 Programming a Search With


POSITION VARIABLE Motion
Program examples of SRCH with MOVL to a Position Variable:

MOVL P000 V=276SRCH RIN#(LB001)=ON I[B027DIS=D[LB000]


MOVL LP002 V=138 SRCH RIN#(3)=B025 T=LI003
MOVL P[B002] V=558 SRCH RIN#(I001)=OFF DIS=75.3
MOVL LP[I033] V=2250 SRCH RIN#(2)=LB001 T=0.75 DIS=LD005

18.2.1 Using SRCH with a Position Variable MOVL for STANDARD


Language
To use the SRCH option with a MOVL to a Position Variable for the
STANDARD language level, perform the following:

1. In TEACH, EDIT mode, with the cursor on the Address side.


2. Press the ARROW UP key.
3. Press MOTION (F1).
4. Press MOVL (F2).
5. Press ROBOT (F1).
6. Choose P (F1).
7. Enter address number.
8. Press ENTER.
9. Press the ARROW UP key twice.
10. Press SRCH (F4).
11. Enter the rapid input number (1-4), then press ENTER.
12. Press CONST (F1), then choose ON (F2) or OFF (F5).
13. To use an optional delay timer, press TIMER (F1), enter value on keypad
(0.01-655.35), then press ENTER.
14. To continue the linear search beyond the programmed position, press
DIS (F2), enter value on keypad, (0.1-6553.5) then press ENTER.
15. Press ENTER.

MRC Advanced Training Manual Page 18-3 ©MOTOMAN


Search Function
18.2.2 Using SRCH with a Position Variable MOVL for EXPAND Language
To use the SRCH option with a MOVL to a Position Variable for the
EXPAND language level, perform the following:

1. In TEACH, EDIT mode, with the cursor on the Address side.


2. Press the ARROW UP key.
3. Press MOTION (F1).
4. Press MOVL (F2).
5. Press ROBOT (F1).
6. Choose P (F1) or choose LP (F2), P[ ] (F3), or LP[ ] (F4).
7. Enter address number or choose B, I, or D array and enter number.
8. Press ENTER.
9. Press the ARROW UP key twice.
10. Press SRCH (F4).
11a. Choose CONST (F1) and enter the rapid input number (1-4), then press
ENTER,
or
11b. Choose VAR (F2), then choose B, I, or D global/local, scalar/array
variable, and enter address number. Press ENTER.

12a. Choose CONST (F1), then ON (F2) or OFF (F5),


or
12b. Choose VAR (F2), then choose B global/local, scalar/array variable, and enter
address number. Press ENTER.

13a. To use an optional delay timer, press TIMER (F1), then choose...
CONST (F1), enter value on keypad (0.01-655.35 sec), then press ENTER.
or
13b. VAR (F2), enter the I global/local, scalar/array variable address, then press
ENTER.

MRC Advanced Training Manual Page 18-4 ©MOTOMAN


Search Function
14a. To continue the linear search beyond the programmed position, press DIS
(F2), then choose...
CONST (F1), enter distance (0.1- 6553.5mm), then press ENTER,
or
14b. VAR (F2), B, I or D global/local, scalar/array variable address, then press
ENTER.

15. Press ENTER.

MRC Advanced Training Manual Page 18-5 ©MOTOMAN


Search Function

NOTES

MRC Advanced Training Manual Page 18-6 ©MOTOMAN


Concurrent Job

19.0 INDEPENDENT CONTROL /


CONCURRENT JOB

19.1 Explanation of Concurrent Jobs Sub 1 & Sub 2


Independent Control is a multi-task control in which up to three jobs can be played
simultaneously. Three tasks that execute jobs are as follows:

• Master task
• Sub task 1
• Sub task 2
The master task activates sub task 1 and sub task 2 with the parallel start
(PSTART) instruction. The letter “P” stands for “parallel” meaning the sub task is
running concurrently with the master task.

Independent Control uses two types of jobs, ROBOT and CONCURRENT.

ROBOT: A ROBOT job is used to operate a robot axis or station


axis by move instructions.
CONCUR: A CONCURRENT job does not use any move
instructions. It is used to activate two robot jobs, a
specific job for calculation, or I/O control.

Figure 19-1, shows that both sub task 1 and sub task 2 are ROBOT jobs and the
master task is a CONCURRENT job.

Concurrent Job-
No group axis

Robot Job- Robot Job-


R1+[S1] R2+[S1]

Figure 19-1 Using Master Task as Concurrent Job

MRC Advanced Training Manual Page 19-1 ©MOTOMAN


Concurrent Job
There are two activating sub tasks that can be used with the PSTART instruction:

• Activating only a registered master job name using just PSTART


SUB1 or PSTART SUB2.
• Activating various jobs using the PSTART instruction with desired
job name.

19.1.1 Activating The Same Job Using Master Job


It is convenient to use a master job if the job executed in each sub task is always
the same. One master job can be registered in each task. Setting the job
name to be activated into the PSTART instruction is not necessary if the master job
is registered.

PSTART SUB1 The master job in sub task 1 is automatically activated.


PSTART SUB2 The master job in sub task 2 is automatically activated.

0004 PSTART JOB:JOB-1 SUB1 Subtask 1


0005 PSTART JOB:JOB-2 SUB2 Subtask 2
Master task job

Figure 19-2 PSTART Job Example without Master Job Register

19.1.2 Registering a Master Job for each Task


To register a job as the master job for each of the three tasks MASTER,
SUB1, and SUB2, complete the following steps:

1. In Teach mode, press SELECT.


2. Press MORE.
3. Press MORE.
4. Press SUPV (F4).

MRC Advanced Training Manual Page 19-2 ©MOTOMAN


Concurrent Job
The supervisory display appears:

J:WORK-A S:000 R1 JOINT


SUPERVISORY
MASTER SUB 1 SUB 2
MASTER JOB : ******** ******** ********
ROOT JOB : ******** ******** ********
EDIT JOB : ******** ******** ********
LINE NO. : ******** ******** ********
STEP NO. : ******** ******** ********
EXEC. JOB : ******** ******** ********
LINE NO. : ******** ******** ********
!
MJ RGTR MJ CANC RT RGTR RT CANC QUIT

Figure 19-4 Supervisory Display

5. Press MJ RGTR (F1).


6. Press MASTER (F1), SUB1 (F2), or SUB2 (F3).
7. Cursor to job name to be registered.
8. Press ENTER. The master job is registered in the selected task.
9. Repeat Steps 5 through 8 for each setting.

19.1.3 Activating Various Jobs Using The PSTART Instruction


If there are multiple jobs to be executed in each task, set the job name to be
activated into the PSTART instruction. In the figures below, the master task is
activated, then Work A in sub task 1, and Work D in sub task 2; then Work B in
sub task 1, and Work E in sub task 2; finishing with Work C in sub task 1.

Master Task

Sub-Task 1 Sub-Task 2

Figure 19-5 Multiple Job Activation by PSTART

MRC Advanced Training Manual Page 19-3 ©MOTOMAN


Concurrent Job

'RETURN TO HOME 1 R1 HOME1 (R1+S1)


PSTART JOB:R1 HOME 1 SUB1 (R1+S1)
PSTART JOB:R2 HOME 1 SUB2 (R2)
R2 HOME2 (R2)
PWAIT SUB1
PWAIT SUB2

'WAITING FOR THE FIRST START


WAIT IN#(1)=ON R1 W A I T ( R 1 )
PSTART JOB:R1 WAIT SUB1 (R1) R2 WAIT (R2)
PSTART JOB:R2 WAIT SUB2 (R2)
PWAIT SUB1
PWAIT SUB2

'WORK 2
JUMP *F IF IG#(3)<>2
PSTART JOB:TES12-R1 SUB1 SYNC SUB2 (R1+S1)
PSTART JOB:TES12-R2 SUB2 (R2+S1)
PWAIT SUB1
PWAIT SUB2

Figure 19-6 PSTART, PWAIT Job Example with Multiple Sub Task Jobs

19.2 Creating new ROBOT and CONCURRENT


Jobs
The following sections describe how to register a combination of jobs using
Independent Control. Concurrent Jobs can not contain motion steps. All jobs with
move instructions should be registered as Robot Jobs.
19.2.1 Creating Robot Jobs
To create a new robot job, complete the following steps:

1. In Teach mode, press SELECT.


2. Press NEW JOB (F2).
3. Press ROBOT (F1).
4. Enter a job name.
5. Press QUIT (F5).
6. Press ENTER.
7. Move the cursor to the group axis which is to be registered for this job.

MRC Advanced Training Manual Page 19-4 ©MOTOMAN


Concurrent Job

J:WORK-A S:000 R1 JOINT


GROUP COMBINATION
GROUP AXIS MASTER
R1 NO GROUP AXIS
S1
S2
R1+S1
R1+S1 S1

!
QUIT

Figure 19-7 Selecting Group Axis

8. Press ENTER.

J:WORK-A S:000 R1 JOINT


JOB CONTENT R1+S1
L: S: INST TOOL: 00
0000 000 NOP
0001 END

=> MOVJ VJ=0.78


+MOVJ VJ=0.78
MOTION ARITH SHIFT
IN/OUT CONTROL DEVICE PRIOR SAME

Figure 19-8 Registering Robot Jobs

The job name is registered in the MRC memory and displayed in the status area.
At the same time, job content is displayed with NOP and END instructions
registered automatically. The screen mode becomes EDIT.

The combination of group axes appears on the right side of the display title.
When there is a relationship between master and slave, the master side is
displayed in reverse (i.e., R1 + R2: R1 is slave, R2 is master).
When two robot jobs are used, registration and editing for each job are
performed individually.
19.2.2 Creating New Concurrent Jobs
To create a new concurrent job, complete the following steps:
1. Press SELECT.
2. Press NEW JOB (F2).
3. Press CONCUR (F2).

MRC Advanced Training Manual Page 19-5 ©MOTOMAN


Concurrent Job
4. Enter a job name.
5. Press QUIT (F5).
6. Press ENTER.
7. Move the cursor to NO GROUP AXIS.

J:WORK-A S:000 R1 JOINT


GROUP COMBINATION
GROUP AXIS MASTER
R1 NO GROUP AXIS
S1
S2
R1+S1
R1+S1 S1

!
QUIT

Figure 19-11 Selecting No Group Axis

8. Press ENTER.

J:WORK-A S:000
JOB CONTENT
L: S: INST
0000 000 NOP
0001 END

ARITH
IN/OUT CONTROL PRIOR SAME

Figure 19-12 New Concurrent Job Sample

The job name is registered in the MRC memory and displayed in the status area.
At the same time, the job content is displayed with NOP and END instructions
registered automatically. The screen mode becomes Edit and menu choices do not
include MOTION, SHIFT, or DEVICES.

19.3 Programming PSTART and PWAIT


Instructions
The PSTART and PWAIT commands are programmed in the MASTER TASK to
tell the sub tasks when to start. PSTART initiates a SUB task, and PWAIT is used
to place the MASTER TASK in a hold state until the designated SUB task is
completed.

MRC Advanced Training Manual Page 19-6 ©MOTOMAN


Concurrent Job
19.3.1 Programming PSTART Instructions
Any type job can PSTART any other type job, as long as there are not more than
two robot-type jobs running concurrently.

To program PSTART instructions, complete the following steps:

1. Select the job content display in Teach mode.


2. Press EDIT.
3. Press CONTROL (F2). The soft key labels for the control instructions
appear.

PSEND PRECV PSTART PWAIT


RET NOP PAUSE CWAIT
JUMP CALL TIMER LABEL COMMENT

Figure 19-13 Soft Key Labels for Control Instructions

4. Press the Arrow Up key as many times as necessary to access PSTART.

NOTE: Instruction levels vary due to the optional software that has been
loaded in the controller.
5. Press PSTART (F4).

=> PSTART
!
NAME VAR UNIV-IG SUB-1 SUB-2

Figure 19-14 Input Buffer Line and Soft Key Labels

6. Select one of the soft key choices listed below:


(F1) NAME, then cursor to the desired job name on the list.
(F2) VAR, then enter the byte variable address number (000-039).
(F3) UNIV-IG, then enter the universal input group number (1-16).
(F4) SUB1, only if SUB1 task job name has been registered as a master job,
then skip to Step 9.
(F5) SUB2, only if SUB2 task job name has been registered as a master job,
then skip to Step 9.

MRC Advanced Training Manual Page 19-7 ©MOTOMAN


Concurrent Job
7. Press ENTER.
8. Press the desired SUB task: SUB1 (F4), or SUB2 (F5).
9. Press ENTER to insert the instruction into the job.

19.3.2 Programming PWAIT Instructions


To program PWAIT instructions, complete the following steps:

1. Select the job content display in Teach mode.


2. Press EDIT.
3. Press CONTROL (F2).
The soft key labels for the control instructions appear.

PSEND PRECV PSTART PWAIT


RET NOP PAUSE CWAIT
JUMP CALL TIMER LABEL COMMENT

Figure 19-15 Soft Key Labels for Control Instructions

4. Press the Arrow Up key as many times as necessary to access PWAIT.

NOTE: Instruction levels vary due to the optional software that has been
loaded in the controller.
5. Press PWAIT (F5).

=> PWAIT
!
SUB-1 SUB-2

Figure 19-16 Input Buffer Line and Soft Key Labels

6. Press SUB1 (F1) or SUB2 (F2).


7. Press ENTER.

MRC Advanced Training Manual Page 19-8 ©MOTOMAN


Concurrent Job

19.4 PSEND/PRECV Operation


PSEND and PRECV are control instructions that allow jobs to communicate and/or
synchronize with each other. PSEND and PRECV are only available with
Concurrent Job Function.

PSEND and PRECV are job instructions that are similar to E-mail. Using the
PSEND instruction, a job can “mail” a constant (-2,147,483,648 to
+2,147,483,647) or the value stored in a local double-precision integer variable
address (LD000 - LD255) to another job that is running concurrently. Using the
PRECV instruction, the other job can receive the “mail” in a local D-variable
address. The data that is sent is stored in a “mailbox” until the receiving job “reads”
it. The mailbox can be viewed via a diagnostic display.

The PSEND instruction syntax is as follows:

PSEND SUB1 SUB2 MASTER

PSEND SUB1 SUB2 MASTER LDnnn mmm

PSEND SUB1 SUB2 MASTER LDnnn mmm ANS:LBxxx

PSEND SUB1 SUB2 MASTER LDnnn mmm ANS:LBxxx NWAIT

tag 1 tag 2 tag 3 tag 4

tag 1: Required tag to specify the one destination of the ‘mail’.


Job execution will pause at the PSEND until a PRECV is
executed by the receiving job. This is the form used to
synchronize jobs.
tag 2: Optional tag that specifies data sent in LD-type
variable address or as a constant. Job execution will
pause at the PSEND until a PRECV is executed by the
receiving job. This tag is also used to synchronize jobs.
tag 3: Optional tag that is usually used with tag 4. This tag
indicates when mail has been received. When data is
sent, a 0 in the local byte-variable indicates that there is
no mail currently in the mailbox; a 1 indicates that there is
mail in the mailbox. If there is mail in the mailbox, the
new mail data overwrites the previous mail data.
tag 4: Optional tag used only with tag 3. Allows job execution to
continue even though the receiving job has not read the
mail.

MRC Advanced Training Manual Page 19-9 ©MOTOMAN


Concurrent Job
The PRECV instruction syntax is as follows:

PRECV SUB1 | SUB2 | MASTER


PRECV SUB1 | SUB2 | MASTER LDnnn
PRECV SUB1 | SUB2 | MASTER LDnnn ANS:LBppp
PRECV SUB1 | SUB2 | MASTER LDnnn ANS:LBppp NWAIT
tag 1 tag 2 tag 3 tag 4

tag 1 Required tag to specify the source of the “mail.” Job


execution will pause at the PRECV until a PSEND is
executed by the sending job. This is the form used to
synchronize jobs.
tag 2 Optional tag that specifies the LD-type variable address to
receive the ‘mail’ data. Job execution will pause at the
PRECV until a PSEND is executed by the sending job.
This tag is also be used to synchronize jobs.
tag 3 Optional tag that is used with tag 4. This tag indicates
when mail has been received. When data is sent, a 0 in
the local byte-variable indicates that there is no mail
currently in the mailbox; a 1 indicates that there is mail in
the mailbox. If mail was waiting in the mailbox, the local-
double variable will contain the new mail data, otherwise
it will be unchanged.
tag 4 Optional tag used only with tag 3. Allows job execution to
continue even though the receiving job has not read the
mail.

NOTE: LOCAL VARIABLES must be set up/reserved in each job’s SUBHEADER


accessible only in EXPAND language ( see Section 10.0 Variable Types).

19.4.1 Viewing Mailbox Diagnostic Display


To view the mailbox diagnostic display, complete the following steps:

1. Press DISP.
2. Press DIAG (F5).
3. Press MORE three times.
4. Press MAIL (F2).

MRC Advanced Training Manual Page 19-10 ©MOTOMAN


Concurrent Job

The BOX column shows


which concurrent jobs are J:WORK-A S:000 R1 JOINT
sending and receiving mail.
The CAPITAL letters are
MAIL BOX
the receiving task's mailbox. BOX DATA CONTENT SEND JOB
The Lower Case letters in MT(s1) 123
parentheses are the sending MT(s2) 0
task. S1(mt) 0
S1(s2) 0
S2(mt) -21477483648
S2(s1) 0

!
USE NON USE

Figure 19-17 Mailbox Diagnostic Display In Edit Mode

19.4.2 Modifying, Adding, or Removing Mailbox Contents


To modify or add mail to an individual box, complete the following steps:
1. In Teach mode, press EDIT.
2. Press USE (F4).
3. Press the MODIFY key.
4. Enter the desired content (-2,147,483,648 to +2,147,483,647).
5. Press ENTER.
To remove the content of an individual box, complete the following steps:
1. In Teach mode, press EDIT.
2. Press NON USE (F5).
To program a CLEAR instruction for mailbox contents, complete the
following steps:
1. Select job to screen in Teach mode.
2. Press EDIT.
3. Press the ARROW UP soft key.
4. Press ARITH (F2).
5. Press CLEAR (F1).
6. Press MAIL (F3).

NOTE: If only the mailboxes of this job (in which the CLEAR instruction is
being inserted such as Master Task MT(s1) and MT (s2)) are to be
cleared, then press ENTER to insert the CLEAR MB instruction into the
job. If all boxes are to be cleared, continue with Steps 7-9.

MRC Advanced Training Manual Page 19-11 ©MOTOMAN


Concurrent Job
7. Press the ARROW UP soft key.
8. Press ALL (F1).
9. Press ENTER.
Sample instructions:
L: S: INST
0015 CLEAR MB (clears only contents of mailbox of the job
in which it is programmed)

0020 CLEAR MB ALL (clears all mailboxes of all three


tasks MASTER, SUB1, & SUB2)

19.5 Use of CALL Job CONTROL Instructions


with ROBOT/CONCURRENT Job operation
The use of the CALL instruction is limited when working with robot and concurrent
jobs. This use is determined by job type and included groups in the parent and the
child jobs. Basic rules for using CALL are as follows:

• The Job type (Robot or Concurrent) must be the same for the Parent and
all Child jobs.
• The Child Job can only contain the Groups or one of the groups contained
in the Parent (eg. R1+S1 in the Parent allows either R1+S1, R1, S1 or No
Group in the Child).

A concur-type job can CALL any other concur-type job.


A robot-type job can CALL any other robot-type job of the same group axes.

A robot-type job with a group axes can CALL a robot-type job with no group axes.
A robot-type job with no group axes can CALL a robot-type job with a group axes.

A robot-type job cannot CALL a concur-type job, regardless of group axes.


A concur-type job cannot CALL a robot-type job, regardless of group axes.

Table 19-1 Calling

JOB GROUP JOB GROUP CAN


TYPE AXES TYPE AXES DO?

Robot R1 CALL Robot R1 Yes

Robot R1 CALL Robot None Yes

Robot None CALL Robot R1 Yes

Robot R1 CALL Robot R2 No

Robot Any CALL Concur None No

Concur N/A CALL Concur None Yes

Concur N/A CALL Robot Any No

MRC Advanced Training Manual Page 19-12 ©MOTOMAN


Concurrent Job

19.6 FWD/BWD Operation


Operation check by FWD/BWD or TEST START method is normally performed
only for the displayed job.
In order to operate all task jobs simultaneously, change the setting for STEP/TEST
RUN OPERATION mode by one of the following “Switching Operation Methods”:

Method 1: Press * and 4 simultaneously


or
Method 2:
1. Press SELECT.
2. Press MORE.
3. Press COND1 (F4).

J:WORK-A S:000 R1 JOINT


TEACHING CONDITION 1 SET
:ON :OFF SET
1. RECT( ) / CYL ( )
2. MOV INSTRUCTION SET
NEXT ( ) / NEXT STEP ( )
3. JOB EDIT LOCK ON
STEP CHANGE PROHIBIT ONLY ( )
4. SPEED CHANGE: CONT ( )/ SINGL ( )
5. MASTER JOB CHANGE PROHIBIT ( )
!
ON OFF QUIT

Figure 19-18 Teaching Condition 1 Set Display

4. Move the cursor to #8. STEP / TEST RUN OPERATION MODE” and
press ON (F3) or OFF (F4).
❍ OFF: Displayed job is executed independently.
● ON: All task jobs are executed simultaneously.

8. STEP/TEST RUN OPERATION MODE


MULTI-JOB ( ) / SINGLE-JOB ( )
! Multi-JOB operation mode available
ON OFF QUIT

Figure 19-19 Step/Test Run Operation Mode

MRC Advanced Training Manual Page 19-13 ©MOTOMAN


Concurrent Job
NOTE: Each time these keys are pressed, operation is switched according to
message line stating either “!Single-JOB operation mode available” or
“!Multi-JOB operation mode available”.

CAUTION! In Single-Job mode, only the group axes for the task displayed will
move. IN A DUAL ROBOT CELL, BE SURE WHEN STEPPING IN
SINGLE-JOB MODE THAT THE SECOND ROBOT IS IN A POSITION
THAT IS CLEAR OF THE GROUP AXES THAT ARE MOVING. In
Multi-Job mode, both tasks will step FWD or BWD from the cursor
positions simultaneously. This only affects operation in TEACH
mode and both tasks will resume operation when starting in PLAY
mode. The axis-keys will only affect the group axes in the
displayed tasks, so you can move the displayed robot regardless
of the Single-Job/ Multi-Job mode setting. To move group axes not
displayed, depress the * key and then the group axis key. This will
display a menu where the desired axes combination can be
selected and positioned with the motion keys. Moving from this
menu does not affect the cursor positions in the job or the job
stack status.

CAUTION! If operation is interrupted during SUB1/SUB2 execution, do NOT use


DIRECT OPEN or SELECT for job editing and then try to resume the
operation of the parallel tasks.

TO INTERRUPT MASTER TASK OPERATION, EDIT, AND THEN RESUME


PARALLEL TASKS, USE THE SUPERVISOR DISPLAY TO CHANGE
BETWEEN “MASTER TASK”, “SUB1”, AND “SUB2” TASKS. Push
DISPLAY then JOB (F1) to access the Supervisor Display. This will show what
line and step number are being executed in the MASTER TASK, SUB1, and
SUB2 jobs. From the Supervisor Display you can change the display between the
MASTER TASK, SUB1, or SUB2 jobs. Using the Supervisor Display will NOT
clear the stack, so sub tasks can be resumed. If motion editing or changing cursor
position is done in a SUB task, CAUTION needs to be used to be sure robots are
in a clear position before restarting.

MRC Advanced Training Manual Page 19-14 ©MOTOMAN


Concurrent Job
WARNING! If you are in the Master Task job and use Direct Open Key to open the
SUB1 or SUB2 tasks, or use the SELECT menu to access them, when
operation has been interrupted, the stack is cleared and only the group
axes in that job can be moved. You will not experience both tasks
moving when you push the FWD key. If you resume operation with the
cursor on the PSTART instruction in the Master Task, the robot(s) will
start from the NOP instruction in the SUB1 and SUB2 tasks. (One can
start from PSTART instructions in the Master Task provided the robots
are clear to move to the first step of tasks SUB1 and SUB2.) If not in a
clear position, then a crash will occur! If you resume operation with the
cursor on the PWAIT instruction in the Master Task, the robot(s) will
execute the next instruction after the PWAIT. This may be another
PSTART, and again, if not in a clear position, a crash will occur!

MRC Advanced Training Manual Page 19-15 ©MOTOMAN


Concurrent Job

NOTES

MRC Advanced Training Manual Page 19-16 ©MOTOMAN


Coordinated Motion

A.0 COORDINATED MOTION


A Coordination Motion job controls two pieces of equipment, either two
manipulators or a manipulator and station. When, one manipulator holds the tool,
and the other holds the workpiece, it is called JIGLESS Coordinated Motion. The
one holding the workpiece is specified as the master side, and the one with the tool
is specified as the slave side.

There are two types of operation, Coordinating Operation and Independent


Operation:

Coordinating This is where the motion of the Master equipment, the one
“holding” the part, and the motion of the Slave, the one
performing the work, are interpolated together. Moves are
based relative to the Master Tool Frame rather than relative to
a robot or base frame.

Independent Operation, or motion interpolation, where the master/slave


relation is released allowing independent operation of each
piece of equipment. The Slave device and the Master device
operate independently. Each taught operation starts and
finishes at the same time.

Keys #7 and #4 are used to program Coordinated Motion.

Key #7 Selects how to move the manipulators when teaching a


coordinate job. SYNC: The slave side jogs in sequence with
the master side when axis jogging is performed. This will be
indicated on the status bar of the screen by “SEQ.” SINGLE:
Only one of the manipulators, selected for axis jogging, moves.

Key #4 Selects whether the operation is a Coordinating operation step


or an Independent motion step for programming a coordinated
job.
COORD: The two manipulators perform according to the
master/slave relation. INDEP: Each manipulator moves
independently.

MRC Advanced Training Manual Page A-1 ©MOTOMAN


Coordinated Motion

SYNCHRO SELECT
7SYNCHRO
8 9
SINGLE ARC ON FEED

SMOV SELECT
4 5 6
SMOV ARC OFF RETRACT

1 2 3
TIMER VOLT CUR

0 . -
REF PNT VOLT CUR

Figure A-1 Coordinated Motion Keys

A.1 Sample Job contents display


A coordinate job contents display is shown below.

J:WORK-A S:000 R1 JOINT


JOB CONTENT R1+S1
L: S: INST TOOL: 00
0000 000 NOP
0001 001 MOVJ VJ=0.78
+MOVJ VJ=0.78
0002 002 SMOVL V=66
+MOVJ 0001
0003 END
! Set display item
JOB POSN FILE VAR DIAG

Figure A-2 Job Contents Display

A.2 Coordination move instruction and


Independent move instruction

Move instructions are registered in the coordinating operation step in the following
form:
NOTE: In the Coordination move instruction, “S” is prefixed in the instruction in
the slave side.
Coordination move instruction:
SMOVL = 138: Slave side
+MOVJ: Master side (joint motion only for external station axis)
or +MOVL: (linear motion only for second manipulator)

MRC Advanced Training Manual Page A-2 ©MOTOMAN


Coordinated Motion
NOTE: Parameter S2C 040=2, default setting +MOVL.
Independent move instruction:
MOVL V = 138:
+MOVJ: (for external station axis)
or +MOVL: (for second manipulator)

Synchronization/Single axis jogging operation (Toggle key #7 ON/OFF)


Displayed when “SYNCHRONIZATION” is selected for
synchronization/single. Nothing is displayed when “SINGLE”
is selected.
Group axis for axis operation
Group axis for single axis operation is displayed.
Coordinating operation/independent operation (Toggle key #4 ON/OFF)
Either COORD is displayed for coordinating operation or no
display when independent operation is selected.
Group combination registered in job
Group combination registered in the edit job is displayed. The
master side group axis is displayed in reverse and highlighted,
as shown below:

A.3 Registering a job name


To register a job name, complete the following steps:
1. In Teach mode, press SELECT.
2. Press NEW JOB (F2).
The job list (sorting) display appears.

J:WORK-A S:000 R1 JOINT


JOB LIST
TEST-1 TEST-2 WORK-1 WORK-2
WORK-3 WORK-4

>
!Set cursor on character
ABC SYMBOL
BACK SP QUIT

Figure A-3 Job List Display

MRC Advanced Training Manual Page A-3 ©MOTOMAN


Coordinated Motion
3. Enter a job name.
4. Press ENTER.
The group combination display appears.
5. Move the cursor to the desired combination (e.g., R1 + S1, R1 + R2). The
manipulator displayed in the area of MASTER becomes the master side.
6. Press ENTER.

J:WORK-A S:000 R1 JOINT


JOB CONTENT R1+S1
L: S: INST TOOL: 00
0000 000 NOP
0001 END

=> MOVJ VJ=0.78


+MOVJ VJ=0.78
MOTION ARITH SHIFT
IN/OUT CONTROL DEVICE PRIOR SAME

Figure A-4 New Job Contents Display

The job name is stored in the MRC memory and is displayed in the status area. At
the same time, the job content is displayed and NOP and END instructions are
stored automatically. The group combination is displayed on the right side of the
display title, and the master side is displayed in reverse. The display mode is
changed automatically to Edit mode.

A.4 Selecting Axis Operation


Pressing the GROUP AXES key changes the group axis while the coordination job
(which is also the edit job) is being taught.
Each time this key is pressed, the group axis for axis operation changes to/from the
master side or slave side. The LED of the GROUP AXES key will light when the
master side station is ready for axis operation. At the same time, group axes which
are ready for axis operation are displayed in the status display area.

J:WORK-A S:000 R1 JOINT

Figure A-5 Group Axes

MRC Advanced Training Manual Page A-4 ©MOTOMAN


Coordinated Motion

To move the group axis when there is no edit job in the teach mode,
complete the following steps:

1. Press ENABLE. The LED will light, and the group combination display
appears.
2. Move the cursor to the group combination to be selected using the cursor
keys. The group axes in the cursor line are ready for axis operation. The
group axes are displayed in the status display area.
3. Move the axis using the axis keys.
4. Press S and GROUP AXES to return to the preceding display.

A.5 Selecting Synchronization/Single


There are two ways to move the manipulators to teach a coordination job:
Synchronization and Single.

Synchronization This is used when all group axes in combination operate in


parallel. The master side and slave side are synchronized;
when the master side moves, the manipulator at the slave side
also moves. Moving the slave manipulator does not move the
master side.

Single This is used to jog only one manipulator at a time. Only the
robot or station selected for axis operation moves.

The SYNCHRO/SINGLE key (key #7 on numeric pad) is a toggle-type key. Each


time SYNCHRO /SINGLE is pressed, the setting of synchronization/single
changes. When Synchronization is selected, “SEQ” is displayed in the status
display area. When Single is selected, nothing is displayed (see Figure 6).

J:WORK-A S:000 SEQ S1 JOINT

J:WORK-A S:000 S1 JOINT

Figure A-6 Synchro/Single Selection

MRC Advanced Training Manual Page A-5 ©MOTOMAN


Coordinated Motion
When SYNCHRONIZATION is selected, if any combination other than that
registered in the job is selected in the group combination display, it is changed to
SINGLE automatically. Also, when the edit job is changed, SINGLE is set
automatically.
A.5.1 Moving Station Axis Not Registered For Group Combination
During teaching, station axes not registered for group combination can be
moved using the following method:
This method can move the station axis, but cannot teach the station axis (see
Section A.5.2).

1. Press * and GROUP AXES simultaneously.


The group combination display appears.

J:WORK-A S:000 R1 JOINT


GROUP COMBINATION
GROUP AXIS MASTER
R1 NO GROUP AXIS
S1
S2
R1+S1
R1+S1 S1

!
QUIT

Figure A-7 Group Combination Display

2. Move the cursor to the combination to be selected. In the status area, the axis
number for an operable station or a robot axis is displayed.

J:WORK-A S:000 S2 JOINT

Figure A-8 Group Combination Status Area

3. If a group coombination with multiple groups has been cursored, press


GROUP AXES key to change groups in the Status Line.
4. Move the selected station axis using the axis keys.
5. After moving the switched station axis, press * and GROUP AXES again, or
press QUIT.

MRC Advanced Training Manual Page A-6 ©MOTOMAN


Coordinated Motion
A.5.2 Moving/Teaching Station Axis
To teach the station axis of the registered group combination, perform the
following:

1. Press GROUP AXES. The station number is displayed in the status area and
the station axis is operable.

J:WORK-A S:000 S1 JOINT

Figure A-9 Station Number Display

2. Move the station axis using the axis keys.


3. To return from the station axis to the robot axis, press GROUP AXES again.

A.6 Teaching Coordinated Move Instruction


There are three possible slave motion types for a COORDINATED Master/Slave
move instruction in a group axis combination of two robots where one is designated
as a master (R1 + [S1]). The master robot’s motion type is always MOVL in
COORDINATED move instructions. The master station motion type is always
MOVJ. They appear on the input buffer line as follows:

SMOVL V=66 SMOVL V=66


+ MOVL +MOVJ

SMOVC V=66 SMOVC V=66


+ MOVL +MOVJ

SMOVS V=66 SMOVS V=66


+ MOVL +MOVJ

MRC Advanced Training Manual Page A-7 ©MOTOMAN


Coordinated Motion
To teach a Master/Slave COORDINATED move, complete the following:

1. In TEACH mode with the cursor on the Address side of the job, press EDIT.
2. Turn on servo poser and press ENABLE.
3. Jog the robots or station axis to the desired position using the axis keys set as
either “SEQ” for Synchronous operation, by pressing key #7 on the numeric
keypad, or jog each separately by pressing the GROUP AXES key ON for
manipulating the master and OFF for manipulating the slave.
4. Press key #4, on the numeric keypad, to select Coordinated motion.

NOTE: The GROUP AXES key must be OFF to change the slave motion type
and play speed in steps 5 and 6 below.
5. Press the MOTION TYPE key as necessary to select the desired slave
SMOVL, SMOVC, or SMOVS.
6. Press the PLAY SPD key and move the cursor to the desired speed on the
slave velocity list.
7. Press the PLAY SPD key again to exit the list and return to the job
display to verify correct selection on the input buffer line.
8. Press ENTER to register the step in the job.

A.7 Teaching Independent Move Instruction


There are many possible motion type combinations for an INDEPENDENT move
instruction in a group axis system of two robots where one is designated as a master
(R1 + [R2] or R2 + [R1]) or one robot and one station axis designated as the
master (R1 + [S1]). Following are examples of INDEPENDENT move
instructions:

MOVC V=66 MOVJ VJ=0.78


+ MOVC V=66 +MOVJ VJ=0.78

MOVJ VJ=0.78 MOVL V=66


+ MOVL V=66 +MOVJ VJ=0.78

MOVC V=66 MOVC V=66


+ MOVJ VJ=0.78 +MOVJ VJ=0.78

MOVS V=66 MOVS V=66


+ MOVL V=66 +MOVJ VJ=0.78

MRC Advanced Training Manual Page A-8 ©MOTOMAN


Coordinated Motion
To teach an INDEPENDENT move instruction, complete the following:

1. In TEACH mode with the cursor on the Address side of the job, press EDIT.
2. Turn on servo power and press ENABLE.
3. Jog the robots or station axis to the desired positions separately by pressing
the GROUP AXES key ON for manipulating the master and OFF for
manipulating the slave. (Both SEQ/SYNCHRO key #7 and COORD/INDEP
key #4 should be OFF for INDEPENDENT motion programming.)

NOTE: When the GROUP AXES key is OFF, the slave motion type and play
speed in steps 4 and 5 below can be changed. When the GROUP
AXES key is ON, the master motion type and play speed can be
changed.
4. Press the MOTION TYPE key as necessary to select the desired slave
MOVJ, MOVL, MOVC, or MOVS.
5. Press the PLAY SPD key and move the cursor to the desired speed on the
slave velocity list.
6. Press the PLAY SPD key again to exit the list and return to the job
display to verify correct selection on the input buffer line.
Repeat steps 4-6 above with the GROUP AXES key ON for the master selection.

7. Press ENTER to register the step in the job.

MRC Advanced Training Manual Page A-9 ©MOTOMAN


Coordinated Motion

NOTES

MRC Advanced Training Manual Page A-10 ©MOTOMAN


Endless Rotation

B.0 ENDLESS ROTATION OF T-AXIS


NOTE: This section is a brief explanation of the Endless Rotation function.
For complete information, refer to the Endless Rotation Manual,
Part Number 133687-1.
The Endless Rotation of the T-axis is a software option that allows endless
rotation of the T-axis in a joint motion step. An MT tag specifies the number
of complete rotations (± 100). To rotate continuously more than 100 times, an
additional move instruction with another MT tag can be programmed. The
instruction MRESET to reset the T-axis position within one revolution must
follow; otherwise, the T-axis will “unwind” during travel to the next step. A
TIMER is usually inserted before the MRESET to ensure that the robot is at a
complete stop.

L: S: INSTR:
0020 020 MOVL V=2250
0021 021 MOVJ VJ=50.00 MT=-30 (usually same position as Step 020)
0022 TIMER T=1.00
0023 MRESET
0024 022 MOVJ VJ=50.00 (usually same position as Step 020)

0025 023 MOVL V=4500

Figure B-1 Job example of Endless Rotation Programming

To access the MT tag, complete the following steps:


1. Display the job on the screen in Teach and Edit mode on the Instruction
side.
2. Press LINE ED (F1).
3. Press the ARROW UP key.
4. Press MT (F2).
5. Enter the rotation number.
6. Press ENTER.
7. Press ENTER.

MRC Advanced Training Manual Page B-1 © MOTOMAN


MOT
Endless Rotation

To access the MRESET instruction, complete the following steps:


1. Display the job on the screen in Teach and Edit mode on the Address
side.
2. Press the ARROW UP key.
3. Press OTHER (F5).
4. Press MRESET (F1). (This enters into the job immediately; pressing
ENTER is not necessary.)
To display/edit the amount of T-axis rotation, complete the following
steps:

1. Press DISP.
2. Press POSN (F2).
3. Press ROTATE (F4).
4. Press ROBOT 1 (F1).
5. Press EDIT.
6. Press R1 RST (F1). (This resets the rotation amount to zero.)

MRC Advanced Training Manual Page B-2 © MOTOMAN


MOT
External Reference Point

C.0 EXTERNAL REFERENCE POINT


FUNCTION

The External Reference Point Function makes it possible to use a point in


space as a control point of the manipulator for teaching and playback. During
sealing or spot welding, where the work piece is held by the robot, defining a
reference point from the tip of a nozzle or gun makes it possible to change the
position of the work piece. The External Reference Point Function saves
teaching time and makes it easier to control relative speeds of the nozzle and
the work piece or to predict motion-type paths.

The external reference point must be defined in relation to a user coordinate


frame origin ORG. Since up to 24 user coordinate frames can be stored in
memory, up to 24 external reference points can be set up. There are two move
instructions for external reference point control: EIMOVL, for external
interpolation linear motion; and EIMOVC, for external interpolation circular
motion.

L: S: INSTR:
0012 007 MOVJ VJ=50.00
0013 008 EIMOVL UF#(4) V=138 PL=Ø
0014 009 EIMOVL UF#(4) V=66
0015 010 MOVJ VJ=100.00
0016 011 EIMOVL P096 UF#(4) V=276

Figure C-1 Job example of External Reference Point programming

MRC Advanced Training Manual Page C-1 © MOTOMAN


MOT
External Reference Point

C.1 Setting up External Reference Point


To set up an external reference point, proceed as follows:
1. Create a User Frame with the external reference point being the origin
ORG.
2. Name the user frame (optional).
3. Select the user frame on the display list.
4. Set #7 on Condition-1 display to ON by completing the following steps:
a. Press SELECT.
b. Press MORE.
c. Press COND 1 (F4).
d. Move the cursor to #7, JOG OPERATION IN USER COORD;
EXT BASE POINT.
e. Press ON (F3).
f. Press QUIT (F5).

C.2 Programming EIMOVL or EIMOVC


To program motion in EIMOVL or EIMOVC, complete the following:

1. The job must be displayed in TEACH, EDIT mode with the cursor on the
address side.
2. Press the asterisk key (*)+MOTION TYPE key to set up the key’s choices
to only EIMOVL or EIMOVC. The input buffer line will now default to
a display for EIMOVL. If Linear is the desired motion type, skip to step
4; to access EIMOVC, proceed with step 3.
3. To select a circular move, EIMOVC, press only the MOTION TYPE key
once. The input buffer line will now display an EIMOVC.
4. Jog the robot to the desired position using the correct User Frame #(1-24)
set as the External Reference Point coordinates. (Condition 1 List item
#7 should be ON)
5. Use the PLAY SPD key as usual to program the desired velocity.
6. Use the POSITION LEVEL key as usual if PL = 0,1,2,3 or 4 is needed.
7. Press ENTER. (Servo power must be ON)

NOTE: The MOTION TYPE key will now toggle between EIMOVL & EIMOVC
until it is set back to just MOVJ, MOVL, MOVC, & MOVS by pressing
the asterisk key (*) + MOTION TYPE key.

MRC Advanced Training Manual Page C-2 © MOTOMAN


MOT
External Reference Point

C.3 Programming EIMOVL or EIMOVC with


Position Variables
To program EIMOVL or EIMOVC using Position Variables, proceed as
follows:
NOTE: No servo power is required to program EIMOVL or EIMOVC with
position variables. However, each Position Variable must be defined in
advance.
1. The job must be displayed in TEACH, EDIT mode with the cursor on the
address side.
2. Press the ARROW UP key.
3. Press MOTION (F1).
4. Press the ARROW UP key.
5. Choose EIMOVL (F2) or EIMOVC (F3).
6. Enter User Coordinate No. (UF#).
7. Press ENTER.
8. Press ROBOT (F1).
9. Enter Position Variable no. (0-127).
10. Press ENTER.
11. Continue with desired menu choices for Velocity, PL, etc. pressing
ENTER after each data entry.
12. When completed, press ENTER to put the entire input buffer line contents
into the job.

MRC Advanced Training Manual Page C-3 © MOTOMAN


MOT
External Reference Point

NOTES

MRC Advanced Training Manual Page C-4 © MOTOMAN


MOT
Independent Axis Velocity Control

D.0 INDEPENDENT T-AXIS VELOCITY


CONTROL (VCON/VCOF)
NOTE: This section is a brief explanation of The INDEPENDENT T-AXIS
CONTROL FUNCTION for endless rotation speed control. For
complete information, refer to the Independent T-Axis Control Manual,
Part Number 140925-1.

The T-AXIS VELOCITY CONTROL function is a software option that


allows independent operation of the T-axis. The instruction, VCON
RV=revolutions per minute, specifies the speed at which the T-axis will rotate.
(The controller will then ignore softlimits for T-axis and also only move to
SLURB for command position steps.) The VCOF instruction stops the
rotations, activates softlimits for T-axis and resumes obeying command
position data for all six axes again. Since the T-axis stops revolving at
random positions each time, the MOVJ that follows the VCOF instruction
should be recorded with the T-axis at its normal “0” pulse count home
position to reset itself.

In the example below, the robot’s T-axis will revolve at a speed of 15 rev./min.
while traveling in a linear path (RV setting range = -327.68 to 327.67 r/min)
and maximum number of rotations is ± 230 times. If the robot is to remain in
place while the T-axis rotates, then LINE:0023 could also be the instruction
WAIT IN#( )=ON or simply a TIMER.

L: S: INSTR:
0020 020 MOVJ VJ=25.00
0021 VCON RV=15 (begins T-axis rotations)
0022 TIMER T=0.50 (allows T-axis to accelerate to 15 rev/in)
0023 021 MOVL V=138 (linear path of wrist while T-axis revolves)
0024 VCOF (stops T-axis and performs reset)
0025 022 MOVJ VJ=50.00 (establish 0 pulse “home position” for T)
0026 023 MOVL V=558

Figure D-1 Job example using Independent T Axis control programming

MRC Advanced Training Manual Page D-1 © MOTOMAN


MOT
Independent Axis Velocity Control

To access the VCON instruction, complete the following steps:

1. Display the job on the screen in Teach, Edit mode on the Address side.
2. Press the ARROW UP key.
3. Press OTHER (F5).
4 Press VCON (F1).
5. Enter the desired T-axis speed in revolutions per minute.
6. Press ENTER to accept speed on buffer line.
7. Press ENTER to insert the instruction into the job.

To access the VCOF instruction, complete the following steps:

1. Display the job on the screen in Teach and Edit mode on the
Address side.
2. Press the ARROW UP key.
3. Press OTHER (F5).
4. Press VCOF (F2). (This enters into the job immediately; pressing
ENTER is not necessary, but INSERT must be on to put it between
existing lines.)

MRC Advanced Training Manual Page D-2 © MOTOMAN


MOT
Index

INDEX
A
ABSOLUTE DATA, 12
ACCESS TO POSITION VARIABLE DISPLAY, 33
ACCESSING EI/DI CONTROL COMMANDS FOR INTERRUPT JOB SOFTWARE, 61
ACCESSING/CHECKING SYSTEM INFORMATION, 3
ACTIVATING THE SAME JOB USING MASTER JOB REGISTER FOR CONCURRENT JOB, 69
ACTIVATING JOBS USING THE PSTART INSTRUCTION, 71
ADD, 41
AND, 45
ARITHMETIC FUNCTIONS, 58
ARITHMETIC VARIABLES, 30
ARRAY VARIABLE ADDRESS, 28
ATAN, 44

B
BATCH REGISTRATION OF ALL AXES, 11
BOOLEAN LOGIC FUNCTIONS, 45

C
CALCULATING FUNCTIONS, 41
CHANGING ABSOLUTE DATA, 12
CHANGING CM/MIN , MM/SEC, AND IN/MIN, 7
CHANGING THE REGISTERED USER ID NUMBER, 1
CHECK POSITION VARIABLE, 35
CLEAR, 38
CNVRT, 48
CONCURRENT I/O PROGRAM, 22
CONCURRENT JOBS SUB 1/SUB 2, 68
CONTROL GROUP AXES POSITION VARIABLES ($PX & PX), 32
CONVEYOR DEFINITIONS, 92
CONVEYOR TRACKING, 92
CONVEYOR TRACKING MONITOR, 93
COORDINATED MOTION, 82
COS, 44
COUNTING FUNCTIONS, 40
CREATING NEW CONCURRENT JOBS, 74
CREATING NEW ROBOT AND CONCURRENT JOBS, 72
CREATING ROBOT JOBS, 80
CUBE INTERFERENCE ZONES, 13
CUBE SOFT LIMITS, 8
CUSTOMER KEY FEATURES, 1
CUSTOMIZING THE PLAY SPD KEY, 6
CUSTOMIZING THE PLAY SPD KEY WITH SYSTEM
CONSTRUCTION PARAMETERS, 6
CWAIT INSTRUCTION, 27

MRC Advanced Programming Manual Page 1-1 © MOTOMAN


MOT
Index

D
DEC, 41
DEFAULT SPEED, 25
DEFINING CUBES BY CUBE LENGTH METHOD, 14
DEFINING CUBES BY MIN-MAX METHOD, 13
DEFINING/ACTIVATING CUBE SOFT LIMITS, 8
DEFINING/MODIFYING AXIS SOFT LIMITS, 8
DISPLAYING I/O MONITOR, 20
DISPLAYING INTERRUPT JOB DIAGNOSTIC SCREEN, 61
DISPLAYING SP OUT DIAGNOSTICS FOR CUBES, 15
DISPLAYING SYSTEM I/O MESSAGES AND I/O ALARMS, 20
DIV, 42

E
EDIT POSITION VARIABLE FOR XYZ AND RX, RY, RZ, 35
EDIT POSITION VARIABLE IN PULSE COUNTS, 35
EIMOVL OR EIMOVC WITH POSITION VARIABLES, 66
EIMOVL OR EIMOVC, 65
ENDLESS ROTATION OF T-AXIS, 67
EXPLANATION OF CONCURRENT JOBS SUB 1/SUB 2, 68
EXTERNAL REFERENCE POINT, 66

F
FILE MANAGEMENT, 98
FLOPPY DISK DRIVE, 94
FLOPPY DISK PRECAUTIONS, 94
FORMATTING DISKS, 95
FWD/BWD OPERATION WITH COORDINATED MOTION, 80

G
GETE, 47
GETS, 48
GLOBAL AND LOCAL VARIABLES, 28

H
HOME POSITION CALIBRATION, 10
HOW TO SELECT JOB TO SAVE ON FDD, 99

I
INC, 40
INCREMENTAL MOVES (IMOV), 37
INDEPENDENT CONTROL/CONCURRENT JOB SOFTWARE, 68
INSTALLATION AND STARTUP FOR FC2, 95

J
JOB INTERRUPT, 60

MRC Advanced Programming Manual Page 1-2 © MOTOMAN


MOT
Index

L
LIST OF ILLUSTRATIONS, vi
LIST OF TABLES, vii
LOCAL AND GLOBAL VARIABLES, 28

M
MAILBOX DISPLAY, 79
MAILBOX FOR CONCURRENT JOBS, 78
MEMORY DISPLAY LIMITATIONS, 95
MFRAME, 48
MODIFYING CUBES, 14
MODIFYING, ADDING, OR REMOVING MAILBOX CONTENTS, 78
MOTION WITH POSITION VARIABLES, 36
MOVING STATION AXIS NOT REGISTERED FOR GROUP COMBINATION, 87
MOVING/TEACHING STATION AXIS, 88
MSHIFT, 51
MUL, 42
MULTIPLE TOOL PATH FUNCTION (TCPON/TCPOF), 59

N
NOT, 46
NWAIT & CWAIT, 26

O
OR, 45

P
PARALLEL SHIFT, 50
POSITION VARIABLE FUNCTIONS, 47
POSITION VARIABLES TABLE, 30
POSITION VARIABLES, 33
PROGRAMMING A SEARCH WITH POSITION VARIABLES, 63
PROGRAMMING EIMOVL OR EIMOVC, 65
PROGRAMMING EIMOVL OR EIMOVC WITH POSITION VARIABLES, 66
PROGRAMMING JOB INTERRUPTS, 60
PROGRAMMING MOTION WITH POSITION VARIABLES, 36
PROGRAMMING PSTART AND PWAIT INSTRUCTIONS, 8375
PROGRAMMING PSTART INSTRUCTIONS, 75
PROGRAMMING PWAIT INSTRUCTIONS, 76
PROGRAMMING SRCH TAGS, 62
PROGRAMMING SYEND, 93
PROGRAMMING SYSTART, 93
PROGRAMMING TCPOF, 59
PROGRAMMING TCPON, 59
PROGRAMMING THE CWAIT INSTRUCTION, 27
PROGRAMMING THE NWAIT TAG, 26
PROGRAMMING THE SRCH ON A MOVL FOR STANDARD
LANGUAGE, 62
PROGRAMMING THE SRCH TAG ON A MOVL FOR EXPAND LANGUAGE, 62
PROGRAMMING THE UNTIL TAG, 27
PROGRAMMING WAIT INSTRUCTIONS WITH SOUT, 15
PSEND/PRECV OPERATION, 76
PSTART AND PWAIT INSTRUCTIONS, 75

MRC Advanced Programming Manual Page 1-3 © MOTOMAN


MOT
Index

R
REGISTERING A JOB NAME, 85
REGISTERING MASTER JOBS FOR CONCURRENT TASKS, 70
REGISTERING CONCURRENT I/O ALARM MESSAGES, 19
REGISTERING CONCURRENT I/O USER MESSAGES, 18
REGISTERING I/O NAMES, 5
REGISTERING INDIVIDUAL AXIS, 11
REGISTERING VARIABLES NAMES, 4
RELATIVE JOB, 63
RESERVE JOB LIST, 18
RESERVING LOCAL VARIABLES IN THE SUBHEADER, 29

S
SAMPLE JOB CONTENT FOR COORDINATED MOTION, 83
SAVING DATA ON FDD, 96
SCALAR AND ARRAY VARIABLE ADDRESSES, 28
SEARCH FUNCTION, 62
SEARCH IN JOB CONTENT, 22
SEARCH WITH POSITION VARIABLES, 63
SEARCHING FOR A LABEL, 23
SEARCHING FOR A LINE, 22
SEARCHING FOR A STEP, 22
SEARCHING FOR A TAG, 24
SEARCHING FOR AN INSTRUCTION, 23
SELECTING AXIS OPERATION, 86
SELECTING SYNCHRONIZATION/SINGLE, 86
SET, 39
SET-UP FOR JIGLESS COORDINATED MOTION, 84
SETE, 47
SETTING INFORM II LANGUAGE INSTRUCTION SET, 16
SETTING LEARNING ON/OFF, 17
SETTING TIME/DATE, 2
SETTING UP EXTERNAL REFERENCE POINT, 64
SHIFT FUNCTIONS, 49
SHIFTING POINTS WITH PMT SOFTWARE, 57
SIN, 44
SOFT LIMITS, 7
SQRT, 43
SRCH ON A MOVL FOR STANDARD LANGUAGE, 62
SRCH TAG ON A MOVL FOR EXPAND LANGUAGE, 62
SRCH TAGS, 62
STORE POSITION VARIABLE FOR XYZ, 34
STORE POSITION VARIABLE IN PULSE COUNTS, 34
SUB, 41
SYEND, 93
SYSTART, 93
SYSTEM INFORMATION, 3
SYSTEM SECTION (PART 1, C.I/O), 21
SYSTEM VARIABLES ($), 31
SYSTEM VARIABLES FUNCTION, 48

MRC Advanced Programming Manual Page 1-4 © MOTOMAN


MOT
Index

T
TCPOF, 59
TCPON, 59
TEACHING FOR MIRROR COPYING, 91
TEACHING COORDINATED MOVE INSTRUCTION, 88
TEACHING INDEPENDENT MOVE INSTRUCTION, 89
TEACHING ONE JOB TO CREATE AN ADDITIONAL JOB, 9
TEMPORARY RELEASE OF SOFT LIMITS, 8
TEMPORARY SHIFT WITHIN A JOB, 49
3-D SHIFT USING RELATIVE JOB, 53
TOOL DEFORMATION - PMT SOFTWARE, 56
TRIGONOMETRIC FUNCTIONS, 44
TWIN SYNCHRONOUS/ MIRROR FUNCTION, 90

U
UNTIL TAG, 27
USE OF CALL JOB WITH CONCURRENT JOB OPERATION, 79
USE OF PRIOR AND SAME, 17
USER ALARM, 19
USER MESSAGE, 18
USER SECTION (PART 2, C.I/O), 21
USING SRCH WITH A POSITION VARIABLE MOVL FOR
EXPAND LANGUAGE, 64
USING SRCH WITH A POSITION VARIABLE MOVL FOR
STANDARD LANGUAGE, 63

V
VALUE SETTING FUNCTIONS, 38
VARIABLES, 28

W
WAIT INSTRUCTIONS WITH SOUT, 15

X
XOR, 46

MRC Advanced Programming Manual Page 1-5 © MOTOMAN


MOT
Index

NOTES

MRC Advanced Programming Manual Page 1-6 © MOTOMAN


MOT

You might also like