Introduccion a Modbus TCP IP
- Es público.
- Su implementación es fácil y requiere poco desarrollo.
- 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
hola, quisiera saber que firmware utilizaste, si el firware ATE de fábrica u otro diferente
La rutina se creo en Arduino IDE y se descarga a ESP, Mas arriba esta la descarga del codigo fuente y la libreria Modbus TCP.
Aqui un tutorial de como programar el ESP desde cero.
http://pdacontrol.blogspot.com.co/2016/06/programar-esp8266-con-arduino-ide-en-5.html
Saludos
Hola,
para este ejemplo usas una libreria llamada ESP8266.h donde puedo descargarla?
Gracias! fantástico aporte!
Hola Cristian
La libreria ESP8266.h se incluye en Arduino IDE cuando lo configuras para programar los ESP8266, la librerias se agregan automaticamente al agregar el URL de boards que se une a Github, este tutorial te lo explicara http://pdacontrol.blogspot.com.co/2016/06/programar-esp8266-con-arduino-ide-en-5.html
Saludos.
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.
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
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.
Hola Jose
Estas son las pruebas que te mencione anteriormente https://goo.gl/sWOqK4,con las pruebas realizadas ya no se debe detener la conexion, admiro tu interes en integrar ESP con modbus TCP, saludos