Error Handling 50042 Could not create path

Bulli
Bulli Germany RLP
Hello Programmers,

i'm having an issue with a IRB1200 which is occuring spontaneous.
The Robot is pulling a big load which is on a ball bearing rail, so the robot is not holding the load, just pulling. For this move instruction i'm using WorldAccLim \On:=0.4; The robot is accelerating constant and smooth.

But somethimes im getting the error 50042 and the robot is stopping.
I tried playing with the acc value and teached the position farther.

This helps a little bit but the error is still there.
So i tried to handle the error with a routine.
    PROC mvSchrauberVorpos()
        hMoveJ 0501, p0501, v1000, z10, toolSchrauber\WObj:=wobjSchrauben;
        hMoveL 0500, p0500, v1000, z10, toolSchrauber\WObj:=wobjSchrauben;
        hMoveL 0510, p0510, v1000, z10, toolSchrauber\WObj:=wobjSchrauben;
        hMoveL 0511, p0511, v1000, fine, toolSchrauber\WObj:=wobjSchrauben;
        WorldAccLim \On:=0.4;
        hMoveL 0520, p0520,v1000,z5,toolSchrauber\WObj:=wobjSchrauben;
        hMoveL 0530, p0530,v1000,z5,toolSchrauber\WObj:=wobjSchrauben;
    ERROR
        WriteMessage "Error mvSchrauberVorpos - " + NumToStr(ERRNO,0);
        IF ERRNO = 50042 THEN
            VelSet 50,vmax.v_tcp;
            RETRY;
        ENDIF     
    ENDPROC
But the programm will not move to the error routine, just stops.

Is anyone having the same problem or knows how to handle with this error?

greetings Bulli

Answers

  • SomeTekk
    SomeTekk USA
    edited January 18
    Better programmers may chime in (Lemster, etc.), until then perhaps a trap routine maybe a worthy effort.

    For the below to work multi-tasking is required. A large portion of the code is from the RAPID manual. A fair amount of RAPID data declarations and programming is left to be added, tweaking is very much encouraged:

            WHILE TRUE DO
                IDelete intErr_interrupt;
                CONNECT intErr_interrupt WITH trErrLog;
                IError MOTION_ERR,err_type,intErr_interrupt;
                WaitTime 0.01;
           ENDWHILE

        TRAP trErrLog
                GetTrapData err_data;
                ReadErrData err_data,err_domain,err_number,err_type;
                IF err_number=042 VelSet 50,vmax.v_tcp;
        ENDTRAP

    Post edited by SomeTekk on
  • lemster68
    lemster68 United States ✭✭✭
    I think that your main problem is that this error stops program execution.  That will make things quite difficult to recover.  What are the possible remedies that are suggested with the error?  It may be that you can change some system parameters to alleviate this error.
    Lee Justice
  • Bulli
    Bulli Germany RLP
    Thank you to SomeTekk for the code sample, this is a solution that i used for other errors. but in this case the main problem is that (lemster68 is fully right) the programm execution stops, so i have to make a additional system input which starts the programm first before the trap routine is set the velset. This is funktionall but not very pretty. 

    @lemster68 possible remedis:
     - extend distance between points
     _ reduce velocity
     - change acceleration

    I think i tried all of them but that doesnt help.
    when the trap routine in a second task is the only solution, i have to try that.


  • lemster68
    lemster68 United States ✭✭✭
    You could try adjusting the system parameter for Path Resolution.  There is also a rapid instruction to affect the path resolution.  Study up on it in the system parameter manual and the rapid instructions, functions and datatypes.
    Lee Justice