Konstanten (Literale): Einfügen und Bearbeiten
Literale werden für die Eingabe konstanter Werte in den Code benötigt. Sie können ohne Angabe einer Deklaration verwendet werden.
Weitere Informationen
Die Norm IEC 61131 beschreibt verschiedene Literal-Typen, gemäß den Standard-Datentypen. Weitere Informationen finden Sie im Thema "IEC 61131-Implementierung - Konstanten kontra Literale".
Beachten Sie hierzu auch den Abschnitt "Spezialfall: Globale Variable wirkt wie globale Konstante".
So fügen Sie eine Konstante ein
Sie können unverbundene oder verbundene/zugewiesene Konstanten einfügen:
Um eine unverbundene Konstante einzufügen, klicken Sie an eine freie Stelle im Arbeitsblatt. Drücken Sie <F5> oder klicken Sie in der Symbolleiste auf das Symbol 'Variable'.
Um eine Konstante beim Einfügen direkt mit einer Funktion/einem Funktionsbaustein zu verbinden, doppelklicken Sie auf den gewünschten Formalparameter. Beispiel:
Um eine Konstante für einen Kontakt oder eine Spule einzufügen, doppelklicken Sie auf das gewünschte KOP-Objekt. Beispiel:
In allen Fällen erscheint der Dialog 'Variable'.
Wählen Sie den 'Bereich' 'Konstante'.
Der Dialog zeigt jetzt nur noch die Eingabefelder 'Name' und 'Datentyp'.
Geben Sie das gewünschte Literal (die Konstante) in das Feld 'Name' ein.
Beachten Sie Folgendes:
Literale müssen immer mit dem jeweiligen Datentyp eingegeben werden (z.B. BYTE#1, SAFEINT#1000).
Ausnahmen: TRUE und FALSE werden immer als BOOL behandelt.
Das gleiche gilt für SAFETRUE und SAFEFALSE, welche immer als SAFEBOOL interpretiert werden.
Standard-INT-Konstanten können auch ohne Datentyp eingegeben werden (z.B. 1000 für INT#1000), da dezimale Eingaben automatisch als INT interpretiert werden.
Ausnahme: 0 und 1 bei Verwendung mit einem booleschen Datentyp.
Abhängig von der eingegebenen Konstante, wird in der Combobox 'Datentyp' ein passender Datentyp vorgeschlagen.
Wählen Sie, falls notwendig, in der Combobox einen anderen Datentyp aus.
Beachten Sie Folgendes:
Eine Konstante muss zu dem Objekt passen, mit dem diese verbunden wird. So können z.B. für Kontakte und Spulen nur boolesche Konstanten (TRUE, FALSE, SAFETRUE, SAFEFALSE) eingefügt werden. Achten Sie beim Verbinden einer Konstanten mit einem FU/FB-Formalparameter auf den richtigen Datentyp. Welcher Datentyp für einen bestimmten Formalparameter verwendet werden muss, sehen Sie im Infodialog 'Formalparameter', den Sie durch Doppelklicken auf den Eingang/Ausgang innerhalb des FU/FB-Symbols öffnen. Hier wird der erwartete Datentyp angezeigt.
Wenn Sie ein Literal direkt an einem Formalparameter einfügen, der explizit ein Literal erwartet, dann werden der Datentyp und das Namenspräfix (z.B. INT#) bereits im Dialog 'Variable' vorgegeben.
Bestätigen Sie den Dialog 'Variable'.
Die Konstante erscheint jetzt im Arbeitsblatt. Sie setzt sich aus ihrem Datentyp und dem eingegeben Wert zusammen. Beispiele:
So ändern Sie eine Konstante
Da Konstanten keine Deklaration im Variablen-Arbeitsblatt besitzen, können sie nur im Dialog 'Variable' bearbeitet werden.
Rechtsklicken Sie auf die Konstante und wählen Sie 'Objekteigenschaften' aus dem Kontextmenü.
Ändern Sie im Dialog 'Variable' die Konstante im Feld 'Name'.
Sie können sowohl den Datentyp als auch den Wert des Literals ändern.
Literale müssen immer mit dem jeweiligen Datentyp eingegeben werden (z.B. BYTE#1, SAFEINT#1000).
Ausnahmen: TRUE und FALSE werden immer als BOOL behandelt.
Das gleiche gilt für SAFETRUE und SAFEFALSE, welche immer als SAFEBOOL interpretiert werden.
Standard-INT-Konstanten können auch ohne Datentyp eingegeben werden (z.B. 1000 für INT#1000), da dezimale Eingaben automatisch als INT interpretiert werden.
Ausnahme: 0 und 1 bei Verwendung mit einem booleschen Datentyp.
Verifizieren Sie den Datentyp und den Wert, bevor Sie den Dialog bestätigen.
Alternativ dazu können Sie die zu ändernde Konstante auch löschen und eine neue Konstante einfügen. So ist sichergestellt, dass Datentyp und Wert passen.
Spezialfall: Globale Variable wirkt wie globale Konstante
EcoStruxure Machine Expert - Safety unterstützt globale symbolische Variablen (globale Merkervariablen).
Wenn eine globale symbolische Variable einen Anfangswert erhält (gem. der Norm IEC 61131-3), 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 Funktionsbausteins angeschlossen werden, der eine Konstante erwartet.
Durch die Vergabe aussagekräftiger Namen können globalen Konstanten leicht unterschieden werden, was die Code-Entwicklung vereinfacht.
So fügen Sie eine globale Konstante ein und deklarieren sie
Deklarieren Sie wie gewohnt eine globale symbolische Variable, indem Sie entweder den Dialog 'Variable' verwenden oder direkt im globalen Variablen-Arbeitsblatt eine Deklaration anlegen.
Geben Sie einen Anfangswert ein.
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) Variablen 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-Anfangswert 0 oder FALSE.
Anfangswerte für sicherheitsbezogene Variablen müssen unter Angabe des Datentyps in folgendem Format eingegeben werden: SAFEINT#Wert, SAFEBYTE#Wert, SAFEWORD#Wert, SAFEDWORD#Wert oder SAFETIME#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 Funktionsbausteins angeschlossen werden, der eine Konstante erwartet.
Lesen Sie hierzu das Thema "Konstanten: Einfügen".
Im Dialog 'Variable': Nachdem Sie den Anfangswert eingegeben haben, sind alle Felder außer 'Name' schreibgeschützt.
Die Variable wird nun als globale Konstante betrachtet.
So verändern Sie eine globale Konstante
Öffnen Sie das globale Variablen-Arbeitsblatt, indem Sie in der Symbolleiste auf das Symbol 'Globale Var.' klicken.
Wenn Sie in einem Code-Arbeitsblatt arbeiten, können Sie auch auf die betreffende globale Konstante rechtsklicken und aus dem Kontextmenü den Befehl 'Gehe zu Definition von Variablenname' wählen. Das globale Variablen-Arbeitsblatt wird geöffnet und die Deklarationszeile wird markiert.
Ändern Sie im globalen Variablen-Arbeitsblatt in der entsprechenden Deklarationszeile den Anfangswert.