FB_BARTwilightAutomatic

FB_BARTwilightAutomatic 1:

Dämmerungsautomatik

Der Baustein kennt drei verschiedene Modi, welche über den Eingang uiLightCtrlMode eingestellt werden können:

Automatikbetrieb

Im Automatikbetrieb schaltet eine positive Flanke an bSwitch die Dämmerungsautomatik aktiv, sofern sie vorher inaktiv war. Eine erneute Flanke an bSwitch deaktiviert die Dämmerungsautomatik wieder. Mit bCentralOn und bCentralOff wird die Automatik explizit ein- und ausgeschaltet, unabhängig vom vorherigen Zustand der Automatik. Ist die Dämmerungsautomatik aktiviert, so schaltet der Baustein bei Unterschreiten eines Einschaltschwellwertes uiSwitchOnValue für eine eingetragene Verzögerungszeit uiOnDelay den Ausgang lrDimValue auf den Einschaltwert lrDimValueOn. Anders herum wird bei Überschreiten eines Ausschaltschwellwertes uiSwitchOffValue für eine eingetragene Verzögerungszeit uiOffDelay der Ausgang auf den Ausschaltwert lrDimValueOff geschaltet. Im inaktiven Zustand wird der Lichtausgabewert lrDimValue auf 0.0 gesetzt.

Handbetrieb

In den Hand-Betriebsmodi sind die Eingänge bSwitch, bCentralOn und bCentralOff ohne Funktion: bei uiLightCtrlMode=1 wird der Ausgabewert lrDimValue konstant auf lrManualDimValue und bei uiLightCtrlMode=2 konstant auf 0.0 gesetzt.

Ein- und Ausschaltverzögerung

Die unter dem Automatikbetrieb beschriebenen Ein- und Ausschaltverzögerungen werden unabhängig vom Zustand der Automatik (aktiv oder inaktiv) und dem Betriebsmodus immer durchlaufen, das heißt die Zeitgeber werden durch diese Betriebszustände nicht zurückgesetzt.

VAR_INPUT

eDataSecurityType : E_HVACDataSecurityType;
uiLightCtrlMode   : UINT;
bSwitch           : BOOL;
bCentralOn        : BOOL;
bCentralOff       : BOOL;
uiBrightness      : UINT;

eDataSecurityType:Wenn eDataSecurityType:= eHVACDataSecurityType_Persistent ist, werden die persistenten VAR_IN_OUT-Variablen des Funktionsbausteins bei einer Wertänderung im Flash des Rechners abgelegt. Dafür ist es zwingend erforderlich den Funktionsbaustein FB_HVACPersistentDataHandling einmalig im Hauptprogramm, das zyklisch aufgerufen wird, zu instanziieren. Ansonsten wird der instanziierte FB intern nicht freigegeben.

Eine Wertänderung kann vom Gebäudeleitsystem, einem lokalen Bediengerät oder von einem Schreibzugriff von TwinCAT aus erfolgen. Beim Neustart des Rechners werden die gesicherten Daten automatisch vom Flash in den RAM zurück gelesen.

Anwendungsbeispiel: example_persistent.zip

Bei eDataSecurityType:= eHVACDataSecurityType_Idle werden die persistent deklarierten Variablen nicht spannungsausfallsicher gespeichert.

Hinweis

Eine sich zyklisch ändernde Variable darf niemals mit der IN_OUT-Variablen eines Funktionsbausteins verbunden werden, wenn eDataSecurityType:= eHVACDataSecurityType_Persistent ist. Es würde zu einem frühzeitigen Verschleiß des Flashspeichers führen.

uiLightCtrlMode: Betriebsmodus.

bSwitch: Positive Flanken an diesem Eingang schalten die Dämmerungsautomatik wechselseitig ein und aus. Beim Ausschalten wird der Ausgang lrDimValue auf 0.0 gesetzt. Dieser Befehlseingang ist nur im Automatik-Modus (uiLightCtrlMode=0) aktiv.

bCentralOn: Eine positive Flanke an diesem Eingang schaltet die Dämmerungsautomatik ein. Dieser Befehlseingang ist nur im Automatik-Modus (uiLightCtrlMode=0) aktiv.

