Hi!
I have a welding program for a pice and a i have a fixture with a pattern off 7 identicaly parts.
which is the best way to offset the program (or positions) or can i offset the user frame?
// J
Hi!
I have a welding program for a pice and a i have a fixture with a pattern off 7 identicaly parts.
which is the best way to offset the program (or positions) or can i offset the user frame?
// J
You can do it either way, I will show an example for offsetting the points.
You set an offset condition then apply that offset to every motion. For example:
: OFFSET CONDITION PR[10];
:L P[1] 2000mm/sec CNT100 Offset ;
:L P[2] 2000mm/sec CNT100 Offset ;
:L P[3] 2000mm/sec CNT100 Offset ;
:L P[4] 2000mm/sec CNT100 Offset ;
Then you just need to add code that increments PR[10] after each part.
If parts have the same orientation (no rotation in any direction required)
Then a pure translational offset would do the job
Choose a common feature point to use as a base point
Store the position as a position register:
DATA -> Position Register -> Record (For example PR[1])
Now moving in World, USER, of Tool Frame (without reorienting the tool)
Move to robot to the next part exactly at the same feature used as reference in the base part
Insert the following code in your program
L PR[2] 100 mm/sec FINE Offset PR[1]
Then touch up the point PR[2]
A message appears asking: Do you want to substract the offset data?
Click YES: Now the PR[2] contains the offset needed to shift the entire program for that part
Repeat the process for the rest of the parts
You can reuse this line of code again using a new PR[]
Once you have all offsets defined you can erase the code or turn it into a Remark it to keep it for future use,
Now just copy and paste the welding program adding the offset instructions
either using the Offset PR[] option at every line
or programing an Offset Condition as Hawked suggested
Have fun!