FireDamperMot_OnOff

FireDamperMot_OnOff (FB)

FUNCTION_BLOCK FireDamperMot_OnOff

Kurzbeschreibung

Steuerung einer motorischen Brandschutzklappe mit zwei Positionsrückmeldungen Zusatzfunktionen: Funktionstest der Brandschutzklappe Typische Anwendung: Steuerung einer Brandschutzklappe in einer RLT-Anlage

Darstellung

Funktionsbeschreibung

Allgemeines

Dieser Funktionsbaustein steuert eine binäre motorische Brandschutzklappe( xEn = TRUE = Öffnung ), überwacht die Laufzeiten während des Öffnungs- und Schliessvorgangs und kann einen vollständigen Brandschutzklappentest durchführen. Der Funktionsbaustein kann entweder im Normalbetrieb oder im Testbetrieb ( = Brandschutzklappentest ) betrieben werden. Der Testbetrieb ist gegenüber dem Normalbetrieb höher priorisiert und kann durch eine ansteigende Flanke am Eingang xTestEx und / oder am Sollwert / Parameter xRunTest ausgelöst werden.

Freigabe Öffnung / Schliessung der Brandschutzklappe vor Handübersteuerung xAB

Die Freigabe Öffnung / Schliessung der Brandschutzklappe vor Handübersteuerung xAB wird unverändert von der Anforderung Öffnung / Schliessung der Brandschutzklappe xEn übernommen, falls der Brandschutzklappentest nicht aktiv ist.

Freigabe Öffnung / Schliessung der Brandschutzklappe nach Handübersteuerung xHB

Die Freigabe Öffnung / Schliessung der Brandschutzklappe nach Handübersteuerung xHB entspricht der Freigabe Öffnung / Schliessung der Brandschutzklappe vor Handübersteuerung xAB zusätzlich erweitert um ein Handübersteuermodul

xAB

eManModeB

xHB

Hinweise

FALSE

eMANBIN.Auto

FALSE

Handübersteuermodul in Automatik

TRUE

eMANBIN.Auto

TRUE

Handübersteuermodul in Automatik

X

eMANBIN.ManOn

TRUE

Handübersteuermodul in Handbetrieb Ein

X

eMANBIN.ManOff

FALSE

Handübersteuermodul in Handbetrieb Aus

Legende: X = beliebig

Auswahl der Betriebsart wMode

Die Auswahl der Betriebsart erlaubt aktuell zwei gültige Varianten:

  1. ‘wMode’ = 1: Der Funktionsbaustein verhält sich wie der Funktionsbaustein ‘FireDamperMot’

    1. xHB = TRUE: Sofortige Alarmmeldung, falls BSK laut Rückmeldung nicht geöffnet ist ( Brandfall )

    2. BSK-Test: feste Sequenz — Schliessung + Öffnung

  2. ‘wMode’ = 2: Der Funktionsbaustein kann für Anwendungen in der Sschweiz verwandt werden, bei der die Brandschutzklappen parallel zur Anforderung der RLT-Anlage geöffnet / geschlossen werden.

    1. xHB = FALSE: Sofortige Alarmmeldung, falls BSK nach Ablauf der Laufzeit laut Rückmeldung nicht geschlossen ist

    2. xHB = TRUE: Sofortige Alarmmeldung, falls BSK nach Ablauf der Laufzeit laut Rückmeldung nicht geöffnet ist ( Brandfall )

    3. BSK-Test: xClosed = TRUE: feste Sequenz — Öffnung + Schliessung

    4. BSK-Test: xOpen = TRUE: feste Sequenz — Schliessung + Öffnung

Sammelstörung xAlarm

‘wMode’ = 1: Die Sammelstörung xAlarm wird aktiviert ( = TRUE ), falls mindestens eine der nachfolgend beschriebenen Bedingungen gegeben ist:

