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.

Hinweis

notice

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

prg_example

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

Hinweis

notice

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

prg_example

#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

prg_example

Durch die EXIST-Abfrage auf eine eigendefinierte V.S.-Arrayvariable (mit einem 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

N70 $ENDIF

M30