Page 183 - Welding Robots Technology, System Issues, and Applications
P. 183
__________________________________________________________________
PROC weld() Robotic Welding: Application Examples 171
weldon:=0; i:=1;
WHILE ((decision1=9401) AND (i<=numberpoints) AND (i>=1)) DO
weldpoint:=i;
wd_iref:=trj_voltage{i}; feed_iref:=trj_current{i};
wd_href:=trj_voltage{i}; feed_href:=trj_current{i};
wd_ref:=trj_voltage{i}; feed_ref:=trj_current{i};
IF (trj_type{i}=0) THEN
weld_on;
weldon:=1; Welding definition
ENDIF
ppos:=trj{i}; pvel:=trj_vel{i};
pzone:=trj_prec{i}; ptype:=trj_mode{i}; Move the robot
move_gen;
IF (weldon=1) AND ((i+1>numberpoints) OR (trj_type{i+1}=1)) THEN
weld_off;
weldon:=0;
ENDIF
i:=i+1;
ENDWHILE
IF (weldon=1) THEN
weld_off;
weldon:=0;
ENDIF
ENDPROC
PROC move_gen()
IF ptype=0 THEN
MoveL ppos,pvel,pzone,trj_tool\WObj:=trj_wobj;
ENDIF
IF ptype=1 THEN
MoveJ ppos,pvel,pzone,trj_tool\WObj:=trj_wobj;
ENDIF
IF ptype=2 THEN
TPWrite "[MOVE_GEN]: MoveC not implemented.";
ENDIF
ENDPROC
__________________________________________________________________
Figure 5.18. Code for the Welding service