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

Index

1. OTA
2. Requisitos
3. Configuración   
    3.1 Primeros pasos
   
    3.2 Configuración inicial
4. Configuración de la OTA

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.


Encuentra lo que buscas.¬°Busca en nuestro Blog!

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!