Oh no! Where's the JavaScript?
Your Web browser does not have JavaScript enabled or does not support JavaScript. Please enable JavaScript on your Web browser to properly view this Web site, or upgrade to a Web browser that does support JavaScript.
Articles

FANUC Arc Welding Robot - Sample Program & Setup Guide

Note: Menu paths may vary slightly between controller versions. Always refer to your specific FANUC Arc Tool Operator's Manual.


Sample TP (Teach Pendant) Program

fanuc
/PROG ARCWELD1
/ATTR
OWNER = MNEDITOR;
COMMENT = "ARC WELDING SAMPLE";
PROG_SIZE = 1024;
CREATE = DATE 25-11-29 TIME 12:00:00;
MODIFIED = DATE 25-11-29 TIME 12:00:00;
FILE_NAME = ARCWELD1;
VERSION = 0;
LINE_COUNT = 25;
MEMORY_SIZE = 1536;
PROTECT = READ_WRITE;
TCD: STACK_SIZE = 0,
 TASK_PRIORITY = 50,
 TIME_SLICE = 0,
 BUSY_LAMP_OFF = 0,
 ABORT_REQUEST = 0,
 PAUSE_REQUEST = 0;
DEFAULT_GROUP = 1,*,*,*,*;
CONTROL_CODE = 00000000 00000000;
/APPL
/MN
 1: !-------------------------------- ;
 2: !ARC WELDING SAMPLE PROGRAM ;
 3: !-------------------------------- ;
 4: UFRAME_NUM=1 ;
 5: UTOOL_NUM=1 ;
 6: !Move to Home Position ;
 7:J P[1] 100% FINE ;
 8: !Approach Weld Start ;
 9:J P[2] 50% CNT100 ;
 10:L P[3] 500mm/sec FINE ;
 11: !Start Arc - Schedule 1 ;
 12: ARC START[1] ;
 13: WAIT .10(sec) ;
 14: !Weld Linear Seam ;
 15:L P[4] 500mm/sec CNT0 ARC[1] ;
 16:L P[5] 500mm/sec FINE ARC[1] ;
 17: !Crater Fill ;
 18: WAIT .20(sec) ;
 19: !Arc End ;
 20: ARC END[1] ;
 21: !Retract from Workpiece ;
 22:L P[6] 500mm/sec CNT100 ;
 23: !Return Home ;
 24:J P[1] 100% FINE ;
 25: !End of Program ;
/POS
P[1]{
 GP1:
 UF : 1, UT : 1, CONFIG : 'N U T, 0, 0, 0',
 X = 0.000 mm, Y = 0.000 mm, Z = 800.000 mm,
 W = 0.000 deg, P = 90.000 deg, R = 0.000 deg
};
P[2]{
 GP1:
 UF : 1, UT : 1, CONFIG : 'N U T, 0, 0, 0',
 X = 500.000 mm, Y = 200.000 mm, Z = 600.000 mm,
 W = 0.000 deg, P = 90.000 deg, R = 0.000 deg
};
P[3]{
 GP1:
 UF : 1, UT : 1, CONFIG : 'N U T, 0, 0, 0',
 X = 500.000 mm, Y = 200.000 mm, Z = 450.000 mm,
 W = 0.000 deg, P = 90.000 deg, R = 0.000 deg
};
P[4]{
 GP1:
 UF : 1, UT : 1, CONFIG : 'N U T, 0, 0, 0',
 X = 500.000 mm, Y = 400.000 mm, Z = 450.000 mm,
 W = 0.000 deg, P = 90.000 deg, R = 0.000 deg
};
P[5]{
 GP1:
 UF : 1, UT : 1, CONFIG : 'N U T, 0, 0, 0',
 X = 500.000 mm, Y = 600.000 mm, Z = 450.000 mm,
 W = 0.000 deg, P = 90.000 deg, R = 0.000 deg
};
P[6]{
 GP1:
 UF : 1, UT : 1, CONFIG : 'N U T, 0, 0, 0',
 X = 500.000 mm, Y = 600.000 mm, Z = 600.000 mm,
 W = 0.000 deg, P = 90.000 deg, R = 0.000 deg
};
/END

Complete Setup Instructions

1. Arc Welding Software Installation

A. Check Software Options

  1. Press MENU → STATUS → Version ID
  2. Verify you have:
    • Arc Tool (J602)
    • Touch Sensing (J606) - Optional
    • Seam Tracking (J607) - Optional

B. Load Arc Welding Configuration

 
 
