Guía completa de configuración de Modbus TCP en PLC

Última actualización: octubre 30, 2026
Autor: Isaac
  • Diferenciación entre el rol de cliente (solicitante) y servidor (proveedor de datos) en redes TCP/IP.
  • Uso de Coils y Holding Registers para el intercambio de señales binarias y analógicas.
  • Implementación del bloque MB_SERVER en entornos Siemens para habilitar la comunicación Ethernet.
  • Integración de Gateways IoT para la extracción de datos hacia sistemas de monitorización remota.

Sistema de automatización industrial modular con PLCs Siemens y pantallas HMI para control de procesos.

Si te estás metiendo en el mundo de la automatización, habrás notado que hacer que dos máquinas se entiendan puede ser un quebradero de cabeza. Para solucionar esto, el Modbus TCP se ha convertido en el lenguaje universal, permitiendo que equipos de distintas marcas se comuniquen sin complicaciones a través de una red Ethernet estándar, lo que básicamente significa que puedes integrar PLCs, pantallas HMI y sensores en un mismo ecosistema digital.

Configurar este protocolo no es ciencia nuclear, pero requiere prestar atención a los detalles, especialmente cuando trabajamos con entornos como TIA Portal de Siemens o incluso proyectos más caseros con Arduino y PLC LOGO. La clave reside en entender quién pide la información y quién la entrega, estableciendo una estructura de datos coherente para que no haya errores de lectura ni cuellos de botella en la planta de producción.

Conceptos fundamentales: Cliente y Servidor

Panel de control industrial con pantalla HMI mostrando gráficas de temperatura y botones de mando.

Para no liarse, lo primero es tener claro que en Modbus TCP no hablamos de maestro y esclavo (eso es más de la versión serie RTU), sino de cliente y servidor. El cliente es el dispositivo que toma la iniciativa, es decir, el que solicita o envía los datos. Por otro lado, el servidor es el equipo que «sirve» la información, manteniéndola disponible para que el cliente la recoja cuando sea necesario.

  ¿Quién es mejor aczino o teorema?

Tipologías de datos en el protocolo

Dependiendo de lo que queramos transmitir, Modbus organiza la información en cuatro categorías principales. Saber elegir cuál usar es vital para que el sistema sea eficiente:

  • Coils (Bobinas): Son valores binarios (0 o 1), ideales para activar relés o luces. Se pueden leer y escribir.
  • Discrete Inputs (Entradas Discretas): También son binarias, pero tienen la particularidad de que son solo de lectura, reflejando el estado de un interruptor físico, por ejemplo.
  • Input Registers (Registros de Entrada): Almacenan datos de 16 bits y son solo de lectura. Se usan habitualmente para mediciones analógicas como la temperatura o la presión.
  • Holding Registers (Registros de Retención): Son los más versátiles, ya que permiten lectura y escritura de 16 bits. Aquí es donde se guardan setpoints o parámetros de configuración.

Configuración paso a paso en TIA Portal (S7-1200)

Línea de producción automatizada moderna con sistemas de sensores y rodillos de precisión.

Si usas un Siemens S7-1200, el proceso es bastante directo gracias al bloque MB_SERVER. Este bloque nos permite exponer Holding Registers para que otros dispositivos los consulten. Para ponerlo en marcha, primero debemos crear un bloque de datos (DB) con dos variables fundamentales: una matriz de tipo Word para los datos y una variable de tipo TCON_IP_v4 para la conexión.

Dentro de la configuración de conexión, el puerto local debe ser siempre el 502, que es el estándar de Modbus TCP. El InterfaceID suele ser 64 para el puerto Ethernet del PLC y el ID del esclavo debe coincidir con el que configures en el cliente. Una vez asignadas estas variables al bloque MB_SERVER y descargado el programa, el PLC ya estará escuchando peticiones en la red.

  Cómo arreglar el clic derecho lento en Windows 11 en el escritorio

Brazo robótico industrial Yaskawa para tareas de pick-and-place en una planta de ensamblaje.

Para quienes buscan soluciones más híbridas, es posible conectar un Arduino con un PLC LOGO. Utilizando librerías como ModbusIP en Arduino, podemos definir registros de entrada (Ireg) para enviar datos analógicos, como la lectura de un potenciómetro, y bobinas (Coils) para recibir órdenes del PLC. Un punto crítico aquí es que algunos dispositivos pueden tener conflictos al intentar leer y escribir simultáneamente, por lo que es fundamental optimizar el ciclo de ejecución y el tiempo de respuesta del código.

Llevando los datos a la nube mediante IoT Gateways

Detalle de cables Ethernet conectados a un switch de red industrial para comunicación Modbus TCP.

Una vez que el PLC actúa como servidor, el siguiente paso lógico es la monitorización remota. Aquí es donde entra en juego una IoT Gateway (como Teltonika o Advantech), que se configura como cliente Modbus. La gateway sondea los registros del PLC cada cierto tiempo y envía la información a plataformas cloud como Ubidots mediante protocolos MQTT o HTTP, permitiendo crear sistemas SCADA basados en la nube para controlar la planta desde cualquier lugar.

Consejos para evitar errores comunes

Para que la comunicación no se caiga, es recomendable usar siempre nomenclaturas claras en los bloques de datos y probar todo con simuladores como ModbusClientX antes de pasar a producción. No olvides verificar que el firmware del PLC y la versión de TIA Portal sean compatibles y que las direcciones IP estén fijas para evitar que el cliente pierda el rastro del servidor.

La implementación correcta de Modbus TCP permite transformar un PLC tradicional en un nodo inteligente capaz de dialogar con cualquier dispositivo, desde un simple microcontrolador hasta una plataforma de análisis de datos masivos, asegurando que el flujo de información industrial sea fluido, escalable y fácil de mantener.