Dialog 'Variable'

 

Der Dialog erscheint, wenn Sie im FBS/KOP-Code auf eine Variable, einen Kontakt oder eine Spule doppelklicken oder den Menüpunkt 'Objekteigenschaften...' aus dem Kontextmenü des Objektes wählen.

Der Dialog 'Variable' wird in FBS/KOP-Arbeitsblättern für folgende Oper­ationen verwendet:

Jede der hier genannten Vorgehensweisen können Sie über die Liste der verwandten Themen am Ende dieser Seite aufrufen.

HINWEIS:

Die Eigenschaften bereits vorhandener Variablen können in diesem Dialog nicht geändert werden. Stattdessen müssen Sie die betreffende Deklaration direkt im Vari­ablen-Arbeitsblatt editieren. Der Dialog kann jedoch zum Ersetzen einer Variablen durch eine andere, bereits deklarierte Variable verwendet werden.

Dialogelement

Bedeutung

Name

Bei Variablen: Gibt den Namen der Variablen an, für die der Dialog aufgerufen wurde oder die eingefügt werden soll.

Bei Kontakten/Spulen: Gibt die Variable an, die dem Objekt zugewiesen wurde oder die zugewiesen werden soll.

Abhängig vom gewählten 'Bereich' und der eingestellten 'Gruppe' enthält die Combobox alle lokalen oder globalen Variablen, die bereits in der betreffenden Variablengruppe deklariert sind.

Bei FB-Instanzen: Gibt den Namen der FB-Instanz an oder den Instanznamen, der zugewiesen werden soll. Beim Deklarieren einer neuen Instanz wird ein Instanzname vorgeschlagen, den Sie übernehmen oder ändern können. Beachten Sie beim Auswählen eines Instanznamens aus der Combobox, dass die Liste nur Instanzen desselben Datentyps (d.h. des FB-Typs) enthält, die bereits in der POE deklariert sind.

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 Posi­tion 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 alpha­betisches 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, SAFED­WORD, SAFEINT, SAFEDINT, SAFETIME, SAFE­WORD

Datentyp

Gibt den Datentyp der Variablen an. Datentypen bestimmen die Eigenschaften für die Werte einer Variablen und definieren den Anfangswert, den möglichen Wertebereich und die Anzahl der Bits.

HINWEIS:

Die Combobox bietet nur Datentypen zur Auswahl an, die im aktuellen Code-Kontext gültig sind. Der Inhalt der Liste hängt also vom markierten Formalparameter/Objekt ab.

Gruppe

Die Variablengruppe im Variablen-Arbeitsblatt (je nach eingestelltem 'Bereich'), in dem die Variable/FB-Instanz deklariert ist oder die beim Deklarieren einer neuen Variable/FB-Instanz verwendet wird.

Die Variablengruppe einer bereits deklarierten Variablen kann nicht geändert werden, d.h. es ist nicht möglich, eine Variable durch Auswählen einer anderen Variablengruppe zu verschieben. Dies muss direkt im jeweiligen Variablen-Arbeitsblatt vorgenommen werden.

Verwendung

Diese Combobox ist nur für lokale Variablen verfügbar. Sie definiert das Variablenschlüsselwort gemäß IEC 61131 und dadurch den Variablentyp:

  • VAR deklariert eine lokale symbolische Variable (Merkervariable)

  • VAR_INPUT deklariert eine FB-Eingangsvariable

  • VAR_OUTPUT deklariert eine FB-Ausgangsvariable

Beschreibung

Kommentar des Anwenders.

Der hier eingegebene Text ist auch im Tooltip im FBS/KOP-Code zu sehen. Der Tooltip erscheint, wenn Sie den Mauszeiger auf das entsprechende Objekt setzen, ohne dieses anzuklicken.

Anfangswert

Dieses Eingabefeld ist nur für Variablen verfügbar. Es spezifiziert den Anfangswert der Variablen.

Gemäß IEC 61131-3 können Variablen einen optionalen Anfangswert haben. Bei ihrer ersten Verarbeitung (zur Laufzeit) wird die Variable mit diesem Anfangswert verwendet werden.

