Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

1CD PDF

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

TOUCHSENSE AND ACCUFAST

WITH MACRO JOBS


INSTRUCTIONS

Upon receipt of the product and prior to initial operation, read these instructions thoroughly, and retain
for future reference.

MOTOMAN INSTRUCTIONS
MOTOMAN-INSTRUCTIONS
OPERATOR’S MANUAL
MAINTENANCE MANUAL
The operator’s manual above corresponds to specific usage.
Be sure to use the appropriate manual.

Part Number: 166153-1CD


Revision: 0

MANUAL NO.

166153-1CD 0 1/105
166153-1CD
TouchSense and
AccuFast w/ Macro Jobs

MANDATORY
• This manual explains the starting point detecting function of the
NX100/DX100 system. Read this manual carefully and be sure to
understand its contents before handling the NX100/DX100.
• General items related to safety are listed in Section 1 of the NX100/
DX100 instructions. To ensure correct and safe operation, carefully
read the section before reading this manual.

CAUTION
• Some drawings in this manual are shown with the protective covers
or shields removed for clarity. Be sure all covers and shields are
replaced before operating this product.
• The drawings and photos in this manual are representative
examples and differences may exist between them and the
delivered product.
• YASKAWA may modify this model without notice when necessary
due to product improvements, modifications, or changes in
specifications.
• If such modification is made, the manual number will also be
revised.
• If your copy of the manual is damaged or lost, contact a YASKAWA
representative to order a new copy. The representatives are listed
on the back cover. Be sure to tell the representative the manual
number listed on the front cover.
• YASKAWA is not responsible for incidents arising from unauthorized
modification of its products. Unauthorized modification voids your
product's warranty.

ii

166153-1CD 2/105
166153-1CD
TouchSense and
AccuFast w/ Macro Jobs

Notes for Safe Operation


Read this manual carefully before installation, operation, maintenance, or
inspection of the Yaskawa Motoman robot.
In this manual, the Notes for Safe Operation are classified as
“WARNING”, “CAUTION”, “MANDATORY”, or “PROHIBITED”.

Indicates a potentially hazardous


WARNING situation which, if not avoided, could
result in death or serious injury to
personnel.

Indicates a potentially hazardous


CAUTION situation which, if not avoided, could
result in minor or moderate injury to
personnel and damage to equipment.
It may also be used to alert against
unsafe practices.

Always be sure to follow explicitly the


MANDATORY items listed under this heading.

Must never be performed.


PROHIBITED

Even items described as “CAUTION” may result in a serious accident in


some situations.
At any rate, be sure to follow these important items.

To ensure safe and efficient operation at all times, be sure to


NOTE follow all instructions, even if not designated as "CAUTION"
and "WARNING".

iii

166153-1CD 3/105
166153-1CD
TouchSense and
AccuFast w/ Macro Jobs

WARNING
• Before operating the manipulator, check that servo power is turned
OFF by pressing the emergency stop button on the programming
pendant.
When the servo power is turned OFF, the SERVO ON LED on the
programming pendant is OFF.
Injury or damage to machinery may result if the emergency stop circuit
cannot stop the manipulator during an emergency. The manipulator
should not be used if the emergency stop button does not function.
Figure 1: Emergency Stop Button

• Once the emergency stop button is released, clear the cell of all
items which could interfere with the operation of the manipulator.
Then turn the servo power ON.
Injury may result from unintentional or unexpected manipulator motion.
Figure 2: Release of Emergency Stop
TURN

• Observe the following precautions when performing teaching


operations within the P-point maximum envelope of the
manipulator:
– View the manipulator from the front whenever possible.
– Always follow the predetermined operating procedure.
– Ensure that there is a safe place to retreat in case of emergency.
Improper or unintended manipulator operation may result in injury.
• Confirm that no person is present in the P-point maximum envelope
of the manipulator and that you are in a safe location before:
– Turning on the power for the controller.
– Moving the manipulator with the programming pendant.
– Running the system in the check mode.
– Performing automatic operations.
Injury may result if anyone enters the P-point maximum envelope of the
manipulator during operation. Always press an emergency stop button
immediately if there is a problem.
The emergency stop button is located on the programming pendant.

iv

166153-1CD 4/105
166153-1CD
TouchSense and
AccuFast w/ Macro Jobs

WARNING
• Since detected voltage (200V), welding current, and welding
voltage are applied to the starting point detecting unit, install the unit
securely so that it does not fall.
• Failure to observe this warning may result in an electric shock or
damage to the unit.
• Before connecting the inter-unit cables and the welding cables, be
sure to turn OFF the power supply to the controller and the welder.
• Failure to observe this warning may result in an electric shock.
• Special attention should be paid during starting point detection,
since 200 VDC is applied across the wire and the workpiece
(welding jig).
• Failure to observe this warning may result in an electric shock.
• Do not place any object directly on the cable of the starting point
detecting unit.
• Failure to observe this warning may result in an injury or damage
caused by the disconnection of the cable.
• Attach the cable of the starting point detecting unit for the wire
feeder with the wire stand, to protect it from robot movement. If
interference between the cable and the peripheral devices are
unavoidable, cover the cable with a rubber plate or spiral tube, etc.
• Failure to observe this warning may result in an electric shock, an
injury, or damage to the cable.
• Do not lay the cable of the starting point detecting unit directly on
the floor, but install them in a pit or duct or shield the cable with a
protective cover.
• Failure to observe this warning may result in an injury or damage to
the cable.
• Since a high current flows through the welding cable, separate it
from the cables of the control circuit system. If the cables cannot be
separated, take preventative measures such as using metallic ducts
or tubes on the cables of the control circuit system.

166153-1CD 5/105
166153-1CD
TouchSense and
AccuFast w/ Macro Jobs

CAUTION
• Perform the following inspection procedures prior to conducting
manipulator teaching. If problems are found, repair them
immediately, and be sure that all other necessary processing has
been performed.
– Check for problems in manipulator movement.
– Check for damage to insulation and sheathing of external wires.
• Always return the programming pendant to the hook on the cabinet
of the controller after use.
• The programming pendant can be damaged if it is left in the
manipulator's work area, on the floor, or near fixtures.
• Read and understand the Explanation of Warning Labels in the
NX100/DX100 Instructions before operating the manipulator.

Definition of Terms Used Often in This Manual


The Yaskawa Motoman manipulator is an industrial robot product.
The manipulator usually consists of the controller, the programming
pendant, and supply cables.
In this manual, the equipment is designated as follows:
Equipment Manual Designation
NX100/DX100 controller NX100/DX100
NX100/DX100 programming pendant Programming pendant
Cable between the manipulator and the Manipulator cable
controller

vi

166153-1CD 6/105
166153-1CD
TouchSense and
AccuFast w/ Macro Jobs

Descriptions of the programming pendant, buttons, and displays are


shown as follows:

Equipment Manual Designation


Programming Character Keys The keys which have characters
Pendant printed on them are denoted with
[ ].
ex. [ENTER]
Symbol Keys The keys which have a symbol
printed on them are not denoted
with [ ] but depicted with a small
picture.
GO BACK

ex. [page key] PAGE

The cursor key is an exception,


and a picture is not shown.
Axis Keys & “Axis Keys” and “Number Keys” are
Number Keys generic names for the keys for axis
operation and number input.
Keys pressed When two keys are to be pressed
simultaneously simultaneously, the keys are shown
with a “+” sign between them, ex.
[SHIFT]+[COORD]
Displays The menu displayed in the pro-
gramming pendant is denoted with
{ }.
ex. {JOB}

Description of the Operation Procedure


In the explanation of the operation procedure, the expression “Select • • •”
means that the cursor is moved to the object item and the SELECT key is
pressed, or that the item is directly selected by touching the screen.

Registered Trademark
In this manual, names of companies, corporations, or products are
trademarks, registered trademarks, or bland names for each company or
corporation. The indications of (R) and TM are omitted.

vii

166153-1CD 7/105
166153-1CD
TouchSense and
AccuFast w/ Macro Jobs Table of Contents

1 Introduction ..................................................................................................................................... 1-1

1.1 Overview ............................................................................................................................ 1-1

1.1.1 Seam Finding........................................................................................................ 1-2

1.1.2 Macro Jobs ........................................................................................................... 1-3

1.2 Features............................................................................................................................. 1-4

1.2.1 Improved Control .................................................................................................. 1-4

1.3 About this Document.......................................................................................................... 1-4

1.4 System Requirements........................................................................................................ 1-5

1.5 Learning Seam Finding with Macro Jobs........................................................................... 1-5

1.6 Reference to Other Documentation ................................................................................... 1-5

2 Setup and Operation ....................................................................................................................... 2-1

2.1 Touch Sense...................................................................................................................... 2-1

2.2 AccuFast ............................................................................................................................ 2-1

2.2.1 Setting the Q1 Focal Length: ................................................................................ 2-2

2.3 Job Setup........................................................................................................................... 2-4

2.4 AutoTeach ......................................................................................................................... 2-6

3 TCH Macro, One Touch (1TCH) Routine........................................................................................ 3-1

3.1 Features............................................................................................................................. 3-1

3.1.1 Limitations............................................................................................................. 3-2

3.2 AutoTeach Mode................................................................................................................ 3-2

3.3 Macro Job Setup................................................................................................................ 3-3

3.4 Interface ............................................................................................................................. 3-5

3.5 Programming Instructions .................................................................................................. 3-6

4 TCH Macro, Two Touch (2TCH) Routine........................................................................................ 4-1

4.1 Features............................................................................................................................. 4-1

4.1.1 Limitations............................................................................................................. 4-2

4.2 AutoTeach Mode................................................................................................................ 4-2

4.3 Macro Job Setup................................................................................................................ 4-5

4.4 Interface ............................................................................................................................. 4-7

4.5 Programming Instructions .................................................................................................. 4-8

5 EDGE: Edge Finding Routine ......................................................................................................... 5-1

5.1 Features............................................................................................................................. 5-1

viii

166153-1CD 8/105
166153-1CD
TouchSense and
AccuFast w/ Macro Jobs Table of Contents

5.2 Limitations.......................................................................................................................... 5-2

5.3 Macro Job Setup................................................................................................................ 5-3

5.4 Interface............................................................................................................................. 5-5

5.5 Programming ..................................................................................................................... 5-8

5.6 AutoTeach ....................................................................................................................... 5-10

5.6.1 AutoTeach 1 (Robot Position 2) ......................................................................... 5-11

5.6.2 AutoTeach 2 (Robot Position 3) ......................................................................... 5-15

6 R1 CIRCLE: Circle Touch Routine.................................................................................................. 6-1

6.1 Features ............................................................................................................................ 6-1

6.1.1 Three Touch Routine............................................................................................ 6-1

6.1.2 Shift Amount - Center of Circle............................................................................. 6-1

6.1.3 AutoTeach Mode .................................................................................................. 6-1

6.1.4 Limitations ............................................................................................................ 6-2

6.2 Programming Requirements.............................................................................................. 6-2

6.3 Job Setup .......................................................................................................................... 6-2

6.4 Interface............................................................................................................................. 6-4

6.5 Programming ..................................................................................................................... 6-6

6.5.1 Programming AutoTeach for the R1CIRCLE Macro............................................. 6-6


6.5.1.1 Setup Macro Instruction and Detect Robot Position 1............................. 6-7
6.5.1.2 Detect Robot Position 2 ........................................................................ 6-10
6.5.1.3 Detect Robot Position 3 ........................................................................ 6-10

7 Application Examples...................................................................................................................... 7-1

7.1 T-Joint................................................................................................................................ 7-1

7.2 Cylinder to Plate ................................................................................................................ 7-3

8 Programming Suggestions.............................................................................................................. 8-1

8.1 Perpendicular Search Paths .............................................................................................. 8-2

8.2 Pattern Type and AutoTeach Descriptions ........................................................................ 8-4

8.2.1 Pattern Type 0 ...................................................................................................... 8-4


8.2.1.1 AutoTeach 1 ............................................................................................ 8-4
8.2.1.2 AutoTeach 2 ............................................................................................ 8-4
8.2.1.3 AutoTeach 0 ............................................................................................ 8-5

8.2.2 Pattern Type 1 ...................................................................................................... 8-5


8.2.2.1 AutoTeach 1 ............................................................................................ 8-5
8.2.2.2 AutoTeach 2 ............................................................................................ 8-6
8.2.2.3 AutoTeach 0 ............................................................................................ 8-6

ix

166153-1CD 9/105
166153-1CD
TouchSense and
AccuFast w/ Macro Jobs Table of Contents

8.2.3 Pattern Type 2 ...................................................................................................... 8-7


8.2.3.1 AutoTeach 1 ............................................................................................ 8-7
8.2.3.2 AutoTeach 2 ............................................................................................ 8-7
8.2.3.3 AutoTeach 0 ............................................................................................ 8-8

8.2.4 Pattern Type 3 ...................................................................................................... 8-8


8.2.4.1 AutoTeach 1 ............................................................................................ 8-8
8.2.4.2 AutoTeach 2 ............................................................................................ 8-9
8.2.4.3 AutoTeach 0 ............................................................................................ 8-9

8.2.5 Pattern Type 4 .................................................................................................... 8-10


8.2.5.1 AutoTeach 1 .......................................................................................... 8-10
8.2.5.2 AutoTeach 2 .......................................................................................... 8-10
8.2.5.3 AutoTeach 0 .......................................................................................... 8-11

8.2.6 Pattern Type 5 .................................................................................................... 8-11


8.2.6.1 AutoTeach 1 .......................................................................................... 8-11
8.2.6.2 AutoTeach 2, Step Offset 0 ................................................................... 8-12
8.2.6.3 AutoTeach 2, Step Offset > 0 ................................................................ 8-12
8.2.6.4 AutoTeach 0 .......................................................................................... 8-13

9 Target for TCP Update for AccuFast............................................................................................... 9-1

9.1 Requirements..................................................................................................................... 9-1

9.2 Objective of Function ......................................................................................................... 9-1

9.3 Overview ............................................................................................................................ 9-1

9.4 Breakdown of Procedure ................................................................................................... 9-2

9.5 Detailed Usage .................................................................................................................. 9-3

9.6 Adjust Settings of ACCUFAST - TCP - UPDATER robot job............................................. 9-4

9.6.1 Program the user Frame to be used by


the Macro Manager Function's Robot Job............................................................ 9-5

9.6.2 Set and Program the AccuFast - TCP - UPDATER Robot Job ............................ 9-6
9.7 Run the Robot Job in Train Mode .................................................................................... 9-11

9.8 Run the Robot Job in Calc Mode ..................................................................................... 9-14

9.9 Update Robot Positions in AccuFast Macro Instructions ................................................. 9-14

9.10 TCP Detection Mode (Optional)..................................................................................... 9-15

Appendix A ARG Target Values.........................................................................................................A-1

Appendix B Value B Variables ...........................................................................................................B-1

Appendix C AccuFast Verify Routine (Optional Function) ................................................................ C-1

C.1 Overview .......................................................................................................................... C-1

166153-1CD 10/105
166153-1CD
TouchSense and 1 Introduction
AccuFast w/ Macro Jobs 1.1 Overview

1 Introduction

1.1 Overview
A macro job is a job that runs in the background of the robot controller.
Seam finding macro jobs are used to locate deviated weld seams, gaps,
and edges. These macro jobs work for most work piece sizes, dispersion,
and setting positions. There may be some issues on materials that have
high reflectivity with the AccuFast laser system. The seam finding macro
jobs use the Search function to create calculated offsets that can later be
used to shift programmed job points from the original programmed points
to new deviated part points.
These shift amounts are calculated by programming robot positions on a
master part. The robot positions are programmed so that the sensing
device detects/touches the surface of the master part. As new parts are
presented for work, the robot searches as it moves toward the previously
programmed robot positions and stops when it detects the surface of the
new part.
Fig. 1-1: Master Robot Positions
Robot Position 1

Robot Positon 2

Ori Robot Position 3


gin
al P
rog
ram
me
dM
ast
er
Pa
Sh

rt
ift
Am
ou
nt

De Detected Point
via
ted
Pa
rt

Detected Point