MENU → SETUP → Host Comm → File → Load
Select: ARC_CONFIG.SV

2. User Frame Setup (Workpiece Coordinate)

Method 1: Three-Point Method

  1. Press: MENU → SETUP → Frames
  2. Select: User Frame #1
  3. Press: DETAIL → Three Point
  4. Teach points:
    • Origin: Touch workpiece origin point
    • X-axis: Point along X direction
    • Y-axis: Point defining XY plane
  5. Press: RECORD

Method 2: Direct Entry

  1. Navigate: SETUP → Frames → User Frame #1
  2. Enter values directly:
 
 
 X: 1000.000 mm
 Y: 500.000 mm
 Z: 0.000 mm
 W: 0.000 deg
 P: 0.000 deg
 R: 0.000 deg

3. Tool Frame Setup (Torch TCP)

Method 1: Six-Point Method (Recommended)

  1. Press: MENU → SETUP → Frames
  2. Select: UTOOL (Tool Frame) #1
  3. Press: DETAIL → Six Point
  4. Touch reference point from 6 different orientations
  5. Controller calculates TCP automatically
  6. Press: RECORD

Method 2: Direct Entry

  1. Navigate: SETUP → Frames → Tool Frame #1
  2. Enter torch tip offset:
 
 
 X: 0.000 mm
 Y: 0.000 mm
 Z: 250.000 mm (torch length)
 W: 0.000 deg
 P: 0.000 deg
 R: 0.000 deg

4. Arc Welding Schedule Setup

Creating Arc Schedule #1

  1. Press: MENU → SETUP → Arc Weld → Schedule
  2. Select: Schedule #1
  3. Configure parameters:
 
 
SCHEDULE #1 - MILD STEEL 1/4"
====================================
ARC START:
 Current: 180 A
 Voltage: 22 V
 Wire Speed: 6.0 m/min
 Start Time: 0.0 sec
 
ARC WELDING:
 Current: 200 A
 Voltage: 24 V
 Wire Speed: 7.0 m/min
 Travel Speed: 500 mm/min
 
ARC END:
 Current: 180 A
 Voltage: 22 V
 Crater Time: 0.2 sec
 Burn-back: 0.05 sec
 
TIMING:
 Pre-gas: 0.5 sec
 Post-gas: 0.5 sec
 Arc-on delay: 0.1 sec
 
WIRE FEED:
 Start feed: 0.2 sec before arc
 Stop feed: With arc off

Creating Multiple Schedules

  • Schedule #2: Stainless Steel
  • Schedule #3: Aluminum
  • Schedule #4: Heavy plate

5. Digital I/O Configuration

Standard Welding I/O Assignment

Navigate: MENU → I/O → Digital → Config

 
 
OUTPUT SIGNALS:
DO[1] - Gas Solenoid Valve
DO[2] - Arc Start
DO[3] - Wire Feed Motor
DO[4] - Wire Inching (Jog)
DO[5] - Torch Collision Reset
DO[10] - Schedule Select Bit 0
DO[11] - Schedule Select Bit 1
DO[12] - Schedule Select Bit 2

INPUT SIGNALS:
DI[1] - Welding Power Ready
DI[2] - Wire Feeder Ready
DI[3] - Gas Pressure OK
DI[4] - Torch Collision Detected
DI[5] - Emergency Stop (Welder)
DI[6] - Arc Established
DI[7] - Over Temperature

Group I/O for Schedules

Navigate: MENU → I/O → Digital → Group I/O

 
 
GI[1] - Schedule Number (Binary)
 Connected to: DO[10], DO[11], DO[12]
 
Example:
 Schedule 1 = 001 (DO10=ON)
 Schedule 2 = 010 (DO11=ON)
 Schedule 3 = 011 (DO10=ON, DO11=ON)

6. Analog I/O Setup (If Applicable)

For Analog Control of Welding Parameters

Navigate: MENU → I/O → Analog → Config

 
 
ANALOG OUTPUT:
AO[1] - Welding Current (0-10V = 0-400A)
AO[2] - Wire Speed (0-10V = 0-20 m/min)
AO[3] - Voltage Trim (+/- 2V)

ANALOG INPUT:
AI[1] - Actual Current Feedback
AI[2] - Actual Voltage Feedback
AI[3] - Wire Speed Feedback

7. Touch Sensing Setup

Enable Touch Sensing Feature

Navigate: MENU → SETUP → Arc Weld → Touch Sensing

 
 
PARAMETERS:
 Sensing Current: 20 A
 Sensing Voltage: 12 V
 Retract Distance: 3.0 mm
 Search Speed: 20 mm/sec
 Timeout: 5.0 sec
 
