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);
  FB_instance_1, FB_instance_2, ..., FB_instance_n : FB-type := ( input_1 := initial-value, input_2 := initial-value, ..., output_n := initial-value);
  FB_instance_A, FB_instance_B, ..., FB_instance_n: ARRAY [x..y] OF FB-type := [(input_1 := initial-value, input_2 := initial-value, ...), (input_1 := initial-value, input_2 := initial-value, ...), ...];
  FB_instance_C, FB_instance_D, ..., FB_instance_n: ARRAY [x1..y1, x2..y2, x3..y3] OF FB-type;  (* Initialisierungswerte sind hier ebenfalls möglich. *)
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 oder einer →Funktion möglich. 

Das optionale Schlüsselwort RETAIN oder NON_RETAIN markiert alle Variablen 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, ein vorhandener →Funktionsbaustein (in →ST oder →FBS erstellt) als Typ für eine Funktionsbaustein-Instanz.

Informieren Sie sich unter "Unterstützte Datentypen", 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,

Bei der Deklaration der Funktionsbaustein-Instanz können Sie die →Eingangsvariablen und →Ausgangsvariablen des Funktionsbausteins initialisieren. Der Initialisierungswert muss mit dem Datentyp der deklarierten Variable übereinstimmen oder ein Datentyp sein, der aufgrund der impliziten Konvertierung in diesen umgewandelt werden kann.
Sie können Funktionsbaustein-Instanzen auch mit Hilfe von ein- oder mehrdimensionalen ARRAYs deklarieren (auch dies ist analog zur "Deklaration eines ARRAY-Datentyps in ST") oder mit Hilfe von Strukturelementen deklarieren (siehe "Deklaration eines strukturierten Datentyps in ST").

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

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.

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