Common Library Information

Anlaufsperre

Die Funktionsbausteine beinhalten Anlaufsperren zum Schutz vor unbeabsichtigtem Wiederanlauf. Anlaufsperren sind essentielle Bestandteile einer Sicherheitsfunktion und müssen gemäß den Erkenntnissen der Risikoanalyse und den Festlegungen der Safety Requirement Specificaiton umgesetzt werden.

Anlaufsperren dürfen nur dann deaktiviert bzw. weggelassen werden, wenn sichergestellt ist, dass bei einem Anlauf der Maschine/Anlage keine gefahrbringende Situation entstehen kann oder wenn die Anlaufsperren an anderer Stelle oder mit anderen Mitteln umgesetzt werden.

Eine Anlaufsperre wird über den Parameter S_AutoReset aktiviert und ist nach Signalrückkehr am sicherheitsgerichteten Eingang und/oder nach Kaltstart der Sicherheitssteuerung und/oder nach Aktivierung des Funktionsbausteins aktiv. Bei aktiver Anlaufsperre ist das sicherheitsgerichtete Ausgangssignal im sicheren Zustand. Erst nachdem eine weitere manuelle Handlung (steigende Flanke) am Eingangsparameter Reset ausgeführt wurde, ist die Anlaufsperre nicht mehr aktiv, wenn die Eingangssignalkombination hierfür zulässig ist. Um das Risiko eines unerwarteten Anlaufs zu reduzieren, muss sichergestellt werden, dass der Eingangsparameter Reset nur mit dem Signal einer manuellen Rückstelleinrichtung verschalten ist. Die geforderte Qualität dieses Signals ergibt sich entsprechend der Risikoanalyse.

Anlaufsperre (optional)

Zur optionalen Unterstützung der Anlaufsperre muss diese an den entsprechenden Eingangsparametern vorgegeben werden.

Eine Anlaufsperre ist nach Signalrückkehr am sicherheitsgerichteten Eingang und/oder nach Kaltstart der Sicherheitssteuerung und/oder nach Aktivierung des Funktionsbausteins aktiv. Bei aktiver Anlaufsperre ist das sicherheitsgerichtete Ausgangssignal im sicheren Zustand. Erst nachdem eine weitere manuelle Handlung (steigende Flanke) am Eingangsparameter Reset ausgeführt wurde, ist die Anlaufsperre nicht mehr aktiv, wenn die Eingangssignalkombination hierfür zulässig ist.

Anlaufsperre nach Kaltstart der Sicherheitssteuerung (optional)

Zur Unterstützung einer Anlaufsperre müssen diese nach Aktivierung des Funktionsbausteins am Eingangsparameter entsprechend vorgegeben werden.

Nach einem Kaltstart der Sicherheitssteuerung unterstützt der Funktionsbaustein innerhalb des sicheren Steuerungssystems ein definiertes Ingangsetzen oder Wiederingangsetzen der Applikation. Dies wird erreicht, indem das Freigabesignal vom Funktionsbaustein entsprechend gesteuert wird.

Erst nachdem eine weitere manuelle Handlung (steigende Flanke) am Eingangsparameter Reset ausgeführt wurde, ist die Anlaufsperre nicht mehr aktiv, wenn die Eingangssignalkombination hierfür zulässig ist.

Allgemeine Regeln für sicherheitstechnische Funktionsbausteine

Die folgenden Regeln gelten für alle mitgelieferten sicherheitsrelevanten Funktionsbausteine auf Bibliotheksebene.

Standardsignal

Alle sicherheitsrelevanten booleschen I/O-Signale haben den sicheren Standardzustand FALSE.

Signalpegel

Der Wert des SAFEBOOL ist nur wie folgt anwendbar:

= 0 entspricht der Sicherheit, wie sie an den Systemausgängen definiert ist.

= 1 bedeutet, dass die Sicherheitsaspekte des Systems korrekt funktionieren, d. h. ein normaler Betrieb möglich ist.

