FB_HVACCmdCtrlSystem2Stage

FB_HVACCmdCtrlSystem2Stage 1:

Anwendung

Dieser Funktionsbaustein FB_HVACCmdCtrlSystem2Stage ist ein Anlagenschalter. Mit Ihm wird beispielsweise eine zweistufige Lüftungsanlage in den Automatik- oder Handbetrieb geschaltet. Im Automatikbetrieb könnte die Anlage über ein Zeitschaltprogramm oder über die Anforderung eines Bedientableaus gesteuert werden. Der Funktionsbaustein FB_HVACCmdCtrlSystem2Stage ist aktiv, wenn die Eingangsvariablen bEnable = TRUE und eCtrlModeActuator = eHVACActuatorMode_Auto_BMS oder eHVACActuatorMode_Auto_OP ist.

VAR_INPUT

eDataSecurityType  : E_HVACDataSecurityType;
bSetDefault        : BOOL;
bEnable            : BOOL;
eCtrlModeActuator  : E_HVACActuatorMode;
bExternalRequest1  : BOOL;
bExternalRequest2  : BOOL;
bTimeScheduler1    : BOOL;
bTimeScheduler2    : BOOL;
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 instanzieren. Ansonsten wird der instanzierte 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: FB_HVACCmdCtrlSystem2Stage 2: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: Freigabe des Bausteines, wenn bEnable = TRUE ist. Ist bEnable = FALSE, so sind bOn1 und bOn2 = FALSE.

eCtrlModeActuator: Enum, über das die Betriebsarten Hand, Auto und Aus der Anlage vorgegeben werden. Bei falscher Angabe wird intern mit der letzten, gültigen Betriebsart weiter gearbeitet. Bei der Erstinbetriebnahme ist diese eHVACActuatorMode_Auto_BMS. bInvalidParameter wird bei falscher Parameterangabe gesetzt.

bExternalRequest1: Externe Anforderung der Anlage in Stufe 1 z.B. von einem Bedientableau über einen Taster oder Schalter.

bExternalRequest2: Externe Anforderung der Anlage in Stufe 2 z.B. von einem Bedientableau über einen Taster oder Schalter.

bTimeScheduler1: Anforderung der Anlage in Stufe 1 über ein Zeitschaltprogramm.

bTimeScheduler2: Anforderung der Anlage in Stufe 2 über ein Zeitschaltprogramm.

bReset: Quittierungseingang bei einem Fehler.

VAR_OUTPUT

bOn1               : BOOL;
bOn2               : BOOL;
eStateModeActuator : E_HVACActuatorMode;
bRequestScheduler1 : BOOL;
bRequestScheduler2 : BOOL;
bRequestExternal1  : BOOL;
bRequestExternal2  : BOOL;
bInvalidParameter  : BOOL;

bOn1: An dieser Ausgangsvariablen wird die Freigabe der Anlage für die Stufe 1 ausgegeben.

bOn2: An dieser Ausgangsvariablen wird die Freigabe der Anlage für die Stufe 2 ausgegeben. Ist die 2. Stufe freigegeben, so ist automatisch die 1. Stufe ebenfalls freigegeben.

eStateModeActuator: Enum, über das der Status der Betriebsart des Motors an die Steuerung zurück gegeben wird.

bRequestScheduler1: Dieser Ausgang signalisiert, dass die Anlage von der Eingangsvariable bTimeScheduler1 angefordert ist.

bRequestScheduler2: Dieser Ausgang signalisiert, dass die Anlage von der Eingangsvariable bTimeScheduler2 angefordert ist.

bRequestExternal1: Dieser Ausgang signalisiert, dass die Anlage von der Eingangsvariable bExternalRequest1 angefordert ist.

bRequestExternal2: Dieser Ausgang signalisiert, dass die Anlage von der Eingangsvariable bExternalRequest2 angefordert ist.

bInvalidParameter: Zeigt an, dass ein falscher Parameter an einer der Variablen eCtrlModeActuator,ePlantMode oder eExternalRequestMode anliegt. Eine falsche Parameterangabe führt nicht zum Stillstand des Bausteines, siehe Beschreibung der Variablen. Nach Behebung der falschen Parameterangabe muss die Meldung bInvalidParameter mit bReset quittiert werden.

VAR_IN_OUT

ePlantMode          : E_HVACPlantMode;
eExternalRequestMode: E_HVACExternalRequestMode;
tOffDelay1          : TIME;
tOffDelay2          : TIME;

