Deklaration von internen Variablen und Funktionsbaustein-Instanzen in ST
VAR (* optional_begin *) CONSTANT RETAIN NON_RETAIN { instanceParam } { noCodeGeneration } (* optional_end *) name_1, name_2, ..., name_n : data-type (* optional_begin *) := initial-value { @RELATES_TO := name_A;} (* optional_end *); name_3, name_4, ..., name_n : STRING[length] (* optional_begin *) := 'initial-value' { @RELATES_TO := name_B;} (* optional_end *); name_5, name_6, ..., name_n : ARRAY [x..y] OF type (* optional_begin *) := [initial-value_1, initial-value_2, .., initial-value_n] { @RELATES_TO := name_C;} (* optional_end *); name_7, name_8, ..., name_n : ARRAY [x1..y1, x2..y2, x3..y3] OF data-type; (* Initialisierungswerte und '@RELATES_TO' 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 interner →Variablen (auch "lokale Variablen" genannt) und/oder Deklaration einer oder mehrerer →Funktionsbaustein-Instanzen, wobei Das optionale Schlüsselwort Die optionalen →Pragmas 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 [
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. Lokale Variablen, die innerhalb eines Funktionsbausteins deklariert werden, sind →statische Variablen. Lokale Variablen, die innerhalb einer Funktion deklariert werden, verhalten sich wie →temporäre Variablen. |
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.
VAR RETAIN var1: BOOL; var2, var3 : INT; END_VAR VAR var4 : STRING[10]; var5: ARRAY [1..2] of BOOL; var6 : INT; myRef1: REF_TO INT; Inst1, Inst2 : TOF; (* Deklaration von zwei Instanzen des Funktionsbausteins 'TOF' *) Inst3 : Control := (IN1 := 10, IN2 := 20, T1 := T#3ms); (* Deklaration einer Instanz des Funktionsbausteins 'Control' mit Initialisierung der Eingänge 'IN1', 'IN2' und 'T1' *) TONArr2 : ARRAY [0..2] OF TON := [(PT:=T#100ms), (PT:=T#50ms)]; (* Deklaration von 3 Instanzen des TON-Bausteins, bei den ersten 2 Instanzen wird der Eingang 'PT' initialisiert *) END_VAR
PROGRAM Test VAR myFB : FB := (in1 := 1, c := (re := 1, im := 2)); END_VAR END_PROGRAM FUNCTION_BLOCK FB VAR_INPUT in1 : int; c : complex; END_VAR END_FUNCTION_BLOCK TYPE complex : STRUCT re : REAL; im : REAL; END_STRUCT; END_TYPE