When the surface of the new part is detected and the robot stops its
search motion, the robot records the newly detected position and
compares it to the location of the robot position. A shift amount is then
calculated based on the distance between these two positions (original
robot position and detected robot position).
Once the seam finding macro routine successfully detects the part's
surface, calculates the shift amount, and saves the shift amount to a
variable, the robot job executes a Shift On instruction or Sytem Shift
instruction and shifts the weld path.
To prevent gross errors in part placement, a search window is defined. A
start robot position (Robot Position 1) is programmed to define the
beginning of the search motion. The distance between the start position
(Robot Position 1) and the surface 1 position (Robot Position 2), plus a
“maximum shift amount parameter,” defines the search window.

1-1

166153-1CD 11/105
166153-1CD
TouchSense and 1 Introduction
AccuFast w/ Macro Jobs 1.1 Overview

1.1.1 Seam Finding


In the most basic seam finding application, the robot begins a search
motion from a pre-programmed start robot position towards the next
programmed robot position. When the weldment is detected, either by
touchsense or laser, a signal is immediately sent to the robot controller.
The robot quickly stops its search motion and captures its new position.
Depending on the macro being used, the robot may be directed to;
search, move in a new direction, or calculate a shift amount.
Fig. 1-2: Simple Seam Finding
Robot Position 1

Robot Position 3

Ori
gin
al P
rog
ram Lap Offset
me
dM
ast
er
Pa Robot Positon 2
rt

Searching Motion
Non-Searching Motion

Robot Positon 1
Located
Surface

Locacted
Surface

Lap Offset
Ori De
gin via
al P ted
Pa
nt

rog rt
ou

ram
m
A

me
ift
Sh

dM
ast
er
Pa
rt

Robot Position 1

Located Surface

Ori
gin
al P
ro g
ram
me
d Ma
ste
De rP
via art
ted
unt

Pa
Amo

rt
Shift

Located Surface

1-2

166153-1CD 12/105
166153-1CD
TouchSense and 1 Introduction
AccuFast w/ Macro Jobs 1.1 Overview

 Touch Sense
For most welding applications, seam finding is performed using touch
sense. With this technique, electrical power is provided by a welding
power supply or an external touch sense box to either the welding
electrode (welding wire) or the gas nozzle. As the robot moves from the
start robot position towards the next programmed robot position(s), high
voltage is supplied to the welding torch (power is limited to provide only
low current levels). When the electrode or gas nozzle contacts the
weldment, current flows and a signal is immediately sent to the robot. The
robot quickly stops its search motion and captures the new position.
Fig. 1-3: Touch Sense

Robot Position1

Robot Position 3
Robot Position 2

 AccuFast
Another technology used for part detection uses a 1D laser sensor
(AccuFast). The laser sensor is used in a similar manner as the welding
wire with voltage. Seam finding can be performed with the end of the laser
beam (just like the end of the welding wire) or the side of the laser beam
(just like the side of the welding wire).
Fig. 1-4: Laser Sensing

Robot Position 1

Robot Position 3
Robot Position 2

1.1.2 Macro Jobs


Both Touch Sense and AccuFast, communicate with the robot controller
using a Rapid Input signal. The Rapid Input signal has a quick response
time to any change in signal status, making it ideal for applications
involving robot motion. Because both touch sense and the AccuFast
sensor use the same interface signal to the robot controller, the same
macro job routines are used, and macro job usage is identical for both
technologies.
Multiple positions and parameters are put into to the macro job for each
location on the weldment that is to be measured. These robot positions
and parameters are passed to the macro job via the macro instruction.
The macro instruction is available from the Inform List and is inserted into
the robot job to instruct the robot controller to detect the weld seam to be
welded.

1-3

166153-1CD 13/105
166153-1CD
TouchSense and 1 Introduction
AccuFast w/ Macro Jobs 1.2 Features

Robot motion during seam finding can vary from simple to complex
depending on the features of the macro routine. The TCH macro job
provides either a single, straight line search routine or a two-touch routine
that can be used to locate a T-joint or lap joint. In contrast, the EDGE
macro can touch the surface of a part 10 or more times during a single
macro event.
Seam finding using touch sense is most often used in welding
applications. However, seam finding can be used in a variety of other
applications as well, including those using non-contact detection devices
such as laser sensors, ultrasonic sensors, or vision systems. Depending
on the sensor, routines similar to the macros described in this manual can
be created for these applications.

1.2 Features
The benefits of transitioning to macro jobs include:
• AutoTeach mode
• Increased level of control
• Reduced length of robot program code
• Reduced programming time
• Increased programming accuracy

1.2.1 Improved Control


The transition to macro job-based-routines allows for a higher level of
control of seam finding parameters. The following controls are provided in
select macros:
• Seam Finding Speed: on a given weldment, certain areas may
require slow speeds while others allow for higher speeds to be used.
• AutoTeach Parameters: for turning AutoTeach ON/OFF and for set-
ting related parameters.
• Maximum Shift Amount: allows the routine to only search for the
specified distance and to only generate a shift amount inside of this
limit.
• Destination P Variable: defines the robot Position Variable used to
store the shift amount.
• Weld Joint-Specific-Parameters: include controls for lap offset, edge
detect step size, etc.

1.3 About this Document


This manual is intended as an introduction and overview for personnel
who are familiar with the operation of their Yaskawa Motoman robot model
and robot programming.
This User’s Manual provides a description of functionality, usage
instructions, as well as application examples for the touch sense and
AccuFast function using macro jobs. For detailed information on specific
system components listed in this document, please refer to the
documentation package included with the system.

1-4

166153-1CD 14/105
166153-1CD
TouchSense and 1 Introduction
AccuFast w/ Macro Jobs 1.4 System Requirements

1.4 System Requirements


• Controller software - NS3.31(JP_US)-44
All DX controller software versions supported
• Macro Job function enabled

1.5 Learning Seam Finding with Macro Jobs


Yaskawa Motoman provides a variety of options to help you learn to use
TouchSense and AccuFast with Macro Jobs, including training and
technical support.

1.6 Reference to Other Documentation


For additional information refer to the following:
• NX100 Controller Manual (P/N 149201-1CD)
• DX100 Controller Manual (P/N 155494-1CD)
• NX100 Maintenance Manual (P/N 150133-1CD)
• DX100 Maintenance Manual (P/N 155492-1CD)
• NX100 Operator's Manual for Arc Welding (P/N 149235-1CD)
• DX100 Operator's Manual for Arc Welding (P/N 155490-1CD)
• NX100 Concurrent I/O Parameter Manual (P/N 149230-1CD)
• DX100 Concurrent I/O Parameter Manual (P/N 155491-1CD)
• NX100 Independent/Coordinated Control Manual (P/N 149648-1CD)
• DX100 Independent/Coordinated Control Manual (P/N 156431-1CD)
• NX100 INFORM User’s Manual (P/N 150078-1CD)
• DX100 INFORM User’s Manual (P/N 155493-1CD)
• Vendor manuals for system components not manufactured by
Yaskawa Motoman.

1-5

166153-1CD 15/105
166153-1CD
TouchSense and 2 Setup and Operation
AccuFast w/ Macro Jobs 2.1 Touch Sense

2 Setup and Operation

2.1 Touch Sense


The robot controller’s weld board (MEW02, XEW02, YEW02) turns a
digital output ON while the robot is searching for the surface of the part.
This digital output must be wired to the SEARCH input on the touch sense
power supply (ComArc unit, welding power supply, etc.). The touch sense
power supply has its own digital output signal which turns ON when the
welding wire (or for some applications, gas nozzle) makes contact with the
surface of the part. This digital output signal from the touch sense power
supply is wired to the robot controller’s Rapid Input signal. When the
welding wire or gas nozzle contacts the weldment’s surface, this Rapid
Input signal is received by the robot controller, the robot position data is
saved and the macro job continues with its pre-programmed logic.
The robot controller is configured to allow for seam finding as required by
the seam finding macro jobs. The Search function is enabled in the
controller and seam finding macro jobs (ie. R1-TCH.JBI, R1-EDGE.JBI,
etc.) and the macro instruction configuration file (MACRO.DAT) are
loaded into the robot controller.

2.2 AccuFast
The SICK laser sensor uses a user-specified set point value to determine
the detection position for the sensor. The sensor measures the distance
the sensor is from the surface.

Measurements are based on how far the surface is away


NOTE from the ‘zero’ point, which is a point corresponding with the
farthest point away that the sensor can see.

When the measured distance becomes equal to or greater than the set
point value, the sensor sends an output to the robot controller. This digital
output from the SICK sensor is wired to a Rapid Input signal in the robot
controller (for each seam finding macro instruction deployment, the robot
programmer must set the rapid input number to be used). For the SICK
sensor, there are two set point values that can be configured, each tied to
their own digital output signal and connected to two rapid input signals.
Setting of the SICK sensor set point(s) must be done prior to programming
the first seam finding routine.
The standard Yaskawa mounting location places the laser beam at an
angle relative to the welding torch so that the laser passes within 30 mm of
the tip of the welding wire (30 mm from the TCP of the welding torch).

2-1

166153-1CD 16/105
166153-1CD
TouchSense and 2 Setup and Operation
AccuFast w/ Macro Jobs 2.2 AccuFast

2.2.1 Setting the Q1 Focal Length:


1. For each AccuFast in the system, turn on the specified output to open
the AccuFast's door. The laser light should already be on and a laser
dot should become visible.
2. With the door open, slide the lens holder from in-front of the laser
sensor. Slide the lens from the side of the enclosure allowing access to
push buttons on the side of the laser sensor. REPLACE THE LENS
HOLDER OVER THE LASER OUTPUT BEFORE PROCEEDING.
3. Press the “Select” button and hold it (3-5 seconds) until the sensor
transitions from “Run” mode to “Teach” mode.
4. Press the “Select” button until the LED next to “Q1” illuminates.
5. Trim or retract the welding wire until it is flush with the contact tip.
6. With the laser sensor in “Teach” mode and lens over the laser, position
the robot over a clean piece of metal, jog the robot until the laser
sensor is perpendicular to part, drive the contact tip until the contact tip
just makes contact the metal surface.

Laser perpendicular to
part & contact p
touching surface

7. With the contact tip touching the part, note the robot's “Current
Position” in base frame.
8. Jog the robot away from the part in world coordinates Z-DIRECTION
ONLY until a 30 mm change in the Z direction is noted. (This will result
in a 30 mm separation between the part contact tip).

Z = -236.541

