-

Diagnose-Codes

Die hier aufgelisteten, hexadezimalen Diagnosecodes werden als Datentyp WORD am Ausgang DiagCode des Funktionsbausteins ausgegeben.

Code (hex)BeschreibungAbhilfe-Möglichkeiten
0000Der Funktionsbaustein ist nicht aktiviert. Eingang Activate ist FALSE.Aktivieren Sie den Funktionsbaustein, indem Sie Activate auf TRUE steuern.
8000Abarbeitung des FB ist abgeschlossen: Die Rezepturdaten wurden erfolgreich gelesen. Bevor der FB die Daten auf seine Ausgänge PayloadRead** (mit ** = 0 bis 15) schreibt, verifiziert er, dass der gelesene Datensatz identisch ist mit den validierten Daten im vorhergehenden Zustand 800C.

Falls diese Verifizierung erfolgreich ist, steuert Ausgang Done auf SAFETRUE. Die gelesenen Werte werden dann auf die Ausgänge PayloadRead** (mit ** = 0 bis 15) geschrieben und können in der sicherheitsbezogenen Applikation weiter verarbeitet werden.

Falls der Datensatz nicht mit den im vorhergehenden Zustand 800C validierten Daten identisch ist, bleibt Ausgang Done SAFEFALSE. Der FB gibt an seinen Ausgängen die Failsafe-Werte aus, die an den Eingängen PayloadRead** (mit ** = 0 bis 15) anliegen.
  • Done = SAFETRUE:
    Es kann die nächste Leseoperation angefordert werden.
  • Done = SAFEFALSE:
    Stellen Sie sicher, dass die Rezeptur-Datei nicht in Ihrer sicherheitsbezogenen Applikation überschrieben wird, während der Lesevorgang im Gange ist.
8002Der Funktionsbaustein befindet sich in Vorbereitung (Prepare-Zustand). Es wird folgendes ausgeführt:
  • Die Werte an den Eingängen werden auf Plausibilität überprüft.
  • Bei der Sicherheitssteuerung wird die Leseberechtigung für die an Eingang IDRecipeFile adressierte Rezeptur-Datei angefordert.
Temporärer Zustand. Es ist keine Maßnahme erforderlich.
8004Nachdem der Lesezugriff auf die spezifizierte Rezeptur-Datei angefordert wurde, wartet der FB wartet auf die Antwort der Sicherheitssteuerung.Temporärer Zustand. Es ist keine Maßnahme erforderlich.
8006Die Sicherheitssteuerung hat den Lesezugriff auf die Rezeptur-Datei erlaubt. Der FB wartet nun auf den Lesebefehl am Eingang CommandRead.Steuern Sie den Eingang CommandRead auf SAFETRUE, um den Lesezugriff zu starten.
800CDas Lesen der Daten vom adressierten Datensatz mit anschließender Validierung der gelesenen Daten ist im Gange.

