Analizador de Protocolo Modbus
Analizar, convertir y depurar comunicaciones Modbus RTU/ASCII/TCP
Por favor ingrese datos
Referencia del Protocolo Modbus
Modbus es el protocolo de comunicación industrial más utilizado, desarrollado por Modicon en 1979. Permite la comunicación entre dispositivos electrónicos a través de líneas serie (RTU) o Ethernet (TCP/IP). Esta herramienta ayuda a los ingenieros a depurar y analizar comunicaciones Modbus sin hardware o software especializado.
Estructura de Trama Modbus RTU
Modbus RTU (Remote Terminal Unit) transmite datos en formato binario a través de conexiones serie como RS-232 o RS-485. Cada trama incluye una dirección de esclavo, código de función, datos y una suma de verificación CRC de 16 bits para detección de errores. El formato binario compacto hace que RTU sea eficiente para entornos con ancho de banda limitado.
1 byte
1 byte
N bytes
2 bytes
Modbus RTU Frame Structure
Estructura de Trama Modbus TCP
Modbus TCP encapsula tramas RTU dentro de paquetes TCP/IP, usando un encabezado MBAP (Modbus Application Protocol) de 7 bytes. Este encabezado contiene un ID de transacción para coincidir solicitud-respuesta, identificador de protocolo (siempre 0 para Modbus), longitud del mensaje e ID de unidad. La comunicación TCP usa el puerto 502 por defecto.
2 bytes
2 bytes
2 bytes
1 byte
1 byte
N bytes
Modbus TCP Frame Structure (MBAP Header + PDU)
Códigos de Función Comunes
Los códigos de función definen el tipo de operación en una solicitud Modbus. Las operaciones de lectura (01-04) obtienen estados de bobinas o valores de registros, mientras que las operaciones de escritura (05, 06, 0F, 10) modifican datos del dispositivo. Cada código de función tiene requisitos específicos de formato de datos.
| Código | Función | Tipo |
|---|---|---|
| 0x01 | Leer bobinas | Lectura |
| 0x02 | Leer entradas discretas | Lectura |
| 0x03 | Leer registros de retención | Lectura |
| 0x04 | Leer registros de entrada | Lectura |
| 0x05 | Escribir bobina única | Escritura |
| 0x06 | Escribir registro único | Escritura |
| 0x0F | Escribir múltiples bobinas | Escritura |
| 0x10 | Escribir múltiples registros | Escritura |
Orden de Bytes en Modbus
Diferentes fabricantes de PLC usan órdenes de bytes variables para valores de 32 y 64 bits. Las cuatro disposiciones comunes son: Big Endian (ABCD) - orden de red estándar; Little Endian (DCBA); Mid-Big Endian (BADC); y Mid-Little Endian (CDAB). Al leer valores incorrectos, pruebe diferentes órdenes de bytes para encontrar la interpretación correcta.
Algoritmo CRC-16/Modbus
Modbus RTU usa CRC-16 con polinomio 0x8005 y valor inicial 0xFFFF para detección de errores. El CRC se calcula sobre la dirección del esclavo, código de función y bytes de datos, luego se agrega con el byte bajo primero. Una trama con CRC incorrecto debe ser descartada por el receptor.
Aplicaciones Prácticas
- Solucionar errores de comunicación entre PLCs y sistemas SCADA analizando datos de paquetes sin procesar
- Verificar valores de registros durante la puesta en marcha convirtiendo datos hex a unidades de ingeniería
- Generar comandos de prueba para validación de dispositivos sin software maestro Modbus dedicado
- Depurar problemas de orden de bytes al integrar dispositivos de diferentes fabricantes
Herramientas Relacionadas
Calculadora de CRC
Calcular sumas de verificación CRC-8, CRC-16, CRC-32, CRC-64 con soporte para Modbus, CCITT y otros estándares de protocolo
Depurador de puerto serie en línea
Herramienta de depuración serie basada en navegador - sin descarga requerida, monitoreo en tiempo real vía Web Serial API
Convertidor de Base
Convertir entre sistemas binario, octal, decimal y hexadecimal con soporte de bases personalizadas (2-36)
Convertidor de Codificación
Convertir texto entre Hex, Binario, Unicode, ASCII, Base64 y muchos otros formatos de codificación