Ir al contenido

Programar una placa ESP32 PLC: configurar PlatformIO IDE en Visual Studio Code

12 de marzo de 2024 por
Programar una placa ESP32 PLC: configurar PlatformIO IDE en Visual Studio Code
Boot & Work Corp. S.L, Francesc Nosàs Moliner


En este artículo aprenderemos a configurar la extensión PlatformIO para VSCode y así programar un PLC ESP32. Esta extensión ofrece en VSCode una interfaz cómoda para gestionar proyectos.


Antes de empezar, ten en cuenta que cualquier versión de las placas anterior a la 2.1.6 NO es compatible con PlatformIO.



1. Instalación de PlatformIO IDE en Visual Studio Code


Primero necesitamos tener instalado Visual Studio Code. Si no lo tienes, puedes empezar por aquí: 


https://code.visualstudio.com/download


Una vez instalado, instalamos la extensión PlatformIO. Busca "PlatformIO IDE" en la pestaña de extensiones de VSCode, pulsa Instalar y espera a que termine. Es posible que VSCode te pida reiniciar la aplicación para que la extensión se actualice correctamente.

 1. Instalación de PlatformIO IDE en Visual Studio Code



2. Crear un proyecto nuevo


Sigue los pasos del siguiente enlace:


https://docs.platformio.org/en/latest/integration/ide/vscode.html#quick-start


Puedes elegir la placa que quieras, ya que después la cambiaremos manualmente.


2. Crear un proyecto nuevo


3. Configuración del proyecto


3.1. Editar platformio.ini


Copiamos el código siguiente en platformio.ini. Es lo mínimo que necesitamos.


[env]
platform_packages=
framework-industrialshields-esp32@https://apps.industrialshields.com/main/arduino/boards/industrialshields-boards-esp32-X.X.X.tar.bz2

[env:board]
platform = https://github.com/Industrial-Shields/platform-industrialshields-esp32.git
board = esp32plc_57aar
custom_version = 3 ; or 1 custom_click1 = None ; or GPRS custom_click2 = None ; or GPRS
framework = arduino


3.1.1. Elegir los platform packages


Hay que editar el enlace de la variable platform_packages con la versión de placa que usemos. Podemos consultar todos los paquetes disponibles en el siguiente enlace: 


https://apps.industrialshields.com/main/arduino/boards/


Recuerda: debe ser la versión 2.1.6 o superior.


3.1.1. Elegir los platform packages


3.1.2. Elegir la placa


Edita la variable board con la placa que usemos. Podemos consultar todas las placas compatibles en el siguiente enlace:


https://github.com/Industrial-Shields/platform-industrialshields-esp32/tree/main/boards



3.1.2. Elegir la placa


3.1.3. Cambiar los build flags


La variable build_flags llama al archivo Python que añadimos antes. Es un comando de shell que ejecuta ese archivo, en el que podemos añadir algunas variables.

  • custom_version: un entero que indica la versión del PLC ESP32. Puede ser 3 o 1. Lo habitual es la versión 3; solo en muy pocos casos usarás la 1.
  • custom_click1 y custom_click2: una cadena que indica los clicks usados en la placa. Si no se usa un click, debe ponerse a "None".


3.1.3. Cambiar los build flags



Con esto, el proyecto queda configurado y listo para programar.



4. Ejecutar ejemplos


En el repositorio de GitHub hay disponible un conjunto de ejemplos: 


https://github.com/Industrial-Shields/platform-industrialshields-esp32/tree/main/examples


4.1. Posibles problemas


99-platformio-udev.rules

Si usas Linux, es posible que VSCode avise de que faltan las reglas udev. Para descargarlas, escribe el siguiente comando en tu terminal:

	​$ curl -fsSL https://raw.githubusercontent.com/platformio/platformio-core/develop/platformio/assets/system/99-platformio-udev.rules | sudo tee /etc/udev/rules.d/99-platformio-udev.rules

Más información sobre 99-platformio-udev.rules



Buscar en nuestro blog

Programar una placa ESP32 PLC: configurar PlatformIO IDE en Visual Studio Code
Boot & Work Corp. S.L, Francesc Nosàs Moliner 12 de marzo de 2024
Compartir esta publicación
Etiquetas

¿Estás buscando 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.

Comparativa de PLCs