Los gastos de calefacción constituyen una parte considerable del total de los costes de mantenimiento de un edificio o una vivienda. A través este manual autodidáctico nos gustaría ofrecerles una solución que permite reducir los gastos de calefacción y hará que el control de la misma sea más cómodo y adaptado a las necesidades de los usuarios.
El objetivo principal de este manual autodidáctico, aparte de proponer un control más cómodo y económico de la calefacción, era presentar como con solamente un poco de trabajo de programación obtener una funcionalidad bastante compleja utilizando el módulo DOMIQ/Base.
n lo sucesivo, el manual autodidáctico describe el concepto de funcionamiento del programa de control de temperature y presenta la implementación del programa en las interfaces de usuario DOMIQ. Se ha descrito también el proceso de automatización de control de la calefacción utilizando las reglas temporales e incidencias.
1. Concepto #
El programa de control de temperature permite conmutar entre los modos de funcionamiento de la calefacción definidos p.ej. día/nighthe o calor/normal/económico etc. Cada uno de los modos definidos puede conmutarse libremente durante el uso cotidiano de la instalación de control automático de edificios. Los cambios introducidos en los ajustes de un modo determinado serán memorizados automáticamente por el sistema DOMIQ con el cambio del modo de funcionamiento de la calefacción.
El programa permite también modificar libremente la relación de los dispositivos que participan en la regulación de la temperature. El principal supuesto del programa de control de temperature era crear algoritmo que se adaptaría a las necesidades variables de los usuarios y les permitiría modificar los ajustes del sistema de domótica desde las interfaces de usuario.
2. Principios de funcionamiento y código fuente #
El principio de funcionamiento del programa se presenta en los esquemas presentados a continuación. Estos esquemas muestran la conmutación de los modos de calefacción de pasando de modo diurno a nightturno. El primer esquema muestra el paso de modo diurno a nightturno:
Cuando se selecciona el modo Día se guardan los ajustes actuales de los reguladores como ajustes predeterminados para el modo nighthe (1). A continuación, los valores predeterminados de los reguladores asignados al modo Día on envíados a los mismos (2).
En caso de pasar de modo diurno a nightturno, los cambios se realizan de manera analógica.
El código fuente del programa de control de temperature está disponible en forma de anexo al manual autodidáctico bajo la denominación de switcher.lua. Este archivo puede descargarse de la página con la descripción del manual autodidáctico en www.domiq.es.
El archivo debe cargarse en el módulo DOMIQ/Base > Recursos > Archivos de órdenesy a continuación debe ejecutarse en la pestaña Lógica mediante el comando import ’switcher’.
En la pestaña Lógica hay que añadir también un fragmento del código que realiza la configuración del programa adaptándolo al trabajo con reguladores LCN concretos. Un ejemplo del código de configuración se presenta a continuación:
— code defined by user
temperature=switcher(«temp»)
— add a regulator No. 1 in the LCN module with the address No. 26.
temperature:add ‘LCN.regulator.0.26.1’
— other regulators are added analogously
temperature:add ‘LCN.regulator.0.26.2’
temperature:add ‘LCN.regulator.0.36.1’
temperature:add ‘LCN.regulator.0.36.2’
Unas palabras de explicación relativa al código definido por el usuario:
La variable temperature contiene referencia al objeto creado ejecutando la función switcher(name). La denominación de la variable puede elegirse libremente (sin carácteres polaco ni espacios). El argumento de la función switcher (en este caso ”temp”) debe ser una cadena de carácteres única.
En caso de que quisiéramos utilizar el archivo de órdenes para controlar varios conjuntos de dispositivos al mismo tiempo o varias dependencias de manera independiente es importante poner denominaciones únicas a las variables que se refieren a los objetos creados ejecutando la función switcher, y también ejecutar la función switcher con un único argumento. Los ejemplos presentados en este manual autodidáctico muestran como controlar un conjunto individual de los dispositivos.
Las líneas del código variable_name:add ‘<device_id>’, en nuestro caso p.ej. temperature:add ‘LCN.regulator.0.26.1’ sirven para declaraciones de los reguladores LCN que participan en el control de la temperature. Un bosquejo general del funcionamiento del archivo de órdenes se presenta en el siguiente
esquema:
Para personas inquiridoras
Si la información sobre el funcionamiento del archivo de órdenes switcher.lua obtenida hasta ahora es suficiente, se puede omitir la lectura de este párrafo. De lo contrario te invitamos a que leas la demás parte de este capítulo.
La primera función del archivo de órdenes – función par:add(dev) sirve para añadir nuevos reguladores. Esta función lee las denominaciones de los identificadores p.ej. LCN.regulator.0.26.1 y los introduce en el cuadro d.
La principal funcionalidad del archivo de órdenes es ejecutada dentro de la función par:switch(what), y más bien en el bucle for dentro de la misma. A la hora de cambiar el modo de funcionamiento de la calefacción se realizan dos operaciones principales:
- Grabación en las variables retentivas MEM de los actuales ajustes de los reguladores. Estos ajustes se memorizan al mismo tiempo como valores predeterminados del modo de calefacción conmutado. La responsable de eso es la línea: set(«MEM.sw.»..name..».»..current..».»..d.channel(),d.value).
- Lectura desde las variables MEM de los ajustes de los reguladores atribuidos al modo de calefacción seleccionado: local val=get(«MEM.sw.»..name..».»..what..».»..d.channel()), y a continuación el ajuste de estos valores como ajustes actuales de los reguladores: d:set(val).
La línea set(«MEM.sw.»..name,what) guarda en la variable MEM el actual modo de funcionamiento de la calefacción.
3. Implementación en las interfaces de usuario #
En este capítulo presentaremos la implementación del programa de control de temperature en cuestión en las interfaces de usuario del sistema DOMIQ. Los ejemplos presentados a continuación en este capítulo se refieren al control de cuatro reguladores LCN en tres modos de funcionamiento: Eco, Día, nighthe. El número de los modos y sus denominaciones y también el número de los dispositivos a controlar pueden ser libremente modificados por la persona que realiza la configuración de DOMIQ/Base.
3.1. DOMIQ/Remote #
La utilización del archivo de órdenes switcher.lua junto con la aplicación DOMIQ/Remote permite crear una interface muy cómoda para el control de la calefacción en el edificio. Para crear tal interface se deben realizar las siguientes operaciones:
- Seleccionar la pestaña Remote.
- Añadir una nueva página i sección o solamente sección, si se utiliza una página ya existente. Atribuir a la página/sección una etiqueta p.ej. Nadaj stronie/sekcji etykietę np. temperature.
- Añadir un Grupo de botones y seleccionar el número de columnas, en función del modo de clasificación de los botones.
- Añadir Botón y hacer doble click sobre él para cambiar sus características:
- Introducir una breve denominación del botón en el campo Etiqueta. En nuestro caso: Eco.
- Hacer click sobre el botón Añadir canal…, en la ventana que aparecerá en el campo Denominación introducir: C.LOGIC, y en el campo valor: temperature: switch(«eco»).
- Repetir el punto 3 para los otros dos botones, cambiando sucesivamente las etiquetas y el contenido del campo Valor a: temperature:switch(«day»), temperature: switch(«night»). Al hacer clik sobre los botones añadidos será seleccionado el modo de calefacción correspondiente.
- Añadir elementos temperature cuyo número sea conforme con la declaración en el código fuente y definir sus parámetros
- Para finalizar añadir el elemento Texto, que visualizará el actual modo de funcionamiento de la calefacción. Hacer doble click sobre él e introducir sus características:
- En el campo Etiqueta ntroducir una denominación p.ej. Modo actual.
- En la casilla Canal introducir la denominación de la variable del tipo MEM, en la cual es almacenada la información sobre el actual modo de funcionamiento. La sintaxis general es la siguiente: MEM.sw.<argument_name_of_the_switcher_function>. En nuestro caso: MEM.sw.temp.
Al final, la estructura en la pestaña Remote debe ser la siguiente:
Resultado en la aplicación DOMIQ/Remote:
Configuración de los modos de funcionamiento de la calefacción en la aplicación DOMIQ/Remote #
Teniendo la interface de usuario creada se puede proceder a la configuración de los modos de calefacción:
- Seleccionar el modo que se va a configurar, p.ej. Eco.
- Ajustar los valores de las temperatures seleccionadas en los reguladores utilizando los pilotos de temperature.
- Hacer clik sobre el siguiente botón para empezar la configuración de los ajustes del siguiente modo. Al hacer click sobre él, los ajustes del modo anterior serán memorizados automáticamente en la memoria del módulo Base.
- Realizar operaciones analógicas para los otros dos modos. ¡Tu configuración está completamente lista! Ahora puedes conmutar los modos de funcionamiento de la calefacción desde la aplicación DOMIQ/Remote.
¡Recuerda! Si durante el funcionamiento de la calefacción en un modo determinado, p.ej. en el modo Eco se cambian los ajustes de los reguladores y a continuación se selecciona otro modo, entonces los ajustes modificados se memorizarán en la memoria del módulo DOMIQ/Base como ajustes predeterminados del modo Eco.
3.2. DOMIQ/Display #
En este subcapítulo presentaremos como crear la pantalla de control de temperature desde el panel DOMIQ/Display. Aquí también utilizaremos el archivo de órdenes switcher.lua descrito en el capítulo 2 y la nueva función del elemento temperature, que permite introducir los valores numéricos utilizando el teclado numérico virtual.
La nueva función está disponible en el software del módulo DOMIQ/Base a partir de la versión 1.7.4 y en la actualidad está disponible solamente en los paneles DOMIQ/Display con la versión 1.7.0 del software.
Para definir la pantalla de visualización para el control de temperature hay que proceder conforme a las siguientes instrucciones:
- Seleccionar la pestaña Display.
- Hacer clik sobre el botón Añadir pantalla.
- Configurar los ajustes de la pantalla: introducir identificador único, de manera opcional se puede añadir el fondo de la visualización.
- Añadir Botón, y a continuación hacer click sobre él e introducir sus características:
- Introducir una denominación en el campo Etiqueta, en nuestro caso Eco.
- En el campo Comando introducir: LOGIC=temperature:switch(”eco”).
- Repetir el punto 4 para los otros dos botones cambiando las etiquetas y el contenido del campo Comando a: LOGIC=temperature:switch(”day”), LOGIC=temperature: switch(”night”). Al hacer clik sobre los botones añadidos será seleccionado el modo de calefacción correspondiente.
- Añadir dos elementos del tipo Txto. En el primer campo Texto ntroducir una denominación, p.ej.: Modo actual:. En el segundo, en el campo Canal introducir: MEM.sw.<argument_name_of_the_switcher_function>, en nuestro caso MEM.sw.temp.
- Añadir el elemento temperature e introducir sus características:
- En el campo Canal introducir la dirección del regulador LCN, en nuestro caso LCN.regulator.0.26.1.
- En la casilla Formato introducir: 0.0.
- De manera opcional se puede cambiar el color y tamaño del carácter. En nuestro caso el color es: #666666, y el tamaño 21.
- En los campos mín y máx introducir el límite inferior y superior del rango de regulación de temperature, p.ej. 10 i 30.
- Repetir el paso 7 para los demás reguladores.
- Si aparte de la temperature seleccionada queremos visualizar la temperature actual, hay que añadir otro elemento temperature e introducir sus características tal como en el punto 7. No hay que olvidar de cambiar el contenido de la casilla Canal introduciendo la dirección del sensor de temperature LCN correspondiente. En nuestro caso LCN.value.0.26.r1.
Ejemplo de la pantalla de control de temperature:
Las denominaciones de los campos y la composición gráfica pueden modificarse libremente. Todos los elementos gráficos utilizados y el fichero de configuración de la pantalla de visualización se adjuntan como archivo adjunto al manual autodidáctico. El contenido del archivo adjunto display.xml se debe copiar al archivo display.xml en el módulo DOMIQ/Base.
Configuración de los modos de calefacción en el panel DOMIQ/Display
La configuración se realiza de manera casi idéntica que en el caso de la aplicación DOMIQ/Remote.
- Seleccionar el modo que queremos configurar, p.ej. Eco.
- Ajustar los valores de las temperatures seleccionadas en los reguladores – hacer click en los sucesivos elementos temperature e introducir los valores utlizando el teclado numérico.
- Hacer click sobre el siguiente botón para comenzar la configuración de los ajustes del siguiente modo. Al hacer click sobre él los ajustes del modo anterior serán memorizados automáticamente en la memoria del módulo Base.
- Realizar operaciones analógicas para los otros dos modos. ¡Tu configuración está completamente lista! Ahora puedes conmutar los modos de funcionamiento de la calefacción utilizando el panel DOMIQ/Display.
¡Recuerda! Si durante el funcionamiento de la calefacción en un modo determinado, p.ej. en el modo Eco se cambian los ajustes de los reguladores y a continuación se selecciona otro modo, entonces los ajustes modificados se memorizarán en la memoria del módulo DOMIQ/Base como ajustes predeterminados del modo Eco.
4. Automatización #
El control de temperature será aún más cómodo y preciso si lo integramos con las incidencias y reglas temporales. Gracias a eso, la temperature en las dependencias se irá adaptando a los gustos y las costumbres de los habitantes de la vivienda. En lo sucesivo, este capítulo presenta un ejemplo de combinación del programa de control de temperature con el sistema de alarma Satel a través de los dispositivos LCN utilizando las incidencias y los timers.
4.1. Integración con la central de alarma #
La utilización de las incidencias E.IDS.armed.<número_de_zona> permite combinar de manera cómoda el control de temperature con el sistema de alarma SATEL. La regla de funcionamiento es muy simple: al detectar esta incidencia el sistema DOMIQ seleccionará un determinado modo de funcionamiento de la calefacción, en nuestro caso el modo Eco.
La definición de tal reacción del sistema de control automático se realiza conforme al esquema siguiente:
- Seleccionar la pestaña Incidencias y añadir nueva incidencia.
- En la sección Detalles:
- En la casilla Canal introducir: E.IDS.armed.(%d+) – se comprobará el armamento de cualquier zona de alarma.
- En el campo Datos introducir: 1.
- En la sección Acciones hacer click sobre Añadir canal… .
- En la ventana que aparecerá en el campo Denominación introducir: C.LOGIC,y en el
campo Valor: <variable_name>:switch(”<mode_name>”), en nuestro caso: temperature:switch(«eco»).
JSi queremos que la reacción tuviera lugar en caso del armamento de una determinada zona de alarma, p.ej. zona n° 1, entonces en la casilla Canal introducir: E.IDS.armed.1.
Finalmente, la pantalla de definición de la incidencia debe tener el aspecto siguiente:
4.2. Integración con el sistema LCN #
JSi nuestra instalación no lleva el sistema de alarma SATEL, entonces un efecto similar se puede obtener utilizando las teclas LCN y la incidencia E.LCN.key, que informa que se ha hecho click sobre el botón en el sistema LCN. Tal como en el primer ejemplo, el sistema DOMIQ, después de detectar esta incidencia, seleccionará el modo de funcionamiento de la calefacción atribuido a un botón determinado.
A efectos de este ejemplo supongamos que los primeros tres botones en el cuadro B con el comando Mucho tiempo sirven para conmutar los modos de calefacción. Para eso, en el software LCN-Pro hay que seleccionar para las diferentes teclas el comando Enviar, teclas y como destinatario seleccionar el módulo DOMIQ/Base (ID predeterminado: 254). Con las opciones del módulo LCN así configuradas podemos proceder a definir las incidencias:
- En el campo Canal introducir: E.LCN.key
- En el campo Valor B1 make.
- A continuación hacer click sobre Añadir canal… .
- En la ventana que aparecerá en el campo Denominación introducir C.LOGIC, y en el campo Valor: <variable_name>:switch(”<mode_name>”), en nuestro caso: temperature:switch(«eco»).
- Para los demás modos de funcionamiento de la calefacción repetir los pasos 1 a 5, no olvidando de cambiar el número de la tecla y la operación realizada al hacer click sobre él, en nuestro caso: temperature:switch(«day») y temperature: switch(«night»).
4.3. Aplicación de las reglas temporales #
La utilización de las reglas temporales permite conmutar de manera automática los modos de funcionamiento de la calefacción en función de la hora del día, dia de la semana, etc. En lo sucesivo, en este subcapítulo hemos descrito el proceso de creación de los elementos de la aplicación DOMIQ/Remote que permiten cambiar las horas de la puesta en marcha de los diferentes modos de calefacción y también el procedimiento de definición (desde el configurador) tradicional de las reglas temporales.
4.3.1. Control del timer desde la aplicación DOMIQ/Remote. #
Para realizar esta funcionalidad hay que utlizar la pestaña Timery y Remote:
- Añadir un grupo de timers e introducir una denominación del mismo, p.ej. temperature.
- Añadir un nuevo timer e introducir sus características:
- En la casilla Etiqueta introducir su denominación en función de la aplicación del timer.
- Cumplimentar los atributos en la sección Detalles:
- En el campo Hora introducir la denominación de la variante del tipo MEM que contiene la denominación de la variable que se refiere a la función switcher y la denominación del modo. En nuestro caso MEM.hour.temperature.day.
- En el campo Minuto introducir: MEM.minute.temperature.day.
- En el campo Días de la semana introducir: MEM.temperature.days. e este modo se han declarado las variables retentivas del tipo MEM en las que se almacenarán los ajustes de la aplicación DOMIQ/Remote. En las denominaciones de las variables no se pueden utilizar carácteres polacos ni espacios.
- En la sección Comandos definir el comando que será ejecutado al seleccionar el timer:
- Hacer click sobre Añadir canal…
- En la ventana que aparecerá en el campo Denominación introducir C.LOGIC, y en el campo Valor: <variable_name>:switch(”<mode_name>”), en nuestro caso: temperature:switch(«day»).
- Hacer click sobre Guardar, para confirmar los cambios.
- Pasar a la pestaña Remote
- Añadir elemento del tipo Tiempo.
- Hacer doble click sobre él e introducir sus características:
- En el campo Etiqueta introducir la denominación del piloto.
- En la casilla Canal con hora ntroducir: MEM.hour.temperature.day.
- En el campo Canal con minuto introducir: MEM.minute.temperature.day
- Repetir los puntos 2 a 7 para el modo de calefacción nightturno.
4.3.2. Definición de los timers desde el configurador #
La definición de las reglas temporales directamente desde el configurador tiene un defecto – el usuario no puede cambiar los ajustes en todo momento. A pesar de este defecto, esta solución tiene también una gran ventaja – mayor flexibilidad de las reglas que se definen. Es decir, podemos muy rápido definir por separado las reglas para los diferentes días de la semana, p.ej. otras horas de conmutación de los modos de calefacción para los días laborales y otras para los fines de semana, etc. Tal solución se puede obtener
también en la aplicación DOMIQ/Remote no obstante esto implicaría la necesidad de definir muchos elementos de la interface de usuario por separado (elementos del tipo Tiempo y Selección), lo que empeoraría mucho la utilidad y la transparencia de toda la interface del control de temperature. JComo ejemplo presentamos la definición de las reglas temporales independientes del
control de la calefacción para los días laborales y el fin de semana.
Empezaremos por definir las reglas temporales para los días laborales.
- Añadir un grupo de timers e introducir una denominación, p.ej. Calefacción.
- Añadir un nuevo timer. En el campo Etiqueta introducir su denominación p.ej. Modo diurno.
- En el campo Hora introducir la hora a la que el timer será activado p.ej. 7. De manera analógica introducir los datos en el campo Minuto.
- En la casilla Día de la semana ntroducir 1,2,3,4,5 – días laborales.
- En la sección Acciones hacer click sobre Añadir canal… . En la ventana que aparecerá en el campo Denominación introducir C.LOGIC, y en el campo Valor: <variable_name>:switch(”<mode_name>”), en nuestro caso: temperature:switch(«day»).
- Añadir otro timer y realizar operaciones idénticas para el modo nightturno. De este modo hemos definido las reglas temporales para los días laborales. La definición para el fin de semana se realiza de manera similar. Lo único que cambia es la hora de la activación del timer, el contenido del campo Día de la semana – hay que introducir 6,7 Conforme a lo arriba presentado podemos definir, de igual manera y por separado, también las reglas para los diferentes días de la semana.