RobotStudio event

Problem with offsettitng the Path[Moved]

dzayson
dzayson
edited February 2014 in Robot Controller
Hi,

I have problem with offsetting path, which uses external axis. How offset the path with including  change of value external axsis ? I have tried this:

CONST robtarget Target_280:=[[355,0,6000],[0.707106781,0,-0.707106781,0],[-1,0,-2,0],[5650,9E9,9E9,9E9,0,9E9]];
CONST robtarget Target_290:=[[0,-355,6000],[0.5,-0.5,-0.5,-0.5],[-1,0,-2,0],[5650,9E9,9E9,9E9,90,9E9]];

VAR robtarget p280;
VAR robtarget p290;
p280:= [[355,0,6000-2810],[0.707106781,0,-0.707106781,0],[-1,0,-2,0],[2840,9E9,9E9,9E9,0,9E9]];
p290:= [[0,-355,6000-2810],[0.5,-0.5,-0.5,-0.5],[-1,0,-2,0],[2840,9E9,9E9,9E9,90,9E9]];

but it's terrible in case of more points. How solve this problem ?

Post edited by Jonathan Karlsson on

Comments

  • You can do like this:

            p280.extax.eax_a:=p280.extax.eax_a+400;

    To loop through all your points, you can put them in an array like this:

    VAR robtarget p{4};
        VAR robtarget Target_10:=[[834.168657007,1657.814328764,1638.749733401],[0.822308775,-0.135789982,0.220336992,0.506775067],[0,0,-1,0],[0,9E9,9E9,9E9,9E9,9E9]];
        VAR robtarget Target_20:=[[834.168537563,1041.87782245,1638.75011907],[0.822308749,-0.135789998,0.220337037,0.506775087],[0,0,-1,0],[0,9E9,9E9,9E9,9E9,9E9]];
        VAR robtarget Target_30:=[[1507.165994697,1041.877901035,1638.749932632],[0.822308751,-0.135790027,0.220337,0.50677509],[0,0,-1,0],[0,9E9,9E9,9E9,9E9,9E9]];
    VAR robtarget Target_40:=[[1507.165835032,1600.476877818,1638.750164826],[0.822308742,-0.135789991,0.220337023,0.506775105],[0,0,-1,0],[0,9E9,9E9,9E9,9E9,9E9]];
        CONST robtarget Target_60:=[[2270.068689029,0,1638.75],[0.965925826,0,0.258819045,0],[-1,0,-1,0],[0,9E9,9E9,9E9,9E9,9E9]];

        PROC Init()
            p{1}:=Target_10;
            p{2}:=Target_20;
            p{3}:=Target_30;
            p{4}:=Target_40;
        ENDPROC

        PROC Path_10()
            FOR i FROM 1 TO 4 DO
                MoveJ p{i},v1000,z100,GWT_S1\WObj:=wobj0;
            ENDFOR
        ENDPROC


        PROC OffsetTargets(num nOffset)
            FOR i FROM 1 TO 4 DO
                p{i}.extax.eax_a:=p{i}.extax.eax_a+nOffset;
            ENDFOR
        ENDPROC

        PROC main()
            Init;
            Path_10;
            OffsetTargets(500);
        ENDPROC

    Henrik Berlin
    ABB