Guía de comunicación Modbus RTU


En este artículo, vamos a explicar todos los aspectos relacionados con la comunicación Modbus RTU. ¿Cuál es la diferencia entre Modbus RTU y ASCII y entre Modbus RTU y TCP/IP? Cómo probar el protocolo Modbus RTU con el software de monitoreo Modbus RTU.

Contenidos


  1. ¿Qué es el protocolo Modbus RTU?
  2. Cómo probar Modbus RTU con Serial Port Monitor
  3. ¿Cómo funciona Modbus RTU?
  4. Modbus RTU vs TCP
  5. Modbus RTU vs ASCII

¿Qué es el protocolo Modbus RTU?


El protocolo Modbus RTU es un medio de comunicación que permite el intercambio de datos entre controladores lógicos programables (PLC) y ordenadores. Los dispositivos electrónicos pueden intercambiar información a través de líneas en serie utilizando el protocolo Modbus.

Ha sido ampliamente aceptado y se utiliza ampliamente en la construcción de Sistemas de Gestión de Edificios (BMS) y Sistemas de Automatización Industrial (IAS). Su adopción se ha visto impulsada por su facilidad de uso, confiabilidad y el hecho de que es de código abierto y puede usarse sin costos en cualquier dispositivo o aplicación.

El protocolo fue desarrollado y publicado por Modicon® en 1979 para usarlo con sus controladores lógicos programables. Está construido utilizando una arquitectura maestro/esclavo y admite dispositivos serie que utilizan los protocolos RS232/RS485/RS422. Modbus es usado a menudo en escenarios donde múltiples instrumentos y dispositivos de control transmiten señales a un controlador o sistema central para recopilar y analizar datos. Los sistemas de automatización industrial, control de supervisión y adquisición de datos (SCADA) a menudo emplean el protocolo Modbus.

¿Qué significa Modbus RTU?


Modbus RTU (Unidad Terminal Remota) es uno de los dos modos de transmisión definidos en la especificación Modbus original. Los dos modos son Modbus RTU y ASCII, y ambos están diseñados para usarse con dispositivos serie que admiten los protocolos RS232, RS485 y RS422. Una característica distintiva de Modbus RTU es que usa codificación binaria y una fuerte verificación de los errores CRC. Modbus RTU es la implementación del protocolo Modbus que se usa con mayor frecuencia en aplicaciones industriales e instalaciones de producción automatizadas.

Cómo probar Modbus RTU con
Serial Port Monitor


Hay varias situaciones en las que usar un probador Modbus RTU puede ser muy útil. Si está desarrollando o depurando dispositivos o aplicaciones serie, seguro que desea poder monitorear y analizar la transmisión de datos entre los dispositivos y aplicaciones. Otro caso en el que una utilidad de monitoreo Modbus RTU resulta indispensable es si realiza el mantenimiento de la red y los dispositivos asociados en una instalación de producción industrial automatizada.

Serial Port Monitor es un software eficiente para probar y depurar el protocolo Modbus RTU.
Serial Port Monitor logo

Serial Port Monitor

Registrar y analizar la actividad del puerto serie
4.8 Ranking basado en 41+ usuarios, Comentario(75)
Descargar Prueba totalmente funcional por 14 días
Serial Port Monitor

Serial Port Monitor de Eltima es un software Modbus RTU. Es una aplicación completa y con todas las funciones que permite el monitoreo y análisis de toda la actividad de cualquier interfaz Modbus RTU en su sistema. Cualquier dispositivo que admita los protocolos RS232, RS485 y RS422 puede tener sus transmisiones monitoreadas y analizadas para ayudar en las tareas de depuración o desarrollo.

