Fehlercodes Übersicht

Fehler Codes werden vom Typ HRESULT zurückgegeben. Ein Test auf Nonzero Values ist bei Werten vom Typ HRESULT nicht ausreichend.

declaration

error

ok

ok but with info

check functions

hrErrorCode :HRESULT;

< 0

>= 0

> 0

SUCCEEDED(), FAILED()

Die folgenden Fehlercodes können auftreten.

16#9811_0000 - 16#9811_FFFF

gelistet in TwinCAT (ADS) Error Codes (dort ohne höherwertiges WORD). Weitere Hinweise unten auf der Seite.

16#9851_0000 - 16#9851_FFFF

Condition Monitoring Error Codes sind aufgeführt unter E_CM_ErrorCode

16#9852_0000 - 16#9852_0FFF

Condition Monitoring Analysis Error Codes stehen in E_CMA_ErrorCodes

16#9871_0000 - 16#9871_FFFF

MultiArray Error Codes findet man in E_MA_ErrorCode

Fehlercodes Übersicht 1:

Wenn ein Fehler während der Initialisierung auftritt, kann der Funktionsbaustein nicht genutzt werden.

Weitere Hinweise für Standard TwinCAT Error Codes:

error value

symbol

Fehlerbeschreibung

Behebungsmöglichkeit

16#9811_070A

NOMEMORY

Keinen Speicher

Falsche Speicher-Einstellungen
=> Router Speicher erhöhen (siehe Kapitel Speicherverwaltung)

16#9811_0719

TIMEOUT

Gerät hat einen Timeout

Ein Timeout kann während des Transfers von Pufferspeichern auftreten. Für die CM Analysekette ist dies meistens nicht kritisch. Es kommt auf die Art des Algorithmus an und auf den Ort, wo genau der Fehler aufgetreten ist, wie auf den Fehler reagiert werden muss. Der Eingang Timeout sollte nur dann angehoben werden, wenn dies zur Zykluszeit der Task passt.
Siehe Kapitel Parallelverarbeitung.

In manchen Fällen ist das Error Handling mit Error Codes nicht die beste Wahl, insbesondere dann wenn die Aktionen einen undefinierten Wert ausgeben, in Bezug auf unübliche, aber mögliche Eingangsdaten. Oder wenn Werte aus dem Prozess ausgeschlossen wurden. In diesem Fall können fehlende Werte und teilweise undefinierte Ergebnisse durch die spezielle Konstante NaN beschrieben werden (siehe dazu: Kapitel NaN values). Dies wird im Falle von Fehlern genutzt dessen Erscheinung nicht von der Programmlogik abhängig ist, aber von bestimmten Input Daten.