Variablen: Einfügen und Deklarieren

 

In Code-Arbeitsblättern gelten folgende Regeln für das Deklarieren und Einfügen von Variablen.

Sie können...

Beachten Sie beim Deklarieren und Bearbeiten von Variablen die Dekla­rationsregeln.

Hier finden Sie verwandte Themen

HINWEIS:

Um Standard-Variablen leichter von sicherheitsbezogenen Vari­ablen unterscheiden zu können, werden sicherheitsbezo­gene Variablen im grafischen Code mit rotem Hintergrund angezeigt. Variablen mit Standard-Datentypen erscheinen ohne Hinter­grund.LDobjectDisplay_SE_Safe_NonSafe.png 

HINWEIS:

Innerhalb eines FBS/KOP-Netzwerks können sicherheitsbezo­gene und Standard-Variablen gemischt werden. In solchen gemischten Netzwerken sind führende sicherhe­itsbezogene Signalpfade optisch hervorgehoben. Dabei müssen einige Regeln und Einschränkungen beachtet werden.

So fügen Sie Variablen in den Code ein

So fügen Sie eine Variable in den Code ein und deklarieren sie gleich­zeitig

  1. Sie können unverbundene oder verbundene/zugewiesene Vari­ablen einfügen:

    • Um eine unverbundene Variable einzufügen, klicken Sie an eine freie Stelle im Arbeitsblatt und drücken <F5> oder klicken in der Symbolleiste auf das Symbol 'Variable':

      ico_Variable.gif
    • Um eine Variable beim Einfügen direkt mit einer Funktion/einem Funktionsbaustein zu verbinden, doppelklicken Sie auf den gewün­schten Formalparameter. Beispiel:InsertVarAtFP_1.gif

    • Um eine neue Variable für einen Kontakt oder eine Spule einzufügen, doppelklicken Sie auf das KOP-Objekt. Beispiel:

      InsertVarAtContact_1.gif

    In allen Fällen erscheint der Dialog 'Variable'.

  2. Wählen Sie den Gültigkeitsbereich der Variablen:

    • Um eine neue lokale Variable zu deklarieren, markieren Sie die Option 'Lokal'.

    • Um eine neue globale symbolische Variable (globale Merkervari­able) zu deklarieren, markieren Sie die Option 'Global'.

    Beachten Sie, dass Sie auf diese Weise nur symbolische Vari­ablen erzeugen können, jedoch keine globalen I/O-Variablen. I/O-Variablen werden automatisch erzeugt, wenn Sie ein Prozess­daten-Element (Geräteanschlussklemme) aus dem 'Geräte'-Fenster in ein Code-Arbeitsblatt hineinziehen.

  3. Geben Sie einen neuen Variablennamen in das Feld 'Name' ein.

    Die restlichen Dialogfelder werden dann aktiv und können bearbeitet werden.

    Namenskonventionen: EcoStruxure Machine Expert - Safety erlaubt die Verwendung von DIN-Bezeichnern in IEC 61131-Vari­ablennamen.

    Regeln für die Verwendung von DIN-Bezeichnern

    Gemäß der Norm IEC 61131 dürfen Variablennamen aus Buchs­taben, Ziffern und Unterstrichen zusammengesetzt sein. Der Beze­ichner muss mit einem Buchstaben oder einem Unterstrich beginnen. Die Verwendung jedes anderen Zeichens führt zum Kompilerfehler "Unzulässiger Bezeichner".

    Diese Namenskonvention wurde in EcoStruxure Machine Expert - Safety dahingehend erweitert, dass IEC 61131-Variablennamen auch DIN-Bezeichner enthalten dürfen:

    • Die Zeichen - + < > dürfen an jeder beliebigen Position innerhalb des Namens und als letztes Zeichen vorkommen. Sie dürfen jedoch nicht als erstes Zeichen des Variablennamens verwendet werden.

    • Die DIN-Bezeichner / * # und die Ziffern 0 bis 9 können an jeder beliebigen Stelle verwendet werden.

    Regeln für die Verwendung von DIN-Bezeichnern in IEC 61131-Variablennamen

    • Variablennamen müssen mindestens ein alphabetisches Zeichen enthalten.

    • Variablen dürfen nicht den Namen eines IEC 61131-Datentyps haben, wie z.B. BOOL, INT, WORD, REAL, etc.

    • Variablennamen dürfen nicht gleich wie Literale sein. Im Code werden Literale durch Spezifizieren des Literaldatentyps, gefolgt vom Hash-Zeichen ('#') verwendet: <Literalpräfix>#<Wert>. Beispiele für Literale sind SAFEINT#5 und WORD#32767. Eine Variablendeklaration wie safeint#MyVar wäre deshalb ungültig.

      Literalpräfixe unterscheiden nicht zwischen Groß- und Kleinschrei­bung und beinhalten die folgenden Schlüsselwörter:

      BOOL, REAL, LREAL, SINT, USINT, INT, UINT, DINT, UDINT, LINT, ULINT, BYTE, WORD, DWORD, LWORD, TIME, T, DATE, D, TIME_OF_DAY, TOD, DATE_AND_TIME, DT, STRING, TIME­DATE48, WEIGHT, ANALOG, UNIFRACT, BIFRACT200, FIXED, BOOLEAN2, BCD4, ENUM4, SAFEBOOL, SAFEBYTE, SAFED­WORD, SAFEINT, SAFEDINT, SAFETIME, SAFEWORD

  4. Spezifizieren Sie die Variable, indem Sie die Dialogfelder ausfüllen.

    In der Combobox 'Datentyp' werden nur Datentypen zur Auswahl ange­boten, die im aktuellen Kontext auch passen. Der markierte Formalpa­rameter bzw. das markierte Objekt bestimmt also, welche Datentypen gewählt werden können.

    Beim Deklarieren einer globalen symbolischen Variablen kann keine 'Verwendung' ausgewählt werden, da das Variablen-Schlüs­selwort 'VAR_GLOBAL' automatisch für globale Variablen gilt.

  5. Bestätigen Sie abschließend den Dialog mit 'OK', um die Variable in den FBS/KOP-Code und die zugehörige Deklaration in das entsprechende Variablen-Arbeitsblatt einzufügen.

