Diagnóstico de bus CAN
Diagnóstico de fallas de hardware
La mayoría de los problemas de CAN se remontan a un cableado incorrecto o dispositivos CAN defectuosos. Los posibles errores incluyen los siguientes:
Resistencias terminales faltantes o mal dimensionadas
El bus debe terminar exactamente con una resistencia terminal de 120 Ω al principio y al final.
Diferentes velocidades de transmisión
Todos los suscriptores deben utilizar la misma velocidad en baudios.
Cortocircuito entre CANLow, CANHigh, CANGround, V+
CANLow y CANHigh intercambiados
Diferentes longitudes de CANHigh y CANLow
CANHigh y CANLow no son un par trenzado. Como resultado, las señales se pueden interrumpir más fácilmente.
Diferentes fuentes de puesta a tierra para CANGround
Conexión a tierra de dos lados del cable de bus CAN
Cuando ambos extremos del blindaje del cable del bus CAN están conectados a tierra, se pueden formar bucles de conexión a tierra que pueden causar interrupciones.
Cable de bus demasiado largo
La longitud máxima del bus depende de la velocidad de transmisión establecida (ver tabla).
Tasa de bits | Longitud del cable |
---|---|
10 kbps | 6,7 kilometros |
20 kbps | 3,3 kilometros |
50 kbps | 1,0 kilometros |
125 kbps | 500 metros |
250 kbps | 250 metros |
500 kbps | 125 metros |
1Mbps | 25 metros |
Detección de fallas de hardware

La resistencia terminal se utiliza para adaptar la impedancia de un nodo a la impedancia del cable de transmisión utilizado. Cuando hay un desajuste de la impedancia, la carga no absorbe completamente la señal transmitida y parte de ella se refleja de nuevo en el cable de transmisión. Si las impedancias de la fuente, el cable de transmisión y la carga son las mismas, estas reflexiones se eliminan. En esta prueba, se mide la resistencia en serie de los cables del par de datos CAN y las resistencias terminales conectadas.
Apague la fuente de alimentación de todos los nodos CAN.
Mida la resistencia entre CAN_H y CAN_L en el medio y al final de la red.
El valor medido debe estar entre 50 Ω y 70 Ω. El valor debe ser el mismo en todas las ubicaciones de la red.
Si el valor es inferior a 50 Ω, asegúrese de lo siguiente:
No hay cortocircuito entre los cables CAN_H y CAN_L.
No existen más de dos resistencias terminales.
Los nodos no tienen transceptores defectuosos.
Si el valor es superior a 70 Ω, asegúrese de lo siguiente:
No existe ningún circuito abierto en el cableado de los cables CAN_H y CAN_L.
El sistema de bus tiene dos resistencias terminales, cada una de 120 Ω, una en cada extremo.

Cada nodo contiene un transceptor CAN que envía señales diferentes. Cuando la comunicación de la red está inactiva, los voltajes CAN_H y CAN_L son de aproximadamente 2,5 V. Los transceptores defectuosos pueden causar que los voltajes de circuito abierto varíen e interrumpan la comunicación de la red.
Apague la fuente de alimentación de todos los nodos CAN.
Detenga todas las comunicaciones de red.
Mida la corriente continua entre CAN_H y GND.
El valor medido debe estar entre 2,0 V y 4,0 V. Si es inferior a 2,0 V o superior a 4,0 V, es posible que uno o más nodos tengan un transceptor defectuoso.
Con un voltaje inferior a 2,0 V, debe verificar la continuidad de los cables CAN_H y CAN_L.
Con un voltaje superior a 4,0 V, debe verificar si hay sobrevoltaje.

El blindaje de la red CAN puede conectarse a tierra en un solo lugar. Esta prueba indica si el blindaje está o no conectado a tierra en múltiples ubicaciones.
Separa el escudo del suelo.
Mida la resistencia de corriente continua entre el blindaje y la tierra.
Conecte el blindaje a tierra.
La resistencia debe ser superior a 1 MΩ. Si es más bajo, entonces debe buscar una conexión a tierra adicional del escudo.

Los transceptores CAN tienen un circuito que controla CAN_H y otro circuito que controla CAN_L. La experiencia ha demostrado que los daños eléctricos en uno o ambos circuitos pueden aumentar la corriente de fuga en estos circuitos.
Utilice un instrumento de medición de resistencia para medir la corriente de fuga.
Separe el nodo de la red. Deja el nodo sin corriente.
Mida la resistencia de corriente continua entre CAN_H y CAN_GND.
Mida la resistencia de corriente continua entre CAN_L y CAN_GND.
Normalmente, la resistencia debe estar entre 1 MΩ y 4 MΩ o más. Si es inferior a este rango, es probable que el transceptor CAN esté defectuoso.

Manejo de errores de un controlador CAN
El manejo de errores está integrado en el protocolo CAN y es extremadamente importante para el rendimiento de un sistema CAN. El manejo de errores tiene como objetivo detectar errores en los mensajes CAN para que el remitente pueda reenviar un mensaje fallido. Cada controlador CAN intenta detectar errores dentro de un mensaje. Cuando se encuentra un error, el nodo de detección envía un indicador de error y, por lo tanto, interrumpe el tráfico del bus. Los otros nodos detectarán el error causado por el indicador de error (si aún no han detectado el error original). Tomarán las medidas apropiadas y rechazarán el mensaje actual.
Estos contadores y también el estado del bus a menudo brindan información inicial sobre la causa del error al diagnosticar errores de CAN. Esta información se puede leer en CODESYS tanto a través de la interfaz de usuario como de la aplicación.