Unterdrückung von G-Code-Sätzen
disableMask
disableMask(): LWORD
Liefert den aktuellen Wert der Disable-Maske. Beachten Sie, dass die Maske auch von der SPS eingestellt werden kann.
disableMaskSet
disableMaskSet(mask:= LWORD)
Setzt die interne Disable-Maske auf den angegebenen Wert. Die Maske wird verwendet, um die Ausführung von G
-Codesätzen zu unterdrücken. Die Disable-Maske hat den Standardwert 0
, d.h. standardmäßig ist keine Unterdrückung aktiv. Die Maske besteht aus 64
Bit.
In einer binären Schreibweise wie 2#1101
werden die Bits von rechts nach links nummeriert, beginnend mit dem Bit 0
. Bei dem Wert 2#1101
werden die Bits 0
, 2
und 3
durch den Wert one
gesetzt. Die übrigen Bits sind nicht gesetzt, wenn sie den Wert zero
aufweisen.
Beispiel:
Die resultierende Bahn des folgenden Beispiels ist in der Abbildung "BeispielDisableMaskSet" dargestellt. Die Disable-Maske ist zunächst auf den binären Wert 2#1101
eingestellt, der dem dezimalen Wert 13
entspricht. Der erste G
-Code, im Beispiel N10
, wird immer ausgeführt, unabhängig von der aktuellen Disable-Maske, da in der N10
-Zeile kein '/'-Operator vorhanden ist. N20
wird nur ausgeführt, wenn das Bit 0
nicht gesetzt ist. Wenn das Bit 0
gesetzt ist, wird N20
unterdrückt, was im gegebenen Beispiel zutrifft. Dasselbe gilt für N30
, da "/
" nur eine Kurzform von "/0
" ist. N40
wird nicht unterdrückt, da das Bit 1
nicht gesetzt ist. Die G
-Codes N50
und N60
nach disableMaskSet(0)
werden ausgeführt, da kein Bit in der Disable-Maske gesetzt ist. Im Gegensatz dazu setzt der Aufruf disableMaskSet(-1)
alle Bits der Maske. Folglich sind die nachfolgenden G
-Codes, denen ein '/
' vorangestellt ist, N80
und N90
, deaktiviert.
!disableMaskSet(2#1101);
N10 G01 X10 Y10 F6000
/0 N20 G01 X20 Y0
/ N30 G01 X30 Y0
/1 N40 G01 X40 Y10
!disableMaskSet(0);
/ N50 G01 X50 Y0
/1 N60 G01 X60 Y10
!disableMaskSet(-1);
N70 G01 X70 Y0
/1 N80 G01 X80 Y10
/2 N90 G01 X90 Y20
M02
Abbildung "BeispielDisableMaskSet".