Allgemeine Informationen

Überblick

Sie können Variablen deklarieren:

Die Art der zu deklarierenden Variablen (im tabellarischen Deklarationseditor wird die Art als Sichtbarkeit bezeichnet) wird mithilfe von Schlüsselwörtern festgelegt, die den zu deklarierenden Variablenbereich eingrenzen. Im textuellen Deklarationseditor wird die Deklaration wie üblich mit den Variablen VAR und END_VAR eingegrenzt.

Im Folgenden sind weitere Variablen zur Eingrenzung einer Deklaration aufgeführt:

  • VAR_INPUT

  • VAR_OUTPUT

  • VAR_IN_OUT

  • VAR_GLOBAL

  • VAR_TEMP

  • VAR_STAT

  • VAR_INST

  • VAR_EXTERNAL

  • VAR_CONFIG

Schlüsselwörter des Typs Variable können mit einem schlüsselwortspezifischen Attribut ergänzt werden.

Beispiel: RETAIN (VAR_INPUT RETAIN)

Syntax

Syntax für die Deklaration von Variablen:

<Bezeichner> {AT <Adresse>}:<Datentyp> {:=<Initialisierung>};

Die Angaben in geschweiften Klammern {} sind optional.

Bezeichner

Der Bezeichner ist der Name einer Variablen.

Bei der Definition eines Bezeichners ist Folgendes zu beachten.

  • Es dürfen weder Leerzeichen noch Sonderzeichen verwendet werden.

  • Keine Unterscheidung zwischen Groß- und Kleinschreibung: VAR1, Var1 und var1 sind identisch.

  • Erkennen des Unterstreichungszeichens: A_BCD und AB_CD gelten als verschiedene Bezeichner. Pro Zeile darf nicht mehr als ein Unterstreichungszeichen verwendet werden.

  • Die Länge ist unbegrenzt.

  • Kein Schlüsselwortname zulässig, z. B. VAR_GLOBAL.

  • Mehrfachverwendung (siehe nächsten Abschnitt).

Sehen Sie sich darüber hinaus das Kapitel Bewährte Verfahren für die Benennung von Bezeichnern.

Mehrfache Verwendung von Bezeichnern (Namensräume)

Im Folgenden sind die Vorschriften aufgeführt, die bei der mehrfachen Verwendung von Empfehlungen für die Definition von Bezeichnern beachtet werden müssen:

  • Die doppelte Verwendung von Bezeichnern ist lokal unzulässig.

  • Die mehrfache Verwendung eines Bezeichners ist global zulässig: eine lokale Variable kann denselben Namen haben wie eine global verwendete Variable. In einem solchen Fall hat die lokale Variable in einem POU Vorrang.

  • Eine Variable, die in einer globalen Variablenliste (GVL) definiert ist, kann denselben Name haben wie eine Variable, die in einer anderen globalen Variablenliste (GVL) definiert ist. In diesem Zusammenhang müssen Sie die erweiterten Vorgaben der internationalen Norm IEC 61131-3 beachten:

    • Globaler Bereichsoperator: Ein Instanzpfad, der mit einem Punkt (.) beginnt, öffnet einen globalen Bereich. Wenn somit eine lokale Variable vorhanden ist, wie z. B. ivar, die denselben Namen aufweist wie eine globale Variable, dann bezieht sich .ivar auf die globale Variable.

    • Sie können den Namen einer globalen Variablenliste (GVL) als Namensraum für die darin enthaltenen Variablen verwenden. Sie können Variablen mit demselben Namen in verschiedenen globalen Variablenlisten (GVL) deklarieren. Für den Zugriff auf diese Variablen stellen Sie dem Variablennamen den entsprechenden Listennamen voran.

      Beispiel

      globlist1.ivar := globlist2.ivar;

      (* ivar aus globlist2 wird in ivar in der GVL globlist1 kopiert*)

    • Der Zugriff auf die Variablen, die in einer globalen Variablenliste einer inbegriffenen Bibliothek definiert sind, erfolgt gemäß der Syntax <Namensraum der Bibliothek>.<Name der GVL>.<Variable>.

      Beispiel:

      globlist1.ivar := lib1.globlist1.ivar

      (* ivar aus globlist1 in der Bibliothek lib1 wird in ivar der GVL globlist1 kopiert *)

  • Das bedeutet, dass auch für die Bibliothek ein Namensraum definiert wird, wenn die Integration über den Bibliotheksverwalter erfolgt. Somit können Sie über die Syntax <Namensraum der Bibliothek> auf ein Bibliothekenmodul oder eine Variable zugreifen.<Modulname|Variablename>. Bei verschachtelten Bibliotheken müssen Sie beachten, dass die Namensräume aller betroffenen Bibliotheken nacheinander angegeben werden müssen.

    Beispiel: Wenn Lib1 über Lib0 referenziert wird, erfolgt der Zugriff auf das Modul fun als Teil von Lib1 mithilfe von Lib0.Lib1.fun:

    ivar := Lib0.Lib1.fun(4, 5); (* der Rückgabewert von fun wird in dem Projekt in die Variable ivar kopiert *)

    HINWEIS: Wenn das Kontrollkästchen Alle IEC Symbole im Projekt sichtbar machen, als ob diese Referenz hier direkt eingebunden worden wäre im Dialogfeld Eigenschaften der Referenzbibliothek Lib aktiviert wurde, kann der Zugriff auf das Modul fun ebenfalls direkt über Lib0.fun erfolgen.
  • Auf die in GVLs oder POUs deklarierten Variablen des Knotens Global in der Anwendungsbaumstruktur kann zugegriffen werden, indem dise mit dem Operator "__POOL." als Präfix ausgestattet werden.

AT <Adresse>

Sie können die Variable direkt mit einer endgültigen Adresse verknüpfen und dazu das Schlüsselwort AT verwenden.

In Funktionsbausteinen haben Sie zusätzlich die Möglichkeit, die Variablen mit unvollständigen Adressangaben zu definieren. Um eine solche Variable in einer lokalen Instanz verwenden zu können, muss in der Variablenkonfiguration ein entsprechender Eintrag vorliegen.

Typ

Ein gültiger Datentyp, mit der Möglichkeit einer optionalen Erweiterung über eine :=< Initialisierung>.

Pragma-Anweisungen

Sie haben optional die Möglichkeit, pragma-Anweisungen in den Deklarationsteil eines Objekts einzufügen, um die Codegenerierung zu unterschiedlichen Zwecken zu beeinflussen.

Hinweise

Es besteht die Möglichkeit der automatischen Deklaration.

Für eine schnellere Eingabe von Deklarationen können Sie den Tastenkombinationsmodus verwenden.