Modbus explicado: RTU, TCP y lógica de registros
Modbus es probablemente el protocolo de comunicación más longevo de la automatización. Nació en los años setenta, es abierto y documentado, y sigue presente en casi cualquier instalación: desde variadores de frecuencia hasta analizadores de red y controles de climatización.
Su longevidad se explica por la sencillez: no tiene modelos de objetos complejos ni configuración laboriosa. Un equipo pregunta y otro responde.
Principio de funcionamiento
Modbus trabaja con el modelo cliente-servidor (antes llamado maestro-esclavo). El cliente lanza una petición y el equipo direccionado contesta. Un servidor nunca transmite por iniciativa propia: siempre se le consulta.
Los datos se organizan en cuatro zonas:
| Zona | Tipo | Acceso | Contenido habitual |
|---|---|---|---|
| Coils | 1 bit | lectura y escritura | Órdenes de mando, habilitaciones |
| Discrete Inputs | 1 bit | solo lectura | Estados, finales de carrera |
| Input Registers | 16 bits | solo lectura | Medidas como corriente o temperatura |
| Holding Registers | 16 bits | lectura y escritura | Consignas y parámetros |
De ahí salen los códigos de función: 01 y 02 leen bits, 03 y 04 leen registros, 05 y 06 escriben valores individuales, 15 y 16 escriben varios a la vez.
¿Modbus RTU o Modbus TCP?
| Modbus RTU | Modbus TCP | |
|---|---|---|
| Medio | Serie, normalmente RS-485 | Ethernet |
| Direccionamiento | Dirección de equipo 1–247 | Dirección IP, puerto 502 |
| Topología | Bus en línea | Estrella mediante switch |
| Verificación | CRC en la trama | La aporta TCP/IP |
| Ventaja | Robusto, largas distancias, económico | Rápido y fácil de integrar con sistemas informáticos |
Ambas variantes comparten la misma lógica de registros: quien entiende una se maneja de inmediato con la otra.
Montar bien un bus RS-485
La mayoría de los problemas con Modbus RTU no son de protocolo, sino de cableado:
- Respetar la topología en línea. Las derivaciones largas son la causa más frecuente de fallos.
- Colocar resistencias de terminación en los dos extremos del bus para evitar reflexiones.
- Referencia de masa común: RS-485 es diferencial, pero necesita un potencial de referencia compartido.
- Cable trenzado y apantallado, con la pantalla conectada por un solo extremo.
- Parámetros idénticos en todos los equipos: velocidad, paridad y bits de parada.
Los tropiezos habituales
- Desfase de una dirección. Algunos fabricantes numeran los registros desde 1 y el protocolo lo hace desde 0. Si el valor aparece corrido una posición, la causa casi siempre es esa.
- Orden de bytes y palabras. Un valor de 32 bits ocupa dos registros y el orden no está unificado. Si la medida no tiene sentido, conviene probar a intercambiarlos.
- Escalado. Modbus transmite números sin unidades: el valor 2350 puede significar 23,50 A. El factor está en el manual, no en la trama.
- Tiempos de espera. Un timeout demasiado corto con equipos lentos provoca fallos aparentemente aleatorios.
Para ver dónde encaja Modbus en el conjunto, consulte la guía de automatización industrial; quien suele preguntar es un PLC o un sistema SCADA.
Preguntas frecuentes
¿Qué es Modbus?
Un protocolo de comunicación industrial abierto y muy sencillo. Un cliente solicita datos y el equipo direccionado responde. La información se organiza en coils (bits) y registros (16 bits).
¿Qué diferencia hay entre Modbus RTU y Modbus TCP?
Modbus RTU transmite por línea serie, normalmente RS-485, con direcciones de equipo del 1 al 247. Modbus TCP utiliza Ethernet y direcciones IP en el puerto 502. La lógica de registros es idéntica en ambos.
¿Por qué no coincide la dirección de mis registros Modbus?
Casi siempre por la forma de numerar: muchos fabricantes empiezan a contar los registros en 1 mientras que el protocolo empieza en 0. Un desfase de exactamente una posición apunta a esa causa.