Diese Darstellung spiegelt die Funktionalität der IEC-61131-Umgebungen wider, z. B. dass alle Ausgänge im Fehlerfall auf „0“ umschalten sowie Standardwertregeln.

Konstante

Diesem Eingang dürfen nur konstante Werte zugewiesen werden.
Ab dem Aktivieren des Bausteins darf sich der Wert am Eingang nicht mehr ändern.
Bei abweichender Anwendung ist das Verhalten des Bausteins undefiniert.

Fehlende Eingangs-/Ausgangsparameter

Fehlende Parameter sind zulässig. Es gelten die Standardwerte. Diese Standardwerte dürfen unter keinen Umständen zu einem unsicheren Zustand führen. Standardwerte werden in den jeweiligen FB-Spezifikationen als Initialwert einschließlich ihrer Attribute (VARIABLE oder KONSTANTE) angegeben.

Startverhalten

Zu Beginn sind die Ausgänge auf die Standardwerte eingestellt. Nach dem ersten Aufruf der Funktionsbausteine sind die Ausgänge gültig. Das Startverhalten ist einheitlich, d. h. es gibt keinen Unterschied zwischen Kalt-, Warm- und Heißstart.

Zeitdiagramme

Zeitdiagramme, wie sie an den Funktionsbausteinen angezeigt werden, dienen nur zur Erläuterung. Sie stellen nicht das genaue Zeitverhalten dar. Das genaue Zeitverhalten hängt von der Implementierung ab (IF versus CASE).

Fehlerbehandlung und Diagnose

Alle sicherheitsrelevanten Funktionsbausteine haben zwei fehlerbezogene Ausgänge: Error und DiagCode. Diese sind für Diagnosezwecke auf der Ebene der Benutzeranwendung vorgesehen und nicht für die Diagnose auf der System-/Hardwareebene.

Für sicherheitsrelevante Umgebungen gilt, dass das Schalten einer sicherheitsrelevanten Funktion die höchste Priorität hat und nach dem Schalten ausreichend Zeit für die Diagnose vorhanden ist – entweder in der Standardanwendung oder in der Benutzeroberfläche.

Namenskonventionen für Funktionsbausteine – Verwendung von Präfixen

Alle PLCopen-spezifizierten Funktionsbausteine werden durch das Präfix SF_ identifiziert. In PLCopen-konformen Systemen ist das Präfix SF_ in POU-Namen für diese Funktionsbausteine und ihre Derivate reserviert. POU-Namenspräfixe der Form SFx_ sind reserviert, um herstellerdefinierte Funktionsbausteine zu identifizieren, die den gemeinsamen Anforderungen von Kapitel 1 bis 5 der PLCopen-Spezifikation entsprechen.

Namenskonventionen für Funktionsbausteine – Erweiterungen

Namen von PLCopen-definierten Funktionsbausteinen können um ein Suffix der Form _x erweitert werden, z. B. SF_ESTOP_ABC. Dies ist zulässig und wird für systemspezifische Implementierungen und Erweiterungen der Diagnoseschnittstelle des entsprechenden PLCopen-Funktionsbausteins empfohlen.

Namenskonventionen für Funktionsbausteine mit zusätzlichen Eingängen

Für systemspezifische Diagnosezwecke kann es sinnvoll sein, einen PLCopen-Funktionsbaustein um zusätzliche Ein- und Ausgänge zu erweitern. Nur wenn dieser neue Funktionsbaustein unabhängig von der Verwendung der neuen Ein- und Ausgänge das gleiche PLCopen-spezifizierte Verhalten an den ursprünglichen Ein- und Ausgängen aufweist, ist es zulässig, diesem Funktionsbaustein den Namen des ursprünglichen PLCopen-Funktionsbausteins zu geben. Es wird jedoch empfohlen, diesen Funktionsbaustein, wie oben beschrieben, durch Anhängen eines Suffixes an den PLCopen-Namen zu benennen.

Allgemeine Parameter

I/O

Bezeichnung

Datentyp

Beschreibung

IN

Activate

