Código de función 16 (escribir registros múltiples)
Excepciones generales
● Escribir menos de 1 o más de 16 registros => Excepción 3 (valor de datos no válido)
● Si el valor de ByteCount no es exactamente el doble de NoOfRegisters => Excepción 3
(valor de datos no válido)
● Solicitar una dirección inicial no válida o una dirección inicial con una cantidad no válida
=> Excepción 2 (dirección de datos no válida)
Excepciones de aplicación:
● Errores de aplicación; límite mín./máx. de parámetro excedido; o parámetro protegido
contra escritura => Excepción 4 (error de dispositivo esclavo)
● Uno de los errores de aplicación es escribir en los registros de espera ReadOnly
Alineación de registros/huecos:
● Si la dirección inicial no corresponde al inicio de un registro de espera mapeado =>
Excepción 2 (dirección de datos no válida)
● La escritura en los huecos se permite (se ignora y no aparece ninguna excepción),
excepto para la situación que se describe más arriba.
● Si la dirección final sólo forma parte de un elemento de registro de espera mapeado (por
ejemplo, la mitad de un valor en coma flotante), la acción dependerá del tipo de datos.
Escribir partes de todos los tipos de datos => Excepción 4 (error de dispositivo esclavo)
Ejemplo de código de función 16
Consulta
Dirección esclavo
Función
MSB dirección inicial
LSB dirección inicial
MSB cantidad de registros
LSB cantidad de registros
Recuento de bytes
MSB valor de registros
LSB valor de registros
:
MSB valor de registros
LSB valor de registros
CRC
FC410 con Modbus
Instrucciones de servicio, 05/2015, A5E33209358-AB
Registros de espera Modbus
A.2 Códigos de función Modbus
1 byte
1 byte
1 byte
1 byte
1 byte
1 byte
1 byte
1 byte
1 byte
:
1 byte
1 byte
2 bytes
125