Autor Thema: FB Psychrometer  (Gelesen 13367 mal)

Offline radar17892

  • Sr. Member
  • ****
  • Beiträge: 788
  • Think easy!
    • mollgruppe
FB Psychrometer
« am: Mai 25, 2016, 12:00:57 Nachmittag »
Hallo,
heute stelle ich euch einen Baustein zur Klimaberechnung in Trocken- oder Klimakammern vor.
Hardwaretechnisch leicht zu bauen: 2 PT100 übereinander, über das untere wird ein Baumwollstrumpf gezogen der in einer kleinen Wasserwanne hängt.
Luftanströmung muss gewährleistet sein.

Das Psychrometer besteht aus zwei Thermometern, von denen eines, das Feuchtthermometer, in ein feuchtes Material gehüllt ist, zum Beispiel mit Wasser befeuchtetes Baumwollgewebe. Je trockener die Luft ist, desto schneller verdunstet die Flüssigkeit, desto mehr Verdunstungskälte wird hervorgerufen und desto größer ist die Temperaturdifferenz zwischen den beiden Thermometern. Aus der Temperaturdifferenz kann man mit Hilfe von Psychrometerformeln oder -tafeln die relative Luftfeuchtigkeit sowie weitere Parameter ermitteln. Das psychrometrische Messprinzip ist eines der genauesten und wird deshalb in Wetterstationen, wo es auf genaue Messungen ankommt, oder in Referenzgeräten verwendet.


FUNCTION_BLOCK Psychrometer
(*
##################################################################################
Programmbeschreibung:
Berechnung der Klimawerte (DT, rF, GF) in der Trockenkammer über psychrometrische Formel
Achtung: Psychrometer funktioniert nur bei eingeschalteter Umluft und nassem Docht !
(als Luftdruck wird der Normaldruck über NN angenommen)
benötigt:
getestet auf: XV102
##################################################################################
Änderungsindex
Name: TL Datum: 08.03.2015 Version:0.1 Grund:  neu

##################################################################################
*)
VAR_INPUT
Ttr: REAL; (*Trockentemperatur in 0,1°C*)
Tfe: REAL; (*Feuchttemperatur in 0,1°C*)
Umluft: BOOL; (*1=Umluft aktiv*)
END_VAR
VAR_OUTPUT
deltaT: INT; (*psychrometrische Differenz in 0,1K*)
rf:INT; (*relative Luftfeuchte in 0,1%*)
GF: INT; (*Gleichgewichtsfeuchte in 0,1%*)
Err_Docht: BOOL; (*Docht ausgetrocknet*)
END_VAR
VAR
TT: REAL; (*Trockentemperatur in °C*)
TF: REAL; (*Feuchttemperatur in °C*)
Ef: REAL; (*Sättigungsdampfdruck feucht*)
Et: REAL; (*Sättigungsdampfdruck trocken*)
e: REAL; (*Dampfdruck*)
T1: TON; (*Überwachungstimer*)
T2: TOF; (*Nachlauftimer Umluft*)
END_VAR
VAR CONSTANT
y: REAL := 0.67; (*Psychrometerkonstante*)
END_VAR

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

(*psychrometrische Differenz in 0,1K*)
deltaT:= REAL_TO_INT(Ttr - Tfe);
(*Anpassung T Werte*)
TT:= Ttr / 10;
TF:= Tfe / 10;
(*Sättigungsdampfdruck feucht*)
Ef:= 6.11 * EXP((17.081 * TF) / (234.175 + TF));
(*Sättigungsdampfdruck trocken*)
Et:= 6.11 * EXP((17.081 * TT) / (234.175 + TT));
(*Dampfdruck*)
e:= Ef - y * (TT - TF);
(*relative Luftfeuchte in 0,1%*)
rf:= REAL_TO_INT(e / Et *100);
(*Gleichgewichtsfeuchte nach Keylwerth*)
GF:= REAL_TO_INT(1200 / (TT - TF +5));
(*Fehlerüberwachung Psychrometer*)
T2(IN:= Umluft, PT:= t#30s, Q=> , ET=> );
T1(IN:= (deltaT < 15) AND T2.Q, PT:= t#30m, Q=> , ET=> );
Err_Docht:= T1.Q; (*Docht ausgetrocknet*)

Im Anhang ist eine Excel Tabelle zur Feuchteberechnung
Weil Einfach einfach Einfach ist!