Herramientas eficientes para probar y depurar dispositivos y redes basados ​​en Modbus


Modbus es un protocolo de comunicación comúnmente utilizado en sistemas de automatización industrial, sistemas domésticos inteligentes, redes automatizadas de objetos pequeños (almacenes, invernaderos, etc.). El protocolo también sirve para conectar equipos de diversos tipos a una computadora doméstica. El desarrollo de proyectos como Arduino y Raspberry Pi ha aumentado significativamente el interés en tareas relacionadas con la robótica y la automatización. Todo esto asegura el crecimiento de la popularidad de Modbus entre aficionados y profesionales.

En este artículo, cubriremos las características clave de las soluciones de hardware y software existentes para probar y depurar dispositivos y redes basadas en el protocolo Modbus.

Si está familiarizado con la arquitectura del protocolo, puede ir directo a la descripción del software Modbus. De lo contrario, a continuación encontrará una breve introducción a Modbus.

Contenido


  1. Acerca del protocolo Modbus
  2. Desarrollar y probar dispositivos Modbus
  3. Depuración de sistemas de automatización basados ​​en dispositivos Modbus

Acerca del protocolo Modbus


Modbus es un protocolo común utilizado en sistemas de automatización en los niveles medio e inferior (campo). El nivel medio es el nivel de controladores: dispositivos que recopilan datos y controlan el proceso tecnológico. El nivel de campo es el nivel de interacción entre los sensores y los controladores o sensores y el servidor. Se pueden encontrar más detalles sobre los niveles en los sistemas de automatización aquí.

La estructura típica de un sistema de automatización que usa Modbus como su protocolo básico se muestra a continuación.

Protocolo Modbus

El 'entorno' estándar para el protocolo Modbus es RS-485/422/232. Modbus RTU o Modbus ASCII trabajan sobre eso. En Redes TCP / IP, sin embargo, el protocolo de nivel superior es el protocolo de transporte TCP y esta variante se llama Modbus TCP. En este artículo, hablaremos sobre el modo de transmisión Modbus RTU.

El protocolo Modbus se implementa utilizando una relación maestro-esclavo. Eso significa que la comunicación siempre se inicia con un dispositivo, el maestro, que envía una solicitud a un esclavo (servidor) y espera una respuesta. Siempre hay un maestro en la red y de 1 a 247 esclavos. (Puede encontrar más información sobre los dispositivos Modbus en Sitio web oficial de Modbus).

El maestro interactúa con dispositivos esclavos en el formato solicitud-respuesta. La solicitud contiene una secuencia de bytes, llamada trama, en la cual el tiempo entre bytes está estandarizado dependiendo de la velocidad de transferencia de datos y no es mayor que el intervalo durante el cual pueden transmitirse 1.5 bytes de datos. En el modo RTU, los mensajes comienzan con un intervalo silencioso de al menos 3.5 caracteres por segundo.

Se envía un mensaje de solicitud en el siguiente formato:

Un mensaje de solicitud

ID - dirección del dispositivo (1 byte),
FN - Función Modbus (1 byte),
[args] - argumentos de función (N bytes, dependiendo de la función),
CRC - una suma de comprobación CRC-16 (2 bytes).

El formato de un mensaje de respuesta:

Un mensaje de respuesta

Como puede ver, los marcos de respuesta y solicitud tienen construcciones similares, a excepción del campo Datos, que proporciona un contenido diferente según la función realizada.

En caso de que la función solicitada no sea admitida por el dispositivo esclavo o los argumentos en el campo [args] de la solicitud sean incorrectos para este servidor, en el campo FN de la respuesta, el bit alto se establecerá en 1 y el campo Datos contiene información adicional sobre el error ocurrido.

Además, los dispositivos esclavos particulares pueden tener registros específicos con información adicional.

Los tipos de registros a los que se hace referencia en los dispositivos Modbus incluyen los siguientes:

Campo Acceso Tamaño Descripción
Entradas discretas
solo leyendo
1 bit
utilizado como entradas
Salidas de bobinas
leyendo/escribiendo
1 bit
usado para controlar discreto
Registros de entrada
solo leyendo
16 bit
utilizado para entrada
Registros de tenencia
leyendo/escribiendo
16 bit
utilizado para una variedad de cosas incluyendo entradas, salidas, datos de configuración, etc.

La descripción completa del protocolo Modbus RTU se proporciona en su especificacion funcional.

Al configurar una red Modbus, tenga en cuenta que el protocolo permite que la transmisión de datos desde múltiples dispositivos sea recibida por un único servidor o controlador con el controlador Modbus instalado. Una aplicación en serie puede controlar el puerto de comunicación de un servidor (por ejemplo, COM1) cuando recibe datos Modbus de múltiples sensores.

Desafortunadamente, hay una advertencia porque abrir el puerto de recepción en múltiples aplicaciones puede ser un desafío significativo al mismo tiempo.

Hay una solución a este dilema. Virtual COM Port Driver PRO Eltima permite la creación de puertos RS485 virtuales y el intercambio de datos Modbus para que múltiples puertos puedan recibir los datos simultáneamente.

Ahora puede duplicar la secuencia de datos que ingresa un puerto físico a múltiples puertos virtuales. Al conectar múltiples aplicaciones a copias virtuales de su puerto COM1, todas las aplicaciones pueden compartir el acceso a su puerto físico.

Desarrollar y probar dispositivos Modbus


Al desarrollar y depurar dispositivos Modbus RTU, los expertos utilizan herramientas especializadas de software y hardware. En cuanto a los dispositivos de hardware, la solución más simple será el convertidor RS-485 / USB. De todos los dispositivos de este tipo, probablemente la solución más eficiente es MOXA UPORT 1130 / UPORT 1150. El dispositivo está diseñado para ser fácil de usar y requiere habilidades mínimas para ser ensamblado. También hay soluciones más complejas como Ethernet / RS-485 (por ejemplo, NPORT de MOXA).

