EcoStruxure Machine Expert Version 1.1 unterstützt nicht die Controller M258, LMC058 und LMC078.

Pragma-Anweisungen

Überblick

Eine pragma-Anweisung wird verwendet, um die Eigenschaften einer oder mehrerer Variablen bezüglich der Kompilierung oder des Prä-Kompilierungsprozesses (Präprozessor) zu beeinflussen. Das heißt, dass ein pragma die Codegenerierung beeinflusst.

HINWEIS: Dabei ist zu beachten, dass die verfügbaren pragmas keine 1:1-Implementierungen der Richtlinie von C-Präprozessor-Richtlinien sind. Sie gelten als normale Aussagen und können daher auch nur an normalen Aussagepositionen verwendet werden. Sie dürfen weder in einem Ausdruck noch im Deklarationsteil der Editoren verwendet werden.

Ein pragma kann bestimmen, ob eine Variable initialisiert, im Online-Modus angezeigt, zu einer Parameterliste hinzugefügt, zu einer Symbolliste hinzugefügt oder im Bibliotheksverwalter unsichtbar gemacht wird. Es kann Meldungsausgaben während des Übersetzungsvorgangs forcieren. Mit bedingten pragmas kann festgelegt werden, wie eine Variable unter bestimmten Bedingungen interpretiert werden soll. Diese bedingten pragmas können auch als „Compiler-Definitionen“ in den Übersetzungseigenschaften eines Objekts eingetragen werden.

Ein pragma kann in einer separaten Zeile oder zusammen mit Zusatztext in einer Implemen­tierungs- oder Deklarationszeile eingefügt werden. Im FBD/LD/IL-Editor, führen Sie den Befehl Label einfügen aus und ersetzen Sie den Standardtext Label: im erscheinenden Textfeld mit pragma. Sofern Sie sowohl eine Marke als auch ein pragma verwenden wollen, tragen Sie zunächst das pragma ein und dann die Sprungmarke.

Die pragma-Anweisung wird in geschweifte Klammern gefasst.

Syntax

{ <Text der Anweisung> }

Die öffnende Klammer darf unmittelbar auf einen Variablennamen folgen. Öffnende und schließende Klammer müssen sich in derselben Zeile befinden.

Gültige Positionen für ein bedingtes Pragma

{IF defined(abc)}
IF x =abc THEN
  {IF defined(cde)}
    y := 12;
  {ELSE}
    y :=13;
  {END_IF}
END_IF
{ELSE}
IF x = 12 THEN
  {IF defined(cde)}
    y := 12;
  {ELSE}
    y :=13;
  {END_IF}
END_IF

Ungültige Positionen für ein bedingtes Pragma

HINWEIS: Verwenden Sie keine bedingten Pragmas an den in diesem negativen Beispiel ausgewiesenen Positionen.

G-SE-0060020.1.gif-high.gif

 

 

Weitere Informationen

Abhängig vom Typ und Inhalt eines pragma, operiert pragma gemäß der nachfolgenden Erklärung, beziehungsweise gemäß aller nachfolgenden Erklärungen, bis 1 der folgenden Bedingungen erfüllt wird:

oDie Anweisung wird von einem entsprechenden pragma beendet.

oDerselbe pragma wird mit verschiedenen Parametern ausgeführt.

oDas Ende des Codes ist erreicht.

Der Beendigungscode in diesem Kontext bezieht sich auf einen Deklarationsteil, Implementie­rungsteil, die globale Variablenliste oder die Typdeklaration.

HINWEIS: Bei Pragma-Anweisungen ist die Groß- und Kleinschreibung zu beachten.

Kann der Compiler den Anweisungstext nicht sinnvoll interpretieren, so wird das gesamte pragma wie ein Kommentar behandelt und überlesen.

Mögliche pragma-Typen:

oMeldung Pragmas

oAttribut Obsolete

oAttribute Pragmas

oBedingt Pragmas

oRegion Pragmas

oAttribut Symbol