diff --git a/6040-003上下料 V2.1.Device.Application.xml b/6040-003上下料 V2.1.Device.Application.xml index 6750cf0..90c9f28 100644 --- a/6040-003上下料 V2.1.Device.Application.xml +++ b/6040-003上下料 V2.1.Device.Application.xml @@ -1292,13 +1292,15 @@ - + + + @@ -1511,7 +1513,7 @@ - + @@ -1605,7 +1607,7 @@ - + @@ -1692,7 +1694,7 @@ - + @@ -1779,7 +1781,7 @@ - + diff --git a/6040-003上下料 V2.1.project b/6040-003上下料 V2.1.project index 85500e5..076de8a 100644 Binary files a/6040-003上下料 V2.1.project and b/6040-003上下料 V2.1.project differ diff --git a/6040-003上料下侧ZA08.cmtp b/6040-003上料下侧ZA08.cmtp index 6ca3fc0..f1f78ae 100644 Binary files a/6040-003上料下侧ZA08.cmtp and b/6040-003上料下侧ZA08.cmtp differ diff --git a/KUKA/KRC/R1/KUKA/CollDetect_UserAction.dat b/KUKA/KRC/R1/KUKA/CollDetect_UserAction.dat index e4959f9..7cae1ab 100644 --- a/KUKA/KRC/R1/KUKA/CollDetect_UserAction.dat +++ b/KUKA/KRC/R1/KUKA/CollDetect_UserAction.dat @@ -1,4 +1,4 @@ -&ACCESS R6 +&ACCESS R3 DEFDAT CollDetect_UserAction diff --git a/KUKA/KRC/R1/KUKA/CollDetect_UserAction.src b/KUKA/KRC/R1/KUKA/CollDetect_UserAction.src index d530134..0171bef 100644 --- a/KUKA/KRC/R1/KUKA/CollDetect_UserAction.src +++ b/KUKA/KRC/R1/KUKA/CollDetect_UserAction.src @@ -1,4 +1,4 @@ -&ACCESS R6 +&ACCESS R3 DEF CollDetect_UserAction( ) diff --git a/KUKA/KRC/R1/KUKA/masref_user.dat b/KUKA/KRC/R1/KUKA/masref_user.dat index 83f285e..e898148 100644 --- a/KUKA/KRC/R1/KUKA/masref_user.dat +++ b/KUKA/KRC/R1/KUKA/masref_user.dat @@ -1,4 +1,4 @@ -&ACCESS RV5 +&ACCESS RV2 &REL 1 &COMMENT Mastering Reference User Program &PARAM DISKPATH = KRC:\R1\Program diff --git a/KUKA/KRC/R1/KUKA/masref_user.src b/KUKA/KRC/R1/KUKA/masref_user.src index 4e90d6e..5cb41e2 100644 --- a/KUKA/KRC/R1/KUKA/masref_user.src +++ b/KUKA/KRC/R1/KUKA/masref_user.src @@ -1,4 +1,4 @@ -&ACCESS RV5 +&ACCESS RV2 &REL 1 &COMMENT Mastering Reference User Program &PARAM DISKPATH = KRC:\R1\Program diff --git a/KUKA/KRC/R1/Mada/$machine.dat b/KUKA/KRC/R1/Mada/$machine.dat index e0ba0ab..9086753 100644 --- a/KUKA/KRC/R1/Mada/$machine.dat +++ b/KUKA/KRC/R1/Mada/$machine.dat @@ -612,9 +612,9 @@ FRAME $ET6_TA2A1={X 0.0,Y 0.0,Z 0.0,A 0.0,B 0.0,C 0.0} ;ZWISCHEN A2 UND A1 FRAME $ET6_TA3A2={X 0.0,Y 0.0,Z 0.0,A 0.0,B 0.0,C 0.0} ;ZWISCHEN A3 UND A2 FRAME $ET6_TFLA3={X 0.0,Y 0.0,Z 0.0,A 0.0,B 0.0,C 0.0} ;ZWISCHEN FL UND A3 FRAME $ET6_TPINFL={X 0.0,Y 0.0,Z 0.0,A 0.0,B 0.0,C 0.0} ;ZWISCHEN MESSPUNKT UND FL -E6AXIS $H_POS={A1 -40.6010590,A2 -89.9439621,A3 107.739754,A4 -0.0583330207,A5 71.7248154,A6 -24.9933281,E1 0.0,E2 0.0,E3 0.0,E4 0.0,E5 0.0,E6 0.0} +E6AXIS $H_POS={A1 -40.3666763,A2 -83.7005,A3 104.610184,A4 -0.0553556271,A5 68.6550,A6 -25.0909958,E1 0.0,E2 0.0,E3 0.0,E4 0.0,E5 0.0,E6 0.0} E6AXIS $AXIS_HOME[5] -$AXIS_HOME[1]={A1 -54.9559364,A2 -61.7260933,A3 72.9432526,A4 0.0665770397,A5 78.3046722,A6 -39.3794899,E1 0.0,E2 0.0,E3 0.0,E4 0.0,E5 0.0,E6 0.0} +$AXIS_HOME[1]={A1 -47.3356514,A2 -65.9847336,A3 82.3962097,A4 0.00171302236,A5 73.1501541,A6 -32.0802269,E1 0.0,E2 0.0,E3 0.0,E4 0.0,E5 0.0,E6 0.0} $AXIS_HOME[2]={A1 -20.1579895,A2 -101.293922,A3 118.012291,A4 -0.229550526,A5 72.8518906,A6 -4.50146055,E1 0.0,E2 0.0,E3 0.0,E4 0.0,E5 0.0,E6 0.0} $AXIS_HOME[3]={A1 0.0,A2 -90.0000,A3 90.0000,A4 0.0,A5 0.0,A6 0.0,E1 0.0,E2 0.0,E3 0.0,E4 0.0,E5 0.0,E6 0.0} $AXIS_HOME[4]={A1 0.0,A2 -90.0000,A3 90.0000,A4 0.0,A5 0.0,A6 0.0,E1 0.0,E2 0.0,E3 0.0,E4 0.0,E5 0.0,E6 0.0} diff --git a/KUKA/KRC/R1/Program/ActionReturn.src b/KUKA/KRC/R1/Program/ActionReturn.src index 864334b..e7ceaf4 100644 --- a/KUKA/KRC/R1/Program/ActionReturn.src +++ b/KUKA/KRC/R1/Program/ActionReturn.src @@ -1,4 +1,4 @@ -&ACCESS RV4 +&ACCESS RV1 DEF ActionReturn (nRet:IN ) DECL INT nRet CONTINUE diff --git a/KUKA/KRC/R1/Program/Config.dat b/KUKA/KRC/R1/Program/Config.dat index 64e2fb5..d2563e3 100644 --- a/KUKA/KRC/R1/Program/Config.dat +++ b/KUKA/KRC/R1/Program/Config.dat @@ -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 diff --git a/KUKA/KRC/R1/Program/Grip/GripClose.src b/KUKA/KRC/R1/Program/Grip/GripClose.src index 5c20763..4ba3dd5 100644 --- a/KUKA/KRC/R1/Program/Grip/GripClose.src +++ b/KUKA/KRC/R1/Program/Grip/GripClose.src @@ -1,4 +1,4 @@ -&ACCESS RV3 +&ACCESS RV DEF GripClose ( ) Q_GripPosIndex=102 Q_GripPosCount=I_GripPosCountRet+1 diff --git a/KUKA/KRC/R1/Program/Grip/GripOpen.src b/KUKA/KRC/R1/Program/Grip/GripOpen.src index 6de9507..f94c398 100644 --- a/KUKA/KRC/R1/Program/Grip/GripOpen.src +++ b/KUKA/KRC/R1/Program/Grip/GripOpen.src @@ -1,4 +1,4 @@ -&ACCESS RV2 +&ACCESS RV1 DEF GripOpen ( ) Q_GripPosIndex=101 diff --git a/KUKA/KRC/R1/Program/Home/HomeModule.dat b/KUKA/KRC/R1/Program/Home/HomeModule.dat index cd7223a..e8f8f0e 100644 --- a/KUKA/KRC/R1/Program/Home/HomeModule.dat +++ b/KUKA/KRC/R1/Program/Home/HomeModule.dat @@ -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 \ No newline at end of file diff --git a/KUKA/KRC/R1/Program/Home/HomeModule.src b/KUKA/KRC/R1/Program/Home/HomeModule.src index 0816189..a1d4f2b 100644 --- a/KUKA/KRC/R1/Program/Home/HomeModule.src +++ b/KUKA/KRC/R1/Program/Home/HomeModule.src @@ -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 diff --git a/KUKA/KRC/R1/Program/MainModule.dat b/KUKA/KRC/R1/Program/MainModule.dat index 84f4ee4..292e6f9 100644 --- a/KUKA/KRC/R1/Program/MainModule.dat +++ b/KUKA/KRC/R1/Program/MainModule.dat @@ -1,4 +1,4 @@ -&ACCESS RVP +&ACCESS RVO &REL 1 DEFDAT MainModule ;FOLD EXTERNAL DECLARATIONS;%{PE}%MKUKATPBASIS,%CEXT,%VCOMMON,%P diff --git a/KUKA/KRC/R1/Program/MainModule.src b/KUKA/KRC/R1/Program/MainModule.src index 1fcf762..f6140a0 100644 --- a/KUKA/KRC/R1/Program/MainModule.src +++ b/KUKA/KRC/R1/Program/MainModule.src @@ -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 diff --git a/KUKA/KRC/R1/Program/Mylib/CheckInPos.src b/KUKA/KRC/R1/Program/Mylib/CheckInPos.src index 8f99b2b..a5168be 100644 --- a/KUKA/KRC/R1/Program/Mylib/CheckInPos.src +++ b/KUKA/KRC/R1/Program/Mylib/CheckInPos.src @@ -1,4 +1,4 @@ -&ACCESS RVO4 +&ACCESS RVO1 DEFFCT BOOL CheckInPos (R_offset:IN,EndPos:IN ) DECL REAL R_offset DECL BOOL b_Pok diff --git a/KUKA/KRC/R1/Program/Mylib/FixA6Jump.src b/KUKA/KRC/R1/Program/Mylib/FixA6Jump.src new file mode 100644 index 0000000..a92b684 --- /dev/null +++ b/KUKA/KRC/R1/Program/Mylib/FixA6Jump.src @@ -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 \ No newline at end of file diff --git a/KUKA/KRC/R1/Program/Mylib/GetInt16.src b/KUKA/KRC/R1/Program/Mylib/GetInt16.src new file mode 100644 index 0000000..ba33df7 --- /dev/null +++ b/KUKA/KRC/R1/Program/Mylib/GetInt16.src @@ -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 \ No newline at end of file diff --git a/KUKA/KRC/R1/Program/PL/FeedBelt1Pick.dat b/KUKA/KRC/R1/Program/PL/FeedBelt1Pick.dat index 5825c6f..6525e7f 100644 --- a/KUKA/KRC/R1/Program/PL/FeedBelt1Pick.dat +++ b/KUKA/KRC/R1/Program/PL/FeedBelt1Pick.dat @@ -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} diff --git a/KUKA/KRC/R1/Program/PL/FeedBelt1Pick.src b/KUKA/KRC/R1/Program/PL/FeedBelt1Pick.src index 92bbbbc..005516b 100644 --- a/KUKA/KRC/R1/Program/PL/FeedBelt1Pick.src +++ b/KUKA/KRC/R1/Program/PL/FeedBelt1Pick.src @@ -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} diff --git a/KUKA/KRC/R1/Program/PL/FeedBelt2Pick.dat b/KUKA/KRC/R1/Program/PL/FeedBelt2Pick.dat index 535b698..30f9bc1 100644 --- a/KUKA/KRC/R1/Program/PL/FeedBelt2Pick.dat +++ b/KUKA/KRC/R1/Program/PL/FeedBelt2Pick.dat @@ -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 \ No newline at end of file diff --git a/KUKA/KRC/R1/Program/PL/FeedBelt2Pick.src b/KUKA/KRC/R1/Program/PL/FeedBelt2Pick.src index 06c5cf9..00d035e 100644 --- a/KUKA/KRC/R1/Program/PL/FeedBelt2Pick.src +++ b/KUKA/KRC/R1/Program/PL/FeedBelt2Pick.src @@ -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} diff --git a/KUKA/KRC/R1/Program/PL/NgBeltPlace.dat b/KUKA/KRC/R1/Program/PL/NgBeltPlace.dat index 58d3c28..6701e3b 100644 --- a/KUKA/KRC/R1/Program/PL/NgBeltPlace.dat +++ b/KUKA/KRC/R1/Program/PL/NgBeltPlace.dat @@ -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 diff --git a/KUKA/KRC/R1/Program/PL/NgBeltPlace.src b/KUKA/KRC/R1/Program/PL/NgBeltPlace.src index 53a1f33..3f82344 100644 --- a/KUKA/KRC/R1/Program/PL/NgBeltPlace.src +++ b/KUKA/KRC/R1/Program/PL/NgBeltPlace.src @@ -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} diff --git a/KUKA/KRC/R1/Program/PL/Pallet1Place.dat b/KUKA/KRC/R1/Program/PL/Pallet1Place.dat index 244c8f1..1f96200 100644 --- a/KUKA/KRC/R1/Program/PL/Pallet1Place.dat +++ b/KUKA/KRC/R1/Program/PL/Pallet1Place.dat @@ -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 \ No newline at end of file diff --git a/KUKA/KRC/R1/Program/PL/Pallet1Place.src b/KUKA/KRC/R1/Program/PL/Pallet1Place.src index 08a729a..1a2a9f6 100644 --- a/KUKA/KRC/R1/Program/PL/Pallet1Place.src +++ b/KUKA/KRC/R1/Program/PL/Pallet1Place.src @@ -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 diff --git a/KUKA/KRC/R1/Program/PL/Pallet2Place.dat b/KUKA/KRC/R1/Program/PL/Pallet2Place.dat index ddc678b..d83ad79 100644 --- a/KUKA/KRC/R1/Program/PL/Pallet2Place.dat +++ b/KUKA/KRC/R1/Program/PL/Pallet2Place.dat @@ -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 \ No newline at end of file diff --git a/KUKA/KRC/R1/Program/PL/Pallet2Place.src b/KUKA/KRC/R1/Program/PL/Pallet2Place.src index 738e329..ce805bb 100644 --- a/KUKA/KRC/R1/Program/PL/Pallet2Place.src +++ b/KUKA/KRC/R1/Program/PL/Pallet2Place.src @@ -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 diff --git a/KUKA/KRC/R1/Program/PL/ReFeedBeltPick.dat b/KUKA/KRC/R1/Program/PL/ReFeedBeltPick.dat index da24863..e3c9038 100644 --- a/KUKA/KRC/R1/Program/PL/ReFeedBeltPick.dat +++ b/KUKA/KRC/R1/Program/PL/ReFeedBeltPick.dat @@ -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 diff --git a/KUKA/KRC/R1/Program/PL/ReFeedBeltPick.src b/KUKA/KRC/R1/Program/PL/ReFeedBeltPick.src index 6d37d10..5b52fee 100644 --- a/KUKA/KRC/R1/Program/PL/ReFeedBeltPick.src +++ b/KUKA/KRC/R1/Program/PL/ReFeedBeltPick.src @@ -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} diff --git a/KUKA/KRC/R1/Program/PL/WaterBeltPick.dat b/KUKA/KRC/R1/Program/PL/WaterBeltPick.dat index 0dbf405..d0ab344 100644 --- a/KUKA/KRC/R1/Program/PL/WaterBeltPick.dat +++ b/KUKA/KRC/R1/Program/PL/WaterBeltPick.dat @@ -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} diff --git a/KUKA/KRC/R1/Program/PL/WaterBeltPick.src b/KUKA/KRC/R1/Program/PL/WaterBeltPick.src index 6bedcb2..619c4bc 100644 --- a/KUKA/KRC/R1/Program/PL/WaterBeltPick.src +++ b/KUKA/KRC/R1/Program/PL/WaterBeltPick.src @@ -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} diff --git a/KUKA/KRC/R1/Program/PosBase.dat b/KUKA/KRC/R1/Program/PosBase.dat index 0e61ebc..4e85a0f 100644 --- a/KUKA/KRC/R1/Program/PosBase.dat +++ b/KUKA/KRC/R1/Program/PosBase.dat @@ -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} diff --git a/KUKA/KRC/R1/Program/SignalIO.dat b/KUKA/KRC/R1/Program/SignalIO.dat index 7e0bdf9..0a0ecd7 100644 --- a/KUKA/KRC/R1/Program/SignalIO.dat +++ b/KUKA/KRC/R1/Program/SignalIO.dat @@ -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 diff --git a/KUKA/KRC/R1/System/$config.dat b/KUKA/KRC/R1/System/$config.dat index 9ba37e2..071816d 100644 --- a/KUKA/KRC/R1/System/$config.dat +++ b/KUKA/KRC/R1/System/$config.dat @@ -1,4 +1,4 @@ -&ACCESS RV$7 +&ACCESS RV$4 DEFDAT $CONFIG ;FOLD BASISTECH GLOBALS ;================================== @@ -175,8 +175,8 @@ INT $ACT_GROUP='B0001' ; HOME POSITION ;---------------------------------- -E6AXIS XHOME={A1 -40.6010590,A2 -89.9439621,A3 107.739754,A4 -0.0583330207,A5 71.7248154,A6 -24.9933281,E1 0.0,E2 0.0,E3 0.0,E4 0.0,E5 0.0,E6 0.0} -E6AXIS XHOME1={A1 -54.9559364,A2 -61.7260933,A3 72.9432526,A4 0.0665770397,A5 78.3046722,A6 -39.3794899,E1 0.0,E2 0.0,E3 0.0,E4 0.0,E5 0.0,E6 0.0} +E6AXIS XHOME={A1 -40.3666763,A2 -83.7005,A3 104.610184,A4 -0.0553556271,A5 68.6550,A6 -25.0909958,E1 0.0,E2 0.0,E3 0.0,E4 0.0,E5 0.0,E6 0.0} +E6AXIS XHOME1={A1 -47.3356514,A2 -65.9847336,A3 82.3962097,A4 0.00171302236,A5 73.1501541,A6 -32.0802269,E1 0.0,E2 0.0,E3 0.0,E4 0.0,E5 0.0,E6 0.0} E6AXIS XHOME2={A1 -20.1579895,A2 -101.293922,A3 118.012291,A4 -0.229550526,A5 72.8518906,A6 -4.50146055,E1 0.0,E2 0.0,E3 0.0,E4 0.0,E5 0.0,E6 0.0} E6AXIS XHOME3={A1 0.0,A2 -90.0000,A3 90.0000,A4 0.0,A5 0.0,A6 0.0,E1 0.0,E2 0.0,E3 0.0,E4 0.0,E5 0.0,E6 0.0} E6AXIS XHOME4={A1 0.0,A2 -90.0000,A3 90.0000,A4 0.0,A5 0.0,A6 0.0,E1 0.0,E2 0.0,E3 0.0,E4 0.0,E5 0.0,E6 0.0} diff --git a/KUKA/KRC/R1/System/MqttConfig.dat b/KUKA/KRC/R1/System/MqttConfig.dat index 3cac8ee..abfcfa3 100644 --- a/KUKA/KRC/R1/System/MqttConfig.dat +++ b/KUKA/KRC/R1/System/MqttConfig.dat @@ -1,4 +1,4 @@ -&ACCESS RV5 +&ACCESS RV2 DEFDAT MqttConfig PUBLIC ; Publisher IP address for KukaConnect data-set configuration. diff --git a/KUKA/KRC/R1/System/MsgLib.dat b/KUKA/KRC/R1/System/MsgLib.dat index 5c79c42..d8aa177 100644 --- a/KUKA/KRC/R1/System/MsgLib.dat +++ b/KUKA/KRC/R1/System/MsgLib.dat @@ -1,4 +1,4 @@ -&ACCESS R6 +&ACCESS R3 &COMMENT Message library DEFDAT MsgLib PUBLIC diff --git a/KUKA/KRC/R1/System/MsgLib.src b/KUKA/KRC/R1/System/MsgLib.src index 8c3db27..9f0ce5b 100644 --- a/KUKA/KRC/R1/System/MsgLib.src +++ b/KUKA/KRC/R1/System/MsgLib.src @@ -1,4 +1,4 @@ -&ACCESS R6 +&ACCESS R3 &COMMENT Message library DEF MsgLib ( ) ;************************************************** diff --git a/KUKA/KRC/R1/System/bas.src b/KUKA/KRC/R1/System/bas.src index 3077693..bc3aec6 100644 --- a/KUKA/KRC/R1/System/bas.src +++ b/KUKA/KRC/R1/System/bas.src @@ -1,4 +1,4 @@ -&ACCESS R6 +&ACCESS R3 &REL 1 &COMMENT BASIS package DEF BAS (COMMAND :IN,REAL_PAR :IN ) diff --git a/KUKA/KRC/R1/System/collmonlib.dat b/KUKA/KRC/R1/System/collmonlib.dat index 35ac6ce..078fec0 100644 --- a/KUKA/KRC/R1/System/collmonlib.dat +++ b/KUKA/KRC/R1/System/collmonlib.dat @@ -1,4 +1,4 @@ -&ACCESS R6 +&ACCESS R3 &COMMENT Collision monitoring library DEFDAT COLLMONLIB PUBLIC ;DO NOT MODIFY THIS FILE diff --git a/KUKA/KRC/R1/System/collmonlib.src b/KUKA/KRC/R1/System/collmonlib.src index 13ec076..5cffcdb 100644 --- a/KUKA/KRC/R1/System/collmonlib.src +++ b/KUKA/KRC/R1/System/collmonlib.src @@ -1,4 +1,4 @@ -&ACCESS R6 +&ACCESS R3 &COMMENT Collision monitoring library DEF CollMonLib( ) diff --git a/KUKA/KRC/R1/System/ir_stopm.src b/KUKA/KRC/R1/System/ir_stopm.src index 16dce14..bd78af4 100644 --- a/KUKA/KRC/R1/System/ir_stopm.src +++ b/KUKA/KRC/R1/System/ir_stopm.src @@ -1,4 +1,4 @@ -&ACCESS R6 +&ACCESS R3 &COMMENT HandlerOnRobotFault DEF IR_STOPM ( ) ;----------------------------------- diff --git a/KUKA/KRC/R1/TP/BrakeTest/BrakeTestBack.dat b/KUKA/KRC/R1/TP/BrakeTest/BrakeTestBack.dat index 508fab7..a63a9c7 100644 --- a/KUKA/KRC/R1/TP/BrakeTest/BrakeTestBack.dat +++ b/KUKA/KRC/R1/TP/BrakeTest/BrakeTestBack.dat @@ -1,4 +1,4 @@ -&ACCESS RV5 +&ACCESS RV2 &REL 1 &COMMENT path after test &PARAM EDITMASK = * diff --git a/KUKA/KRC/R1/TP/BrakeTest/BrakeTestBack.src b/KUKA/KRC/R1/TP/BrakeTest/BrakeTestBack.src index 79d4877..0f11a17 100644 --- a/KUKA/KRC/R1/TP/BrakeTest/BrakeTestBack.src +++ b/KUKA/KRC/R1/TP/BrakeTest/BrakeTestBack.src @@ -1,4 +1,4 @@ -&ACCESS RV5 +&ACCESS RV2 &REL 1 &COMMENT path after test &PARAM EDITMASK = * diff --git a/KUKA/KRC/R1/TP/BrakeTest/BrakeTestPark.dat b/KUKA/KRC/R1/TP/BrakeTest/BrakeTestPark.dat index 5e3b37f..80d9715 100644 --- a/KUKA/KRC/R1/TP/BrakeTest/BrakeTestPark.dat +++ b/KUKA/KRC/R1/TP/BrakeTest/BrakeTestPark.dat @@ -1,4 +1,4 @@ -&ACCESS RV5 +&ACCESS RV2 &REL 1 &COMMENT parkposition &PARAM EDITMASK = * diff --git a/KUKA/KRC/R1/TP/BrakeTest/BrakeTestPark.src b/KUKA/KRC/R1/TP/BrakeTest/BrakeTestPark.src index 18381d6..6eb4f60 100644 --- a/KUKA/KRC/R1/TP/BrakeTest/BrakeTestPark.src +++ b/KUKA/KRC/R1/TP/BrakeTest/BrakeTestPark.src @@ -1,4 +1,4 @@ -&ACCESS RV5 +&ACCESS RV2 &REL 1 &COMMENT parkposition &PARAM EDITMASK = * diff --git a/KUKA/KRC/R1/TP/BrakeTest/BrakeTestReq.dat b/KUKA/KRC/R1/TP/BrakeTest/BrakeTestReq.dat index 3e4ce60..5320079 100644 --- a/KUKA/KRC/R1/TP/BrakeTest/BrakeTestReq.dat +++ b/KUKA/KRC/R1/TP/BrakeTest/BrakeTestReq.dat @@ -1,4 +1,4 @@ -&ACCESS RVO5 +&ACCESS RVO2 &REL 1 &COMMENT BrkTst-main task &PARAM EDITMASK = * diff --git a/KUKA/KRC/R1/TP/BrakeTest/BrakeTestReq.src b/KUKA/KRC/R1/TP/BrakeTest/BrakeTestReq.src index e0b75b6..66cbaf3 100644 --- a/KUKA/KRC/R1/TP/BrakeTest/BrakeTestReq.src +++ b/KUKA/KRC/R1/TP/BrakeTest/BrakeTestReq.src @@ -1,4 +1,4 @@ -&ACCESS RVO5 +&ACCESS RVO2 &REL 1 &COMMENT BrkTst-main task &PARAM EDITMASK = * diff --git a/KUKA/KRC/R1/TP/BrakeTest/BrakeTestStart.dat b/KUKA/KRC/R1/TP/BrakeTest/BrakeTestStart.dat index 2678b19..278d11d 100644 --- a/KUKA/KRC/R1/TP/BrakeTest/BrakeTestStart.dat +++ b/KUKA/KRC/R1/TP/BrakeTest/BrakeTestStart.dat @@ -1,4 +1,4 @@ -&ACCESS RV5 +&ACCESS RV2 &REL 1 &COMMENT path to test &PARAM EDITMASK = * diff --git a/KUKA/KRC/R1/TP/BrakeTest/BrakeTestStart.src b/KUKA/KRC/R1/TP/BrakeTest/BrakeTestStart.src index 1462540..e8c41c0 100644 --- a/KUKA/KRC/R1/TP/BrakeTest/BrakeTestStart.src +++ b/KUKA/KRC/R1/TP/BrakeTest/BrakeTestStart.src @@ -1,4 +1,4 @@ -&ACCESS RV5 +&ACCESS RV2 &REL 1 &COMMENT path to test &PARAM EDITMASK = * diff --git a/KUKA/KRC/R1/TP/EthernetKRL/EthernetKRL.dat b/KUKA/KRC/R1/TP/EthernetKRL/EthernetKRL.dat index 4d19fc4..786b6a3 100644 --- a/KUKA/KRC/R1/TP/EthernetKRL/EthernetKRL.dat +++ b/KUKA/KRC/R1/TP/EthernetKRL/EthernetKRL.dat @@ -1,4 +1,4 @@ -&ACCESS RO5 +&ACCESS RO2 &REL 2396 &PARAM DISKPATH = KRC:\R1\TP\EthernetKRL DEFDAT EthernetKRL PUBLIC diff --git a/KUKA/KRC/R1/TP/EthernetKRL/EthernetKRL.src b/KUKA/KRC/R1/TP/EthernetKRL/EthernetKRL.src index 68f5a5c..06ae15b 100644 --- a/KUKA/KRC/R1/TP/EthernetKRL/EthernetKRL.src +++ b/KUKA/KRC/R1/TP/EthernetKRL/EthernetKRL.src @@ -1,4 +1,4 @@ -&ACCESS RO5 +&ACCESS RO2 &REL 2396 &PARAM DISKPATH = KRC:\R1\TP\EthernetKRL DEF EthernetKRL( ) diff --git a/KUKA/KRC/R1/TP/EthernetKRL/EthernetKRL_USER.src b/KUKA/KRC/R1/TP/EthernetKRL/EthernetKRL_USER.src index 48c5633..0608a95 100644 --- a/KUKA/KRC/R1/TP/EthernetKRL/EthernetKRL_USER.src +++ b/KUKA/KRC/R1/TP/EthernetKRL/EthernetKRL_USER.src @@ -1,4 +1,4 @@ -&ACCESS RO5 +&ACCESS RO2 &REL 2314 &PARAM DISKPATH = TP/EthernetKRL DEF EthernetKRL_USER( ) diff --git a/KUKA/KRC/R1/TP/p00.dat b/KUKA/KRC/R1/TP/p00.dat index 3cc8574..ed6c061 100644 --- a/KUKA/KRC/R1/TP/p00.dat +++ b/KUKA/KRC/R1/TP/p00.dat @@ -1,4 +1,4 @@ -&ACCESS R6 +&ACCESS R3 &COMMENT EXTERNAL package DEFDAT P00 diff --git a/KUKA/KRC/R1/TP/p00.src b/KUKA/KRC/R1/TP/p00.src index f62c145..94d8626 100644 --- a/KUKA/KRC/R1/TP/p00.src +++ b/KUKA/KRC/R1/TP/p00.src @@ -1,4 +1,4 @@ -&ACCESS R6 +&ACCESS R3 &COMMENT EXTERNAL package DEF P00 (COMMAND :IN,PGNO_FUNCT :IN,P_ID[] :OUT,E_NO :IN ) DECL P00_COMMAND COMMAND diff --git a/软件/汇川线缆驱动.zip b/软件/汇川线缆驱动.zip new file mode 100644 index 0000000..e5f4c7d Binary files /dev/null and b/软件/汇川线缆驱动.zip differ