Einzelheiten zur Validierung finden Sie Kapitel "Fehlervermeidung", Abschnitt "Datenvalidierung".
Temporärer Zustand. Es ist keine Maßnahme erforderlich.
C010Die Dateikennung, die am Eingang IDRecipeFile anliegt, ist außerhalb des gültigen Wertebereichs.Legen Sie am Eingang IDRecipeFile eine gültige Dateikennung an.
Nachdem eine gültige Kennung anliegt, wechselt der FB in den Prepare-Zustand (8002).
C020Die Datensatzkennung, die am Eingang IDRecipeDataSet anliegt, ist außerhalb des gültigen Wertebereichs.Legen Sie am Eingang IDRecipeDataSet eine gültige Datensatzkennung an.
Nachdem eine gültige Kennung anliegt, wechselt der FB in den Prepare-Zustand (8002).
C030Die Anforderung zum Lesen der Datei (gesendet im Zustand 8002, siehe oben) wurde von der Sicherheitssteuerung abgelehnt.Versuchen Sie, den Lesezugriff erneut zu starten, indem Sie eine steigende Flanke am Eingang CommandRead anlegen.
Danach wechselt der FB in den Prepare-Zustand (8002).
C040Fehler beim Lesen der Rezeptur-Datei. Entweder ist der Zugriff auf den Flash-Speicher der Standard-Steuerung nicht möglich, oder die Datei ist beschädigt.Stellen Sie sicher, dass der Flash-Speicher richtig in der Standard-Steuerung installiert ist.
C050Beim Lesen des Datensatzes im RAM der Sicherheitssteuerung ist ein Validierungsfehler aufgetreten (d.h. der vorige Zustand war 800C).
Der Zugriff auf die Datei im RAM ist nicht möglich. Möglicherweise gab es gleichzeitige Zugriffe durch andere Funktionsbausteininstanzen auf diese Datei/den Datensatz.
  • Stellen Sie sicher, dass die Rezeptur-Datei in Ihrer sicherheitsbezogenen Applikation weder überschrieben noch gelöscht wird, während der Lesevorgang im Gange ist.
  • Versuchen Sie den Lesebefehl zu einem späteren Zeitpunkt noch einmal.
    Nachdem eine steigende Flanke an den Eingang CommandRead angelegt wurde, wechselt der FB in den Prepare-Zustand (8002).
C150Beim Lesen des Datensatzes im RAM der Sicherheitssteuerung ist ein Fehler aufgetreten (der vorige Zustand war 8000).
Der Zugriff auf die Datei im RAM ist nicht möglich. Möglicherweise gab es einen weiteren Zugriff durch eine andere Funktionsbausteininstanz auf diese Datei/den Datensatz.
  • Stellen Sie sicher, dass die Rezeptur-Datei in Ihrer sicherheitsbezogenen Applikation weder überschrieben noch gelöscht wird, während der Lesevorgang im Gange ist. (Siehe Thema "Verhindern mehrfacher und konkurrierender Zugriffe auf Rezeptur-Dateien".)
  • Versuchen Sie den Lesebefehl zu einem späteren Zeitpunkt noch einmal.
    Nachdem eine steigende Flanke an den Eingang CommandRead angelegt wurde, wechselt der FB in den Prepare-Zustand (8002).
C060Bei der Validierung des Datensatzes wurde eine inkonsistente Datensatz-CRC erkannt (d.h. der vorige Zustand war 800C).

Die vom FB berechnete CRC stimmt nicht mit der gelesenen CRC überein. Möglicherweise wurde der Datensatz durch einen Soft-Error verfälscht.
Schreiben Sie den Datensatz mit einem SF_RecipeWrite-FB neu und versuchen Sie anschließend erneut den Lesevorgang.
Nachdem eine steigende Flanke an den Eingang CommandRead angelegt wurde, wechselt der FB in den Prepare-Zustand (8002).
C070Bei der Validierung des Datensatzes wurde eine inkonsistente Datensatz-CRC erkannt (d.h. der vorige Zustand war 800C).
Die vom FB berechnete Datensatz-CRC stimmt nicht mit dem zu erwartenden Wert überein, der am Eingang DataSetCRC des FBs anliegt. Dies bedeutet, dass der Datensatz zwischenzeitlich durch einen SF_RecipeWrite-Funktionsbaustein überschrieben wurde.
  • Stellen Sie sicher, dass auf dem Zielsystem die korrekte (Version der) Rezeptur-Datei gespeichert ist.
  • Stellen Sie sicher, dass die Rezeptur-Datei in Ihrer sicherheitsbezogenen Applikation weder überschrieben noch gelöscht wird, während der Lesevorgang im Gange ist. (Siehe Thema "Verhindern mehrfacher und konkurrierender Zugriffe auf Rezeptur-Dateien".)
  • Schreiben Sie den Datensatz mit einem SF_RecipeWrite-FB neu und versuchen Sie anschließend erneut den Lesevorgang.
    Nachdem eine steigende Flanke an den Eingang CommandRead angelegt wurde, wechselt der FB in den Prepare-Zustand (8002).