So fügen Sie eine bereits deklarierte Variable mit Hilfe des Dialogs 'Vari­able' ein

Möglicherweise ist eine Variable bereits im Variablen-Arbeitsblatt deklariert und soll dann in den Code eingefügt oder einem KOP-Objekt zugewiesen werden.

Bei globalen I/O-Variablen ist dies deshalb der Fall, weil Sie diese durch Ziehen von Prozessdaten-Elementen (Geräteanschlussklemmen) aus dem 'Geräte'-Fenster in den Code erzeugt haben.

Gehen Sie folgendermaßen vor:

  1. Sie können unverbundene oder verbundene/zugewiesene Vari­ablen einfügen:

    • Um eine unverbundene Variable einzufügen, klicken Sie an eine freie Stelle im Arbeitsblatt und drücken <F5> oder klicken in der Symbolleiste auf das Symbol 'Variable':

      ico_Variable.gif
    • Um eine Variable beim Einfügen direkt mit einer Funktion/einem Funktionsbaustein zu verbinden, doppelklicken Sie auf den gewün­schten Formalparameter. Beispiel:InsertVarAtFP_1.gif

    • Um eine neue Variable für einen Kontakt oder eine Spule einzufügen, doppelklicken Sie auf das KOP-Objekt. Beispiel:

      InsertVarAtContact_1.gif

    In allen Fällen erscheint der Dialog 'Variable'.

  2. Markieren Sie den gewünschten 'Bereich' der Variablen, d.h. geben Sie an, in welchem Variablen-Arbeitsblatt die Variable deklariert ist.

    Beispiel: Nachdem Sie den Bereich auf 'Global' eingestellt haben, können in der Combobox alle Variablen ausgewählt werden, die im globalen Variablen-Arbeitsblatt enthalten sind.

  3. Wählen Sie die 'Gruppe' im Variablen-Arbeitsblatt (dieses wird über den 'Bereich' ausgewählt), in der die Deklaration enthalten ist.

  4. Wählen Sie in der Combobox 'Name' die einzufügende Variable aus.

  5. Klicken Sie auf 'OK', um den Dialog zu schließen und die Variable einzufügen.

