Skip to main content

SF_ModeSelector

Tipp

Die Version des hier beschriebenen Bausteins entspricht der neuesten Version des Bausteins in der Versionsliste der Bausteine

Anwendbare Sicherheits-Standards

SF_ModeSelector ist ein zertifizierter PLCopen-Baustein. Detaillierte Informationen zu angewendeten Normen findet der Anwender bei "PLCopen - Technical Committee 5 - Safety Software".

Wichtig

Die in den Normen aufgeführten Anforderungen müssen vom Anwender erfüllt werden.

Interface Beschreibung

Dieser Baustein wählt die System-Betriebsart, wie manuell, automatisch, halb-automatisch, usw.

Name

Datentyp

Initialwert

Beschreibung, Parameterwerte

Activate

BOOL

FALSE

Allgemeine Eingangsparameter

S_Mode0

SAFEBOOL

FALSE

Variable oder Konstante.

Eingang 0 des Modus-Auswahl Schalters

FALSE: Modus 0 wird vom Operator nicht angefordert

TRUE: Modus 0 wird vom Operator angefordert.

S_Mode1

SAFEBOOL

FALSE

Variable oder Konstante.

Eingang des Modus-Auswahl Schalters

FALSE: Modus 1 wird vom Operator nicht angefordert

TRUE: Modus 1 wird vom Operator angefordert.

S_Mode2

SAFEBOOL

FALSE

Variable oder Konstante.

Eingang 2 des Modus-Auswahl Schalters

FALSE: Modus 2 wird vom Operator nicht angefordert

TRUE: Modus 2 wird vom Operator angefordert.

S_Mode3

SAFEBOOL

FALSE

Variable oder Konstante.

Eingang 3 des Modus-Auswahl Schalters

FALSE: Modus 3 wird vom Operator nicht angefordert

TRUE: Modus 3 wird vom Operator angefordert.

S_Mode4

SAFEBOOL

FALSE

Variable oder Konstante.

Eingang 4 des Mode-Selector Schalters

FALSE: Modus 4 wird vom Operator nicht angefordert

TRUE: Modus 4 wird vom Operator angefordert.

S_Mode5

SAFEBOOL

FALSE

Variable oder Konstante.

Eingang 5 des Modus-Auswahl Schalters

FALSE: Modus 5 wird vom Operator nicht angefordert

TRUE: Modus 5 wird vom Operator angefordert.

S_Mode6

SAFEBOOL

FALSE

Variable oder Konstante.

Eingang 6 des Modus-Auswahl Schalters

FALSE: Modus 6 wird vom Operator nicht angefordert

TRUE: Modus 6 wird vom Operator angefordert.

S_Mode7

SAFEBOOL

FALSE

Variable oder Konstante.

Eingang 7 des Modus-Auswahl Schalters

FALSE: Modus 7 wird vom Operator nicht angefordert

TRUE: Modus 7 wird vom Operator angefordert.

S_Unlock

SAFEBOOL

FALSE

Variable oder Konstante.

Sperrt den ausgewählten Modus.

FALSE: Der aktuelle S_ModeXSel-Ausgang ist gesperrt, deshalb führt eine Änderung irgendeines S_ModeX-Eingangs nicht zu einer Änderung am S_ModeXSel-Ausgang, sogar beim Ereignis einer steigenden Flanke des Set-Modus.

TRUE: Der ausgewählte S_ModeXSel ist nicht gesperrt; eine Änderung der Modus-Auswahl ist möglich

S_SetMode

SAFEBOOL

FALSE

Variable (oder Konstante FALSE, falls AutoSetMode = TRUE)

Setzt den ausgewählten Modus

Operator bestätigt das Setzen eines Modus. Jede Änderung zu einem neuen S_ModeX = TRUE führt zu S_AnyModeSel/S_ModeXSel = FALSE, nur ein ansteigende SetMode Triggerflanke führt dann zu einem neuen S_ModeXSel = TRUE.

AutoSetMode

BOOL

FALSE

Konstante

Parametriert den Bestätigungsmodus.

FALSE: Eine Änderung des Modus muss vom Operator über SetMode bestätigt werden.

TRUE: Eine gültige Änderung des Eingangs S_ModeX in einen anderen S_ModeX führt automatisch zu S_ModeXSel ohne Operator-Bestätigung über SetMode (so lange, wie dieser nicht durch S_Unlock gesperrt ist).

ModeMonitorTime

TIME

T#0

Kontante

Maximal zulässige Zeit für Änderung des Auswahl-Eingangs.

Der Vorsichtshinweis ModeMonitorTime ist zu beachten!

Reset

BOOL

FALSE

Allgemeine Eingangsparameter

ModeMonitorTime

Für Entwickler im Extended Level gilt: der Eingang ModeMonitorTime muss mit einem konstanten Wert beschaltet werden. D. h. der Wert darf bei den Aufrufen nicht verändert werden!

Tabelle 24. VAR_OUTPUT

