Fehlervermeidung
Dieses Thema enthält die folgenden Abschnitte:
- Validierung
- Erkennen von inkorrekten/ungültigen Löschvorgängen für Rezeptur-Datensätze
- Gleichzeitiges Lesen und Löschen eines Datensatzes innerhalb eines Zyklus
- Gleichzeitiges Schreiben und Löschen eines Datensatzes innerhalb eines Zyklus
- Plausibilitätsfehler und Verschaltungsfehler
- Sporadisch wechselnde oder toggelnde Signalpegel oder unzulässige Signale
- Anlauf der Maschine/Anlage ohne Funktionsprüfung der Schutzeinrichtung
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-Datensätze
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 Operation | Zu vermeidende Konsequenzen | Gegenmaßnahme des FB |
---|---|---|
Ungültige Dateikennung am FB-Eingang IDRecipeFile. Die ID ist nicht innerhalb des gültigen Wertebereichs. | Rezeptur-Datensatz (Sektion) kann nicht gelöscht werden. | Der FB verifiziert jede ID an den FB-Eingängen.In der Folge:
|
Gleichzeitige Löschvorgänge für denselben Datensatz durch mehrere Instanzen des SF_RecipeDeleteDataSet-FB sind möglich: | Der Datensatz kann nur einmal gelöscht werden, | Die erste aufgerufene Instanz löscht den Datensatz und steuert dann seinen Ausgang Done nach SAFETRUE.Für alle anderen (erfolglosen) Instanzen gilt:
|
Gleichzeitiges Lesen und Löschen eines Datensatzes 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_RecipeDeleteDataSet-Instanz das Löschen desselben Datensatzes anfordert, gilt folgendes: Der SF_RecipeRead-FB meldet einen Fehler, da er die bereits gelöschten Daten nicht mehr lesen kann.
Aus Sicht des SF_RecipeDeleteDataSet-FB wird dieses Szenario nicht als fehlerhaft betrachtet und wird deshalb von der sicherheitsbezogenen SPS nicht verhindert. Es liegt in Ihrer Verantwortung als Applikationsentwickler, solche Lese- und Löschoperationen auf Datensätze in der sicherheitsbezogenen Applikation entsprechend zu koordinieren.
Gleichzeitiges Schreiben und Löschen eines Datensatzes innerhalb eines Zyklus
Wenn eine Instanz des SF_RecipeWrite-FB und des SF_RecipeDeleteDataSet-FB innerhalb desselben Zyklus für denselben Datensatz aufgerufen werden, schließt die zuletzt aufgerufene Instanz ihre Operation erfolgreich ab. Die Operation der zuerst aufgerufenen Instanz wird "aufgehoben" und meldet einen Fehler, da sie ihre Werte nicht validieren kann.
Beispiel: Zunächst wird eine Instanz des SF_RecipeWrite aufgerufen und schreibt ihre Payload-Werte in den Datensatz. Anschließend startet die Ausführung eines SF_RecipeDeleteDataSet und überschreibt die neu geschriebenen Werte im Datensatz mit Nullen (und beendet seine Operation erfolgreich).
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öschoperationen auf Datensätze bzw. Dateien 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:
- innerhalb des Gültigkeitsbereichs liegende Werte oder Konstanten an Eingängen für die ausgeführte Sicherheitsfunktion dennoch falsch sind.
- Eingänge und/oder Ausgänge falsch verschaltet oder fälschlicherweise nicht beschaltet sind.
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:
- Programmierfehler im Anwendungsprogramm (Anwenderfehler).
- Querschluss, Kurzschluss und Kabelbruch (Anwenderfehler, Verdrahtungsfehler).
Um dies zu vermeiden, sind je nach Sicherheitsfunktion folgende Maßnahmen möglich:
- Nutzung von Möglichkeiten zur Querschlusserkennung.
- Geeignete Verkabelung.
- Überprüfung des sicherheitsbezogenen Codes im Code-Editor mit abschließender Validierung aller Sicherheitsnetzwerke.
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:
- Defekte Geräte (Hardware-Fehler)
- Querschluss, Kurzschluss und Kabelbruch (Anwenderfehler, Verdrahtungsfehler)
WARNUNG
|
Unbeabsichtigter Betriebszustand des Geräts
|