FB_HVACAntiBlockingPump

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:
- Der Pumpenausgang bPump wird auch ohne bEnable an den bIn des FB_HVACAntiBlocking gelegt.
- Geht der Eingang bPumpProtec auf FALSE, wird bPump abgeschaltet und über die Meldung bErrorPumpProtec wird bDisable aktiv, so dass bOut abgeschaltet wird.

Beispiel für das Steuern mehrer Pumpen über eine AntiBlocking Instanz:
- fbHVACAntiBlocking über bEnable freigeben.
- Weekly-Mode auswählen (z.B. Montag um 18:30 für 10sek)

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 |