I'm looking to lay down tig welds around a shaft, the whole length of the shaft. I'm relatively new to programming in the field and am trying to find the best way to go about replicating the same weld over and over for the length of the shaft. I bring the robot down to 12 o'clock above the shaft, initiate the weld start, and begin spinning the rotary table a little over 180° while holding the robot (tig torch) still, spinning the table to the weld end position. Next, I need to lift up, and spin the rotary table back to the first weld start positioning, but then move the robot over just slightly in the x + direction, and start another weld, spin the table, weld end, spin the table back to weld start positioning, move the robot over slightly in the x+ direction and so on. For a total of about 6 inches in the x + direction. This is very low production, so time is not an issue. I tried playing around with position registers and math but can't quite seem to figure it out. (The picture just shows two practice beads from trying to find the correct spacing and weld settings) Thanks in advance for any help/input!
Offset welds down a shaft
- Chase
- Thread is marked as Resolved.
-
-
-
Use an offset with a position register.
-
That or you could use the INC motion modifier. Tells the robot to move from where it is incrementally.
-
Use an offset with a position register.
...
5:
6:
7: R [1: SHAFT_TIG_PASSES]=0
8: L P[8] 944.9inch/min FINE
: Weld Start [9,1]
9: PR[2: SHAFT_TIG_START]=LPOS
10: L P[9] 944.9inch/min FINE
: Weld End [9,1]
11: PR [3: SHAFT_TIG_END]=LPOS
12:
13:
14: LBL[1:LOOP]
15:
16: PR[2,1: SHAFT_TIG_START]=PR[2,1: SHAFT_TIG_START] +1.5
17: PR[3,1: SHAFT_TIG_END]=PR[3,1: SHAFT_TIG_END] +1.5
18:
19:
20:L PR[2: SHAFT_TIG_START] 4724inch/min FINE
: Weld Start [9,1]21:L PR[3: SHAFT TIG_END] 4724inch/min FINE
: Weld End [9,1]
22:
23: R[1: SHAFT_TIG_PASSES]=R[1: SHAFT_TIG_PASSES]+1
24:
25: IF R[1: SHAFT_TIG_PASSES]<10, JMP LBL[1]
26:
27: R[1: SHAFT_TIG_PASSES]=0
28:
29:
...
I tried this, and it seems like my Group 2: Rotary table moves in the x-direction for the value of 1.5 and not my Group 1: Robot. Any ideas on how to make the 1 in PR[2, 1] and PR[3,1] represent the x value for the robot and not the rotary table? I'm guessing it's because between the weld start PR[2,1: SHAFT_TIG_START], and the weld end PR[3,1: SHAFT_TIG_END], the only values that change are the group 2: rotary table values, and not the group 1: robot values because the robot stays still while the table spins.
-
That or you could use the INC motion modifier. Tells the robot to move from where it is incrementally.
How would I go this route exactly? I made a copy program where I could play around with this. I found where I could include the INC at the end of my weld start position statement, and at the end of my weld end position statement. I'm not sure I'm incorporating it correctly. Right when I inserted the INC after the weld start, for example, the number for that position highlighted yellow and the text turned to red, it said the position was invalidated, and it let me enter values for the position. If you could go into further/more specific detail on an example of how to program it that would be much appreciated!
-
It invalidates the point as a safety measure. If it left the point as is and you ran it, the robot would attempt to move that distance from wherever it was, likely resulting in a crash.
If you punch in 100mm in X and zero everything else, the robot will move from wherever it is, to +100mm X in the active user frame. So if it started at 500mm X, it will end up at 600mm X.
-
It invalidates the point as a safety measure. If it left the point as is and you ran it, the robot would attempt to move that distance from wherever it was, likely resulting in a crash.
If you punch in 100mm in X and zero everything else, the robot will move from wherever it is, to +100mm X in the active user frame. So if it started at 500mm X, it will end up at 600mm X.
Just focusing on lines 14 and 15, would it look something like this? Where I put the INC statements at the end of the weld start and the weld end?
-
No, that would not work. Guaranteed crash if you LPOS a position and then try to do an INC move with it.
I recommend dedicating a PR for incremental and using that.
Code
Display MorePR[2]=LPOS ; !Below results in zeroed out pos ; PR[10]=LPOS-LPOS; !Group one motion. ; PR[GP1:10,1]=1.5; !Group two motion. ; PR[GP2:10,1]=1.5; :L PR[2: SHAFT_TIG_START] 4724inch/min FINE : Weld Start [9,1] :L PR[10:INC MOVE] 4724inch/min FINE : Weld End [9,1] INC
Honestly HawkMe's solution would probably be easier to use.
-
Thank you both, got it to work!
Create an account or sign in to comment
You need to be a member in order to leave a comment