Beschreibung, Kommentar, JSON-String oder Typ für Variablen oder Datentypen angeben

Syntax
VAR | VAR_INPUT | VAR_OUTPUT | VAR_IN_OUT | VAR_GLOBAL | VAR_EXTERNAL | VAR_TEMP
name_1, name_2, ..., name_n : data-type := initial-value {
description := "string";
comment := "string";
customDataJson := 'Json-String';
concreteType := data-type; (* nur für Vendor-Bausteine mit 'ANY'-Eingängen relevant, die in anderen Vendor-Bausteinen verwendet werden. *)
};
...
END_VAR
 
TYPE
name_A : <Datentyp-Deklaration> := initial-value {
description := "string";
comment := "string";
customDataJson := 'Json-String';
};
...
name_B: STRUCT
name_e1 : type := initial-value {
description := "string";
comment := "string";
customDataJson := 'Json-String';
};
...
END_STRUCT; 
END_TYPE

Bedeutung

Angabe dieser zusätzlichen Daten (= Daten-Elemente) bei einer →Variable, einem →Datentyp oder einem Strukturelement (= Sprach-Element):

  • eine Beschreibung (auch als Langname bekannt) = Daten-Element description

  • einen Kommentar = Daten-Element comment

  • einen →JSON-String = Daten-Element customDataJson

  • einen konkreten Datentypen = Daten-Element concreteType

Implementierungsabhängige Realisierung

Laut der →IEC-Norm sind diese Daten-Elemente eine implementierungsabhängige Realisierung eines →Pragmas.

Die Angabe der Daten-Elemente ist vor dem abschließenden Zeichen ; des Sprach-Elements erforderlich, aber nach allen optionalen Angaben (z.B. dem →Initialisierungswert). Die Angabe beginnt mit dem Zeichen { und endet mit dem Zeichen }, jedes Daten-Element endet mit dem Zeichen ; . Sie können eines, 2 oder alle Daten-Elemente pro Sprach-Element angeben. Bei mehr als einem Daten-Element halten Sie die Reihenfolge laut der Syntax ein.

Der Text für die Beschreibung, den Kommentar und den JSON-String muss ein Zeichenfolge-Literal in einem →Pragma sein.

Beispiele für Zeichenfolge-Literale in Pragmas

Zeichenfolge-Literale in Pragmas bestehen aus keinem oder mehreren Zeichen, die entweder mit dem einfachen Anführungszeichen ' oder dem doppelten Anführungszeichen " eingeschlossen werden.

Beschreibung

Beispiele

Literal mit einfachem Anführungszeichen

'' (leeres Literal), 'OK', 'ABCDEF', 'B', ' ' (nur ein Leerzeichen im Literal)

Literal mit doppeltem Anführungszeichen

"" (leeres Literal), "OK", "ABCDEF", "B", " " (nur ein Leerzeichen im Literal)

Sonderzeichen, wie z.B. Umlaute oder €, aber mit der Ausnahme von $, können Sie direkt in das Literal sowohl in ' als auch in " eingeben.
Als Alternative können Sie Sonderzeichen als Kombinationen von 3 Zeichen, beginnend mit dem Dollar-Zeichen ($) und gefolgt von 2 Hexadezimal-Ziffern, eingegeben werden. Dies ist analog zur Eingabe in Zeichenfolge-Literalen.

Beispiele:

  • Statt "Änderung" oder 'Änderung' geben Sie "$C4nderung" oder '$C4nderung' ein.

  • Statt "€300" oder '€300' geben Sie "$80300" oder '$80300' ein.

Mehr Beispiele für solche Kombinationen und weiterführende Links finden Sie im Glossar-Artikel "→Zeichenfolge-Literal".

Zusätzlich sind die folgenden Angaben für die Zeichenfolge-Literale in Pragmas möglich:

Angabe

Bedeutung

Beispiele

'$''

in ': Literal mit einfachem Anführungszeichen '

'This is $'just$' a test.'

'$"'

in ': Literal mit doppeltem Anführungszeichen "

'This is $"just$" a test.'

'"'

in ': Literal mit doppeltem Anführungszeichen "

'This is "just" a test.'

"'"

in ": Literal mit einfachem Anführungszeichen '

"This is 'just' a test."

