Hallo Leute,
ich habe mir einige Punkte geteached, die ich dann manuell per LIN Befehl anfahren möchte. Die Punkte sind in einem Fold versteckt und deren Aufruf wird mittels goto übersprungen. Dies geschieht daher, dass die Zusatzachse nicht auf die geteachte Position gefahren werden soll, sondern ihre aktuelle Position beibehalten soll.
Daher habe ich mir folgende Funktion geschrieben:
Code
DEF MoveRLinCont( epos :IN, offset : IN )
DECL E6POS epos
DECL REAL offset
epos.e1 = $POS_ACT.E1
epos.C = epos.C + offset
LIN epos C_VEL
END
das ganze Funktioniert auch soweit, allerdings wird meien eingestelle Geschwindigkeit nicht verwendet und es wird nicht überschliffen.
Kann mir jemand erklären woran das liegt? Ich habe auch schon einiges probiert...setzen des Vorlaufzeigers etc.
Hier der ganze Code:
Code
&ACCESS RVO1
&REL 33
&PARAM DISKPATH = KRC:\R1\Program\free
DEF turbo_pts( )
DECL REAL rAngle
;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)
GOTO INSPECT
;FOLD TeachPoints
;FOLD PTP HOME Vel=30 % DEFAULT;%{PE}%R 8.3.40,%MKUKATPBASIS,%CMOVE,%VPTP,%P 1:PTP, 2:HOME, 3:, 5:30, 7:DEFAULT
$BWDSTART=FALSE
PDAT_ACT=PDEFAULT
FDAT_ACT=FHOME
BAS(#PTP_PARAMS,30)
$H_POS=XHOME
PTP XHOME
;ENDFOLD
;FOLD LIN AN1 Vel=0.1 m/s CPDAT1 Tool[30]:minirohr Base[0];%{PE}%R 8.3.40,%MKUKATPBASIS,%CMOVE,%VLIN,%P 1:LIN, 2:AN1, 3:, 5:0.1, 7:CPDAT1
$BWDSTART=FALSE
LDAT_ACT=LCPDAT1
FDAT_ACT=FAN1
BAS(#CP_PARAMS,0.1)
LIN XAN1
;ENDFOLD
;FOLD LIN AN2 Vel=0.1 m/s CPDAT2 Tool[30]:minirohr Base[0];%{PE}%R 8.3.40,%MKUKATPBASIS,%CMOVE,%VLIN,%P 1:LIN, 2:AN2, 3:, 5:0.1, 7:CPDAT2
$BWDSTART=FALSE
LDAT_ACT=LCPDAT2
FDAT_ACT=FAN2
BAS(#CP_PARAMS,0.1)
LIN XAN2
;ENDFOLD
;FOLD LIN AN3 Vel=0.1 m/s CPDAT3 Tool[30]:minirohr Base[0];%{PE}%R 8.3.40,%MKUKATPBASIS,%CMOVE,%VLIN,%P 1:LIN, 2:AN3, 3:, 5:0.1, 7:CPDAT3
$BWDSTART=FALSE
LDAT_ACT=LCPDAT3
FDAT_ACT=FAN3
BAS(#CP_PARAMS,0.1)
LIN XAN3
;ENDFOLD
;FOLD LIN AN4 Vel=0.1 m/s CPDAT4 Tool[30]:minirohr Base[0];%{PE}%R 8.3.40,%MKUKATPBASIS,%CMOVE,%VLIN,%P 1:LIN, 2:AN4, 3:, 5:0.1, 7:CPDAT4
$BWDSTART=FALSE
LDAT_ACT=LCPDAT4
FDAT_ACT=FAN4
BAS(#CP_PARAMS,0.1)
LIN XAN4
;ENDFOLD
;FOLD LIN P1 CONT Vel=0.005 m/s CPDAT5 Tool[30]:minirohr Base[0];%{PE}%R 8.3.40,%MKUKATPBASIS,%CMOVE,%VLIN,%P 1:LIN, 2:P1, 3:C_DIS C_DIS, 5:0.005, 7:CPDAT5
$BWDSTART=FALSE
LDAT_ACT=LCPDAT5
FDAT_ACT=FP1
BAS(#CP_PARAMS,0.005)
LIN XP1 C_DIS C_DIS
;ENDFOLD
;FOLD LIN P2 CONT Vel=0.005 m/s CPDAT6 Tool[30]:minirohr Base[0];%{PE}%R 8.3.40,%MKUKATPBASIS,%CMOVE,%VLIN,%P 1:LIN, 2:P2, 3:C_DIS C_DIS, 5:0.005, 7:CPDAT6
$BWDSTART=FALSE
LDAT_ACT=LCPDAT6
FDAT_ACT=FP2
BAS(#CP_PARAMS,0.005)
LIN XP2 C_DIS C_DIS
;ENDFOLD
;FOLD LIN P3 CONT Vel=0.005 m/s CPDAT7 Tool[30]:minirohr Base[0];%{PE}%R 8.3.40,%MKUKATPBASIS,%CMOVE,%VLIN,%P 1:LIN, 2:P3, 3:C_DIS C_DIS, 5:0.005, 7:CPDAT7
$BWDSTART=FALSE
LDAT_ACT=LCPDAT7
FDAT_ACT=FP3
BAS(#CP_PARAMS,0.005)
LIN XP3 C_DIS C_DIS
;ENDFOLD
;FOLD LIN P4 CONT Vel=0.005 m/s CPDAT8 Tool[30]:minirohr Base[0];%{PE}%R 8.3.40,%MKUKATPBASIS,%CMOVE,%VLIN,%P 1:LIN, 2:P4, 3:C_DIS C_DIS, 5:0.005, 7:CPDAT8
$BWDSTART=FALSE
LDAT_ACT=LCPDAT8
FDAT_ACT=FP4
BAS(#CP_PARAMS,0.005)
LIN XP4 C_DIS C_DIS
;ENDFOLD
;FOLD LIN P5 CONT Vel=0.005 m/s CPDAT9 Tool[30]:minirohr Base[0];%{PE}%R 8.3.40,%MKUKATPBASIS,%CMOVE,%VLIN,%P 1:LIN, 2:P5, 3:C_DIS C_DIS, 5:0.005, 7:CPDAT9
$BWDSTART=FALSE
LDAT_ACT=LCPDAT9
FDAT_ACT=FP5
BAS(#CP_PARAMS,0.005)
LIN XP5 C_DIS C_DIS
;ENDFOLD
;FOLD LIN P6 CONT Vel=0.005 m/s CPDAT10 Tool[30]:minirohr Base[0];%{PE}%R 8.3.40,%MKUKATPBASIS,%CMOVE,%VLIN,%P 1:LIN, 2:P6, 3:C_DIS C_DIS, 5:0.005, 7:CPDAT10
$BWDSTART=FALSE
LDAT_ACT=LCPDAT10
FDAT_ACT=FP6
BAS(#CP_PARAMS,0.005)
LIN XP6 C_DIS C_DIS
;ENDFOLD
;FOLD LIN P7 CONT Vel=0.005 m/s CPDAT11 Tool[30]:minirohr Base[0];%{PE}%R 8.3.40,%MKUKATPBASIS,%CMOVE,%VLIN,%P 1:LIN, 2:P7, 3:C_DIS C_DIS, 5:0.005, 7:CPDAT11
$BWDSTART=FALSE
LDAT_ACT=LCPDAT11
FDAT_ACT=FP7
BAS(#CP_PARAMS,0.005)
LIN XP7 C_DIS C_DIS
;ENDFOLD
;FOLD LIN P8 CONT Vel=0.005 m/s CPDAT12 Tool[30]:minirohr Base[0];%{PE}%R 8.3.40,%MKUKATPBASIS,%CMOVE,%VLIN,%P 1:LIN, 2:P8, 3:C_DIS C_DIS, 5:0.005, 7:CPDAT12
$BWDSTART=FALSE
LDAT_ACT=LCPDAT12
FDAT_ACT=FP8
BAS(#CP_PARAMS,0.005)
LIN XP8 C_DIS C_DIS
;ENDFOLD
;FOLD LIN P9 CONT Vel=0.005 m/s CPDAT13 Tool[30]:minirohr Base[0];%{PE}%R 8.3.40,%MKUKATPBASIS,%CMOVE,%VLIN,%P 1:LIN, 2:P9, 3:C_DIS C_DIS, 5:0.005, 7:CPDAT13
$BWDSTART=FALSE
LDAT_ACT=LCPDAT13
FDAT_ACT=FP9
BAS(#CP_PARAMS,0.005)
LIN XP9 C_DIS C_DIS
;ENDFOLD
;FOLD LIN P10 CONT Vel=0.005 m/s CPDAT14 Tool[30]:minirohr Base[0];%{PE}%R 8.3.40,%MKUKATPBASIS,%CMOVE,%VLIN,%P 1:LIN, 2:P10, 3:C_DIS C_DIS, 5:0.005, 7:CPDAT14
$BWDSTART=FALSE
LDAT_ACT=LCPDAT14
FDAT_ACT=FP10
BAS(#CP_PARAMS,0.005)
LIN XP10 C_DIS C_DIS
;ENDFOLD
;FOLD LIN P11 CONT Vel=0.005 m/s CPDAT19 Tool[30]:minirohr Base[0];%{PE}%R 8.3.40,%MKUKATPBASIS,%CMOVE,%VLIN,%P 1:LIN, 2:P11, 3:C_DIS C_DIS, 5:0.005, 7:CPDAT19
$BWDSTART=FALSE
LDAT_ACT=LCPDAT19
FDAT_ACT=FP11
BAS(#CP_PARAMS,0.005)
LIN XP11 C_DIS C_DIS
;ENDFOLD
;FOLD LIN P12 CONT Vel=0.005 m/s CPDAT20 Tool[30]:minirohr Base[0];%{PE}%R 8.3.40,%MKUKATPBASIS,%CMOVE,%VLIN,%P 1:LIN, 2:P12, 3:C_DIS C_DIS, 5:0.005, 7:CPDAT20
$BWDSTART=FALSE
LDAT_ACT=LCPDAT20
FDAT_ACT=FP12
BAS(#CP_PARAMS,0.005)
LIN XP12 C_DIS C_DIS
;ENDFOLD
;FOLD LIN P13 CONT Vel=0.005 m/s CPDAT21 Tool[30]:minirohr Base[0];%{PE}%R 8.3.40,%MKUKATPBASIS,%CMOVE,%VLIN,%P 1:LIN, 2:P13, 3:C_DIS C_DIS, 5:0.005, 7:CPDAT21
$BWDSTART=FALSE
LDAT_ACT=LCPDAT21
FDAT_ACT=FP13
BAS(#CP_PARAMS,0.005)
LIN XP13 C_DIS C_DIS
;ENDFOLD
;FOLD LIN P14 CONT Vel=0.005 m/s CPDAT22 Tool[30]:minirohr Base[0];%{PE}%R 8.3.40,%MKUKATPBASIS,%CMOVE,%VLIN,%P 1:LIN, 2:P14, 3:C_DIS C_DIS, 5:0.005, 7:CPDAT22
$BWDSTART=FALSE
LDAT_ACT=LCPDAT22
FDAT_ACT=FP14
BAS(#CP_PARAMS,0.005)
LIN XP14 C_DIS C_DIS
;ENDFOLD
;FOLD LIN P15 CONT Vel=0.005 m/s CPDAT23 Tool[30]:minirohr Base[0];%{PE}%R 8.3.40,%MKUKATPBASIS,%CMOVE,%VLIN,%P 1:LIN, 2:P15, 3:C_DIS C_DIS, 5:0.005, 7:CPDAT23
$BWDSTART=FALSE
LDAT_ACT=LCPDAT23
FDAT_ACT=FP15
BAS(#CP_PARAMS,0.005)
LIN XP15 C_DIS C_DIS
;ENDFOLD
;FOLD LIN P16 CONT Vel=0.005 m/s CPDAT24 Tool[30]:minirohr Base[0];%{PE}%R 8.3.40,%MKUKATPBASIS,%CMOVE,%VLIN,%P 1:LIN, 2:P16, 3:C_DIS C_DIS, 5:0.005, 7:CPDAT24
$BWDSTART=FALSE
LDAT_ACT=LCPDAT24
FDAT_ACT=FP16
BAS(#CP_PARAMS,0.005)
LIN XP16 C_DIS C_DIS
;ENDFOLD
;FOLD LIN P17 CONT Vel=0.005 m/s CPDAT25 Tool[30]:minirohr Base[0];%{PE}%R 8.3.40,%MKUKATPBASIS,%CMOVE,%VLIN,%P 1:LIN, 2:P17, 3:C_DIS C_DIS, 5:0.005, 7:CPDAT25
$BWDSTART=FALSE
LDAT_ACT=LCPDAT25
FDAT_ACT=FP17
BAS(#CP_PARAMS,0.005)
LIN XP17 C_DIS C_DIS
;ENDFOLD
;FOLD LIN P18 CONT Vel=0.005 m/s CPDAT26 Tool[30]:minirohr Base[0];%{PE}%R 8.3.40,%MKUKATPBASIS,%CMOVE,%VLIN,%P 1:LIN, 2:P18, 3:C_DIS C_DIS, 5:0.005, 7:CPDAT26
$BWDSTART=FALSE
LDAT_ACT=LCPDAT26
FDAT_ACT=FP18
BAS(#CP_PARAMS,0.005)
LIN XP18 C_DIS C_DIS
;ENDFOLD
;FOLD LIN AB1 Vel=0.1 m/s CPDAT15 Tool[30]:minirohr Base[0];%{PE}%R 8.3.40,%MKUKATPBASIS,%CMOVE,%VLIN,%P 1:LIN, 2:AB1, 3:, 5:0.1, 7:CPDAT15
$BWDSTART=FALSE
LDAT_ACT=LCPDAT15
FDAT_ACT=FAB1
BAS(#CP_PARAMS,0.1)
LIN XAB1
;ENDFOLD
;FOLD LIN AB2 Vel=0.1 m/s CPDAT16 Tool[30]:minirohr 8Base[0];%{PE}%R 8.3.40,%MKUKATPBASIS,%CMOVE,%VLIN,%P 1:LIN, 2:AB2, 3:, 5:0.1, 7:CPDAT16
$BWDSTART=FALSE
LDAT_ACT=LCPDAT16
FDAT_ACT=FAB2
BAS(#CP_PARAMS,0.1)
LIN XAB2
;ENDFOLD
;FOLD LIN AB3 Vel=0.1 m/s CPDAT17 Tool[30]:minirohr Base[0];%{PE}%R 8.3.40,%MKUKATPBASIS,%CMOVE,%VLIN,%P 1:LIN, 2:AB3, 3:, 5:0.1, 7:CPDAT17
$BWDSTART=FALSE
LDAT_ACT=LCPDAT17
FDAT_ACT=FAB3
BAS(#CP_PARAMS,0.1)
LIN XAB3
;ENDFOLD
;FOLD LIN AB4 Vel=0.1 m/s CPDAT18 Tool[30]:minirohr Base[0];%{PE}%R 8.3.40,%MKUKATPBASIS,%CMOVE,%VLIN,%P 1:LIN, 2:AB4, 3:, 5:0.1, 7:CPDAT18
$BWDSTART=FALSE
LDAT_ACT=LCPDAT18
FDAT_ACT=FAB4
BAS(#CP_PARAMS,0.1)
LIN XAB4
;ENDFOLD
;FOLD PTP HOME Vel=30 % DEFAULT;%{PE}%R 8.3.40,%MKUKATPBASIS,%CMOVE,%VPTP,%P 1:PTP, 2:HOME, 3:, 5:30, 7:DEFAULT
$BWDSTART=FALSE
PDAT_ACT=PDEFAULT
FDAT_ACT=FHOME
BAS(#PTP_PARAMS,30)
$H_POS=XHOME
PTP XHOME
;ENDFOLD
;ENDFOLD
INSPECT:
BAS(#TOOL, 30)
BAS(#BASE, 0)
BAS(#VEL_CP, 0.1)
$ADVANCE = 3
rAngle = -5.0
WHILE ( rAngle <= 5 )
MoveRLin( XAN1, rAngle)
MoveRLin( XAN2, rAngle)
MoveRLin( XAN3, rAngle)
MoveRLin( XAN4, rAngle)
MoveRLin( XP1, rAngle)
BAS(#VEL_CP, 0.0005)
$VEL.CP = 0.005
WAIT SEC 0.1
F_RB_TSTON1 = TRUE ;KRC4
WAIT SEC 0.1
ESRSTART()
$ADVANCE = 3
$VEL.CP = 0.0005
BAS(#VEL_CP, 0.0005)
MoveRLinCont( XP2, rAngle)
MoveRLinCont( XP3, rAngle)
MoveRLinCont( XP4, rAngle)
MoveRLinCont( XP5, rAngle)
MoveRLinCont( XP6, rAngle)
MoveRLinCont( XP7, rAngle)
MoveRLinCont( XP8, rAngle)
MoveRLinCont( XP9, rAngle)
MoveRLinCont( XP10, rAngle)
MoveRLinCont( XP11, rAngle)
MoveRLinCont( XP12, rAngle)
MoveRLinCont( XP13, rAngle)
MoveRLinCont( XP14, rAngle)
MoveRLinCont( XP15, rAngle)
MoveRLinCont( XP16, rAngle)
MoveRLinCont( XP17, rAngle)
MoveRLinCont( XP18, rAngle)
F_RB_TSTON1 = FALSE
ESRSTOP()
WAIT SEC 0.1
$VEL.CP = 0.1
MoveRLin( XAB1, rAngle)
MoveRLin( XAB2, rAngle)
MoveRLin( XAB3, rAngle)
MoveRLin( XAB4, rAngle)
rAngle = rAngle + 1
ENDWHILE
END
DEF MoveRLin( epos :IN, offset : IN )
DECL E6POS epos
DECL REAL offset
$BWDSTART = FALSE
BAS(#CP_DAT)
BAS(#FRAMES)
epos.e1 = $POS_ACT.E1
epos.C = epos.C + offset
LIN epos
END
DEF MoveRLinCont( epos :IN, offset : IN )
DECL E6POS epos
DECL REAL offset
$BWDSTART = FALSE
BAS(#CP_DAT)
BAS(#FRAMES)
epos.e1 = $POS_ACT.E1
epos.C = epos.C + offset
LIN epos C_DIS
END
Display More