Hallo, miteinander,
Mein Robbi mag mich nicht!
Wer kann mir was zur Geschwindigkeit bei einem "Rückwärts rausfahren" Programmteil sagen. Im folgenden Programm
funktioniert der Interrupt zwar; allerdings fährt der Roboter mit einer nicht programmierten Schleichfahrt
aus der Anlage heraus:
&ACCESS RVP
&REL 33
DEF Einl9_BFSa_RL ( )
; ############## Deklarationen ###############
;FOLD INI
;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
INTERRUPT DECL 20 WHEN Unterbr==TRUE DO SICHERRUECK ( )
$FLAG[20]=FALSE
Pfadnr = 0
;ENDFOLD (USER INI)
;ENDFOLD (INI)
Unterbr=FALSE
;Fold Meldungsprogrammierung Beispiele
;Meldungsprogrammierung BEISPIEL ##################################
;Es werden 2 CHAR-Parameter übergeben: Meldetext und Absender
;REPEAT
; IF NOT $OUT[500] THEN
; MsgLoop("Nix ist OKAY", "ASDFG")
; ENDIF
; WAIT SEC 0.2
;UNTIL $OUT[500]
;######################################################################
;GLOBAL DEF MsgDialog(nAnswer:OUT,sText[]:IN,sModul[]:IN,sTextPar[]:IN,sDialogSK1[]:IN,sDialogSK2[]:IN,sDialogSK3[]:IN,sDialogSK4[]:IN,sDialogSK5[]:IN,sDialogSK6[]:IN,sDialogSK7[]:IN,NoBrakes:IN, nMsgNr:IN,MsgOpt:IN)
;DECL KrlMsg_T Msg
;DECL KrlMsgPar_T MsgPar[3]
;DECL KrlMsgOpt_T MsgOpt
;DECL KrlMsgOpt_T DummyMsgOpt
;DECL KrlMsgDlgSK_T Msg_SOFTKEY[7]
;DECL INT count, len, nHandle, nAnswer, nMsgNr
;DECL BOOL NoBrakes
;DECL CHAR sText[], sModul[], sTextPar[], sDialogSK1[], sDialogSK2[], sDialogSK3[], sDialogSK4[], sDialogSK5[], sDialogSK6[], sDialogSK7[]
;DECL CHAR sMsg[80]
AnTW=0
;ENDFOLD
$ADVANCE=3
Bewegung()
END
DEF Bewegung()
;FOLD PTP HOME Vel= 100 % DEFAULT;%{PE}%MKUKATPBASIS,%CMOVE,%VPTP,%P 1:PTP, 2:HOME, 3:, 5:100, 7:DEFAULT
$BWDSTART = FALSE
PDAT_ACT=PDEFAULT
FDAT_ACT=FHOME
BAS (#PTP_PARAMS,100 )
$H_POS=XHOME
PTP XHOME
;ENDFOLD
Interrupt ON 20
$ADVANCE=3
HOLEN()
;Ablegen
;Allgemeine Zwischenposition fuer alle Teile #####
Trigger when Distance=1 Delay=0 do Pfadnr = 11
;$ACT_ADVANCE = 1
;FOLD PTP p11 CONT Vel=100 % PDAT3 Tool[1]:Greifer 1 Base[0];%{PE}%R 8.2.20,%MKUKATPBASIS,%CMOVE,%VPTP,%P 1:PTP, 2:p11, 3:C_DIS, 5:100, 7:PDAT3
$BWDSTART=FALSE
PDAT_ACT=PPDAT3
FDAT_ACT=Fp11
BAS(#PTP_PARAMS,100)
PTP Xp11 C_DIS
;ENDFOLD
;Pfadnr = 11
;#####################################################
;Ablegen position 1 b ############################
Trigger when Distance=1 Delay=0 do Pfadnr = 12
;FOLD PTP p12 CONT Vel=100 % PDAT2 Tool[1]:Greifer 1 Base[0];%{PE}%R 8.2.20,%MKUKATPBASIS,%CMOVE,%VPTP,%P 1:PTP, 2:p12, 3:C_DIS, 5:100, 7:PDAT2
$BWDSTART=FALSE
PDAT_ACT=PPDAT2
FDAT_ACT=Fp12
BAS(#PTP_PARAMS,100)
PTP Xp12 C_DIS
;ENDFOLD
;Pfadnr = 12
;#####################################################
;Ablegen position 1 c ############################
;FOLD PTP p13 CONT Vel=100 % PDAT1 Tool[1]:Greifer 1 Base[0];%{PE}%R 8.2.20,%MKUKATPBASIS,%CMOVE,%VPTP,%P 1:PTP, 2:p13, 3:C_DIS, 5:100, 7:PDAT1
$BWDSTART=FALSE
PDAT_ACT=PPDAT1
FDAT_ACT=Fp13
BAS(#PTP_PARAMS,100)
PTP Xp13 C_DIS
;ENDFOLD
;#####################################################
;Ablegen position 1 d unten ######################
;FOLD LIN p14 CONT Vel=0.02 m/s CPDAT1 Tool[1]:Greifer 1 Base[0];%{PE}%R 8.2.20,%MKUKATPBASIS,%CMOVE,%VLIN,%P 1:LIN, 2:p14, 3:C_DIS C_DIS, 5:0.02, 7:CPDAT1
$BWDSTART=FALSE
LDAT_ACT=LCPDAT1
FDAT_ACT=Fp14
BAS(#CP_PARAMS,0.02)
LIN Xp14 C_DIS C_DIS
;ENDFOLD
;#####################################################
;Greifer öffnen
GREauf()
;Greifer öffnen
;Ablegen position 1 c ############################
;FOLD PTP p13 CONT Vel=100 % PDAT1 Tool[1]:Greifer 1 Base[0];%{PE}%R 8.2.20,%MKUKATPBASIS,%CMOVE,%VPTP,%P 1:PTP, 2:p13, 3:C_DIS, 5:100, 7:PDAT1
$BWDSTART=FALSE
PDAT_ACT=PPDAT1
FDAT_ACT=Fp13
BAS(#PTP_PARAMS,100)
PTP Xp13 C_DIS
;ENDFOLD
;#####################################################
;Ablegen position 1 b ############################
Trigger when Distance=1 Delay=0 do Pfadnr = 11
;FOLD PTP p12 CONT Vel=100 % PDAT2 Tool[1]:Greifer 1 Base[0];%{PE}%R 8.2.20,%MKUKATPBASIS,%CMOVE,%VPTP,%P 1:PTP, 2:p12, 3:C_DIS, 5:100, 7:PDAT2
$BWDSTART=FALSE
PDAT_ACT=PPDAT2
FDAT_ACT=Fp12
BAS(#PTP_PARAMS,100)
PTP Xp12 C_DIS
;ENDFOLD
;#####################################################
;Allgemeine Zwischenposition fuer alle Teile #####
Trigger when Distance=1 Delay=0 do Pfadnr = 1
;FOLD PTP p11 CONT Vel=100 % PDAT3 Tool[1]:Greifer 1 Base[0];%{PE}%R 8.2.20,%MKUKATPBASIS,%CMOVE,%VPTP,%P 1:PTP, 2:p11, 3:C_DIS, 5:100, 7:PDAT3
$BWDSTART=FALSE
PDAT_ACT=PPDAT3
FDAT_ACT=Fp11
BAS(#PTP_PARAMS,100)
PTP Xp11 C_DIS
;ENDFOLD
;#####################################################
HOLEN()
;Allgemeine Zwischenposition fuer alle Teile #####
Trigger when Distance=1 Delay=0 do Pfadnr = 11
;FOLD PTP p11 CONT Vel=100 % PDAT3 Tool[1]:Greifer 1 Base[0];%{PE}%R 8.2.20,%MKUKATPBASIS,%CMOVE,%VPTP,%P 1:PTP, 2:p11, 3:C_DIS, 5:100, 7:PDAT3
$BWDSTART=FALSE
PDAT_ACT=PPDAT3
FDAT_ACT=Fp11
BAS(#PTP_PARAMS,100)
PTP Xp11 C_DIS
;ENDFOLD
;#####################################################
;Ablegen position 2 b ############################
Trigger when Distance=1 Delay=0 do Pfadnr = 22
;FOLD PTP p22 CONT Vel=100 % PDAT4 Tool[1]:Greifer 1 Base[0];%{PE}%R 8.2.20,%MKUKATPBASIS,%CMOVE,%VPTP,%P 1:PTP, 2:p22, 3:C_DIS, 5:100, 7:PDAT4
$BWDSTART=FALSE
PDAT_ACT=PPDAT4
FDAT_ACT=Fp22
BAS(#PTP_PARAMS,100)
PTP Xp22 C_DIS
;ENDFOLD
;#####################################################
;Ablegen position 2 c ############################
;FOLD PTP p23 CONT Vel=100 % PDAT5 Tool[1]:Greifer 1 Base[0];%{PE}%R 8.2.20,%MKUKATPBASIS,%CMOVE,%VPTP,%P 1:PTP, 2:p23, 3:C_DIS, 5:100, 7:PDAT5
$BWDSTART=FALSE
PDAT_ACT=PPDAT5
FDAT_ACT=Fp23
BAS(#PTP_PARAMS,100)
PTP Xp23 C_DIS
;ENDFOLD
;#####################################################
;Ablegen position 2 d unten ######################
;FOLD LIN p24 CONT Vel=0.02 m/s CPDAT2 Tool[1]:Greifer 1 Base[0];%{PE}%R 8.2.20,%MKUKATPBASIS,%CMOVE,%VLIN,%P 1:LIN, 2:p24, 3:C_DIS C_DIS, 5:0.02, 7:CPDAT2
$BWDSTART=FALSE
LDAT_ACT=LCPDAT2
FDAT_ACT=Fp24
BAS(#CP_PARAMS,0.02)
LIN Xp24 C_DIS C_DIS
;ENDFOLD
;#####################################################
;Greifer öffnen
GREauf()
;Greifer öffnen
;Ablegen position 2 c ############################
;FOLD PTP p23 CONT Vel=100 % PDAT5 Tool[1]:Greifer 1 Base[0];%{PE}%R 8.2.20,%MKUKATPBASIS,%CMOVE,%VPTP,%P 1:PTP, 2:p23, 3:C_DIS, 5:100, 7:PDAT5
$BWDSTART=FALSE
PDAT_ACT=PPDAT5
FDAT_ACT=Fp23
BAS(#PTP_PARAMS,100)
PTP Xp23 C_DIS
;ENDFOLD
;#####################################################
;Ablegen position 2 b ############################
Trigger when Distance=1 Delay=0 do Pfadnr = 11
;FOLD PTP p22 CONT Vel=100 % PDAT4 Tool[1]:Greifer 1 Base[0];%{PE}%R 8.2.20,%MKUKATPBASIS,%CMOVE,%VPTP,%P 1:PTP, 2:p22, 3:C_DIS, 5:100, 7:PDAT4
$BWDSTART=FALSE
PDAT_ACT=PPDAT4
FDAT_ACT=Fp22
BAS(#PTP_PARAMS,100)
PTP Xp22 C_DIS
;ENDFOLD
;#####################################################
;Allgemeine Zwischenposition fuer alle Teile #####
Trigger when Distance=1 Delay=0 do Pfadnr = 1
;FOLD PTP p11 CONT Vel=100 % PDAT3 Tool[1]:Greifer 1 Base[0];%{PE}%R 8.2.20,%MKUKATPBASIS,%CMOVE,%VPTP,%P 1:PTP, 2:p11, 3:C_DIS, 5:100, 7:PDAT3
$BWDSTART=FALSE
PDAT_ACT=PPDAT3
FDAT_ACT=Fp11
BAS(#PTP_PARAMS,100)
PTP Xp11 C_DIS
;ENDFOLD
;#####################################################
HOLEN()
;Allgemeine Zwischenposition fuer alle Teile #####
Trigger when Distance=1 Delay=0 do Pfadnr = 11
;FOLD PTP p11 CONT Vel=100 % PDAT3 Tool[1]:Greifer 1 Base[0];%{PE}%R 8.2.20,%MKUKATPBASIS,%CMOVE,%VPTP,%P 1:PTP, 2:p11, 3:C_DIS, 5:100, 7:PDAT3
$BWDSTART=FALSE
PDAT_ACT=PPDAT3
FDAT_ACT=Fp11
BAS(#PTP_PARAMS,100)
PTP Xp11 C_DIS
;ENDFOLD
;#####################################################
;Ablegen position 3 b ############################
Trigger when Distance=1 Delay=0 do Pfadnr = 32
;FOLD PTP p32 CONT Vel=100 % PDAT6 Tool[1]:Greifer 1 Base[0];%{PE}%R 8.2.20,%MKUKATPBASIS,%CMOVE,%VPTP,%P 1:PTP, 2:p32, 3:C_DIS, 5:100, 7:PDAT6
$BWDSTART=FALSE
PDAT_ACT=PPDAT6
FDAT_ACT=Fp32
BAS(#PTP_PARAMS,100)
PTP Xp32 C_DIS
;ENDFOLD
;#####################################################
;Ablegen position 3 c ############################
;FOLD PTP p33 CONT Vel=100 % PDAT7 Tool[1]:Greifer 1 Base[0];%{PE}%R 8.2.20,%MKUKATPBASIS,%CMOVE,%VPTP,%P 1:PTP, 2:p33, 3:C_DIS, 5:100, 7:PDAT7
$BWDSTART=FALSE
PDAT_ACT=PPDAT7
FDAT_ACT=Fp33
BAS(#PTP_PARAMS,100)
PTP Xp33 C_DIS
;ENDFOLD
;#####################################################
;Ablegen position 3 d unten ######################
;FOLD LIN p34 CONT Vel=0.02 m/s CPDAT3 Tool[1]:Greifer 1 Base[0];%{PE}%R 8.2.20,%MKUKATPBASIS,%CMOVE,%VLIN,%P 1:LIN, 2:p34, 3:C_DIS C_DIS, 5:0.02, 7:CPDAT3
$BWDSTART=FALSE
LDAT_ACT=LCPDAT3
FDAT_ACT=Fp34
BAS(#CP_PARAMS,0.02)
LIN Xp34 C_DIS C_DIS
;ENDFOLD
;#####################################################
;Greifer öffnen
GREauf()
;Greifer öffnen
;Ablegen position 3 c ############################
;FOLD PTP p33 CONT Vel=100 % PDAT7 Tool[1]:Greifer 1 Base[0];%{PE}%R 8.2.20,%MKUKATPBASIS,%CMOVE,%VPTP,%P 1:PTP, 2:p33, 3:C_DIS, 5:100, 7:PDAT7
$BWDSTART=FALSE
PDAT_ACT=PPDAT7
FDAT_ACT=Fp33
BAS(#PTP_PARAMS,100)
PTP Xp33 C_DIS
;ENDFOLD
;#####################################################
;Ablegen position 3 b ############################
Trigger when Distance=1 Delay=0 do Pfadnr = 11
;FOLD PTP p32 CONT Vel=100 % PDAT6 Tool[1]:Greifer 1 Base[0];%{PE}%R 8.2.20,%MKUKATPBASIS,%CMOVE,%VPTP,%P 1:PTP, 2:p32, 3:C_DIS, 5:100, 7:PDAT6
$BWDSTART=FALSE
PDAT_ACT=PPDAT6
FDAT_ACT=Fp32
BAS(#PTP_PARAMS,100)
PTP Xp32 C_DIS
;ENDFOLD
;#####################################################
;Allgemeine Zwischenposition fuer alle Teile #####
Trigger when Distance=1 Delay=0 do Pfadnr = 1
;FOLD PTP p11 CONT Vel=100 % PDAT3 Tool[1]:Greifer 1 Base[0];%{PE}%R 8.2.20,%MKUKATPBASIS,%CMOVE,%VPTP,%P 1:PTP, 2:p11, 3:C_DIS, 5:100, 7:PDAT3
$BWDSTART=FALSE
PDAT_ACT=PPDAT3
FDAT_ACT=Fp11
BAS(#PTP_PARAMS,100)
PTP Xp11 C_DIS
;ENDFOLD
;#####################################################
HOLEN()
;Allgemeine Zwischenposition fuer alle Teile #####
Trigger when Distance=1 Delay=0 do Pfadnr = 11
;FOLD PTP p11 CONT Vel=100 % PDAT3 Tool[1]:Greifer 1 Base[0];%{PE}%R 8.2.20,%MKUKATPBASIS,%CMOVE,%VPTP,%P 1:PTP, 2:p11, 3:C_DIS, 5:100, 7:PDAT3
$BWDSTART=FALSE
PDAT_ACT=PPDAT3
FDAT_ACT=Fp11
BAS(#PTP_PARAMS,100)
PTP Xp11 C_DIS
;ENDFOLD
;#####################################################
;Ablegen position 4 b ############################
Trigger when Distance=1 Delay=0 do Pfadnr = 42
;FOLD PTP p42 CONT Vel=100 % PDAT8 Tool[1]:Greifer 1 Base[0];%{PE}%R 8.2.20,%MKUKATPBASIS,%CMOVE,%VPTP,%P 1:PTP, 2:p42, 3:C_DIS, 5:100, 7:PDAT8
$BWDSTART=FALSE
PDAT_ACT=PPDAT8
FDAT_ACT=Fp42
BAS(#PTP_PARAMS,100)
PTP Xp42 C_DIS
;ENDFOLD
;#####################################################
;Ablegen position 4 c ############################
;FOLD PTP p43 CONT Vel=100 % PDAT9 Tool[1]:Greifer 1 Base[0];%{PE}%R 8.2.20,%MKUKATPBASIS,%CMOVE,%VPTP,%P 1:PTP, 2:p43, 3:C_DIS, 5:100, 7:PDAT9
$BWDSTART=FALSE
PDAT_ACT=PPDAT9
FDAT_ACT=Fp43
BAS(#PTP_PARAMS,100)
PTP Xp43 C_DIS
;ENDFOLD
;#####################################################
;Ablegen position 4 d unten ######################
;FOLD LIN p44 CONT Vel=0.02 m/s CPDAT4 Tool[1]:Greifer 1 Base[0];%{PE}%R 8.2.20,%MKUKATPBASIS,%CMOVE,%VLIN,%P 1:LIN, 2:p44, 3:C_DIS C_DIS, 5:0.02, 7:CPDAT4
$BWDSTART=FALSE
LDAT_ACT=LCPDAT4
FDAT_ACT=Fp44
BAS(#CP_PARAMS,0.02)
LIN Xp44 C_DIS C_DIS
;ENDFOLD
;#####################################################
;Greifer öffnen
GREauf()
;Greifer öffnen
;Ablegen position 4 c ############################
;FOLD PTP p43 CONT Vel=100 % PDAT9 Tool[1]:Greifer 1 Base[0];%{PE}%R 8.2.20,%MKUKATPBASIS,%CMOVE,%VPTP,%P 1:PTP, 2:p43, 3:C_DIS, 5:100, 7:PDAT9
$BWDSTART=FALSE
PDAT_ACT=PPDAT9
FDAT_ACT=Fp43
BAS(#PTP_PARAMS,100)
PTP Xp43 C_DIS
;ENDFOLD
;#####################################################
;Ablegen position 4 b ############################
Trigger when Distance=1 Delay=0 do Pfadnr = 11
;FOLD PTP p42 CONT Vel=100 % PDAT8 Tool[1]:Greifer 1 Base[0];%{PE}%R 8.2.20,%MKUKATPBASIS,%CMOVE,%VPTP,%P 1:PTP, 2:p42, 3:C_DIS, 5:100, 7:PDAT8
$BWDSTART=FALSE
PDAT_ACT=PPDAT8
FDAT_ACT=Fp42
BAS(#PTP_PARAMS,100)
PTP Xp42 C_DIS
;ENDFOLD
;#####################################################
;Allgemeine Zwischenposition fuer alle Teile #####
Trigger when Distance=1 Delay=0 do Pfadnr = 1
;FOLD PTP p11 CONT Vel=100 % PDAT3 Tool[1]:Greifer 1 Base[0];%{PE}%R 8.2.20,%MKUKATPBASIS,%CMOVE,%VPTP,%P 1:PTP, 2:p11, 3:C_DIS, 5:100, 7:PDAT3
$BWDSTART=FALSE
PDAT_ACT=PPDAT3
FDAT_ACT=Fp11
BAS(#PTP_PARAMS,100)
PTP Xp11 C_DIS
;ENDFOLD
;#####################################################
HOLEN()
;Allgemeine Zwischenposition fuer alle Teile #####
Trigger when Distance=1 Delay=0 do Pfadnr = 11
;FOLD PTP p11 CONT Vel=100 % PDAT3 Tool[1]:Greifer 1 Base[0];%{PE}%R 8.2.20,%MKUKATPBASIS,%CMOVE,%VPTP,%P 1:PTP, 2:p11, 3:C_DIS, 5:100, 7:PDAT3
$BWDSTART=FALSE
PDAT_ACT=PPDAT3
FDAT_ACT=Fp11
BAS(#PTP_PARAMS,100)
PTP Xp11 C_DIS
;ENDFOLD
;#####################################################
;Ablegen position 5 b ############################
Trigger when Distance=1 Delay=0 do Pfadnr = 52
;FOLD PTP p52 CONT Vel=100 % PDAT10 Tool[1]:Greifer 1 Base[0];%{PE}%R 8.2.20,%MKUKATPBASIS,%CMOVE,%VPTP,%P 1:PTP, 2:p52, 3:C_DIS, 5:100, 7:PDAT10
$BWDSTART=FALSE
PDAT_ACT=PPDAT10
FDAT_ACT=Fp52
BAS(#PTP_PARAMS,100)
PTP Xp52 C_DIS
;ENDFOLD
;#####################################################
;Ablegen position 5 c ############################
;FOLD PTP p53 CONT Vel=100 % PDAT11 Tool[1]:Greifer 1 Base[0];%{PE}%R 8.2.20,%MKUKATPBASIS,%CMOVE,%VPTP,%P 1:PTP, 2:p53, 3:C_DIS, 5:100, 7:PDAT11
$BWDSTART=FALSE
PDAT_ACT=PPDAT11
FDAT_ACT=Fp53
BAS(#PTP_PARAMS,100)
PTP Xp53 C_DIS
;ENDFOLD
;#####################################################
;Ablegen position 5 d unten ######################
;FOLD LIN p54 CONT Vel=0.02 m/s CPDAT5 Tool[1]:Greifer 1 Base[0];%{PE}%R 8.2.20,%MKUKATPBASIS,%CMOVE,%VLIN,%P 1:LIN, 2:p54, 3:C_DIS C_DIS, 5:0.02, 7:CPDAT5
$BWDSTART=FALSE
LDAT_ACT=LCPDAT5
FDAT_ACT=Fp54
BAS(#CP_PARAMS,0.02)
LIN Xp54 C_DIS C_DIS
;ENDFOLD
;#####################################################
;Greifer öffnen
GREauf()
;Greifer öffnen
;Ablegen position 5 c ############################
;FOLD PTP p53 CONT Vel=100 % PDAT11 Tool[1]:Greifer 1 Base[0];%{PE}%R 8.2.20,%MKUKATPBASIS,%CMOVE,%VPTP,%P 1:PTP, 2:p53, 3:C_DIS, 5:100, 7:PDAT11
$BWDSTART=FALSE
PDAT_ACT=PPDAT11
FDAT_ACT=Fp53
BAS(#PTP_PARAMS,100)
PTP Xp53 C_DIS
;ENDFOLD
;#####################################################
;Ablegen position 5 b ############################
Trigger when Distance=1 Delay=0 do Pfadnr = 11
;FOLD PTP p52 CONT Vel=100 % PDAT10 Tool[1]:Greifer 1 Base[0];%{PE}%R 8.2.20,%MKUKATPBASIS,%CMOVE,%VPTP,%P 1:PTP, 2:p52, 3:C_DIS, 5:100, 7:PDAT10
$BWDSTART=FALSE
PDAT_ACT=PPDAT10
FDAT_ACT=Fp52
BAS(#PTP_PARAMS,100)
PTP Xp52 C_DIS
;ENDFOLD
;#####################################################
;Allgemeine Zwischenposition fuer alle Teile #####
Trigger when Distance=1 Delay=0 do Pfadnr = 1
;FOLD PTP p11 CONT Vel=100 % PDAT3 Tool[1]:Greifer 1 Base[0];%{PE}%R 8.2.20,%MKUKATPBASIS,%CMOVE,%VPTP,%P 1:PTP, 2:p11, 3:C_DIS, 5:100, 7:PDAT3
$BWDSTART=FALSE
PDAT_ACT=PPDAT3
FDAT_ACT=Fp11
BAS(#PTP_PARAMS,100)
PTP Xp11 C_DIS
;ENDFOLD
;#####################################################
HOLEN()
;Allgemeine Zwischenposition fuer alle Teile #####
Trigger when Distance=1 Delay=0 do Pfadnr = 11
;FOLD PTP p11 CONT Vel=100 % PDAT3 Tool[1]:Greifer 1 Base[0];%{PE}%R 8.2.20,%MKUKATPBASIS,%CMOVE,%VPTP,%P 1:PTP, 2:p11, 3:C_DIS, 5:100, 7:PDAT3
$BWDSTART=FALSE
PDAT_ACT=PPDAT3
FDAT_ACT=Fp11
BAS(#PTP_PARAMS,100)
PTP Xp11 C_DIS
;ENDFOLD
;#####################################################
;Ablegen position 6 b ############################
Trigger when Distance=1 Delay=0 do Pfadnr = 62
;FOLD PTP p62 CONT Vel=100 % PDAT12 Tool[1]:Greifer 1 Base[0];%{PE}%R 8.2.20,%MKUKATPBASIS,%CMOVE,%VPTP,%P 1:PTP, 2:p62, 3:C_DIS, 5:100, 7:PDAT12
$BWDSTART=FALSE
PDAT_ACT=PPDAT12
FDAT_ACT=Fp62
BAS(#PTP_PARAMS,100)
PTP Xp62 C_DIS
;ENDFOLD
;#####################################################
;Ablegen position 6 c ############################
;FOLD PTP p63 CONT Vel=100 % PDAT13 Tool[1]:Greifer 1 Base[0];%{PE}%R 8.2.20,%MKUKATPBASIS,%CMOVE,%VPTP,%P 1:PTP, 2:p63, 3:C_DIS, 5:100, 7:PDAT13
$BWDSTART=FALSE
PDAT_ACT=PPDAT13
FDAT_ACT=Fp63
BAS(#PTP_PARAMS,100)
PTP Xp63 C_DIS
;ENDFOLD
;#####################################################
;Ablegen position 6 d unten ######################
;FOLD LIN p64 CONT Vel=0.02 m/s CPDAT6 Tool[1]:Greifer 1 Base[0];%{PE}%R 8.2.20,%MKUKATPBASIS,%CMOVE,%VLIN,%P 1:LIN, 2:p64, 3:C_DIS C_DIS, 5:0.02, 7:CPDAT6
$BWDSTART=FALSE
LDAT_ACT=LCPDAT6
FDAT_ACT=Fp64
BAS(#CP_PARAMS,0.02)
LIN Xp64 C_DIS C_DIS
;ENDFOLD
;#####################################################
;Greifer öffnen
GREauf()
;Greifer öffnen
;Ablegen position 6 c ############################
;FOLD PTP p63 CONT Vel=100 % PDAT13 Tool[1]:Greifer 1 Base[0];%{PE}%R 8.2.20,%MKUKATPBASIS,%CMOVE,%VPTP,%P 1:PTP, 2:p63, 3:C_DIS, 5:100, 7:PDAT13
$BWDSTART=FALSE
PDAT_ACT=PPDAT13
FDAT_ACT=Fp63
BAS(#PTP_PARAMS,100)
PTP Xp63 C_DIS
;ENDFOLD
;#####################################################
;Ablegen position 6 b ############################
Trigger when Distance=1 Delay=0 do Pfadnr = 11
;FOLD PTP p62 CONT Vel=100 % PDAT12 Tool[1]:Greifer 1 Base[0];%{PE}%R 8.2.20,%MKUKATPBASIS,%CMOVE,%VPTP,%P 1:PTP, 2:p62, 3:C_DIS, 5:100, 7:PDAT12
$BWDSTART=FALSE
PDAT_ACT=PPDAT12
FDAT_ACT=Fp62
BAS(#PTP_PARAMS,100)
PTP Xp62 C_DIS
;ENDFOLD
;#####################################################
;Allgemeine Zwischenposition fuer alle Teile #####
Trigger when Distance=1 Delay=0 do Pfadnr = 1
;FOLD PTP p11 CONT Vel=100 % PDAT3 Tool[1]:Greifer 1 Base[0];%{PE}%R 8.2.20,%MKUKATPBASIS,%CMOVE,%VPTP,%P 1:PTP, 2:p11, 3:C_DIS, 5:100, 7:PDAT3
$BWDSTART=FALSE
PDAT_ACT=PPDAT3
FDAT_ACT=Fp11
BAS(#PTP_PARAMS,100)
PTP Xp11 C_DIS
;ENDFOLD
;#####################################################
HOLEN()
;Allgemeine Zwischenposition fuer alle Teile #####
Trigger when Distance=1 Delay=0 do Pfadnr = 11
;FOLD PTP p11 CONT Vel=100 % PDAT3 Tool[1]:Greifer 1 Base[0];%{PE}%R 8.2.20,%MKUKATPBASIS,%CMOVE,%VPTP,%P 1:PTP, 2:p11, 3:C_DIS, 5:100, 7:PDAT3
$BWDSTART=FALSE
PDAT_ACT=PPDAT3
FDAT_ACT=Fp11
BAS(#PTP_PARAMS,100)
PTP Xp11 C_DIS
;ENDFOLD
;#####################################################
;Ablegen position 7 b ############################
Trigger when Distance=1 Delay=0 do Pfadnr = 72
;FOLD PTP p72 CONT Vel=100 % PDAT14 Tool[1]:Greifer 1 Base[0];%{PE}%R 8.2.20,%MKUKATPBASIS,%CMOVE,%VPTP,%P 1:PTP, 2:p72, 3:C_DIS, 5:100, 7:PDAT14
$BWDSTART=FALSE
PDAT_ACT=PPDAT14
FDAT_ACT=Fp72
BAS(#PTP_PARAMS,100)
PTP Xp72 C_DIS
;ENDFOLD
;#####################################################
;Ablegen position 7 c ############################
;FOLD PTP p73 CONT Vel=100 % PDAT15 Tool[1]:Greifer 1 Base[0];%{PE}%R 8.2.20,%MKUKATPBASIS,%CMOVE,%VPTP,%P 1:PTP, 2:p73, 3:C_DIS, 5:100, 7:PDAT15
$BWDSTART=FALSE
PDAT_ACT=PPDAT15
FDAT_ACT=Fp73
BAS(#PTP_PARAMS,100)
PTP Xp73 C_DIS
;ENDFOLD
;#####################################################
;Ablegen position 7 d unten
;FOLD LIN p74 CONT Vel=0.02 m/s CPDAT7 Tool[1]:Greifer 1 Base[0];%{PE}%R 8.2.20,%MKUKATPBASIS,%CMOVE,%VLIN,%P 1:LIN, 2:p74, 3:C_DIS C_DIS, 5:0.02, 7:CPDAT7
$BWDSTART=FALSE
LDAT_ACT=LCPDAT7
FDAT_ACT=Fp74
BAS(#CP_PARAMS,0.02)
LIN Xp74 C_DIS C_DIS
;ENDFOLD
;#####################################################
;Greifer öffnen
GREauf()
;Greifer öffnen
;Ablegen position 7 c ############################
;FOLD PTP p73 CONT Vel=100 % PDAT15 Tool[1]:Greifer 1 Base[0];%{PE}%R 8.2.20,%MKUKATPBASIS,%CMOVE,%VPTP,%P 1:PTP, 2:p73, 3:C_DIS, 5:100, 7:PDAT15
$BWDSTART=FALSE
PDAT_ACT=PPDAT15
FDAT_ACT=Fp73
BAS(#PTP_PARAMS,100)
PTP Xp73 C_DIS
;ENDFOLD
;#####################################################
;Ablegen position 7 b ############################
Trigger when Distance=1 Delay=0 do Pfadnr = 11
;FOLD PTP p72 CONT Vel=100 % PDAT14 Tool[1]:Greifer 1 Base[0];%{PE}%R 8.2.20,%MKUKATPBASIS,%CMOVE,%VPTP,%P 1:PTP, 2:p72, 3:C_DIS, 5:100, 7:PDAT14
$BWDSTART=FALSE
PDAT_ACT=PPDAT14
FDAT_ACT=Fp72
BAS(#PTP_PARAMS,100)
PTP Xp72 C_DIS
;ENDFOLD
;#####################################################
;Allgemeine Zwischenposition fuer alle Teile #####
Trigger when Distance=1 Delay=0 do Pfadnr = 1
;FOLD PTP p11 CONT Vel=100 % PDAT3 Tool[1]:Greifer 1 Base[0];%{PE}%R 8.2.20,%MKUKATPBASIS,%CMOVE,%VPTP,%P 1:PTP, 2:p11, 3:C_DIS, 5:100, 7:PDAT3
$BWDSTART=FALSE
PDAT_ACT=PPDAT3
FDAT_ACT=Fp11
BAS(#PTP_PARAMS,100)
PTP Xp11 C_DIS
;ENDFOLD
;#####################################################
HOLEN()
;Allgemeine Zwischenposition fuer alle Teile #####
Trigger when Distance=1 Delay=0 do Pfadnr = 11
;FOLD PTP p11 CONT Vel=100 % PDAT3 Tool[1]:Greifer 1 Base[0];%{PE}%R 8.2.20,%MKUKATPBASIS,%CMOVE,%VPTP,%P 1:PTP, 2:p11, 3:C_DIS, 5:100, 7:PDAT3
$BWDSTART=FALSE
PDAT_ACT=PPDAT3
FDAT_ACT=Fp11
BAS(#PTP_PARAMS,100)
PTP Xp11 C_DIS
;ENDFOLD
;#####################################################
;Ablegen position 8 b ############################
Trigger when Distance=1 Delay=0 do Pfadnr = 82
;FOLD PTP p82 CONT Vel=100 % PDAT16 Tool[1]:Greifer 1 Base[0];%{PE}%R 8.2.20,%MKUKATPBASIS,%CMOVE,%VPTP,%P 1:PTP, 2:p82, 3:C_DIS, 5:100, 7:PDAT16
$BWDSTART=FALSE
PDAT_ACT=PPDAT16
FDAT_ACT=Fp82
BAS(#PTP_PARAMS,100)
PTP Xp82 C_DIS
;ENDFOLD
;#####################################################
;Ablegen position 8 c ############################
;FOLD PTP p83 CONT Vel=100 % PDAT17 Tool[1]:Greifer 1 Base[0];%{PE}%R 8.2.20,%MKUKATPBASIS,%CMOVE,%VPTP,%P 1:PTP, 2:p83, 3:C_DIS, 5:100, 7:PDAT17
$BWDSTART=FALSE
PDAT_ACT=PPDAT17
FDAT_ACT=Fp83
BAS(#PTP_PARAMS,100)
PTP Xp83 C_DIS
;ENDFOLD
;#####################################################
;Ablegen position 8 d unten
;FOLD LIN p84 CONT Vel=0.02 m/s CPDAT8 Tool[1]:Greifer 1 Base[0];%{PE}%R 8.2.20,%MKUKATPBASIS,%CMOVE,%VLIN,%P 1:LIN, 2:p84, 3:C_DIS C_DIS, 5:0.02, 7:CPDAT8
$BWDSTART=FALSE
LDAT_ACT=LCPDAT8
FDAT_ACT=Fp84
BAS(#CP_PARAMS,0.02)
LIN Xp84 C_DIS C_DIS
;ENDFOLD
;#####################################################
;Greifer öffnen
GREauf()
;Greifer öffnen
;Ablegen position 8 c ############################
;FOLD PTP p83 CONT Vel=100 % PDAT17 Tool[1]:Greifer 1 Base[0];%{PE}%R 8.2.20,%MKUKATPBASIS,%CMOVE,%VPTP,%P 1:PTP, 2:p83, 3:C_DIS, 5:100, 7:PDAT17
$BWDSTART=FALSE
PDAT_ACT=PPDAT17
FDAT_ACT=Fp83
BAS(#PTP_PARAMS,100)
PTP Xp83 C_DIS
;ENDFOLD
;#####################################################
;Ablegen position 8 b ############################
Trigger when Distance=1 Delay=0 do Pfadnr = 11
;FOLD PTP p82 CONT Vel=100 % PDAT16 Tool[1]:Greifer 1 Base[0];%{PE}%R 8.2.20,%MKUKATPBASIS,%CMOVE,%VPTP,%P 1:PTP, 2:p82, 3:C_DIS, 5:100, 7:PDAT16
$BWDSTART=FALSE
PDAT_ACT=PPDAT16
FDAT_ACT=Fp82
BAS(#PTP_PARAMS,100)
PTP Xp82 C_DIS
;ENDFOLD
;#####################################################
;Allgemeine Zwischenposition fuer alle Teile #####
Trigger when Distance=1 Delay=0 do Pfadnr = 1
;FOLD PTP p11 CONT Vel=100 % PDAT3 Tool[1]:Greifer 1 Base[0];%{PE}%R 8.2.20,%MKUKATPBASIS,%CMOVE,%VPTP,%P 1:PTP, 2:p11, 3:C_DIS, 5:100, 7:PDAT3
$BWDSTART=FALSE
PDAT_ACT=PPDAT3
FDAT_ACT=Fp11
BAS(#PTP_PARAMS,100)
PTP Xp11 C_DIS
;ENDFOLD
;#####################################################
HOLEN()
;Allgemeine Zwischenposition fuer alle Teile #####
Trigger when Distance=1 Delay=0 do Pfadnr = 11
;FOLD PTP p11 CONT Vel=100 % PDAT3 Tool[1]:Greifer 1 Base[0];%{PE}%R 8.2.20,%MKUKATPBASIS,%CMOVE,%VPTP,%P 1:PTP, 2:p11, 3:C_DIS, 5:100, 7:PDAT3
$BWDSTART=FALSE
PDAT_ACT=PPDAT3
FDAT_ACT=Fp11
BAS(#PTP_PARAMS,100)
PTP Xp11 C_DIS
;ENDFOLD
;#####################################################
;Ablegen position 9 b ############################
Trigger when Distance=1 Delay=0 do Pfadnr = 92
;FOLD PTP p92 CONT Vel=100 % PDAT18 Tool[1]:Greifer 1 Base[0];%{PE}%R 8.2.20,%MKUKATPBASIS,%CMOVE,%VPTP,%P 1:PTP, 2:p92, 3:C_DIS, 5:100, 7:PDAT18
$BWDSTART=FALSE
PDAT_ACT=PPDAT18
FDAT_ACT=Fp92
BAS(#PTP_PARAMS,100)
PTP Xp92 C_DIS
;ENDFOLD
;#####################################################
;Ablegen position 9 c ############################
;FOLD PTP p93 CONT Vel=100 % PDAT19 Tool[1]:Greifer 1 Base[0];%{PE}%R 8.2.20,%MKUKATPBASIS,%CMOVE,%VPTP,%P 1:PTP, 2:p93, 3:C_DIS, 5:100, 7:PDAT19
$BWDSTART=FALSE
PDAT_ACT=PPDAT19
FDAT_ACT=Fp93
BAS(#PTP_PARAMS,100)
PTP Xp93 C_DIS
;ENDFOLD
;#####################################################
;Ablegen position 9 d unten ######################
;FOLD LIN p94 CONT Vel=0.02 m/s CPDAT9 Tool[1]:Greifer 1 Base[0];%{PE}%R 8.2.20,%MKUKATPBASIS,%CMOVE,%VLIN,%P 1:LIN, 2:p94, 3:C_DIS C_DIS, 5:0.02, 7:CPDAT9
$BWDSTART=FALSE
LDAT_ACT=LCPDAT9
FDAT_ACT=Fp94
BAS(#CP_PARAMS,0.02)
LIN Xp94 C_DIS C_DIS
;ENDFOLD
;#####################################################
;Greifer öffnen
GREauf()
;Greifer öffnen
;Ablegen position 9 c ############################
;FOLD PTP p93 CONT Vel=100 % PDAT19 Tool[1]:Greifer 1 Base[0];%{PE}%R 8.2.20,%MKUKATPBASIS,%CMOVE,%VPTP,%P 1:PTP, 2:p93, 3:C_DIS, 5:100, 7:PDAT19
$BWDSTART=FALSE
PDAT_ACT=PPDAT19
FDAT_ACT=Fp93
BAS(#PTP_PARAMS,100)
PTP Xp93 C_DIS
;ENDFOLD
;#####################################################
;Ablegen position 9 b ############################
Trigger when Distance=1 Delay=0 do Pfadnr = 11
;FOLD PTP p92 CONT Vel=100 % PDAT18 Tool[1]:Greifer 1 Base[0];%{PE}%R 8.2.20,%MKUKATPBASIS,%CMOVE,%VPTP,%P 1:PTP, 2:p92, 3:C_DIS, 5:100, 7:PDAT18
$BWDSTART=FALSE
PDAT_ACT=PPDAT18
FDAT_ACT=Fp92
BAS(#PTP_PARAMS,100)
PTP Xp92 C_DIS
;ENDFOLD
;#####################################################
;Allgemeine Zwischenposition fuer alle Teile #####
Trigger when Distance=1 Delay=0 do Pfadnr = 1
;FOLD PTP p11 CONT Vel=100 % PDAT3 Tool[1]:Greifer 1 Base[0];%{PE}%R 8.2.20,%MKUKATPBASIS,%CMOVE,%VPTP,%P 1:PTP, 2:p11, 3:C_DIS, 5:100, 7:PDAT3
$BWDSTART=FALSE
PDAT_ACT=PPDAT3
FDAT_ACT=Fp11
BAS(#PTP_PARAMS,100)
PTP Xp11 C_DIS
;ENDFOLD
;#####################################################
;FOLD PTP HOME Vel= 100 % DEFAULT;%{PE}%MKUKATPBASIS,%CMOVE,%VPTP,%P 1:PTP, 2:HOME, 3:, 5:100, 7:DEFAULT
$BWDSTART = FALSE
PDAT_ACT=PDEFAULT
FDAT_ACT=FHOME
BAS (#PTP_PARAMS,100 )
$H_POS=XHOME
PTP XHOME
;ENDFOLD
$ADVANCE = 0
END
DEF RueRa() Ab hier ansehen
INTERRUPT OFF 20; Interrupt ausschalten
BRAKE
TeilimGreifer=False
$out[201] = FALSE
RUEWAE=TRUE
;Abbru=TRUE
$OV_PRO=99
$VEL.CP=2.0 ;------- Speed -------;
;$VEL_ACT ;------- actuelle Speed -------;
;$BASE=$NULLFRAME
;$TOOL=TOOL1
Repeat
IF Pfadnr==92 THEN
LIN XP92 C_VEL #################### programmierte Geschwindigkeit = 2.0 ; tatsächliche Geschw. = etwa 0,5 mm / Sekunde
WAIT SEC 1
Pfadnr = 11
ENDIF
IF Pfadnr==82 THEN
LIN XP82 C_VEL
WAIT SEC 1
Pfadnr = 11
ENDIF
IF Pfadnr==72 THEN
LIN XP72 C_VEL
WAIT SEC 1
Pfadnr = 11
ENDIF
IF Pfadnr==62 THEN
LIN XP62 C_VEL
WAIT SEC 1
Pfadnr = 11
ENDIF
IF Pfadnr==52 THEN
LIN XP52 C_VEL
WAIT SEC 1
Pfadnr = 11
ENDIF
IF Pfadnr==42 THEN
LIN XP42 C_VEL
WAIT SEC 1
Pfadnr = 11
ENDIF
IF Pfadnr==32 THEN
LIN XP32 C_VEL
WAIT SEC 1
Pfadnr = 11
ENDIF
IF Pfadnr==22 THEN
LIN XP22 C_VEL
WAIT SEC 1
Pfadnr = 11
ENDIF
IF Pfadnr==12 THEN
LIN XP12 C_VEL
WAIT SEC 1
Pfadnr = 11
ENDIF
IF Pfadnr==11 THEN
LIN XP11 C_VEL
WAIT SEC 1
Pfadnr = 1
ENDIF
IF Pfadnr==1 THEN
LIN XP0 C_VEL
WAIT SEC 1
Pfadnr = 0
$OV_PRO=100
RUEWAE=FALSE
GREauf()
ENDIF
UNTIL Pfadnr==0
; Ende der Untilschleife
;INTERRUPT ON 20
RESUME
END
DEF SICHERRUECK()
INTERRUPT OFF 20; Interrupt ausschalten
BRAKE
; ############################ Sicherheitsabfrage ###############################
REPEAT
IF Antw<1 THEN
MsgDialog(Antw, "Soll der Roboter rueckwaerts rausfahren?", "BFSa_RL", "3xlkjydhfvkj", "NEIN", "JA", , , , , , false, 2,)
; ################################################################################## Antw=7, Antw=6, Antw=5 usw
ENDIF
WAIT SEC 0.5
UNTIL Antw>0
; ###############################################################################
IF Antw==6 THEN
RUEWAE=TRUE
Antw=0
TeilimGreifer=False
ELSE
RUEWAE=FALSE
Antw=0
ENDIF
IF RUEWAE THEN
RueRa()
ELSE
INTERRUPT ON 20; Interrupt einschalten
ENDIF
END
########################################################################################################
Wer kann mir weiterhelfen???