Robot sometimes stopped

I have a problem, I'm looking for help!
The robot stops at  indicator
IF nModel <> RobGI_Model AND RobGI_Model <> 0 THEN 
every now and then

I have no idea why. Maybe someone will notice the problem.

PROC CycleModel_M43()
        !
        MoveJ pNearPick, vmax, z300, HandTool;
        WHILE PI_T3_ReadyPick_R34 = 0 AND PI_T3_ReadyBrush_R34 = 0 DO
            CheckAccessReq;
            IF nModel <> RobGI_Model AND RobGI_Model <> 0 THEN
            WaitTime \InPos,3;
            IF nModel <> RobGI_Model AND RobGI_Model <> 0 THEN
                    RETURN;
                ENDIF
            ENDIF
        ENDWHILE
        IF PI_T3_ReadyBrush_R34 = 1 THEN
            Brush_Glass_M43;
            WHILE PI_T3_ReadyPick_R34 = 0 DO
                    CheckAccessReq;
            ENDWHILE
            Pick_Glass pPick_M43;
            IF DI_VacuumSens_R34=0 THEN
                RETURN;
            ENDIF
            !
            MoveJ pNearPlace, vmax, z50, HandTool;
            WHILE PI_C32_Ready_R34=0 DO
                    CheckAccessReq;
            ENDWHILE
            Place_Glass pPlace_M43;
        ELSE
            IF PI_T3_ReadyPick_R34 = 1 THEN
                Pick_Glass pPick_M43;
                MoveJ pNearPlace, vmax, z50, HandTool;
                WHILE PI_C32_Ready_R34=0 DO
                        CheckAccessReq;
                ENDWHILE
                Place_Glass pPlace_M43;
            ENDIF
        ENDIF    
        !
        MoveJ pHome, vmax, z50, HandTool;
  ENDPROC
  !
  PROC Brush_Glass_M43()
      !
      GetData;
      BrushDW1;
      MoveL Reltool(pBrush_01_M43,nBrush_Off_X_R34,nBrush_Off_Y_R34,nBrush_Off_Z_R34-50\Rz:=nBrush_Off_Rot_R34), vMid, z5, Brush_Tool_1\WObj:=wobj_Brushing;
      IF FALSE THEN
          ! Execute the following instruction to modify the position
          pBrush_01_M43:=CRobT (\Tool:=Brush_Tool_1\WObj:=wobj_Brushing);
          MoveL pBrush_01_M43, v100, fine, Brush_Tool_1,\WObj:=wobj_Brushing;
      ENDIF
      MoveL Reltool(pBrush_01_M43,nBrush_Off_X_R34,nBrush_Off_Y_R34,nBrush_Off_Z_R34\Rz:=nBrush_Off_Rot_R34), vMid, z0, Brush_Tool_1,\WObj:=wobj_Brushing;
      Set DO_BrushStart_R34;
      Set PO_Brush_Done;
      !PulseDO\PLength:=nBrush_Time_1_R34, PO_Brush_Done;
      WaitTime\InPos,nBrush_Time_1_R34;
      Reset PO_Brush_Done;
      Set DO_BrushUP1_R34;
      Reset DO_BrushDW1_R34;
      Reset DO_BrushStart_R34; Incr nBrush_1;
      MoveL Reltool(pBrush_01_M43,nBrush_Off_X_R34,nBrush_Off_Y_R34,nBrush_Off_Z_R34-50\Rz:=nBrush_Off_Rot_R34), vMid, z5, Brush_Tool_1\WObj:=wobj_Brushing;
      MoveJ pPickPrep_M43, vmax, z20, HandTool\WObj:=wobj_Brushing;
      BrushUP1;
      !
  ENDPROC
  !
  PROC Init_Model_M43()
      !
      !Insert init instruction
      !
  ENDPROC
  !
ENDMODULE

Comments

  • lemster68
    lemster68 ✭✭✭
    What do you mean by "robot stops"?  Program execution stops or the program is running and the program pointer appears to be stuck on that line of code?  Which instance of that code is it?  There are two.
    Lee Justice