ESP8266 Modo Puente Modbus RTU Esclavo – Modbus TCP IP Esclavo

Teniendo en cuenta Post Anteriores, en esta ocasión se ha implementado el ESP8266 como Puente para el protocolo Industrial modbus, En próximos tutoriales realizaremos la conexión de ARDUINO ESP8266 y un SCADA HMI.
Post Recomendado: ESP8266 Como Esclavo Modbus TCP IP

Arquitectura 

 

 





 

Explicacion de Proyecto
El modulo ESP8266,
1 – Se configura por su puerto serial como Esclavo Modbus RTU Serial, complementando con un chip MAX 232 se puede convertir de TTL a RS232.
2 – Se configura por la parte Wifi – WLAN se configura como Esclavo Modbus TCP IP por el puerto 502,
3 – Internamente en el Modulo se redireccionan 20 registros tanto de Modbus TCP IP como de Modbus RTU  de la siguiente manera:

Modbus RTU –> Modbus TCP IP
Desde el Registro 0 – 9 del esclavo Modbus RTU hacia  los registros 0 – 9 del esclavo Modbus TCP, todo lo que se escriba en los primeros 10 registros del Esclavo RTU se enviara en los primeros 10 del Esclavo TCP:

  ////  Write  Modbus TCP in Modbus RTU   10 Holding Registers
  ////  Escritura de Modbus TCP en  Registros 10  Modbus RTU  
    
  regBank.set(40001,  Mb.MBHoldingRegister[0]);   
  regBank.set(40002,  Mb.MBHoldingRegister[1]);     
  regBank.set(40003,  Mb.MBHoldingRegister[2]);   
  regBank.set(40004,  Mb.MBHoldingRegister[3]); 
  regBank.set(40005,  Mb.MBHoldingRegister[4]); 
  regBank.set(40006,  Mb.MBHoldingRegister[5]); 
  regBank.set(40007,  Mb.MBHoldingRegister[6]); 
  regBank.set(40008,  Mb.MBHoldingRegister[7]);   
  regBank.set(40009,  Mb.MBHoldingRegister[8]);     
  regBank.set(40010,  Mb.MBHoldingRegister[9]);   

Modbus TCP IP –> Modbus RTU
Desde el Registro 10 – 19 del  esclavo Modbus TCP IP hacia los registros 10 – 19 del esclavo Modbus RTU, todo los que se escriba desde el registro 10  del esclavo Modbus TCP IP se enviara en los registros desde el 10 del Esclavo RTU.

 ////  Write Modbus RTU in Modbus TCP  10 Holding Registers
  ////  Escritura de Modbus RTU en  Registros 10  Modbus TCP  

  Mb.MBHoldingRegister[10] =  regBank.get(40011);
  Mb.MBHoldingRegister[11] =  regBank.get(40012);
  Mb.MBHoldingRegister[12] =  regBank.get(40013);
  Mb.MBHoldingRegister[13] =  regBank.get(40014);
  Mb.MBHoldingRegister[14] =  regBank.get(40015);
  Mb.MBHoldingRegister[15] =  regBank.get(40016);
  Mb.MBHoldingRegister[16] =  regBank.get(40017);
  Mb.MBHoldingRegister[17] =  regBank.get(40018);
  Mb.MBHoldingRegister[18] =  regBank.get(40019);
  Mb.MBHoldingRegister[19] =  regBank.get(40020);

Arrancar esclavos

 

 


     slave.run();  /// Run  Slave Modbus RTU
     Mb.Run();     /// Run Slave  Modbus TCP

 

Materiales

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





 

Video de Prueba de ESP8266 Modo Modbus Bridge 
ESP8266 Bridge  Slave Modbus TCP – Slave Modbus RTU
 
 
ESP8266 slave modbus TCP IP  Industrial Applications 
 

 

Conexion





 

Descargas:

Parte 1
Parte 2

 

Deja una respuesta