¿Qué es Lonworks?
Lonworks es un sistema en crecimiento para redes de control distribuido
LonWorks® fue creado por Echelon Corporation en 1988 (www.echelon.com). Es un protocolo lider en soluciones para sistemas inmóticos o de automatización de edificios, también conocido como BMS. Para referirnos al parque de ‘nodos’ instalados en el mundo bajo este protocolo, tenemos que hacer referencia a millones de dispositivos. La asociación internacional LonMark (www.lonmark.org), con cientos de compañías como miembros (fabricantes de productos) indican la fortaleza del estándar LON en este mercado, aunque en algunos países como España, el desarrollo no es tan fuerte como en otros países europeos o en América.
Es muy común compararlo con otros sistemas de buses y de control, pero es totalmente diferente a todos y ofrece unas características que lo hacen imbatible en algunos tipos de instalaciones. Esas características diferenciadoras hacen que no sea muy competitivo en otros entornos. Vamos a tratar de intentar aclarar estos aspectos a los interesados en conocerlo.
Lonworks no está sujeto a buses físicos, en este sentido se podría comparar con el TCP/IP, ya que sus mensajes pueden transmitirse por cualquier soporte conocido (RF, fibra, TCP/IP, RS-232, RS-485. RS-422, Power Line, etc.), para integrar dispositivos en una red Lonworks basta con usar el ‘transceiver’ adecuado, por esta razón, los más usados en edificios son las soluciones de `par trenzado’ y PL (Power Line), usando en muchos casos TCP/IP en intranet o Internet para establecer pasarelas.
La primera cualidad de las redes Lonworks su capacidad de crecimiento casi ilimitado sin necesidad de sustituir elementos en la red existente, solo se precisa añadir nuevos equipos (nodos).
El envío de mensajes entre nodos, existe una jerarquía de direccionamiento que incluye dirección de dominio, subred y nodo (dispositivo en cuestión). Cada nodo está conectado a un canal (medio físico). Un dominio es una colección lógica de nodos que pertenecen a uno o más canales. Una subred es una colección lógica de hasta 127 nodos dentro de un dominio. Se pueden definir hasta 255 subredes dentro de un único dominio. Todos los nodos de una subred deben pertenecer al mismo canal, o los canales tienen que estar conectados por puentes (bridges). Cada nodo tiene un identificador de 48-bits único, asignado durante la fabricación, que se usa como dirección de red durante la instalación y configuración. La tabla siguiente resume la jerarquía de red:
Subredes por dominio:255
Nodos por subred:127
Nodos por dominio:32,385
Grupos por dominio:255
Nodos por grupo:63
Numero de dominios:281,474,976,710,656
Como se puede entrever, difícilmente agotaremos el número de nodos que se pueden precisar en una instalación o grupo de ellas.
Se ha mencionado en alguna ocasión el concepto de ‘nodo’, que es la denominación que se usa en el mundo Lonworks para definir una unidad típica de control. Cada nodo en una red Lonworks es independiente y realiza las funciones que se le asignen de forma autónoma y puede recibir información necesaria para realizar sus procesos de otros nodos. Un ejemplo típico sería un nodo integrado en la red que mide la temperatura en el exterior, la humedad exterior y el nivel de luminosidad, sin realizar más labor que poner esta información a disposición de cualquier nodo de la red que lo precise. Este nodo ofrecería la información a todos los sistemas de climatización que precisen la temperatura y humedad exterior para sus cálculos de ‘free-cooling’ o el nivel de luz exterior a todos los nodos que precisan de este nivel para conectar o desconectar iluminaciones de apoyo, focos exteriores, parking, etc.
Otro ejemplo simple, sería la existencia de un único nodo ‘reloj tiempo real’, con un receptor de hora DCF77 integrado en el nodo o con un módulo GPS, capaz de servir de patrón de hora exacta a cientos o miles de nodos en una instalación: nodos de control de iluminación, aparcamientos, alarmas, cerraduras, riego, displays reloj/calendario, sistemas de control de personal, etc.
Los nodos en general, realizan tareas puntuales y sencillas, pero están conectados a la red con lo que la monitorización puede ser permanente y el conjunto de nodos se comportan como una red neuronal, de ahí el nombre del corazón de estos dispositivos: el microcontrolador NeuroChip.
Ya sabemos que es una tecnología que permite la integración de muchos sistemas con un número casi ilimitado de nodos, pero esa no es su mejor baza.
En todos los sistemas de control en los que se requieren comunicaciones, una de las dificultades más importantes a superar es la garantía de que las comunicaciones son seguras, resistentes a errores y fáciles de implementar.
Quizás el punto más interesante del protocolo Lonworks, es que evita al instalador y al desarrollador de soluciones el problema de las comunicaciones. El protocolo se encarga de gestionar los mensajes entres los diferentes nodos de forma automática, de forma que toda la red de dispositivos se comporta como un ‘ente’ único. Se trabaja con las entidades lógicas llamadas variables de red, estándar y definidas por el usuario. Existe un completísimo catálogo de tipos de variables estándar de red para manejar diferentes unidades y longitudes, por ejemplo: temperatura, corriente eléctrica, alarmas, agenda, tensión, fuerza, iluminación, etc. Siempre se pueden definir nuevos tipos, pero las genéricas son las más usadas.
¿Dónde está la potencia y flexibilidad del sistema de variables?
Cada ‘nodo’ realiza unas funciones y puede precisar de información externa o ser capaz de proporcionar información a la instalación. Por ejemplo, el ‘nodo’ mencionado anteriormente que mide la temperatura, humedad y luminosidad exterior, dispondrá de estos datos en el formato genérico para entregárselos a quien los precise (sistemas de aire acondicionado o iluminación). Estas variables ‘exportadas’ serían variables de salida. Así mismo, este nodo podría precisar de la hora exacta para guardar registros de máximos y mínimos; esa información podría venir de un ‘nodo’ que hace las labores de ‘reloj de referencia’ para toda la instalación. A continuación podemos ver un ejemplo simple de comunicación de variables entre tres nodos.
Cada vez que hay cambios en un valor y este es necesario en algún lugar, se envía a destino, en una red compleja podrá haber miles de enlaces de este tipo. Para garantizar estas comunicaciones solo hay que determinar los enlaces a la puesta en marcha de la instalación con una herramienta visual y sin necesidad de conocer el funcionamiento interno de cada dispositivo. Todo el proceso de envíos, chequeos, reintentos, etc lo realizará el Neuron Chip sin que sea precisa la intervención del integrador.
¿Por qué es el “Neuron Chip” tan especial?
El Neuron Chip es el núcleo de casi todos los dispositivos que implementan la tecnología Lonworks. Como el protocolo es abierto, algunas empresas lo han implementado en chips propios aunque tienen unas cuotas de mercado bastante más reducidas. El Neuron Chip no es el clásico microcontrolador, ya que en su interior existen TRES microprocesadores independientes con memoria compartida. El Neuron Chip contiene el protocolo LonTalk completo y todo el firmware necesario para establecer las comunicaciones sin que tengamos que preocuparnos de ellas. Uno de los procesadores es el que corre la aplicación del usuario. Hay tres tipos básicos de Neuron chips, el 3120, el 3150 y el 5000.
¿Para qué se usan tres CPUs en un Neuron Chip?
Una de los procesadores es el encargado de ‘Acceso al Medio’ (MAC). Es responsable de la recepción y envío de los mensajes en la red Lonworks. Verifica la integridad de los mensajes (CRC), reintentos, acuses de recibo, detección de mensajes duplicados, etc. En resumen, se encarga de las capas medias del protocolo. El segundo, se encarga de niveles superiores, sirviendo de enlace entre el medio (red) y la aplicación del usuario.
El tercer procesador, ejecuta la aplicación del usuario, en la mayoría de los casos, los nodos vienen programados con una aplicación ‘tipo’ según el hardware, aunque sería posible crear nuevas aplicaciones y descargarlas en casi cualquier nodo. En general, los fabricantes de los nodos son los que desarrollan estas aplicaciones y los implantadores se encargan de la puesta en marcha.
Algunos fabricantes que necesitan potencia de proceso mayor que la que ofrece el Neuron Chip, lo conectan a un ‘host’ de mayor potencia, usando el Neuron Chip como interfaz de comunicaciones, por ejemplo, para incluir servidores Web, sistemas SCADA integrados, etc.
La serie 5000, incluye ya un cuarto procesador para gestión de interrupciones.
Otra gran ventaja de este Chip, es que las aplicaciones que se ejecutan, se pueden actualizar a través de la red y por lo tanto de forma remota. Es posible conectarse a una instalación de un edificio de forma remota, actualizar el software de un número de nodos sin alterar el funcionamiento general de la red.
¿Cual es la velocidad de este bus?
En la mayoría de los casos se usan solo dos velocidades, la de 78Kbps y 1,25Mbps. Aparentemente y en los tiempos que corren, puede parecer una velocidad baja, pero si tenemos en cuenta que lo que viaja por la red son los paquetes de comunicación de datos entre nodos y que estos mensajes son muy cortos, no se suele echar de menos un ancho de banda superior. La finalidad de esta red no es la transmisión de archivos. También se suelen implementar routers (como en redes de datos), que limitan el tráfico, no propagando mensajes a lugares donde no es necesario. Por ejemplo, el reloj MAESTRO, podrá comunicar una vez por minuto la hora a TODOS los nodos de una red, pero un termostato de una zona, solo comunicará sus ajustes a los nodos que lo precisen de esa zona.
¿Qué son las variables de red?
Son formatos de mensajes estándar que permiten enlazar nodos de diferentes fabricantes entre sí, de esta forma sabemos que si un nodo de terceros tiene variables SNVT (estándar), las podré conectar con otros nodos que tienen también esas variables. A continuación se muestra una pequeña muestra de ejemplos de variables usadas, para más información, ver enlaces al final del artículo.
Tipos de variables
Temperatura -> Grados Celsius
Humedad relativa -> Porcentaje
Estado de interruptor -> Lógica (Boolean)
Estados de dispositivo -> Lógica
Día de la semana -> Lista enumerada (Lunes a Domingo)
Reloj en tiempo real -> hh:mm MM,DD,YYYY
Tiempo transcurrido -> Días, horas, minutos y segundos
Contador de eventos -> Conteo
% de fondo de escala -> Porcentaje
Alfanumérico -> Cadena ASCII
Energía -> Kilowatios hora
Potencia -> Watios
Tensión -> Vóltios RMS
Intensidad -> Amperios
Resistencia -> Ohmios
Volumen -> Litros, galones, etc.
Flujo -> Galones o litros por hora
Peso -> Kilogramos, libras..
Velocidad -> Km o millas por hora
Presión -> Lbs./sq.in, Pascals, Inches-Hg
Nivel sonoro -> dBrnc
y así un largo etc. Se pueden descargar las listas de www.lonmark.org
¿De que tipos de mensajes se dispone?
En general, al usar las variables estándar (SNVT), solo tenemos que indicar los enlaces de ‘quien habla con quien’, pero si con esto no fuese suficiente, se pueden definir variables de red de usuario. Si se desea tratar mensajes específicos sin variables, también se puede construir nuestro propio sistema de ‘diálogos’ entre nodos, aunque esto es menos usual ya que se pierde el ‘estándar’.
También se puede determinar la forma en que las variables se comunican. La forma más normal de hacerlo, es con acuse de recibo, de esta forma, el Neuron Chip gestiona la comunicación, errores, reintentos, etc., ofreciendo el protocolo una garantía de comunicaciones elevadísima. El número de reintentos es de tres, pero se puede configurar un número diferente de reintentos.
También se puede enviar mensajes sin ‘acuse de recibo’, por ejemplo un reloj maestro que comunica la hora patrón a 2000 nodos, podría propagar esta hora de referencia una vez por minuto en este formato, de forma que no espere el acuse de recibo de los 2000 nodos. Para asegurar la recepción, el modo ‘sin recibo’, se repite varias veces (Un-Acknowledged Repeat). Existen otros modos de comunicación, pero no son los más representativos.
¿Existe seguridad en los mensajes LonWorks?
El protocolo LonTalk no implementa encriptación de datos, pero si implementa autenticación, de forma que se usa una especie de firma para asegurarse que las órdenes provienen de un equipo reconocido. En la mayoría de los casos y en redes de control BMS, lo importante es que los enlaces de datos sean correctos y no se puedan ‘falsificar’, más que estos datos sean ‘secretos’. Estamos hablando, en general, de temperaturas, niveles, órdenes, tiempos, etc.
¿Cómo puedo usar e implanter sistemas Lonworks?
Se pueden implementar sistemas Lonworks a varios niveles, desde el diseño y la fabricación de nodos hasta la puesta en marcha de nodos de terceros (opción más común). Existen multitud de herramientas de terceros, aunque las más extendidas son las creadas por Echelon. A continuación veremos las más importantes:
Echelon Nodebuilder FX – La herramienta de desarrollo para crear y programar hardware basado en Neuron Chip. Puede ser hardware propio o de terceros, pero para poder programar hardware de terceros es necesario tener la información complete del hardware. Con esta herramienta y algunas asociadas a la misma se crean los programas, comportamiento, variables de entradas y salidas e incluso sistemas ‘plug-in’ que facilitan la puesta en marcha de estos nodos a los integradores.
Echelon LonMaker – La herramienta de instalación de red para crear las redes LonWorks a partir de los nodos que se deseen instalar. Esta herramienta configura los nodos, establece los enlaces entre ellos, actualiza firmware, etc. Es un entorno gráfico que no requiere conocimientos de programación aunque si requiere conocimientos de las redes Lonworks.
Formación – Existe una red de formación y centros certificados para impartirla que en cursos inferiors a 1 semana permiten preparer a implantadores para el uso de estas tecnologías. Además, existe una gran cantidad de información en Internet al respecto que permite una auto-formación efectiva.
Enlaces útiles:
- Wikipedia
- Echelon: Empresa creadora del estándar LONWorks.
- LonMark: Organismo que agrupoa a fabricantes de productos Lonworks.
- Leviton: Fabricante.
- Loytec: Fabricante y desarrollador de productos.
- Gesytec: Fabricante y desarrollador de productos.
- Newron-System: Soluciones de software para Lonworks
- Lista de asociados a LonMark
Lonworks es un protocolo abierto normalizado. En Europa (EN-14908) y en Estados Unidos (EIA-709-1).