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

where channel identifies the RPC socket open between the robot controller and the
                           remote computer.                 Robotic Welding: Application Examples  169
                           __________________________________________________________________
                           PROC main()
                               TPErase; TPWrite "Welding Server ...";
                               reset_signals;
                               p1:=CRobT(\Tool:=trj_tool\WObj:=trj_wobj);
                               MoveJ p1,v100,fine,trj_tool\WObj:=trj_wobj;
                               joints_now:=CJointT();
                               decision1:=123; varmove:=0;
                               WHILE TRUE DO
                                TEST decision1
                                   CASE 9100:
                                      x:=0; y:=0; z:=0; rx:=0; ry:=0; rz:=0; move:=0;
                                      p1:=CRobT(\Tool:=trj_tool);
                                      WHILE (decision1=9100) DO
                                         IF (move <> 0) THEN
                                            p1:=RelTool(p1,x,y,z\Rx:=rx\Ry:=ry\Rz:=rz);
                                            x:=0; y:=0; z:=0; rx:=0; ry:=0; rz:=0; move:=0;
                                         ENDIF
                                         IF varmove <> 198 THEN
                                            MoveJ p1,v100,fine,trj_tool\WObj:=trj_wobj;
                                         ELSE
                                            MoveL p1,v100,fine,trj_tool\WObj:=trj_wobj;
                                         ENDIF
                                      ENDWHILE
                                      decision1:=123; varmove:=0;
                                   CASE 9101:
                                      joints_now:=CJointT();
                                      WHILE decision1=9101 DO
                                         MoveAbsJ joints_now,v100,fine,trj_tool\WObj:=trj_wobj;
                                      ENDWHILE
                                      decision1:=123;
                                   CASE 9401:
                                      weld;
                                      decision1:=123;
                                      p1:=CRobT(\Tool:=trj_tool);
                                      MoveJ RelTool(p1,0,0,-200),v100,fine,trj_tool\WObj:=trj_wobj;
                                   CASE 9301:
                                      weld_sim;
                                      decision1:=123;
                                ENDTEST
                               ENDWHILE
                           ENDPROC
                           __________________________________________________________________

                                    Figure 5.17. Simple welding server running on the robot controller
   176   177   178   179   180   181   182   183   184   185   186