top of page

Protocolo Modbus Explicado a Fondo: Antecedentes, Evolución, Principios y Configuración Práctica

24 nov 2025
32 min de lectura

Actualizado: 12 oct

Protocolo Modbus Explicado a Fondo: Antecedentes, Evolución, Principios y Configuración Práctica

Introducción: ¿Por qué se sigue utilizando Modbus?

Modbus se utiliza en las comunicaciones industriales desde que Modicon lo presentó en 1979. Su modelo de solicitud/respuesta sigue siendo útil para leer mediciones, estados de dispositivos y registros de control en los sectores de energía, agua, procesos industriales y manufactura. Su uso continuado se explica mejor por los equipos instalados, las especificaciones accesibles y una implementación sencilla que por estimaciones sin respaldo sobre cuota de mercado o cantidad de dispositivos.

Modbus se centra en intercambiar un conjunto reducido de datos de dispositivos mediante códigos de función definidos. Esa sencillez puede reducir el trabajo de implementación e integración, siempre que el ingeniero también verifique la interfaz física, el mapa de registros del dispositivo y los requisitos de la aplicación. Entre sus ventajas prácticas se incluyen:

  • Modelo de comunicación sencillo: un cliente serie programa solicitudes y un servidor responde; TCP utiliza el mismo modelo de aplicación sobre una conexión de red.

  • Especificaciones públicas: los implementadores pueden obtener los documentos del protocolo de Modbus Organization. Una especificación abierta no equivale a la licencia de una pila de software o un producto particular.

  • Amplia variedad de implementaciones: controladores, instrumentos y pasarelas de distintos fabricantes pueden intercambiar datos cuando coinciden las funciones admitidas y los mapas específicos del dispositivo.

  • Requisitos de implementación modestos: los dispositivos embebidos pequeños pueden implementar las funciones que necesitan; la memoria, la alimentación y el costo de los componentes reales dependen del diseño.

  • Cableado práctico de bus RS-485: varios dispositivos direccionados pueden compartir un bus diseñado correctamente. Modbus serie dispone de las direcciones 1–247, pero la carga eléctrica, la topología y la temporización determinan cuántos dispositivos admite un segmento.

  • Base instalada consolidada: sustituir dispositivos de campo que funcionan puede requerir un trabajo de integración considerable. Las pasarelas pueden poner los datos Modbus existentes a disposición de sistemas de supervisión más recientes.

Una pasarela que admita explícitamente la conversión de protocolos o la recopilación de datos puede leer dispositivos Modbus y publicar valores seleccionados mediante MQTT, HTTP u OPC UA. Deben configurarse el mapeo de registros, las unidades, el intervalo de actualización y las funciones admitidas por la pasarela; una conexión IP común no los proporciona automáticamente. Esta guía recorre Modbus desde sus antecedentes y su modelo de datos hasta los formatos de trama, el despliegue y la configuración, para que el lector pueda consultarla junto con los manuales exactos de cada dispositivo.

Modbus es un protocolo de comunicación cliente/servidor para leer y escribir bobinas y registros. RTU y ASCII utilizan tramas serie; Modbus TCP utiliza TCP/IP. Antes de configurar la conexión, compruebe el mapa de registros del dispositivo y la convención de direcciones del cliente.

En una modernización, un controlador puede ofrecer Modbus RTU por una línea serie mientras el sistema de supervisión espera Modbus TCP. Que ambos extremos indiquen «Modbus» no garantiza que una pasarela convierta las tramas ni aclara qué dirección corresponde a una referencia de registro.

Esta guía separa el modelo de datos, el transporte y el formato de los mensajes. Compara RTU, ASCII y TCP, y explica por qué una referencia como 40001 no siempre es la dirección que debe introducirse en el cliente. La lista de puesta en marcha ayuda a preparar un pequeño mapa antes de configurar la conexión.

Antecedentes históricos y evolución de Modbus

Antecedentes

A medida que los controladores programables se extendieron por la automatización industrial, los controladores y los instrumentos de campo necesitaron una forma práctica de intercambiar mediciones y comandos. Las interfaces específicas de cada fabricante dificultaban la integración. Modbus surgió de Modicon en ese contexto como un protocolo de solicitud/respuesta para equipos industriales; el protocolo no hace intercambiables todos los mapas de dispositivos ni todas las interfaces eléctricas.

Modicon presentó Modbus en 1979. Un cliente envía un código de función y los datos de la solicitud; el servidor direccionado devuelve los datos solicitados o una respuesta de excepción si no puede atender una solicitud bien formada. En un bus serie, el cliente controla el intercambio. Este modelo reutilizable permite que controladores e instrumentos intercambien operaciones definidas, mientras el fabricante determina el mapa real de datos del dispositivo.

Línea de tiempo de desarrollo

El principal avance consiste en reutilizar un protocolo de aplicación común en comunicaciones serie y TCP/IP. Los hitos siguientes distinguen el origen del protocolo, las ediciones documentadas de sus especificaciones y las prácticas de integración actuales:

Periodo / fecha del documento

Hito

Importancia para ingeniería

1979

Modicon presenta Modbus

Protocolo de solicitud/respuesta para controladores y dispositivos industriales.

Implementaciones serie

Formatos de trama RTU y ASCII

Un modelo de aplicación común puede utilizar tramas RTU binarias compactas o tramas serie codificadas en ASCII.

Integración Ethernet

Modbus TCP/IP

La PDU de aplicación se transporta mediante una conexión TCP con cabecera MBAP; no es una trama RTU enviada sin cambios.

24 de octubre de 2006

TCP/IP Implementation Guide V1.0b

Documenta la comunicación cliente/servidor y la integración en TCP/IP y sistemas de pasarela.

20 de diciembre de 2006

Serial Line Guide V1.02

Documenta el direccionamiento serie, las tramas, la temporización y los requisitos de implementación.

26 de abril de 2012

Application Protocol Specification V1.1b3

Define el modelo de datos, el direccionamiento, los códigos de función y el comportamiento de excepción que se usan en esta guía.

Práctica de integración actual

Sondeo y pasarelas de protocolos

Los valores seleccionados de dispositivos pueden mapearse a MQTT u OPC UA cuando la pasarela y la aplicación admiten expresamente esas funciones.

Estos avances permiten que los dispositivos de campo existentes participen en sistemas más recientes sin cambiar el significado de las solicitudes de aplicación. El transporte, el comportamiento de la pasarela y la interpretación de los registros deben verificarse por separado.

¿Por qué Modbus no ha sido obsoleto?

Modbus sigue siendo útil cuando los dispositivos ya ofrecen un mapa de registros conocido y la aplicación necesita una adquisición o un control sencillos. Reemplazar esos dispositivos puede requerir cambios de cableado, validación e integración de software. El uso de recursos y el costo de migración dependen de la implementación real; no conviene basar la selección en afirmaciones fijas sobre el tamaño del código, la proporción de equipos heredados o una relación de costos.

Modbus puede complementar MQTT u OPC UA en una arquitectura IIoT. Una pasarela puede consultar un medidor mediante Modbus, interpretar sus registros y exponer las mediciones resultantes a una aplicación de supervisión o en la nube. Estos protocolos tienen modelos de comunicación e información distintos; ese mapeo es una función de la aplicación, no una capa que Modbus proporcione automáticamente.

