Herunterladen Diese Seite drucken

Danfoss MCO 305 Befehlsreferenz Seite 33

Vorschau ausblenden Andere Handbücher für MCO 305:

Werbung

MCO 305 Befehlsreferenz
DISABLE .. interrupts
Kurzinfo
Syntax
Parameter
Beschreibung
__ Befehlsreferenz __
Sperrt die Ausführung von Interrupts.
DISABLE inttyp
inttyp =
ALL
CANMSG
COMBIT
INT
KEYPRESSED
PARAM
PERIOD
position interrupts: ON APOS, ON IPOS, ON MAPOS, ON MCPOS, ON MIPOS
STATBIT
TIME
ACHTUNG!:
Die Ausführung der Fehlerbehandlung (ON ERROR) kann mit DISABLE nicht
gesperrt werden. Der Fehler-Interrupt hat höchste Priorität und unterbricht auch
andere aktive Interrupts.
DISABLE schaltet alle oder explizit genannte Interrupts – außer ON ERROR – ab.
Wenn die Funktion DISABLE .. im Hauptprogramm verwendet wird, kann sie Inter-
rupts der entsprechenden Art verhindern.
Dies ist insbesondere nützlich, wenn eine Variable, die in einer Interrupt-Prozedur
gesetzt ist, im Hauptprogramm verwendet wird. Dazu sollten Sie im Hauptpro-
gramm zunächst die entsprechenden (oder alle) Interrupts mit DISABLE .. abschal-
ten, die Variable ändern und anschließend die entsprechenden (oder alle) Inter-
rupts mit ENABLE .. wieder einschalten.
ACHTUNG!:
Wird ein Interrupt disabled (d.h. gesperrt) existiert er weiterhin, wird aber nicht
mehr ausgeführt. (Ausnahme: DISABLE ALL).
Die Erkennung läuft weiter im Hintergrund und die Interrupt-Anforderung wird im
Fall eines nicht (!) flankengetriggerten oder nachrichtenorientierten Interrupts (ON
PERIOD, ON APOS, ON PARAM, etc.) gespeichert. Wenn der Interrupt dann wieder
enabled (d.h. freigegeben) wird und es zuvor einen noch nicht ausgeführten,
gespeicherten (nicht flankengetriggerten) Interrupt gab, wird dieser Interrupt
sofort ausgeführt.
Im Fall eines flankengetriggerten Interrupts (z.B. ON INT, ON COMBIT, ON
STATBIT), werden alle Interrupts, die während der DISABLE-Phase stattgefunden
haben, nicht ausgeführt, auch dann nicht, wenn wieder auf ENABLE umgeschaltet
wird. Diese Interrupts werden im Status DISABLE nicht gespeichert. Flankengetrig-
gerte Interrupts, die nach dem erneuten ENABLE stattfinden, werden weiterhin
wieder ausgeführt.
ACHTUNG!:
Ausnahme: DISABLE ALL
Während bei dem selektiven Sperren flankengetriggerter Interrupts (z.B. DISABLE
INT) diese Interrupts, wie beschrieben, ignoriert und auch nach der Freigabe nicht
mehr ausgeführt werden, wird bei DISABLE ALL die Anforderung (auch von
flankengetriggerten Interrupts) gespeichert und der Interrupt nach der Freigabe
(ENABLE ALL) noch ausgeführt!
®
MG.34.R1.03 – VLT
ist ein eingetragenes Warenzeichen von Danfoss.
33

Werbung

loading