"""

in ": Literal mit doppeltem Anführungszeichen "

"This is ""just"" a test."

"$""

in ": Literal mit doppeltem Anführungszeichen "

"This is $"just$" a test."

"$'"

in ": Literal mit einfachem Anführungszeichen '

"This is $'just$' a test."

Zusätzlich sind die folgenden Angaben für Zeichenfolge-Literale sowohl in ' als auch in " möglich:

Angabe

Bedeutung

$$

Literal mit Dollarzeichen $

$L oder $l

Literal mit Zeilenvorschub ("Line feed")

$N oder $n

Literal mit neuer Zeile ("Newline")

$P oder $p

Literal mit Seitenvorschub ("Form feed (page)")

$R oder $r

Literal mit Wagenrücklauf ("Carriage return")

$T oder $t

Literal mit Tabulator

$0A

Literal mit Kombinationen von 3 Zeichen, beginnend mit dem Dollar-Zeichen ($) und gefolgt von 2 Hexadezimal-Ziffern (z.B. für Sonderzeichen – wie oben erwähnt)

Wenn Sie das Zeichen " im Text für einen JSON-String benötigen, geben Sie den Text am besten in ' ein (siehe Beispiel unter "Beschreibung, Kommentar, JSON-String oder Typ für Variablen oder Datentypen angeben").

Die Daten-Elemente für Beschreibung, Kommentar und JSON-String werden üblicherweise von einem Systemintegrator ausgewertet. In logi.CAD 3 sind Beschreibung und Kommentar der Variable auch im Schnittstellen-Editor einsehbar.

Das Daten-Element für einen konkreten Datentyp ist nur bei der Deklaration einer →Instanz eines →Vendor-Bausteins nötig, falls dieser Vendor-Baustein einen oder mehrere Eingänge mit einem →allgemeinen Datentyp enthält und die Deklaration der Instanz erfolgt in einem Vendor-Baustein (dadurch wird der Vendor-Baustein mit den ANY-Eingängen in einem anderen Vendor-Baustein verwendet). Durch die zusätzliche Angabe von concreteType und dem Datentyp data-type bei der Instanz sind die nötigen Typisierungsinformation beim Erstellen der Anwendung vorhanden.

Die Angabe der Daten-Elemente ist innerhalb dieser Abschnitte möglich:

Abschnitt

Die Angabe ist für dieses Sprach-Element möglich:

VAR ... END_VAR

interne Variable (siehe "Deklaration von internen Variablen")

VAR_INPUT ... END_VAR

Eingangsvariable (siehe "Deklaration von Eingangsvariablen in ST")

VAR_OUTPUT ... END_VAR

Ausgangsvariable (siehe "Deklaration von Ausgangsvariablen in ST")

VAR_IN_OUT ... END_VAR

Ein-/Ausgangsvariable (siehe "Deklaration von Ein-/Ausgangsvariablen in ST")

VAR_GLOBAL ... END_VAR

globale Variable (siehe "Deklaration von externen Variablen in ST", "Deklaration von globalen Variablen in Global-Objekt und deren Verwendung in ST" und "Globale Variablen für Ressource oder Konfiguration deklarieren und diese verwenden")

VAR_EXTERNAL ... END_VAR

externe Variable (siehe "Deklaration von externen Variablen in ST")

VAR_TEMP ... END_VAR

temporäre Variable (siehe "Deklaration von temporären Variablen in ST")

TYPE ... END_TYPE

Datentyp mit benannten Werten (siehe "Deklaration eines Datentyps mit benannten Werten (Enums) in ST"),
ARRAY-Datentyp (siehe "Deklaration eines ARRAY-Datentyps in ST"),
direkt abgeleiteter Datentyp (siehe "Deklaration eines direkt abgeleiteten Datentyps in ST"),
Strukturelement (siehe "Deklaration eines strukturierten Datentyps in ST")

Beispiel: Beschreibung, Kommentar und JSON-String für eine lokale Variable
VAR
Var1 : INT {description := "This is the long name for the variable.";
comment := "This is the comment for the variable.";
customDataJson := '{
"glossary": {
"title": "Variable (local)",
"ID": "Var1"
}
}';
};
END_VAR
Beispiel: Beschreibung und Kommentar für eine Funktionsbaustein-Instanz
VAR
Inst1 : Control {description := "This is the long name for the function block instance.";
comment := "This is the comment for the function block instance."; };
END_VAR
Beispiel: Beschreibung oder Kommentar für ein Strukturelement
TYPE
complex : STRUCT
re : REAL {description := "This is the long name for the 1st structure element.";};
im : REAL {comment := "This is the comment for the 2nd structure element.";};
END_STRUCT;
END_TYPE