Convertidor Modbus RTU a TCP: Cómo Funciona, Guía de Cableado y Configuración
La mayoría de los dispositivos de campo, incluidos los medidores de energía, los módulos de E/S de PLC, sensores de temperatura y humedad y sensores de fugas de agua, todavía utilizan Modbus RTU sobre RS-485. Los sistemas SCADA, HMI y plataformas en la nube esperan Ethernet. Un convertidor de Modbus RTU a TCP se sitúa entre los dos y permite que un bus serial aparezca en la red como un dispositivo Modbus TCP normal.
Esta guía explica lo que hace el convertidor a cada marco, cómo cablearlo y configurarlo, cómo solucionar los errores de tiempo de espera habituales y cuándo un gateway IoT completo es la mejor opción.

¿Qué es un convertidor de Modbus RTU a TCP?
Un convertidor de Modbus conecta dispositivos Modbus RTU seriales a una red Ethernet. También lo verás llamado convertidor de Modbus a Ethernet, un convertidor de Modbus serial a Ethernet o un convertidor de Modbus a IP. Los nombres difieren, pero la función es la misma: aceptar solicitudes Modbus TCP en una dirección IP, enviarlas al dispositivo correcto en el bus RS-485 como Modbus RTU y devolver la respuesta.
La misma caja convierte en ambas direcciones: las solicitudes Modbus TCP de la red se convierten en tramas RTU en el bus, y las respuestas RTU del campo se convierten nuevamente en tramas TCP. Por eso, el mismo producto se vende como un convertidor de Modbus RTU a Modbus TCP o como un convertidor de Modbus TCP a RTU. Para el sistema SCADA, todo el bus serial parece un solo servidor Modbus TCP, por lo que un convertidor de Modbus a Modbus TCP suele ser la forma más rápida de llevar equipos heredados a una red moderna sin reemplazarlos.
Modbus RTU vs Modbus TCP: ¿Qué cambia realmente?
| Elemento | Modbus RTU | Modbus TCP |
|---|---|---|
| Capa física | RS-485 o RS-232 serial | Ethernet (TCP/IP) |
| Dirección de dispositivo | Dirección de esclavo 1–247 (0 = difusión) | Dirección IP + puerto TCP 502 + ID de unidad |
| Verificación de errores | CRC-16, 2 bytes al final de cada trama | No hay CRC en la capa Modbus; TCP maneja la integridad |
| Límite de trama | Intervalo silencioso de al menos 3.5 tiempos de carácter | Campo de longitud en el encabezado MBAP |
| Encabezado | Ninguno | Encabezado MBAP de 7 bytes |
| Modelo de tráfico | Un maestro, half-duplex, una transacción a la vez | Múltiples clientes y conexiones concurrentes |
| Alcance típico | Hasta aproximadamente 1,200 m por segmento RS-485 a bajas tasas de baudios | 100 m por enlace Ethernet de cobre, extendido con switches o fibra |
Lo que no cambia es el PDU, lo que significa el código de función y los datos. Leer registros de retención es el código de función 03 en ambos lados, y los valores de registro son idénticos. La conversión solo intercambia el "sobre" alrededor del PDU, por lo que no agrega pérdida de datos ni redondeo.
Cómo funciona la conversión, byte por byte
Toma una solicitud común: el sistema SCADA quiere leer dos registros de retención, comenzando en la dirección 0, del dispositivo con ID de esclavo 1.
1. Solicitud Modbus TCP desde SCADA
00 01 | 00 00 | 00 06 | 01 | 03 00 00 00 02- 00 01: ID de transacción, utilizado para emparejar la respuesta a esta solicitud
- 00 00: ID de protocolo, siempre 0 para Modbus
- 00 06: Longitud, lo que significa que siguen 6 bytes (ID de unidad + PDU de 5 bytes)
- 01: ID de unidad, que el convertidor asigna a la dirección esclava RTU
- 03 00 00 00 02: PDU, función 03, dirección de inicio 0x0000, cantidad 2
2. Marco Modbus RTU enviado en RS-485
01 | 03 00 00 00 02 | C4 0BEl convertidor elimina el encabezado MBAP, utiliza el ID de unidad como la dirección esclava, calcula el CRC-16 (C4 0B), espera a que el bus esté inactivo y transmite el marco.
3. Respuesta del dispositivo de campo
RTU reply : 01 | 03 04 00 FA 01 2C | DA 4F
TCP reply : 00 01 | 00 00 | 00 07 | 01 | 03 04 00 FA 01 2CEl convertidor verifica el CRC, lo elimina, agrega un encabezado MBAP con el mismo ID de transacción y una longitud de 7, y envía el marco de vuelta a través de la conexión TCP. Si el dispositivo escala los valores por 0.1, los dos registros 0x00FA y 0x012C se leen como 25.0 y 30.0. Para un sensor de temperatura y humedad eso sería 25.0 ℃ y 30.0 %RH.
Por qué el convertidor tiene que encolar solicitudes
RS-485 es half-duplex, por lo que solo una transacción puede estar en el bus en cualquier momento. Cuando varios clientes TCP consultan a la vez, el convertidor encola sus solicitudes y las maneja una por una. A 9,600 bps con un formato 8E1, cada byte tarda aproximadamente 1.15 ms. La solicitud de 8 bytes y la respuesta de 9 bytes anteriores tardan aproximadamente 20 ms en el cable, más los espacios entre marcos y el propio tiempo de respuesta del dispositivo. Permita de 30 a 80 ms por transacción. Consultar 30 dispositivos puede, por lo tanto, tardar de uno a dos segundos y medio por ciclo, y eso establece qué tan rápido puede actualizarse su pantalla SCADA.
Modo Transparente vs Conversión de Protocolo Verdadero
Muchos servidores de dispositivos seriales de bajo costo ofrecen un modo "transparente" o "TCP raw". En este modo, envían los bytes seriales a través de TCP sin cambiarlos: el CRC se mantiene y no se agrega ningún encabezado MBAP. Esto se llama Modbus RTU sobre TCP, y no es Modbus TCP.
- El modo transparente necesita un controlador SCADA configurado como "RTU sobre TCP". Es simple, pero el SCADA aún tiene que manejar el tiempo de serie y el CRC.
- La conversión de protocolo te proporciona Modbus TCP estándar en el puerto 502. Cualquier cliente Modbus TCP puede conectarse sin controladores especiales.
Si un SCADA configurado para Modbus TCP se comunica con un convertidor dejado en modo transparente, verás tiempos de espera o valores distorsionados. Comprobar esta configuración primero ahorra mucho tiempo de depuración.
Modo servidor vs Modo de sondeo activo
Modo servidor (a demanda)
El convertidor escucha en el puerto 502 y traduce cada solicitud entrante a medida que llega. La configuración es fácil, pero cada solicitud del cliente va al bus serie. Tres clientes SCADA y HMI sondeando el mismo medidor triplican la carga del bus.
Modo de sondeo activo (adquisición de datos)
El dispositivo actúa como el maestro Modbus RTU. Sondea cada sensor en un horario fijo y almacena en caché los valores de los registros. Los clientes TCP luego leen de la caché, y los mismos datos pueden ser publicados en una plataforma en la nube a través de MQTT. La carga del bus se mantiene constante sin importar cuántos clientes se conecten, y las respuestas al SCADA son casi instantáneas. Aquí es donde un simple convertidor se convierte en una puerta de enlace de adquisición de datos.
Cableado RS-485 Correctamente
- Utilice cable trenzado apantallado, con un par para A/B (también etiquetado como D+/D−).
- Mantenga la polaridad A/B consistente. Los proveedores etiquetan A y B de manera diferente, así que si nada responde, intente intercambiar el par.
- Coloque una resistencia de terminación de 120 Ω en ambos extremos físicos del tronco, y en ningún otro lugar.
- Conecte los dispositivos en cadena. Evite el cableado en estrella y los tramos largos.
- Conecte la tierra de señal (GND/SC) entre dispositivos para compartir una referencia, y conecte a tierra la pantalla en un solo punto.
- Agregue resistencias de polarización si el bus flota cuando está inactivo; muchos convertidores las tienen integradas y son conmutables.
- Un segmento estándar soporta 32 cargas de unidad. Use repetidores o transceptores con cargas de unidad fraccionarias para más dispositivos.
- Reduzca la velocidad en baudios en tramos largos: 9,600 bps es mucho más tolerante que 115,200 bps a lo largo de un kilómetro de cable.
Lista de Verificación de Configuración
- Parámetros seriales: coincida la velocidad en baudios, bits de datos, paridad y bits de parada en cada dispositivo del puerto. La especificación de Modbus predetermina la paridad par (8E1), pero muchos dispositivos se envían como 8N1. Un dispositivo desajustado puede interrumpir todo el bus.
- Direcciones de esclavo: cada dispositivo en un puerto necesita una dirección única.
- Red: asigne una IP estática, máscara de subred y puerta de enlace. Modbus TCP utiliza el puerto 502 a menos que la política de su sitio indique lo contrario.
- Mapeo de ID de unidad: decida cómo los ID de unidad se asignan a las direcciones de esclavo y puertos seriales. Algunos controladores SCADA envían ID de unidad 0 o 255, así que verifique cómo maneja esos valores el convertidor.
- Timeouts: establezca el tiempo de espera de respuesta serial más largo que la respuesta del dispositivo más lento, típicamente de 300 a 1,000 ms. Establezca el tiempo de espera de SCADA aún más largo, permitiendo el encolado.
- Pruebe antes de la integración: utilice una herramienta cliente Modbus para leer un registro conocido a través del convertidor antes de conectar el proyecto SCADA.

