Noticias de la compañía

Cómo Gestionan los Controladores Móviles los Timeouts de Comunicación CAN

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.









¿Qué es un Timeout de Comunicación CAN?

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.








¿Qué Puede Causar un Timeout CAN?

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.




Cómo Gestionan los Controladores Móviles los Timeouts de Comunicación CAN







¿Por Qué los Datos CAN Antiguos Pueden Ser un 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.








Supervisión de Timeouts en J1939

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









Pérdida de Comunicación con E/S Remotas

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.









¿Debe Utilizarse el Último Valor Válido?

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.








Alarmas HMI y Diagnóstico

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.








¿Qué Ocurre Cuando se Recupera la Comunicación?

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.











Cómo Definir el Tiempo de Timeout

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.









Conclusión

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.