更新优化程序

This commit is contained in:
zhusenlin
2026-02-11 17:34:41 +08:00
parent 62cf9a191c
commit cee4549e79
57 changed files with 240 additions and 123 deletions

View File

@@ -1,4 +1,4 @@
&ACCESS RV4
&ACCESS RV1
DEF ActionReturn (nRet:IN )
DECL INT nRet
CONTINUE

View File

@@ -1,16 +1,20 @@
&ACCESS RV6
&ACCESS RV3
DEFDAT CONFIG PUBLIC
GLOBAL INT PdtTypeLast=0
GLOBAL INT CmdCountLast=582
GLOBAL INT CmdSave=11
GLOBAL INT OffsetX_Save=1247
GLOBAL INT OffsetY_Save=2200
GLOBAL INT CountX_Save=10
GLOBAL INT CountY_Save=3
GLOBAL INT CmdCountLast=2
GLOBAL INT PlaceOffsetX_Save=-1167
GLOBAL INT PlaceOffsetY_Save=-3250
GLOBAL INT PlaceOffsetZ_Save=0
GLOBAL INT PickOffsetX_Save=0
GLOBAL INT PickOffsetY_Save=0
GLOBAL INT PickOffsetZ_Save=0
GLOBAL INT CountX_Save=2
GLOBAL INT CountY_Save=0
GLOBAL BOOL ConfMessSave=FALSE
DECL GLOBAL E6POS END_POS={X -371.799255,Y 3335.85059,Z 535.821533,A -167.311752,B 0.414277077,C 179.724655,S 'B0010',T 'B00100011',E1 0.0,E2 0.0,E3 0.0,E4 0.0,E5 0.0,E6 0.0}
DECL GLOBAL E6POS END_POS={X 567.624878,Y 2965.83350,Z 747.798157,A -164.436340,B 0.381067097,C 179.743317,S 'B0010',T 'B00100011',E1 0.0,E2 0.0,E3 0.0,E4 0.0,E5 0.0,E6 0.0}
ENDDAT

View File

@@ -1,4 +1,4 @@
&ACCESS RV3
&ACCESS RV
DEF GripClose ( )
Q_GripPosIndex=102
Q_GripPosCount=I_GripPosCountRet+1

View File

@@ -1,4 +1,4 @@
&ACCESS RV2
&ACCESS RV1
DEF GripOpen ( )
Q_GripPosIndex=101

View File

@@ -10,4 +10,5 @@ DECL INT SUCCESS
;ENDFOLD (USER EXT)
;ENDFOLD (EXTERNAL DECLARATIONS)
DECL MODULEPARAM_T LAST_TP_PARAMS = {PARAMS[] "Kuka.VelocityFieldEnabled=True; Kuka.ColDetectFieldEnabled=True; Kuka.MovementParameterFieldEnabled=True; Kuka.IsAngleEnabled=False; Kuka.PointName=PlaceH; Kuka.FrameData.base_no=1; Kuka.FrameData.tool_no=1; Kuka.FrameData.ipo_frame=#BASE; Kuka.isglobalpoint=False; Kuka.MoveDataPtpName=PDAT3; Kuka.MovementDataPdat.apo_mode=#CDIS; Kuka.MovementDataPdat.apo_dist=500; Kuka.MovementData.vel=100; Kuka.MovementData.acc=100; Kuka.MovementData.exax_ign=0; Kuka.VelocityPtp=100; Kuka.BlendingEnabled=False; Kuka.APXEnabled=False; Kuka.CurrentCDSetIndex=0; Kuka.MoveDataName=CPDAT3; Kuka.MovementData.cb={AUX_PT {ORI #CONSIDER,E1 #CONSIDER,E2 #CONSIDER,E3 #CONSIDER,E4 #CONSIDER,E5 #CONSIDER,E6 #CONSIDER},TARGET_PT {ORI #INTERPOLATE,E1 #INTERPOLATE,E2 #INTERPOLATE,E3 #INTERPOLATE,E4 #INTERPOLATE,E5 #INTERPOLATE,E6 #INTERPOLATE}}; Kuka.MovementData.apo_fac=50; Kuka.MovementData.apo_dist=500; Kuka.MovementData.axis_acc=100; Kuka.MovementData.axis_vel=100; Kuka.MovementData.circ_typ=#BASE; Kuka.MovementData.jerk_fac=50; Kuka.MovementData.ori_typ=#VAR; Kuka.VelocityPath=2; Kuka.FrameData.point2="}
ENDDAT

View File

@@ -19,7 +19,7 @@ DEF HomeModule ( )
;FOLD SPTP HOME Vel=100 % DEFAULT ;%{PE}
;FOLD Parameters ;%{h}
;Params IlfProvider=kukaroboter.basistech.inlineforms.movement.spline; Kuka.IsGlobalPoint=False; Kuka.PointName=HOME; Kuka.BlendingEnabled=False; Kuka.MoveDataPtpName=DEFAULT; Kuka.VelocityPtp=100; Kuka.VelocityFieldEnabled=True; Kuka.CurrentCDSetIndex=0; Kuka.MovementParameterFieldEnabled=True; IlfCommand=SPTP
;Params IlfProvider=kukaroboter.basistech.inlineforms.movement.spline; Kuka.IsGlobalPoint=False; Kuka.PointName=HOME; Kuka.BlendingEnabled=False; Kuka.MoveDataPtpName=DEFAULT; Kuka.VelocityPtp=100; Kuka.VelocityFieldEnabled=True; Kuka.ColDetectFieldEnabled=True; Kuka.CurrentCDSetIndex=0; Kuka.MovementParameterFieldEnabled=True; IlfCommand=SPTP
;ENDFOLD
SPTP XHOME WITH $VEL_AXIS[1] = SVEL_JOINT(100.0), $TOOL = STOOL2(FHOME), $BASE = SBASE(FHOME.BASE_NO), $IPO_MODE = SIPO_MODE(FHOME.IPO_FRAME), $LOAD = SLOAD(FHOME.TOOL_NO), $ACC_AXIS[1] = SACC_JOINT(PDEFAULT), $APO = SAPO_PTP(PDEFAULT), $GEAR_JERK[1] = SGEAR_JERK(PDEFAULT), $COLLMON_TOL_PRO[1] = USE_CM_PRO_VALUES(0)
;ENDFOLD

View File

@@ -1,4 +1,4 @@
&ACCESS RVP
&ACCESS RVO
&REL 1
DEFDAT MainModule
;FOLD EXTERNAL DECLARATIONS;%{PE}%MKUKATPBASIS,%CEXT,%VCOMMON,%P

View File

