ESP8266 – 01 Esclavo Modbus TCP IP (Ethernet) para Aplicaciones Industriales

Introduccion a Modbus TCP IP

Modbus TCP IP  protocolo de comunicaciones basado en  aquitectura (TCP/IP) cliente/servidor diseñado para comunicación  Ethernet de controladores Industriales PLCs.
Ventajas sobre otros Protocolos Industriales
  1. Es público.
  2. Su implementación es fácil y requiere poco desarrollo.
  3. Maneja bloques de datos sin suponer restricciones.

Mas Informacion Modbus ..  Wikipedia.





 

Existen una gran cantidad de implementaciones de este protocolo en la gran variedad de lenguajes de programacion Java, Python, C, etc.
Se diria que una gran cantidad de los controladores Industriales, OPC, HMI  y Scada Utilizan Modbus TCP IP.


Importante:
Para realizar correctamente todo el proyecto que es de Gran alcance referente a su interacción con scada HMI OPC y PLC  deberias ver Antes este Post:

Arduino Mega 2560 Display Oled I2C Modbus Maestro RTU Conexion Scada IndustrialAplicación  de Proyecto
He realizado la búsqueda de ejemplos o aplicaciones funcionales de el Modulo ESP8266 – 01
en el campo industrial, Luego de realizar pruebas con controladores PLC via Modbus RTU serial,
Realice la  implementacion del Modulo ESP8266 como esclavo TCP IP   y Arduino con un SCADA Industrial.

 





 

Explicacion de Proyecto
Se realiza la configuracion del Modulo ESP8266 como esclavo Modbus TCP/IP, se Utiliza un simulador Modbus TCP IP como Maestro de red.
1 El modulo ESP8266 enviara en el Holding Register [0] un valor Random generado internamente por el modulo, este se visualizara desde el Simulador Maestro Modbus.
2 Se utiliza el puerto serial del ESP8266 con el FTDI Serial usb para visualizar el valor Random

 

Video de Prueba  ESP8266 como esclavo Modbus TCP IP via Wifi

ESP8266 Esclavo Modbus TCP/IP, Sin librerias extras – ComandoTrial

Materiales 

1  1 ESP8266
2  1  Convertidor FTDI Serial USB
3  1 Regulador de 5 a 3.3v para alimentacion de ESP8266





 

Conexiones

Descargas:

Parte 1

 
Parte 3
ESP8266 Modo Puente Modbus RTU Esclavo – Modbus TCP IP Esclavo
 





 

8 thoughts on “ESP8266 – 01 Esclavo Modbus TCP IP (Ethernet) para Aplicaciones Industriales”

  1. Hola!
    Estoy utilizando el ejemplo "ESP8266ModbusTCPSlave.ino" en ESP8266-12e.
    Funciona muy bien, pero tengo enviar el comando de lectura o escritura dos veces para recibir el mensaje "OK" en mi simulador (Modbus pool master).
    Creo que es debido a que la conexión se cierra (no keep_alive).
    ¿Cómo hago la conexión a mantener en "Keep-Alive"?

    Gracias.

    1. Hola
      La libreria Original tenia un inconveniente, el Maestro debia cerrar y abrir conexion para actualizar, a corto plazo lo solucione, modificando la libreria y haciendo que el esclavo cierre la conexion y el maestro solicitara conexion, muchas personas me han consultado sobre este tema y estoy probando con la libreria original sin la desconexion e implementando la libreria , pronto subire la documentacion completa
      Saludos

  2. Entiendo.
    Si yo pudiera colaborar con alguna prueba, Voy a estar disponible.

    Hice algunas pruebas en el código, dentro del ficheiro "ModbusTCPSlave.cpp", comentando el "client.stop();", contenido dentro del bloque "case MB_FC_READ_REGISTERS:".

    La conexión permanece activa, pero no actualiza el valor del registro "Mb.MBHoldingRegister[0] = (random(1, 100));", declarada en el fichero "ModbusESP8266Slave.ino".

    Saludos.

Leave a Reply