Herunterladen Inhalt Inhalt Diese Seite drucken

Beispiel: Timer-Interrupt - IDEC MICROSmart pentra FC5A Serie Betriebsanleitung

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

Werbung

Beispiel: Timer-Interrupt

Die folgenden Beispiele zeigen ein Programm, das die Timer-Interruptfunktion verwendet. Die
Funktionsbereich-Einstellungen müssen ebenfalls vorgenommen werden, um die Timer-Interruptfunktion wie
auf der vorigen Seite beschrieben zu verwenden.
MOV(W)
S1 –
M8120
Hauptprogramm
Interruptprogramm
Hinweise hinsichtlich der Verwendung von Timer-Interrupts und Interrupt-Eingängen:
• Bei Verwendung eines Timer-Interrupts oder eines Interrupt-Eingangs muss das Interrupt-Programm 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 Timer-Interrupts oder Interrupt-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.
• 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.
D1 –
REP
0
D8036
END
LABEL
0
LRET
M
S
FC5A B
ICRO
MART
M8120 ist der Richtimpuls-Sondermerker.
D8036 speichert 0, um die Sprungziel-Markierungsnummer 0 für den
Timer-Interrupt festzulegen.
Das Interrupt-Programm wird durch den END-Befehl vom
Hauptprogramm getrennt.
Während die CPU läuft, springt die Programmausführung wiederholt in
Abständen, die in den Funktionsbereicheinstellungen ausgewählt
wurden, zur Marke 0.
Jedes Mal, wenn das Interruptprogramm abgeschlossen ist, kehrt die
Programmausführung an jene Adresse des Hauptprogramms zurück, an
welcher der Timer-Interrupt aufgetreten ist.
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-39

Werbung

Inhaltsverzeichnis
loading

Inhaltsverzeichnis