Herunterladen Inhalt Inhalt Diese Seite drucken

Systemvariable Für Ebenenstack Im Iso-Modus - Siemens 840D sl Funktionshandbuch

Sinumerik iso-dialekte
Vorschau ausblenden Andere Handbücher für 840D sl:
Inhaltsverzeichnis

Werbung

Programmierung
2.4 Unterprogramm- und Makrotechnik
Interrupt M96
Funktioniert nicht bei SINUMERIK 802D sl.
$MC_EXTERN_FUNCTION_MASK, Bit6 = 0
M96 Pxxxx
Ergänzung der Programmnummer immer auf 4 Stellen mit 0
$MC_EXTERN_FUNCTION_MASK, Bit6 = 1
M96 Pxxxx
Es erfolgt keine Ergänzung mit 0, auch wenn die Programmnummer weniger als 4 Stellen
hat. Programmnummer mehr als 8 Stellen führt zu Alarm.
2.4.11
Systemvariable für Ebenenstack im ISO-Modus
Im Standardmodus wird die aktuelle Programmebene in der Systemvariablen $P_STACK
angezeigt. Jeder Unterprogrammaufruf und Rücksprung beeinflusst diese Variable. Im ISO-
Modus gibt es jedoch Unterprogrammaufrufe, bei denen die aktuelle Ebene der
Anwendervariablen nicht verändert wird. Um ebenspezifische Variablen über GUDs zu
realisieren, ist es notwendig die aktuelle Programmebene im ISO-Modus zu kennen. Die
Systemvariable $P_IPO_STACK liefert die aktuelle Programmebene im ISO-Dialekt-Modus.
In der folgenden Tabelle sind alle möglichen Unterprogramm- und Makroaufrufe im ISO-
Modus und deren Einfluss auf die aktuelle Programmebene dargestellt.
Die Aufrufe im ISO-Modus werden auf Aufrufe im Standardmodus abgebildet, so dass auch
im ISO-Modus die Variable $P_STACK die selbe Information enthält wie bisher.
Die Anzahl der maximal möglichen Unterprogrammaufrufe bleibt unverändert.
Die Systemvariable $P_IPO_STACK wird immer inkrementiert, wenn ein Unterprogramm
gestartet wird, das im ISO-Modus als Makroaufruf mit G65, G66, G-Code- oder M-Makro
programmiert wird. Beim Rücksprung aus einem solchen ISO-Makro wird $P_IPO_STACK
wieder dekrementiert. Ist kein ISO-Makro aktiv, ist $P_IPO_STACK = 0. $P_IPO_STACK
liefert somit die Anzahl der gerade aktiven ISO-Makros.
Beim Aufruf eines mit M96 Pxx definierten Interruptprogramms wird abhängig von dem MD
$MC_EXTERN_FUNCTION_MASK, Bit 11 die Variable $P_IPO_STACK ebenfalls
inkremetiert.
$MC_EXTERN_FUNCTION_MASK
Bit 12 = 0, $P_IPO_STACK wird durch das Interruptprogramm nicht verändert.
Bit 12 = 1, $P_IPO_STACK wird durch das Interruptprogramm inkrementiert.
Zyklenaufrufe mit z. B. G81, G77 usw. oder Funktionen, die intern mit Zyklen realisiert sind,
z. B. G05, G72.1 usw. und Unterprogrammaufrufe mit M98 Pxx beeinflussen
$P_IPO_STACK nicht.
Beispiel:
Unterprogrammaufrufe im ISO- und Standardmodus.
M98 steht für Unterprogrammaufrufe ohne Erhöhen der Ebene
G65 P steht für Makroaufruf mit Erhöhen der Ebene
82
Funktionshandbuch, 02/2012, 6FC5397-7BP40-3AA0
ISO-Dialekte

Quicklinks ausblenden:

Werbung

Inhaltsverzeichnis
loading

Diese Anleitung auch für:

828d840de sl

Inhaltsverzeichnis