FB_HVACAntiBlockingPump

FB_HVACAntiBlockingPump 1:

Dieser Funktionsbaustein leitet die Einschaltbedingung für einen Pumpenantrieb weiter und kann je nach Modus und Ausschaltzeit einen zusätzlichen Einschaltimpuls erzeugen, um z.B. das Blockieren einer Pumpe zu verhindern.

VAR_INPUT

eDataSecurityType  : E_HVACDataSecurityType;
bSetDefault        : BOOL;
bEnable            : BOOL;
bDisable           : BOOL;     
bIn                : BOOL;
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 bEnable wird die Funktion AntiBlocking frei gegeben. Ist bEnable = FALSE, so wird nur die Einschaltbedingung an den Ausgang gelegt, die Funktion AntiBlocking ist nicht aktiv.

bDisable: Setzt die Ausgänge bOut , bOutAndAntiBlocking und bQAntiBlocking auf 0 zurück. (siehe Beispiel unten)

bIn: Einschaltbedingung, die auf den Ausgang bOut geleitet wird.

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..23min). Die Variable wird persistent gespeichert. Voreingestellt auf 0.

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

VAR_OUTPUT

bOut                  : BOOL;
bOutAndAntiBlocking   : BOOL;
bQAntiBlocking        : BOOL;
bInvalidParameter     : BOOL;

bOut: Wenn TRUE, dann kommt die Anforderung vom Pumpenbaustein. Dieser Ausgang entspricht der Einschaltbedingung unabhängig vom Zustand des Antiblocking-Impuls und des Eingangs bEnable.

bOutAndAntiBlocking: Der Ausgang kann TRUE werden, wenn die Anforderung vom Pumpenbaustein ODER die Anforderung von der Antiblockierfunktion kommt. An diesen Ausgang wird die Pumpe angeschlossen.
Dieser Ausgang entspricht der Einschaltbedingung und ist abhängig vom Zustand des Antiblocking-Impuls und der Eingänge bEnable und bDisable. IstbEnable = FALSE entspricht der Ausgang dem Ausgang bOut. Ist bEnable = TRUE, entspricht der Ausgang dem Ausgang bOut und ist zusätzlich oder verknüpft mit dem Antiblocking-Impuls.

bQAntiBlocking: Wenn TRUE, dann kommt die Anforderung von der Antiblockierfunktion. 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.

Beispiel einer Kombination von einem Pumpenbaustein und dem FB_HVACAntiBlocking:

FB_HVACAntiBlockingPump 2:

Beispiel für das Steuern mehrer Pumpen über eine AntiBlocking Instanz:

FB_HVACAntiBlockingPump 3:

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