-

Fehlervermeidung

Dieses Thema enthält die folgenden Abschnitte:

Validierung

Einzig und allein Sie als Anwender, Maschinenbauer oder Systemintegrator sind sich sämtlicher Bedingungen und Faktoren bewusst, die im Design der Anwendung für die Maschine realisiert sind. Daher können nur Sie bestimmen, welche Automatisierungsgeräte und dazugehörige Sicherheiten und Verriegelungen verwendet werden können und deren Verwendung validieren.

WARNUNG
Unbeabsichtigter Betriebszustand des Geräts

Validieren Sie die gesamte Sicherheitsfunktion und prüfen Sie die Applikation sorgfältig.

Erkennen von inkorrekten/ungültigen Löschvorgängen für Rezeptur-Dateien

Der Funktionsbaustein und die Sicherheitssteuerung implementieren mehrere Verifizierungs- und Validierungsmaßnahmen, die dazu beitragen, eine Fehlfunktion des FB (und damit ggf. der gesamten Sicherheitsfunktion) durch die Verwendung ungültiger Rezepturdaten zu verhindern.

Mögliche Fehler/ungültige OperationZu vermeidende KonsequenzenGegenmaßnahme des FB
Ungültige Dateikennung am FB-Eingang IDRecipeFile. Die ID ist nicht innerhalb des gültigen Wertebereichs.Rezeptur-Datei kann nicht gelöscht werden.Der FB verifiziert jede ID an den FB-Eingängen.

In der Folge
  • wird keine Datei gelöscht und
  • der Ausgang Done bleibt SAFEFALSE und
  • der FB zeigt einen Fehlercode an seinem DiagCode-Ausgang.
Die zu löschende Rezeptur-Datei existiert nicht.Rezeptur-Datei kann nicht gelöscht werden.Folge:
  • der Ausgang Done bleibt SAFEFALSE und
  • der FB zeigt einen Fehlercode an seinem DiagCode-Ausgang.
Gleichzeitige Löschvorgänge für dieselbe Rezeptur-Datei durch mehrere Instanzen des RecipeDeleteFile-FB sind möglich:Falls die mehrfachen Anforderungen nicht innerhalb desselben Zyklus anliegen: Zugriffskonflikt, da die Datei nur einmal gelöscht werden kann.Mehrere Anforderungen innerhalb desselben Zyklus: Alle Instanzen melden dasselbe Ergebnis (z.B. Erfolg indem Done auf SAFETRUE steuert).

Andernfalls (mehrere Zyklen): Nur eine FB-Instanz löscht die Datei und steuert seinen Done-Ausgang auf SAFETRUE.

Für alle anderen (erfolglosen) Instanzen gilt:
  • Ausgang Done bleibt SAFEFALSE und
  • der FB zeigt einen Fehlercode an seinem DiagCode-Ausgang.

Gleichzeitiges Lesen und Löschen einer Datei innerhalb eines Zyklus

Falls eine bereits aktive SF_RecipeRead-Instanz zyklisch Rezepturdaten aus einem Datensatz liest und dann am Beginn eines Zyklus (d.h. vor dem Lesen) eine SF_RecipeDeleteFile-Instanz das Löschen derselben Datei anfordert, gilt folgendes:
Der SF_RecipeRead-FB liest Daten, die bereits zum Löschen freigegeben sind und validiert diese (angezeigt durch Done = SAFETRUE). Im nächsten Zyklus wird die Datei gelöscht und ist nicht mehr verfügbar. Ein weiterer Lesezugriff führt nun zu einem Fehler beim SF_RecipeRead-FB.

Dieses Szenario wird nicht als fehlerhaft betrachtet und wird deshalb von der sicherheitsbezogenen SPS nicht verhindert. Es liegt in Ihrer Verantwortung als Applikationsentwickler, solche Lese- und Löschvorgänge in der sicherheitsbezogenen Applikation entsprechend zu koordinieren.

Gleichzeitiges Schreiben und Löschen einer Datei innerhalb eines Zyklus

