Deklaration von externen Variablen in ST

Syntax
VAR_EXTERNAL (* optional_begin *) CONSTANT (* optional_end *)
  name_1, name_2, ..., name_n : data-type;
  name_3, name_4, ..., name_n : STRING[length];
  name_5, name_6, ..., name_n : ARRAY [x..y] OF type;
  name_7, name_8, ..., name_n : ARRAY [x1..y1, x2..y2, x3..y3] OF data-type;
 
(* Additional pieces of data are also possible for the variables. *)
(* Note: If a function block type is used as type for the variable, it is actually a function block instance. *)

(* Note: If a class type is used as type for the variable, it is actually a class instance. *)

END_VAR
Bedeutung

Deklaration einer bzw. mehrerer →externer Variablen, wobei name_1, name_2 usw. →IEC-Bezeichner sein müssen.
Die Deklaration mehrerer solcher Abschnitte ist zulässig. Die Deklaration von externen Variablen ist innerhalb der Deklaration eines →Funktionsbausteins, einer →Klasse, einer →Funktion oder einer →Methode möglich. Solche externen Variablen ermöglichen den Zugriff auf →globale Variablen mit gleichem Namen und vom gleichen Typ. Diese globale Variablen sind in einem →Programm (im ST-Objekt) oder in einer →Ressource (im SPS-Objekt) deklariert.
Die Deklaration von externen Variablen ist aber auch innerhalb der Deklaration des Programms möglich. Solche externen Variablen ermöglichen den Zugriff auf globale Variablen, die in einer Ressource (im SPS-Objekt) deklariert sind.

Das optionale Schlüsselwort CONSTANT markiert alle externen Variablen dieses Abschnitts als →konstant (das Überschreiben solcher Werte ist dann während der Ausführung des Programms nicht mehr möglich). Falls die entsprechende globale Variable als CONSTANT deklariert ist, muss die externe Variable mit dem Schlüsselwort CONSTANT als konstant deklariert werden.
Informieren Sie sich unter "Unterstützte Datentypen (in ST)", welche Datentypen Sie für die Deklaration angeben können. Es ist auch möglich,

Gut zu wissen

(Graue Glühbirne) Neuron Power Engineer bietet außerdem die Möglichkeit, zusätzliche Daten bei der Deklaration anzugeben. Siehe "Beschreibung, Kommentar, JSON-String oder Typ für Variablen oder Datentypen angeben" für Details.

(Graue Glühbirne) Falls Sie es bevorzugen, dass Neuron Power Engineer für Sie die Syntax erstellt: Der Applikationsnavigator bietet auch eine Möglichkeit, um externe Variablen auf Basis von bereits vorhandenen globalen Variablen zu deklarieren. Dabei ziehen Sie die globalen Variablen von einem Global-Objekt auf eine →POE. Details: Siehe "Externe Variablen mit Hilfe von "Drag and Drop" in POE deklarieren". In diesem Fall müssen Sie die obige Syntax nicht kennen.

(Graue Glühbirne) In einem Abschnitt VAR_EXTERNAL...END_VAR ist auch die Deklaration von Funktionsbaustein-Instanzen oder Klassen-Instanzen zulässig.

Beispiel 1

VAR_EXTERNAL
  portSetting : INT;
  upTime : TIME;
  gVar1: ARRAY [1..2] of BOOL;
  gVar2: STRING[10];
END_VAR
Beispiel 2
VAR_EXTERNAL
  VALVE_POS : INT;
END_VAR