Kurzbeschreibung | Der sicherheitsbezogene Funktionsbaustein SF_GuardMonitoring überwacht eine trennende Schutzeinrichtung (z.B. Tür) mit einer zweistufigen Verriegelung gemäß DIN EN ISO 14120.Mit Hilfe von S_StartReset kann eine Anlaufsperre und mit Hilfe von S_AutoReset eine Wiederanlaufsperre vorgegeben werden. |
Bausteinsymbol |  |
Eingänge | Activate
Kurzbeschreibung | Wert |
Zustandsgesteuerter Eingang zur Aktivierung des Funktionsbausteins.Datentyp: BOOL Anfangswert: FALSE |
-
FALSE: Funktionsbaustein inaktiv
-
TRUE: Funktionsbaustein aktiviert
|
Weitere Informationen hierzu finden Sie im Thema "Activate".
S_GuardSwitch1 und S_GuardSwitch2
Kurzbeschreibung | Wert |
Zustandsgesteuerte Eingänge für die angeschlossenen Positionsschalter der Schutztür. Damit Ausgang S_GuardMonitoring = SAFETRUE wird, müssen beide Eingänge S_GuardSwitch1 und S_GuardSwitch2 innerhalb der an DiscrepancyTime eingestellten Zeit auf SAFETRUE wechseln. Datentyp: SAFEBOOL Anfangswert: SAFEFALSE
Hinweis
Wenn nur ein Signal den Status der Schutztür meldet (nur ein Positionsschalter), muss dieses parallel auf beide Eingänge S_GuardSwitch1 und S_GuardSwitch2 verschaltet werden. Für diesen Fall ist an DiscrepancyTime die Zeit 0 Sekunden einzustellen. |
|
-
SAFEFALSE: Positionsschalter meldet den geöffneten Zustand
-
SAFETRUE: Positionsschalter meldet den geschlossenen Zustand
|
Weitere Informationen hierzu finden Sie im Thema "S_GuardSwitch1 und S_GuardSwitch2".
DiscrepancyTime
Kurzbeschreibung | Wert |
Eingang zur Vorgabe der maximal zulässigen Diskrepanzzeit beim Schließvorgang der Schutzeinrichtung.Datentyp: TIME Anfangswert: #0msWenn S_GuardSwitch1 oder S_GuardSwitch2 auf SAFETRUE wechselt, muss innerhalb der an DiscrepancyTime eingestellten Zeit der jeweils andere Eingang (S_GuardSwitch1 oder S_GuardSwitch2) ebenfalls auf SAFETRUE wechseln, damit der Schaltvorgang als gültig gewertet wird. Wenn nach Ablauf der an DiscrepancyTime eingestellten Zeit nicht beide Eingänge SAFETRUE sind, führt dies zu einer Fehlermeldung (Error = TRUE) und Ausgang S_GuardMonitoring bleibt im definierten sicheren Zustand SAFEFALSE. | Geben Sie einen Zeitwert ein, der Ihrer Risikoanalyse entspricht. |
Nichterfüllen der Sicherheitsanforderungen
- Prüfen Sie, dass der eingestellte Zeitwert an DiscrepancyTime Ihrer Risikoanalyse entspricht.
- Stellen Sie sicher, dass Ihre Risikoanalyse eine Auswertung für den Fall eines falsch eingestellten Zeitwerts am Eingang DiscrepancyTime enthält.
- Validieren Sie die gesamte Sicherheitsfunktion in Bezug auf den eingestellten Wert an DiscrepancyTime und prüfen Sie die Applikation sorgfältig.
|
Weitere Informationen hierzu finden Sie im Thema "DiscrepancyTime".
S_StartReset
Kurzbeschreibung | Wert |
Zustandsgesteuerter Eingang zur Vorgabe der
Anlaufsperre nach dem Start der Sicherheitssteuerung oder bei Aktivierung des Bausteins.Eine aktive Anlaufsperre muss durch eine positive Signalflanke an Eingang Reset manuell aufgehoben werden. Eine deaktivierte Anlaufsperre führt dazu, dass der Ausgang S_GuardMonitoring automatisch auf SAFETRUE wechselt, wenn der Funktionsbaustein aktiviert und die Sicherheitsfunktion nicht angefordert ist.Datentyp: SAFEBOOL Anfangswert: SAFEFALSE |
-
SAFEFALSE: mit Anlaufsperre
-
SAFETRUE: ohne Anlaufsperre
|
Nichterfüllen der Sicherheitsanforderungen
- Prüfen Sie vor der Inbetriebnahme die Auswirkungen einer deaktivierten Anlaufsperre (S_StartReset = SAFETRUE) und/oder Wiederanlaufsperre (S_AutoReset = SAFETRUE) auf Ihre Maschine bzw. Ihren Prozess.
- Beachten Sie die vorgegebenen Richtlinien in relevanten Sektornormen bezüglich der Anlauf-/Wiederanlaufsperre.
- Stellen Sie sicher, dass an anderer Stelle oder mit anderen Mitteln eine geeignete Anlaufsperre realisiert ist.
|
Weitere Informationen hierzu finden Sie im Thema "S_StartReset".
S_AutoReset
Kurzbeschreibung | Wert |
Zustandsgesteuerter Eingabe zur Vorgabe der Wiederanlaufsperre nach dem Schließen der vorher geöffneten Schutzeinrichtung, d.h. nach Rückkehr des SAFETRUE-Signals an den Eingängen S_GuardSwitch1 und S_GuardSwitch2.Datentyp: SAFEBOOL Anfangswert: SAFEFALSEEine aktive Wiederanlaufsperre muss durch eine positive Signalflanke am Eingang Reset manuell aufgehoben werden. Eine deaktivierte Wiederanlaufsperre führt dazu, dass der Ausgang S_GuardMonitoring automatisch auf SAFETRUE wechselt, wenn der Funktionsbaustein aktiviert und die Sicherheitsfunktion nicht mehr angefordert ist. |
-
SAFEFALSE: mit Wiederanlaufsperre
-
SAFETRUE: ohne Wiederanlaufsperre
|
Nichterfüllen der Sicherheitsanforderungen
- Prüfen Sie vor der Inbetriebnahme die Auswirkungen einer deaktivierten Anlaufsperre (S_StartReset = SAFETRUE) und/oder Wiederanlaufsperre (S_AutoReset = SAFETRUE) auf Ihre Maschine bzw. Ihren Prozess.
- Beachten Sie die vorgegebenen Richtlinien in relevanten Sektornormen bezüglich der Anlauf-/Wiederanlaufsperre.
- Stellen Sie sicher, dass an anderer Stelle oder mit anderen Mitteln eine geeignete Anlaufsperre realisiert ist.
|
Weitere Informationen hierzu finden Sie im Thema "S_AutoReset".
Reset
Kurzbeschreibung | Wert |
Flankengesteuerter Eingang für das Reset-Signal:
- Rücksetzen von Fehlermeldungen, wenn die Fehlerursache nicht mehr besteht.
- Manuelles Rücksetzen einer aktiven Anlauf-/Wiederanlaufsperre (je nach Art der Anlaufsperre(n) des Funktionsbausteins).
Datentyp: BOOL Anfangswert: FALSE |
-
FALSE: Rücksetzen ist nicht angefordert
- Flanke FALSE > TRUE: Rücksetzen ist angefordert
|
Hinweis
Abweichend von der Norm EN ISO 13849-1 erfolgt das Rücksetzen nicht wie dort gefordert durch eine negative (fallende) sondern durch eine positive (steigende) Flanke. Um das Rücksetzen (im Hinblick auf die zwingende Abnahmeprozedur) mit einer fallenden Flanke zu implementieren, verwenden Sie den Funktionsbaustein SF_Reset. |
Das Rücksetzen des Funktionsbausteins durch eine positive Signalflanke an Eingang Reset kann dazu führen, dass Ausgang S_GuardMonitoring sofort auf SAFETRUE gesteuert wird (in Abhängigkeit der Zustände an den übrigen Eingängen).
Unbeabsichtigter Betriebsstart
- Berücksichtigen Sie in Ihrer Risikoanalyse die Auswirkungen des Rücksetzens durch eine positive Signalflanke an Eingang Reset.
- Stellen Sie sicher, dass geeignete Maßnahmen (gemäß zutreffender Sektornormen) getroffen wurden, um Gefährdungen durch das Rücksetzen zu verhindern.
- Betreten Sie den Betriebsbereich nicht, wenn das Rücksetzen durchgeführt wird.
- Stellen Sie sicher, dass keine anderen Personen den Betriebsbereich betreten können, wenn das Rücksetzen durchgeführt wird.
- Verwenden Sie geeignete Sicherheitsverriegelungen, wenn eine Gefahr für Personen und/oder Ausrüstung besteht.
|
Weitere Informationen hierzu finden Sie im Thema "Reset".
|
Ausgänge | Ready
Kurzbeschreibung | Wert |
Ausgang zur Signalisierung "Funktionsbaustein aktiviert/nicht aktiviert".Datentyp: BOOL |
-
FALSE: Der Funktionsbaustein ist nicht aktiviert (Activate = FALSE) und alle Ausgänge des Funktionsbausteins sind auf FALSE/SAFEFALSE gesteuert.
-
TRUE: Funktionsbaustein ist aktiviert (Activate = TRUE) und die Ausgangsparameter stellen den Zustand der Sicherheitsfunktion dar.
|
Weitere Informationen hierzu finden Sie im Thema "Ready".
S_GuardMonitoring
Kurzbeschreibung | Wert |
Ausgang für das Freigabesignal des Funktionsbausteins.Datentyp: SAFEBOOL |
-
SAFEFALSE:
- trennende Schutzeinrichtung nicht geschlossen (S_GuardSwitch1 und/oder S_GuardSwitch2 = SAFEFALSE)
-
oder der Funktionsbaustein ist nicht aktiviert
-
oder Anlauf-/Wiederanlaufsperre aktiv
-
oder Fehlermeldung anliegend.
-
SAFETRUE:
- trennende Schutzeinrichtung geschlossen (S_GuardSwitch1 und S_GuardSwitch2 = SAFETRUE)
-
und Funktionsbaustein aktiviert
-
und Anlauf-/Wiederanlaufsperre nicht aktiv
-
und keine Fehlermeldung anliegend.
|
Weitere Informationen hierzu finden Sie im Thema "S_GuardMonitoring".
SafetyDemand
Kurzbeschreibung | Wert |
Ausgang zur Signalisierung "Sicherheitsfunktion angefordert". Dieser Ausgang zeigt an, ob die Sicherheitskette unterbrochen und deshalb die Aufmerksamkeit des Bedieners erforderlich ist. Datentyp: BOOL |
-
FALSE: Sicherheitsfunktion ist nicht angefordert.
-
TRUE: Die Sicherheitsfunktion ist angefordert.
|
Weitere Informationen hierzu finden Sie im Thema "SafetyDemand".
ResetRequest
Kurzbeschreibung | Wert |
Ausgang zur Signalisierung "Rücksetzen erforderlich". Dieser Ausgang zeigt an, ob das Rücksetzen durch den Bediener erforderlich ist. Datentyp: BOOL |
-
FALSE: Kein Rücksetzen erforderlich.
-
TRUE: Rücksetzen ist erforderlich,
- zum Aufheben einer aktiven Anlauf- oder Wiederanlaufsperre (falls verfügbar bei diesem Funktionsbaustein)
-
oder zum Rücksetzen eines Fehlers.
|
Weitere Informationen hierzu finden Sie im Thema "ResetRequest".
Error
Kurzbeschreibung | Wert |
Ausgang für Fehlermeldung.Datentyp: BOOL |
-
FALSE: Es liegt kein Fehler vor.
-
TRUE: Der Funktionsbaustein hat einen Fehler erkannt. In der Folge wird Ausgang S_GuardMonitoring auf SAFEFALSE gesteuert.
|
Weitere Informationen hierzu finden Sie im Thema "Error".
DiagCode
Kurzbeschreibung | Wert |
Ausgang für Diagnosemeldung.Datentyp: WORD | Diagnosemeldung des Funktionsbausteins. Die möglichen Werte sind im Thema "Diagnose-Codes" aufgelistet und beschrieben. |
Weitere Informationen hierzu finden Sie im Thema "DiagCode".
|
Detailinformationen | Signalablauf-Diagramm
Dieses Diagramm bezieht sich auf eine typische Überwachung einer trennenden Schutzeinrichtung mit einer zweistufigen Verriegelung, bei der die beiden an den Eingängen S_GuardSwitch1 und S_GuardSwitch2 angeschlossenen Positionsschalter innerhalb der an DiscrepancyTime eingestellten Zeit schalten. Weitere Annahmen:
S_StartReset = SAFEFALSE: Anlaufsperre nach Bausteinaktivierung und nach Start der Sicherheitssteuerung
S_AutoReset = SAFEFALSE: Wiederanlaufsperre nach dem Schließen der vorher geöffneten Schutzeinrichtung (d.h. nach Rückkehr der SAFETRUE-Signale an den Eingängen S_GuardSwitch1 und S_GuardSwitch2).
0 | Der Funktionsbaustein ist noch nicht aktiviert (Activate = FALSE). Folglich sind alle Ausgänge FALSE oder SAFEFALSE. |
1 | Beide Eingänge S_GuardSwitch1 und S_GuardSwitch2 sind SAFETRUE. Da durch S_StartReset = SAFEFALSE eine Anlaufsperre nach dem Start der Sicherheitssteuerung vorgegeben ist, ist Ausgang S_GuardMonitoring dennoch SAFEFALSE. |
2 | Mit der positiven Flanke an Eingang Reset wird die Anlaufsperre aufgehoben, Ausgang S_GuardMonitoring wird SAFETRUE. |
3 | Die Schutzeinrichtung wird geöffnet. S_GuardSwitch2 und S_GuardSwitch1 gehen nacheinander auf SAFEFALSE, Ausgang S_GuardMonitoring wird SAFEFALSE. |
4 | Die Schutzeinrichtung wird geschlossen. Mit dem Wechsel von SAFEFALSE nach SAFETRUE an S_GuardSwitch2 startet die Diskrepanzzeitmessung. Während der an DiscrepancyTime eingestellten Zeit wechselt auch der zweite Eingang S_GuardSwitch1 auf SAFETRUE. Da durch S_AutoReset = SAFEFALSE eine Wiederanlaufsperre nach dem Schließen der Schutzeinrichtung (S_GuardSwitch1 und S_GuardSwitch2 = SAFETRUE) eingestellt ist, wird Ausgang S_GuardMonitoring erst SAFETRUE, nachdem die Wiederanlaufsperre durch eine positive Flanke an Eingang Reset aufgehoben wurde. |
5 | Die Schutzeinrichtung wird geöffnet. S_GuardSwitch1 und S_GuardSwitch2 gehen nacheinander auf SAFEFALSE, Ausgang S_GuardMonitoring = SAFEFALSE. |
6 | Die Schutzeinrichtung wird geschlossen. Beide Eingänge S_GuardSwitch1 und S_GuardSwitch2 werden gleichzeitig SAFETRUE. Das dauerhafte TRUE-Signal am Eingang Reset erkennt der Funktionsbaustein als Fehler. Ausgang Error wird TRUE und Ausgang S_GuardMonitoring bleibt SAFEFALSE. |
7 | Der Eingang Reset wird FALSE, dadurch wird die Fehlermeldung zurückgesetzt. |
Anwendungsbeispiel: Schutztürüberwachung mittels mechanischem Positionsschalter, Anlaufsperren aktiviert
Dieses Beispiel beschreibt die Auswertung eines mechanisch betätigten Positionsschalters mit 2 Öffnerkontakten mit Hilfe des sicherheitsbezogenen Funktionsbausteins SF_GuardMonitoring. Der Positionsschalter B1 ist an die Eingangsklemmen 1.1 und 2.1 des sicherheitsbezogenen Eingangsgeräts PSDI 1 angeschlossen.
Die zweikanalige Auswertung der Signale vom Positionsschalter B1 auf Äquivalenz erfolgt im sicherheitsbezogenen Eingangsgerät, das entsprechend parametriert ist. Das daraus resultierende Signal ist mit der globalen I/O-Variablen B1_GMControl_In verknüpft. Diese Variable ist zur Auswertung an die Eingänge S_GuardSwitch1 und S_GuardSwitch2 des sicherheitsbezogenen Funktionsbausteins SF_GuardMonitoring angeschlossen. B1_GMControl_In hat den Wert SAFETRUE, wenn beide Eingänge des sicherheitsbezogenen Eingangsgeräts PSDI 1 gleichzeitig SAFETRUE sind (Schutzeinrichtung geschlossen) und das sicherheitsbezogene Eingangsgerät PSDI 1 keinen Fehler wegen Überschreitung der an DiscrepancyTime eingestellten Zeit meldet.
Hinweis
Da in diesem Beispiel nur ein Signal den Status der Schutztür meldet (ein Positionsschalter), ist dieses parallel auf beide Eingänge S_GuardSwitch1 und S_GuardSwitch2 verschaltet. Für diesen Fall wird am Eingang DiscrepancyTime der Wert 0 Sekunden eingestellt. |
Durch eine TRUE-Konstante an Eingang Activate ist der Funktionsbaustein dauerhaft aktiviert.
S_StartReset = SAFEFALSE gibt eine Anlaufsperre nach dem Start der Sicherheitssteuerung bzw. der Bausteinaktivierung vor. Darüber hinaus ist mit S_AutoReset = SAFEFALSE eine Wiederanlaufsperre des Funktionsbausteins nach dem Schließen der Schutztür vorgegeben. Beide Anlaufsperren werden erst durch eine positive Signalflanke an Eingang Reset aufgehoben. Zu diesem Zweck ist an Eingangsklemme 1.1 des Standard-Eingangsgeräts DI 1 der Reset-Taster S1 angeschlossen. Diese Klemme ist mit der globalen I/O-Variablen S1_Reset_GM verknüpft, die wiederum an den Bausteineingang Reset angeschlossen ist.
Hinweis
Das Freigabesignal an Ausgang S_GuardMonitoring des Funktionsbausteins SF_GuardMonitoring ist mit weiteren sicherheitsbezogenen Funktionsbausteinen oder Funktionen verschaltet und steuert auf diese Weise die Applikation. |
S1 | Reset |
B1 | Schutztürschalter mit zwei Öffnerkontakten, zwangsbetätigt mit Zwangsöffnung (SAFETRUE, wenn Schutzeinrichtung geschlossen). |
(*1) | Schutztür: offen |
(*2) | Schutztür: geschlossen |
 | Siehe Hinweis vor der Abbildung. |
