Skip to main content
Modbus se apoya en la lectura de UART: cada byte es un carácter de la línea serie. Por eso tiene sus propios ajustes de línea, independientes de los de UART: no es raro leer una línea suelta en 8N1 y un bus Modbus en 8E1 en el mismo rato.

Ajustes

Los tres modos

En RTU las tramas se separan por un silencio de 3,5 caracteres; en ASCII, por : y CR LF; en TCP, por la longitud que declara el encabezado MBAP.
De Modbus TCP se interpreta el encuadre: el encabezado MBAP y la PDU. Las capas inferiores —TCP, IP, Ethernet— no se dibujan: los bytes se escriben como caracteres serie.

El sentido

El formato de los datos depende del lado de la conversación. En Auto se deduce de la longitud de la trama y de la solicitud anterior; conviene fijarlo para dibujar una trama aislada.

Campos

En TCP se suman los campos del encabezado MBAP:

Códigos de función que reconoce

Un código fuera de la lista se muestra igual, como Función N.

Excepciones

Errores que detecta

El resumen

Cada trama se resume con el equipo y la función, y una flecha que dice el sentido:
  • 0x01 → Leer registros retentivos para una solicitud
  • 0x01 ← Leer registros retentivos para la respuesta
  • 0x01 ✗ Leer registros retentivos para una excepción
  • Difusión → Escribir varias bobinas para la dirección 0
  • Trama incompleta o Fuera de trama cuando no cierra
Al final, un o un según la verificación.

Cómo empezar

Sin nada dibujado, el cuadro de estado lo explica:
Aún no hay ninguna trama. Cada byte es un carácter de la línea serie: en RTU y ASCII la trama comienza con la dirección del esclavo, y en TCP con el encabezado MBAP.