-

Datentyp-Parser Fehler (diverse zwischen DTP0003 und DTP0024): '...' erwartet.

Dieses Thema gilt für mehrere Datentyp-Parser Fehler. Die Fehler-IDs sind in der Tabelle angegeben.

Der Datentyp-Parser hat in einem Deklarationskonstrukt einen Syntaxfehler gefunden. Das in der Fehlermeldung genannte Element fehlt. Die Position in der Deklaration, wo das Element erwartet wird, ist im Editor rot unterstrichen.

In dieser Fehlermeldung können die folgenden Deklarationselemente gefordert werden:

FehlermeldungBedeutung / Abhilfe
';' erwartet.
(DTP0003)
Vervollständigen Sie die Deklaration durch Einfügen eines Semikolons am Ende der markierten Zeile.
',' erwartet.
(DTP00018)
In der Elementliste einer Enumeration müssen die einzelnen Elemente durch ein Komma getrennt sein. Die betreffende Deklaration ist im Editor unterstrichen.
':' erwartet.
(DTP0005)
Fügen Sie vor dem unterstrichenen Basisdatentyp einen Doppelpunkt ein. Bei einer Enumeration muss der Doppelpunkt vor den Klammern mit der Elementliste eingefügt werden.
':=' erwartet.
(DTP0024)
In der unterstrichenen Deklarationszeile fehlt ein Zuweisungsoperator ':='.

Der Operator ':=' wird verwendet, um Datentypen einen Anfangswert zuzuweisen. Stellen Sie sicher, dass die Datentypen auf beiden Seiten des Operators übereinstimmen. Im nachfolgenden Beispiel werden zwei Anfangswerte zugewiesen: Zuerst wird das INT-Enumerationselement Blue mit dem Wert 5 initialisiert. Anschließend wird als Standard-Enumerationswert Red gesetzt (MyEnum wird mit Red initialisiert).

Beispiel:

')', ':=' oder ',' erwartet.
(DTP0021)
In der unterstrichenen Deklarationszeile fehlt einer der Operatoren ')', ':=' oder ','.
'OF' erwartet.
(DTP0011)
In der unterstrichenen Deklarationszeile fehlt das Schlüsselwort 'OF'.

Der Operator 'OF' wird verwendet, um in anwenderdefinierten Datentypen den elementaren Datentyp anzugeben. Im nachfolgenden Beispiel führt 'OF' den Datentyp INT ein. Dieser wird als Basis für die Elemente von MyEnum verwendet.

Beispiel:

'OF' oder ':=' erwartet.
(DTP0008)
In der unterstrichenen Deklarationszeile fehlt das Schlüsselwort 'OF' oder ein Zuweisungsoperator ':='.
'(' erwartet.
(DTP0017)

')' erwartet.
(DTP0009)
In der unterstrichenen Deklarationszeile fehlt eine öffnende oder eine schließende runde Klammer bei der Festlegung der Elemente eines Enumeration-Datentyps.
'[' erwartet.
(DTP0014)

']' erwartet.
(DTP0012)
In der unterstrichenen Deklarationszeile fehlt eine öffnende oder eine schließende eckige Klammer bei der Festlegung der Feldgrößen oder der Länge von anwenderdefinierten Strings.
'(', 'ARRAY', 'STRUCT' oder 'STRING' erwartet.
(DTP0006)
In der Deklaration von anwenderdefinierten Datentypen muss der Basistyp (Array, Struct) definiert werden, aus dem der anwenderdefinierte Datentyp abgeleitet wird. In der betroffenen Deklaration fehlt dieser Basistyp oder eine öffnende Klammer

Beispiel (nach MyStruct : muss STRUCT eingegeben werden)

'END_TYPE' erwartet.
(DTP0007)
Anwenderdefinierte Deklarationen müssen in sogenannten Deklarationsblöcken angegeben werden. Hierbei muss jeder Block durch die IEC-Deklarationsschlüsselwörter TYPE und END_TYPE eingeschlossen sein.

Korrekte Syntax:

TYPE
   (* Deklarationen *)
END_TYPE
'END_STRUCT' erwartet.
(DTP0015)
STRUCT-Datentypen müssen durch die IEC-Deklarationsschlüsselwörter STRUCT und END_STRUCT deklariert werden.

Weitere Infos
Informationen zu anwenderdefinierten Datentypen und deren Deklaration finden Sie im Kapitel "Anwenderdefinierte Datentypen".