ForecastOutsideTemp
ForecastOutsideTemp (FB)
ForecastOutsideTemp (FB)FUNCTION_BLOCK ForecastOutsideTemp
Kurzbeschreibung
Vorhersage der Außentemperatur (Vorhersagezeitraum und Funktion einstellbar) Voraussetzung: FB ‘WeatherForecast’ aus der Weather Forecast Library Randbedingung: Die Wettervorhersagedaten müssen mindestens alle 12 Stunden aktualisiert werden Index _FC: Wetter-Vorhersagedaten extern
Index _Int: Wetter-Vorhersagedaten intern | Typische Anwendung: Berechnung der Außentemperatur einer Heiz-/Kühlkurve
Darstellung

Schnittstellen
Eingänge
xEn
BOOL
FALSE
Freigabe - Wettervorhersage (FALSE = Aus, TRUE = Ein)
*rOutsideTemp_In’
REAL
-10.0
Ersatzwert für die Aussentemperatur
xOutsideTempError_In
BOOL
FALSE
Fehlerzustand - Ersatzwert für die Aussentemperatur (FALSE = kein Fehler, TRUE = Fehler)
rFixedValue
REAL
0.0
Festwert für die Aussentemperatur
xError_FC
BOOL
FALSE
Fehlerzustand - Wetter-Vorhersagedaten (FALSE = kein Fehler, TRUE = Fehler)
xDone_FC
BOOL
FALSE
Signal nach dem erfolgreichen Abschluss der Übertragung der Wetter-Vorhersagedaten (ansteigende Flanke)
arData_FC
ARRAY[*] OF WEATHER_FORECAST.WeatherData
Array mit den Wetter-Vorhersagedaten (Ausgang ‘aForecast’ vom FB ‘WeatherForecast’)
Ausgänge
*eMode’
eForecastOutsideTempMode
eForecastOutsideTempMode.Invalid_Mode
Betriebsart (0 = keine, 1 = Vorhersage, 2 = Außentemperatur, 3 = Festwert)
*eFBPeriod_Int’
eForecastOutsideTempPeriod
eForecastOutsideTempPeriod.Invaild_Period
Rückmeldung - Vorhersagebereich - Interne Wetter-Vorhersagedaten (0 = keine, 1 = 3 Stunden, 2 = 6 Stunden, 3 = 9 Stunden, 4 = 12 Stunden, 5 = 24 Stunden, 6 = 36 Stunden, 7 = 48 Stunden, 8 = 72 Stunden, 9 = 96 Stunden)
*eFBFunction_Int’
eForecastOutsideTempFunction
eForecastOutsideTempFunction.Ivalid_Function
Rückmeldung - Funktion - Interne Wetter-Vorhersagedaten (0 = keine, 1 = Minimalwert 2 = Maximalwert, 3 = Durchschnittswert)
*rOutsideTemp_Out’
REAL
Berechnete Aussentemperatur
xError
BOOL
FALSE
Fehlerzustand (FALSE = kein Fehler, TRUE = Fehler)
Sollwerte / Parameter
**eFBPeriod_Int’*
eForecastOutsideTempPeriod
eForecastOutsideTempPeriod.Time_24_Hours
Vorhersagebereich - Interne Wetter-Vorhersagedaten (0 = keine, 1 = 3 Stunden, 2 = 6 Stunden, 3 = 9 Stunden, 4 = 12 Stunden, 5 = 24 Stunden, 6 = 36 Stunden, 7 = 48 Stunden, 8 = 72 Stunden, 9 = 96 Stunden)
**eFBFunction_Int’*
eForecastOutsideTempFunction
eForecastOutsideTempFunction.Average
Funktion - Interne Wetter-Vorhersagedaten (0 = keine, 1 = Minimalwert 2 = Maximalwert, 3 = Durchschnittswert)
Funktionsbeschreibung
Der Ausgang rOutsideTemp_Out wird in Abhängigkeit vom Zustand am Eingang ‘xEn’ berechnet / festgelegt: xEn = FALSE: Der Ausgang rOutsideTemp_Out nimmt den Zustand des Ersatzwerts (rOutsideTemp_Out = rOutsideTemp_In) an, falls der Ersatzwert fehlerfrei (xOutsideTempError_In = FALSE) ist. Der Ausgang rOutsideTemp_Out nimmt den Zustand des Festwerts (rOutsideTemp_Out = rFixedValue) an, falls der Ersatzwert fehlerhaft (xOutsideTempError_In = TRUE) ist.
Der Ausgang eMode wird entsprechend aktualisiert. Der Ausgang xError nimmt den Zustand FALSE an. Der Ausgang eFBPeriod_Int nimmt den Zustand eForecastOutsideTempFunction.Ivalid_Function an. Der Ausgang eFBFunction_Int nimmt den Zustand eForecastOutsideTempFunction.Ivalid_Function an xEn = TRUE: Der Ausgang rOutsideTemp_Out wird aufgrund der Parameter ‘ePeriod_Int’ (ePriodInt <> eForecastOutsideTempPeriod.Invalid_Period) und ‘eFunction_Int’ (eFunctionInt <> eForecastOutsideTempFunction.Invalid_Function) festgelegt, falls der Eingang ‘xError_FC’ den Wert FALSE und die interne Fehlervariable ebenfalls den Wert FALSE annehmen. Die Ausgänge eFBPeriod_Int bzw. eFBFunction_Int übernehmen die aktuellen Einstellwerte der Parameter ePeriod_Int bzw. eFBFunction_Int. Der Ausgang rOutsideTemp_Out nimmt den Zustand des Ersatzwerts (rOutsideTemp_Out = ‘rOutsideTemp_In) an, falls der Ersatzwert fehlerfrei (xOutsideTempError_In = FALSE) ist. Der Ausgang eFBPeriod_Int nimmt den Zustand eForecastOutsideTempFunction.Ivalid_Function an. Der Ausgang eFBFunction_Int nimmt den Zustand eForecastOutsideTempFunction.Ivalid_Function an Der Ausgang rOutsideTemp_Out nimmt den Zustand des Festwerts (rOutsideTemp_Out = ‘rFixedValue) an, falls der Ersatzwert fehlerhaft (xOutsideTempError_In = TRUE) ist. Der Ausgang eFBPeriod_Int nimmt den Zustand eForecastOutsideTempFunction.Ivalid_Function an. Der Ausgang eFBFunction_Int nimmt den Zustand eForecastOutsideTempFunction.Ivalid_Function an Der Ausgang eMode wird entsprechend aktualisiert. Der Ausgang xError wird entsprechend aktualisiert.
Aktualisierung des Ausgangs rOutsideTemp_Out
Der Ausgang rOutsideTemp_Out wird (Voraussetung: xEn = TRUE) aktualisiert, falls mindestens eines der folgenden Kriterien zutrifft: Kriterium 1: Aktualisierung der Wetter-Vorhersagedaten (ansteigende Flanke am Eingang xDone_FC) Kriterium 2: Änderung des Startindexes Kriterium 3: Änderung des Vorhersagebereichs (Parameter ePeriod_Int) Kriterium 4: Änderung der Funktion (Parameter eFunction_Int) Kriterium 5: Ansteigende Flanke am Eingang xEn Der Startindex ändert sich, falls der aktuelle Zeitstempel (= Systemzeit) den Zeitstempel des nächsten Elements der Wetter-Vorhersagedaten erreicht. Der Ausgang rOutsideTemp_Out wird daher mindestens alle 3 Stunden aktualisiert. Der Ausgang rOutsideTemp_Out wird stets zeitrichtig berechnet, d.h. es werden alle Elemente der Wetter-Vorhersagedaten zur Berechnung heran gezogen, die sich zwischen dem Zeitpunkt der Aktualisierung und dem Zeitpunkt der Aktualisierung + Vorhersagebereich befinden. Im Falle eines internen Datenfehlers (fehlende Daten, fehlerhafte Daten) wird der Ausgang rOutsideTemp_Out mit einer intern festgelegten Konstante (aktuell: -1000.0) beschrieben und der Zustand der internen Fehlervariable auf TRUE gesetzt.
Typische Anwendung
Dieser Funktionsbaustein kann wie folgt angewendet werden:

