From 45144a2db2403949f2971cd7a226417a21b0619f Mon Sep 17 00:00:00 2001 From: zhusenlin Date: Sat, 7 Feb 2026 20:52:35 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9B=B4=E6=96=B0=E7=A8=8B=E5=BA=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- 6040-003上下料 V2.1.project | Bin 11859342 -> 11860189 bytes KUKA/KRC/R1/KUKA/CollDetect_UserAction.dat | 2 +- KUKA/KRC/R1/KUKA/CollDetect_UserAction.src | 2 +- KUKA/KRC/R1/KUKA/masref_user.dat | 2 +- KUKA/KRC/R1/KUKA/masref_user.src | 2 +- KUKA/KRC/R1/Program/ActionReturn.src | 2 +- KUKA/KRC/R1/Program/Config.dat | 16 ++--- KUKA/KRC/R1/Program/Grip/GripClose.src | 2 +- KUKA/KRC/R1/Program/Mylib/CheckInPos.src | 12 ++-- KUKA/KRC/R1/Program/PL/FeedBelt1Pick.dat | 18 +++--- KUKA/KRC/R1/Program/PL/FeedBelt1Pick.src | 4 +- KUKA/KRC/R1/Program/PL/FeedBelt2Pick.dat | 20 +++--- KUKA/KRC/R1/Program/PL/FeedBelt2Pick.src | 2 +- KUKA/KRC/R1/Program/PL/Pallet1Place.dat | 18 +++--- KUKA/KRC/R1/Program/PL/Pallet1Place.src | 6 +- KUKA/KRC/R1/Program/PL/Pallet2Place.dat | 24 +++---- KUKA/KRC/R1/Program/PL/Pallet2Place.src | 12 ++-- KUKA/KRC/R1/Program/{PL => }/PosBase.dat | 6 +- KUKA/KRC/R1/Program/TP/TestModule.dat | 8 +-- KUKA/KRC/R1/Program/TP/TestModule.src | 61 +++++------------- KUKA/KRC/R1/System/$config.dat | 4 +- KUKA/KRC/R1/System/MqttConfig.dat | 2 +- KUKA/KRC/R1/System/MsgLib.dat | 2 +- KUKA/KRC/R1/System/MsgLib.src | 2 +- KUKA/KRC/R1/System/bas.src | 2 +- KUKA/KRC/R1/System/collmonlib.dat | 2 +- KUKA/KRC/R1/System/collmonlib.src | 2 +- KUKA/KRC/R1/System/ir_stopm.src | 2 +- KUKA/KRC/R1/TP/BrakeTest/BrakeTestBack.dat | 2 +- KUKA/KRC/R1/TP/BrakeTest/BrakeTestBack.src | 2 +- KUKA/KRC/R1/TP/BrakeTest/BrakeTestPark.dat | 2 +- KUKA/KRC/R1/TP/BrakeTest/BrakeTestPark.src | 2 +- KUKA/KRC/R1/TP/BrakeTest/BrakeTestReq.dat | 2 +- KUKA/KRC/R1/TP/BrakeTest/BrakeTestReq.src | 2 +- KUKA/KRC/R1/TP/BrakeTest/BrakeTestStart.dat | 2 +- KUKA/KRC/R1/TP/BrakeTest/BrakeTestStart.src | 2 +- KUKA/KRC/R1/TP/EthernetKRL/EthernetKRL.dat | 2 +- KUKA/KRC/R1/TP/EthernetKRL/EthernetKRL.src | 2 +- .../R1/TP/EthernetKRL/EthernetKRL_USER.src | 2 +- KUKA/KRC/R1/TP/p00.dat | 2 +- KUKA/KRC/R1/TP/p00.src | 2 +- KUKA/KRC/STEU/$config.dat | 2 +- 42 files changed, 123 insertions(+), 142 deletions(-) rename KUKA/KRC/R1/Program/{PL => }/PosBase.dat (75%) diff --git a/6040-003上下料 V2.1.project b/6040-003上下料 V2.1.project index 9c4e3ccbf65edd10f84ceaa74b1530fef99573df..b484cb1d558c09a3b4c321bbf0340ea6fd81d725 100644 GIT binary patch delta 91505 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 Qr+PchfKambss6A32a{;G(EtDd delta 104441 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 A1poj5 diff --git a/KUKA/KRC/R1/KUKA/CollDetect_UserAction.dat b/KUKA/KRC/R1/KUKA/CollDetect_UserAction.dat index c32e56d..7cae1ab 100644 --- a/KUKA/KRC/R1/KUKA/CollDetect_UserAction.dat +++ b/KUKA/KRC/R1/KUKA/CollDetect_UserAction.dat @@ -1,4 +1,4 @@ -&ACCESS R1 +&ACCESS R3 DEFDAT CollDetect_UserAction diff --git a/KUKA/KRC/R1/KUKA/CollDetect_UserAction.src b/KUKA/KRC/R1/KUKA/CollDetect_UserAction.src index b0a5633..0171bef 100644 --- a/KUKA/KRC/R1/KUKA/CollDetect_UserAction.src +++ b/KUKA/KRC/R1/KUKA/CollDetect_UserAction.src @@ -1,4 +1,4 @@ -&ACCESS R1 +&ACCESS R3 DEF CollDetect_UserAction( ) diff --git a/KUKA/KRC/R1/KUKA/masref_user.dat b/KUKA/KRC/R1/KUKA/masref_user.dat index b2a7b8c..e898148 100644 --- a/KUKA/KRC/R1/KUKA/masref_user.dat +++ b/KUKA/KRC/R1/KUKA/masref_user.dat @@ -1,4 +1,4 @@ -&ACCESS RV +&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 06a315a..5cb41e2 100644 --- a/KUKA/KRC/R1/KUKA/masref_user.src +++ b/KUKA/KRC/R1/KUKA/masref_user.src @@ -1,4 +1,4 @@ -&ACCESS RV +&ACCESS RV2 &REL 1 &COMMENT Mastering Reference User Program &PARAM DISKPATH = KRC:\R1\Program diff --git a/KUKA/KRC/R1/Program/ActionReturn.src b/KUKA/KRC/R1/Program/ActionReturn.src index aa0108f..ab75c14 100644 --- a/KUKA/KRC/R1/Program/ActionReturn.src +++ b/KUKA/KRC/R1/Program/ActionReturn.src @@ -1,4 +1,4 @@ -&ACCESS RV +&ACCESS RV2 DEF ActionReturn (nRet:IN ) DECL INT nRet END_POS=$POS_ACT diff --git a/KUKA/KRC/R1/Program/Config.dat b/KUKA/KRC/R1/Program/Config.dat index d3b399a..65d04a6 100644 --- a/KUKA/KRC/R1/Program/Config.dat +++ b/KUKA/KRC/R1/Program/Config.dat @@ -1,16 +1,16 @@ -&ACCESS RV1 +&ACCESS RV3 DEFDAT CONFIG PUBLIC GLOBAL INT PdtTypeLast=0 -GLOBAL INT CmdCountLast=5 -GLOBAL INT CmdSave=10 -GLOBAL INT OffsetX_Save=0 -GLOBAL INT OffsetY_Save=0 -GLOBAL INT CountX_Save=1 -GLOBAL INT CountY_Save=4 +GLOBAL INT CmdCountLast=19 +GLOBAL INT CmdSave=1 +GLOBAL INT OffsetX_Save=200 +GLOBAL INT OffsetY_Save=100 +GLOBAL INT CountX_Save=0 +GLOBAL INT CountY_Save=0 GLOBAL BOOL ConfMessSave=FALSE -DECL GLOBAL E6POS END_POS={X 3447.50732,Y 2180.00269,Z 1194.16223,A 179.028702,B -19.9683552,C 89.8567,S 6,T 19,E1 3545.58130,E2 0.0,E3 0.0,E4 0.0,E5 0.0,E6 0.0} +DECL GLOBAL E6POS END_POS={X 1370.55286,Y 1953.72595,Z 1455.51660,A -164.411240,B 0.411031902,C 179.747101,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 4ba3dd5..7b5f6c3 100644 --- a/KUKA/KRC/R1/Program/Grip/GripClose.src +++ b/KUKA/KRC/R1/Program/Grip/GripClose.src @@ -1,4 +1,4 @@ -&ACCESS RV +&ACCESS RV2 DEF GripClose ( ) Q_GripPosIndex=102 Q_GripPosCount=I_GripPosCountRet+1 diff --git a/KUKA/KRC/R1/Program/Mylib/CheckInPos.src b/KUKA/KRC/R1/Program/Mylib/CheckInPos.src index 7d5f646..71867a0 100644 --- a/KUKA/KRC/R1/Program/Mylib/CheckInPos.src +++ b/KUKA/KRC/R1/Program/Mylib/CheckInPos.src @@ -1,19 +1,17 @@ -&ACCESS RVO +&ACCESS RVO2 DEFFCT BOOL CheckInPos (R_offset:IN,EndPos:IN ) DECL REAL R_offset DECL BOOL b_Pok DECL E6POS ACT_Point DECL E6POS EndPos + BAS(#BASE,1) + BAS(#TOOL,1) + ACT_Point = $POS_ACT IF (ABS(ACT_Point.X - EndPos.X) > R_offset) OR (ABS(ACT_Point.Y - EndPos.Y) > R_offset) OR (ABS(ACT_Point.Z - EndPos.Z) > R_offset) OR (ABS(ACT_Point.A - EndPos.A) > 0.5) OR (ABS(ACT_Point.B - EndPos.B) > 0.5) OR (ABS(ACT_Point.C - EndPos.C) > 0.5) OR (ABS(ACT_Point.E1 - EndPos.E1) > R_offset) THEN b_Pok=FALSE ELSE b_Pok=TRUE - ENDIF - IF NOT b_Pok THEN - MsgNotify("CheckInPosError", "OutArea", , , 1) - ;HALT - ENDIF - + ENDIF RETURN b_Pok 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 fa632ed..0f1e2c2 100644 --- a/KUKA/KRC/R1/Program/PL/FeedBelt1Pick.dat +++ b/KUKA/KRC/R1/Program/PL/FeedBelt1Pick.dat @@ -1,4 +1,6 @@ -&ACCESS RVO +&ACCESS RVP +&REL 1 +&PARAM DISKPATH = KRC:\R1\Program\PL DEFDAT FEEDBELT1PICK ;FOLD EXTERNAL DECLARATIONS;%{PE}%MKUKATPBASIS,%CEXT,%VCOMMON,%P ;FOLD BASISTECH EXT;%{PE}%MKUKATPBASIS,%CEXT,%VEXT,%P @@ -11,14 +13,14 @@ 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=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={BASE_NO 1,TOOL_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 LDAT LCPDAT1={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}},APO_FAC 50.0,APO_DIST 500,AXIS_ACC 100.0,AXIS_VEL 100.0,CIRC_TYP #BASE,JERK_FAC 50.0,ORI_TYP #VAR,VEL 2,ACC 100,GEAR_JERK 100.0,EXAX_IGN 0} -DECL FDAT FPick={BASE_NO 1,TOOL_NO 1,IPO_FRAME #BASE,POINT2[] " "} -DECL E6POS XPick={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 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 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 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={APO_MODE #CDIS,APO_DIST 500,VEL 100,ACC 100,GEAR_JERK 100.0,EXAX_IGN 0} +DECL PDAT PPDAT1={VEL 100.000,ACC 100.000,APO_DIST 500.000,APO_MODE #CDIS,GEAR_JERK 100.000,EXAX_IGN 0} ENDDAT \ No newline at end of file diff --git a/KUKA/KRC/R1/Program/PL/FeedBelt1Pick.src b/KUKA/KRC/R1/Program/PL/FeedBelt1Pick.src index e780315..3bc5dd5 100644 --- a/KUKA/KRC/R1/Program/PL/FeedBelt1Pick.src +++ b/KUKA/KRC/R1/Program/PL/FeedBelt1Pick.src @@ -1,4 +1,6 @@ -&ACCESS RVO +&ACCESS RVP +&REL 1 +&PARAM DISKPATH = KRC:\R1\Program\PL DEF FeedBelt1Pick ( ) ;FOLD INI;%{PE} ;FOLD BASISTECH INI diff --git a/KUKA/KRC/R1/Program/PL/FeedBelt2Pick.dat b/KUKA/KRC/R1/Program/PL/FeedBelt2Pick.dat index 8f63ae4..1bad698 100644 --- a/KUKA/KRC/R1/Program/PL/FeedBelt2Pick.dat +++ b/KUKA/KRC/R1/Program/PL/FeedBelt2Pick.dat @@ -1,5 +1,5 @@ -&ACCESS RV -DEFDAT FeedBelt2Pick +&ACCESS RVP +DEFDAT FEEDBELT2PICK ;FOLD EXTERNAL DECLARATIONS;%{PE}%MKUKATPBASIS,%CEXT,%VCOMMON,%P ;FOLD BASISTECH EXT;%{PE}%MKUKATPBASIS,%CEXT,%VEXT,%P EXT BAS (BAS_COMMAND :IN,REAL :IN ) @@ -10,13 +10,13 @@ DECL INT SUCCESS ;ENDFOLD (USER EXT) ;ENDFOLD (EXTERNAL DECLARATIONS) -DECL LDAT LCPDAT2={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}},APO_FAC 50.0,APO_DIST 500,AXIS_ACC 100.0,AXIS_VEL 100.0,CIRC_TYP #BASE,JERK_FAC 50.0,ORI_TYP #VAR,VEL 2,ACC 100,GEAR_JERK 100.0,EXAX_IGN 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 FDAT FPick_1={TOOL_NO 1,BASE_NO 0,IPO_FRAME #BASE,POINT2[] " "} -DECL LDAT LCPDAT1={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}},APO_FAC 50.0,APO_DIST 500,AXIS_ACC 100.0,AXIS_VEL 100.0,CIRC_TYP #BASE,JERK_FAC 50.0,ORI_TYP #VAR,VEL 2,ACC 100,GEAR_JERK 100.0,EXAX_IGN 0} -DECL PDAT PPDAT1={APO_MODE #CDIS,APO_DIST 500,VEL 100,ACC 100,GEAR_JERK 100.0,EXAX_IGN 0} -DECL FDAT FPickH={BASE_NO 1,TOOL_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 = {A -165.39949,B -1.87913013,C 179.43277,S 2,T 43,X 1797.49475,Y 1360.66516,Z 1167.60986,E1 0.0,E2 0.0,E3 0.0,E4 0.0,E5 0.0,E6 0.0} -DECL E6POS XPick = {A -165.39949,B -1.87913013,C 179.43277,S 2,T 43,X 1797.49475,Y 1360.66516,Z 667.609802,E1 0.0,E2 0.0,E3 0.0,E4 0.0,E5 0.0,E6 0.0} -DECL FDAT FPick = {BASE_NO 1,TOOL_NO 1,IPO_FRAME #BASE,POINT2[] " "} +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 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 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 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 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 63c28f3..a432b0f 100644 --- a/KUKA/KRC/R1/Program/PL/FeedBelt2Pick.src +++ b/KUKA/KRC/R1/Program/PL/FeedBelt2Pick.src @@ -1,4 +1,4 @@ -&ACCESS RV +&ACCESS RVP DEF FeedBelt2Pick ( ) ;FOLD INI;%{PE} ;FOLD BASISTECH INI diff --git a/KUKA/KRC/R1/Program/PL/Pallet1Place.dat b/KUKA/KRC/R1/Program/PL/Pallet1Place.dat index bbbc569..2c19fd4 100644 --- a/KUKA/KRC/R1/Program/PL/Pallet1Place.dat +++ b/KUKA/KRC/R1/Program/PL/Pallet1Place.dat @@ -1,4 +1,6 @@ &ACCESS RV +&REL 1 +&PARAM DISKPATH = KRC:\R1\Program\PL DEFDAT PALLET1PLACE ;FOLD EXTERNAL DECLARATIONS;%{PE}%MKUKATPBASIS,%CEXT,%VCOMMON,%P ;FOLD BASISTECH EXT;%{PE}%MKUKATPBASIS,%CEXT,%VEXT,%P @@ -13,14 +15,14 @@ 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={BASE_NO 1,TOOL_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=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 LDAT LCPDAT1={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}},APO_FAC 50.0,APO_DIST 500,AXIS_ACC 100.0,AXIS_VEL 100.0,CIRC_TYP #BASE,JERK_FAC 50.0,ORI_TYP #VAR,VEL 2,ACC 100,GEAR_JERK 100.0,EXAX_IGN 0} -DECL FDAT FPlace={BASE_NO 1,TOOL_NO 1,IPO_FRAME #BASE,POINT2[] " "} +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 LDAT LCPDAT2={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}},APO_FAC 50.0,APO_DIST 500,AXIS_ACC 100.0,AXIS_VEL 100.0,CIRC_TYP #BASE,JERK_FAC 50.0,ORI_TYP #VAR,VEL 2,ACC 100,GEAR_JERK 100.0,EXAX_IGN 0} -DECL PDAT PPDAT1={APO_MODE #CDIS,APO_DIST 500,VEL 100,ACC 100,GEAR_JERK 100.0,EXAX_IGN 0} -DECL FDAT FHOME1 = {BASE_NO 0,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 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} 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 d7094e8..3e34f3f 100644 --- a/KUKA/KRC/R1/Program/PL/Pallet1Place.src +++ b/KUKA/KRC/R1/Program/PL/Pallet1Place.src @@ -1,4 +1,6 @@ &ACCESS RV +&REL 1 +&PARAM DISKPATH = KRC:\R1\Program\PL DEF Pallet1Place ( ) ;FOLD INI;%{PE} ;FOLD BASISTECH INI @@ -14,8 +16,8 @@ DEF Pallet1Place ( ) WAIT FOR $IN_HOME OR $IN_HOME1 OR $IN_HOME2 OR CheckInPos(20.0, END_POS) XPlace=XPallet1PlaceB - XPlace.X=XPallet1PlaceB.X - CountY_Save*OffsetY_Save - XPlace.Y=XPallet1PlaceB.Y - CountX_Save*OffsetX_Save + XPlace.X=XPallet1PlaceB.X - CountX_Save*OffsetX_Save + XPlace.Y=XPallet1PlaceB.Y - CountY_Save*OffsetY_Save 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/Pallet2Place.dat b/KUKA/KRC/R1/Program/PL/Pallet2Place.dat index a0d6353..624629a 100644 --- a/KUKA/KRC/R1/Program/PL/Pallet2Place.dat +++ b/KUKA/KRC/R1/Program/PL/Pallet2Place.dat @@ -1,5 +1,7 @@ -&ACCESS RV -DEFDAT Pallet2Place +&ACCESS RVO +&REL 1 +&PARAM DISKPATH = KRC:\R1\Program\PL +DEFDAT PALLET2PLACE ;FOLD EXTERNAL DECLARATIONS;%{PE}%MKUKATPBASIS,%CEXT,%VCOMMON,%P ;FOLD BASISTECH EXT;%{PE}%MKUKATPBASIS,%CEXT,%VEXT,%P EXT BAS (BAS_COMMAND :IN,REAL :IN ) @@ -10,14 +12,14 @@ 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 FDAT FPlaceH={BASE_NO 1,TOOL_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 LDAT LCPDAT1={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}},APO_FAC 50.0,APO_DIST 500,AXIS_ACC 100.0,AXIS_VEL 100.0,CIRC_TYP #BASE,JERK_FAC 50.0,ORI_TYP #VAR,VEL 2,ACC 100,GEAR_JERK 100.0,EXAX_IGN 0} -DECL FDAT FPlace={BASE_NO 1,TOOL_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 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 1501.64038,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 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 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={APO_MODE #CDIS,APO_DIST 500,VEL 100,ACC 100,GEAR_JERK 100.0,EXAX_IGN 0} -DECL FDAT FHOME1 = {BASE_NO 0,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 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} 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 959ccdb..74bb71d 100644 --- a/KUKA/KRC/R1/Program/PL/Pallet2Place.src +++ b/KUKA/KRC/R1/Program/PL/Pallet2Place.src @@ -1,4 +1,6 @@ -&ACCESS RV +&ACCESS RVO +&REL 1 +&PARAM DISKPATH = KRC:\R1\Program\PL DEF Pallet2Place ( ) ;FOLD INI;%{PE} ;FOLD BASISTECH INI @@ -12,11 +14,11 @@ DEF Pallet2Place ( ) ;ENDFOLD (USER INI) ;ENDFOLD (INI) WAIT FOR $IN_HOME OR $IN_HOME1 OR $IN_HOME2 OR CheckInPos(20.0, END_POS) - XPlace=XPallet1PlaceB - XPlace.X=XPallet1PlaceB.X - CountY_Save*OffsetY_Save - XPlace.Y=XPallet1PlaceB.Y - CountX_Save*OffsetX_Save + XPlace=XPallet2PlaceB + XPlace.X=XPallet2PlaceB.X - CountX_Save*OffsetX_Save + XPlace.Y=XPallet2PlaceB.Y - CountY_Save*OffsetY_Save XPlaceH=XPlace - XPlaceH.Z=XPlace.Z+500 + 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 diff --git a/KUKA/KRC/R1/Program/PL/PosBase.dat b/KUKA/KRC/R1/Program/PosBase.dat similarity index 75% rename from KUKA/KRC/R1/Program/PL/PosBase.dat rename to KUKA/KRC/R1/Program/PosBase.dat index 3ba055a..99ab02b 100644 --- a/KUKA/KRC/R1/Program/PL/PosBase.dat +++ b/KUKA/KRC/R1/Program/PosBase.dat @@ -1,4 +1,4 @@ -&ACCESS RV +&ACCESS RV2 &REL 7 &PARAM DISKPATH = KRC:\R1\Program\TP DEFDAT POSBASE PUBLIC @@ -6,8 +6,8 @@ DEFDAT POSBASE PUBLIC ;*************************************************** ; * ;*************************************************** -DECL GLOBAL E6POS XPallet1PlaceB={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 GLOBAL E6POS XPallet2PlaceB={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 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} diff --git a/KUKA/KRC/R1/Program/TP/TestModule.dat b/KUKA/KRC/R1/Program/TP/TestModule.dat index 7191773..7c43640 100644 --- a/KUKA/KRC/R1/Program/TP/TestModule.dat +++ b/KUKA/KRC/R1/Program/TP/TestModule.dat @@ -1,5 +1,5 @@ &ACCESS RVO -&REL 18 +&REL 20 &PARAM DISKPATH = KRC:\R1\Program\TP DEFDAT TESTMODULE ;FOLD EXTERNAL DECLARATIONS;%{PE}%MKUKATPBASIS,%CEXT,%VCOMMON,%P @@ -12,10 +12,10 @@ DECL INT SUCCESS ;ENDFOLD (USER EXT) ;ENDFOLD (EXTERNAL DECLARATIONS) -DECL FDAT FPallet1PlaceB={TOOL_NO 1,BASE_NO 0,IPO_FRAME #BASE,POINT2[] " "} +DECL FDAT FPallet1PlaceB={TOOL_NO 1,BASE_NO 1,IPO_FRAME #BASE,POINT2[] " "} DECL PDAT PPDAT1={VEL 100.000,ACC 100.000,APO_DIST 500.000,APO_MODE #CDIS,GEAR_JERK 100.000,EXAX_IGN 0} -DECL MODULEPARAM_T LAST_TP_PARAMS={PARAMS[] "Kuka.VelocityFieldEnabled=False; Kuka.ColDetectFieldEnabled=False; Kuka.MovementParameterFieldEnabled=False; Kuka.IsAngleEnabled=False; Kuka.PointName=ReFeedBeltPick; Kuka.FrameData.base_no=0; Kuka.FrameData.tool_no=1; Kuka.FrameData.ipo_frame=#BASE; Kuka.isglobalpoint=False; Kuka.MoveDataPtpName=PDAT10; 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"} -DECL FDAT FPallet2PlaceB={TOOL_NO 1,BASE_NO 0,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=Pallet2PlaceB; Kuka.FrameData.base_no=1; Kuka.FrameData.tool_no=1; Kuka.FrameData.ipo_frame=#BASE; Kuka.isglobalpoint=False; Kuka.MoveDataPtpName=PDAT2; 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.FrameData.point2="} +DECL FDAT FPallet2PlaceB={TOOL_NO 1,BASE_NO 1,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 FFeedBelt1Pick={TOOL_NO 1,BASE_NO 0,IPO_FRAME #BASE,POINT2[] " "} DECL PDAT PPDAT3={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/TP/TestModule.src b/KUKA/KRC/R1/Program/TP/TestModule.src index fbfa09e..eba6aa2 100644 --- a/KUKA/KRC/R1/Program/TP/TestModule.src +++ b/KUKA/KRC/R1/Program/TP/TestModule.src @@ -1,5 +1,5 @@ &ACCESS RVO -&REL 18 +&REL 20 &PARAM DISKPATH = KRC:\R1\Program\TP DEF TestModule ( ) ;FOLD INI;%{PE} @@ -12,50 +12,7 @@ DEF TestModule ( ) ;Make your modifications here ;ENDFOLD (USER INI) -;ENDFOLD (INI) -;FOLD SPTP Pallet1PlaceB Vel=100 % PDAT1 Tool[1] Base[0] ;%{PE} -;FOLD Parameters ;%{h} -;Params IlfProvider=kukaroboter.basistech.inlineforms.movement.spline; Kuka.IsGlobalPoint=False; Kuka.PointName=Pallet1PlaceB; Kuka.BlendingEnabled=False; Kuka.MoveDataPtpName=PDAT1; Kuka.VelocityPtp=100; Kuka.VelocityFieldEnabled=True; Kuka.ColDetectFieldEnabled=True; Kuka.CurrentCDSetIndex=0; Kuka.MovementParameterFieldEnabled=True; IlfCommand=SPTP -;ENDFOLD -SPTP XPallet1PlaceB WITH $VEL_AXIS[1] = SVEL_JOINT(100.0), $TOOL = STOOL2(FPallet1PlaceB), $BASE = SBASE(FPallet1PlaceB.BASE_NO), $IPO_MODE = SIPO_MODE(FPallet1PlaceB.IPO_FRAME), $LOAD = SLOAD(FPallet1PlaceB.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) -;ENDFOLD -;FOLD SPTP Pallet2PlaceB Vel=100 % PDAT2 Tool[1] Base[0] ;%{PE} -;FOLD Parameters ;%{h} -;Params IlfProvider=kukaroboter.basistech.inlineforms.movement.spline; Kuka.IsGlobalPoint=False; Kuka.PointName=Pallet2PlaceB; 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 XPallet2PlaceB WITH $VEL_AXIS[1] = SVEL_JOINT(100.0), $TOOL = STOOL2(FPallet2PlaceB), $BASE = SBASE(FPallet2PlaceB.BASE_NO), $IPO_MODE = SIPO_MODE(FPallet2PlaceB.IPO_FRAME), $LOAD = SLOAD(FPallet2PlaceB.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 -;FOLD SPTP FeedBelt1Pick Vel=100 % PDAT3 Tool[1] Base[0] ;%{PE} -;FOLD Parameters ;%{h} -;Params IlfProvider=kukaroboter.basistech.inlineforms.movement.spline; Kuka.IsGlobalPoint=False; Kuka.PointName=FeedBelt1Pick; Kuka.BlendingEnabled=False; Kuka.MoveDataPtpName=PDAT3; Kuka.VelocityPtp=100; Kuka.VelocityFieldEnabled=True; Kuka.ColDetectFieldEnabled=True; Kuka.CurrentCDSetIndex=0; Kuka.MovementParameterFieldEnabled=True; IlfCommand=SPTP -;ENDFOLD -SPTP XFeedBelt1Pick WITH $VEL_AXIS[1] = SVEL_JOINT(100.0), $TOOL = STOOL2(FFeedBelt1Pick), $BASE = SBASE(FFeedBelt1Pick.BASE_NO), $IPO_MODE = SIPO_MODE(FFeedBelt1Pick.IPO_FRAME), $LOAD = SLOAD(FFeedBelt1Pick.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) -;ENDFOLD -;FOLD SPTP FeedBelt2Pick Vel=100 % PDAT4 Tool[1] Base[0] ;%{PE} -;FOLD Parameters ;%{h} -;Params IlfProvider=kukaroboter.basistech.inlineforms.movement.spline; Kuka.IsGlobalPoint=False; Kuka.PointName=FeedBelt2Pick; Kuka.BlendingEnabled=False; Kuka.MoveDataPtpName=PDAT4; Kuka.VelocityPtp=100; Kuka.VelocityFieldEnabled=True; Kuka.ColDetectFieldEnabled=True; Kuka.CurrentCDSetIndex=0; Kuka.MovementParameterFieldEnabled=True; IlfCommand=SPTP -;ENDFOLD -SPTP XFeedBelt2Pick WITH $VEL_AXIS[1] = SVEL_JOINT(100.0), $TOOL = STOOL2(FFeedBelt2Pick), $BASE = SBASE(FFeedBelt2Pick.BASE_NO), $IPO_MODE = SIPO_MODE(FFeedBelt2Pick.IPO_FRAME), $LOAD = SLOAD(FFeedBelt2Pick.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) -;ENDFOLD -;FOLD SPTP NgBeltPlace Vel=100 % PDAT5 Tool[1] Base[0] ;%{PE} -;FOLD Parameters ;%{h} -;Params IlfProvider=kukaroboter.basistech.inlineforms.movement.spline; Kuka.IsGlobalPoint=False; Kuka.PointName=NgBeltPlace; Kuka.BlendingEnabled=False; Kuka.MoveDataPtpName=PDAT5; Kuka.VelocityPtp=100; Kuka.VelocityFieldEnabled=True; Kuka.ColDetectFieldEnabled=True; Kuka.CurrentCDSetIndex=0; Kuka.MovementParameterFieldEnabled=True; IlfCommand=SPTP -;ENDFOLD -SPTP XNgBeltPlace WITH $VEL_AXIS[1] = SVEL_JOINT(100.0), $TOOL = STOOL2(FNgBeltPlace), $BASE = SBASE(FNgBeltPlace.BASE_NO), $IPO_MODE = SIPO_MODE(FNgBeltPlace.IPO_FRAME), $LOAD = SLOAD(FNgBeltPlace.TOOL_NO), $ACC_AXIS[1] = SACC_JOINT(PPDAT5), $APO = SAPO_PTP(PPDAT5), $GEAR_JERK[1] = SGEAR_JERK(PPDAT5), $COLLMON_TOL_PRO[1] = USE_CM_PRO_VALUES(0) -;ENDFOLD -;FOLD SPTP WaterBeltPick Vel=100 % PDAT6 Tool[1] Base[0] ;%{PE} -;FOLD Parameters ;%{h} -;Params IlfProvider=kukaroboter.basistech.inlineforms.movement.spline; Kuka.IsGlobalPoint=False; Kuka.PointName=WaterBeltPick; Kuka.BlendingEnabled=False; Kuka.MoveDataPtpName=PDAT6; Kuka.VelocityPtp=100; Kuka.VelocityFieldEnabled=True; Kuka.ColDetectFieldEnabled=True; Kuka.CurrentCDSetIndex=0; Kuka.MovementParameterFieldEnabled=True; IlfCommand=SPTP -;ENDFOLD -SPTP XWaterBeltPick WITH $VEL_AXIS[1] = SVEL_JOINT(100.0), $TOOL = STOOL2(FWaterBeltPick), $BASE = SBASE(FWaterBeltPick.BASE_NO), $IPO_MODE = SIPO_MODE(FWaterBeltPick.IPO_FRAME), $LOAD = SLOAD(FWaterBeltPick.TOOL_NO), $ACC_AXIS[1] = SACC_JOINT(PPDAT6), $APO = SAPO_PTP(PPDAT6), $GEAR_JERK[1] = SGEAR_JERK(PPDAT6), $COLLMON_TOL_PRO[1] = USE_CM_PRO_VALUES(0) -;ENDFOLD -;FOLD SPTP ReFeedBeltPick Vel=100 % PDAT7 Tool[1] Base[0] ;%{PE} -;FOLD Parameters ;%{h} -;Params IlfProvider=kukaroboter.basistech.inlineforms.movement.spline; Kuka.IsGlobalPoint=False; Kuka.PointName=ReFeedBeltPick; Kuka.BlendingEnabled=False; Kuka.MoveDataPtpName=PDAT7; Kuka.VelocityPtp=100; Kuka.VelocityFieldEnabled=True; Kuka.ColDetectFieldEnabled=True; Kuka.CurrentCDSetIndex=0; Kuka.MovementParameterFieldEnabled=True; IlfCommand=SPTP -;ENDFOLD -SPTP XReFeedBeltPick WITH $VEL_AXIS[1] = SVEL_JOINT(100.0), $TOOL = STOOL2(FReFeedBeltPick), $BASE = SBASE(FReFeedBeltPick.BASE_NO), $IPO_MODE = SIPO_MODE(FReFeedBeltPick.IPO_FRAME), $LOAD = SLOAD(FReFeedBeltPick.TOOL_NO), $ACC_AXIS[1] = SACC_JOINT(PPDAT7), $APO = SAPO_PTP(PPDAT7), $GEAR_JERK[1] = SGEAR_JERK(PPDAT7), $COLLMON_TOL_PRO[1] = USE_CM_PRO_VALUES(0) -;ENDFOLD - + ;ENDFOLD (INI) ;FOLD SPTP HOME Vel=100 % PDAT10 ;%{PE} ;FOLD Parameters ;%{h} ;Params IlfProvider=kukaroboter.basistech.inlineforms.movement.spline; Kuka.IsGlobalPoint=False; Kuka.PointName=HOME; Kuka.BlendingEnabled=False; Kuka.MoveDataPtpName=PDAT10; Kuka.VelocityPtp=100; Kuka.VelocityFieldEnabled=True; Kuka.ColDetectFieldEnabled=True; Kuka.CurrentCDSetIndex=0; Kuka.MovementParameterFieldEnabled=True; IlfCommand=SPTP @@ -74,4 +31,18 @@ SPTP XHOME2 WITH $VEL_AXIS[1] = SVEL_JOINT(100.0), $TOOL = STOOL2(FHOME2), $BASE ;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(PPDAT8), $APO = SAPO_PTP(PPDAT8), $GEAR_JERK[1] = SGEAR_JERK(PPDAT8), $COLLMON_TOL_PRO[1] = USE_CM_PRO_VALUES(0) ;ENDFOLD +;FOLD SPTP Pallet1PlaceB 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=Pallet1PlaceB; Kuka.BlendingEnabled=False; Kuka.MoveDataPtpName=PDAT1; Kuka.VelocityPtp=100; Kuka.VelocityFieldEnabled=True; Kuka.ColDetectFieldEnabled=True; Kuka.CurrentCDSetIndex=0; Kuka.MovementParameterFieldEnabled=True; IlfCommand=SPTP +;ENDFOLD +SPTP XPallet1PlaceB WITH $VEL_AXIS[1] = SVEL_JOINT(100.0), $TOOL = STOOL2(FPallet1PlaceB), $BASE = SBASE(FPallet1PlaceB.BASE_NO), $IPO_MODE = SIPO_MODE(FPallet1PlaceB.IPO_FRAME), $LOAD = SLOAD(FPallet1PlaceB.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) +;ENDFOLD +;FOLD SPTP Pallet2PlaceB Vel=100 % PDAT2 Tool[1]:Tool1 Base[1]:Base1 ;%{PE} +;FOLD Parameters ;%{h} +;Params IlfProvider=kukaroboter.basistech.inlineforms.movement.spline; Kuka.IsGlobalPoint=False; Kuka.PointName=Pallet2PlaceB; 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 XPallet2PlaceB WITH $VEL_AXIS[1] = SVEL_JOINT(100.0), $TOOL = STOOL2(FPallet2PlaceB), $BASE = SBASE(FPallet2PlaceB.BASE_NO), $IPO_MODE = SIPO_MODE(FPallet2PlaceB.IPO_FRAME), $LOAD = SLOAD(FPallet2PlaceB.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 \ No newline at end of file diff --git a/KUKA/KRC/R1/System/$config.dat b/KUKA/KRC/R1/System/$config.dat index f5a87ba..6206aa5 100644 --- a/KUKA/KRC/R1/System/$config.dat +++ b/KUKA/KRC/R1/System/$config.dat @@ -1,4 +1,4 @@ -&ACCESS RV$2 +&ACCESS RV$4 DEFDAT $CONFIG ;FOLD BASISTECH GLOBALS ;================================== @@ -352,7 +352,7 @@ DECL LOAD LOAD_A3_DATA={M 50.0000,CM {X 0.0,Y 0.0,Z 0.0,A 0.0,B 0.0,C 0.0},J {X INT MAX_BASE=32 DECL FRAME BASE_DATA[32] -BASE_DATA[1]={X 2350.27319,Y 1357.61987,Z 628.256104,A -90.2072,B 0.0586867109,C -179.962265} +BASE_DATA[1]={X 823.726135,Y -1331.62146,Z 626.088379,A -0.308851,B 0.00167013647,C -0.0266715586} BASE_DATA[2]={X 0.0,Y 0.0,Z 0.0,A 0.0,B 0.0,C 0.0} BASE_DATA[3]={X 0.0,Y 0.0,Z 0.0,A 0.0,B 0.0,C 0.0} BASE_DATA[4]={X 0.0,Y 0.0,Z 0.0,A 0.0,B 0.0,C 0.0} diff --git a/KUKA/KRC/R1/System/MqttConfig.dat b/KUKA/KRC/R1/System/MqttConfig.dat index 9ddf9a2..abfcfa3 100644 --- a/KUKA/KRC/R1/System/MqttConfig.dat +++ b/KUKA/KRC/R1/System/MqttConfig.dat @@ -1,4 +1,4 @@ -&ACCESS RV +&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 845922f..d8aa177 100644 --- a/KUKA/KRC/R1/System/MsgLib.dat +++ b/KUKA/KRC/R1/System/MsgLib.dat @@ -1,4 +1,4 @@ -&ACCESS R1 +&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 999fbb8..9f0ce5b 100644 --- a/KUKA/KRC/R1/System/MsgLib.src +++ b/KUKA/KRC/R1/System/MsgLib.src @@ -1,4 +1,4 @@ -&ACCESS R1 +&ACCESS R3 &COMMENT Message library DEF MsgLib ( ) ;************************************************** diff --git a/KUKA/KRC/R1/System/bas.src b/KUKA/KRC/R1/System/bas.src index 86b050e..bc3aec6 100644 --- a/KUKA/KRC/R1/System/bas.src +++ b/KUKA/KRC/R1/System/bas.src @@ -1,4 +1,4 @@ -&ACCESS R1 +&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 41ed38d..078fec0 100644 --- a/KUKA/KRC/R1/System/collmonlib.dat +++ b/KUKA/KRC/R1/System/collmonlib.dat @@ -1,4 +1,4 @@ -&ACCESS R1 +&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 a1d099c..5cffcdb 100644 --- a/KUKA/KRC/R1/System/collmonlib.src +++ b/KUKA/KRC/R1/System/collmonlib.src @@ -1,4 +1,4 @@ -&ACCESS R1 +&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 a720129..bd78af4 100644 --- a/KUKA/KRC/R1/System/ir_stopm.src +++ b/KUKA/KRC/R1/System/ir_stopm.src @@ -1,4 +1,4 @@ -&ACCESS R1 +&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 5133721..a63a9c7 100644 --- a/KUKA/KRC/R1/TP/BrakeTest/BrakeTestBack.dat +++ b/KUKA/KRC/R1/TP/BrakeTest/BrakeTestBack.dat @@ -1,4 +1,4 @@ -&ACCESS RV +&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 5035564..0f11a17 100644 --- a/KUKA/KRC/R1/TP/BrakeTest/BrakeTestBack.src +++ b/KUKA/KRC/R1/TP/BrakeTest/BrakeTestBack.src @@ -1,4 +1,4 @@ -&ACCESS RV +&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 bbd1771..80d9715 100644 --- a/KUKA/KRC/R1/TP/BrakeTest/BrakeTestPark.dat +++ b/KUKA/KRC/R1/TP/BrakeTest/BrakeTestPark.dat @@ -1,4 +1,4 @@ -&ACCESS RV +&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 d502051..6eb4f60 100644 --- a/KUKA/KRC/R1/TP/BrakeTest/BrakeTestPark.src +++ b/KUKA/KRC/R1/TP/BrakeTest/BrakeTestPark.src @@ -1,4 +1,4 @@ -&ACCESS RV +&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 7d24433..5320079 100644 --- a/KUKA/KRC/R1/TP/BrakeTest/BrakeTestReq.dat +++ b/KUKA/KRC/R1/TP/BrakeTest/BrakeTestReq.dat @@ -1,4 +1,4 @@ -&ACCESS RVO +&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 81f1c7b..66cbaf3 100644 --- a/KUKA/KRC/R1/TP/BrakeTest/BrakeTestReq.src +++ b/KUKA/KRC/R1/TP/BrakeTest/BrakeTestReq.src @@ -1,4 +1,4 @@ -&ACCESS RVO +&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 9946763..278d11d 100644 --- a/KUKA/KRC/R1/TP/BrakeTest/BrakeTestStart.dat +++ b/KUKA/KRC/R1/TP/BrakeTest/BrakeTestStart.dat @@ -1,4 +1,4 @@ -&ACCESS RV +&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 0fe0872..e8c41c0 100644 --- a/KUKA/KRC/R1/TP/BrakeTest/BrakeTestStart.src +++ b/KUKA/KRC/R1/TP/BrakeTest/BrakeTestStart.src @@ -1,4 +1,4 @@ -&ACCESS RV +&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 6cc0297..786b6a3 100644 --- a/KUKA/KRC/R1/TP/EthernetKRL/EthernetKRL.dat +++ b/KUKA/KRC/R1/TP/EthernetKRL/EthernetKRL.dat @@ -1,4 +1,4 @@ -&ACCESS RO +&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 a730daf..06ae15b 100644 --- a/KUKA/KRC/R1/TP/EthernetKRL/EthernetKRL.src +++ b/KUKA/KRC/R1/TP/EthernetKRL/EthernetKRL.src @@ -1,4 +1,4 @@ -&ACCESS RO +&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 f2c0721..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 RO +&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 1644eae..ed6c061 100644 --- a/KUKA/KRC/R1/TP/p00.dat +++ b/KUKA/KRC/R1/TP/p00.dat @@ -1,4 +1,4 @@ -&ACCESS R1 +&ACCESS R3 &COMMENT EXTERNAL package DEFDAT P00 diff --git a/KUKA/KRC/R1/TP/p00.src b/KUKA/KRC/R1/TP/p00.src index 45503ee..94d8626 100644 --- a/KUKA/KRC/R1/TP/p00.src +++ b/KUKA/KRC/R1/TP/p00.src @@ -1,4 +1,4 @@ -&ACCESS R1 +&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/KUKA/KRC/STEU/$config.dat b/KUKA/KRC/STEU/$config.dat index 9280c1c..43e4b73 100644 --- a/KUKA/KRC/STEU/$config.dat +++ b/KUKA/KRC/STEU/$config.dat @@ -1,4 +1,4 @@ -&ACCESS RV$2 +&ACCESS RV$4 DEFDAT $CONFIG ENDDAT \ No newline at end of file