Arquitectura del protocolo Modbus

Modbus es un protocolo de aplicación cliente/servidor basado en solicitudes y respuestas. En una línea serie, el cliente (tradicionalmente llamado maestro) inicia las transacciones, mientras responde el servidor (esclavo) direccionado. En un bus serie compartido suele haber un solo cliente. Modbus TCP puede admitir varias conexiones de cliente dentro de los límites del servidor. Ninguna de las dos formas garantiza un tiempo de respuesta fijo: influyen el tiempo de sondeo, la velocidad del enlace, el procesamiento, los tiempos de espera y la carga de red.

Arquitectura básica

Client (PLC / gateway / HMI)  -- request -->  Server (instrument / controller)
Client                        <-- response --  Server

Serial bus: one client schedules transactions.
TCP: client connections depend on the server implementation.
  • Cliente: inicia solicitudes y programa el sondeo y los reintentos. Varios clientes serie independientes no deben transmitir en el mismo bus sin un sistema de coordinación diseñado expresamente.

  • Servidor serie: utiliza una dirección individual de 1 a 247. La dirección 0 se reserva para escrituras de difusión (broadcast) admitidas; los servidores no responden a esas solicitudes.

  • Ruta de comunicación: encapsulado RTU o ASCII en una interfaz serie compatible, o la PDU de aplicación Modbus sobre TCP/IP.

Modelo de datos

Modbus abstrae los dispositivos como un "mapa de registros":

  • Grupos de bits: las coils (bobinas) son valores de un bit que pueden leerse y escribirse; el cliente puede leer las entradas discretas, también de un bit.

  • Grupos de registros: los registros de retención (holding registers) son palabras de 16 bits que pueden leerse y escribirse; el cliente puede leer los registros de entrada, también palabras de 16 bits. El dispositivo puede limitar las operaciones y el acceso admitidos.

Separe el mensaje de aplicación de su encapsulado y del enlace físico:

  • Aplicación: la unidad de datos de protocolo (PDU) contiene un código de función y sus datos.

  • Trama serie: la dirección y el campo de comprobación de errores rodean la PDU; RTU y ASCII codifican y delimitan las tramas de forma distinta.

  • Encapsulado TCP/IP: la cabecera MBAP precede a la PDU en un flujo de bytes TCP. Ethernet es un enlace de red subyacente habitual; RS-485 es una interfaz eléctrica serie común.

La PDU de aplicación está limitada a 253 bytes. Una ADU RTU puede tener hasta 256 bytes y una ADU TCP hasta 260 bytes, incluidos sus respectivos campos de encapsulado. La longitud real de las solicitudes y respuestas depende de la función y de la cantidad de datos. Estos límites de tamaño no garantizan una tasa de entrega ni un porcentaje de fiabilidad determinados.

Modbus define peticiones y respuestas entre un cliente y un servidor. El protocolo de aplicación organiza los datos en cuatro grupos:

Grupo de datos

Unidad

Acceso habitual

Coils (bobinas)

Bits individuales

Lectura y escritura

Discrete Inputs (entradas discretas)

Bits individuales

Lectura

Input Registers (registros de entrada)

Palabras de 16 bits

Lectura

Holding Registers (registros de retención)

Palabras de 16 bits

Lectura y escritura

Los códigos de función especifican operaciones como leer bobinas o registros y escribir valores. Un dispositivo puede implementar solo una parte de esas funciones. Su manual proporciona el mapa particular: funciones admitidas, significado de cada dirección, permiso de escritura y codificación de los valores.

Un registro de 16 bits no define por sí mismo el significado de una magnitud.

Un número mayor puede ocupar varios registros. El signo, el orden de bytes y palabras, la escala y la unidad deben obtenerse del manual y anotarse junto a la referencia del registro.

La especificación del protocolo de aplicación Modbus define el modelo de datos y los códigos de función, pero no el mapa de registros de un producto concreto.

Separar los códigos de lectura y escritura

La especificación de aplicación Modbus asigna 0x01 y 0x02 a la lectura de bobinas y entradas discretas, y 0x03 y 0x04 a la lectura de registros de retención y de entrada. La escritura usa otras funciones: entre ellas 0x05 para una bobina, 0x06 para un registro, 0x0F para varias bobinas y 0x10 para varios registros. Un equipo puede admitir solo parte de ellas. Seleccione la función indicada en su manual y confirme que el punto puede escribirse antes de permitir al cliente una operación de escritura.

Una respuesta correcta confirma que se procesó una petición, pero no garantiza que el valor de ingeniería mostrado sea correcto. Los cuatro grupos de datos definen el direccionamiento; signo, escala, unidades y orden de palabras de un valor distribuido en varios registros dependen del equipo. Empiece con un valor conocido de solo lectura. Ante una excepción Modbus, examine función y dirección antes de cambiar el cableado o las rutas IP.

Las tres versiones principales: RTU / ASCII / TCP

RTU, ASCII y TCP comparten el modelo de datos de aplicación de Modbus, pero usan formatos de trama y comportamientos de enlace distintos. Elija la variante que admitan los dispositivos y la ruta de integración reales, sin suponer una cuota de mercado determinada ni compatibilidad universal de los productos.

Modbus RTU (El más clásico y común)

Entorno operativo: un enlace serie compatible con el dispositivo. La guía de línea serie describe interfaces RS-485; algunos equipos también ofrecen RS-232 u otras interfaces serie documentadas expresamente. La operación diferencial semidúplex es típica del RS-485 de dos hilos, pero no es una propiedad de todas las interfaces serie.

  • Transmisión binaria: la dirección, la función y los datos son bytes binarios. Las tramas RTU se separan al menos por 3.5 tiempos de carácter; por encima de 19,200 bit/s, la guía serie recomienda valores fijos de temporizador.

  • Detección de errores: la trama RTU termina con un CRC de 16 bits. Detecta errores de transmisión; no autentica al emisor ni garantiza una entrega sin errores.

  • Configuración serie: utilice la velocidad en baudios, la paridad y los bits de parada admitidos que indiquen los manuales. Todos los dispositivos que se comunican deben coincidir; no suponga un valor predeterminado universal.

  • Distancia y carga: el tipo de cable, la velocidad en baudios, los transceptores, las cargas unitarias, la terminación y la topología determinan el segmento permitido. Las 247 direcciones serie no garantizan la capacidad eléctrica de un segmento.

  • Ventajas: tramas compactas e integración sencilla en bus de campo cuando los dispositivos ya admiten la misma interfaz serie.

  • Limitaciones: el sondeo en bus compartido y la temporización serie limitan el rendimiento; para el diagnóstico pueden ser necesarias capturas de trama y herramientas serie adecuadas.

Topología típica:

RS-485 trunk (termination at the two physical ends, as specified):
[Client] =======+==========+==========+======= [end]
               |          |          |
           [Server 1] [Server 2] [Server 3]

Keep device drops short and follow the equipment wiring guide.
Match documented signal polarity; A/B labels vary between vendors.

