Al diagnosticar fallos en motores, vehículos industriales o maquinaria móvil que utilizan SAE J1939, es habitual encontrar códigos como:
SPN 110 FMI 0
A primera vista, estos números pueden resultar difíciles de interpretar. Sin embargo, constituyen una parte fundamental del sistema de diagnóstico J1939.
En términos sencillos:
SPN indica qué parámetro, señal o componente presenta una condición de fallo.
FMI indica qué tipo de fallo se ha detectado.
Al combinar ambos valores, una ECU, un controlador móvil o una pantalla HMI puede proporcionar información mucho más precisa sobre el problema.
En este artículo explicamos qué significan SPN y FMI, cómo funcionan conjuntamente y cómo se utilizan para diagnosticar fallos en maquinaria móvil.
SPN significa:
Suspect Parameter Number
O número de parâmetros é suspeito.
Un SPN identifica un parámetro, una señal, un componente o una condición específica dentro del sistema J1939.
Por ejemplo:
SPN 110 = Temperatura del refrigerante del motor
Esto significa que cuando aparece el SPN 110 en un código de diagnóstico, el fallo está relacionado con la temperatura del refrigerante del motor.
Otros SPN pueden estar relacionados con parámetros como:
Presión del aceite del motor
Régimen del motor
Temperatura del combustible
Presión de admisión
Posición del acelerador
Tensión del sistema
Diferentes sensores y señales de la ECU
Sin embargo, el SPN por sí solo no indica exactamente qué tipo de problema existe.
Para eso se necesita el FMI.
FMI significa:
Failure Mode Identifier
El identificador del modo de fallo.
El FMI describe la naturaleza del problema asociado al SPN.
Por ejemplo, un sensor puede presentar diferentes tipos de fallos:
Valor demasiado alto
Valor demasiado bajo
Señal errática
Tensión demasiado alta
Tensión demasiado baja
Circuito abierto
Corriente anormal
Datos de red incorrectos
Por eso, el mismo SPN puede aparecer acompañado de distintos valores de FMI.
La relación básica puede entenderse así:
SPN = ¿Qué presenta un problema?
FMI = ¿Qué tipo de problema presenta?
Veamos un ejemplo sencillo:
SPN 110 FMI 0
El SPN 110 corresponde a:
Temperatura del refrigerante del motor
El FMI 0 significa:
Datos válidos, pero por encima del rango operativo normal — nivel más severo
Por lo tanto, la combinación:
SPN 110 + FMI 0
Indica que la temperatura del refrigerante del motor ha alcanzado un nivel excesivamente alto.
Esto proporciona mucha más información que mostrar simplemente un mensaje genérico como:
Engine Fault
o:
Fallo del motor
Existen diferentes códigos FMI para describir distintos modos de fallo.
Algunos de los más habituales son:
| FMI | Significado general |
|---|---|
| 0 | Datos válidos, pero por encima del rango operativo normal — nivel más severo |
| 1 | Datos válidos, pero por debajo del rango operativo normal — nivel más severo |
| 2 | Datos erráticos, intermitentes o incorrectos |
| 3 | Tensión por encima de lo normal o cortocircuito a nivel alto |
| 4 | Tensión por debajo de lo normal o cortocircuito a nivel bajo |
| 5 | Corriente por debajo de lo normal o circuito abierto |
| 6 | Corriente por encima de lo normal o circuito conectado a masa |
| 7 | El sistema mecánico no responde correctamente |
| 9 | Frecuencia de actualización anormal |
| 12 | Dispositivo inteligente o componente defectuoso |
| 13 | Fuera de calibración |
| 19 | Datos de red recibidos con error |
Estos códigos ayudan a los técnicos a determinar no solo qué parámetro presenta una anomalía, sino también la naturaleza del fallo.
Este es uno de los conceptos más importantes para comprender el diagnóstico J1939.
Supongamos que una ECU supervisa un sensor.
El parámetro correspondiente puede tener siempre el mismo SPN, pero diferentes problemas pueden generar distintos FMI.
Por ejemplo:
SPN XXX + FMI 3
→ Tensión demasiado alta
SPN XXX + FMI 4
→ Tensión demasiado baja
SPN XXX + FMI 5
→ Corriente demasiado baja / posible circuito abierto
Por eso no es suficiente consultar únicamente el SPN.
Para interpretar correctamente un DTC J1939, es necesario analizar SPN y FMI conjuntamente.
En J1939, la información de diagnóstico se organiza en Diagnostic Trouble Codes (DTC) o códigos de diagnóstico de fallos.
Un DTC puede incluir información como:
SPN
FMI
Occurrence Count (OC)
Por ejemplo:
SPN: 110 FMI: 0 OC: 3
Esto indica qué parámetro presenta el problema, qué tipo de fallo se ha detectado y proporciona información adicional sobre la ocurrencia del fallo.
Esta estructura permite que diferentes dispositivos conectados a la red J1939 interpreten la información de diagnóstico de una forma estandarizada.
Los códigos SPN y FMI aparecen habitualmente en los mensajes de diagnóstico J1939.
Uno de los más importantes es:
DM1 — Diagnostic Message 1
DM1 se utiliza para comunicar códigos de diagnóstico actualmente activos.
Un flujo simplificado sería:
ECU detecta un fallo
↓
Genera un DTC
↓
SPN + FMI
↓
Mensaje J1939 DM1
↓
Controlador / HMI
Por ejemplo, una ECU de motor puede detectar una temperatura excesiva del refrigerante y transmitir el DTC correspondiente a través de DM1.
El controlador móvil o la HMI puede recibir el mensaje y mostrar la información al operador.

