CÓDIGOS DE FUNCIÓN MODBUS
Los comandos básicos Modbus permiten controlar un dispositivo para cambiar el valor de sus registros (ranura de memoria) o
para solicitar el contenido de dichos registros, según los diferentes códigos de función:
COMANDOS MODBUS
El formato de los comandos para las operaciones de lectura/escritura es el siguiente (8 bytes):
Dirección del esclavo
1 byte
•
Dirección del esclavo. Define el sistema al que se va a acceder. Un comando Modbus contiene la dirección Modbus
del dispositivo al que está destinado (de 1 a 247). La dirección 0 está reservada para una transmisión a todos los
dispositivos (Broadcast).
•
Código de operación. Especifica la operación que se va a realizar.
•
Dirección de registro. Especifica la operación a la que se va a acceder. En los comandos que van a realizarse en
varios registros, define el registro de arranque desde el que desea operar consecutivamente.
•
Datos. Formado por 2 bytes (operaciones simples) o un conjunto de 2 bytes (operaciones múltiples) que contienen
la información del comando.
•
CRC. Se añaden dos bytes al final del flujo para detectar errores de transmisión o recepción. Esta acción se realiza
mediante el código de redundancia cíclica (CRC).
•
Polinomio generador: CRC-16 = x
COMANDOS DE ESCRITURA
Escritura de un solo registro de retención
Siempre que no haya ningún tipo de error, la respuesta debe tener exactamente el mismo formato que el comando de escritura.
22
Código
Función:
03
Lectura de registros de retención
04
Lectura de registros de entrada
Preestablecimiento/escritura de un solo
06
Preestablecimiento/escritura de varios
16
Código de operación
Dirección de registro
1 byte
16
+ x
15
+ x
2
+ 1.
Byte
Campo
0
Dirección del esclavo (1-247) (0: Broadcast)
1
Escritura de un solo registro (6)
2
Dirección de registro
3
4
Datos que escribir
5
6
CRC
7
registro de retención
registros de retención
Datos
1 byte
1...2·N bytes
CRC
2 bytes