36. TIMERINTERRUPTROUTINEN
Unabhängig von der Länge des Anwenderprogramms wird alle 10 ms ein Interrupt ausgelöst und die
sogenannte Timerinterruptroutine ausgeführt. Diese Betriebssystemfunktion wird für Sicherheits- und
Diagnosefunktionen sowie für die Generierung von Softwarezeiten, Uhrzeitfunktionen, Zeittakten und
Zeitimpulsen verwendet.
Der Timerinterruptvektor (die Adresse der Timerinterruptroutine) steht in C 0972&. Die Timerinter-
ruptzeit ist in C 0974& gespeichert (Einheit µs). Timerinterruptvektor und Timerinterruptzeit dürfen
vom Anwenderprogramm nicht geändert werden.
Zusätzlich zu den Betriebssystemfunktionen kann der Anwender selbst einen oder zwei Programmteile
zeitgesteuert ausführen lassen (User-Timerinterruptroutinen). Dazu werden die Timerinterrupthandler
$US1 und $US2 verwendet. Die Parameter:
ERA
R
Aufruf
SPU
$US1
Die User-Timerinterruptroutine wird mit RET abgeschlossen. Unabhängig vom gewählten Zeitintervall
für die User-Timerinterruptroutine wird die Betriebssystem-Timerinterruptroutine alle 10 ms ausge-
führt.
HINWEIS:
Timerinterruptroutinen werden nicht ausgeführt, wenn die SPS im HALT-Zustand ist.
Zu häufiges Aufrufen von langen Timerinterruptroutinen kann die Programmzykluszeit
wesentlich verlängern und zu Systemstörungen führen. Die Summe der Ausführungszei-
ten beider Timerinterruptroutinen darf maximal 300 µs betragen.
In Timerinterruptroutinen dürfen keine Betriebssystemmathematikroutinen verwendet
werden.
gewünschter Zeitintervall in ms
Anfangsadresse der User-Timerinterruptroutine
bzw.
SPU
B&R KOMPAKTSTEUERUNG
$US2
- 119 -