ePlantMode: Mit dieser Aufzählungsvariable können verschiedene Funktionen der Anlage im Automatikbetrieb in Abhängigkeit der Eingangsvariablen bExternalRequest1, bExternalRequest2, bTimeScheduler1 und bTimeScheduler2 vorgenommen werden.
ePlantMode = eHVACPlantMode_TimeSchedulingOnly: Die Anlage wird ausschließlich über die Eingangsvariablen bTimeScheduler1 oder bTimeScheduler2in die jeweilige Stufe eingeschaltet.
ePlantMode = eHVACPlantMode_TimeScheduling_And_ExternalRequest: Die Anlage wird in Stufe 1 eingeschaltet, wenn die Eingangsvariablen bTimeScheduler1 UND bExternalRequest1 = TRUE sind. Sind die Eingangsvariablen bTimeScheduler2 UND bExternalRequest2 = TRUE, so wird die Anlage in Stufe 2 eingeschaltet.
ePlantMode = eHVACPlantMode_TimeScheduling_Or_ExternalRequest: Die Anlage wird über die Eingangsvariablen bExternalRequest1, bExternalRequest2, ODER bTimeScheduler1, bTimeScheduler2 in die jeweilige Stufe eingeschaltet.
ePlantMode = eHVACPlantMode_ExternalRequestOnly: Die Anlage wird ausschließlich über die Eingangsvariable bExternalRequest1oder bExternalRequest2 in die jeweilige Stufe eingeschaltet.
Liegt ein falscher Variablenwert an, dann wird, wenn vorhanden der letzte, gültige Variablenwert genommen. Wenn kein gültiger, letzter Wert vorliegt, dann wird mit dem Default-Wert weiter gearbeitet. bInvalidParameter wird bei falscher Parameterangabe gesetzt.

Die Variable wird persistent gespeichert. Voreingestellt auf 0.

eExternalRequestMode: Mit dem Enum eExternalRequestMode wird die Wirkungsweise der Eingangsvariable bExternalRequest1 und bExternalRequest2 im Automatikbetrieb in Abhängigkeit des Enums ePlantMode vorgegeben.
eExternalRequestMode = eHVACExternalRequestMode_ButtonOn_Off: Die externe Anforderung wird nach einer steigenden Flanke von bExternalRequest1 oder bExternalRequest2 auf TRUE gesetzt. Eine weitere steigende Flanke setzt die Anforderung wieder auf FALSE zurück.
eExternalRequestMode
= eHVACExternalRequestMode_ButtonOffDelay. Die externe Anforderung verlängert oder setzt die Nutzzeit der Anlage in der jeweiligen Stufe nach einer steigenden Flanke an der Eingangsvariablen bExternalRequest1 oder bExternalRequest2 um die eingestellte Zeit von tOffDelay1 oder tOffDelay2.
eExternalRequestMode = eHVACExternalRequestMode_SwitchOn_Off: Die externe Anforderung ist aktiv, wenn bExternalRequest1 oder bExternalRequest2 = TRUE ist. Sie wird deaktiviert, wenn bExternalRequest1 oder bExternalRequest2 = FALSE ist.
Liegt ein nicht korrekter Variablenwert an, dann wird, wenn vorhanden der letzte, gültige Variablenwert genommen. Wenn kein gültiger, letzter Wert vorliegt, dann wird mit dem Default-Wert weiter gearbeitet. bInvalidParameter wird bei falscher Parameterangabe gesetzt.

Die Variable wird persistent gespeichert. Voreingestellt auf 0.

tOffDelay1: Zeitwert für die Nutzzeitverlängerung der Anlage in Stufe 1. Die Nutzzeitverlängerung kann nur aktiviert werden, wenn eModeExternalRequest = 2 ist. Die Variable wird persistent gespeichert. Voreingestellt auf 30min.

tOffDelay2: Zeitwert für die Nutzzeitverlängerung der Anlage in Stufe 2. Die Nutzzeitverlängerung kann nur aktiviert werden, wenn eModeExternalRequest = 2 ist. Die Variable wird persistent gespeichert. Voreingestellt auf 30min.

Verhalten der Ausgangsgröße

FB_HVACCmdCtrlSystem2Stage 3:

FB_HVACCmdCtrlSystem2Stage 4:

FB_HVACCmdCtrlSystem2Stage 5:

FB_HVACCmdCtrlSystem2Stage 6:

FB_HVACCmdCtrlSystem2Stage 7:

FB_HVACCmdCtrlSystem2Stage 8:

FB_HVACCmdCtrlSystem2Stage 9:

FB_HVACCmdCtrlSystem2Stage 10:

FB_HVACCmdCtrlSystem2Stage 11:

FB_HVACCmdCtrlSystem2Stage 12:

FB_HVACCmdCtrlSystem2Stage 13:

FB_HVACCmdCtrlSystem2Stage 14:

FB_HVACCmdCtrlSystem2Stage 15: