Gateway Modbus: cómo conectar equipos antiguos a la nube

Un gateway ModbusMProtocoloModbusEl bus de campo industrial más extendidoVer perfil lee contadores, variadores y autómatas que llevan veinte años funcionando y envía sus datos a la nube sin cambiar ni un cable del equipo.
Tomás trabaja en el servicio técnico de un fabricante de enfriadoras industriales. Tienen más de 300 máquinas instaladas en clientes, algunas de 2006, y todas con el mismo puerto: dos bornas de RS-485 y un manual de 40 páginas con el mapa de registros Modbus. Durante años, cada avería empezaba igual. El cliente llamaba, describía una alarma que ya se había borrado y un técnico salía de viaje para ver lo que la máquina habría contado sola si alguien le hubiera preguntado.
Modbus es probablemente el protocolo industrial más extendido del mundo. Está en contadores de energía, analizadores de redes, variadores de frecuencia, autómatas, enfriadoras, compresores y equipos de climatización. Es sencillo, abierto y casi indestructible. Lo que no hace es salir a internet por sí mismo, y no debería.
Esta guía explica cómo funciona Modbus por dentro, en qué se diferencian RTU y TCP, qué hace exactamente un gateway Modbus y cuáles son los errores que convierten un proyecto de una semana en uno de tres meses. Está pensada para integradores, fabricantes de maquinaria y equipos de mantenimiento.
Por qué Modbus sigue en todas partes
Modicon publicó Modbus en 1979 para comunicar sus autómatas. Hoy lo mantiene la Modbus Organization y sus especificaciones son públicas y gratuitas. Cualquier fabricante puede implementarlo sin pagar licencias, y casi todos lo han hecho.
Su éxito se explica por lo poco que pide. Un microcontrolador barato con un transceptor RS-485 basta para hablar Modbus RTU. No hay que negociar sesiones, ni descubrir servicios, ni gestionar certificados. Una petición dice «dame diez registros a partir del 100» y la respuesta trae veinte bytes. Ese diseño ha permitido que equipos de hace treinta años y equipos fabricados el mes pasado convivan en el mismo bus.
La sencillez tiene un precio que conviene conocer antes de empezar:
- No hay descubrimiento. El protocolo no dice qué significa cada registro. Hace falta el mapa del fabricante, y cada fabricante lo organiza a su manera.
- No hay tipos de datos. Todo son registros de 16 bits. Si el valor es un decimal de 32 bits, un entero con signo o un texto, lo dice el manual, no el protocolo.
- No hay seguridad. Modbus TCP clásico no tiene autenticación ni cifrado. Quien llega al puerto 502 puede leer y escribir.
- No hay eventos. El equipo no avisa cuando algo cambia. Hay que preguntarle una y otra vez.
Un gateway Modbus existe para compensar estas cuatro cosas: aporta el significado, convierte los tipos, protege la red y decide con qué frecuencia preguntar.
Cómo funciona Modbus: registros, funciones y mapas
Un equipo Modbus expone cuatro tablas de datos. Conviene tenerlas claras porque cada una se lee con una función distinta.
| Tabla | Tamaño | Acceso | Función de lectura | Uso típico |
|---|---|---|---|---|
| Coils | 1 bit | Lectura y escritura | 01 | Marcha, paro, rearme |
| Discrete inputs | 1 bit | Solo lectura | 02 | Estados, contactos |
| Input registers | 16 bits | Solo lectura | 04 | Medidas |
| Holding registers | 16 bits | Lectura y escritura | 03 | Medidas, consignas, configuración |
Para escribir se usan las funciones 05 y 15 (coils) y 06 y 16 (holding registers). En una lectura con la función 03 se pueden pedir hasta 125 registros seguidos.
El mapa de registros
El mapa es la tabla del manual que dice qué hay en cada dirección. Un analizador de redes típico puede tener algo así:
| Dirección | Descripción | Tipo | Escala | Unidad |
|---|---|---|---|---|
| 0 | Tensión L1-N | float32 | 1 | V |
| 2 | Tensión L2-N | float32 | 1 | V |
| 12 | Frecuencia | float32 | 1 | Hz |
| 52 | Potencia activa total | float32 | 1 | W |
| 342 | Energía activa importada | uint32 | 0,1 | kWh |
Un `float32` ocupa dos registros. La dirección 0 y la 1 forman juntas la tensión de L1, y por eso la siguiente medida empieza en la 2.
Las direcciones: 0 o 40001
Aquí empieza el primer malentendido. Muchos manuales usan la notación clásica de Modicon, en la que los holding registers empiezan en 40001. En la trama, en cambio, la dirección del primer registro es 0. El registro «40101» de un manual se pide en el protocolo como dirección 100. Si el gateway y el manual no usan la misma convención, todas las lecturas salen desplazadas una posición y los valores no tienen ningún sentido.
Las excepciones
Cuando un equipo no puede responder, devuelve un código de excepción en lugar de datos. Los tres que más se ven al integrar son el 01 (función no soportada), el 02 (dirección no válida) y el 03 (valor no válido). Un 02 casi siempre significa que el mapa está mal leído o que el equipo es de otra versión de firmware.
Modbus RTU y Modbus TCP: cableado, velocidad y límites
Modbus tiene dos variantes de uso diario. Comparten las tablas y las funciones, y cambian en el transporte.
Modbus RTU sobre RS-485
Es la versión serie. Los equipos se conectan en bus, uno detrás de otro, con un par trenzado. Las reglas básicas del RS-485 son pocas y se incumplen a menudo:
- Hasta 32 cargas unitarias por segmento sin repetidor y unos 1.200 m de cable a velocidades bajas.
- Topología en bus, sin derivaciones largas ni estrellas.
- Una resistencia de terminación de 120 Ω en cada extremo del bus, y solo en los extremos.
- Todos los equipos con la misma velocidad y la misma paridad. Las más comunes son 9.600 y 19.200 baudios.
- Cada esclavo con su dirección, de la 1 a la 247, sin repetir.
- Un único maestro. Dos maestros en el mismo bus producen colisiones y errores intermitentes que cuesta mucho diagnosticar.
Modbus TCP sobre Ethernet
La misma lógica dentro de un paquete TCP, en el puerto 502. Es más rápido, no tiene el límite de 32 equipos y se integra en la red de la planta. A cambio, cualquiera que llegue a esa red puede hablar con el equipo. Existe una variante segura, Modbus/TCP Security, que añade TLS sobre el puerto 802, pero muy pocos equipos instalados la soportan.
Cuánto tarda en leerse un bus
Es el cálculo que más se olvida. A 9.600 baudios, cada carácter tarda algo más de un milisegundo. Una petición de diez registros y su respuesta suman unos 33 bytes, y con los tiempos de silencio y de respuesta del equipo cada transacción cuesta del orden de 60 a 100 ms. Con 20 equipos en el bus y cinco bloques de registros por equipo, un ciclo completo dura entre seis y diez segundos.
Ese número decide qué se puede pedir. Leer cada segundo una variable de cada equipo de ese bus no es posible, y forzarlo produce timeouts que parecen averías. Agrupar los registros contiguos en una sola petición, subir la velocidad del bus si todos los equipos lo admiten y separar los equipos rápidos en otro bus son las tres palancas.
Qué hace un gateway Modbus
Un gateway Modbus es un equipo, o un software sobre un equipo industrial, que habla Modbus hacia los equipos de la planta y otro protocolo hacia arriba. Para llevar datos a una plataforma en la nube, lo habitual es MQTTProtocoloMQTTEl protocolo pub/sub estándar del IoTVer perfil. Su trabajo tiene cinco partes.
Sondear. Pregunta a cada equipo por los registros configurados, con un intervalo para cada grupo. La energía acumulada puede leerse cada 15 minutos y la potencia cada 10 segundos.
Interpretar. Aplica el mapa: junta los dos registros de un `float32` en el orden correcto, aplica la escala, convierte enteros con signo y pone nombre y unidad a cada valor. Lo que sale del gateway ya no es «registro 52», es «potencia activa total: 41.200 W».
Filtrar. Publica por excepción o con banda muerta. Si la tensión se mueve una décima, no hace falta enviarla. Con 400 variables sondeadas cada 10 segundos, publicar solo lo que cambia reduce el tráfico de forma notable.
Guardar si se corta la conexión. Si cae internet, el gateway guarda las lecturas con su marca de tiempo y las envía cuando vuelve. Sin esa función, un corte de cuatro horas deja un hueco de cuatro horas en las gráficas y en los informes de consumo.
Proteger. La conexión hacia la plataforma la abre el gateway, cifrada con TLS. El cortafuegos de la planta no necesita reglas de entrada, y el puerto 502 nunca queda expuesto fuera de la red de control. Es el principio que desarrollamos en nuestra guía de acceso remoto industrial, y encaja con el modelo de zonas y conductos de ISA/IEC 62443 y con las recomendaciones del NIST SP 800-82.
Si la planta tiene también equipos con OPC UAOProtocoloOPC UAEstándar de interoperabilidad para la automatización industrialVer perfil, el gateway suele leer los dos protocolos y publicar todo por la misma conexión. Nuestra comparativa OPC UA frente a MQTT explica cómo se reparten el trabajo, y la guía del broker MQTT cubre la parte del transporte.
Errores típicos al integrar un gateway Modbus
Casi todos los proyectos de Modbus que se retrasan lo hacen por los mismos motivos. Ninguno es difícil de resolver si se busca a propósito.
El orden de las palabras. Un `float32` ocupa dos registros, y cada fabricante decide cuál va primero. La tensión de 230,4 V se codifica como `0x4366 0x6666`. Si el gateway lee los registros en el orden contrario, el valor que sale es del orden de 2,7 × 10²³. Lo mismo pasa con los enteros de 32 bits de los contadores de energía. La prueba es sencilla: comparar una lectura con la pantalla del propio equipo.
El signo. Una sonda de cámara frigorífica a -20,0 °C, guardada como entero con escala 10, envía `0xFF38`. Leída como entero sin signo son 6.533,6 °C. El error no aparece en las pruebas de oficina, a temperatura ambiente. Aparece la primera vez que la cámara baja de cero.
La escala. Un registro que guarda la frecuencia como 4998 no está diciendo 4.998 Hz. Está diciendo 49,98 Hz con escala 0,01. La escala viene en el mapa, a veces en una nota a pie de página.
El desplazamiento de una posición. La confusión entre la dirección 40101 del manual y la 100 del protocolo. Todos los valores salen plausibles pero cruzados: la tensión donde debería estar la corriente.
Sondear más rápido de lo que el bus permite. Timeouts aleatorios, equipos que «se caen» y vuelven. Casi siempre es el ciclo calculado de forma optimista o un equipo lento que bloquea a los demás.
Un segundo maestro. El autómata de la máquina ya era maestro del bus y alguien añade el gateway como otro maestro. Funciona a ratos. La solución es leer del autómata en lugar de los equipos, o separar los buses.
Lucía, integradora en Zaragoza, conectó 26 contadores de energía de una nave de logística en una semana, con una regla que ahora aplica siempre. Antes de montar nada, lleva al banco de pruebas un ejemplar de cada modelo, lee diez valores con un software de diagnóstico y los compara con la pantalla del contador. Las dos horas de banco le ahorraron un modelo con el orden de palabras invertido que habría salido mal en 14 de los 26 contadores.
Un orden de trabajo que evita sorpresas
- Inventario. Modelo, firmware, interfaz (RTU o TCP), velocidad, paridad y dirección de cada equipo.
- Mapas. El mapa de registros de cada modelo y versión, con tipo, escala, unidad y orden de palabras.
- Banco. Un ejemplar de cada modelo leído y comparado con su pantalla.
- Ciclo. Cálculo del tiempo de sondeo de cada bus y reparto de intervalos por variable.
- Piloto. Un bus completo durante dos semanas, con alarmas de comunicación activas.
- Despliegue. El resto de buses con la misma plantilla por modelo.
Dónde encaja Cloud Studio IoT con un gateway Modbus
Cloud Studio IoTITérminoIoT (Internet de las cosas)El IoT (Internet of Things) es la red de objetos físicos con sensores, software y conectividad que recogen e intercambian datos y actúan de forma autónoma.Ver perfil conecta equipos Modbus mediante un módulo de software que instalamos en el edge y que hace de gateway. Ese módulo sondea los equipos por Modbus RTU o Modbus TCP en la propia planta, aplica el mapa de cada modelo y envía los datos a la plataforma por MQTT con TLS en el puerto 8883. La nube no habla Modbus con los equipos: la conexión con ellos se queda dentro de la red de la planta.
Cada instancia tiene su propio servidor MQTT, con credenciales que se gestionan desde la plataforma. Con los datos dentro, se configuran dashboards, reglas de alarma con avisos por correo, SMS, WhatsApp, llamada de voz o push, informes programados y vistas tipo SCADA sobre el esquema de la instalación. Si ya trabajas con un SCADA local, nuestra introducción a qué es un sistema SCADA explica cómo convive con una plataforma en la nube.
Para un fabricante como el de Tomás, el modelo que más rinde es el de una plantilla por modelo de máquina: el mapa de registros se configura una vez y cada máquina nueva hereda dashboards y alarmas. Cada cliente ve sus equipos con la marca del fabricante, y el servicio técnico ve todo el parque. Los mismos principios valen para contadores de energía en edificios, como contamos en sistema BMS e IoT y en la guía de monitoreo de energía. La página de IoT industrial y la solución de automatización industrial recogen el resto de casos.
Conclusión
Modbus va a seguir en las plantas muchos años más, y no hace falta cambiar ningún equipo para aprovechar sus datos. Lo esencial:
- Un gateway Modbus aporta lo que el protocolo no tiene: significado de cada registro, tipos de datos, seguridad y frecuencia de lectura.
- Los errores caros son siempre los mismos: orden de palabras, signo, escala, desplazamiento de direcciones y sondeo demasiado rápido.
- Calcula el ciclo de cada bus antes de prometer una frecuencia de datos.
- Prueba un ejemplar de cada modelo en banco antes de desplegar.
- Publica hacia fuera por MQTT con TLS y no expongas nunca el puerto 502 fuera de la red de control.
Si tienes un parque de equipos con Modbus y quieres empezar a ver sus datos sin tocar las máquinas, habla con el equipo sobre tus modelos y tus buses.
Preguntas frecuentes
¿Qué es un gateway Modbus?
Es un equipo o un software que lee equipos Modbus RTU o Modbus TCP en la planta y envía sus datos a otro sistema por otro protocolo, normalmente MQTT hacia una plataforma en la nube. Aplica el mapa de registros, convierte los tipos de datos y protege la red de control.
¿Qué diferencia hay entre Modbus RTU y Modbus TCP?
Usan las mismas tablas y funciones. Modbus RTU va por un bus serie RS-485, con hasta 32 cargas por segmento y un único maestro. Modbus TCP va por Ethernet en el puerto 502, es más rápido y no tiene ese límite de equipos.
¿Se puede conectar Modbus directamente a internet?
No conviene. Modbus TCP clásico no tiene autenticación ni cifrado: quien llega al puerto 502 puede leer y escribir registros. Lo seguro es leer en local con un gateway y publicar hacia fuera con una conexión cifrada.
¿Cada cuánto se pueden leer los datos de un bus Modbus?
Depende de la velocidad del bus, del número de equipos y de cuántos registros se piden. A 9.600 baudios, un bus con 20 equipos y cinco peticiones por equipo tarda entre seis y diez segundos en completar un ciclo.
Artículos Relacionados

Acceso remoto industrial: PLC y máquinas sin abrir puertos
El acceso remoto industrial permite llegar a un PLC desde cualquier sitio, y también es por donde entran muchos ataques. Se puede hacer sin abrir puertos.

OPC UA vs MQTT: cómo unir el SCADA de planta con la nube
OPC UA vs MQTT es un falso dilema en casi todas las plantas: OPC UA dice qué significa el dato, MQTT lo transporta, y casi siempre hacen falta los dos.

Sistema de monitoreo de energía: qué es y cómo funciona
Qué es un sistema de monitoreo de energía, sus componentes (medidores, submedidores, TC, Modbus, gateways), qué es la submedición y cómo implementarlo.
¿Listo para Transformar tu Negocio?
Contáctanos para descubrir cómo Cloud Studio IoT puede ayudarte a alcanzar tus objetivos.