OFFSET:
 X: 0.0 mm
 Y: 0.0 mm
 Z: -5.0 mm (stick-out compensation)

Touch Sensing Program Example

 
 
fanuc
1: !Touch Sense Start Point ;
2: Touch Sense[1:START] ;
3: PR[1]=LPOS ;
4: !Touch Sense End Point ;
5: Touch Sense[1:END] ;
6: PR[2]=LPOS ;
7: !Calculate Weld Path ;
8: CALL CALC_PATH ;

8. Weaving Setup

Configure Weave Pattern

Navigate: MENU → SETUP → Arc Weld → Weaving

 
 
WEAVE PATTERN #1 - TRIANGLE
====================================
Type: Triangle
Frequency: 2.0 Hz
Width: 10.0 mm
Left Dwell: 0.1 sec
Right Dwell: 0.1 sec
Center Dwell: 0.0 sec
Peak Amplitude: 100%

WEAVE PATTERN #2 - SINE WAVE
====================================
Type: Sine
Frequency: 1.5 Hz
Width: 12.0 mm
Amplitude: 100%

Weaving Program Example

 
 
fanuc
1: !Start Arc with Weave ;
2: ARC START[1] Weave[1] ;
3: !Weld with Weaving ;
4: L P[10] 400mm/sec FINE ARC[1] Weave[1] ;
5: !Arc End ;
6: ARC END[1] ;

9. Multi-Layer Welding Program

 
 
fanuc
/PROG MULTILAYER
/MN
 1: !Multi-Pass Weld Example ;
 2: UFRAME_NUM=1 ;
 3: UTOOL_NUM=1 ;
 4: !Initialize Pass Counter ;
 5: R[1:Pass Num]=1 ;
 6: !Start of Layer Loop ;
 7: LBL[1:LAYER_START] ;
 8: !Approach Start ;
 9:J P[10:App] 50% FINE ;
 10: !Calculate Offset ;
 11: PR[10]=P[20:Start] ;
 12: PR[10,3]=PR[10,3]+R[1]*3 ;
 13: !Move to Offset Start ;
 14:L PR[10] 500mm/sec FINE ;
 15: !Start Arc ;
 16: ARC START[1] ;
 17: WAIT .10(sec) ;
 18: !Weld Pass ;
 19: PR[11]=P[21:End] ;
 20: PR[11,3]=PR[11,3]+R[1]*3 ;
 21:L PR[11] 500mm/sec FINE ARC[1] ;
 22: !End Arc ;
 23: WAIT .20(sec) ;
 24: ARC END[1] ;
 25: !Increment Counter ;
 26: R[1:Pass Num]=R[1:Pass Num]+1 ;
 27: !Check if More Layers ;
 28: IF R[1]<=5,JMP LBL[1] ;
 29: !Retract ;
 30:J P[10:App] 100% FINE ;
 31: !End Program ;
/END

10. Seam Tracking Setup (Optional)

For Vision-Based Seam Tracking

Navigate: MENU → SETUP → Arc Weld → Seam Track

 
 
TRACKING PARAMETERS:
 Sensor Type: Laser Scanner
 Scan Rate: 100 Hz
 Search Width: 50 mm
 Correction Gain: 1.0
 Filter: Medium
 
OFFSET LIMITS:
 Max X Offset: +/- 10 mm
 Max Y Offset: +/- 5 mm
 Max Rotation: +/- 5 deg

Seam Tracking Program

 
 
fanuc
1: !Enable Seam Tracking ;
2: Seam[1:START] ;
3: !Start Arc ;
4: ARC START[1] ;
5: !Weld with Tracking ;
6: L P[100] 500mm/sec ARC[1] Track[ON] ;
7: !End Arc ;
8: ARC END[1] ;
9: !Disable Tracking ;
10: Seam[1:END] ;

11. Safety Configuration

Set Safety Parameters

Navigate: MENU → SETUP → Safety Config

 
 
JOINT LIMITS:
 J1: +/- 180 deg
 J2: -90 to +135 deg
 J3: -105 to +165 deg
 (etc.)

CARTESIAN LIMITS:
 Max X: 2000 mm
 Max Y: 2000 mm
 Max Z: 2000 mm
 
SPEED LIMITS:
 T1 Mode (Teach): 250 mm/sec
 T2 Mode (Test): 2000 mm/sec
 Auto Mode: Full Speed
 
SAFETY ZONES:
 Zone 1: Work Envelope
 Zone 2: Fixture Area
 Zone 3: No-Go Zone

