¿Cuál es la diferencia entre node guarding y heartbeat en CANopen?
CANopen tiene dos mecanismos para detectar cuándo un nodo se ha quedado callado, y funcionan en direcciones opuestas. El node guarding es el enfoque más antiguo, sondeado por el maestro: el maestro pregunta repetidamente a cada nodo por su estado, y el nodo responde con su estado de gestión de red y un bit de alternancia que prueba que la respuesta es fresca. El heartbeat es el enfoque más nuevo, producido por el nodo: cada nodo emite su propio mensaje de estado en un intervalo regular, y cualquiera que escuche nota si deja de llegar. Ambos derivan la salud de un nodo y su estado de gestión de red de la temporización de estos mensajes, pero el heartbeat suele preferirse porque elimina algunas de las debilidades del node guarding al alimentar un sistema de alarmas.
Node guarding frente a heartbeat en una línea: El node guarding de CANopen es un método sondeado por el maestro donde el maestro solicita el estado de cada nodo y el nodo responde con su estado de gestión de red más un bit de alternancia que se alterna para probar que la respuesta es viva. El heartbeat es un método producido por el nodo donde cada nodo difunde periódicamente su propio mensaje de estado, y un oyente detecta una falla si deja de llegar. El heartbeat suele preferirse para una detección confiable de nodo muerto.
Node guarding: el maestro sondea con un bit de alternancia
El node guarding pone al maestro a cargo de vigilar a sus nodos. En un intervalo regular, el maestro envía una solicitud de guarding a cada nodo que monitorea, y se espera que el nodo responda. Esa respuesta lleva dos piezas útiles de información: el estado actual de gestión de red del nodo, que le dice al maestro si el nodo está operacional, preoperacional o detenido, y un bit de alternancia que se voltea entre dos valores en cada respuesta sucesiva. El bit de alternancia está ahí para probar que cada respuesta es una respuesta fresca a una solicitud fresca, no un mensaje obsoleto o repetido.
La salvaguarda correspondiente del lado del nodo suele llamarse life guarding: el nodo mismo espera ser sondeado dentro de un tiempo fijo, y si las solicitudes del maestro dejan de llegar, el nodo puede concluir que su conexión al maestro falló y tomar una acción definida. Así que el node guarding en realidad provee monitoreo mutuo, con el maestro vigilando respuestas faltantes y el nodo vigilando solicitudes faltantes, cada lado usando un tiempo de espera para decidir que algo salió mal.
Las debilidades del node guarding son lo que motivó una alternativa. Como es de solicitud y respuesta, cada nodo monitoreado genera dos mensajes por ciclo, una solicitud y una respuesta, lo que suma bastante tráfico de bus cuando muchos nodos se vigilan con frecuencia. También ata el chequeo de salud al sondeo activo del maestro, así que el esquema se apoya fuertemente en el maestro y su comportamiento de sondeo. Estos inconvenientes son manejables, pero hicieron atractivo un enfoque más ligero e impulsado por el nodo a medida que CANopen maduró.
Heartbeat: cada nodo se anuncia a sí mismo
El heartbeat da la vuelta al monitoreo. En lugar de esperar a que le pregunten, cada nodo actúa como productor de heartbeat y envía un mensaje en un intervalo configurado, y ese mensaje lleva el estado actual de gestión de red del nodo. Cualquier dispositivo en el bus al que le importe el nodo, típicamente el maestro pero potencialmente otros, actúa como consumidor de heartbeat, esperando que ese mensaje llegue con regularidad. Si el heartbeat esperado no aparece dentro del tiempo de espera configurado del consumidor, el consumidor concluye que el nodo falló y puede levantar la respuesta apropiada.
Este enfoque de una vía, producido, es más simple y ligero que la solicitud y respuesta del node guarding. Hay un solo mensaje por nodo por intervalo en lugar de un par solicitud-respuesta, y no hay bit de alternancia que gestionar, porque la frescura de la información viene de forma natural de que el mensaje llegue a tiempo. Los intervalos del productor y del consumidor se configuran de modo que el tiempo de espera del consumidor sea cómodamente más largo que el intervalo de envío del productor, dando una pequeña tolerancia para un mensaje perdido o retrasado antes de declarar una falla.
El heartbeat también descentraliza el monitoreo de forma agradable. Como un nodo simplemente difunde su estado, más de un consumidor puede escuchar el mismo heartbeat, así que varios dispositivos pueden rastrear de forma independiente la salud de un nodo desde el único mensaje. Esto encaja con un diseño donde distintas partes de un sistema quieren saber si un nodo está vivo sin que cada una tenga que sondearlo. El estado que lleva el heartbeat significa que los consumidores aprenden no solo que el nodo está presente sino en qué modo está, que es exactamente la información que quiere una capa de alarma o supervisora.
Por qué se prefiere el heartbeat para alimentar un sistema de alarmas
Cuando la meta es una detección confiable de nodo muerto que finalmente impulse una alarma, el heartbeat tiene ventajas prácticas claras. Su tráfico más ligero y de una vía escala mejor a través de muchos nodos, y no depende de que el maestro sondee fielmente a todos, lo que elimina un único punto de comportamiento del que depende el node guarding. Para una capa supervisora cuyo trabajo es notar rápido y limpio cuándo un nodo deja de responder, un flujo constante de heartbeats autoanunciados es fácil de vigilar y fácil de razonar.
La información que lleva un heartbeat también está bien adaptada al alarmado. Cada mensaje reporta el estado de gestión de red del nodo, así que un consumidor puede distinguir un nodo que ha quedado completamente en silencio de uno que está presente pero ha salido del modo operacional. Esa distinción importa a un operador: un heartbeat faltante sugiere un nodo muerto o desconectado, mientras que un heartbeat que reporta un estado no operacional sugiere un nodo que está vivo pero no haciendo su trabajo. Ambos merecen una alarma, pero exigen respuestas distintas.
Para una plataforma SCADA en la nube, aquí es donde el mecanismo de nivel de campo se conecta al monitoreo de cara al operador. Un gateway que consume los heartbeats de los nodos sabe casi en tiempo real qué nodos CANopen están vivos y en qué estado están, y puede reenviar ese estado hacia arriba para que una plataforma como Merobix pueda mostrar la salud de los nodos a través de un sitio y levantar una alerta cuando un heartbeat se pierda. Como el heartbeat da una señal limpia, impulsada por el nodo, tanto de presencia como de estado, se mapea de forma natural sobre el tipo de alarmas de comunicación-fallida y de estado en las que un operador se apoya, que es gran parte de por qué es la opción preferida para el monitoreo moderno.
Preguntas frecuentes
¿Para qué sirve el bit de alternancia en el node guarding de CANopen?
El bit de alternancia se alterna entre dos valores en cada respuesta sucesiva de guarding, lo que prueba al maestro que la respuesta es una respuesta fresca a la solicitud más reciente en lugar de un mensaje obsoleto o repetido. Junto con el estado de gestión de red reportado, permite al maestro confirmar que el nodo responde genuinamente en tiempo real.
¿Cómo detecta el heartbeat de CANopen un nodo con falla?
Cada nodo difunde periódicamente un mensaje heartbeat que lleva su estado de gestión de red, y un consumidor espera ese mensaje dentro de un tiempo de espera configurado. Si el heartbeat deja de llegar, el consumidor concluye que el nodo falló. El tiempo de espera del consumidor se fija más largo que el intervalo de envío del nodo para tolerar un mensaje retrasado ocasional.
¿Por qué suele preferirse el heartbeat sobre el node guarding?
El heartbeat usa tráfico más ligero de una vía, no depende de que el maestro sondee cada nodo, y puede ser vigilado por varios consumidores a la vez, lo que lo hace escalar mejor e integrarse de forma más limpia con los sistemas de alarma. También reporta el estado del nodo, permitiendo a una capa supervisora distinguir un nodo silencioso de uno que está presente pero no operacional.
Servicios de automatización
¿Necesita convertir esta información en un sistema que funcione?
Merobix integra SCADA, programa PLC Allen-Bradley y Siemens, y diseña y fabrica tableros de control industrial.
Las solicitudes de reunión se revisan antes de confirmarse.