更新KUKA程序
This commit is contained in:
9
KUKA/KRC/R1/Program/ActionReturn.src
Normal file
9
KUKA/KRC/R1/Program/ActionReturn.src
Normal file
@@ -0,0 +1,9 @@
|
||||
&ACCESS RV
|
||||
DEF ActionReturn (nRet:IN )
|
||||
DECL INT nRet
|
||||
END_POS=$POS_ACT
|
||||
Q_CmdCountRet=CmdCountLast
|
||||
Q_CmdResult=nRet
|
||||
Q_CmdRet=CmdSave
|
||||
Q_Cmd_Running=0
|
||||
END
|
||||
16
KUKA/KRC/R1/Program/Config.dat
Normal file
16
KUKA/KRC/R1/Program/Config.dat
Normal file
@@ -0,0 +1,16 @@
|
||||
&ACCESS RV
|
||||
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 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}
|
||||
|
||||
ENDDAT
|
||||
10
KUKA/KRC/R1/Program/Grip/GripClose.src
Normal file
10
KUKA/KRC/R1/Program/Grip/GripClose.src
Normal file
@@ -0,0 +1,10 @@
|
||||
&ACCESS RV
|
||||
DEF GripClose ( )
|
||||
Q_GripPosIndex=102
|
||||
Q_GripPosCount=I_GripPosCountRet+1
|
||||
IF Q_GripPosCount>1000 THEN
|
||||
Q_GripPosCount=1
|
||||
ENDIF
|
||||
WAIT FOR (I_GripPosIndexRet==Q_GripPosIndex) AND (I_GripPosCountRet==Q_GripPosCount) AND I_GripClose
|
||||
|
||||
END
|
||||
11
KUKA/KRC/R1/Program/Grip/GripOpen.src
Normal file
11
KUKA/KRC/R1/Program/Grip/GripOpen.src
Normal file
@@ -0,0 +1,11 @@
|
||||
&ACCESS RV
|
||||
DEF GripOpen ( )
|
||||
|
||||
Q_GripPosIndex=101
|
||||
Q_GripPosCount=I_GripPosCountRet+1
|
||||
IF Q_GripPosCount>1000 THEN
|
||||
Q_GripPosCount=1
|
||||
ENDIF
|
||||
WAIT FOR (I_GripPosIndexRet==Q_GripPosIndex) AND (I_GripPosCountRet==Q_GripPosCount) AND I_GripOpen
|
||||
|
||||
END
|
||||
13
KUKA/KRC/R1/Program/Home/HomeModule.dat
Normal file
13
KUKA/KRC/R1/Program/Home/HomeModule.dat
Normal file
@@ -0,0 +1,13 @@
|
||||
&ACCESS RV
|
||||
DEFDAT HomeModule
|
||||
;FOLD EXTERNAL DECLARATIONS;%{PE}%MKUKATPBASIS,%CEXT,%VCOMMON,%P
|
||||
;FOLD BASISTECH EXT;%{PE}%MKUKATPBASIS,%CEXT,%VEXT,%P
|
||||
EXT BAS (BAS_COMMAND :IN,REAL :IN )
|
||||
DECL INT SUCCESS
|
||||
;ENDFOLD (BASISTECH EXT)
|
||||
;FOLD USER EXT;%{E}%MKUKATPUSER,%CEXT,%VEXT,%P
|
||||
;Make your modifications here
|
||||
|
||||
;ENDFOLD (USER EXT)
|
||||
;ENDFOLD (EXTERNAL DECLARATIONS)
|
||||
ENDDAT
|
||||
27
KUKA/KRC/R1/Program/Home/HomeModule.src
Normal file
27
KUKA/KRC/R1/Program/Home/HomeModule.src
Normal file
@@ -0,0 +1,27 @@
|
||||
&ACCESS RV
|
||||
DEF HomeModule ( )
|
||||
;FOLD INI;%{PE}
|
||||
;FOLD BASISTECH INI
|
||||
GLOBAL INTERRUPT DECL 3 WHEN $STOPMESS==TRUE DO IR_STOPM ( )
|
||||
INTERRUPT ON 3
|
||||
BAS (#INITMOV,0 )
|
||||
;ENDFOLD (BASISTECH INI)
|
||||
;FOLD USER INI
|
||||
;Make your modifications here
|
||||
|
||||
;ENDFOLD (USER INI)
|
||||
;ENDFOLD (INI)
|
||||
|
||||
PTP $POS_ACT
|
||||
IF $POS_ACT.Z<1600 THEN
|
||||
LIN {Z 1600}
|
||||
ENDIF
|
||||
|
||||
;FOLD SPTP HOME Vel=100 % DEFAULT ;%{PE}
|
||||
;FOLD Parameters ;%{h}
|
||||
;Params IlfProvider=kukaroboter.basistech.inlineforms.movement.spline; Kuka.IsGlobalPoint=False; Kuka.PointName=HOME; Kuka.BlendingEnabled=False; Kuka.MoveDataPtpName=DEFAULT; Kuka.VelocityPtp=100; Kuka.VelocityFieldEnabled=True; Kuka.CurrentCDSetIndex=0; Kuka.MovementParameterFieldEnabled=True; IlfCommand=SPTP
|
||||
;ENDFOLD
|
||||
SPTP XHOME WITH $VEL_AXIS[1] = SVEL_JOINT(100.0), $TOOL = STOOL2(FHOME), $BASE = SBASE(FHOME.BASE_NO), $IPO_MODE = SIPO_MODE(FHOME.IPO_FRAME), $LOAD = SLOAD(FHOME.TOOL_NO), $ACC_AXIS[1] = SACC_JOINT(PDEFAULT), $APO = SAPO_PTP(PDEFAULT), $GEAR_JERK[1] = SGEAR_JERK(PDEFAULT), $COLLMON_TOL_PRO[1] = USE_CM_PRO_VALUES(0)
|
||||
;ENDFOLD
|
||||
|
||||
END
|
||||
14
KUKA/KRC/R1/Program/MainModule.dat
Normal file
14
KUKA/KRC/R1/Program/MainModule.dat
Normal file
@@ -0,0 +1,14 @@
|
||||
&ACCESS RVO
|
||||
&REL 1
|
||||
DEFDAT MainModule
|
||||
;FOLD EXTERNAL DECLARATIONS;%{PE}%MKUKATPBASIS,%CEXT,%VCOMMON,%P
|
||||
;FOLD BASISTECH EXT;%{PE}%MKUKATPBASIS,%CEXT,%VEXT,%P
|
||||
EXT BAS (BAS_COMMAND :IN,REAL :IN )
|
||||
DECL INT SUCCESS
|
||||
;ENDFOLD (BASISTECH EXT)
|
||||
;FOLD USER EXT;%{E}%MKUKATPUSER,%CEXT,%VEXT,%P
|
||||
;Make your modifications here
|
||||
|
||||
;ENDFOLD (USER EXT)
|
||||
;ENDFOLD (EXTERNAL DECLARATIONS)
|
||||
ENDDAT
|
||||
75
KUKA/KRC/R1/Program/MainModule.src
Normal file
75
KUKA/KRC/R1/Program/MainModule.src
Normal file
@@ -0,0 +1,75 @@
|
||||
&ACCESS RVO
|
||||
&REL 1
|
||||
DEF MainModule()
|
||||
;FOLD INI
|
||||
;FOLD BASISTECH INI
|
||||
GLOBAL INTERRUPT DECL 3 WHEN $STOPMESS == TRUE DO IR_STOPM()
|
||||
INTERRUPT ON 3
|
||||
;ENDFOLD
|
||||
;FOLD USER INI
|
||||
;Make your modifications here
|
||||
;ENDFOLD
|
||||
;ENDFOLD
|
||||
|
||||
$CYCFLAG[1]=(I_GripSafty1 == FALSE) OR (I_GripSafty2==FALSE)
|
||||
INTERRUPT DECL 24 WHEN $CYCFLAG[1] DO StopSafty()
|
||||
INTERRUPT ON 24
|
||||
|
||||
|
||||
;FOLD PTP $POS_ACT Tool[0] Base[0]
|
||||
BAS(#INITMOV, 0)
|
||||
BAS(#BASE, 0)
|
||||
BAS(#TOOL, 0)
|
||||
PTP $POS_ACT
|
||||
;ENDFOLD
|
||||
$ov_pro=40
|
||||
|
||||
LOOP
|
||||
AutoRun()
|
||||
ENDLOOP
|
||||
END
|
||||
|
||||
DEF AutoRun()
|
||||
IF I_ProductType <> PdtTypeLast THEN
|
||||
MsgNotify("PdtType is Change", "SafeErr")
|
||||
Q_Error1=TRUE
|
||||
$FLAG[10]=TRUE
|
||||
HALT
|
||||
ENDIF
|
||||
PdtTypeLast=I_ProductType
|
||||
WAIT FOR (I_Cmd > 0) AND (I_CmdCount <> CmdCountLast) AND (Q_Cmd_Running==0)
|
||||
CmdSave = I_Cmd
|
||||
CmdCountLast = I_CmdCount
|
||||
Q_Cmd_Running=CmdSave
|
||||
OffsetX_Save=I_OffsetX
|
||||
OffsetY_Save=I_OffsetY
|
||||
CountX_Save=I_CountX
|
||||
CountY_Save=I_CountY
|
||||
|
||||
SWITCH CmdSave
|
||||
CASE 1
|
||||
FeedBelt1Pick()
|
||||
CASE 2
|
||||
FeedBelt2Pick()
|
||||
CASE 3
|
||||
ReFeedBeltPick()
|
||||
CASE 4
|
||||
WaterBeltPick()
|
||||
CASE 5
|
||||
NgBeltPlace()
|
||||
CASE 10
|
||||
Pallet1Place()
|
||||
CASE 11
|
||||
Pallet2Place()
|
||||
ENDSWITCH
|
||||
|
||||
END
|
||||
|
||||
|
||||
DEF StopSafty()
|
||||
INTERRUPT OFF 24
|
||||
BRAKE F
|
||||
PTP $POS_INT:{z 20}
|
||||
$FLAG[10]=TRUE
|
||||
INTERRUPT ON 24
|
||||
END
|
||||
19
KUKA/KRC/R1/Program/Mylib/CheckInPos.src
Normal file
19
KUKA/KRC/R1/Program/Mylib/CheckInPos.src
Normal file
@@ -0,0 +1,19 @@
|
||||
&ACCESS RVO
|
||||
DEFFCT BOOL CheckInPos (R_offset:IN,EndPos:IN )
|
||||
DECL REAL R_offset
|
||||
DECL BOOL b_Pok
|
||||
DECL E6POS ACT_Point
|
||||
DECL E6POS EndPos
|
||||
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
|
||||
|
||||
RETURN b_Pok
|
||||
ENDFCT
|
||||
12
KUKA/KRC/R1/Program/Mylib/INT_TO_STR.src
Normal file
12
KUKA/KRC/R1/Program/Mylib/INT_TO_STR.src
Normal file
@@ -0,0 +1,12 @@
|
||||
&ACCESS RVO
|
||||
DEFFCT CHAR[32] INT_TO_STR(iVal:IN)
|
||||
DECL INT iVal,I,offset
|
||||
DECL CHAR Ret[32]
|
||||
DECL STATE_T state
|
||||
offset=0
|
||||
FOR I=1 TO 32
|
||||
Ret[I]=0
|
||||
ENDFOR
|
||||
SWRITE(Ret[],state,offset,"%d",iVal)
|
||||
Return (Ret[])
|
||||
ENDFCT
|
||||
12
KUKA/KRC/R1/Program/Mylib/Initmove.src
Normal file
12
KUKA/KRC/R1/Program/Mylib/Initmove.src
Normal file
@@ -0,0 +1,12 @@
|
||||
&ACCESS RV
|
||||
DEF Initmove ( )
|
||||
CONTINUE
|
||||
IF ($T1 OR $T2) AND NOT $NEAR_POSRET THEN
|
||||
CONTINUE
|
||||
GLOBAL INTERRUPT DECL 3 WHEN $STOPMESS==TRUE DO IR_STOPM ( )
|
||||
INTERRUPT ON 3
|
||||
BAS (#INITMOV,0 )
|
||||
CONTINUE
|
||||
PTP $POS_ACT C_DIS
|
||||
ENDIF
|
||||
END
|
||||
64
KUKA/KRC/R1/Program/Mylib/OffsetByBase.src
Normal file
64
KUKA/KRC/R1/Program/Mylib/OffsetByBase.src
Normal file
@@ -0,0 +1,64 @@
|
||||
&ACCESS RV
|
||||
&REL 1
|
||||
DEFFCT E6POS OffsetByBase(Position:IN, rRelX:IN, rRelY:IN, rRelZ:IN, rRelA:IN, rRelB:IN, rRelC:IN)
|
||||
DECL E6POS Position, rPosition
|
||||
DECL REAL rRelX, rRelY, rRelZ, rRelA, rRelB, rRelC
|
||||
DECL FRAME FrameTrans, FrameRot, PosTrans, PosRot
|
||||
|
||||
IF VARSTATE("rRelX") <> #INITIALIZED THEN
|
||||
rRelX = 0
|
||||
ENDIF
|
||||
IF VARSTATE("rRelY") <> #INITIALIZED THEN
|
||||
rRelY = 0
|
||||
ENDIF
|
||||
IF VARSTATE("rRelZ") <> #INITIALIZED THEN
|
||||
rRelZ = 0
|
||||
ENDIF
|
||||
IF VARSTATE("rRelA") <> #INITIALIZED THEN
|
||||
rRelA = 0
|
||||
ENDIF
|
||||
IF VARSTATE("rRelB") <> #INITIALIZED THEN
|
||||
rRelB = 0
|
||||
ENDIF
|
||||
IF VARSTATE("rRelC") <> #INITIALIZED THEN
|
||||
rRelC = 0
|
||||
ENDIF
|
||||
|
||||
rPosition = Position
|
||||
|
||||
FrameTrans = $NULLFRAME
|
||||
FrameTrans.X = rRelX
|
||||
FrameTrans.Y = rRelY
|
||||
FrameTrans.Z = rRelZ
|
||||
|
||||
FrameRot = $NULLFRAME
|
||||
FrameRot.A = rRelA
|
||||
FrameRot.B = rRelB
|
||||
FrameRot.C = rRelC
|
||||
|
||||
PosTrans = $NULLFRAME
|
||||
PosTrans.X = rPosition.X
|
||||
PosTrans.y = rPosition.Y
|
||||
PosTrans.Z = rPosition.Z
|
||||
|
||||
PosRot = $NULLFRAME
|
||||
PosRot.A = rPosition.A
|
||||
PosRot.B = rPosition.B
|
||||
PosRot.C = rPosition.C
|
||||
|
||||
;Positionstransformation durchfuehren
|
||||
rPosition = FrameTrans:PosTrans:FrameRot:PosRot
|
||||
|
||||
;Status & Turn der Originalposition uebernehmen
|
||||
|
||||
;Werte der externen Achse der Orignalposition
|
||||
;uebernehmen
|
||||
rPosition.E1 = Position.E1
|
||||
rPosition.E2 = Position.E2
|
||||
rPosition.E3 = Position.E3
|
||||
rPosition.E4 = Position.E4
|
||||
rPosition.E5 = Position.E5
|
||||
rPosition.E6 = Position.E6
|
||||
|
||||
RETURN(rPosition)
|
||||
ENDFCT
|
||||
45
KUKA/KRC/R1/Program/Mylib/OffsetByTool.src
Normal file
45
KUKA/KRC/R1/Program/Mylib/OffsetByTool.src
Normal file
@@ -0,0 +1,45 @@
|
||||
&ACCESS RV
|
||||
&REL 1
|
||||
DEFFCT E6POS OffsetByTool(Position:IN, rRelX:IN, rRelY:IN, rRelZ:IN, rRelA:IN, rRelB:IN, rRelC:IN)
|
||||
DECL E6POS Position,rPosition
|
||||
DECL REAL rRelX, rRelY, rRelZ, rRelA, rRelB, rRelC
|
||||
DECL FRAME FrameTmp
|
||||
|
||||
IF VARSTATE("rRelX") <> #INITIALIZED THEN
|
||||
rRelX = 0
|
||||
ENDIF
|
||||
IF VARSTATE("rRelY") <> #INITIALIZED THEN
|
||||
rRelY = 0
|
||||
ENDIF
|
||||
IF VARSTATE("rRelZ") <> #INITIALIZED THEN
|
||||
rRelZ = 0
|
||||
ENDIF
|
||||
IF VARSTATE("rRelA") <> #INITIALIZED THEN
|
||||
rRelA = 0
|
||||
ENDIF
|
||||
IF VARSTATE("rRelB") <> #INITIALIZED THEN
|
||||
rRelB = 0
|
||||
ENDIF
|
||||
IF VARSTATE("rRelC") <> #INITIALIZED THEN
|
||||
rRelC = 0
|
||||
ENDIF
|
||||
|
||||
FrameTmp = $NULLFRAME
|
||||
FrameTmp.X = rRelX
|
||||
FrameTmp.Y = rRelY
|
||||
FrameTmp.Z = rRelZ
|
||||
FrameTmp.A = rRelA
|
||||
FrameTmp.B = rRelB
|
||||
FrameTmp.C = rRelC
|
||||
|
||||
rPosition = Position:FrameTmp
|
||||
|
||||
rPosition.E1 = Position.E1
|
||||
rPosition.E2 = Position.E2
|
||||
rPosition.E3 = Position.E3
|
||||
rPosition.E4 = Position.E4
|
||||
rPosition.E5 = Position.E5
|
||||
rPosition.E6 = Position.E6
|
||||
|
||||
RETURN(rPosition)
|
||||
ENDFCT
|
||||
19
KUKA/KRC/R1/Program/Mylib/REAL_TO_Output.src
Normal file
19
KUKA/KRC/R1/Program/Mylib/REAL_TO_Output.src
Normal file
@@ -0,0 +1,19 @@
|
||||
&ACCESS RV
|
||||
DEFFCT INT REAL_TO_Output (rVal:IN )
|
||||
DECL REAL rVal
|
||||
DECL INT Offset,Ret
|
||||
DECL INT INTS[4]
|
||||
DECL CHAR Bytes[4]
|
||||
Offset=0
|
||||
Ret=0
|
||||
CAST_TO(Bytes[],Offset,rVal)
|
||||
INTS[1] = Bytes[1]
|
||||
INTS[2] = Bytes[2]
|
||||
INTS[2] = INTS[2]*256
|
||||
INTS[3] = Bytes[3]
|
||||
INTS[3] = INTS[3]*65536
|
||||
INTS[4] = Bytes[4]
|
||||
INTS[4] = INTS[4]*16777216
|
||||
Ret=INTS[1]+INTS[2]+INTS[3]+INTS[4]
|
||||
RETURN Ret
|
||||
ENDFCT
|
||||
22
KUKA/KRC/R1/Program/Mylib/REAL_TO_STR.src
Normal file
22
KUKA/KRC/R1/Program/Mylib/REAL_TO_STR.src
Normal file
@@ -0,0 +1,22 @@
|
||||
&ACCESS RVO
|
||||
DEFFCT CHAR[32] REAL_TO_STR(iVal:IN)
|
||||
DECL REAL iVal
|
||||
DECL INT I,offset
|
||||
DECL CHAR Ret[32]
|
||||
DECL STATE_T state
|
||||
offset=0
|
||||
FOR I=1 TO 32
|
||||
Ret[I]=0
|
||||
ENDFOR
|
||||
SWRITE(Ret[],state,offset,"%.3f",iVal)
|
||||
Return (Ret[])
|
||||
ENDFCT
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
24
KUKA/KRC/R1/Program/PL/FeedBelt1Pick.dat
Normal file
24
KUKA/KRC/R1/Program/PL/FeedBelt1Pick.dat
Normal file
@@ -0,0 +1,24 @@
|
||||
&ACCESS RV
|
||||
DEFDAT FEEDBELT1PICK
|
||||
;FOLD EXTERNAL DECLARATIONS;%{PE}%MKUKATPBASIS,%CEXT,%VCOMMON,%P
|
||||
;FOLD BASISTECH EXT;%{PE}%MKUKATPBASIS,%CEXT,%VEXT,%P
|
||||
EXT BAS (BAS_COMMAND :IN,REAL :IN )
|
||||
DECL INT SUCCESS
|
||||
;ENDFOLD (BASISTECH EXT)
|
||||
;FOLD USER EXT;%{E}%MKUKATPUSER,%CEXT,%VEXT,%P
|
||||
;Make your modifications here
|
||||
|
||||
;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=PickH; Kuka.FrameData.base_no=0; 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=CPDAT2; 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 0,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={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 0,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 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}
|
||||
|
||||
ENDDAT
|
||||
44
KUKA/KRC/R1/Program/PL/FeedBelt1Pick.src
Normal file
44
KUKA/KRC/R1/Program/PL/FeedBelt1Pick.src
Normal file
@@ -0,0 +1,44 @@
|
||||
&ACCESS RV
|
||||
DEF FeedBelt1Pick ( )
|
||||
;FOLD INI;%{PE}
|
||||
;FOLD BASISTECH INI
|
||||
GLOBAL INTERRUPT DECL 3 WHEN $STOPMESS==TRUE DO IR_STOPM ( )
|
||||
INTERRUPT ON 3
|
||||
BAS (#INITMOV,0 )
|
||||
;ENDFOLD (BASISTECH INI)
|
||||
;FOLD USER INI
|
||||
;Make your modifications here
|
||||
|
||||
;ENDFOLD (USER INI)
|
||||
;ENDFOLD (INI)
|
||||
|
||||
WAIT FOR $IN_HOME OR $IN_HOME1 OR $IN_HOME2 OR CheckInPos(20.0, END_POS)
|
||||
XPickH=XPick
|
||||
XPickH.Z=XPick.Z+500
|
||||
;FOLD SPTP PickH CONT Vel=100 % PDAT1 Tool[1] Base[0] ;%{PE}
|
||||
;FOLD Parameters ;%{h}
|
||||
;Params IlfProvider=kukaroboter.basistech.inlineforms.movement.spline; Kuka.IsGlobalPoint=False; Kuka.PointName=PickH; Kuka.BlendingEnabled=True; Kuka.MoveDataPtpName=PDAT1; Kuka.VelocityPtp=100; Kuka.VelocityFieldEnabled=True; Kuka.ColDetectFieldEnabled=True; Kuka.CurrentCDSetIndex=0; Kuka.MovementParameterFieldEnabled=True; IlfCommand=SPTP
|
||||
;ENDFOLD
|
||||
SPTP XPickH WITH $VEL_AXIS[1] = SVEL_JOINT(100.0), $TOOL = STOOL2(FPickH), $BASE = SBASE(FPickH.BASE_NO), $IPO_MODE = SIPO_MODE(FPickH.IPO_FRAME), $LOAD = SLOAD(FPickH.TOOL_NO), $ACC_AXIS[1] = SACC_JOINT(PPDAT1), $APO = SAPO_PTP(PPDAT1), $GEAR_JERK[1] = SGEAR_JERK(PPDAT1), $COLLMON_TOL_PRO[1] = USE_CM_PRO_VALUES(0) C_Spl
|
||||
;ENDFOLD
|
||||
CONTINUE
|
||||
WAIT FOR I_GripOpen AND I_Signal1 AND I_AreaReady1 AND I_AreaReady4 AND NOT I_GripExist AND I_GripSafty1 AND I_GripSafty2
|
||||
CONTINUE
|
||||
Q_AreaEnter1=TRUE
|
||||
;FOLD SLIN Pick Vel=2 m/s CPDAT1 Tool[1] Base[0] ;%{PE}
|
||||
;FOLD Parameters ;%{h}
|
||||
;Params IlfProvider=kukaroboter.basistech.inlineforms.movement.spline; Kuka.IsGlobalPoint=False; Kuka.PointName=Pick; Kuka.BlendingEnabled=False; Kuka.MoveDataName=CPDAT1; Kuka.VelocityPath=2; Kuka.VelocityFieldEnabled=True; Kuka.ColDetectFieldEnabled=True; Kuka.CurrentCDSetIndex=0; Kuka.MovementParameterFieldEnabled=True; IlfCommand=SLIN
|
||||
;ENDFOLD
|
||||
SLIN XPick WITH $VEL = SVEL_CP(2.0, , LCPDAT1), $TOOL = STOOL2(FPick), $BASE = SBASE(FPick.BASE_NO), $IPO_MODE = SIPO_MODE(FPick.IPO_FRAME), $LOAD = SLOAD(FPick.TOOL_NO), $ACC = SACC_CP(LCPDAT1), $ORI_TYPE = SORI_TYP(LCPDAT1), $APO = SAPO(LCPDAT1), $JERK = SJERK(LCPDAT1), $COLLMON_TOL_PRO[1] = USE_CM_PRO_VALUES(0)
|
||||
;ENDFOLD
|
||||
GripClose()
|
||||
;FOLD SLIN PickH Vel=2 m/s CPDAT2 Tool[1] Base[0] ;%{PE}
|
||||
;FOLD Parameters ;%{h}
|
||||
;Params IlfProvider=kukaroboter.basistech.inlineforms.movement.spline; Kuka.IsGlobalPoint=False; Kuka.PointName=PickH; Kuka.BlendingEnabled=False; Kuka.MoveDataName=CPDAT2; Kuka.VelocityPath=2; Kuka.VelocityFieldEnabled=True; Kuka.ColDetectFieldEnabled=True; Kuka.CurrentCDSetIndex=0; Kuka.MovementParameterFieldEnabled=True; IlfCommand=SLIN
|
||||
;ENDFOLD
|
||||
SLIN XPickH WITH $VEL = SVEL_CP(2.0, , LCPDAT2), $TOOL = STOOL2(FPickH), $BASE = SBASE(FPickH.BASE_NO), $IPO_MODE = SIPO_MODE(FPickH.IPO_FRAME), $LOAD = SLOAD(FPickH.TOOL_NO), $ACC = SACC_CP(LCPDAT2), $ORI_TYPE = SORI_TYP(LCPDAT2), $APO = SAPO(LCPDAT2), $JERK = SJERK(LCPDAT2), $COLLMON_TOL_PRO[1] = USE_CM_PRO_VALUES(0)
|
||||
;ENDFOLD
|
||||
Q_AreaEnter1=FALSE
|
||||
ActionReturn(1)
|
||||
|
||||
END
|
||||
22
KUKA/KRC/R1/Program/PL/FeedBelt2Pick.dat
Normal file
22
KUKA/KRC/R1/Program/PL/FeedBelt2Pick.dat
Normal file
@@ -0,0 +1,22 @@
|
||||
&ACCESS RV
|
||||
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 )
|
||||
DECL INT SUCCESS
|
||||
;ENDFOLD (BASISTECH EXT)
|
||||
;FOLD USER EXT;%{E}%MKUKATPUSER,%CEXT,%VEXT,%P
|
||||
;Make your modifications here
|
||||
|
||||
;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 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 0,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=PickH; Kuka.FrameData.base_no=0; 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=CPDAT2; 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 0,TOOL_NO 1,IPO_FRAME #BASE,POINT2[] " "}
|
||||
ENDDAT
|
||||
45
KUKA/KRC/R1/Program/PL/FeedBelt2Pick.src
Normal file
45
KUKA/KRC/R1/Program/PL/FeedBelt2Pick.src
Normal file
@@ -0,0 +1,45 @@
|
||||
&ACCESS RV
|
||||
DEF FeedBelt2Pick ( )
|
||||
;FOLD INI;%{PE}
|
||||
;FOLD BASISTECH INI
|
||||
GLOBAL INTERRUPT DECL 3 WHEN $STOPMESS==TRUE DO IR_STOPM ( )
|
||||
INTERRUPT ON 3
|
||||
BAS (#INITMOV,0 )
|
||||
;ENDFOLD (BASISTECH INI)
|
||||
;FOLD USER INI
|
||||
;Make your modifications here
|
||||
|
||||
;ENDFOLD (USER INI)
|
||||
;ENDFOLD (INI)
|
||||
|
||||
WAIT FOR $IN_HOME OR $IN_HOME1 OR $IN_HOME2 OR CheckInPos(20.0, END_POS)
|
||||
XPickH=XPick
|
||||
XPickH.Z=XPick.Z+500
|
||||
;FOLD SPTP PickH CONT Vel=100 % PDAT1 Tool[1]:Tool1 Base[0] ;%{PE}
|
||||
;FOLD Parameters ;%{h}
|
||||
;Params IlfProvider=kukaroboter.basistech.inlineforms.movement.spline; Kuka.IsGlobalPoint=False; Kuka.PointName=PickH; Kuka.BlendingEnabled=True; Kuka.MoveDataPtpName=PDAT1; Kuka.VelocityPtp=100; Kuka.VelocityFieldEnabled=True; Kuka.ColDetectFieldEnabled=True; Kuka.CurrentCDSetIndex=0; Kuka.MovementParameterFieldEnabled=True; IlfCommand=SPTP
|
||||
;ENDFOLD
|
||||
SPTP XPickH WITH $VEL_AXIS[1] = SVEL_JOINT(100.0), $TOOL = STOOL2(FPickH), $BASE = SBASE(FPickH.BASE_NO), $IPO_MODE = SIPO_MODE(FPickH.IPO_FRAME), $LOAD = SLOAD(FPickH.TOOL_NO), $ACC_AXIS[1] = SACC_JOINT(PPDAT1), $APO = SAPO_PTP(PPDAT1), $GEAR_JERK[1] = SGEAR_JERK(PPDAT1), $COLLMON_TOL_PRO[1] = USE_CM_PRO_VALUES(0) C_Spl
|
||||
;ENDFOLD
|
||||
CONTINUE
|
||||
WAIT FOR I_GripOpen AND I_Signal2 AND I_AreaReady1 AND I_AreaReady4 AND NOT I_GripExist AND I_GripSafty1 AND I_GripSafty2
|
||||
CONTINUE
|
||||
Q_AreaEnter1=TRUE
|
||||
;FOLD SLIN Pick Vel=2 m/s CPDAT1 Tool[1]:Tool1 Base[0] ;%{PE}
|
||||
;FOLD Parameters ;%{h}
|
||||
;Params IlfProvider=kukaroboter.basistech.inlineforms.movement.spline; Kuka.IsGlobalPoint=False; Kuka.PointName=Pick; Kuka.BlendingEnabled=False; Kuka.MoveDataName=CPDAT1; Kuka.VelocityPath=2; Kuka.VelocityFieldEnabled=True; Kuka.ColDetectFieldEnabled=True; Kuka.CurrentCDSetIndex=0; Kuka.MovementParameterFieldEnabled=True; IlfCommand=SLIN
|
||||
;ENDFOLD
|
||||
SLIN XPick WITH $VEL = SVEL_CP(2.0, , LCPDAT1), $TOOL = STOOL2(FPick), $BASE = SBASE(FPick.BASE_NO), $IPO_MODE = SIPO_MODE(FPick.IPO_FRAME), $LOAD = SLOAD(FPick.TOOL_NO), $ACC = SACC_CP(LCPDAT1), $ORI_TYPE = SORI_TYP(LCPDAT1), $APO = SAPO(LCPDAT1), $JERK = SJERK(LCPDAT1), $COLLMON_TOL_PRO[1] = USE_CM_PRO_VALUES(0)
|
||||
;ENDFOLD
|
||||
GripClose()
|
||||
;FOLD SLIN PickH Vel=2 m/s CPDAT2 Tool[1]:Tool1 Base[0] ;%{PE}
|
||||
;FOLD Parameters ;%{h}
|
||||
;Params IlfProvider=kukaroboter.basistech.inlineforms.movement.spline; Kuka.IsGlobalPoint=False; Kuka.PointName=PickH; Kuka.BlendingEnabled=False; Kuka.MoveDataName=CPDAT2; Kuka.VelocityPath=2; Kuka.VelocityFieldEnabled=True; Kuka.ColDetectFieldEnabled=True; Kuka.CurrentCDSetIndex=0; Kuka.MovementParameterFieldEnabled=True; IlfCommand=SLIN
|
||||
;ENDFOLD
|
||||
SLIN XPickH WITH $VEL = SVEL_CP(2.0, , LCPDAT2), $TOOL = STOOL2(FPickH), $BASE = SBASE(FPickH.BASE_NO), $IPO_MODE = SIPO_MODE(FPickH.IPO_FRAME), $LOAD = SLOAD(FPickH.TOOL_NO), $ACC = SACC_CP(LCPDAT2), $ORI_TYPE = SORI_TYP(LCPDAT2), $APO = SAPO(LCPDAT2), $JERK = SJERK(LCPDAT2), $COLLMON_TOL_PRO[1] = USE_CM_PRO_VALUES(0)
|
||||
;ENDFOLD
|
||||
Q_AreaEnter1=FALSE
|
||||
ActionReturn(1)
|
||||
|
||||
|
||||
END
|
||||
23
KUKA/KRC/R1/Program/PL/NgBeltPlace.dat
Normal file
23
KUKA/KRC/R1/Program/PL/NgBeltPlace.dat
Normal file
@@ -0,0 +1,23 @@
|
||||
&ACCESS RV
|
||||
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 )
|
||||
DECL INT SUCCESS
|
||||
;ENDFOLD (BASISTECH EXT)
|
||||
;FOLD USER EXT;%{E}%MKUKATPUSER,%CEXT,%VEXT,%P
|
||||
;Make your modifications here
|
||||
|
||||
;ENDFOLD (USER EXT)
|
||||
;ENDFOLD (EXTERNAL DECLARATIONS)
|
||||
DECL MODULEPARAM_T LAST_TP_PARAMS = {PARAMS[] "Kuka.VelocityFieldEnabled=True; Kuka.ColDetectFieldEnabled=True; Kuka.MovementParameterFieldEnabled=True; Kuka.IsAngleEnabled=False; Kuka.PointName=PlaceH; Kuka.FrameData.base_no=0; 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=2; Kuka.MovementData.acc=100; Kuka.MovementData.exax_ign=0; Kuka.VelocityPtp=100; Kuka.BlendingEnabled=True; Kuka.APXEnabled=False; Kuka.CurrentCDSetIndex=0; Kuka.MoveDataName=CPDAT2; 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 0,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={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 0,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={VEL 100.000,ACC 100.000,APO_DIST 500.000,APO_MODE #CDIS,GEAR_JERK 100.000,EXAX_IGN 0}
|
||||
DECL FDAT FHOME1 = {BASE_NO 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}
|
||||
ENDDAT
|
||||
52
KUKA/KRC/R1/Program/PL/NgBeltPlace.src
Normal file
52
KUKA/KRC/R1/Program/PL/NgBeltPlace.src
Normal file
@@ -0,0 +1,52 @@
|
||||
&ACCESS RV
|
||||
DEF NgBeltPlace ( )
|
||||
;FOLD INI;%{PE}
|
||||
;FOLD BASISTECH INI
|
||||
GLOBAL INTERRUPT DECL 3 WHEN $STOPMESS==TRUE DO IR_STOPM ( )
|
||||
INTERRUPT ON 3
|
||||
BAS (#INITMOV,0 )
|
||||
;ENDFOLD (BASISTECH INI)
|
||||
;FOLD USER INI
|
||||
;Make your modifications here
|
||||
|
||||
;ENDFOLD (USER INI)
|
||||
;ENDFOLD (INI)
|
||||
|
||||
WAIT FOR $IN_HOME OR $IN_HOME1 OR $IN_HOME2 OR CheckInPos(20.0, END_POS)
|
||||
XPlaceH=XPlace
|
||||
XPlaceH.Z=XPlace.Z+500
|
||||
;FOLD SPTP PlaceH CONT Vel=100 % PDAT1 Tool[1]:Tool1 Base[0] ;%{PE}
|
||||
;FOLD Parameters ;%{h}
|
||||
;Params IlfProvider=kukaroboter.basistech.inlineforms.movement.spline; Kuka.IsGlobalPoint=False; Kuka.PointName=PlaceH; Kuka.BlendingEnabled=True; Kuka.MoveDataPtpName=PDAT1; Kuka.VelocityPtp=100; Kuka.VelocityFieldEnabled=True; Kuka.ColDetectFieldEnabled=True; Kuka.CurrentCDSetIndex=0; Kuka.MovementParameterFieldEnabled=True; IlfCommand=SPTP
|
||||
;ENDFOLD
|
||||
SPTP XPlaceH WITH $VEL_AXIS[1] = SVEL_JOINT(100.0), $TOOL = STOOL2(FPlaceH), $BASE = SBASE(FPlaceH.BASE_NO), $IPO_MODE = SIPO_MODE(FPlaceH.IPO_FRAME), $LOAD = SLOAD(FPlaceH.TOOL_NO), $ACC_AXIS[1] = SACC_JOINT(PPDAT1), $APO = SAPO_PTP(PPDAT1), $GEAR_JERK[1] = SGEAR_JERK(PPDAT1), $COLLMON_TOL_PRO[1] = USE_CM_PRO_VALUES(0) C_Spl
|
||||
;ENDFOLD
|
||||
CONTINUE
|
||||
WAIT FOR I_AreaReady4 AND NOT I_Signal5 AND NOT I_GripBelowExist AND I_GripSafty1 AND I_GripSafty2
|
||||
CONTINUE
|
||||
Q_AreaEnter2=TRUE
|
||||
;FOLD SLIN Place Vel=2 m/s CPDAT1 Tool[1]:Tool1 Base[0] ;%{PE}
|
||||
;FOLD Parameters ;%{h}
|
||||
;Params IlfProvider=kukaroboter.basistech.inlineforms.movement.spline; Kuka.IsGlobalPoint=False; Kuka.PointName=Place; Kuka.BlendingEnabled=False; Kuka.MoveDataName=CPDAT1; Kuka.VelocityPath=2; Kuka.VelocityFieldEnabled=True; Kuka.ColDetectFieldEnabled=True; Kuka.CurrentCDSetIndex=0; Kuka.MovementParameterFieldEnabled=True; IlfCommand=SLIN
|
||||
;ENDFOLD
|
||||
SLIN XPlace WITH $VEL = SVEL_CP(2.0, , LCPDAT1), $TOOL = STOOL2(FPlace), $BASE = SBASE(FPlace.BASE_NO), $IPO_MODE = SIPO_MODE(FPlace.IPO_FRAME), $LOAD = SLOAD(FPlace.TOOL_NO), $ACC = SACC_CP(LCPDAT1), $ORI_TYPE = SORI_TYP(LCPDAT1), $APO = SAPO(LCPDAT1), $JERK = SJERK(LCPDAT1), $COLLMON_TOL_PRO[1] = USE_CM_PRO_VALUES(0)
|
||||
;ENDFOLD
|
||||
GripOpen()
|
||||
;FOLD SLIN PlaceH CONT Vel=2 m/s CPDAT2 Tool[1]:Tool1 Base[0] ;%{PE}
|
||||
;FOLD Parameters ;%{h}
|
||||
;Params IlfProvider=kukaroboter.basistech.inlineforms.movement.spline; Kuka.IsGlobalPoint=False; Kuka.PointName=PlaceH; Kuka.BlendingEnabled=True; Kuka.MoveDataName=CPDAT2; Kuka.VelocityPath=2; Kuka.VelocityFieldEnabled=True; Kuka.ColDetectFieldEnabled=True; Kuka.CurrentCDSetIndex=0; Kuka.MovementParameterFieldEnabled=True; IlfCommand=SLIN
|
||||
;ENDFOLD
|
||||
SLIN XPlaceH WITH $VEL = SVEL_CP(2.0, , LCPDAT2), $TOOL = STOOL2(FPlaceH), $BASE = SBASE(FPlaceH.BASE_NO), $IPO_MODE = SIPO_MODE(FPlaceH.IPO_FRAME), $LOAD = SLOAD(FPlaceH.TOOL_NO), $ACC = SACC_CP(LCPDAT2), $ORI_TYPE = SORI_TYP(LCPDAT2), $APO = SAPO(LCPDAT2), $JERK = SJERK(LCPDAT2), $COLLMON_TOL_PRO[1] = USE_CM_PRO_VALUES(0) C_Spl
|
||||
;ENDFOLD
|
||||
CONTINUE
|
||||
Q_AreaEnter2=FALSE
|
||||
|
||||
;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
|
||||
26
KUKA/KRC/R1/Program/PL/Pallet1Place.dat
Normal file
26
KUKA/KRC/R1/Program/PL/Pallet1Place.dat
Normal file
@@ -0,0 +1,26 @@
|
||||
&ACCESS RV
|
||||
DEFDAT PALLET1PLACE
|
||||
;FOLD EXTERNAL DECLARATIONS;%{PE}%MKUKATPBASIS,%CEXT,%VCOMMON,%P
|
||||
;FOLD BASISTECH EXT;%{PE}%MKUKATPBASIS,%CEXT,%VEXT,%P
|
||||
EXT BAS (BAS_COMMAND :IN,REAL :IN )
|
||||
DECL INT SUCCESS
|
||||
;ENDFOLD (BASISTECH EXT)
|
||||
;FOLD USER EXT;%{E}%MKUKATPUSER,%CEXT,%VEXT,%P
|
||||
;Make your modifications here
|
||||
|
||||
;ENDFOLD (USER EXT)
|
||||
;ENDFOLD (EXTERNAL DECLARATIONS)
|
||||
|
||||
|
||||
|
||||
DECL MODULEPARAM_T LAST_TP_PARAMS = {PARAMS[] "Kuka.VelocityFieldEnabled=True; Kuka.ColDetectFieldEnabled=True; Kuka.MovementParameterFieldEnabled=True; Kuka.IsAngleEnabled=False; Kuka.PointName=PlaceH; Kuka.FrameData.base_no=0; 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.MoveDataName=CPDAT2; 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 0,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={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 0,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={VEL 100.000,ACC 100.000,APO_DIST 500.000,APO_MODE #CDIS,GEAR_JERK 100.000,EXAX_IGN 0}
|
||||
DECL FDAT FHOME1 = {BASE_NO 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}
|
||||
ENDDAT
|
||||
53
KUKA/KRC/R1/Program/PL/Pallet1Place.src
Normal file
53
KUKA/KRC/R1/Program/PL/Pallet1Place.src
Normal file
@@ -0,0 +1,53 @@
|
||||
&ACCESS RV
|
||||
DEF Pallet1Place ( )
|
||||
;FOLD INI;%{PE}
|
||||
;FOLD BASISTECH INI
|
||||
GLOBAL INTERRUPT DECL 3 WHEN $STOPMESS==TRUE DO IR_STOPM ( )
|
||||
INTERRUPT ON 3
|
||||
BAS (#INITMOV,0 )
|
||||
;ENDFOLD (BASISTECH INI)
|
||||
;FOLD USER INI
|
||||
;Make your modifications here
|
||||
|
||||
;ENDFOLD (USER INI)
|
||||
;ENDFOLD (INI)
|
||||
|
||||
WAIT FOR $IN_HOME OR $IN_HOME1 OR $IN_HOME2 OR CheckInPos(20.0, END_POS)
|
||||
XPlace=XPallet1PlaceB
|
||||
XPlace.X=XPallet1PlaceB.X - CountY_Save*OffsetY_Save
|
||||
XPlace.Y=XPallet1PlaceB.Y - CountX_Save*OffsetX_Save
|
||||
XPlaceH=XPlace
|
||||
XPlaceH.Z=XPlace.Z+500
|
||||
;FOLD SPTP PlaceH CONT Vel=100 % PDAT1 Tool[1] Base[0] ;%{PE}
|
||||
;FOLD Parameters ;%{h}
|
||||
;Params IlfProvider=kukaroboter.basistech.inlineforms.movement.spline; Kuka.IsGlobalPoint=False; Kuka.PointName=PlaceH; Kuka.BlendingEnabled=True; Kuka.MoveDataPtpName=PDAT1; Kuka.VelocityPtp=100; Kuka.VelocityFieldEnabled=True; Kuka.ColDetectFieldEnabled=True; Kuka.CurrentCDSetIndex=0; Kuka.MovementParameterFieldEnabled=True; IlfCommand=SPTP
|
||||
;ENDFOLD
|
||||
SPTP XPlaceH WITH $VEL_AXIS[1] = SVEL_JOINT(100.0), $TOOL = STOOL2(FPlaceH), $BASE = SBASE(FPlaceH.BASE_NO), $IPO_MODE = SIPO_MODE(FPlaceH.IPO_FRAME), $LOAD = SLOAD(FPlaceH.TOOL_NO), $ACC_AXIS[1] = SACC_JOINT(PPDAT1), $APO = SAPO_PTP(PPDAT1), $GEAR_JERK[1] = SGEAR_JERK(PPDAT1), $COLLMON_TOL_PRO[1] = USE_CM_PRO_VALUES(0) C_Spl
|
||||
;ENDFOLD
|
||||
CONTINUE
|
||||
WAIT FOR I_AreaReady2 AND NOT I_GripBelowExist AND I_GripSafty1 AND I_GripSafty2
|
||||
CONTINUE
|
||||
Q_AreaEnter2=TRUE
|
||||
;FOLD SLIN Place Vel=2 m/s CPDAT1 Tool[1] Base[0] ;%{PE}
|
||||
;FOLD Parameters ;%{h}
|
||||
;Params IlfProvider=kukaroboter.basistech.inlineforms.movement.spline; Kuka.IsGlobalPoint=False; Kuka.PointName=Place; Kuka.BlendingEnabled=False; Kuka.MoveDataName=CPDAT1; Kuka.VelocityPath=2; Kuka.VelocityFieldEnabled=True; Kuka.ColDetectFieldEnabled=True; Kuka.CurrentCDSetIndex=0; Kuka.MovementParameterFieldEnabled=True; IlfCommand=SLIN
|
||||
;ENDFOLD
|
||||
SLIN XPlace WITH $VEL = SVEL_CP(2.0, , LCPDAT1), $TOOL = STOOL2(FPlace), $BASE = SBASE(FPlace.BASE_NO), $IPO_MODE = SIPO_MODE(FPlace.IPO_FRAME), $LOAD = SLOAD(FPlace.TOOL_NO), $ACC = SACC_CP(LCPDAT1), $ORI_TYPE = SORI_TYP(LCPDAT1), $APO = SAPO(LCPDAT1), $JERK = SJERK(LCPDAT1), $COLLMON_TOL_PRO[1] = USE_CM_PRO_VALUES(0)
|
||||
;ENDFOLD
|
||||
GripOpen()
|
||||
;FOLD SLIN PlaceH CONT Vel=2 m/s CPDAT2 Tool[1]:Tool1 Base[0] ;%{PE}
|
||||
;FOLD Parameters ;%{h}
|
||||
;Params IlfProvider=kukaroboter.basistech.inlineforms.movement.spline; Kuka.IsGlobalPoint=False; Kuka.PointName=PlaceH; Kuka.BlendingEnabled=True; Kuka.MoveDataName=CPDAT2; Kuka.VelocityPath=2; Kuka.VelocityFieldEnabled=True; Kuka.ColDetectFieldEnabled=True; Kuka.CurrentCDSetIndex=0; Kuka.MovementParameterFieldEnabled=True; IlfCommand=SLIN
|
||||
;ENDFOLD
|
||||
SLIN XPlaceH WITH $VEL = SVEL_CP(2.0, , LCPDAT2), $TOOL = STOOL2(FPlaceH), $BASE = SBASE(FPlaceH.BASE_NO), $IPO_MODE = SIPO_MODE(FPlaceH.IPO_FRAME), $LOAD = SLOAD(FPlaceH.TOOL_NO), $ACC = SACC_CP(LCPDAT2), $ORI_TYPE = SORI_TYP(LCPDAT2), $APO = SAPO(LCPDAT2), $JERK = SJERK(LCPDAT2), $COLLMON_TOL_PRO[1] = USE_CM_PRO_VALUES(0) C_Spl
|
||||
;ENDFOLD
|
||||
CONTINUE
|
||||
Q_AreaEnter2=FALSE
|
||||
;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
|
||||
23
KUKA/KRC/R1/Program/PL/Pallet2Place.dat
Normal file
23
KUKA/KRC/R1/Program/PL/Pallet2Place.dat
Normal file
@@ -0,0 +1,23 @@
|
||||
&ACCESS RV
|
||||
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 )
|
||||
DECL INT SUCCESS
|
||||
;ENDFOLD (BASISTECH EXT)
|
||||
;FOLD USER EXT;%{E}%MKUKATPUSER,%CEXT,%VEXT,%P
|
||||
;Make your modifications here
|
||||
|
||||
;ENDFOLD (USER EXT)
|
||||
;ENDFOLD (EXTERNAL DECLARATIONS)
|
||||
DECL MODULEPARAM_T LAST_TP_PARAMS = {PARAMS[] "Kuka.VelocityFieldEnabled=True; Kuka.ColDetectFieldEnabled=True; Kuka.MovementParameterFieldEnabled=True; Kuka.IsAngleEnabled=False; Kuka.PointName=PlaceH; Kuka.FrameData.base_no=0; 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.MoveDataName=CPDAT2; 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 0,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={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 0,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={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 = {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}
|
||||
ENDDAT
|
||||
53
KUKA/KRC/R1/Program/PL/Pallet2Place.src
Normal file
53
KUKA/KRC/R1/Program/PL/Pallet2Place.src
Normal file
@@ -0,0 +1,53 @@
|
||||
&ACCESS RV
|
||||
DEF Pallet2Place ( )
|
||||
;FOLD INI;%{PE}
|
||||
;FOLD BASISTECH INI
|
||||
GLOBAL INTERRUPT DECL 3 WHEN $STOPMESS==TRUE DO IR_STOPM ( )
|
||||
INTERRUPT ON 3
|
||||
BAS (#INITMOV,0 )
|
||||
;ENDFOLD (BASISTECH INI)
|
||||
;FOLD USER INI
|
||||
;Make your modifications here
|
||||
|
||||
;ENDFOLD (USER INI)
|
||||
;ENDFOLD (INI)
|
||||
WAIT FOR $IN_HOME OR $IN_HOME1 OR $IN_HOME2 OR CheckInPos(20.0, END_POS)
|
||||
XPlace=XPallet1PlaceB
|
||||
XPlace.X=XPallet1PlaceB.X - CountY_Save*OffsetY_Save
|
||||
XPlace.Y=XPallet1PlaceB.Y - CountX_Save*OffsetX_Save
|
||||
XPlaceH=XPlace
|
||||
XPlaceH.Z=XPlace.Z+500
|
||||
;FOLD SPTP PlaceH CONT Vel=100 % PDAT1 Tool[1]:Tool1 Base[0] ;%{PE}
|
||||
;FOLD Parameters ;%{h}
|
||||
;Params IlfProvider=kukaroboter.basistech.inlineforms.movement.spline; Kuka.IsGlobalPoint=False; Kuka.PointName=PlaceH; Kuka.BlendingEnabled=True; Kuka.MoveDataPtpName=PDAT1; Kuka.VelocityPtp=100; Kuka.VelocityFieldEnabled=True; Kuka.ColDetectFieldEnabled=True; Kuka.CurrentCDSetIndex=0; Kuka.MovementParameterFieldEnabled=True; IlfCommand=SPTP
|
||||
;ENDFOLD
|
||||
SPTP XPlaceH WITH $VEL_AXIS[1] = SVEL_JOINT(100.0), $TOOL = STOOL2(FPlaceH), $BASE = SBASE(FPlaceH.BASE_NO), $IPO_MODE = SIPO_MODE(FPlaceH.IPO_FRAME), $LOAD = SLOAD(FPlaceH.TOOL_NO), $ACC_AXIS[1] = SACC_JOINT(PPDAT1), $APO = SAPO_PTP(PPDAT1), $GEAR_JERK[1] = SGEAR_JERK(PPDAT1), $COLLMON_TOL_PRO[1] = USE_CM_PRO_VALUES(0) C_Spl
|
||||
;ENDFOLD
|
||||
CONTINUE
|
||||
WAIT FOR I_AreaReady2 AND NOT I_GripBelowExist AND I_GripSafty1 AND I_GripSafty2
|
||||
CONTINUE
|
||||
Q_AreaEnter2=TRUE
|
||||
;FOLD SLIN Place Vel=2 m/s CPDAT1 Tool[1]:Tool1 Base[0] ;%{PE}
|
||||
;FOLD Parameters ;%{h}
|
||||
;Params IlfProvider=kukaroboter.basistech.inlineforms.movement.spline; Kuka.IsGlobalPoint=False; Kuka.PointName=Place; Kuka.BlendingEnabled=False; Kuka.MoveDataName=CPDAT1; Kuka.VelocityPath=2; Kuka.VelocityFieldEnabled=True; Kuka.ColDetectFieldEnabled=True; Kuka.CurrentCDSetIndex=0; Kuka.MovementParameterFieldEnabled=True; IlfCommand=SLIN
|
||||
;ENDFOLD
|
||||
SLIN XPlace WITH $VEL = SVEL_CP(2.0, , LCPDAT1), $TOOL = STOOL2(FPlace), $BASE = SBASE(FPlace.BASE_NO), $IPO_MODE = SIPO_MODE(FPlace.IPO_FRAME), $LOAD = SLOAD(FPlace.TOOL_NO), $ACC = SACC_CP(LCPDAT1), $ORI_TYPE = SORI_TYP(LCPDAT1), $APO = SAPO(LCPDAT1), $JERK = SJERK(LCPDAT1), $COLLMON_TOL_PRO[1] = USE_CM_PRO_VALUES(0)
|
||||
;ENDFOLD
|
||||
GripOpen()
|
||||
;FOLD SLIN PlaceH Vel=2 m/s CPDAT2 Tool[1]:Tool1 Base[0] ;%{PE}
|
||||
;FOLD Parameters ;%{h}
|
||||
;Params IlfProvider=kukaroboter.basistech.inlineforms.movement.spline; Kuka.IsGlobalPoint=False; Kuka.PointName=PlaceH; Kuka.BlendingEnabled=False; Kuka.MoveDataName=CPDAT2; Kuka.VelocityPath=2; Kuka.VelocityFieldEnabled=True; Kuka.ColDetectFieldEnabled=True; Kuka.CurrentCDSetIndex=0; Kuka.MovementParameterFieldEnabled=True; IlfCommand=SLIN
|
||||
;ENDFOLD
|
||||
SLIN XPlaceH WITH $VEL = SVEL_CP(2.0, , LCPDAT2), $TOOL = STOOL2(FPlaceH), $BASE = SBASE(FPlaceH.BASE_NO), $IPO_MODE = SIPO_MODE(FPlaceH.IPO_FRAME), $LOAD = SLOAD(FPlaceH.TOOL_NO), $ACC = SACC_CP(LCPDAT2), $ORI_TYPE = SORI_TYP(LCPDAT2), $APO = SAPO(LCPDAT2), $JERK = SJERK(LCPDAT2), $COLLMON_TOL_PRO[1] = USE_CM_PRO_VALUES(0)
|
||||
;ENDFOLD
|
||||
CONTINUE
|
||||
Q_AreaEnter2=FALSE
|
||||
;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
|
||||
21
KUKA/KRC/R1/Program/PL/PosBase.dat
Normal file
21
KUKA/KRC/R1/Program/PL/PosBase.dat
Normal file
@@ -0,0 +1,21 @@
|
||||
&ACCESS RV
|
||||
&REL 7
|
||||
&PARAM DISKPATH = KRC:\R1\Program\TP
|
||||
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 XFeedBelt1Pick={X 1797.49475,Y 1360.66516,Z 667.609802,A -165.399490,B -1.87913013,C 179.432770,S 2,T 43,E1 0.0,E2 0.0,E3 0.0,E4 0.0,E5 0.0,E6 0.0}
|
||||
DECL GLOBAL E6POS XFeedBelt2Pick={X 1797.49353,Y 1360.66553,Z 667.598755,A -165.400482,B -1.87961507,C 179.432861,S 2,T 43,E1 0.0,E2 0.0,E3 0.0,E4 0.0,E5 0.0,E6 0.0}
|
||||
DECL GLOBAL E6POS XNgBeltPlace={X 1797.49353,Y 1360.66553,Z 667.598755,A -165.400482,B -1.87961507,C 179.432861,S 2,T 43,E1 0.0,E2 0.0,E3 0.0,E4 0.0,E5 0.0,E6 0.0}
|
||||
DECL GLOBAL E6POS XWaterBeltPick={X 1797.49353,Y 1360.66553,Z 667.598755,A -165.400482,B -1.87961507,C 179.432861,S 2,T 43,E1 0.0,E2 0.0,E3 0.0,E4 0.0,E5 0.0,E6 0.0}
|
||||
DECL GLOBAL E6POS XReFeedBeltPick={X 1797.49353,Y 1360.66553,Z 667.598755,A -165.400482,B -1.87961507,C 179.432861,S 2,T 43,E1 0.0,E2 0.0,E3 0.0,E4 0.0,E5 0.0,E6 0.0}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
ENDDAT
|
||||
23
KUKA/KRC/R1/Program/PL/ReFeedBeltPick.dat
Normal file
23
KUKA/KRC/R1/Program/PL/ReFeedBeltPick.dat
Normal file
@@ -0,0 +1,23 @@
|
||||
&ACCESS RV
|
||||
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 )
|
||||
DECL INT SUCCESS
|
||||
;ENDFOLD (BASISTECH EXT)
|
||||
;FOLD USER EXT;%{E}%MKUKATPUSER,%CEXT,%VEXT,%P
|
||||
;Make your modifications here
|
||||
|
||||
;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=PickH; Kuka.FrameData.base_no=0; 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=CPDAT2; 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 0,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={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 0,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 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}
|
||||
|
||||
ENDDAT
|
||||
44
KUKA/KRC/R1/Program/PL/ReFeedBeltPick.src
Normal file
44
KUKA/KRC/R1/Program/PL/ReFeedBeltPick.src
Normal file
@@ -0,0 +1,44 @@
|
||||
&ACCESS RV
|
||||
DEF ReFeedBeltPick ( )
|
||||
;FOLD INI;%{PE}
|
||||
;FOLD BASISTECH INI
|
||||
GLOBAL INTERRUPT DECL 3 WHEN $STOPMESS==TRUE DO IR_STOPM ( )
|
||||
INTERRUPT ON 3
|
||||
BAS (#INITMOV,0 )
|
||||
;ENDFOLD (BASISTECH INI)
|
||||
;FOLD USER INI
|
||||
;Make your modifications here
|
||||
|
||||
;ENDFOLD (USER INI)
|
||||
;ENDFOLD (INI)
|
||||
|
||||
WAIT FOR $IN_HOME OR $IN_HOME1 OR $IN_HOME2 OR CheckInPos(20.0, END_POS)
|
||||
XPickH=XPick
|
||||
XPickH.Z=XPick.Z+500
|
||||
;FOLD SPTP PickH CONT Vel=100 % PDAT1 Tool[1]:Tool1 Base[0] ;%{PE}
|
||||
;FOLD Parameters ;%{h}
|
||||
;Params IlfProvider=kukaroboter.basistech.inlineforms.movement.spline; Kuka.IsGlobalPoint=False; Kuka.PointName=PickH; Kuka.BlendingEnabled=True; Kuka.MoveDataPtpName=PDAT1; Kuka.VelocityPtp=100; Kuka.VelocityFieldEnabled=True; Kuka.ColDetectFieldEnabled=True; Kuka.CurrentCDSetIndex=0; Kuka.MovementParameterFieldEnabled=True; IlfCommand=SPTP
|
||||
;ENDFOLD
|
||||
SPTP XPickH WITH $VEL_AXIS[1] = SVEL_JOINT(100.0), $TOOL = STOOL2(FPickH), $BASE = SBASE(FPickH.BASE_NO), $IPO_MODE = SIPO_MODE(FPickH.IPO_FRAME), $LOAD = SLOAD(FPickH.TOOL_NO), $ACC_AXIS[1] = SACC_JOINT(PPDAT1), $APO = SAPO_PTP(PPDAT1), $GEAR_JERK[1] = SGEAR_JERK(PPDAT1), $COLLMON_TOL_PRO[1] = USE_CM_PRO_VALUES(0) C_Spl
|
||||
;ENDFOLD
|
||||
CONTINUE
|
||||
WAIT FOR I_GripOpen AND I_Signal1 AND I_AreaReady1 AND I_AreaReady4 AND NOT I_GripExist AND I_GripSafty1 AND I_GripSafty2
|
||||
CONTINUE
|
||||
Q_AreaEnter1=TRUE
|
||||
;FOLD SLIN Pick Vel=2 m/s CPDAT1 Tool[1]:Tool1 Base[0] ;%{PE}
|
||||
;FOLD Parameters ;%{h}
|
||||
;Params IlfProvider=kukaroboter.basistech.inlineforms.movement.spline; Kuka.IsGlobalPoint=False; Kuka.PointName=Pick; Kuka.BlendingEnabled=False; Kuka.MoveDataName=CPDAT1; Kuka.VelocityPath=2; Kuka.VelocityFieldEnabled=True; Kuka.ColDetectFieldEnabled=True; Kuka.CurrentCDSetIndex=0; Kuka.MovementParameterFieldEnabled=True; IlfCommand=SLIN
|
||||
;ENDFOLD
|
||||
SLIN XPick WITH $VEL = SVEL_CP(2.0, , LCPDAT1), $TOOL = STOOL2(FPick), $BASE = SBASE(FPick.BASE_NO), $IPO_MODE = SIPO_MODE(FPick.IPO_FRAME), $LOAD = SLOAD(FPick.TOOL_NO), $ACC = SACC_CP(LCPDAT1), $ORI_TYPE = SORI_TYP(LCPDAT1), $APO = SAPO(LCPDAT1), $JERK = SJERK(LCPDAT1), $COLLMON_TOL_PRO[1] = USE_CM_PRO_VALUES(0)
|
||||
;ENDFOLD
|
||||
GripClose()
|
||||
;FOLD SLIN PickH Vel=2 m/s CPDAT2 Tool[1]:Tool1 Base[0] ;%{PE}
|
||||
;FOLD Parameters ;%{h}
|
||||
;Params IlfProvider=kukaroboter.basistech.inlineforms.movement.spline; Kuka.IsGlobalPoint=False; Kuka.PointName=PickH; Kuka.BlendingEnabled=False; Kuka.MoveDataName=CPDAT2; Kuka.VelocityPath=2; Kuka.VelocityFieldEnabled=True; Kuka.ColDetectFieldEnabled=True; Kuka.CurrentCDSetIndex=0; Kuka.MovementParameterFieldEnabled=True; IlfCommand=SLIN
|
||||
;ENDFOLD
|
||||
SLIN XPickH WITH $VEL = SVEL_CP(2.0, , LCPDAT2), $TOOL = STOOL2(FPickH), $BASE = SBASE(FPickH.BASE_NO), $IPO_MODE = SIPO_MODE(FPickH.IPO_FRAME), $LOAD = SLOAD(FPickH.TOOL_NO), $ACC = SACC_CP(LCPDAT2), $ORI_TYPE = SORI_TYP(LCPDAT2), $APO = SAPO(LCPDAT2), $JERK = SJERK(LCPDAT2), $COLLMON_TOL_PRO[1] = USE_CM_PRO_VALUES(0)
|
||||
;ENDFOLD
|
||||
Q_AreaEnter1=FALSE
|
||||
ActionReturn(1)
|
||||
|
||||
END
|
||||
23
KUKA/KRC/R1/Program/PL/WaterBeltPick.dat
Normal file
23
KUKA/KRC/R1/Program/PL/WaterBeltPick.dat
Normal file
@@ -0,0 +1,23 @@
|
||||
&ACCESS RV
|
||||
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 )
|
||||
DECL INT SUCCESS
|
||||
;ENDFOLD (BASISTECH EXT)
|
||||
;FOLD USER EXT;%{E}%MKUKATPUSER,%CEXT,%VEXT,%P
|
||||
;Make your modifications here
|
||||
|
||||
;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=PickH; Kuka.FrameData.base_no=0; 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=CPDAT2; 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 0,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={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 0,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 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}
|
||||
|
||||
ENDDAT
|
||||
44
KUKA/KRC/R1/Program/PL/WaterBeltPick.src
Normal file
44
KUKA/KRC/R1/Program/PL/WaterBeltPick.src
Normal file
@@ -0,0 +1,44 @@
|
||||
&ACCESS RV
|
||||
DEF WaterBeltPick ( )
|
||||
;FOLD INI;%{PE}
|
||||
;FOLD BASISTECH INI
|
||||
GLOBAL INTERRUPT DECL 3 WHEN $STOPMESS==TRUE DO IR_STOPM ( )
|
||||
INTERRUPT ON 3
|
||||
BAS (#INITMOV,0 )
|
||||
;ENDFOLD (BASISTECH INI)
|
||||
;FOLD USER INI
|
||||
;Make your modifications here
|
||||
|
||||
;ENDFOLD (USER INI)
|
||||
;ENDFOLD (INI)
|
||||
|
||||
WAIT FOR $IN_HOME OR $IN_HOME1 OR $IN_HOME2 OR CheckInPos(20.0, END_POS)
|
||||
XPickH=XPick
|
||||
XPickH.Z=XPick.Z+500
|
||||
;FOLD SPTP PickH CONT Vel=100 % PDAT1 Tool[1]:Tool1 Base[0] ;%{PE}
|
||||
;FOLD Parameters ;%{h}
|
||||
;Params IlfProvider=kukaroboter.basistech.inlineforms.movement.spline; Kuka.IsGlobalPoint=False; Kuka.PointName=PickH; Kuka.BlendingEnabled=True; Kuka.MoveDataPtpName=PDAT1; Kuka.VelocityPtp=100; Kuka.VelocityFieldEnabled=True; Kuka.ColDetectFieldEnabled=True; Kuka.CurrentCDSetIndex=0; Kuka.MovementParameterFieldEnabled=True; IlfCommand=SPTP
|
||||
;ENDFOLD
|
||||
SPTP XPickH WITH $VEL_AXIS[1] = SVEL_JOINT(100.0), $TOOL = STOOL2(FPickH), $BASE = SBASE(FPickH.BASE_NO), $IPO_MODE = SIPO_MODE(FPickH.IPO_FRAME), $LOAD = SLOAD(FPickH.TOOL_NO), $ACC_AXIS[1] = SACC_JOINT(PPDAT1), $APO = SAPO_PTP(PPDAT1), $GEAR_JERK[1] = SGEAR_JERK(PPDAT1), $COLLMON_TOL_PRO[1] = USE_CM_PRO_VALUES(0) C_Spl
|
||||
;ENDFOLD
|
||||
CONTINUE
|
||||
WAIT FOR I_GripOpen AND I_Signal1 AND I_AreaReady1 AND I_AreaReady4 AND NOT I_GripExist AND I_GripSafty1 AND I_GripSafty2
|
||||
CONTINUE
|
||||
Q_AreaEnter1=TRUE
|
||||
;FOLD SLIN Pick Vel=2 m/s CPDAT1 Tool[1]:Tool1 Base[0] ;%{PE}
|
||||
;FOLD Parameters ;%{h}
|
||||
;Params IlfProvider=kukaroboter.basistech.inlineforms.movement.spline; Kuka.IsGlobalPoint=False; Kuka.PointName=Pick; Kuka.BlendingEnabled=False; Kuka.MoveDataName=CPDAT1; Kuka.VelocityPath=2; Kuka.VelocityFieldEnabled=True; Kuka.ColDetectFieldEnabled=True; Kuka.CurrentCDSetIndex=0; Kuka.MovementParameterFieldEnabled=True; IlfCommand=SLIN
|
||||
;ENDFOLD
|
||||
SLIN XPick WITH $VEL = SVEL_CP(2.0, , LCPDAT1), $TOOL = STOOL2(FPick), $BASE = SBASE(FPick.BASE_NO), $IPO_MODE = SIPO_MODE(FPick.IPO_FRAME), $LOAD = SLOAD(FPick.TOOL_NO), $ACC = SACC_CP(LCPDAT1), $ORI_TYPE = SORI_TYP(LCPDAT1), $APO = SAPO(LCPDAT1), $JERK = SJERK(LCPDAT1), $COLLMON_TOL_PRO[1] = USE_CM_PRO_VALUES(0)
|
||||
;ENDFOLD
|
||||
GripClose()
|
||||
;FOLD SLIN PickH Vel=2 m/s CPDAT2 Tool[1]:Tool1 Base[0] ;%{PE}
|
||||
;FOLD Parameters ;%{h}
|
||||
;Params IlfProvider=kukaroboter.basistech.inlineforms.movement.spline; Kuka.IsGlobalPoint=False; Kuka.PointName=PickH; Kuka.BlendingEnabled=False; Kuka.MoveDataName=CPDAT2; Kuka.VelocityPath=2; Kuka.VelocityFieldEnabled=True; Kuka.ColDetectFieldEnabled=True; Kuka.CurrentCDSetIndex=0; Kuka.MovementParameterFieldEnabled=True; IlfCommand=SLIN
|
||||
;ENDFOLD
|
||||
SLIN XPickH WITH $VEL = SVEL_CP(2.0, , LCPDAT2), $TOOL = STOOL2(FPickH), $BASE = SBASE(FPickH.BASE_NO), $IPO_MODE = SIPO_MODE(FPickH.IPO_FRAME), $LOAD = SLOAD(FPickH.TOOL_NO), $ACC = SACC_CP(LCPDAT2), $ORI_TYPE = SORI_TYP(LCPDAT2), $APO = SAPO(LCPDAT2), $JERK = SJERK(LCPDAT2), $COLLMON_TOL_PRO[1] = USE_CM_PRO_VALUES(0)
|
||||
;ENDFOLD
|
||||
Q_AreaEnter1=FALSE
|
||||
ActionReturn(1)
|
||||
|
||||
END
|
||||
44
KUKA/KRC/R1/Program/PLC.sub
Normal file
44
KUKA/KRC/R1/Program/PLC.sub
Normal file
@@ -0,0 +1,44 @@
|
||||
&ACCESS RVO
|
||||
&COMMENT USER specified PLC program
|
||||
&ACCESS RVP
|
||||
&COMMENT USER specified PLC program
|
||||
DEF PLC ( )
|
||||
DECL STATE_T STAT
|
||||
DECL MODUS_T MODE
|
||||
LOOP
|
||||
|
||||
IF $FLAG[10] THEN
|
||||
CWRITE($CMD,STAT,MODE,"RESET/R1/cell()")
|
||||
;CWRITE($CMD,STAT,MODE,"RESET/R1/MainModule()")
|
||||
$FLAG[10]=FALSE
|
||||
ENDIF
|
||||
IF $FLAG[11] THEN
|
||||
CWRITE($CMD,STAT,MODE,"STOP 1")
|
||||
$FLAG[11]=FALSE
|
||||
ENDIF
|
||||
IF $FLAG[12] THEN
|
||||
CWRITE($CMD,STAT,MODE,"CANCEL 1")
|
||||
$FLAG[12]=FALSE
|
||||
ENDIF
|
||||
IF $CONF_MESS AND NOT ConfMessSave THEN
|
||||
Q_Error1=FALSE
|
||||
Q_Error2=FALSE
|
||||
Q_Error3=FALSE
|
||||
Q_Error4=FALSE
|
||||
Q_Error5=FALSE
|
||||
Q_Error6=FALSE
|
||||
Q_Error7=FALSE
|
||||
Q_Error8=FALSE
|
||||
Q_Error9=FALSE
|
||||
Q_Error10=FALSE
|
||||
Q_Error11=FALSE
|
||||
Q_Error12=FALSE
|
||||
Q_Error13=FALSE
|
||||
Q_Error14=FALSE
|
||||
Q_Error15=FALSE
|
||||
Q_Error16=FALSE
|
||||
ENDIF
|
||||
ConfMessSave=$CONF_MESS
|
||||
ON_ERROR_PROCEED
|
||||
ENDLOOP
|
||||
END
|
||||
129
KUKA/KRC/R1/Program/SignalIO.dat
Normal file
129
KUKA/KRC/R1/Program/SignalIO.dat
Normal file
@@ -0,0 +1,129 @@
|
||||
&ACCESS RV
|
||||
&REL 1
|
||||
DEFDAT SignalIO PUBLIC
|
||||
|
||||
;FOLD PLC_TO_KUKA
|
||||
|
||||
GLOBAL SIGNAL I_AreaReady1 $IN[17]
|
||||
GLOBAL SIGNAL I_AreaReady2 $IN[18]
|
||||
GLOBAL SIGNAL I_AreaReady3 $IN[19]
|
||||
GLOBAL SIGNAL I_AreaReady4 $IN[20]
|
||||
GLOBAL SIGNAL I_AreaReady5 $IN[21]
|
||||
GLOBAL SIGNAL I_AreaReady6 $IN[22]
|
||||
GLOBAL SIGNAL I_AreaReady7 $IN[23]
|
||||
GLOBAL SIGNAL I_AreaReady8 $IN[24]
|
||||
GLOBAL SIGNAL I_AreaReady9 $IN[25]
|
||||
GLOBAL SIGNAL I_AreaReady10 $IN[26]
|
||||
GLOBAL SIGNAL I_AreaReady11 $IN[27]
|
||||
GLOBAL SIGNAL I_AreaReady12 $IN[28]
|
||||
GLOBAL SIGNAL I_AreaReady13 $IN[29]
|
||||
GLOBAL SIGNAL I_AreaReady14 $IN[30]
|
||||
GLOBAL SIGNAL I_AreaReady15 $IN[31]
|
||||
GLOBAL SIGNAL I_AreaReady16 $IN[32]
|
||||
|
||||
GLOBAL SIGNAL I_Signal1 $IN[33]
|
||||
GLOBAL SIGNAL I_Signal2 $IN[34]
|
||||
GLOBAL SIGNAL I_Signal3 $IN[35]
|
||||
GLOBAL SIGNAL I_Signal4 $IN[36]
|
||||
GLOBAL SIGNAL I_Signal5 $IN[37]
|
||||
GLOBAL SIGNAL I_Signal6 $IN[38]
|
||||
GLOBAL SIGNAL I_Signal7 $IN[39]
|
||||
GLOBAL SIGNAL I_Signal8 $IN[40]
|
||||
GLOBAL SIGNAL I_Signal9 $IN[41]
|
||||
GLOBAL SIGNAL I_Signal10 $IN[42]
|
||||
GLOBAL SIGNAL I_Signal11 $IN[43]
|
||||
GLOBAL SIGNAL I_Signal12 $IN[44]
|
||||
GLOBAL SIGNAL I_Signal13 $IN[45]
|
||||
GLOBAL SIGNAL I_Signal14 $IN[46]
|
||||
GLOBAL SIGNAL I_Signal15 $IN[47]
|
||||
GLOBAL SIGNAL I_Signal16 $IN[48]
|
||||
|
||||
GLOBAL SIGNAL I_GripSafty1 $IN[49]
|
||||
GLOBAL SIGNAL I_GripSafty2 $IN[50]
|
||||
GLOBAL SIGNAL I_GripBelowExist $IN[51]
|
||||
GLOBAL SIGNAL I_GripExist $IN[52]
|
||||
GLOBAL SIGNAL I_GripOpen $IN[53]
|
||||
GLOBAL SIGNAL I_GripClose $IN[54]
|
||||
|
||||
GLOBAL SIGNAL I_ProductType $IN[65] TO $IN[80]
|
||||
GLOBAL SIGNAL I_Cmd $IN[81] TO $IN[96]
|
||||
GLOBAL SIGNAL I_CmdCount $IN[97] TO $IN[112]
|
||||
GLOBAL SIGNAL I_GripPosIndexRet $IN[113] TO $IN[128]
|
||||
GLOBAL SIGNAL I_GripPosCountRet $IN[129] TO $IN[144]
|
||||
GLOBAL SIGNAL I_GripPosResult $IN[145] TO $IN[160]
|
||||
GLOBAL SIGNAL I_OffsetX $IN[161] TO $IN[176]
|
||||
GLOBAL SIGNAL I_OffsetY $IN[177] TO $IN[192]
|
||||
GLOBAL SIGNAL I_CountX $IN[193] TO $IN[208]
|
||||
GLOBAL SIGNAL I_CountY $IN[209] TO $IN[224]
|
||||
;ENDFOLD
|
||||
|
||||
;FOLD KUKA_TO_PLC
|
||||
|
||||
GLOBAL SIGNAL Q_PickDone $OUT[33]
|
||||
GLOBAL SIGNAL Q_PlaceDone $OUT[34]
|
||||
|
||||
|
||||
GLOBAL SIGNAL Q_InHome1 $OUT[49]
|
||||
GLOBAL SIGNAL Q_InHome2 $OUT[50]
|
||||
GLOBAL SIGNAL Q_InHome3 $OUT[51]
|
||||
GLOBAL SIGNAL Q_InHome4 $OUT[52]
|
||||
GLOBAL SIGNAL Q_InHome5 $OUT[53]
|
||||
GLOBAL SIGNAL Q_InHome6 $OUT[54]
|
||||
GLOBAL SIGNAL Q_InHome7 $OUT[55]
|
||||
GLOBAL SIGNAL Q_InHome8 $OUT[56]
|
||||
GLOBAL SIGNAL Q_InHome9 $OUT[57]
|
||||
GLOBAL SIGNAL Q_InHome10 $OUT[58]
|
||||
GLOBAL SIGNAL Q_InHome11 $OUT[59]
|
||||
GLOBAL SIGNAL Q_InHome12 $OUT[60]
|
||||
GLOBAL SIGNAL Q_InHome13 $OUT[61]
|
||||
GLOBAL SIGNAL Q_InHome14 $OUT[62]
|
||||
GLOBAL SIGNAL Q_InHome15 $OUT[63]
|
||||
GLOBAL SIGNAL Q_InHome16 $OUT[64]
|
||||
|
||||
GLOBAL SIGNAL Q_AreaEnter1 $OUT[65]
|
||||
GLOBAL SIGNAL Q_AreaEnter2 $OUT[66]
|
||||
GLOBAL SIGNAL Q_AreaEnter3 $OUT[67]
|
||||
GLOBAL SIGNAL Q_AreaEnter4 $OUT[68]
|
||||
GLOBAL SIGNAL Q_AreaEnter5 $OUT[69]
|
||||
GLOBAL SIGNAL Q_AreaEnter6 $OUT[70]
|
||||
GLOBAL SIGNAL Q_AreaEnter7 $OUT[71]
|
||||
GLOBAL SIGNAL Q_AreaEnter8 $OUT[72]
|
||||
GLOBAL SIGNAL Q_AreaEnter9 $OUT[73]
|
||||
GLOBAL SIGNAL Q_AreaEnter10 $OUT[74]
|
||||
GLOBAL SIGNAL Q_AreaEnter11 $OUT[75]
|
||||
GLOBAL SIGNAL Q_AreaEnter12 $OUT[76]
|
||||
GLOBAL SIGNAL Q_AreaEnter13 $OUT[77]
|
||||
GLOBAL SIGNAL Q_AreaEnter14 $OUT[78]
|
||||
GLOBAL SIGNAL Q_AreaEnter15 $OUT[79]
|
||||
GLOBAL SIGNAL Q_AreaEnter16 $OUT[80]
|
||||
|
||||
GLOBAL SIGNAL Q_Error1 $OUT[81]
|
||||
GLOBAL SIGNAL Q_Error2 $OUT[82]
|
||||
GLOBAL SIGNAL Q_Error3 $OUT[83]
|
||||
GLOBAL SIGNAL Q_Error4 $OUT[84]
|
||||
GLOBAL SIGNAL Q_Error5 $OUT[85]
|
||||
GLOBAL SIGNAL Q_Error6 $OUT[86]
|
||||
GLOBAL SIGNAL Q_Error7 $OUT[87]
|
||||
GLOBAL SIGNAL Q_Error8 $OUT[88]
|
||||
GLOBAL SIGNAL Q_Error9 $OUT[89]
|
||||
GLOBAL SIGNAL Q_Error10 $OUT[90]
|
||||
GLOBAL SIGNAL Q_Error11 $OUT[91]
|
||||
GLOBAL SIGNAL Q_Error12 $OUT[92]
|
||||
GLOBAL SIGNAL Q_Error13 $OUT[93]
|
||||
GLOBAL SIGNAL Q_Error14 $OUT[94]
|
||||
GLOBAL SIGNAL Q_Error15 $OUT[95]
|
||||
GLOBAL SIGNAL Q_Error16 $OUT[96]
|
||||
|
||||
GLOBAL SIGNAL Q_CmdRet $OUT[97] TO $OUT[112]
|
||||
GLOBAL SIGNAL Q_CmdCountRet $OUT[113] TO $OUT[128]
|
||||
GLOBAL SIGNAL Q_CmdResult $OUT[129] TO $OUT[144]
|
||||
GLOBAL SIGNAL Q_Cmd_Running $OUT[145] TO $OUT[160]
|
||||
GLOBAL SIGNAL Q_GripPosIndex $OUT[161] TO $OUT[176]
|
||||
GLOBAL SIGNAL Q_GripPosCount $OUT[177] TO $OUT[192]
|
||||
|
||||
|
||||
;ENDFOLD
|
||||
|
||||
|
||||
|
||||
ENDDAT
|
||||
29
KUKA/KRC/R1/Program/TP/TestModule.dat
Normal file
29
KUKA/KRC/R1/Program/TP/TestModule.dat
Normal file
@@ -0,0 +1,29 @@
|
||||
&ACCESS RVO
|
||||
&REL 14
|
||||
DEFDAT TestModule
|
||||
;FOLD EXTERNAL DECLARATIONS;%{PE}%MKUKATPBASIS,%CEXT,%VCOMMON,%P
|
||||
;FOLD BASISTECH EXT;%{PE}%MKUKATPBASIS,%CEXT,%VEXT,%P
|
||||
EXT BAS (BAS_COMMAND :IN,REAL :IN )
|
||||
DECL INT SUCCESS
|
||||
;ENDFOLD (BASISTECH EXT)
|
||||
;FOLD USER EXT;%{E}%MKUKATPUSER,%CEXT,%VEXT,%P
|
||||
;Make your modifications here
|
||||
|
||||
;ENDFOLD (USER EXT)
|
||||
;ENDFOLD (EXTERNAL DECLARATIONS)
|
||||
DECL FDAT FPallet1PlaceB = {BASE_NO 0,TOOL_NO 1,IPO_FRAME #BASE,POINT2[] " "}
|
||||
DECL PDAT PPDAT1 = {APO_MODE #CDIS,APO_DIST 500,VEL 100,ACC 100,GEAR_JERK 100.0,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=PDAT7; 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 = {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 FDAT FFeedBelt1Pick = {BASE_NO 0,TOOL_NO 1,IPO_FRAME #BASE,POINT2[] " "}
|
||||
DECL PDAT PPDAT3 = {APO_MODE #CDIS,APO_DIST 500,VEL 100,ACC 100,GEAR_JERK 100.0,EXAX_IGN 0}
|
||||
DECL FDAT FFeedBelt2Pick = {BASE_NO 0,TOOL_NO 1,IPO_FRAME #BASE,POINT2[] " "}
|
||||
DECL PDAT PPDAT4 = {APO_MODE #CDIS,APO_DIST 500,VEL 100,ACC 100,GEAR_JERK 100.0,EXAX_IGN 0}
|
||||
DECL PDAT PPDAT5 = {APO_MODE #CDIS,APO_DIST 500,VEL 100,ACC 100,GEAR_JERK 100.0,EXAX_IGN 0}
|
||||
DECL FDAT FNgBeltPlace = {BASE_NO 0,TOOL_NO 1,IPO_FRAME #BASE,POINT2[] " "}
|
||||
DECL PDAT PPDAT6 = {APO_MODE #CDIS,APO_DIST 500,VEL 100,ACC 100,GEAR_JERK 100.0,EXAX_IGN 0}
|
||||
DECL FDAT FWaterBeltPick = {BASE_NO 0,TOOL_NO 1,IPO_FRAME #BASE,POINT2[] " "}
|
||||
DECL PDAT PPDAT7 = {APO_MODE #CDIS,APO_DIST 500,VEL 100,ACC 100,GEAR_JERK 100.0,EXAX_IGN 0}
|
||||
DECL FDAT FReFeedBeltPick = {BASE_NO 0,TOOL_NO 1,IPO_FRAME #BASE,POINT2[] " "}
|
||||
ENDDAT
|
||||
58
KUKA/KRC/R1/Program/TP/TestModule.src
Normal file
58
KUKA/KRC/R1/Program/TP/TestModule.src
Normal file
@@ -0,0 +1,58 @@
|
||||
&ACCESS RVO
|
||||
&REL 14
|
||||
DEF TestModule ( )
|
||||
;FOLD INI;%{PE}
|
||||
;FOLD BASISTECH INI
|
||||
GLOBAL INTERRUPT DECL 3 WHEN $STOPMESS==TRUE DO IR_STOPM ( )
|
||||
INTERRUPT ON 3
|
||||
BAS (#INITMOV,0 )
|
||||
;ENDFOLD (BASISTECH INI)
|
||||
;FOLD USER INI
|
||||
;Make your modifications here
|
||||
|
||||
;ENDFOLD (USER INI)
|
||||
;ENDFOLD (INI)
|
||||
;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
|
||||
|
||||
END
|
||||
Reference in New Issue
Block a user