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_GuardMonitoring
Kurzbeschreibung | Wert |
Zustandsgesteuerter Eingang zur Meldung einer geöffneten oder geschlossenen Schutzeinrichtung (z.B. durch Positionsschalter an der Schutztür).Datentyp: SAFEBOOL Anfangswert: SAFEFALSE |
-
SAFEFALSE: Schutzeinrichtung ist geöffnet
-
SAFETRUE: Trennende Schutzeinrichtung ist geschlossen
|
Weitere Informationen hierzu finden Sie im Thema "S_GuardMonitoring".
S_SafetyActive
Kurzbeschreibung | Wert |
Zustandsgesteuerter Eingang für den Status des Betriebsbereichs. Der Eingang meldet, ob der Betriebsbereich im definierten sicheren Zustand ist. (Überwachung z.B. durch Stillstandswächter.)Datentyp: SAFEBOOL Anfangswert: SAFEFALSE |
-
SAFEFALSE: Der Betriebsbereich meldet den nicht sicheren Zustand
-
SAFETRUE: Der Betriebsbereich meldet den definierten sicheren Zustand
|
Weitere Informationen hierzu finden Sie im Thema "S_SafetyActive".
S_GuardLock
Kurzbeschreibung | Wert |
Zustandsgesteuerter Eingang für den Status der Zuhaltung der Schutzeinrichtung. Dieser Eingang verarbeitet des Rückmeldesignal der Verriegelung/Entriegelung der Schutzeinrichtung (ein- oder zweikanalig).Datentyp: SAFEBOOL Anfangswert: SAFEFALSE |
-
SAFEFALSE: Schutztür ist nicht verriegelt. Die Schutzeinrichtung kann geöffnet werden
-
SAFETRUE: Schutztür ist verriegelt
|
Weitere Informationen hierzu finden Sie im Thema "S_GuardLock".
UnlockRequest
Kurzbeschreibung | Wert |
Zustands- und flankengesteuerter Eingang für das Anforderungssignal zum Entriegeln der Schutztür (bzw. der Zuhaltung).Datentyp: BOOL Anfangswert: FALSE |
-
FALSE: Entriegelung der Schutztür ist nicht angefordert
- Flanke FALSE > TRUE: Anforderung zur Entriegelung der Tür
-
TRUE: Das TRUE-Signal muss für die Dauer der Aufhebung der Zuhaltung über S_UnlockGuard aufrecht erhalten werden (z.B. Öffnen der Schutzeinrichtung)
|
Weitere Informationen hierzu finden Sie im Thema "UnlockRequest".
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_GuardLocked 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 Eingang zur Vorgabe der Wiederanlaufsperre nachdem die Schutzeinrichtung geschlossen (S_GuardMonitoring = SAFETRUE) und verriegelt wurde (S_GuardLock = SAFETRUE).Datentyp: SAFEBOOL Anfangswert: SAFEFALSEEine aktive Wiederanlaufsperre muss durch eine positive Signalflanke an Eingang Reset manuell aufgehoben werden. Eine deaktivierte Wiederanlaufsperre führt dazu, dass der Ausgang S_GuardLocked 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_GuardLocked 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".
|
Detailinformationen | Signalablauf-Diagramm
Das folgende Diagramm zeigt den Signalablauf einer typischen Anwendung unter folgenden Annahmen:
S_StartReset = SAFEFALSE: Anlaufsperre nach Bausteinaktivierung und nach Start der Sicherheitssteuerung.
S_AutoReset = SAFEFALSE: Wiederanlaufsperre nach Verriegelung der Zuhaltung der geschlossenen Schutzeinrichtung (d.h. nach Rückkehr des SAFETRUE-Signals an Eingang S_GuardLock).
0 | Der Funktionsbaustein ist noch nicht aktiviert (Activate = FALSE). Folglich sind alle Ausgänge FALSE oder SAFEFALSE. |
1 | Aktivierung des Bausteins durch Activate = TRUE. Obwohl die Schutzeinrichtung geschlossen ist (S_GuardMonitoring = SAFETRUE) und zugehalten wird (S_GuardLock = SAFETRUE) und der Betriebsbereich den definierten sicheren Zustand meldet (S_SafetyActive = SAFETRUE), bleibt der Ausgang S_GuardLocked = SAFEFALSE, weil eine Anlaufsperre vorgegeben ist (S_StartReset = SAFEFALSE). |
2 | Mit der positiven Flanke an Eingang Reset wird die Anlaufsperre aufgehoben, Ausgang S_GuardLocked wird SAFETRUE.Ausgang S_GuardLocked bleibt SAFETRUE, obwohl Eingang S_SafetyActive für einige Zeit SAFEFALSE ist (Betriebsbereich vorübergehend nicht mehr im definierten sicheren Zustand). |
3 | Mit der Anforderung zur Entriegelung der Zuhaltung durch UnlockRequest = TRUE und der Bestätigung, dass der Betriebsbereich wieder im definierten sicheren Zustand ist (S_SafetyActive = SAFETRUE), wird Ausgang S_GuardLocked auf SAFEFALSE und S_UnlockGuard auf SAFETRUE gesteuert.Ausgang S_UnlockGuard bleibt solange SAFETRUE, wie an Eingang UnlockRequest die Anforderung zur Entriegelung anliegt. |
4 | Die Schutzeinrichtung wird geöffnet (S_GuardMonitoring und S_GuardLock werden beide SAFEFALSE) und wieder geschlossen (S_GuardMonitoring wieder SAFETRUE), aber nach dem Schließen nicht verriegelt (S_GuardLock bleibt SAFEFALSE). Ausgang S_GuardLocked bleibt deshalb SAFEFALSE. |
5 | Ausgang S_UnlockGuard wird SAFEFALSE, da Eingang UnlockRequest jetzt FALSE ist. Die Schutzeinrichtung ist noch nicht verriegelt (S_GuardLock immer noch SAFEFALSE). |
Anwendungsbeispiel: Schutztür-Schalter und Verriegelung der Zuhaltung einkanalig angeschlossen
Dieses Beispiel beschreibt die Verschaltung einer einkanaligen trennenden Schutzeinrichtung mit verriegelbarer Zuhaltung mit dem sicherheitsbezogenen Funktionsbaustein SF_GuardLocking 2. Es ist eine Anlaufsperre und eine Wiederanlaufsperre vorgegeben.
In diesem Beispiel entspricht die Anordnung des Schalters den Anforderungen der DIN EN ISO 14119, Anhang F. Der Schutztür-Schalter sowie der Kontakt zur Rückmeldung der Verriegelung sind einkanalig mit den Eingängen der Sicherheitssteuerung verbunden. Die Spule zum Öffnen der Verriegelung ist ebenfalls einkanalig mit einem Ausgang der Sicherheitssteuerung verbunden.
Die Sensoren/Aktoren sind wie folgt an der Sicherheitssteuerung bzw. an den Funktionsbaustein angeschlossen:
- Der mechanisch betätigte Positionsschalter B1 (Schutztür-Schalter) ist an Eingangsklemme 1.1 des sicherheitsbezogenen Eingangsgeräts PSDI 1 angeschlossen. Sein Signal ist mit der globalen I/O-Variablen B1_GMON_In verknüpft und mit Bausteineingang S_GuardMonitoring verschaltet.
- Das Rückmeldesignal der Zuhaltung ist an Eingangsklemme 3.1 des sicherheitsbezogenen Eingangsgeräts PSDI 1 angeschlossen. Das Signal ist mit der globalen I/O-Variablen K1_GLOC_In verknüpft und mit Bausteineingang S_GuardLock verschaltet.
- An Eingangsklemme 1.1 des Standard-Eingangsgeräts DI 1 ist ein Taster S2 angeschlossen, dessen TRUE-Signal die Entriegelung der Tür anfordert. Die verknüpfte globale I/O-Variable S2_UREQ_In ist an Bausteineingang UnlockRequest angeschlossen.
- An Eingangsklemme 3.1 des Standard-Eingangsgeräts DI 1 ist ein Reset-Taster S3 angeschlossen. Sein Signal wird mit der globalen I/O-Variablen S3_Reset_GL verknüpft und mit Bausteineingang Reset verschaltet. Das Signal dieses Tasters dient zum Rücksetzen von Fehlerzuständen des Funktionsbausteins und zum Aufheben der Anlauf-/Wiederanlaufsperre (siehe unten).
- Das Ausgangssignal S_UnlockGuard des Bausteins steuert über die angeschlossene globale I/O-Variable K1_ULOCK_Out die Spule zum Öffnen der Verriegelung an. Diese Spule K1 ist an Ausgangsklemme 1.1 des sicherheitsbezogenen Ausgangsgeräts PSDO angeschlossen, die wiederum mit K1_ULOCK_Out verknüpft ist.
S_StartReset und S_AutoReset sind beide auf SAFEFALSE gesetzt, d.h.
- S_StartReset = SAFEFALSE: Anlaufsperre nach dem Start der Sicherheitssteuerung und nach Bausteinaktivierung.
- S_AutoReset = SAFEFALSE: Wiederanlaufsperre nach Rückkehr des SAFETRUE-Signals an Eingang S_GuardLock.
Hinweis
An Eingang S_SafetyActive des Funktionsbausteins SF_GuardLocking 2 ist das Signal "Maschine steht" angeschlossen, das z.B. von einem Stillstandswächter stammt. Der Freigabeausgang S_GuardLocked des Funktionsbausteins SF_GuardLocking 2 ist direkt mit einer globalen I/O-Variablen oder über weitere sicherheitsbezogene Funktionen/Funktionsbausteine mit einer Ausgangsklemme der Applikation verschaltet. Verschalten Sie den Freigabeausgang S_GuardLocked des Funktionsbausteins SF_GuardLocking 2 beispielsweise mit Eingang S_OutControl des Funktionsbausteins SF_EDM und realisieren Sie auf diese Weise eine zweikanalige Ausgangsverschaltung. |
S1 | Sicherheitsschalter mit Zuhaltung, enthält - Schutztür-Schalter (B1), einkanalig, - Verriegelungsüberwachung der Zuhaltung (Kontakt -K1) und - Spule (K1) zum Öffnen der Verriegelung |
(*1) | Zuhaltung von S1: offen |
(*2) | Zuhaltung von S1: geschlossen |
S2 | Anforderung zur Entriegelung der Tür |
S3 | Reset-Taster zum Rücksetzen von Fehlern und Aufheben einer aktiven Anlauf-/Wiederanlaufsperre |
S4 | Taster zum Stoppen der Maschine. |
S4i | Signal zum Stoppen der Maschine |
 | 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:
|