Hallo zusammen,
ich würde gerne den letzten Bewegungsbefehl eines Unterprogrammes überschleifen damit der Roboter am Ende eines Unterprogrammes nicht stehen bleibt wenn er die erste Bewegung im nächsten Unterprogramm ausführt. Ich habe schon probiert den Überschleifdistanz auf den Wert "1" zu setzen aber er bleibt immer bei der letzten Bewegung kurz stehen und führt dann die nächste Bewegung des nächsten Unterprogrammes aus. Was ich herausgefunden habe das er an dem Punkt wo er das Überschleifen der Bewegung startet er kurz stoppt. Habe auch schon bei allen was ein Vorlaufstop auslösen könnte ein CONTINUE davorgeschrieben aber
Habe eine KRC4 Steuerung mit KKS8.7.3 Version
Ich hoffe Ihr könnt mir helfen .
Programmcode am Ende des Unterprogrammes:
;Post-Pick 1
;FOLD SLIN <init_search_layer> CONT Vel=0.3 m/s CPDAT3 Tool[1]:Werkzeug Base[0] ;%{PE}
;FOLD Parameters ;%{h}
;Params IlfProvider=kukaroboter.basistech.inlineforms.movement.spline; Kuka.IsGlobalPoint=True; Kuka.PointName=init_search_layer; Kuka.BlendingEnabled=True; Kuka.MoveDataName=CPDAT3; Kuka.VelocityPath=0.3; Kuka.VelocityFieldEnabled=True; Kuka.ColDetectFieldEnabled=True; Kuka.CurrentCDSetIndex=0; Kuka.MovementParameterFieldEnabled=True; IlfCommand=SLIN
;ENDFOLD
SLIN gXinit_search_layer WITH $VEL = SVEL_CP(0.3, , LCPDAT3), $TOOL = STOOL2(gFinit_search_layer), $BASE = SBASE(gFinit_search_layer.BASE_NO), $IPO_MODE = SIPO_MODE(gFinit_search_layer.IPO_FRAME), $LOAD = SLOAD(gFinit_search_layer.TOOL_NO), $ACC = SACC_CP(LCPDAT3), $ORI_TYPE = SORI_TYP(LCPDAT3), $APO = SAPO(LCPDAT3), $JERK = SJERK(LCPDAT3), $COLLMON_TOL_PRO[1] = USE_CM_PRO_VALUES(0) C_Spl
;ENDFOLD
;Post-Pick 2
;FOLD SPTP <Pre_Search_layer> CONT Vel=100 % PDAT8 Tool[1]:Werkzeug Base[0] ;%{PE}
;FOLD Parameters ;%{h}
;Params IlfProvider=kukaroboter.basistech.inlineforms.movement.spline; Kuka.IsGlobalPoint=True; Kuka.PointName=Pre_Search_layer; Kuka.BlendingEnabled=True; Kuka.MoveDataPtpName=PDAT8; Kuka.VelocityPtp=100; Kuka.VelocityFieldEnabled=True; Kuka.ColDetectFieldEnabled=True; Kuka.CurrentCDSetIndex=0; Kuka.MovementParameterFieldEnabled=True; IlfCommand=SPTP
;ENDFOLD
SPTP gXPre_Search_layer WITH $VEL_AXIS[1] = SVEL_JOINT(100.0), $TOOL = STOOL2(gFPre_Search_layer), $BASE = SBASE(gFPre_Search_layer.BASE_NO), $IPO_MODE = SIPO_MODE(gFPre_Search_layer.IPO_FRAME), $LOAD = SLOAD(gFPre_Search_layer.TOOL_NO), $ACC_AXIS[1] = SACC_JOINT(PPDAT8), $APO = SAPO_PTP(PPDAT8), $GEAR_JERK[1] = SGEAR_JERK(PPDAT8), $COLLMON_TOL_PRO[1] = USE_CM_PRO_VALUES(0) C_Spl
;ENDFOLD
;Post-Pick 3
;FOLD SPTP <post_pick_layer> CONT Vel=100 % PDAT11 Tool[1]:Werkzeug Base[0] ;%{PE}
;FOLD Parameters ;%{h}
;Params IlfProvider=kukaroboter.basistech.inlineforms.movement.spline; Kuka.IsGlobalPoint=True; Kuka.PointName=post_pick_layer; Kuka.BlendingEnabled=True; Kuka.MoveDataPtpName=PDAT11; Kuka.VelocityPtp=100; Kuka.VelocityFieldEnabled=True; Kuka.ColDetectFieldEnabled=True; Kuka.CurrentCDSetIndex=0; Kuka.MovementParameterFieldEnabled=True; IlfCommand=SPTP
;ENDFOLD
SPTP gXpost_pick_layer WITH $VEL_AXIS[1] = SVEL_JOINT(100.0), $TOOL = STOOL2(gFpost_pick_layer), $BASE = SBASE(gFpost_pick_layer.BASE_NO), $IPO_MODE = SIPO_MODE(gFpost_pick_layer.IPO_FRAME), $LOAD = SLOAD(gFpost_pick_layer.TOOL_NO), $ACC_AXIS[1] = SACC_JOINT(PPDAT11), $APO = SAPO_PTP(PPDAT11), $GEAR_JERK[1] = SGEAR_JERK(PPDAT11), $COLLMON_TOL_PRO[1] = USE_CM_PRO_VALUES(0) C_Spl
;ENDFOLD
CONTINUE
In_Layer_Abholposition = FALSE
;Order completion message
CONTINUE
Fertigmeldung = 3
END
Alles anzeigen
Programmcode vom Anfang des nächsten Unterprogrammes:
DEF Place_layer_box1_100ml ()
CONTINUE
BAS(#TOOL,1)
CONTINUE
BAS(#BASE,0)
CONTINUE
$ADVANCE = 3
CONTINUE
In_LayerAblegepos_BH1 = FALSE
CONTINUE
rows_bottles_box1 = rows_bottles_box1 + 1
layers_box1 = layers_box1 + 1
;Pre-Drop 1
;FOLD SPTP <top_box1> CONT Vel=100 % PDAT1 Tool[1]:Werkzeug Base[0] ;%{PE}
;FOLD Parameters ;%{h}
;Params IlfProvider=kukaroboter.basistech.inlineforms.movement.spline; Kuka.IsGlobalPoint=True; Kuka.PointName=top_box1; Kuka.BlendingEnabled=True; Kuka.MoveDataPtpName=PDAT1; Kuka.VelocityPtp=100; Kuka.VelocityFieldEnabled=True; Kuka.ColDetectFieldEnabled=True; Kuka.CurrentCDSetIndex=0; Kuka.MovementParameterFieldEnabled=True; IlfCommand=SPTP
;ENDFOLD
SPTP gXtop_box1 WITH $VEL_AXIS[1] = SVEL_JOINT(100.0), $TOOL = STOOL2(gFtop_box1), $BASE = SBASE(gFtop_box1.BASE_NO), $IPO_MODE = SIPO_MODE(gFtop_box1.IPO_FRAME), $LOAD = SLOAD(gFtop_box1.TOOL_NO), $ACC_AXIS[1] = SACC_JOINT(PPDAT1), $APO = SAPO_PTP(PPDAT1), $GEAR_JERK[1] = SGEAR_JERK(PPDAT1), $COLLMON_TOL_PRO[1] = USE_CM_PRO_VALUES(0) C_Spl
;ENDFOLD
;Pre-Drop 2
;FOLD SPTP <top_box1_2> CONT Vel=25 % PDAT9 Tool[1]:Werkzeug Base[0] ;%{PE}
;FOLD Parameters ;%{h}
;Params IlfProvider=kukaroboter.basistech.inlineforms.movement.spline; Kuka.IsGlobalPoint=True; Kuka.PointName=top_box1_2; Kuka.BlendingEnabled=True; Kuka.MoveDataPtpName=PDAT9; Kuka.VelocityPtp=100; Kuka.VelocityFieldEnabled=True; Kuka.ColDetectFieldEnabled=True; Kuka.CurrentCDSetIndex=0; Kuka.MovementParameterFieldEnabled=True; IlfCommand=SPTP
;ENDFOLD
SPTP gXtop_box1_2 WITH $VEL_AXIS[1] = SVEL_JOINT(25.0), $TOOL = STOOL2(gFtop_box1_2), $BASE = SBASE(gFtop_box1_2.BASE_NO), $IPO_MODE = SIPO_MODE(gFtop_box1_2.IPO_FRAME), $LOAD = SLOAD(gFtop_box1_2.TOOL_NO), $ACC_AXIS[1] = SACC_JOINT(PPDAT9), $APO = SAPO_PTP(PPDAT9), $GEAR_JERK[1] = SGEAR_JERK(PPDAT9), $COLLMON_TOL_PRO[1] = USE_CM_PRO_VALUES(0) C_Spl
;ENDFOLD
Alles anzeigen