Aprende cómo trabajar con Modbus RTU en PLCs basados en Arduino y ESP32
Introducción
Modbus RTU es un protocolo de comunicación ampliamente utilizado en la automatización industrial, conocido por su simplicidad, confiabilidad y capacidad para operar a largas distancias. Facilita la comunicación entre dispositivos como Controladores Lógicos Programables (PLCs), sensores y actuadores. En esta publicación de blog, exploraremos cómo implementar la comunicación Modbus RTU utilizando PLCs Industrial Shields basados en Arduino y ESP32, mostrando configuraciones tanto maestras como esclavas.
Ya sea que estés buscando establecer comunicación entre dos PLCs o conectar tu PLC a otros dispositivos compatibles con Modbus, este tutorial proporciona una guía completa tanto para la implementación de hardware como de software. Aprenderás sobre los componentes necesarios, cómo cablear y configurar el hardware, y cómo programar la funcionalidad Modbus utilizando el IDE de Arduino y la biblioteca Modbus.
Al final de este tutorial, podrás configurar un sistema de comunicación Modbus RTU robusto con facilidad, aprovechando los versátiles PLCs Industrial Shields para tus proyectos de automatización.
Requisitos de Hardware 
- Controlador Lógico Programable basado en Arduino / ESP32 de Industrial Shields (fungirá como Modbus Maestro).
- Controlador Lógico Programable basado en Arduino / ESP32 de Industrial Shields (fungirá como Modbus Maestro).
- Fuente de voltaje de 12 ó 24 VCD
- Cable tipo USB B ó Micro USB-B: Para programar los PLCS Arduino / ESP32.
- 2 cables de par trenzado, para conectar a puertos RS-485.
Configuración del Software
Antes de sumergirte en el código, asegúrate de tener:
- Arduino IDE: software para programar PLCs Arduino / ESP32.
- Librerías de Industrial Shields:
- Descarga la librería desde este enlace.
- Descomprímela y añádela a tu Arduino IDE.
- Librería Modbus: descargable desde Arduino IDE.
Implementación (configuración de Hardware)
Primero, alimenta el PLC entre 12 y 24V, conecta los cables a través de RS-485 y configura los interruptores correspondientes de tu PLC. Asegúrate de que todas tus configuraciones estén bien.
Implementación (configuración de Software)
Para el PLC Maestro
Para programar el PLC Maestro Modbus, sigue estos pasos:
- Navegue en File > Examples > Modbus or File > Examples > Tools40 > Modbus, y seleccione uno de los ejemplos Modbus RTU. Estos ejemplos demuestran varias funcionalidades de Modbus.
- Selecciona tu Tablero y Modelo de acuerdo a tu PLC:
Familia Arduino (excepto IS.AB20AN.HF+ y IS.AB20REL.HF+): Tools > Board > Industrial Shields AVR Boards > M-Duino [Extension] family y Tools > Model > M-Duino [Module]
Familia Arduino (IS.AB20AN.HF+ y IS.AB20REL.HF+): Tools > Board > Industrial Shields AVR Boards > Ardbox [Extension] family y Tools > Model > Ardbox [Module] HF+ w/HW RS-485
Familia ESP32 (excepto 0130000Z0001): Tools > Board > Industrial Shields ESP32 Boards > ESP32 PLC Family y Tools > Model > ESP32 PLC [Module]
Familia ESP32 (0130000Z0001): Tools > Board > Industrial Shields ESP32 Boards > 14 IOS PLC Family
- Asegúrese de que las siguientes configuraciones sean las mismas que en el dispositivo esclavo:
- Baudios: Velocidad de comunicación (ej., 9600, 19200).
- Modo Dúplex: Entre half-duplex o full-duplex, dependiendo de su comunicación.
- Ajustes de comunicación serial: Por default SERIAL_8E1 (8 bits de datos, paridad non, 1 bit de paro).
- Por último, cargue el sketch en: Sketch > Upload.
Para el PLC Esclavo
Para programar el PLC Esclavo Modbus, sigue estos pasos:
- Navegue en File > Examples > Modbus or File > Examples > Tools40 > Modbus, y selecciona el código de los ejemplos Modbus RTU.
- Selecciona tu Tablero y Modelo de acuerdo a tu PLC con la misma configuración que el Maestro.
- Asegúrate de que la velocidad de baudios, el modo dúplex y la configuración de comunicación serial sean los mismos que en el dispositivo maestro.
- El código de los ejemplos Modbus RTU Esclavos es para usarse con el PLC IS.MDuino.21+, esto significa que la asignación de pines deberá modificarse en caso de utilizar otro PLC.
- Por último, cargue el sketch en: Sketch > Upload.
Conclusión
Con esta configuración, tu PLC Arduino / ESP32 está ahora conectado a una red Modbus RTU, transmitiendo datos por RS-485. Esta es una base sólida para aplicaciones industriales, como la monitorización de sensores, el control mediante HMIs y la transmisión de datos.
Contáctanos
ventas@logicbus.com | soporte@logicbus.com | 55-5431-67-18 | Iniciar conversación