Hello everyone.
I have to program a large part to weld. The part is basically a steel frame in the shape of a rectangle. There are many variations of this part; wider ones and taller ones. All of these parts require the same welds. I would like to program one part completely (about 80 welds), then duplicate this program and apply the Offs function to shift the moves to accommodate the different sized but similar parts. After the moves have been offset using the Offs function, I will need the ability to tweek the new positions by using ModPos. I'd like to be able to do all of the from the FlexPendant if possible.
So far, I have written the following test program:
PROC rOffs_test_matt()
CONST robtarget p10:=[[744.24,2.09,417.13],[0.36758,0.014493,0.929793,-0.0126497],[0,0,-1,1],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]];
CONST robtarget p20:=[[744.24,3.07,362.97],[0.367585,0.014492,0.929791,-0.0126525],[0,0,-1,1],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]];
CONST robtarget p30:=[[744.24,33.40,362.97],[0.367583,0.0144878,0.929792,-0.0126527],[0,0,-1,1],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]];
CONST robtarget p40:=[[744.24,33.40,395.42],[0.367588,0.0144841,0.92979,-0.0126532],[0,0,-1,1],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]];
MoveJ p10, v20, fine, tool0\WObj:=wobj0;
MoveL p20, v20, fine, tool0\WObj:=wobj0;
MoveL p30, v20, fine, tool0\WObj:=wobj0;
MoveJ p40, v20, fine, tool0\WObj:=wobj0;
!
MoveJ Offs(p10, 100,0,0), v20, fine, tool0\WObj:=wobj0;
MoveL Offs(p20,100,0,0), v20, fine, tool0\WObj:=wobj0;
MoveL Offs(p30,100,0,0), v20, fine, tool0\WObj:=wobj0;
MoveJ Offs(p40,100,0,0), v20, fine, tool0\WObj:=wobj0;
ENDPROC
This program works but I want to check my understanding with a couple of questions.
1) It seemed like I needed to use named points (p10, p20, ...) and not * points.
2) I was unable to find a function on the pendant that would allow me to select a group of moves and add an offset amount (in my program, 100mm in the +X direction) to each move. KUKA has such a function available on the pendant (SmartPad); I believe it is called "transform". Does ABB have a similar function available on the FlexPendant?
3) I'm thinking that in order to wind up with a point I can touch-up (ModPos), I would need to use a statement like: p10 := Offs(p10,100,0,0); Is there a way to enter this kind of a statement efficiently on the FlexPendant or is it smarter to move to RobotStudio to do these edits?
Thanks for any advice.....matt