I was hoping that someone could show me a simple program. I'm trying to y+1000, x-10, y-1000, x-10, from top to bottom for 3 feet. Much appreciated
ZIgZag Step simple program example
-
Wellrick -
July 23, 2021 at 4:18 PM -
Thread is Unresolved
-
-
That depends entirely on what brand and model robot you're using.
-
Abb irc5.
-
SkyeFire
July 23, 2021 at 4:26 PM Moved the thread from forum General Discussion of Industrial Robots Only to forum ABB Robot Forum. -
Your question is not at all clear. My guess is that you want to draw a rectangle at some height, then increment up and do it again, until reaching a height of 3 feet. Here is the offset path for the first rectangle.
MoveL Offs(pYourRobtarget,0,0,0),v100,fine,tUserTool0;
MoveL Offs(pYourRobtarget,0,1000,0),v100,fine,tUserTool0;
MoveL Offs(pYourRobtarget,10,1000,0),v100,fine,tUserTool0;
MoveL Offs(pYourRobtarget,10,0,0),v100,fine,tUserTool0;
MoveL Offs(pYourRobtarget,0,0,0),v100,fine,tUserTool0;
You can achieve your desired behavior by simply repeating these lines, with incrementally larger values in the Z field.
If your goal is to achieve the described behavior with as few lines as possible, then you could put this sequence in a FOR loop or a WHILE loop. You could then increment either the original robtarget's Z position, or the workobject's Z definition, until the Z reaches some desired height, at which point it would be reset.
-
I want to start at the top of a rectangle y+1000, x-10, y-1000, x-10 all the way down the length of the rectangle every time it goes across the length it drops 10 mm until it gets to the bottom. I think I need a variable in the program to add the 10 mm increments.
-
-
PROC your_proc()
VAR num Offset:=0;
VAR num Increment:=10;
VAR num TotalDistance:=1000
While Offset < TotalDistance DO
MoveL Offs(pYourRobtarget,Offset,0,0),v100,fine,tUserTool0;
MoveL Offs(pYourRobtarget,Offset,1000,0),v100,fine,tUserTool0;
Offset:=Offset+Increment;
MoveL Offs(pYourRobtarget,Offset,1000,0),v100,fine,tUserTool0;
MoveL Offs(pYourRobtarget,Offset,0,0),v100,fine,tUserTool0;
Offset:=Offset+Increment;
ENDWHILE
Offset:=0;
ENDPROC
-
Thanks man works great. One more question. How would I include the track movement into this program? Would I add another robtarget? How would this effect the total distance?
-
Or would I change total distance to second robtarget
-
what track movement?
-
The robot is on a 40" track
-
Like if I want to use this program format on a part 20" wide. The 10mm offset basically never changes. It's the overlap for spray. The width and height changes daily. With what you gave me I'll be able to do anything within the robots arm reach. I was wondering how to incorporate the robot sliding down the track into a similar program.
-
Yeah, adding another While loop that uses a second robtarget would work. That way you don't have to worry about the track being jerky as you try to increment the track position.
I'm not aware of a way to have the track move at a smooth speed down the rail while the robot is executing paths.
-
Fabian Munoz
July 25, 2021 at 2:22 AM Changed the title of the thread from “Programming” to “ZIgZag Step simple program example”. -
The command EOffsSet might do the trick.