KRC4 KR300 R 2700
KSS 8.6.9
The program executes a jog movement, working on external automatic mode .Displays that the replacement brake interrupt(KSS 160) is activated when an exception occurs;
The program stays on one line and does not continue;
KRCDiag information was done when the problem appeared;
First ,maybe the $vel is too small resulting in;but the VEl_min is 1,pos_Rel max is 2; That is not the reason;
Second ,May be is the "Continue" and "Wait sec 0" impact; But ,no evidence;
Third, Interrupt Reason;also ,no evidence;
Code
DEF Moiton_XYZ()
CONTINUE
if ((abs($VEL.CP) > VelCP_Min) and ((abs($VEL.CP) <= VelCP_Max))) then
CONTINUE
IF ((abs(Pos_Rel.X)<>0)OR(abs(Pos_Rel.Y)<>0)OR(abs(Pos_Rel.Z)<>0)) AND ($OV_PRO <>0) THEN
CONTINUE
lin_rel Pos_Rel C_VEL #base
CONTINUE
ENDIF
CONTINUE
endif
continue
wait sec 0
continue
END
DEF Motion_Rot()
CONTINUE
if (((abs($VEL.ORI1) > VelORI_Min) AND (abs($VEL.ORI2) > VelORI_Min)) AND ((abs($VEL.ORI1) <= VelORI_Max) AND (abs($VEL.ORI2) <= VelORI_Max))) thenCONTINUE
IF ((abs(Pos_Rel.b)<>0)OR(abs(Pos_Rel.c)<>0)) AND ($OV_PRO <>0) THEN
CONTINUE
lin_rel Pos_Rel C_VEL #BASE;C_DIS #BASE
CONTINUE
ENDIF
CONTINUE
IF ((abs(Pos_Rel.a)<>0) and ($OV_PRO <>0)) THEN
CONTINUE
lin_rel Pos_Rel C_VEL #tool;C_VEL #TOOL;C_DIS #tool
CONTINUE
ENDIF
CONTINUE
endif
continue
wait sec 0
continue
END
DEF Move_JOG()
DECL E6POS P00
BAS (#INITMOV,0 )
MOTION_BASE_UPDATE()
BAS(#TOOL,5)
BAS(#BASE,3)
Robot_Fsm = #OP
$CP_VEL_TYPE_AX_RED[4] = 50
$SPL_VEL_MODE = #opt
$spl_vel_restr.ori_vel= #on
$spl_vel_restr.cart_acc= #on
$spl_vel_restr.ori_acc= #on
$spl_vel_restr.CART_JERK= #on
$spl_vel_restr.ORI_JERK= #on
$advance = 3
;$APO.CDIS = 10
$APO.CVEL = 100
IF (($OV_PRO <> 0 ) and (not $ON_PATH)) THEN
PTP $POS_ACT
ENDIF
wait sec 0
;interrupt on 21
while true; (MoveEnable AND Robot_Status)
continue
MOTION_BASE_UPDATE()
continue
IF (abs(Pos_Rel.X) >0 ) OR (abs(Pos_Rel.Y) >0 ) OR (abs(Pos_Rel.Z) >0 ) THEN
continue
Moiton_XYZ()
CONTINUE
ELSE
continue
IF (abs(Pos_Rel.A) >0 ) OR (abs(Pos_Rel.B) >0 ) OR (abs(Pos_Rel.C) >0 ) THEN
continue
Motion_Rot()
continue
ENDIF
CONTINUE
ENDIF
CONTINUE
continue
IF (not DMG_IN) THEN
CONTINUE
EXIT
CONTINUE
ENDIF
CONTINUE
endwhile
wait sec 0
END
Display More