Aplicación: Sistemas heredados, monitoreo en campo abierto.

Modbus ASCII (Versión temprana)

Entorno operativo: un enlace serie compatible. Cada byte binario de la dirección, la función y los datos se representa mediante dos caracteres ASCII hexadecimales (0–9 y A–F).

  • Detección de errores: ASCII utiliza una comprobación de redundancia longitudinal (LRC), en lugar del CRC de RTU.

  • Delimitadores de trama: los dos puntos inician la trama y CR/LF la termina.

  • Sobrecarga de codificación: se usan dos caracteres para representar cada byte codificado, por lo que ASCII transmite más caracteres que RTU para la misma carga útil de aplicación.

  • Inspección: el flujo de caracteres hexadecimales puede examinarse en una captura serie, pero sigue siendo necesario un mapa de registros del dispositivo para interpretar los datos.

  • Compatibilidad: elija ASCII solo cuando ambos extremos lo admitan y estén configurados expresamente para ello.

Uso adecuado: mantener o integrar dispositivos que requieren Modbus ASCII. También puede emplearse en una configuración didáctica o de pruebas, pero la compatibilidad debe verificarse y no inferirse solo porque se indique Modbus.

Modbus TCP (Versión Ethernet)

Entorno operativo: una red TCP/IP orientada a la conexión. Modbus TCP suele usar el puerto de servidor 502; confirme el puerto configurado y los roles de cliente/servidor admitidos.

  • Cabecera MBAP: siete bytes que contienen el identificador de transacción, el identificador de protocolo, la longitud y el identificador de unidad.

  • Encapsulado: la ADU Modbus TCP no añade el CRC serie de RTU. Las comprobaciones y retransmisiones del transporte TCP son independientes de la validación de aplicación Modbus.

  • Diseño de red: la velocidad y el alcance del enlace dependen de Ethernet u otros medios de red y de toda la ruta enrutada; no son garantías de rendimiento ni latencia de Modbus.

  • Concurrencia: los dispositivos pueden admitir varios clientes TCP, pero los límites de conexión, la programación de solicitudes y la gestión de transacciones dependen de cada implementación. Una variante basada en UDP no es el transporte TCP descrito aquí.

  • Ventajas: se integra con redes IP existentes y puede conectar clientes de supervisión con pasarelas o servidores TCP nativos.

  • Seguridad: Modbus TCP básico no proporciona autenticación de usuario ni cifrado. Use una ruta de red protegida y una política de acceso adecuadas; no se puede activar TLS en un extremo que no lo implemente.

Una pasarela de protocolos puede traducir transacciones RTU y TCP compatibles. Verifique su modo operativo, el direccionamiento aguas abajo y sus limitaciones; un puerto Ethernet por sí solo no demuestra que admita la conversión.

RTU y ASCII son formatos de mensajes serie. Modbus TCP transporta la petición de aplicación por TCP/IP y añade una cabecera distinta. RS-485 es una capa física frecuente para Modbus serie; no es, por sí sola, un formato de mensaje Modbus.

Modbus RTU: Trama serie binaria con dirección de dispositivo, código de función, datos y CRC; Interfaz serie, dirección del dispositivo, velocidad, paridad, bits de parada y tiempos requeridos

Modbus ASCII: Trama serie con datos hexadecimales codificados como caracteres ASCII, carácter inicial, LRC y terminación de línea; Si el dispositivo admite ASCII y qué parámetros serie necesita

Modbus TCP: Petición de aplicación en un mensaje TCP con cabecera MBAP; IP del servidor, puerto TCP, roles cliente/servidor y posible uso del Unit Identifier para seleccionar un dispositivo aguas abajo

La guía de Modbus sobre línea serie describe las tramas RTU y ASCII. La guía de Modbus TCP/IP explica la cabecera MBAP. El puerto TCP 502 es habitual, pero debe confirmarse el puerto configurado en el equipo.

Los códigos de función y el modelo de datos pueden ser familiares en las distintas variantes; las tramas no son intercambiables. Un cliente serie no puede enviar directamente una trama RTU a un servidor TCP y esperar una conversión automática. Se necesita una pasarela o un modo de dispositivo diseñado para ello.

Examinar la trama antes de investigar los datos

Una trama serie RTU lleva dirección de dispositivo, función y datos seguidos de un CRC. El formato serie ASCII representa datos hexadecimales como caracteres, empieza con un marcador y emplea LRC y terminación de línea. Modbus TCP sitúa la petición de aplicación tras una cabecera MBAP con identificador de transacción, identificador de protocolo, longitud y Unit Identifier, entre otros campos. La trama TCP no reutiliza el CRC de RTU. La diferencia importa al elegir una captura o un modo de gateway.

En un enlace serie, confirme puerto, cableado y ajustes de ambos extremos: dirección, velocidad, paridad, bits de parada y tiempos exigidos por el equipo. Una red RS-485 también requiere topología y terminación adecuadas a su hardware. En TCP, compruebe dirección y puerto del servidor, servicio activo, ruta y firewall. El puerto 502 es habitual, pero un socket TCP que responde no demuestra que exista el punto Modbus esperado.

Estructura de la trama y códigos de función explicados

El "corazón" de Modbus es su trama (Frame), la estandarización garantiza la interoperabilidad. Todas las versiones comparten la PDU (datos de aplicación), con diferente encapsulación.

Estructura de la trama Modbus RTU

Una ADU RTU contiene un byte de dirección, la PDU de aplicación y dos bytes CRC, con un máximo de 256 bytes. La longitud de los datos varía según la función. Las tramas deben separarse al menos por 3.5 tiempos de carácter. Por encima de 19,200 bit/s, la guía de línea serie recomienda un intervalo fijo entre tramas de 1.750 ms; ese valor no debe presentarse como el cálculo de tiempos de carácter a 9,600 bit/s.

Campo

Bytes

Significado

Solicitud ilustrativa 0x03

Dirección del servidor

1

Destino serie 1–247; 0 es difusión (broadcast) para las escrituras admitidas

01

Código de función

1

Operación de aplicación; 0x03 lee registros de retención

03

Datos

Depende de la función; máximo 252

Esta solicitud usa dos bytes de dirección inicial y dos bytes de cantidad

00 0A 00 01

CRC

2

Campo RTU de comprobación de errores, primero el byte bajo y luego el alto

<byte bajo del CRC> <byte alto del CRC>

Solicitud ilustrativa: servidor 1, función 0x03, dirección inicial de base cero 10, cantidad 1: 01 03 00 0A 00 01 <byte bajo del CRC> <byte alto del CRC>. Una respuesta normal ilustrativa con el valor sin signo 100 es 01 03 02 00 64 <byte bajo del CRC> <byte alto del CRC>. Los campos CRC son marcadores de posición deliberados; por tanto, estas cadenas no son tramas completas listas para transmitir en una prueba.

Una respuesta de excepción establece el bit alto del código de función solicitado; por ejemplo, 0x03 pasa a 0x83 e incluye un código de excepción. Algunos ejemplos comunes son 0x01 (función ilegal), 0x02 (dirección de datos ilegal) y 0x03 (valor de datos ilegal). Es posible que una trama serie rechazada por un error de transmisión no reciba ninguna respuesta.

