Академический Документы
Профессиональный Документы
Культура Документы
Table of Contents
1-2
1. UNIVERSAL SENSOR INTERFACE
AND ADAPTIVE WELDING
1.1 OVERVIEW
The Adaptive Welding feature allows you to adjust the weld process to compensate for the
variation in the weld joint geometry. The adaptive welding feature works in conjunction with
the seam tracking feature, which adjusts the path of the TCP to compensate for variations in
joint location. Adaptive Welding uses a laser track sensor to scan the weld joint as it is being
welded. The data provided by the laser track sensor can be used by the Adaptive Welding
feature to automatically adjust weld and weave parameters to optimize the quality of the
weld.
Note the performance of the Universal Sensor Interface option is highly dependent on the
application requirements, weld process operating conditions, and weld joint design. As such,
FANUC Robotics always verifies the functionality of this feature for each specific
application. Contact your local FANUC representative for an evaluation of your welding
application prior to ordering or implementing the Universal Sensor Interface.
When you use Adaptive Welding with the Multi-Pass feature, the joint location and geometry
data obtained during the Root Pass is memorized with the Root Pass Memorization feature
(RPM) and later re-used for tracking and adaptive welding on the subsequent passes with the
Multi-Pass (MP) feature.
An Adaptive Welding system consists of the following hardware and software components:
• Laser track sensor -Models that can support Universal Sensor Interface.
• A cable RS-232C or Ethernet (Depends on laser track sensor hardware) to connect
universal sensor interface to an RS-232C- port or to the Ethernet port on the controller.
• A PC to set up the sensor, and define the joint libraries using the WinUser software.
1-3
1. UNIVERSAL SENSOR INTERFACE
AND ADAPTIVE WELDING
1-4
1. UNIVERSAL SENSOR INTERFACE
AND ADAPTIVE WELDING
Before you can use the sensor with your controller, you need to install the laser track sensor.
After you have installed the laser track sensor on your robot, you need to:
• Configure the sensor.
• Set up the joint libraries with a PC connected to the sensor controller and running PC
software.
Refer to the manual by each makers for information about how to set up the laser track
sensor.
Note Adaptive Welding supports only the joints supported by the laser track sensor. In order
to use Adaptive Welding effectively, you need to know the joint definitions and
measurements provided by the laser track sensor for each joint type. You need to configure
the laser track sensor's joint parameters on the laser track sensor controller with the PC
software.
Refer to the PC software documentation to set up the laser track sensor interface with your
PC.
1-5
1. UNIVERSAL SENSOR INTERFACE
AND ADAPTIVE WELDING
The EMGIN1 and EMGIN2 connections are located on the PCB on the door inside the on the
back of the operator panel. There will be a jumper installed from the factory that will need to
be removed for the circuit to work correctly.
Your installation should conform to safety requirements of the site, acceptable standards, and
legal requirements of appropriate governing bodies where the system is to be installed.
1-6
1. UNIVERSAL SENSOR INTERFACE
AND ADAPTIVE WELDING
The controller uses the universal sensor interface function to communicate with the laser
track sensor controller. Select and configure one of the communications ports from the
following list:
• P2: DB25 connector labeled "RS-232-C" on the controller operator panel
• P3: DB25 connector labeled "PORT B" on the back of the controller operator panel
Use Procedure 1-1 and Procedure 1-2 below to configure and verify the controller to sensor
controller communication.
1-7
1. UNIVERSAL SENSOR INTERFACE
AND ADAPTIVE WELDING
Setup Software
1. Press MENUS.
2. Select SETUP.
3. Press F1, [TYPE].
4. Select Host Comm. You will see a screen similar to the following.
SETUP Protocols
1/8
Protocol Description
1 TCP/IP TCP/IP Detailed Setup
2 TELNET Telnet Protocol
3 SM Socket Messaging Device
7. Move the cursor to each item and specify the appropriate information:
• Robot name — specify the unique name of the robot controller.
• Port # — indicates whether you are configuring interface #1 (top RJ45 labeled as
CD38A)or interface #2 (bottom RJ45 labeled as CD38B). Use the F3, Port key to change.
• Robot IP Address — specify IP address of the robot.
• Subnet Mask - This must be set. The default value is 255.255.255.0. Consult your
network administrator for guidance in setting this value.
*(This must be the same as for your Sensor)
• Board address — This is the Ethernet (MAC) address of the robot.
• Router IP address— specify IP address of the router. This can be left blank if no router is
used. The router address needs to be on the same subnet as interface #1 or interface #2.
This is where packets for any destination not on subnet for interface #1 or #2 will be sent.
Note: The board address is displayed and cannot be changed.
Note: Robot Name, Router IP address, and the Host Name/Internet Address table are shared
between Ethernet interface #1 and interface #2.
• Host Name/Internet Address - specify the unique host name and Internet address of each
host with which the controller will communicate as a client. (e.g. your Sensor Controller)
1-9
1. UNIVERSAL SENSOR INTERFACE
AND ADAPTIVE WELDING
The SENSOR ON and SENSOR OFF instructions are in the SENSOR category of the
[INST] sub-menu.
If there is a bad RX line at the robot controller, the sensor will turn on, but the program
will pause with the following error:
MIGE-017 Sensor on/off failed
Cause code:
1-10
1. UNIVERSAL SENSOR INTERFACE
AND ADAPTIVE WELDING
1.3.1 Overview
In order for Adaptive Welding to adjust the path of the robot's TCP to track the weld joint,
the location of the joint relative to the coordinates of the TCP must be calculated by Adaptive
Welding. This is why it is important to accurately define the sensor frame, which is the
physical location of the laser track sensor relative to the robot's faceplate.
This section describes how to set up the sensor frame, which must be done before you use the
laser track sensor on your controller.
Prior to setting up the sensor frame, you must have defined an accurate tool frame. If you
have not calculated a tool frame, refer to Section 1.3.4 for information on setting up a tool
frame. Refer to Section 1.3.7 to set up the sensor frame with the Ten Point Teaching Method.
If you have already calculated a tool frame and you know the X, Y, Z, W, P and R values of
the sensor frame, you can enter the coordinates for it with the direct entry method, which is
shown in Section 1.3.6.
Note: FANUC Robotics recommends that you set up your tool frame with the Six Point
method.
1-11
1. UNIVERSAL SENSOR INTERFACE
AND ADAPTIVE WELDING
1.3.6 Setting Up the Sensor Frame Using the Direct Entry Method
If you have previously calculated a sensor frame, and you have the values of the frame's x, y,
z, w, p, and r coordinates, you can use the direct entry method to enter the coordinates of
your sensor frame. Use Procedure 1-3 to directly enter your tool frame coordinates.
Note: If you are setting up the laser track sensor for the first time, use the Ten Point Method
shown in Procedure 1-5.
-
Table 1-1. SETUP Sensor Frame Direct Entry Screen Items
ITEM DESCRIPTION
Frame This item displays the sensor and is non-editable.
X, Y, Z, W, P, R Displays the X, Y, Z, W, P, R values of the sensor frame.
1-12
1. UNIVERSAL SENSOR INTERFACE
AND ADAPTIVE WELDING
Frame : Sensor
1 X: 0.000
2 Y: 0.000
3 Z: 0.000
4 W: 0.000
5 P: 0.000
6 R: 0.000
5. If the Direct Entry screen is not displayed, press F2, METHOD, and select 2, Direct Entry, as
shown in the screen below.
1 TEN Point
2 Direct Entry
6. Move the cursor to each value of the Sensor Frame, and enter the information with the teach
pendant, as shown in the following screen.
SETUP
SETUP Sensor Frame
Sensor Frame Setup/Direct Entry 2/6
Frame : Sensor
1 X: 202.321
2 Y: 1042.
3 Z: 0.000
4 W: 0.000
5 P: 0.000
6 R: 0.000
1.3.7 Setting Up the Sensor Frame Using the Ten Point Teaching Method
The Ten Point Method is the recommended method to set the camera frame. It uses a known
reference joint with ten taught points. The 1st and 2nd TCP reference points establish a
vector of known length on the reference/calibration joint. The robot moves between the 3rd
through 10th points with different xyz offsets and orientations around the TCP . At each
position the camera looks at the joint. When all of the position moves have been completed
the new camera frame and origin offsets are calculated.
The reference joint must be made in a straight line. A sharp, clean edged lap joint with no
gap is recommended. This calibration joint should not be part of the work piece. It may,
however, be incorporated as part of the fixture or robot cell as a permanent reference.
Two additional programs are called by the calibration routine, LASON.TP, shown in Figure
1-5, and SEARCH.TP, shown in Figure 1-6.
1-13
1. UNIVERSAL SENSOR INTERFACE
AND ADAPTIVE WELDING
Note: The SEARCH.TP program uses Position Register 1 as shown in line 1 and Search
Schedule 1, as shown in line 2 of Figure 1-6. You must always use PR[1] for calibration.
The joint number is part of the Sensor Schedule, and it determines which joint from the
library of the laser track sensor will be searched. You can use Procedure 1-4 to change the
joint number to be searched, or other information within a new Sensor Schedule, providing
you have set up the sensor controller.
Note: It is important that all the Search bias settings are set to ZERO in the Sensor Search
schedule for calibration.
Refer to Table 1-2 for Sensor Schedule Screen setup items.
Table 1-2. Sensor Schedule Screen Items
ITEM DESCRIPTION
Sensor Schedule: This item identifies the sensor schedule and provides an area in which to
[Comment] add a comment for the schedule.
SR Track Joint This item selects the joint to be detected for tracking from the joint
Num library of the laser track sensor.
Tracking Type This item specifies the type of tracking that will be performed:
STANDARD tracking or STATIONARY tracking. By default, tracking
type is set to STANDARD. Stationary tracking refers to tracking an
object that is being rotated by an extended axis. Currently, only
STANDARD tracking is supported.
Motion This item specifies how reactive the robot motion system will be to
Sensitivity sensor data. A low value of motion sensitivity provides a slow motion
response, large filtering buffer, and so forth.
High values for motion sensitivity might be potentially unstable, but are
very reactive to sensor data.
A value of 1 is least sensitive, 5 is most sensitive. The default value is 3.
Motion sensitivity determines the motion buffer distance and the number
of consecutive failed scans allowed before the robot stops tracking.
1-14
1. UNIVERSAL SENSOR INTERFACE
AND ADAPTIVE WELDING
Y Bias (Track) This item adds an offset to the Y value of the found joint location in the
sensor frame. This is used to obtain proper alignment of the welding
wire to the joint.
Z-Bias (Track) This item adds an offset to the Z value of the found joint location in the
sensor frame. This is used to obtain proper location of the welding wire
in the joint.
Stationary Track Stationary tracking is not currently available.
Frame
Tack Avoidance This is not currently available.
Default: FALSE
Tack Threshold This is not currently available.
Default: 0 mm
Range: 0-100 mm
Tack Length This is not currently available.
Default: 0 mm
Range: 0-500 mm
Joint End Detect This is not currently available.
Start Distance This is not currently available.
(mm)
Detect DO Index This is not currently available.
Joint End OFS This is not currently available.
(mm)
SR Search Joint This item selects the joint number from the joint library of the laser track
Num sensor for searching purposes.
Search Type Defines the type of searching. There are two kinds of search:
• Position search calculates a "real position" in space to which the
robot can move.
• Offset search provides an incremental value that is used to offset
positions in a program.
Detection Count Specifies the number of joint detections to be executed per one Sensor
Search Point instruction. The recommended detection count is 3.
Retry Count Specifies the number of retry motions that will automatically be
Range: 0-5 performed. If the value is 0, the joint will only be searched in one
location.
Retry Direction Defines the direction that the robot will move if Retry Count is greater
than zero and a search fails. The robot moves the amount indicated by
Retry Distance and in the direction indicated by Retry Direction: x, -x, y,
-y, z, -z in the sensor frame.
1-15
1. UNIVERSAL SENSOR INTERFACE
AND ADAPTIVE WELDING
Retry Distance Specifies the distance the sensor moves before the search is tried again.
Distance must be greater than 0 to have motion occur. It is
recommended that you use 3 mm for the Retry Distance.
Y-Bias (Search) Adds an offset to the Y value of the found joint location in the sensor
frame. This is used to obtain proper alignment of the welding wire to the
joint.
Z-Bias (Search) Adds an offset to the Z value of the found joint location in the sensor
frame. This is used to obtain proper location of the welding wire in the
joint.
Search Frame Defines the searching frame. There are three frames:
(Search) • UFRAME (User Frame)
• SFRAME (Sensor Frame)
• TFRAME (Tool Frame)
Dynamic Search This is not currently available.
(Search)
Search Dist This is not currently available.
(Search)
Search Spd This is not currently available.
(Search)
2. Press F3, DETAIL. You will see a screen similar to the following.
SENSOR Sch.
1/26
1-16
1. UNIVERSAL SENSOR INTERFACE
AND ADAPTIVE WELDING
Tracking Setup
2 SR Track Joint Num 1
3 Tracking Type Standard
4 Motion Sensitivity 3
5 Y-Bias (mm) 0.00
6 Z-Bias (mm) 0.00
7 Stationary Track Frame 0
8 Tack Avoidance Disable
9 Tack Threshold(mm) 2.00
10 Tack Length (mm) 40.00
11 Joint End Detect Disable
12 Start Distance (mm) 250.00
13 Detect Do Index 1
14 Joint End OFS (mm) 0
Search Setup
15 SR Search Joint Num 1
16 Search Type Position
17 Detection Count 3
18 Retry Count 0
19 Retry Direction X
20 Retry Distance (mm) 3.0
21 Y-Bias (mm) 0.00
22 Z-Bias (mm) 0.00
23 Search Frame UFRAME
24 Dynamic Search Disable
25 Search Dist (mm) 100.00
26 Search Spd (mm/sec) 250.00
1-17
1. UNIVERSAL SENSOR INTERFACE
AND ADAPTIVE WELDING
Items 2-10 contain tracking data, and items 11-18 contain search data. Refer to Section 1.4
for a description of the items on this screen.
ITEM DESCRIPTION
Sensor This item displays the X, Y, and Z components of the sensor frame.
TCP Reference Point This item allows you to teach the TCP reference points.
1 and 2
Reference Pair 1-4 This item allows you to record the reference positions for
calibration.
1-18
1. UNIVERSAL SENSOR INTERFACE
AND ADAPTIVE WELDING
2. Select SETUP.
3. Press F1, [TYPE].
4. Select Sensor Frame. You will see a screen similar to the following.
SETUP Sensor Frame
Sensor Frame Setup/Direct Entry 1/6
Frame : Sensor
1 X: 0.000
2 Y: 0.000
3 Z: 0.000
4 W: 0.000
5 P: 0.000
6 R: 0.000
1-19
1. UNIVERSAL SENSOR INTERFACE
AND ADAPTIVE WELDING
10. See Figure 1-8 for an illustration of teaching reference points for Pair 1.
11. Turn on the laser by using the laser control switch on the sensor controller. Move the cursor
to TCP reference Point 1 and press F4, MOVE_TO to move to the first reference point.
12. Change the teach pendant jogging coordinate mode to WORLD.
13. Jog the robot to place the laser scan line on the 1st reference mark. Shift the robot position in
x, y and z directions to make sure that the TCP is NOT on the joint line. The laser scan line
must be exactly on the reference mark.
14. Move the cursor to Reference Pair 1, Point 1. Press F5, RECORD to record Pair 1-Point 1.
15. Jog the robot in WORLD mode, using only the X, Y & Z jog keys, and move the laser scan
line to the 2nd reference mark. Again, make sure that the TCP is NOT on the joint line. It
should be offset by different amounts and directions compared to Pair 1-Point 1. For the
calibration to be accurate, it is important that the scan line of the laser track sensor is
positioned exactly on the reference mark.
16. Move the cursor to Pair 1 Point 2.
17. Press F5, RECORD to record Pair 1-Point 2.
18. See Figure 1-9 for an illustration of teaching reference points for Pair 2.
1-20
1. UNIVERSAL SENSOR INTERFACE
AND ADAPTIVE WELDING
19. Move the cursor to reference pair 1 point 1. Press F4, MOVE TO. This will move the robot
back to the position you recorded to Pair 1 point 1. Shift the robot position in X, Y and Z
directions, and add some rotation about the TCP.
Note: Make sure that the TCP is NOT on the calibration joint line. If Pair 1-Point 1 was
to the left, this time move it to the right. If it was high, make the new position low. The
laser scan line must cross exactly on the reference mark.
20. Move the cursor to reference pair 2, point 1. Press F5, RECORD to record Pair 2, Point 1.
21. Jog the robot in WORLD mode, using only the x, y & z jog keys, and move the laser scan
line to the 2nd reference mark.
Note: Make sure that the TCP is NOT on the calibration joint line. It should be offset by
different amounts or directions relative to Pair 2-Point 1. The scan line must cross exactly
on the reference mark.
22. Move the cursor to reference Pair 2, Point 2.
23. Press F5, RECORD to record Pair 2-Point 2.
24. See Figure 1-10 for an illustration of teaching reference points for Pair 3.
1-21
1. UNIVERSAL SENSOR INTERFACE
AND ADAPTIVE WELDING
25. Move the cursor to reference pair 1, point 1. Press F4, MOVE_TO
26. Change the teach pendant jogging coordinate mode to TOOL.
27. Rotate the robot about the TCP around the Y and Z axes by +5 to +10 degrees.
28. Change the teach pendant jogging mode back to WORLD.
29. Jog the robot using only the x, y and z jogging keys to place the laser scan line on the 1st
reference mark while including new offsets in the x, y and z directions. The laser scan line
must cross exactly on the reference mark.
30. Move the cursor to reference Pair 3, Point 1.
31. Press F5, RECORD to record Pair 3-Point 1
32. Jog the robot using ONLY the x, y & z jog keys, and move the laser scan line to the 2nd
reference mark. It should be offset by different amounts or directions compared to Pair 3-
Point 1. As before, the scan line must cross exactly on the reference mark. Record Pair 3-
Point 2.
33. Move the cursor to reference pair 3, point 2. Press F5, RECORD to record Pair 3, Point 2.
34. See Figure 1-11 for an illustration of teaching reference points for Pair 4.
35. Move the cursor to reference pair 1, point 1. Press F4, MOVE_TO
36. Change the teach pendant jogging coordinate mode to TOOL.
37. Rotate the robot about the Y and Z axes of the TCP by -5 to -10 degrees.
38. Change the teach pendant jogging mode back to WORLD.
39. Jog the robot using only the x, y and z jogging keys to place the laser scan line on the 1st
reference mark while including new offsets in the x, y and z directions. The laser scan line
must cross exactly on the reference mark.
40. Move the cursor to Reference pair 4, point 1. Press F5, RECORD to Record Pair 4-Point 1
41. Jog the robot using ONLY the x, y & z jog keys, and move the laser scan line to the 2nd
reference mark. It should be offset by different amounts or directions compared to Pair 4-
Point 1. As before, the scan line must cross exactly on the reference mark.
42. Move the cursor to Reference Pair 4, Point 2.
43. Press F5, RECORD to record Pair 4-Point 2
Note: These last eight positions must be taught within the camera's field of view and
with the laser scan line placed exactly on the reference marks. To check whether the joint
can be found for any reference, move the robot to the reference position, then select and
run the SEARCH program. When the SEARCH.TP program runs, it should be able to
find the joint location for all eight reference positions. If the SEARCH.TP program runs
1-22
1. UNIVERSAL SENSOR INTERFACE
AND ADAPTIVE WELDING
Warning
In the next step, the robot will move automatically to the points you taught.
To stop the robot immediately any time during the Calibration Routine,
release the DEADMAN switch or press the EMERGENCY STOP button.
44. To run the calibration routine, jog the robot away from the calibration joint, near and
above Reference Point 1.
a. With the teach pendant enabled, make sure the robot is not in a PAUSE state or
faulted and set the desired override speed. (Usually 50% or less.)
b. Hold the SHIFT button down and press F3, EXEC. Keep the SHIFT key held down.
c. The robot will move between the pairs of points. At each position the camera will
search for the joint. When the routine is complete, a message will be shown on the
teach pendant and the program state will show "ABORTED". The new camera frame
values will be shown at the top of the screen. Write down these values for future use.
ITEM DESCRIPTION
Use Rotator The laser track sensor does not support a sensor rotator, so this item
should be FALSE.
Track Fail DO This item defines the Digital Output that will be turned ON when
the Track Failure occurs. The Track Failure is defined as one of the
following alarms MIGE-027 Can't detect joint continuously MIGE-
034 Path points too close MIGE-036 Track calculation fault MIGE-
037 No MIG EYE data in buffer MIGE-038 Can't calculate track
offset MIGE-039 Offset is too large. A setting of zero disables this
feature. (RESET will turn this output OFF)
Search Fail DO This item defines the Digital Output that will be turned ON when a
Search error occurs. A setting of 0 disables this feature. (RESET
will turn this output OFF)
Laser Status DO This item defines the Digital Output that will be turned ON when
the Laser Status DI is ON and ready.
1-23
1. UNIVERSAL SENSOR INTERFACE
AND ADAPTIVE WELDING
ITEM DESCRIPTION
Laser Status DI This item defines the Digital Input that will be turned on when the
laser track sensor is on.
Track Cir Axis Num This item specifies any auxiliary axis used to rotate the work piece
when stationary tracking is executed. If the first axis in auxiliary
axis setup rotates the work, set this item 1. The value of this item
can be 1, 2 or 3. NOTE: Adaptive Welding currently does not
support stationary tracking
Record Pitch for RPM This item specifies the record pitch for Root Path Memorization
function (RPM). The unit of this setting is decided in the RECORD
PITCH MODE FOR RPM VARIABLE. The minimum value is
3mm or 150msec.
Record Pitch Mode This item specifies the unit of setting of RECORD PITCH FOR
RPM RPM. The mode is selected by length (mm) or time (msec) by the
function key.
Joint ID for Laser ON This item specifies the schedule number used for turning on the
laser during search. This is not currently used.
Tracking Error This item enables sensor error recovery when a sensor error occurs.
Recovery
1-24
1. UNIVERSAL SENSOR INTERFACE
AND ADAPTIVE WELDING
1.4.1 Overview
To perform seam tracking and adaptive welding using the laser track sensor, you must set up
the sensor schedules properly. This section describes the sensor data (schedules) and sensor
status information.
Tracking Setup
2 SR Track Joint Num 1
3 Tracking Type Standard
4 Motion Sensitivity 3
5 Y-Bias (mm) 0.00
6 Z-Bias (mm) 0.00
7 Stationary Track Frame 0
8 Tack Avoidance Disable
9 Tack Threshold(mm) 2.00
10 Tack Length (mm) 40.00
1-25
1. UNIVERSAL SENSOR INTERFACE
AND ADAPTIVE WELDING
ITEM DESCRIPTION
Sensor Schedule: This item identifies the sensor schedule and provides an area in
[Comment] which to add a comment for the schedule.
SR Track Joint Num This item selects the joint to be detected for tracking from the joint
library of the laser track sensor.
Tracking Type This item specifies the type of tracking that will be performed:
STANDARD tracking or STATIONARY tracking. By default,
tracking type is set to STANDARD. Stationary tracking refers to
tracking an object that is being rotated by an extended axis.
Currently, only STANDARD tracking is supported.
Motion Sensitivity This item specifies how reactive the robot motion system will be to
sensor data. A low value of motion sensitivity provides a slow
motion response, large filtering buffer, and so forth.
High values for motion sensitivity might be potentially unstable, but
are very reactive to sensor data.
A value of 1 is least sensitive, 5 is most sensitive. The default value
is 3.
Motion sensitivity determines the motion buffer distance and the
number of consecutive failed scans allowed before the robot stops
tracking.
1-26
1. UNIVERSAL SENSOR INTERFACE
AND ADAPTIVE WELDING
ITEM DESCRIPTION
Y Bias (Track) This item adds an offset to the Y value of the found joint location in
the sensor frame. This is used to obtain proper alignment of the
welding wire to the joint.
Z-Bias (Track) This item adds an offset to the Z value of the found joint location in
the sensor frame. This is used to obtain proper location of the
welding wire in the joint.
Stationary Track Stationary tracking is not currently available.
Frame
Tack Avoidance This is not currently available.
Default: FALSE
Tack Threshold This is not currently available.
1-27
1. UNIVERSAL SENSOR INTERFACE
AND ADAPTIVE WELDING
ITEM DESCRIPTION
Y-Bias (Search) Adds an offset to the Y value of the found joint location in the
sensor frame. This is used to obtain proper alignment of the welding
wire to the joint.
Z-Bias (Search) Adds an offset to the Z value of the found joint location in the
sensor frame. This is used to obtain proper location of the welding
wire in the joint.
Search Frame Defines the searching frame. There are three frames:
(Search) • UFRAME (User Frame)
• SFRAME (Sensor Frame)
• TFRAME (Tool Frame)
Dynamic Search This is not currently available.
(Search)
Search Dist (Search) This is not currently available.
Search Spd (Search) This is not currently available.
1-28
1. UNIVERSAL SENSOR INTERFACE
AND ADAPTIVE WELDING
Figure 1-14. Track Length and the Ratio Between the Front and the Rear Areas
When the front distance in the motion buffer distance is short, a track fault can be generated
easily, even if the distance of the motion buffer distance is long.
The ratio between the front and the rear distance has been predetermined for each sensitivity
level. This ratio also determines the maximum number of consecutive failed scans and the
length of the motion buffer. The appropriate system variable is set automatically according to
the Motion Sensitivity item in the sensor schedule.
When Motion Sensitivity is set to a low value, the distance of the motion buffer is long, the
ratio of front to rear area is weighted to the rear data, and the maximum number of
consecutive failed scans is higher. The low sensitivity, will use the data from many scans,
causing the system to react slower to the sensor offset information. High sensitivity uses less
rear data and does not allow as many lost scans. The reaction to joint location changes will
be much quicker.
The ratio is set using the data shown in Table 1-6 .
Motion Sensitivity 1 2 3 4 5
Front : Rear 7:18 7:13 7:8 5:5 4:4
Motion buffer distance 25 20 15 10 8
(mm)
Number of consecutive 11 9 6 4 3
failed scans
1-29
1. UNIVERSAL SENSOR INTERFACE
AND ADAPTIVE WELDING
Tracking errors provide HELP messages that indicate why a tracking failure occurred. If, for
example, the cause is lost data scans, then the motion sensitivity should be decreased, or the
detection sensitivity changed to improve joint detections.
Use Procedure 1-7 to set up a sensor schedule.
6. To display the items in the DETAIL screen , press F3, DETAIL. You will see a screen
similar to the following.
Sensor Sch.
1/18
1 Sensor Schedule: 1 [********]
Tracking Setup
2 SR Track Joint Num 1
3 Tracking Type Standard
4 Motion Sensitivity 3
5 Y-Bias (mm) 0.00
6 Z-Bias (mm) 0.00
7 Stationary Track Frame 0
8 Tack Avoidance Disable
9 Tack Threshold(mm) 2.00
1-30
1. UNIVERSAL SENSOR INTERFACE
AND ADAPTIVE WELDING
Detection Data
If a tracking error has occurred due to detection problems, it might be necessary to determine
the point in the detection log data that corresponds to the current tracking position. For
detection data at the current TCP location, you must look at approximately 50 mm of scans
from number 1 in the detection log. The exact value is given by the sensor lead distance,
which is the distance between the TCP and the laser scan.
Review the detection data and all preceding data to diagnose the problem. Also, observe the
joint and TCP to determine if the appearance of the joint is the cause of the problem.
For the example calculation, the fault occurs at or near data item 25 in the detection log.
The detection log contains 200 detections from the sensor. Table 1-7 lists and describes each
item on the detection log. Use Procedure 1-9 to display the detection log.
1-32
1. UNIVERSAL SENSOR INTERFACE
AND ADAPTIVE WELDING
Caution
There is no confirmation when you clear the detection log. After the log
has been cleared, it cannot be restored.
3. To clear the entire detection log , press SHIFT and F3, CLEAR.
4. To display HELP , move the cursor to the desired detection index, and press F5, HELP.
See the following screen for an example.
1-33
1. UNIVERSAL SENSOR INTERFACE
AND ADAPTIVE WELDING
$DTCT_CODE = 4
Insuficient good data.
STATUS Detect Log
Code X Y Z Gap
2 0T 0 14.25 19.23 -33.6 11.48
3 4T 0 44.78 -.79 139.9 0.00
4 4T 0 44.78 -.79 139.9 0.00
5 4T 0 44.78 -.79 139.9 0.00
6 4T 0 44.78 -.79 139.9 0.00
7 4T 0 44.78 -.79 139.9 0.00
When you are finished, press the PREV key to display the main detection log screen.
1.5 PROGRAMMING
Several instructions are available that allow sensor functions to be executed from within a
teach pendant program. These instructions are used with the standard Arc Tool instructions,
such as Arc Start, to create programs that search, track and weld.
This section includes information on the following topics.
• Sensor searching and tracking instructions
• Search and offset programming
• Tracking programming
1.5.1 Search
The search function is used to find a part prior to starting a weld. Using this information, the
robot can be programmed to properly align the welding wire with the weld joint prior to
starting a weld.
Two types of search output can be calculated:
• Position type
• Offset type
The OFFSET function is used to correct the wire placement from the result of the SENSOR
SEARCH function. This function can be used with an offset type search routine.
Search Instruction
Listed below are SENSOR SEARCH instructions and descriptions. A standard search routine
consists of a combination of the following instructions:
• SENSOR SEARCH START PR[i]
• SENSOR SEARCH POINT [i] or SENSOR SEARCH POINT [i] LBL [i]
• SENSOR SEARCH END
Warning
During the execution of the search routine, the laser will be operating at
high power levels. DO NOT look directly into the beam path. Direct
exposure can cause damage to your eyes.
1-34
1. UNIVERSAL SENSOR INTERFACE
AND ADAPTIVE WELDING
A search routine is also used in combination with one or more position instructions to
establish the physical location where the search will be executed.
Note If the SENSOR SEARCH fails when this information is used, the program will be
paused on the line that contains the search point instruction.
• SENSOR ON
• SENSOR OFF
• SEARCH START
• SEARCH POINT
• SEARCH END
• OFFSET START
• OFFSET END
The results of the search are stored in the search instruction position register.
1-36
1. UNIVERSAL SENSOR INTERFACE
AND ADAPTIVE WELDING
Note: In position-type compensation, the following positional data is set in the position
registers:
• Positional data (X,Y,Z): Cartesian coordinates detected by the sensor
• Orientation data (W,P,R): Orientation data at the detection position
• Config data: Config data at the detection position
The detection position is the robot position from where the search routine is executed.
Caution
Since the config data (such as turn numbers) of the detection position is
copied to the PR[], you must use linear or circular moves to the PR[].
Otherwise, if a joint move is executed, unexpected motion might result, if, for
example, turn numbers do not correspond to the shortest distance.
1-37
1. UNIVERSAL SENSOR INTERFACE
AND ADAPTIVE WELDING
Note Offset type data calculated by the search are relative to the sensor frame (translated to
WORLD Frame). Position type data calculated by the search are calculated first relative to
the sensor frame, and then translated into the WORLD frame relative to the TCP.
Example 1-2 contains an example of an offset type search.
weld path will have the same incremental z added. See Figure 1-19 . This assumes the part
plane will always be parallel to the original.
If $MIG_CALFLG=2 , the z height is calculated as a frame rotation about the first searched
path. $MIG_CALFLG=2 assumes the part plane rotates about the first weld joint. As the
second path is executed, the z height grows uniformly larger. See Figure 1-20 .
If $MIG_CALFLG=3 , the z height is calculated from the rotation about the first and second
paths. $MIG_CALFLG=3 causes the weld plane to tilt about the trained paths. See Figure 1-
21.
1-39
1. UNIVERSAL SENSOR INTERFACE
AND ADAPTIVE WELDING
Note For this kind of operation, the search type is set to POSITION in the sensor schedule.
Example 1-3. One Position Search - Position Type for Weld Start Position Example
Instruction Description
1: J P[1] 50% FINE Move to P[1]
2: SENSOR SEARCH START PR[4] Start Search Routine
3: SENSOR SEARCH POINT[2] Search joint, use Schedule [2]
4: SENSOR SEARCH END Stop search routine, calculate pos.PR[4]
5: L PR[4] 50% FINE Move to PR[4]
6: Arc Start [3]
7: Track SENSOR
SENSOR [2]
8: L P[2] 35mm/sec FINE
9: Arc End[3]
10: Track End
End
1-40
1. UNIVERSAL SENSOR INTERFACE
AND ADAPTIVE WELDING
Figure 1-22. One Position Search - Position Type for Weld Start Position
Note: The robot program ( Example 1-3 , for example) should be altered to apply an offset
PR[4] rather than moving to PR[4]. Example 1-4 shows the programming for a five-sided
part identified in Figure 1-23 In this example, P[6] - P[7], P[7] - P[8], and P[9] - P[10] can
use the offset information. It is assumed that the part moves only in the y and z directions
and does not rotate.
Example 1-4. Example Program for Offset Type Search with Y Z Output
Instruction Description
1: J P[1] 100% CNT100
2: J P[2] 100% FINE
3: SENSOR
SENSOR SEARCH START PR[3] Start search routine
4: J P[3] 40% FINE Move to first search point P[3]
5: SENSOR SEARCH POINT[1] Search joint, schedule [1]
6: SENSOR SEARCH END Stop search routine, calculate offset
7: J P[4] 100% FINE
8: SENSOR OFFSET
OFFSET START PR[3] Start point for applying offset
9: J P[5] 100% FINE ARC START [1]
10: L P[6] 20mm/sec CNT100
11: L P[7] 20mm/sec CNT100
1-41
1. UNIVERSAL SENSOR INTERFACE
AND ADAPTIVE WELDING
Note P[1], P[2], and P[4], not shown in Figure 1-23 , are the approach and search points.
Figure 1-23. Welded Part with 2-D Offset (One Search Point)
Example 1-5. Example Program for Offset Type Search with X, Y, Z, Output
Instruction Description
1: J P[1] 100% CNT100
2: J P[2] 100% FINE
3: SENSOR SEARCH START PR[3] Start search routine
4: J P[3] 40% FINE Move to first search point P[3]
5: SENSOR SEARCH POINT[1] Search joint, schedule [1]
6: J P[11] 40% FINE Move to second search point P[11]
7: SENSOR SEARCH POINT[2] Search joint, schedule[2]
8: SENSOR SEARCH END Stop search routine, calculate offset
9: J P[4] 100% FINE
10: SENSOR OFFSET START PR[3] Start point for applying offset
1-42
1. UNIVERSAL SENSOR INTERFACE
AND ADAPTIVE WELDING
Figure 1-24. Welded Part with X,Y, and Z offsets (Two Search Points)
Note: P[1], P[2], and P[3] are not shown in Figure 1-24 for clarity.
Note: For this search to calculate the xyz offset correctly, segment P[8] - P[9] and segment
P[9] - P[10] must be coplaner and perpendicular.
Note: The first and second searches can be programmed at any position. However, z will be
determined solely by the second search when $MIG_CALFLG=1 and 2. Refer to the
description of the $MIG_CALFLG system variable in Section 1.6.4 .
1-43
1. UNIVERSAL SENSOR INTERFACE
AND ADAPTIVE WELDING
• If the branch to label is executed, the current search routine is disabled as if a SEARCH
END has been executed.
Note: In the case of a failed search, the position register of the SEARCH START PR[i]
instruction will still contain its previous value.
• If a search fail digital output has been assigned, the output is turned ON. Pressing the
RESET key or issuing another SEARCH START command will cause the search fail
digital output to turn OFF.
Note: The taught point for SEARCH must use FINE termination type.
Note: Searching occurs at the same location using either position type or offset type
searches.
Note: For a position type search, the tool (torch) angles used for searching must be the
same as the angle desired for welding. Orientation of the last search position is used in
1-44
1. UNIVERSAL SENSOR INTERFACE
AND ADAPTIVE WELDING
the calculated search position. The data in the position register will be the location of the
laser line on the joint and the torch orientation at the taught point.
2. Jog the robot so that the laser scan is at the desired search location with the TCP slightly
above the joint. This will provide some clearance between the joint and the TCP to allow part
movement.
3. Press F1, POINT.
Note: To provide an alternate action for a search error, use the SENSOR SEARCH
POINT[i] LBL[j] instruction.
Note: Press the choice button if you want to use the LBL instruction.
Note: To add an additional search (such as, two position search routine), repeat Steps
1 through Step 5 . Additional points can be added between searches to avoid objects.
6. Press NEXT, >.
a. Press F1, INST.
b. Select SENSOR.
c. Select Search End .
The example shown in Figure 1-25 depicts the placement of the TCP and the sensor
during teaching. The joint position will be determined by transforming the offset
values provided by the sensor in the sensor frame into WORLD frame values.
1-45
1. UNIVERSAL SENSOR INTERFACE
AND ADAPTIVE WELDING
Figure 1-26 shows an example of using two-position type searches to find both ends
of a joint to be welded. The robot is then commanded to weld between these two
automatically taught positions (PR[1] and PR[2]).
Search Retry
Search Retry is an automatic recovery feature. In the event that a search fails, the robot will
reposition the sensor to perform another search. The number of retries is controlled by the
value of RETRY COUNT in the sensor schedule. A value of zero indicates that search retry
is disabled. When a search fails, the robot will move along a specified direction by a
specified distance. These values are set in the sensor schedule as RETRY DIRECTION and
RETRY DISTANCE. The robot motion is relative to the sensor frame.
If the number of retries is specified greater than 1 with a maximum of 5, motion will
alternate direction for successive retries.
1-46
1. UNIVERSAL SENSOR INTERFACE
AND ADAPTIVE WELDING
This process continues altering motion directions and adding to the retry distance until the
number of retries is exceeded, or searching is successful.
For example, if RETRY COUNT = 4, RETRY DISTANCE = 3, and RETRY DIRECTION =
x, the sequence shown in Table 1-9 is possible.
Note: All SEARCH RETRIES will be performed before a JMP/LBL when the SENSOR
SEARCH PR[ ] LBL[ ] instruction is executed.
1.5.5 Track
This section describes the programming for sensor TRACK function. The TRACK function
is used to follow the seam line while welding.
Track Instruction
Tracking uses the following instructions.
Track SENSOR [i] Track End
Teach the Track instructions at the tracking start point. The index i is the sensor schedule
number. Teach Track End instructions at the tracking end point.
1-47
1. UNIVERSAL SENSOR INTERFACE
AND ADAPTIVE WELDING
Example 1-7 contains an example of using tracking instructions in a teach pendant program.
Normally, fewer positions are required to weld a joint with tracking than without tracking.
Positions that are taught between Track SENSOR and Track End are used for the following
functions:
• To establish the torch angle while tracking (welding).
• To align the laser with the joint.
• Enough positions must be taught to keep the joint within the scanning range of the
laser track sensor as the joint is tracked.
1-48
1. UNIVERSAL SENSOR INTERFACE
AND ADAPTIVE WELDING
Warning
DANGER Visible Laser Radiation. Avoid direct exposure to beam. Do
NOT look directly into the beam.
Direct exposure can cause damage to your eyes.
During the execution of the above program sequence, the laser will be
operating at HIGH power levels. Do NOT look directly into the beam
path. Direct exposure can cause damage to your eyes.
1-49
1. UNIVERSAL SENSOR INTERFACE
AND ADAPTIVE WELDING
In this program, the schedule data is changed on line 7. The tracking of line 5 and 6 are
executed with schedule 2, and line 8 and 9 are executed with schedule 5. The following
schedule data can be modified by the TRACK START instruction during tracking:
• Joint number
• Motion sensitivity
• Y and Z offset
1-50
1. UNIVERSAL SENSOR INTERFACE
AND ADAPTIVE WELDING
Teach the schedule change point so the laser-scan is located at the point you require the
schedule change. The best way to do this is to mark the point where the schedule change
should occur, then single step through your program until the laser scan reaches the point.
Next, insert an instruction (with CNT100) and the TRACK SENSOR[#] instruction into the
program.
If you want to have a welding schedule change at the same location as a sensor schedule
change, you must teach two position points. Start by putting a pencil mark at the location on
the joint where you want the change. Jog the robot so that the laser line is at the marked
location. Teach a position and then a TRACK SENSOR instruction. Jog the robot so the TCP
(weld wire) is at the mark and teach a position with an arc start instruction.
1-51
1. UNIVERSAL SENSOR INTERFACE
AND ADAPTIVE WELDING
To enable the Tracking Error Recovery, enable the Original Path Resume function in weld
system setup menu, and enable TRACKING ERROR RECOVERY in Sensor system set up
screen.
Tracking Error recovery will execute when the following errors occur:
• MIGE-027 Can't detect joint continuously
• MIGE-034 Path points too close
• MIGE-036 Track calculation fault
• MIGE-037 No MIG EYE data in buffer
• MIGE-038 Can't calculate track offset
• MIGE-039 Offset is too large
In case that the Sensor Error occurs at last segment in tracking segments, the alarm MIGE-
055 does not occur.
In case that the logic instructions are taught between the Sensor Error line and the next
motion instruction, the alarm MIGE-055 occurs after the logic instructions are executed.
Figure 1-29. Example of How the Sensor Resumes from a Tracking Error
RESUME
When TRACK SENSOR[99] is followed by a regular track schedule (TRACK
SENSOR[1..10]) , tracking operates as follows:
• The sensor schedule change starts the tracking function.
• The laser power is increased and the scanning resumes.
• The offset from the TRACK SENSOR[99] instruction is used until tracking can be
established under the new tracking schedule.
• Tracking is executed using the new tracking schedule.
Figure 1-30 is a plan view of a lap joint with a cutout in the lower plate and a notch in the
upper plate.
It is assumed that the notch does not shift along the x direction of the weld path.
Example 1-11 shows the program instructions used to execute the weld path shown in Figure
1-30 . In this program, the notch around the cutout is not welded, and welding is suspended
across the cutout.
1-53
1. UNIVERSAL SENSOR INTERFACE
AND ADAPTIVE WELDING
TRACK SENSOR[99] uses bias and offset and the adaptive weld schedule from the TRACK
SENSOR[1] instruction until the TRACK SENSOR[2] instruction is executed. When P[3] is
reached, the tracking resumes with the full information of the schedule 2 data.
The bias and offset values used throughout the TRACK SENSOR[99] instruction are
maintained after P[3] until tracking is re-established. The offset and bias will begin at lead
distance of laser line to TCP after the scheduled change point, then the new bias and offset
obtained from the TRACK SENSOR[2] instruction are used.
Example 1-12 shows the program instructions used to execute the weld path shown in Figure
1-31.
1-54
1. UNIVERSAL SENSOR INTERFACE
AND ADAPTIVE WELDING
Note: P[3] through P[7] will have a sensor lateral and Z offset applied uniformly. P[3]...P[4]
might be a circular motion type.
When the Universal Sensor Interface option is installed, all data required for Multi-Pass
Adaptive Welding is contained within the teach pendant program. This data includes the
nominal weld, weave, run-in, burnback, and crater fill schedules, the offsets for each pass,
and the joint geometry parameters and process limits required for adaptive welding. This data
and the programming method described in Section 1.6.1 and Section 1.6.2 enable you to
perform Multi-Pass Adaptive Welding. This section describes how to create and modify the
data in a teach pendant program.
Process parameter names for welding equipment vary based on the welding power supply
and the weld process you have selected. These are column headers in many of the tables.
Adaptive parameters dealing with robot speed will have the units in the ArcTool Setup
screen in the Setup menu set to “Weld Speed Function - Default Unit.”
Adaptive parameters dealing with wire feed speed will have the units in the ArcTool Setup
screen in the Setup menu set to “Wire feed speed units.”
1-55
1. UNIVERSAL SENSOR INTERFACE
AND ADAPTIVE WELDING
2. Press F2, DETAIL. You will see a screen similar to the following.
Program detail
1/5
Creation Date: 2-Feb-xxxx
Modification Date: 2-Feb-xxxx
Copy Source: [ ]
Positions: TRUE Size: 2848 Byte
Press F3, NEXT. You will see a screen similar to the following.
1-56
1. UNIVERSAL SENSOR INTERFACE
AND ADAPTIVE WELDING
Program detail
1/12
Program name: WELD01
Last Pass: 0 Status: ********
Multi-pass Data:
1 Number of passes 0
2 Weld schedules <*DETAIL*>
3 Weave schedules <*DETAIL*>
4 Multi-pass offsets <*DETAIL*>
5 Run-in schedules <*DETAIL*>
6 Burnback schedules <*DETAIL*>
7 Crater fill Schedules <*DETAIL*>
Note: You must use one teach pendant program per weld. All of the passes of the weld
will use the same program, as described in Section 1.8.
When a program is first created, the number of passes is 0 by default. When you enter the
number of passes, the default schedules and offsets for each pass are created.
If you increase the number of passes in an existing program (weld), the data for additional
passes is created. Similarly, if you decrease the number of passes, the data for those passes is
deleted. Note that the size of the teach pendant program increases by 224 bytes for each
additional pass.
4. To view and edit the data, move the cursor to the item and press ENTER.
5. To view the weld schedules,
a. Move the cursor to Weld schedules and press ENTER. You will see a screen similar
to the following.
In the screens shown below, one line of data corresponds to each pass. Note that the
actual parameters (such as trim or volts) depend on the equipment that is currently
selected.
Program detail
Weld schedules 1/6
Pass Trim IPM IPM
1 85.0 300.0 40
2 85.0 300.0 35
3 85.0 300.0 35
4 85.0 300.0 35
5 85.0 300.0 35
6 85.0 300.0 35
b. Press F4, EXIT, or PREV to return to the Multi-pass Data List.
6. To view the weave schedules,
a. Move the cursor to Weave schedules and press ENTER. You will see a screen similar
to the following.
1-57
1. UNIVERSAL SENSOR INTERFACE
AND ADAPTIVE WELDING
Program detail
Weave schedules 1/6
Pass FRE(Hz) AMP(mm) R_DW(sec) L_DW(sec)
1 5.0 2.0 .100 .100
2 1.0 4.0 .100 .100
3 1.0 4.0 .100 .100
4 1.0 4.0 .100 .100
5 1.0 4.0 .100 .100
6 1.0 4.0 .100 .100
In addition to the x, y, and z offsets, you can specify offsets to work and travel angles. These
offsets are with respect to the tracking pass. These offsets will be applied when the multi-
pass offset instruction is used in the teach pendant program, as described in Section 1.6.2.
Refer to Multi Pass documentation for the definition of the offsets.
Usually pass 1 is the tracking pass. Therefore, the offsets specified for pass 1 are never used.
However, if offsets are needed for the first pass, specify the y and z-bias values in the track
schedule.
8. To view the run-in schedules, move the cursor to Run-in schedules and press ENTER. Each
pass can have different run-in schedules as specified in the following screen. Refer to Arc
Tool manual for more information on run-in.
Program detail
Run-in schedules 1/6
Pass Trim IPM Sec
1 85.0 300.0 0.00
2 85.0 300.0 0.00
3 85.0 300.0 0.00
4 85.0 300.0 0.00
5 85.0 300.0 0.00
6 85.0 300.0 0.00
1-58
1. UNIVERSAL SENSOR INTERFACE
AND ADAPTIVE WELDING
Pass Number: 1
1 Program select: 1 [ ]
2 Command Trim 85.00 Trim
3 Command Wire feed 300.00 IPM
4 Travel speed 40 IPM
5 Delay Time 0.00 sec
12. To display the schedule DETAIL for another pass , press F2, PASS, and enter the pass
number. The data for the new pass will be displayed.
1-59
1. UNIVERSAL SENSOR INTERFACE
AND ADAPTIVE WELDING
13. To view the schedule LISTING screen, press F4, EXIT, and the schedules for all of the
passes will be displayed.
14. To copy the data for the current pass to another pass , press NEXT, >, and then press F2,
COPY. The current pass is the one to which the cursor is pointing.
15. To restore the default schedule for the current pass , press NEXT, >, and then press F3,
CLEAR. The default schedule depends on the equipment selected.
16. To change the display between different screens , press F1, [TYPE], and select the screen
from the [TYPE] menu. See the following screen for an example.
1 Weld
2 Weave
3 Offsets
4 Run-in
5 Burnback
6 Crater fill
Example
The example in Figure 1-32 shows how to select a derived variable from the joint definition.
The V-groove joint has six break points (B0 to B5) as defined in Figure 1-32.
1-60
1. UNIVERSAL SENSOR INTERFACE
AND ADAPTIVE WELDING
The sensor provides the break point data in addition to gap, area, and mismatch. In most
cases, the direct variables -- gap, area, and mismatch -- are sufficient to perform adaptive
welding. However, in addition to the direct variables, you can define and use derived
variables, S1 to S5, for adaptive welding. The three possible alternatives for S1 to S5 are as
follows:
• Distance between any two break points (B1-B2*, for example)
• Y-distance between any two break points (B1-B2y, for example)
• Z-distance between any two break points (B1-B2z, for example)
Procedure
Use Procedure 1-11 to set up the joint data and limits.
Process parameter names for welding equipment vary based on the welding power supply
and the weld process you have selected. These are column headers in many of the tables.
Adaptive parameters dealing with robot speed will have the units in the Arc Tool Setup
screen in the Setup menu set to "Weld Speed Function - Default Unit."
Adaptive parameters dealing with wire feed speed will have the units in the Arc Tool Setup
screen in the Setup menu set to Wire feed speed units."
1-61
1. UNIVERSAL SENSOR INTERFACE
AND ADAPTIVE WELDING
Program detail
Adapt data 1/5
Program name: WELD01
Note: This screen allows you to set the nominal, low, and high values for the joint
geometry data. You can also configure the derived variables S1-S5 and set the
nominal, low, and high values for these as well. You can also choose to post an error
or warning if the joint geometry (as seen by the sensor) is outside of the high/low
limits set.
Program detail
Joint data & limits 1/8
Variable Nominal Low High Error
(mm) (mm) (mm)
1 Gap 0.0 0.0 0.0 NONE
2 Mismatch 0.0 0.0 0.0 NONE
3 Area(mm^2) 0.0 0.0 0.0 NONE
4 S1: **- *** 0.0 0.0 0.0 NONE
5 S2: **- *** 0.0 0.0 0.0 NONE
6 S3: **- *** 0.0 0.0 0.0 NONE
7 S4: **- *** 0.0 0.0 0.0 NONE
8 S5: **- *** 0.0 0.0 0.0 NONE
b. Set the nominal, low, and high values for the joint parameters.
These values are to be used by the adaptive algorithm for changing weld and weave
parameters. Some of the parameters listed in the above screen might not be
meaningful for the joint type selected. For example, there is no area value for a lap
joint.
Refer to the each laser track sensor manual to determine the joint data available for
each joint type supported, and use only the available data.
c. To set the derived variables S1 - S5, move the cursor to the corresponding line and
select the first and second break points.
Press F4, CHOICE, to select a breakpoint from the sub-window.
Make sure that the break points selected are available for the joint type.
1-62
1. UNIVERSAL SENSOR INTERFACE
AND ADAPTIVE WELDING
Note: The data set in this screen can be used in the adaptive algorithm, for example, to
make sure that the process changes calculated are acceptable. The global and pass-
specific constants can be used to tune the adaptive welding algorithm without having to
change the KAREL program itself.
a. Move the cursor to Proc limits & constants and press ENTER. You will see a screen
similar to the following.
1-63
1. UNIVERSAL SENSOR INTERFACE
AND ADAPTIVE WELDING
b. Set the lower and upper limits for weld and weave parameters.
These limits are used in the adaptive algorithm file.
In addition to process data, you can use a total of six constants in the adaptive
algorithm. Constants C1, C2, and C3 are global and have the same value for all
passes.
Constants CP1, CP2, and CP3 are pass-specific and can have different values for each
pass. The actual values can be entered in the next screen.
c. If desired, modify the names for the Global and Pass Specific Constants.
d. When you are finished setting data, press F4, EXIT, or PREV to display the Adapt
data screen.
7. Set the pass specific data:
a. Move the cursor to Pass specific data and press ENTER. You will see a screen similar
to the following.
1-64
1. UNIVERSAL SENSOR INTERFACE
AND ADAPTIVE WELDING
b. Set the pass specific constants CP1, CP2, & CP3. These values can be used in the
adaptive algorithm to tune the algorithm differently for each pass. You can also
ENABLE or DISABLE adaptive welding and weaving from this screen.
If you ENABLE Adaptive WELD for a particular pass, on that pass, changes to the
weld parameters such as voltage, wire feed, and travel speed will be applied as
calculated by the adaptive algorithm.
Similarly, if Adaptive WEAVE is enabled, changes to the weave parameters such as
amplitude and frequency will be applied as determined by the adaptive algorithm.
c. When you are finished setting data, press F4, EXIT, to display the Adapt data screen.
8. Set the algorithm .PC file:
The .PC file is a KAREL program that runs the adaptive algorithm. Refer to Section 1.8 for a
complete description of the adaptive algorithm. You must have a valid KAREL program
(.PC file) loaded on the controller before performing adaptive welding.
The sensor data obtained during tracking is input to the KAREL program, which calculates
the changes required to process parameters based on the sensor data and adaptive data in the
program. The output of the KAREL program is applied to the welder and the robot to change
weld and weave parameters.
a. Move the cursor to select one of the ____ALGO.PC algorithm files and press
ENTER.
b. Move the cursor to select a KAREL program you have written and have previously
loaded.
The root pass memorization (RPM) feature described in Section 1.7.1 records the joint
geometry data such as the gap and cross-sectional area in addition to recording positional
offset data provided by the sensor. The RPM feature is used in conjunction with the multi-
pass (MP) feature. The MP feature described in Section 1.7.2 uses the weld and weave
schedules and multi-pass offsets set in the program header instead of using the global
schedules and position registers. The multi-pass feature also performs adaptive welding using
the joint geometry data stored in the RPM buffer.
In this section, the differences in RPM and MP and the required teach pendant programming
method are explained in detail. For a description of the basic functionality of RPM and MP,
refer to Arc Tool manual.
1-65
1. UNIVERSAL SENSOR INTERFACE
AND ADAPTIVE WELDING
Note: Adding and using additional RPM buffers will reduce PERM (CMOS) memory. Make
sure that adequate memory is available.
1-66
1. UNIVERSAL SENSOR INTERFACE
AND ADAPTIVE WELDING
1-67
1. UNIVERSAL SENSOR INTERFACE
AND ADAPTIVE WELDING
Teaching Multi-Pass
Multi-pass consists of two programming instructions:
• MP OFFSET PR[...] RPM[...]
• MP OFFSET END
To teach the instructions in a program, press [INST] and select Track/Offset to see the MP
instructions.
1-68
1. UNIVERSAL SENSOR INTERFACE
AND ADAPTIVE WELDING
1.7.3 Programming
In order to perform multi-pass adaptive welding using the enhanced MP and RPM
instructions and the data in the program header instead of the global schedules, you must
adhere to the programming method described in this section. This programming method is
intended to reduce the maintenance burden on the programmer and to improve the ease of
programming.
In complex parts that require multiple large welds on different joint types, it is required to
switch from weld to weld between passes. This allows for cooling of welds between passes,
minimizes thermal distortion, and increases overall productivity.
For multi-pass welding, you must use one teach pendant program per weld. The nominal
weld and weave schedules and multi-pass offsets for all passes of the weld must be input in
the program header. Refer to Procedure 1-10 .
You must create a top-level program that CALLs the weld program to weld a pass. The
calling program must specify as parameters the pass number to be welded and the direction
of the pass. For example, see the complex part shown in Figure 1-34 .
For the purpose of explanation, assume that there are three joints, a fillet, a V-groove, and a
lap joint to be welded on the part at the locations shown, all of which require multi-pass
welding. Before programming, you must determine the number of passes for each of these
welds and the sequence in which you want to weld these joints. Then create a part program
as shown in Figure 1-33 .
1-69
1. UNIVERSAL SENSOR INTERFACE
AND ADAPTIVE WELDING
In this example, the part program CALLs the weld teach pendant program WELD01.TP and
passes two parameters, the pass number and direction. You can change the sequence by
editing the teach pendant program. The pass number must be within the number of passes
defined for the corresponding weld, as set in the WELD.TP program header. The direction
can be either 0 or 1, 0 meaning normal direction and 1 meaning the reverse direction. The
root pass must always be in the normal direction and the subsequent passes can be either in
the normal or reverse directions.
An example of the WELD.TP program is shown in Example 1-13 . All of the teach pendant
instructions and positional data, as well as the process data, for performing all of the passes
are contained within this teach pendant program.
Note R[1] is the pass number. R[2] is the direction. If R[2] = 0, direction is forward. If R[2]
= 1, direction is backward.
the program header. Weave Sine [99] uses the weave schedule data defined in the program
header. Note the END instruction on line 18, which takes the program flow out of
WELD01.TP and back to PART.TP.
For all other passes, when the PART.TP program calls the WELD01.TP program, if the pass
is in the normal direction, program flow jumps to LBL[2] on line 20 and returns back to
PART.TP line 28. If the pass direction is reverse, lines 31 to 40 get executed. The MP
OFFSET PR[99] RPM[...] instruction is used in all non-root passes to get the offsets from the
program header, replay the offset data in the RPM buffer to tracking, and use the geometry
data for adaptive welding. When position registers are used to store the Arc Start position as
in this example, you will have to use the LOCK and UNLOCK PREG instructions.
This section explains how adaptive welding is accomplished during the root pass and
subsequent passes in multi-pass welding using a Karel program. You must set up all the data
required for multi-pass adaptive welding as explained in Section 1.5 . The actual adaptive
algorithm is implemented in a KAREL program as explained in this section and must be
translated into a .PC file and loaded on the controller. This .PC file must be selected as the
adaptive algorithm in the WELD.TP program.
During the root pass, the joint geometry data obtained from the laser track sensor is input to
the Karel program which must determine the new weld and weave parameters and write them
to appropriate system variables. The adaptive software on the controller reads the system
variables and applies the changes to the weld power supply and robot motion to adapt the
weld and weave parameters respectively. In case of multi-pass welding, during the root pass,
the geometry data is stored in the specified RPM buffer. During subsequent passes the data
from the RPM buffer is input to the KAREL program, which again determines the required
changes to weld and weave schedules.
The input to and output from the KAREL program is handled via system variables as shown
in the following diagram.
1-72
1. UNIVERSAL SENSOR INTERFACE
AND ADAPTIVE WELDING
The KAREL program adtask is always running on the controller. As shown in the above
diagram, when $SRAD_IN.$RDY_FLAG is true , the Karel task calls the adaptive
algorithm program selected in the program header. The name of the algorithm file is copied
to $AD_WELD.$ALGO_NAME when the PART.TP program calls the WELD.TP
program. In addition, all the data in the program header is copied to the following system
variables. These variables can accessed and used by the adaptive algorithm. Table 1-11 lists
and describes the Adaptive Welding System variables.
Table 1-11. Multi-Pass System Variables
1-73
1. UNIVERSAL SENSOR INTERFACE
AND ADAPTIVE WELDING
The system variables described in Table 1-11 can be used in the adaptive algorithm in
conjunction with the sensor data obtained from $SRAD_IN to calculate the new weld and
weave parameters.
In Example 1-14 , a template algorithm called buttalgo.kl , for butt joint is shown. The
program provides a simple example of an adaptive algorithm. The buttalgo.kl program will
copy the listed system variables to several local variables at the beginning. In the adaptive
algorithm section of the program , the program uses only gap among the sensor data and
adapts only travel speed among the weld parameters and adapts all the weave parameters -
amplitude, frequency, right dwell and left dwell. Notice that different pass specific constants
(cp1 and cp2) are used in different ranges of the gap variable for adapting weave amplitude.
The robot speed is changed linearly with the gap, assuming the nominal speed corresponds to
the nominal gap. The weave frequency is changes as the speed changes. The dwell times are
changed with the speed as well. At the bottom of the program the weld and weave parameters
calculated are set in the system variable $SRAD_OUT.
The KAREL program shown in Example 1-14 serves only as an example and you should
develop and use an adaptive algorithm that is suitable to your process. The program should
follow the structure shown in the example and must be error free for successful adaptive
welding.
1-74
1. UNIVERSAL SENSOR INTERFACE
AND ADAPTIVE WELDING
cp1 = $AD_PASS.$CP1
cp2 = $AD_PASS.$CP2
cp3 = $AD_PASS.$CP2
-- read sensor input from $SRAD_IN
gap = $SRAD_IN.$GAP
-- set the other variables
-- adaptive algorithm
IF ( gap < min_gap ) THEN
ampl = min_ampl -- set wv amplitude to minimum
freq = max_freq -- set wv frequency to maximum
speed = max_speed -- set weld speed to maximum
ENDIF
IF ((gap >= min_gap) AND (gap < nom_gap)) THEN
-- set the weave amplitude to half the gap
-- minus a constant to not hit the walls
-- Note: The constant for amplitude change can be different for
each pass
ampl = (gap/2) - cp1
-- increase the speed proportional to the gap
speed = nom_speed * (1 + (nom_gap - gap) * c1)
-- Change frequency proportional speed
freq = nom_freq * speed / nom_speed
ENDIF
IF ((gap >= nom_gap) AND (gap < max_gap)) THEN
-- set the weave amplitude to a half the gap
-- minus a constant to not hit the walls
-- Note: The constant for amplitude change can be different for
each pass
ampl = (gap/2) - cp2
-- decrease the speed proportional to the gap
speed = nom_speed * (1 - (gap - nom_gap) * c2);
-- Change frequency proportional speed
freq = nom_freq * speed / nom_speed
ENDIF
IF (gap >= max_gap) THEN
ampl = max_ampl -- set wv amplitude to maximum
freq = min_freq -- set wv frequency to minimum
speed = min_speed -- set weld speed to minimum
ENDIF
-- Check and enforece the limits
IF (speed > max_speed) THEN speed = max_speed; ENDIF
IF (speed < min_speed) THEN speed = min_speed; ENDIF
IF (ampl > max_ampl) THEN ampl = max_ampl; ENDIF
IF (ampl < min_ampl) THEN ampl = min_ampl; ENDIF
1-77
1. UNIVERSAL SENSOR INTERFACE
AND ADAPTIVE WELDING
1.9.1 Setup
The following setup is necessary for using the application instruction. Set the first register's
number to be used in register 32 (R[32]). Seven consecutive registers starting from the
number in register 32 are used. Data should be set for each application in these registers.
• Content of register
If register 32 has a value of N, the following registers (R[N] ... R[N+6]) have special
meaning for Sensor applications.
R[N] = 1 - Application enabled. R[N] = 0 - Application disabled.
R[N+1] = 1 -Enables a test message display on the user screen that describes how each
register R[N] to R[N+6] are being used. R[N+1] = 0 - Disable the display.
R[N+2] - This register contains the index of position register for the calculated data. An
example of this would be if R[N+2] = M , then:
PR[M] Holds calculated data for the offsets. PR[M+1] Holds searched data. PR[M+2]
- Holds searched data PR[M+3] - Holds searched data PR[M+4] - Holds searched data
* The number of the position registers PR[M+1]... used for each application is different.
Note: The position registers PR[M+1]... are used in the search start instructions in your
teach pendant program.
R[N+3] - Holds abnormal output of application program. If it is equal to 1, it indicates a
normal output was produced by the application. If it is equal to 0, it indicates an
abnormal output was produced by the application
R [N+4] - This register is used differently for each application.
R[N+5] - This register is used differently for each application.
R[N+6] - This register is used differently for each application.
1.9.2 MIG_CRS
In MIG_CRS instruction, five position registers are used, including the position register to
output calculated data. This application calculates the intersection of two straight lines and
then saves the calculated position in a position register. Two points on each straight line will
be searched and recorded in the position register. See Figure 1-37 .
1-78
1. UNIVERSAL SENSOR INTERFACE
AND ADAPTIVE WELDING
1-79
1. UNIVERSAL SENSOR INTERFACE
AND ADAPTIVE WELDING
18: R[32] = 11
19: R[11] = 1
20: R[12] = 0
21: R[13] = 1
22: R[14] = 0
23: R[15] = 1
24: CALL MIG_CRS
25: IF R[14] = 0 JUMP LBL[99]
26: J PR[1] 100% Fine
27: LBL[99]
1.9.3 MIG_CRS2
In MIG_CRS2 instruction, four position registers are used, including the position register to
output calculated data. This application calculates the projection of a point on a straight line.
The first searches made by this application will determine the coordinates of a straight line
and based on that, MIG_CRS2 will project a third search point on the straight line, and
calculate the coordinates of that point. See Figure 1-38.
1-80
1. UNIVERSAL SENSOR INTERFACE
AND ADAPTIVE WELDING
1.9.4 MIG_VECTOR
In MIG_VECTOR instruction, three position registers are used, including the position
register to output calculated data. This instruction calculates a point at a specified distance
along a searched direction. The first two search points give the direction, and R[n+4 ] gives
the distance from the first search point along the direction of the search. See Figure 1-39.
• Set the registers and the position registers according to Section 1.9.1
R[N+4] = 50 : The distance from the first searched point to the calculated point. (unit :
mm)
Refer to Example 1-17 .
1.9.5 MIG_CIRCLE
In MIG_CIRCLE instruction, five position registers are used, including the position register
to output calculated data. This instruction calculates the center of the circle with three of four
searched points on the circle arc. See Figure 1-40.
1-82
1. UNIVERSAL SENSOR INTERFACE
AND ADAPTIVE WELDING
1-83
1. UNIVERSAL SENSOR INTERFACE
AND ADAPTIVE WELDING
1.9.6 MIG_FRAME
In MIG_FRAME instruction, five or six position registers are used, including the position
register to output calculated data. This application calculates a coordinate frame from three
or four search points. See Figure 1-41 .
copied to User Frame two, and in line 29 the default Uframe is set to User Frame two.
When the move to P[6] is executed, the position will be shifted by the difference between the
nominal frame and the current frame so that the TCP is correctly positioned on the current
part.
1-85
1. UNIVERSAL SENSOR INTERFACE
AND ADAPTIVE WELDING
In the sample program shown in Example 1-20 , calculated positions A and B are indicated in
lines 38 and 39.
1-86
1. UNIVERSAL SENSOR INTERFACE
AND ADAPTIVE WELDING
In the sample program shown in Example 1-21 through Figure 1-43, points A to E are
specified on lines 31 to 35.
8: SENSOR SEARCH
SEARCH START PR[3]
9: SENSOR SEARCH POINT [2] LBL[99]
10: SENSOR SEARCH END
11: J P[4] 100% FINE
12: SENSOR SEARCH START PR[4]
13: SENSOR SEARCH POINT [3] LBL[99]
14: SENSOR SEARCH END
15: J P[5] 100% FINE
16: SENSOR SEARCH START PR[5]
17: SENSOR
SENSOR SEARCH POINT [4] LBL[99]
18: SENSOR SEARCH END
19: R[32] = 11
20: R[11] = 1
21: R[12] = 0
22: R[13] = 1
23: R[14] = 0
24: R[15] = 2
25: R[16] = 30
26: R[17] = 0
27: CALL MIG_FRAME
28: IF R[14] = 0 JUMP LBL[99]
29: UFRAME[2] = PR[1]
30: UFRAME_NUM = 2
31: L P[6:A] 10mm/sec FINE
32: L P[7:B] 10mm/sec FINE
33: L P[8:C] 10mm/sec FINE
34: L P[9:D] 10mm/sec FINE
35: L P[10:E] 10mm/sec FINE
36: UFRAME_NUM = 1
37: J P[11] 100% FINE
38: J P[12] 100% FINE
39: LBL[99]
[End]
1-88
1. UNIVERSAL SENSOR INTERFACE
AND ADAPTIVE WELDING
10:
11: Track SENSOR[3]
SENSOR[3] RPM[3]
12: L PR[3] 20mm/sec FINE
: Arc Start[99]
13: Weave Sine[99]
14: L P[4] WELD_SPEED FINE
: Arc End[99]
15: Weave End
16: Track End
17: J P[5] 10% FINE
18: END
19:
20: LBL[2:OTHER PASSES]
21: MP Offset PR[99] RPM[3]
22: J PR[3] 10% FINE
: Arc Start[99]
23: Weave Sine[99]
24: L P[4] WELD_SPEED FINE
: Arc End[99]
25: Weave End
26: MP Offset End
27: J P[5] 10% FINE
28: END
29:
30:
31: LBL[3:REVERSE PASSES]
32: LOCK PREG
33:J P[5] 10% FINE
34: MP Offset
Offset PR[99] RPM[3]
35:L P[4] 200mm/sec FINE
: Arc Start[99]
36: Weave Sine[99]
37:L PR[3] WELD_SPEED FINE
: Arc End[99]
38: MP Offset End
39:J P[1] 10% FINE
40: UNLOCK PREG
[END]
1-89
1. UNIVERSAL SENSOR INTERFACE
AND ADAPTIVE WELDING
1-90