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  server Modbus y los dispositivos que suministran la información son los esclavos  clientes Modbus.

Sitio:https://modbus.org/


Desde el 9 de Julio de 2020, Modbus reemplaza el termino master-slave por client-server, por cuestiones racismo.

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
autobuses o redes.

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.
Los códigos de función MODBUS son elementos de las PDU (Unidad de datos del protocolo) de solicitud/respuesta MODBUS. El documento original de este protocolo se puede acceder a : https://modbus.org/docs/Modbus_Application_Protocol_V1_1b3.pdf

¿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.
El SCADA que es una herramienta de automatización y control industrial utilizada en los procesos productivos que puede controlar, supervisar, recopilar datos, analizar datos y generar informes a distancia mediante una aplicación informática. Su principal función es la de evaluar los datos con el propósito de subsanar posibles errores.

¿Como funciona?
 
 
El server pide información a los clientes, los clientes SOLO responden a pedidos del Servidor.
Trama


Podrían existir direcciones de Clientes de 1 a 247 en principio.
En modo Unicast el server consulta a UNO de los clientes. En modo Broadcast a TODOS.
En el diagrama podemos ver un escenario de funcionamiento con el diagrama temporal.





Actualmente se implementa usando:
  • 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.


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.


Implemenatación serie : Buses 2 hilos o 4 hilos.


Alternativas cruzadas.