Funktionsbaustein-Instanziierung
Die IEC 61131-3 definiert die Instanziierung von Funktionsbausteinen. Instanziieren bedeutet, dass ein Funktionsbaustein einmal definiert wird und dann mehrfach verwendet (instanziiert) werden kann. Dies gilt für alle Standard-FBs und sicherheitsbezogene FBs (sowohl lokale als auch FBs aus Firmware- und Anwenderbibliotheken).
Warum Instanziierung? Ein Funktionsbaustein besitzt einen internen Speicher, in dem dieser die Arbeitsdaten (lokale Variablen) ablegt. Das bedeutet, die Ausgangswerte, die ein FB berechnet, hängen von den aktuellen intern gespeicherten Werten ab. Die gleichen Eingangswerte liefern deshalb bei verschiedenen FB-Instanzen nicht zwingend die gleichen Ausgangswerte. Die internen Daten des Funktionsbausteins müssen daher für jeden Aufruf, d.h. für jede FB-Instanz, in einem getrennten Speicherbereich gehalten werden. Um jede FB-Instanz eindeutig identifizieren und ihren Speicherbereich separat halten zu können, werden Instanznamen verwendet. Der Instanzname eines FB muss in der 'Variablen'-Tabelle der POE deklariert werden, in welcher der FB verwendet werden soll.
Dabei gilt Folgendes:
- Funktionsbausteine können in anderen Funktionsbausteinen und in Programm-POEs instanziiert werden. Der Aufruf eines FB in einer Funktion-POE ist nicht möglich.
- Funktionen werden ohne Instanznamen aufgerufen, da sie keinen internen Speicher besitzen.
In PLCnext Engineer wird strikt zwischen sicherheitsbezogenem Code und (nicht-sicherheitsbezogenem) Standard-Code unterschieden. Wenn Ihr Projekt eine sicherheitsbezogene SPS enthält, gilt Folgendes:
- Sicherheitsbezogene FBs können nur in sicherheitsbezogenen POEs instanziiert werden, aber nicht in (nicht-sicherheitsbezogenen) Standard-POEs.
- Anwenderdefinierte Standard-FBs können nur in Standard-POEs instanziiert werden. Sie können nicht in sicherheitsbezogenen POEs aufgerufen werden.
- Bestimmte Standard-Firmware-FBs können sowohl in sicherheitsbezogenen, als auch in Standard-POEs instanziiert werden.
Hinweis
Beim Einfügen eines Standard-FBs in ein sicherheitsbezogenes SNOLD-Netzwerk gelten die Regeln für die implizite Typumwandlung (von sicherheitsbezogen nach Standard). |
Beispiel für die Instanziierung eines sicherheitsbezogenen PLCopen-Funktionsbausteins
Der sicherheitsbezogene PLCopen-Funktionsbaustein 'SF_EmergencyStop_V2_00' wurde über eine Bibliothek in das Projekt eingefügt. Er ist dann in der Kategorie 'Programmierung' des KOMPONENTEN-Bereichs verfügbar. Dort befindet sich ein Ordner mit demselben Namen wie die Bibliothek, aus dem sich die FBs in den sicherheitsbezogenen Code einfügen lassen. Der FB soll im Code des sicherheitsbezogenen Programms 'S_Main' zweimal aufgerufen werden, um den Status zweier sicherheitsbezogener Not-Halt-Befehlsgeräte auszuwerten. Für jede FB-Instanz wurde in der Variablentabelle des aufrufenden Programms ein Instanzname deklariert: EStop_M1 und EStop_M2. Die zwei FB-Instanzen wurden in das Code-Arbeitsblatt eingefügt, wobei unterschiedliche Variablen an die Eingangs- und Ausgangs-Formalparameter der Instanzen angeschlossen sind.
Weitere Informationen finden Sie in den folgenden Abschnitten:
|