(Rx & Rz ~ +/-180

30mm separaon

2-2

166153-1CD 17/105
166153-1CD
TouchSense and 2 Setup and Operation
AccuFast w/ Macro Jobs 2.2 AccuFast

9. While maintaining servo power and the 30 mm separation,


momentarily press the “Set” button on the laser sensor to set the “Q1”
focal length. Once pressed, the LED for Q1 should flash once.
10. This concludes setting the focal length for Q1. If Q2 needs to be set
(not required in most applications). Press the “Select” button until the
“Q2” LED is illuminated, jog the robot to desired “Q2” focal length then
press the “Set” button momentarily. The “Q2” LED will flash once
indicating that the focal length has been set.
11. To exit “Teach” mode and return to “Run” mode (required for normal
operation), press and hold the “Select” button for 3-5 seconds until the
“Run” LED is illuminated.
12. Replace the lens on the side of the enclosure allowing access to the
push buttons on the side of the laser sensor and replace the lens over
the front of the laser sensor.

2-3

166153-1CD 18/105
166153-1CD
TouchSense and 2 Setup and Operation
AccuFast w/ Macro Jobs 2.3 Job Setup

2.3 Job Setup


Each seam finding macro job incorporates a setup section located at the
top of the macro job (.jbi) program. During robot system setup, this data
may need to be modified depending on the application. It is good practice
to verify these parameter settings when installing a seam finding
technology (touch sense or AccuFast) into the robot system. At the top of
the macro job is an area provided for user configuration. This area is
bound by “Setup Section...begin”. Do not modify job data outside of this
zone! The macro jobs have the following setup sections:
Table 2-1: R1-TCH
Instruction Explanation
NOP
‘-----------------------------------------
‘-----DX-------------------------------- Controller
'- --ver.2.0.0 ------------------------- Version
'- --Yaskawa America Inc.--------
'----Motoman Robotic Div.--------
‘----2013May06; TL---------------- Revision Date / Developer
‘-----------------------------------------
'- For use with Touch Sensing
' - and/or 1D laser sensor

'-----------------------------------------
'---- Setup Section ... begin -----
'-----------------------------------------

' LI8 = Robot Number (ie. R1) Set to Robot Number in the system.
SET LI008 1

‘ If using a laser sensor instead Value of Rapid input number
‘ of touch sense, LI13 = rapid AccuFast is wired to. Set to “0” if
using touch sense.
' input # for laser sensor. Set
' LI13 to 0 if touch sensing is
' used
SET LI013 0
'
' output door is wired to Output number laser is wired to set
' SET LI014 21 to amount of offset desired for Auto
Teach units = mm.
'
' LI6 = auto teach offset
' SET LI006 10
' SET LD000 LI006
'
' LI0 = non search speed Speed value for robot to use during
SET LI000 3000 air moves. Units mm/sec.
max= 3000 of user frame to be
' created.

2-4

166153-1CD 19/105
166153-1CD
TouchSense and 2 Setup and Operation
AccuFast w/ Macro Jobs 2.3 Job Setup

Instruction Explanation
' LB7 = userframe number Value of user frame to be created
SET LB007 0
'
'-----------------------------------------
'- Setup Section ... complete ---
'----------------------------------------
'---Do not modify below here---

To access the parameters associated with the macro instruction, the


macro instruction should first be inserted into the robot job. Access the
macro instruction as follows:
1. Open the robot job that macro instruction is desired.
2. Open the [INFORM LIST] and select {MACRO}.
3. Select the macro instruction desired.
4. Press [INSERT] > [ENTER].
5. Cursor to the instruction side (right side) and press [SELECT] >
[SELECT] on the macro instruction name. The Argument Setting
screen appears.
Fig. 2-1: Argument Settings

2-5

166153-1CD 20/105
166153-1CD
TouchSense and 2 Setup and Operation
AccuFast w/ Macro Jobs 2.4 AutoTeach

6. Cursor to the parameter to change and press [SELECT].


7. Type in the value desired to use and then press [ENTER] (or press
[MODIFY] > [ENTER] in the case of a robot position). The value
changes from UNREGIST to REGIST.
8. Once all changes have been made, save the data to the robot
controller by pressing [ENTER] > [ENTER].

Pressing ENTER only one time does not save the data. For
NOTE data to be saved, ENTER must be pressed twice. Pressing
ENTER a third or forth time, etc. affects nothing.

2.4 AutoTeach
The AutoTeach feature is used to define the robot positions at the exact
location of the part. During initial teaching, the Robot Position 1 is
programmed near the surface desired to detect. The macro job is then ran
in AutoTeach mode. The robot searches, detects the part surface, and
prompts the user to modify the Robot Pos2 in the TCH macros argument
setting screen.
If the robot is not programmed exactly to the master part during initial
teaching, or if the seam finding paths are not taught in specific directions,
inaccuracies are fed directly to the weld path leading to reduced weld
quality.
Additional problems can arise during seam finding operations at high
speeds where robot “overshoot” can occur. When teaching the master
part, the programmer teaches the robot position with the weld wire lightly
touching the surface of the part. During high speed playback
(e.g. 500 cm/min), when the robot controller detects the surface of the new
part and sends the signal to stop robot motion, inertia can cause the robot
to continue moving for a small distance before stopping. This small
continuation of motion drives the welding electrode firmly into the surface
of the part and may even slightly bend the electrode. This deviation
amount and possible wire bend introduces error which can lead to
reduced weld quality.
To eliminate these problems associated with robot overshoot, the
AutoTeach macro mode defines the teaching contact position(s)
automatically using playback search motion speed. Any wire bend or
overshoot deviation condition that would occur during Playback will occur
during AutoTeach as well, thus minimizing this error.

2-6

166153-1CD 21/105
166153-1CD
TouchSense and 3 TCH Macro, One Touch (1TCH) Routine
AccuFast w/ Macro Jobs 3.1 Features

3 TCH Macro, One Touch (1TCH) Routine

3.1 Features
This section describes the TCH macro using One Touch (1TCH) routine.
When using the One Touch routine, the robot moves from Robot Position
1 towards a Robot Position 2, stopping when the surface of the part is
detected.
Fig. 3-1: TCH Macro, 1TCH Routine
Programmed
Programmed
Robot Position 2
Robot Position 1

Actual
Robot Position 2

The 1TCH routine AutoTeach feature defines the programmed detect


position at the exact location of the part. During initial teaching, the Robot
Position 2 is programmed near the surface to be detected. The macro job
is then ran in AutoTeach mode. The robot searches, detects the part
surface, and prompts the user to modify Robot Pos 2 in the TCH macros
argument setting screen.
Fig. 3-2: Argument Settings

Two different AutoTeach modes are available for the 1TCH macro.
• A-to-B search routine (Search Type is set to 1).
The robot starts at Robot Position 1, moves toward Robot Position 2
and stops when contact is detected.
• Perpendicular search routine (Search Type is set to 2)
The robot touches the part’s surface and defines a perpendicular
search direction and the exact location of Robot Position 2.
After the macro has been ran in AutoTeach mode and the programmed
Robot Position 2 has been modified, the TCH macro in 1TCH routine is
ready for playback.

3-1

166153-1CD 22/105
166153-1CD
TouchSense and 3 TCH Macro, One Touch (1TCH) Routine
AccuFast w/ Macro Jobs 3.2 AutoTeach Mode

3.1.1 Limitations
The AutoTeach perpendicular mode (Search Type is set to 2) defines a
search motion that is perpendicular to a surface, but for some applications
there may not be enough room to use this detection mode (ie. detecting
the edge of a 6 mm steel plate). During playback of the AutoTeach
perpendicular mode, the robot senses the surface four times, moving an
offset distance between each search. If the size of the surface area is too
small, there may not be enough room for the robot to move the offset
distance between searches. In this case, use the AutoTeach A-to-B mode
(Search Type is set to 1).
The R1-TCH macro provides X, Y, and Z (translational) shift amounts. It
does not provide RX, RY, and RZ (rotational) shift amounts.

3.2 AutoTeach Mode


With the TCH macro in 1TCH routine, AutoTeach mode defines the exact
location of the Robot Position 2. When AutoTeach mode is set to 1, the
robot moves from the starting position (Robot Position 1) to Robot Position
2 while searching for the surface of the part. When the part surface is
detected, the robot stops and a message is displayed at the bottom of the
teach pendant screen prompting the user to modify Robot Pos 2, set
TEACH to 0, thereby disabling the AutoTeach mode. The correct location
of Robot Position1 and Robot Position 2 is shown in Figure 3-3.
Fig. 3-3: AutoTeach Modes
Detected Point
(After AutoTeach)

Robot Position 1
Robot Position 2
(Initial)
Note: Poistions not programmed
correctly for the sake of AutoTeach Mode =1
illustration. Positions should be
programmed so that search
motion is perpendicular to
the surface of the part Detected Point AutoTeach
(After AutoTeach) Offset

Robot Position 3 Robot Position 1


(Initial)

AutoTeach Mode = 2
When AutoTeach mode is set to 2, the mode touches the surface of the
part four times, developing a search motion that is perpendicular to the
surface of the part from the Robot Position 1. The AutoTeach Offset
parameter is used to set the distance between the first three touches.

3-2

166153-1CD 23/105
166153-1CD
TouchSense and 3 TCH Macro, One Touch (1TCH) Routine
AccuFast w/ Macro Jobs 3.3 Macro Job Setup

3.3 Macro Job Setup


The Touch Sense and AccuFast options are installed at the factory prior to
shipment. To locate and view the macro jobs that are available in the
controller, proceed as follows:
1. Switch to MANAGEMENT mode.
2. From the MAIN MENU, press {JOB} >{SELECT MACRO JOB}. The
TCH macro job(s) appear in the job list.
3. Open a robot job (ie. R1) then open the [Inform List] and press
[MACRO]. The TCH macro instruction(s) appear in the list.
Table 3-1: R1-TCH Macro Setup
Instruction Explanation
NOP
‘-----------------------------------------
‘-----DX-------------------------------- Controller
'- --ver.2.0.0 ------------------------- Version
'- --Yaskawa America Inc.--------
'----Motoman Robotic Div.--------
‘----2013May06; TL---------------- Revision Date / Developer
‘-----------------------------------------
'- For use with Touch Sensing
' - and/or 1D laser sensor

'-----------------------------------------
'---- Setup Section ... begin -----
'-----------------------------------------

'LI8 = Robot Number (ie. R1) Set to Robot Number in the system.
SET LI008 1

‘If using a laser sensor instead Value of Rapid input number
‘of touch sense, LI13 = rapid AccuFast is wired to. Set to “0” if
using touch sense.
' input # for laser sensor. Set
' LI13 to 0 if touch sensing is
' used
SET LI013 0
'
' output door is wired to Output number laser is wired to set
' SET LI014 21 to amount of offset desired for Auto
Teach units = mm.
'
' LI6 = auto teach offset
' SET LI006 10
' SET LD000 LI006
'
' LI0 = non search speed Speed value for robot to use during
SET LI000 3000 air moves. Units mm/sec.
max= 3000 of user frame to be
' created.

3-3

166153-1CD 24/105
166153-1CD
TouchSense and 3 TCH Macro, One Touch (1TCH) Routine
AccuFast w/ Macro Jobs 3.3 Macro Job Setup

Instruction Explanation
' LB7 = userframe number Value of user frame to be created
SET LB007 0
'
'-----------------------------------------
'- Setup Section ... complete ---
'----------------------------------------
'---Do not modify below here---

4. Select one touch. (Search Type 1).

Table 3-2: R1-TCH Call Job


Line Instruction Explanation
0000 NOP
MOVJ Approach position.
R1-TCH P25 Type 0 R1-TCH macro instruction with shift
amount saved to P-Variable #25
(P025) with 1 dimension search
selected.
MOVJ Approach Position for welding.
SFTON P025 Shift amount from R1-TCH macro.
MOVJ Weld Start position.
ARCON

3-4

166153-1CD 25/105
166153-1CD
TouchSense and 3 TCH Macro, One Touch (1TCH) Routine
AccuFast w/ Macro Jobs 3.4 Interface

3.4 Interface
The 1TCH macro instruction argument setting screen contains the
following controls.
Fig. 3-4: Argument Settings R1-TCH (1 Dimension Search)

Table 3-3: Argument Settings R1-TCH (1 Dimension Search)


Name Description Default Allowable Setting Range
Setting
Auto Teach 0 = off Auto Teach mode0=Auto Teach off 1 0,1,2
1=Auto Teach - first surface
2=Auto Teach - second surface
Robot Position 1 Start position of search. The distance placed from UNREGIST UNREGIST, REGIST
the surface(s) of the part determines the search
window.
Robot Position 2 The position the robot moves toward while UNREGIST UNREGIST, REGIST
searching for the surface of the part. In 1TCH
mode, this positionis compared with the detected
position to calculate the shift amount.
Robot Position 3 Position taught on surface next to Robot Position UNREGIST UNREGIST, REGIST
1. Even though this position is not used for shift
amount calculation, it must still be taught. It is
also used for the AutoTeach =2 (perpendicular
search).
Search Speed Speed used during search motion. Units are 150 1-1000
cm /mm.
Lap Offset Not used for 1TCH routine 0 0-100
Search Distance Distance past the programmed Robot Position 2 25 1-100
the robot moves during search. Units: mm.
Shift Variable P-variable number used to store the calculated 10 0-127
shift amount data.
Search Type Set value to 1 for 1 dimension search. 0 1or 2
Rapid Input # Select rapid input to be used. 0 1-5

3-5

166153-1CD 26/105
166153-1CD
TouchSense and 3 TCH Macro, One Touch (1TCH) Routine
AccuFast w/ Macro Jobs 3.5 Programming Instructions

3.5 Programming Instructions


1. While in TEACH mode, open the robot weld job and select:
[INFORM LIST] > {MACRO} > {R1-TCH}.
Fig. 3-5: R1-TCH

2. Insert the TCH macro instruction into the job ([ENTER] or [INSERT] >
[ENTER]).
3. Edit argument data:
a) Cursor to the Instruction side of the robot job.
b) Cursor to the R1-TCH macro instruction.
c) Press [SELECT] > [SELECT]. The Argument Setting screen
appears.
Fig. 3-6: Argument Settings

d) Verify arguments are set properly for the application. To


modify arguments, cursor to argument and press [SELECT].
Type in the numerical data and press [ENTER].

3-6

166153-1CD 27/105
166153-1CD
TouchSense and 3 TCH Macro, One Touch (1TCH) Routine
AccuFast w/ Macro Jobs 3.5 Programming Instructions

e) Cursor to Robot Position 1. Jog the robot to the desired


seam finding start position (note: the distance between the
Robot Position 1 and the surface of the part defines the
search window, which impacts effectiveness and cycle time)
and press [MODIFY] > [ENTER].
f) Cursor to Robot Position 2. Jog the robot towards surface
desired to detect and press [MODIFY] > [ENTER]. Cursor to
Robot Position 3 and press [MODIFY] > [ENTER] (This
position must be taught, but its exact location will not be
used for surface detection and is never re-taught as a result
of AutoTeach).
g) Set AutoTeach mode to a value of 1. Place the cursor on the
Auto Teach argument and press [SELECT]. Enter 1 and
press [ENTER].
4. Save the argument data in robot job. From the Argument Setting
screen press [ENTER] > [ENTER].
5. Execute the TCH macro. Press [INTER LOCK] +[TEST START].
6. When the part surface is detected, the robot stops and a message is
displayed at the bottom of the teach pendant screen prompting the
user to Modify Robot Pos2; set TEACH to 0.
a) Re-open the Argument Setting Screen.
• Cursor to R1-TCH macro instruction on instruction side of
robot job.
• Press [ENTER] > [ENTER]
b) Cursor to the Robot Position 2 argument and press
[MODIFY] > [ENTER].
c) Set AutoTeach mode to 0.
d) Set Shift Variable to the Point Variable (P variable) number
desired to save the shift data.
e) From the Argument Setting screen, press [ENTER] >
[ENTER].
The 1TCH macro is now ready for playback mode.
Program the weld path using a Shift On (SFTON) instruction. Use the
P-variable number set above.

3-7

166153-1CD 28/105
166153-1CD
TouchSense and 4 TCH Macro, Two Touch (2TCH) Routine
AccuFast w/ Macro Jobs 4.1 Features

4 TCH Macro, Two Touch (2TCH) Routine

4.1 Features
This section describes the TCH macro when using Two Touch routine.
The two touch (Search Type = 2) routine of the TCH macro is used to
detect the location of a weld joint using two contact positions. It moves
from a starting Robot Position 1 towards the Robot Positions 2,
momentarily stopping when it detects the surface of the part. It then
moves a short Lap Offset distance (specified in millimeters) back towards
Robot Position 1. Finally, it moves toward the lap leg / adjacent surface,
stopping when it detects the surface of the part (Robot Position 3).
Fig. 4-1: TCH Macro, Weld Joint Location
Robot Position1

Robot Position3

Ori
gin
al P
rog
ram Lap Offset
me
dM
ast
er
Pa Robot Positon 2
rt

Searching Motion
Non-Searching Motion

The AutoTeach feature of this macro job defines the exact location of
Robot Position 2 and Robot Position 3. During initial teaching, the Robot
Position 2 and Robot Position 3 are programmed close to the surfaces to
detect. The macro job is then placed into either of two teach routine and
executed. The robot searches to detect the proper location of either the
First Detection or Lap Detection positions and then prompts the user to
modify ([MODIFY] > [ENTER]) these points in the R1-TCH macros
argument setting screen.

4-1

166153-1CD 29/105
166153-1CD
TouchSense and 4 TCH Macro, Two Touch (2TCH) Routine
AccuFast w/ Macro Jobs 4.2 AutoTeach Mode

Fig. 4-2: Argument Settings

The AutoTeach mode has two sequential modes: 1- First Detection and
2- Lap Detection. After teaching the exact location for Robot Position 1
and the approximate locations of Robot Position 2 and Robot Position 3,
the R1-TCH macro instruction is placed into First Detection mode (Auto
Teach 1). In this position the robot touches the surface four times to define
a perpendicular search direction and the exact location of Robot Position
2. The programmer then re-teaches the Robot Position 2 argument in the
R1-TCH macro instruction. Next, the R1-TCH macro is placed into Lap
Detection (Auto Teach = 2). In this routine the robot touches the surface of
the lap leg three times, developing the exact location of Robot Position 3
as perpendicular to the Robot Position 2 search direction. Finally, the
programmer re-teaches the Robot Position 3. After this stage the R1-TCH
macro instruction is ready for routine Playback.

4.1.1 Limitations
The R1-TCH macro provides X, Y, and Z (translational) shift amounts. It
does not provide RX, RY and RZ (rotational) shift amounts.

4.2 AutoTeach Mode


As stated previously, the AutoTeach feature defines the exact location of
Robot Position 2 and Robot Position 3. When AutoTeach is set to mode 1,
the robot detects the exact position for Robot Position 2. The proper
location of Robot Position 2 is calculated by defining a line from Robot
Position 1 that is perpendicular to the non-lap surface.
When AutoTeach is set to mode 2, the robot detects the exact point for
Robot Position 3. The proper location of Robot Position 3 is calculated by
defining a line, offset from the non-lap surface.
• Perpendicular to the line between Robot Position 1 and Robot
Position 2 (thus parallel to the non-lap surface)
• Perpendicular to a line on the lap surface - a line that is offset from
the non-lap surface by the Lap Offset 0=off argument

4-2

166153-1CD 30/105
166153-1CD
TouchSense and 4 TCH Macro, Two Touch (2TCH) Routine
AccuFast w/ Macro Jobs 4.2 AutoTeach Mode

The correct locations of Robot Position1, Robot Position 2, and Robot


Position 3 are shown in the following figures.
Fig. 4-3: AutoTeach Modes
Robot Position 1

Ori
gin Robot Position 2
al P
rog (Initial)
ram
me
dM
ast
er
Pa
rt
Searching Motion
Robot Position 2
Non-Searching Motion (After AutoTeach)

AutoTeach Mode = 1

Robot Position1

Robot Position 3
(After AutoTeach)

Robot Position 3
(Initial) Lap Offset

AutoTeach
Offset

Robot Position 2
(After AutoTeach)

AutoTeach Mode = 2

4-3

166153-1CD 31/105
166153-1CD
TouchSense and 4 TCH Macro, Two Touch (2TCH) Routine
AccuFast w/ Macro Jobs 4.2 AutoTeach Mode

Playback of the Search Type =2 routine uses simpler motion than that of
the AutoTeach modes. The robot moves to the Robot Position 1, then
moves while searching for the Robot Position 2 position, next moves up
the Robot Position 3, and then moves toward the lap surface while
searching. This motion is shown in the figure below.
Fig. 4-4: TCH macro, Search Type = 2

Robot Position 1
Located
Surface

Locacted
Surface

Lap Offset
Ori De
gin via
al P ted
Pa

nt
rog rt

ou
ram

Am
me

ift
Sh
dM
ast
er
Pa
rt

4-4

166153-1CD 32/105
166153-1CD
TouchSense and 4 TCH Macro, Two Touch (2TCH) Routine
AccuFast w/ Macro Jobs 4.3 Macro Job Setup

4.3 Macro Job Setup


The Touch Sense and AccuFast options are installed at the factory prior to
shipment. To locate and view the macro jobs that are available in the
controller, proceed as follows:
1. Switch to MANAGEMENT mode.
2. From the MAIN MENU, press {JOB} > {SELECT MACRO JOB}. The
TCH macro job(s) appear in the job list.
3. Open a robot job (ie. R1) then open the [INFORM LIST] and press
{MACRO} The TCH macro instruction(s) appear in the list.
Table 4-1: R1-TCH Macro Setup
Instruction Explanation
NOP
‘-----------------------------------------
‘-----DX-------------------------------- Controller
'- --ver.2.0.0 ------------------------- Version
'- --Yaskawa America Inc.--------
'----Motoman Robotic Div.--------
‘----2013May06; TL---------------- Revision Date / Developer
‘-----------------------------------------
'- For use with Touch Sensing
' - and/or 1D laser sensor

'-----------------------------------------
'---- Setup Section ... begin -----
'-----------------------------------------

'LI8 = Robot Number (ie. R1) Set to Robot Number in the system.
SET LI008 1

