-

Literale gemäß IEC 61131-3

Wenn im Code konstante numerische Werte, Zeichenfolgen oder Zeitdatenwerte verwendet werden sollen, z.B. um sie mit einem Formalparameter einer Funktion bzw. eines Funktionsbausteins zu verbinden, können Literale anstelle von konstanten Variablen verwendet werden. Literale sind direkt eingegebene feste Werte oder Zeichenfolgen. Die Norm IEC 61131-3 bezeichnet Literale als "externe Darstellung von Daten". Literale können direkt in den Code eingegeben werden. Es ist keine Deklaration notwendig.

Die IEC 61131-3 beschreibt verschiedene Arten von Literalen, entsprechend den elementaren Datentypen.

Es können auch sicherheitsbezogene Literale entsprechend den sicherheitsbezogenen Datentypen verwendet werden.

Dieses Thema enthält die folgenden Abschnitte:

Numerische Literale

TypBeispiele
Ganzzahliges (integer) Literal-12 0 123_456 +986

Hinweis
Für SAFEINT-Literale muss immer der Datentyp (SAFEINT#) angegeben werden.

Reelles (real) Literal-12.0 0.0 0.4560 3.14159_26
Reelles (real) Literal mit Exponent-1.34E-12 -1.34e-12 1.0E+6
Langes reelles (long real) LiteralLREAL#-12.0

Beachten Sie hierzu den 2. Hinweis im Anschluss an diese Tabelle.
Langes reelles (long real) Literal mit ExponentLREAL#2.3E-89

Beachten Sie hierzu den 2. Hinweis im Anschluss an diese Tabelle.
Literale zur Basis 2INT#2#1111_1111
Literale zur Basis 8INT#8#377
Literale zur Basis 16INT#16#FF SINT#16#ff
Boolesches FALSE und TRUEFALSE, TRUE

SAFEFALSE, SAFETRUE
Boolesche 0 und 10, 1

Für SAFEBOOL-Literale muss immer SAFEFALSE bzw. SAFETRUE angegeben werden.

Hinweis
INT-Literale können ohne Schlüsselwort verwendet werden. Beispiel: Statt INT#16#ff können Sie 16#ff eingeben.
BOOL/SAFEBOOL-Literale können auch ohne Schlüsselwort verwendet werden. Beispiele: Statt BOOL#FALSE können Sie FALSE eingeben und statt SAFEBOOL#FALSE verwenden Sie SAFEFALSE.

Hinweis
Wenn Sie PLCnext Engineer in einer anderen Benutzeroberflächensprache und/oder unter einem anderen Windows System Locale als Englisch verwenden, müssen Sie numerische Werte mit einem '.' als Dezimaltrennzeichen eingeben (gem. des englischsprachigen Standards). Dies gilt zum Beispiel beim Festlegen eines Anfangswerts in Variablentabellen oder für REAL/LREAL-Literale im Code.

Zeichenfolge-Literale

Zeichenfolge-Literale enthalten entweder Einzelbyte- oder Doppelbyte-Zeichen.

Ein Einzelbyte-Zeichenfolge-Literal (String-Literal) ist eine Sequenz von Null oder mehr Zeichen, die durch einfache Anführungszeichen (') eingeleitet und abgeschlossen sind. Ein Doppelbyte-Zeichenfolge-Literal ist eine Sequenz von Null oder mehr Zeichen, die durch doppelte Anführungszeichen (") eingeleitet und abgeschlossen sind.

TypBeispiele
Einzelbyte-Zeichenfolgen
Leere Zeichenfolge''
Zeichenfolge mit einem Leerzeichen' '
Zeichenfolge mit Text'dies ist ein Text'
Doppelbyte-Zeichenfolgen
Leere Zeichenfolge""
Zeichenfolge mit einem Leerzeichen" "
Zeichenfolge mit Text"dies ist ein Text"

Escape-Sequenzen

PLCnext Engineer unterstützt Escape-Sequenzen (Maskierungszeichen) in Zeichenfolgen. Escape-Sequenzen sind eine Kombination aus dem Backslash (\) gefolgt von einem Sonderzeichen. Der Backslash wird verwendet, um bestimmte Zeichen wie Tabulatoren (\t) oder Zeilenumbrüche (\n) innerhalb der Zeichenfolge darzustellen. Escape-Zeichen werden als IEC-Init-Werte oder in Konstanten in Code-Arbeitsblättern verwendet.

Hinweis
Zur Sicherstellung der Kompatibilität mit anderen von PLCnext Technology unterstützten Programmiersprachen, wird das IEC 61131-3 Style-Escaping mit dem $-Zeichen nicht mehr länger unterstützt. Ältere Projekte, in denen das $-Zeichen als Escape-Zeichen verwendet wird, werden automatisch aktualisiert.

Die folgende Tabelle zeigt die in PLCnext Engineer unterstützten Escape-Sequenzen.

Escape-SequenzBedeutung
\\Backslash
\n oder \NZeilenvorschub
\t oder \TTabulatorzeichen
\'Einfaches Anführungszeichen (nur gültig für STRING-Werte).
\"Doppeltes Anführungszeichen (nur gültig für WSTRING-Werte).

Hinweis
Ein nicht unterstützte Escape-Sequenz führt zu einem Build-Fehler (z.B. 'aaa\').

Zeichenfolgen mit Escape-Sequenzen im Online-Modus

Im Online-Modus werden die folgenden Zeichen für die Escape-Sequenzen angezeigt:

Escape-SequenzOnline-Wert
\\\
\n oder \N (Unicode U+21B5)
(In der HMI-Applikation wird der Text in mehreren Zeilen angezeigt.)
\t oder \T (Unicode U+2192)
(In der HMI-Applikation wird das Zeichen ? angezeigt.)

Die Standard-Tabstoppgröße kann im 'Extras > Optionen'-Dialog unter der Kategorie 'Online | Online-Werte' eingestellt werden.
\''
\""

Hinweis
In Controls, in denen Forcen und Überschreiben möglich ist (Online Code-Arbeitsblatt, FORCELISTE-Fenster usw.), werden im Online-Wert die Zeichen für <Zeilenvorschub> und <Tab> mit \n und \t (nicht mit \N und \T) angezeigt. Um diese Zeichen für das Forcen/Überschreiben zu verwenden, können Sie die Escape-Sequenzen \n, \N, \t und \T eingeben.

Datums- und Zeitliterale

Literale für Zeitdauer können in Stunden, Minuten, Sekunden, Millisekunden und in Kombination dieser Angaben dargestellt werden.

TypBeispiele
Kurzes PräfixDatentyp TIME: T#14ms t#14ms t#12m18s3.5ms T#25h_15m t#25h_15m

Hinweis
Die Darstellung mit kurzem Präfix ist nicht erlaubt für SAFETIME-Literale.

Datentyp LTIME: LT#14ms t#14ms t#12m18s3.5ms T#25h_15m t#25h_15m
Langes PräfixDatentyp TIME: TIME#14 ms time#14ms TIME#25h_15m time#25h_15m

Datentyp SAFETIME: SAFETIME#14 ms safetime#14ms SAFETIME#25h_15m safetime#25h_15m

Datentyp LTIME: LTIME#14 ms time#14ms TIME#25h_15m time#25h_15m

Datums- und Uhrzeitliterale

TypBeispiele
Langes DatumLDATE#1996-01-24
ldate#1996-01-24
LD#1996-01-24
ld#1996-01-24
Lange UhrzeitLTIME_OF_DAY#15:36:55.36
ltime_of_day#15:36:55.36
LTOD#15:36:55.36
ltod#15:36:55.36
Langes Datum und UhrzeitLDATE_AND_TIME#1996-01-24-15:36:55.36
ldate_and_time#1996-01-24-15:36:55.36
LDT#1996-01-24-15:36:55.36
ldt#1996-01-24-15:36:55.36

Weitere Infos
Informationen, wie Sie Literale in den Programmiersprachen FBS/KOP/AS bearbeiten, finden Sie im Abschnitt "Konstante (Literal)".