Este programa ha sido diseñado con una interfaz flexible y fácil de usar, terminal incorporado y la posibilidad de exportar los datos. Es un recurso valioso para diagnosticar problemas de comunicación Modbus RTU en el entorno de Windows. Aquí hay algunos aspectos destacados de la lista de características que forman parte de Serial Port Monitor.

  • Análisis de la actividad Modbus RTU. Este sniffer de puerto serie puede abrir cualquier puerto serie, incluso aquellos ya abiertos por otra aplicación, e inmediatamente comenzar a monitorear toda la actividad que se mueve a través de esa interfaz. La recopilación de datos en tiempo real le permite rastrear rápidamente problemas y errores. Los datos monitoreados pueden ser redirigidos a archivos o copiados al portapapeles para su posterior análisis.
  • Monitorea múltiples puertos serie simultáneamente. Usar esta función le permite ver sus aplicaciones interactuando con varios puertos o dispositivos dentro de la misma sesión de monitoreo. Los datos capturados se presentan con el método primero en entrar, primero en salir en un archivo de registro central para simplificar su análisis.
  • Elegir entre varias vistas de datos. Hay cuatro vistas, que se pueden usar por separado o todas al mismo tiempo. Son los modos de tabla, línea, volcado y terminal, y cada uno puede ofrecer una visión diferente de sus datos. La vista de volcado le permite investigar la configuración del puerto, y puede emplear filtros de monitoreo para para reducir la sobrecarga de la pantalla y concentrarse en los eventos que son importantes.
  • Emulación de transmisión de datos.. Puede enviar datos a dispositivos serie en varios formatos, como cadena, binario, decimal y hexadecimal para controlar la reacción del dispositivo serie a comandos o cadenas de datos específicos.
  • Opción de reproducción de sesión. Puede repetir una transmisión a un puerto serie para obtener información de monitoreo más precisa. Las sesiones se pueden comparar entre sí y las diferencias se resaltan automáticamente para facilitar el análisis.
  • Exportar los datos monitoreados en varios formatos. Puede exportar sus datos a un archivo en formato HTML, texto ASCII, texto UNICODE o formato Exсel CSV y puede agregar los datos monitoreados actualmente a un archivo guardado previamente.
  • Interfaz fácil de usar. Serial Port Monitor está diseñado para permitir el acceso a puertos e interfaces serie sin la necesidad de ninguna habilidad de programación. Los filtros para controlar los datos que se muestran se personalizan fácilmente en la barra de herramientas de la aplicación.
  • Rastreo de los códigos de control de entrada/salida. Puede obtener los detalles y parámetros completos de todos los códigos de control de entrada/salida serie (IOCTL) utilizando Serial Port Monitor.

Este analizador de protocolo Modbus RTU debe estar en la caja de herramientas de cualquier persona que trabaje mucho con dispositivos serie y el protocolo Modbus. Puede usarlo en modo RTU o ASCII, lo que lo convierte en una utilidad de software versátil. Es una solución eficiente que le permite monitorear todas las interfaces serie de su sistema sin requisitos de hardware adicionales. Serial Port Monitor de Eltima se ejecuta en el sistema operativo Windows 10, así como en Windows Server 2012 y 2016.

¿Cómo funciona Modbus RTU?


El protocolo Modbus es básicamente un sistema que procesa solicitudes y respuestas de dispositivos electrónicos. La arquitectura maestro/esclavo se usa con el maestro haciendo solicitudes que son respondidas por los dispositivos esclavos.

¿Qué es un maestro Modbus RTU?

Un maestro Modbus RTU es el dispositivo central que realiza solicitudes de información a los dispositivos esclavos conectados. Un controlador central en un sistema de producción automatizado puede desempeñar el papel de maestro Modbus RTU. Una implementación Modbus tiene un maestro. Los dispositivos maestros obtienen información de los esclavos y también pueden escribir en los registros de los dispositivos esclavos.

¿Qué es un esclavo Modbus RTU?

El esclavo Modbus RTU es el dispositivo que responde a la solicitud realizada por el dispositivo maestro. No puede iniciar transferencias de información y está en un patrón de espera hasta que responda a una solicitud realizada por el maestro.

Como ya se indicó, en una implementación Modbus RTU hay un dispositivo maestro y puede haber hasta 247 dispositivos esclavos. Cada dispositivo esclavo se identifica por una dirección esclava de 1 a 247.

En el corazón del protocolo Modbus se encuentra el componente conocido como Unidad de Datos de Protocolo (PDU). La PDU consta de un código de función y datos, y se construye de manera consistente independientemente del modo de transmisión Modbus utilizado. El código de función especifica qué datos solicita el maestro.