‘If using a laser sensor instead Value of Rapid input number
‘of touch sense, LI13 = rapid AccuFast is wired to. Set to “0” if
using touch sense.
' input # for laser sensor. Set
' LI13 to 0 if touch sensing is
' used
SET LI013 0
'
' output door is wired to Output number laser is wired to set
' SET LI014 21 to amount of offset desired for Auto
Teach units = mm.
'
' LI6 = auto teach offset
' SET LI006 10
' SET LD000 LI006
'
' LI0 = non search speed Speed value for robot to use during
SET LI000 3000 air moves. Units mm/sec.
max= 3000 of user frame to be
' created.

4-5

166153-1CD 33/105
166153-1CD
TouchSense and 4 TCH Macro, Two Touch (2TCH) Routine
AccuFast w/ Macro Jobs 4.3 Macro Job Setup

Instruction Explanation
' LB7 = userframe number Value of user frame to be created
SET LB007 0
'
'-----------------------------------------
'- Setup Section ... complete ---
'----------------------------------------
'---Do not modify below here---

4. Select two touch (Search Type =2).

Table 4-2: R1-TCH Call Job


Line Instruction Explanation
0000 NOP
MOVJ Approach position.
R1-TCH P25 Type 2 R1-TCH macro instruction with shift amount
saved to P-Variable #25 (P025) with 2
dimension search selected.
MOVJ Approach position for welding.
SFTON P025 Shift amount from R1-TCH macro.
MOVJ Weld Start position.
ARCON

5. Select a two dimension search by setting the argument (Search Type)


to a value of 2.
Sample Job
Line Instruction Explanation
0000 NOP
MOVJ Approach position.
R1-TCH P25 Type 2 R1-TCH macro instruction. Shift amount is
saved to P variable #25 (P025) with 2
dimension search selected.
MOVJ Approach point for welding.
SFTON P025 Enable shift amount from R1-TCH macro.
MOVJ Weld start position.
ARCON

4-6

166153-1CD 34/105
166153-1CD
TouchSense and 4 TCH Macro, Two Touch (2TCH) Routine
AccuFast w/ Macro Jobs 4.4 Interface

4.4 Interface
The R1-TCH macro instruction has the following controls in the argument
setting screen.
Fig. 4-5: Argument Settings R1-TCH (2 Dimension Search)

Table 4-3: Argument Settings R1-TCH


Name Description Default Allowable Setting Range
Setting
Auto Teach 0 = off Auto Teach Mode 1 0,1,2
0 = Auto Teach Off
1 = Auto Teach first surface
2 = Auto Teach second surface
Robot Position1 Start position of search. The distance this UNREGIST UNREGIST, REGIST
position is placed from the surface(s) of
the part determines the search window.
Robot Position 2 Position the robot moves toward while UNREGIST UNREGIST, REGIST
searching for the surface of the part.
Robot Position 3 Position taught on second surface. UNREGIST UNREGIST, REGIST
Search Speed Speed used during search motion. Units 150 1-100
cm/min.
Lap Offset Offset distance from first detected 0 0-100
surface. If set to 0mm, after the robot
detects Robot Position 2, it moves back
to Robot Position 1 before searching
across toward Robot Position 3.
Search Distance Distance past the programmed Robot 25 1-100
Position 2 the robot moves during
search. Units: mm.
Shift Variable P-variable number used to store the 10 0-127
calculated shift amount data.
Search Type Set value to 2 for 2 dimension search. 0 1 or 2
Rapid Input # Select rapid input to be used. 0 1-5

4-7

166153-1CD 35/105
166153-1CD
TouchSense and 4 TCH Macro, Two Touch (2TCH) Routine
AccuFast w/ Macro Jobs 4.5 Programming Instructions

4.5 Programming Instructions


1. While in TEACH mode, from a robot job select: [INFORM LIST] >
{MACRO} >{R1-TCH}.
Fig. 4-6: R1-TCH Macro

2. Insert R1-TCH macro instruction into job [ENTER] or [INSERT] >


[ENTER].
3. Edit argument data:
a) Cursor to the Instruction side of the robot job.
b) Cursor to the R1-TCH macro instruction.
c) Press [SELECT] > [SELECT]. The Argument Setting screen
appears.
d) Verify arguments are set properly for the application. To
modify arguments, cursor to argument, press [SELECT],
type in the numerical data, and press [ENTER].
e) Cursor to Robot Position 1. Jog the robot to the desired start
point and press [MODIFY] > [ENTER].
f) Cursor to Robot Position 2. Jog robot towards surface (non-
lap leg) desired to detect and press [MODIFY] > [ENTER].
g) Cursor to Robot Position 3. Jog robot towards lap surface
desired to detect and press [MODIFY] > [ENTER].
h) Set Auto Teach mode (detailed description below) to a value
of 1 cursor to Auto Teach argument, press [SELECT], type
the number, and press [ENTER].
4. Save argument data into robot job. From the Argument Setting screen
press [ENTER] > [ENTER].
5. Execute R1-TCH macro in Auto Teach = 1 Mode. Press [INTER
LOCK] + [TEST START].

4-8

166153-1CD 36/105
166153-1CD
TouchSense and 4 TCH Macro, Two Touch (2TCH) Routine
AccuFast w/ Macro Jobs 4.5 Programming Instructions

6. When the part surface is detected, the robot stops and a message is
displayed at the bottom of the teach pendant screen prompting the
user to Modify Robot Pos 2, set TEACH to 2.
a) Re-open the Argument Setting Screen
• Cursor to R1-TCH macro instruction on instruction side of
robot job.
• Press [ENTER] > [ENTER].
b) Cursor to the Robot Position 2 argument, press [MODIFY] >
[ENTER].
c) Set AutoTeach mode (Auto Teach) to a value.
7. Save argument data into robot job. From the Argument Setting screen
press [ENTER] > [ENTER].
8. Execute R1-TCH macro in Auto Teach: press [INTER LOCK] + [TEST
START].
9. When the part surface is detected, the robot stops and a message is
displayed at the bottom of the teach pendant screen prompting the
user to Modify Robot Pos3, set TEACH to 0.
a) Re-open the Argument Setting Screen.
• Cursor to R1-TCH macro instruction on instruction side of
robot job.
• Press [ENTER] > [ENTER].
b) Cursor to the Robot Position 3 argument, press [MODIFY] >
[ENTER].
c) Set AutoTeach mode to a value of 0.
d) Set Shift Variable to the Position Variable (P variable)
number to save the shift data.
e) From the Argument Setting screen press [ENTER] >
[ENTER].
The R1-TCH macro is now ready for playback mode.
Program the weld path using a Shift On instruction. Use the P variable
number set above by the Shift Variable argument.

4-9

166153-1CD 37/105
166153-1CD
TouchSense and 5 EDGE: Edge Finding Routine
AccuFast w/ Macro Jobs 5.1 Features

5 EDGE: Edge Finding Routine

5.1 Features
The EDGE macro is used to detect the location of an edge on a flat
surface. Several different pattern types are available to assist in the
detection of the surface’s edge. Some of the pattern types offer the ability
to detect the orientation of the flat surface before scanning across to
locate the edge. Some pattern types use a step motion to locate the edge,
others use a drag motion (for use with a laser sensor). There are pattern
types that measure the width of the weld joint gap and others that detect
and react to the orientation of the part’s surface.
Regardless of the pattern type, the EDGE macro always uses three taught
robot positions. These three positions are used to develop search
directions and calculate the edge deviation amount based on a previously
taught robot position. The edge deviation amount is used as a shift offset.
The searching motion begins at Robot Position 1 and moves toward
Robot Position 2 while searching for the surface. Then, if enabled by the
user, the macro searches three more times for the orientation of the
surface of the part.
Once the location (and optionally the orientation of the surface) is
detected, the robot moves parallel to the surface (using either step or drag
motion) and the edge of the surface is located. Another optional function
can be executed to locate the width of the weld joint gap (in the case of a
groove weld). Finally, the detected edge (or detected middle of the joint
gap) is compared to the original programmed position and an edge-
deviation-amount is calculated and placed into a user-specified P variable.
This P variable can then be used to shift the weld path or used in other
weld path calculations.
Fig. 5-1: EDGE Detection Mode

De
viate
Or dP
igi art
na
t

l Pr
oun

og
t Am

ram
Shif

me Detected
dP
art

Taught

5-1

166153-1CD 38/105
166153-1CD
TouchSense and 5 EDGE: Edge Finding Routine
AccuFast w/ Macro Jobs 5.2 Limitations

Fig. 5-2: EDGE with Gap Detection

Taught Location

Ori
gin
al P
rog
ram
me
dP
art
Middle of Gap

Sh
De
via ift
ted Amo
Pa un
rt t

Detected
Location

The EDGE macros AutoTeach mode re-defines the location of both the
Robot Position 2 and Robot Position 3. Detection of Robot Position 2
always incorporates a routine to ensures the search direction between
Robot Position 1 and Robot Position 2 is perpendicular to the part’s
surface.

5.2 Limitations
The EDGE macro provides X, Y, and Z (translational) shift amounts. It
does not provide RX, RY, and RZ (rotational) shift amounts.

5-2

166153-1CD 39/105
166153-1CD
TouchSense and 5 EDGE: Edge Finding Routine
AccuFast w/ Macro Jobs 5.3 Macro Job Setup

5.3 Macro Job Setup


New systems from Yaskawa Motoman that includes either the Touch
Sense option or the AccuFast option, the EDGE routine should already be
placed into the robot controller. To verify that the macro job is available in
the controller (1) switch to MANAGEMENT mode and then, from the MAIN
MENU, press {JOB} > {SELECT MACRO JOB} (should see the EDGE
macro job(s) listed) and then (2) open a robot job (ie. R1) then open the
[INFROM LIST] and press {MACRO} (should see the EDGE macro
instruction(s) listed).
If any of the global settings need changed in the EDGE macro job(s) in the
robot controller, first open the macro job (MAIN MENU > {SELECT
MACRO JOB} > then select it from the directory list). It is recommend to
only change the last value of the SET instructions, and only change the
SET instructions that are at the top of the job between the “---- Setup
Section … begin ---“ and “-- Setup Section … complete -- “ sections.
Table 5-1: R1-Edge Macro Setup
Instruction Explanation
NOP
‘-----------------------------------------
‘-----DX-------------------------------- Controller
'- --ver.2.0.0 ------------------------- Version
'- --Yaskawa America Inc.--------
'----Motoman Robotic Div.--------
‘----2013May06; TL---------------- Revision Date / Developer
‘-----------------------------------------
'- For use with Touch Sensing
' - and/or 1D laser sensor

'-----------------------------------------
'---- Setup Section ... begin -----
'-----------------------------------------

'LI8 = Robot Number (ie. R1) Set to Robot Number in the system.
SET LI008 1

‘If using a laser sensor instead Value of Rapid input number
‘of touch sense, LI13 = rapid AccuFast is wired to. Set to “0” if
using touch sense.
' input # for laser sensor. Set
' LI13 to 0 if touch sensing is
' used
SET LI013 0
'
' output door is wired to Output number laser is wired to set
' SET LI014 21 to amount of offset desired for Auto
Teach units = mm.
'
' LI6 = auto teach offset
' SET LI006 10
' SET LD000 LI006

5-3

166153-1CD 40/105
166153-1CD
TouchSense and 5 EDGE: Edge Finding Routine
AccuFast w/ Macro Jobs 5.3 Macro Job Setup

Instruction Explanation
'
' LI0 = non search speed Speed value for robot to use during
SET LI000 3000 air moves. Units mm/sec.
max= 3000 of user frame to be
' created.
' LB7 = userframe number Value of user frame to be created.
SET LB007 0
'

LD22 = gap adjustment (microns) Enter the value of gap adjustment in
SET LD022 1500 microns.

'-----------------------------------------
'- Setup Section ... complete ---
'----------------------------------------
'---Do not modify below here---
'----------------------------------------

5-4

166153-1CD 41/105
166153-1CD
TouchSense and 5 EDGE: Edge Finding Routine
AccuFast w/ Macro Jobs 5.4 Interface

5.4 Interface
The EDGE macro instruction has the following controls inside the
argument setting screen.
Fig. 5-3: Argument Settings R1-Edge

Table 5-2: Argument Settings R1-Edge


Name Description Setting; Setting: Allowable Range
Default
AutoTeach 0=off Auto Teach Mode 1 0,1,2
0=Auto Teach off
1=Auto Teach first surface
2=Auto Teach second surface
Robot Position 1 Start position of search. The UNREGIST UNREGIST, REGIST
distance between Robot Position
1 and Robot Position 2, and
between Robot Position 1 and
Robot Position 3, define the
search window.
Robot Position 2 The position the robot moves UNREGIST UNREGIST, REGIST
toward while searching for the
surface of the part.
Robot Position 3 Position taught on second UNREGIST UNREGIST, REGIST
surface.
Search Speed Speed used during search 150 (1-1000)
motion. Units: cm/min
Lap Offset Offset distance from first 0 0-100
detected surface. If set to 0mm,
after the robot detects Robot
Position 2, it moves back to
Robot Position 1 before
searching across toward Robot
Position 3.

5-5

166153-1CD 42/105
166153-1CD
TouchSense and 5 EDGE: Edge Finding Routine
AccuFast w/ Macro Jobs 5.4 Interface

Table 5-2: Argument Settings R1-Edge


Name Description Setting; Setting: Allowable Range
Default
Step Offset Distance between steps / size of 0 (0-100)
each step of motion. Also, the
distance between searches
when searching for Robot
Position 2
Depth Distance below the detected flat 2 (1-20)
surface of the part to be used for
search motion.
Search Distance Distance past the programmed 25 (1-100)
Robot Position 2 the robot
moves during search. Units:
mm.
Shift Variable P-variable number used to store 10 (0-127)
the calculated shift amount data.
Pattern Type This parameter references which 0 ((0-5) Even numbers reference step
motion type is to be used. motion. Odd number reference drag
motion.
Gap Size Output The number of the D Variable to 0 (1-99)
receive the calculated gap
amount
Rapid Input # Rapid Input number to be used. 0 (1-5)

Each of the arguments for the EDGE routine are described below.

When programming EDGE routines on systems with base


axes (ie. B1), additional Robot Positions are included into
NOTE the Argument Setting list. Each time a Robot Position, is
taught ([MODIFY]>[ENTER]) a position for the base axis
must also be taught.

Place the EDGE macro instruction into a robot job, teach the exact
location desired to use for the Robot Position 1 and the approximate
positions needed for Robot Position 2 and Robot Position 3, and select
the type of pattern that is needed for the application. Available pattern
types are shown below.

Table 5-3: R1-Edge Call Job


Line Instruction Explanation
0000 NOP
MOVJ Approach position
R1-EDGE P25 Instance of EDGE macro instruction. Shift amount
saved to P variable #25 (P025)
MOVJ Approach point for welding
SFTON P025 Enable shift amount from EDGE macro
MOVJ Weld start position
ARCON

5-6

166153-1CD 43/105
166153-1CD
TouchSense and 5 EDGE: Edge Finding Routine
AccuFast w/ Macro Jobs 5.4 Interface

When using Pattern Type 2 or Pattern Type 3, the EDGE mode uses three
contact positions to detect the location and orientation of the part's
surface, followed by a fourth touch to execute search motion
perpendicular to the part surface. From this position, the robot calculates a
trajectory towards the edge of the surface, using a drag motion or a series
of step movements. When step motion is selected, the size of these steps
are based on the search offset distance parameter. The robot executes
step motion to search for the edge of the surface. Once the search motion
moves off the edge of the part's surface, the robot searches towards the
surface edge. Once the edge is detected, this new location is compared to
the location of the originally programmed Robot Position 3. The distance
between these positions become the calculated shift amount, which is
then placed into the P-variable number referenced by the Output P#
parameter. An example of a typical playback mode is shown below.
Fig. 5-4: Playback mode for Pattern Type = 2 or 3
Robot Postion 1

2
4

De
via Robot Position 2
ted
Orig Pa
rt
inal
t
oun

Pro
gra
t Am

mm
Shif

ed P Robot Position 3
art (Detected)

Robot Position 3
(Taught)

5-7

166153-1CD 44/105
166153-1CD
TouchSense and 5 EDGE: Edge Finding Routine
AccuFast w/ Macro Jobs 5.5 Programming

5.5 Programming
Programming consists of three elements: (1) insert macro instruction into
robot job and set arguments, (2) teach exact position of Robot Positions
(this is typically done semi-automatically using AutoTeach mode) and (3)
setting the macro instruction to playback mode and deploying shift
amounts for the weld path.
For systems with multiple robots or with external or base axes, select the
relevant EDGE routine (ie. R2-EDGE).
Insert EDGE macro instruction:
1. While in Teach Mode, from a robot job select: [INFORM LIST] >
{MACRO} > {R1-EDGE}.
Fig. 5-5: EDGE Macro

2. Insert EDGE macro instruction into job by pressing [ENTER] or


[INSERT] > [ENTER].
• Touch Sense
For touch sense applications, it is customary to program a wire cut
operation and then touch sense the weldment. After touch sensing of
various weld joints is completed, weld passes are programmed and
shift offsets developed during the touch sense events. In this
situation, the robot programmer needs to lay out which P variables
are to be used for which weld so that the same P variables are not
used twice for a given touch sense-then-weld series.
• AccuFast
As the laser sensor needs no pre-seam finding preparation, the robot
programmer has the liberty to seam find > weld > seam find > weld >
etc. Thus, for some applications the robot programmer can re-use
the same P variable over and over.
3. Edit argument data:
a) Cursor to the Instruction side of the robot job.
b) Cursor to the R1-EDGE macro instruction.
c) Press [SELECT] > [SELECT]. The Argument Setting screen
appears.