Estructura de la trama Modbus TCP

Modbus TCP antepone la cabecera MBAP de siete bytes a la PDU de aplicación. La longitud total depende de la función y de la respuesta; una solicitud 0x03 normal para un registro tiene 12 bytes, mientras que su respuesta normal tiene 11 bytes. No use 12 bytes como mínimo universal.

Campo

Bytes

Significado

Identificador de transacción

2

Asocia una respuesta con una solicitud en la conexión

Identificador de protocolo

2

0x0000 identifica el protocolo Modbus

Longitud

2

Cantidad de bytes posteriores: Unit Identifier más PDU

Unit Identifier

1

Puede seleccionar un dispositivo serie aguas abajo a través de una pasarela; siga el manual del dispositivo de destino

PDU

Hasta 253

Código de función más datos específicos de la solicitud, respuesta normal o excepción

Para una misma solicitud de aplicación, TCP transporta el código de función y los datos después de MBAP, en lugar de usar el encapsulado RTU con dirección/CRC. Como TCP es un flujo de bytes, no se garantiza que un paquete de red equivalga a una ADU Modbus; el receptor recupera los límites del mensaje mediante la longitud MBAP.

Códigos de función comunes (Conocimiento más importante)

Los códigos de función identifican operaciones. La especificación distingue áreas de códigos de función públicas, definidas por el usuario y reservadas. El bit alto se usa en las respuestas de excepción; los códigos 128–255 no constituyen un rango genérico de funciones privadas. En la tabla, las longitudes cuentan solo los datos específicos de la función posteriores al byte del código de función y excluyen el encapsulado RTU o la cabecera MBAP. N es la cantidad solicitada de bits o registros; ceil(N/8) representa los bytes necesarios para almacenar N bits.

Decimal

Hexadecimal

Función

Datos / operación

Bytes de datos de solicitud

Bytes de datos de respuesta normal

Ejemplo de uso

1

0x01

Read Coils

Leer valores de bits

4

1 + ceil(N/8)

Leer estados de coils documentados

2

0x02

Read Discrete Inputs

Leer valores de bits de entrada

4

1 + ceil(N/8)

Leer estados de entrada documentados

3

0x03

Read Holding Registers

Leer palabras de registros de 16 bits

4

1 + 2N

Leer una medición documentada

4

0x04

Read Input Registers

Leer palabras de registros de entrada

4

1 + 2N

Leer un valor de entrada documentado

5

0x05

Write Single Coil

0xFF00 = activada; 0x0000 = desactivada

4

4 (eco)

Escribir un punto de control aprobado

6

0x06

Write Single Register

Un valor de 16 bits

4

4 (eco)

Escribir un valor de consigna aprobado

15

0x0F

Write Multiple Coils

Valores de bits empaquetados

5 + ceil(N/8)

4

Escribir un rango de coils aprobado

16

0x10

Write Multiple Registers

Varias palabras de 16 bits

5 + 2N

4

Escribir un rango de registros aprobado

17

0x11

Report Server ID

Tipo de servidor, indicador de funcionamiento y datos específicos del dispositivo (serie)

0

Variable

Leer el tipo de servidor y su estado de funcionamiento

43 / 14

0x2B / 0x0E

Read Device Identification

Tipo MEI, código de lectura e identificador de objeto

3

Variable

Leer objetos de identificación admitidos

Los límites dependen de la función: 0x01/0x02 pueden leer hasta 2,000 bits; 0x03/0x04, hasta 125 registros; 0x0F puede escribir hasta 1,968 coils; y 0x10, hasta 123 registros. Los dispositivos pueden imponer límites menores. El rango solicitado debe existir y la operación debe estar admitida; consulte las secciones de la función correspondiente y las respuestas de excepción de la especificación de aplicación.

Tabla de definición de direcciones de registro (Importante)

Referencias como 00001, 10001, 30001 y 40001 son etiquetas convencionales para grupos de datos distintos. El prefijo del grupo no se transmite como parte de la PDU. Una solicitud contiene una dirección de 16 bits de base cero dentro del grupo seleccionado, pero una herramienta cliente puede pedir al usuario una etiqueta, un número de base uno o un desplazamiento. Confirme la convención del manual y del cliente antes de introducir una dirección.

Etiqueta convencional

Grupo de datos

Función de lectura

Acceso habitual

Primer punto en notación convencional

Dirección transmitida

0xxxx

Coils

0x01

Bit de lectura/escritura, si está admitido

00001

0x0000

1xxxx

Entradas discretas

0x02

Bit de solo lectura

10001

0x0000

3xxxx

Registros de entrada

0x04

Palabra de 16 bits de solo lectura

30001

0x0000

4xxxx

Registros de retención

0x03

Palabra de 16 bits de lectura/escritura, si está admitida

40001

0x0000

Los ejemplos del primer punto presuponen las etiquetas convencionales de base uno que se muestran en la tabla; no son asignaciones universales del dispositivo. La temperatura puede estar en cualquier punto documentado. Un valor FLOAT de 32 bits suele ocupar dos registros de 16 bits, pero el cliente debe decodificar su representación IEEE 754 según el orden de bytes y palabras documentado por el dispositivo. Modbus transmite primero el byte alto de un registro de 16 bits; el significado y el orden de los valores de varios registros dependen del dispositivo.

Los manuales y programas de ingeniería suelen mostrar referencias como 00001, 10001, 30001 y 40001. Estos rótulos normalmente indican un grupo de datos y un número de registro legible para las personas. La petición Modbus incluye un campo de dirección numérica; el rótulo mostrado no tiene por qué ser el número que espera el cliente.

Por ejemplo, 40001 suele identificar el primer holding register, mientras que la dirección de petición correspondiente suele ser cero. Es una convención extendida, no una regla segura para todos los manuales, controladores y pasarelas. Algunas herramientas piden la referencia completa; otras, un desplazamiento basado en cero o una dirección basada en uno.

Antes de configurar una lectura, registre:

  • El grupo de datos: coil, discrete input, input register o holding register.

  • El código de función que requiere el dispositivo.

  • La referencia exacta indicada en el manual.

  • La dirección o el desplazamiento que espera el software cliente.

  • El tipo de valor, signo, orden de bytes y palabras, escala y unidad.

No reste uno a todas las direcciones por costumbre. Compare el ejemplo del manual con la convención del cliente o la pasarela y verifique después un valor conocido de solo lectura. El campo de dirección y los códigos de función se definen en la especificación Modbus.

Recorrer un ejemplo de registro

Suponga que un manual llama a una temperatura «registro de retención 40001» y define una escala de 0,1 unidad por cuenta. Muchos clientes solicitarían función 0x03 con dirección cero para ese primer registro; otros piden la referencia mostrada. Registre el nombre del manual y la dirección realmente enviada. Un valor bruto 253 solo equivale a 25,3 unidades si el manual confirma esa escala y el tipo numérico supuesto. Es un ejemplo, no un mapa universal.

