Semantischer Fehler (SEM1189): Der Datentyp '...' des Ausdrucks am Parameter '...' der Funktion '...' kann nicht implizit nach '...' konvertiert werden.
Das System erlaubt die IEC 61131-konforme implizite Datentypumwandlung: Bestimmte Datentypen werden implizit in einen anderen Datentyp umgewandelt, wenn beide innerhalb desselben Ausdrucks verwendet werden. Ist eine implizite Datentypumwandlung möglich, so wird dadurch die Verwendung einer IEC 61131-definierten Typumwandlungsfunktion überflüssig.
Beispiele : In den Zuweisungen im folgenden Beispiel werden Variablen unterschiedlicher Datentypen implizit umgewandelt oder als Funktionsparameter übergeben.
Die möglichen impliziten Typumwandlungen sind nachfolgend aufgeführt. Für alle anderen Datentyp-Kombinationen wird diese Fehlermeldung ausgegeben. Im Fehlerfall muss vorher eine IEC 61131-Typumwandlungsfunktion verwendet werden.
Es gilt folgende Grundsatzregel: Eine implizite Umwandlung ist nur von kleineren Datentypen in größere Datentypen möglich. Die Umwandlung von "größer in kleiner" ist nicht möglich.
- SINT >>>: INT DINT LINT REAL LREAL
- INT >>>: DINT LINT REAL LREAL
- DINT >>>: LINT LREAL
- USINT >>>: UINT UDINT ULINT INT DINT LINT REAL LREAL
- UINT >>>: UDINT ULINT DINT LINT REAL LREAL
- UDINT >>>: ULINT LINT LREAL TIME
- BOOL >>>: BYTE WORD DWORD LWORD
- BYTE >>>: WORD DWORD LWORD
- WORD >>>: DWORD LWORD
- DWORD >>>: LWORD
- REAL >>>: LREAL
- TIME >>>: UDINT
Weitere Infos
Informationen zu den Wertebereichen elementarer Datentypen finden Sie im Thema "Elementare Datentypen gemäß IEC 61131-3 ![]() ×‣ Sicherheitsbezogene elementare Datentypen ×". |