Hey,
Trying to use WVADJ but can't figure out how to measure V-groove width and store it in a B/I/D variable.
Can i use SRCH to measure distance travelled?
Hey,
Trying to use WVADJ but can't figure out how to measure V-groove width and store it in a B/I/D variable.
Can i use SRCH to measure distance travelled?
Hi.
Yes, you can use SRCH extension on a MOVL/SMOVL line to measure a groove.
First you make a move towards one side of the groove using SRCH extension. Right after contact, you use GETS instruction to store current position. Convert the P-variable containing that current position into a suitable frame. Now repeat the same on the other side, but use a different P-variable.
Now you can use GETE instructions to put the desired axis values from the two P-variables into D/LD variables and using SUB instruction you can calculate the width of the groove.
So 9 lines including the movements.
WVADJ changes robot moving speed quite alot, so depending on your application you might find that you're better off changing the speed and amplitude yourself depending on the groove size. I've used IF instruction combined with ELSEIF to use a suitable amplitude and welding speed. You can define the amplitudes and speeds by a variable or use SPEED instruction with different speed values and have the weld movements without speed defined so that the robot would use the speed from the SPEED instruction.
I've even greated a search that searches and calculates the radius of a square tube in order to weld it with a suitable speed and weaving parameters.
Thanks, i did just that for the groove search.
WVADJ was changing the speed too much so i opted for WVON and SETFILE WEV#x (5) Dxxx to set groove width straight to weaving file. This way welding speed is always the same.