Códigos de excepción Modbus: tabla de referencia completa
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.
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ódigo | Nombre | Apunta a |
|---|---|---|
| 01 | Función ilegal | Solicitud: el dispositivo no soporta ese código de función |
| 02 | Dirección de datos ilegal | Solicitud: la dirección no existe en el dispositivo |
| 03 | Valor de datos ilegal | Solicitud: valor o cantidad fuera del rango permitido |
| 04 | Falla del dispositivo servidor | Dispositivo: solicitud válida, falla interna |
| 05 | Reconocimiento (acknowledge) | En curso: comando largo aceptado, sondee más tarde |
| 06 | Dispositivo servidor ocupado | Transitorio: dispositivo ocupado, reintente más tarde |
| 08 | Error de paridad de memoria | Dispositivo: falla de integridad en la memoria de registros de archivo |
| 0A | Ruta de gateway no disponible | Gateway: no hay ruta configurada hacia el destino |
| 0B | El 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:
- Modbus Specifications - Modbus Organization
Servicios de automatización
¿Necesita convertir esta información en un sistema que funcione?
Merobix integra SCADA, programa PLC Allen-Bradley y Siemens, y diseña y fabrica tableros de control industrial.
Las solicitudes de reunión se revisan antes de confirmarse.