Programmierbeispiel für Basic Level
Als CODESYS Safety Extension Programmierbeispiel für ein Programm im Basic Level wird das Beispiel „2-Hand-Kontrolle mit EDM“ des Dokuments „PLCopen - Technical Committee 5 Safety Software Technical Specification Part 2: User Examples Version 1.01 – Official Release“ verwendet und als CODESYS Safety Extension FUP-Implementierung dargestellt.
Tipp
Für weitere Beispiele zur Programmierung im Basic-Level wird auf das Dokument „PLCopen - Technical Committee 5 Safety Software
Funktionale Beschreibung der Sicherheitsfunktionen
Folgende Sicherheitsfunktionen werden in diesem Beispiel verwendet:
Bei Betätigen des Not-HaltTasters müssen alle gefahrbringenden Bewegungen gestoppt werden (über
SF_EmergencyStop)Not-Halt hat die höchste Priorität. Nach Lösen des
EStop-Druckknopfs wird ein Reset über S0-Reset benötigt.Der Sicherheitsausgang wird durch Drücken beider Drucktaster der Zwei-Hand-Kontrolle aktiviert. Das Lösen irgendeines der Zwei-Hand-Drucktaster deaktiviert den Sicherheitsausgang und stoppt die gefahrbringende Bewegung über die Schaltvorrichtungen
K1undK2(überSF_TwoHandControlTypeII)Der Grundzustand und der Betriebszustand der verbundenen Schaltvorrichtungen werden überwacht. Falls ein Fehler entdeckt wird, kann der Sicherheitsausgang nicht funktionsbereit werden. (über
SF_EDM)Nach Anschalten der Sicherheits- oder der funktionalen Anwendung, oder nach einer Not-Halt Bedingung muss die Zwei-Hand-Kontrolle gelöst und wieder betätigt werden, um den Sicherheitsausgang wieder zu aktivieren (über
SF_OutControl). Um dies für den funktionalen Neustart zu gewährleisten, ist das Prozess-Signal der funktionalen Applikation mit demActivate-Eingang des Zwei-Hand-Kontrolle BausteinsTHC_S2_S3verbunden. (Wenn die Anwendungs-Prozess wieder gestartet wird, während die Zwei-Hand-Kontrolle aktiviert ist, geht der Baustein in StatusC0003, der den Fehler signalisiert, dass beide Taster bei Aktivierung gedrückt sind und einen Neustart verhindert.
In diesem Beispiel existiert nur ein Betriebszustand.


Name | Datentyp | Beschreibung |
|---|---|---|
|
| Not-Halt-Taster S1 |
|
| Schalter S2 verbunden mit Druckknopf 1 der Zwei-Hand-Kontrolle |
|
| Schalter S3 verbunden mit Druckknopf 2 der Zwei-Hand-Kontrolle |
|
| Rückmeldung externes Gerät K1 |
|
| Rückmeldung externes Gerät K2 |
|
| Reset durch Entwickler mit Schalter S0 (abgeleitet von der funktionalen Anwendung) |
|
| Freigabe der Bewegung durch den Prozess (abgeleitet von der funktionalen Anwendung) |
Name | Datentyp | Beschreibung |
|---|---|---|
|
| steuert den Aktor über |
|
| Fehlerflag von |
|
| Fehlerflag von |
|
| Fehlerflag von |
|
| Diagnosecode für
|
|
| Diagnosecode für
|
|
| Diagnosecode für
|
Zusätzliche Anmerkungen
Dieses Beispiel kann auch mit SF_TwoHandControlTypeIII verwendet werden.
Der Eingang von Activate wurde der Einfachheit halber auf TRUE gesetzt. Dies kann in der Anwendung durch eine Variable ersetzt werden.
Baustein | Eingang | Konstanter Wert | Beschreibung |
|---|---|---|---|
|
|
| Kein automatischer Reset, wenn die S-SPS gestartet ist. |
|
| Kein automatischer Reset, Reset/Bestätigung durch Entwickler notwendig | |
|
|
| Automatischer Reset ist erlaubt, wenn die S-SPS gestartet ist. |
|
| Automatischer Reset, kein Reset/Bestätigung durch Entwickler notwendig | |
|
| Eine dynamische Änderung des Signals Appl_Control (steigende Flanke) wird gefordert nach Bausteinaktivierung oder eine getriggerte Sicherheitsfunktion ( | |
|
|
| Kein automatischer Reset, wenn die S-SPS gestartet ist |
|
| Die maximale Antwortzeit der beiden Rückmeldesignale
|