Los valores SPN y FMI son útiles para ingenieros y técnicos, pero no siempre son fáciles de entender para un operador.
Por eso, una HMI puede convertir los códigos en mensajes más claros.
En lugar de mostrar únicamente:
SPN 110 FMI 0
La pantalla puede indicar:
TEMPERATURA DEL REFRIGERANTE DEL MOTOR DEMASIADO ALTA
Al mismo tiempo, una página de diagnóstico más detallada puede conservar los datos técnicos:
FALLO ACTIVO DEL MOTOR
SPN: 110
FMI: 0
Occurrence Count: 3
Temperatura del refrigerante: 108 °C
De esta forma, la misma HMI puede proporcionar información sencilla para el operador y datos más detallados para el personal de mantenimiento.
Un controlador móvil programable puede recibir mensajes de diagnóstico procedentes de diferentes dispositivos conectados a la red CAN/J1939.
Por ejemplo:
ECU del motor ── J1939 ──┐
│
Otros dispositivos CAN ──┼──→ Controlador móvil
│
Sensores / E/S ───────────┘
│
↓
HMI
Después de interpretar la información SPN/FMI, el controlador puede utilizarla para diferentes funciones.
Entre ellas:
Mostrar advertencias en la HMI
Activar alarmas
Registrar fallos
Supervisar el estado de la máquina
Limitar determinadas funciones
Activar estrategias de protección
Facilitar el mantenimiento
La respuesta concreta dependerá de la lógica de control y de los requisitos de cada máquina.
Este punto es especialmente importante durante el diagnóstico.
Si aparece un DTC relacionado con un sensor, eso no significa necesariamente que el sensor esté averiado.
Las posibles causas pueden incluir:
Sensor defectuoso
Cable dañado
Conector suelto
Circuito abierto
Cortocircuito
Mala conexión a masa
Alimentación eléctrica incorrecta
Problemas de comunicación CAN
Una condición mecánica realmente fuera del rango normal
Por ejemplo, un código relacionado con una temperatura elevada puede indicar un problema eléctrico del sensor, pero también puede significar que el motor realmente se está sobrecalentando.
Por ello, SPN y FMI deben utilizarse como punto de partida para el diagnóstico, no como una orden automática para sustituir un componente.
Un proceso práctico de diagnóstico puede seguir estos pasos:
1. Identificar la ECU que genera el fallo
Determine qué dispositivo de la red J1939 está transmitiendo el DTC.
2. Leer el SPN
Identifique qué parámetro o señal está relacionado con el fallo.
3. Leer el FMI
Determine qué tipo de anomalía ha detectado la ECU.
4. Consultar los datos en tiempo real
Compare el código con valores actuales del sensor, estado de E/S y parámetros de funcionamiento.
5. Revisar cableado y conectores
Compruebe alimentación, masa, continuidad, circuitos abiertos y cortocircuitos.
6. Comprobar la comunicación CAN
Si el FMI está relacionado con la comunicación, revise también el estado de la red CAN/J1939.
7. Verificar la reparación
Después de corregir la causa, confirme que el fallo deja de estar activo y que el sistema vuelve a funcionar correctamente.
Este procedimiento ayuda a evitar el reemplazo innecesario de componentes y permite localizar la causa real del problema de forma más eficiente.
La maquinaria moderna puede integrar numerosos dispositivos electrónicos:
ECU del motor
Controladores móviles
Pantallas HMI
Módulos de E/S
Sistemas hidráulicos
Sensores
Otros dispositivos CAN
Cuando aparece un problema, un simple indicador de “Fault” no proporciona suficiente información.
SPN y FMI permiten que el sistema de diagnóstico comunique información mucho más específica:
qué presenta una anomalía + qué tipo de anomalía se ha detectado
Esto ayuda a mejorar:
La visibilidad de los fallos
La eficiencia del diagnóstico
La velocidad de mantenimiento
La localización de averías
La disponibilidad de la máquina