5-8

166153-1CD 45/105
166153-1CD
TouchSense and 5 EDGE: Edge Finding Routine
AccuFast w/ Macro Jobs 5.5 Programming

d) Verify arguments are set properly for the application. To


modify arguments; cursor to argument, press [SELECT],
type in the numerical data, and press [ENTER]. Set the
value of the Pattern Type argument for desired application.
e) Cursor to Robot Position 1. Jog the robot to a position to
use as the start position and press [MODIFY] > [ENTER].
f) Cursor to Robot Position 2. Jog the robot to a position near
the flat surface to detect and press [MODIFY] > [ENTER].
g) Cursor to Robot Position 3. Jog the robot to a position near
the edge of the surface (its best to move the robot slightly
past the edge) desired to detect and press [MODIFY] >
[ENTER].
h) Set AutoTeach Mode to a value of 1:
4. Save argument data into robot job: from the Argument Setting screen
press [ENTER] > [ENTER].
5. Define new Robot Position 2.
a) Hold down [INTER LOCK] + [TEST START] while the cursor
is on the R1-EDGE macro instruction.
b) After the robot has successfully located the new position, it
will stop its motion and display an instruction at the bottom
of the teach pendant screen prompting user to: Modify
Robot Pos 2 set TEACH to 1. Follow the displayed
instructions by re-opening the R1-EDGE macro instruction
[SELECT] > [SELECT] from the instruction side of the
macro instruction, cursor to the Robot Position 2 parameter
and press [MODIFY] > [ENTER], then cursor to the Auto
Teach mode parameter; press [SELECT] > 2 > [ENTER].
c) Save data to the robot job by pressing [ENTER] > [ENTER].
6. Define new Robot Position 3.
a) Hold down [INTER LOCK] + [TEST START] while the cursor
is on the R1-EDGE macro instruction.
b) After the robot has successfully located the new position, it
will stop its motion and display an instruction on the bottom
of the teach pendant screen prompting user to: Modify at
Robot Pos 3; set TEACH to 0. Follow the displayed
instructions by re-opening the R1-EDGE macro instruction
[SELECT] > [SELECT] from the instruction side of the
macro instruction), cursor to the Robot Position 3 argument
setting and then press [MODIFY] > [ENTER], then cursor to
the Auto Teach argument setting and type [SELECT] > 0 >
[ENTER].
c) Save the above data to the robot job by pressing [ENTER] >
[ENTER].
7. For this instance of the R1-EDGE macro instruction, teaching is now
complete. It is now ready for routine playback.

5-9

166153-1CD 46/105
166153-1CD
TouchSense and 5 EDGE: Edge Finding Routine
AccuFast w/ Macro Jobs 5.6 AutoTeach

5.6 AutoTeach
As stated previously, the AutoTeach feature defines the exact location of
the Robot Position 2 and Robot Position 3. When AutoTeach is set to
mode 1, the robot detects the exact position for Robot Position 2. When
AutoTeach is set to mode 2, the robot detects the exact position for Robot
Position 3. AutoTeach for EDGE Macro; Pattern Type = 1; Teach mode = 1
is shown in Fig.5-6 AutoTeach for EDGE Macro
Fig. 5-6: AutoTeach for EDGE Macro
Robot Position1

Robot Position 2
Robot Position2 (Initial)
(After AutoTeach1)

Robot Position 3
(After AutoTeach2)

Robot Position 3
(Initial)

Once the initial reference position are taught, the robot detects a new
location for the Robot Position 2 and Robot Position 3 points using
AutoTeach. The location of these positions are displayed in the drawings
below. The exact location of these positions are dependent on the
selected Pattern Type and Step Offset parameters. In general, the
AutoTeach argument will:
• Develop a search direction from Robot Position 1 to the surface of
the part, while ensuring this motion is perpendicular to this surface.
• Develop a search direction from Robot Position 2 to Robot Position 3
that is perpendicular to the first search and perpendicular to the
edge.

5-10

166153-1CD 47/105
166153-1CD
TouchSense and 5 EDGE: Edge Finding Routine
AccuFast w/ Macro Jobs 5.6 AutoTeach

5.6.1 AutoTeach 1 (Robot Position 2)


AutoTeach mode 1 locates the exact location for Robot Position 2 by
executing the following sequence:
1. Robot will touch or drag the surface three times to define the location
and orientation of the part's surface.
2. Robot will then touch or drag a fourth time with a perpendicular search
direction.
Fig. 5-7: Surface Detection

Search Offset
Robot Position 1

Robot Position 2

4th
Touch
1st 2nd
Touch Touch

3rd
Touch

Original Programmed Part

Searching - Part Surface

5-11

166153-1CD 48/105
166153-1CD
TouchSense and 5 EDGE: Edge Finding Routine
AccuFast w/ Macro Jobs 5.6 AutoTeach

 Examples
The following diagrams show the AutoTeach function with each pattern
type available:

Fig. 5-8: Pattern Type 0, AutoTeach 1


Robot Position1

3 1

Robot Position 2
(Initial)

Robot Position 2
(After AutoTeach1)

Robot Position 3

Fig. 5-9: Pattern Type 1, AutoTeach 1


Robot Position 1

3 2
4

Robot Position 2 Robot Position 2


(After AutoTeach1) (Initial)

Robot Position 3

5-12

166153-1CD 49/105
166153-1CD
TouchSense and 5 EDGE: Edge Finding Routine
AccuFast w/ Macro Jobs 5.6 AutoTeach

Fig. 5-10: Pattern Type 2, AutoTeach 1

Robot Position 1

3 1

Robot Position 2
(Initial)
Robot Position 2
(After AutoTeach1)

Robot Position 3

Fig. 5-11: Pattern Type 3, AutoTeach 1


Robot Position 1

3 1

Robot Position 2
(Initial)

Robot Position 2
(After AutoTeach1)

Robot Position 3

5-13

166153-1CD 50/105
166153-1CD
TouchSense and 5 EDGE: Edge Finding Routine
AccuFast w/ Macro Jobs 5.6 AutoTeach

Fig. 5-12: Pattern Type 4, AutoTeach 1


Robot Positon 1

3 1

Robot Position 2
(Initial)
Robot Positon 2
(After AutoTeach1)

Robot Position 3

Fig. 5-13: Pattern Type 5, AutoTeach 1


Robot Position 1

3 2
4

Robot Postion 2
(After AutoTeach1)
Robot Position 2
(Initial)

Robot Position 3

 Programming
To define a new Robot Position 2 using AutoTeach 1, proceed as follows:
1. Place the cursor on the EDGE macro instruction and press and hold
the [INTER LOCK] + [TEST START] buttons.
2. After the robot has successfully located the new position, it stops its
motion and the following instruction is displayed at the bottom of the
teach pendant screen prompting the user to: Modify Robot Pos 2; set
TEACH to 1.
3. Follow the displayed instructions.
a) Re-open the EDGE macro instruction by pressing
[SELECT] > [SELECT] from the instruction side of the
macro instruction.
b) Cursor to the Robot Position 2 parameter and press
[MODIFY] > [ENTER].
c) Cursor to the Auto Teach mode parameter and type
[SELECT] > 2 > [ENTER].

5-14

166153-1CD 51/105
166153-1CD
TouchSense and 5 EDGE: Edge Finding Routine
AccuFast w/ Macro Jobs 5.6 AutoTeach

4. Save the above data to the robot job by pressing [ENTER] > [ENTER].

5.6.2 AutoTeach 2 (Robot Position 3)


AutoTeach mode 2 locates the exact location for Robot Position 3 by
executing the following sequence:
1. Robot will step or drag toward the pre-programmed edge of the work
piece (Robot Position 3).
2. Once the robot searches off the edge of the part, the robot drops below
the surface of the part.
Fig. 5-14: Edge Detection
Robot Position 1

Robot Position 2 Step


Offset
4th Robot Position 3
Touch
5th
Touch nth
Touch

Original Programmed Part

Depth

Searching - Edge
3. Robot will touch or drag the edge surface two times to define the
orientation of the edge surface.
4. Robot will then touch or drag a third time with a perpendicular search
direction.
Fig. 5-15: Reference Position 3Detection

Robot Position 3
Robot Position 1 (Initial)

nth
Original Programmed Part Touch

nth +2
Robot Position 3 nth +1 Touch
(After AutoTeach) Touch
Depth

Final
Touch

Searching - Robot Position 2


After the robot completes the search motion, a message is displayed at
the bottom of the teach pendant screen prompting user to Modify Robot
Pos 3; set TEACH to 0. After the robot programmer follows the
instructions, this instance of the EDGE macro instruction is ready for
Playback mode (Auto Teach argument =0.)

5-15

166153-1CD 52/105
166153-1CD
TouchSense and 5 EDGE: Edge Finding Routine
AccuFast w/ Macro Jobs 5.6 AutoTeach

 Parameters
The Search Distance argument defines the allowable distance of the
calculated shift amount. The robot develops search motion so it does not
search excessively beyond the Search Distance amount. The exact
definition of the Search Distance amount is shown in the following three
figures:
Fig. 5-16: Maximum Search Distance: OK
Robot Position 1

Maximum Search
Distance
Robot Position 2

Robot Position 3

Fig. 5-17: Maximum Search Distance: Out of Limit


Robot Position 1

Maximum Search
Distance
Robot Position 2

Robot Position 3

Fig. 5-18: Maximum Search Distance: Out of Limit


Robot Position 1

Maximum Search
Distance
Robot Positon 2

Robot Position 3

5-16

166153-1CD 53/105
166153-1CD
TouchSense and 5 EDGE: Edge Finding Routine
AccuFast w/ Macro Jobs 5.6 AutoTeach

Fig. 5-19: EDGE with Gap Search Distance


Robot Position 1

Robot Position 2
Detected Gap

Robot Position 3

 Examples
The following diagrams show the AutoTeach function with each pattern
type available:
Fig. 5-20: Pattern Type 0, AutoTeach 2
Robot Position 1

Robot Positon 3
Robot Position 2 (After AutoTeach2)

3
2
1 Robot Position 3
(Initial)

5-17

166153-1CD 54/105
166153-1CD
TouchSense and 5 EDGE: Edge Finding Routine
AccuFast w/ Macro Jobs 5.6 AutoTeach

Fig. 5-21: Pattern Type 1, AutoTeach 2, Step Offset 0


Robot Postion 1

Depth

Robot Position 2

Robot Position 3
(After AutoTeach2)

Robot Position 3
(Initial)

Fig. 5-22: Pattern Type 1, AutoTeach 2, Step Offset >0


Robot Position 1

Depth

Robot Position 2

Robot Position 3
(After AutoTeach2)

2
1 Robot Position 3
(Initial)

5-18

166153-1CD 55/105
166153-1CD
TouchSense and 5 EDGE: Edge Finding Routine
AccuFast w/ Macro Jobs 5.6 AutoTeach

Fig. 5-23: Pattern Type 2, AutoTeach 2


Robot Position 1

Robot Position 2 Middle of Gap

4 5
3

2
1

Robot Position 3
(Initial)

Fig. 5-24: Pattern Type 3, AutoTeach 2, StepOffset = 0


Robot Position 1

Depth

Robot Position 2

Robot Position 3
(After AutoTeach)

Robot Position 3
(Initial)

5-19

166153-1CD 56/105
166153-1CD
TouchSense and 5 EDGE: Edge Finding Routine
AccuFast w/ Macro Jobs 5.6 AutoTeach

Fig. 5-25: Pattern Type 3, AutoTeach 2, Step Offset >0


Robot Position 1

Depth

Robot Position 2

Middle of Gap

3 4 5
2
1

Robot Position 3
(Initial)

Fig. 5-26: Pattern Type 4, AutoTeach 2


Robot Position 1

Robot Positon 3
Robot Position 2 (After AutoTeach 2)

3
2
1
Robot Position 3
(Initial)

5-20

166153-1CD 57/105
166153-1CD
TouchSense and 5 EDGE: Edge Finding Routine
AccuFast w/ Macro Jobs 5.6 AutoTeach

Fig. 5-27: Pattern Type 5, AutoTeach 2, Step Offset = 0


Robot Postion 1

Depth

Robot Postion 2

Robot Positon 3
(After AutoTeach2)

Robot Positon 3
(Initial)

Fig. 5-28: Pattern Type 5, AutoTeach 2, Step Offset > 0


Robot Positon 1

Depth

Robot Positon 2

Robot Positon 3
(After AutoTeach2)

2
1 Robot Position 3
(Initial)

 Programming
1. Define a new Robot Position 3 by holding down [INTER LOCK] +
[TEST START] while the cursor is on the EDGE macro instruction.
2. After the robot has successfully located the new position it stops
motion and displays the following instructions on the bottom of the
teach pendant screen: Modify Robot Pos 3; set TEACH to 0.

5-21

166153-1CD 58/105
166153-1CD
TouchSense and 5 EDGE: Edge Finding Routine
AccuFast w/ Macro Jobs 5.6 AutoTeach

3. Follow the displayed instructions by re-opening the EDGE macro


instruction.
a) From the instruction side of the macro instruction, press
[SELECT] > [SELECT].
b) Cursor to the Robot Position 3 parameter and press
[MODIFY] > [ENTER].
c) Cursor to the teach mode parameter and type [SELECT] > 0
> [ENTER].
4. Save the above data to the robot job by pressing [ENTER] > [ENTER].
For this instance of the EDGE macro instruction, teaching is now
complete.
Insert the [SFTON] instruction into the weld job. The Shift On instruction is
located in the [INFORM LIST]> {SHIFT} > {SFTON}. Set the P variable
number to the value used in the previously taught EDGE macro
instruction.

Calculations (combining / partitioning shift amounts) may be


needed in order to develop the necessary shift amount for
NOTE the weld seam. Such calculations are outside the scope of
this manual. Yaskawa Motoman offers training classes that
covers these types of scenarios.

5-22

166153-1CD 59/105
166153-1CD
TouchSense and 6 R1 CIRCLE: Circle Touch Routine
AccuFast w/ Macro Jobs 6.1 Features

6 R1 CIRCLE: Circle Touch Routine

6.1 Features
The R1CIRCLE macro detects positional deviations for curved (constant
radius) surfaces. A part’s center of curvature (i.e. the center of a circle) is
calculated using three detected positions along the surface of the curved
part. These positions are then compared with that of a master part and a
shift amount is calculated. This shift amount is based on the distance
between the center of the master part and the center of the deviated part.
This shift amount is then used to shift all positions programmed to the
surface of the part (i.e. MOVCs).
The R1CIRCLE macro also detects the diameter of the curved surface
and calculates a radial shift amount by comparing this diameter to the
diameter of the master part. This shift amount can be used to shift all
position ss programmed to the surface of the part (i.e. MOVCs) to account
for a change in diameter of the part's surface.

6.1.1 Three Touch Routine


The location of the center of a circle is calculated based on the position of
three macro reference positions. This routine touches three positions of a
recessed (inside) circle. The first touch is made from the center of circle
reference position toward the Robot Position 1. The 2nd and 3rd touches
are perpendicular to the first touch-sensing path and also perpendicular to
the Z direction of the base frame.
Fig. 6-1: Three Touch Routine
Robot Position 2
Robot Position 1

