Protocolo de comunicación Modbus RTU

Apr 27, 2026 Dejar un mensaje

El protocolo Modbus RTU es como un "lenguaje común" entre dispositivos industriales, permitiendo una "comunicación" fluida entre dispositivos como contadores de electricidad y sensores de diferentes marcas.

Demostración de la aplicación del protocolo de comunicación Modbus

Este artículo le guiará a través de la aplicación de Modbus RTU en contadores de energía de la forma más sencilla y comprensible. Incluso si es un completo novato sin conocimientos técnicos, puede comprender fácilmente los puntos centrales de este importante protocolo de comunicación industrial.

The Modbus RTU protocol

¿Qué es el protocolo Modbus RTU?

Modbus RTU es un protocolo de comunicación serie desarrollado originalmente por Modicon (ahora parte de Schneider Electric) en 1979 para sus PLC (controladores lógicos programables).

Hoy en día, se ha convertido en uno de los protocolos más utilizados en la automatización industrial, respaldado por más de 400 fabricantes en todo el mundo.

¿Por qué se llama "RTU"? RTU es una abreviatura de "Unidad terminal remota", lo que indica que este protocolo se utiliza principalmente para la comunicación entre dispositivos remotos. Es como un "sistema de mensajes de texto" entre equipos eléctricos, intercambiando datos a través de un mecanismo simple de solicitud y respuesta.

¿Cómo funciona Modbus RTU?

Modbus RTU utiliza una arquitectura de comunicación maestra-esclava, como la de un profesor y sus alumnos en un aula.

  • Maestro: El "maestro", típicamente una computadora, PLC o concentrador, es responsable de iniciar preguntas y comandos.
  • Esclavo: El "estudiante", como un medidor o sensor de electricidad, sólo puede responder a las preguntas del profesor y no puede hablar de forma independiente. (En aplicaciones de contadores de electricidad...)

Modbus RTU

Formato de mensaje Modbus RTU

"Plantilla de SMS" entre dispositivos

Los mensajes de comunicación Modbus RTU son como mensajes de texto cuidadosamente elaborados, con requisitos de formato fijos.

Un mensaje Modbus RTU completo contiene las siguientes partes:

Código de dirección Código de función Campo de datos Verificar código
8 bits 8 bits N × 8 bits 16 bits
  • Código de dirección (1 byte): equivalente a un "número de teléfono del destinatario", que identifica la dirección del medidor de energía objetivo (1-247), con 0 para una dirección de transmisión.
  • Código de función (1 byte): equivalente a un "tipo de mensaje de texto", que indica al medidor de energía la operación que debe realizar (p. ej., leer datos, escribir datos, etc.).
  • Campo de datos (N bytes): la información específica que se transmitirá, como la dirección de registro, el valor de los datos, etc.
  • Suma de comprobación CRC (2 bytes): equivalente a un "código anti-falsificación", utilizado para comprobar si hay errores durante la transmisión.

Un mensaje típico para leer datos de energía activa positiva total de un contador de energía UBS es el siguiente:

[Dirección 00][Código de función 03][Dirección inicial 00 0C][Longitud de lectura 00 02][Suma de comprobación CRC 05 D9]

Esto equivale a decir: "Todos los medidores, lean los datos del registro 000C, comenzando con el registro 1".

Después de recibir el mensaje, el medidor #1 responderá con:

[Dirección 01][Código de función 03][Longitud de datos 04][Datos 00 00 00 00][Suma de comprobación CRC FA 33]
Esto significa: "El medidor n.° 1 respondió: El valor de datos de energía activa positiva total leído es 00 00 00 00 (hexadecimal)" (Nota: este medidor n.° 1 es un medidor nuevo y sin usar). La siguiente imagen es una demostración de prueba:

Modbus RTU Message Format

El "Libro de datos" en un contador de electricidad: el registro explicado

En el protocolo Modbus RTU, todos los datos de un medidor de electricidad se almacenan en una "hoja de cálculo"-el registro. Los registros se dividen principalmente en cuatro tipos:

Tipo de registro Permiso de lectura/escritura Códigos de función Contenido almacenado típico
Registro de bobina Leer/Escribir 01, 05 Estado del relé, control del interruptor
Registro de entrada discreta Sólo lectura- 02 Entrada digital (p. ej., señales de alarma)
Registro de entrada Sólo lectura- 04 Datos de medición-en tiempo real (voltaje, corriente, etc.)
Registro de explotación Leer/Escribir 03, 06 Parámetros del dispositivo, energía acumulada, etc.

En aplicaciones de contadores de electricidad, los registros más habituales son:

Registro de entrada

(Código de función 04H): almacena datos medidos en tiempo real-como voltaje, corriente y potencia.

Registro de explotación

(Código de función 03H): Almacena el consumo eléctrico acumulado, parámetros del dispositivo, etc.

Tabla de información de dirección de registro Modbus del medidor de energía UBS

La dirección de transmisión del protocolo Modbus es 0x00. Para obtener información detallada sobre la dirección de registro del protocolo Modbus para medidores de energía UBS, consulte la siguiente tabla:

Registro (hexadecimal) Nombre de la variable Atributo (Unidad / R/W) Tipo de datos Contar Observaciones
0x0000 Voltaje CC Unidad: V, R/W: RO S16 1 Rango: -9999~9999; Lectura=Valor efectivo × 10^(Punto decimal)
0x0001 Punto decimal de voltaje Unidad: Ninguna, R/W: RO U16 1 Valor fijo: 0
0x0002 Valor de corriente CC Unidad: A, R/W: RO S16 1 Rango: -9999~9999
0x0003 Punto decimal actual Unidad: Ninguna, R/W: RO U16 1 Valor fijo: 1
0x0008 Valor de potencia Unidad: kW, R/W: RO S16 1 Rango: -9999~9999
0x0009 Punto decimal de potencia Unidad: Ninguna, R/W: RO U16 1 Valor fijo: 1
0x000C Energía activa total hacia adelante Unidad: 0,001 kWh, R/W: RO U32 2 El byte alto primero, el byte bajo al final; Ejemplo: si los datos se leen=5000, punto decimal=2 → Valor real=5000 × 10^(2-3)=500.0
0x203C Voltaje del canal 1 Unidad: 0,0001 V, R/W: RO I32 2 Byte alto primero, byte bajo último
0x203E Voltaje del canal 2 Unidad: 0,0001 V, R/W: RO I32 2 Siempre 0
0x2040 Canal 1 actual Unidad: 0,0001A, R/W: RO I32 2 Byte alto primero, byte bajo último
0x2042 Canal 2 actual Unidad: 0,0001A, R/W: RO I32 2 Siempre 0
0x2044 Alimentación del canal 1 Unidad: 0,0001kW, R/W: RO I32 2 Byte alto primero, byte bajo último
0x2046 Alimentación del canal 2 Unidad: 0,0001kW, R/W: RO I32 2 Siempre 0
0x9A00 Energía Total Activa Hacia Adelante Unidad: kWh, R/W: RO flotar 2
0xA001/0x8900 Dirección del dispositivo Unidad: Ninguna, R/W: RW U16 1 Rango: 0~247

Demostración de lectura de mensajes del contador de energía UBS

Usando el software de la computadora host del medidor de energía UBS, lea los siguientes datos del medidor de energía inteligente de CC DJZ1226: energía activa positiva total, voltaje, corriente, potencia y dirección del medidor.

Demonstration Of Reading UBS Energy Meter Messages

Como se muestra en el diagrama anterior, el contenido detallado del mensaje enviado y recibido por la computadora host es el siguiente:

13:25:30.229 Energía activa positiva total (000C0002) ...

13:25:30.256 ▼Enviar:00 03 00 0C 00 02 05 D9

13:25:30.344 ▲Recibir:01 03 04 00 00 00 00 FA 33

13:25:30.359 Voltaje CC (00000002) ...

13:25:30.424 ▼Enviar:00 03 00 00 00 02 C5 DA

13:25:30.428 ▲Recibir:01 03 04 00 17 00 03 0A 36

13:25:30.494 Corriente continua (00020002) ...

13:25:30.522 ▼Enviar:00 03 00 02 00 02 64 1A

13:25:30.610 ▲Recibir:01 03 04 00 30 00 02 7B FD

13:25:30.621 Potencia(00080002) ...

13:25:30.682 ▼Enviar:00 03 00 08 00 02 44 18

13:25:30.690 ▲Recibir:01 03 04 00 01 00 02 2A 32

13:25:30.702 Dirección de comunicación 2(A0010001) ...

13:25:30.779 ▼Enviar:00 03 A0 01 00 01 F6 1B

13:25:30.783 ▲Recibir:01 03 02 00 01 79 84

13:25:30.795 Fin de la lectura de datos.

Problemas comunes y técnicas de solución de problemas

Aunque el protocolo Modbus RTU es relativamente simple, aún pueden surgir varios problemas en aplicaciones prácticas. Las siguientes son fallas y soluciones comunes en la comunicación del medidor de electricidad:

Sin respuesta de comunicación

● Verifique las conexiones físicas:

▪ ¿Es correcto el cableado RS-485 (líneas A/B invertidas)?

▪ ¿Las resistencias terminales coinciden (generalmente, conecte resistencias de 120 Ω en cada extremo del bus)?

▪ ¿Se ha excedido el límite de la distancia de comunicación (en teoría, RS-485 puede alcanzar los 1200 metros, pero las distancias reales se ven afectadas por factores ambientales)?

● Verificar la configuración de los parámetros:

▪ ¿Las configuraciones de velocidad en baudios, bits de datos, bits de parada y paridad son consistentes con el medidor de electricidad?

▪ ¿Está configurada correctamente la dirección del dispositivo (sin direcciones duplicadas)?

Comunicación intermitente

● Verifique si hay interferencias en la línea:

▪ Utilice un cable blindado de par-trenzado y asegúrese de que el blindaje esté conectado a tierra en un extremo.

▪ Evite tender el cable paralelo a cables de alto-voltaje.

● Prueba de dispositivos individuales:

▪ Conecte cada medidor de electricidad individualmente para solucionar problemas de dispositivos defectuosos.

▪ Utilice el software informático host dedicado de UBS Electronics (como AMS) para comunicarse directamente con el medidor de electricidad e identificar el problema.

Errores de datos

● Verificación de verificación CRC:

▪ Comprobar si los códigos CRC enviados y recibidos son consistentes.

▪ Confirme el orden de los bytes de datos (Modbus RTU suele ser little-endian).

● Comprobar la asignación de registros:

▪ Confirmar que las direcciones de registro utilizadas sean consistentes con el manual del medidor de electricidad.

▪ Tenga en cuenta el desplazamiento de la dirección del registro.

Si necesita utilizar el software del ordenador host UBS (protocolo Modbus RTU) mencionado en este artículo, póngase en contacto con la persona a cargo de su pedido de medidor de electricidad UBS y obtenga más soporte técnico postventa.

Envíeconsulta