Skip to main content

Diagnóstico CANopen

El capítulo describe las opciones de diagnóstico que ofrece el protocolo CANopen.

Estado CANopen

Una red CANopen consta de un maestro NMT (gestión de red) y esclavos NMT. En este caso, el maestro NMT controla todos los dispositivos y puede cambiar sus estados de comunicación. Un dispositivo CANopen se encuentra en uno de cuatro estados posibles:

_can_img_state.png

Inicialización: Después de encender, el nodo pasa por este estado. En este momento, se inicializan la aplicación del dispositivo y la comunicación del dispositivo (tasa de bits y dirección de nodo). Posteriormente, el nodo cambia de forma independiente al estado "Pre-Operational".

Preoperacional: la comunicación con el nodo es posible a través de SDO. Sin embargo, el nodo no puede realizar la comunicación PDO.

Operacional: el nodo CANopen está completamente operativo. Puede enviar y recibir datos de proceso de forma independiente.

Detenido: El nodo está completamente separado de la red. No es posible la comunicación SDO o PDO. El nodo puede cambiar a otro estado de red solo mediante un comando de red correspondiente (ejemplo: iniciar nodo).

Registro de errores

Según CiA 301, cada dispositivo CANopen tiene un registro de errores (objeto 16#1001). Este registro se puede leer a través de SDO y, en caso de error, proporciona información adicional sobre el error.

Solo se requiere el bit 0 (error genérico) en el registro de errores. Los otros bits son opcionales y no los establece cada esclavo. Tan pronto como un dispositivo detecta algún error, se establece al menos el bit 0 de este objeto.

tabla 22. Registro de errores

Un poco

Descripción

0

Error generico

1

Actual

2

Voltaje

3

Temperatura

4

Error de comunicación (estado de error de desbordamiento)

5

Perfil de dispositivo específico

6

Reservado (siempre 0)

7

Específico del fabricante



Campo de error predefinido y de emergencia (EMCY)

CANopen define el protocolo de emergencia opcional (EMCY) para indicar errores. Una emergencia es un mensaje CAN que se transmite de acuerdo con la conexión predefinida establecida con CAN-ID 16#80 + NODE-ID.

El telegrama tiene la siguiente estructura:

_can_img_emcy.png

La longitud de un mensaje de emergencia es siempre de 8 bytes. El respectivo código de error de emergencia (EEC) se transmite en los dos primeros bytes. A esto le sigue el valor actual del registro de errores 0x1011 (ER: registro de errores) y 5 bytes específicos del fabricante (MEF: campo de error específico del fabricante).

La interpretación respectiva de los códigos de error debe tomarse del manual del fabricante. El protocolo de emergencia no es compatible con todos los esclavos y el administrador CANopen debe configurarlo en consecuencia.

El historial de las emergencias ocurridas (historial de errores) se puede leer desde el objeto 16#1003 a través de SDO. Aquí, el subíndice 0 contiene el número de errores almacenados y los siguientes subobjetos contienen los contenidos de datos de las emergencias transmitidas.

Mecanismos de monitoreo: Heartbeat y Node Guarding

Se requiere el monitoreo de un nodo CAN si no envía mensajes continuamente (PDO cíclicos). Para ello se proporcionan los mecanismos 'heartbeat' y 'node guarding', que pueden utilizarse alternativamente.

  • Protección de nodos: con este protocolo, el maestro NMT envía mensajes (tramas remotas CAN) a los esclavos CANopen existentes. Los esclavos tienen que responder a estos mensajes dentro de un tiempo específico. Si no hay respuesta, el maestro NMT lo registra. Debido a que, en general, se deben evitar las tramas remotas de CAN, es preferible el monitoreo por medio de latidos.

  • Heartbeat: el protocolo Heartbeat se lanzó con CANopen versión 4.0 y es el método de monitoreo preferido. Aquí, cada nodo envía independientemente un mensaje en intervalos cíclicos. Este mensaje puede ser monitoreado por cualquier otro suscriptor en la red.