La maquinaria móvil moderna utiliza redes CAN para intercambiar datos entre controladores, ECU de motor, sensores, pantallas HMI y módulos de E/S remotos.
Pero ¿qué ocurre cuando un mensaje CAN esperado deja de llegar?
El controlador no debería seguir utilizando datos antiguos indefinidamente. Debe detectar la pérdida de comunicación, marcar los datos como no válidos y decidir cómo debe responder la máquina.
Un proceso típico es:
ECU / Sensor / E/S Remotas
↓
Mensaje CAN
↓
Controlador Móvil
↓
Supervisión de Timeout
↙ ↘
Mensaje OK Timeout
↓
Gestión del Fallo
↓
Alarma / Acción Segura
Por ello, la gestión de timeouts es una parte importante de un sistema de control fiable.
Muchos dispositivos CAN transmiten mensajes a intervalos regulares.
Por ejemplo, una ECU puede enviar la velocidad del motor cada 100 ms, mientras que un sensor CAN transmite periódicamente datos de presión o posición.
El controlador supervisa el tiempo transcurrido entre mensajes.
Si no recibe un nuevo mensaje dentro del periodo establecido, detecta un timeout de comunicación.
Mensaje esperado: cada 100 ms
Mensaje recibido → Datos válidos
Sin mensaje durante 500 ms → Timeout
Timeout → Datos no válidos
El tiempo límite adecuado depende de la frecuencia del mensaje y de la importancia de los datos.
Un timeout no significa necesariamente que toda la red CAN haya fallado.
Entre las causas más comunes se encuentran:
Pérdida de alimentación de una ECU o sensor
Cableado CAN dañado
Conectores sueltos
Configuración CAN incorrecta
Reinicio de un dispositivo
Errores de comunicación
Fallo de un módulo de E/S remoto
Por este motivo, el sistema debe proporcionar información de diagnóstico que facilite la localización del problema.

Imagine un sensor CAN que transmite la presión hidráulica.
El último valor recibido es:
Presión hidráulica = 180 bar
Si se pierde la comunicación, el controlador todavía puede conservar ese valor en memoria.
Sin embargo, esto no significa que la presión real continúe siendo de 180 bar.
Por ello, los datos deberían tener también un estado de validez:
Presión = 180 bar
Estado = Válido
Después de un timeout:
Presión = Último valor recibido
Estado = No válido
Así, la lógica de control puede evitar utilizar datos obsoletos como si fueran actuales.
La detección de timeouts es especialmente importante cuando el controlador recibe datos del motor mediante J1939.
Estos datos pueden incluir:
Velocidad del motor
Carga del motor
Temperatura del refrigerante
Presión de aceite
Información de diagnóstico
Si un mensaje esperado deja de recibirse, el controlador puede generar un fallo de comunicación con la ECU y marcar los datos afectados como no válidos.
ECU del Motor
↓
J1939
↓
Controlador Móvil
↓
Supervisión de Timeout
Los sistemas distribuidos suelen utilizar módulos de E/S remotos conectados mediante CAN.
Si se pierde la comunicación con uno de estos módulos, el controlador principal puede perder acceso a varios sensores o actuadores al mismo tiempo.
Sensores / Válvulas
↓
E/S Remotas
↓
CAN
↓
Controlador Principal
El controlador debe detectar esta situación y ejecutar una estrategia de fallo predefinida.
Depende de la aplicación.
Para información no crítica, puede ser aceptable mostrar temporalmente el último valor recibido.
Sin embargo, para señales utilizadas directamente en el control de la máquina, mantener datos antiguos puede provocar decisiones incorrectas.
Las posibles respuestas incluyen:
Marcar el valor como no válido
Utilizar un valor de respaldo
Limitar la función afectada
Desactivar una salida
Entrar en un modo de funcionamiento degradado
La estrategia debe definirse según la función y los requisitos de la máquina.
Cuando se produce un timeout, el controlador puede enviar información de fallo a la pantalla HMI.
El operador puede recibir mensajes como:
Pérdida de Comunicación con ECU
Timeout del Sensor CAN
E/S Remotas Fuera de Línea
Dispositivo CAN Sin Respuesta
El sistema también puede registrar información sobre el dispositivo afectado, el momento del fallo y el número de ocurrencias.
Esto facilita el diagnóstico durante el mantenimiento.
La recuperación también debe gestionarse correctamente.
El controlador puede comprobar que los mensajes válidos vuelven a recibirse antes de restaurar el funcionamiento normal.
Comunicación Perdida
↓
Timeout Activo
↓
Regresan Mensajes Válidos
↓
Validación de Datos
↓
Fallo Eliminado
↓
Funcionamiento Normal
En determinadas aplicaciones puede ser conveniente exigir varios mensajes válidos consecutivos antes de considerar estable la comunicación.
Un timeout demasiado corto puede generar falsas alarmas.
Uno demasiado largo puede hacer que el controlador continúe utilizando información antigua durante demasiado tiempo.
Los ingenieros OEM deben considerar:
Ciclo normal del mensaje
Importancia de la señal
Carga de la red CAN
Retrasos esperados
Tiempo de respuesta requerido
Estrategia ante fallos
Por ejemplo, si un mensaje se transmite normalmente cada 100 ms, el timeout puede establecerse por encima de un único ciclo para evitar que un mensaje perdido provoque inmediatamente un fallo.
La gestión de timeouts CAN es una parte importante del diseño de sistemas de control para maquinaria móvil.
Cuando una ECU, un sensor o un módulo de E/S remoto deja de transmitir los mensajes esperados, el controlador debe detectar la pérdida de comunicación, marcar los datos afectados como no válidos y ejecutar una estrategia adecuada.
Una buena gestión de timeouts evita que los datos CAN obsoletos sean tratados como información actual y facilita el diagnóstico de fallos.