RESPUESTA
Address
A
Tot. bytes = 3+2*N° registros+2
donde: N° registros ... número de registros Modbus a leer, a partir de la dirección del 1
N° byte .......... número de bytes de datos a seguir
FUNCIÓN 16: Preset multiple registers (ESCRITURA MÚLTIPLE DE REGISTROS)
PREGUNTA
Address
Función Direc. 1
A
0x10
Tot. bytes = 7+2*N° registros+2
RESPUESTA
Address
A
Tot. bytes = 8
donde: N° registros ... número de registros Modbus a leer, a partir de la dirección del 1
N° bytes ........ número de bytes de datos a seguir
Val.reg.1 ....... contenido de los registros a partir del primero
La respuesta contiene el número de registros modificados a partir de la dirección del 1
Las cadenas de comunicación están controladas mediante CRC (Cyclical Redundancy Check).
En caso de error de comunicación, el slave no responde con ninguna cadena. El master tiene en
cuenta un timeout para la recepción de la respuesta. Si no obtiene respuesta, deduce que existe un
error de comunicación.
En caso de cadena recibida correctamente pero no ejecutable, el slave responde con una
RESPUESTA DE EXCEPCIÓN. El campo "Función" se transmite con el msb a 1.
RESPUESTA DE EXCEPCIÓN
Address
A
CÓDIGO
1
ILLEGAL FUNCTION (la función no es válida o no es soportada)
2
ILLEGAL DATA ADDRESS (la dirección de los datos especificada no está disponible)
3
ILLEGAL DATA VALUE (los datos recibidos tienen un valor inválido)
Función
N.° bytes
0x03
0x04
reg. N.° reg.
er
0x0000
0x0002
Función
0x10
GESTIÓN DE LOS ERRORES DE COMUNICACIÓN
Función
Funct + 0x80
1
registro
er
0x0064
N.° bytes Val. reg. 1 Val. reg. 2
0x04
Direc. 1
reg.
er
0x0000
Código
DESCRIPCIÓN
- 46 -
2° registro
0x00C8
er
0x0000
0x0000
N.° reg.
0x0002
er
er
2 bytes
CRC
2 bytes
CRC
registro
2 bytes
CRC
2 bytes
CRC
registro
registro.