Welcome, Guest. Please login or register.
Did you miss your activation email?
May 22, 2012, 05:05:24 AM
Home Help Login Register
News: Any Problems or Experience with Industrial Robots ?
Register and place your Question / Answer to worldwide Robotexperts right here !

+  Robotforum | Support for Robotprogrammer and Users
|-+  Industrial Robot Help and Discussion Center
| |-+  ABB Robot Forum (Moderators: Werner Hampel, Sven Weyer, Jim Tyrer, Napierian)
| | |-+  Incr the Z value of a robottarget
0 Members and 1 Guest are viewing this topic. « previous next »
Pages: [1] Print
Author Topic: Incr the Z value of a robottarget  (Read 344 times)
shahaboid
Newbie
*
Offline Offline

Posts: 4


« on: November 15, 2011, 01:44:02 PM »

Hi,

I am new to ABB robots and trying to write a small program that can make the robot to weld a hollow box. It would say I need a 4 base positions on a rectangle and MoveL between them. This gives me a single layer of the hollow box and if I continue this by incrementing the Z value then I would get walls of the box as well. [img]http://gabijack.com/wp-content/uploads/2008/12/shell3.jpg[img].

My question now is that how can I only update the Z value of one point. In the following example code, I want to change the value of -25, which is Z.

Code:
PERS robtarget test_point:=[[410,125,-25],[0,0.999858168,0,-0.016841704],[0,-1,0,0],[9E9,0,9E9,9E9,0,9E9]];
num index:=0;
...
WHILE index < 10 DO
MoveL testpoint, ...
index := index + 10;
test_point (1)(3):=index; [b]!I dont know how to write this in RAPID syntax !!!![/b]
ENDWHILE


if you know a better way to do this, plz let me know 
Logged
shahaboid
Newbie
*
Offline Offline

Posts: 4


« Reply #1 on: November 15, 2011, 06:26:44 PM »

one way to fix this is to use a numeric variable instead of the numbers later in your program, but still not the best way to program :-P

Code:
PROC  updateHeight (num layerNum)
! ---- First side of the substrate
hDist_1 := -25 + ( layerNum * 75 );
hDist_2 := -65 + ( layerNum * 75 );
point1_1 := [[410,1925,hDist_1],...;
! ---- Second side of the substrate
point2_8:=[[410,125,hDist_2],...;
ENDPROC
Logged
prnuk2003
Sr. Member
****
Offline Offline

Gender: Male
Posts: 339


Customer Service Engineer


« Reply #2 on: November 16, 2011, 07:09:24 PM »

Not sure if I understand this correctly (I couldn't download the image):

You want a single weld pass starting at one corner p1 then p2 then p3 the p4 then back to p1 again (four internal welds on the flat base of your box) then four more welds directly up in world z from p1 up 25mm, p2 up 25mm etc etc to weld the four sides together?



Or.......you want to 'build' a box up from a rectangular base plate by welding between four points incrementally raising each pass in z step by step?

Maybe it could work in some form as follows (although you would use the ArcL instruction)
Teach the four corners p1 to p4 then in your weld routine:

num nZ:=0;
num nOffset:=0;


    nOffset:=1;
    nZ:=0;
    ! ArcL\On point
    MoveL Offs(p1,0,0,nZ),v50,z1,tWeld;
    WHILE nZ>50 DO
      MoveL Offs(p2,0,0,nZ),v50,z1,tWeld;
      MoveL Offs(p3,0,0,nZ),v50,z1,tWeld;
      MoveL Offs(p4,0,0,nZ),v50,z1,tWeld;
      MoveL Offs(p1,0,0,nZ),v50,z1,tWeld;
      ! add the offset here to keep the four linear welds flat
      ! otherwise p4 to p1 would be going slightly uphill each pass
      nZ:=nz+nOffset;
      If nZ >50 THEN
        MoveL Offs(p1,0,0,nZ),v50,z1,tWeld;
      ELSE
        ArcL\Off  Offs(p1,0,0,nZ),.......
      ENDIF
    ENDWHILE
 
nOffset would be how much in z each layer would be incremented - tricky to get accurate and would change depending on weld parameters, too big and you will have to big a distance to maintain the arc, to small and eventually the tip would be too close to the material.
The 50 is how high the box would be.
Logged

BR
prnuk2003
shahaboid
Newbie
*
Offline Offline

Posts: 4


« Reply #3 on: November 21, 2011, 11:35:45 AM »

Hi,

Thanks for your help. 

I wanted to build the rectangle up as you said ( deposit the melted metal layer on layer on each other). Thanks for your help, I saw it now. I had already came to the same conclusion with some help I got from my friends at RobotStudio forum.

Code:
FOR i FROM 1 TO 5 DO
MoveL Offs(testpoint,Xoffs,Yoffs,Zoffs),...
ENDFOR

This way I could change Xoffset, Yoffset and Zoffset at the same time and could both come up in height and at the same time weld the same shape several times on one plate(X,Y shifting the same shape).  dance2
Logged
Pages: [1] Print 
« previous next »
Jump to:  


Login with username, password and session length

Powered by MySQL Powered by PHP Powered by SMF 1.1.16 | SMF © 2011, Simple Machines Valid XHTML 1.0! Valid CSS!