Interrupt nach erreichen einer Position starten

  • Hallo zusammen,


    ich bin auf der Suche nach einer Lösung wie ich einen Interrupt nach erreichen einer Position bzw. nach erreichen eines gewissen Z-Wertes starte. (Ohne Programmzeiger-stop)

    Ich möchte nach erreichen der Position P2 einen Interrupt starten, der mir den Roboter stoppt sobald er unter die schwarze Linie kommt wenn er auf dem Weg zu P3 ist.

    Bei P3 möchte ich den Interrupt wieder ausschalten.

    Interrupt selber ist ja kein Problem, aber wie starte ich den Interrupt nicht zu früh? Wie geschrieben möchte ich ja keinen Programmzeiger-stop verursachen da ich den Punkt P2 überschleifen möchte.


    Mit "TRIGGER WHEN PATH = 0 DELAY = 0 DO" funktionierts nicht...aber so eine ähnliche Funktion würde ich brauchen.


    Als einzige Lösung würde mit aktuell nur ein Umweg über ein Unterprogramm einfallen. Also mit "TRIGGER WHEN PATH" ein Unterprogramm aufrufen und da den Interrupt starten.


    Hat jemand eine Idee ohne Umweg?


    Danke im Voraus!

    mfg

    Andreas


    Einmal editiert, zuletzt von Andi13130 ()

  • Schritt für Schritt zum Roboterprofi!
  • Hallo,


    was meinst du mit "InterruptOnOff(INTERRUPT_EINSCHALTEN,INTERRUPT_LICHTSCHRANKE)"?
    Ist das ein selbst erstelltes Unterprogramm mit Übergabewerten?


    Ich habs vorerst mal so gelöst (vereinfacht dargestellt)

    INTERRUPT WITH BRAKE F DECL 21 WHEN $POS_ACT.Z < 1000 DO STOP_PROG()

    TRIGGER WHEN PATH = 0 DELAY = 0 DO StartInterrupt() PRIO=5

    PTP P2

    TRIGGER WHEN PATH = 0 DELAY = 0 DO StopInterrupt() PRIO=5PTP P3



    DEF StartInterrupt()

    Interrupt ON 21

    END


    DEF StopInterrupt()

    Interrupt OFF 21

    END


    Danke!


    lg

  • Hallo nochmal,


    jetzt habe ich noch das Problem, dass das lesen der "Variablen Z" nicht erlaubt ist...


    also es geht um die Interrupt Deklaration


    INTERRUPT WITH BRAKE F DECL 21 WHEN $POS_ACT.Z < 1000 DO STOP_PROG()


    Hat da jemand eine Idee?


    lg und danke im Voraus!
    Andreas

Erstelle ein Benutzerkonto oder melde dich an um zu kommentieren

Du musst ein Benutzerkonto haben um einen Kommentar hinterlassen zu können

Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen. Geht einfach!
Neues Benutzerkonto erstellen
Anmelden
Du hast bereits ein Benutzerkonto? Melde dich hier an.
Jetzt anmelden