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
- Press MENU → STATUS → Version ID
- 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
- Press: MENU → SETUP → Frames
- Select: User Frame #1
- Press: DETAIL → Three Point
- Teach points:
- Origin: Touch workpiece origin point
- X-axis: Point along X direction
- Y-axis: Point defining XY plane
- Press: RECORD
Method 2: Direct Entry
- Navigate: SETUP → Frames → User Frame #1
- 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)
- Press: MENU → SETUP → Frames
- Select: UTOOL (Tool Frame) #1
- Press: DETAIL → Six Point
- Touch reference point from 6 different orientations
- Controller calculates TCP automatically
- Press: RECORD
Method 2: Direct Entry
- Navigate: SETUP → Frames → Tool Frame #1
- 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
- Press: MENU → SETUP → Arc Weld → Schedule
- Select: Schedule #1
- 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)
- Set Override to 25%
- Select T1 Mode
- Hold SHIFT + FWD
- Press START
- Monitor motion path
Step 2: Air Cut (Arc On, No Part)
- Set Override to 25%
- Load Schedule #1
- Enable Arc ON
- Run program
- Verify arc stability
Step 3: Test Weld
- Place test coupon
- Set Override to 50%
- Run complete cycle
- Inspect weld bead
Step 4: Production Run
- Set T2 or AUTO mode
- Set Override to 100%
- Enable Start Interlock
- 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)

No Comments have been Posted.