
Un psicrómetro es un aparato utilizado en meteorología para medir la humedad o contenido de vapor de agua en el aire, distinto a los higrómetros corrientes. Los psicrómetros constan de un termómetro de bulbo húmedo y un termómetro de bulbo seco. La humedad puede medirse a partir de la diferencia de temperatura entre ambos aparatos. El húmedo medirá una temperatura inferior producida por la evaporación de agua. Es importante para su correcto funcionamiento que el psicrómetro se instale aislado de vientos fuertes y de la luz solar directa.
FUENTE: Wikipedia.
Pues igual que lo hacemos con termómetros de mercurio igual lo podemos hacer con sondas y un PLC. Esto nos sirve de excusa para introducir el uso de FB con tablas de datos. Algunos procesos no pueden ser calculados de forma directa y deben ser obtenidos a través de tablas de datos, como en este caso.
En este caso vamos a usar esta tabla para calcular la humedad en función de la temperatura del bulbo seco y la diferencia con el bulbo húmedo.

Y este es la función:
FUNCTION Psicometro : INT VAR_INPUT TSeco :INT; THumedo :INT; END_VAR VAR Hr:INT; Dif_S_H: INT; END_VAR TSeco := TSeco / 10; THumedo := THumedo / 10; Dif_S_H := TSeco - THumedo; (*Calculamos humedad en funcion de la parte entera*) CASE TSeco OF 5: CASE Dif_S_H OF 0: Psicometro := 100; 1: Psicometro := 85; 2: Psicometro := 71; 3: Psicometro := 59; 4: Psicometro := 48; 5: Psicometro := 39; 6: Psicometro := 30; 7: Psicometro := 22; 8: Psicometro := 18; 9: Psicometro := 18; 10: Psicometro := 4; END_CASE ; 6: CASE Dif_S_H OF 0: Psicometro := 100; 1: Psicometro := 85; 2: Psicometro := 72; 3: Psicometro := 61; 4: Psicometro := 50; 5: Psicometro := 41; 6: Psicometro := 33; 7: Psicometro := 25; 8: Psicometro := 21; 9: Psicometro := 20; 10: Psicometro := 7; END_CASE ; 7: CASE Dif_S_H OF 0: Psicometro := 100; 1: Psicometro := 86; 2: Psicometro := 73; 3: Psicometro := 62; 4: Psicometro := 52; 5: Psicometro := 43; 6: Psicometro := 35; 7: Psicometro := 28; 8: Psicometro := 24; 9: Psicometro := 23; 10: Psicometro :=10; END_CASE ; 8: CASE Dif_S_H OF 0: Psicometro := 100; 1: Psicometro := 86; 2: Psicometro := 74; 3: Psicometro := 63; 4: Psicometro := 54; 5: Psicometro := 45; 6: Psicometro := 37; 7: Psicometro := 30; 8: Psicometro := 26; 9: Psicometro := 25; 10: Psicometro := 13; END_CASE ; 9: CASE Dif_S_H OF 0: Psicometro := 100; 1: Psicometro := 86; 2: Psicometro := 75; 3: Psicometro := 65; 4: Psicometro := 55; 5: Psicometro := 47; 6: Psicometro := 39; 7: Psicometro := 32; 8: Psicometro := 28; 9: Psicometro := 27; 10: Psicometro := 16; END_CASE; 10: CASE Dif_S_H OF 0: Psicometro := 100; 1: Psicometro := 87; 2: Psicometro := 76; 3: Psicometro := 66; 4: Psicometro := 57; 5: Psicometro := 48; 6: Psicometro := 41; 7: Psicometro := 34; 8: Psicometro := 30; 9: Psicometro := 29; 10: Psicometro := 18; END_CASE; 11: CASE Dif_S_H OF 0: Psicometro := 100; 1: Psicometro := 88; 2: Psicometro := 77; 3: Psicometro := 67; 4: Psicometro := 58; 5: Psicometro := 50; 6: Psicometro := 43; 7: Psicometro := 36; 8: Psicometro := 32; 9: Psicometro := 31; 10: Psicometro := 20; END_CASE; 12: CASE Dif_S_H OF 0: Psicometro := 100; 1: Psicometro := 88; 2: Psicometro := 78; 3: Psicometro := 68; 4: Psicometro := 59; 5: Psicometro := 52; 6: Psicometro := 44; 7: Psicometro := 38; 8: Psicometro := 34; 9: Psicometro := 33; 10: Psicometro :=22; END_CASE; 13: CASE Dif_S_H OF 0: Psicometro := 100; 1: Psicometro := 89; 2: Psicometro := 78; 3: Psicometro := 69; 4: Psicometro := 61; 5: Psicometro := 53; 6: Psicometro := 46; 7: Psicometro := 40; 8: Psicometro := 36; 9: Psicometro := 34; 10: Psicometro :=25; END_CASE; 14: CASE Dif_S_H OF 0: Psicometro := 100; 1: Psicometro := 89; 2: Psicometro := 79; 3: Psicometro := 70; 4: Psicometro := 62; 5: Psicometro := 54; 6: Psicometro := 47; 7: Psicometro := 41; 8: Psicometro := 37; 9: Psicometro := 36; 10: Psicometro :=26; END_CASE; 15: CASE Dif_S_H OF 0: Psicometro := 100; 1: Psicometro := 89; 2: Psicometro := 80; 3: Psicometro := 71; 4: Psicometro := 63; 5: Psicometro := 55; 6: Psicometro := 49; 7: Psicometro := 43; 8: Psicometro := 39; 9: Psicometro := 37; 10: Psicometro :=28; END_CASE; 16: CASE Dif_S_H OF 0: Psicometro := 100; 1: Psicometro := 90; 2: Psicometro := 80; 3: Psicometro := 72; 4: Psicometro := 64; 5: Psicometro := 57; 6: Psicometro := 50; 7: Psicometro := 44; 8: Psicometro := 40; 9: Psicometro := 39; 10: Psicometro := 30; END_CASE; 17: CASE Dif_S_H OF 0: Psicometro := 100; 1: Psicometro := 90; 2: Psicometro := 81; 3: Psicometro := 72; 4: Psicometro := 65; 5: Psicometro := 58; 6: Psicometro := 52; 7: Psicometro := 46; 8: Psicometro := 42; 9: Psicometro := 40; 10: Psicometro :=31; END_CASE; 18: CASE Dif_S_H OF 0: Psicometro := 100; 1: Psicometro := 90; 2: Psicometro := 81; 3: Psicometro := 73; 4: Psicometro := 66; 5: Psicometro := 59; 6: Psicometro := 53; 7: Psicometro := 47; 8: Psicometro := 43; 9: Psicometro := 41; 10: Psicometro :=33; END_CASE; 19: CASE Dif_S_H OF 0: Psicometro := 100; 1: Psicometro := 91; 2: Psicometro := 82; 3: Psicometro := 74; 4: Psicometro := 66; 5: Psicometro := 60; 6: Psicometro := 54; 7: Psicometro := 48; 8: Psicometro := 44; 9: Psicometro := 42; 10: Psicometro :=34; END_CASE; 20: CASE Dif_S_H OF 0: Psicometro := 100; 1: Psicometro := 91; 2: Psicometro := 82; 3: Psicometro := 74; 4: Psicometro := 67; 5: Psicometro := 61; 6: Psicometro := 55; 7: Psicometro := 49; 8: Psicometro := 46; 9: Psicometro := 43; 10: Psicometro :=36; END_CASE; ELSE Psicometro := 0; END_CASE;
Mediante las dos primeras instrucciones dejamos la parte entera. El Fb esta hecho para temperatura en ºC x 10, por lo tanto el ultimo dígito es el decimal que quitaremos puesto que la tabla solo contempla valores enteros. La variable Dif_S_H almacena la diferencia entre los dos termómetros.
Lo siguiente es la primera instrucción Case mediante la cual seleccionamos la temperatura de bulbo seco, de aquí pasara a la siguiente función Case donde asignara un valor de humedad en función de la diferencia (Dif_S_H).
No se si esto puede tener una aplicación practica. Quizás sea mas interesante hacerlo en Vb.net con un par de sondas de temperatura 1 wire y un pequeño ventilador. (Me lo apunto para hacerlo un día que tenga tiempo).











































































