40001, 30100, 400001.Cómo funciona el direccionamiento Modbus
Modbus define un modelo de datos con cuatro tablas, y la referencia clásica de Modicon codifica la tabla en el primer dígito de un número de 5 o 6 cifras:
- 0xxxx — Coils: bits de lectura/escritura (salidas discretas). Funciones FC01 / FC05 / FC15.
- 1xxxx — Discrete Inputs: bits de solo lectura (entradas discretas). Función FC02.
- 3xxxx — Input Registers: palabras de 16 bits de solo lectura (típicamente mediciones). Función FC04.
- 4xxxx — Holding Registers: palabras de 16 bits de lectura/escritura (setpoints y parámetros). Funciones FC03 / FC06 / FC16.
El desfase base 1 vs base 0 (el error de puesta en marcha #1)
La referencia que ves en la documentación (por ejemplo 40001) es base 1: empieza a contar en 1. Pero la dirección que realmente viaja en la trama del protocolo —la PDU— es base 0. Por eso 40001 se lee en el offset 0, 40002 en el 1, y así. Cuando un dispositivo "lee un registro corrido", casi siempre es este desfase de uno mal aplicado.
Valores de 32 bits y el orden de palabra
Un INT32 o un FLOAT no caben en un registro de 16 bits: ocupan dos registros contiguos. El estándar Modbus no define en qué orden se colocan las dos palabras ni los bytes dentro de ellas, así que cada fabricante elige. Las cuatro combinaciones habituales:
- ABCD — big-endian: palabra alta primero, byte alto primero. El más "natural".
- CDAB — word swap: palabra baja primero. Muy frecuente en PLCs y variadores.
- BADC — byte swap dentro de cada palabra.
- DCBA — little-endian completo.
Si un valor flotante se lee como un número enorme o diminuto sin sentido, el orden de palabra del dispositivo no coincide con el que asume tu maestro. La forma segura de identificarlo: escribe un valor conocido (por ejemplo 1.0) en el esclavo y prueba los cuatro órdenes en esta herramienta hasta que el decodificado coincida.
Preguntas frecuentes
¿Integras y monitoreas equipos industriales?
Nuestro Centro de Operaciones monitorea redes OT, PLCs y sistemas SCADA/ICS 24×7 con visibilidad unificada de eventos de TI y OT.