Glosario de Automatización • Tabla de códigos de excepción Modbus

Códigos de excepción Modbus: tabla de referencia completa

Ingeniería Merobix • • 4 min de lectura

Cuando un dispositivo Modbus no puede cumplir una solicitud devuelve un código de excepción, y saber qué significa cada código convierte un error críptico en un siguiente paso claro. Esta referencia reúne los códigos de excepción estándar en una sola tabla, desde los comunes 01 a 04 hasta los códigos de ruta de gateway 0A y 0B, e indica para cada uno si la corrección está en la solicitud, en el dispositivo o en la ruta de red.

Volver al glosario

Tabla de códigos de excepción Modbus en una línea: Los códigos de excepción Modbus estándar son 01 función ilegal, 02 dirección de datos ilegal, 03 valor de datos ilegal, 04 falla del dispositivo, 05 reconocimiento, 06 dispositivo ocupado, 08 error de paridad de memoria, 0A ruta de gateway no disponible y 0B el destino del gateway no respondió. Los códigos 01 a 03 apuntan a la solicitud, el 04 y el 08 al dispositivo, el 05 y el 06 son estados en curso, y el 0A y el 0B apuntan a un gateway.

La tabla de códigos de excepción

La tabla siguiente lista cada código de excepción estándar, su nombre y dónde está la falla, para que pueda dirigir el problema a la capa correcta de un vistazo.

CódigoNombreApunta a
01Función ilegalSolicitud: el dispositivo no soporta ese código de función
02Dirección de datos ilegalSolicitud: la dirección no existe en el dispositivo
03Valor de datos ilegalSolicitud: valor o cantidad fuera del rango permitido
04Falla del dispositivo servidorDispositivo: solicitud válida, falla interna
05Reconocimiento (acknowledge)En curso: comando largo aceptado, sondee más tarde
06Dispositivo servidor ocupadoTransitorio: dispositivo ocupado, reintente más tarde
08Error de paridad de memoriaDispositivo: falla de integridad en la memoria de registros de archivo
0ARuta de gateway no disponibleGateway: no hay ruta configurada hacia el destino
0BEl destino del gateway no respondióGateway: el dispositivo destino no contestó

Leer el código primero es lo que ahorra tiempo. Un código 02 lo manda al mapa de registros, cubierto en la referencia del direccionamiento de registros Modbus, mientras que un código 04 lo manda al dispositivo, como lo explica la referencia de la excepción Modbus 04.

Agrupar los códigos según dónde mirar

Los códigos caen en grupos naturales. Los códigos 01, 02 y 03 son del lado de la solicitud: el dispositivo le está diciendo que la función, la dirección o el valor de su solicitud no es aceptable, y cada uno se corrige arreglando la solicitud. Estas son las excepciones cotidianas que un integrador encuentra al construir un mapa, y el mecanismo general detrás de ellas está en la referencia del código de excepción Modbus.

Los códigos 04 y 08 son fallas de integridad del lado del dispositivo, el 05 y el 06 son estados en curso que piden sondear o reintentar en lugar de cambiar algo, y el 0A y el 0B son errores de ruta de gateway que significan que el problema está entre el maestro y un dispositivo serial detrás de un gateway, no en ninguno de los dos extremos. Un código 0B en particular suele significar que el dispositivo serial destino está muerto o que su identificador de unidad está mal, lo que conecta con la referencia del unit ID y dirección de esclavo Modbus.

Preguntas frecuentes

¿Qué códigos de excepción Modbus apuntan a la solicitud y cuáles al dispositivo?

Los códigos 01 función ilegal, 02 dirección de datos ilegal y 03 valor de datos ilegal apuntan a la solicitud y se corrigen arreglándola. Los códigos 04 falla del dispositivo y 08 error de paridad de memoria apuntan al dispositivo mismo. Los códigos 05 y 06 son estados en curso u ocupado, y el 0A y el 0B apuntan a un gateway entre el maestro y un dispositivo serial.

¿Qué significan los códigos de excepción de gateway 0A y 0B?

El código 0A, ruta de gateway no disponible, significa que el gateway no tiene una ruta configurada hacia el dispositivo destino. El código 0B, el destino del gateway no respondió, significa que el gateway encontró la ruta pero el dispositivo serial aguas abajo no contestó. Ambos indican que la falla está en el gateway o en el dispositivo serial detrás de él, no en el maestro ni en la solicitud.

¿El código de excepción 05 es un error?

No exactamente. El código 05, reconocimiento, significa que el dispositivo aceptó un comando de larga duración y lo está procesando, así que el maestro debe sondear hasta que termine en lugar de tratarlo como falla. Junto con el código 06 ocupado, es uno de los dos valores de excepción que describen un estado en curso y no una solicitud rechazada.

Fuentes y lecturas

Referencias primarias de los organismos de normas y reguladores que definen este tema:

Más en Protocolos industriales
Borrar una excepcion Modbus de direccion de datos ilegal  •  Excepcion Modbus de valor de datos ilegal (codigo 03)  •  Excepcion Modbus de funcion ilegal (codigo 01)  •  Código de excepción Modbus  •  Excepción de dirección de datos ilegal Modbus  •  Todo en Protocolos industriales →
Capacitación SCADA gratuita para operadores
Merobix University - 70 lecciones en video y 261 preguntas de examen, del primer inicio de sesión a los reportes de cumplimiento (contenido en inglés). Sin llamada de ventas.
Comenzar gratis →