FB_HVACSetpointRamp

Baustein, der eine gleitende Sollwertrampe erzeugt. Dieser Baustein muss in jedem SPS-Zyklus aufgerufen werden, weil die Berechnung für die Erreichung des Endsollwertes von der Task Time abhängig ist.
VAR_INPUT
eDataSecurityType : E_HVACDataSecurityType;
bSetDefault : BOOL;
bEnable : BOOL;
rSetpointIn : REAL;
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: Freigabe des Bausteins.
rSetpointIn: Sollwert, auf den der Ausgang rSetpopintOut in Abhängigkeit der absoluten Temperaturveränderung rSetpointSlide pro Zeitveränderung tRampTime geregelt wird. Jede Veränderung des Sollwertes startet eine neue Berechnung des Sollwertes auf den Zielwert der Rampe. Der Zielwert ist der aktuelle Wert von rSetpointIn. Der Startwert der Rampe ist letzter Wert vor der Änderung von rSetpointIn auf den neuen Zielwert, siehe Bild 1.1.
Mit den Parametern rMaxSetpoint und rMinSetpoint wird der Wertebereich von rSetpointInfestgelegt.
Liegt ein nicht korrekter Variablenwert an rSetpointIn an, dann wird, wenn vorhanden der letzte, gültige Variablenwert genommen. Wenn kein gültiger, letzter Wert vorliegt, dann wird mit rMinSetpoint intern weiter gearbeitet. bInvalidParameter wird bei falschem Variablenwert gesetzt, der Funktionsbaustein arbeitet normal weiter.
bReset: Quittierungseingang bei einer Störung.
VAR_OUTPUT
rSetpointOut : REAL;
tRemainingTime : TIME;
bValueReached : BOOL;
bInvalidParameter : BOOL;
rSetpointOut: Ausgang des Rampengenerators
tRemainingTime: Zeitdauer, in der der Ausgang rSetpointOut den Zielwert rSetpointIn erreicht hat.
bValueReached: Ein TRUE an diesem Ausgang signalisiert, dass der Ausgang rSetpointOut den Zielwert rSetpointIn erreicht hat.
bInvalidParameter: Zeigt an, dass ein falscher Parameter an einer der Variablen rSetpointSlide oder tRampTime 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
rMinSetpoint : REAL;
rMaxSetpoint : REAL;
rSetpointSlide : REAL;
tRampTime : TIME;
rMinSetpoint/rMaxSetpoint: Mit den Parametern rMaxSetpoint und rMinSetpoint wird der Wertebereich (-10000..10000) von rSetpointInfestgelegt. rMaxSetpoint muss größer als rMinSetpoint sein.
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 weitergearbeitet. bInvalidParameter wird bei falscher Parameterangabe gesetzt, der Funktionsbaustein arbeitet normal weiter. Die Variable wird persistent gespeichert. Voreingestellt auf 10 bzw. 40.
rSetpointSlide: Absolute Temperaturveränderung in [Kelvin/tRampTime] mit der der Ausgang von einem niedrigeren bzw. höheren Wert auf einen höheren bzw. niedrigeren Wert schrittweise gleitend überführt wird, siehe Bild 1.1
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 weitergearbeitet. bInvalidParameter wird bei falscher Parameterangabe gesetzt, der Funktionsbaustein arbeitet normal weiter. Die Variable wird persistent gespeichert. Voreingestellt auf 1.
tRampTime: Rampenzeit (1s..24h), in der der Endsollwert gleitend in Abhängigkeit der absoluten Temperaturveränderung rSetpointSlide schrittweise erreicht wird, siehe Bild 1.1
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 weitergearbeitet. bInvalidParameter wird bei falscher Parameterangabe gesetzt, der Funktionsbaustein arbeitet normal weiter. Die Variable wird persistent gespeichert. Voreingestellt auf 3600s.
Bild 1.1:

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 |