BOOL

Variable oder Konstante.

FALSE (= Initialwert): Aktivierung des Funktionsbausteins.

Der Parameter kann mit Variablen (z. B. SafeModuleOK) verbunden werden, die den Status (aktiv oder inaktiv) des entsprechenden Sicherheitsgeräts darstellen. Es werden keine irrelevanten Diagnoseinformationen generiert, wenn ein Gerät deaktiviert ist.

Bei FALSE werden alle Ausgangsvariablen auf die Initialwerte gesetzt.

Ist die Funktion des Funktionsbausteins unabhängig von einem Gerät, so muss ein statisches TRUE zugewiesen werden.

IN

S_<Name des sicherheitstechnischen Eingangs>

SAFExxxx

Jeder SAFExxxx Eingangsname beginnt mit S_. Es dürfen nur Variablen zugewiesen werden.

IN

S_AutoReset

SAFEBOOL

Variable oder Konstante.

FALSE (= Initialwert): Manueller Reset beim Loslassen des Not-Halt-Tasters.

TRUE: Automatischer Reset beim Loslassen des Not-Halt-Tasters.

siehe Anlaufsperre.

Bei der Verwendung einer SAFEBOOL-Variablen ist eine zusätzliche Validierung dieser Anwendung notwendig.

IN

S_SafetyActive

SAFEBOOL

Variable.
Status des Gefahrenbereichs, z. B. auf der Grundlage der Geschwindigkeitsüberwachung oder der sicheren Abschaltverzögerung oder der Begrenzung der Geschwindigkeit oder der Bewegungskraft usw.
SAFEFALSE: Maschine im „nicht sicheren“ Zustand.
SAFETRUE: Maschine im sicheren Zustand.

IN

S_StartReset

SAFEBOOL

Variable oder Konstante.

FALSE (= Initialwert): Manueller Reset beim Start der sicherheitsrelevanten Anwendung (Warm- oder Kaltstart).

TRUE: Automatischer Reset beim Start der sicherheitsrelevanten Anwendung (Warm- oder Kaltstart).

siehe Anlaufsperre.

Bei der Verwendung einer SAFEBOOL-Variablen ist eine zusätzliche Validierung der Anwendung notwendig.

IN

Reset

BOOL

Variable. Der Initialwert ist FALSE.

Die Verwendung des Eingangs kann je nach Funktion variieren:

  • Ein Reset der Zustandsmaschine sowie gekoppelte Fehler- und Statusmeldungen werden nach der Beseitigung der Fehlerursache über DiagCode angezeigt. Das Reset-Verhalten bestätigt die Behebung des Fehlers.

  • Manueller Reset einer „Wiederanlaufsperre“. Das Reset-Verhalten ist als Standard-Reset ausgelegt.

  • Zusätzliche Funktionsbaustein-spezifische Reset-Funktionen.

Diese Funktion ist nur bei einem Signalwechsel von FALSE auf TRUE aktiv. Ein statisches TRUE Signal bewirkt keine weiteren Aktionen, kann aber bei manchen Funktionsbausteinen als Fehler erkannt werden.

Die entsprechende Bedeutung ist bei den einzelnen Funktionsbausteinen beschrieben.

OUT

Ready

BOOL

TRUE: Der Funktionsbaustein ist aktiviert und die Ausgabewerte sind gültig.

FALSE: Der Funktionsbaustein ist inaktiv und das Programm wird nicht ausgeführt (im Debug-Modus oder beim Aktivieren/Deaktivieren zusätzlicher Funktionsbausteine, sowie zur Weiterverarbeitung in der Standardanwendung nützlich).

OUT

S_<Name des sicherheitstechnischen Ausgangs>

SAFExxxx

Jeder SAFExxxx Ausgangsname beginnt mit S_.

OUT

SafetyDemand

BOOL

