Sicherheitsbezogene und Standard-Typen in SNKOP mischen
Dieses Thema enthält folgende Informationen:- Wozu sicherheitsbezogene Variablen und Standard-Variablen mischen?
- Sicherheitshinweise
- Hervorhebung sicherheitsbezogener Signalpfade
- Behandlung von Formalparametern
- Zulässige Verknüpfungen zwischen sicherheitsbezogenen Variablen und Standard-Variablen
- Unzulässige Verknüpfungen zwischen sicherheitsbezogenen Variablen und Standard-Variablen
Hinweis
Begriffsdefinition: Standard = nicht-sicherheitsbezogen Der Begriff "Standard" bezeichnet nicht-sicherheitsbezogene Elemente/Objekte. Beispiele: Ein Standard-Prozessdaten-Element wird nur von einem nicht-sicherheitsbezogenen I/O-Gerät (d.h. einem Standard-Gerät) gelesen/geschrieben. Standard-Variablen/-Funktionen/-Funktionsbausteine sind nicht-sicherheitsbezogene Daten. Der Begriff "Standard-Steuerung" bezeichnet die nicht-sicherheitsbezogene Steuerung. |
Wozu sicherheitsbezogene Variablen und Standard-Variablen mischen?
In SNKOP-Netzwerken können sicherheitsbezogene Variablen und Standard-Variablen gemischt werden.
Auf diese Weise kann das Zustimmprinzip ausprogrammiert werden, ohne dass dazu die EN_OUT-Funktion notwendig ist (siehe hierzu das Thema "Zustimmprinzip programmieren").
Die einfachste Realisierung des Zustimmprinzips in einem SNKOP-Netzwerk ist eine logische UND-Verknüpfung eines sicherheitsbezogenen Signals (in Form eines KOP-Kontakts) mit einem Standard-Signal (ebenfalls ein KOP-Kontakt). Dies bedeutet, die Standard-Steuerung (repräsentiert durch das Standard-Signal im Code-Netzwerk) stimmt der sicherheitsbezogenen SPS (repräsentiert durch das sicherheitsbezogene Signal) zu. Dieses Verhalten ist im ersten Beispielnetzwerk unten gezeigt.
In solchen gemischten Netzwerken sind UND-Verknüpfungen von sicherheitsbezogenen Variablen und Standard-Variablen sowie Datentypkonvertierungen von sicherheitsbezogen nach Standard erlaubt. Unzulässig sind dagegen Datentypkonvertierungen von Standard nach sicherheitsbezogen und ODER-Verknüpfungen von sicherheitsbezogenen Datentypen und Standard-Datentypen, wenn deren Ausgang eine sicherheitsbezogene Variable schreibt. Lesen Sie hierzu die Abschnitte am Ende dieses Themas.
Sicherheitshinweise
Beim Mischen von sicherheitsbezogenen Variablen und Standard-Variablen müssen folgende Sicherheitshinweise beachtet werden:
WARNUNG
|
Unbeabsichtigter Betriebszustand des Geräts
|
Hervorhebung sicherheitsbezogener Signalpfade
Werden sicherheitsbezogene Variablen und Standard-Variablen gemischt, führt der SNKOP-Editor eine Datenflussanalyse im Code durch. Führende sicherheitsbezogene Signalpfade eines Netzwerkes werden dabei durch dicke gelbe Linien hervorgehoben.
Ein sicherheitsbezogener Pfad endet immer entweder an einer sicherheitsbezogenen Ausgangsvariablen oder, im Fall einer Standard-Ausgangsvariablen, am letzten Objekteingang vor diesem Ausgang. Wenn ein Standard-Signalpfad an einem sicherheitsbezogenen Ausgang endet, dann wird dieser Ausgang rot markiert. Zusätzlich wird in der Fehlerliste eine Fehlermeldung ausgegeben (im folgenden Beispiel die Meldung "Nicht-sicherheitsbezogener Eingang schreibt auf sicherheitsbezogenen Ausgang").
Beispiele:
Behandlung von Formalparametern
In Code-Netzwerken werden FB-/Funktionseingänge wie Ausgangsvariablen eines Netzwerks behandelt. Umgekehrt wird jeder Ausgangsformalparameter eines FB/einer Funktion wie eine Eingangsvariable eines Netzwerks betrachtet. Folglich gelten für FBs/Funktionen, die in einem gemischten Netzwerk verwendet werden, dieselben Regeln wie für Variablen.
Beispiel:
Zulässige Verknüpfungen zwischen sicherheitsbezogenen Variablen und Standard-Variablen
Die folgenden Verknüpfungen zwischen sicherheitsbezogenen Variablen und Standard-Variablen sind zulässig:
Sicherheitsbezogene Eingangsvariable schreibt Standard-Ausgangsvariable (entspricht Typkonvertierung sicherheitsbezogen nach Standard).
![]() |
Sicherheitsbezogene Eingangsvariable und Standard-Eingangsvariable schreiben sicherheitsbezogene Ausgangsvariable (UND-Verknüpfung).
![]() |
Sicherheitsbezogene Eingangsvariable und Standard-Eingangsvariable schreiben Standard-Ausgangsvariable (UND-Verknüpfung).
![]() |
Sicherheitsbezogene Eingangsvariable und parallele Standard-Eingangsvariable schreiben Standard-Ausgangsvariable.
![]() |
Sicherheitsbezogene Eingangsvariable schreibt sicherheitsbezogene Ausgangsvariable mit paralleler Standard-Ausgangsvariablen.
![]() |
Unzulässige Verknüpfungen zwischen sicherheitsbezogenen Variablen und Standard-Variablen
Die nachfolgend aufgeführten Netzwerke zeigen unzulässige Verknüpfungen zwischen sicherheitsbezogenen Variablen und Standard-Variablen. Sie führen jeweils zu einem Kompilerfehler:
Standard-Eingangsvariable schreibt sicherheitsbezogene Ausgangsvariable (entspricht ungültiger Typkonvertierung von Standard nach sicherheitsbezogen).
![]() |