Para un valor de 32 bits repartido entre dos registros de 16 bits, la documentación debe fijar también el orden de bytes y palabras. Un número plausible pero incorrecto suele indicar un problema de interpretación, no de red. Valide convención de dirección y codificación con un punto de solo lectura que pueda comprobarse de forma independiente antes de interpretar una lista mayor.

Compruebe a la vez la referencia del manual, el código de función y la dirección realmente transmitida; 40001 no es un valor de entrada universal para todos los clientes.

Diferencias técnicas entre Modbus RTU y TCP

Elija RTU o TCP según las interfaces instaladas, el cableado, la carga de sondeo, el diseño de red y los requisitos de protección. La comparación siguiente describe consideraciones de ingeniería, no un benchmark medido de 2025 ni límites de rendimiento garantizados:

Aspecto

Modbus RTU

Modbus TCP

Selección / validación

Enlace subyacente

Interfaz serie compatible, habitualmente RS-485

TCP/IP, habitualmente sobre Ethernet

Compruebe la interfaz del dispositivo y el modo de la pasarela.

Alcance

Depende del cable, la velocidad en baudios, los transceptores y la topología

Depende de los medios de red y de la ruta enrutada

Use las especificaciones del equipo; no hay una distancia universal de extremo a extremo.

Rendimiento

Velocidad serie más separación de tramas y sobrecarga de sondeo

Procesamiento de red y servidor más programación de solicitudes

Mida el ciclo de sondeo completo con la carga prevista.

Ruido / aislamiento

Importan el cableado, la puesta a tierra, el aislamiento y la terminación

Importan los medios, el aislamiento, el apantallamiento y la instalación

Ninguna modalidad de trama garantiza inmunidad.

Cantidad de dispositivos

Direcciones 1–247; la capacidad eléctrica del segmento puede ser menor

Limitada por las conexiones, los recursos del servidor y el diseño de red

Valide la carga física y los límites de la aplicación.

Configuración

Parámetros serie, cableado, dirección y mapa de registros

IP, puerto, roles, Unit Identifier y mapa de registros

Un ping correcto o un puerto abierto no son una prueba de aplicación.

Alimentación / costo

Dependen de la implementación y el hardware

Dependen de la implementación y el hardware

Compare las especificaciones reales de los dispositivos y los costos del proyecto.

Seguridad

RTU básico no incluye autenticación de usuario ni cifrado

TCP básico no incluye autenticación de usuario ni cifrado

Use una arquitectura protegida; verifique cualquier implementación de seguridad añadida.

Tiempo de respuesta

Depende del procesamiento del dispositivo, la velocidad serie, el sondeo y los reintentos

Depende del procesamiento del dispositivo, la carga, la latencia de red y la concurrencia

Ninguna opción garantiza tiempo real estricto.

Escenarios de aplicación industrial reales

Modbus se utiliza para adquisición y control supervisado en muchos entornos industriales. Los ejemplos siguientes describen posibles patrones de aplicación, no implementaciones verificadas de clientes ni mapas universales de registros de fabricantes. Cada dirección, escala y escritura permitida debe basarse en el manual del dispositivo exacto.

Industria Eléctrica

  • Medidores y cuadros eléctricos: lea puntos documentados de tensión, corriente, energía o estado mediante las funciones de lectura admitidas.

  • Equipos de protección y control: recopile datos de diagnóstico admitidos; para un reinicio u otra escritura se requiere la operación documentada y la aprobación del responsable del proceso.

  • Supervisión ambiental: lea las mediciones documentadas del dispositivo sobre gases o condiciones del gabinete, así como el estado de las alarmas. La etiqueta de un grupo de datos no define por sí sola una medición.

Agua y Saneamiento Ambiental

  • Bombas e instrumentos de nivel: recopile el nivel y el estado de operación; las escrituras de velocidad o control dependen del mapa de escritura documentado del equipo.

  • Transmisores de presión y caudal: confirme el modelo exacto, la dirección de registro, el tipo de datos, la escala y la unidad. No existe una asignación genérica de presión a 40001 válida para todos los transmisores.

  • Una instalación posible utiliza un segmento RS-485 diseñado y una pasarela de protocolos para dar servicio a un cliente SCADA. La capacidad del segmento y la compatibilidad con la conversión deben validarse para esa instalación.

Petróleo y Petroquímica

  • Instrumentos de proceso: lea mediciones de varios registros admitidas utilizando la interpretación FLOAT o entera y el orden de palabras documentados.

  • Integración de supervisión: un servidor Modbus TCP o una pasarela RTU/TCP puede exponer puntos seleccionados a un DCS o cliente de supervisión cuando se hayan verificado sus funciones y rendimiento.

  • Parámetros de control: las escrituras múltiples como 0x10 deben usar un rango documentado y aprobado y tener un efecto previsto, con un procedimiento acordado para verificar el resultado del proceso.

Fabricación Industrial

  • Adquisición de equipos: recopile contadores, estados y mediciones documentados de controladores compatibles con Modbus o de una pasarela de interfaz verificada.

  • La integración con otra red industrial requiere una aplicación o pasarela que implemente ambos protocolos y un mapeo configurado. No debe inferirse de un router común ni de un ejemplo de fábrica sin verificar.

Energía Nueva (Fotovoltaica)

  • Inversores y cajas combinadoras: recopile mediciones de operación y alarmas documentadas mediante el mapa Modbus admitido por el modelo exacto.

  • Instrumentos ambientales: mapee puntos de irradiancia, meteorología o alarmas con el manual del sensor, no con una asignación universal de registros.

  • Una arquitectura posible para una instalación solar combina la recopilación serie local con una pasarela conectada por IP y una plataforma de supervisión. Los presupuestos de enlace, los intervalos de actualización y la publicación en la nube admitida requieren validación específica del proyecto.

Implementación típica en puertas de enlace/routers industriales

Una pasarela industrial compatible con Modbus puede conectar dispositivos de campo serie con un sistema IP de supervisión o recopilar registros seleccionados para otra aplicación. Su valor depende de las funciones que implemente el modelo y el firmware exactos. La conversión RTU/TCP, el transporte serie transparente, el enrutamiento IP y la publicación MQTT son funciones distintas, con requisitos independientes de configuración y validación.

Arquitectura típica

[Serial field devices] -- RTU / RS-485 -- [RTU/TCP protocol gateway] -- Modbus TCP -- [Client]

Optional, only if supported and configured:
[Polling / data application] -- mapped MQTT data --> [Broker / cloud]
[Polling / data application] -- mapped OPC UA data --> [Supervisory system]
  • Conversión de protocolos: una pasarela RTU/TCP mapea transacciones TCP e identificadores de unidad al bus serie. El transporte serie transparente sobre IP es un modo distinto.

  • Enrutamiento IP: transporta tráfico IP entre redes; por sí solo no analiza registros ni convierte RTU a TCP. Verifique cualquier función de filtrado Modbus o VPN en la documentación del producto exacto.

  • Recopilación de datos y lógica de borde: una aplicación compatible puede consultar registros, interpretar unidades y publicar datos o evaluar una regla de alerta. Los lenguajes de scripts, las cargas MQTT y las operaciones admitidas dependen del producto.

