Exploración de las diferencias entre los protocolos Modbus RTU y Modbus TCP

¿Qué son los protocolos Modbus RTU y Modbus TCP?

En la década de 1970, el sector de la automatización industrial experimentaba un rápido desarrollo. Este rápido desarrollo del sector también trajo consigo algunos problemas. En aquella época, los distintos fabricantes de equipos utilizaban protocolos diferentes, lo que impedía que sus equipos se comunicaran entre sí.

Para resolver este problema, se creó el protocolo Modbus. Se trata de un protocolo abierto y estandarizado que admite diversos tipos de datos y códigos de función para satisfacer distintas necesidades de comunicación. Protocolo Modbus tiene 3 tipos: ASCII, RTU y TCP.

Cuando el protocolo Modbus utiliza la transmisión por puerto serie, se pueden seleccionar los dos primeros tipos, pero es necesario comprobar los datos. Cuando se utiliza la transmisión Ethernet, se utiliza el tipo TCP, que no requiere sumas de comprobación. Modbus ASCII se utiliza con menos frecuencia debido a la ineficacia de la transmisión de datos utilizando principalmente códigos ASCII. Por el contrario, Modbus RTU y Modbus TCP son más adecuados para su uso en entornos industriales modernos que requieren una mayor eficiencia de transmisión. En este artículo, analizaremos estos dos protocolos, presentaremos sus principios de funcionamiento y escenarios de aplicación, y esperamos serle de utilidad.

modBus1/diferencias entre los protocolos Modbus RTU y Modbus TCP

Principio de comunicación Modbus

La comunicación Modbus se basa en el principio de que utiliza un modo de comunicación maestro-esclavo. Esto significa que hay dispositivos maestro y esclavo, y que el dispositivo maestro puede iniciar la transmisión y, a continuación, enviar una solicitud al dispositivo esclavo. El dispositivo esclavo no puede responder a la solicitud de forma activa, sino que solo puede responder de acuerdo con la solicitud del dispositivo maestro. A continuación, el dispositivo esclavo lleva a cabo la operación solicitada y envía una respuesta al dispositivo maestro. El dispositivo maestro recibe la respuesta y la analiza, completando así el proceso de comunicación.

Un dispositivo maestro puede conectarse a uno o varios dispositivos esclavos al mismo tiempo, pero sólo puede haber un dispositivo maestro y un dispositivo esclavo en una comunicación. Si un dispositivo maestro se conecta a un dispositivo esclavo, se comunican entre sí en modo unicast. Sin embargo, si el dispositivo maestro está conectado a más de un dispositivo esclavo, es necesario seleccionar el modo de difusión para la comunicación.

Cómo funciona Modbus RTU

modbusRTU/diferencias entre los protocolos Modbus RTU y Modbus TCP

Modbus RTU es compatible con diversas interfaces eléctricas, como RS-232, RS-485 y RS-422. Transmite datos en formato binario, y cada byte contiene dos números hexadecimales de 4 bits. Los comandos del protocolo RTU constan de cinco partes: código de dirección, código de función, dirección de inicio, datos y código de comprobación. Por ejemplo, la instrucción de envío: 01 03 76 83 00 0C AE 6F, donde 01 es el código de dirección, que representa la dirección del esclavo; 03 es el código de función, que significa “leer”; 76 83 es la dirección del registro; 00 0C es el número de registros leídos; AE 6F representa la suma de comprobación CRC.

Modbus RTU Escenarios de aplicación

Dado que Modbus RTU es un protocolo sencillo y estable en formato binario para la transmisión de datos, resulta muy adecuado para la comunicación a larga distancia, en situaciones en las que el cableado resulta complicado o en las que los dispositivos están muy dispersos. Por ejemplo, en entornos de automatización industrial, pequeños sistemas de control, etc.

Principio de funcionamiento de Modbus TCP

modbusTCP/diferencias entre los protocolos Modbus RTU y Modbus TCP

Modbus TCP se ha creado para que los datos Modbus puedan transmitirse por Ethernet, utilizando el puerto TCP 502. Modbus TCP se basa en Modbus RTU, al que se le añade la cabecera MBAP. Dado que TCP se basa en un servicio de conexión fiable, ya no utiliza sumas de comprobación CRC, sino que se basa en los propios mecanismos de detección y corrección de errores de TCP. Por ejemplo, envía el comando: 68 68 00 00 00 06 01 03 33 65 00 04. De estos, 68 68 es el número de secuencia del mensaje; 00 00 indica que se utiliza el protocolo Modbus TCP; 00 06 indica el número de bytes siguientes; 01 es la dirección del esclavo; 03 es el código de función; 33 65 indica la dirección del registro; 00 04 es el número de registros.

Modbus TCP Escenarios de aplicación

Modbus TCP se utiliza a menudo en escenarios más complejos debido a su alta velocidad de transmisión y fiabilidad. Por ejemplo, grandes sistemas de control, sistemas de control de edificios, etc.

En la práctica, debemos valorar si conviene utilizar el protocolo Modbus RTU o Modbus TCP. Si ya dispones de una infraestructura de red y necesitas intercambiar grandes cantidades de datos con una respuesta rápida, TCP es una buena opción. Si necesitas una comunicación sencilla, económica y de larga distancia, entonces utilizar RTU es una opción acertada.

Modbus RTU y Modbus TCP son como un par de buenos amigos; cada uno tiene sus ventajas y, juntos, facilitan un intercambio eficaz de datos entre dispositivos. Con el desarrollo de la Industria 4.0, se integrarán en cada vez más tecnologías nuevas. ¡Miremos hacia el futuro; aportarán más valor al desarrollo de la automatización industrial!

Acerca de mí
db6893fd1d3e314ac461fa240068dc06?s=150&d=mp&r=g
Especialista en soluciones de IoT ~ Web ~  Más entradas

Agnes Wang es especialista en soluciones de IoT en IOTRouter, donde se dedica principalmente a las pasarelas de IoT industrial, la computación en el borde y las soluciones de automatización industrial.

Está especializada en tecnologías de comunicación industrial, entre las que se incluyen Modbus, IEC 60870-5-104, MQTT, OPC UA, integración de PLC y aplicaciones de monitorización remota. Colabora en la redacción de artículos técnicos y guías de aplicación sobre soluciones de IoT industrial, conversión de protocolos y computación periférica.

↑