Name

Datentyp

Initialwert

Beschreibung, Parameterwerte

Ready

SAFEBOOL

FALSE

Allgemeine Ausgangsparameter

S_Mode0Sel

SAFEBOOL

FALSE

Zeigt an, dass Modus 0 ausgewählt und bestätigt ist.

FALSE: Modus 0 ist nicht ausgewählt oder nicht aktiv.

TRUE: Modus 0 ist ausgewählt und aktiv.

S_Mode1Sel

SAFEBOOL

FALSE

Zeigt an, dass Modus 1 ausgewählt und bestätigt ist.

FALSE: Modus 1 ist nicht ausgewählt oder nicht aktiv.

TRUE: Modus1 ist ausgewählt und aktiv.

S_Mode2Sel

SAFEBOOL

FALSE

Zeigt an, dass Modus 2 ausgewählt und bestätigt ist.

FALSE: Modus 2 ist nicht ausgewählt oder nicht aktiv.

TRUE: Modus 2 ist ausgewählt und aktiv.

S_Mode3Sel

SAFEBOOL

FALSE

Zeigt an, dass Modus 3 ausgewählt und bestätigt ist.

FALSE: Modus 3 ist nicht ausgewählt oder nicht aktiv.

TRUE: Modus 3 ist ausgewählt und aktiv.

S_Mode4Sel

SAFEBOOL

FALSE

Zeigt an, dass Modus 4 ausgewählt und bestätigt ist.

FALSE: Modus 4 ist nicht ausgewählt oder nicht aktiv.

TRUE: Modus 4 ist ausgewählt und aktiv.

S_Mode5Sel

SAFEBOOL

FALSE

Zeigt an, dass Modus 5 ausgewählt und bestätigt ist.

FALSE: Modus 5 ist nicht ausgewählt oder nicht aktiv.

TRUE: Modus 5 ist ausgewählt und aktiv.

S_Mode6Sel

SAFEBOOL

FALSE

Zeigt an, dass Modus 6 ausgewählt und bestätigt ist.

FALSE: Modus 6 ist nicht ausgewählt oder nicht aktiv.

TRUE: Modus 6 ist ausgewählt und aktiv.

S_Mode7Sel

SAFEBOOL

FALSE

Zeigt an, dass Modus 7 ausgewählt und bestätigt ist.

FALSE: Modus 7 ist nicht ausgewählt oder nicht aktiv.

TRUE: Modus 7 ist ausgewählt und aktiv.

S_AnyModeSel

SAFEBOOL

FALSE

Zeigt an, dass irgendeiner der 8 Modi ausgewählt und bestätigt ist.

FALSE: Kein S_ModeX ist ausgewählt.

TRUE: Einer der 8 S_ModeX ist ausgewählt und aktiv.

Error

BOOL

FALSE

Allgemeine Ausgangsparameter

DiagCode

WORD

16#0000

Diagnose-Codes



Abbildung 58. Baustein SF_ModeSelector
Baustein SF_ModeSelector


Funktionale Beschreibung

Dieser Baustein wählt die System-Betriebsart, wie manuell, automatisch, halb-automatisch, usw. Beim Starten der Steuerung sollte vorausgesetzt sein, dass sich die Maschine in einem sicheren Modus befindet. Beim Starten der Maschine muss der Übergang zum Modus, der durch den Mode-Selector gesetzt wurde, durch einen Baustein-Eingang (z. B. START-Knopf der Maschine) initiiert werden.

Die dem Standard-Zustand folgende Aktivierung des Bausteins ist der Zustand ModeChanged. Dieser ist auch der sichere Zustand des Bausteins, wo alle S_ModeXSel und S_AnyModeSel auf FALSE sind.

. Wenn sich der Baustein im Zustand ModeChanged befindet:
  • Der neue S_ModeX Eingang muss mit einer steigenden S_SetMode Triggerflanke (falls AutoSetMode = FALSE) bestätigt werden, der zu einem neuen S_ModeXSel-Ausgang führt.

  • Der neue S_ModeX-Eingang führt automatisch zu einem S_ModeXSel-Ausgang (falls AutoSetMode = TRUE).

  • Solch ein Übergang von Zustand 8005 zu 8000 ist nur gültig, wenn ein S_ModeX-Eingang TRUE ist. So lange wie alle S_ModeX FALSE sind, so lange bleibt der Baustein in Zustand 8005, sogar wenn S_SetMode triggert.

Der Übergang vom ModeChanged zum ModeSelected-Zustand, das heißt S_SetMode wird durch den Operator gesetzt, wird nicht durch einen Timer überwacht.

Wenn sich der Baustein im ModeSelected-Zustand befindet, führt das gleichzeitige Auftreten eines neuen S_ModeX-Eingangs (höhere Priorität) und das Signal NOT S_Unlock (niedrigere Priorität) zum ModeChanged-Zustand.

