The essential guide

ROBOT WELDING

You are here: Programming / On-line programming

On-line programming

The vast majority of arc welding robots are programmed on-line using a teach pendant. This will feature a joy stick or a series of toggle or jog keys to select which way you wish to move the robot to an intended position. With the KUKA SmartPad the user has the additional option to use the 6 axes Space Mouse. Each position is recorded with the appropriate instructions relating to the accuracy of the position, the type of robot move plus any additional process related information.

Robot programs can be given logical names so it easy to select the correct one afterwards. Whilst most robots will have their own unique way of being programmed, the basic principle is the same.

The teach pendant

All functions are available from the teach pendant. Commands are selected from a list and are very easy to understand. The user does not have to worry about machine codes or syntax. The only function on the actual robot control cabinet is a rotary on/off switch. The layout is straight forward and the user can make selections on the colour touch screen and the key pad.

The user can select in which way the robot moves to this position, either in a polar coordinate system moving each robot axis individually or in a linear coordinate (or Cartesian) system whereby the robot moves in X,Y and Z describing a straight path at the Tool Centre Point. The latter is an obvious requirement when programming a straight joint for welding. When programming the robot, "teach" is selected and this drops the robot speed to safe levels of 250 mm/sec. In order to move the robot a three position dead man's handle located on the teach pendant, needs to be held in the middle position to release the brakes and supply power to the motors. The jogging and run speed of the robot can be altered to suit when a toggle key is pressed . The key switch is rotated to T1 to T2 to test the program at 100% speed with the dead man’s handle still activated or in Automatic or Automatic Extended when running the robot in normal production mode. When the robot is run in automatic mode, the teach pendant can be parked in a safe place on the robot control cabinet and in case of the KUKA SmartPad teach pendant it may be removed from the system completely.

The programmer will generally have a number of choices to achieve certain programming objectives. Large programs can be split up into sub-programs and this will make it easier to recognise them and make modifications afterwards. Similar parts of a robot program, e.g. welding round a series of bosses can be copied or repeated with a shift function. Circles can be programmed with only 3 points, but it is also possible to specify a radius from the centre position. Entire programs can be shifted to another workstation using a base coordinate system.












  1. Button for disconnecting the smartPAD.
  2. Key switch for calling the connection manager. The switch can only be turned if the key is inserted.
  3. EMERGENCY STOP button. Stops the robot in hazardous situations. The EMERGENCY STOP button locks itself in place when it is pressed.
  4. Space Mouse: For moving the robot manually.
  5. Jog keys: For moving the robot manually.
  6. Key for setting the program override
  7. Key for setting the jog override
  8. Main menu key: Shows the menu items on the smartHMI
  9. Status keys. The status keys are used primarily for setting parameters in technology packages. Their exact function depends on the technology packages installed.
  10. Start key: The Start key is used to start a program.
  11. Start backwards key: The Start backwards key is used to start a program backwards. The program is executed step by step.

Keyboard key displays the keyboard. It is generally not necessary to press this key to display the keyboard, as the smartHMI detects when keyboard input is required and displays the keyboard automatically.

Different robot moves for programming

The robot programmer tends to only use three commands to program robot movements, which are point to point move (PTP), linear move (LIN) or circular move (CIRC). On the KUKA SmartPad teach pendant these are defined as follows:

PTP Move




1) Motion type. Select PTP, LIN or CIRC
2) The name of the end position
3) The end point is approximated. If left blank the motion stops exactly at the end point
4) Velocity. PTP motions:
1 … 100%
5) Motion data set: acceleration and approximation distance if CONT is entered under 3

LIN Move




As for PTP move except:
4) CP motions:
0.001 … 2 m/s

CIRC Move




As for PTP move except:

2) In the case of CIRC, an auxiliary point must be taught in addition to the end point
4) CP motions:
0.001 … 2 m/s

Tool Centre Point - essential reference point for programming

The TCP is the reference point that is used to program the robot. For MIG/MAG welding this is the end of the welding wire as it protrudes from the welding gun. This distance is usually 10 to 12 mm. It is is important that the TCP is calibrated accurately to ensure that the robot visits the joints correctly. If the TCP goes out of alignment (due to e.g. a collision or if you mount a different type of welding torch), a new TCP can be defined very easily with only four reference positions around a pointer. It is also possible to calibrate the TCP by declaring the X, Y and Z values relative of the flange of the robot using the teach pendant.









Coordinate systems

The robot can use different coordinate systems and it depends on the application which of these is the most appropriate. The coordinate system is prefixed with $ sign.

$WORLD is the world coordinate system,which can be a point anywhere. It is rare to have this coordinate system but sometimes it is used for off-line programming and all robots or a number of robots can have the same coordinate system.

$ROBROOT is the coordinate system in the base of the robot. This is often used and the $WORLD coordinate system coincides with $WORLD in this case.

$FLANGE is the coordinate system at the outside face of the centre of the flange of the robot. If no TCP has been defined this is the TCP by default.

$TOOL is the coordinate system of the tool. It can be useful to have a dedicated coordinate system that relates to the assembly if  part of an assembly needs to be welded that is positioned at a irregular angle so the robot relates in X, Y and Z to this part of the assembly.

$BASE is a local tool coordinate system to which the robot will relate in X, Y and Z relative to that base, which facilitates robot programming. The robot program runs within this base coordinate system. A base can be created very easily by defining three points. The program can then be recreated in a different base, a very useful feature if for instance the robot is welding on a number of fixed work stations around the base. The base coordinate system can also be defined on an external axis, which will facilitates robot programming












Backing up programs

It is essential to back up programs and there are a number of ways this can be done depending on the age of the robot controller. Tapes and floppy disks are no longer used these days. More modern methods are via USB stick, Compact Flash, serial link or an Ethernet connection. USB sticks, PC cards and Compact Flash cards can be read on a PC so it is quite easy to make a back up on a PC. KUKA robots offer the option for creating a complete system back up  including all system and program parameters. The information is stored on a USB stick that can also be used to boot the controller in case of any corruption.

Format of robot programs

Robot programs are written to two files. One file contains the instructions as displayed on the teach pendant and the other the positional information. The latter is an ASCII file, which means that it can be opened in a standard text editor on a PC. There is generally no reason to do so, but very advanced users may be able to make modifications to the robot program. It is possible to create or modify the structure of a program, but the chances of making an error are substantial and f the syntax is wrong, the program will be corrupt.

Return to the top >>>

On-line programming with the KUKA SmartPad teach pendant

A USB port integrated into the housing allows the simple saving and loading of configurations directly on the smartPAD

TCP