Variablen: Einfügen und Deklarieren
In Code-Arbeitsblättern gelten folgende Regeln für das Deklarieren und Einfügen von Variablen.
Sie können...
neue lokale Variablen und globale symbolische Variablen einfügen und gleichzeitig deklarieren (mit Hilfe des Dialogs 'Variable', siehe Beschreibung unten). Auf diese Weise wird die Deklaration automatisch in das entsprechende Variablen-Arbeitsblatt eingefügt (lokal bzw. global).
Für globale I/O-Variablen ist diese Vorgehensweise nicht möglich. Sie werden automatisch erzeugt, wenn Sie ein Prozessdaten-Element (Geräteanschlussklemme) aus dem 'Geräte'-Fenster in ein Code-Arbeitsblatt ziehen.
bereits deklarierte Variablen (aller Gültigkeitsbereiche) in den Code einfügen. Dazu verwenden Sie entweder den Dialog 'Variable' oder Sie fügen die Variable per Drag & Drop aus dem Variablen-Arbeitsblatt in den Code ein.
Beachten Sie beim Deklarieren und Bearbeiten von Variablen die Deklarationsregeln.
Hier finden Sie verwandte Themen
HINWEIS:
Um Standard-Variablen leichter von sicherheitsbezogenen Variablen unterscheiden zu können, werden sicherheitsbezogene Variablen im grafischen Code mit rotem Hintergrund angezeigt. Variablen mit Standard-Datentypen erscheinen ohne Hintergrund.
HINWEIS:
Innerhalb eines FBS/KOP-Netzwerks können sicherheitsbezogene und Standard-Variablen gemischt werden. In solchen gemischten Netzwerken sind führende sicherheitsbezogene 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 gleichzeitig
Sie können unverbundene oder verbundene/zugewiesene Variablen 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':
Um eine Variable beim Einfügen direkt mit einer Funktion/einem Funktionsbaustein zu verbinden, doppelklicken Sie auf den gewünschten Formalparameter. Beispiel:
Um eine neue Variable für einen Kontakt oder eine Spule einzufügen, doppelklicken Sie auf das KOP-Objekt. Beispiel:
In allen Fällen erscheint der Dialog 'Variable'.
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 Merkervariable) zu deklarieren, markieren Sie die Option 'Global'.
Beachten Sie, dass Sie auf diese Weise nur symbolische Variablen erzeugen können, jedoch keine globalen I/O-Variablen. I/O-Variablen werden automatisch erzeugt, wenn Sie ein Prozessdaten-Element (Geräteanschlussklemme) aus dem 'Geräte'-Fenster in ein Code-Arbeitsblatt hineinziehen.
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-Variablennamen.
Regeln für die Verwendung von DIN-Bezeichnern
Gemäß der Norm IEC 61131 dürfen Variablennamen aus Buchstaben, Ziffern und Unterstrichen zusammengesetzt sein. Der Bezeichner 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 Kleinschreibung 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, TIMEDATE48, WEIGHT, ANALOG, UNIFRACT, BIFRACT200, FIXED, BOOLEAN2, BCD4, ENUM4, SAFEBOOL, SAFEBYTE, SAFEDWORD, SAFEINT, SAFEDINT, SAFETIME, SAFEWORD
Spezifizieren Sie die Variable, indem Sie die Dialogfelder ausfüllen.
In der Combobox 'Datentyp' werden nur Datentypen zur Auswahl angeboten, die im aktuellen Kontext auch passen. Der markierte Formalparameter 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üsselwort 'VAR_GLOBAL' automatisch für globale Variablen gilt.
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 'Variable' 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:
Sie können unverbundene oder verbundene/zugewiesene Variablen 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':
Um eine Variable beim Einfügen direkt mit einer Funktion/einem Funktionsbaustein zu verbinden, doppelklicken Sie auf den gewünschten Formalparameter. Beispiel:
Um eine neue Variable für einen Kontakt oder eine Spule einzufügen, doppelklicken Sie auf das KOP-Objekt. Beispiel:
In allen Fällen erscheint der Dialog 'Variable'.
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.
Wählen Sie die 'Gruppe' im Variablen-Arbeitsblatt (dieses wird über den 'Bereich' ausgewählt), in der die Deklaration enthalten ist.
Wählen Sie in der Combobox 'Name' die einzufügende Variable aus.
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 boolesche Variable direkt als Kontakt einfügen (siehe Hinweis unten).
Positionieren Sie die beteiligten Arbeitsblätter (Code und Variablen) so auf dem Bildschirm, dass beide sichtbar sind (bspw. mit Hilfe der Menüpunkte 'Fenster > Überlappend' oder 'Fenster > Nebeneinander').
Linksklicken Sie im Variablen-Arbeitsblatt in die erste Spalte ('Name') der gewünschten Variablen (siehe (1) im folgenden Bild).
Ziehen Sie die Variable aus dem Variablen-Arbeitsblatt in den Code.
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.
Bewegen Sie den Variablen- oder Kontaktumriss an die gewünschte 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).
Um die Eigenschaften (Objekttyp) eines auf diese Weise eingefügten Kontakts zu ändern, verfahren Sie wie im Thema "Kontakt/Spule: Eigenschaften ä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 Variablen beachtet werden.
Weitere Informationen
Weitere Informationen hierzu finden Sie in der Beschreibung des Dialogs 'Variable' und im Thema "IEC 61131-Implementierung - Variablen".