Solución de problemas de errores comunes
| Síntoma | Causa probable | Qué verificar |
|---|---|---|
| Tiempo de espera, sin respuesta | A/B invertido, tasa de baudios o paridad incorrecta, ID de esclavo incorrecto | Polaridad del cableado, configuraciones seriales, dirección del dispositivo |
| Excepción 0x0B – El dispositivo objetivo del gateway no respondió | El convertidor es accesible pero el dispositivo serial está en silencio | Poder del dispositivo, dirección, tiempo de espera serial |
| Excepción 0x0A – Ruta del gateway no disponible | ID de unidad no mapeado a ningún puerto serial | Tabla de enrutamiento de ID de unidad en el convertidor |
| Excepción 0x02 – Dirección de datos ilegal | Error de desplazamiento de registro: los manuales listan 40001, la dirección del protocolo es 0 | Restar la base 4xxxx, o cambiar el modo de direccionamiento SCADA |
| Errores de CRC, valores que van y vienen | Terminación faltante, ruido eléctrico, tramos largos, bucles de tierra | Terminación, conexión a tierra del blindaje, ruta del cable |
| Funciona con un cliente, falla con varios | Cola de solicitudes más allá del tiempo de espera del cliente | Temporizadores más largos, sondeo más lento, o modo de sondeo activo |
| Valores distorsionados en SCADA | Modo transparente configurado en el convertidor, Modbus TCP configurado en SCADA | Igualar los modos en ambos lados |
Convertidor o Gateway: ¿Cuál necesitas?
| Requisito | Convertidor Modbus simple | Gateway de adquisición de datos IoT |
|---|---|---|
| Un bus RS-485 a un SCADA | Sí | Sí |
| Varios puertos RS-485 | Generalmente 1–2 puertos | RS-485 de múltiples canales |
| Muchos clientes al mismo tiempo | La carga del bus crece con cada cliente | Datos en caché, carga de bus estable |
| Conexión a plataforma en la nube o IoT | No | MQTT junto con Modbus TCP |
| Sitios sin Ethernet por cable | No | 4G / WiFi opcional |
| Logica de borde, alarmas, IA | No | Disponible en modelos de gateway de borde |
Un convertidor Ethernet a Modbus simple es adecuado para un solo bus y un solo SCADA. Tan pronto como tengas varios puertos, varios consumidores de datos o una plataforma en la nube, un gateway es más fácil de escalar y mantener.
El HAOSHENG Gateway de adquisición de datos IoT funciona como un convertidor Ethernet Modbus RTU y añade adquisición RS-485 de múltiples canales, Ethernet Gigabit, soporte Modbus-RTU, Modbus-TCP y MQTT, montaje en riel DIN o en pared, y expansión opcional 4G/WiFi. Para proyectos que necesitan computación local o inferencia de IA, el gateway industrial de borde RK3568 ofrece una NPU opcional y expansión LoRa/4G/5G. Para un solo dispositivo serial en un sitio remoto sin cable de red, un DTU 4G es la opción más ligera.
En el lado de campo, los sensores de temperatura y humedad Modbus HAOSHENG y los sensores de fugas de agua RS-485 se conectan directamente a estos gateways utilizando Modbus-RTU estándar.
Preguntas frecuentes
¿La conversión de Modbus RTU a TCP cambia mis datos?
No. El código de función y los datos del registro se copian sin cambios. Solo se reemplazan el encabezado y la verificación de errores, por lo que los valores, la escala y los tipos de datos permanecen iguales.
¿Puede un convertidor de Modbus RTU a TCP IP servir a varios sistemas SCADA?
Sí, si admite múltiples conexiones TCP. Las solicitudes se manejan una a la vez en el bus serial, por lo que los tiempos de respuesta aumentan con el número de clientes. El modo de sondeo activo evita este problema.
¿Cuál es la diferencia entre un convertidor de Modbus y un servidor de dispositivos seriales?
Muchos servidores de dispositivos seriales solo ofrecen túnel transparente, que es Modbus RTU sobre TCP. Un verdadero convertidor de Modbus realiza la conversión de protocolo y presenta Modbus TCP estándar en el puerto 502.
¿Cuántos dispositivos Modbus RTU puede manejar un puerto?
Un segmento RS-485 estándar admite 32 cargas de unidad, y Modbus permite direcciones de hasta 247. En la práctica, el límite suele ser el tiempo de sondeo en lugar de la dirección, así que planifica tu tasa de baudios y el intervalo de sondeo en función de la tasa de refresco que necesites.
Mi maestro es serial y mis dispositivos son Modbus TCP. ¿Puedo convertir de esa manera?
Sí, pero verifica que el convertidor lo soporte. Esta dirección inversa necesita que el dispositivo acepte solicitudes RTU en su puerto serial y las reenvíe a los servidores Modbus TCP, y no todos los convertidores ofrecen ese modo.
¿Planeando una integración de Modbus? Contacta a los ingenieros de HAOSHENG con el número de dispositivos, número de puertos seriales, tasa de baudios y plataforma objetivo, y te recomendaremos la configuración de gateway adecuada.