Un router IP reenvía tráfico entre interfaces de red. Eso no significa que lea registros Modbus ni convierta una trama serie RTU en una petición Modbus TCP. La conversión ocurre en la capa de aplicación y requiere una pasarela o un modo de funcionamiento preparado para ella. La RFC 1812 describe las funciones de reenvío de un router IPv4.

La distinción importa cuando un PLC está conectado por serie, pero el cliente de supervisión reside en una red IP. Un servidor serie puede transportar bytes serie por una conexión IP sin modificar el protocolo serie. Una pasarela de protocolo, en cambio, puede terminar una variante Modbus y generar peticiones en otra.

Confirme qué modo se utiliza, dónde se realiza la consulta y cómo se asignan los identificadores de dispositivo y los registros. Las expresiones «router industrial» y «compatible con Modbus» no bastan para afirmar que exista una interfaz serie o una función de conversión. Consulte el manual del modelo y firmware concretos.

Definir el papel del gateway entre serie e IP

Un servidor serie puede transportar bytes seriales por IP sin convertir peticiones RTU en Modbus TCP. Un gateway de protocolo termina un lado y genera mensajes para el otro, por lo que debe asociar roles cliente/servidor, identificadores de dispositivos descendentes, tiempos de espera y convenciones de dirección. El Unit Identifier de Modbus TCP puede seleccionar un equipo serie detrás del gateway; su significado en un servidor TCP directo depende del equipo. Revise el modo exacto en el manual.

Si el cliente de sondeo está en una red central, siga cliente, ruta IP y firewall, servicio del gateway, bus serie, dispositivo objetivo y respuesta. Anote dónde ocurre el sondeo y qué equipo gestiona reintentos y tiempos de espera. El enlace puede estar activo mientras el gateway apunta a una dirección serie errónea o usa un desplazamiento de registro incompatible. Ni un puerto Ethernet ni la etiqueta «compatible con Modbus» demuestran conversión de protocolo.

El enrutamiento IP, el transporte serie transparente y la conversión RTU/TCP son funciones distintas. Verifique el modo exacto de la pasarela.

Resumen de pasos de implementación

  1. Seleccione el hardware según las interfaces serie reales, las necesidades Ethernet, el entorno, el montaje y los requisitos de alimentación; la cantidad de puertos serie y el grado de protección del gabinete dependen del modelo.

  2. Elija el modo operativo correcto y documente los roles de cliente/servidor, las direcciones serie, los identificadores de unidad TCP, los mapas de registros, los tiempos de espera y los intervalos de actualización.

  3. Proporcione una ruta de red protegida y una política de acceso adecuadas. Modbus básico no es una extensión de seguridad AES; use funciones de seguridad solo si todos los extremos necesarios las implementan y configuran correctamente.

  4. Active los logs y la supervisión de diagnóstico admitidos y, a continuación, verifique una transacción documentada de solo lectura antes de ampliar la lista de sondeo.

En una instalación de campo remota, registre qué dispositivo consulta los instrumentos serie, qué sistema recibe los valores y cómo se protege la ruta de retorno. Solo se debe afirmar un resultado de despliegue o un ahorro de mantenimiento cuando lo respalden las mediciones de ese proyecto; esta arquitectura ilustrativa no afirma ninguno.

Antes de configurar, documente en una página los dispositivos y puntos necesarios:

Elemento

Qué registrar

Extremo

Modelo, firmware y función de cliente o servidor

Variante

RTU, ASCII o TCP

Enlace

Parámetros serie y dirección de dispositivo, o dirección IP y puerto TCP configurado

Punto de datos

Grupo, código de función, referencia del manual y dirección/desplazamiento del cliente

Interpretación

Tipo de dato, signo, orden de bytes/palabras, escala y unidad

Acceso

Solo lectura o escritura permitida según el manual

Proceso de configuración de Modbus (muy detallado)

La configuración empieza por los manuales del dispositivo y del cliente. Antes de probar, registre la variante admitida, la interfaz eléctrica, los parámetros serie o IP, la convención de direcciones de solicitud y la interpretación de datos. Un simulador puede ayudar a validar la configuración del cliente, pero una simulación correcta no demuestra que un dispositivo real tenga el mismo mapa o comportamiento.

Configurar Modbus RTU (RS485)

Paso 1: Determinar parámetros de comunicación

Registre los siguientes parámetros del manual y de la configuración del servidor exactos. Los valores siguientes son ejemplos, no valores predeterminados universales:

Parámetro

Configuración ilustrativa

Qué verificar

Velocidad en baudios

9,600 bit/s

Que la velocidad sea compatible y coincida en todos los dispositivos que se comunican.

Bits de datos

8 para RTU

RTU utiliza ocho bits de datos por carácter.

Paridad

Par

El valor predeterminado de la guía serie es par; los extremos pueden admitir otros modos configurados.

Bits de parada

1 con paridad par/impar; 2 sin paridad

El modo sin paridad de la guía serie añade un bit de parada. Si el dispositivo documenta 8N1, siga su implementación compatible y configure ambos extremos de forma coherente.

Dirección del servidor

1–247; ejemplo 1

Use la dirección única configurada, no un valor de fábrica supuesto.

Use una captura serie o la interfaz de diagnóstico del dispositivo para verificar el formato de trama y las respuestas reales. Una utilidad de terminal genérica solo resulta útil si puede enviar y mostrar el formato de bytes serie y la temporización requeridos.

Paso 2: Cableado y hardware

  • Haga coincidir la polaridad de la señal y el conductor de referencia según los manuales de ambos equipos. La denominación A/B no es uniforme entre fabricantes; no trate A+ y B− como etiquetas universales.

  • Use una topología de bus/troncal con derivaciones cortas y terminación en sus dos extremos físicos, según lo requieran el cable y los equipos. Aplique polarización, apantallamiento y puesta a tierra de acuerdo con el diseño de la instalación.

  • Compruebe primero la continuidad, los cortocircuitos, la alimentación y el aislamiento documentado. Evalúe la calidad de la señal con instrumentos apropiados; un único umbral de tensión en reposo no valida toda una instalación RS-485.

Paso 3: Tabla de registros de entrada

Elabore un mapa del proyecto a partir de la documentación del fabricante. Los puntos inventados siguientes ilustran los campos que conviene registrar; no constituyen un mapa utilizable de ningún producto nombrado:

Punto

Referencia del manual

Dirección de solicitud / función

Tipo / palabras

Escala

Unidad

Temperatura

40001

0 / 0x03, si el cliente usa desplazamientos de base cero

UINT16 / 1

valor sin procesar ÷ 10

°C

Humedad

40002

1 / 0x03, con la misma convención

UINT16 / 1

valor sin procesar ÷ 10

% RH

Estado

00001

0 / 0x01, con la misma convención

Coil / 1 bit

Significado documentado del bit

—