Die S_ModeX-Eingangsparameter, die nicht zur Modus-Auswahl verwendet werden, sollten mit dem Standardwert FALSE belegt werden, um die Verifikation des Programms zu vereinfachen.

Achtung

Der AutoSetMode-Eingang soll nur aktiviert werden, wenn sichergestellt ist, dass keine Gefährdung auftreten kann, wenn die S-SPS gestartet wird.

Statusdiagramm

Abbildung 59. Statusdiagramm SF_Modeselector
Statusdiagramm SF_Modeselector


Tipp

Anmerkung: Der Übergang von jedem Zustand zum Zustand Idle, bedingt durch Activate = FALSE, wird nicht gezeigt. In jedem Fall haben diese Übergänge die höchste Priorität.

Typische Zeitdiagramme

Abbildung 60. Zeitdiagramm1 SF_ModeSelector
Zeitdiagramm1 SF_ModeSelector


Abbildung 61. Zeitdiagramm2 SF_ModeSelector,Fehlerbedingung 2 bei Modus-Eingaben
Zeitdiagramm2 SF_ModeSelector,Fehlerbedingung 2 bei Modus-Eingaben


Abbildung 62. Zeitdiagramm3 SF_ModeSeletor
Zeitdiagramm3 SF_ModeSeletor


Fehlererkennung

. Der Baustein erkennt, wenn keiner der Modus-Eingänge ausgewählt ist. Diese ungültige Bedingung wird nach Ablauf der ModeMonitorTime entdeckt:
  • Die bei jeder fallenden Triggerflanke eines S_ModeX Eingangs neu startet

  • Die sich dann im Status ModeChanged befindet, welcher der Aktivierung des Bausteins folgt.

Im Gegensatz dazu entdeckt der Baustein direkt, ob mehr als ein S_ModeX-Eingang zum gleichen Zeitpunkt ausgewählt ist.

Eine statische Reset-Bedingung wird entdeckt, wenn der Baustein entweder im Fehlerzustand C001 oder C002 ist.

Fehlerverhalten

Bei einem Fehlerereignis werden die Ausgänge S_ModeXSel und S_AnyModeSel in den sicheren Zustand = FALSE gesetzt. Der DiagCode-Eingang zeigt den relevanten Fehlercode an und der Error-Ausgang wird auf TRUE gesetzt.

Ein Fehler muss mit der steigenden Triggerflanke des Reset BOOL-Eingangs erkannt werden. Der Baustein wechselt von einem Error-Zustand zum Zustand ModeChanged.

Bausteinspezifische Status- und Fehlercodes

Tabelle 25. Bausteinspezifische Fehlercodes

DiagCode

Statusname

Statusbeschreibung und Setzen des Ausgangs

16#C001

Error

Short-circuit

Der Baustein entdeckt, dass zwei oder mehr S_ModeX TRUEsind, zum Beispiel Kurzschluss von Leitungen

Ready = TRUE

Error = TRUE

S_AnyModeSel = FALSE

Alle S_ModeXSel = FALSE

16#C002

Error

Open-circuit

Der Baustein entdeckt, dass alle S_ModeX FALSE sind: Das Zeitintervall, das einer fallenden S_ModeX Triggerflanke folgt, überschreitet die ModeMonitorTime, zum Beispiel: Kurzschluss von Leitungen

Ready = TRUE

Error = TRUE

S_AnyModeSel = FALSE

Alle S_ModeXSel = FALSE

16#C003

Reset Error 1

Statisches Reset-Signal entdeckt in Status C001.

Ready = TRUE

Error = TRUE

S_AnyModeSel = FALSE

Alle S_ModeXSel = FALSE

16#C004

Reset Error 2

Statisches Reset-Signal entdeckt in Status C002

Ready = TRUE

Error = TRUE

S_AnyModeSel = FALSE

Alle S_ModeXSel = FALSE



Tabelle 26. Bausteinspezifische Statuscodes (kein Fehler)

DiagCode

Statusname

Statusbeschreibung und Setzen des Ausgangs

16#0000

Idle

Der Baustein ist nicht aktiv (Grundzustand)

Ready = FALSE

Error = FALSE

S_AnyModeSel = FALSE

Alle S_ModeXSel = FALSE

16#8005

ModeChanged

Status nach Aktivierung oder wenn S_ModeX sich geändert hat (außer gesperrt) oder nach Reset eines Fehlerstatus

Ready = TRUE

Error = FALSE

S_AnyModeSel = FALSE

Alle S_ModeXSel = FALSE

16#8000

ModeSelected

Gültige Modus-Auswahl, aber noch nicht gesperrt.

Ready = TRUE

Error = FALSE

S_AnyModeSel = TRUE

S_ModeXSel = Ausgewähltes X ist TRUE, andere sind FALSE

16#8004

ModeLocked

Gültige Modus-Auswahl ist gesperrt.

Ready = TRUE

Error = FALSE

S_AnyModeSel = TRUE

S_ModeXSel = Ausgewähltes X ist TRUE, andere sind FALSE.