Trouble with Interupt

Hello,
I'm trying to use interrupt but i guet some problem and i hope you could help me.
We are using multimove system with irb6400

First interrupt have to stop the robot until we restart with signal from PLC.
Is it Okay ? sometime i got queue interupt is full... i don't know why

    TRAP Interrupt_R1
        TPWrite "Robot 1 - STOP";
        StopMove;
        IDelete robot1_stop;
        WaitDI PN_DI020,1;
        StartMove;    
        CONNECT robot1_stop WITH Interrupt_R1;
        ISignalDI PN_DI015,1,robot1_stop;
    ENDTRAP


The second interrupt should do :
- stop the movement on the path
- Move the robot to another position 
- Wait signal to restart 

    TRAP Interrupt_CasseLame_R1                
        Set PN_DO133;
        StopMove;
        ClearPath;
        Ouverture_Galets_R1;
        TPWrite" Casse lame robot1 ";     
        StartMove;
        posAct_R1:=CRobT(\Tool:=tool_lame_R1_2\WObj:=wobj0);
        MoveL RelTool(posAct_R1,0,-150,0),v300,fine,tool_lame_R1_2\WObj:=wobj0;
        TPWrite" Coupez le PVB puis appuyez sur PLAY apres fermeture porte ";
        IDelete robot1_CasseLame;
        Stop;
        Main;
    ENDTRAP

But i got an error the pointer of the robot is too far from the cursor.. What can i do ?

Regards

Comments

  • For the first TRAP the solution is to not disconnect and reconnect the interrupt
        TRAP Interrupt_R1
            TPWrite "Robot 1 - STOP";
            StopMove;
            WaitDI PN_DI020,1;
            StartMove;    
        ENDTRAP

  • lemster68lemster68 United States ✭✭✭
    Use the instruction ISleep first in your trap.  If you do not, it keeps triggering, causing interrupt queue full.
    Lee Justice
Sign In or Register to comment.