FAQs Técnicas

Realizar una pregunta

¿Qué diferencias hay entre los dos métodos de monitorización de nodos en un bus CANopen?

Los buses CANopen proveen dos alternativas de monitorización de los nodos para asegurar la correcta operación de los mismos:

  1. Node guarding: se trata de un sistema de peticiones cíclicas lanzadas por el llamado "NMT-Master" a cada uno de los nodos de la red ("NMT-Slaves"). Este mensaje es enviado a los  esclavos en intervalos de tiempo definidos ("guard time") y contiene datos referentes al estado actual de las comunicaciones (parado, operacional, pre-operacional) junto con un toggle-bit. Si un nodo no responde a la petición lanzada por el NMT-Master dentro de un cierto tiempo ("node life time") es evaluado como un fallo del mismo, advertido al NMT-Master como un "node-guarding event". Por otro lado, el NMT-Slave también monitoriza si ha recibido la petición desde el maestro dentro de su "life time" (tiempo de vida). Si hay una ausencia de petición node guarding por un tiempo mayor que el "life-time" de un nodo, el NMT-Slave asume que el NMT-Master ha fallado y lo indica a su controlador host con un evento "Life guarding event". Con este método se requiere que cada nodo tenga un identificador CAN para solicitar su estado de las comunicaciones. Los identificadores para estos mensajes son de baja prioridad y se ubican en el rango 1792 + node-ID.
  2. Heartbeat: este método utiliza un sistema de transmisión automático cuya fuente es cada nodo del bus. Cada esclavo transmite automáticamente su estado en intervalos de tiempo regulares como muestra de su correcta disposición para comunicar dentro de la red. El intervalo de tiempo entre dos mensajes de heartbeat ("heartbeat interval") de cada productor de heartbeat es configurado mediante el objeto 1017 del diccionario del dispositivo. Un valor 0 deshabilita este mecanismo. El llamado "heartbeat consumer time" de hasta los 127 nodos de la red es configurado en el objeto 1016 del diccionario del equipo que consume o recibe el bit de vida de los nodos productores. Éste intervalo intervalo describe el tiempo máximo dentro del cual se espera recibir un mensaje de heartbeat de un nodo concreto.
¿Ha sido útil?
¿Qué podemos hacer para mejorar la información?