@@ -1,4 +1,4 @@
&ACCESS RVP
&ACCESS RVO
&REL 1
DEF MainModule()
;FOLD INI
@@ -15,7 +15,6 @@ DEF MainModule()
INTERRUPT DECL 24 WHEN $CYCFLAG[1] DO StopSafty()
INTERRUPT ON 24
;FOLD PTP $POS_ACT Tool[0] Base[0]
BAS(#INITMOV, 0)
BAS(#BASE, 0)
@@ -37,12 +36,16 @@ DEF AutoRun()
HALT
ENDIF
PdtTypeLast=I_ProductType
WAIT FOR (I_Cmd > 0) AND (I_CmdCount <> CmdCountLast) AND (Q_Cmd_Running==0)
WAIT FOR (I_Cmd > 0) AND (I_CmdCount <> Q_CmdCountRet) AND (Q_Cmd_Running==0)
CmdSave = I_Cmd
CmdCountLast = I_CmdCount
CmdCountLast=I_CmdCount
Q_Cmd_Running=CmdSave
OffsetX_Save=I_OffsetX
OffsetY_Save=I_OffsetY
PickOffsetX_Save=GetInt16(I_PickOffsetX)
PickOffsetY_Save=GetInt16(I_PickOffsetY)
PickOffsetZ_Save=GetInt16(I_PickOffsetZ)
PlaceOffsetX_Save=GetInt16(I_PlaceOffsetX)
PlaceOffsetY_Save=GetInt16(I_PlaceOffsetY)
PlaceOffsetZ_Save=GetInt16(I_PlaceOffsetZ)
CountX_Save=I_CountX
CountY_Save=I_CountY

View File

@@ -1,4 +1,4 @@
&ACCESS RVO4
&ACCESS RVO1
DEFFCT BOOL CheckInPos (R_offset:IN,EndPos:IN )
DECL REAL R_offset
DECL BOOL b_Pok

View File

@@ -0,0 +1,18 @@
&ACCESS RV
DEFFCT E6POS FixA6Jump(TargetPos:IN)
DECL E6POS TargetPos,NewPos
DECL REAL dA6
NewPos=TargetPos
dA6 = TargetPos.A - $AXIS_ACT.A6
WHILE dA6 > 180.0
NewPos.A = NewPos.A - 360.0
dA6 = TargetPos.A - $AXIS_ACT.A6
ENDWHILE
WHILE dA6 < -180.0
NewPos.A = NewPos.A + 360.0
dA6 = NewPos.A - $AXIS_ACT.A6
ENDWHILE
RETURN NewPos
ENDFCT

View File

@@ -0,0 +1,10 @@
&ACCESS RV
DEFFCT INT GetInt16 (iVal:IN )
DECL INT iVal,iRet
IF iVal>32767 THEN
iRet=iVal-65536
ELSE
iRet=iVal
ENDIF
RETURN iRet
ENDFCT

View File

@@ -1,4 +1,4 @@
&ACCESS RVO1
&ACCESS RVO
&REL 1
&PARAM DISKPATH = KRC:\R1\Program\PL
DEFDAT FEEDBELT1PICK
@@ -15,10 +15,10 @@ DECL INT SUCCESS
DECL MODULEPARAM_T LAST_TP_PARAMS={PARAMS[] "Kuka.VelocityFieldEnabled=True; Kuka.ColDetectFieldEnabled=True; Kuka.MovementParameterFieldEnabled=True; Kuka.IsAngleEnabled=False; Kuka.PointName=Pick; Kuka.FrameData.base_no=1; Kuka.FrameData.tool_no=1; Kuka.FrameData.ipo_frame=#BASE; Kuka.isglobalpoint=False; Kuka.MoveDataPtpName=PDAT1; Kuka.MovementDataPdat.apo_mode=#CDIS; Kuka.MovementDataPdat.apo_dist=500; Kuka.MovementData.vel=2; Kuka.MovementData.acc=100; Kuka.MovementData.exax_ign=0; Kuka.VelocityPtp=100; Kuka.BlendingEnabled=False; Kuka.APXEnabled=False; Kuka.CurrentCDSetIndex=0; Kuka.MoveDataName=CPDAT1; Kuka.MovementData.cb={AUX_PT {ORI #CONSIDER,E1 #CONSIDER,E2 #CONSIDER,E3 #CONSIDER,E4 #CONSIDER,E5 #CONSIDER,E6 #CONSIDER},TARGET_PT {ORI #INTERPOLATE,E1 #INTERPOLATE,E2 #INTERPOLATE,E3 #INTERPOLATE,E4 #INTERPOLATE,E5 #INTERPOLATE,E6 #INTERPOLATE}}; Kuka.MovementData.apo_fac=50; Kuka.MovementData.apo_dist=500; Kuka.MovementData.axis_acc=100; Kuka.MovementData.axis_vel=100; Kuka.MovementData.circ_typ=#BASE; Kuka.MovementData.jerk_fac=50; Kuka.MovementData.ori_typ=#VAR; Kuka.VelocityPath=2; Kuka.FrameData.point2= "}
DECL FDAT FPickH={TOOL_NO 1,BASE_NO 1,IPO_FRAME #BASE,POINT2[] " "}
DECL E6POS XPickH={X -371.799255,Y 3335.85059,Z 535.821533,A -167.311752,B 0.414277077,C 179.724655,S 2,T 35,E1 0.0,E2 0.0,E3 0.0,E4 0.0,E5 0.0,E6 0.0}
DECL E6POS XPickH={X -371.799255,Y 3335.85059,Z 537.000,A -167.311752,B 0.414277077,C 179.724655,S 2,T 35,E1 0.0,E2 0.0,E3 0.0,E4 0.0,E5 0.0,E6 0.0}
DECL LDAT LCPDAT1={VEL 2.00000,ACC 100.000,APO_DIST 500.000,APO_FAC 50.0000,AXIS_VEL 100.000,AXIS_ACC 100.000,ORI_TYP #VAR,CIRC_TYP #BASE,JERK_FAC 50.0000,GEAR_JERK 100.000,EXAX_IGN 0,CB {AUX_PT {ORI #CONSIDER,E1 #CONSIDER,E2 #CONSIDER,E3 #CONSIDER,E4 #CONSIDER,E5 #CONSIDER,E6 #CONSIDER},TARGET_PT {ORI #INTERPOLATE,E1 #INTERPOLATE,E2 #INTERPOLATE,E3 #INTERPOLATE,E4 #INTERPOLATE,E5 #INTERPOLATE,E6 #INTERPOLATE}}}
DECL FDAT FPick={TOOL_NO 1,BASE_NO 1,IPO_FRAME #BASE,POINT2[] " "}
DECL E6POS XPick={X -371.799255,Y 3335.85059,Z 35.8215332,A -167.311752,B 0.414277077,C 179.724655,S 2,T 35,E1 0.0,E2 0.0,E3 0.0,E4 0.0,E5 0.0,E6 0.0}
DECL E6POS XPick={X -371.799255,Y 3335.85059,Z 37.0000,A -167.311752,B 0.414277077,C 179.724655,S 2,T 35,E1 0.0,E2 0.0,E3 0.0,E4 0.0,E5 0.0,E6 0.0}
DECL LDAT LCPDAT2={VEL 2.00000,ACC 100.000,APO_DIST 500.000,APO_FAC 50.0000,AXIS_VEL 100.000,AXIS_ACC 100.000,ORI_TYP #VAR,CIRC_TYP #BASE,JERK_FAC 50.0000,GEAR_JERK 100.000,EXAX_IGN 0,CB {AUX_PT {ORI #CONSIDER,E1 #CONSIDER,E2 #CONSIDER,E3 #CONSIDER,E4 #CONSIDER,E5 #CONSIDER,E6 #CONSIDER},TARGET_PT {ORI #INTERPOLATE,E1 #INTERPOLATE,E2 #INTERPOLATE,E3 #INTERPOLATE,E4 #INTERPOLATE,E5 #INTERPOLATE,E6 #INTERPOLATE}}}
DECL PDAT PPDAT1={VEL 100.000,ACC 100.000,APO_DIST 500.000,APO_MODE #CDIS,GEAR_JERK 100.000,EXAX_IGN 0}

View File

@@ -1,7 +1,8 @@
&ACCESS RVO1
&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 ( )
@@ -14,7 +15,14 @@ DEF FeedBelt1Pick ( )
;ENDFOLD (USER INI)
;ENDFOLD (INI)
WAIT FOR $IN_HOME OR $IN_HOME1 OR $IN_HOME2 OR CheckInPos(20.0, END_POS)
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}

View File

@@ -1,4 +1,6 @@
&ACCESS RVO1
&ACCESS RVO
&REL 3
&PARAM DISKPATH = KRC:\R1\Program\PL
DEFDAT FEEDBELT2PICK
;FOLD EXTERNAL DECLARATIONS;%{PE}%MKUKATPBASIS,%CEXT,%VCOMMON,%P
;FOLD BASISTECH EXT;%{PE}%MKUKATPBASIS,%CEXT,%VEXT,%P
@@ -16,7 +18,7 @@ DECL LDAT LCPDAT1={VEL 2.00000,ACC 100.000,APO_DIST 500.000,APO_FAC 50.0000,AXIS
DECL PDAT PPDAT1={VEL 100.000,ACC 100.000,APO_DIST 500.000,APO_MODE #CDIS,GEAR_JERK 100.000,EXAX_IGN 0}
DECL FDAT FPickH={TOOL_NO 1,BASE_NO 1,IPO_FRAME #BASE,POINT2[] " "}
DECL MODULEPARAM_T LAST_TP_PARAMS={PARAMS[] "Kuka.VelocityFieldEnabled=True; Kuka.ColDetectFieldEnabled=True; Kuka.MovementParameterFieldEnabled=True; Kuka.IsAngleEnabled=False; Kuka.PointName=Pick; Kuka.FrameData.base_no=1; Kuka.FrameData.tool_no=1; Kuka.FrameData.ipo_frame=#BASE; Kuka.isglobalpoint=False; Kuka.MoveDataPtpName=PDAT1; Kuka.MovementDataPdat.apo_mode=#CDIS; Kuka.MovementDataPdat.apo_dist=500; Kuka.MovementData.vel=2; Kuka.MovementData.acc=100; Kuka.MovementData.exax_ign=0; Kuka.VelocityPtp=100; Kuka.BlendingEnabled=False; Kuka.APXEnabled=False; Kuka.CurrentCDSetIndex=0; Kuka.MoveDataName=CPDAT1; Kuka.MovementData.cb={AUX_PT {ORI #CONSIDER,E1 #CONSIDER,E2 #CONSIDER,E3 #CONSIDER,E4 #CONSIDER,E5 #CONSIDER,E6 #CONSIDER},TARGET_PT {ORI #INTERPOLATE,E1 #INTERPOLATE,E2 #INTERPOLATE,E3 #INTERPOLATE,E4 #INTERPOLATE,E5 #INTERPOLATE,E6 #INTERPOLATE}}; Kuka.MovementData.apo_fac=50; Kuka.MovementData.apo_dist=500; Kuka.MovementData.axis_acc=100; Kuka.MovementData.axis_vel=100; Kuka.MovementData.circ_typ=#BASE; Kuka.MovementData.jerk_fac=50; Kuka.MovementData.ori_typ=#VAR; Kuka.VelocityPath=2; Kuka.FrameData.point2= "}
DECL E6POS XPickH={X -513.757690,Y 3336.04053,Z 535.817505,A -167.311752,B 0.414277077,C 179.724655,S 2,T 35,E1 0.0,E2 0.0,E3 0.0,E4 0.0,E5 0.0,E6 0.0}
DECL E6POS XPick={X -513.757690,Y 3336.04053,Z 35.8174858,A -167.311752,B 0.414277077,C 179.724655,S 2,T 35,E1 0.0,E2 0.0,E3 0.0,E4 0.0,E5 0.0,E6 0.0}
DECL E6POS XPickH={X -513.757690,Y 3336.04053,Z 537.000,A -167.311752,B 0.414277077,C 179.724655,S 2,T 35,E1 0.0,E2 0.0,E3 0.0,E4 0.0,E5 0.0,E6 0.0}
DECL E6POS XPick={X -513.757690,Y 3336.04053,Z 37.0000,A -167.311752,B 0.414277077,C 179.724655,S 2,T 35,E1 0.0,E2 0.0,E3 0.0,E4 0.0,E5 0.0,E6 0.0}
DECL FDAT FPick={TOOL_NO 1,BASE_NO 1,IPO_FRAME #BASE,POINT2[] " "}
ENDDAT

View File

@@ -1,5 +1,8 @@
&ACCESS RVO1
&ACCESS RVO
&REL 3
&PARAM DISKPATH = KRC:\R1\Program\PL
DEF FeedBelt2Pick ( )
DECL REAL x_offset,y_offset,z_offset
;FOLD INI;%{PE}
;FOLD BASISTECH INI
GLOBAL INTERRUPT DECL 3 WHEN $STOPMESS==TRUE DO IR_STOPM ( )
@@ -13,6 +16,13 @@ DEF FeedBelt2Pick ( )
;ENDFOLD (INI)
WAIT FOR $IN_HOME OR $IN_HOME1 OR $IN_HOME2 OR CheckInPos(20.0, END_POS)
XPick=XFeedBelt2Pick
x_offset=PickOffsetX_Save/10.0
y_offset=PickOffsetY_Save/10.0
z_offset=PickOffsetZ_Save/10.0
XPick.X=XFeedBelt2Pick.X + x_offset
XPick.Y=XFeedBelt2Pick.Y + y_offset
XPick.Z=XFeedBelt2Pick.Z + z_offset
XPickH=XPick
XPickH.Z=XPick.Z+500
;FOLD SPTP PickH CONT Vel=100 % PDAT1 Tool[1]:Tool1 Base[1] ;%{PE}

View File

@@ -1,4 +1,4 @@
&ACCESS RVP1
&ACCESS RVO
DEFDAT NGBELTPLACE
;FOLD EXTERNAL DECLARATIONS;%{PE}%MKUKATPBASIS,%CEXT,%VCOMMON,%P
;FOLD BASISTECH EXT;%{PE}%MKUKATPBASIS,%CEXT,%VEXT,%P

View File

@@ -1,5 +1,6 @@
&ACCESS RVP1
&ACCESS RVO
DEF NgBeltPlace ( )
DECL REAL x_offset,y_offset,z_offset
;FOLD INI;%{PE}
;FOLD BASISTECH INI
GLOBAL INTERRUPT DECL 3 WHEN $STOPMESS==TRUE DO IR_STOPM ( )
@@ -13,6 +14,13 @@ DEF NgBeltPlace ( )
;ENDFOLD (INI)
WAIT FOR $IN_HOME OR $IN_HOME1 OR $IN_HOME2 OR CheckInPos(20.0, END_POS)
XPlace=XNgBeltPlace
x_offset=PlaceOffsetX_Save/10.0
y_offset=PlaceOffsetY_Save/10.0
z_offset=PlaceOffsetZ_Save/10.0
XPlace.X=XNgBeltPlace.X + x_offset
XPlace.Y=XNgBeltPlace.Y + y_offset
XPlace.Z=XNgBeltPlace.Z + z_offset
XPlaceH=XPlace
XPlaceH.Z=XPlace.Z+500
;FOLD SPTP PlaceH CONT Vel=100 % PDAT1 Tool[1]:Tool1 Base[1] ;%{PE}

View File

@@ -1,5 +1,5 @@
&ACCESS RV1
&REL 1
&ACCESS RV
&REL 3
&PARAM DISKPATH = KRC:\R1\Program\PL
DEFDAT PALLET1PLACE
;FOLD EXTERNAL DECLARATIONS;%{PE}%MKUKATPBASIS,%CEXT,%VCOMMON,%P
@@ -15,14 +15,17 @@ DECL INT SUCCESS
DECL MODULEPARAM_T LAST_TP_PARAMS={PARAMS[] "Kuka.VelocityFieldEnabled=True; Kuka.ColDetectFieldEnabled=True; Kuka.MovementParameterFieldEnabled=True; Kuka.IsAngleEnabled=False; Kuka.PointName=Place; Kuka.FrameData.base_no=1; Kuka.FrameData.tool_no=1; Kuka.FrameData.ipo_frame=#BASE; Kuka.isglobalpoint=False; Kuka.MoveDataPtpName=PDAT1; Kuka.MovementDataPdat.apo_mode=#CDIS; Kuka.MovementDataPdat.apo_dist=500; Kuka.MovementData.vel=2; Kuka.MovementData.acc=100; Kuka.MovementData.exax_ign=0; Kuka.VelocityPtp=100; Kuka.BlendingEnabled=False; Kuka.APXEnabled=False; Kuka.CurrentCDSetIndex=0; Kuka.MoveDataName=CPDAT1; Kuka.MovementData.cb={AUX_PT {ORI #CONSIDER,E1 #CONSIDER,E2 #CONSIDER,E3 #CONSIDER,E4 #CONSIDER,E5 #CONSIDER,E6 #CONSIDER},TARGET_PT {ORI #INTERPOLATE,E1 #INTERPOLATE,E2 #INTERPOLATE,E3 #INTERPOLATE,E4 #INTERPOLATE,E5 #INTERPOLATE,E6 #INTERPOLATE}}; Kuka.MovementData.apo_fac=50; Kuka.MovementData.apo_dist=500; Kuka.MovementData.axis_acc=100; Kuka.MovementData.axis_vel=100; Kuka.MovementData.circ_typ=#BASE; Kuka.MovementData.jerk_fac=50; Kuka.MovementData.ori_typ=#VAR; Kuka.VelocityPath=2; Kuka.FrameData.point2= "}
DECL FDAT FPlaceH={TOOL_NO 1,BASE_NO 1,IPO_FRAME #BASE,POINT2[] " "}
DECL E6POS XPlaceH={X 1800.64709,Y -146.362045,Z 1228.85449,A -165.397675,B -1.88142359,C 179.427,S 2,T 2,E1 0.0,E2 0.0,E3 0.0,E4 0.0,E5 0.0,E6 0.0}
DECL MODULEPARAM_T LAST_TP_PARAMS = {PARAMS[] "Kuka.VelocityFieldEnabled=True; Kuka.ColDetectFieldEnabled=True; Kuka.MovementParameterFieldEnabled=True; Kuka.IsAngleEnabled=False; Kuka.PointName=PlaceH; Kuka.FrameData.base_no=1; Kuka.FrameData.tool_no=1; Kuka.FrameData.ipo_frame=#BASE; Kuka.isglobalpoint=False; Kuka.MoveDataPtpName=PDAT3; Kuka.MovementDataPdat.apo_mode=#CDIS; Kuka.MovementDataPdat.apo_dist=500; Kuka.MovementData.vel=100; Kuka.MovementData.acc=100; Kuka.MovementData.exax_ign=0; Kuka.VelocityPtp=100; Kuka.BlendingEnabled=True; Kuka.APXEnabled=False; Kuka.CurrentCDSetIndex=0; Kuka.MoveDataName=CPDAT3; Kuka.MovementData.cb={AUX_PT {ORI #CONSIDER,E1 #CONSIDER,E2 #CONSIDER,E3 #CONSIDER,E4 #CONSIDER,E5 #CONSIDER,E6 #CONSIDER},TARGET_PT {ORI #INTERPOLATE,E1 #INTERPOLATE,E2 #INTERPOLATE,E3 #INTERPOLATE,E4 #INTERPOLATE,E5 #INTERPOLATE,E6 #INTERPOLATE}}; Kuka.MovementData.apo_fac=50; Kuka.MovementData.apo_dist=500; Kuka.MovementData.axis_acc=100; Kuka.MovementData.axis_vel=100; Kuka.MovementData.circ_typ=#BASE; Kuka.MovementData.jerk_fac=50; Kuka.MovementData.ori_typ=#VAR; Kuka.VelocityPath=2; Kuka.FrameData.point2= "}
DECL FDAT FPlaceH={BASE_NO 1,TOOL_NO 1,IPO_FRAME #BASE,POINT2[] " "}
DECL E6POS XPlaceH={X 1384.94043,Y 2642.32153,Z 765.978271,A -164.789139,B 0.414351225,C 179.724762,S 2,T 43,E1 0.0,E2 0.0,E3 0.0,E4 0.0,E5 0.0,E6 0.0}
DECL LDAT LCPDAT1={VEL 2.00000,ACC 100.000,APO_DIST 500.000,APO_FAC 50.0000,AXIS_VEL 100.000,AXIS_ACC 100.000,ORI_TYP #VAR,CIRC_TYP #BASE,JERK_FAC 50.0000,GEAR_JERK 100.000,EXAX_IGN 0,CB {AUX_PT {ORI #CONSIDER,E1 #CONSIDER,E2 #CONSIDER,E3 #CONSIDER,E4 #CONSIDER,E5 #CONSIDER,E6 #CONSIDER},TARGET_PT {ORI #INTERPOLATE,E1 #INTERPOLATE,E2 #INTERPOLATE,E3 #INTERPOLATE,E4 #INTERPOLATE,E5 #INTERPOLATE,E6 #INTERPOLATE}}}
DECL FDAT FPlace={TOOL_NO 1,BASE_NO 1,IPO_FRAME #BASE,POINT2[] " "}
DECL E6POS XPlace={X 1800.64709,Y -146.362045,Z 728.854492,A -165.397675,B -1.88142359,C 179.427,S 2,T 2,E1 0.0,E2 0.0,E3 0.0,E4 0.0,E5 0.0,E6 0.0}
DECL E6POS XPlace={X 1384.94043,Y 2642.32153,Z 265.978241,A -164.789139,B 0.414351225,C 179.724762,S 2,T 43,E1 0.0,E2 0.0,E3 0.0,E4 0.0,E5 0.0,E6 0.0}
DECL LDAT LCPDAT2={VEL 2.00000,ACC 100.000,APO_DIST 500.000,APO_FAC 50.0000,AXIS_VEL 100.000,AXIS_ACC 100.000,ORI_TYP #VAR,CIRC_TYP #BASE,JERK_FAC 50.0000,GEAR_JERK 100.000,EXAX_IGN 0,CB {AUX_PT {ORI #CONSIDER,E1 #CONSIDER,E2 #CONSIDER,E3 #CONSIDER,E4 #CONSIDER,E5 #CONSIDER,E6 #CONSIDER},TARGET_PT {ORI #INTERPOLATE,E1 #INTERPOLATE,E2 #INTERPOLATE,E3 #INTERPOLATE,E4 #INTERPOLATE,E5 #INTERPOLATE,E6 #INTERPOLATE}}}
DECL PDAT PPDAT1={VEL 100.000,ACC 100.000,APO_DIST 500.000,APO_MODE #CDIS,GEAR_JERK 100.000,EXAX_IGN 0}
DECL FDAT FHOME1={TOOL_NO 1,BASE_NO 0,IPO_FRAME #BASE,POINT2[] " "}
DECL PDAT PPDAT2={VEL 100.000,ACC 100.000,APO_DIST 500.000,APO_MODE #CDIS,GEAR_JERK 100.000,EXAX_IGN 0}
DECL FDAT FHOME1={BASE_NO 1,TOOL_NO 1,IPO_FRAME #BASE,POINT2[] " "}
DECL PDAT PPDAT2={APO_MODE #CDIS,APO_DIST 500,VEL 100,ACC 100,GEAR_JERK 100.0,EXAX_IGN 0}
DECL LDAT LCPDAT3={VEL 2.00000,ACC 100.000,APO_DIST 500.000,APO_FAC 50.0000,AXIS_VEL 100.000,AXIS_ACC 100.000,ORI_TYP #VAR,CIRC_TYP #BASE,JERK_FAC 50.0000,GEAR_JERK 100.000,EXAX_IGN 0,CB {AUX_PT {ORI #CONSIDER,E1 #CONSIDER,E2 #CONSIDER,E3 #CONSIDER,E4 #CONSIDER,E5 #CONSIDER,E6 #CONSIDER},TARGET_PT {ORI #INTERPOLATE,E1 #INTERPOLATE,E2 #INTERPOLATE,E3 #INTERPOLATE,E4 #INTERPOLATE,E5 #INTERPOLATE,E6 #INTERPOLATE}}}
DECL PDAT PPDAT3 = {APO_MODE #CDIS,APO_DIST 500,VEL 100,ACC 100,GEAR_JERK 100.0,EXAX_IGN 0}
DECL PDAT PPDAT4 = {APO_MODE #CDIS,APO_DIST 500,VEL 100,ACC 100,GEAR_JERK 100.0,EXAX_IGN 0}
ENDDAT

View File

@@ -1,8 +1,8 @@
&ACCESS RV1
&REL 1
&ACCESS RV
&REL 3
&PARAM DISKPATH = KRC:\R1\Program\PL
DEF Pallet1Place ( )
DECL REAL x_offset,y_offset
DECL REAL x_offset,y_offset,z_offset
;FOLD INI;%{PE}
;FOLD BASISTECH INI
GLOBAL INTERRUPT DECL 3 WHEN $STOPMESS==TRUE DO IR_STOPM ( )
@@ -17,17 +17,28 @@ DEF Pallet1Place ( )
WAIT FOR $IN_HOME OR $IN_HOME1 OR $IN_HOME2 OR CheckInPos(20.0, END_POS)
XPlace=XPallet1PlaceB
x_offset=OffsetX_Save/10.0
y_offset=OffsetY_Save/10.0
XPlace.X=XPallet1PlaceB.X - CountX_Save*x_offset
XPlace.Y=XPallet1PlaceB.Y - CountY_Save*y_offset
x_offset=PlaceOffsetX_Save/10.0
y_offset=PlaceOffsetY_Save/10.0
z_offset=PlaceOffsetZ_Save/10.0
XPlace.X=XPallet1PlaceB.X + CountX_Save*x_offset
XPlace.Y=XPallet1PlaceB.Y + CountY_Save*y_offset
XPlace.Z=XPallet1PlaceB.Z + z_offset
XPlaceH=XPlace
XPlaceH.Z=XPlace.Z+500
;FOLD SPTP PlaceH CONT Vel=100 % PDAT1 Tool[1]:Tool1 Base[1] ;%{PE}
;FOLD SPTP HOME1 CONT Vel=100 % PDAT3 ;%{PE}
;FOLD Parameters ;%{h}
;Params IlfProvider=kukaroboter.basistech.inlineforms.movement.spline; Kuka.IsGlobalPoint=False; Kuka.PointName=PlaceH; Kuka.BlendingEnabled=True; Kuka.MoveDataPtpName=PDAT1; Kuka.VelocityPtp=100; Kuka.VelocityFieldEnabled=True; Kuka.ColDetectFieldEnabled=True; Kuka.CurrentCDSetIndex=0; Kuka.MovementParameterFieldEnabled=True; IlfCommand=SPTP
;Params IlfProvider=kukaroboter.basistech.inlineforms.movement.spline; Kuka.IsGlobalPoint=False; Kuka.PointName=HOME1; Kuka.BlendingEnabled=True; Kuka.MoveDataPtpName=PDAT3; Kuka.VelocityPtp=100; Kuka.VelocityFieldEnabled=True; Kuka.ColDetectFieldEnabled=True; Kuka.CurrentCDSetIndex=0; Kuka.MovementParameterFieldEnabled=True; IlfCommand=SPTP
;ENDFOLD
SPTP XPlaceH WITH $VEL_AXIS[1] = SVEL_JOINT(100.0), $TOOL = STOOL2(FPlaceH), $BASE = SBASE(FPlaceH.BASE_NO), $IPO_MODE = SIPO_MODE(FPlaceH.IPO_FRAME), $LOAD = SLOAD(FPlaceH.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
SPTP XHOME1 WITH $VEL_AXIS[1] = SVEL_JOINT(100.0), $TOOL = STOOL2(FHOME1), $BASE = SBASE(FHOME1.BASE_NO), $IPO_MODE = SIPO_MODE(FHOME1.IPO_FRAME), $LOAD = SLOAD(FHOME1.TOOL_NO), $ACC_AXIS[1] = SACC_JOINT(PPDAT3), $APO = SAPO_PTP(PPDAT3), $GEAR_JERK[1] = SGEAR_JERK(PPDAT3), $COLLMON_TOL_PRO[1] = USE_CM_PRO_VALUES(0) C_Spl
;ENDFOLD
;FOLD SPTP PlaceH CONT Vel=100 % PDAT4 Tool[1]:Tool1 Base[1]:Base1 ;%{PE}
;FOLD Parameters ;%{h}
;Params IlfProvider=kukaroboter.basistech.inlineforms.movement.spline; Kuka.IsGlobalPoint=False; Kuka.PointName=PlaceH; Kuka.BlendingEnabled=True; Kuka.MoveDataPtpName=PDAT4; Kuka.VelocityPtp=100; Kuka.VelocityFieldEnabled=True; Kuka.ColDetectFieldEnabled=True; Kuka.CurrentCDSetIndex=0; Kuka.MovementParameterFieldEnabled=True; IlfCommand=SPTP
;ENDFOLD
SPTP XPlaceH WITH $VEL_AXIS[1] = SVEL_JOINT(100.0), $TOOL = STOOL2(FPlaceH), $BASE = SBASE(FPlaceH.BASE_NO), $IPO_MODE = SIPO_MODE(FPlaceH.IPO_FRAME), $LOAD = SLOAD(FPlaceH.TOOL_NO), $ACC_AXIS[1] = SACC_JOINT(PPDAT4), $APO = SAPO_PTP(PPDAT4), $GEAR_JERK[1] = SGEAR_JERK(PPDAT4), $COLLMON_TOL_PRO[1] = USE_CM_PRO_VALUES(0) C_Spl
;ENDFOLD
CONTINUE
WAIT FOR I_AreaReady2 AND NOT I_GripBelowExist AND I_GripSafty1 AND I_GripSafty2
@@ -50,10 +61,10 @@ DEF Pallet1Place ( )
Q_AreaEnter2=FALSE
ActionReturn(1)
;FOLD SPTP HOME1 Vel=100 % PDAT2 ;%{PE}
;FOLD Parameters ;%{h}
;Params IlfProvider=kukaroboter.basistech.inlineforms.movement.spline; Kuka.IsGlobalPoint=False; Kuka.PointName=HOME1; Kuka.BlendingEnabled=False; Kuka.MoveDataPtpName=PDAT2; Kuka.VelocityPtp=100; Kuka.VelocityFieldEnabled=True; Kuka.ColDetectFieldEnabled=True; Kuka.CurrentCDSetIndex=0; Kuka.MovementParameterFieldEnabled=True; IlfCommand=SPTP
;ENDFOLD
SPTP XHOME1 WITH $VEL_AXIS[1] = SVEL_JOINT(100.0), $TOOL = STOOL2(FHOME1), $BASE = SBASE(FHOME1.BASE_NO), $IPO_MODE = SIPO_MODE(FHOME1.IPO_FRAME), $LOAD = SLOAD(FHOME1.TOOL_NO), $ACC_AXIS[1] = SACC_JOINT(PPDAT2), $APO = SAPO_PTP(PPDAT2), $GEAR_JERK[1] = SGEAR_JERK(PPDAT2), $COLLMON_TOL_PRO[1] = USE_CM_PRO_VALUES(0)
;FOLD Parameters ;%{h}
;Params IlfProvider=kukaroboter.basistech.inlineforms.movement.spline; Kuka.IsGlobalPoint=False; Kuka.PointName=HOME1; Kuka.BlendingEnabled=False; Kuka.MoveDataPtpName=PDAT2; Kuka.VelocityPtp=100; Kuka.VelocityFieldEnabled=True; Kuka.ColDetectFieldEnabled=True; Kuka.CurrentCDSetIndex=0; Kuka.MovementParameterFieldEnabled=True; IlfCommand=SPTP
;ENDFOLD
SPTP XHOME1 WITH $VEL_AXIS[1] = SVEL_JOINT(100.0), $TOOL = STOOL2(FHOME1), $BASE = SBASE(FHOME1.BASE_NO), $IPO_MODE = SIPO_MODE(FHOME1.IPO_FRAME), $LOAD = SLOAD(FHOME1.TOOL_NO), $ACC_AXIS[1] = SACC_JOINT(PPDAT2), $APO = SAPO_PTP(PPDAT2), $GEAR_JERK[1] = SGEAR_JERK(PPDAT2), $COLLMON_TOL_PRO[1] = USE_CM_PRO_VALUES(0)
;ENDFOLD
END_POS=$POS_ACT

View File

@@ -1,5 +1,5 @@
&ACCESS RVO1
&REL 1
&ACCESS RVP
&REL 5
&PARAM DISKPATH = KRC:\R1\Program\PL
DEFDAT PALLET2PLACE
;FOLD EXTERNAL DECLARATIONS;%{PE}%MKUKATPBASIS,%CEXT,%VCOMMON,%P
@@ -12,14 +12,18 @@ DECL INT SUCCESS
;ENDFOLD (USER EXT)
;ENDFOLD (EXTERNAL DECLARATIONS)
DECL MODULEPARAM_T LAST_TP_PARAMS={PARAMS[] "Kuka.VelocityFieldEnabled=True; Kuka.ColDetectFieldEnabled=True; Kuka.MovementParameterFieldEnabled=True; Kuka.IsAngleEnabled=False; Kuka.PointName=Place; Kuka.FrameData.base_no=1; Kuka.FrameData.tool_no=1; Kuka.FrameData.ipo_frame=#BASE; Kuka.isglobalpoint=False; Kuka.MoveDataPtpName=PDAT1; Kuka.MovementDataPdat.apo_mode=#CDIS; Kuka.MovementDataPdat.apo_dist=500; Kuka.MovementData.vel=2; Kuka.MovementData.acc=100; Kuka.MovementData.exax_ign=0; Kuka.VelocityPtp=100; Kuka.BlendingEnabled=False; Kuka.APXEnabled=False; Kuka.CurrentCDSetIndex=0; Kuka.MoveDataName=CPDAT1; Kuka.MovementData.cb={AUX_PT {ORI #CONSIDER,E1 #CONSIDER,E2 #CONSIDER,E3 #CONSIDER,E4 #CONSIDER,E5 #CONSIDER,E6 #CONSIDER},TARGET_PT {ORI #INTERPOLATE,E1 #INTERPOLATE,E2 #INTERPOLATE,E3 #INTERPOLATE,E4 #INTERPOLATE,E5 #INTERPOLATE,E6 #INTERPOLATE}}; Kuka.MovementData.apo_fac=50; Kuka.MovementData.apo_dist=500; Kuka.MovementData.axis_acc=100; Kuka.MovementData.axis_vel=100; Kuka.MovementData.circ_typ=#BASE; Kuka.MovementData.jerk_fac=50; Kuka.MovementData.ori_typ=#VAR; Kuka.VelocityPath=2; Kuka.FrameData.point2= "}
DECL MODULEPARAM_T LAST_TP_PARAMS={PARAMS[] "Kuka.VelocityFieldEnabled=True; Kuka.ColDetectFieldEnabled=True; Kuka.MovementParameterFieldEnabled=True; Kuka.IsAngleEnabled=False; Kuka.PointName=PlaceH; Kuka.FrameData.base_no=1; Kuka.FrameData.tool_no=1; Kuka.FrameData.ipo_frame=#BASE; Kuka.isglobalpoint=False; Kuka.MoveDataPtpName=PDAT3; Kuka.MovementDataPdat.apo_mode=#CDIS; Kuka.MovementDataPdat.apo_dist=500; Kuka.MovementData.vel=100; Kuka.MovementData.acc=100; Kuka.MovementData.exax_ign=0; Kuka.VelocityPtp=100; Kuka.BlendingEnabled=True; Kuka.APXEnabled=False; Kuka.CurrentCDSetIndex=0; Kuka.MoveDataName=CPDAT3; Kuka.MovementData.cb={AUX_PT {ORI #CONSIDER,E1 #CONSIDER,E2 #CONSIDER,E3 #CONSIDER,E4 #CONSIDER,E5 #CONSIDER,E6 #CONSIDER},TARGET_PT {ORI #INTERPOLATE,E1 #INTERPOLATE,E2 #INTERPOLATE,E3 #INTERPOLATE,E4 #INTERPOLATE,E5 #INTERPOLATE,E6 #INTERPOLATE}}; Kuka.MovementData.apo_fac=50; Kuka.MovementData.apo_dist=500; Kuka.MovementData.axis_acc=100; Kuka.MovementData.axis_vel=100; Kuka.MovementData.circ_typ=#BASE; Kuka.MovementData.jerk_fac=50; Kuka.MovementData.ori_typ=#VAR; Kuka.VelocityPath=2; Kuka.FrameData.point2= "}
DECL FDAT FPlaceH={TOOL_NO 1,BASE_NO 1,IPO_FRAME #BASE,POINT2[] " "}
DECL E6POS XPlaceH={X 254.640381,Y 1982.32153,Z 665.978271,A -164.789139,B 0.414351225,C 179.724762,S 2,T 43,E1 0.0,E2 0.0,E3 0.0,E4 0.0,E5 0.0,E6 0.0}
DECL E6POS XPlaceH={X 1268.24036,Y 2642.32153,Z 665.978271,A -164.789139,B 0.414351225,C 179.724762,S 2,T 43,E1 0.0,E2 0.0,E3 0.0,E4 0.0,E5 0.0,E6 0.0}
DECL LDAT LCPDAT1={VEL 2.00000,ACC 100.000,APO_DIST 500.000,APO_FAC 50.0000,AXIS_VEL 100.000,AXIS_ACC 100.000,ORI_TYP #VAR,CIRC_TYP #BASE,JERK_FAC 50.0000,GEAR_JERK 100.000,EXAX_IGN 0,CB {AUX_PT {ORI #CONSIDER,E1 #CONSIDER,E2 #CONSIDER,E3 #CONSIDER,E4 #CONSIDER,E5 #CONSIDER,E6 #CONSIDER},TARGET_PT {ORI #INTERPOLATE,E1 #INTERPOLATE,E2 #INTERPOLATE,E3 #INTERPOLATE,E4 #INTERPOLATE,E5 #INTERPOLATE,E6 #INTERPOLATE}}}
DECL FDAT FPlace={TOOL_NO 1,BASE_NO 1,IPO_FRAME #BASE,POINT2[] " "}
DECL E6POS XPlace={X 254.640381,Y 1982.32153,Z 265.978241,A -164.789139,B 0.414351225,C 179.724762,S 2,T 43,E1 0.0,E2 0.0,E3 0.0,E4 0.0,E5 0.0,E6 0.0}
DECL E6POS XPlace={X 1268.24036,Y 2642.32153,Z 265.978241,A -164.789139,B 0.414351225,C 179.724762,S 2,T 43,E1 0.0,E2 0.0,E3 0.0,E4 0.0,E5 0.0,E6 0.0}
DECL LDAT LCPDAT2={VEL 2.00000,ACC 100.000,APO_DIST 500.000,APO_FAC 50.0000,AXIS_VEL 100.000,AXIS_ACC 100.000,ORI_TYP #VAR,CIRC_TYP #BASE,JERK_FAC 50.0000,GEAR_JERK 100.000,EXAX_IGN 0,CB {AUX_PT {ORI #CONSIDER,E1 #CONSIDER,E2 #CONSIDER,E3 #CONSIDER,E4 #CONSIDER,E5 #CONSIDER,E6 #CONSIDER},TARGET_PT {ORI #INTERPOLATE,E1 #INTERPOLATE,E2 #INTERPOLATE,E3 #INTERPOLATE,E4 #INTERPOLATE,E5 #INTERPOLATE,E6 #INTERPOLATE}}}
DECL PDAT PPDAT1={VEL 100.000,ACC 100.000,APO_DIST 500.000,APO_MODE #CDIS,GEAR_JERK 100.000,EXAX_IGN 0}
DECL FDAT FHOME1={TOOL_NO 1,BASE_NO 0,IPO_FRAME #BASE,POINT2[] " "}
DECL FDAT FHOME1={TOOL_NO 0,BASE_NO 0,IPO_FRAME #BASE,POINT2[] " "}
DECL PDAT PPDAT2={VEL 100.000,ACC 100.000,APO_DIST 500.000,APO_MODE #CDIS,GEAR_JERK 100.000,EXAX_IGN 0}
DECL LDAT LCPDAT3={VEL 2.00000,ACC 100.000,APO_DIST 500.000,APO_FAC 50.0000,AXIS_VEL 100.000,AXIS_ACC 100.000,ORI_TYP #VAR,CIRC_TYP #BASE,JERK_FAC 50.0000,GEAR_JERK 100.000,EXAX_IGN 0,CB {AUX_PT {ORI #CONSIDER,E1 #CONSIDER,E2 #CONSIDER,E3 #CONSIDER,E4 #CONSIDER,E5 #CONSIDER,E6 #CONSIDER},TARGET_PT {ORI #INTERPOLATE,E1 #INTERPOLATE,E2 #INTERPOLATE,E3 #INTERPOLATE,E4 #INTERPOLATE,E5 #INTERPOLATE,E6 #INTERPOLATE}}}
DECL PDAT PPDAT3={VEL 100.000,ACC 100.000,APO_DIST 500.000,APO_MODE #CDIS,GEAR_JERK 100.000,EXAX_IGN 0}
DECL FDAT FHOME2={TOOL_NO 1,BASE_NO 0,IPO_FRAME #BASE,POINT2[] " "}
DECL E6POS XHOME1={X 1407.35352,Y 1741.39893,Z 1283.17041,A -164.745026,B 0.372301966,C 179.768570,S 2,T 35,E1 0.0,E2 0.0,E3 0.0,E4 0.0,E5 0.0,E6 0.0}
ENDDAT

View File

@@ -1,8 +1,8 @@
&ACCESS RVO1
&REL 1
&ACCESS RVP
&REL 5
&PARAM DISKPATH = KRC:\R1\Program\PL
DEF Pallet2Place ( )
DECL REAL x_offset,y_offset
DECL REAL x_offset,y_offset,z_offset
;FOLD INI;%{PE}
;FOLD BASISTECH INI
GLOBAL INTERRUPT DECL 3 WHEN $STOPMESS==TRUE DO IR_STOPM ( )
@@ -16,17 +16,28 @@ DEF Pallet2Place ( )
;ENDFOLD (INI)
WAIT FOR $IN_HOME OR $IN_HOME1 OR $IN_HOME2 OR CheckInPos(20.0, END_POS)
XPlace=XPallet2PlaceB
x_offset=OffsetX_Save/10.0
y_offset=OffsetY_Save/10.0
XPlace.X=XPallet1PlaceB.X - CountX_Save*x_offset
XPlace.Y=XPallet1PlaceB.Y - CountY_Save*y_offset
x_offset=PlaceOffsetX_Save/10.0
y_offset=PlaceOffsetY_Save/10.0
z_offset=PlaceOffsetZ_Save/10.0
XPlace.X=XPallet1PlaceB.X + CountX_Save*x_offset
XPlace.Y=XPallet1PlaceB.Y + CountY_Save*y_offset
XPlace.Z=XPallet1PlaceB.Z + z_offset
XPlaceH=XPlace
XPlaceH.Z=XPlace.Z+400
;FOLD SPTP PlaceH CONT Vel=100 % PDAT1 Tool[1]:Tool1 Base[1]:Base1 ;%{PE}
;FOLD Parameters ;%{h}
;Params IlfProvider=kukaroboter.basistech.inlineforms.movement.spline; Kuka.IsGlobalPoint=False; Kuka.PointName=PlaceH; 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 XPlaceH WITH $VEL_AXIS[1] = SVEL_JOINT(100.0), $TOOL = STOOL2(FPlaceH), $BASE = SBASE(FPlaceH.BASE_NO), $IPO_MODE = SIPO_MODE(FPlaceH.IPO_FRAME), $LOAD = SLOAD(FPlaceH.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
;FOLD SPTP HOME1 CONT Vel=100 % PDAT3 ;%{PE}
;FOLD Parameters ;%{h}
;Params IlfProvider=kukaroboter.basistech.inlineforms.movement.spline; Kuka.IsGlobalPoint=False; Kuka.PointName=HOME1; Kuka.BlendingEnabled=True; Kuka.MoveDataPtpName=PDAT3; Kuka.VelocityPtp=100; Kuka.VelocityFieldEnabled=True; Kuka.ColDetectFieldEnabled=True; Kuka.CurrentCDSetIndex=0; Kuka.MovementParameterFieldEnabled=True; IlfCommand=SPTP
;ENDFOLD
SPTP XHOME1 WITH $VEL_AXIS[1] = SVEL_JOINT(100.0), $TOOL = STOOL2(FHOME1), $BASE = SBASE(FHOME1.BASE_NO), $IPO_MODE = SIPO_MODE(FHOME1.IPO_FRAME), $LOAD = SLOAD(FHOME1.TOOL_NO), $ACC_AXIS[1] = SACC_JOINT(PPDAT3), $APO = SAPO_PTP(PPDAT3), $GEAR_JERK[1] = SGEAR_JERK(PPDAT3), $COLLMON_TOL_PRO[1] = USE_CM_PRO_VALUES(0) C_Spl
;ENDFOLD
;FOLD SLIN PlaceH CONT Vel=2 m/s CPDAT3 Tool[1]:Tool1 Base[1]:Base1 ;%{PE}
;FOLD Parameters ;%{h}
;Params IlfProvider=kukaroboter.basistech.inlineforms.movement.spline; Kuka.IsGlobalPoint=False; Kuka.PointName=PlaceH; Kuka.BlendingEnabled=True; Kuka.MoveDataName=CPDAT3; Kuka.VelocityPath=2; Kuka.VelocityFieldEnabled=True; Kuka.ColDetectFieldEnabled=True; Kuka.CurrentCDSetIndex=0; Kuka.MovementParameterFieldEnabled=True; IlfCommand=SLIN
;ENDFOLD
SLIN XPlaceH WITH $VEL = SVEL_CP(2.0, , LCPDAT3), $TOOL = STOOL2(FPlaceH), $BASE = SBASE(FPlaceH.BASE_NO), $IPO_MODE = SIPO_MODE(FPlaceH.IPO_FRAME), $LOAD = SLOAD(FPlaceH.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
CONTINUE
WAIT FOR I_AreaReady2 AND NOT I_GripBelowExist AND I_GripSafty1 AND I_GripSafty2
@@ -49,10 +60,10 @@ DEF Pallet2Place ( )
Q_AreaEnter2=FALSE
ActionReturn(1)
;FOLD SPTP HOME1 Vel=100 % PDAT2 ;%{PE}
;FOLD Parameters ;%{h}
;Params IlfProvider=kukaroboter.basistech.inlineforms.movement.spline; Kuka.IsGlobalPoint=False; Kuka.PointName=HOME1; Kuka.BlendingEnabled=False; Kuka.MoveDataPtpName=PDAT2; Kuka.VelocityPtp=100; Kuka.VelocityFieldEnabled=True; Kuka.ColDetectFieldEnabled=True; Kuka.CurrentCDSetIndex=0; Kuka.MovementParameterFieldEnabled=True; IlfCommand=SPTP
;ENDFOLD
SPTP XHOME1 WITH $VEL_AXIS[1] = SVEL_JOINT(100.0), $TOOL = STOOL2(FHOME1), $BASE = SBASE(FHOME1.BASE_NO), $IPO_MODE = SIPO_MODE(FHOME1.IPO_FRAME), $LOAD = SLOAD(FHOME1.TOOL_NO), $ACC_AXIS[1] = SACC_JOINT(PPDAT2), $APO = SAPO_PTP(PPDAT2), $GEAR_JERK[1] = SGEAR_JERK(PPDAT2), $COLLMON_TOL_PRO[1] = USE_CM_PRO_VALUES(0)
;FOLD Parameters ;%{h}
;Params IlfProvider=kukaroboter.basistech.inlineforms.movement.spline; Kuka.IsGlobalPoint=False; Kuka.PointName=HOME1; Kuka.BlendingEnabled=False; Kuka.MoveDataPtpName=PDAT2; Kuka.VelocityPtp=100; Kuka.VelocityFieldEnabled=True; Kuka.ColDetectFieldEnabled=True; Kuka.CurrentCDSetIndex=0; Kuka.MovementParameterFieldEnabled=True; IlfCommand=SPTP
;ENDFOLD
SPTP XHOME1 WITH $VEL_AXIS[1] = SVEL_JOINT(100.0), $TOOL = STOOL2(FHOME1), $BASE = SBASE(FHOME1.BASE_NO), $IPO_MODE = SIPO_MODE(FHOME1.IPO_FRAME), $LOAD = SLOAD(FHOME1.TOOL_NO), $ACC_AXIS[1] = SACC_JOINT(PPDAT2), $APO = SAPO_PTP(PPDAT2), $GEAR_JERK[1] = SGEAR_JERK(PPDAT2), $COLLMON_TOL_PRO[1] = USE_CM_PRO_VALUES(0)
;ENDFOLD
END_POS=$POS_ACT

View File

@@ -1,4 +1,4 @@
&ACCESS RVP1
&ACCESS RVO
DEFDAT REFEEDBELTPICK
;FOLD EXTERNAL DECLARATIONS;%{PE}%MKUKATPBASIS,%CEXT,%VCOMMON,%P
;FOLD BASISTECH EXT;%{PE}%MKUKATPBASIS,%CEXT,%VEXT,%P

View File

@@ -1,5 +1,6 @@
&ACCESS RVP1
&ACCESS RVO
DEF ReFeedBeltPick ( )
DECL REAL x_offset,y_offset,z_offset
;FOLD INI;%{PE}
;FOLD BASISTECH INI
GLOBAL INTERRUPT DECL 3 WHEN $STOPMESS==TRUE DO IR_STOPM ( )
@@ -13,6 +14,13 @@ DEF ReFeedBeltPick ( )
;ENDFOLD (INI)
WAIT FOR $IN_HOME OR $IN_HOME1 OR $IN_HOME2 OR CheckInPos(20.0, END_POS)
XPick=XReFeedBeltPick
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]:Base1 ;%{PE}

View File

@@ -1,4 +1,4 @@
&ACCESS RVP1
&ACCESS RVO
DEFDAT WATERBELTPICK
;FOLD EXTERNAL DECLARATIONS;%{PE}%MKUKATPBASIS,%CEXT,%VCOMMON,%P
;FOLD BASISTECH EXT;%{PE}%MKUKATPBASIS,%CEXT,%VEXT,%P
@@ -12,7 +12,7 @@ DECL INT SUCCESS
;ENDFOLD (EXTERNAL DECLARATIONS)
DECL MODULEPARAM_T LAST_TP_PARAMS={PARAMS[] "Kuka.VelocityFieldEnabled=True; Kuka.ColDetectFieldEnabled=True; Kuka.MovementParameterFieldEnabled=True; Kuka.IsAngleEnabled=False; Kuka.PointName=Pick; Kuka.FrameData.base_no=1; Kuka.FrameData.tool_no=1; Kuka.FrameData.ipo_frame=#BASE; Kuka.isglobalpoint=False; Kuka.MoveDataPtpName=PDAT1; Kuka.MovementDataPdat.apo_mode=#CDIS; Kuka.MovementDataPdat.apo_dist=500; Kuka.MovementData.vel=2; Kuka.MovementData.acc=100; Kuka.MovementData.exax_ign=0; Kuka.VelocityPtp=100; Kuka.BlendingEnabled=False; Kuka.APXEnabled=False; Kuka.CurrentCDSetIndex=0; Kuka.MoveDataName=CPDAT1; Kuka.MovementData.cb={AUX_PT {ORI #CONSIDER,E1 #CONSIDER,E2 #CONSIDER,E3 #CONSIDER,E4 #CONSIDER,E5 #CONSIDER,E6 #CONSIDER},TARGET_PT {ORI #INTERPOLATE,E1 #INTERPOLATE,E2 #INTERPOLATE,E3 #INTERPOLATE,E4 #INTERPOLATE,E5 #INTERPOLATE,E6 #INTERPOLATE}}; Kuka.MovementData.apo_fac=50; Kuka.MovementData.apo_dist=500; Kuka.MovementData.axis_acc=100; Kuka.MovementData.axis_vel=100; Kuka.MovementData.circ_typ=#BASE; Kuka.MovementData.jerk_fac=50; Kuka.MovementData.ori_typ=#VAR; Kuka.VelocityPath=2; Kuka.FrameData.point2= "}
DECL FDAT FPickH={TOOL_NO 1,BASE_NO 1,IPO_FRAME #BASE,POINT2[] " "}
DECL E6POS XPickH={X 1797.49475,Y 1360.66516,Z 1167.60986,A -165.399490,B -1.87913013,C 179.432770,S 2,T 43,E1 0.0,E2 0.0,E3 0.0,E4 0.0,E5 0.0,E6 0.0}
DECL E6POS XPickH={X -362.541016,Y -53.0821304,Z 535.058350,A 103.969742,B 0.385545105,C 179.739044,S 2,T 42,E1 0.0,E2 0.0,E3 0.0,E4 0.0,E5 0.0,E6 0.0}
DECL LDAT LCPDAT1={VEL 2.00000,ACC 100.000,APO_DIST 500.000,APO_FAC 50.0000,AXIS_VEL 100.000,AXIS_ACC 100.000,ORI_TYP #VAR,CIRC_TYP #BASE,JERK_FAC 50.0000,GEAR_JERK 100.000,EXAX_IGN 0,CB {AUX_PT {ORI #CONSIDER,E1 #CONSIDER,E2 #CONSIDER,E3 #CONSIDER,E4 #CONSIDER,E5 #CONSIDER,E6 #CONSIDER},TARGET_PT {ORI #INTERPOLATE,E1 #INTERPOLATE,E2 #INTERPOLATE,E3 #INTERPOLATE,E4 #INTERPOLATE,E5 #INTERPOLATE,E6 #INTERPOLATE}}}
DECL FDAT FPick={TOOL_NO 1,BASE_NO 1,IPO_FRAME #BASE,POINT2[] " "}
DECL E6POS XPick={X -362.541016,Y -53.0821304,Z 35.0583267,A 103.969742,B 0.385545105,C 179.739044,S 2,T 42,E1 0.0,E2 0.0,E3 0.0,E4 0.0,E5 0.0,E6 0.0}

View File

@@ -1,5 +1,6 @@
&ACCESS RVP1
&ACCESS RVO
DEF WaterBeltPick ( )
DECL REAL x_offset,y_offset,z_offset
;FOLD INI;%{PE}
;FOLD BASISTECH INI
GLOBAL INTERRUPT DECL 3 WHEN $STOPMESS==TRUE DO IR_STOPM ( )
@@ -13,6 +14,13 @@ DEF WaterBeltPick ( )
;ENDFOLD (INI)
WAIT FOR $IN_HOME OR $IN_HOME1 OR $IN_HOME2 OR CheckInPos(20.0, END_POS)
XPick=XWaterBeltPick
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]:Base1 ;%{PE}

View File

@@ -1,4 +1,4 @@
&ACCESS RV5
&ACCESS RV2
&REL 7
&PARAM DISKPATH = KRC:\R1\Program\TP
DEFDAT POSBASE PUBLIC
@@ -8,11 +8,11 @@ DEFDAT POSBASE PUBLIC
;***************************************************
DECL GLOBAL E6POS XPallet1PlaceB={X 1501.64038,Y 2642.32153,Z 265.978241,A -164.789139,B 0.414351225,C 179.724762,S 2,T 43,E1 0.0,E2 0.0,E3 0.0,E4 0.0,E5 0.0,E6 0.0}
DECL GLOBAL E6POS XPallet2PlaceB={X 1501.64038,Y 2642.32153,Z 265.978241,A -164.789139,B 0.414351225,C 179.724762,S 2,T 43,E1 0.0,E2 0.0,E3 0.0,E4 0.0,E5 0.0,E6 0.0}
DECL GLOBAL E6POS XFeedBelt1Pick={X 1797.49475,Y 1360.66516,Z 667.609802,A -165.399490,B -1.87913013,C 179.432770,S 2,T 43,E1 0.0,E2 0.0,E3 0.0,E4 0.0,E5 0.0,E6 0.0}
DECL GLOBAL E6POS XFeedBelt2Pick={X 1797.49353,Y 1360.66553,Z 667.598755,A -165.400482,B -1.87961507,C 179.432861,S 2,T 43,E1 0.0,E2 0.0,E3 0.0,E4 0.0,E5 0.0,E6 0.0}
DECL GLOBAL E6POS XNgBeltPlace={X 1797.49353,Y 1360.66553,Z 667.598755,A -165.400482,B -1.87961507,C 179.432861,S 2,T 43,E1 0.0,E2 0.0,E3 0.0,E4 0.0,E5 0.0,E6 0.0}
DECL GLOBAL E6POS XWaterBeltPick={X 1797.49353,Y 1360.66553,Z 667.598755,A -165.400482,B -1.87961507,C 179.432861,S 2,T 43,E1 0.0,E2 0.0,E3 0.0,E4 0.0,E5 0.0,E6 0.0}
DECL GLOBAL E6POS XReFeedBeltPick={X 1797.49353,Y 1360.66553,Z 667.598755,A -165.400482,B -1.87961507,C 179.432861,S 2,T 43,E1 0.0,E2 0.0,E3 0.0,E4 0.0,E5 0.0,E6 0.0}
DECL GLOBAL E6POS XFeedBelt1Pick={X -371.799255,Y 3335.85059,Z 37,A -167.311752,B 0.414277077,C 179.724655,S 2,T 35,E1 0.0,E2 0.0,E3 0.0,E4 0.0,E5 0.0,E6 0.0}
DECL GLOBAL E6POS XFeedBelt2Pick={X -513.757690,Y 3336.04053,Z 37,A -167.311752,B 0.414277077,C 179.724655,S 2,T 35,E1 0.0,E2 0.0,E3 0.0,E4 0.0,E5 0.0,E6 0.0}
DECL GLOBAL E6POS XNgBeltPlace={X -372.497620,Y -392.548706,Z 42.0128441,A 103.970634,B 0.387568325,C 179.739,S 2,T 42,E1 0.0,E2 0.0,E3 0.0,E4 0.0,E5 0.0,E6 0.0}
DECL GLOBAL E6POS XWaterBeltPick={X -362.541016,Y -53.0821304,Z 35.0583267,A 103.969742,B 0.385545105,C 179.739044,S 2,T 42,E1 0.0,E2 0.0,E3 0.0,E4 0.0,E5 0.0,E6 0.0}
DECL GLOBAL E6POS XReFeedBeltPick={X -355.786682,Y 285.198730,Z 34.5330734,A 103.969742,B 0.385545075,C 179.739044,S 2,T 42,E1 0.0,E2 0.0,E3 0.0,E4 0.0,E5 0.0,E6 0.0}

View File

@@ -51,10 +51,16 @@ GLOBAL SIGNAL I_CmdCount $IN[97] TO $IN[112]
GLOBAL SIGNAL I_GripPosIndexRet $IN[113] TO $IN[128]
GLOBAL SIGNAL I_GripPosCountRet $IN[129] TO $IN[144]
GLOBAL SIGNAL I_GripPosResult $IN[145] TO $IN[160]
GLOBAL SIGNAL I_OffsetX $IN[161] TO $IN[176]
GLOBAL SIGNAL I_OffsetY $IN[177] TO $IN[192]
GLOBAL SIGNAL I_CountX $IN[193] TO $IN[208]
GLOBAL SIGNAL I_CountY $IN[209] TO $IN[224]
GLOBAL SIGNAL I_CountX $IN[161] TO $IN[176]
GLOBAL SIGNAL I_CountY $IN[177] TO $IN[192]
GLOBAL SIGNAL I_PickOffsetX $IN[193] TO $IN[208]
GLOBAL SIGNAL I_PickOffsetY $IN[209] TO $IN[224]
GLOBAL SIGNAL I_PickOffsetZ $IN[225] TO $IN[240]
GLOBAL SIGNAL I_PlaceOffsetX $IN[241] TO $IN[256]
GLOBAL SIGNAL I_PlaceOffsetY $IN[257] TO $IN[272]
GLOBAL SIGNAL I_PlaceOffsetZ $IN[273] TO $IN[288]
;ENDFOLD
;FOLD KUKA_TO_PLC