R30iB robot fully stops after exit subroutines

  • Hello all, first post here.


    This issue is actually pretty strange.


    Currently I manage 4 cells with R30iB controllers. Two of them have 2 groups installed, the other two have 3 groups installed.


    In the main program, there are several subroutines called, either to select other programs or to perform offset calculations. Everytime it comes out of a subroutine there is a delay/fullstop before it runs the next line.

    This behavior only happens in the cells with 3 groups. It doesn't matter if they are active or not.


    I believe it's something related to the system variables but it's something out of my knowledge, unfortunately.



    Thank you in advance!

  • Please explain what you mean by "delay/fullstop".


    Do you mean that robot motion stops? If so, then I think there is no way to avoid that. Continuous moves are not predicted across subroutines. And that will be true for any subroutine that uses a motion group (even if its only calculating positions and not moving to a position).


    So if it is happening on only some of the cells, you may want to check the motion groups that are being used by the subroutines. Sometimes a subroutine is locking a motion group even when it doesn't use that motion group. Find the subroutine in the Select menu and press the Detail button to see the Group Mask.

  • Yes, the robot motion goes to a full stop, almost as a WAIT instruction.


    The group masks are properly set. I did run some tests as well and only group 1 was active. It seems the active groups don't matter to the issue.

  • Are you changing Frames (User Frame or User Tool) in the different subroutines?

    No. Here's an example of the subroutines.


    -- example 1


    L P[1] 100mm/s cnt100


    CALL pr_offset_1 (-100, 0, 50, 0, 0, 0)


    >pr_offset_1

    >

    >pr[10]=lpos

    >pr[10]=pr[10]-pr[10]

    >

    >pr[10:gp1,1]=ar(1)

    >pr[10:gp1,2]=ar(2)

    >pr[10:gp1,3]=ar(3)

    >pr[10:gp1,4]=ar(4)

    >pr[10:gp1,5]=ar(5)

    >pr[10:gp1,6]=ar(6)


    L P[2] 100mm/s cnt100 offset,pr[10]


    --


    -- example 2


    L P[1] 100mm/s cnt100


    CALL conditions


    >conditions

    >

    >do[1]=on

    >

    >r[10]=r[10]+1


    L P[2] 100mm/s cnt100


    --


    In both examples, the robots with 3 groups installed will stop motion before running p[2]. The others would not actually do the CNT curvature but still a continuous movement, without motion stopping completely.

Advertising from our partners