Paso 4: Configurar sondeo en el Maestro

  • Elija un cliente PLC o de pasarela que admita la variante Modbus requerida y consulte la documentación exacta del bloque de función o de la aplicación.

  • Solo para el mapa ilustrativo: servidor serie 1, función 0x03, dirección inicial de base cero 0 y cantidad 2. Elija un intervalo inicial, por ejemplo 1 s, solo si lo permiten el tiempo de procesamiento del dispositivo y la carga del bus.

  • La solicitud genérica siguiente muestra los conceptos requeridos; es pseudocódigo, no una llamada a un bloque de función Siemens ni una API validada de una biblioteca de software.

request = {
    variant: "RTU",
    server_address: 1,
    function_code: 0x03,
    start_address: 0,   // only for the illustrative map
    quantity: 2
}
response = modbus_client.read(request)
verify_normal_response(response, expected_registers=2)

Paso 5: Analizar tipos de datos

  • Ejemplo de escala: el entero sin procesar 256 equivale a 25.6 °C solo si la escala documentada es valor sin procesar ÷ 10.

  • Valores de varios registros: reconstruya la secuencia de bytes documentada y decodifique el tipo declarado. Un desplazamiento de bits y una operación OR crean un patrón de bits entero; por sí solos no convierten el valor a FLOAT.

  • El pseudocódigo de solo lectura siguiente evita suponer una versión concreta de biblioteca. El código de producción debe gestionar fallas de conexión, excepciones, longitud de respuesta y liberación de recursos.

Pseudocódigo ilustrativo:

response = serial_client.read_holding_registers(
    server_address=1, start_address=0, quantity=1
)
if response.is_normal and len(response.registers) == 1:
    temperature_c = response.registers[0] / 10.0  # illustrative scale
else:
    record_error(response)

Configurar Modbus TCP

Una conexión TCP correcta al puerto 502 no demuestra que la transacción Modbus sea válida ni que la medición sea correcta.

Paso 1: Confirmar IP del esclavo

  • Confirme la dirección IP y la subred configuradas en el servidor, por ejemplo 192.168.1.10/24. Se necesita una puerta de enlace predeterminada para el tráfico fuera de la subred y debe coincidir con el diseño real de la red.

  • Confirme el servicio de escucha Modbus TCP configurado y permita en el firewall solo la ruta de cliente prevista; el puerto 502 es habitual.

  • Una prueba de ping o de conexión TCP comprueba solo una parte de la ruta. Complete una solicitud Modbus documentada de solo lectura para verificar la aplicación.

Paso 2: Establecer parámetros de conexión

  • Configure los tiempos de espera, los reintentos, los intervalos de sondeo y la cantidad de conexiones permitidas dentro de los límites del cliente y el servidor; después, valídelos con la carga prevista.

  • TCP keep-alive puede ayudar a detectar una conexión fallida, pero no proporciona autenticación de aplicación. Modbus TCP básico no obtiene TLS al establecer una opción genérica del cliente; use un extremo seguro compatible o una ruta de red protegida.

Paso 3: Configurar lectura de registros

Use la misma función documentada y la misma interpretación de registros que correspondan al servidor, y configure el extremo TCP y el Unit Identifier que requieran el dispositivo de destino o la pasarela. Este es pseudocódigo conceptual, no una API de Python asociada a una versión concreta:

Pseudocódigo ilustrativo:

client = tcp_modbus_client(host="192.168.1.10", port=502)
response = client.read_holding_registers(
    unit_identifier=1, start_address=0, quantity=1
)
verify_normal_response(response, expected_registers=1)
client.close()
# Address 0 and Unit Identifier 1 are illustrative, not universal settings.

Ejemplo: Caso de configuración Modbus RTU/TCP en planta industrial

Escenario ilustrativo: una instalación de tratamiento de agua recopila lecturas de temperatura y pH de un dispositivo serie y luego pone las mediciones mapeadas a disposición de una aplicación MQTT autorizada. Una ruta Modbus TCP opcional sirve a un cliente de supervisión. El objetivo es validar toda la cadena de adquisición e interpretación; no es un caso de cliente con resultados medidos.

Dispositivos:

  • Dispositivo de campo: un medidor con documentación que confirme los puntos Modbus RTU requeridos; dirección ilustrativa 5, 9,600 bit/s, 8E1. Confirme su interfaz y configuración reales.

  • Pasarela o controlador de borde: admite explícitamente sondeo RTU, la interpretación de datos requerida y publicación MQTT; la conversión RTU/TCP o un servidor TCP opcionales deben verificarse por separado.

  • Extremo de aplicación: un broker y suscriptor MQTT autorizados, con acceso de red y protección del transporte adecuados para la implementación.

Flujo detallado:

  1. Conecte el dispositivo de campo a los terminales serie documentados de la pasarela y conecte su interfaz Ethernet a la red prevista. Siga los requisitos de polaridad, terminación, referencia y aislamiento.

  2. Configure el puerto serie de forma coherente con el dispositivo; use los valores ilustrativos 9,600 bit/s, 8E1 y dirección de servidor 5 solo si el manual los permite.

  3. Cree una tarea de sondeo de solo lectura para el mapa de registros documentado. Para un mapa ilustrativo de base cero, la función 0x03, la dirección inicial 0 y la cantidad 2 leen las palabras de temperatura y pH. Confirme el mapa real y el intervalo admitido antes de usar un ciclo de 5 s.

  4. Decodifique los valores UINT16 ilustrativos con la escala documentada: temperatura = primera palabra ÷ 10 y pH = segunda palabra ÷ 100. Compruebe por separado un valor físico conocido.

  5. Configure el broker, las credenciales, el transporte y el tópico autorizados en la aplicación que realmente admita MQTT. Mapee mediciones identificadas y, si está disponible, una marca de tiempo válida de adquisición en la carga; no suponga que toda pasarela RTU/TCP publica MQTT.

  6. Si se requiere y está admitida, configure por separado la exposición Modbus TCP con el Unit Identifier y el mapeo de registros documentados. Restrinja el acceso y valide el comportamiento de solo lectura antes de cualquier escritura aprobada.

  7. Pruebe las respuestas serie, los valores mapeados, la entrega MQTT y el resultado interpretado por el suscriptor. Compare los tiempos de espera y errores de transmisión observados con los criterios de aceptación del proyecto, no con un objetivo universal de tasa de error inventado.

Ejemplo de salida (mensaje MQTT):

Carga útil JSON ilustrativa:

{
  "device": "PH001",
  "temperature_c": 23.6,
  "ph": 7.12,
  "status": "OK"
}

Fallos comunes y métodos de resolución de problemas

Diagnostique a partir del resultado observado en vez de suponer probabilidades de falla. La tabla separa fallas de ruta, errores de transmisión, excepciones de aplicación e interpretación de valores. Registre la solicitud exacta, la respuesta y la configuración del dispositivo cuando el equipo lo permita:

Síntoma

Causas posibles

Comprobaciones / acción

Evidencia útil

Sin respuesta / tiempo de espera agotado

Extremo o dirección serie incorrectos; cableado, parámetros serie, servicio de escucha, ruta o firewall

Compruebe la ruta pertinente y los parámetros documentados. En RS-485, verifique la polaridad en los manuales antes de cambiar el cableado.

Diagnóstico del dispositivo, captura de solicitud, traza de red/serie

Errores CRC / LRC