Optionaler Ausgang: Der Funktionsbaustein ist aktiv und die primäre Sicherheitsfunktion wird angefordert (z. B. in Bezug auf die Sicherheitsfunktion). Andere sicherheitstechnische Eingangsparameter werden nicht berücksichtigt (z. B. SafetyActive und EDM). Der Sicherheitskreis ist nicht geschlossen und für den dazugehörigen Sicherheitsausgang ist ein sicherer Zustand erforderlich. Es liegt kein Fehler vor.

TRUE: Sicherheitsanforderung

FALSE: Keine Sicherheitsanforderung

OUT

ResetRequest

BOOL

Optionaler Ausgang: Signalisierung zum Fortfahren durch die Betätigung der Reset-Funktion.

TRUE: Zurücksetzen erforderlich

FALSE: Zurücksetzen nicht erforderlich

OUT

Error

BOOL

Fehler-Flag.

TRUE: Ein Fehler ist aufgetreten und der Funktionsbaustein ist im Fehlerzustand. Der entsprechende Fehlerzustand wird am DiagCode Ausgang angegeben.

FALSE: Es liegt kein Fehler vor und der Funktionsbaustein ist nicht im Fehlerzustand. Der entsprechende Fehlerzustand wird am DiagCode Ausgang angegeben (im Debug-Modus sowie zur Weiterverarbeitung in der Standardanwendung nützlich)

OUT

DiagCode

WORD

Diagnoseregister.

Das Register gibt alle Zustände des Funktionsbausteins (aktiv, inaktiv und Fehler) an. Die Informationen erfolgt im Hexadezimalformat und ermöglicht somit eine Darstellung mit mehr als 16 Codes. Es wird immer nur ein konsistenter Code angegeben. Bei mehreren Fehlern wird der erste erkannte Fehler angezeigt (im Debug-Modus sowie zur Weiterverarbeitung in der Standardanwendung nützlich).

Weitere Informationen sind im Kapitel Diagnosecode zu finden.

Hinweis

Sind SafetyDemand als auch ResetRequest auf TRUE gesetzt, werden keine eindeutigen Informationen ausgegeben. Aus diesem Grund ist nur einer der beiden Parameter gesetzt. Befinden sich die Ausgänge direkt im Funktionsbaustein, wird die Verbindung zur Bedienerschnittstelle und die Identifikation der anwendbaren Aktionen erleichtert.

Diagnosecode

Ein transparentes und eindeutiges Diagnosekonzept ist die Grundlage aller Funktionsblöcke. Unabhängig von der Implementierung, wird eine einheitliche Diagnoseinformationen in Form von DiagCode zur Verfügung gestellt. Liegen keine Fehler vor, wird der interne Zustand des Funktionsbausteins (Zustandsmaschine) angezeigt. Ein Fehler wird in Form eines Binärausgangs (Error) angezeigt. Detaillierte Informationen zu internen oder externen Funktionsblockfehlern sind im jeweiligen DiagCode beschrieben. Der Funktionsblock muss über die verschiedenen Reset-Eingänge zurückgesetzt werden.

Spezifische Fehlercodes

Code

Name

Beschreibung

Cxxx

Error

Ready = TRUE

S_Out = FALSE

SafetyDemand = FALSE

ResetRequest = FALSE

Error = TRUE

Funktionsbaustein-spezifische Fehlercodes (kein Error)

Code

Name

Beschreibung

0000

IDLE

Ready = FALSE

S_Out = FALSE

SafetyDemand = FALSE

ResetRequest = FALSE

Error = FALSE

8x01

INIT-Zustand des Betriebsmodus

Ready = TRUE

S_Out = FALSE

SafetyDemand = Abhängig

ResetRequest = Abhängig

Error = FALSE

8xxx

Alle Zustände des Betriebsmodus, in denen S_Out = FALSE ist

Ready = TRUE

S_Out = FALSE

SafetyDemand = Abhängig

ResetRequest = Abhängig

Error = FALSE

8000

Alle Zustände des Betriebsmodus, in denen S_Out = TRUE ist

Ready = TRUE

S_Out = TRUE

SafetyDemand = FALSE

ResetRequest = FALSE

Error = FALSE