1) Die Störmeldung für die Rückmeldung der Öffnung xAlarmOpen ist aktiv ( = TRUE ). 2) Die Störmeldung für die Rückmeldung der Schliessung *xAlarmClosed* ist aktiv ( = TRUE ). 3) Die Brandschutzklappe ist nicht vollständig geöffnet ( *xOpen* = FALSE ). ( Hintergrund: Jede nicht vollständig geöffnete Brandschutzklappe stellt einen fehlerhaften Zustand dar ). 4) Der Eingang *xAlarmIn* ist aktiv ( = TRUE ). In alle übrigen Fällen ist die Sammelstörung *xAlarm* nicht aktiviert ( = FALSE ). ‘wMode’ = 2: Die Sammelstörung *xAlarm* wird aktiviert ( = TRUE ), falls mindestens eine der nachfolgend beschriebenen Bedingungen gegeben ist: 1) Die Störmeldung für die Rückmeldung der Öffnung *xAlarmOpen* ist aktiv ( = TRUE ). 2) Die Störmeldung für die Rückmeldung der Schliessung *xAlarmClosed* ist aktiv ( = TRUE ). 3) xHB = TRUE: Die Brandschutzklappe ist nicht vollständig geöffnet ( *xOpen* = FALSE ). ( Hintergrund: Jede nicht vollständig geöffnete Brandschutzklappe stellt einen fehlerhaften Zustand dar ). 4) xHB = FALSE: Die Brandschutzklappe ist nicht vollständig geschlossen ( *xClosed* = FALSE ). ( Hintergrund: Jede nicht vollständig geschlossene Brandschutzklappe stellt einen fehlerhaften Zustand dar ). 5) Der Eingang *xAlarmIn* ist aktiv ( = TRUE ). In alle übrigen Fällen ist die Sammelstörung *xAlarm* nicht aktiviert ( = FALSE ).

Freigabe / Sperrung der Störmeldung für die Rückmeldung der Öffnung xAlarmOpen

Die Überwachung der Laufzeit der Klappe während des Öffnungsvorgangs auf einen einstellbaren Maximalwert ( tOpen ) startet, falls im Normalbetrieb mindestens eine der nachfolgend beschriebenen Bedingungen erfüllt ist:

1) Es wird eine ansteigende Flanke ( FALSE > TRUE ) am Ausgang xHB erkannt ( = Regelfall ). 2) Die Anforderung zur Öffnung ist aktiv ( *xEn* = TRUE ) und gleichzeitig wird am Eingang *xQuit* eine ansteigende Flanke ( FALSE > TRUE ) erkannt. 3) Der Ausgang *xHB* ist aktiv ( = TRUE ) und gleichzeitig wird eine abfallende Flanke ( TRUE > FALSE ) am Eingang *xOpen* erkannt. Die Störmeldung für die Rückmeldung der Öffnung *xAlarmOpen* wird aktiviert ( = TRUE ), falls nach dem Ablauf der maximalen Laufzeit **tOpen** bei aktivem Ausgang ( *xHB* = TRUE ) mindestens eine der nachfolgenden Bedingungen erfüllt ist: 1) Die Rückmeldung der vollständigen Öffnung ist nicht aktiv ( *xOpen* = FALSE ) ( = Regelfall ). 2) Die Rückmeldungen *xOpen* bzw. *xClosed* haben denselben Zustand. Die Störmeldung für die Rückmeldung der Öffnung *xAlarmOpen* wird deaktiviert ( = FALSE ), falls am Eingang *xQuit* eine ansteigende Flanke ( FALSE > TRUE ) erkannt wird.

Freigabe / Sperrung der Störmeldung für die Rückmeldung der Schliessung xAlarmClosed

Die Überwachung der Laufzeit der Klappe während des Schliessvorgangs auf einen einstellbaren Maximalwert ( tclose ) startet, falls im Normalbetrieb mindestens eine der nachfolgend beschriebenen Bedingungen erfüllt ist:

1) Es wird eine abfallende Flanke ( TRUE > FALSE ) am Ausgang xHB erkannt ( = Regelfall ). 2) Die Anforderung zur Schliessung ist aktiv ( *xEn* = FALSE ) und gleichzeitig wird am Eingang *xQuit* eine ansteigende Flanke ( FALSE > TRUE ) erkannt. Die Störmeldung für die Rückmeldung der Schliessung *xAlarmClosed* wird aktiviert ( = TRUE ), falls nach dem Ablauf der maximalen Laufzeit **tClose** bei nicht aktivem Ausgang ( *xHB* = FALSE ) mindestens eine der nachfolgenden Bedingungen erfüllt ist: 1) Die Rückmeldung der vollständigen Schliessung ist nicht aktiv ( *xClosed* = FALSE ) ( = Regelfall ). 2) Die Rückmeldungen *xOpen* bzw. *xClosed* haben denselben Zustand. Die Störmeldung für die Rückmeldung der Schliessung *xAlarmClosed* wird deaktiviert ( = FALSE ), falls am Eingang *xQuit* eine ansteigende Flanke ( FALSE > TRUE ) erkannt wird.

