Soluciones para la Industria

contacto@rpingenieria.com

Modbus TCP: principios, funciones y áreas de aplicación

Modbus TCP lleva el modelo de datos y las funciones de Modbus a la infraestructura Ethernet estándar. En este artículo describimos su arquitectura cliente-servidor sobre el puerto 502, la estructura del encabezado MBAP y el uso del identificador de transacción, la integración de dispositivos Modbus RTU mediante el campo Unit Identifier, las recomendaciones de gestión…

Introducción

Modbus TCP es la variante de Modbus que transporta el protocolo de aplicación sobre redes Ethernet mediante TCP/IP. Utiliza el mismo modelo de datos y los mismos códigos de función definidos en la especificación del protocolo de aplicación Modbus [1], mientras que su implementación sobre TCP/IP se describe en la guía Modbus Messaging on TCP/IP [2]. Está incluido en la normativa internacional como familia de perfiles CPF 15 en IEC 61784-2 [3]. Su adopción se explica por la combinación de un protocolo sencillo y conocido con la infraestructura estándar de las redes Ethernet.

Arquitectura cliente-servidor

Modbus TCP emplea un modelo cliente-servidor. El servidor, habitualmente un dispositivo de campo, un medidor o un controlador, escucha solicitudes en el puerto TCP 502, registrado para Modbus. El cliente, como un sistema SCADA, una interfaz HMI o un controlador, establece una conexión TCP con el servidor y envía solicitudes, a las cuales el servidor responde [2].

A diferencia de la línea serie, donde existe un único maestro, un servidor Modbus TCP puede atender conexiones de varios clientes, y un cliente puede mantener conexiones con numerosos servidores de forma simultánea. Esto permite que un sistema de supervisión, un historiador de datos y un controlador accedan al mismo dispositivo sin interferir entre sí, dentro de la capacidad de conexiones de cada equipo.

Estructura de la trama

La unidad de datos del protocolo (PDU, Protocol Data Unit), compuesta por el código de función y sus datos, es idéntica a la de Modbus RTU. En Modbus TCP, la PDU se antecede de un encabezado MBAP (Modbus Application Protocol) de 7 bytes [2]:

CampoLongitudFunción
Transaction Identifier2 bytesAsocia cada respuesta con su solicitud
Protocol Identifier2 bytesValor 0 para Modbus
Length2 bytesCantidad de bytes que siguen, incluido el Unit Identifier
Unit Identifier1 byteIdentifica un dispositivo remoto detrás de una pasarela

La unidad de datos de aplicación (ADU, Application Data Unit) alcanza un máximo de 260 bytes. La trama no incluye CRC, ya que la integridad de los datos queda cubierta por la secuencia de verificación de trama de Ethernet y por los mecanismos de TCP [4].

El identificador de transacción permite que un cliente envíe varias solicitudes a un mismo servidor sin esperar cada respuesta, siempre que el servidor admita esta capacidad. De este modo se aprovecha mejor el ancho de banda y se reduce el tiempo total de adquisición de datos.

Modelo de datos y funciones

Modbus TCP conserva las cuatro tablas de datos de Modbus: entradas discretas y bobinas de 1 bit, y registros de entrada y de retención de 16 bits. Los códigos de función de lectura y escritura, el mecanismo de respuestas de excepción y la función de identificación del dispositivo son los mismos que en la línea serie [1]. Esta coherencia permite reutilizar mapas de registros, bibliotecas de software y conocimiento técnico, y simplifica la migración de aplicaciones existentes hacia Ethernet.

Pasarelas hacia Modbus RTU

El campo Unit Identifier permite direccionar dispositivos Modbus RTU conectados a una pasarela. El cliente envía la solicitud a la dirección IP de la pasarela e indica en ese campo la dirección serie del esclavo de destino. La pasarela traduce la trama, gestiona la transacción en la línea serie y devuelve la respuesta al cliente. Cuando el servidor es un dispositivo Ethernet nativo, el Unit Identifier suele fijarse en 255 o en 0 [2].

Este mecanismo permite integrar dispositivos serie existentes en arquitecturas Ethernet sin modificar su firmware ni su configuración.

Gestión de conexiones y tiempos de respuesta

La guía de implementación recomienda mantener abiertas las conexiones TCP durante la operación, en lugar de establecer una conexión nueva para cada transacción, con el fin de reducir la carga en los dispositivos y la latencia [2]. En el diseño del sistema conviene definir los tiempos de espera y de sondeo según la cantidad de dispositivos, la cantidad de registros y la capacidad de procesamiento de cada servidor. Con una planificación adecuada, Modbus TCP resulta apropiado para supervisión, adquisición de datos y control de procesos con requisitos temporales moderados.

Seguridad

El protocolo Modbus original no incluye autenticación ni cifrado. Para responder a los requisitos actuales de ciberseguridad, la Modbus Organization publicó la especificación Modbus/TCP Security [5], que encapsula el protocolo en TLS (Transport Layer Security) sobre el puerto TCP 802. Sus principales características son:

  • Autenticación mutua entre cliente y servidor mediante certificados X.509v3.
  • Cifrado y verificación de integridad de las comunicaciones.
  • Autorización basada en roles, mediante una extensión del certificado que indica el rol del cliente y permite al servidor limitar las funciones autorizadas.

Complementariamente, la segmentación de la red en zonas y conductos según IEC 62443 [6] permite restringir el acceso a los servidores Modbus solo a los clientes autorizados.

Beneficios

  • Infraestructura estándar: utiliza switches, cableado y servicios de red convencionales.
  • Acceso múltiple: varios clientes pueden consultar el mismo dispositivo.
  • Alcance: al emplear IP, la comunicación puede atravesar redes enrutadas y enlaces de larga distancia.
  • Continuidad técnica: conserva el modelo de datos y las funciones de Modbus RTU.
  • Integración de TI y OT: su sencillez facilita el acceso a datos de campo desde aplicaciones de supervisión, historiadores y plataformas de análisis.

Principales áreas de aplicación

  • Integración de dispositivos en sistemas SCADA y de gestión de energía.
  • Medición y monitoreo eléctrico en plantas industriales, centros de datos e instalaciones de generación.
  • Servicios sanitarios: estaciones de bombeo, plantas de tratamiento y telemetría.
  • Automatización de edificios y sistemas de climatización.
  • Intercambio de datos entre controladores y con pasarelas de IIoT (Industrial Internet of Things).

Conclusión

Modbus TCP traslada la simplicidad y la amplia adopción de Modbus a la infraestructura Ethernet. El encabezado MBAP, el acceso de múltiples clientes y la posibilidad de integrar dispositivos serie mediante pasarelas lo convierten en una herramienta eficaz para la integración de datos, mientras que Modbus/TCP Security y la segmentación de red permiten incorporarlo en arquitecturas alineadas con los requisitos actuales de ciberseguridad.


Referencias

[1] Modbus Organization, MODBUS Application Protocol Specification V1.1b3, 2012.

[2] Modbus Organization, MODBUS Messaging on TCP/IP Implementation Guide V1.0b, 2006.

[3] IEC 61784-2, Industrial networks — Profiles — Part 2: Additional real-time fieldbus profiles based on ISO/IEC/IEEE 8802-3 (CPF 15).

[4] IETF RFC 9293, Transmission Control Protocol (TCP), 2022.

[5] Modbus Organization, MODBUS/TCP Security Protocol Specification, 2018.

[6] IEC 62443 (serie), Security for industrial automation and control systems.

Compartir

Seguir leyendo

Otras publicaciones