Initial Programmed Position


Detect Position
Robot Position 3

Position of Robot Positon in DIA-CALC Macro Instruction

6.1.2 Shift Amount - Center of Circle


The center of a circle is calculated based on three touches on the circle.
The new center is compared to the center of the programmed master part
and a shift amount is saved to a pre-determined P-Variable.

6.1.3 AutoTeach Mode


The AutoTeach macro mode has 3 teach modes for detection of the three
macro reference positions. The user teaches the robot close to the
locations on the wall of a circle and the robot detects these exact
positions.

6-1

166153-1CD 60/105
166153-1CD
TouchSense and 6 R1 CIRCLE: Circle Touch Routine
AccuFast w/ Macro Jobs 6.2 Programming Requirements

6.1.4 Limitations
The CIRCLE routine works only on circles that lie perpendicular to either
the XY, YZ, or XZ plane. Cylinders / cylindrical surfaces where the axis of
the cylinder is not perpendicular to the X, Y or Z axis of Base Frame are
not supported by the macro.

6.2 Programming Requirements


The three detected positions must lie on a specific plane of the base frame
or robot frame. These three positions must lie in either the XY plane, YZ
plane, or XZ plane.
The three reference positions in the macro instruction must be
programmed in a specific manner. These specifics are discussed in detail
below.
The R1CIRCLE macro develops shift amounts based on X, Y, and Z
directions.
The circle diameter argument is used to qualify if the calculated shift
amount is within acceptable limits. It is possible for errors to exist in the
calculation due to inaccurate detection of the curved surface. The
inaccurate detections can occur due to the presence of weld tacks, larger
spatter balls, etc. To limit the possibility of incorrect shift amounts being
produced, the detected circle diameter is compared to the value of the
circle diameter parameter, and if the calculated diameter is greater than
25% or more of the value of circle diameter, the shift amount is not stored
into the P variable.

6.3 Job Setup


Table 6-1: R1 Circle Macro Setup
Instruction Explanation
NOP
‘-----------------------------------------
‘-----DX-------------------------------- Controller
'- --ver.2.0.0 ------------------------- Version
'- --Yaskawa America Inc.--------
'----Motoman Robotic Div.--------
‘----2013May06; TL---------------- Revision Date / Developer
‘-----------------------------------------
'- For use with Touch Sensing
' - and/or 1D laser sensor

'-----------------------------------------
'---- Setup Section ... begin -----
'-----------------------------------------

'LI8 = Robot Number (ie. R1) Set to Robot Number in the system.
SET LI008 1

6-2

166153-1CD 61/105
166153-1CD
TouchSense and 6 R1 CIRCLE: Circle Touch Routine
AccuFast w/ Macro Jobs 6.3 Job Setup

Instruction Explanation
‘If using a laser sensor instead Value of Rapid input number
‘ of touch sense, LI13 = rapid AccuFast is wired to. Set to “0” if
using touch sense.
' input # for laser sensor. Set
' LI13 to 0 if touch sensing is
' used
SET LI013 0
'
' output door is wired to Output number laser is wired to set
SET LI014 21 to amount of offset desired for Auto
Teach units = mm.
'
' LI6 = auto teach offset
SET LI006 10
SET LD000 LI006
'
' LI0 = non search speed Speed value for robot to use during
SET LI000 3000 air moves. Units mm/sec.
max= 3000 mm/sec of user frame to
' be created.
‘ LR4=AllowShiftAmnt as a Allowable shift amount in a
‘ % of Taught circle dia. percentage of the taught circle.

Set LR004 10
JUMP *ngDiachk IF LR004<1
JUMP *ngDiachk IF LR004>20
DIV LR004 100

‘ Dvar Output for Diameter Diameter measurement of circle out
‘ Measurement put number

Set LB003 99
'-----------------------------------------
'- Setup Section ... complete ---
'----------------------------------------
'---Do not modify below here---
'----------------------------------------

6-3

166153-1CD 62/105
166153-1CD
TouchSense and 6 R1 CIRCLE: Circle Touch Routine
AccuFast w/ Macro Jobs 6.4 Interface

Table 6-2: R1 Circle Call Job


Instruction Explanation
NOP
MOVJ //Approach position
R1CIRCLE //instance of R1CIRCLE macro
instruction. Shift amount saved to P
variable #25 (P025)
MOVJ //approach point for welding
SFTON PO25 //Enable change-in-center shift
amount from R1CIRCLE macro
MOVJ //Weld start position
ARCON
MOVC //second weld position
MOVC //third weld position

6.4 Interface
The R1CIRCLE macro instruction includes the following controls inside
the argument setting screen.
Fig. 6-2: Argument Settings R1Circle

Table 6-3: Argument Settings R1Circle


Argument Name Description Default Allowable Setting Range
Setting
Auto Teach 0=off Auto Teach Mode 1 0,1,2,3
0 = Auto Teach off
1 = Auto Teach first surface
2 = Auto Teach second surface
Robot Position 1 Reference position programmed in the center UNREGIST UNREGIST, REGIST
position on the arc surface.
Robot Position 2 Robot Position programmed in the left position on UNREGIST UNREGIST, REGIST
the arc surface.
Robot Position 3 Reference position programmed in the right UNREGIST UNREGIST, REGIST
position on the arc surface.

6-4

166153-1CD 63/105
166153-1CD
TouchSense and 6 R1 CIRCLE: Circle Touch Routine
AccuFast w/ Macro Jobs 6.4 Interface

Table 6-3: Argument Settings R1Circle


Argument Name Description Default Allowable Setting Range
Setting
Search Speed Speed used during search motion. Units are cm/ 150 1-1000
min.
StartSrch Offset Distance the start position is away from surface. 25 1-100
Units = mm
Teach Offset Offset distance between 1st and 2nd, and 0 1-100
between 1st and 3rd position. The distance is
calculated by multiplying the diameter of the circle
by the value of the Teach Offset argument. 50%
ideal in most cases. Units =% of Rad
Max. Search Distance past the programmed Robot Position 2 25 1-100
Distance the robot moves during search. Units: mm.
Shift Pvar P-variable number used to store the calculated 10 0-127
shift amount data.
Outside=0,Inside Path type: 0 = searches outside of circle, 1 = 0 0 or 1
=1 searches inside of circle.
Circle Diameter Diameter of circle being searched. The value of 0 minimum of 1
this argument should be set to as close to the
actual diameter of the curved surface as possible
in order to provide for accurate qualification of the
maximum shift value.
XY=1:XZ=2:YZ=3 Searching Plane circle is on. 0 1,2 or 3
Rapid Input # Select rapid input to be used. 0 1-5

6-5

166153-1CD 64/105
166153-1CD
TouchSense and 6 R1 CIRCLE: Circle Touch Routine
AccuFast w/ Macro Jobs 6.5 Programming

6.5 Programming

6.5.1 Programming AutoTeach for the R1CIRCLE Macro


1. Insert R1CIRCLE macro instruction into the robot job. The R1CIRCLE
macro can be accessed from pressing [INFORM LIST] and then
{MACRO}.
Fig. 6-3: R1CIRCLE Macro

2. Cursor to the instruction side of the macro instruction and press


[SELECT] > [SELECT]. The Argument Setting screen appears.

6-6

166153-1CD 65/105
166153-1CD
TouchSense and 6 R1 CIRCLE: Circle Touch Routine
AccuFast w/ Macro Jobs 6.5 Programming

6.5.1.1 Setup Macro Instruction and Detect Robot Position 1


1. Cursor to Auto Teach. Enter 1 in the input field and press [ENTER].
2. Teach the initial positions for the three Robot Positions.
a) Jog the robot to the approximate position of Robot Position
1 in the diagram below.
b) Cursor to Robot Positions in the argument setting screen
and press [MODIFY] > [ENTER].
Refer to Figure 6-4 for proper programming locations when programming
Robot Positions inside circles.
Fig. 6-4: Reference Positions for Inside Diameter
Robot Position 2
Robot Position 1

Initial Programmed Position


Detect Position
Robot Position 3

Position of Robot Positon in DIA-CALC Macro Instruction


Refer to Figure 6-5 for proper programming locations when programming
Robot Positions outside circles.
Fig. 6-5: Robot Positions for Outside Diameter

Robot Position 2 Initial Programmed Position


Detect Position

Robot Position 1

Robot Position 3

Position of Robot Positions in DIA-CALC Macro Instruction


c) Jog the robot to the approximate position for Robot Position
2 (see diagrams above).
d) Cursor to the Robot Position 2 and press [MODIFY] >
[ENTER].
e) Jog the robot to the approximate positions of Robot Position
3 of the circle.
f) Cursor to Robot Position 3 in the argument setting screen
and press [MODIFY] > [ENTER].

6-7

166153-1CD 66/105
166153-1CD
TouchSense and 6 R1 CIRCLE: Circle Touch Routine
AccuFast w/ Macro Jobs 6.5 Programming

Program the three robot positions at a consistent height.


NOTE Avoid having one robot position lower or higher than the
other two.

Fig. 6-6: Consistent Programming Height

INCORRECT CORRECT

Program the initial robot position as close as possible to the


NOTE surface of the part to avoid the following inverted path prob-
lem.

Fig. 6-7: Programming Error: Inverted Path

Calculated Circle before


Auto Teach 1 Event

Calculated Circle after


Auto Teach 1 Event

Avoid Inversion of Circle When Programming


Robot Positions with AutoTeach
g) Set Search Speed to a speed appropriate for application.
Typical speeds range between 100 and 500 cm/min.
h) Set the Outside=0, Inside=1 parameter to the value correct
for the part being programmed.
If programming an inside circle, where the robot positions
are programmed between the detection surface and the
center of the circle, set this parameter to 1.
If programming an outside circle, where the detection
surface is between the robot positions and the center of the
circle, then set this parameter to 0.

6-8

166153-1CD 67/105
166153-1CD
TouchSense and 6 R1 CIRCLE: Circle Touch Routine
AccuFast w/ Macro Jobs 6.5 Programming

i) Define the search window. Set the Search Offset parameter


to the amount desired to have the robot use as its search
window. Set the Max Search Dist parameter to the distance
desired for the robot to move past each robot position.
Fig. 6-8: Search Offset Parameter

Robot Position 2

Robot Position 1

Target Position of
Search Motion
Start Position of
Search Motion
Robot Position 3

Search Offset

Search Offset Parameter

In the event the robot detects a tack or flat spot, the calcu-
lated center or the circle will not match the actual circles
NOTE center location. To reduce the magnitude of this error, the
distance between Robot Position 1, Robot Position 2, and
Robot Position 3 should be as large as possible.

j) For newer versions of this routine, the distance between


three Robot Positions (detected during AutoTeach) are only
adjustable from the SETUP section in the macro job.
k) Press [ENTER] > [ENTER] to save the Argument Setting
Screen data to the robot job header.
l) Press and hold [INTERLOCK] + [TEST START] to execute
the macro job. The robot detects three times to find the
exact position of the circle. A message at the bottom of the
teach pendant screen prompts user to Modify Robot Pos 1,
set TEACH to 2.

6-9

166153-1CD 68/105
166153-1CD
TouchSense and 6 R1 CIRCLE: Circle Touch Routine
AccuFast w/ Macro Jobs 6.5 Programming

6.5.1.2 Detect Robot Position 2


a) Open the Argument Setting screen by pressing [SELECT] >
[SELECT] from the instruction side of the macro instruction.
Modify Robot Position 2, set Auto Teach Mode to 2 and
press [ENTER] > [ENTER] to save this new data.
b) Press and hold the [INTERLOCK] + [TEST START] keys to
execute the macro job. The robot detects Reference Point 1
again and then touch-senses to find a new Point for
Reference Point 2. The robot stops and a message is
displayed at the bottom of the teach pendant seen
prompting the user to Modify Robot Pos 2, set TEACH to 3.

6.5.1.3 Detect Robot Position 3


a) Access the Argument Setting screen by pressing [SELECT]
>[SELECT] from the instruction side of the macro
instruction. Modify Robot Position 2, set Auto Teach Mode
to 3 and then press [ENTER] > [ENTER] to save this new
data.
b) Press and hold the [INTERLOCK] + [TEST START] keys to
execute the macro job robot position. The robot detects
Robot Position 1 and Robot Position 2 and then moves to
find a new position for Robot Position 3. The robot stops
and a message is displayed at the bottom of the teach
pendant screen prompting the user to Modify the Robot Pos
3; set TEACH to 0 thereby turning Auto Teach Mode OFF.
c) Open the Argument Setting screen by pressing [SELECT] >
[SELECT] from the instruction side of the macro instruction.
d) Set the Max Shift Amount parameter accordingly.
e) Modify Robot Position 3, set Auto Teach to 0 and press
[ENTER] >[ENTER] to save data. The macro instruction is
now ready for Playback mode.
f) Program the Shift On (SFTON) instruction into the robot job.

6-10

166153-1CD 69/105
166153-1CD
TouchSense and 7 Application Examples
AccuFast w/ Macro Jobs 7.1 T-Joint

7 Application Examples

7.1 T-Joint
In order to account for variations at the end of a part, a 1TCH routine in
tandem with a 2TCH routine can account for three dimensional variation.
This process uses the 1TCH routine to detect the edge of the plate. The
2TCH routine is then shifted by the amount developed by the 1TCH
routine Finally, the 2TCH routine is used to detect variations perpendicular
to the 1TCH routines search direction.

Line Instruction Explanation


0000 NOP
MOVL Approach position for 1TCH routine
1TCH P000
MOVL Departure point for 1TCH routine
SFTON P000 Execute 1TCH shift amount to shift
2TCH routine
MOVL Approach point for 2TCH routine
2TCH P001
MOVL Departure point for 2TCH routine
SFTON P001 Execute combined shift amount
from 1TCH and 2TCH routines
MOVL First weld point
ARCON

Fig. 7-1: 1TCH

7-1

166153-1CD 70/105
166153-1CD
TouchSense and 7 Application Examples
AccuFast w/ Macro Jobs 7.1 T-Joint

The 1TCH routine, in this example, detects variations in the Part Variation
direction shown in the figure. Results of 1TCH routine are saved to P
variable P000. This shift amount is then used to shift the 2TCH routine.
Fig. 7-2: 2TCH

The 2TCH routine detects variations in part location described in the Part
Variation directions shown in this figure. The 2TCH routine detects the
shift amount, and places this shift amount plus the shift amount in P000
into the P variable P001. Because the 2TCH routine is shifted by the
amount detected with the 1TCH routine, the calculated shift amount of the
2TCH routine is based on the amount in P000 added to the amount in
P001.

7-2

166153-1CD 71/105
166153-1CD
TouchSense and 7 Application Examples
AccuFast w/ Macro Jobs 7.2 Cylinder to Plate

7.2 Cylinder to Plate


The 1TCH routines used to detect vertical variations of the plate. This shift
amount is then input into the R1CIRCLE routine, shifting this routine
vertically. After execution of the R1CIRCLE routine, the offset is based on
before, after and lateral variations, as well as the vertical offset developed
by the 1TCH routine.

Line Instruction Explanation


0000 NOP
MOVL Approach point for 1TCH routine
1TCH P000
MOVL Departure point for 1TCH routine
SFTON P000 Execute 1TCH shift amount to shift
DIA-CALC routine
MOVL Approach point for 2TCH routine
2TCH P001
MOVL Approach point for R1CIRCLE
routine
R1CIRCLE
MOVL Departure point for R1CIRCLE
routine
SFTON P001 BF Execute combined shift amount
from 1TCH and R1CIRCLE routines.
This moves the weld positions to
account for positional variations of
the part
SFTON P002 TF Execute the radial shift from the
DIA-CALC routine to shift the weld
positions to a larger or smaller
diameter pattern
MOVC First weld point
ARCON
MOVC Second weld point
MOVC Third weld point
MOVC Fourth weld point
ARCOF

7-3

166153-1CD 72/105
166153-1CD
TouchSense and 7 Application Examples
AccuFast w/ Macro Jobs 7.2 Cylinder to Plate

Fig. 7-3: Part Variation

The 1TCH routine, in this example, detects variations in the Part Variation
direction shown in the figure. Results of 1TCH routine are saved to P
variable P000. This shift amount is then used to shift the 2TCH routine.
Fig. 7-4: Part Variation R1CIRCLE

7-4

