5 Operación
5.5.6 Códigos de error para el protocolo Modbus
Cuando se trabaja con el protocolo Modbus, pueden ocurrir errores. Estos errores se describen en
la tabla 5.5. En caso de error, el módulo envía una respuesta a la red del maestro con un código de
error
Table 5.5 Lista de posibles errores
Nombre
MODBUS_ILLEGAL_
FUNCTION
MODBUS_ILLEGAL_DATA_
ADDRESS
MODBUS_ILLEGAL_DATA_
VALUE
MODBUS_SLAVE_DEVICE_
FAILURE
Durante el intercambio a través del protocolo Modbus, el módulo verifica el cumplimiento de las
solicitudes con la especificación Modbus. El módulo ignora las solicitudes que fallan en la
verificación. Las solicitudes que especifican una dirección que no coincide con la dirección del
módulo también se ignoran.
A continuación, se verifica el código de función. Si el módulo recibe una solicitud con un código de
función no especificado en la tabla 5.6, se produce un error MODBUS_ILLEGAL_FUNCTION.
Table 5.6 Lista de funciones soportadas
Nombre
MODBUS_READ_HOLDING_
REGISTERS
MODBUS_READ_INPUT_
REGISTERS
MODBUS_WRITE_SINGLE_
REGISTER
MODBUS_WRITE_
MULTIPLE_REGISTERS
MODBUS_READ_FILE_
RECORD
MODBUS_WRITE_FILE_
RECORD
Las situaciones que conducen a errores durante el funcionamiento con registros se describen en la
tabla 5.7.
Table 5.7 Errores al trabajar con registros
Función
MODBUS_READ_
HOLDING_REGISTERS
MODBUS_READ_
INPUT_REGISTERS
akytec GmbH - Vahrenwalder Str. 269 A - 30179 Hannover - Germany Tel.: +49 (0) 511 16 59 672–0 - www.akytec.de
Código
Código de función ilegal. El error ocurre si
01 (0x01)
el módulo no admite la función Modbus
especificada en la solicitud.
Dirección de registro ilegal El error ocurre
si la solicitud contiene direcciones de
02 (0x02)
registro que no están en el Módulo.
Valor de datos ilegal. El error ocurre si la
03 (0x03)
solicitud contiene un valor no válido para
escribir en el registro
El error ocurre si la acción solicitada no
04 (0x04)
puede ser completada.
Código
Valores de lectura de uno o más registros
3 (0x03)
en espera
Lectura de valores de uno o más registros
4 (0x04)
de entrada
6 (0x06)
Escribiendo un valor en un registro único
16 (0x10)
Escribir valores en múltiples registros
20 (0x14)
Leyendo registro desde archivo
21 (0x15)
Escribiendo registro a archivo
Nombre del Error
MODBUS_ILLEGAL_
DATA_ADDRESS
MODBUS_ILLEGAL_
DATA_ADDRESS
Descripción
Descripción
Posibles causas
– número de registros solicitados es
mayor que el número máximo
posible (125);
– solicitud de parámetro inexistente
– número de registros solicitados es
mayor que el número máximo
posible (125);
– solicitud de parámetro inexistente
36