Robot Welding Programming: How Welding Robots Are Programmed
Robot welding programming explained — teaching weld paths, weld schedules, seam tracking and touch sensing, weave patterns, and PLC/cell integration.
Robot welding programming is the discipline of defining every aspect of an automated weld: where the torch moves, how fast it travels, what electrical parameters fire the arc, and how the cell's safety systems and PLC interact to keep the process running reliably. A welding robot does not just move through space — it simultaneously manages a live electrical arc, wire feed, shielding gas, and heat input, which makes programming it more demanding than a pure material-handling application.
This guide covers the full scope: what robot welding is and which processes apply, how weld paths are taught point-by-point, how weld schedules encode voltage and current, how weave patterns are specified, how seam tracking and touch sensing compensate for real-world part variation, multi-pass strategies, offline programming, and the critical handshake between the robot controller and the cell PLC. Whether you are transitioning from manual welding to robotics or expanding from general robot programming into welding applications, this guide gives you the technical foundation to work with production welding cells.
For the broader programming context — teach pendant navigation, coordinate frames, and how robot controllers execute programs — see the industrial robot programming complete guide.
What Is Robot Welding?
Robot welding is the use of an industrial robot arm to carry a welding torch or electrode through a programmed path while simultaneously controlling the welding process parameters. The robot provides consistent torch positioning, travel speed, and angle; the welding power source provides the arc energy. Together they replace the human variables that cause weld inconsistency in manual operations.
Welding Processes Used with Robots
Not every welding process adapts equally well to robotic deployment. The three dominant processes in robotic welding are:
MIG/MAG (GMAW) is by far the most common robotic welding process. A consumable wire electrode feeds continuously through the torch, melts in the arc, and deposits into the joint. The robot controls torch position and travel speed; the wire feeder and power source control current and voltage. MIG/MAG suits structural steel, aluminum, stainless steel, and thin sheet metal, and it tolerates the speed demands of high-volume production lines.
TIG (GTAW) uses a non-consumable tungsten electrode and, for most applications, a separate filler wire fed by a cold-wire mechanism. TIG produces the highest-quality, cleanest welds but is significantly slower than MIG. Robotic TIG is common in aerospace, tubing, and food-grade stainless applications where appearance and weld integrity are paramount.
Spot welding (RSW) is used heavily in automotive body assembly. The robot positions servo-driven or pneumatic weld guns that clamp sheet-metal panels together and fire a high-current pulse through the contact tips, forming a nugget without filler metal. Spot welding robots carry the gun as their end-effector; gun equalisation and electrode force are controlled by the gun servo or pneumatics, not by robot motion.
Why Robots Outperform Manual Welding at Scale
A robotic arc welding cell runs at consistent travel speeds, maintains exact torch angles, and repeats the same weld schedule on every part without fatigue. In high-volume production, this directly translates to lower rework rates, predictable cycle times, and consistent mechanical properties across the weld. The trade-off is that robots require rigid fixturing and well-controlled part quality — they do not adapt intuitively to variation the way a skilled welder does, which is why seam tracking and touch sensing exist (covered below).
Understanding the 6-axis robot kinematics that allow a welding robot to maintain torch angle through complex joint geometries is essential background for anyone programming weld paths beyond simple straight-line beads.
Programming a Weld Path
A robot welding program is a sequence of taught positions connected by motion instructions, with welding-specific arc-start and arc-end commands inserted at the correct points. The basic structure is predictable, but the details matter for weld quality.
Approach and Retract Points
Every weld path starts with at least one approach point — a position above and clear of the weld joint that the robot moves to at high speed before slowing down for the weld. A good approach point:
- Is positioned so that the robot arrives with the torch already oriented to the correct angle for the weld start
- Is far enough from the part to avoid collision during rapid positioning between welds
- Is close enough that the transition from approach to weld-start does not waste cycle time
A matching retract point after the weld allows the robot to move away from the part safely before repositioning for the next weld or returning to home.
Teaching Weld Points
Weld path teaching follows the same point-by-point method used for any robot application, but with welding-specific demands on position accuracy and torch angle:
- Jog to the weld start position — Place the torch tip at the exact arc-start location, with the torch angle set correctly for the joint type (typically 10–15 degrees push or drag angle for MIG, perpendicular to the joint for TIG).
- Record the position — On FANUC this is
TOUCHUPor inserting a motion line; on ABB/RAPID this isMoveLwith a recordedrobtarget. - Insert the arc-start instruction (
Arc Startor equivalent) immediately before or at this point. The arc-start references a weld schedule (see next section). - Jog along the joint and teach intermediate points as needed for curves or direction changes. The controller interpolates between points; straight runs typically need only a start and end point.
- Teach the weld end point and insert the arc-end instruction (
Arc End) at this position. - Jog to the retract point and record it as a rapid-move target.
For MIG welding on straight runs, a minimal weld sequence looks like this on a FANUC controller:
J P[1] 100% CNT100 ; rapid to approach
L P[2] 500mm/sec CNT0 ; move to arc-start position
Arc Start[1] ; fire arc using schedule 1
L P[3] 8mm/sec FINE ; weld travel to end position
Arc End[1] ; extinguish arc
L P[4] 500mm/sec CNT100 ; retract
The CNT0 / FINE distinction is critical: FINE means the robot must stop precisely at that point before proceeding — mandatory at arc-start and arc-end positions. CNT100 allows the robot to blend through the point at speed, which is appropriate for approach and retract moves but must never be used at arc-start or the robot will be moving when the arc fires, causing a miss.
Torch Angle and TCP Calibration
Before teaching any weld path, the tool center point (TCP) must be accurately calibrated to the tip of the welding wire as it extends from the contact tip. TCP error translates directly into positional error at the weld joint. Most welding applications use a wire-cut TCP procedure: the wire is cut to a precise stick-out length, and the robot is jogged to a known reference position to set the TCP offset.
Torch angle conventions for MIG/MAG:
- Work angle — angle of the torch to the workpiece surface, typically 45 degrees for a fillet weld, 90 degrees for a butt weld
- Travel angle — the push or drag angle in the direction of travel, typically 5–15 degrees
These angles must be maintained consistently across all taught positions. If they vary mid-weld because of poor intermediate point placement, the arc will wander relative to the joint and produce inconsistent fusion.
Weld Schedules
A weld schedule (sometimes called a weld condition or process schedule) is a stored set of welding process parameters that the robot controller sends to the welding power source when an arc-start instruction is executed. Rather than hardcoding parameters into each line of the robot program, parameters are stored in a numbered schedule and the program simply references the schedule number.
Parameters in a Weld Schedule
| Parameter | What It Controls |
|---|---|
| Welding voltage (V) | Arc length; higher voltage = longer arc, wider bead |
| Wire feed speed (m/min or ipm) | Current input and deposition rate |
| Travel speed (mm/sec or ipm) | Heat input per unit length; controls bead width and penetration |
| Arc start current/voltage | Ramp-up profile to prevent stubbing at arc initiation |
| Arc end crater fill | Current/voltage ramp-down to fill the crater and prevent cracking |
| Burnback time | Slight wire retraction after arc-end to prevent the wire from freezing in the puddle |
| Shielding gas flow rate | Pre-flow and post-flow durations and flow rate |
Travel speed is set in the robot motion instruction, not in the power source — it is the speed of the robot TCP along the weld path. All other parameters above are typically sent from the robot controller to the power source over a DeviceNet, EtherNet/IP, or Fronius CMT/SpeedNet digital interface. The analog equivalent (voltage set by a 0–10 V output) is still found on older cells but limits the number of addressable schedules.
Why Schedules Matter
A production cell typically needs multiple schedules: one for thin material, one for thick material, one for the root pass in a multi-pass groove weld, and one for fill/cap passes. Storing them as numbered schedules means the program simply calls Arc Start[2] instead of Arc Start[1] when switching material thickness, without modifying the path program itself. This separation of motion and process is the same principle as separating a PLC recipe from the control logic.
Weave Patterns
Weave patterns add a transverse oscillation to the torch as it travels along the weld joint. Instead of a straight-line stringer bead, the torch moves in a repeating side-to-side motion to deposit a wider bead, improve sidewall fusion on fillet welds, or bridge a wider root gap.
Weave parameters are defined in the robot controller (not the power source) and include:
- Weave width — total side-to-side amplitude in mm
- Weave frequency — oscillations per second or per mm of weld travel
- Dwell time at each side — pause duration at the left and right extremes of the weave, used to improve sidewall fusion
- Weave pattern shape — triangular (sharp reversals), sinusoidal (smooth), or figure-eight (for very wide beads)
Weave is enabled by a flag in the arc-start instruction or as a separate Weave Start / Weave End instruction pair enclosing the weld motion. The robot controller interpolates the weave motion on top of the base weld path travel, so the programmer defines the path as if it were a stringer bead and then enables weave as a modifier.
Weave is most commonly used on:
- Fillet welds over 8 mm leg size where a single stringer would require multiple passes
- Parts with fit-up variation where a wider bead helps bridge inconsistent root gaps
- Vertical-up welds where a weave helps manage the molten puddle
Seam Tracking and Touch Sensing
The most significant challenge in robotic welding is part variation. Weld fixtures hold parts in repeating positions, but stamping tolerances, heat distortion from previous operations, and fixture wear all cause the actual joint location to shift slightly from the taught path. Without compensation, a rigid taught path will drift off the joint within a few centimetres on parts with cumulative tolerance stack.
Seam tracking and touch sensing are the two primary technologies that allow a welding robot to find and follow the actual joint position rather than a fixed taught path.
Touch Sensing (TAST / Wire Touch)
Touch sensing (called TAST — Touch-Arc Start Technology — on some platforms) uses the welding wire itself as a contact probe before the arc fires. The controller energises the wire with a low-voltage signal and jogs the robot along a defined search path. When the wire contacts the part, the circuit closes, the robot records the contact position, and the controller calculates a position offset.
A typical touch-sensing sequence for a fillet weld:
- Robot jogs to a search start position above the joint
- Wire is energised; robot moves down until wire touches the vertical plate — records Y and Z contact point
- Robot retracts, jogs to a second search position along the joint
- Wire searches the horizontal plate — records X and Z contact point
- Controller computes the actual joint position and applies an offset to the entire weld path
Touch sensing adds 2–4 seconds per search cycle but compensates for positional variation of several millimetres — well within the tolerance band of most stamped or fabricated assemblies.
What is touch sensing in robot welding? Touch sensing uses the welding wire as an electrical contact probe. The robot moves the wire along predefined search vectors until it touches the workpiece. The contact position is recorded and used to shift the weld path to match the actual part location, compensating for fixture variation and part-to-part dimensional spread.
Through-Arc Seam Tracking (TAST)
Through-arc seam tracking tracks the joint in real time during the weld, using feedback from the arc itself. In a V-groove or fillet joint, the arc current and voltage change as the torch moves closer to or farther from the sidewalls. The controller monitors these electrical signals and calculates a lateral correction to keep the torch centered on the joint.
Through-arc tracking requires a weave motion — the arc must oscillate left and right to generate the asymmetric electrical signals the algorithm needs to determine direction of drift. The controller compares arc conditions at the left and right dwell positions of the weave and steers the path toward the center.
Through-arc tracking is effective for:
- Long straight or moderately curved seams where the joint geometry is consistent
- Butt welds and fillet welds in materials where a weave bead is acceptable
- High-production lines where joint variation is consistent and repeatable
Its limitation is latency: the system reacts to errors that have already occurred, so it cannot prevent the first few millimetres of a bad start. Touch sensing at the start of the joint, combined with through-arc tracking during the run, is the standard combination for demanding applications.
Laser Seam Tracking
Laser seam tracking uses a structured-light laser scanner mounted near the torch to profile the joint cross-section ahead of the torch tip. The controller compares the scanned profile to a reference joint geometry and generates real-time corrections in height, lateral position, and in some systems, travel speed and wire feed.
Laser tracking is faster and more accurate than through-arc tracking, does not require a weave motion, and can handle joints where the arc electrical signal gives insufficient tracking information (very wide weave, thin material, deep groove). The trade-off is cost — laser trackers add significant hardware expense — and their sensitivity to arc spatter, which requires an air-purge shroud over the optics.
What is seam tracking? Seam tracking is the real-time correction of a robot welding path to follow the actual joint position on a part. Through-arc tracking reads the welding arc's electrical signals during the weld; laser tracking scans the joint ahead of the torch. Both compensate for part-to-part variation and heat distortion that would otherwise cause the robot to drift off the joint.
Multi-Pass Welding
Heavy-wall fabrication — structural joints, pressure vessels, pipe welds — requires multiple weld passes to fill the joint. The root pass, fill passes, and cap pass each have different parameters and path offsets.
Programming Multi-Pass Sequences
Multi-pass programming typically uses one of two approaches:
Offset-based multi-pass — The programmer teaches the root pass path and then defines subsequent passes as offsets from the root path. The controller applies the offset vector to generate fill and cap paths automatically. This approach requires only one taught path and is well-suited to prismatic joints with predictable geometry.
Individually taught passes — Each pass is taught separately, with its own set of positions and weld schedule. More labour-intensive to program but gives precise control over each pass, useful when geometry changes between passes (e.g., a wide cap pass that overlaps multiple fill beads).
Interpass Temperature Control
In multi-pass welding, heat input accumulates between passes. Many procedures specify a maximum interpass temperature (commonly 250°C for structural carbon steel). The robot program must include a dwell or pause instruction between passes, either for a fixed time or until a temperature signal from a pyrometer or thermocouple confirms the part has cooled sufficiently. The PLC or robot controller reads this signal and holds the program in a wait state before executing the next pass.
Offline Programming for Welding
Offline programming (OLP) allows programmers to define weld paths, schedules, and sequences in simulation software using a 3D CAD model of the part and fixture, without occupying the physical robot. The resulting program is post-processed into the robot controller's native format and loaded to the cell.
Workflow
- Import CAD model of the part, fixture, and robot cell into OLP software (examples: DELMIA, RobotStudio, ROBOGUIDE, Fastsuite)
- Define weld joints by selecting edges or surfaces on the CAD model — the software generates the torch path along the joint
- Set approach/retract vectors, torch angles, and weld schedules for each joint
- Simulate the program for reach, collision, and singularity issues
- Run the post-processor to generate a controller-specific program file
- Load the program to the robot controller, run a dry cycle to verify clearances, then validate on the first physical part
OLP vs. Teach Pendant Programming
| Aspect | Offline Programming | Teach Pendant |
|---|---|---|
| Robot downtime required | Minimal — robot runs production while program is created | Significant — robot is in teach mode |
| Accuracy on first load | Requires touch-up for fit-up variation | Accurate to the specific fixture taught |
| Best for | Complex parts, long programs, new model introduction | Short programs, repairs, path fine-tuning |
| Tool required | OLP software licence, accurate CAD model | Teach pendant only |
For large fabrications or model changeovers in automotive-style production, offline programming dramatically reduces the time to first weld on new programs. It pairs well with touch sensing: OLP defines the nominal path, touch sensing finds the actual joint at runtime. The FANUC robot programming tutorial covers the teach pendant workflow in detail if you need to complement OLP with hands-on fine-tuning.
The Cell View: Robot, PLC, and Safety Integration
A production welding cell is not just a robot and a power source. It includes a PLC managing conveyor or transfer equipment, safety interlocks, fume extraction, and a positioner or turntable that rotates the part for weld access. Understanding how all of these interact is essential for anyone commissioning or troubleshooting a welding cell.
Robot-to-PLC Handshake
The robot controller and cell PLC exchange a defined set of digital I/O signals to coordinate part loading, welding, and unloading. A typical signal set:
PLC outputs to robot (robot inputs):
- Part clamped — all fixtures have confirmed clamped state
- Fixture present — part-in-place sensor confirmed
- Positioner at position — rotary table indexed to the correct station
- Cell safe to weld — all light curtains, gates, and safety PLCs in a run-permissive state
- Cycle start — PLC commands the robot to begin its welding program
Robot outputs to PLC (PLC inputs):
- Program running — robot program has started execution
- Weld complete — robot has finished all welds and is at home or a safe handoff position
- Robot fault — robot has entered a fault state requiring operator intervention
- Request unload — robot signals the PLC that the part is clear of the fixture and the cell can be accessed
This handshake is implemented in the robot controller's I/O configuration and mirrored in the PLC program. The PLC manages the overall cell sequence (load → clamp → request cycle → wait for complete → unclamp → unload); the robot executes its program only when the PLC signals that it is safe and authorised to do so.
Positioner Coordination
Most welding cells include a positioner — a single-axis or two-axis servo-driven turntable that rotates the part during welding to present the joint in the optimal orientation (flat or horizontal) for the robot torch. The positioner is either coordinated with the robot (moving simultaneously with it to maintain a consistent travel direction along the joint) or indexed between weld operations (rotating the part to a new station while the robot waits).
Coordinated positioner motion requires the positioner to be configured as an external axis of the robot controller, so the controller can interpolate the positioner rotation and the robot arm motion simultaneously. This is more complex to program but enables continuous welding on circumferential joints without stopping to reindex. For circumferential pipe or vessel welds, coordinated external-axis programming is standard.
Indexed positioner operation is simpler: the robot welds one face of the part, then signals the PLC (or waits for a positioner-at-position input) while the positioner rotates to the next station, then resumes welding. No external-axis coordination is required, but the cycle time is longer and joint geometry for the next face must be reachable from the new part orientation.
Safety Systems: Arc, Fume, and Fixturing
Welding cells introduce hazards that are absent in material-handling applications, and the safety architecture must address all of them:
Arc flash and UV radiation — The welding arc emits intense UV and IR radiation. Safety enclosures with arc-rated panels or steel walls prevent radiation from leaving the cell envelope. Personnel access is controlled by safety-rated light curtains or gate interlock switches wired to the safety PLC or safety relay module. When the light curtain is broken or the gate is opened, a hard safety stop is issued to the robot and the welding power source simultaneously.
Fume extraction — Welding fumes are a regulated respiratory hazard. Production cells include either a hood extraction system positioned above the cell or a torch-mounted fume extraction nozzle that draws fumes directly from the arc. Fume extraction flow is typically monitored by a differential pressure switch; a loss-of-flow signal is wired to the PLC as a fault condition.
Fixture interlocks — Before the robot begins welding, the PLC must confirm that all fixture clamps are in the closed, confirmed position. Most fixtures use proximity sensors or limit switches on each clamp jaw. The PLC logic requires all sensors to be true before issuing the cycle-start signal to the robot. A missing part-in-place confirmation or a clamp that fails to close will hold the cell in a faulted state until the operator clears the condition.
These safety elements are not peripheral — they are core to the cell design and must be programmed into the PLC before the robot program is ever run. See the industrial robot programming complete guide for a broader discussion of robot cell safety architecture and the robot palletizing guide for a worked example of the PLC handshake pattern in a production cell.
FAQ
How are welding robots programmed?
Welding robots are programmed by teaching the controller a sequence of positions that define the weld path, inserting arc-start and arc-end instructions at the correct points, and referencing stored weld schedules that set voltage, wire feed speed, and travel speed. The positions are taught using the robot's teach pendant — the programmer jogs the torch to each key point along the joint and records the position. More complex cells use offline programming software to generate weld paths from CAD models, which are then loaded to the controller and fine-tuned on the physical part.
What is seam tracking in robot welding?
Seam tracking is a real-time correction system that adjusts the robot's weld path to follow the actual joint position on the part, compensating for fixture variation, part tolerances, and heat distortion. Through-arc seam tracking reads the electrical characteristics of the welding arc during the weld and steers the torch laterally to stay on the joint. Laser seam tracking uses a structured-light scanner ahead of the torch to profile the joint and generate correction signals. Both methods are used when part variation is too large for a fixed taught path to reliably hit the joint.
What is a weld schedule in robot welding?
A weld schedule is a stored set of process parameters — welding voltage, wire feed speed, arc-start ramp profile, crater-fill settings, and gas pre-flow and post-flow times — that the robot controller sends to the welding power source when an arc-start instruction executes. Schedules are numbered and referenced by number in the robot program, so switching between material thicknesses or joint types requires only a change in schedule number rather than re-entering parameters throughout the program.
What is touch sensing in robot welding?
Touch sensing uses the welding wire as a contact probe before the arc fires. The robot controller energises the wire with a low-voltage signal and jogs the robot along defined search vectors. When the wire touches the workpiece, the circuit closes, and the controller records the contact position. By searching in two or three axes, the controller determines the actual location and orientation of the joint relative to the taught path and applies a position offset to shift the entire weld path to match the real part location.


