Códigos de excepción Modbus
Respuestas de excepción
Las respuestas de excepción del cliente o un servidor pueden ser el resultado de errores de procesamiento de datos. Uno de los siguientes sucesos puede producirse tras una solicitud del cliente:
-
Si el servidor recibe la solicitud del cliente sin un error de comunicación y puede gestionar la solicitud correctamente, devuelve una respuesta normal.
-
Si el servidor no recibe la solicitud del cliente debido a un error de comunicación, no devuelve una respuesta. El programa del cliente procesa finalmente una condición de tiempo de espera superado para la solicitud.
-
Si el servidor recibe la solicitud del cliente, pero detecta un error de comunicación, no devuelve una respuesta. El programa del cliente procesa finalmente una condición de tiempo de espera superado para la solicitud.
-
Si el servidor recibe la solicitud del cliente sin un error de comunicación, pero no puede gestionarla (por ejemplo, la solicitud consiste en leer un registro que no existe), el servidor devuelve una respuesta de excepción para informar al cliente de la naturaleza del error.
Trama de excepción
El servidor envía una trama de excepción al cliente para notificar una respuesta de excepción. Una trama de excepción se compone de 4 campos:
Campo |
Definición |
Tamaño |
Descripción |
---|---|---|---|
1 |
Número de servidor |
1 byte |
Destino de la solicitud
|
2 |
Código de función de excepción |
1 byte |
Código de función de solicitud + 128 (0x80) |
3 |
Código de excepción |
n bytes |
Consulte el párrafo siguiente |
4 |
Comprobación |
2 bytes |
CRC16 (para comprobar errores de transmisión) |
Códigos de excepción
La trama de respuesta de excepción tiene dos campos que la diferencian de una trama de respuesta normal:
-
El código de función de excepción de la respuesta de excepción es igual al código de función de la solicitud original más 128 (0x80).
-
El código de excepción depende del error de comunicación que encuentre el servidor.
En la tabla siguiente se describen los códigos de excepción que gestiona el ATSE:
Código de excepción |
Nombre |
Descripción |
---|---|---|
01 (0x01) |
Función no válida |
El código de función recibido en la solicitud no es una acción autorizada para el servidor. El servidor puede encontrarse en un estado incorrecto para procesar una solicitud específica. |
02 (0x02) |
Dirección de datos no válida |
La dirección de datos recibida por el servidor no es una dirección autorizada para el servidor. |
03 (0x03) |
Valor de datos no válido |
El valor del campo de datos de la solicitud no es un valor autorizado para el servidor. |
04 (0x04) |
Error de dispositivo servidor |
El servidor no puede realizar una acción solicitada debido a un error irrecuperable. |