Freigabe / Sperrung der Störmeldung für die freigegebene, aber nicht geöffnete Brandschutzklappe nach Ablauf der Laufzeit ( FALSE = Sperrung, TRUE = Freigabe ) xAlarmOn_Closed

Die Freigabe der Störmeldung erfolgt ( Voraussetzung: ‘wMode’ = 2 ), falls nach Ablauf einer eventuellen Laufzeitüberwachung die freigegebene Brandschutzklappe ( ‘xHB’ = TRUE ) nicht vollständig geöffnet ( ‘xOpen’ = FALSE ) ist ( = Brandfall ). Die Störmeldung wird deaktiviert ( = FALSE ), falls am Eingang xQuit eine ansteigende Flanke ( FALSE > TRUE ) erkannt wird. Sie wird in allen anderen Modi ( ‘wMode’ <> 2 ) ebenfalls deaktiviert ( = FALSE ).

Freigabe / Sperrung der Störmeldung für die gesperrte, aber nicht geschlossene Brandschutzklappe nach Ablauf der Laufzeit ( FALSE = Sperrung, TRUE = Freigabe ) xAlarmOff_Opened

Die Freigabe der Störmeldung erfolgt ( Voraussetzung: ‘wMode’ = 2 ), falls nach Ablauf einer eventuellen Laufzeitüberwachung die gesperrte Brandschutzklappe ( ‘xHB’ = FALSE ) nicht vollständig geschlossen ( ‘xClosed’ = FALSE ) ist. Die Störmeldung wird deaktiviert ( = FALSE ), falls am Eingang xQuit eine ansteigende Flanke ( FALSE > TRUE ) erkannt wird. Sie wird in allen anderen Modi ( ‘wMode’ <> 2 ) ebenfalls deaktiviert ( = FALSE ).

Zeitdauer der letzten vollständigen Öffnung tLastOpen

Die Messung der Zeitdauer beginnt jeweils, falls mindestens eine der nachfolgend beschriebenen Bedingungen erfüllt ist:

1) Es wird eine ansteigende Flanke ( FALSE > TRUE ) am Eingang xOpen erkannt. 2) Es wird eine abfallende Flanke ( TRUE > FALSE ) am Eingang *xOpen* erkannt. 3) Es wird eine ansteigende Flanke ( FALSE > TRUE ) am Eingang *xClosed* erkannt. 4) Es wird eine abfallende Flanke ( TRUE > FALSE ) am Eingang *xClosed* erkannt. ( Regelfall ) 5) Es wird eine ansteigende Flanke ( FALSE > TRUE ) am Ausgang *xHB* erkannt. 6) Es wird eine abfallende Flanke ( TRUE > FALSE ) am Ausgang *xHB* erkannt. An diesem Ausgang steht nach jeder ansteigenden Flanke an der Rückmeldung der vollständigen Öffnung *xOpen* ( FALSE > TRUE ) die Laufzeit zur Verfügung.

Zeitdauer der letzten vollständigen Schliessung tLastClosed

Die Messung der Zeitdauer beginnt jeweils, falls mindestens eine der nachfolgend beschriebenen Bedingungen erfüllt ist:

1) Es wird eine ansteigende Flanke ( FALSE > TRUE ) am Eingang xOpen erkannt. 2) Es wird eine abfallende Flanke ( TRUE > FALSE ) am Eingang *xOpen* erkannt. ( Regelfall ) 3) Es wird eine ansteigende Flanke ( FALSE > TRUE ) am Eingang *xClosed* erkannt. 4) Es wird eine abfallende Flanke ( TRUE > FALSE ) am Eingang *xClosed* erkannt. 5) Es wird eine ansteigende Flanke ( FALSE > TRUE ) am Ausgang *xHB* erkannt. 6) Es wird eine abfallende Flanke ( TRUE > FALSE ) am Ausgang *xHB* erkannt. An diesem Ausgang steht nach jeder ansteigenden Flanke an der Rückmeldung der vollständigen Schliessung *xClosed* ( FALSE > TRUE ) die Laufzeit zur Verfügung.

Zeitdauer der aktuellen Öffnung / Schliessung in tRunTime

An diesem Ausgang steht während jeder Laufzeitmessung die aktuelle Laufzeit zur Verfügung.

Prüfung der Funktionen der Brandschutzklappe ( Testbetrieb )

Der Testbetrieb wird immer generell ausgelöst, falls mindestens eine der nachfolgend beschriebenen Bedingungen gegeben ist:

1) Es wird eine ansteigende Flanke ( FALSE > TRUE ) am Eingang xTestEx erkannt. 2) Es wird der aktive Zustand ( = TRUE ) am Sollwert / Parameter *xRunTest* erkannt. Der aktive Zustand wird unmittelbar nach der Erkennung zurück ( = FALSE ) gesetzt. Der tatsächliche Testbetrieb erfolgt jedoch nur, falls die Rückmeldung des Automatikbetriebs *eAOO* ( 0 = Automatik, >0 = Handbetrieb ) den Wert 0 enthält und gleichzeitig die Betriebsart der Handübersteuerung für den digitalen Ausgang *xHB* den Automatikbetrieb signalisiert ( eMANBIN = eMANBIN.Auto ). ‘wMode’ = 1: Im Testbetrieb erfolgt eine Schliessung und anschliessende Öffnung der Brandschutzklappe, jeweils mit Laufzeitüberwachung. Am Anfang des Testbetriebs werden die Ausgänge *xAlarmOpen*, *xAlarmClosed*, *tTestOpen*, *tTestClosed* und *xTestOK* zurück gesetzt ( = FALSE ). Nun wird der Steuerbefehl für die Schliessung ausgelöst und die Laufzeit hinsichtlich einer Überschreitung des Maximalwerts **tClosed** überwacht. Wird die korrekte Rückmeldesituation ( *xClosed* = TRUE und *xOpen* = FALSE ) ohne Überschreitung des Maximalwerts erreicht, so wird der Ausgang *xAlarmClosed* nicht aktiviert ( = FALSE ). In allen übrigen Situationen wird der Ausgang *xAlarmClosed* aktiviert ( = TRUE ). Nun wird der Steuerbefehl für die Öffnung ausgelöst und die Laufzeit hinsichtlich einer Überschreitung des Maximalwerts **tOpen** überwacht. Wird die korrekte Rückmeldesituation ( *xOpen* = TRUE und *xClosed* = FALSE ) ohne Überschreitung des Maximalwerts erreicht, so wird der Ausgang *xAlarmOpen* nicht aktiviert ( = FALSE ). In allen übrigen Situationen wird der Ausgang *xAlarmOpen* aktiviert ( = TRUE ). Die Ergebnisanzeige für den Brandschutzklappentest *xTestOK* wird aktiviert ( = Prüfung erfolgreich ), falls keiner der beiden Ausgänge *xAlarmOpen* bzw. *xAlarmClosed* aktiv ( = TRUE ) ist. Die erreichten Werte *tLastOpen* und *tLastClosed* werden jeweils auf die Ausgänge *tTestOpen* und *tTestClosed* gelegt und bis zum nächsten Brandschutzklappentest gespeichert. Der Testbetrieb endet automatisch, sobald die Prüfung der Brandschutzklappe beendet ist. ‘wMode’ = 2: Die Sequenz für den Testbetrieb wird zum Zeitpunkt ihrer Auslösung festgelegt: a) ‘xClosed’ = TRUE: Die Sequenz ‘Öffnung - Schliessung’ wird ausgeführt b) ‘xOpen’ = TRUE: Die Sequenz ‘Schliessung - Öffnung’ wird ausgeführt Sequenz Schliessung - Öffnung: Im Testbetrieb erfolgt eine Schliessung und anschliessende Öffnung der Brandschutzklappe, jeweils mit Laufzeitüberwachung. Am Anfang des Testbetriebs werden die Ausgänge *xAlarmOpen*, *xAlarmClosed*, *tTestOpen*, *tTestClosed* und *xTestOK* zurück gesetzt ( = FALSE ). Nun wird der Steuerbefehl für die Schliessung ausgelöst und die Laufzeit hinsichtlich einer Überschreitung des Maximalwerts **tClosed** überwacht. Wird die korrekte Rückmeldesituation ( *xClosed* = TRUE und *xOpen* = FALSE ) ohne Überschreitung des Maximalwerts erreicht, so wird der Ausgang *xAlarmClosed* nicht aktiviert ( = FALSE ). In allen übrigen Situationen wird der Ausgang *xAlarmClosed* aktiviert ( = TRUE ). Nun wird der Steuerbefehl für die Öffnung ausgelöst und die Laufzeit hinsichtlich einer Überschreitung des Maximalwerts **tOpen** überwacht. Wird die korrekte Rückmeldesituation ( *xOpen* = TRUE und *xClosed* = FALSE ) ohne Überschreitung des Maximalwerts erreicht, so wird der Ausgang *xAlarmOpen* nicht aktiviert ( = FALSE ). In allen übrigen Situationen wird der Ausgang *xAlarmOpen* aktiviert ( = TRUE ). Die Ergebnisanzeige für den Brandschutzklappentest *xTestOK* wird aktiviert ( = Prüfung erfolgreich ), falls keiner der beiden Ausgänge *xAlarmOpen* bzw. *xAlarmClosed* aktiv ( = TRUE ) ist. Die erreichten Werte *tLastOpen* und *tLastClosed* werden jeweils auf die Ausgänge *tTestOpen* und *tTestClosed* gelegt und bis zum nächsten Brandschutzklappentest gespeichert. Der Testbetrieb endet automatisch, sobald die Prüfung der Brandschutzklappe beendet ist. Sequenz Öffnung - Schliessung: Im Testbetrieb erfolgt eine Öffnung und anschliessende Schliessung der Brandschutzklappe, jeweils mit Laufzeitüberwachung. Am Anfang des Testbetriebs werden die Ausgänge *xAlarmOpen*, *xAlarmClosed*, *tTestOpen*, *tTestClosed* und *xTestOK* zurück gesetzt ( = FALSE ). Nun wird der Steuerbefehl für die Öffnung ausgelöst und die Laufzeit hinsichtlich einer Überschreitung des Maximalwerts **tOpen** überwacht. Wird die korrekte Rückmeldesituation ( *xOpen* = TRUE und *xClosed* = FALSE ) ohne Überschreitung des Maximalwerts erreicht, so wird der Ausgang *xAlarmOpen* nicht aktiviert ( = FALSE ). In allen übrigen Situationen wird der Ausgang *xAlarmOpen* aktiviert ( = TRUE ). Nun wird der Steuerbefehl für die Schliessung ausgelöst und die Laufzeit hinsichtlich einer Überschreitung des Maximalwerts **tClosed** überwacht. Wird die korrekte Rückmeldesituation ( *xClosed* = TRUE und *xOpen* = FALSE ) ohne Überschreitung des Maximalwerts erreicht, so wird der Ausgang *xAlarmClosed* nicht aktiviert ( = FALSE ). In allen übrigen Situationen wird der Ausgang *xAlarmClosed* aktiviert ( = TRUE ). Die Ergebnisanzeige für den Brandschutzklappentest *xTestOK* wird aktiviert ( = Prüfung erfolgreich ), falls keiner der beiden Ausgänge *xAlarmOpen* bzw. *xAlarmClosed* aktiv ( = TRUE ) ist. Die erreichten Werte *tLastOpen* und *tLastClosed* werden jeweils auf die Ausgänge *tTestOpen* und *tTestClosed* gelegt und bis zum nächsten Brandschutzklappentest gespeichert. Der Testbetrieb endet automatisch, sobald die Prüfung der Brandschutzklappe beendet ist.