C080Bei der Validierung des Datensatzes wurde eine inkonsistente Datei-CRC erkannt (d.h. der vorige Zustand war 800C).
Die vom FB berechnete CRC stimmt nicht mit dem zu erwartenden Wert überein, der am Eingang FileCRC des FB anliegt. Dies bedeutet, dass die Datei zwischenzeitlich durch einen SF_RecipeWrite-FB überschrieben wurde.
  • Stellen Sie sicher, dass auf dem Zielsystem die korrekte (Version der) Rezeptur-Datei gespeichert ist.
  • Stellen Sie sicher, dass die Rezeptur-Datei in Ihrer sicherheitsbezogenen Applikation weder überschrieben noch gelöscht wird, während der Lesevorgang im Gange ist. (Siehe Thema "Verhindern mehrfacher und konkurrierender Zugriffe auf Rezeptur-Dateien".)
  • Schreiben Sie den Datensatz mit einem SF_RecipeWrite-FB neu und versuchen Sie anschließend erneut den Lesevorgang.
    Nachdem eine steigende Flanke an den Eingang CommandRead angelegt wurde, wechselt der FB in den Prepare-Zustand (8002).
C090Bei der Validierung des Datensatzes wurde eine inkonsistente Projekt-CRC erkannt (d.h. der vorige Zustand war 800C).
Die aus der Rezeptur-Datei gelesene Projekt-CRC ist nicht identisch mit der Projekt-CRC des aktuellen Projekts.
Möglicherweise wurde das Projekt zwischenzeitlich modifiziert oder die Rezepturdatei ist veraltet.

Hintergrundinformationen zum Vergleich der Projekt-CRC
  • Stellen Sie sicher, dass auf dem Zielsystem die korrekte (Version der) Rezeptur-Datei gespeichert ist.
  • Schreiben Sie den Datensatz mit einem SF_RecipeWrite-FB neu und versuchen Sie anschließend erneut den Lesevorgang.
    Nachdem eine steigende Flanke an den Eingang CommandRead angelegt wurde, wechselt der FB in den Prepare-Zustand (8002).
C0C0Bei der Validierung des Datensatzes wurde eine inkonsistente Seriennummer erkannt (d.h. der vorige Zustand war 800C).
Die aus der Rezeptur-Datei gelesene Steuerungs-Seriennummer ist nicht identisch mit der Seriennummer der verbundenen Steuerung.
Möglicherweise wurde die Steuerung zwischenzeitlich ersetzt oder es ist aktuell die falsche Steuerung verbunden.
Stellen Sie sicher, dass das richtige Zielgerät verbunden ist.
C160Es wurde eine inkonsistente Datensatz-Prüfsumme erkannt - der vorherige Zustand war 8000:

Die vom FB berechnete CRC stimmt nicht mit der gelesenen CRC überein. Möglicherweise wurde der Datensatz durch einen Soft-Error verfälscht.
Versuchen Sie den Lesebefehl zu einem späteren Zeitpunkt noch einmal.
Nachdem eine steigende Flanke an den Eingang CommandRead angelegt wurde, wechselt der FB in den Prepare-Zustand (8002).

Falls der Fehler immer noch auftritt, schreiben Sie den Datensatz mit einem SF_RecipeWrite-FB neu und versuchen Sie anschließend erneut den Lesevorgang.
C170Es wurde eine inkonsistente Datensatz-Prüfsumme erkannt - der vorherige Zustand war 8000:
Die vom FB berechnete Datensatz-CRC stimmt nicht mit dem zu erwartenden Wert überein, der am Eingang DataSetCRC des FBs anliegt.
Entweder wurde der Datensatz zwischenzeitlich mit einem SF_RecipeWrite-FB überschrieben oder die enthaltenen Daten sind verfälscht.
  • Stellen Sie sicher, dass auf dem Zielsystem die korrekte (Version der) Rezeptur-Datei gespeichert ist.
  • Stellen Sie sicher, dass die Rezeptur-Datei in Ihrer sicherheitsbezogenen Applikation weder überschrieben noch gelöscht wird, während der Lesevorgang im Gange ist. (Siehe Thema "Verhindern mehrfacher und konkurrierender Zugriffe auf Rezeptur-Dateien".)
  • Schreiben Sie den Datensatz mit einem SF_RecipeWrite-FB neu und versuchen Sie anschließend erneut den Lesevorgang.
    Nachdem eine steigende Flanke an den Eingang CommandRead angelegt wurde, wechselt der FB in den Prepare-Zustand (8002).