12. Program Testing Procedure

Step 1: Dry Run (No Arc)

  1. Set Override to 25%
  2. Select T1 Mode
  3. Hold SHIFT + FWD
  4. Press START
  5. Monitor motion path

Step 2: Air Cut (Arc On, No Part)

  1. Set Override to 25%
  2. Load Schedule #1
  3. Enable Arc ON
  4. Run program
  5. Verify arc stability

Step 3: Test Weld

  1. Place test coupon
  2. Set Override to 50%
  3. Run complete cycle
  4. Inspect weld bead

Step 4: Production Run

  1. Set T2 or AUTO mode
  2. Set Override to 100%
  3. Enable Start Interlock
  4. Run production

13. Common TP Commands Reference

Command Function Example
J P[n] Joint move J P[1] 100% FINE
L P[n] Linear move L P[2] 500mm/sec CNT100
C P[n] Circular move C P[3] 500mm/sec FINE
ARC START[n] Start arc welding ARC START[1]
ARC END[n] Stop arc welding ARC END[1]
ARC[n] Arc condition active L P[5] 500mm/sec ARC[1]
Weave[n] Enable weaving ARC START[1] Weave[1]
Touch Sense[n] Touch sensing Touch Sense[1:START]
Track[ON] Seam tracking on L P[10] 500mm/sec Track[ON]
FINE Exact positioning L P[5] 500mm/sec FINE
CNT100 Corner rounding J P[2] 50% CNT100

14. Troubleshooting Guide

Arc Won't Start

  • Check: DI[1] Welding Power Ready
  • Check: DI[2] Wire Feeder Ready
  • Check: DI[3] Gas Pressure OK
  • Verify: Schedule parameters loaded
  • Test: Manual wire feed (DO[4])

Poor Weld Quality

  • Adjust: Travel speed (too fast = undercut)
  • Adjust: Wire speed (too slow = stubbing)
  • Check: Contact tip wear
  • Verify: Gas flow rate (15-20 L/min)
  • Check: Stick-out distance (10-15 mm)

Robot Position Errors

  • Check: User Frame accuracy
  • Check: Tool Frame calibration
  • Verify: Position P[n] taught correctly
  • Check: CNT values for smooth motion

Communication Errors

  • Check: DeviceNet/Ethernet cable
  • Verify: IP address configuration
  • Check: Wire feeder node address
  • Reset: I/O communication (MENU → I/O → Reset)

Touch Sensing Failures

  • Check: Work cable connection
  • Verify: Sensing current (DI feedback)
  • Adjust: Search speed (slower = more reliable)
  • Check: Timeout value
  • Clean: Torch contact tip

15. Advanced Features

A. Multi-Robot Coordination

 
 
fanuc
1: !Wait for Robot 2 ;
2: WAIT DI[100]=ON ;
3: !Signal Robot 2 ;
4: DO[100]=ON ;

B. Adaptive Fill

Automatically adjusts layers based on gap:

 
 
fanuc
1: !Measure Gap ;
2: Touch Sense[1:GAP] ;
3: !Calculate Layers ;
4: R[10:Layers]=AI[5]*0.5 ;

C. Remote Start via PLC

 
 
fanuc
1: !Wait for PLC Start ;
2: WAIT DI[50]=ON ;
3: !Run Weld Cycle ;
4: CALL WELD_MAIN ;
5: !Signal Complete ;
6: DO[50]=ON ;

16. Backup and Maintenance

Create Backup

 
 
MENU → FILE → Backup
Select: All of Above
Destination: USB Device

Recommended Backups:

  • Programs: All *.TP files
  • Variables: All R[], PR[] registers
  • Frames: User and Tool frames
  • Schedules: Arc welding parameters
  • I/O Config: Digital and analog assignments

Maintenance Schedule:

  • Daily: Check wire feeder, gas flow
  • Weekly: Clean torch, check consumables
  • Monthly: Calibrate TCP, backup programs
  • Quarterly: Full system inspection

Controller Compatibility:

  • R-30iA / R-30iB (Older systems)
  • R-30iB Plus / R-30iB Mate Plus (Current)
  • R-30iB Mate (Compact controllers)

 

caa November 28 2025 21 reads 0 comments Print

0 comments

Leave a Comment

Please Login to Post a Comment.
  • No Comments have been Posted.

Sign In
Not a member yet? Click here to register.
Forgot Password?
Users Online Now
Guests Online 4
Members Online 0

Total Members: 19
Newest Member: bokovac