HINWEIS:

Um die Deklaration einer Variablen zu ändern, die bereits im Code verwendet wird, rechtsklicken Sie auf die Variable und wählen aus dem Kontextmenü 'Gehe zu Definition von Variablenname'. Das Variablen-Arbeitsblatt wird dann geöffnet und die Deklarationszeile wird markiert.

So fügen Sie eine bereits deklarierte Variable per Drag & Drop ein

Diese Methode eignet sich nicht, um einem KOP-Objekt eine Variable zuzuweisen. Sie können jedoch mit der Drag & Drop-Methode eine bool­esche Variable direkt als Kontakt einfügen (siehe Hinweis unten).

  1. Positionieren Sie die beteiligten Arbeitsblätter (Code und Vari­ablen) so auf dem Bildschirm, dass beide sichtbar sind (bspw. mit Hilfe der Menüpunkte 'Fenster > Überlappend' oder 'Fenster > Nebeneinander').

  2. Linksklicken Sie im Variablen-Arbeitsblatt in die erste Spalte ('Name') der gewünschten Variablen (siehe (1) im folgenden Bild).

  3. Ziehen Sie die Variable aus dem Variablen-Arbeitsblatt in den Code.

  4. Lassen Sie die linke Maustaste los. Es wird nun der Umriss der Variablen dargestellt (2a in der Abbildung unten).

    HINWEIS:

    Einfügen einer booleschen Variablen als Kontakt: Halten Sie die <Strg>-Taste gedrückt, wenn Sie die Variable im Code "absetzen", d.h. während Sie die linke Maustaste loslassen (nach dem Ziehen der Variablen aus der Tabelle in den Code). Die Variable erscheint nun als Kontakt (2b im Bild unten), der wie gewohnt direkt an einen Formalparameter angeschlossen werden kann.

  5. Bewegen Sie den Variablen- oder Kontaktumriss an die gewün­schte Position und legen Sie ihn dort mit einem Linksklick ab. Wenn Sie die Variable/den Kontakt auf einem Verbindungspunkt eines anderen Objektes ablegen, wird automatisch eine Verbindung hergestellt (siehe 3a im folgenden Bild für eine Variable bzw. 3b für einen Kontakt).

    DragDropVariable.gif

Um die Eigenschaften (Objekttyp) eines auf diese Weise eingefügten Kontakts zu ändern, verfahren Sie wie im Thema "Kontakt/Spule: Eigen­schaften ändern".

Deklarationsregeln für Variablen

Die Deklaration von Variablen erfolgt entsprechend den in der Norm IEC 61131-3 festgelegten Regeln. Beim Deklarieren von Variablen mit Hilfe des Dialogs 'Variable' werden diese Regeln und Beschränkungen automatisch beachtet. Syntaxfehler wie bspw. Verschachtelungsfehler von Deklarationsblöcken oder falsche Datentypen werden mit Hilfe des Dialogs 'Variable' verhindert.

Beim Deklarieren einer Variable mit Hilfe des Dialogs 'Variable' (wie zuvor beschrieben), trägt das System die Deklaration automatisch in das richtige Variablen-Arbeitsblatt ein. Das bedeutet, Sie müssen nur den 'Bereich' und die 'Gruppe' einer Variable im Dialog auswählen. Den Rest, d.h. die richtige Stelle für die Deklaration, übernimmt das System für Sie.

Darüber hinaus müssen weitere Deklarationsregeln bezüglich der Vari­ablen beachtet werden.

Weitere Informationen

Weitere Informationen hierzu finden Sie in der Beschreibung des Dialogs 'Variable' und im Thema "IEC 61131-Implemen­tierung - Variablen".

Hier finden Sie verwandte Themen