Eigendefinierte Variablen
Eigendefinierte Variablen werden im NC-Haupt- oder Unterprogramm nach dem Programmname in einem Deklarationsblock angelegt (und ggf. initialisiert), der mit #VAR beginnt und mit #ENDVAR abgeschlossen wird.
Aus Gründen der Kompatibilität zu älteren Versionen dürfen V.P- und V.S-Variablen auch außerhalb eines Deklarationsblocks angelegt werden. Das Anlegen erfolgt dann implizit beim ersten Schreibzugriff auf die Variable. Dies gilt allerdings nicht für V.L.-Variablen und Variablen-Arrays, die immer in einem Deklarationsblock angelegt werden müssen. Zur besseren Übersicht kann die Initialisierung eines Variablen-Arrays mit dem \-Zeichen auch über mehrere NC-Zeilen geschrieben werden. Folgende Syntax wird zum Anlegen verwendet:
#VAR Beginn des Deklarationsblockes
:
: Deklarations und Initialisierungsbereich
:
#ENDVAR Ende des Deklarationsblockes
Programmierbeispiel
%prog_name
:
#VAR
V.P.ARRAY_1[3][6] = [10,11,12,13,14,15, \
20,21,22,23,24,25, \
30,31,32,33,34,35 ]
V.L.MY_ARRAY[3][6] = [10,11,12,13,14,15, 20,21,22,23,24,25, 30,31,32,33,34,35]
V.P.VAR_1
V.L.VAR_1
V.S.VAR_1
#ENDVAR
Eigendefinierte Variablen und Variablen-Arrays können im NC-Programm auch wieder gelöscht werden. Hierzu steht der Befehl #DELETE mit folgender Syntax zur Verfügung.
#DELETE V. <name> {,V.<name>}
Programmierbeispiel
#DELETE V.P.ARRAY_1, V.L.MY_ARRAY, V.P.VAR_1, V.L.VAR_1, V.S.VAR_1
Desweiteren stehen die SIZEOF- und die EXIST-Funktion zur Verfügung (siehe Kapitel 2.6.1.3) die die Dimensionsgröße von Variablenarrays ermitteln und die Existenz von eigendefinierten Variablen überprüfen.
Programmierbeispiel
Durch die EXIST-Abfrage auf eine eigendefinierte V.S.-Arrayvariable (einen beliebigen gültigen Index) wird geprüft, ob diese Variable z.B. bereits in einem vorhergehenden NC-Programm angelegt wurde oder noch definiert werden muss:
...
N10 $IF EXIST[V.S.EXAMPLE[0]] == TRUE
N20 V.S.EXAMPLE[2] = 10 (V.S-Variable[2] mit einem Wert belegen)
N30 $ELSE
N40 #VAR
N50 V.S.EXAMPLE[5] = [1,2,3,4,5 ]
N60 #ENDVAR
N60 $ENDIF
...
M30