FB_BARSunblindSwitch

FB_BARSunblindSwitch 1:

Mit Hilfe dieses Bausteines lassen sich die Jalousieansteuerung FB_BARSunblindActuator bzw. die Rollladensteuerung FB_BARRollerblind im Handbedienmodus ansteuern. Die Verbindung erfolgt dabei über das Positioniertelegramm stSunblind entweder direkt oder mit einer zusätzlichen Prioritätssteuerung.

Struktur des Jalousie-Positioniertelegramms stSunblind.

TYPE ST_BARSunblind:
STRUCT
     uiPosition      : UINT;
     iAngle          : INT;
     bManUp          : BOOL;
     bManDown        : BOOL;
     bManualMode     : BOOL;
     bActive         : BOOL;
END_STRUCT
END_TYPE

Betrieb

Der Funktionsbaustein steuert über die Befehlseingänge bSwitchUp und bSwitchDown den Jalousiebaustein FB_BARSunblindActuator bzw. den Rollladenbaustein FB_BARRollerblind im Handbetrieb an, wobei bSwitchUp Vorrang hat. Die Befehle werden an die jeweiligen Kommandos bManUp und bManDown des Positioniertelegramms weiter gereicht. Ist ein Befehlseingang länger als die eingetragene Zeit uiSwitchOverTime (in ms) aktiviert, so geht der entsprechende Steuerbefehl in Selbsthaltung. Ein erneutes Aktivieren eines Befehlseinganges löscht diese Selbsthaltung wieder.

Verknüpfung an Jalousiebaustein

Der Handbedienbaustein kann entweder über eine voran gestellte Prioritätssteuerung FB_BARSunblindPrioritySwitch oder aber direkt an den Jalousiebaustein angeschlossen werden. Die Verbindung erfolgt dabei über das Positioniertelegramm stSunblind.

Verwendung einer Prioritätssteuerung:

FB_BARSunblindSwitch 2:

Direkte Beschaltung:

FB_BARSunblindSwitch 3:

VAR_INPUT

eDataSecurityType : E_HVACDataSecurityType;
bEnable           : BOOL;
bSwitchUp         : BOOL;
bSwitchDown       : BOOL;

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 - bManualMode und bActive stehen jeweils auf FALSE. Das bedeutet für eine Beschaltung mit Prioritätssteuerung, dass eine andere Funktionalität die Jalousieansteuerung übernimmt. Eine direkte Beschaltung hingegen lässt die Jalousie direkt auf Position 0, also ganz nach oben fahren, da der Aktorbaustein das Bit bActive selbst nicht auswertet.

bSwitchUp: Befehlseingang Jalousie hoch.

bSwitchDown: Befehlseingang Jalousie herunter.

VAR_OUTPUT

stSunblind : ST_BARSunblind;
bActive    : BOOL;

stSunblind : Positioniertelegramm, siehe ST_BARSunblind.

bActive : Entspricht dem Boole´schen Wert bActive im Jalousie-Telegramm ST_BARSunblind und dient zur reinen Anzeige, ob der Baustein ein aktives Telegramm sendet.

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.

uiSwitchOverTime : UINT;

uiSwitchOverTime : Zeit in Millisekunden bis bei dauerhaft aktiviertem Befehlseingang der entsprechende Handbefehl im Positioniertelegramm stSunblind in Selbsthaltung geht.

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