Eigendefinierte Variablen (#VAR, #ENDVAR, #DELETE)

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.

Die eigendefinierten Variablen haben die Einstiegskennungen V.P. , V.S. und V.L.. Ihnen können Werte im REAL-Format zugewiesen werden. Ab Version V2.11.2032.08 stehen auch eigendefinierte Variablen mit der Einstiegskennung V.CYC. zur Verfügung.

Syntax zum Anlegen eines Deklarationsblocks für eigendefinierte Variablen:

#VAR

Beginn des Deklarationsblockes

:

 

:

Deklarations und Initialisierungsbereich

:

 

#ENDVAR

Ende des Deklarationsblockes

Mit der Einführung von V.CYC.-Variablen sind für alle Arten von eigendefinierten Variablen folgende Erweiterungen verfügbar (ab: V2.11.2032.08, V2.11.2832.00, V3.1.3079.41, V3.1.3107.30)

Die Deklaration kann neben der Angabe des Variablennamens auch die Festlegung eines Datentyps und eines Initialwerts umfassen. Ohne Zuweisung eines Initialwertes wird die Variable mit dem Initialwert des jeweiligen Datentyps belegt. Ohne Angabe eines Datentyps wird die Variable grundsätzlich im REAL-Format angelegt.

Syntax der Deklaration und Initialisierung:

V.P | S | L | CYC.<Name> : <Datentyp> = <Initialwert> | "<Initialstring>"

<Name>

Frei gewählter Name der eigendefinierten Variable

<Datentyp>

Kennungen für den Datentyp (optional):

BOOLEAN

SGN08, UNS08

SGN16, UNS16

SGN32, UNS32

REAL64

STRING[i] mit <i>:= 0..126

<Initialwert>,

"<Initialstring>"

Initialwert bzw. String der Variable (optional) gemäß Datentyp

Programmierbeispiel

Anlegen von Variablen mit und ohne Typdeklaration
%test_var_def_1
:
#VAR
  V.P.VAR_1
  V.P.VAR_2 = 10.67
  V.P.VAR_3 : UNS32 = 10
  V.L.NAME_1 : STRING[20] = "GRUNDPLATTE"
  V.L.VAR_1 : REAL64 = 23.45
  V.L.VAR_2 : SGN08
#ENDVAR
Zur besseren Übersicht kann die Initialisierung eines Variablen-Arrays mit dem „\“-Zeichen auch über mehrere NC-Zeilen geschrieben werden.
%test_var_def_2
:
#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]
#ENDVAR

Der Zugriff auf Arrayvariablen beginnt bei Index 0! Mit obigem Beispiel liefert der Zugriff V.L.MY_ARRAY[0][5] somit den Wert 15.

Eigendefinierte Variablen und Variablen-Arrays können im NC-Programm auch wieder gelöscht werden. Hierzu steht der Befehl #DELETE zur Verfügung.

Syntax:

#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

Des Weiteren stehen die SIZEOF- und die EXIST-Funktion zur Verfügung (siehe Kapitel Arithmetische Ausdrücke <expr>), die die Dimensionsgröße von Variablenarrays ermitteln und die Existenz von eigendefinierten Variablen überprüfen.

Programmierbeispiel

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
N70 $ENDIF
M30