FB_BARSunblindTwilightAutomatic

Dieser Baustein steuert die Jalousie, sollte die Außenhelligkeit einen Grenzwert unterschritten haben.
Die Dämmerungsautomatik arbeitet mit einer Werte- und einer zeitlichen Hysterese: Unterschreitet der Außenhelligkeitswert usiBrightness [lux] für die Zeit uiActivateDelay [s] den Wert usiActivateValue [lux], so ist der Baustein aktiv und wird die an den IN-OUT-Variablen angegebenen Jalousiepositionen uiPositionActiveMode (Höhe in %) und uiAngleActiveMode (Lamellenwinkel in Grad) am Ausgang im Positioniertelegramm stSunblind bereitstellen. Überschreitet die Außenhelligkeit hingegen für die Zeit uiDeactivateDelay [s] den Wert usiDeactivateValue [lux], so ist die Automatik nicht mehr aktiv. Der Aktiv-Merker im Positioniertelegramm stSunblind wird zurück und die Positionen für Höhe und Winkel auf "0" gesetzt. Eine Funktion niedrigerer Priorität kann dann die Steuerung übernehmen.
VAR_INPUT
eDataSecurityType : E_HVACDataSecurityType;
bEnable : 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. |
bEnable : Steht dieser Eingang auf FALSE, so ist der Baustein ohne Funktion. Im Positioniertelegramm stSunblind werden für Position und Winkel jeweils 0 ausgegeben und bActive steht auf FALSE. Das bedeutet, dass über die Prioritätssteuerung eine andere Funktionalität die Jalousieansteuerung übernimmt.
uiBrightness: Außenhelligkeit in lux.
VAR_OUTPUT
stSunblind : ST_BARSunblind;
bActive : BOOL;
uiRemainingTimeActivate : UINT;
uiRemainingTimeDeactivate : UINT;
bError : BOOL;
udiErrorId : UDINT;
stSunblind: Ausgabestruktur der Jalousiestellungen, siehe ST_BARSunblind.
bActive : Entspricht dem BOOL´schen Wert bActive im Jalousie-Telegramm ST_BARSunblind und dient zur reinen Anzeige, ob der Baustein ein aktives Telegramm sendet.
uiRemainingTimeActivate: Zeigt die verbleibende Zeit an nach Unterschreitung des Schaltwertes usiActivateValue bis zur Aktivierung der Automatik in Sekunden an. Solange kein Herunterzählen der Zeit stattfindet, steht dieser Ausgang auf 0.
uiRemainingTimeDeactivate: Zeigt die verbleibende Zeit an nach Überschreitung des Schaltwertes usiDeactivateValue bis zur Abschaltung der Automatik in Sekunden an. Solange kein Herunterzählen der Zeit stattfindet, steht dieser Ausgang auf 0.
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.
![]() | 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.
uiActivateValue : UINT;
uiDeactivateValue : UINT;
uiActivateDelay : UINT;
uiDeactivateDelay : UINT;
uiPositionActiveMode : UINT;
iAngleActiveMode : INT;
uiActivateValue: Aktivierungsgrenzwert in lux.
uiDeactivateValue: Deaktivierungsgrenzwert in lux.
uiActivateDelay: Aktivierungsverzögerung in Sekunden.
uiDeactivateDelay: Deaktivierungsverzögerung in Sekunden.
uiPositionActiveMode: Höhenposition der Jalousie in %, sollte die Dämmerungsautomatik aktiv sein.
iAngleActiveMode: Lamellenwinkel der Jalousie in Grad, sollte die Dämmerungsautomatik aktiv sein.
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 |