Deklaration von Ausgangsvariablen in ST

Syntax
VAR_OUTPUT (* optional_begin *) RETAIN NON_RETAIN (* optional_end *)
  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);
END_VAR
Bedeutung

Deklaration einer bzw. mehrerer →Ausgangsvariablen, wobei name_1, name_2 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. 

Das optionale Schlüsselwort RETAIN oder NON_RETAIN markiert alle Elemente dieses Abschnitts als →gepuffert oder nicht-gepuffertRETAIN oder NON_RETAIN sind innerhalb der Deklaration eines Programms und der Deklaration eines Funktionsbausteins zulässig. Falls Variablen basierend auf einem strukturierten Datentyp im Abschnitt mit RETAIN oder NON_RETAIN deklariert sind, werden dessen Strukturelemente (inkl. Verschachtelungen) ebenfalls entsprechend als gepuffert oder nicht-gepuffert behandelt.

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").
Außerdem ist es möglich,

Die Deklaration des Ausgangs ENO ist nicht erforderlich. Siehe "Ausführungssteuerung (EN, ENO)" für Informationen zum Ausgang ENO.

Gut zu wissen

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

(grey lightbulb) In einem Abschnitt VAR_OUTPUT...END_VAR ist auch die Deklaration von Funktionsbaustein-Instanzen und die Deklaration von Variablen basierend auf einem Interface zulässig.

Beispiel
VAR_OUTPUT
  OUT : BOOL;
  ET_OFF: TIME; 
  O1: ARRAY [1..2] of BOOL;
  O2 : STRING[10]; 
  myRefO: REF_TO INT;
END_VAR