Beiträge von KoNo

    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() :icon_rofl: :icon_rofl: :icon_rofl: :icon_rofl: :icon_rofl: :icon_rofl: :icon_rofl: 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???

    Hey, Leute,


    wer kann mir helfen?
    Die SPS schickt mir die Real-Zahl 30 auf meine Eingänge $IN[161] to $IN[192]. Die Zahl kommt auch dort richtig als Real-zahl an. Wenn ich mir das Bitmuster ansehe und mit dem Exponenten e und der Mantisse m rechne, erhalte ich die Zahl 30.
    Ich habe im config.dat die Variable "REAL IN_GLAS=0.0" deklariert und weise dieser Variablen den Eingangsbereich zu.


    Schaue ich nun in die Variablenanzeige, steht dort ein Wert von 1,96357489*e-9 :wallbash:


    Wie kriege ich hier eine vernünftige Realzahl zustande? Gibt es einen Umwandler oder mache ich etwas falsch? :nocheck: