Herunterladen Inhalt Inhalt Diese Seite drucken

Siemens SINUMERIK 840D sl Programmierhandbuch Seite 123

Vorschau ausblenden Andere Handbücher für SINUMERIK 840D sl:
Inhaltsverzeichnis

Werbung

Randbedingungen
Interrupt-Regeln
1. Für jeden Interrupt, der nicht sofort abgearbeitet werden kann, oder aktuell schon in
Bearbeitung ist, wird eine weitere Interrupt-Anforderung gespeichert. Darüber hinaus
gehende Interrupt-Anforderungen für diesen Interrupt verloren.
2. Wird aktuell ein Interrupt bearbeitet und es wird ein weiterer Interrupt mit höherer Priorität
ausgelöst, unterbricht dieser den niederprioren Interrupt. Nach Abschluss des höherprioren
Interrupts, wird der niederpriore Interrupt fortgesetzt. Treffen während der höherpriore
Interrupt bearbeitet wird, weiter Anforderungen für den niederprioren Interrupt ein, wird eine
Anforderung gespeichert. Weitere gehen verloren.
3. Wird aktuell ein Interrupt bearbeitet und es wird ein weiterer Interrupt mit höherer Priorität
ausgelöst, unterbricht dieser den niederprioren Interrupt. Der höherpriore Interrupt wird
bearbeitet. Wird wiederum ein höherpriorer Interrupt ausgelöst, wird der aktuelle Interrupt
unterbrochen und der höherpriore Interrupt bearbeitet. Maximal sind sechs aktive Interrupt-
Ebenen möglich. Eine aktuell bearbeitete Interrupt-Ebene und fünf wartende Interrupt-
Ebenen. Für jede aktive Interrupt-Ebene wird maximal eine weitere Interrupt-Anforderung
gespeichert. Alle weiteren Interrupt-Anforderungen gehen verloren. Ebenso gehen
Interrupt-Anforderung verloren, wenn diese für weitere Interrupt-Ebenen (Interrupt-Ebene
≥ 7) angefordert werden.
Beispiele
Beispiel 1: Interruptroutinen zuordnen und Priorität festlegen
Programmcode
N20 SETINT(3) PRIO=1 ABHEB_Z
N30 SETINT(2) PRIO=2 ABHEB_X
Die Interruptroutinen werden in der Reihenfolge der Prioritätswerte nacheinander
abgearbeitet, wenn die Eingänge gleichzeitig anstehen: zuerst "ABHEB_Z", dann "ABHEB_X".
Beispiel 2: Interruptroutine neu zuordnen
Programmcode
N20 SETINT(3) PRIO=2 ABHEB_Z
...
N80 SETINT(3) PRIO=1 ABHEB_X
Arbeitsvorbereitung
Programmierhandbuch, 10/2015, 6FC5398-2BP40-5AA3
Kommentar
; IF Eingang 3 == 1
; THEN Interruptroutine "ABHEB_Z" starten
; IF Eingang 2 == 1
; THEN Interruptroutine "ABHEB_X" starten.
Kommentar
; IF Eingang 3 == 1
; THEN Interruptroutine "ABHEB_Z" starten
; IF Eingang 3 == 1
; THEN Interruptroutine "ABHEB_X" starten
Flexible NC-Programmierung
2.14 Interruptroutine (ASUP)
123

Werbung

Inhaltsverzeichnis
loading

Diese Anleitung auch für:

Sinumerik 828d

Inhaltsverzeichnis