&ACCESS RVO &REL 1 &PARAM DISKPATH = KRC:\R1\Program\PL DEF FeedBelt1Pick ( ) DECL REAL x_offset,y_offset,z_offset ;FOLD INI;%{PE} ;FOLD BASISTECH INI GLOBAL INTERRUPT DECL 3 WHEN $STOPMESS==TRUE DO IR_STOPM ( ) INTERRUPT ON 3 BAS (#INITMOV,0 ) ;ENDFOLD (BASISTECH INI) ;FOLD USER INI ;Make your modifications here ;ENDFOLD (USER INI) ;ENDFOLD (INI) WAIT FOR $IN_HOME OR $IN_HOME1 OR $IN_HOME2 OR CheckInPos(20.0, END_POS) XPick=XFeedBelt1Pick x_offset=PickOffsetX_Save/10.0 y_offset=PickOffsetY_Save/10.0 z_offset=PickOffsetZ_Save/10.0 XPick.X=XFeedBelt1Pick.X + x_offset XPick.Y=XFeedBelt1Pick.Y + y_offset XPick.Z=XFeedBelt1Pick.Z + z_offset XPickH=XPick XPickH.Z=XPick.Z+500 ;FOLD SPTP PickH CONT Vel=100 % PDAT1 Tool[1]:Tool1 Base[1] ;%{PE} ;FOLD Parameters ;%{h} ;Params IlfProvider=kukaroboter.basistech.inlineforms.movement.spline; Kuka.IsGlobalPoint=False; Kuka.PointName=PickH; 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 XPickH WITH $VEL_AXIS[1] = SVEL_JOINT(100.0), $TOOL = STOOL2(FPickH), $BASE = SBASE(FPickH.BASE_NO), $IPO_MODE = SIPO_MODE(FPickH.IPO_FRAME), $LOAD = SLOAD(FPickH.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 CONTINUE WAIT FOR I_GripOpen AND I_Signal1 AND I_AreaReady1 AND I_AreaReady4 AND NOT I_GripExist AND I_GripSafty1 AND I_GripSafty2 CONTINUE Q_AreaEnter1=TRUE ;FOLD SLIN Pick Vel=2 m/s CPDAT1 Tool[1]:Tool1 Base[1] ;%{PE} ;FOLD Parameters ;%{h} ;Params IlfProvider=kukaroboter.basistech.inlineforms.movement.spline; Kuka.IsGlobalPoint=False; Kuka.PointName=Pick; Kuka.BlendingEnabled=False; Kuka.MoveDataName=CPDAT1; Kuka.VelocityPath=2; Kuka.VelocityFieldEnabled=True; Kuka.ColDetectFieldEnabled=True; Kuka.CurrentCDSetIndex=0; Kuka.MovementParameterFieldEnabled=True; IlfCommand=SLIN ;ENDFOLD SLIN XPick WITH $VEL = SVEL_CP(2.0, , LCPDAT1), $TOOL = STOOL2(FPick), $BASE = SBASE(FPick.BASE_NO), $IPO_MODE = SIPO_MODE(FPick.IPO_FRAME), $LOAD = SLOAD(FPick.TOOL_NO), $ACC = SACC_CP(LCPDAT1), $ORI_TYPE = SORI_TYP(LCPDAT1), $APO = SAPO(LCPDAT1), $JERK = SJERK(LCPDAT1), $COLLMON_TOL_PRO[1] = USE_CM_PRO_VALUES(0) ;ENDFOLD GripClose() ;FOLD SLIN PickH Vel=2 m/s CPDAT2 Tool[1]:Tool1 Base[1] ;%{PE} ;FOLD Parameters ;%{h} ;Params IlfProvider=kukaroboter.basistech.inlineforms.movement.spline; Kuka.IsGlobalPoint=False; Kuka.PointName=PickH; Kuka.BlendingEnabled=False; Kuka.MoveDataName=CPDAT2; Kuka.VelocityPath=2; Kuka.VelocityFieldEnabled=True; Kuka.ColDetectFieldEnabled=True; Kuka.CurrentCDSetIndex=0; Kuka.MovementParameterFieldEnabled=True; IlfCommand=SLIN ;ENDFOLD SLIN XPickH WITH $VEL = SVEL_CP(2.0, , LCPDAT2), $TOOL = STOOL2(FPickH), $BASE = SBASE(FPickH.BASE_NO), $IPO_MODE = SIPO_MODE(FPickH.IPO_FRAME), $LOAD = SLOAD(FPickH.TOOL_NO), $ACC = SACC_CP(LCPDAT2), $ORI_TYPE = SORI_TYP(LCPDAT2), $APO = SAPO(LCPDAT2), $JERK = SJERK(LCPDAT2), $COLLMON_TOL_PRO[1] = USE_CM_PRO_VALUES(0) ;ENDFOLD Q_AreaEnter1=FALSE ActionReturn(1) END_POS=$POS_ACT END