Page 147 - Welding Robots Technology, System Issues, and Applications
P. 147

134 Welding Robots
                           IF move <> 0 THEN
                            IF move_type = 1 THEN                       Linear Motion
                              MOVEL RelTool(P actual ,x, y, z\RX:=rx, RY:=ry, RZ:=rz), v100, fine, tool_torch;
                            ELSE
                              MOVEJ RelTool(P actual , x, y, z\RX:=rx, RY:=ry, RZ:=rz), v100, fine, tool_torch;
                            ENDIF
                           ENDIF
                                                                    Joint Coordinated Motion
                           ENDWHILE
                           decision1:=0;

                           2. Acquire positions P1 and P2: this is a very simple task done by the following
                           services:

                           Acquire position P 1
                           CASE 1002:
                           P1:=CRobT(\Tool:=tool_torch);
                           decision1:=0;

                           Acquire position P 2
                           CASE 1003:
                           P2:=CRobT(\Tool:=tool_torch);
                           decision1:=0;

                           3. Start and stop weld: these are services used to initiate the arc doing the weld,
                           and to stop the arc:

                           CASE 1004:
                           weld_on;
                           decision1:=0;

                           CASE 1005:
                           weld_off;
                           decision1:=0;

                           The procedures weld_on and weld_off are presented in (Figure 4.17), along with
                           sub-procedures used  by them. The  weld_on  procedure implements the timing
                           defined by the welding power source, represented in Figure 5.2.

                           4. Approach position P1: this service is used to move the robot safely to P1:

                           CASE 1006:
                           MOVEJ Offset(P1, 0, 0, 200), v200, z50, tool_torch;
                           MOVEJ Offset P1, v100, z50, tool_torch;
                           decision1:=0;
   142   143   144   145   146   147   148   149   150   151   152