Deklaration von internen Variablen
VAR (* optional_begin *) CONSTANT RETAIN NON_RETAIN PUBLIC|PROTECTED|PRIVATE|INTERNAL { instanceParam } { noCodeGeneration } (* optional_end *)
name_1, name_2, ..., name_n : data-type (* optional_begin *) := initial-value {
@RELATES_TO
:= name_A;} (* optional_end *);
name_3, name_4, ..., name_n : STRING[length] (* optional_begin *) :=
'initial-value'
{
@RELATES_TO
:= name_B;} (* optional_end *);
name_5, name_6, ..., name_n : ARRAY [x..y] OF type (* optional_begin *) := [initial-value_1, initial-value_2, .., initial-value_n] {
@RELATES_TO
:= name_C;} (* optional_end *);
name_7, name_8, ..., name_n : ARRAY [x1..y1, x2..y2, x3..y3] OF data-type; (* Initialisierungswerte und
'@RELATES_TO'
sind hier ebenfalls möglich. *)
name_9, name_10, ..., name_n : REF_TO type := REF(name_A);
END_VAR
Bedeutung |
||||||||||
Deklaration einer bzw. mehrerer interner →Variablen (auch "lokale Variablen" genannt), wobei name_1 usw. →IEC-Bezeichner sein müssen Das optionale Schlüsselwort CONSTANT markiert alle Variablen dieses Abschnitts als →konstant (das Überschreiben solcher Werte ist dann während der Ausführung des Programms nicht mehr möglich). Mit dem optionalen Schlüsselwörter für die Sichtbarkeit definieren Sie die Sichtbarkeit aller Elemente dieses Abschnitts. Diese Schlüsselwörter sind nur innerhalb der Deklaration eines Funktionsbausteins zulässig.
Abweichungen von IEC-Norm
Falls Sie es bevorzugen, dass PUBLIC der Standard ist. definieren Sie die logi.CAD 3-Konfigurationsvariable lc3.var.access.default.public und Wert TRUE. Details zu den Konfigurationsvariablen finden Sie in der englischen Dokumentation "Administrator's Manual". Die optionalen →Pragmas { instanceParam }, { noCodeGeneration } und { @RELATES_TO := name_A;} sind für Systemintegratoren vorgesehen, die Daten in der Instanzstruktur hinterlegen wollen. Durch diese Pragmas werden die Variablen im Abschnitt zu sogenannten Instanzparametern. Ein →Datentyp ist als Typ für eine Variable möglich. Informieren Sie sich unter "Unterstützte Datentypen (in ST)", welche Datentypen Sie für die Deklaration von Variablen angeben können. Mit dem optionalen →Initialisierungswert [:= initial-value] weisen Sie der Variable einen Wert zu (Details: siehe "Initialisierung von Variablen in ST").
Lokale Variablen, die innerhalb eines Funktionsbausteins deklariert werden, sind →statische Variablen . Lokale Variablen, die innerhalb einer Funktion oder einer Methode deklariert werden, sind →temporäre Variablen. |
logi.CAD 3 bietet außerdem die Möglichkeit, zusätzliche Daten bei der Deklaration anzugeben. Siehe "Beschreibung, Kommentar oder JSON-String für Variablen und Datentypen angeben" für Details.
In einem Abschnitt VAR...END_VAR ist auch die Deklaration von Funktionsbaustein-Instanzen und die Deklaration von Variablen basierend auf einem Interface zulässig.
VAR RETAIN
var1: BOOL;
var2, var3 : INT;
END_VAR
VAR
var4 : STRING[10];
var5: ARRAY [1..2] of BOOL;
var6 : INT;
myRef1: REF_TO INT;
END_VAR
FUNCTION_BLOCK ExampleVisibleVars
VAR PRIVATE // Die Variablen "Var1" und "Var2" können nur innerhalb dieses Funktionsbaustein "ExampleVisibleVars" verwendet werden.
Var1, Var2 : INT;
END_VAR
VAR // Bei Standardkonfiguration: Die Variablen "Var3" und "Var4" können ebenfalls nur innerhalb von "ExampleVisibleVars" verwendet werden.
Var3, Var4 : BOOL;
END_VAR
VAR PUBLIC // Die Variable "Var5" kann überall dort verwendet werden, wo auch der Funktionsbaustein verwendet werden kann.
Var5 : TIME;
END_VAR
END_FUNCTION_BLOCK