Deklaration von temporären Variablen in ST

Syntax
VAR_TEMP
name_1, name_2, ..., name_n : data-type := initial-value;
name_3, name_4, ..., name_n : STRING[length] := 'initial-value';
name_5, name_6, ..., name_n : ARRAY [x..y] OF type := [initial-value_1, initial-value_2, .., initial-value_n];
name_7, name_8, ..., name_n : ARRAY [x1..y1, x2..y2, x3..y3] OF data-type; (* Initialisierungswerte sind hier ebenfalls möglich. *)
name_9, name_10, ..., name_n : REF_TO type := REF(name_A);
(* Zusätzliche Daten, wie partielle Adressen, sind ebenfalls für die Variablen möglich. *)
END_VAR

Bedeutung

Deklaration einer bzw. mehrerer →temporärer Variablen, wobei name_1 usw. →IEC-Bezeichner sein müssen
Die Deklaration mehrerer solcher Abschnitte ist zulässig. Die Deklaration ist innerhalb der Deklaration eines →Programms, eines →Funktionsbausteins, einer →Funktion oder einer →Methode 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").
Außerdem ist es möglich,


Temporäre Variablen und lokale Variablen (VAR ... END_VAR) sind in Funktionen und Methoden identisch . logi.cals empfiehlt für Funktionen und Methoden, temporäre Variablen im Abschnitt VAR ... END_VAR zu deklarieren (statt im Abschnitt VAR_TEMP ... END_VAR,) .

Gut zu wissen

images/s/b2ic8e/9012/1ca6q62/_/images/icons/emoticons/lightbulb.svg logi.CAD 3 bietet außerdem die Möglichkeit, noch nicht festgelegte Speicherorte bei der Deklaration anzugeben. Siehe "Deklaration eines Sprachelements mit partieller Adresse in ST" für Details.

images/s/b2ic8e/9012/1ca6q62/_/images/icons/emoticons/lightbulb.svg 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.

Beispiel
VAR_TEMP
temp1: BOOL;
temp2, temp3 : INT; 
END_VAR
 
VAR_TEMP
temp4 : STRING[10];
temp5: ARRAY [1..2] of BOOL;
temp6 : INT;
myRefTemp1: REF_TO INT;
END_VAR