Avanzado Modbus
tutorial ASCII


Contenido

  1. ¿Qué es el protocolo Modbus ASCII?
  2. ¿Cómo probar la comunicación Modbus ASCII?
  3. ¿Cuál es la diferencia entre Modbus ASCII y RTU?
  4. ¿Cómo convertir Modbus ASCII al protocolo Modbus RTU?

¿Qué es el protocolo Modbus ASCII?


Modbus es un protocolo de comunicación en serie desarrollado por la corporación Modicon en 1979. Originalmente, fue diseñado para ser utilizado con los controladores lógicos programables (PLC) de la empresa. Modbus es un protocolo abierto que admite dispositivos serie que utilizan los protocolos RS232/RS485/RS422. Su simplicidad y el hecho de que los fabricantes pueden incorporarlo a sus productos sin costo alguno lo ha ayudado a convertirse en el método más popular para conectar dispositivos electrónicos industriales.

Hay dos estilos principales de transmisión que se utilizan cuando se emplea el protocolo Modbus. Son Modbus RTU y Modbus ASCII. Este artículo pretende ser un tutorial avanzado de Modbus ASCII. Comenzaremos con una descripción general de Modbus que es pertinente para las implementaciones ASCII y RTU del protocolo.

Modbus aborda el problema del envío de información entre dispositivos electrónicos a través de líneas serie. El protocolo se implementa en una arquitectura que sigue el modelo maestro/esclavo. El maestro Modbus se encarga de solicitar información de los otros dispositivos. Hay un maestro Modbus en una red Modbus estándar.

Protocolo modbus ASCII

El maestro solicita información de los dispositivos esclavos, que puede llegar hasta 247. Cada dispositivo esclavo se identifica con una dirección de esclavo de entre 1 y 247. El proceso mediante el cual el maestro consulta al esclavo y recibe información del esclavo es lo que se entiende por comunicación modbus. Además de solicitar información al esclavo, el dispositivo maestro también puede escribir en los registros internos del dispositivo esclavo.

Los datos en serie se intercambian entre dispositivos en flujos de bits donde cada bit es un voltaje. Los datos binarios se intercambian con un 1 que se denota por un voltaje negativo y un cero se representa por un voltaje positivo.

El protocolo Modbus define los códigos de función y el esquema de codificación para transferir datos como puntos únicos (1 bit, bobinas) o como registros de datos de 16 bits. Los paquetes de datos se encapsulan de acuerdo con el método de transmisión en uso. El protocolo Modbus utiliza cuatro tablas distintas para almacenar datos en los dispositivos esclavos. Hay dos bobinas que almacenan valores discretos de activación o desactivación y dos registros que almacenan valores numéricos. En el caso de Modbus ASCII, los mensajes se pasan utilizando el conjunto de caracteres ASCII, haciéndolos más fácilmente legibles por los ojos humanos.

¿Qué es el protocolo Modbus ASCII?


¿Cómo probar la comunicación Modbus ASCII con el analizador de protocolo Modbus?

Si está trabajando con dispositivos en serie y con el protocolo Modbus, es muy probable que en algún momento deba realizar alguna depuración o supervisión de su transmisión de datos en serie. Analizador Modbus es una aplicación de software dedicada desarrollada por Eltima Software que se puede utilizar para analizar y diagnosticar la transmisión de datos a través de las interfaces seriales de su sistema.

Analizador de Protocolo Modbus

Modbus Analyzer es una utilidad de sistema profesional y potente para mostrar, registrar y analizar la comunicación Modbus.
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

Con el fin de apreciar mejor cómo una herramienta de prueba Modbus ASCII como Analizador de protocolo Modbus puede ayudarle, echemos un vistazo a los datos y el formato de mensaje ASCII de Modbus.

Formato de datos Modbus ASCII


Modbus ASCII utiliza el conjunto de caracteres ASCII para representar caracteres hexadecimales que contienen cada uno 4 bits de datos. Hay 10 bits en cada byte en modo Modbus ASCII. Constan de

  • 1 bit de inicio
  • 7 bits de datos con el bit menos significativo enviado primero
  • 1 bit para completar la paridad
  • 1 bit de parada

Formato de mensaje Modbus ASCII


