FUNCTION m7k_ClimaticAirData : VOID
TITLE = 'Calulate climatic air data'
// ==============================================================================
// Berechnet Daten von Luft für die Klimatechnik
// Sättigungsampfdruck esat [Pa] der bei einer Temperatur max. mögliche Dampfdruck
// Partialdruck ep [Pa] Dampfdruck des enthaltenen Wassersdampfes
// absoluter Wassergehalt pD [kg/m³] absolute Feuchte
// Wasserdampfsättigung pDmax [kg/m³] Wassermenge bei 100%rF
// Enthalphie H [kJ/kg] enthaltene Energiemenge
// Dichte feuchte Luft AD [kg/m³] Air density; Dichte bei T°C, %rF, Umgebungsdruck
//
// Technische Info:
// https://www.schweizer-fn.de/lueftung/feuchte/feuchte.php
//
// verwendete Konstanten:
// Gaskonstante Wasserdampf : RD = 461.510 J/(kg*K)
// Gaskonstante trockene Luft : RtL = 287.058 J/(kg*K)
// Wärmekapazität Luft : 1.005 kJ/kg
// spez. Wärmekapazität Wasserdampf : 1.86 kJ/(kg*K)
// Verdampfungswärme Wasser : 2500 kJ/kg
// ==============================================================================
//
// AUTHOR: S.Maag
// DATE: 10/2012
//
// CHANGELOG:
// ------------------------------------------------------------------------------
// DATE NAME DESCRIPTION
// ------------------------------------------------------------------------------
// 02.05.2020 S.Maag Wasserdampfsättigung und Dichte ergänzt
//
// ------------------------------------------------------------------------------
VERSION : '1.0'
AUTHOR : 'S.Maag'
FAMILY : 'Maagic7'
VAR_INPUT
rHum : REAL; // relative Feuchte [%rF]
rTmpC : REAL; // Temperatur [°C]
rP_mbar : REAL; // Umgebungsdruck [mbar] [1mbar=100Pa=1hPa] (für Dichteberechnung)
END_VAR
VAR_OUTPUT
esat : REAL; // Sättigungsdampfdruck [Pa] Pascal
ep : REAL; // Partialdruck [Pa] Pascal
pD : REAL; // absoluter Wassergehalt [kg/m³]
PDmax : REAL; // Wasserdampf Sättigungskonzentration [kg/m³)
AD : REAL; // Air Density; Dichte der feuchten Luft [kg/m³]
TP : REAL; // Taupunkt °C
H : REAL; // Enthalpie [kJ/kg]
PWR : REAL; // Energieinhalt Wh/m³
END_VAR
VAR_TEMP
rTmpK : REAL; // Temperatur Kelvin
rRfL : REAL; // Gaskonstante feuchte Luft
k : REAL;
END_VAR
CONST
cRtL := 287.058; // Gaskonstante trockene Luft : RtL = 287.058 J/(kg*K)
cRD := 461.510; // Gaskonstante Wasserdampf : RD = 461.510 J/(kg*K)
cEw := 2500; // Verdampfungswärme Wasser : Ew = 2500 kJ/kg
END_CONST
BEGIN
// ----------------------------------------------------------------------
// Temperatur in Kelvin
// ----------------------------------------------------------------------
rTmpK := rTmpC + 273.15;
// ----------------------------------------------------------------------
// Sättingungsdampfdruck esat in Pascal
// ----------------------------------------------------------------------
(*
ACHTUNG: EXP zur Basis e
17.5043 * T°C
esat = 611,2 * exp (---------------) ; Temperaturbereich -30..70°C
241,2 +T°C
*)
// Temperaturbereich
// -45°C < t < 60
// esat := 611.2 * EXP( (17.62 * rTmpC)/(243.12 + rTmpC));
// Temperaturbereich
// -30°C < t < 70
esat := 611.2 * EXP( (17.5043 * rTmpC)/(241.2 + rTmpC));
// ----------------------------------------------------------------------
// Wasserdampfsättigungskonzentration
// Die Wasserdampfsättigungskonzentration entspricht der maximalen Menge
// an Wasserdampf (f = 1,0), die ein bestimmtes Luftvolumen bei einer
// bestimmten Temperatur enthalten kann.
// ----------------------------------------------------------------------
// pDmax = esat (RD * T_Kelvin)
// RD := 461.510; // Gaskonstante Wasserdampf J/(kg*K)
pDmax := esat / (cRD * rTmpK); // Wasserdampfsättigungskonzentration [kg/m³]
// ----------------------------------------------------------------------
// Partialdruck ep in Pascal
// ----------------------------------------------------------------------
// ep = esat * RealtiveFeuchte%/100
ep := esat * rHum /100;
// ----------------------------------------------------------------------
// absoluter Wassergehalt, absolute Feuchte: pD [kg/m³]
// ----------------------------------------------------------------------
(*
RD := 461.510; // Gaskonstante Wasserdampf J/(kg*K)
ep
pD = --------------------
461.51 * T_Kelvin
*)
pD := ep / (cRD * rTmpK);
// ----------------------------------------------------------------------
// Dichte (feuchter Luft) [kg/m³]
// ----------------------------------------------------------------------
(*
AD : Dichte feuchter Luft [kg/m³] (air density)
P : Umgebungsdruck [Pa] 100Pa = 1mbar
Hum : realtive Luftfeuchte 0..100%
TK : Temperatuir Kelvin
RfL : Gaskonstante feuchte Luft
RtL : Gaskonstante trockene Luft
AD = P / (RfL * T_K) // Dichte feuchter Luft
RtL
RfL = -------------------------------------------
( Hum/100 * esat )
1 - ( ---------------- * (1- RtL/Rd) )
( P )
*)
// rRfL := cRtL / ( 1- (rHum/100 * esat / (rP_mbar*100) * (1-cRtL/cRD)) ); // Gaskonstante feuchte Luft
rRfL := cRtL / ( 1- (rHum * esat / (rP_mbar*10000) *(1-cRtL/cRD) ) ); // Gaskonstante feuchte Luft
AD := rP_mbar*100 / (rRfL * rTmpK); // Dichte der feuchten Luft
// ----------------------------------------------------------------------
// Taupunkt Temperatur °C
// ----------------------------------------------------------------------
// Faustformel für Taupunkt: je 5% Fechte fällt der Taupunkt um 1°C
// D.h. Bei 30° und 75%rF liegt der Taupunkt bei ca. 25° (100-75)/5=5°C unter Lufttemp.
(*
k = ln(Partialdruck/611,2) // Achtung auf der Webseite ist die Formel falsch angeben, mit Sättingsdruck statt Partialdruck
k
Tp = 241.2 * ------------ ; Faktoren für -30..70°C; 243.12 & 17.68 für -45..60°
17,5043 - k
*)
k := LN(ep/611.2);
TP := k/(17.5043-k) * 241.2;
// ----------------------------------------------------------------------
// Enthalphie [kJ/kg] & Power [Wh/m³]
// ----------------------------------------------------------------------
(*
Wärmekapazität Luft : 1.005 kJ/kg
spez. Wärmekapazität Wasserdampf : 1.86 kJ/(kg*K)
Verdampfungswärme Wasser : 2500 kJ/kg
H = (1.005 * T°C) + pD*(2500+1.86 * T°C)
*)
H := (1.005 * rTmpC) + pD*(2500+1.86 * rTmpC);
// Umrechung Enthalpie => WattStunden pro m³ 1J = 1Ws
// Pwr[Ws/kg] = H*1000/3600s
// PWR[Ws/m³] = H*1000/3600s * Dichte[kg/m³)
PWR := H /3.6 * AD; //[Wh/m³]
END_FUNCTION