Regeln für die Initialisierung von Variablen

  • Die Initialisierung von Variablen ist optional. Wird kein Anfangswert angegeben, dann wird die Variable mit dem Standard-Anfangswert des jeweiligen Datentyps gemäß IEC 61131-3 initialisiert.

  • Anfangswerte können für lokale (symbolische) Vari­ablen und globale Ausgangsvariablen vergeben werden.

    Globale Eingangsvariablen (globale Variablen, die mit einem physikalischen Eingang verbunden sind) können nicht initialisiert werden.

  • Der Anfangswert muss zu dem gewählten Datentyp passen.

  • Für boolesche Variablen ist der Standard-Anfang­swert 0 oder FALSE.

  • Anfangswerte für sicherheitsbezogene Variablen müssen unter Angabe des Datentyps in folgendem Format einge­geben werden: SAFEINT#Wert, SAFEBYTE#Wert, SAFEWORD#Wert, SAFEDWORD#Wert oder SAFE­TIME#Werts.

    (Wert gibt dabei den tatsächlichen Wert an, z.B. SAFEINT#13 oder SAFETIME#1s.)

  • Um eine sicherheitsbezogene boolesche Variable mit FALSE zu initialisieren, geben Sie entweder SAFEBOOL#0 oder SAFEFALSE ein. Verwenden Sie entsprechend SAFEBOOL#1 oder SAFETRUE, um eine sicherheitsbezogene boolesche Variable mit TRUE zu initialisieren.

  • Globale Variable wirkt wie globale Konstante: Wenn eine globale symbolische Variable einen Anfangswert besitzt, dann kann diese als globale Konstante mit symbolischem Namen betrachtet werden. Die initialisierte globale symbolische Variable ist schreibgeschützt und wird vom Compiler wie eine Konstante behandelt. Infolgedessen kann sie z.B. an den Formalparameter eines Funktions­bausteins angeschlossen werden, der eine Konstante erwartet.

    Lesen Sie hierzu das Thema "Konstanten: Einfügen".

DIAG

Dieser Merker ist ausschließlich für lokale Ausgangsvari­ablen (Verwendung: VAR_OUT) vom Datentyp WORD verfügbar.

Wenn aktiviert, wird für diese Variable eine implizite Diagnose durchgeführt.

Hintergrund: Sowohl sicherheitsbezogene Firmware-Funktionsbausteine als auch anwenderdefinierte FBs in einem sicherheitsbezogenen Projekt können einen Diagnoseausgang haben, der eine Abfrage der FB-Statusinformationen erlaubt. Diese Diagnoseinformationen können beim Kompilieren in einen reservierten Ausgangspufferbereich (den DQ-Puffer) geschrieben und z.B. mit einem Diagnosetool weiterverarbeitet werden. Um eine lokale Ausgangsvariable (d.h. einen FB-Ausgang) in diesen Puffer einzufügen, muss der Merker 'DIAG' gesetzt sein.

Bereich

Gibt den Gültigkeitsbereich der Variablen an. Weitere Informationen finden Sie im Thema "IEC 61131-Implementierung - Variablen".

  • 'Lokal': Eine lokale Variable kann nur in der POE verwendet werden, in der sie deklariert ist.

  • 'Global': Eine globale Variable kann in allen graf­ischen POEs des Projektes verwendet werden.

Beim Deklarieren und Einfügen einer neuen Variablen wird die Deklaration je nach markiertem 'Bereich' in das entsprechende Variablen-Arbeitsblatt eingetragen.

Per Dialog können nur lokale Variablen und globale symbolische Variablen deklariert werden (siehe Hinweis unten bzgl. globaler I/O-Variablen).

Beim Einfügen einer bereits deklarierten Variablen in den Code gilt: Wenn 'Lokal' aktiviert ist, enthält die Combobox 'Name' nur lokale Variablen, die in der selektierten Gruppe des lokalen Variablen-Arbeitsblatts deklariert sind. Wenn 'Global' markiert ist, bietet die Combobox 'Name' alle Variablen zur Auswahl an, die in der selektierten 'Gruppe' des globalen Variablen-Arbeitsblatts deklariert sind.

Bei globalen Variablen wird zwischen zwei Typen unterschieden: Globale symbolische Variablen und globale I/O-Variablen. Globale I/O-Variablen sind einem Prozessdaten-Element zugeordnet und können in EcoStruxure Machine Expert - Safety nicht angelegt werden. Lesen Sie hierzu den Abschnitt "Deklarationsregeln".

Objekttyp

Nur für ein ausgewähltes KOP-Objekt vorhanden. Er wird verwendet, um den Objekttyp zu spezifizieren/modifizieren. Sie können beispielsweise einen Öffnerkontakt durch einen Schließerkontakt ersetzen oder einen anderen Spulentyp auswählen.

Lesen Sie hierzu auch die nachfolgende Liste der verwandten Themen.

Rückkopplung

Ist der Merker gesetzt, so kann die Variable als Rückkopplungsvariable verwendet werden, d.h. sie kann zur Programmierung einer impliziten Rückkopplung verwendet werden.1

Der Merker 'Rückkopplung' kann nur in Kombination mit 'Verwendung = VAR' und 'Bereich = Lokal' gesetzt werden.

Weitere Informationen

Weitere Informationen entnehmen Sie bitte dem Thema "Implizite Rückkopplungen in FBS".

1

Durch implizite Rückkopplungen kann die Sicherheitslogik ein speicherndes Verhalten aufweisen, aus der ein komplexes Zeitverhalten der gesamten Applikation resultieren kann.

WARNUNG

UNBEABSICHTIGTER BETRIEBSZUSTAND DES GERÄTS

  • Verifizieren Sie die mögliche Auswirkung programmierter impliziter Rückkopplungen auf die Performance Ihrer Applikation.

  • Stellen Sie sicher, dass geeignete organisatorische Maßnahmen (gemäß zutreffender Sektornormen) getroffen wurden, um Gefähr­dungen im Falle einer ungewollten oder falschen Funktion der Sicherheitslogik zu vermeiden.

  • Betreten Sie den Betriebsbereich nicht, während die Maschine in Betrieb ist.

  • Stellen Sie sicher, dass keine anderen Personen den Betriebsbereich betreten können, während die Maschine in Betrieb ist.

  • Beachten Sie die vorgegebenen Richtlinien in relevanten Sektor­normen, wenn die Maschine in einer anderen Betriebsart als "In Betrieb" läuft.

  • Verwenden Sie geeignete Sicherheitsverriegelungen, wenn eine Gefahr für Personen und/oder Ausrüstung besteht.

Die Nichtbeachtung dieser Anweisungen kann Tod, schwere Körperverletzungen oder Sachschäden zur Folge haben.

Hier finden Sie verwandte Themen