¿Cómo funciona Modbus RTU?
El protocolo Modbus es básicamente un sistema que procesa solicitudes y respuestas de dispositivos electrónicos. La arquitectura maestro/esclavo se usa con el maestro haciendo solicitudes que son respondidas por los dispositivos esclavos.
¿Qué es un maestro Modbus RTU?
Un maestro Modbus RTU es el dispositivo central que realiza solicitudes de información a los dispositivos esclavos conectados. Un controlador central en un sistema de producción automatizado puede desempeñar el papel de maestro Modbus RTU. Una implementación Modbus tiene un maestro. Los dispositivos maestros obtienen información de los esclavos y también pueden escribir en los registros de los dispositivos esclavos.
¿Qué es un esclavo Modbus RTU?
El esclavo Modbus RTU es el dispositivo que responde a la solicitud realizada por el dispositivo maestro. No puede iniciar transferencias de información y está en un patrón de espera hasta que responda a una solicitud realizada por el maestro.
Como ya se indicó, en una implementación Modbus RTU hay un dispositivo maestro y puede haber hasta 247 dispositivos esclavos. Cada dispositivo esclavo se identifica por una dirección esclava de 1 a 247.
En el corazón del protocolo Modbus se encuentra el componente conocido como Unidad de Datos de Protocolo (PDU). La PDU consta de un código de función y datos, y se construye de manera consistente independientemente del modo de transmisión Modbus utilizado. El código de función especifica qué datos solicita el maestro.
En el modo de transmisión Modbus RTU, se envuelve información adicional alrededor de la PDU para crear la Unidad de Datos de Aplicación (ADU) completa. En el flujo de señal y antes del código de función, en modo Modbus RTU se envía una ID de esclavo de 1 byte para identificar el dispositivo esclavo que debe satisfacer la solicitud. Adjunto a la PDU hay un CRC de 2 bytes que asegura que se envió y recibió la cantidad correcta de bytes.
Los dispositivos Modbus admiten cuatro tablas de datos que se utilizan para facilitar la comunicación entre dispositivos. Son Entradas Discretas, Salidas Discretas (Bobinas), Registros de Entrada y Registros de Retención. Los registros realizan diferentes funciones y no están incluidos en todos los dispositivos. En algunos casos, solo se utilizan los registros de retención para la funcionalidad de E/S.
Campo |
Acceso |
Tamaño |
Descripción |
Entradas Discretas |
sólo lectura |
1 bit |
usado como entradas |
Salidas de Bobinas |
lectura/escritura |
1 bit |
usado para control discreto |
Registros de Entrada |
sólo escritura |
16 bit |
usado para entrada |
Registros de Retención |
lectura/escritura |
16 bit |
se utiliza para muchas cosas, incluyendo entradas, salidas, datos de configuración, etc. |
Los códigos de función indican cómo interactúa el maestro con el dispositivo esclavo especificado en la ID del esclavo. Según el código de función enviado, el dispositivo maestro puede leer uno de los registros del esclavo o escribir en ellos.
Los esclavos devuelven códigos de error cuando reciben un paquete que contiene un error en la solicitud. Los códigos de error se devuelven por problemas como la solicitud de una función ilegal, direcciones de registro ilegales a las que no puede llegar el esclavo especificado y mensajes que indican que el dispositivo esclavo está ocupado o ha experimentado una fallo.
Modbus RTU requiere que conozca o defina parámetros tales como la velocidad en baudios, el formato de caracteres (8 bits sin paridad, etc.) y la identificación del esclavo al iniciar la comunicación. La falta de coincidencia en cualquiera de estos parámetros resultará en un intento fallido de comunicación.