C180Es wurde eine inkonsistente Datei-Prüfsumme erkannt - der vorherige Zustand war 8000:
Die vom FB berechnete CRC stimmt nicht mit dem zu erwartenden Wert überein, der am Eingang FileCRC des FB anliegt.
Entweder wurde die Datei zwischenzeitlich mit einem SF_RecipeWrite- FB überschrieben oder die enthaltenen Daten sind verfälscht
  • Stellen Sie sicher, dass auf dem Zielsystem die korrekte (Version der) Rezeptur-Datei gespeichert ist.
  • Stellen Sie sicher, dass die Rezeptur-Datei in Ihrer sicherheitsbezogenen Applikation weder überschrieben noch gelöscht wird, während der Lesevorgang im Gange ist.
  • Schreiben Sie den Datensatz mit einem SF_RecipeWrite-FB neu und versuchen Sie anschließend erneut den Lesevorgang.
    Nachdem eine steigende Flanke an den Eingang CommandRead angelegt wurde, wechselt der FB in den Prepare-Zustand (8002).
C190Es wurde eine inkonsistente Projekt-Prüfsumme erkannt - der vorherige Zustand war 8000:
Die aus der Rezeptur-Datei gelesene Projekt-CRC ist nicht identisch mit der Projekt-CRC des aktuellen Projekts.
Möglicherweise wurde das Projekt zwischenzeitlich modifiziert.

Hintergrundinformationen zum Vergleich der Projekt-CRC
  • Stellen Sie sicher, dass auf dem Zielsystem die korrekte (Version der) Rezeptur-Datei gespeichert ist.
  • Stellen Sie sicher, dass die Rezeptur-Datei in Ihrer sicherheitsbezogenen Applikation weder überschrieben noch gelöscht wird, während der Lesevorgang im Gange ist.
  • Schreiben Sie den Datensatz mit einem SF_RecipeWrite-FB neu und versuchen Sie anschließend erneut den Lesevorgang.
    Nachdem eine steigende Flanke an den Eingang CommandRead angelegt wurde, wechselt der FB in den Prepare-Zustand (8002).
C1C0Es wurde eine inkonsistente Seriennummer erkannt - der vorherige Zustand war 8000:
Die aus der Rezeptur-Datei gelesene Steuerungs-Seriennummer ist nicht identisch mit der Seriennummer der verbundenen Steuerung.
Möglicherweise wurde die Steuerung zwischenzeitlich ersetzt oder es ist aktuell die falsche Steuerung verbunden.
Stellen Sie sicher, dass das richtige Zielgerät verbunden ist.
C0A0Die zu lesende Rezeptur-Datei existiert nicht im Dateisystem der Standard-Steuerung.Erzeugen Sie die Rezeptur-Datei noch einmal mit einem SF_RecipeWrite-Baustein und versuchen Sie den Lesebefehl zu einem späteren Zeitpunkt noch einmal.
Nachdem eine steigende Flanke an den Eingang CommandRead angelegt wurde, wechselt der FB in den Prepare-Zustand (8002).
C0B0Es ist ein Validierungsfehler aufgetreten: Während der Validierung im Zustand 8000 hat der FB erkannt, dass sich der gelesene Datensatz von dem im Zustand 800C validierten Datensatz unterscheidet, d.h. unerwartete Daten enthältStellen Sie sicher, dass die Rezeptur-Datei in Ihrer sicherheitsbezogenen Applikation weder überschrieben noch gelöscht wird, während der Lesevorgang im Gange ist.