Enlace serie dañado o ruidoso, incompatibilidad en el formato de trama, terminación o polarización

Revise velocidad en baudios, paridad, bits de parada, cableado, topología y aislamiento. Aplique el diseño de terminación y puesta a tierra del equipo.

Captura serie, osciloscopio cuando corresponda

Excepción Modbus

Función no admitida, rango de direcciones inexistente o valor de solicitud inválido

Interprete la excepción y verifique la función, el rango y los derechos de acceso en el manual antes de cambiar la red.

Código de excepción, PDU solicitada, mapa de registros del dispositivo

Valor incorrecto o desplazado

Convención de dirección, signo, escala, unidades u orden de varios registros

Lea un punto conocido; compare la dirección transmitida y decodifique la representación documentada.

Palabras sin procesar, manual, medición conocida de forma independiente

Valor intermitente u obsoleto

Carga, comportamiento de sondeo/reintento, alimentación, caché de aplicación o inestabilidad del enlace físico

Relacione marcas de tiempo y errores, verifique los intervalos de actualización y la carga y, después, aísle la etapa que falla.

Logs de pasarela, carga del servidor, marcas de tiempo de adquisición

Sin respuesta a difusión (broadcast)

Se esperaba incorrectamente una respuesta para la dirección serie 0

Las escrituras serie de difusión (broadcast) admitidas no reciben respuesta; no haga lecturas de difusión ni use escrituras de difusión para las pruebas iniciales.

Especificación serie y documentación de compatibilidad del dispositivo

Capture localmente las solicitudes y respuestas sin procesar si el equipo lo admite. Mantenga juntos la función, la dirección serie o el Unit Identifier, la dirección solicitada, los datos devueltos y la temporización pertinente. Use herramientas de diagnóstico confiables y las definiciones oficiales de trama; que un valor mostrado parezca plausible no valida por sí solo la transacción.

Empiece por un punto documentado de solo lectura. Compruebe la respuesta y el valor interpretado antes de añadir más puntos o permitir escrituras. Si llega una respuesta pero el valor mostrado es incorrecto, revise primero el mapa y la representación del dato antes de cambiar la ruta de red.

Si un valor del PLC, variador o SCADA no llega o queda desactualizado, siga la guía de diagnóstico PLC/Modbus.

Diagnosticar según el resultado observado

Si no hay respuesta, revise destino, servicio, ruta y firewall en TCP, o cableado, ajustes serie y dirección de dispositivo en RTU. Una excepción significa que respondió un extremo Modbus: revise función, rango y permiso. Un valor erróneo apunta a convención de dirección, signo, escala u orden de bytes y palabras. Un valor obsoleto puede deberse al intervalo de sondeo, caché de aplicación o a una variable que no cambia. Mantenga separados estos casos.

Para la puesta en marcha, empiece con un punto documentado de solo lectura y conserve petición y respuesta si el equipo permite capturarlas. Añada puntos en grupos pequeños, guardando mapa, unidades y ajustes del cliente probados. Permita escrituras solo tras aprobación del responsable del proceso, con objetivo conocido y retorno seguro. Si el acceso remoto cruza una red no confiable, protección del transporte, firewall y autorización de usuarios son requisitos separados; Modbus básico no los aporta.

Empiece por un punto documentado de solo lectura. Verifique su respuesta y su interpretación antes de ampliar la lista de sondeo o permitir una escritura aprobada.

Resumen

Modbus ha seguido siendo útil desde su origen en 1979 porque ofrece un modelo sencillo de datos de solicitud/respuesta y cuenta con el respaldo de equipos industriales establecidos. Su fortaleza práctica no es un porcentaje universal de fiabilidad: consiste en intercambiar puntos documentados cuando se conocen y validan el mapa del dispositivo, la interfaz y el comportamiento del cliente.

Las pasarelas pueden ampliar una instalación Modbus existente a una aplicación IP, de supervisión o en la nube cuando admiten las funciones de conversión y datos requeridas. Una red más rápida o una conexión 5G no proporcionan a Modbus un tiempo de sondeo garantizado, marcas de tiempo sincronizadas ni comportamiento TSN. Evalúe toda la ruta de adquisición, la interpretación y los requisitos de protección de la aplicación.

Use esta guía junto con las especificaciones de aplicación, línea serie y TCP/IP de Modbus Organization y los manuales exactos de los dispositivos. Empiece por un punto de solo lectura documentado, verifique la respuesta real y el valor de ingeniería, y después amplíe la configuración. Un mapa de registros claro y parámetros probados son más útiles que una receta universal supuesta.

Preguntas frecuentes

¿Son Modbus RTU y Modbus TCP el mismo protocolo?

Comparten el modelo de datos de aplicación y códigos de función relacionados, pero difieren en el formato de trama y el transporte. RTU usa una trama serie; Modbus TCP añade una cabecera MBAP y circula por TCP/IP.

¿El registro 40001 corresponde siempre a la dirección cero?

No. 40001 suele designar el primer holding register, representado con frecuencia por la dirección cero en una petición. Los manuales, controladores y pasarelas pueden mostrar o aceptar direcciones de otra manera. Compruebe las convenciones del dispositivo y del cliente.

¿Puede un router industrial corriente convertir Modbus RTU a Modbus TCP?

No de forma automática. El enrutamiento IP y la conversión Modbus son funciones distintas. El equipo concreto debe disponer de un modo de pasarela o conversión, y su manual debe explicar cómo asocia el dispositivo serie y las peticiones de registros.

¿Qué datos hacen falta para investigar un problema de conexión Modbus?

Facilite el dispositivo y firmware, la variante RTU/ASCII/TCP, los roles cliente/servidor, los ajustes serie o IP, el identificador del dispositivo, el mapa de registros, el código de función solicitado, la convención de direcciones y la codificación del valor. Incluya una captura breve de petición y respuesta si el equipo lo permite.

¿Una conexión al puerto TCP 502 demuestra que Modbus está listo?

No. Solo indica que respondieron un camino TCP y un servicio. Envíe una petición Modbus documentada de solo lectura y verifique función, Unit Identifier si aplica, dirección y valor interpretado.

¿Qué significa una excepción Modbus?

La trama llegó a un extremo Modbus. Examine la excepción, función solicitada y rango de direcciones antes de cambiar rutas. El manual determina qué operaciones y puntos implementa el dispositivo.

¿Puedo probar una escritura durante la puesta en marcha?

Use primero un punto documentado de solo lectura. Una escritura puede cambiar un proceso activo y solo procede con aprobación del responsable, objetivo conocido, comprobación del resultado y una forma segura de volver atrás.

Referencias

MODBUS Application Protocol Specification V1.1b3 — Modelo de datos, direccionamiento, formatos de códigos de función, límites de cantidad y respuestas de excepción.

MODBUS over Serial Line Specification and Implementation Guide V1.02 — Direccionamiento serie, tramas RTU/ASCII, temporización, paridad, bits de parada e implementación física.

MODBUS Messaging on TCP/IP Implementation Guide V1.0b — Cabecera MBAP, intercambios cliente/servidor TCP e integración con pasarelas.

Entradas recientes

Ver todo
bottom of page