Interrupt

  • Hallo zusammen,


    ich habe ein Frage zum Interrupt. Ich habe folgende Programmzeilen. Der beschriebene Interrupt wird wie beschrieben deklariert und eingeschaltet und im Normalfall im Unterprogramm "mvSearch" ausgelöst. --> Das funktioniert einwandfrei.


    Nun folgende Frage:
    1) Was passiert wenn der Interrupt nicht im Unterprogramm "mvSearch" auslöst, sondern erst in den nachfolgenden Fahrbefehlen "LIN XpTest01 C_DIS, ..." im Hauptprogramm?
    2) Werden die Bewegungen (z.B. LIN XpTest01 C_DIS) auch durch den Interrupt gestoppt und abgebrochen, obwohl Fahrbefehle nicht im Unterprogramm?
    3) Und was passiert mit dem RESUME? Normalerweise wird doch immer eine Ebene höher gesprungen, jedoch ist hier die Interruptdeklaration auf der selben Ebene wie die Verfahrbefehle?



    Gruß
    HarryH




    GLOBAL DEF Main()... WAIT FOR (diTest==FALSE)

    INTERRUPT DECL 11 WHEN diTest==TRUE DO InterruptTest() INTERRUPT ON 11

    mvSearch() ; Unterprogramm mit Fahrbefehlen (Suchfahrt) LIN XpTest01 C_DIS LIN XpTest02 C_DIS...END

    GLOBAL DEF mvSearch() LIN XpMove01 C_DIS LIN XpMove02 WAIT SEC 0END

    GLOBAL DEF InterruptTest() INTERRUPT OFF 11 BRAKE F RESUMEEND

  • Schritt für Schritt zum Roboterprofi!
  • Die Bewegungen werden gestoppt.
    RESUME verzweigt nicht in eine Ebene höher sondern in die Ebene in der der Interrupt deklariert wurde!


    Nach dem Aufruf von mvSearch() Interrupt ausschalten.

    Greetings, Irrer Polterer!

    Wie poste ich falsch? Nachdem ich die Suche und die FAQ erfolgreich ignoriert habe, erstelle ich das gleiche Thema in mehreren Unterforen, benutze einen sehr kreativen Titel wie "Hilfe", am Besten noch mit mehreren Ausrufezeichen, und veröffentliche einen so eindeutigen Text, dass sich jeder etwas Anderes darunter vorstellt.


    Life is a beta version. Full of bugs and no Manual.

  • Danke, für die Info! Das deckt sich mit meinen Beobachtungen das auch im Hauptprogramm die Bewegungen gestoppt werden. Das liegt wohl wirklich daran, das der Interrupt nach mvSearch() nicht ausgeschaltet wird. Das muss ich noch zufügen.


    Gruß
    HarryH

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