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 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
Modbus Plus es un protocolo de red con alta velocidad entre pares. Está basado en la comunicación a través de un token 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.
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.
El token es una trama que va pasando de equipo en equipo, solo el que tiene el token puede enviar datos agregando al token los datos, utiliza un mecanismo de control de acceso con paso controlado, que da lugar a un funcionamiento determinista, aunque no del todo rápido en todas las condiciones.(Recordar Token Ring).
La capa física se implementa con RS485 y funciona sobre cable de par trenzado blindado.