En este post voy a explicar un ejemplo de cómo controlar la temperatura de una sala mediante el FB58 de Siemens.
Este ejemplo lo he sacado de mi propio programa de control de temperatura de mi casa, después de muchos ajustes quedo muy bien ajustado ya que las variaciones térmicas de temperatura ambiente son décimas de grado.
Circuito de calefacción por suelo radiante
La calefacción es por suelo radiante y tengo 3 circuitos independientes, con una bomba de circulación y 3 válvulas de apertura y cierre, evidentemente y como cualquier suelo radiante la inercia de temperatura es muy importante y por tanto el regulador de temperatura tiene que estar correctamente ajustado.
FB58 TCONT_CP
El FB 58 “TCONT_CP” sirve para regular procesos de temperatura con control continuo o en forma de impulso, en mi caso y como el resultado ha sido muy satisfactorio lo utilizo en forma de impulso.
El funcionamiento se basa en el algoritmo de regulación PID, que está dotado de funciones adicionales para procesos de temperatura. Suministra valores manipulados analógicos y señales manipuladas con modulación de ancho de pulso. A cada regulador le corresponde un solo actuador, es decir, con un solo regulador se podrá o bien calentar o bien enfriar.
El FB TCONT_CP se puede utilizar tanto para procesos de pura calefacción como para procesos de pura refrigeración. En mi caso utilizo el suelo radiante para la calefacción y la refrigeración, por tanto es ideal para la climatización de una sala.
Ejemplo de Climatización suelo radiante mediante el PID FB58
Para que el regulador funcione correctamente este se debe de programar dentro de un OB de interrupción cíclica con un tiempo fijo de 100ms, según que CPU utilicemos podremos utilizar el OB35 o el OB 82, la llamada a este bloque o FB es muy simple y en mi caso los parámetros de entrada y salida son mínimos:
Llamada a el FB58
Podemos ver en el ejemplo solo 3 parámetros de entrada:
PV_PER: Es el valor real de la temperatura de la sala, en mi caso una PT100 donde la tarjeta de temperatura me permite leer centésimas de grado.
SP_INT: Es el valor real de consigna, este dato a diferencia del PV_PER es de tipo Real.
COM_RST: Reset del controlador, normalmente al arrancar el autómata.
Ajustes del regulador
PVPER_ON: El valor real se lee a través de la periferia analógica (PEW xxx) en la entrada PV_PER.
Per_mode: PT100/NI100; Climatización, °C; °F.
Modo calefacción o refrigeración
GAIN: Modo calefacción con un valor de 10, y modo refrigeración con un valor de -10
Por cada lazo o en mi caso por cada circuito deberé repetir esta implementación, en este ejemplo solo hemos visto el control de una sala, en concreto el comedor de la casa.
Salida del regulador
Una vez parametrizado el regulador solo nos queda utilizarlo en nuestro programa de control de calefacción, en mi caso he utilizado el valor manipulado que obtengo del regulador, el valor manipulado es un porcentaje de 0 a 100% de la demanda real de energía de calefacción o refrigeración, a partir de este dato doy marcha a la calefacción en unos porcentajes ajustados en dependencia a la temperatura exterior de la casa:
El valor manipulado se lee directamente del DB de instancia con un valor REAL en el dato LMN.
Para ir a marcha de la calefacción:
Temperatura Exterior |
Valor Manipulado para marcha |
Con luz solar Mayor de 2 ºC |
7,5 % |
Con luz solar Menor de 2 ºC |
6,5 % |
Con poca luz solar Mayor de 4 ºC |
5,5 % |
Con poca luz solar Menor de 4 ºC |
2,5 % |
Sin luz solar Mayor de 2 ºC |
1,5 % |
Sin luz solar Menor de 2 ºC |
1 % |
Para ir a paro de la calefacción:
Temperatura Exterior |
Valor Manipulado para paro |
Con luz solar Mayor de 2 ºC |
3,5 % |
Con luz solar Menor de 2 ºC |
3 % |
Con poca luz solar Mayor de 4 ºC |
3 % |
Con poca luz solar Menor de 4 ºC |
2 % |
Sin luz solar Mayor de 2 ºC |
1 % |
Sin luz solar Menor de 2 ºC |
0,5 % |
Conclusiones
Por las características de mi casa y mi sistema de calefacción con estos parámetros puedo llegar a ajustar la temperatura con décimas de grado con un sistema que tiene una gran inercia térmica.