Fehlercodes
Fehlerausgaben werden an zwei Ausgängen des RFID PLC Funktionsbausteines zur Verfügung gestellt.
Diese zwei Ausgangsvariablen iErrorID und iErrCodeRcv werden im Folgenden erläutert.
Error ID - iErrorID
Falls ein Fehler vorliegt, zeigt diese Ausgabe die Art des Fehlers. Folgende Liste gibt die möglichen Werte wieder.
TYPE E_RFID_ErrID :(
eRFERR_NoError := 0,
(* general errors *)
eRFERR_TimeOutElapsed := 16#4001,
(* invalid input parameters *)
eRFERR_InvalidCommand := 16#4101,
eRFERR_IncompatibleCfg := 16#4102,
eRFERR_InvalidManufacturer := 16#4103,
eRFERR_InvalidTimeOutParam := 16#4104,
eRFERR_InvalidRawDataParam := 16#4105,
eRFERR_InvalidAccessData := 16#4106,
eRFERR_InvalidCfg := 16#4107,
eRFERR_InvalidCfgParam := 16#4108,
eRFERR_InvalidCtrlHeadNumber := 16#4109,
(* error at receive of response *)
eRFERR_InvalidResponse := 16#4201,
eRFERR_InvalidRspLen := 16#4202,
eRFERR_InvalidBlocksize := 16#4203,
eRFERR_ErrorRcv := 16#4204,
eRFERR_ChecksumError := 16#4205,
(* internal errors *)
eRFERR_UnknownReaderGroup := 16#4401,
eRFERR_CreatedTelegramTooBig := 16#4402,
);
END_TYPE
Wenn iErrorID den Wert eRFERR_ErrorRcv besitzt, wurde ein Fehlercode von dem RFID Reader empfangen. Dieser empfangene Fehlercode wird in der Ausgangsvariablen iErrCodeRcv angegeben.
Bei einem anderen Wert für iErrorID kann dennoch zusätzlich vom RFID Reader ein Fehler empfangen worden sein, welcher auch an iErrCodeRcv angezeigt wird. |
| ID | ID | Beschreibung |
---|---|---|---|
eRFERR_TimeOutElapsed | 0x4001 | 16385 | Dieser Fehler tritt ein, wenn die als Timeout am Eingang (Default = 5sec) angegebene Zeitdauer abgelaufen ist. Eine noch in Bearbeitung befindliche Aktion wird damit abgebrochen. Es kommt auch zu einem Timeout Fehler, falls die serielle Hintergrundkommunikation nicht funktioniert. Dies kann beispielsweise der Fall sein, falls die falsche Baudrate eingestellt ist oder die Taskzykluszeit nicht ausreicht, um die Daten zu verarbeiten. Nähere Informationen hierzu finden sich im Kapitel RFID Reader Anbindung und in der Dokumentation der SPS Bibliothek Serielle Kommunikation. |
eRFERR_InvalidCommand | 0x4101 | 16641 | Der Befehl wurde nicht ausgeführt. Der gewählte Befehl kann mit diesem RFID Reader Modell nicht ausgeführt werden. Im Befehlssatz sind die zur Verfügung stehenden Befehle gelistet. |
eRFERR_IncompatibleCfg | 0x4102 | 16642 | Der Befehl wurde nicht ausgeführt. Die aktuelle RFID Reader Konfiguration (siehe Ausgangsstruktur ST_RFID_Config) ist nicht kompatibel mit dem ausgewählten Befehl (und den dazu gehörigen Eingangsparametern). |
eRFERR_InvalidManufacturer | 0x4103 | 16643 | Am Eingang des generischen Funktionsbausteines FB_RFIDReader muss mit der Variablen eManufacturer der RFID Hersteller des RFID Reader Modells angegeben werden. Der Fehler eRFERR_InvalidManufacturer signalisiert eine ungültige Angabe. |
eRFERR_InvalidTimeOutParam | 0x4104 | 16644 | Dieser Fehler wird ausgegeben, falls die Angabe der Eingangsvariablen tTimeOut ungültig ist. Es gilt die Bedingung 'tTimeOut > tPreSendDelay + tPostSendDelay'. |
eRFERR_InvalidRawDataParam | 0x4105 | 16645 | Sollen Rohdaten gesendet werden, so müssen diese am Eingang des Funktionsbausteines angegeben werden. Der Fehler eRFERR_InvalidRawDataParam wird ausgegeben, falls die Angabe der Eingangsvariablen pRawDataCommand oder iRawDataCommandLen ungültig ist. Näheres zum Thema im Kapitel LowLevel Kommunikation. |
eRFERR_InvalidAccessData | 0x4106 | 16646 | Der Befehl wurde nicht ausgeführt, weil die am Eingang angegebenen Parameter in der Struktur ST_RFID_AccessData ungültig sind. |
eRFERR_InvalidCfg | 0x4107 | 16647 | Der Befehl 'Konfiguration ändern' wurde nicht ausgeführt, weil die angegebenen Konfigurationsdaten ungültig sind. Die Konfigurationsdaten liegen als Konfigurationsstruktur an (bUseCfgReg = FALSE). Im Zweifelsfall sind die genauen gültigen Wertebereiche der Daten in der proprietären Protokollspezifikation durch den Hersteller gegeben. |
eRFERR_InvalidCfgParam | 0x4108 | 16648 | Der Befehl 'Konfiguration ändern' wurde nicht ausgeführt, weil die angegebenen Eingangsparameter der Konfigurationsdaten ungültig sind. Die Konfigurationsdaten sollen als Konfigurationsregister oder Konfigurationsstruktur anliegen. Dessen Länge oder ein anderer Parameter in ST_RFID_ConfigIn sind ungültig. |
eRFERR_InvalidCtrlHeadNumber | 0x4109 | 16649 | Falls ein RFID Lesegerät mit mehreren Leseköpfen angesprochen wird, so wird in der Eingangsstruktur ST_RFID_Control eine Wahl des Lesekopfes angegeben. Ist für den angegebenen Wert kein Lesekopf verfügbar, so wird dieser Fehlerwert ausgegeben. |
eRFERR_InvalidResponse | 0x4201 | 16897 | Falls die Bytefolge der empfangenen Response keiner bekannten Nachrichtenart entspricht oder einzelne Bytes nicht die erforderlichen Werte aufweisen, wird dieser Fehler ausgegeben. Die empfangenen Daten können als Rohdatenblock am Ausgang ST_RFID_RawData analysiert werden. |
eRFERR_InvalidRspLen | 0x4202 | 16898 | Falls die Bytefolge theoretisch einer bekannten Nachrichtenart entspricht, die Länge allerdings nicht der Erwartung entspricht, wird diese Fehlermeldung erzeugt. Die empfangenen Daten können als Rohdatenblock am Ausgang ST_RFID_RawData analysiert werden. |
eRFERR_InvalidBlocksize | 0x4203 | 16899 | Tritt dieser Fehlerwert ein, so konnten die empfangenen vom Transponder gelesenen Daten nicht ausgewertet werden. Die Anzahl der empfangenen Bytes signalisiert, dass die konfigurierte Blocksize nicht mit der Eingabe beim Befehlsaufruf übereinstimmt. |
eRFERR_ErrorRcv | 0x4204 | 16900 | Ein Fehlercode wurde mit der empfangenen Nachricht gesendet. Der vom RFID Reader angezeigte Fehler wird ebenso ausgegeben und von der Ausgangsvariablen iErrCodeRcv repräsentiert (Erläuterung am Ende dieses Kapitels). |
eRFERR_ChecksumError | 0x4205 | 16901 | Je nach Protokollspezifikation wird eine Checksumme, beispielsweise eine CRC Prüfsumme, im Telegram mit gesendet. Wird von der Steuerung ein Telegramm empfangen mit fehlerhafter Checksumme, so wird dieser Fehler ausgegeben. |
eRFERR_UnknownReaderGroup | 0x4401 | 17409 | Die RFID Bibliothek teilt die RFID Reader Modelle intern in Gruppen ein. Der Fehler eRFERR_UnknownReaderGroup kann auftreten, falls der RFID Reader noch keiner Gruppe zugeordnet ist. Deshalb muss je nach RFID Reader Modell bei Programmstart als erste Abfrage der Befehl GetReaderVersion getätigt werden. |
eRFERR_CreatedTelegramTooBig | 0x4402 | 17410 | Es wurde versucht ein Telegramm zu senden, welches die maximal mögliche Größe von 300 Bytes überschritten hat. Es können nur Telegramme mit bis zu 300 Bytes versendet werden. |
In einigen wenigen Fällen werden vom RFID-Gerät mehrere Telegramme unmittelbar hintereinander versendet. Es ist deshalb wichtig, immer den Fehler zu erkennen und zu beheben, welcher als erstes eintraf. |
Error Code Received - iErrCodeRcv
Falls vom RFID Reader ein Fehlercode mitgeschickt wird, wird dieser an der Stelle ausgegeben.
Teils werden Statusmeldungen vom RFID Reader mitgeschickt und dann an iErrCodeRcv ausgegeben, welche nicht zu einem Fehler führen (bError bleibt FALSE und iErrorID zeigt keinen Fehler). |
Eine Liste möglicher Werte ist entweder der Datentypdeklaration der PLC RFID Library im Library Manager oder direkt in der Protokollspezifikation zu entnehmen.
Diesbezügliche Datentypen sind die Enumerationen E_RFID_ErrCodeRcv_Balluff, E_RFID_ErrCodeRcv_Deister, E_RFID_ErrCodeRcv_Leuze usw.