Kurzbeschreibung | Der sicherheitsbezogene Funktionsbaustein SF_OutControl steuert den Ausgang eines sicherheitsbezogenen Geräts. Der sicherheitsbezogene Ausgang wird in Abhängigkeit von einem Signal aus der Standard-Steuerung (Betriebsstart/-stopp) und einem sicherheitsbezogenen Signal (Überwachung einer Sicherheitsfunktion, z.B. NOT-HALT) gesteuert. Mit Hilfe von S_StartReset kann eine Anlaufsperre und mit Hilfe von S_AutoReset eine Wiederanlaufsperre vorgegeben werden. Diese beiden Sperren beziehen sich auf den Anlauf bzw. den Wiederanlauf der Sicherheitssteuerung bzw. der Sicherheitsfunktion.
Der Eingang StaticControl ermöglicht darüber hinaus die Vorgabe eines zusätzlich notwendigen Betriebsstopps der Standard-Steuerung bei angeforderter Sicherheitsfunktion und vor Aktivierung des Funktionsbausteins. |
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_SafeControl
Kurzbeschreibung | Wert |
Zustandsgesteuerter Eingang für den Status der vorgeschalteten Sicherheitsfunktion.Datentyp: SAFEBOOL Anfangswert: SAFEFALSE |
-
SAFEFALSE: Vorgeschaltete Sicherheitsfunktion ausgelöst
-
SAFETRUE: Vorgeschaltete Sicherheitsfunktion nicht ausgelöst
|
Weitere Informationen hierzu finden Sie im Thema "S_SafeControl".
ProcessControl
Kurzbeschreibung | Wert |
Zustandsgesteuerter Eingang (falls Eingang StaticControl = TRUE) oder flankengesteuerter Eingang (falls Eingang StaticControl = FALSE), der die Anforderung seitens des Prozesses aus der Standard-Steuerung auswertet.Datentyp: BOOL Anfangswert: FALSE |
-
FALSE: Anforderung, den Freigabeausgang S_OutControl auf SAFEFALSE zu steuern
-
TRUE: Anforderung, den Freigabeausgang S_OutControl auf SAFETRUE zu steuern
- Flanke FALSE > TRUE: Eine positive Signalflanke steht für einen Betriebsstart in der Standard-Steuerung
|
Weitere Informationen hierzu finden Sie im Thema "ProcessControl".
StaticControl
Kurzbeschreibung | Wert |
Vorgabe eines zusätzlich notwendigen Betriebsstopps bei ausgelöster Sicherheitsfunktion und/oder vor Aktivierung des Funktionsbausteins.Datentyp: BOOL Anfangswert: FALSE |
-
FALSE: Zusätzlicher Betriebsstopp erforderlich
-
TRUE: Kein zusätzlicher Betriebsstopp erforderlich
|
Weitere Informationen hierzu finden Sie im Thema "StaticControl".
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_OutControl automatisch auf SAFETRUE wechselt, wenn der Funktionsbaustein aktiviert und die Sicherheitsfunktion nicht angefordert ist.Datentyp: SAFEBOOL Anfangswert: SAFEFALSE |
-
SAFEFALSE: mit Anlaufsperre
-
SAFETRUE: ohne Anlaufsperre
|
Die Anlauf-/Wiederanlaufsperre darf nur dann deaktiviert werden, wenn sichergestellt ist, dass bei einem Anlauf der Maschine/Anlage keine gefahrbringende Situation entstehen kann oder dass an anderer Stelle oder mit anderen Mitteln eine geeignete Anlauf-/Wiederanlaufsperre realisiert ist.
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 Eingang zur Vorgabe der Wiederanlaufsperre nach Rückkehr des SAFETRUE-Signals an Eingang S_SafeControl.Eine aktive Wiederanlaufsperre muss durch eine positive Signalflanke an Eingang Reset manuell aufgehoben werden. Eine deaktivierte Wiederanlaufsperre führt dazu, dass der Ausgang S_OutControl automatisch auf SAFETRUE wechselt, wenn der Funktionsbaustein aktiviert und die Sicherheitsfunktion nicht angefordert ist und am Eingang ProcessControl die Anforderung aus der Standard-Steuerung signalisiert wird.Datentyp: SAFEBOOL Anfangswert: SAFEFALSEBeachten Sie die erste Warnung unter dieser Tabelle. |
-
SAFEFALSE: mit Wiederanlaufsperre
-
SAFETRUE: ohne Wiederanlaufsperre
|
Die Anlauf-/Wiederanlaufsperre darf nur dann deaktiviert werden, wenn sichergestellt ist, dass bei einem Anlauf der Maschine/Anlage keine gefahrbringende Situation entstehen kann oder dass an anderer Stelle oder mit anderen Mitteln eine geeignete Anlauf-/Wiederanlaufsperre realisiert ist.
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_OutControl 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_OutControl
Kurzbeschreibung | Wert |
Ausgang für das Freigabesignal des Funktionsbausteins.Datentyp: SAFEBOOL |
-
SAFEFALSE:
- Funktionsbaustein nicht aktiviert (Activate = FALSE)
- oder eine vorgeschaltete ausgelöste Sicherheitsfunktion wurde vom Funktionsbaustein erkannt (S_SafeControl = SAFEFALSE)
- oder eine Anlauf-/Wiederanlaufsperre ist aktiv
- oder an ProcessControl (FALSE) ist aus der Standard-Steuerung ein Betriebsstopp angefordert
- oder Fehlermeldung anliegend.
-
SAFETRUE:
- Funktionsbaustein ist aktiviert (Activate = TRUE)
- und vom Funktionsbaustein wurde keine ausgelöste Sicherheitsfunktion erkannt (S_SafeControl = SAFETRUE)
- und keine Anlauf-/Wiederanlaufsperre ist aktiv
- und an ProcessControl (TRUE) ist aus der Standard-Steuerung der laufende Betrieb angefordert
- und keine Fehlermeldung anliegend.
|
Weitere Informationen hierzu finden Sie im Thema "S_OutControl".
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_OutControl 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 Ausgangssteuerung mit aktiver Anlaufsperre und aktiver Wiederanlaufsperre. Es ist kein zusätzlich notwendiger Betriebsstopp der Standard-Steuerung konfiguriert.
-
StaticControl = TRUE: Keine Vorgabe eines zusätzlichen Betriebsstopps.
-
S_StartReset = SAFEFALSE: Anlaufsperre nach Bausteinaktivierung und nach Start der Sicherheitssteuerung.
-
S_AutoReset = SAFEFALSE: Wiederanlaufsperre nach Aufhebung der Anforderung der Sicherheitsfunktion (Rückkehr des SAFETRUE-Signals an Eingang S_SafeControl).
0 | Der Funktionsbaustein ist noch nicht aktiviert (Activate = FALSE). Folglich sind alle Ausgänge FALSE oder SAFEFALSE. |
1 | Nach der Bausteinaktivierung durch Activate = TRUE ist zunächst noch die Anlaufsperre aktiv. |
2 | Aufheben der Anlaufsperre durch positive Signalflanke an Eingang Reset. |
3 | Anforderung aus der Standard-Steuerung am Bausteineingang ProcessControl, den Freigabeausgang S_OutControl auf SAFETRUE zu steuern. Unter Berücksichtigung der weiteren Eingänge gilt: Wenn ProcessControl = TRUE, dann wird Ausgang S_OutControl = SAFETRUE. |
4 | ProcessControl steuert auf FALSE: Betriebsstopp-Anforderung aus der Standard-Steuerung. Freigabeausgang S_OutControl steuert deshalb auf SAFEFALSE. |
5 | Erneute Anforderung an ProcessControl, den Freigabeausgang S_OutControl auf SAFETRUE zu steuern (Betriebsstart in der Standard-Steuerung). Da keine Sicherheitsfunktion angefordert (S_SafeControl = SAFETRUE) und kein zusätzlich notwendiger Betriebsstopp konfiguriert ist (StaticControl = TRUE), steuert Ausgang S_OutControl auf SAFETRUE. Anschließend Normalbetrieb. |
6 | Anforderung der Sicherheitsfunktion, z.B. durch Drücken eines NOT-HALT-Befehlsgerätes (S_SafeControl = SAFEFALSE). Ausgang S_OutControl steuert sogleich auf SAFEFALSE. |
7 | Nach Aufhebung der Anforderung der Sicherheitsfunktion (z.B. Deaktivierung des NOT-HALT-Befehlsgeräts, S_SafeControl wird wieder SAFETRUE) ist die Wiederanlaufsperre aktiv. S_OutControl bleibt deshalb SAFEFALSE. |
8 | Aufheben der Wiederanlaufsperre durch die steigende Flanke an Eingang Reset. Da mit StaticControl = TRUE kein zusätzlicher Betriebsstopp der Standard-Steuerung (Eingang ProcessControl) erforderlich ist und ProcessControl nach wie vor TRUE ist, steuert S_OutControl auf SAFETRUE. |
Anwendungsbeispiel
Dieses Beispiel zeigt die Steuerung eines sicherheitsbezogenen Ausgangs mit dem sicherheitsbezogenen Funktionsbaustein SF_OutControl. Durch die TRUE-Konstante an Eingang StaticControl ist kein zusätzlicher Betriebsstopp der Standard-Steuerung erforderlich.
Alle beteiligten Funktionsbausteine sind durch TRUE-Konstanten an Eingang Activate dauerhaft aktiviert.
Ein NOT-HALT-Befehlsgerät S1 ist einkanalig an die Eingangsklemme 1.1 des sicherheitsbezogenen Eingangsgerätes PSDI 1 angeschlossen und mit der globalen I/O-Variablen S1_EStopDevice_In verknüpft. Diese globale I/O-Variable ist an den Bausteineingang S_EStopIn des Funktionsbausteins SF_EmergencyStop angeschlossen. Für den Funktionsbaustein SF_EmergencyStop ist weder eine Anlaufsperre noch eine Wiederanlaufsperre vorgegeben (SAFETRUE-Kostante an beiden Eingängen S_StartReset und S_AutoReset).
Dafür sind am Funktionsbaustein SF_OutControl beide Sperren konfiguriert: Eingang S_StartReset = SAFEFALSE gibt eine Anlaufsperre nach dem Start der Sicherheitssteuerung bzw. nach der Bausteinaktivierung vor. S_AutoReset = SAFEFALSE konfiguriert eine Wiederanlaufsperre nach dem Aufheben der Anforderung der Sicherheitsfunktion, d.h. nach Rückkehr des SAFETRUE-Signals am Bausteineingang S_SafeControl. Beide Anlaufsperren werden erst durch eine positive Signalflanke an Eingang Reset aufgehoben. Zu diesem Zweck ist an Eingang 1.1 des Standard-Eingangsgeräts DI 1 der Reset-Taster S2 angeschlossen. Sein Signal ist mit der globalen I/O-Variablen S2_Reset verknüpft, die an Eingang Reset des Funktionsbausteins SF_OutControl angeschlossen ist.
Weitere Beschaltung des Funktionsbausteins SF_OutControl:
- Der Freigabeausgang S_EStopOut des Funktionsbausteins SF_EmergencyStop signalisiert den Status der Sicherheitsfunktion und ist direkt mit dem Bausteineingang S_SafeControl verbunden.
- Eingang ProcessControl des Funktionsbausteins SF_OutControl wird durch ein Signal aus der Standard-Steuerung gesteuert. Über die Austauschvariable ExchVar_OpStart wird der Betriebsstart/-stopp signalisiert. An ProcessControl wird signalisiert, ob die Anforderung, den Freigabeausgang S_OutControl auf SAFETRUE zu steuern, aus der Standard-Steuerung vorliegt oder nicht.
- Der Eingang StaticControl ist mit einer TRUE-Konstanten belegt, d.h. es ist kein zusätzlicher Betriebsstopp der Standard-Steuerung erforderlich. Damit darf bei Aufhebung der Anforderung der Sicherheitsfunktion (Eingang S_SafeControl) und bei Aktivierung des Funktionsbausteins das Signal an ProcessControl TRUE sein, ohne dass dies zu einem Fehler führt.
- Der Bausteinausgang S_OutControl ist mit der globalen I/O-Variablen OC_Out verbunden, die wiederum mit der Ausgangsklemme 1.1 des sicherheitsbezogenen Ausgangsgeräts PSDO verknüpft ist.
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:
|