Variablen werden in einem der Variablenabschnitte deklariert. Eine Variable kann deklariert werden mit
- einem elementaren Datentyp oder
- einem benutzerdefinierten Typ oder
- einem Referenztyp oder
- einem benutzerdefinierten Typ innerhalb der Variablendeklaration.
Eine Variablendeklaration besteht aus
- einer Liste von Variablennamen, die deklariert werden sollen
- einem „:“ (Doppelpunkt) und
- einem Datentyp mit optionaler variablenspezifischer Initialisierung.
Beispiel
VAR
myVar1, myVar2: INT; // zwei Variablen mit einem elementaren Typ
myVar2: myType; // Verwendung eines zuvor benutzerdefinierten Typs
myVar3: ARRAY [1..8] OF REAL; // Verwendung eines sofortigen benutzerdefinierten Typs
END_VAR
Initialisierung von Variablen
Der (die) voreingestellte(n) Startwert(e) einer Variablen ist (sind)
- der (die) Standardanfangswert(e) der zugrunde liegenden elementaren Datentypen
NULL
, wenn die Variable eine Referenz ist,- der/die benutzerdefinierte(n) Wert(e) des zugewiesenen Datentyps; Dieser Wert wird optional unter Verwendung des Zuweisungsoperators
:=
in der TYPE-Deklaration angegeben, - der/die benutzerdefinierte(n) Wert(e) der Variablen; Dieser Wert wird optional mit dem Zuweisungsoperator
:=
in der VAR-Deklaration angegeben.
Variablentypen
Typ | Verwendung |
---|---|
VAR | Intern innerhalb einer Entität (Funktion, Funktionsbaustein, etc.) |
VAR_INPUT | Eingangsvariable, nicht innerhalb der Entität änderbar |
VAR_OUTPUT | Ausgangsvariable, von der Entität bereitgestellt |
VAR_IN_OUT | Ein-Ausgangsvariable, extern bereitgestellt, kann von der Entität verändert werden und wird freigegeben |
VAR_EXTERNAL | Durch die Konfiguration von VAR_GLOBAL bereitgestellt |
VAR_GLOBAL | Globale Variable |
VAR_ACCESS | Zugriffspfad der Variablen für HMI und externe Datenquellen |
VAR_TEMP | Temporäre Variable innerhalb von Entitäten |
VAR_CONFIG | Instanzspezifische Initialisierung und Standortzuweisung |
END_VAR | Ende der Variablendeklaration |