Circular or pipe welding without synchro motion

Dear Sir
We have a robot in which we are trying to do a circular welding by keeping the robot stand still and moving the single axis positioner but I am not able to do that as when I give a wait time the welding doesn't starts.
So please help me to resolve this issue.
Thanks & Regards

Comments

  • graemepaulingraemepaulin New Zealand ✭✭✭
    Have a look at ArcMoveExtJ
  • jmfjmf South Africa
    Have a look at ArcMoveExtJ
    graemepaulin. Would this also work for a Non Integrated Non ABB motors Positioner?

  • jmfjmf South Africa
    Subhodeep - I have done something similar a while ago. 

    Have a look at the following code. This is a continuous weld around a shaft which can be offset by referring to a input from a signal from the positioner. 

    MODULE New
    
        PERS robtarget rtCurr:=[[7400.33,1899.46,369.25],[0.134605,-0.685643,0.699995,0.147588],[0,0,-1,0],[6608,9E+09,9E+09,9E+09,9E+09,9E+09]];
    
        PROC ContiniousWeldCirc()
            VAR num nTimeLapse{2}:=[1,1];
    
            ! Robot approach target position 
            MoveJ RelTool(rtCurr,0,0,600),v100,fine,tWG_Straight\WObj:=wobj0;
    
            ! Robot Approach 350mm in Z, then 50mm in Z and finally moves to starting position
            ShaftAppWeldRelTool Offs(rtCurr,0,0,(350)),RelTool(rtCurr,0,0,-(50)),Offs(rtCurr,3,0,0),v1000,fine,tWG_Straight\WObj:=wobj0;
            ! Waiting for Input from Positioner about where it's reference is. diTT_Pos_Sensor is the Reference input signal which is triggered by a proximity sensor on the external axis
            ShaftWaitdiTT_Pos_Sensor "WAIT diTT_Pos_Sensor HIGH",diTT_Pos_Sensor,1,"WAIT diTT_Pos_Sensor LOW",diTT_Pos_Sensor,0;
            ! After Input received, Activate Welding Signal on Powersource and Wait for signal to be High before continuing
            ShaftSetWaitdoWeld_Sensor "SET doWeld_1 HIGH",doWeld_1,1,"WAIT doWeld_1 HIGH",doWeld_1,1;
            ! Here the welding started and the robot is welding around a circular part while waiting for the next input from diTT_Pos_Sensor
            ShaftWaitdiTT_Pos_Sensor "WAIT diTT_Pos_Sensor HIGH",diTT_Pos_Sensor,1,"WAIT diTT_Pos_Sensor LOW",diTT_Pos_Sensor,0;
            ! After the input is received, the Robot waits for 2 seconds then offsets in X -2mm
            WaitTime nTimeLapse{1}+nTimeLapse{2};
            MoveL Offs(rtCurr,-2,0,0),v100,fine,tWG_Straight\WObj:=wobj0;
            ! Again waiting for Input from Positioner about where it's reference is.
            ShaftWaitdiTT_Pos_Sensor "WAIT diTT_Pos_Sensor HIGH",diTT_Pos_Sensor,1,"WAIT diTT_Pos_Sensor LOW",diTT_Pos_Sensor,0;
            ! After the input is received, the Robot waits again for 2 seconds and also pause for slight moment
            WaitTime nTimeLapse{1}+nTimeLapse{2};
            WaitTime 1.25;
            ! Here the Welding Signal is switched off and welding is off and pausing for 1 second
            Reset doWeld_1;
            WaitTime\InPos,1;
    
            ! Robot departs from position
            MoveL RelTool(rtCurr,0,0,600),v100,fine,tWG_Straight\WObj:=wobj0;
    
        ENDPROC
    ENDMODULE



  • ok sir
    thanks to all for your valuable feedback
    I will check and let you know if was successful in doing the same or not.
  • Sir could you help me with few more queries.
     Like we dont have world zone but is it possible to get a program running in background and letting us know the position of the robot.
    Another query is how to send a AI value from Robot to PLC.
  • We are working on a Lincoln Welding Machine with ABB Robot 1520-ID where communication protocol  is Device-Net, we have successfully established the communication but I am unable to get all the data in Robot Pendant.
    For eg. - I cannot switch between different weld modes through Robot Pendant
    It would be great if everyone can share their views on this.
Sign In or Register to comment.