From 08766bb1a95e38609d142b6ec83d87224d85d9b9 Mon Sep 17 00:00:00 2001 From: zhusenlin Date: Sun, 8 Feb 2026 16:40:58 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9B=B4=E6=96=B0PLC=E7=A8=8B=E5=BA=8F,?= =?UTF-8?q?=E6=9B=B4=E6=96=B0=E6=9C=BA=E5=99=A8=E4=BA=BA=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 11868752 -> 11868807 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 | 9 +- KUKA/KRC/R1/Program/Config.dat | 16 +- KUKA/KRC/R1/Program/Grip/GripClose.src | 2 +- KUKA/KRC/R1/Program/Grip/GripOpen.src | 2 +- KUKA/KRC/R1/Program/Home/HomeModule.dat | 2 +- KUKA/KRC/R1/Program/Home/HomeModule.src | 4 +- KUKA/KRC/R1/Program/MainModule.dat | 2 +- KUKA/KRC/R1/Program/MainModule.src | 4 +- KUKA/KRC/R1/Program/Mylib/CheckInPos.src | 2 +- KUKA/KRC/R1/Program/PL/FeedBelt1Pick.dat | 2 +- KUKA/KRC/R1/Program/PL/FeedBelt1Pick.src | 4 +- KUKA/KRC/R1/Program/PL/FeedBelt2Pick.dat | 4 +- KUKA/KRC/R1/Program/PL/FeedBelt2Pick.src | 4 +- KUKA/KRC/R1/Program/PL/NgBeltPlace.dat | 22 +- KUKA/KRC/R1/Program/PL/NgBeltPlace.src | 9 +- KUKA/KRC/R1/Program/PL/Pallet1Place.dat | 2 +- KUKA/KRC/R1/Program/PL/Pallet1Place.src | 13 +- KUKA/KRC/R1/Program/PL/Pallet2Place.dat | 6 +- KUKA/KRC/R1/Program/PL/Pallet2Place.src | 14 +- KUKA/KRC/R1/Program/PL/ReFeedBeltPick.dat | 16 +- KUKA/KRC/R1/Program/PL/ReFeedBeltPick.src | 4 +- KUKA/KRC/R1/Program/PL/WaterBeltPick.dat | 16 +- KUKA/KRC/R1/Program/PL/WaterBeltPick.src | 4 +- KUKA/KRC/R1/Program/PosBase.dat | 2 +- KUKA/KRC/R1/System/$config.dat | 2 +- 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 | 4 - KUKA/KRC/STEU/Mada/$custom.dat | 650 ------------------ KUKA/KRC/STEU/Mada/$machine.dat | 103 --- KUKA/KRC/STEU/Mada/$option.dat | 29 - 54 files changed, 114 insertions(+), 887 deletions(-) delete mode 100644 KUKA/KRC/STEU/$config.dat delete mode 100644 KUKA/KRC/STEU/Mada/$custom.dat delete mode 100644 KUKA/KRC/STEU/Mada/$machine.dat delete mode 100644 KUKA/KRC/STEU/Mada/$option.dat diff --git a/6040-003上下料 V2.1.project b/6040-003上下料 V2.1.project index c032ab5c7c4e5b4d63dea29ae16aea42c0f43658..cfd73abebb8fc33cb9a73009c1642c3609b4c3c0 100644 GIT binary patch delta 52666 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 GwEs6(GBJ+; diff --git a/KUKA/KRC/R1/KUKA/CollDetect_UserAction.dat b/KUKA/KRC/R1/KUKA/CollDetect_UserAction.dat index 7cae1ab..e4959f9 100644 --- a/KUKA/KRC/R1/KUKA/CollDetect_UserAction.dat +++ b/KUKA/KRC/R1/KUKA/CollDetect_UserAction.dat @@ -1,4 +1,4 @@ -&ACCESS R3 +&ACCESS R6 DEFDAT CollDetect_UserAction diff --git a/KUKA/KRC/R1/KUKA/CollDetect_UserAction.src b/KUKA/KRC/R1/KUKA/CollDetect_UserAction.src index 0171bef..d530134 100644 --- a/KUKA/KRC/R1/KUKA/CollDetect_UserAction.src +++ b/KUKA/KRC/R1/KUKA/CollDetect_UserAction.src @@ -1,4 +1,4 @@ -&ACCESS R3 +&ACCESS R6 DEF CollDetect_UserAction( ) diff --git a/KUKA/KRC/R1/KUKA/masref_user.dat b/KUKA/KRC/R1/KUKA/masref_user.dat index e898148..83f285e 100644 --- a/KUKA/KRC/R1/KUKA/masref_user.dat +++ b/KUKA/KRC/R1/KUKA/masref_user.dat @@ -1,4 +1,4 @@ -&ACCESS RV2 +&ACCESS RV5 &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 5cb41e2..4e90d6e 100644 --- a/KUKA/KRC/R1/KUKA/masref_user.src +++ b/KUKA/KRC/R1/KUKA/masref_user.src @@ -1,4 +1,4 @@ -&ACCESS RV2 +&ACCESS RV5 &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 ab75c14..864334b 100644 --- a/KUKA/KRC/R1/Program/ActionReturn.src +++ b/KUKA/KRC/R1/Program/ActionReturn.src @@ -1,9 +1,12 @@ -&ACCESS RV2 +&ACCESS RV4 DEF ActionReturn (nRet:IN ) DECL INT nRet - END_POS=$POS_ACT + CONTINUE Q_CmdCountRet=CmdCountLast + CONTINUE Q_CmdResult=nRet - Q_CmdRet=CmdSave + CONTINUE + Q_CmdRet=CmdSave + CONTINUE Q_Cmd_Running=0 END \ No newline at end of file diff --git a/KUKA/KRC/R1/Program/Config.dat b/KUKA/KRC/R1/Program/Config.dat index 65d04a6..64e2fb5 100644 --- a/KUKA/KRC/R1/Program/Config.dat +++ b/KUKA/KRC/R1/Program/Config.dat @@ -1,16 +1,16 @@ -&ACCESS RV3 +&ACCESS RV6 DEFDAT CONFIG PUBLIC GLOBAL INT PdtTypeLast=0 -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 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 BOOL ConfMessSave=FALSE -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} +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} ENDDAT diff --git a/KUKA/KRC/R1/Program/Grip/GripClose.src b/KUKA/KRC/R1/Program/Grip/GripClose.src index 7b5f6c3..5c20763 100644 --- a/KUKA/KRC/R1/Program/Grip/GripClose.src +++ b/KUKA/KRC/R1/Program/Grip/GripClose.src @@ -1,4 +1,4 @@ -&ACCESS RV2 +&ACCESS RV3 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 3036f35..6de9507 100644 --- a/KUKA/KRC/R1/Program/Grip/GripOpen.src +++ b/KUKA/KRC/R1/Program/Grip/GripOpen.src @@ -1,4 +1,4 @@ -&ACCESS RV +&ACCESS RV2 DEF GripOpen ( ) Q_GripPosIndex=101 diff --git a/KUKA/KRC/R1/Program/Home/HomeModule.dat b/KUKA/KRC/R1/Program/Home/HomeModule.dat index 19b24d0..cd7223a 100644 --- a/KUKA/KRC/R1/Program/Home/HomeModule.dat +++ b/KUKA/KRC/R1/Program/Home/HomeModule.dat @@ -1,4 +1,4 @@ -&ACCESS RV +&ACCESS RVP DEFDAT HomeModule ;FOLD EXTERNAL DECLARATIONS;%{PE}%MKUKATPBASIS,%CEXT,%VCOMMON,%P ;FOLD BASISTECH EXT;%{PE}%MKUKATPBASIS,%CEXT,%VEXT,%P diff --git a/KUKA/KRC/R1/Program/Home/HomeModule.src b/KUKA/KRC/R1/Program/Home/HomeModule.src index f1ac251..0816189 100644 --- a/KUKA/KRC/R1/Program/Home/HomeModule.src +++ b/KUKA/KRC/R1/Program/Home/HomeModule.src @@ -1,4 +1,4 @@ -&ACCESS RV +&ACCESS RVP DEF HomeModule ( ) ;FOLD INI;%{PE} ;FOLD BASISTECH INI @@ -11,7 +11,7 @@ DEF HomeModule ( ) ;ENDFOLD (USER INI) ;ENDFOLD (INI) - + Q_Cmd_Running=0 PTP $POS_ACT IF $POS_ACT.Z<1600 THEN LIN {Z 1600} diff --git a/KUKA/KRC/R1/Program/MainModule.dat b/KUKA/KRC/R1/Program/MainModule.dat index 292e6f9..84f4ee4 100644 --- a/KUKA/KRC/R1/Program/MainModule.dat +++ b/KUKA/KRC/R1/Program/MainModule.dat @@ -1,4 +1,4 @@ -&ACCESS RVO +&ACCESS RVP &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 a50fe9f..1fcf762 100644 --- a/KUKA/KRC/R1/Program/MainModule.src +++ b/KUKA/KRC/R1/Program/MainModule.src @@ -1,4 +1,4 @@ -&ACCESS RVO +&ACCESS RVP &REL 1 DEF MainModule() ;FOLD INI @@ -69,6 +69,8 @@ END DEF StopSafty() INTERRUPT OFF 24 BRAKE F + BAS(#BASE, 1) + BAS(#TOOL, 1) PTP $POS_INT:{z 20} $FLAG[10]=TRUE INTERRUPT ON 24 diff --git a/KUKA/KRC/R1/Program/Mylib/CheckInPos.src b/KUKA/KRC/R1/Program/Mylib/CheckInPos.src index 71867a0..8f99b2b 100644 --- a/KUKA/KRC/R1/Program/Mylib/CheckInPos.src +++ b/KUKA/KRC/R1/Program/Mylib/CheckInPos.src @@ -1,4 +1,4 @@ -&ACCESS RVO2 +&ACCESS RVO4 DEFFCT BOOL CheckInPos (R_offset:IN,EndPos:IN ) DECL REAL R_offset DECL BOOL b_Pok diff --git a/KUKA/KRC/R1/Program/PL/FeedBelt1Pick.dat b/KUKA/KRC/R1/Program/PL/FeedBelt1Pick.dat index 0f1e2c2..5825c6f 100644 --- a/KUKA/KRC/R1/Program/PL/FeedBelt1Pick.dat +++ b/KUKA/KRC/R1/Program/PL/FeedBelt1Pick.dat @@ -1,4 +1,4 @@ -&ACCESS RVP +&ACCESS RVO1 &REL 1 &PARAM DISKPATH = KRC:\R1\Program\PL DEFDAT FEEDBELT1PICK diff --git a/KUKA/KRC/R1/Program/PL/FeedBelt1Pick.src b/KUKA/KRC/R1/Program/PL/FeedBelt1Pick.src index 3bc5dd5..92bbbbc 100644 --- a/KUKA/KRC/R1/Program/PL/FeedBelt1Pick.src +++ b/KUKA/KRC/R1/Program/PL/FeedBelt1Pick.src @@ -1,4 +1,4 @@ -&ACCESS RVP +&ACCESS RVO1 &REL 1 &PARAM DISKPATH = KRC:\R1\Program\PL DEF FeedBelt1Pick ( ) @@ -42,5 +42,5 @@ DEF FeedBelt1Pick ( ) ;ENDFOLD Q_AreaEnter1=FALSE ActionReturn(1) - + END_POS=$POS_ACT END \ No newline at end of file diff --git a/KUKA/KRC/R1/Program/PL/FeedBelt2Pick.dat b/KUKA/KRC/R1/Program/PL/FeedBelt2Pick.dat index 1bad698..535b698 100644 --- a/KUKA/KRC/R1/Program/PL/FeedBelt2Pick.dat +++ b/KUKA/KRC/R1/Program/PL/FeedBelt2Pick.dat @@ -1,4 +1,4 @@ -&ACCESS RVP +&ACCESS RVO1 DEFDAT FEEDBELT2PICK ;FOLD EXTERNAL DECLARATIONS;%{PE}%MKUKATPBASIS,%CEXT,%VCOMMON,%P ;FOLD BASISTECH EXT;%{PE}%MKUKATPBASIS,%CEXT,%VEXT,%P @@ -16,7 +16,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 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 -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 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 a432b0f..06c5cf9 100644 --- a/KUKA/KRC/R1/Program/PL/FeedBelt2Pick.src +++ b/KUKA/KRC/R1/Program/PL/FeedBelt2Pick.src @@ -1,4 +1,4 @@ -&ACCESS RVP +&ACCESS RVO1 DEF FeedBelt2Pick ( ) ;FOLD INI;%{PE} ;FOLD BASISTECH INI @@ -40,6 +40,6 @@ DEF FeedBelt2Pick ( ) ;ENDFOLD Q_AreaEnter1=FALSE ActionReturn(1) - + END_POS=$POS_ACT END \ No newline at end of file diff --git a/KUKA/KRC/R1/Program/PL/NgBeltPlace.dat b/KUKA/KRC/R1/Program/PL/NgBeltPlace.dat index 89df0b4..58d3c28 100644 --- a/KUKA/KRC/R1/Program/PL/NgBeltPlace.dat +++ b/KUKA/KRC/R1/Program/PL/NgBeltPlace.dat @@ -1,5 +1,5 @@ -&ACCESS RV -DEFDAT NgBeltPlace +&ACCESS RVP1 +DEFDAT NGBELTPLACE ;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 +10,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 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 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 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 -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 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/NgBeltPlace.src b/KUKA/KRC/R1/Program/PL/NgBeltPlace.src index 606fe27..53a1f33 100644 --- a/KUKA/KRC/R1/Program/PL/NgBeltPlace.src +++ b/KUKA/KRC/R1/Program/PL/NgBeltPlace.src @@ -1,4 +1,4 @@ -&ACCESS RV +&ACCESS RVP1 DEF NgBeltPlace ( ) ;FOLD INI;%{PE} ;FOLD BASISTECH INI @@ -40,13 +40,12 @@ DEF NgBeltPlace ( ) ;ENDFOLD CONTINUE 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) -;ENDFOLD - ActionReturn(1) - +;ENDFOLD + END_POS=$POS_ACT END \ No newline at end of file diff --git a/KUKA/KRC/R1/Program/PL/Pallet1Place.dat b/KUKA/KRC/R1/Program/PL/Pallet1Place.dat index 2c19fd4..244c8f1 100644 --- a/KUKA/KRC/R1/Program/PL/Pallet1Place.dat +++ b/KUKA/KRC/R1/Program/PL/Pallet1Place.dat @@ -1,4 +1,4 @@ -&ACCESS RV +&ACCESS RV1 &REL 1 &PARAM DISKPATH = KRC:\R1\Program\PL DEFDAT PALLET1PLACE diff --git a/KUKA/KRC/R1/Program/PL/Pallet1Place.src b/KUKA/KRC/R1/Program/PL/Pallet1Place.src index 3e34f3f..08a729a 100644 --- a/KUKA/KRC/R1/Program/PL/Pallet1Place.src +++ b/KUKA/KRC/R1/Program/PL/Pallet1Place.src @@ -1,7 +1,8 @@ -&ACCESS RV +&ACCESS RV1 &REL 1 &PARAM DISKPATH = KRC:\R1\Program\PL DEF Pallet1Place ( ) + DECL REAL x_offset,y_offset ;FOLD INI;%{PE} ;FOLD BASISTECH INI GLOBAL INTERRUPT DECL 3 WHEN $STOPMESS==TRUE DO IR_STOPM ( ) @@ -16,8 +17,10 @@ DEF Pallet1Place ( ) WAIT FOR $IN_HOME OR $IN_HOME1 OR $IN_HOME2 OR CheckInPos(20.0, END_POS) XPlace=XPallet1PlaceB - XPlace.X=XPallet1PlaceB.X - CountX_Save*OffsetX_Save - XPlace.Y=XPallet1PlaceB.Y - CountY_Save*OffsetY_Save + 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 XPlaceH=XPlace XPlaceH.Z=XPlace.Z+500 ;FOLD SPTP PlaceH CONT Vel=100 % PDAT1 Tool[1]:Tool1 Base[1] ;%{PE} @@ -45,11 +48,13 @@ DEF Pallet1Place ( ) ;ENDFOLD CONTINUE 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) ;ENDFOLD - ActionReturn(1) + + END_POS=$POS_ACT END \ No newline at end of file diff --git a/KUKA/KRC/R1/Program/PL/Pallet2Place.dat b/KUKA/KRC/R1/Program/PL/Pallet2Place.dat index 624629a..ddc678b 100644 --- a/KUKA/KRC/R1/Program/PL/Pallet2Place.dat +++ b/KUKA/KRC/R1/Program/PL/Pallet2Place.dat @@ -1,4 +1,4 @@ -&ACCESS RVO +&ACCESS RVO1 &REL 1 &PARAM DISKPATH = KRC:\R1\Program\PL DEFDAT PALLET2PLACE @@ -14,10 +14,10 @@ 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=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 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 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 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 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[] " "} diff --git a/KUKA/KRC/R1/Program/PL/Pallet2Place.src b/KUKA/KRC/R1/Program/PL/Pallet2Place.src index 74bb71d..738e329 100644 --- a/KUKA/KRC/R1/Program/PL/Pallet2Place.src +++ b/KUKA/KRC/R1/Program/PL/Pallet2Place.src @@ -1,7 +1,8 @@ -&ACCESS RVO +&ACCESS RVO1 &REL 1 &PARAM DISKPATH = KRC:\R1\Program\PL DEF Pallet2Place ( ) + DECL REAL x_offset,y_offset ;FOLD INI;%{PE} ;FOLD BASISTECH INI GLOBAL INTERRUPT DECL 3 WHEN $STOPMESS==TRUE DO IR_STOPM ( ) @@ -15,8 +16,10 @@ DEF Pallet2Place ( ) ;ENDFOLD (INI) WAIT FOR $IN_HOME OR $IN_HOME1 OR $IN_HOME2 OR CheckInPos(20.0, END_POS) XPlace=XPallet2PlaceB - XPlace.X=XPallet2PlaceB.X - CountX_Save*OffsetX_Save - XPlace.Y=XPallet2PlaceB.Y - CountY_Save*OffsetY_Save + 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 XPlaceH=XPlace XPlaceH.Z=XPlace.Z+400 ;FOLD SPTP PlaceH CONT Vel=100 % PDAT1 Tool[1]:Tool1 Base[1]:Base1 ;%{PE} @@ -44,12 +47,13 @@ DEF Pallet2Place ( ) ;ENDFOLD CONTINUE 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) ;ENDFOLD - ActionReturn(1) - + + END_POS=$POS_ACT END \ No newline at end of file diff --git a/KUKA/KRC/R1/Program/PL/ReFeedBeltPick.dat b/KUKA/KRC/R1/Program/PL/ReFeedBeltPick.dat index 84cfc14..da24863 100644 --- a/KUKA/KRC/R1/Program/PL/ReFeedBeltPick.dat +++ b/KUKA/KRC/R1/Program/PL/ReFeedBeltPick.dat @@ -1,5 +1,5 @@ -&ACCESS RV -DEFDAT ReFeedBeltPick +&ACCESS RVP1 +DEFDAT REFEEDBELTPICK ;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 +10,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 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 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 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 -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} 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/ReFeedBeltPick.src b/KUKA/KRC/R1/Program/PL/ReFeedBeltPick.src index bbcacba..6d37d10 100644 --- a/KUKA/KRC/R1/Program/PL/ReFeedBeltPick.src +++ b/KUKA/KRC/R1/Program/PL/ReFeedBeltPick.src @@ -1,4 +1,4 @@ -&ACCESS RV +&ACCESS RVP1 DEF ReFeedBeltPick ( ) ;FOLD INI;%{PE} ;FOLD BASISTECH INI @@ -40,5 +40,5 @@ DEF ReFeedBeltPick ( ) ;ENDFOLD Q_AreaEnter1=FALSE ActionReturn(1) - + END_POS=$POS_ACT END \ No newline at end of file diff --git a/KUKA/KRC/R1/Program/PL/WaterBeltPick.dat b/KUKA/KRC/R1/Program/PL/WaterBeltPick.dat index 30f339d..0dbf405 100644 --- a/KUKA/KRC/R1/Program/PL/WaterBeltPick.dat +++ b/KUKA/KRC/R1/Program/PL/WaterBeltPick.dat @@ -1,5 +1,5 @@ -&ACCESS RV -DEFDAT WaterBeltPick +&ACCESS RVP1 +DEFDAT WATERBELTPICK ;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 +10,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 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 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 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} 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/WaterBeltPick.src b/KUKA/KRC/R1/Program/PL/WaterBeltPick.src index 3e800b5..6bedcb2 100644 --- a/KUKA/KRC/R1/Program/PL/WaterBeltPick.src +++ b/KUKA/KRC/R1/Program/PL/WaterBeltPick.src @@ -1,4 +1,4 @@ -&ACCESS RV +&ACCESS RVP1 DEF WaterBeltPick ( ) ;FOLD INI;%{PE} ;FOLD BASISTECH INI @@ -40,5 +40,5 @@ DEF WaterBeltPick ( ) ;ENDFOLD Q_AreaEnter1=FALSE ActionReturn(1) - + END_POS=$POS_ACT END \ No newline at end of file diff --git a/KUKA/KRC/R1/Program/PosBase.dat b/KUKA/KRC/R1/Program/PosBase.dat index 99ab02b..0e61ebc 100644 --- a/KUKA/KRC/R1/Program/PosBase.dat +++ b/KUKA/KRC/R1/Program/PosBase.dat @@ -1,4 +1,4 @@ -&ACCESS RV2 +&ACCESS RV5 &REL 7 &PARAM DISKPATH = KRC:\R1\Program\TP DEFDAT POSBASE PUBLIC diff --git a/KUKA/KRC/R1/System/$config.dat b/KUKA/KRC/R1/System/$config.dat index 6206aa5..9ba37e2 100644 --- a/KUKA/KRC/R1/System/$config.dat +++ b/KUKA/KRC/R1/System/$config.dat @@ -1,4 +1,4 @@ -&ACCESS RV$4 +&ACCESS RV$7 DEFDAT $CONFIG ;FOLD BASISTECH GLOBALS ;================================== diff --git a/KUKA/KRC/R1/System/MqttConfig.dat b/KUKA/KRC/R1/System/MqttConfig.dat index abfcfa3..3cac8ee 100644 --- a/KUKA/KRC/R1/System/MqttConfig.dat +++ b/KUKA/KRC/R1/System/MqttConfig.dat @@ -1,4 +1,4 @@ -&ACCESS RV2 +&ACCESS RV5 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 d8aa177..5c79c42 100644 --- a/KUKA/KRC/R1/System/MsgLib.dat +++ b/KUKA/KRC/R1/System/MsgLib.dat @@ -1,4 +1,4 @@ -&ACCESS R3 +&ACCESS R6 &COMMENT Message library DEFDAT MsgLib PUBLIC diff --git a/KUKA/KRC/R1/System/MsgLib.src b/KUKA/KRC/R1/System/MsgLib.src index 9f0ce5b..8c3db27 100644 --- a/KUKA/KRC/R1/System/MsgLib.src +++ b/KUKA/KRC/R1/System/MsgLib.src @@ -1,4 +1,4 @@ -&ACCESS R3 +&ACCESS R6 &COMMENT Message library DEF MsgLib ( ) ;************************************************** diff --git a/KUKA/KRC/R1/System/bas.src b/KUKA/KRC/R1/System/bas.src index bc3aec6..3077693 100644 --- a/KUKA/KRC/R1/System/bas.src +++ b/KUKA/KRC/R1/System/bas.src @@ -1,4 +1,4 @@ -&ACCESS R3 +&ACCESS R6 &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 078fec0..35ac6ce 100644 --- a/KUKA/KRC/R1/System/collmonlib.dat +++ b/KUKA/KRC/R1/System/collmonlib.dat @@ -1,4 +1,4 @@ -&ACCESS R3 +&ACCESS R6 &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 5cffcdb..13ec076 100644 --- a/KUKA/KRC/R1/System/collmonlib.src +++ b/KUKA/KRC/R1/System/collmonlib.src @@ -1,4 +1,4 @@ -&ACCESS R3 +&ACCESS R6 &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 bd78af4..16dce14 100644 --- a/KUKA/KRC/R1/System/ir_stopm.src +++ b/KUKA/KRC/R1/System/ir_stopm.src @@ -1,4 +1,4 @@ -&ACCESS R3 +&ACCESS R6 &COMMENT HandlerOnRobotFault DEF IR_STOPM ( ) ;----------------------------------- diff --git a/KUKA/KRC/R1/TP/BrakeTest/BrakeTestBack.dat b/KUKA/KRC/R1/TP/BrakeTest/BrakeTestBack.dat index a63a9c7..508fab7 100644 --- a/KUKA/KRC/R1/TP/BrakeTest/BrakeTestBack.dat +++ b/KUKA/KRC/R1/TP/BrakeTest/BrakeTestBack.dat @@ -1,4 +1,4 @@ -&ACCESS RV2 +&ACCESS RV5 &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 0f11a17..79d4877 100644 --- a/KUKA/KRC/R1/TP/BrakeTest/BrakeTestBack.src +++ b/KUKA/KRC/R1/TP/BrakeTest/BrakeTestBack.src @@ -1,4 +1,4 @@ -&ACCESS RV2 +&ACCESS RV5 &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 80d9715..5e3b37f 100644 --- a/KUKA/KRC/R1/TP/BrakeTest/BrakeTestPark.dat +++ b/KUKA/KRC/R1/TP/BrakeTest/BrakeTestPark.dat @@ -1,4 +1,4 @@ -&ACCESS RV2 +&ACCESS RV5 &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 6eb4f60..18381d6 100644 --- a/KUKA/KRC/R1/TP/BrakeTest/BrakeTestPark.src +++ b/KUKA/KRC/R1/TP/BrakeTest/BrakeTestPark.src @@ -1,4 +1,4 @@ -&ACCESS RV2 +&ACCESS RV5 &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 5320079..3e4ce60 100644 --- a/KUKA/KRC/R1/TP/BrakeTest/BrakeTestReq.dat +++ b/KUKA/KRC/R1/TP/BrakeTest/BrakeTestReq.dat @@ -1,4 +1,4 @@ -&ACCESS RVO2 +&ACCESS RVO5 &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 66cbaf3..e0b75b6 100644 --- a/KUKA/KRC/R1/TP/BrakeTest/BrakeTestReq.src +++ b/KUKA/KRC/R1/TP/BrakeTest/BrakeTestReq.src @@ -1,4 +1,4 @@ -&ACCESS RVO2 +&ACCESS RVO5 &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 278d11d..2678b19 100644 --- a/KUKA/KRC/R1/TP/BrakeTest/BrakeTestStart.dat +++ b/KUKA/KRC/R1/TP/BrakeTest/BrakeTestStart.dat @@ -1,4 +1,4 @@ -&ACCESS RV2 +&ACCESS RV5 &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 e8c41c0..1462540 100644 --- a/KUKA/KRC/R1/TP/BrakeTest/BrakeTestStart.src +++ b/KUKA/KRC/R1/TP/BrakeTest/BrakeTestStart.src @@ -1,4 +1,4 @@ -&ACCESS RV2 +&ACCESS RV5 &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 786b6a3..4d19fc4 100644 --- a/KUKA/KRC/R1/TP/EthernetKRL/EthernetKRL.dat +++ b/KUKA/KRC/R1/TP/EthernetKRL/EthernetKRL.dat @@ -1,4 +1,4 @@ -&ACCESS RO2 +&ACCESS RO5 &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 06ae15b..68f5a5c 100644 --- a/KUKA/KRC/R1/TP/EthernetKRL/EthernetKRL.src +++ b/KUKA/KRC/R1/TP/EthernetKRL/EthernetKRL.src @@ -1,4 +1,4 @@ -&ACCESS RO2 +&ACCESS RO5 &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 0608a95..48c5633 100644 --- a/KUKA/KRC/R1/TP/EthernetKRL/EthernetKRL_USER.src +++ b/KUKA/KRC/R1/TP/EthernetKRL/EthernetKRL_USER.src @@ -1,4 +1,4 @@ -&ACCESS RO2 +&ACCESS RO5 &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 ed6c061..3cc8574 100644 --- a/KUKA/KRC/R1/TP/p00.dat +++ b/KUKA/KRC/R1/TP/p00.dat @@ -1,4 +1,4 @@ -&ACCESS R3 +&ACCESS R6 &COMMENT EXTERNAL package DEFDAT P00 diff --git a/KUKA/KRC/R1/TP/p00.src b/KUKA/KRC/R1/TP/p00.src index 94d8626..f62c145 100644 --- a/KUKA/KRC/R1/TP/p00.src +++ b/KUKA/KRC/R1/TP/p00.src @@ -1,4 +1,4 @@ -&ACCESS R3 +&ACCESS R6 &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 deleted file mode 100644 index 43e4b73..0000000 --- a/KUKA/KRC/STEU/$config.dat +++ /dev/null @@ -1,4 +0,0 @@ -&ACCESS RV$4 -DEFDAT $CONFIG - -ENDDAT \ No newline at end of file diff --git a/KUKA/KRC/STEU/Mada/$custom.dat b/KUKA/KRC/STEU/Mada/$custom.dat deleted file mode 100644 index dcde8a2..0000000 --- a/KUKA/KRC/STEU/Mada/$custom.dat +++ /dev/null @@ -1,650 +0,0 @@ -&ACCESS RV$ -&PARAM VERSION = 1.0.0 -DEFDAT $CUSTOM PUBLIC -DECL SPREADSTARTPOLICY $SPREADSTARTPOLICY=#DEFAULT_BCO ;Zu nutzende Regel beim Verteilen des Start-Kommandos im RoboTeam -CHAR $V_CUSTOM[32] -$V_CUSTOM[]="V1.0.0/KUKA8.7" ;VERSIONSKENNUNG -BOOL $SR_VEL_RED=TRUE ;TRUE: Overrideregelung des SafeRobot fuer Geschwindigkeitsgrenzen im Grundsystem aktiviert -BOOL $BRAKE_ON_SBH=TRUE ;TRUE: Je nach anliegenden SBH werden entweder alle Bremsen sofort geschlossen bzw. nur diejenigen die zur Achsgruppe gehoeren -BOOL $NO_MOVEMENT_ON_SBH=TRUE ;Bewegungsstart nicht moeglich bei SBH -BOOL $SR_WORKSPACE_RED=TRUE ;TRUE: Overrideregelung des SafeRobot fuer Ueberwachungsraeume im Grundsystem aktiviert -BOOL $TOOL_DIRECTION_LIN_CIRC=FALSE ;TRUE $TOOL_DIRECTION-Wert wird fuer Drehen und Schwenken und die TTS-Berechnung bei LIN- und CIRC-Bewegungen verwendet -INT $SR_OV_RED=75 ;Reduzierungsfaktor der SafeRobot Overrideregelung zu Geschwindigkeitsgrenzen [10-95] -DECL MOTION_MODE $DEFAULT_MOTION_MODE=#STANDARD ; Mit $DEFAULT_MOTION_MODE wird der default MotionMode angegeben -BOOL $COLL_ENABLECAV=FALSE ;Enable/Disable Collision Avoidance -REAL $COLL_DISTANCE_MAN[16] ;Distance tolerances when jogging manually or when no program running -$COLL_DISTANCE_MAN[1]=0.0 ; -$COLL_DISTANCE_MAN[2]=0.0 ; -$COLL_DISTANCE_MAN[3]=0.0 ; -$COLL_DISTANCE_MAN[4]=0.0 ; -$COLL_DISTANCE_MAN[5]=0.0 ; -$COLL_DISTANCE_MAN[6]=0.0 ; -$COLL_DISTANCE_MAN[7]=0.0 ; -$COLL_DISTANCE_MAN[8]=0.0 ; -$COLL_DISTANCE_MAN[9]=0.0 ; -$COLL_DISTANCE_MAN[10]=0.0 ; -$COLL_DISTANCE_MAN[11]=0.0 ; -$COLL_DISTANCE_MAN[12]=0.0 ; -$COLL_DISTANCE_MAN[13]=0.0 ; -$COLL_DISTANCE_MAN[14]=0.0 ; -$COLL_DISTANCE_MAN[15]=0.0 ; -$COLL_DISTANCE_MAN[16]=0.0 ; -REAL $COLL_DISTANCE_PROG[16] ;Distance tolerance when program is selected -BOOL $WORKSPACERESTOREACTIVE=FALSE ; Fuer Aktivierung der Arbeitsbereich Zustand-Wiederherstellung -DECL AXIS_OF_COORDINATES $TOOL_DIRECTION=#X ;Werkzeugstossrichtung fuer neue CP-Bewegungen (Spline) -DECL AXIS_OF_COORDINATES $BASE_ALIGN=#Z ;Achse des Base um Werkzeug auszurichten -DECL SPLINE_PARA_VARIANT $SPTP_EXAX_PARA[6] ;Parametrisierungsart einer Zusatzachse beim PTP-Spline -$SPTP_EXAX_PARA[1]=#DEFAULT_PARA -$SPTP_EXAX_PARA[2]=#DEFAULT_PARA -$SPTP_EXAX_PARA[3]=#DEFAULT_PARA -$SPTP_EXAX_PARA[4]=#DEFAULT_PARA -$SPTP_EXAX_PARA[5]=#DEFAULT_PARA -$SPTP_EXAX_PARA[6]=#DEFAULT_PARA -DECL STRIKE_OUT_COMPONENTS $MAX_ABS_STRIKE_OUT={ORIENTATION 20.0000,ROT_EXT_AXES 20.0000,LIN_EXT_AXES 100.000} ;maximaler Wert der ABSOLUTE-Komponenten von $STRIKE_OUT_DEFAULT oder $STRIKE_OUT -DECL STRIKE_OUT_STRUC $STRIKE_OUT_DEFAULT={MODE #ON,ABSOLUTE {ORIENTATION 7.50000,ROT_EXT_AXES 7.50000,LIN_EXT_AXES 50.0000},RELATIVE {ORIENTATION 40.0000,ROT_EXT_AXES 40.0000,LIN_EXT_AXES 40.0000}} ;Standardkonfiguration der Ausholstrategie fuer SPL-Segmente im Spline-Block -DECL PRO_IO_T $PRO_I_O_SYS={MODULE[] "/R1/SPS()",COLD_BOOT_RUN #ON} -DECL PRO_IO_T $PRO_I_O_PROC_ID3={MODULE[] "/R1/PLC()",COLD_BOOT_RUN #ON} -DECL PRO_IO_T $PRO_I_O_PROC_ID4={MODULE[] " ",COLD_BOOT_RUN #ON} -DECL PRO_IO_T $PRO_I_O_PROC_ID5={MODULE[] " ",COLD_BOOT_RUN #ON} -DECL PRO_IO_T $PRO_I_O_PROC_ID6={MODULE[] " ",COLD_BOOT_RUN #ON} -DECL PRO_IO_T $PRO_I_O_PROC_ID7={MODULE[] " ",COLD_BOOT_RUN #ON} -DECL PRO_IO_T $PRO_I_O_PROC_ID8={MODULE[] " ",COLD_BOOT_RUN #ON} -DECL PRO_IO_T $PRO_I_O_PROC_ID9={MODULE[] " ",COLD_BOOT_RUN #ON} -DECL SER $PSER_1={PROTO 1,PROC 0,RCO 5,BL 0,BAUD 19200,NOC 8,NOS 1,PARITY 2,TRC 1,FLP 0,LLP 0,RT 300,PT 5,DSR 0,WCCXON 0,VXON 0,VXOFF 0,WEOBC 0,VEOBC 0} ;SCHNITTSTELLE 1 -DECL SER $PSER_2={PROTO 0,PROC 3,RCO 0,BL 0,BAUD 9600,NOC 7,NOS 2,PARITY 2,TRC 0,FLP 1,LLP 60,RT 0,PT 0,DSR 0,WCCXON 0,VXON 11,VXOFF 13,WEOBC 1,VEOBC 3} ;SCHNITTSTELLE 2 -DECL SER $PSER_3={PROTO 0,PROC 3,RCO 0,BL 0,BAUD 9600,NOC 7,NOS 2,PARITY 2,TRC 0,FLP 1,LLP 60,RT 0,PT 0,DSR 0,WCCXON 0,VXON 11,VXOFF 13,WEOBC 1,VEOBC 3} ;SCHNITTSTELLE 2 -DECL SER $PSER_4={PROTO 0,PROC 3,RCO 0,BL 0,BAUD 9600,NOC 7,NOS 2,PARITY 2,TRC 0,FLP 1,LLP 60,RT 0,PT 0,DSR 0,WCCXON 0,VXON 11,VXOFF 13,WEOBC 1,VEOBC 3} ;SCHNITTSTELLE 2 -DECL SER $PPG={PROTO 2,PROC 4,BAUD 9600} ;PG-SCHNITTSTELLE -DECL EXT_MOD_T $EXT_MOD_1={O_FILE[] " ",OPTION 'B0000'} ;ext. Modul Informationen -DECL EXT_MOD_T $EXT_MOD_2={O_FILE[] " ",OPTION 'B0000'} ;ext. Modul Informationen -DECL EXT_MOD_T $EXT_MOD_3={O_FILE[] " ",OPTION 'B0000'} ;ext. Modul Informationen -DECL EXT_MOD_T $EXT_MOD_4={O_FILE[] " ",OPTION 'B0000'} ;ext. Modul Informationen -CHANNEL :SER_1 :SER_1 $PSER_1 -CHANNEL :SER_2 :SER_2 $PSER_2 -CHANNEL :SER_3 :SER_3 $PSER_3 -CHANNEL :SER_4 :SER_4 $PSER_4 -CHANNEL :PG :SER_1 $PPG -CHANNEL :LD_EXT_OBJ1 :LD_EXT_OBJ1 $EXT_MOD_1 ;external module 1 -CHANNEL :LD_EXT_OBJ2 :LD_EXT_OBJ2 $EXT_MOD_2 ;external module 2 -CHANNEL :LD_EXT_FCT1 :LD_EXT_FCT1 $EXT_MOD_3 ;external module 3 -CHANNEL :LD_EXT_FCT2 :LD_EXT_FCT2 $EXT_MOD_4 ;external module 4 -INT $IBUS_ON=0 ;EINSCHALTEN ALTERNATIVER INTERBUSGRUPPEN -INT $EDIT_MODE=1 ;KOMMUNIKATION TP - XEDIT -INT $IBUS_OFF=0 ;ABSCHALTEN ALTERNATIVER INTERBUSGRUPPEN -DECL BOX $WORKSPACE[8] ;UEBERWACHT ARBEITSRAEUME -$WORKSPACE[1]={X 0.0,Y 0.0,Z 0.0,A 0.0,B 0.0,C 0.0,X1 0.0,Y1 0.0,Z1 0.0,X2 0.0,Y2 0.0,Z2 0.0,MODE #OFF} -$WORKSPACE[2]={X 0.0,Y 0.0,Z 0.0,A 0.0,B 0.0,C 0.0,X1 0.0,Y1 0.0,Z1 0.0,X2 0.0,Y2 0.0,Z2 0.0,MODE #OFF} -$WORKSPACE[3]={X 0.0,Y 0.0,Z 0.0,A 0.0,B 0.0,C 0.0,X1 0.0,Y1 0.0,Z1 0.0,X2 0.0,Y2 0.0,Z2 0.0,MODE #OFF} -$WORKSPACE[4]={X 0.0,Y 0.0,Z 0.0,A 0.0,B 0.0,C 0.0,X1 0.0,Y1 0.0,Z1 0.0,X2 0.0,Y2 0.0,Z2 0.0,MODE #OFF} -$WORKSPACE[5]={X 0.0,Y 0.0,Z 0.0,A 0.0,B 0.0,C 0.0,X1 0.0,Y1 0.0,Z1 0.0,X2 0.0,Y2 0.0,Z2 0.0,MODE #OFF} -$WORKSPACE[6]={X 0.0,Y 0.0,Z 0.0,A 0.0,B 0.0,C 0.0,X1 0.0,Y1 0.0,Z1 0.0,X2 0.0,Y2 0.0,Z2 0.0,MODE #OFF} -$WORKSPACE[7]={X 0.0,Y 0.0,Z 0.0,A 0.0,B 0.0,C 0.0,X1 0.0,Y1 0.0,Z1 0.0,X2 0.0,Y2 0.0,Z2 0.0,MODE #OFF} -$WORKSPACE[8]={X 0.0,Y 0.0,Z 0.0,A 0.0,B 0.0,C 0.0,X1 0.0,Y1 0.0,Z1 0.0,X2 0.0,Y2 0.0,Z2 0.0,MODE #OFF} -BOOL $ABS_CONVERT=FALSE ;KONVERTIERUNG DER PUNKTKOORDINATEN -BOOL $DEACTIVATE_ABS_ACCUR=FALSE -REAL $NEARPATHTOL=200.000 ;TOLERANZ FUER DIE ABWEICHUNG VON $POS_RET -INT $ASYNC_MODE='B0000' ;MODE FUER ASYNCHRONE ZUSATZACHSEN -INT $TECH_FUNC='B0000' ;BITS ZUM AKTIVIEREN EINZELNER FUNKTIONEN DES FUNKTIONSGENERATORS -BOOL $IMPROVED_COLLMON=TRUE ;Schalter Verbesserte Kollisionserkennung -INT $COLLMON_STARTUP_MAX=200 ;maximale Abschaltzeit [ms] der Kollisionserkennung am Bewegungsstart (unbeschraenkt falls <=0) -INT $COLLMON_TOL_PRO_DEF[12] ;Verbesserte Kollisionserkennung: Default-Sensibilitaetseinstellung Programm -$COLLMON_TOL_PRO_DEF[1]=0 ;Achse 1 -$COLLMON_TOL_PRO_DEF[2]=0 ;Achse 2 -$COLLMON_TOL_PRO_DEF[3]=0 ;Achse 3 -$COLLMON_TOL_PRO_DEF[4]=0 ;Achse 4 -$COLLMON_TOL_PRO_DEF[5]=0 ;Achse 5 -$COLLMON_TOL_PRO_DEF[6]=0 ;Achse 6 -$COLLMON_TOL_PRO_DEF[7]=0 ;Achse 7 -$COLLMON_TOL_PRO_DEF[8]=0 ;Achse 8 -$COLLMON_TOL_PRO_DEF[9]=0 ;Achse 9 -$COLLMON_TOL_PRO_DEF[10]=0 ;Achse 10 -$COLLMON_TOL_PRO_DEF[11]=0 ;Achse 11 -$COLLMON_TOL_PRO_DEF[12]=0 ;Achse 12 -INT $COLLMON_TOL_COM_DEF[12] ;Verbesserte Kollisionserkennung: Default-Sensibilitaetseinstellung Kommando -$COLLMON_TOL_COM_DEF[1]=0 ;Achse 1 -$COLLMON_TOL_COM_DEF[2]=0 ;Achse 2 -$COLLMON_TOL_COM_DEF[3]=0 ;Achse 3 -$COLLMON_TOL_COM_DEF[4]=0 ;Achse 4 -$COLLMON_TOL_COM_DEF[5]=0 ;Achse 5 -$COLLMON_TOL_COM_DEF[6]=0 ;Achse 6 -$COLLMON_TOL_COM_DEF[7]=0 ;Achse 7 -$COLLMON_TOL_COM_DEF[8]=0 ;Achse 8 -$COLLMON_TOL_COM_DEF[9]=0 ;Achse 9 -$COLLMON_TOL_COM_DEF[10]=0 ;Achse 10 -$COLLMON_TOL_COM_DEF[11]=0 ;Achse 11 -$COLLMON_TOL_COM_DEF[12]=0 ;Achse 12 -INT $TORQMON_DEF[12] ;DEFAULTWERTE FUER DEN MOMENTENUEBERWACHUNGSSCHLAUCH IM PROGRAMMBETRIEB [%] -$TORQMON_DEF[1]=0 ;ACHSE 1 -$TORQMON_DEF[2]=0 ;ACHSE 2 -$TORQMON_DEF[3]=0 ;ACHSE 3 -$TORQMON_DEF[4]=0 ;ACHSE 4 -$TORQMON_DEF[5]=0 ;ACHSE 5 -$TORQMON_DEF[6]=0 ;ACHSE 6 -$TORQMON_DEF[7]=0 ;ACHSE 7 -$TORQMON_DEF[8]=0 ;ACHSE 8 -$TORQMON_DEF[9]=0 ;ACHSE 9 -$TORQMON_DEF[10]=0 ;ACHSE 10 -$TORQMON_DEF[11]=0 ;ACHSE 11 -$TORQMON_DEF[12]=0 ;ACHSE 12 -INT $TORQMON_COM_DEF[12] ;DEFAULTWERTE FUER DEN MOMENTENUEBERWACHUNGSSCHLAUCH IM KOMMANDOBETRIEB [%] -$TORQMON_COM_DEF[1]=0 ;ACHSE 1 -$TORQMON_COM_DEF[2]=0 ;ACHSE 2 -$TORQMON_COM_DEF[3]=0 ;ACHSE 3 -$TORQMON_COM_DEF[4]=0 ;ACHSE 4 -$TORQMON_COM_DEF[5]=0 ;ACHSE 5 -$TORQMON_COM_DEF[6]=0 ;ACHSE 6 -$TORQMON_COM_DEF[7]=0 -$TORQMON_COM_DEF[8]=0 -$TORQMON_COM_DEF[9]=0 -$TORQMON_COM_DEF[10]=0 -$TORQMON_COM_DEF[11]=0 -$TORQMON_COM_DEF[12]=0 -REAL $TORQMON_TIME=0.0120000 ;ZEIT [MS], NACH DER DIE FAHRMOMENTUEBERWACHUNG ZUSCHLAEGT -FRAME $SINGUL_ERR_PRO={A 0.0,B 0.0,C 0.0} ;MAX. ORIENTIERUNGSFEHLER PROGRAMMVERFAHREN -FRAME $SINGUL_ERR_JOG={A 5.00000,B 5.00000,C 5.00000} ;MAX. ORIENTIERUNGSFEHLER HANDVERFAHREN -DECL TARGET_STATUS $TARGET_STATUS=#SOURCE -BOOL $RED_T1_OV_CP=FALSE ;BEHANDLUNG VON CP_BAHNEN IN T1 (FALSE=GESCHW.-REDUZ. AUF $VEL_CP_T1, TRUE=OVERRIDE-REDUZIERUNG UM $RED_T1) -DECL CP_VEL_TYPE $CP_VEL_TYPE=#VAR_T1 ;RED. DER CP-GESCHW. BEI UEBERSCHREITUNG DER ACHSGRENZWERTE (#VAR_T1 : NUR IM T1-Betrieb, #VAR_ALL : IMMER, #VAR_ALL_MODEL: modellbasierte Achsgrenzwerte im Programmbetrieb und T2,AUT,EXT) -DECL CP_STATMON $CP_STATMON=#NONE ;variable fuer die CP Konfigurationsueberwachung -REAL $KCP_POS=0.0 ;STELLUNG DES KCP BZGL. DES ROBOTERS ( WINDROSE ) -BOOL $TECH_ANA_FLT_OFF[6] ;ZYKL. ANALOGAUSGABE DES TECHVALS GEFILTERT (FALSE)/UNGEFILTERT (TRUE) AUSGEBEN -$TECH_ANA_FLT_OFF[1]=FALSE -$TECH_ANA_FLT_OFF[2]=FALSE -$TECH_ANA_FLT_OFF[3]=FALSE -$TECH_ANA_FLT_OFF[4]=FALSE -$TECH_ANA_FLT_OFF[5]=FALSE -$TECH_ANA_FLT_OFF[6]=FALSE -CHAR $WORKSPACE_NAME1[24] -$WORKSPACE_NAME1[]="WORKSPACE 1" -CHAR $WORKSPACE_NAME2[24] -$WORKSPACE_NAME2[]="WORKSPACE 2" -CHAR $WORKSPACE_NAME3[24] -$WORKSPACE_NAME3[]="WORKSPACE 3" -CHAR $WORKSPACE_NAME4[24] -$WORKSPACE_NAME4[]="WORKSPACE 4" -CHAR $WORKSPACE_NAME5[24] -$WORKSPACE_NAME5[]="WORKSPACE 5" -CHAR $WORKSPACE_NAME6[24] -$WORKSPACE_NAME6[]="WORKSPACE 6" -CHAR $WORKSPACE_NAME7[24] -$WORKSPACE_NAME7[]="WORKSPACE 7" -CHAR $WORKSPACE_NAME8[24] -$WORKSPACE_NAME8[]="WORKSPACE 8" -DECL COOP_KRC $COOP_KRC[16] ;POTENTIAL REMOTE ROBOTS -$COOP_KRC[1]={IP_ADDR[] " ",NAME[] " "} -$COOP_KRC[2]={IP_ADDR[] " ",NAME[] " "} -$COOP_KRC[3]={IP_ADDR[] " ",NAME[] " "} -$COOP_KRC[4]={IP_ADDR[] " ",NAME[] " "} -$COOP_KRC[5]={IP_ADDR[] " ",NAME[] " "} -$COOP_KRC[6]={IP_ADDR[] " ",NAME[] " "} -$COOP_KRC[7]={IP_ADDR[] " ",NAME[] " "} -$COOP_KRC[8]={IP_ADDR[] " ",NAME[] " "} -$COOP_KRC[9]={IP_ADDR[] " ",NAME[] " "} -$COOP_KRC[10]={IP_ADDR[] " ",NAME[] " "} -$COOP_KRC[11]={IP_ADDR[] " ",NAME[] " "} -$COOP_KRC[12]={IP_ADDR[] " ",NAME[] " "} -$COOP_KRC[13]={IP_ADDR[] " ",NAME[] " "} -$COOP_KRC[14]={IP_ADDR[] " ",NAME[] " "} -$COOP_KRC[15]={IP_ADDR[] " ",NAME[] " "} -$COOP_KRC[16]={IP_ADDR[] " ",NAME[] " "} -DECL WS_CONFIG $WS_CONFIG[32] ;WORKSPACE CONFIGURATION FOR WORKSPACE SHARING -$WS_CONFIG[1]={COOP_KRC 0,WS_NAME[] " ",WS_PRIO 0} -$WS_CONFIG[2]={COOP_KRC 0,WS_NAME[] " ",WS_PRIO 0} -$WS_CONFIG[3]={COOP_KRC 0,WS_NAME[] " ",WS_PRIO 0} -$WS_CONFIG[4]={COOP_KRC 0,WS_NAME[] " ",WS_PRIO 0} -$WS_CONFIG[5]={COOP_KRC 0,WS_NAME[] " ",WS_PRIO 0} -$WS_CONFIG[6]={COOP_KRC 0,WS_NAME[] " ",WS_PRIO 0} -$WS_CONFIG[7]={COOP_KRC 0,WS_NAME[] " ",WS_PRIO 0} -$WS_CONFIG[8]={COOP_KRC 0,WS_NAME[] " ",WS_PRIO 0} -$WS_CONFIG[9]={COOP_KRC 0,WS_NAME[] " ",WS_PRIO 0} -$WS_CONFIG[10]={COOP_KRC 0,WS_NAME[] " ",WS_PRIO 0} -$WS_CONFIG[11]={COOP_KRC 0,WS_NAME[] " ",WS_PRIO 0} -$WS_CONFIG[12]={COOP_KRC 0,WS_NAME[] " ",WS_PRIO 0} -$WS_CONFIG[13]={COOP_KRC 0,WS_NAME[] " ",WS_PRIO 0} -$WS_CONFIG[14]={COOP_KRC 0,WS_NAME[] " ",WS_PRIO 0} -$WS_CONFIG[15]={COOP_KRC 0,WS_NAME[] " ",WS_PRIO 0} -$WS_CONFIG[16]={COOP_KRC 0,WS_NAME[] " ",WS_PRIO 0} -$WS_CONFIG[17]={COOP_KRC 0,WS_NAME[] " ",WS_PRIO 0} -$WS_CONFIG[18]={COOP_KRC 0,WS_NAME[] " ",WS_PRIO 0} -$WS_CONFIG[19]={COOP_KRC 0,WS_NAME[] " ",WS_PRIO 0} -$WS_CONFIG[20]={COOP_KRC 0,WS_NAME[] " ",WS_PRIO 0} -$WS_CONFIG[21]={COOP_KRC 0,WS_NAME[] " ",WS_PRIO 0} -$WS_CONFIG[22]={COOP_KRC 0,WS_NAME[] " ",WS_PRIO 0} -$WS_CONFIG[23]={COOP_KRC 0,WS_NAME[] " ",WS_PRIO 0} -$WS_CONFIG[24]={COOP_KRC 0,WS_NAME[] " ",WS_PRIO 0} -$WS_CONFIG[25]={COOP_KRC 0,WS_NAME[] " ",WS_PRIO 0} -$WS_CONFIG[26]={COOP_KRC 0,WS_NAME[] " ",WS_PRIO 0} -$WS_CONFIG[27]={COOP_KRC 0,WS_NAME[] " ",WS_PRIO 0} -$WS_CONFIG[28]={COOP_KRC 0,WS_NAME[] " ",WS_PRIO 0} -$WS_CONFIG[29]={COOP_KRC 0,WS_NAME[] " ",WS_PRIO 0} -$WS_CONFIG[30]={COOP_KRC 0,WS_NAME[] " ",WS_PRIO 0} -$WS_CONFIG[31]={COOP_KRC 0,WS_NAME[] " ",WS_PRIO 0} -$WS_CONFIG[32]={COOP_KRC 0,WS_NAME[] " ",WS_PRIO 0} -INT $COUNT_I[160] ;COUNTER -$COUNT_I[1]=0 -$COUNT_I[2]=0 -$COUNT_I[3]=0 -$COUNT_I[4]=0 -$COUNT_I[5]=0 -$COUNT_I[6]=0 -$COUNT_I[7]=0 -$COUNT_I[8]=0 -$COUNT_I[9]=0 -$COUNT_I[10]=0 -$COUNT_I[11]=0 -$COUNT_I[12]=0 -$COUNT_I[13]=0 -$COUNT_I[14]=0 -$COUNT_I[15]=0 -$COUNT_I[16]=0 -$COUNT_I[17]=0 -$COUNT_I[18]=0 -$COUNT_I[19]=0 -$COUNT_I[20]=0 -$COUNT_I[21]=0 -$COUNT_I[22]=0 -$COUNT_I[23]=0 -$COUNT_I[24]=0 -$COUNT_I[25]=0 -$COUNT_I[26]=0 -$COUNT_I[27]=0 -$COUNT_I[28]=0 -$COUNT_I[29]=0 -$COUNT_I[30]=0 -$COUNT_I[31]=0 -$COUNT_I[32]=0 -$COUNT_I[33]=0 -$COUNT_I[34]=0 -$COUNT_I[35]=0 -$COUNT_I[36]=0 -$COUNT_I[37]=0 -$COUNT_I[38]=0 -$COUNT_I[39]=0 -$COUNT_I[40]=0 -$COUNT_I[41]=0 -$COUNT_I[42]=0 -$COUNT_I[43]=0 -$COUNT_I[44]=0 -$COUNT_I[45]=0 -$COUNT_I[46]=0 -$COUNT_I[47]=0 -$COUNT_I[48]=0 -$COUNT_I[49]=0 -$COUNT_I[50]=0 -$COUNT_I[51]=0 -$COUNT_I[52]=0 -$COUNT_I[53]=0 -$COUNT_I[54]=0 -$COUNT_I[55]=0 -$COUNT_I[56]=0 -$COUNT_I[57]=0 -$COUNT_I[58]=0 -$COUNT_I[59]=0 -$COUNT_I[60]=0 -$COUNT_I[61]=0 -$COUNT_I[62]=0 -$COUNT_I[63]=0 -$COUNT_I[64]=0 -$COUNT_I[65]=0 -$COUNT_I[66]=0 -$COUNT_I[67]=0 -$COUNT_I[68]=0 -$COUNT_I[69]=0 -$COUNT_I[70]=0 -$COUNT_I[71]=0 -$COUNT_I[72]=0 -$COUNT_I[73]=0 -$COUNT_I[74]=0 -$COUNT_I[75]=0 -$COUNT_I[76]=0 -$COUNT_I[77]=0 -$COUNT_I[78]=0 -$COUNT_I[79]=0 -$COUNT_I[80]=0 -$COUNT_I[81]=0 -$COUNT_I[82]=0 -$COUNT_I[83]=0 -$COUNT_I[84]=0 -$COUNT_I[85]=0 -$COUNT_I[86]=0 -$COUNT_I[87]=0 -$COUNT_I[88]=0 -$COUNT_I[89]=0 -$COUNT_I[90]=0 -$COUNT_I[91]=0 -$COUNT_I[92]=0 -$COUNT_I[93]=0 -$COUNT_I[94]=0 -$COUNT_I[95]=0 -$COUNT_I[96]=0 -$COUNT_I[97]=0 -$COUNT_I[98]=0 -$COUNT_I[99]=0 -$COUNT_I[100]=0 -$COUNT_I[101]=0 -$COUNT_I[102]=0 -$COUNT_I[103]=0 -$COUNT_I[104]=0 -$COUNT_I[105]=0 -$COUNT_I[106]=0 -$COUNT_I[107]=0 -$COUNT_I[108]=0 -$COUNT_I[109]=0 -$COUNT_I[110]=0 -$COUNT_I[111]=0 -$COUNT_I[112]=0 -$COUNT_I[113]=0 -$COUNT_I[114]=0 -$COUNT_I[115]=0 -$COUNT_I[116]=0 -$COUNT_I[117]=0 -$COUNT_I[118]=0 -$COUNT_I[119]=0 -$COUNT_I[120]=0 -$COUNT_I[121]=0 -$COUNT_I[122]=0 -$COUNT_I[123]=0 -$COUNT_I[124]=0 -$COUNT_I[125]=0 -$COUNT_I[126]=0 -$COUNT_I[127]=0 -$COUNT_I[128]=0 -$COUNT_I[129]=0 -$COUNT_I[130]=0 -$COUNT_I[131]=0 -$COUNT_I[132]=0 -$COUNT_I[133]=0 -$COUNT_I[134]=0 -$COUNT_I[135]=0 -$COUNT_I[136]=0 -$COUNT_I[137]=0 -$COUNT_I[138]=0 -$COUNT_I[139]=0 -$COUNT_I[140]=0 -$COUNT_I[141]=0 -$COUNT_I[142]=0 -$COUNT_I[143]=0 -$COUNT_I[144]=0 -$COUNT_I[145]=0 -$COUNT_I[146]=0 -$COUNT_I[147]=0 -$COUNT_I[148]=0 -$COUNT_I[149]=0 -$COUNT_I[150]=0 -$COUNT_I[151]=0 -$COUNT_I[152]=0 -$COUNT_I[153]=0 -$COUNT_I[154]=0 -$COUNT_I[155]=0 -$COUNT_I[156]=0 -$COUNT_I[157]=0 -$COUNT_I[158]=0 -$COUNT_I[159]=0 -$COUNT_I[160]=0 -DECL BIN_TYPE $BIN_OUT[64] ;Binary Output configuration -$BIN_OUT[1]={F_BIT 1,LEN 0,PARITY #NONE} -$BIN_OUT[2]={F_BIT 1,LEN 0,PARITY #NONE} -$BIN_OUT[3]={F_BIT 1,LEN 0,PARITY #NONE} -$BIN_OUT[4]={F_BIT 1,LEN 0,PARITY #NONE} -$BIN_OUT[5]={F_BIT 1,LEN 0,PARITY #NONE} -$BIN_OUT[6]={F_BIT 1,LEN 0,PARITY #NONE} -$BIN_OUT[7]={F_BIT 1,LEN 0,PARITY #NONE} -$BIN_OUT[8]={F_BIT 1,LEN 0,PARITY #NONE} -$BIN_OUT[9]={F_BIT 1,LEN 0,PARITY #NONE} -$BIN_OUT[10]={F_BIT 1,LEN 0,PARITY #NONE} -$BIN_OUT[11]={F_BIT 1,LEN 0,PARITY #NONE} -$BIN_OUT[12]={F_BIT 1,LEN 0,PARITY #NONE} -$BIN_OUT[13]={F_BIT 1,LEN 0,PARITY #NONE} -$BIN_OUT[14]={F_BIT 1,LEN 0,PARITY #NONE} -$BIN_OUT[15]={F_BIT 1,LEN 0,PARITY #NONE} -$BIN_OUT[16]={F_BIT 1,LEN 0,PARITY #NONE} -$BIN_OUT[17]={F_BIT 1,LEN 0,PARITY #NONE} -$BIN_OUT[18]={F_BIT 1,LEN 0,PARITY #NONE} -$BIN_OUT[19]={F_BIT 1,LEN 0,PARITY #NONE} -$BIN_OUT[20]={F_BIT 1,LEN 0,PARITY #NONE} -$BIN_OUT[21]={F_BIT 1,LEN 0,PARITY #NONE} -$BIN_OUT[22]={F_BIT 1,LEN 0,PARITY #NONE} -$BIN_OUT[23]={F_BIT 1,LEN 0,PARITY #NONE} -$BIN_OUT[24]={F_BIT 1,LEN 0,PARITY #NONE} -$BIN_OUT[25]={F_BIT 1,LEN 0,PARITY #NONE} -$BIN_OUT[26]={F_BIT 1,LEN 0,PARITY #NONE} -$BIN_OUT[27]={F_BIT 1,LEN 0,PARITY #NONE} -$BIN_OUT[28]={F_BIT 1,LEN 0,PARITY #NONE} -$BIN_OUT[29]={F_BIT 1,LEN 0,PARITY #NONE} -$BIN_OUT[30]={F_BIT 1,LEN 0,PARITY #NONE} -$BIN_OUT[31]={F_BIT 1,LEN 0,PARITY #NONE} -$BIN_OUT[32]={F_BIT 1,LEN 0,PARITY #NONE} -$BIN_OUT[33]={F_BIT 1,LEN 0,PARITY #NONE} -$BIN_OUT[34]={F_BIT 1,LEN 0,PARITY #NONE} -$BIN_OUT[35]={F_BIT 1,LEN 0,PARITY #NONE} -$BIN_OUT[36]={F_BIT 1,LEN 0,PARITY #NONE} -$BIN_OUT[37]={F_BIT 1,LEN 0,PARITY #NONE} -$BIN_OUT[38]={F_BIT 1,LEN 0,PARITY #NONE} -$BIN_OUT[39]={F_BIT 1,LEN 0,PARITY #NONE} -$BIN_OUT[40]={F_BIT 1,LEN 0,PARITY #NONE} -$BIN_OUT[41]={F_BIT 1,LEN 0,PARITY #NONE} -$BIN_OUT[42]={F_BIT 1,LEN 0,PARITY #NONE} -$BIN_OUT[43]={F_BIT 1,LEN 0,PARITY #NONE} -$BIN_OUT[44]={F_BIT 1,LEN 0,PARITY #NONE} -$BIN_OUT[45]={F_BIT 1,LEN 0,PARITY #NONE} -$BIN_OUT[46]={F_BIT 1,LEN 0,PARITY #NONE} -$BIN_OUT[47]={F_BIT 1,LEN 0,PARITY #NONE} -$BIN_OUT[48]={F_BIT 1,LEN 0,PARITY #NONE} -$BIN_OUT[49]={F_BIT 1,LEN 0,PARITY #NONE} -$BIN_OUT[50]={F_BIT 1,LEN 0,PARITY #NONE} -$BIN_OUT[51]={F_BIT 1,LEN 0,PARITY #NONE} -$BIN_OUT[52]={F_BIT 1,LEN 0,PARITY #NONE} -$BIN_OUT[53]={F_BIT 1,LEN 0,PARITY #NONE} -$BIN_OUT[54]={F_BIT 1,LEN 0,PARITY #NONE} -$BIN_OUT[55]={F_BIT 1,LEN 0,PARITY #NONE} -$BIN_OUT[56]={F_BIT 1,LEN 0,PARITY #NONE} -$BIN_OUT[57]={F_BIT 1,LEN 0,PARITY #NONE} -$BIN_OUT[58]={F_BIT 1,LEN 0,PARITY #NONE} -$BIN_OUT[59]={F_BIT 1,LEN 0,PARITY #NONE} -$BIN_OUT[60]={F_BIT 1,LEN 0,PARITY #NONE} -$BIN_OUT[61]={F_BIT 1,LEN 0,PARITY #NONE} -$BIN_OUT[62]={F_BIT 1,LEN 0,PARITY #NONE} -$BIN_OUT[63]={F_BIT 1,LEN 0,PARITY #NONE} -$BIN_OUT[64]={F_BIT 1,LEN 0,PARITY #NONE} -DECL BIN_TYPE $BIN_IN[64] ;Binary Output configuration -$BIN_IN[1]={F_BIT 1,LEN 0,PARITY #NONE} -$BIN_IN[2]={F_BIT 1,LEN 0,PARITY #NONE} -$BIN_IN[3]={F_BIT 1,LEN 0,PARITY #NONE} -$BIN_IN[4]={F_BIT 1,LEN 0,PARITY #NONE} -$BIN_IN[5]={F_BIT 1,LEN 0,PARITY #NONE} -$BIN_IN[6]={F_BIT 1,LEN 0,PARITY #NONE} -$BIN_IN[7]={F_BIT 1,LEN 0,PARITY #NONE} -$BIN_IN[8]={F_BIT 1,LEN 0,PARITY #NONE} -$BIN_IN[9]={F_BIT 1,LEN 0,PARITY #NONE} -$BIN_IN[10]={F_BIT 1,LEN 0,PARITY #NONE} -$BIN_IN[11]={F_BIT 1,LEN 0,PARITY #NONE} -$BIN_IN[12]={F_BIT 1,LEN 0,PARITY #NONE} -$BIN_IN[13]={F_BIT 1,LEN 0,PARITY #NONE} -$BIN_IN[14]={F_BIT 1,LEN 0,PARITY #NONE} -$BIN_IN[15]={F_BIT 1,LEN 0,PARITY #NONE} -$BIN_IN[16]={F_BIT 1,LEN 0,PARITY #NONE} -$BIN_IN[17]={F_BIT 1,LEN 0,PARITY #NONE} -$BIN_IN[18]={F_BIT 1,LEN 0,PARITY #NONE} -$BIN_IN[19]={F_BIT 1,LEN 0,PARITY #NONE} -$BIN_IN[20]={F_BIT 1,LEN 0,PARITY #NONE} -$BIN_IN[21]={F_BIT 1,LEN 0,PARITY #NONE} -$BIN_IN[22]={F_BIT 1,LEN 0,PARITY #NONE} -$BIN_IN[23]={F_BIT 1,LEN 0,PARITY #NONE} -$BIN_IN[24]={F_BIT 1,LEN 0,PARITY #NONE} -$BIN_IN[25]={F_BIT 1,LEN 0,PARITY #NONE} -$BIN_IN[26]={F_BIT 1,LEN 0,PARITY #NONE} -$BIN_IN[27]={F_BIT 1,LEN 0,PARITY #NONE} -$BIN_IN[28]={F_BIT 1,LEN 0,PARITY #NONE} -$BIN_IN[29]={F_BIT 1,LEN 0,PARITY #NONE} -$BIN_IN[30]={F_BIT 1,LEN 0,PARITY #NONE} -$BIN_IN[31]={F_BIT 1,LEN 0,PARITY #NONE} -$BIN_IN[32]={F_BIT 1,LEN 0,PARITY #NONE} -$BIN_IN[33]={F_BIT 1,LEN 0,PARITY #NONE} -$BIN_IN[34]={F_BIT 1,LEN 0,PARITY #NONE} -$BIN_IN[35]={F_BIT 1,LEN 0,PARITY #NONE} -$BIN_IN[36]={F_BIT 1,LEN 0,PARITY #NONE} -$BIN_IN[37]={F_BIT 1,LEN 0,PARITY #NONE} -$BIN_IN[38]={F_BIT 1,LEN 0,PARITY #NONE} -$BIN_IN[39]={F_BIT 1,LEN 0,PARITY #NONE} -$BIN_IN[40]={F_BIT 1,LEN 0,PARITY #NONE} -$BIN_IN[41]={F_BIT 1,LEN 0,PARITY #NONE} -$BIN_IN[42]={F_BIT 1,LEN 0,PARITY #NONE} -$BIN_IN[43]={F_BIT 1,LEN 0,PARITY #NONE} -$BIN_IN[44]={F_BIT 1,LEN 0,PARITY #NONE} -$BIN_IN[45]={F_BIT 1,LEN 0,PARITY #NONE} -$BIN_IN[46]={F_BIT 1,LEN 0,PARITY #NONE} -$BIN_IN[47]={F_BIT 1,LEN 0,PARITY #NONE} -$BIN_IN[48]={F_BIT 1,LEN 0,PARITY #NONE} -$BIN_IN[49]={F_BIT 1,LEN 0,PARITY #NONE} -$BIN_IN[50]={F_BIT 1,LEN 0,PARITY #NONE} -$BIN_IN[51]={F_BIT 1,LEN 0,PARITY #NONE} -$BIN_IN[52]={F_BIT 1,LEN 0,PARITY #NONE} -$BIN_IN[53]={F_BIT 1,LEN 0,PARITY #NONE} -$BIN_IN[54]={F_BIT 1,LEN 0,PARITY #NONE} -$BIN_IN[55]={F_BIT 1,LEN 0,PARITY #NONE} -$BIN_IN[56]={F_BIT 1,LEN 0,PARITY #NONE} -$BIN_IN[57]={F_BIT 1,LEN 0,PARITY #NONE} -$BIN_IN[58]={F_BIT 1,LEN 0,PARITY #NONE} -$BIN_IN[59]={F_BIT 1,LEN 0,PARITY #NONE} -$BIN_IN[60]={F_BIT 1,LEN 0,PARITY #NONE} -$BIN_IN[61]={F_BIT 1,LEN 0,PARITY #NONE} -$BIN_IN[62]={F_BIT 1,LEN 0,PARITY #NONE} -$BIN_IN[63]={F_BIT 1,LEN 0,PARITY #NONE} -$BIN_IN[64]={F_BIT 1,LEN 0,PARITY #NONE} -INT $SYNCCMD_SIM=0 ;Simulation aller ProgSync und MotionSync Befehle fuer eine def. Steuerung -INT $SYNCLINESELECTMASK=0 ;erzwingt eine synchrone Statzanwahl auf Remote-Steuerung -INT $SPREADACTION=0 ;kennzeichnet die angegebenen Steuerungen als Verbund -BOOL $COLL_AVOID=FALSE ; COLL_AVOID -DECL COOP_UPDATE_T $COOP_UPDATE ;Kommunikation zwische WCD und TPBASIS -INT $TP_COOP_UPDATE=0 ;Kommunikation zwische CellMap und TPBASIS -INT $TP_WS_UPDATE=0 ;Kommunikation zwische workspace sharing und TPBASIS -DECL LDC_REACTION $LDC_CONFIG[128] ;Konfiguration der Lastdatenpruefung -$LDC_CONFIG[1]={UNDERLOAD #WARNONLY,OVERLOAD #STOPROBOT} -$LDC_CONFIG[2]={UNDERLOAD #WARNONLY,OVERLOAD #STOPROBOT} -$LDC_CONFIG[3]={UNDERLOAD #WARNONLY,OVERLOAD #STOPROBOT} -$LDC_CONFIG[4]={UNDERLOAD #WARNONLY,OVERLOAD #STOPROBOT} -$LDC_CONFIG[5]={UNDERLOAD #WARNONLY,OVERLOAD #STOPROBOT} -$LDC_CONFIG[6]={UNDERLOAD #WARNONLY,OVERLOAD #STOPROBOT} -$LDC_CONFIG[7]={UNDERLOAD #WARNONLY,OVERLOAD #STOPROBOT} -$LDC_CONFIG[8]={UNDERLOAD #WARNONLY,OVERLOAD #STOPROBOT} -$LDC_CONFIG[9]={UNDERLOAD #WARNONLY,OVERLOAD #STOPROBOT} -$LDC_CONFIG[10]={UNDERLOAD #WARNONLY,OVERLOAD #STOPROBOT} -$LDC_CONFIG[11]={UNDERLOAD #WARNONLY,OVERLOAD #STOPROBOT} -$LDC_CONFIG[12]={UNDERLOAD #WARNONLY,OVERLOAD #STOPROBOT} -$LDC_CONFIG[13]={UNDERLOAD #WARNONLY,OVERLOAD #STOPROBOT} -$LDC_CONFIG[14]={UNDERLOAD #WARNONLY,OVERLOAD #STOPROBOT} -$LDC_CONFIG[15]={UNDERLOAD #WARNONLY,OVERLOAD #STOPROBOT} -$LDC_CONFIG[16]={UNDERLOAD #WARNONLY,OVERLOAD #STOPROBOT} -$LDC_CONFIG[17]={UNDERLOAD #WARNONLY,OVERLOAD #STOPROBOT} -$LDC_CONFIG[18]={UNDERLOAD #WARNONLY,OVERLOAD #STOPROBOT} -$LDC_CONFIG[19]={UNDERLOAD #WARNONLY,OVERLOAD #STOPROBOT} -$LDC_CONFIG[20]={UNDERLOAD #WARNONLY,OVERLOAD #STOPROBOT} -$LDC_CONFIG[21]={UNDERLOAD #WARNONLY,OVERLOAD #STOPROBOT} -$LDC_CONFIG[22]={UNDERLOAD #WARNONLY,OVERLOAD #STOPROBOT} -$LDC_CONFIG[23]={UNDERLOAD #WARNONLY,OVERLOAD #STOPROBOT} -$LDC_CONFIG[24]={UNDERLOAD #WARNONLY,OVERLOAD #STOPROBOT} -$LDC_CONFIG[25]={UNDERLOAD #WARNONLY,OVERLOAD #STOPROBOT} -$LDC_CONFIG[26]={UNDERLOAD #WARNONLY,OVERLOAD #STOPROBOT} -$LDC_CONFIG[27]={UNDERLOAD #WARNONLY,OVERLOAD #STOPROBOT} -$LDC_CONFIG[28]={UNDERLOAD #WARNONLY,OVERLOAD #STOPROBOT} -$LDC_CONFIG[29]={UNDERLOAD #WARNONLY,OVERLOAD #STOPROBOT} -$LDC_CONFIG[30]={UNDERLOAD #WARNONLY,OVERLOAD #STOPROBOT} -$LDC_CONFIG[31]={UNDERLOAD #WARNONLY,OVERLOAD #STOPROBOT} -$LDC_CONFIG[32]={UNDERLOAD #WARNONLY,OVERLOAD #STOPROBOT} -$LDC_CONFIG[33]={UNDERLOAD #WARNONLY,OVERLOAD #STOPROBOT} -$LDC_CONFIG[34]={UNDERLOAD #WARNONLY,OVERLOAD #STOPROBOT} -$LDC_CONFIG[35]={UNDERLOAD #WARNONLY,OVERLOAD #STOPROBOT} -$LDC_CONFIG[36]={UNDERLOAD #WARNONLY,OVERLOAD #STOPROBOT} -$LDC_CONFIG[37]={UNDERLOAD #WARNONLY,OVERLOAD #STOPROBOT} -$LDC_CONFIG[38]={UNDERLOAD #WARNONLY,OVERLOAD #STOPROBOT} -$LDC_CONFIG[39]={UNDERLOAD #WARNONLY,OVERLOAD #STOPROBOT} -$LDC_CONFIG[40]={UNDERLOAD #WARNONLY,OVERLOAD #STOPROBOT} -$LDC_CONFIG[41]={UNDERLOAD #WARNONLY,OVERLOAD #STOPROBOT} -$LDC_CONFIG[42]={UNDERLOAD #WARNONLY,OVERLOAD #STOPROBOT} -$LDC_CONFIG[43]={UNDERLOAD #WARNONLY,OVERLOAD #STOPROBOT} -$LDC_CONFIG[44]={UNDERLOAD #WARNONLY,OVERLOAD #STOPROBOT} -$LDC_CONFIG[45]={UNDERLOAD #WARNONLY,OVERLOAD #STOPROBOT} -$LDC_CONFIG[46]={UNDERLOAD #WARNONLY,OVERLOAD #STOPROBOT} -$LDC_CONFIG[47]={UNDERLOAD #WARNONLY,OVERLOAD #STOPROBOT} -$LDC_CONFIG[48]={UNDERLOAD #WARNONLY,OVERLOAD #STOPROBOT} -$LDC_CONFIG[49]={UNDERLOAD #WARNONLY,OVERLOAD #STOPROBOT} -$LDC_CONFIG[50]={UNDERLOAD #WARNONLY,OVERLOAD #STOPROBOT} -$LDC_CONFIG[51]={UNDERLOAD #WARNONLY,OVERLOAD #STOPROBOT} -$LDC_CONFIG[52]={UNDERLOAD #WARNONLY,OVERLOAD #STOPROBOT} -$LDC_CONFIG[53]={UNDERLOAD #WARNONLY,OVERLOAD #STOPROBOT} -$LDC_CONFIG[54]={UNDERLOAD #WARNONLY,OVERLOAD #STOPROBOT} -$LDC_CONFIG[55]={UNDERLOAD #WARNONLY,OVERLOAD #STOPROBOT} -$LDC_CONFIG[56]={UNDERLOAD #WARNONLY,OVERLOAD #STOPROBOT} -$LDC_CONFIG[57]={UNDERLOAD #WARNONLY,OVERLOAD #STOPROBOT} -$LDC_CONFIG[58]={UNDERLOAD #WARNONLY,OVERLOAD #STOPROBOT} -$LDC_CONFIG[59]={UNDERLOAD #WARNONLY,OVERLOAD #STOPROBOT} -$LDC_CONFIG[60]={UNDERLOAD #WARNONLY,OVERLOAD #STOPROBOT} -$LDC_CONFIG[61]={UNDERLOAD #WARNONLY,OVERLOAD #STOPROBOT} -$LDC_CONFIG[62]={UNDERLOAD #WARNONLY,OVERLOAD #STOPROBOT} -$LDC_CONFIG[63]={UNDERLOAD #WARNONLY,OVERLOAD #STOPROBOT} -$LDC_CONFIG[64]={UNDERLOAD #WARNONLY,OVERLOAD #STOPROBOT} -$LDC_CONFIG[65]={UNDERLOAD #WARNONLY,OVERLOAD #STOPROBOT} -$LDC_CONFIG[66]={UNDERLOAD #WARNONLY,OVERLOAD #STOPROBOT} -$LDC_CONFIG[67]={UNDERLOAD #WARNONLY,OVERLOAD #STOPROBOT} -$LDC_CONFIG[68]={UNDERLOAD #WARNONLY,OVERLOAD #STOPROBOT} -$LDC_CONFIG[69]={UNDERLOAD #WARNONLY,OVERLOAD #STOPROBOT} -$LDC_CONFIG[70]={UNDERLOAD #WARNONLY,OVERLOAD #STOPROBOT} -$LDC_CONFIG[71]={UNDERLOAD #WARNONLY,OVERLOAD #STOPROBOT} -$LDC_CONFIG[72]={UNDERLOAD #WARNONLY,OVERLOAD #STOPROBOT} -$LDC_CONFIG[73]={UNDERLOAD #WARNONLY,OVERLOAD #STOPROBOT} -$LDC_CONFIG[74]={UNDERLOAD #WARNONLY,OVERLOAD #STOPROBOT} -$LDC_CONFIG[75]={UNDERLOAD #WARNONLY,OVERLOAD #STOPROBOT} -$LDC_CONFIG[76]={UNDERLOAD #WARNONLY,OVERLOAD #STOPROBOT} -$LDC_CONFIG[77]={UNDERLOAD #WARNONLY,OVERLOAD #STOPROBOT} -$LDC_CONFIG[78]={UNDERLOAD #WARNONLY,OVERLOAD #STOPROBOT} -$LDC_CONFIG[79]={UNDERLOAD #WARNONLY,OVERLOAD #STOPROBOT} -$LDC_CONFIG[80]={UNDERLOAD #WARNONLY,OVERLOAD #STOPROBOT} -$LDC_CONFIG[81]={UNDERLOAD #WARNONLY,OVERLOAD #STOPROBOT} -$LDC_CONFIG[82]={UNDERLOAD #WARNONLY,OVERLOAD #STOPROBOT} -$LDC_CONFIG[83]={UNDERLOAD #WARNONLY,OVERLOAD #STOPROBOT} -$LDC_CONFIG[84]={UNDERLOAD #WARNONLY,OVERLOAD #STOPROBOT} -$LDC_CONFIG[85]={UNDERLOAD #WARNONLY,OVERLOAD #STOPROBOT} -$LDC_CONFIG[86]={UNDERLOAD #WARNONLY,OVERLOAD #STOPROBOT} -$LDC_CONFIG[87]={UNDERLOAD #WARNONLY,OVERLOAD #STOPROBOT} -$LDC_CONFIG[88]={UNDERLOAD #WARNONLY,OVERLOAD #STOPROBOT} -$LDC_CONFIG[89]={UNDERLOAD #WARNONLY,OVERLOAD #STOPROBOT} -$LDC_CONFIG[90]={UNDERLOAD #WARNONLY,OVERLOAD #STOPROBOT} -$LDC_CONFIG[91]={UNDERLOAD #WARNONLY,OVERLOAD #STOPROBOT} -$LDC_CONFIG[92]={UNDERLOAD #WARNONLY,OVERLOAD #STOPROBOT} -$LDC_CONFIG[93]={UNDERLOAD #WARNONLY,OVERLOAD #STOPROBOT} -$LDC_CONFIG[94]={UNDERLOAD #WARNONLY,OVERLOAD #STOPROBOT} -$LDC_CONFIG[95]={UNDERLOAD #WARNONLY,OVERLOAD #STOPROBOT} -$LDC_CONFIG[96]={UNDERLOAD #WARNONLY,OVERLOAD #STOPROBOT} -$LDC_CONFIG[97]={UNDERLOAD #WARNONLY,OVERLOAD #STOPROBOT} -$LDC_CONFIG[98]={UNDERLOAD #WARNONLY,OVERLOAD #STOPROBOT} -$LDC_CONFIG[99]={UNDERLOAD #WARNONLY,OVERLOAD #STOPROBOT} -$LDC_CONFIG[100]={UNDERLOAD #WARNONLY,OVERLOAD #STOPROBOT} -$LDC_CONFIG[101]={UNDERLOAD #WARNONLY,OVERLOAD #STOPROBOT} -$LDC_CONFIG[102]={UNDERLOAD #WARNONLY,OVERLOAD #STOPROBOT} -$LDC_CONFIG[103]={UNDERLOAD #WARNONLY,OVERLOAD #STOPROBOT} -$LDC_CONFIG[104]={UNDERLOAD #WARNONLY,OVERLOAD #STOPROBOT} -$LDC_CONFIG[105]={UNDERLOAD #WARNONLY,OVERLOAD #STOPROBOT} -$LDC_CONFIG[106]={UNDERLOAD #WARNONLY,OVERLOAD #STOPROBOT} -$LDC_CONFIG[107]={UNDERLOAD #WARNONLY,OVERLOAD #STOPROBOT} -$LDC_CONFIG[108]={UNDERLOAD #WARNONLY,OVERLOAD #STOPROBOT} -$LDC_CONFIG[109]={UNDERLOAD #WARNONLY,OVERLOAD #STOPROBOT} -$LDC_CONFIG[110]={UNDERLOAD #WARNONLY,OVERLOAD #STOPROBOT} -$LDC_CONFIG[111]={UNDERLOAD #WARNONLY,OVERLOAD #STOPROBOT} -$LDC_CONFIG[112]={UNDERLOAD #WARNONLY,OVERLOAD #STOPROBOT} -$LDC_CONFIG[113]={UNDERLOAD #WARNONLY,OVERLOAD #STOPROBOT} -$LDC_CONFIG[114]={UNDERLOAD #WARNONLY,OVERLOAD #STOPROBOT} -$LDC_CONFIG[115]={UNDERLOAD #WARNONLY,OVERLOAD #STOPROBOT} -$LDC_CONFIG[116]={UNDERLOAD #WARNONLY,OVERLOAD #STOPROBOT} -$LDC_CONFIG[117]={UNDERLOAD #WARNONLY,OVERLOAD #STOPROBOT} -$LDC_CONFIG[118]={UNDERLOAD #WARNONLY,OVERLOAD #STOPROBOT} -$LDC_CONFIG[119]={UNDERLOAD #WARNONLY,OVERLOAD #STOPROBOT} -$LDC_CONFIG[120]={UNDERLOAD #WARNONLY,OVERLOAD #STOPROBOT} -$LDC_CONFIG[121]={UNDERLOAD #WARNONLY,OVERLOAD #STOPROBOT} -$LDC_CONFIG[122]={UNDERLOAD #WARNONLY,OVERLOAD #STOPROBOT} -$LDC_CONFIG[123]={UNDERLOAD #WARNONLY,OVERLOAD #STOPROBOT} -$LDC_CONFIG[124]={UNDERLOAD #WARNONLY,OVERLOAD #STOPROBOT} -$LDC_CONFIG[125]={UNDERLOAD #WARNONLY,OVERLOAD #STOPROBOT} -$LDC_CONFIG[126]={UNDERLOAD #WARNONLY,OVERLOAD #STOPROBOT} -$LDC_CONFIG[127]={UNDERLOAD #WARNONLY,OVERLOAD #STOPROBOT} -$LDC_CONFIG[128]={UNDERLOAD #WARNONLY,OVERLOAD #STOPROBOT} -ENDDAT \ No newline at end of file diff --git a/KUKA/KRC/STEU/Mada/$machine.dat b/KUKA/KRC/STEU/Mada/$machine.dat deleted file mode 100644 index d25857a..0000000 --- a/KUKA/KRC/STEU/Mada/$machine.dat +++ /dev/null @@ -1,103 +0,0 @@ -&ACCESS RV$ -&REL 3 -&PARAM VERSION = 1.0.0 -DEFDAT $MACHINE PUBLIC -SIGNAL $CRIT_PERI_ACK_REQ $IN[1026] ;Schalter zur Konfiguration der Bewegung kritischer Peripherie -SIGNAL $CRIT_PERI_ACK FALSE -CHAR $V_STEUMADA[32] -$V_STEUMADA[]="V1.0.0/KUKA8.3" ;VERSIONSKENNUNG -SIGNAL $MASTERINGTEST_REQ_EXT $IN[1026] ;TRUE = Referenzfahrt angefordert (extern) -SIGNAL $BRAKETEST_REQ_EX $IN[1026] ;TRUE = Bremsentest soll gestartet werden -SIGNAL $BRAKETEST_MONTIME FALSE -SIGNAL $MAINTENANCE_TO_PLC FALSE -SIGNAL $DRIVE_STOP_NOT_REQ $IN[1025] ;FALSE = Drehzahlstopp Anforderung -SIGNAL $BRAKETEST_REQ_INT FALSE -SIGNAL $BRAKETEST_WORK FALSE -SIGNAL $BRAKES_OK FALSE -SIGNAL $BRAKETEST_WARN FALSE -DECL EMSTOP_PATH $EMSTOP_PATH={T1 #ON,T2 #ON,AUT #ON,EX #ON} ;PROJEKTIERUNG DES BAHNTREUEN NOT-AUS FUER T1,T2,AUT,EX -SIGNAL $EXT_START $IN[3] ;EXTERNER START -SIGNAL $MOVE_ENABLE $IN[4] ;FAHRFREIGABE GESAMT -SIGNAL $RC_RDY1 $OUT[17] ;RC-BETRIEBSBEREIT 1 -SIGNAL $SPOC_MOTION_ENABLE $OUT[1015] ; FAHRFREIGABE DURCH SAFETY CONTROLLER -SIGNAL $ALARM_STOP $OUT[1] ;NOT-STOP -SIGNAL $T1 $OUT[10] ;BETRIEBSART T1 -SIGNAL $T2 $OUT[11] ;BETRIEBSART T2 -SIGNAL $AUT $OUT[12] ;BETRIEBSART AUTOMATIK -SIGNAL $I_O_ACTCONF $OUT[18] ;E/A-SCHNITTSTELLE AKTIV QUITTUNG -SIGNAL $MODE_AUTO FALSE -SIGNAL $MODE_TEST FALSE -SIGNAL $LOCAL_NETWORK_OK FALSE -SIGNAL $COMPLETE_NETWORK_OK FALSE -SIGNAL $EXT $OUT[13] ;BETRIEBSART EXTERN -SIGNAL $STOPMESS $OUT[4] ;STOP-MELDUNG -SIGNAL $CONF_MESS $IN[5] ;EXTERNE QUITTUNG -SIGNAL $USER_SAF $OUT[2] -SIGNAL $PERI_RDY $OUT[3] -SIGNAL $IN_HOME $OUT[8] ;ROB IN HOMEPOSITION -SIGNAL $IN_HOME1 FALSE -SIGNAL $IN_HOME2 FALSE -SIGNAL $IN_HOME3 FALSE -SIGNAL $IN_HOME4 FALSE -SIGNAL $IN_HOME5 FALSE -SIGNAL $DRIVES_ON $IN[7] ;ANTRIEBE EIN -SIGNAL $DRIVES_OFF $IN[6] ;ANTRIEBE ENABLE -SIGNAL $ON_PATH $OUT[9] ;ROB AUF BAHN -SIGNAL $PR_MODE $OUT[21] ;HAND/PROGRAMMIERMODUS -SIGNAL $SS_MODE $OUT[22] ;HAND/SINGLE-STEP -SIGNAL $ALARM_STOP_INTERN $OUT[1002] ;NOT-STOP INTERN -SIGNAL $WORKSTATE1 FALSE -SIGNAL $WORKSTATE2 FALSE -SIGNAL $WORKSTATE3 FALSE -SIGNAL $WORKSTATE4 FALSE -SIGNAL $WORKSTATE5 FALSE -SIGNAL $WORKSTATE6 FALSE -SIGNAL $WORKSTATE7 FALSE -SIGNAL $WORKSTATE8 FALSE -SIGNAL $CYLWORKSTATE1 FALSE -SIGNAL $CYLWORKSTATE2 FALSE -SIGNAL $CYLWORKSTATE3 FALSE -SIGNAL $CYLWORKSTATE4 FALSE -SIGNAL $CYLWORKSTATE5 FALSE -SIGNAL $CYLWORKSTATE6 FALSE -SIGNAL $CYLWORKSTATE7 FALSE -SIGNAL $CYLWORKSTATE8 FALSE -SIGNAL $AXWORKSTATE1 FALSE -SIGNAL $AXWORKSTATE2 FALSE -SIGNAL $AXWORKSTATE3 FALSE -SIGNAL $AXWORKSTATE4 FALSE -SIGNAL $AXWORKSTATE5 FALSE -SIGNAL $AXWORKSTATE6 FALSE -SIGNAL $AXWORKSTATE7 FALSE -SIGNAL $AXWORKSTATE8 FALSE -SIGNAL $DELTAWORKSTATE FALSE -SIGNAL $ASYNC_AX1_P $IN[1026] -SIGNAL $ASYNC_AX2_P $IN[1026] -SIGNAL $ASYNC_AX3_P $IN[1026] -SIGNAL $ASYNC_AX4_P $IN[1026] -SIGNAL $ASYNC_AX5_P $IN[1026] -SIGNAL $ASYNC_AX6_P $IN[1026] -SIGNAL $ASYNC_AX1_M $IN[1026] -SIGNAL $ASYNC_AX2_M $IN[1026] -SIGNAL $ASYNC_AX3_M $IN[1026] -SIGNAL $ASYNC_AX4_M $IN[1026] -SIGNAL $ASYNC_AX5_M $IN[1026] -SIGNAL $ASYNC_AX6_M $IN[1026] -SIGNAL $ZUST_ASYNC $IN[1026] -SIGNAL $NEAR_POSRET $OUT[14] ;ROBOTER IN TOLERANZFENSTER -SIGNAL $COLLISION FALSE -SIGNAL $COLLISION_STOP FALSE -SIGNAL $I_O_ACT $IN[1025] ;E/A-SCHNITTSTELLE AKTIV -SIGNAL $SAFEGATE_OP $IN[1025] ;SAFETY GATE ON PATH STOP -SIGNAL $MOVE_ENA_ACK FALSE -SIGNAL $COLL_ALARM FALSE -SIGNAL $COLL_ENABLE FALSE -SIGNAL $IMM_STOP $IN[1025] ;NOT-AUS VON DER SPS -SIGNAL $AUX_POWER $IN[1026] ;EXTERNE SPANNUNGSVERSORGUNG AKTIV -SIGNAL $T2_ENABLE $IN[1025] ;SAFETY-SPEED -REAL $FAN_FOLLOW_UP_TIME=5.00000 ;NACHLAUFZEIT FUER DIE FAN-ANSTEUERUNG -SIGNAL $ROB_STOPPED $OUT[1023] ;ROBOTER STEHT -SIGNAL $ROB_CAL $OUT[1001] ;ROBOTER SYNCHRON -SIGNAL $PRO_ACT $OUT[5] ;PROZESS AKTIV -SIGNAL $PRO_MOVE $OUT[1022] ;PROGRAMMBEWEGUNG AKTIV -ENDDAT \ No newline at end of file diff --git a/KUKA/KRC/STEU/Mada/$option.dat b/KUKA/KRC/STEU/Mada/$option.dat deleted file mode 100644 index 0ec9dc0..0000000 --- a/KUKA/KRC/STEU/Mada/$option.dat +++ /dev/null @@ -1,29 +0,0 @@ -&ACCESS RV$ -&PARAM VERSION = 1.0.0 -DEFDAT $OPTION PUBLIC -CHAR $V_OPTION[32] -$V_OPTION[]="V1.0.0/KUKA8.3" ;VERSIONSKENNUNG -BOOL $TECH_OPT=TRUE ;FUNKTIONSGENERATOR -BOOL $CONSIDER_DLIN_ENERGY=FALSE ;Energie bei DLIN-Planung beruecksichtigen -BOOL $TCP_IPO=TRUE ;GREIFERBEZOGENE INTERPOLATION -BOOL $SEP_ASYNC_OV=FALSE ;Schalter fuer asynchrone Hand-Overrides -BOOL $LOOP_CONT=FALSE -CHAR $LOOP_MSG[128] -BOOL $IDENT_OPT=TRUE -INT $SINGUL_STRATEGY=0 ;0=NONE, 1=APPROX -BOOL $MOT_STOP_OPT=FALSE ;AKTIVIERUNG "BLOCK EXTERNAL START" -BOOL $CHCK_MOVENA=TRUE ;AB-UND EINSCHALTEN DER UEBERPRUEFUNG DER EINGANGSNUMMER VON $MOVE_ENABLE -BOOL $COLLISAVOID=FALSE ; -BOOL $MOTIONCOOP=FALSE ; -BOOL $PROGCOOP=FALSE ; -BOOL $T2_OV_REDUCE=TRUE ;TRUE = Overridereduzierung auf 10 % in Mode T2 -BOOL $VAR_TCP_IPO=FALSE -BOOL $SPL_VEL_MODE_OPT=TRUE ; Defaulteinstellung fuer $SPL_VEL_MODE -INT $SPL_PTP_PARA_OPT=2 ; Defaulteinstellung fuer PTP-Spline Parametrisierung -BOOL $IMPROVEDMIXEDBLENDING=TRUE ; verbessertes gemischtes Ueberschleifen -BOOL $IMPROVEDSPLINEGEOMETRY=TRUE ;verbesserte Spline Geometrie -DECL STEP_ENUM $SPL_MIXEDBLENDING_OPT=#STEP2 ;Optimierungen des gemischten Ueberschleifens im Spline -DECL INSTALLED_MOTION_MODES $INSTALLED_MOTION_MODES={PATH FALSE,DYNAMIC FALSE,ECO FALSE} ;Motion modes are subject to charges! Do not set manually to true. -CHAR $MAX_XROB_VERS[32] ;Hoechste zu verwendende Version des XROB-Absolutgenauigkeitsmodells -$MAX_XROB_VERS[]="4.2" ;="Major.Minor" -ENDDAT \ No newline at end of file