En el modo de transmisión Modbus RTU, se envuelve información adicional alrededor de la PDU para crear la Unidad de Datos de Aplicación (ADU) completa. En el flujo de señal y antes del código de función, en modo Modbus RTU se envía una ID de esclavo de 1 byte para identificar el dispositivo esclavo que debe satisfacer la solicitud. Adjunto a la PDU hay un CRC de 2 bytes que asegura que se envió y recibió la cantidad correcta de bytes.

Los dispositivos Modbus admiten cuatro tablas de datos que se utilizan para facilitar la comunicación entre dispositivos. Son Entradas Discretas, Salidas Discretas (Bobinas), Registros de Entrada y Registros de Retención. Los registros realizan diferentes funciones y no están incluidos en todos los dispositivos. En algunos casos, solo se utilizan los registros de retención para la funcionalidad de E/S.

Campo Acceso Tamaño Descripción
Entradas Discretas
sólo lectura
1 bit
usado como entradas
Salidas de Bobinas
lectura/escritura
1 bit
usado para control discreto
Registros de Entrada
sólo escritura
16 bit
usado para entrada
Registros de Retención
lectura/escritura
16 bit
se utiliza para muchas cosas, incluyendo entradas, salidas, datos de configuración, etc.

Los códigos de función indican cómo interactúa el maestro con el dispositivo esclavo especificado en la ID del esclavo. Según el código de función enviado, el dispositivo maestro puede leer uno de los registros del esclavo o escribir en ellos.

Los esclavos devuelven códigos de error cuando reciben un paquete que contiene un error en la solicitud. Los códigos de error se devuelven por problemas como la solicitud de una función ilegal, direcciones de registro ilegales a las que no puede llegar el esclavo especificado y mensajes que indican que el dispositivo esclavo está ocupado o ha experimentado una fallo.

Modbus RTU requiere que conozca o defina parámetros tales como la velocidad en baudios, el formato de caracteres (8 bits sin paridad, etc.) y la identificación del esclavo al iniciar la comunicación. La falta de coincidencia en cualquiera de estos parámetros resultará en un intento fallido de comunicación.

Modbus RTU vs TCP


Modbus RTU es uno de los modos de transmisión originales que se definieron en el protocolo Modbus. Modbus TCP es una extensión desarrollada recientemente para el protocolo que permite que los protocolos Modbus se transporten a través de redes TCP/IP. La latencia inherente y otros aspectos de la comunicación a través de una red, requirieron alguna modificación sobre cómo mantener las solicitudes y respuestas sincronizadas entre sí, y garantizar que no se reciban los datos incorrectos de un dispositivo esclavo.

Modbus TCP exhibe una diferencia en cómo se envuelve la PDU en comparación con Modbus RTU. La trama TCP que contiene la PDU comienza con un identificador de transacción del Protocolo de Aplicación MODBUS (MBAP) de 2 bytes en lugar de la ID del esclavo. Tampoco es necesario que el CRC realice una verificación de errores ya que la capa TCP realiza esa función.

Modbus RTU vs ASCII


Dado que ambas eran parte de la especificación del protocolo Modbus original, es posible que se pregunte cuál es la diferencia entre Modbus ASCII y Modbus RTU. Modbus RTU emplea codificación binaria y verificación de errores CRC. Estas elecciones se hicieron en aras de la eficiencia y son la razón principal por la que el modo RTU es el más utilizado en entornos industriales. Como habrá adivinado, Modbus ASCII usa caracteres ASCII al enviar mensajes.

El uso de caracteres ASCII hace que los mensajes sean más legibles para los humanos, pero son un medio de transmisión menos eficiente. Otra diferencia importante está en el nivel de verificación de errores que se realiza. Modbus ASCII utiliza el menos efectivo método LRC de verificación de errores en lugar del CRC más fuerte del modo RTU.

Aunque tanto Modbus RTU como Modbus ASCII están diseñados para usarse con dispositivos y protocolos serie, son incompatibles entre sí debido a las diferencias descritas anteriormente. Si trabaja con dispositivos serie, debe estar preparado para utilizar el protocolo Modbus.

Serial Port Monitor

Requisitos: Windows (32-bit y 64-bit): XP/2003/2008/Vista/7/8/10, Windows Server 2012, Windows Server 2016 , 9.16MB tamaño
Versión 7.0.342 (13th Jan, 2018) Notas de la versión
Categoría: Communication Application