Eigenschafts-Anweisung in ST

Syntax
{
  name_1 := 'string_1',
  name_2 := 'string_2',
  name_3 := 'string_3',
  ...
  name_n := 'string_n'
};
Bedeutung

eine Eigenschafts-Anweisung, um z.B. Anforderungen im ST-Code zu nennen

Implementierungsabhängige Realisierung

Laut der →IEC-Norm ist diese Eigenschafts-Anweisung eine implementierungsabhängige Realisierung eines →Pragmas.

Eigenschafts-Anweisungen sind dort im ST-Code möglich, wo auch andere Anweisungen möglich sind:
Beispiel: Sie können Eigenschafts-Anweisungen nach den Deklarationen der Variablen einfügen. In diesem Fall wird die Meldung Fehlendes IEC-Schlüsselwort oder IEC-Bezeichner angezeigt. Als Abhilfe fügen Sie noch eine leere Anweisung vor der Eigenschafts-Anweisung ein (siehe das folgende Beispiel).

Beachten Sie, dass die Eigenschafts-Anweisungen in den generierten Code als Kommentar übernommen werden.

Syntax:

  • Der Name auf der linken Seite des Zuweisungsoperators ":=" muss ein →IEC-Bezeichner sein.
  • Der Ausdruck auf der rechten Seite des Zuweisungsoperators ":=" muss ein Zeichenfolge-Literal in einem →Pragma sein.

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

    BeschreibungBeispiele
    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:

    AngabeBedeutungBeispiele
    '$''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:

    AngabeBedeutung
    $$Literal mit Dollarzeichen $
    $L oder $lLiteral mit Zeilenvorschub ("Line feed")
    $N oder $nLiteral mit neuer Zeile ("Newline")
    $P oder $pLiteral mit Seitenvorschub ("Form feed (page)")
    $R oder $rLiteral mit Wagenrücklauf ("Carriage return")
    $T oder $tLiteral mit Tabulator
    $0ALiteral 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)

Beispiel
FUNCTION_BLOCK ExamplePropertyStatementDocumentation
  VAR
    var1, var2 : BOOL;
  END_VAR
  ; (* the empty statement as workaround *)
  {
    REQ := 'JIRA-2740'
  };
    var1 := TRUE;
    var2 := var1;
END_FUNCTION_BLOCK