Falls eine Instanz von SF_RecipeDeleteFile und ein SF_RecipeWrite-FB innerhalb desselben Zyklus jeweils eine Anforderung für dieselbe Rezeptur-Datei senden, wird die soeben geschriebene/geänderte Datei im nächsten Zyklus gelöscht. In der Folge sind die vom SF_RecipeWrite-Baustein geschriebenen Daten nicht mehr verfügbar.

Falls diese Daten jedoch zyklisch gelesen und in Ihrer sicherheitsbezogenen Applikation verarbeitet werden, könnte dies zu einer Fehlfunktion der sicherheitsbezogenen Applikation und zu Gefährdungen führen.

Dieses Szenario wird nicht als fehlerhaft betrachtet und wird deshalb von der sicherheitsbezogenen SPS nicht verhindert. Es liegt in Ihrer Verantwortung als Applikationsentwickler, solche Schreib- und Löschvorgänge in der sicherheitsbezogenen Applikation entsprechend zu koordinieren.

Plausibilitätsfehler und Verschaltungsfehler

Plausibilitätsfehler sind Fehler, die beispielsweise durch Überschreiten von Wertebereichen oder unzulässiges Verschalten auftreten. Solche Fehler werden entweder vom Baustein selbst oder beim Kompilieren des Projekts erkannt und gemeldet. Bei Verschaltungsfehlern ist das jedoch nicht immer möglich.

So ist es beispielsweise nicht möglich, automatisch zu prüfen, ob:

WARNUNG
Unbeabsichtigter Betriebszustand des Geräts

Führen Sie eine Validierung der Signale, Formeln, Variablen oder Konstanten durch, die mit den Formalparametern des sicherheitsbezogenen Funktionsbausteins verbunden sind, und prüfen Sie die Anwendung sorgfältig.

Sporadisch wechselnde oder toggelnde Signalpegel oder unzulässige Signale

Werden keine weiteren Maßnahmen zur Fehlervermeidung vorgenommen, führen sporadisch wechselnde oder toggelnde Signalpegel an den zustandsgesteuerten Eingängen möglicherweise dazu, dass dieses Signal eine entsprechende Aktion ungewollt auslöst.

Unzulässige Signale an Eingängen können zu einem unbeabsichtigten Anlauf oder zur Nichtausführung einer angeforderten Aktion oder zu einem Fehler führen.

Mögliche Ursachen dieser Signale können sein:

Um dies zu vermeiden, sind je nach Sicherheitsfunktion folgende Maßnahmen möglich:

Die genannten Maßnahmen können auch kombiniert werden, um Sie besser bei der Fehlererkennung und Fehlervemeidung zu unterstützen.

Anlauf der Maschine/Anlage ohne Funktionsprüfung der Schutzeinrichtung

Eine defekte Schutzeinrichtung wird nur durch eine Funktionsprüfung erkannt. Eine Funktionsprüfung wird vom Funktionsbaustein nicht unterstützt.

Mögliche Ursachen für eine defekte Schutzeinrichtung:

WARNUNG
Unbeabsichtigter Betriebszustand des Geräts
  • Führen Sie eine Validierung der Schutzeinrichtung durch Funktionsprüfungen durch.
  • Stellen Sie vor der Durchführung der Funktionsprüfungen sicher, dass geeignete Maßnahmen (gemäß zutreffender Sektornormen) getroffen wurden, um Gefährdungen im Falle eines unbeabsichtigten Verhaltens der Sicherheitslogik zu verhindern.
  • Betreten Sie den Betriebsbereich nicht, während die Maschine in Betrieb ist.
  • Stellen Sie sicher, dass keine anderen Personen den Betriebsbereich betreten können, während die Maschine in Betrieb ist.
  • Beachten Sie die vorgegebenen Richtlinien in relevanten Sektornormen, wenn die Maschine in einer anderen Betriebsart als "In Betrieb" läuft.
  • Verwenden Sie geeignete Sicherheitsverriegelungen, wenn eine Gefahr für Personen und/oder Ausrüstung besteht.