Protocolos Industriales
6. Modbus
¿Qué es Modbus?
Modbus es un protocolo de comunicación abierto, utilizado para transmitir información a través de redes en serie entre dispositivos electrónicos. El dispositivo que solicita la información se llama maestro cliente Modbus y los dispositivos que suministran la información son los esclavos server Modbus.
Sitio:https://modbus.org/
Desde el 9 de Julio de 2020, Modbus reemplaza el termino master-slave por client-server, por cuestiones racismo.(https://modbus.org/docs/Client-ServerPR-07-2020-final.docx.pdf)
El esquemático quedaría:
MODBUS es un protocolo de mensajería de capa de aplicación, posicionado en el nivel 7 del modelo OSI,
que proporciona comunicación cliente/servidor entre dispositivos conectados en diferentes tipos de
El estándar serial de facto de la industria desde 1979, MODBUS continúa permitiendo a millones de Dispositivos de automatización para comunicarse. Hoy, el apoyo a la estructura simple y elegante de MODBUS sigue creciendo. La comunidad de Internet puede acceder a MODBUS al puerto reservado 502 en la pila TCP/IP.
MODBUS es un protocolo de solicitud/respuesta y ofrece servicios especificados por códigos de función.
¿Quién inventó Modbus?
Este protocolo industrial estándar fue creado por Modicon, ahora Schneider Electric, a finales de los 70 para la comunicación entre controladores lógicos programables (PLC). En la actualidad, Modbus sigue siendo el protocolo más usado para conectar dispositivos industriales.¿Como funciona?
Trama



- TCP/IP sobre Ethernet. Consulte la Guía de implementación de mensajería MODBUS V1.0a.
- Transmisión serial asíncrona a través de una variedad de medios (cable: EIA/TIA -232-E, EIA-422,EIA/TIA-485-A; fibra, radio, etc.)
- MODBUS PLUS, una red de paso de token de alta velocidad.
Esquema de una red Modbus.
Trama
Campo Función: valores de 1 a 127, el rango 128 a 255 está reservado. El 0 no es válido. Para mayores referencias sobre los campos de función referirse a la bibliografía. A modo de resumen presentamos una tabla que resume:
Implementaciones de Modbus.
Las más comunes son:
- Modbus RTU
- Modbus TCP
- Modbus ASCII
- Modbus Plus
Modbus RTU.
En esta configuración se usa una codificación binaria en el campo de datos y una fuerte verificación de errores CRC. En realidad, es la implementación del protocolo Modbus utilizado con mayor frecuencia en aplicaciones industriales e instalaciones de producción automatizada.
Los datos se transmiten en bytes de 8 bits, un bit cada vez, a velocidades en baudios que van de 1200 bits por segundo (baudios) a 115200 bits por segundo. La mayoría de los dispositivos sólo soportan velocidades de hasta 38400 bits por segundo.
Modbus ASCII
Es similar al Modbus RTU , solo que en el campo de datos de la trama van caracteres ASCII. Modbus ASCII es una implementación más antigua que contiene todos los elementos de un paquete RTU, pero expresada completamente en caracteres ASCII imprimibles. Estos son caracteres hexadecimales que contienen 4 bits de datos cada uno.
Actualmente, este protocolo se considera obsoleto, ya no se utiliza con frecuencia y no está incluido en la especificación formal del protocolo Modbus.
¿Qué diferencias existen entre Modbus ASCII y Modbus RTU?
Modbus TCP
Modbus/TCP se introdujo para aprovechar las infraestructuras LAN actuales. A su vez, aumentó el número de unidades que podían conectarse a la misma red.
Este sistema engloba los bloques de datos de solicitud y respuesta del Modbus RTU en un bloque TCP transmitido a través de redes estándar de Ethernet.
Por otro lado, el número de unidades sigue estando incluido y su interpretación varía según la aplicación: la dirección de la unidad o del esclavo no es el medio principal de direccionamiento en el TCP. Entonces, la dirección más importante aquí es la dirección IP,.
El puerto estándar para Modbus TCP es el 502, pero el número de puerto a menudo puede reasignarse si se desea.
La versión TCP sigue el modelo de referencia de Red OSI. Por otro lado, define las capas de presentación y aplicación en el modelo OSI.
En consecuencia, Modbus TCP hace que la definición de maestro y esclavo sea menos obvia, porque la Ethernet permite la comunicación entre pares. La definición de cliente y servidor son los elementos más conocidos en las redes basadas en Ethernet.
En este contexto, el esclavo se convierte en el servidor y el maestro en el cliente. Puede haber más de un cliente que obtenga datos de un servidor. En términos de Modbus, esto significa que puede haber múltiples maestros así como múltiples esclavos.
El Modbus/TCP se utiliza frecuentemente en
- PLC (controladores industriales)
- Sistemas SCADA (visualizaciones y control básico de procesos industriales)
- Sensores y actuadores
Modbus Plus (MB+)
Modbus Plus es un protocolo de red con alta velocidad punto a punto (1 a 2 Mbps). Es una versión mejorada de Modbus creada por Schneider y Modicon, (hoy es manejada por la organización Modbus) pensada para el control Industrial. A diferencia de comunicación Cliente/Servidor, cualquier dispositivo puede iniciar la transmisión, siempre que cumpla la condición de poseer el token (Token passing channel access )
El token (trama especial) circula entre todos los nodos de la red (cada dispositivo va pasando el token al siguiente). Solo el nodo que posee el token puede transmitir datos, lo que elimina la posibilidad de colisiones en el bus. En definitiva, es un sistema completo con un medio predefinido y la aplicación de un sistema de comunicación de paso rápido, da lugar a un funcionamiento determinista, aunque no del todo rápido en todas las condiciones.(Recordar Token Ring).
Por consiguiente, es un sistema LAN para aplicaciones de control industrial, que permite a los dispositivos en red intercambiar mensajes para el control y la supervisión de procesos en lugares remotos de la planta industrial.
La capa física se implementa con RS485 y funciona sobre cable de par trenzado blindado.