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 Modbus y los dispositivos que suministran la información son los esclavos Modbus.
En realidad, esto significa que un dispositivo esclavo no puede ofrecer información; debe esperar a que se le pida. El maestro escribirá datos en los registros de un dispositivo esclavo y leerá los datos de los registros de un dispositivo esclavo.
Por lo tanto, en una red Modbus estándar, hay un maestro y hasta 247 esclavos, cada uno con una dirección de esclavo única de 1 a 247. El maestro también puede escribir información a los esclavos.
Además, esta red de comunicación industrial usa los protocolos RS232/RS485/RS422. Su simplicidad y el hecho de que los fabricantes pueden incorporarlo en sus productos sin cargo alguno ha ayudado a que se convierta en el método más popular de conexión de dispositivos electrónicos industriales.
En consecuencia, son estos protocolos abiertos los que muchos fabricantes adaptan para integrar fácilmente sus productos en el mercado.
¿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.
La especificación del protocolo se publica abiertamente y el uso del protocolo está libre de derechos. Lo que significa que es libre de instalar para los fabricantes en sus equipos sin tener que pagar derechos de autor
¿Para qué se utiliza Modbus?
Por su parte, Modbus se ha convertido en un protocolo bastante común, usado frecuentemente por muchos fabricantes en muchas industrias. Así pues, este sistema de comunicación se usa generalmente para transmitir señales de los dispositivos de instrumentación y control a un controlador principal o a un sistema de recolección de datos (SCADA).
Entre sus aplicaciones destaca su uso en múltiples aplicaciones maestro-esclavo para monitorear y programar dispositivos; para comunicarse entre dispositivos inteligentes y sensores e instrumentos; para monitorear dispositivos de campo usando PC y HMI.
También, es un protocolo ideal para aplicaciones de RTU donde se requiere una comunicación inalámbrica.
Tipos de protocolo Modbus
Existen varios tipos de versiones en el protocolo Modbus para el puerto serie y Ethernet, que se utilizan para atender las necesidades específicas de los sistemas de automatización industrial en las empresas. Por ejemplo, Modbus TCP se utiliza para Ethernet, y Modbus RTU y Modbus ASCII para los puertos serie.
Las más comunes son:
Modbus RTU
Modbus TCP
Modbus ASCII
Modbus Plus
Veamos con detenimiento cada uno de ellos.
¿Qué es Modbus RTU y cómo funciona?
El protocolo Modbus RTU es un medio de comunicación que permite el intercambio de datos entre los controladores lógicos programables (PLC) y los ordenadores (PC). Los dispositivos electrónicos pueden intercambiar información a través de conexiones en serie utilizando este protocolo.
En definitiva, una característica distintiva de esta versión es el uso de codificación binaria 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.
No obstante, este es un protocolo serial relativamente simple que puede ser transmitido a través de la tecnología tradicional UART. 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.
Finalmente, una red Modbus RTU tiene un maestro y uno o más esclavos. Cada esclavo tiene una dirección de dispositivo o número de unidad de 8 bits. Los mensajes enviados por el maestro incluyen la dirección del esclavo al que va dirigido el envío. El esclavo debe responder sólo si se reconoce su dirección, y debe responder dentro de un cierto período de tiempo o el maestro lo llamará un error de «no respuesta».
El Modbus RTU se utiliza frecuentemente:
Cuando se utilizan dispositivos Modbus similares
Cuando el protocolo Modbus se entiende bien
Como estándar de la instalación
¿Qué es Modbus TCP y cómo funciona?
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.
En lugar de definir maestro y esclavo en un dispositivo físico por dispositivo, en esta ocasión es responsabilidad del diseñador del sistema crear asociaciones lógicas entre la funcionalidad de maestro y esclavo.
El Modbus/TCP se utiliza frecuentemente en
PLC (controladores industriales)
Sistemas SCADA (visualizaciones y control básico de procesos industriales)
Sensores y actuadores
¿Qué es Modbus ASCII y cómo funciona?
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.
El uso de esta herramienta permite: analizar la actividad del puerto serie, monitorear múltiples puertos serie a la vez, emular la transmisión de datos a los dispositivos en serie de varios formatos como cadena, binario, decimal y hexadecimal y, por último, la exportación de los datos monitoreados
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é es Modbus Plus y cómo funciona?
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.
Modbus es sólo un protocolo, en cambio Modbus Plus es un sistema completo con un medio predefinido y la implementación de la capa física (capa 1 de OSI).
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.
Así mismo, 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.
Por otro lado, el protocolo de mensajería de la capa 7 de Modbus Plus es esencialmente el mismo que se utiliza para Modbus Serial y Modbus/TCP. La capa física se implementa con RS485 y funciona sobre cable de par trenzado blindado.
Así como, el protocolo de la capa de enlace de datos (capa 2) se basa en el protocolo multipunto de la norma ISO/IEC 3309:1991 HDLC (High-level Data Link Control), que utiliza un mecanismo para el control de acceso con paso controlado por señales, transmitiendo los datos de forma sincronizada, a diferencia de la transmisión asíncrona de Modbus Serial.
Esto da como resultado la transmisión de datos a 1 Mbps.Arquitectura Básica de Modbus
Cómo funciona la estructura del mensaje en Modbus
La interfaz de comunicación de Modbus se construye alrededor de los mensajes. El formato de estos mensajes es independiente del tipo de interfaz física utilizada. En el viejo RS232 se utilizan los mismos mensajes que en el Modbus/TCP por Ethernet.
En consecuencia, le da a la definición de la interfaz una vida más larga. Por lo que, se puede utilizar el mismo protocolo independientemente del tipo de conexión. Debido a esto, se da la posibilidad de actualizar fácilmente la estructura del hardware de una red industrial, sin necesidad de grandes cambios en el software.
También, un dispositivo puede comunicarse con varios nodos Modbus a la vez, incluso si están conectados con diferentes tipos de interfaz, sin necesidad de utilizar un protocolo diferente para cada conexión.
En interfaces simples como RS485 o RS232, los mensajes Modbus se envían en forma simple a través de la red. En este caso la red está destinada a Modbus.
Cuando se utilizan sistemas de red más versátiles como TCP/IP por Ethernet, los mensajes se incorporan en paquetes con el formato necesario para la interfaz física.
En ese caso, Modbus y otros tipos de conexiones pueden coexistir en la misma interfaz física al mismo tiempo.
Características principales
Aunque la estructura principal de los mensajes es de par a par, Modbus puede funcionar tanto en redes punto a punto como en redes multipunto.
Cada mensaje tiene la misma estructura: cuatro elementos básicos están presentes en cada mensaje. Así como, la secuencia de estos elementos es la misma para todos los mensajes, para facilitar el análisis del contenido del mensaje.
En consecuencia, una conversación siempre es iniciada por un maestro en la red Modbus. Posteriormente, un maestro envía un mensaje y, dependiendo del contenido del mensaje, un esclavo actúa y le responde. Además, puede haber más maestros en una red de este protocolo de comunicación.
Finalmente, el direccionamiento en el encabezamiento del mensaje se utiliza para definir qué dispositivo debe responder a un mensaje. Todos los demás nodos de la red Modbus ignoran el mensaje si el campo de dirección no coincide con su propia dirección.
Cómo conectar una red modbus
En Modbus, las comunicaciones de datos son tradicionalmente sin estado, lo que las hace muy resistentes a las interferencias del ruido y, sin embargo, requieren que se mantenga una mínima información de recuperación en ambos sentidos.
Las operaciones de programación, por otro lado, requieren un sistema orientado a la conexión. Esto se logra en las variantes más simples mediante un token de ‘conexión’ exclusivo, y en la variante Modbus Plus mediante capacidades explícitas de ‘Ruta de Programa‘ que mantienen una conexión dúplex hasta que se desglosa automáticamente.
Así pues, se deberán tener en cuenta varios factores para conectar Modbus a tu red de comunicación:
¿Cuál es la conexión física?
Por un lado, Modbus RTU usa RS-485 o RS-232, por otro lado Modbus TCP utiliza Ethernet. Si está buscando una conexión física, es recomendable elegir el modelo que coincida con la interfaz eléctrica del equipo que desea conectar. Si está eligiendo un dispositivo de E/S , es recomendable elegir uno que coincida con su red.
¿Cómo se mapean los registros?
Cuando se utiliza una interfaz para conectar un dispositivo Modbus a una red no Modbus, es necesario obtener documentación del fabricante del equipo que describa los registros disponibles y cómo direccionarlos. Es decir, este protocolo no proporciona un medio para que los registros se identifiquen automáticamente. Debes consultar al fabricante del equipo.
Cuando utilices dispositivos de E/S encontrarás esta información en los archivos de ayuda online que vienen con el dispositivo, o en las especificaciones del fabricante.
¿Cuáles son los parámetros de comunicación?
Modbus RTU requiere que se conozca o defina la velocidad en bps, el formato de caracteres (8 bits sin paridad, etc.) y la identificación del esclavo (también conocida como dirección del esclavo, número de unidad, identificación de la unidad). La falta de coincidencia de estos parámetros hará que no funcione la comunicación.
Modbus TCP requiere que se conozca o defina las direcciones IP en la red. En algunos casos, también necesita las ID de las unidades. Este tipo de dispositivos pueden usar la ID de la unidad o pueden cambiar la dirección IP de la unidad.
Beneficios de Modbus
Si necesitas un protocolo de comunicación en serie abierto y fácil de usar para implementar con tus dispositivos industriales electrónicos, entonces Modbus puede ser una de las soluciones que andas buscando.
Echemos un vistazo a cómo puedes beneficiarte de su uso en tus aplicaciones industriales.
Una arquitectura técnica simple pero efectiva
Basado en una arquitectura maestro-esclavo, este protocolo ofrece un alto grado de flexibilidad operativa. Su modo RTU en serie acelera los intercambios de datos con su codificación de 8 bits mientras permite la conexión (con repetidores) de 247 periféricos a una distancia de 1200 metros.
En su versión TCP/IP, ofrece una velocidad de datos de 10 a 100 Mbits/segundo (y una conectividad casi ilimitada) en topologías de red «clásicas» como el anillo o la estrella.
Fácil integración con las instalaciones industriales
El despliegue técnico de su ecosistema se caracteriza por su simplicidad. En la configuración del RTU, sólo se requiere un puerto serie o una conexión de bus con cableado compatible con los estándares RS-422 o RS-485 entre la instalación y el controlador.
Para TCP/IP, los conectores recomendados corresponden a RJ 45 o IP 65. La vía de control o de recogida tiene frecuentemente una transmisión de radio (GPRS) al sistema de información del establecimiento.
Un protocolo reconocido por su alta fiabilidad
En sus modos estándar, integra de forma nativa un código de comprobación de errores para sus estructuras. Este código, llamado «Comprobación de redundancia cíclica», cubre la totalidad del mensaje (destinatario, función, dirección y número de términos a leer), asegurando así una fiabilidad de los intercambios muy cercana al 100%.
Desventajas de Modbus.
Aunque Modbus es uno de los protocolos de comunicación industrial más utilizados, existen una serie de desventajas que te pueden hacer cambiar de opinión a la hora de decidirte en seleccionar un protocolo de comunicación para tus sistemas de producción industrial u otro.
Modbus RTU
Uso limitado como bus de dispositivos.
Capacidades de diagnóstico limitadas para las aplicaciones de los dispositivos.
Se requiere alimentación independiente para el funcionamiento de los dispositivos.
Modbus TCP
Fue diseñado a finales de los 70 para comunicarse con los PLC, el número de tipos de datos se limita a los que se entienden en ese momento por los autómatas. A su vez, los objetos binarios grandes no son compatibles.
No existe una forma estándar para que un nodo encuentre la descripción de un objeto de datos, por ejemplo, para determinar si un valor de registro representa una temperatura entre 30 y 175 grados.
Dado que es un protocolo maestro/esclavo, no hay forma de que un dispositivo de campo «informe por excepción» (excepto a través de Ethernet TCP/IP, llamado open-mbus)
Se limita a direccionar 247 dispositivos en un enlace de datos, lo que limita el número de dispositivos de campo que pueden conectarse a una estación maestra (una vez más Ethernet TCP/IP es la excepción).
Las transmisiones Modbus deben ser consecutivas, lo que limita los tipos de dispositivos de comunicaciones remotas a los que pueden almacenar datos en un búfer para evitar fallos en la transmisión.