bCentralOff: Eine positive Flanke an diesem Eingang schaltet die Dämmerungsautomatik aus und den Ausgang lrDimValue auf 0.0. Dieser Befehlseingang ist nur im Automatik-Modus (uiLightCtrlMode=0) aktiv.

uiBrightness: Licht-Ist-Wert [lux].

VAR_OUTPUT

lrDimValue          : LREAL;
uiRemainingOnDelay  : UINT;
uiRemainingOffDelay : UINT;
bControlActive      : BOOL;
bError              : BOOL;
udiErrorId          : UDINT;

lrDimValue: Lichtausgabewert, 0..100%.

uiRemainingOnDelay: Countdown der Einschaltverzögerung in Sekunden. Solange kein Herunterzählen der Zeit stattfindet, steht dieser Ausgang auf 0.

uiRemainingOffDelay: Countdown der Ausschaltverzögerung in Sekunden. Solange kein Herunterzählen der Zeit stattfindet, steht dieser Ausgang auf 0.

bControlActive: Dieser Ausgang ist TRUE, wenn sich der Baustein im Automatikbetrieb befindet und die Dämmerungsautomatik eingeschaltet ist. Dies soll als zusätzliche Rückmeldung dienen, wenn eingeschaltet wurde, die Steuerung jedoch einen Lichtwert von lrDimValue=0.0 ausgibt.

bError: Dieser Ausgang wird auf TRUE geschaltet, wenn die eingetragenen Parameter fehlerhaft sind.

udiErrorId: Enthält den Fehlercode, sollten die eingetragenen Werte fehlerhaft sein. Siehe Fehlercodes.

FB_BARTwilightAutomatic 2:

Sollte ein Fehler anstehen, so wird diese Automatik deaktiviert und Position und Winkel auf 0 gesetzt. Das bedeutet, dass bei Verwendung einer Prioritätssteuerung automatisch eine andere Funktion niedrigerer Priorität (siehe Übersicht) die Steuerung der Jalousie übernimmt. Bei direkter Beschaltung hingegen wird die Jalousie auf Position/Winkel 0 fahren.

VAR_IN_OUT

Damit die eingetragenen Parameter über einen Steuerungsausfall hinweg erhalten bleiben ist es erforderlich, sie als In-Out-Variablen zu deklarieren. Im Programm wird ihnen dann eine Referenz-Variable zugewiesen. Jede Änderung des Wertes dieser Referenz-Variablen wird im Funktionsbaustein persistent gespeichert und nach einem Steuerungsausfall und -wiederanlauf zurück in die Referenz-Variable geschrieben. Wären die Parameter nur als Eingangsvariablen deklariert, so könnten sie eine Referenzvariable nicht beschreiben.
Anwendungsbeispiel: example_persistent.zip.

uiSwitchOnValue  : UINT;
uiSwitchOffValue : UINT;
uiOnDelay        : UINT;
uiOffDelay       : UINT;
lrDimOnValue     : LREAL;
lrDimOffValue    : LREAL;
lrManualDimValue : LREAL;

uiSwitchOnValue: Einschalt-Schwellwert. Wird mit dem Helligkeitswert am Eingang uiBrightness verglichen. Dieser Wert muss größer sein als der Ausgangsschwellwert uiSwitchOffValue.

uiSwitchOffValue: Ausschalt-Schwellwert. Wird mit dem Helligkeitswert am Eingang uiBrightness verglichen.

uiOnDelay: Einschaltverzögerung in Sekunden.

uiOffDelay: Ausschaltverzögerung in Sekunden.

lrDimOnValue: Einschalt-Lichtwert in %.

lrDimOffValue: Ausschalt-Lichtwert in %.

lrManualDimValue: Ausgabe-Dimmwert im Hand-Ein-Modus (uiLightCtrlMode=1).

Voraussetzungen

Entwicklungsumgebung

erforderliche Bibliothek

Erforderliche Function

TwinCAT 3.1 ab Build 4022.16

Tc2_HVAC V3.3.1.0

TF8000 | TC3 HVAC V1.0.0.0