Deklaration von externen Variablen in ST

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".

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 data-type;
  name_7, name_8, ..., name_n : ARRAY [x1..y1, x2..y2, x3..y3] OF data-type;

(* Zusätzliche Daten sind ebenfalls für die Variablen möglich. *)  
(* Hinweis: Wenn ein Funktionsbaustein-Typ als Typ für die Variable verwendet wird, handelt es sich eigentlich um eine Funktionsbaustein-Instanz. *)
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, der Deklaration 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 konstant 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 es auch möglich,

Gut zu wissen

(grey lightbulb) logi.CAD 3 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.

(grey lightbulb) Falls Sie es bevorzugen, dass logi.CAD 3 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.

(grey lightbulb) In einem Abschnitt VAR_EXTERNAL...END_VAR ist auch die Deklaration von Funktionsbaustein-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