Códigos de función
6.3 Leer registros múltiples
6.3
Leer registros múltiples
Mensajes de comandos
Las funciones de lectura de los registros múltiples (03hex) permiten que el maestro solicite
información del esclavo. El mensaje de comando de una lectura de los registros múltiples
tiene la estructura que se indica a continuación. Cada fila de la tabla se compara con un
byte en el mensaje: el byte superior (dirección esclavo) se transmite primero.
La dirección inicial del esclavo es 1. Es posible utilizar la dirección 0 (broadcast) y otros
valores entre 1 y 255.
El código de función de este mensaje es 03 hex (leer registros múltiples)
El registro de inicio es el primer registro que debe leerse.
La cantidad indica cuántos registros consecutivos de 16 bits deben leerse. La cantidad
puede oscilar entre 1 y 26 registros. Si la cantidad es superior a 26, se devuelve un código
de error de 03 hex en el mensaje de respuesta de excepción.
Se genera un valor del CRC a partir de un cálculo utilizando los valores de la dirección del
esclavo, el código de función y las secciones de datos del mensaje. Cuando el esclavo
recibe el mensaje del comando, calcula un valor CRC-16 y lo compara con uno del campo
CRC-16 del mensaje de comando. Si estos dos valores CRC-16 son los mismos, significa
que el esclavo ha recibido el mensaje de comando adecuado. Si los dos valores CRC-16 no
son los mismos, el esclavo no responderá.
Si el mensaje de comando tiene una dirección del esclavo válida, así como un código de
función, un registro de inicio y un valor de cantidad correctos, el esclavo responderá con un
mensaje de respuesta normal. Si el mensaje de comando tiene una dirección del esclavo no
válida, así como un registro de inicio o una cantidad incorrectas, el esclavo responderá con
un mensaje de respuesta de excepción.
Tabla 6- 5
Byte de mensaje
Dirección del esclavo
Código de función
Registro de inicio
Cantidad
CRC-16
Respuesta normal
El mensaje de respuesta normal contiene la misma dirección del esclavo y el mismo código
de función que el mensaje de comando.
El recuento de bytes es el número de bytes de datos que se devuelven en el mensaje de
respuesta. El número es en realidad la cantidad (en el mensaje de comandos) multiplicada
por 2, pues hay dos bytes de datos en cada registro.
26
Mensajes de comando de lectura de registros múltiples
Superior
Inferior
Superior
Inferior
Inferior
Superior
Ejemplo
xxhex
03hex
00hex
20hex
00hex
04hex
xxhex
xxhex
Instrucciones de servicio, 06/2010, A5E03089278-01
Modbus RTU RS485