Herunterladen Inhalt Inhalt Diese Seite drucken

IDEC MICROSmart pentra FC5A Serie Betriebsanleitung Seite 205

Vorschau ausblenden Andere Handbücher für MICROSmart pentra FC5A Serie:
Inhaltsverzeichnis

Werbung

Interrupts deaktivieren und aktivieren
Die Interrupt-Eingänge I2 bis I5 und der Timer-Interrupt sind normalerweise aktiviert, wenn die CPU in Betrieb
ist. Sie können jedoch auch einzeln mit dem DI-Befehl deaktiviert oder mit dem EI-Befehl aktiviert werden.
Wenn die Interrupt-Eingänge I2 bis I5 aktiviert sind, werden die Sondermerker M8140 bis M8143 eingeschaltet.
Siehe Seite 11-7 (Erweiterte Ausgabe).
Beispiel: Interrupt-Eingang
Das folgende Beispiel zeigt ein Programm, bei dem die Interrupt-Eingangsfunktion verwendet wird, wobei der
Eingang I2 als Interrupt-Eingang festgelegt wird. Beim Einschalten des Interrupt-Eingangs wird der Status des
I0-Eingangs sofort mit Hilfe des IOREF (E/A aktualisieren) Befehls zum Ausgang Q0 übertragen, bevor der
END-Befehl ausgeführt wird. Nähere Informationen über den IOREF-Befehl finden Sie auf Seite 11-9
(Erweiterte Ausgabe).
MOV(W)
S1 –
M8120
Hauptprogramm
M8125
M300
M8125
Hinweise hinsichtlich der Verwendung von Interrupt-Eingängen und Timer-Eingängen:
• Bei Verwendung eines Interrupt-Eingangs oder eines Timer-Eingangs muss das Interruptprogramm mit Hilfe des END-
Befehls am Ende des Hauptprogramms vom Hauptprogramm getrennt werden.
• Wenn ein Interruptprogramm eine andere Subroutine aufruft, können höchstens 3 Subroutinenaufrufe verschachtelt
werden. Wenn mehr als 3 Aufrufe verschachtelt werden, kommt es zu einem Anwenderprogramm-Ausführungsfehler,
wodurch der Sondermerker M8004 und die Fehler-LED eingeschaltet werden.
• Bei Verwendung eines Interrupt-Eingangs oder Timer-Eingangs muss die Markierungsnummer des Interruptprogramms
enthalten sein, das bei Auftreten eines Interrupts ausgeführt werden soll. Die in den Datenregistern D8032 bis D8036
gespeicherte Markierungsnummer legt die Interruptprogramme für die Interrupt-Eingänge I2 bis I5 bzw. den Timer-Eingang
fest.
• Wenn gleichzeitig mehr als ein Interrupt eingeschaltet werden, wird die Priorität der Ausführung der Interruptprogramme
in folgender Reihenfolge festgelegt: I2, I3, I4 und I5. Wird ein Interrupt während der Ausführung eines anderen
Interruptprogramms initiiert, so wird das nachfolgende Interruptprogramm nach Fertigstellung des vorigen Interrupts
ausgeführt. Es ist nicht möglich, mehrere Interruptprogramme gleichzeitig auszuführen.
• Stellen Sie sicher, dass die Ausführungszeit des Interruptprogramms kürzer ist als die Interruptintervalle.
• Die folgenden Befehle können von Interruptprogrammen nicht verwendet werden: SOTU, SOTD, TML, TIM, TMH, TMS,
CNT, CDP, CUD, SFR, SFRN, WKTIM, WKTBL, DISP, DGRD, TXD1/2, RXD1/2, DI, EI, XYFS, CVXTY, CVYTX, PULS1/
2/3, PWM1/2/3, RAMP1/2, ZRN1/2/3, PID, DTML, DTIM, DTMH, DTMS, TTIM, RUNA und STPA.
• Für die Übertragung der Interrupteingangssignale sollte ein abgeschirmtes Twisted-Pair-Kabel verwendet werden.
D1 –
REP
0
D8032
END
LABEL
0
IOREF
S1
I0
Q0
IOREF
S1
Q0
LRET
M
S
FC5A B
ICRO
MART
M8120 ist der Richtimpuls-Sondermerker.
D8032 speichert 0, um das Sprungziel-Label 0 für den Interrupt-Eingang
I2 festzulegen.
Das Interrupt-Programm wird durch den END-Befehl vom
Hauptprogramm getrennt.
Wenn der Eingang I2 eingeschaltet ist, springt die Programmausführung
zum Label 0.
M8125 ist der in Betrieb stehende Ausgangs-Sondermerker.
IOREF liest sofort den Status des Eingangs I0 in den Merker M300.
M300 schaltet den internen Speicher des Ausgangs Q0 ein oder aus.
Ein anderer IOREF-Befehl schreibt sofort den Status des internen
Speichers des Ausgangs Q0 in den aktuellen Ausgang Q0.
Der Programmablauf kehrt zum Hauptprogramm zurück.
Fügen Sie einen LRET-Befehl am Ende der Subroutine ein, um zum
Hauptprogramm zurückzukehren.
ENUTZERHANDBUCH
5: S
PEZIELLE
FC9Y-B1271
F
UNKTIONEN
5-37

Werbung

Inhaltsverzeichnis
loading

Inhaltsverzeichnis