LonWorks es una tendencia creciente en redes de dispositivos.
LonWorks ™ fue creado por Echelon Corp (www.echelon.com) en 1988. Es una solución de red líder para la automatización de edificios. Las estimaciones para el número de nodos instalados en todo el mundo van a millones. La Asociación de Interoperabilidad LonMark con más de 300 compañías miembro refleja la fortaleza que LON tiene ahora en el mercado de la automatización.
Cuando se usa en un entorno industrial, una solución de LonWorks es muy diferente de las redes de dispositivos abiertos como DeviceNet, Profibus y Modbus que se encuentran normalmente en la fábrica, En primer lugar, a diferencia de estos populares buses de dispositivos, LonWorks es una red completamente homóloga, En lugar de mover datos a través de un dispositivo “Maestro”, cualquier dispositivo puede intercambiar datos con cualquier otro dispositivo LonWorks en la red.
En segundo lugar, LonWorks no está vinculado a una sola capa de comunicación física, Cuando DeviceNet está limitado a CAN y Profibus y Modbus están limitados a RS485, LonWorks puede usar par trenzado, Ethernet o incluso una línea de alimentación como su canal de comunicación, Finalmente, los datos de red intercambiados en LonWorks se configuran mediante una herramienta de configuración de red.
LonWorks es una tecnología estándar para muchas de las organizaciones de estándares globales, incluidas ASHRAE, IEEE, ANSI, SEMI y muchas otras, De hecho, la capacidad de LonWorks es un requisito previo para participar en un número creciente de proyectos de automatización. LonWorks se está convirtiendo en un estándar de red importante en el mercado de edificios comerciales con una serie de proveedores de sistemas de automatización de edificios que se estandarizan en LON, incluidos Siemens Building Systems y Honeywell, Para obtener ganancias en este mercado es importante apoyar a LON.
¿Qué es esta tecnología? ¿Qué ventajas tiene sobre otras tecnologías de red como Ethernet y otras? ¿Cómo puedo habilitar LonWorks mi dispositivo de automatización industrial o de edificios? ¿Cuáles son algunos de los problemas y consideraciones que deben tenerse en cuenta al crear un dispositivo LonWorks? Este documento trata sobre cómo habilitar su dispositivo LonWorks y cómo entender la tecnología y en qué se diferencia de las tecnologías de red de dispositivos similares.
Preguntas importantes que debe hacerse primero
Una vez que decida que sus productos deben ser compatibles con LonWorks, la gran pregunta se convierte en “¿cómo puedo hacerlo y hacerlo rápidamente?”
¿Tiene recursos de ingeniería excedentes para comprometerse con el proyecto? ¿Se pueden posponer sus oportunidades y clientes actuales para LonWorks hasta el próximo año? ¿Está su personal de ingeniería familiarizado con la especificación? ¿Comprende a fondo los diferentes estándares físicos de LonWorks y qué es lo mejor para usted y sus clientes?
Si tiene dificultades con alguno de estos problemas, entonces este documento fue escrito para usted, Detalla la información técnica que necesitas.
¿Qué es LonWorks y por qué lo necesito en mi producto?
Mike Markula, uno de los fundadores originales de Apple, fundó Echelon en 1983. Cuando Mike Markula planificó la progresión del mainframe a la PC, notó una brecha tecnológica significativa, En cada nivel, a medida que disminuían la integración y los costos, los volúmenes y las aplicaciones se expandían dramáticamente, Pero no había tecnología que abordara la creación de redes de dispositivos para el estado y el control.
Markula fundó Echelon con la visión de crear una tecnología que permita la conexión en red de dispositivos cotidianos, Su modelo de negocio no es fabricar el silicio, sino licenciar el firmware de red en silicio y proporcionar el “pegamento” circundante que ayuda a las empresas a llegar rápidamente al mercado con una red de control.
Echelon ha implementado con éxito esta estrategia, No producen ni venden los circuitos integrados “Neuron”, ya que el silicio contiene todo el firmware de red de LonWorks, En su lugar, se centran en las herramientas de desarrollo, software de gestión de red, transceptores, enrutadores, etc.
Una de las razones por la que muchos ingenieros en las industrias de control no están familiarizados con Echelon y con LonWorks es que la compañía enfrentó algunos desafíos importantes para llevar la tecnología al mercado, Sin silicona, todo lo que tenían que vender era una herramienta de desarrollo, Sus socios de circuito integrado de semiconductores se retrasaron con la entrega de los primeros chips Neuron y esto retrasó significativamente la adopción inicial.
Además, Lonworks no fue adoptado rápidamente por el mercado de controles para sorpresa de los fundadores de la compañía, No se dieron cuenta de lo conservador que es el mercado de controles en contraste con las industrias de computadoras y teléfonos, Afortunadamente para Echleon, han estado en la envidiable posición de recibir capital de riesgo para los pacientes gracias a la reputación de los fundadores y han estado creciendo y refinando continuamente la suite de tecnología y herramientas.
Hace diez años, Echelon inicialmente otorgó licencias a Toshiba y Motorola como socios de silicona, Cuando Motorola tomó la decisión de deshacerse de muchos segmentos diferentes del mercado, incluidos sus esfuerzos de LonWorks, Echelon otorgó la licencia de Cypress Semiconductor como segunda fuente de fabricación, Echelon ahora recibe regalías por cada neurona y una tarifa de licencia de cada una de estas compañías, Más allá de estos proveedores de silicio, hay literalmente miles de compañías que fabrican productos en todo el mundo o utilizan la tecnología LonWorks, A medida que esta lista crece, también lo hace la aceptación de LonWorks en las diversas industrias a las que sirve.
Hoy en día, LonWorks se usa ampliamente en el mercado de la automatización de edificios, el mercado en el que es más conocido y líder en el mercado, La tecnología también se está utilizando en el transporte, la medicina, la industria, el hogar, los servicios públicos y muchos otros mercados, El sitio web de Echelon (www.echelon.com) enumera algunas de estas otras aplicaciones.
¿Qué es la tecnología LonWorks?
La tecnología LonWorks abarca los chips Neuron de los múltiples proveedores, el protocolo LonTalk, los diversos medios físicos que conectan los dispositivos, los dispositivos de conectividad como enrutadores y tarjetas de interfaz de PC, herramientas de administración de red y todos los diversos productos creados alrededor de la plataforma.
¿Por qué el “chip neuronal” es tan especial?
El chip Neuron es el corazón de casi todos los dispositivos basados en LonWorks, El chip Neuron es un sistema completo en un chip, Las Neuronas contienen toda la pila del protocolo LonTalk y están compuestas por varias CPU, memoria, E/S, puerto de comunicaciones, firmware y sistema operativo, Hay dos tipos básicos de chips Neuron, el 3120 y el 3150. Funcionalmente, son idénticos con la excepción de la configuración de la memoria y el embalaje, Si la memoria no es un problema, una aplicación que se ejecuta en un 3120 se ejecutará en un 3150.
Lo contrario puede no ser cierto si la aplicación es demasiado grande para el tamaño de la memoria del 3120. Básicamente, el 3120 es una unidad autocontenida, todo Su memoria está a bordo y no se puede expandir, Los proveedores de silicio hacen varias versiones diferentes de 3120 con diferentes cantidades de memoria para cumplir con varias restricciones de diseño, El 3150 tiene una dirección externa y un bus de datos para permitir una memoria ampliada, El 3150 se utiliza normalmente en aplicaciones más grandes, El elemento clave de cualquier chip Neuron es que debe implementar la pila completa del protocolo LonTalk.
¿Por qué hay tres CPU en una neurona?
El chip Neuron contiene tres CPU’s, Una CPU es el procesador de acceso a medios (MAC), El procesador MAC es responsable del envío y recepción de mensajes en la red, También verifica si el CRC y el destino del mensaje son correctos, El procesador de red es responsable de las capas medias del protocolo, Hacer cosas como enrutamiento de paquetes, direccionamiento de destino, acuses de recibo de extremo a extremo, reintentos, detección de mensajes duplicados, etc.
El tercer procesador es el procesador de aplicaciones, Es el procesador que ejecuta la aplicación personalizada del usuario, Este es un procesador de 8 bits y no tiene ningún punto flotante de hardware, Por lo tanto, no manejará todas las aplicaciones, pero si puede implementar su aplicación en un micro típico de 8 bits, entonces no debería tener ningún problema al usar el chip Neuron, Para esas aplicaciones más potentes, puede transferir el protocolo a otro procesador de gama alta o convertir el Neuron en un coprocesador de comunicaciones, Neuron puede conectarse a otro procesador y dejar que el procesador de gama alta ejecute la aplicación, mientras que Neuron se encarga de las comunicaciones.
Hay varias razones para usar dos procesadores, incluidos el bajo costo de los procesadores, el rendimiento y el desacoplamiento del tráfico de red del procesamiento de la aplicación, Con procesadores separados, si la aplicación está muy ocupada, el procesador de red aún puede enviar y recibir mensajes, Si la red está muy ocupada, la aplicación aún puede procesar los algoritmos de control local.
Dentro de las Neuronas hay básicamente 3 tipos de memoria disponibles: RAM, ROM y EEPROM, En el caso del 3120, toda su memoria está integrada y no se puede cambiar ni ampliar, El 3120 tiene ROM a bordo, Esto no es espacio de memoria disponible para el usuario, Este espacio ya está preprogramado en la fábrica con el protocolo LonTalk, el sistema operativo, las bibliotecas de E/S, etc. Además de la ROM, el 3120 también tiene memoria RAM integrada y EEPROM, Cuánto de cada uno depende de qué derivado del 3120 elija.
El 3150 no tiene ROM a bordo, sino que se basa en la memoria externa y la memoria para contener el protocolo, las bibliotecas y otro software del sistema, El 3150 tiene RAM y EEPROM a bordo, Nuevamente, la cantidad de memoria depende de la versión del 3150 que elija, Con el bus de memoria externo, el 3150 puede tener cualquier combinación de tipos de memoria que desee, Una restricción es que el primer espacio de 16K se dedica al protocolo, sistema operativo, etc. El 48K restante de espacio está disponible para el código de la aplicación.
¿Cómo maneja la neurona la memoria?
Dentro de la Neurona, hay 4 imágenes de memoria, Esas imágenes son la imagen del sistema, la imagen de red, la imagen de comunicación y la imagen de la aplicación.
La imagen del sistema contiene el protocolo, el sistema operativo, las bibliotecas de E/S, etc. Esta imagen ya se encuentra en la ROM integrada 3120, En el caso del 3150, el usuario debe hacer que la imagen del sistema se almacene en la memoria externa dentro de los primeros 16K del espacio de direcciones de la memoria.
La imagen de comunicación contiene los parámetros de comunicación, como el tipo de medios, la velocidad, etc. Las neuronas predeterminadas son el par trenzado diferencial a la velocidad de datos más alta disponible con el reloj disponible.
La imagen de red contiene la dirección lógica de los dispositivos y la información de enlace, incluido el nodo de destino con el que hablar, los tipos de mensajes que se deben usar, etc. Por lo general, esta imagen se modifica en el momento de la instalación mediante una herramienta de administración de red, La imagen de la aplicación contiene los algoritmos de control personalizados del usuario, Si está comprando un dispositivo LonWorks, es probable que la imagen de la aplicación ya esté desarrollada y almacenada con el dispositivo.
Al dividirlo en 4 imágenes diferentes, le da al desarrollador y al usuario una gran cantidad de flexibilidad para determinar cuándo y dónde se carga cada imagen, Como mínimo, para que las neuronas se comuniquen deben tener las imágenes del sistema y las comunicaciones, La imagen de la red y las imágenes de la aplicación se pueden descargar a través de la red LonWorks o cargar en la fábrica.
Otro beneficio interesante de esta estructura es que en ninguna parte de la aplicación especifica qué medios está utilizando o qué tipo de dispositivo será el destino de las comunicaciones, Esto proporciona una gran flexibilidad, Esa es la función de la imagen de red, Un integrador puede comprar un dispositivo que contenga las imágenes del Sistema, la Aplicación y la Comunicación, Luego, el integrador puede modificar la imagen de la red para identificar los canales de comunicación físicos para cada aplicación en particular.
¿Cómo se conecta la neurona a una red?
Cada Neuron tiene una interfaz de transceptor de 5 pines, La interfaz es configurable y los parámetros se almacenan en la imagen de comunicación, Hay tres configuraciones diferentes para el puerto de comunicaciones:
Manchester terminada sola codificada, Esto se suele utilizar para la conexión a transceptores como RS485 o Free Topology.
Manchester diferencial codificado, Esto proporciona una interfaz independiente de polaridad de 2 cables que se encuentra típicamente en los transceptores con cable de par trenzado estándar, Esta es la configuración predeterminada para la Neurona si no se selecciona nada más.
Modo de propósito especial, Esta interfaz proporciona un puerto de dos vías para un transceptor inteligente, Echelon utiliza esta interfaz con sus transceptores de línea de potencia.
Cabe señalar que el chip Neuron tiene un transceptor completo a bordo y es capaz de comunicarse a través de un par trenzado sin otros componentes adicionales que algunas resistencias, Esto no se recomienda ya que los cables de comunicaciones están conectados directamente al silicio y no tienen aislamiento, pero en ciertos casos limitados, puede ser apropiado crear una red pequeña sin transceptor externo.
Otra nota es la introducción por Echelon de un chip de transceptor Neuron y Topología combinada, A medida que la tecnología avanza, puede esperar ver una mayor integración que ofrezca a los diseñadores más opciones de implementación.
¿Cuánto E/S soporta la neurona?
Las neuronas de hoy tienen 11 pines de E/S para interactuar con el mundo exterior, No hay nada mágico en ese número, Future Neurons podría contener 1 o 100 I/O según los proveedores de silicio y la demanda del mercado, O un procesador de gama alta con el protocolo LonTalk puede tener cualquier configuración de E/S deseable por el diseñador.
Junto con el hardware de E/S, las Neuronas contienen firmware de biblioteca de E/S, Con la combinación de firmware y hardware, la E/S se puede configurar para proporcionar más de 34 modelos de E/S diferentes, Por ejemplo, en lugar de que un desarrollador tenga que escribir código para implementar la E/S de PWM, en el código de aplicación para el Neuron simplemente declara que uno de sus pines de E/S es una salida de PWM, Facilita el desarrollo de las interfaces de E/S para el desarrollador.
¿Qué es la identificación de la neurona?
Los chips de Neuron tienen cada uno una identificación de Neuron de 48 bits única; Esto es análogo al ID de MAC en Ethernet, Echelon maneja esos números para asegurar la singularidad, Las comunicaciones se inician utilizando la identificación de Neuron y luego se realizan asignaciones de direcciones lógicas para la aplicación.
¿Qué es LonTalk?
El protocolo LonTalk es la tecnología central que proporciona un protocolo implementado, depurado, mantenido y probado, Implementa la funcionalidad completa del estándar de protocolo OSI de 7 capas, Esto proporciona una gran flexibilidad y capacidad de expansión, No se requiere que las redes pequeñas usen todos los servicios, pero a medida que la red crece, las funciones están ahí para expandirse sin tener que actualizar el software o el firmware.
No hay nada en el protocolo LonTalk que limite la velocidad de comunicación, Cuando se lanzaron las primeras Neuronas, admitían velocidades de comunicación de hasta 1.25 Mbps, El protocolo soporta una variedad de velocidades hasta el máximo, Esto es importante para soportar una variedad de medios, No todos los medios pueden manejar 1.25Mbps, Powerline, por ejemplo, no puede manejar velocidades más altas, por lo que la Neuron también tiene que ser capaz de manejar velocidades más bajas.
¿Cuál es el protocolo para acceder a la red LonWorks?
En cualquier red, debe haber un mecanismo para obtener acceso al bus para que su dispositivo pueda enviar un mensaje, Echelon no quería reinventar la rueda, pero también necesitaba un método de acceso que pudiera escalar bien, Muchas de las aplicaciones que Echelon apuntó involucrarían redes de miles o decenas de miles de dispositivos, Un método de acceso que escala es CSMA, que muchos de ustedes saben que es el método de acceso utilizado en Ethernet.
El problema con CSMA y Ethernet es que no es un buen sistema de control, La forma en que CSMA funciona, es que cuando 2 o más dispositivos desean comunicarse en el bus, escuchan la red y esperan que la línea se quede en silencio, Cuando la línea se queda en silencio, los dispositivos que intentan comunicarse inmediatamente comienzan a transmitir sus mensajes, Si hay 2 o más intentos al mismo tiempo, se produce una colisión, En el mundo de Ethernet, los dispositivos detectan esa colisión e inmediatamente detienen la transmisión y se desactivan, Cada dispositivo espera una cantidad de tiempo aleatoria y luego vuelve a intentarlo, Esperemos que cada dispositivo haya esperado un tiempo diferente y luego se haya resuelto la colisión.
El problema es que, dentro del protocolo Ethernet, hay un número fijo de ranuras de aleatorización, Eso significa que, a medida que aumenta el número de dispositivos que intentan comunicarse, también aumenta la probabilidad de que dos o más dispositivos que elijan la misma ranura de asignación aleatoria, Al observar la curva de rendimiento de una red Ethernet típica, verá una curva de palo de hockey.
El número de colisiones aumenta dramáticamente a medida que aumenta el tráfico hasta que la red es 100% colisiones, Esto ocurre en aproximadamente el 40% de la utilización del ancho de banda; Básicamente apagando la red, En el mundo de la oficina Ethernet, Tener la red apagada momentáneamente no es un gran problema, Entonces, su impresión demora unos segundos más en imprimirse, ¡gran cosa! ¿Y si fuera un mensaje de freno en un sistema de trenes?
¿Desea que su red esté diseñada de tal manera que no pueda enviar el mensaje?
Afortunadamente, se ha investigado mucho sobre los protocolos CSMA desde la invención de Ethernet, No ve la mayoría de esos cambios debido a problemas heredados, no puede simplemente regresar y cambiar los sistemas Ethernet de todos, Echelon se basó en la investigación y aplicó algunas técnicas innovadoras propias para crear una versión de CSMA que fuera más adecuada para las aplicaciones de control, Esa versión fue CSMA p-persistente con prevención de colisiones y detección de colisiones opcional.
Si bien Ethernet tiene un número fijo de ranuras de aleatorización, el protocolo LonTalk utiliza información en el protocolo y los encabezados de mensajes para predecir el tráfico de mensajes y aumentar o disminuir dinámicamente la cantidad de ranuras de aleatorización, Así que a medida que aumenta el tráfico, aumenta la cantidad de espacios, A medida que el tráfico disminuye, el número de slots disminuye.
El resultado neto es que cuando aumenta el tráfico, la probabilidad de que dos o más dispositivos seleccionen la misma ranura de aleatorización permanece baja, Mirando la curva de rendimiento, el protocolo LonTalk proporciona una respuesta lineal al tráfico ofrecido, A diferencia de la curva de palo de hockey de Ethernet, que tiene un 100% de colisiones con un 40% de utilización de ancho de banda, el protocolo LonTalk tiene estadísticamente una tasa de colisión inferior al 4%, incluso con un 100% de utilización de ancho de banda.
Si bien este rendimiento es notable, se podría decir que esto es excelente, pero hay un 4% de probabilidad de que no llegue un mensaje de frenado del tren, Para resolver este problema, el protocolo LonTalk permite ranuras de mensajes de prioridad, Puede definir ranuras en las que ningún otro dispositivo puede usar para aleatorizar, Esos espacios de prioridad pueden reservarse para aquellos mensajes clave (mensajes de frenos del tren) que deben tener acceso sin importar cuán ocupada esté la red.
En general, el protocolo LonTalk es uno de los protocolos más robustos disponibles, No va a resolver los problemas de todos y ciertamente no es apropiado para todas las aplicaciones, Pero puede satisfacer una amplia gama de necesidades dentro de la industria de control.
¿Cómo dirige LonWorks los dispositivos en la red?
Hay una variedad de mecanismos de direccionamiento dentro del protocolo LonTalk, Un método es utilizar el ID de neurona de 48 bits y direccionar el nodo directamente, Si bien puede comunicarse de esta manera, no es aconsejable en el día a día, La dirección física de identificación de Neuron es única para cada chip Neuron, Supongamos que tenemos una pequeña red de dispositivos y usamos la ID de Neuron como la dirección, Si un dispositivo se rompe y se reemplaza, la ID de neurona de ese dispositivo cambia con la nueva Neurona, Para que los otros dispositivos lo reconozcan, tendría que cambiar la programación de cada nodo en la red, Este no es un método eficiente para gestionar una red dinámica, Más apropiadamente, le gustaría darle a la Neurona una dirección lógica, De esa manera, si un dispositivo se rompe, simplemente le da al dispositivo de reemplazo la misma dirección lógica que la anterior.
Pero, ¿cómo le da a un dispositivo una dirección lógica si no puede hacerlo? El ID de Neuron se utiliza normalmente como un mecanismo de arranque, Le proporciona los medios para dirigir un dispositivo para que pueda asignarle una dirección lógica, En la Neurona, esa dirección lógica consta de tres partes: la ID de dominio, la ID de subred y la ID de nodo, El ID de dominio es la dirección de la red lógica global, ¿Necesita una ID de dominio? Quizás y quizás no, depende de las necesidades de su red, El ID de dominio es programable en longitud de cero bytes a seis bytes de longitud, Normalmente, se utiliza una ID de dominio si tiene la posibilidad de compartir los medios con otras redes.
Por ejemplo, si estoy usando comunicaciones de línea eléctrica para la automatización del hogar, es probable que mis mensajes se vean en las líneas eléctricas de mis vecinos, especialmente si el vecino está en el mismo transformador, Para evitar que mis mensajes de control interfieran con los dispositivos de mi vecino, asignaría diferentes Id. De dominio, Si tiene una pequeña red cerrada que “nunca” va a compartir los medios con otra red, entonces puede establecer la longitud del dominio en cero y ahorrar algo de sobrecarga de comunicación.
A cada neurona se le pueden asignar dos direcciones lógicas, Con eso, una Neurona puede pertenecer a dos redes lógicas diferentes, Un ejemplo de uso de eso sería asignar un medidor en la casa a un dominio de utilidad y a un dominio de origen, O los dispositivos en un edificio podrían asignarse a un dominio de supervisor de edificio y a un dominio de piso.
El direccionamiento de tres partes proporciona flexibilidad en los esquemas de direccionamiento, Puede abordar todos los dispositivos de la red utilizando la ID de dominio, Puede hablar con un dispositivo específico utilizando su ID de subred/nodo o puede hablar con una colección de dispositivos en una subred utilizando el ID de subred.
Después de dar a los dispositivos los ID de dominio/subred/nodo, puedo asignar los ID de grupo, Un grupo es una colección de dispositivos que se pueden abordar como una unidad, Esto es sutilmente diferente de usar el direccionamiento de subred, Una colección de dispositivos en una subred no puede abarcar un enrutador, En otras palabras, los dispositivos dentro de una subred deben estar en el mismo canal físico, Los miembros de un grupo pueden estar en cualquier lugar dentro del dominio lógico y no están restringidos a residir en el mismo canal físico, Cada neurona puede pertenecer a hasta 15 grupos diferentes.
Esto permite diferentes funcionalidades de dispositivo basadas en el mecanismo de direccionamiento, Por ejemplo, una luz puede pertenecer al grupo Sala de conferencias y al grupo Iluminación de seguridad y al grupo Iluminación de emergencia, El comportamiento de la luz dependerá de qué dirección de grupo se utiliza, Un mecanismo de direccionamiento más es el mensaje explícito.
Como puede ver, hay una tremenda flexibilidad para abordar los mecanismos, Dónde y cómo se usa cada uno está más allá del alcance de esta introducción, pero basta con decir que hay fortalezas y debilidades para cada uno, Es importante comprender la arquitectura de su red para poder elegir el mecanismo de direccionamiento más adecuado para su aplicación.
¿Qué son las variables de red?
Uno de los objetivos principales del protocolo LonTalk es brindar a los desarrolladores, de la misma o diferentes empresas, la capacidad de diseñar productos que puedan interactuar entre sí, El protocolo LonTalk proporciona un marco de aplicaciones común que garantiza la interoperabilidad utilizando conceptos potentes denominados variables de red y tipos de variables de red estándar (SNVT), La asociación de interoperabilidad LONMARK ha desarrollado modelos de dispositivos funcionales para garantizar la compatibilidad de plug and play.
La comunicación entre nodos en una red se realiza utilizando las variables de red que se definen en cada nodo, El desarrollador del producto define las variables de red cuando el programa de aplicación se crea como parte de la capa de aplicación del protocolo, Las variables de red son compartidas por múltiples nodos, Algunos nodos pueden enviar una variable de red, mientras que otros pueden recibir, Al solo permitir enlaces entre entradas y salidas del mismo tipo, las variables de red aplican un enfoque orientado a objetos para el desarrollo de productos, Esto simplifica enormemente el proceso de desarrollo y gestión de sistemas distribuidos.
Cuando un programa de nodo escribe un nuevo valor en una de sus variables de salida, el nuevo valor se propaga a través de la red a todos los nodos con variables de red de entrada conectadas a esa variable de red de salida, Esta acción es manejada por el protocolo dentro del chip Neuron.
¿Qué son las SNVT?
El uso de los tipos de variables de red estándar (SNVT, pronunciados “snivets”) contribuye a la interoperabilidad de los productos LONWORKS de diferentes fabricantes, Echelon mantiene una lista creciente de más de 100 SNVT para casi todos los tipos de medidas físicas, incluido el tipo de variable, como un entero o un punto flotante, Por ejemplo, un SNVT para nivel continuo se define como SNVT_lev_contin.
Si todos los fabricantes utilizan este tipo de variable en su aplicación cuando se define una variable de red para nivel continuo, cualquier dispositivo que lea un nivel continuo puede comunicarse con otros dispositivos en la red que puedan estar utilizando la variable como salida de sensor para iniciar un actuador, Siempre que una variable de entrada de red y una variable de salida de red se definan con el mismo SNVT cuando el desarrollador crea las aplicaciones, pueden conectarse entre sí en la red a través de un proceso llamado enlace.
Cuando instala un nodo, especifica qué variables de red deben conectarse entre los nodos, Esto se hace fácilmente resaltando la variable de red de salida en un nodo y la variable de red de entrada en el nodo o nodos a conectar, Solo las variables de red del mismo tipo de SNVT se pueden unir, En otras palabras, un tipo de temperatura no podría estar vinculado a un tipo de presión.
Los siguientes son ejemplos de SNVTs, Una lista completa de SNVT está disponible en Echelon.
Tipo variable | Unidades |
Temperatura | Grados Celsius |
Humedad relativa | Por ciento |
Cambiar Estado | Booleano |
Estado del dispositivo | Booleano |
Día de la semana | Lista enumerada (lunes a domingo) |
Tiempo real | MM, DD, YYYY |
Tiempo transcurrido | En segundo lugar, milisegundos, días u horas. |
Incluso contar | Cuenta |
% de escala completa | Por ciento |
Alfanumérico | Personajes ASCII |
Alfanumérico | Personajes kanji |
Alfanumérico | Personajes internacionales |
Estado del teléfono | Lista enumerada (colgado, colgado, ocupado, timbre, etc.) |
Energía | Kilovatios-Horas |
Poder | Vatios |
voltaje | DC o AC RMS |
Corriente | Amperios AC, RMS |
Resistencia | Ohmios |
Volumen | Galones, CCF, litros |
Fluir | Galones o litros / hora |
Peso | Kilogramos, lbs. |
Velocidad | Millas o Km / hora |
Presión | Lbs./sq.in, Pascales, Pulgadas-Hg |
Nivel de sonido | dBrnc |
voltaje | dB microvoltios |
Tabla 1 – Ejemplos de SNVT
¿Qué tipos de mensajes están disponibles?
Una vez que se han asignado las direcciones, ahora puede enviar y recibir mensajes o variables de red. El protocolo LonTalk proporciona una serie de opciones para la entrega de sus mensajes.
Una opción es enviar su mensaje Sin acuse de recibo (no contestado). Esto también se conoce como el “protocolo de envío y oración”. Mediante el uso del servicio UnAcked, el mensaje se envía a la red según sea necesario, sin confirmación de que se haya recibido. Este puede ser un método apropiado para mensajes recurrentes de baja importancia. Un ejemplo sería un dispositivo que informa la temperatura exterior cada 5 minutos. Si pierdo un mensaje, es probable que lo reciba unos minutos más tarde.
Otra opción de mensaje es la repetición no reconocida (UnAckedR). Al igual que UnAcked, este servicio envía el mismo mensaje un número fijo de veces. El número de las repeticiones es programable. Este mecanismo es útil cuando desea aumentar la probabilidad de que un grupo de dispositivos reciba un mensaje sin tratar con la retroalimentación de cada dispositivo.
El ejemplo aquí está en el mundo de la automatización de edificios. Si tengo un edificio que está habilitado para LonWorks y se detecta un incendio, entonces la primera prioridad del sistema de control es hacer sonar la alarma, encender los rociadores y otros controles relacionados con el fuego. Como tarea secundaria, le gustaría encender todas las luces en el edificio, pero ciertamente no desea que la retroalimentación de cada luz vuelva. Eso crearía un enorme tráfico en la red e impactaría el rendimiento de los mensajes importantes.
El servicio de entrega de mensajes predeterminado es Servicio reconocido con reintentos automáticos (Acked). Cuando un mensaje sale como servicio Acked, el dispositivo receptor envía un acuse de recibo (Ack) para indicar que el mensaje se recibió correctamente. Los mensajes recibidos pueden enviarse a dispositivos individuales o a grupos y el protocolo realiza un seguimiento de los Acks de los miembros del grupo.
Los reconocimientos son verdaderos reconocimientos de extremo a extremo. Los Acks provienen de los nodos receptores y no de los enrutadores. Si no se recibe un Ack en un período de tiempo determinado, el protocolo reenvía automáticamente el mensaje. El valor predeterminado es 3 reintentos, pero esto es programable. Si después de los reintentos, no se ha recibido un Ack, entonces se establece un indicador que indica la falla en la entrega del mensaje. Su aplicación puede decidir cómo reaccionar ante ese fallo.
Un cuarto servicio de entrega de mensajes es Solicitud / Respuesta. Este es un mensaje de aplicación a aplicación con la respuesta que devuelve datos con él. Este método se utiliza para sondear un dispositivo para obtener datos.
Un punto interesante de estos servicios de mensajes es que no están codificados como parte de su aplicación, sino que se almacenan por separado en la imagen de red. Esto significa que en el momento de la instalación puede determinar qué método de entrega es el más apropiado. O en algún momento posterior, puede regresar y cambiar el método de entrega sin cambiar el código de su aplicación.
¿Qué pasa con la seguridad de LonWorks?
El protocolo LonTalk no implementa el cifrado de datos, pero sí implementa la autenticación de remitente. Si bien son matemáticamente similares, proporcionan una protección diferente. El cifrado de datos se utiliza comúnmente para ocultar datos. El saldo de su cuenta corriente es un ejemplo de datos encriptados. La autenticación de remitente se utiliza para verificar que el remitente de un mensaje es un remitente autorizado. Examinemos el medidor de servicios domésticos como ejemplo. A la empresa de servicios públicos le gustaría poder actualizar las tarifas de los precios de las empresas dentro del medidor enviando un mensaje al medidor con los nuevos programas de precios.
El medidor recibe los nuevos datos, pero ¿cómo sabe realmente que los nuevos horarios provienen de una fuente autorizada (en este caso, la utilidad)? La utilidad no quiere ocultar los datos, porque otros dispositivos dentro de la casa pueden hacer uso de los programas de precios para ejecutar la casa de manera más eficiente. Pero no quieren que cualquiera pueda cambiar las tarifas para que utilicen la autenticación del remitente.
La forma en que funciona es que la utilidad coloca una clave única de 48 bits en el medidor, una clave de autenticación. Esto no es lo mismo que la ID de Neuron de 48 bits. La clave de autenticación no se puede leer fuera de la Neurona y no se puede cambiar sin tener ya la clave. Una vez que la llave está en su lugar y la utilidad envía el mensaje de actualización de precios, el medidor ahora ve un mensaje autenticado. El medidor responde al mensaje autenticado enviando un desafío con un número aleatorio de 64 bits. El dispositivo de envío recibe el número aleatorio y realiza una transformación de autenticación en él y devuelve la transformación al medidor. El medidor realiza la misma transformación y, si coincide con la respuesta de la utilidad, se procesará el mensaje de “actualización de precios”.
En ningún momento se transmite la clave de autenticación en este intercambio. Un espía en la red vería el programa de precios, seguido de un número aleatorio de 64 bits, seguido de una transformación. Matemáticamente, dado el número aleatorio y la transformación, es prácticamente imposible determinar la clave.
Si bien este mecanismo de autenticación es muy seguro, debe utilizarse con prudencia ya que duplica la cantidad de tráfico para cada mensaje autenticado.
¿Cómo se enrutan los mensajes de LonWorks?
El protocolo LonTalk incluye mecanismos para enrutar mensajes. Los enrutadores se pueden configurar como enrutadores de aprendizaje, enrutadores configurados, repetidores o puentes. Los enrutadores se utilizan por varias razones. Lo primero es físico. Cualquier medio con el que te comuniques tiene limitaciones físicas. Si se trata de medios cableados, puede tener distancia, número de cargas o limitaciones de la unidad. En medios inalámbricos tendrá limitaciones de distancia e interferencia. Los enrutadores son útiles para extender la red más allá de esas limitaciones, hacer que la red vaya más lejos o agregar dispositivos adicionales a la red.
Otra razón para usar enrutadores es cruzar a un medio diferente que se ejecuta a diferentes velocidades de comunicación. Podría ser apropiado construir una red que tenga un segmento cableado, un segmento de línea eléctrica y un segmento inalámbrico. Los enrutadores conectarán sin problemas estos diversos mensajes de medios y búferes para permitir las diferentes velocidades.
Una tercera razón para usar enrutadores es para la segmentación del tráfico. Un enrutador es un dispositivo inteligente y solo pasa mensajes de un lado a otro si el destino del mensaje está en el otro lado del enrutador. Este hecho es útil cuando se diseña su sistema. Si tiene un grupo de dispositivos que se comunican entre sí de forma regular, puede colocar esos dispositivos en un canal y separarlos del resto de la red a través de un enrutador.
Los mensajes entre los dispositivos en ese canal permanecerán en ese canal y no afectarán el rendimiento del resto del sistema. Sin embargo, cualquier mensaje con un destino en el otro lado del enrutador se entregará sin problemas. Poner un poco de previsión en la segmentación de su red permite la utilización máxima del ancho de banda.
[Arriba] ¿Cuáles son los tipos de mensajes de LonWorks?
Hay dos tipos de mensajes básicos en el protocolo LonTalk, variables de red y mensajes explícitos. A diferencia de los servicios de entrega de mensajes, los mensajes explícitos deben redactarse con anticipación e implementarse en el código de su aplicación. En caso de que decida realizar algún cambio en la cantidad o los tipos de mensajes, su código de aplicación debe modificarse y volver a compilarse. De los dos tipos, las variables de red son las más utilizadas, las más interoperables y las más fáciles de usar. La mayor parte de la discusión se centrará en las variables de red.
¿Cómo se utilizan las variables de red?
Al comienzo de su código de aplicación, normalmente declara sus variables. En Neuron C, el lenguaje de programación del chip Neuron, tiene la opción de declarar una variable como una Variable de Red (NV). Se puede declarar como una entrada de red o una variable de salida de red. Después de declarar la variable como “NV”, declara su tipo, que puede ser cualquier tipo de datos C válido. Luego, como cualquier variable C, le da a la variable NV una etiqueta o nombre de referencia. Si una variable se declara como una entrada NV, entonces ha identificado esa variable para el sistema operativo dentro del chip Neuron. Esperará tráfico de red para esa variable con datos del tipo que especificó.
Si la variable se declara como una salida NV, el sistema operativo Neuron observa esa variable y, si se modifica, la propaga automáticamente a través de la red. Como programador, no hace nada más que cambiar la variable como parte de su código de aplicación y se transmite automáticamente a los consumidores de esa variable. No hay construcción de paquetes, formato de trama, envío y espera de Acks, etc. Todas las funciones de comunicación son manejadas por el protocolo subyacente.
Las variables de red actúan como cualquier otra variable C. Puedes inicializarlos, evaluarlos o modificarlos. Cada NV puede contener cadenas de auto-documentación, que son útiles durante la integración del dispositivo.
¿Qué significa “vinculante”?
En ninguna parte del código de su aplicación, especifique el destino para una salida NV o el tipo de servicio utilizado para entregarlo. Esto se hace normalmente durante la fase de puesta en servicio de una red. En la puesta en servicio, el destino se determina a través de un proceso llamado “vinculante”.
Las NV de salida están vinculadas a las NV de entrada del mismo tipo de datos. Una NV de salida puede enviarse a múltiples NV de entrada o múltiples NV de salida pueden enviarse a una NV de entrada.
Una de las fortalezas de la tecnología es que este procedimiento se realiza en la puesta en servicio a través de la red y, por lo tanto, se puede cambiar en una fecha posterior. Si determina que los dispositivos adicionales necesitan información de un sensor específico, agregue esos enlaces a la red. No hay reprogramación o desarrollo necesario.
¿Qué son los mensajes explícitos de LonTalk?
Los mensajes explícitos requieren que la aplicación cree el paquete, especifique la dirección de destino y el mecanismo de entrega, etc. Esta técnica requiere significativamente más programación que el uso de NV y es intrínsecamente no interoperable. Entonces, ¿por qué usarías este método? Bueno, las primeras NV están limitadas a 31 bytes de datos, máximo. Es posible que tenga una aplicación que requiera una estructura de mayor longitud. Quizás tienes una razón deliberada para no ser interoperable.
Puede crear sus propios tipos de mensajes de esta manera. Quizás la razón más común para usar este método es evitar las limitaciones de enlace. Por ejemplo, solo hay 15 entradas de la tabla de direcciones en la Neurona. Eso limita la cantidad de direcciones de destino a las que puedes enlazar. Si tiene muchos mensajes que deben enviarse a una amplia gama de direcciones, los mensajes explícitos podrían beneficiarlo.
La clave es examinar sus necesidades cuidadosamente y usar cada tipo de mensaje donde sea apropiado.
¿Qué medios son compatibles?
El protocolo LonTalk fue diseñado para operar sobre cualquier tipo de medio. El chip Neuron proporciona una interfaz de hardware flexible para facilitar la conexión a una amplia variedad de tipos de transceptor. Hoy puede obtener transceptores que le permiten comunicarse a través de par trenzado, par trenzado de topología libre (FTT), radiofrecuencia (RF), comunicaciones de línea de potencia (PLC), cable coaxial, etc. Si puede diseñar un transceptor para ello, entonces Puede utilizar el protocolo LonTalk sobre él. ¡Hay una compañía en Nueva Zelanda que desarrolló un transceptor LonWorks que se comunica a través de una cerca eléctrica!
De estos tipos de transceptor, el par trenzado, la topología libre y la línea de alimentación están disponibles en Echelon. Otros tipos de medios están disponibles en otras compañías de terceros. También puede desarrollar su propio si lo desea.
La decisión sobre qué tipo de medio se usa generalmente se basa en una serie de criterios como los estándares de la industria, el ancho de banda, la distancia, la cantidad de dispositivos, etc. Como se mencionó anteriormente, no tiene que cambiar el código de su aplicación para cambiar el tipo de medio. Esto le da al diseñador la oportunidad de construir diferentes modelos con varios tipos de transceptores y reutilizar el código de la aplicación sin tener que volver a compilar.
¿Qué ha causado este entusiasmo para LonWorks?
No es ningún secreto que los feudos propietarios han dominado el negocio de la automatización desde que la gente comenzó a conectar redes PLC. Cientos de protocolos han llegado y se han ido, y los dominantes (E/S remotas, Autopista de datos, Genius I/O, Modbus Plus y otros) han protegido el territorio de los fabricantes de PLC.
Esto ha dado como resultado un costo y una complejidad considerables para dos grupos: 1) usuarios, que están cansados de estar atrapados en una serie de decisiones y precios altos simplemente porque compraron un Controlador Programable o BAS (Sistema de Automatización de Edificios) de un proveedor en particular; 2) proveedores más pequeños, que a menudo fabrican productos innovadores y avanzados, pero están bloqueados por protocolos propietarios.
LonWorks es una tecnología muy importante, no solo porque aborda la mayoría de las preocupaciones técnicas de las redes industriales, sino también porque cuenta con el respaldo de los principales actores de la industria de la automatización de edificios. Siemens, Honeywell y Johnson Controls. Esto le da una posición muy importante en el mercado.
¿Cómo puedes implementar LonWorks de forma rápida y efectiva?
Una vez que haya tomado la decisión de agregar la conectividad de LonWorks, tiene varias formas de proceder. Las opciones varían en el tiempo de comercialización, compatibilidad, requisitos de recursos y precio.
Use una puerta de enlace serial disponible
Una puerta de enlace en serie lista para usar es el enfoque menos económico y menos funcional para la habilitación de LonWorks de su producto. Debido a que la mayoría de los dispositivos LonWorks son simples dispositivos sensores / actuadores, es raro encontrar una aplicación que pueda soportar los requisitos de costo, espacio y energía de una puerta de enlace. Además, la mayoría de las aplicaciones requieren un conjunto único de SNVT; lo que significa que realmente no existe una puerta de enlace completamente lista para usar que pueda usarse en aplicaciones universales. Esto contrasta con redes como DeviceNet, Profibus o Ethernet, donde los datos en serie pueden convertirse genéricamente a la red objetivo.
Por este motivo, hay pocos, si es que hay alguno, de compuertas LonWorks listas para usar. Si su volumen es lo suficientemente alto (250 unidades o más por año), un fabricante de dispositivos LonWorks como Real Time Automation puede personalizar uno de sus productos para que funcione como una puerta de enlace en serie en su aplicación. La personalización consiste en diseñar su flujo de comunicación en serie e implementar la imagen de la aplicación (SNVT para su aplicación). Los costos de personalización varían según la complejidad de su protocolo de comunicaciones en serie y su aplicación.
Tableros de hijas adicionales
Una tarjeta secundaria complementaria es en realidad una puerta de enlace serial incrustada dentro de la huella de su dispositivo. Una tarjeta auxiliar complementaria tiene todas las características de la puerta de enlace descrita anteriormente y el rediseño de su hardware para incorporar la PCB de puerta de enlace serie. Real Time Automation suministra tableros secundarios de este tipo; no solo para LonWorks, sino también para otros fieldbuses como DeviceNet, Industrial Ethernet y Profibus.
PCBs personalizados
Las empresas de ingeniería de contratos pueden proporcionarle una tarjeta de comunicaciones completamente personalizada para su aplicación, generalmente en 90 días o menos, dependiendo de la complejidad de su aplicación. Real Time Automation suministra estos tipos de PCB a empresas de todo el mundo.
Hazlo tu mismo
El enfoque más costoso, prolongado y arriesgado es formar un esfuerzo interno para construirlo usted mismo. Si bien es cierto que esto es lo que esperaría escuchar de una compañía cuya empresa es vender hardware y software de redes personalizados, los hechos aún hablan por sí solos.
Los costos para desarrollar aplicaciones LonWorks son considerablemente más altos que otros esfuerzos de desarrollo de redes. Algunas de las piezas más caras que se necesitan incluyen:
- Echelon Nodebuilder: la herramienta de desarrollo utilizada para crear dispositivos LonWorks
- Echelon LonMaker: la herramienta de red para crear una red LonWorks a partir de un grupo de dispositivos LonWorks. LonMaker realiza la vinculación de los SNVT descritos anteriormente en este documento.
- Capacitación: no querrá continuar sin una capacitación de 4 a 5 días en las instalaciones de Echelons California.
- Piezas: el transceptor y las neuronas pueden ser costosos y, a veces, en lotes grandes. El costo varía según el canal de comunicación particular que seleccione. LonWorks Sniffer: varias empresas hacen sniffers que pueden detectar e interpretar el protocolo LonTalk. Puede ser difícil completar su primer desarrollo sin un Sniffer.
Personal de soporte – para manejar el soporte continuo
También querrá obtener otros dispositivos LonWorks, preferiblemente dispositivos para los cuales su producto debe ser compatible. Necesitará cable de red y todos los demás componentes de red.
Al igual que todas las implementaciones de protocolos complejos, hay matices de la especificación de LonWorks que no son fácilmente perceptibles. Los recursos internos necesarios para la compilación interna suelen ser mucho más costosos que utilizar un recurso externo o comprar un componente. El riesgo de perder matices aparentemente inocuos y perder una fecha de envío es mucho mayor que el costo de software o ingeniería externos.
Para obtener información sobre nuestros productos, por favor visita nuestra pagina web Logicbus.