# Lokal, Unterprogramm übergreifend (V.L.)

Mit der Kennung "V.L. ..." ist es möglich, eigene Variablen zu definieren, die lokal in der aktuellen Programmebene und in direkt aufgerufenen Unterprogrammebenen gültig sind. Sie werden beim Verlassen (Rücksprung) der Programmebene, in der sie angelegt wurden, gelöscht.

Eine V.L.-Variable kann in einer tieferliegenden Programmebene mit gleichem Namen erneut definiert und mit einem eigenen Wert belegt werden. Dieser Wert ist dann bis zum Verlassen (Rücksprung) aus dieser Programmebene gültig. Danach besitzt die V.L.-Variable mit gleichem Namen wieder den ursprünglichen Wert.

V.L.-Variablen können Werte im REAL-Format zugewiesen werden. Ab Version V2.11.2032.08 sind auch Deklarationen anderer Datentypen mit Initialwerten möglich.

V.L.-Variablen können auch als mehrdimensionalen Arrays angelegt werden. Es sind bis zu 4 Dimensionen möglich, z.B. V.L.TEST[1][2][3][4].

Syntax`:`
V.L.<FREE_DEF> | lokale, (Unter-) programmübergreifende Variable

<FREE_DEF> | Frei gewählter Name, der aus beliebigen Zeichen (außer Leerzeichen, Tabulatoren, Kommentaren, Vergleichsoperatoren, mathematischen Operatoren, eckigen Klammern) bestehen kann.

## Programmierbeispiel

Lokal, (Unter-) programmübergreifend (V.L.)

Anlegen von V.L.-Variablen mit und ohne Zuweisung von Datentypen und Initialwerten.

:

#VAR

V.L.LOC_VAR1 ;REAL64, 0.0

V.L.LOC_VAR2 : UNS32 = 200 ;UNS32, 200

V.L.LOC_VAR3 : REAL64 = 11.34 ;REAL64, 11.34

V.L.LOC_VAR4 : BOOLEAN ;BOOLEAN, FALSE or 0

V.L.LOC_VAR5 = 10 ;REAL64, 10.0

#ENDVAR

:

XV.L.LOC_VAR5 ;X10.0

:

Die maximale Anzahl eigendefinierter V.L.-Variablen ist fest vorgegeben [6]-6.23. Beim Programmstart werden sämtliche Namen und Werte von V.L.-Variablen gelöscht.