Conversor de direcciones Modbus

Convierta una dirección Modbus escrita como en el manual del dispositivo (40001, 400001, desde uno o desde cero) a las demás convenciones, incluido el desplazamiento transmitido.

Modbus y comunicaciones serie Actualizado Gratis, sin registro

40108Referencia de 5 dígitos
400108Referencia de 6 dígitos
108Número desde 1
107Desde 0, transmitido

Registro de retención, desplazamiento 107 (0x006B).

Registros adyacentes

Desplazamiento desde 0según la documentación
  1. 10440105
  2. 10540106
  3. 10640107uno menos
  4. 10740108
  5. 10840109uno más
  6. 10940110
  7. 11040111

¿Lee el registro contiguo? Es posible que el manual y el software cuenten desde 0 y 1 respectivamente: pruebe el registro adyacente.

Las cuatro tablas

  • 0xBobinasbits individualeslectura 01, escritura 05 y 15
  • 1xEntradas discretasbits individuales, solo lecturalectura 02
  • 3xRegistros de entradapalabras de 16 bits, solo lecturalectura 04
  • 4xRegistros de retenciónpalabras de 16 bitslectura 03, escritura 06 y 16

Solicitud de lectura de este registro

  1. 03función
  2. 00dirección, byte alto
  3. 6Bdirección, byte bajo
  4. 00cantidad, byte alto
  5. 01cantidad, byte bajo

El dígito inicial de una referencia (4) no se transmite: la función 03 selecciona la tabla y 0x006B es la dirección.

Completar la trama RTU de la unidad 1 con su CRC
Dirección del manual
Forma escrita
Tabla de registros
Tabla

Desplazamiento transmitido, desde 0

107

Desplazamiento en hexadecimal
0x006B
Número desde 1
108
Referencia de 5 dígitos
40108
Referencia de 6 dígitos
400108
Código de función de lectura
03

Registro de retención, identificado por el 4 inicial de la referencia. El código de función selecciona la tabla; ese dígito no se transmite.

Cómo se calcula
  1. Desplazamiento = dirección − 40001=40108 − 40001=107
  2. Hex = desplazamiento en base 16=107=0x006B

Registro de retención 40108 corresponde a la dirección 107 (0x006B) en la solicitud Modbus.

Consejo: Si cada valor leído corresponde al registro vecino, el software y el manual discrepan entre numeración desde cero y desde uno. Desplace la dirección una posición.

Cómo convertir una referencia Modbus a una dirección de registro

Los manuales escriben las direcciones Modbus de varias formas: 40001, 400001, registro 1 y dirección 0 pueden designar el mismo registro de retención. Una solicitud Modbus lleva la dirección desde cero, entre 0 y 65535, y el código de función selecciona la tabla. Para convertir una referencia como 40001, reste la primera referencia de su tabla: 40001 − 40001 = 0. Introduzca una referencia de cinco o seis cifras tal como aparece en el manual; la calculadora identifica la tabla por su primera cifra. Para un número desde uno o desde cero, seleccione la tabla.

Referencia de cinco cifras (40001)

dirección = referencia − 40001

La primera cifra indica la tabla: 0 para bobinas, 1 para entradas discretas, 3 para registros de entrada y 4 para registros de retención. Reste 00001, 10001, 30001 o 40001. Este formato solo abarca 9.999 elementos por tabla.

Referencia de seis cifras (400001)

dirección = referencia − 400001

Es la misma convención, pero permite 65.536 elementos por tabla. Reste 000001, 100001, 300001 o 400001.

Número de registro desde uno

dirección = número − 1

Algunos mapas numeran los registros desde 1 sin una cifra que identifique la tabla. El registro 1 corresponde a la dirección 0.

Dirección desde cero

dirección = número

Los mapas dirigidos a programadores suelen indicar la dirección tal como va en la solicitud, a menudo en hexadecimal.

El código de función selecciona la tabla, no la dirección: 01 lee bobinas, 02 entradas discretas, 03 registros de retención y 04 registros de entrada. El 4 de 40001 indica que debe usarse la función 03; nunca se transmite.

Ejemplos: direcciones de registros Modbus

Tensión de un contador en 30001

El manual de un contador indica la tensión de fase en 30001. Es el primer registro de entrada: léalo con la función 04 en la dirección 0.

Desplazamiento transmitido, desde 0 0 Abrir en la calculadora

Lectura desplazada una posición desde 40108

El mapa sitúa una consigna en 40108; la solicitud utiliza la función 03 en la dirección 107 (0x006B). Introducir 108 lee el siguiente registro, un error que a menudo devuelve un valor plausible pero incorrecto. Compruebe primero un registro cuyo valor pueda confirmar.

Desplazamiento transmitido, desde 0 107 Abrir en la calculadora

Referencia de seis cifras superior a 9999

Los mapas grandes utilizan referencias de seis cifras porque el formato de cinco cifras termina en 49999. La referencia 412001 corresponde a la dirección 12000 (0x2EE0) de un registro de retención.

Desplazamiento transmitido, desde 0 12000 Abrir en la calculadora

Intervalos de referencias Modbus por tabla

Primera y última referencia de cinco cifras de cada tabla y comienzo del formato de seis cifras. En la solicitud, todos los intervalos comienzan en la dirección 0.

TablaPrimera de cinco cifrasÚltima de cinco cifrasPrimera de seis cifras
Bobinas0000109999000001
Entradas discretas1000119999100001
Registros de entrada3000139999300001
Registros de retención4000149999400001

Descargar esta tabla (CSV)

Preguntas sobre direcciones de registros Modbus

¿40001 significa el registro 40001?

No. Designa el primer registro de retención, cuya dirección en la solicitud es 0. El 4 inicial indica la tabla y el resto se cuenta desde uno.

¿Por qué mi lectura Modbus está desplazada un registro?

La causa habitual es mezclar la numeración desde cero y desde uno: el mapa cuenta desde uno y el software desde cero, o al contrario. Si la lectura parece corresponder al registro vecino, desplace la dirección una posición y compare.

¿Qué código de función lee registros de retención?

La función 03 lee registros de retención y la 04 lee registros de entrada. La 06 escribe un registro de retención y la 16 (0x10) escribe varios.

¿Cuál es la dirección Modbus más alta?

65535 (0xFFFF) en cada tabla, porque el campo de dirección de la solicitud tiene 16 bits. Las referencias de cinco cifras no llegan más allá de 9999 en una tabla; para ello existen las referencias de seis cifras.

Límites de este resultado

  • Confirme los datos de origen, la ficha del dispositivo y las condiciones de instalación antes de basarse en el resultado.

Medir de forma continua

Un ZMB conecta un dispositivo Modbus RS-485 a la red inalámbrica. Las entradas discretas y los registros de entrada son de solo lectura; las bobinas y los registros de retención pueden admitir escritura si el dispositivo lo permite. El Gateway también puede leer dispositivos Modbus directamente.

Guías relacionadas

Fuentes

  1. MODBUS Application Protocol Specification V1.1b3 (se abre en una nueva pestaña) (PDF) Modbus Organization, 2012-04-26
  2. An Introduction to Modbus (se abre en una nueva pestaña) Modbus Organization, accessed 2026-09-14