FB_HVACAntiBlockingDamper

FB_HVACAntiBlockingDamper 1:

Dieser Funktionsbaustein verhindert das Blockieren eines Stellantriebs über längere Zeitspannen mit unveränderter Stellgröße. Bei aktivem Blockierschutz wird ein Durchlauf des Stellantriebs von ganz Zu nach ganz Auf erzwungen.

VAR_INPUT

eDataSecurityType   : E_HVACDataSecurityType;
bSetDefault         : BOOL;
bEnable             : BOOL;
bDisable            : BOOL;
ryDamper            : REAL
dtSystemTime        : DT;
bReset              : 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.

bSetDefault: Wenn die Variable TRUE ist, werden die Default-Werte der VAR_IN_OUT Variablen übernommen.

bEnable: Mit der Eingangsvariablen bEnablewird die Funktion AntiBlocking frei gegeben. Ist bEnable = FALSE, so wird nur der Eingangswert an den Ausgang gelegt, die Funktion AntiBlocking ist nicht aktiv.

bDisable: Setzt die Ausgänge rQDamper, iQDamper und bQAntiBlocking auf 0 zurück.

ryDamper: Stellgröße vom Regler an das Ventil, die auf den Ausgang rQDamper und iQDamper geleitet wird (0%..100%). Der Wert muss kleiner 1% sein, damit der Baustein dies als Stillstandszeit erkennt. Für ein Ventil mit einer Stellgröße >= 1% wird keine Stillstandszeit ermittelt.

dtSystemTime: Systemzeit

bReset: Quittierungseingang bei einer Störung. Setzt den Merker bInvalidParameter zurück.

VAR_IN_OUT

eAntiBlockingMode : E_HVACAntiBlockingMode;
iHoursDowntime    : INT;
iDayWeekly        : INT;
iHour             : INT;
iMinute           : INT;
iLengthImpulse    : INT;

eHVACAntiBlockingMode: Enumerationswert, gibt die Art der Antiblocking-Methode an (siehe E_HVACAntiBlockingMode).

eHVACAntiBlockingMode_Off:= 0: Aus

eHVACAntiBlockingMode_Downtime:= 1: Nach Ablauf einer Stillstandszeit in Stunden, wird der Antiblocking-Impuls auf den Ausgang bOut geleitet.

eHVACAntiBlockingMode_Weekly:= 2: Der Antiblocking-Impuls wird nur an einem bestimmtem Wochentag zu einer bestimmten Uhrzeit gebildet, unabhängig wie lange die Stillstandszeit dauerte.

Die Variable wird persistent gespeichert.

iHoursDowntime: Für eHVACAntiBlockingMode_Downtime, Zeit in Stunden, die der Eingang bIn nicht aktiv sein darf bis der AntiBlocking-Impuls gebildet wird (0h..6000h). Die Variable wird persistent gespeichert. Voreingestellt auf 24.

iDayWeekly: Für eHVACAntiBlockingMode_Weekly,AntiBlocking-Impuls wird an diesem Tag gebildet. So=0, Mo=1, Di=2, Mi=3, Do=4, Fr=5, Sa=6

Die Variable wird persistent gespeichert. Voreingestellt auf 6.

iHour: Einschaltzeitpunkt in Stunden (0h..23h). Die Variable wird persistent gespeichert. Voreingestellt auf 12.

iMinute: Einschaltzeitpunkt in Minuten (0min..59min). Die Variable wird persistent gespeichert. Voreingestellt auf 0.

iLengthImpulse: Einschaltdauer in Sekunden (0s..600s). Die Variable wird persistent gespeichert. Voreingestellt auf 150.

VAR_OUTPUT

rQDamper         : REAL;
iQDamper         : INT;
bQAntiBlocking   : BOOL;
bInvalidParameter: BOOL;

rQDamper: Dieser Ausgang entspricht dem Eingangswert der Stellgröße (0%..100%). Sobald der Eingang bEnable =TRUE ist, wird zusätzlich der Antiblocking-Impuls auf den Ausgang gelegt. Wenn der Zustand Antiblocking erreicht ist, steht am Ausgang 100% an.

iQDamper: Dieser Ausgang verhält sich wie rQDamper, wird jedoch passend für einen Analogausgang als Integerwert von 0 - 32767 ausgegeben, entsprechend 0 - 100%.

bQAntiBlocking: Dieser Ausgang ist unabhängig vom Einschaltsignal und zeigt nur den Antiblocking-Impuls.

bInvalidParameter: Bei der Plausibilitätsüberprüfung ist ein Fehler aufgetreten. Wir durch bReset wieder gelöscht.

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