El formato de los mensajes ASCII de Modbus consiste en un carácter de inicio que tiene dos puntos ":" y el final del mensaje se define mediante un retorno de carro y un salto de línea. Esto permite que el espacio entre los mensajes sea variable y haga que Modbus ASCII sea adecuado para la transmisión a través de ciertos módems.

El software Modbus Sniffer puede ser extremadamente útil en Depuración, supervisión y diagnóstico de problemas en una red Modbus. Se puede utilizar para implementaciones Modbus RTU y ASCII.

El uso de esta herramienta le permite:

  • Analizar la actividad del puerto serie: puede abrir cualquier puerto serie en su sistema, incluso si ya está en uso por otra aplicación. Utilice la recopilación de datos en tiempo real para diagnosticar rápidamente los problemas de toda la actividad del puerto serie.
  • Monitoree múltiples puertos serie a la vez: un archivo de registro central almacenará todos sus datos monitoreados en una base de primero en entrar, primero en salir, para un análisis más fácil.
  • Vea sus datos en cuatro formatos diferentes: use estas distintas vistas individualmente o en combinaciones para obtener una mejor visión de sus datos. Los modos de mesa, línea, volcado y terminal le permiten ver sus datos de la forma que mejor se adapte a sus necesidades.
  • Emulación de la transmisión de datos: puede emular la transmisión de datos a dispositivos serie en varios formatos, como cadenas, binarios, decimales y hexadecimales.
  • Exporte sus datos monitoreados: puede exportar sus datos a archivos en HTML, texto ASCII, texto UNICODE o formato CSV de Excel. Se pueden agregar nuevos datos a los archivos guardados previamente.

Dicho esto, Modbus Protocol Analyzer es una herramienta esencial para quienes trabajan con dispositivos en serie y el protocolo Modbus.

¿Cuál es la diferencia entre Modbus ASCII y RTU?


Tanto Modbus ASCII como RTU se introdujeron como parte de la especificación del protocolo Modbus original. Las dos variaciones utilizan la misma arquitectura maestro/esclavo y son muy similares. Ambos están diseñados para funcionar con dispositivos serie, pero no son compatibles entre sí debido a las diferencias que veremos a continuación.

El principal factor diferenciador es eso Modbus RTU emplea codificación binaria en la que el acertadamente llamado Modbus ASCII usa el conjunto de caracteres ASCII. Modbus RTU realiza la comprobación de errores utilizando el método CRC estricto, mientras que Modbus ASCII utiliza el método de verificación de errores LRC menos efectivo. El formato de los datos también es ligeramente diferente, ya que la variación de la RTU utiliza un bit de inicio, 8 bits de datos y un bit de parada en lugar del formato de datos ASCII que vimos anteriormente.

La combinación de codificación binaria y verificación de errores CRC hace que Modbus RTU sea adecuado para aplicaciones industriales, ya que se presta a una transmisión más eficiente que la alternativa de los caracteres ASCII. Al elegir entre Modbus RTU vs ASCII, RTU es la primera opción si el rendimiento es una consideración.

Modbus ASCII vs TCP


Hay una versión más de Modbus a considerar y es Modbus TCP. Esto es simplemente una implementación de Modbus que se ejecuta en una red TCP / IP. La principal diferencia entre Modbus ASCII y Modbus TCP es que la capa de IP realiza la comprobación de errores LRC requerida por Modbus ASCII.

¿Cómo convertir Modbus ASCII al protocolo Modbus RTU?


Como mencionamos anteriormente, los protocolos Modbus ASCII y Modbus RTU no son compatibles entre sí. Los dispositivos que emplean los dos protocolos no pueden comunicarse directamente entre sí. Pero hay maneras de hacer que los dispositivos se comuniquen entre sí.

Protocolo Modbus RTU

Para hacer esto, necesitará usar una solución de hardware llamada Modbus ASCII a RTU converter. Este tipo de dispositivo es básicamente un traductor que lee datos de un dispositivo y luego los almacena internamente en otro protocolo para que lo use el segundo dispositivo. De esta manera, los dispositivos que utilizan cualquier variación de Modbus pueden comunicarse entre sí.

Serial Port Monitor

Requerimientos: Windows XP/2003/2008/Vista/7/8/10/Server 2012 , 9.16MB tamaño
Versión 7.0.342 (13th Jan, 2018) Notas de la versión
Categoría: CommunicationApplication