Voraussetzungen

Voraussetzung für den Einsatz des Funktionsbausteins FireDamperMot_OnOff

Zur korrekten Funktion ist der Einsatz des Funktionsbausteins TimeRead2 erforderlich.

CODESYS

InOut:

Scope
Name
Type
Initial

Input

xEn

BOOL

Input

xAlarmIn

BOOL

FALSE

Input

eAOO

eManBin

eManBin.Auto

Input

xOpen

BOOL

Input

xClosed

BOOL

Input

xQuit

BOOL

FALSE

Input

xTestEx

BOOL

FALSE

Input

wMode

WORD

2

Output

sLine1

STRING

Output

sLine2

STRING

Output

sText

STRING

Output

xHB

BOOL

Output

xAB

BOOL

Output

xAlarm

BOOL

Output

xAlarmOpen

BOOL

Output

xAlarmClosed

BOOL

Output

xAlarmOn_Closed

BOOL

Output

xAlarmOff_Opened

BOOL

Output

xTestOK

BOOL

Output

tLastOpen

TIME

Output

tLastClosed

TIME

Output

tTestOpen

TIME

Output

tTestClosed

TIME

Output

tRunTime

TIME

Output

xAuto

BOOL

Input Const

udiOpen

UDINT

150

Input Const

udiClose

UDINT

25

Input Const

eManModeB

eMANBIN

eMANBIN.Auto

Input Const

xRunTest

BOOL

FALSE

Input Const

sEditLine2

STRING

‘’

Input Const

sEditLine1

STRING

‘Raum’

Zuletzt aktualisiert