Cómo programar un PLC industrial ESP32 de 10 E/S a través de WiFi
Cómo subir un programa al PLC de 10 E/S usando una conexión WiFi
7 diciembre, 2020 por
Cómo programar un PLC industrial ESP32 de 10 E/S a través de WiFi
Boot & Work Corp. S.L., Marti Guillem Cura

Gracias al uso del módulo ESP32 para controlar el  Industrial Shields 10 I / Os industrial controller Arduino, podrás acceder a las conexiones Wifi / Bluetooth sin tener que implementar un dispositivo externo. Utilizando su conexión Wi-Fi, podrás trabajar con él a distancia, hasta el punto de poder reprogramarlo sin necesidad de utilizar el puerto serie del ordenador ejecutando el proceso OTA.

OTA

OTA (Over the Air) es el proceso de subir un programa al módulo ESP32 usando la conexión Wi-Fi en lugar del puerto serie. Esta funcionalidad te permitirá reprogramar tu PLC sin necesidad de estar cerca, solucionando situaciones en las que el acceso al módulo es limitado o físicamente inaccesible.

El proceso de OTA puede configurarse utilizando Arduino IDE, un navegador Web o un servidor HHTPS, aunque en nuestro caso utilizaremos Arduino IDE gracias a su simplicidad y eficiencia.

En cualquier caso, para configurar el módulo vía Wifi, el primer programa tendrá que cargarse a través del puerto serie para habilitar la opción Wifi.

Requisitos

Los requisitos para el desarrollo de la implementación del programa utilizando la red Wifi son los siguientes:

Configuración 

Primeros Pasos

En primer lugar, para poder trabajar con el proceso de OTA, asegúrate de tener un módulo ESP32 incorporado en los PLCs de nuestra marca. El programa "Arduino IDE" debe instalarse junto con nuestras librerías; de lo contrario, puedes preparar el entorno de trabajo en el siguiente enlace:

Clica aquí >>

También puedes revisar nuestro blog donde explicamos todos los pasos para establecer todo el entorno correctamente. En estos ejemplos trabajaremos con un PLC de Industrial Shields de la familia 10 I / OS ESP32.

Configuración inicial

Una vez configurado el IDLE de Arduino e instaladas las librerías necesarias, procederás a configurar el módulo ESP32 del PLC para poder trabajar, recibir y cargar programas a través de la conexión Wifi. La primera vez que trabajes con él, necesitarás usar el puerto serie para poder configurarlo. Por lo tanto, conectarás el PLC a tu ordenador y seleccionarás la placa 10 IOS PLC FAMILY -> "10 IOS PLC DIGITAL" junto con el puerto COM que aparece. Una vez seleccionado, abre el programa de ejemplo "BASICOTA" que se encuentra en File -> Examples -> ARDUINO OTA.

Configuración inicial


El programa deberá cargarse para la configuración inicial. En él, se definirá una secuencia de parámetros que deberá guardar para futuras modificaciones. El ejemplo utiliza las bibliotecas originales de Arduino ESP32:

#include <WiFi.h>
#include <ESPmDNS.h>
#include <WiFiUdp.h>
#include <ArduinoOTA.h>

 Las primeras líneas de código que encontrarás serán las más importantes para ti. Definen los parámetros de la configuración de nuestra red Wifi local, por lo que tendrás que modificarlos para tu caso particular poniendo el nombre de la red y su contraseña. Una vez que estos dos parámetros hayan sido modificados, el programa no debe ser modificado de nuevo.

const char* ssid = "…………";
const char* password = "…………*";  
Una vez cambiado, procederás a cargar el programa y, una vez cargado, pulsará el botón ENABLE en el ESP32 (dependiendo del sistema operativo utilizado, este paso puede saltarse). Al abrir el monitor de serie, se puede ver cómo muestra un mensaje confirmando que se ha conectado correctamente y mostrando la dirección IP que se le ha asignado. Esta dirección IP debe ser guardada ya que será necesaria más adelante para identificar el dispositivo en el que se está trabajando.

Configuración inicial

Configuración OTA

Después de completar la configuración inicial, el módulo ESP32 del PLC 10 I/Os será configurado para ser reconfigurado remotamente a través de una conexión Wi-Fi. Ahora, procederás a cargar un nuevo programa usando el proceso OTA.

NOTA: es necesario incluir la configuración OTA en cada nuevo programa que se suba al módulo ESP32; de lo contrario, después de subir el nuevo programa el ESP32 no podrá reconfigurarse usando OTA. Para volver a activar el proceso OTA, el módulo debe ser recargado con la configuración inicial utilizando el puerto serie.

Se recomienda modificar el programa de muestreo para no dejar ningún parámetro esencial de la configuración Over The Air. Como ejemplo, modificaremos el programa de muestra inicial añadiendo la función de escribir la frase "¡Hola Mundo!" a través del puerto serie. Además, obtendremos un voltaje de 12V a través de la salida digital Q0_9.

En la función Loop (), después de la línea ArduinoOTA.handle(), añade un Serial.println () como se muestra a continuación. La impresión será llamada cada segundo gracias a la función original non-blocking millis () de Arduino. Además, hará un digitalWrite () para poder alternar la fuente de alimentación con las variables de estado. Recuerda que, para utilizar la iteración, debes haber declarado previamente una constante larga no firmada para el tiempo al principio del programa (en nuestro caso será la variable "Tiempo") y debéis haber declarado el pin Q0_9 como salida haciendo un pinMode (Q0_9, OUTPUT ). La función lLoop() debe ser como se muestra:

void loop() {
 ArduinoOTA.handle();
if(millis()-Time>1000){
Serial.println("Hello");
state = !state;
digitalWrite(Q0_9,state);
Time = millis(); }
}
Una vez que el programa ha sido modificado, en las herramientas para seleccionar el puerto (tools --> port) puedes ver cómo se ha añadido una nueva opción. Aparecerá como "Puertos de red" con el nombre "esp32-xxxxxx en <your_esp_ip_address>". Si la opción no es visible, debes reiniciar el IDE de Arduino. Para cargar el nuevo programa asegúrate de estar en la misma red Wi-Fi que el PLC y seleccione el nuevo puerto ubicado en "Puertos de Red". Si las conexiones han sido exitosas, lo verás en la siguiente imagen. Si ha habido un error al cargar el programa, por favor repite la operación de carga ya que a veces la primera conexión sale mal.

OTA configuration



¿Tienes dudas al trabajar con nuestros dispositivos basados en open source?

Nuestro departamento de atención al cliente contestará todas tus preguntas.


Cómo programar un PLC industrial ESP32 de 10 E/S a través de WiFi
Boot & Work Corp. S.L., Marti Guillem Cura
7 diciembre, 2020
Compartir
Archivar

¿Buscas tu controlador lógico programable ideal?

Echa un vistazo a esta comparativa de producto de varios controladores industriales basados en Arduino.

Comparamos entradas, salidas, comunicaciones y otras especificaciones con las de los equipos de otras marcas destacadas.


Comparación PLC industrial>>>

¿Quieres más información?

¡Rellena el formulario!

¡Cuéntame más!