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