The essential guide
The vast majority of arc welding robots are programmed on-
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.
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-
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.
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:
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
As for PTP move except:
4) CP motions: 0.001 … 2 m/s
As for PTP move except:
2) In the case of CIRC, an auxiliary point must be taught in addition to the end
4) CP motions: 0.001 … 2 m/s
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.
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-
$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
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.
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.
A USB port integrated into the housing allows the simple saving and loading of configurations directly on the smartPAD