En la práctica, cuando se trata del desarrollo de dispositivos Modbus RTU, la función esclava se implementa más a menudo. Los dispositivos esclavos incluyen varios sensores, relés controlados, módulos de E / S, etc. Los dispositivos maestros se crean con menos frecuencia. En las redes de automatización, la función maestra generalmente se realiza mediante un controlador, que ya tiene implementada una pila Modbus, o un servidor OPC / sistema SCADA equipado con un controlador Modbus.

No consideraremos el desarrollo de la pila de Modbus en este artículo. Lo único que vale la pena mencionar es la biblioteca FreeMODBUS, en base a la cual es bastante fácil construir un dispositivo que soporte las funciones esclavas Modbus.

Software eficiente para pruebas Modbus


Las pruebas se pueden realizar en diferentes niveles de desarrollo de dispositivos Modbus. Los Software de prueba Modbus y las soluciones de hardware difieren según la etapa de desarrollo y el propósito de la prueba.

Una de las herramientas más convenientes utilizadas en las etapas iniciales de las pruebas de dispositivos es la terminal Modbus. Esta solución ayuda a crear manualmente una solicitud, enviarla y analizar la respuesta.

Durante el proceso de desarrollo, puede surgir una situación cuando un dispositivo recibe una solicitud y responde a ella (esto puede ser indicado por los LED de recepción / transmisión de paquetes, si dichos elementos se proporcionan en el diseño, o detectados mediante un depurador y configuración un punto de interrupción) pero los datos no se muestran en el terminal u otro programa especializado. En este caso, necesitará un rastreador de puerto serial dedicado.

Serial Port Monitor es uno de los mejores software de monitoreo Modbus disponible en la actualidad. Esta solución Modbus puede leer y registrar fácilmente cualquier dato en serie que pase por los puertos COM del sistema. La funcionalidad avanzada de la aplicación permite capturar datos en tiempo real para que un desarrollador pueda resolver todos los problemas una vez que se han detectado.

Serial Port Monitor es capaz de trabajar en el modo terminal que emula la transferencia de datos desde un puerto COM monitoreado a un dispositivo insertado en él. Esta opción es especialmente conveniente para la prueba de comunicación Modbus, ya que permite observar la reacción de un dispositivo particular a un comando y datos específicos.

Serial Port Monitor

Serial Port Monitor es un software profesional para probar y depurar dispositivos y redes basados en 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

El software dedicado es útil cuando se requiere no solo verificar si un dispositivo funciona (es decir, responde correctamente a las solicitudes), sino también medir el tiempo medio hasta la falla.

La solución de prueba de Modbus permite registrar los flujos de datos entrantes y salientes. Además, todos los datos recopilados se pueden mostrar en diferentes vistas (tabla, línea, volcado, terminal), lo que facilita su comparación y análisis.

Depuración de sistemas de automatización basados ​​en dispositivos Modbus


Hay muchos más especialistas que depuran los sistemas de automatización y los dispositivos compatibles con el protocolo Modbus que aquellos que desarrollan estos dispositivos. Por lo tanto, en función de las características específicas de las tareas, los requisitos para Software Modbus RTU será ligeramente diferente.

Si es necesario conectar un controlador a un solo dispositivo esclavo, puede establecer una comunicación en serie utilizando el convertidor RS-485 / USB, una PC y un software o terminal especializado. En este caso, no hay necesidad de pruebas largas seguidas por el análisis de numerosos archivos de registro. Por lo tanto, la lógica de la operación y el conjunto de herramientas no diferirán de las utilizadas en la etapa de prueba del desarrollo del dispositivo esclavo.

En caso de que ya tenga una red de dispositivos lista, se pueden distinguir las siguientes tareas:

  • verificar la operabilidad de todos los dispositivos en la red (es decir, comunicación con cada dispositivo separado y verificación de la corrección de su respuesta);
  • prueba de carga (identificación de la capacidad operativa máxima del dispositivo). Se recomienda realizar varias sesiones y analizar los datos recopilados en busca de fallas, falta de respuesta, corrupción de datos, etc.

Para realizar estas tareas, necesitará un terminal con la capacidad de crear una lista de solicitudes o una herramienta especializada como Modbus Poll, un simulador maestro Modbus que permite monitorear varios esclavos Modbus y / o áreas de datos al mismo tiempo.

Desafíos de comunicación Modbus


Algunos de los dispositivos Modbus pueden tener configuraciones particulares de interfaz RS-485 (la cantidad de bits de datos, la paridad, el número de bits de parada). Los dispositivos con configuraciones diferentes no pueden funcionar en la misma red con el mismo maestro. La herramienta más conveniente para probar y configurar dichos dispositivos es un programa de terminal que admite el cambio rápido entre los parámetros de puerto preinstalados o funciona con varias líneas al mismo tiempo.

Otro desafío es proporcionar intercambio de datos con un dispositivo que trabaje sobre un protocolo diferente de la especificación estándar de Modbus RTU. Por ejemplo, el protocolo del esclavo puede ser lógicamente similar a Modbus (estructura del paquete, tiempos de espera, etc.) pero utiliza algunas funciones más allá del estándar.

En este caso, será una buena idea usar Modbus Poll, que permite formular solicitudes arbitrarias, o un terminal que admita una funcionalidad similar.

El sistema SCADA estándar no es eficiente para trabajar con dichos dispositivos y la comunicación con el equipo se establece a través de un servidor OPC especial.

/ / / Herramientas eficientes para probar y depurar dispositivos y redes basados ​​en Modbus

Serial Port Monitor

Requisitos: 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: Communication Application