CODESYS
InOut:
Input
xEn
BOOL
TRUE
Input
rOutsideTemp_In
REAL
Input
xOutsideTempError_In
BOOL
FALSE
Input
rFixedValue
REAL
0.0
Input
xError_FC
BOOL
FALSE
Input
xDone_FC
BOOL
FALSE
Input
arData_FC
POINTER TO WEATHER_FORECAST.WeatherData
Output
eMode
eForecastOutsideTempMode
eForecastOutsideTempMode.Invalid_Mode
Output
eFBPeriod_Int
eForecastOutsideTempPeriod
eForecastOutsideTempPeriod.Invaild_Period
Output
eFBFunction_Int
eForecastOutsideTempFunction
eForecastOutsideTempFunction.Ivalid_Function
Output
rOutsideTemp_Out
REAL
Output
xError
BOOL
FALSE
Input Const
eFunction_Int
eForecastOutsideTempFunction
eForecastOutsideTempFunction.Average
Input Const
ePeriod_Int
eForecastOutsideTempPeriod
eForecastOutsideTempPeriod.Time_24_Hours
Methods:
mApplyFunction_Int
mCalculateOutsideTempOut_Int
mCalculateStartIndex_Int
mResetData_Int
mUpdateData_Int
Structure:
mApplyFunction_Int (Method)
mCalculateOutsideTempOut_Int (Method)
mCalculateStartIndex_Int (Method)
mResetData_Int (Method)
Rücksetzung aller internen Wetter-Vorhersagedaten auf ungültige Werte ***
mUpdateData_Int (Method)
Zuletzt aktualisiert