166153-1CD 73/105
166153-1CD
TouchSense and 8 Programming Suggestions
AccuFast w/ Macro Jobs

8 Programming Suggestions
Fig. 8-1: AccuFast Orientation (Lap Weld)

OK Better

Fig. 8-2: AccuFast Orientation (Reflective Surface)

Reflective Surface Reflective Surface

Not Ideal Better

Fig. 8-3: Touch Sense Over AccuFast

Use Touch Sense Instead of AccuFast

8-1

166153-1CD 74/105
166153-1CD
TouchSense and 8 Programming Suggestions
AccuFast w/ Macro Jobs 8.1 Perpendicular Search Paths

8.1 Perpendicular Search Paths


Another often overlooked problem occurs when search motion is not
perpendicular to the surface of the part, or when offsets are added
together but the motions associated with these searches are not mutually
perpendicular. To avoid these problems, the following guidelines should
be considered when programming motion.

 Keep search motions perpendicular to each other.


When using multiple detection, to develop a single shift amount (e.g.
searching for X, Y, and Z variations for a weld start point), it is
recommended to program search motions perpendicular to each other.
The first search motion should be perpendicular to the first surface desired
to detect. The second and third search motions should be perpendicular to
each and also perpendicular to the first search motion. If motions are not
mutually perpendicular, compounding of shift amounts can shift the weld
path out of the weld seam.
Fig. 8-4: Mutually Perpendicular Search Paths

2nd Locating Taught Weld


Sequence Start Point

1st Locating Taught Weld


Sequence Start Point
Shifted Weld
Start Point
Original
Programmed Part

Total Shift
Amount Deviated Part
Shifted Weld
Start Point

CORRECT PROGRAMMING

2nd Locating Taught Weld


Sequence Start Point

1st Locating Taught Weld


Sequence Start Point

Shifted Weld
Start Point Original
Programmed Part

Deviated Part
Total Shift
Amount
Shifted Weld
Start Point

INCORRECT PROGRAMMING

8-2

166153-1CD 75/105
166153-1CD
TouchSense and 8 Programming Suggestions
AccuFast w/ Macro Jobs 8.1 Perpendicular Search Paths

 Keep search motion perpendicular to the surface of the part


As long as the previous rule is not contradicted (where all search motion
must be perpendicular to each other, when wishing to combine shift
amounts), keep search motion perpendicular to the surface of the part.
Fig. 8-5: Perpendicular Search Paths
Robot Position 1

Perpendicular Taught Weld


Taught Weld Start Position
End Position

Original
Programmed Part

Shifted Weld
Shifted Weld Start Position
End Position Shift Amount

Deviated Part

Located Surface

CORRECT PROGRAMMING

Robot Position 1

Taught Weld
Taught Weld Start Position
End Position

Original
Programmed Part

Shift Weld Shifted Weld


End Position Start Position
Shift Amount

Deviated Part

Located Surface

INCORRECT PROGRAMMING
The seam finding macros discussed in this manual all contain routines
where the previously mentioned errors are dramatically reduced, while at
the same time realizing a reduction in teaching time. In summary, the
AutoTeach routines offer the following benefits:
• Reduced programming time.
• Improved ease of programming.
• Automatic detection of shift motion perpendicular to the part surface.
• Accurate programming of the detecting positions during teaching via
the AutoTeach routine.
• Reduced error associated with robot overshoot.

8-3

166153-1CD 76/105
166153-1CD
TouchSense and 8 Programming Suggestions
AccuFast w/ Macro Jobs 8.2 Pattern Type and AutoTeach Descriptions

8.2 Pattern Type and AutoTeach Descriptions

8.2.1 Pattern Type 0

8.2.1.1 AutoTeach 1
AutoTeach 1 is used to redefine Robot Position 2.
Fig. 8-6: Pattern Type 0, AutoTeach 1
Robot Position1

3 1

Robot Position 2
(Initial)

Robot Position 2
(After AutoTeach1)

Robot Position 3

8.2.1.2 AutoTeach 2
AutoTeach 2 is used to redefine Robot Position 3.
Fig. 8-7: Pattern Type 0, AutoTeach 2
Robot Position 1

Robot Positon 3
Robot Position 2 (After AutoTeach2)

3
2
1 Robot Position 3
(Initial)

8-4

166153-1CD 77/105
166153-1CD
TouchSense and 8 Programming Suggestions
AccuFast w/ Macro Jobs 8.2 Pattern Type and AutoTeach Descriptions

8.2.1.3 AutoTeach 0
Fig. 8-8: Pattern Type 0, AutoTeach = 0 (Playback)
Robot Position 1

Ori Robot Position 2


gin De
al P via
rog ted
ram Pa oun
nt
me rt Shift Am
dP
art

8.2.2 Pattern Type 1

8.2.2.1 AutoTeach 1
AutoTeach 1 is used to redefine Robot Position 2.
Fig. 8-9: Pattern Type 1, AutoTeach 1
Robot Position 1

3 2
4

Robot Position 2 Robot Position 2


(After AutoTeach1) (Initial)

Robot Position 3

8-5

166153-1CD 78/105
166153-1CD
TouchSense and 8 Programming Suggestions
AccuFast w/ Macro Jobs 8.2 Pattern Type and AutoTeach Descriptions

8.2.2.2 AutoTeach 2
AutoTeach 2 is used to redefine Robot Position 3.
Fig. 8-10: Pattern Type 1, AutoTeach 2
Robot Position 1

Depth

Robot Position 2

Robot Position 3
(After AutoTeach2)

2
1 Robot Position 3
(Initial)

8.2.2.3 AutoTeach 0
Fig. 8-11: Pattern Type 1, AutoTeach = 0 (Playback)
Robot Position 1

Robot Position 2

Ori
gin
al P
rog
ram
me
dP
art
Sh
ift
Am
ou
nt

De
via
ted
Pa
rt

8-6

166153-1CD 79/105
166153-1CD
TouchSense and 8 Programming Suggestions
AccuFast w/ Macro Jobs 8.2 Pattern Type and AutoTeach Descriptions

8.2.3 Pattern Type 2

8.2.3.1 AutoTeach 1
AutoTeach 1 is used to redefine Robot Position 2.
Fig. 8-12: Pattern Type 2, AutoTeach 1

Robot Position 1

3 1

Robot Position 2
(Initial)
Robot Position 2
(After AutoTeach1)

Robot Position 3

8.2.3.2 AutoTeach 2
AutoTeach 2 is used to redefine Robot Position 3.
Fig. 8-13: Pattern Type 2, AutoTeach 2
Robot Position 1

Robot Position 2 Middle of Gap

4 5
3

2
1

Robot Position 3
(Initial)

8-7

166153-1CD 80/105
166153-1CD
TouchSense and 8 Programming Suggestions
AccuFast w/ Macro Jobs 8.2 Pattern Type and AutoTeach Descriptions

8.2.3.3 AutoTeach 0
Fig. 8-14: Pattern Type 2, AutoTeach = 0 (Playback)
Robot Position 1

Robot Position 2

Ori
gin
al P
rog
ram
me
dP
art

Sh
ift
Am
ou
De

nt
via
ted
Pa
rt

8.2.4 Pattern Type 3

8.2.4.1 AutoTeach 1
AutoTeach 1 is used to redefine Robot Position 2.
Fig. 8-15: Pattern Type 3, AutoTeach 1
Robot Position 1

3 1

Robot Position 2
(Initial)

Robot Position 2
(After AutoTeach1)

Robot Position 3

8-8

166153-1CD 81/105
166153-1CD
TouchSense and 8 Programming Suggestions
AccuFast w/ Macro Jobs 8.2 Pattern Type and AutoTeach Descriptions

8.2.4.2 AutoTeach 2
AutoTeach 2 is used to redefine Robot Position 3.
Fig. 8-16: Pattern Type 3, AutoTeach 2
Robot Position 1

Depth

Robot Position 2

Middle of Gap

3 4 5
2
1

Robot Position 3
(Initial)

8.2.4.3 AutoTeach 0
Fig. 8-17: Pattern Type 3, AutoTeach = 0 (Playback)
Robot Position 1

Depth

Robot Position 2

Middle of Gap

3 4 5
2
1

Robot Position 3
(Initial)

8-9

166153-1CD 82/105
166153-1CD
TouchSense and 8 Programming Suggestions
AccuFast w/ Macro Jobs 8.2 Pattern Type and AutoTeach Descriptions

8.2.5 Pattern Type 4

8.2.5.1 AutoTeach 1
AutoTeach 1 is used to redefine Robot Position 2.
Fig. 8-18: Pattern Type 4, AutoTeach 1
Robot Positon 1

3 1

Robot Position 2
(Initial)
Robot Positon 2
(After AutoTeach1)

Robot Position 3

8.2.5.2 AutoTeach 2
AutoTeach 2 is used to redefine Robot Position 3.
Fig. 8-19: Pattern Type 4, AutoTeach 2
Robot Position 1

Robot Positon 3
Robot Position 2 (After AutoTeach 2)

3
2
1
Robot Position 3
(Initial)

8-10

166153-1CD 83/105
166153-1CD
TouchSense and 8 Programming Suggestions
AccuFast w/ Macro Jobs 8.2 Pattern Type and AutoTeach Descriptions

8.2.5.3 AutoTeach 0
Fig. 8-20: Pattern Type 4, AutoTeach = 0 (Playback)
Robot Position 1

2
4

De
via Robot Position 2
ted
Pa
rt

t
oun
Amt
8.2.6 Pattern Type 5 Shif

8.2.6.1 AutoTeach 1
AutoTeach 1 is used to redefine Robot Position 2.
Fig. 8-21: Pattern Type 5, AutoTeach 1
Robot Position 1

3 2
4

Robot Postion 2
(After AutoTeach1)
Robot Position 2
(Initial)

Robot Position 3

8-11

166153-1CD 84/105
166153-1CD
TouchSense and 8 Programming Suggestions
AccuFast w/ Macro Jobs 8.2 Pattern Type and AutoTeach Descriptions

8.2.6.2 AutoTeach 2, Step Offset 0


AutoTeach 2 is used to redefine Robot Position 3.
Fig. 8-22: Pattern Type 5, AutoTeach 2, Step Offset = 0
Robot Postion 1

Depth

Robot Postion 2

Robot Positon 3
(After AutoTeach2)

Robot Positon 3
(Initial)

8.2.6.3 AutoTeach 2, Step Offset > 0


AutoTeach 2 is used to redefine Robot Position 3.
Fig. 8-23: Pattern Type 5, AutoTeach 2, Step Offset > 0
Robot Positon 1

Depth

Robot Positon 2

Robot Positon 3
(After AutoTeach2)

2
1 Robot Position 3
(Initial)

8-12

166153-1CD 85/105
166153-1CD
TouchSense and 8 Programming Suggestions
AccuFast w/ Macro Jobs 8.2 Pattern Type and AutoTeach Descriptions

8.2.6.4 AutoTeach 0
Fig. 8-24: Pattern Type 5, AutoTeach = 0 (Playback)
Robot Position 1

2
4
Depth
3

De
via
ted
Pa
rt

t
oun
Amt
Shif

8-13

166153-1CD 86/105
166153-1CD
TouchSense and 9 Target for TCP Update for AccuFast
AccuFast w/ Macro Jobs 9.1 Requirements

9 Target for TCP Update for AccuFast

9.1 Requirements
It is under the assumption that the user has knowledge of Yaskawa
Motoman “Touch Sense and AccuFast Macro Jobs” function; mostly the
R1-EDGE macro instructions including its uses, programming procedure,
and association parameter settings.
User is required to have knowledge on how to program an accurate User
Frame onto the supplied detection block.

9.2 Objective of Function


Macro Manager function enables batch modification of macro instructions
of the existing jobs in a DX controller. The Macro Manager develops Tool
data for updating macro instructions for Seam Finding Macros when using
AccuFast. When it is necessary to relocate AccuFast relative to the T-
Flange of the robot, and to avoid manually re-teaching the seam finding
macro instructions, Macro Manager develops two Tool files. One file
contains information before the sensor is re-mounted and the second file
contains information after the sensor is re-mounted. Macro Manager uses
Relative Job function in the DX controller to update any relevant jobs
automatically. This results in not having to re-teach the seam finding
macros manual or only minimal re-teaching required.

9.3 Overview
In the event that AccuFast needs to be re-mounted or replaced, (it is
impossible to get the exact location of the original sensor), measurements
using the sensor would have an error in shift measurements due to the
sensor not being in the expected location.
One of the following would have to take place to correct the above issue.

 Manual
Manually reprogram all of the seam finding macro instructions the
controller after AccuFast has been remounted. Robot positions before the
ARCON/ARCOF instruction would probably need to be touched up also.

9-1

166153-1CD 87/105
166153-1CD
TouchSense and 9 Target for TCP Update for AccuFast
AccuFast w/ Macro Jobs 9.4 Breakdown of Procedure

 Semi-Automatic
User needs to create a TCP (i.e Tool#1) for AccuFast while it is mounted
in its original location. This could be done using the traditional 5 point
method. The sensor would then be replaced. The user would then be
required to create a second TCP (i.e. Tool#2) for the sensor in its new
location. Lastly, Macro Manager would need to be ran and the two Tool
Files would be referenced for updating the robot jobs containing seam
finding macro instructions.

 Automatic
A target is used with AccuFast where a TCP is calculated and stored into
a Tool File. This is done twice - once before the sensor is taken off and
once after the sensor is remounted. The tool files are then updated (i.e.
Tool #1 and Tool #2... the exact Tool File numbers are user defined). The
macro manager is then ran and the two Tool Files are referenced for
updating of the robot jobs' seam finding macro instructions.

9.4 Breakdown of Procedure


1. Mount target securely within range of the robot arm.
2. Program a user frame to target.
3. Robot job (ACCUFAST - TCP - UPDATER) programmed to the target
and parameters are set.
4. Run ACCUFAST - TCP - UPDATER in “TRAIN” mode with original
laser mounting condition.
5. Replace / Remount AccuFast box.
6. Run ACCUFAST - TCP - UPDATER in “CALC” mode.
7. Run macro manager. The job data will automatically be updated.

9-2

166153-1CD 88/105
166153-1CD
TouchSense and 9 Target for TCP Update for AccuFast
AccuFast w/ Macro Jobs 9.5 Detailed Usage

9.5 Detailed Usage


• Mount target on a secure surface.
• Mount the target securely on a surface that is easily reachable by the
robot.
• Mount the target so that the sensor can be programmed above the
target.
• Sensor beam should be roughly perpendicular to the large, flat
surface of the target.
Fig. 9-1: Mounting Target

9-3

166153-1CD 89/105
166153-1CD
TouchSense and 9 Target for TCP Update for AccuFast
AccuFast w/ Macro Jobs 9.6 Adjust Settings of ACCUFAST - TCP - UPDATER robot job

9.6 Adjust Settings of ACCUFAST - TCP - UPDATER robot job


“Adjust setting values at the top of the robot job as needed for the
application that AccuFast is being used for.
'--------------------------------
'
'LI003=Pvar# for Saved Tool
SET LI003 5
'
'LI016=Pvar# for DetPosInitial
SET LI016 9
'
'LI001=Detected Tool File #
SET LI001 1
'
'LI002=OriginalPos Tool File #
SET LI002 2
'
'LI005=ZeroData Tool File #
SET LI005 4
'
'LD014=Fine Point Scaling, mm
' Factory setting: 8
SET LD014 8
'
'LI007=fine tuning depth; mm
' Factory setting: 2
SET LI007 2
'
'LI004=RIN# for Search Motion
SET LI004 4
'
'LI006=Search Speed, cm/min
SET LI006 50
'
'LI0=User Frame # of block
SET LI000 1
'
'--- Setup Complete
'--------------------------------

9-4

166153-1CD 90/105
166153-1CD
TouchSense and 9 Target for TCP Update for AccuFast
AccuFast w/ Macro Jobs 9.6 Adjust Settings of ACCUFAST - TCP - UPDATER robot job

Table 9-1: Parameters


Variable Parameter Name Default Value Description
LI003 P variable #; saved tool 5
LI016 P variable #; initial detected position 9
LI001 Tool File #; detected tool 1
LI002 Tool File #; original tool 2
LI005 Tool File #; zero data 4
LD014 Fine point scaling, mm 8
LI007 Fine point tuning; depth used 2
LI004 Rapid Input #; used for search 4 Set this based on the Rapid Input # that
motion the AccuFast sensor is using for the
‘detect’ signal
LI006 Search Speed 50 Speed used during fine point turning
while searching for the edge of the block.
LI000 User Frame #; used during initial
teaching

WARNING
The P variable set by the parameters LI001, LI002, LI003, and LI006
will be overwritten during successful execution of this robot job. Any
data that was in these P variables will be lost. It is important to note
which P variables these parameters are referencing as other jobs are
being programmed into the robot controller.

9.6.1 Program the user Frame to be used by the Macro Manager Function's
Robot Job
To program an accurate User Frame, a tool is required (i.e Welding wire of
a welding torch) with a good accurate Tool Center Point (TCP). If TCP is
bad, (doesn't stay in same spot when moved in the round about motions in
World Coordinates), program a new TCP using the 5 point method.
1. Program the ORG of the User Frame at the corner of the block (as
shown in figure below). This corner of the detection block should be
smooth and flat, with adjacent surfaces that are as close to 90
degrees from each other as possible.

9-5

166153-1CD 91/105
166153-1CD
TouchSense and 9 Target for TCP Update for AccuFast
AccuFast w/ Macro Jobs 9.6 Adjust Settings of ACCUFAST - TCP - UPDATER robot job

2. Program the XX and XY of the User Frame as shown Fig.9-2


Programing the XX and XY of the User Frame.
Fig. 9-2: Programing the XX and XY of the User Frame

9.6.2 Set and Program the AccuFast - TCP - UPDATER Robot Job
1. Open the Robot Job named ACCUFAST - TCP - UPDATER.
2. Cursor to the variable setting section at the top of the job and confirm
the set values.

Table 9-2: AccuFast Variable Settings


Variable Description Setting Range Default Value
LI003 P variable # to save 0 - max number of 5
original, unmodified tool to P vars
LI016 P variable # used for 0 - max number of 9
calculations P vars
LI001 Tool File # for new sensor 1 - 24 1
location
LI002 Tool File # for original 1 - 24 2
sensor location
LI005 Tool File # used for 1 - 24 4
calculations
LD014 Offset for corner detection 3 - 20 8
LI007 Depth used during corner 2 - 10 2
detection
LI004 Rapid Input used for Laser 1-5 3
Sensor searching
LI006 TCP speed used during 10 - 100 50
Search motion, cm/min
LI000 User Frame number of 1 - 24 1
detection block

3. Cursor to the top section of the robot job. The bottom of this section is
noted by the comment “---Setup Complete”.

9-6

166153-1CD 92/105
166153-1CD
TouchSense and 9 Target for TCP Update for AccuFast
AccuFast w/ Macro Jobs 9.6 Adjust Settings of ACCUFAST - TCP - UPDATER robot job

4. Change the necessary value for the application.


• LI003
• Pvar# for Saved Tool
• When Executing the robot job in “TRAIN” mode, the current Tool
data is saved to the P variable number. In case there is a need to
recover the previous Tool's value. The to-be-changed Tool
number is set by the parameter “LI002 = Pvar# / OriginalPos Tool
#”.
• LI001
• Detected Tool Number
• This is the value to be used in the Macro Manager Programming
pendant application when it prompts the user for the “Updated
Tool Number”.
• LI002
• Original Tool Number
• This is the value that will be used in the Macro Manager
Programming pendant application when it prompts the user for
the “Original Tool Number”.
• Zero Tool #
• The value of the Tool that contains 0,0,0,0,0,0 data. If a Tool
doesn't contain this data, there will need to be one to be set.
• Set a Tool File to a value of
• X:0
• Y:0
• Z:0
• RX:0
• RY:0
• RZ:0
• Set the variable LI005 to the Tool number used above.
• Fine Point Scaling
• A value of 8 mm is recommended.
• This sets the distance that the final edge search routines will be
performed from the corner of the block.
• This value will need to be increased to larger values if AccuFast
cannot be programmed to project the laser beam at an angle
roughly perpendicular to the surface of the block.
• LI004
• Set the Rapid Input # used for AccuFast.
• LI000
• Set for user frame.

9-7

166153-1CD 93/105
166153-1CD
TouchSense and 9 Target for TCP Update for AccuFast
AccuFast w/ Macro Jobs 9.6 Adjust Settings of ACCUFAST - TCP - UPDATER robot job

5. Set the User Frame number used above in the first section of the
instructions.
6. Program the three areas where the search motion will take place on
the block. User will program an approach point and the three Robot
Positions of the R1-EDGE macro instruction for each of the three
areas.

• Use the same orientation of the laser sensor to the robot


Base Frame for all three R1-EDGE macro instruction
instances. DO NOT CHANGE RX, RY, OR RZ while
jogging robot to the 9 positions inside the three R1-
EDGE macro instructions.
• Take care when Robot Position 2 is programmed for
each of the three R1-EDGE macro instructions. Make
sure the Robot Position 2 are programmed far enough
from the edge of the block so that after the sensor is
remounted that the sensor is still pointing at the
horizontal surface of the block when it moves towards
Robot Position 2.
• Recommended settings for the R1-EDGE macro
instructions include:
– Set the Rapid Input # used for AccuFast
– Search Speed - 100 cm/min
NOTE
– Keep this search speed slow for optimum
accuracy.
– Depth - 25 mm
– Smaller values are better for calculated accuracy,
but too small of a value may lead to variability in
detection.
– Search Distance - 25 mm
– This should be set to a value greater than the
expected deviation between the old and new
AccuFast locations.
• For optimum accuracy, the AccuFast laser beam should
be programmed as close to perpendicular to the surface
of the part as possible. If perpendicular is not possible,
the value of the 'Fine Point Scaling' parameter (located in
the SETUP section of the Robot Job) may need to be
increased from the factory default setting.

9-8

166153-1CD 94/105
166153-1CD
TouchSense and 9 Target for TCP Update for AccuFast
AccuFast w/ Macro Jobs 9.6 Adjust Settings of ACCUFAST - TCP - UPDATER robot job

7. Program the MOVJ positions labeled Program Position and the first
R1-EDGE macro instruction labeled “Block, UF XX - Far.” It is
recommended to program the MOVJ position in the same area that the
Robot Position 1 or the R1-EDGE macro is programmed.
Fig. 9-3: Location of Robot Position 2, Block UF XX - Far

9-9

166153-1CD 95/105
166153-1CD
TouchSense and 9 Target for TCP Update for AccuFast
AccuFast w/ Macro Jobs 9.6 Adjust Settings of ACCUFAST - TCP - UPDATER robot job

8. Program the second R1-EDGE macro instruction labeled “Block, UF


XX - Close.” It's recommended to program to program MOVJ position
in the same area that the Robot Position 1 of the R1-EDGE macro is
programmed.
Fig. 9-4: Location of Robot Position 2, Block UF XX - close.

9-10

166153-1CD 96/105
166153-1CD
TouchSense and 9 Target for TCP Update for AccuFast
AccuFast w/ Macro Jobs 9.7 Run the Robot Job in Train Mode

9. Program the third R1-EDGE macro instruction labeled “Block, UF XY.”


It is recommended to program the MOVJ position in the same area
that the Robot Position 1 of the R1-EDGE macro is programmed.
Fig. 9-5: Location of Robot Position 2, Block UF XY

9.7 Run the Robot Job in Train Mode


1. Open the job named ACCUFAST - TCP - UPDATER - MASTER.
2. Cursor to the CALLJOB:ACCUFAST - TCP - UPDATER instruction

9-11

166153-1CD 97/105
166153-1CD
TouchSense and 9 Target for TCP Update for AccuFast
AccuFast w/ Macro Jobs 9.7 Run the Robot Job in Train Mode

3. Set the ACCUFAST - TCP - UPDATER jobs ARGUMENT #1 to a value


of 0, for Train mode.

• A parent robot job can cause ARGUMENTS to pass data


into the child job that is being called. The ACCUFAST -
TCP - UPDATER job has been programmed with two
arguments. The value of these arguments can be seen
by opening the CALL JOB:ACCUFAST - TCP -
UPDATER - MASTER.
– To open the CALL instruction, move the cursor to the
CALL instruction line.
– Cursor to the instruction side and them press
[SELECT] twice. The Argument List now appears.
– Select the argument to change the value.
• Cursor to the '>>' and press [SELECT] to modify the
data, or change the data in the in - line instruction
(0, 14, 2).
• The descriptions of the JOB ARGUMENTs for the
NOTE ACCUFAST - TCP - UPDATER job are listed in
Appendix B. These arguments can be viewed by:
– Selecting the job called ACCUFAST - TCP -
UPDATER - MASTER.
– These arguments can be viewed by selecting the job
called ACCUFAST - TCP - UPDATER - MASTER.
– Cursor to the instruction CALL JOB:ACCUFAST - TCP
- UPDATER.
– Cursor to the instruction side and press [SELECT] >
[SELECT].
– Argument 1: 0 = train mode, 1 = calc mode.
– Argument 2: B variable number for status bit (value of
B variable... 0 = successful train, 1 = successful calc, 2
= search failed).
– Argument 3: Amount of TCP deviation. Value =
microns (ie Dvar = 1204 = 1.204 mm).

9-12

166153-1CD 98/105
166153-1CD
TouchSense and 9 Target for TCP Update for AccuFast
AccuFast w/ Macro Jobs 9.7 Run the Robot Job in Train Mode

4. Set the ACCUFAST - TCP - UPDATER jobs ARGUMENT #2 to the B


variable number desired to save the success / fail result to. Example:
ARGUMENT #2 set to a value of 4, thus B004 is set to provide the
success / fail status of the robot job.
5. From the top of the ACCUFAST - TCP- UPDATER - MASTER job, run
the job. The routine should located the edge of the block 5 times and
then move the laser beam to the exact edge of the block. The routine,
if successful, should set the status B variable (default B014 to a value
of 0).
Fig. 9-6: Setting the AccuFast -TCP-Updater

9-13

166153-1CD 99/105
166153-1CD
TouchSense and 9 Target for TCP Update for AccuFast
AccuFast w/ Macro Jobs 9.8 Run the Robot Job in Calc Mode

9.8 Run the Robot Job in Calc Mode


1. Set the ACCUFAST - TCP - UPDATER job's ARGUMENT #1 to a
value of 0, for the Calculate Offset Mode.
2. The routine should have located the edge of the block 5 times and
then move to the exact edge of the block. The routine, if successful,
should set the status B variable (default is B014) to a value of 1.
3. Upon completion of this mode the user should have two Tool Files set
the value of LI002 and the value of LI001 determine which Tool Files
were set.

9.9 Update Robot Positions in AccuFast Macro Instructions


1. Follow instructions of the Macro Manager Function. See manual
162160-1CD for details.
2. The jobs containing seam finding macro instructions should now be
updated.
3. To verify accuracy, observe that the detected shift offsets of the macro
jobs that use the AccuFast sensor are providing the same offsets after
the AccuFast sensor was moved as they were before the AccuFast
sensor was remounted.

9-14

166153-1CD 100/105
166153-1CD
TouchSense and 9 Target for TCP Update for AccuFast
AccuFast w/ Macro Jobs 9.10 TCP Detection Mode (Optional)

9.10 TCP Detection Mode (Optional)


1. Open the job named ACCUFAST - TCP - UPDATER - MASTER.
2. Cursor to the CALL JOB:ACCUFAST - TCP - UPDATER instruction.
3. Set the ACCUFAST - TCP - UPDATER jobs argument #1 to a value of
2, for Detection Only Mode.
4. From the ACCUFAST - TCP - UPDATER - MASTER job, adjust the
allowable TCP deviation to what is acceptable for the application,
typically ½ the diameter of the welding wire. If 1.2 mm (0.045 inches)
welding wire is being used, a value of 0.6 mm could be used as the
allowable TCP deviation (if the value of deviation is greater than this
value, the robot job will pause after Detection Only routine was
performed).

In the inform job, a PAUSE IF LD000>700 is shown in the


NOTE example. With this PAUSE command, the robot controller is
suing units of micros, so a value of 700 is actually 0.7 mm.

The first Argument (JOB ARGUMENT > ARG. 1) of the robot job
ACCUFAST - TCP - UPDATER sets the operating mode of this function.
The various modes are listed in the table below.

9-15

166153-1CD 101/105
166153-1CD
TouchSense and Appendix A ARG Target Values
AccuFast w/ Macro Jobs

Appendix A ARG Target Values

Table A-1: ARG Values


Value of Description Comment
ARG.1
0 Calculate Offset The routines measures the calculated TCP
offset and writes the “before” and “after” data
into the Tool Files.
1 Train For initial teaching. This mode is to be used
BEFORE any dimensional changes to the
AccuFast sensor.
2 Detection Only This mode can be used at any time AFTER the
initial “Train” mode has been ran. This mode
can be used to verify that the TCP of the
AccuFast sensor has not changed since the
initial teaching, or “Train” step. The calculated
change in location of the TCP is available via
the “GETS xDyyy$RV” Inform instructions.

A-1

166153-1CD 102/105
166153-1CD
TouchSense and Appendix B Value B Variables
AccuFast w/ Macro Jobs

Appendix B Value B Variables

The second argument (JOB ARGUMENT > ARG 2) of the robot job
ACCUFAST - TCP - UPDATER sets the address of a B Variable.
This B variable is given a value on the success / failure state of the
robot job. The possible values for this B variable are listed in the
table below.

Value B Description Recommended Countermeasure


Variable
0 ‘Training’ Ok. Next, switch to ‘Calculate’ mode.
successful
1 “Calculate” Ok.
successful
2 Unsuccessful Check search path. Check the laser sensor is
search programmed correctly. Check that Rapid Input
# for laser sensor is set correctly is SETUP
section of Robot Job.
3 “Detection Only” Check return value (GETS Dxxx SRV) to collect
successful detected TCP deviation amount.
4 Robot Job was Re-Run Robot Job.
halted

B-1

166153-1CD 103/105
166153-1CD
TouchSense and Appendix C AccuFast Verify Routine (Optional Function)
AccuFast w/ Macro Jobs C.1 Overview

Appendix C AccuFast Verify Routine (Optional Function)

C.1 Overview
This a robot job that was written for the user to be able to see AccuFast is
experiencing a “drift” in measurement accuracy. Daily temperature
changes can make the sensor drift up to 8 mm. The robot moves the laser
sensor toward a pre - programmed distance - the “focal length” - and
checks to see that the sensor is turning off/on at the expected distance. If
the sensor is not turning off/on at the expected distance, the routine will
stop and prompts the user to: Check that sensor lens is clean. Once the
user clears the alarm and presses start, the routine will automatically
reprogram AccuFast to compensate for the drift amount in the sensor
measurement. This will occur for a total of five times. After five
recalibrations, the next attempt to update will cause the robot to stop and
an alarm will be displayed telling the user to: “Clean sensor lens, press
START” before recalibration will continue.

The number of times that AccuFast is automatically recalibrated is able to


be changed in the SETUP section at the top of the job. Setting this value
to a higher number is not recommended.
1. Place the ACCUFAST-VERIFY-Z-R* job into a robot job. The
ACCUFAST-VERIFY-Z-R* job can be placed anywhere in the robot
programs. Ideally it would be used immediately before or after a
routine torch cleaning routine.
2. Direct open the job (using the [DIRECT OPEN] key).
3. Move the robot over a known, fixed object (i.e. the target used in the
routine in the previous section and move the sensor so that it is
roughly perpendicular to the surface).
4. Cursor to “Step 1" section of the ACCUFAST-VERIFY-Z-R* job and
program the TCH-* macro instruction in “1TCH” routine. Use of the
Auto Teach mode is recommended for this step.
5. Next, cursor to “Step 2" section and re-program the MOV step at the
same position as what was detected as Robot Position 2 in the TCH-*
macro instruction above.
6. Adjust the LD000 parameter to adjust for the allowable detection
amount that the robot will ignore. If the detected deviation is equal or
greater than the value of LD000, the sensor will be recalibrated.
7. Adjust LI000 as the Universal Output use for “Laser On/Off”
recalibration.
8. The job is now ready to be ran in PLAY mode.

C-1

166153-1CD 104/105
TOUCHSENSE AND ACCUFAST
WITH MACRO JOBS
INSTRUCTIONS

Specifications are subject to change without notice


for ongoing product modifications and improvements.

MANUAL NO.

166153-1CD 0 105/105

You might also like