
3.2.- Configuración y primer programa en Ladder
3.2.1.- Presentación de la práctica
La práctica va iniciar la programación de PLC’s mediante el lenguaje Ladder, haciendo uso de los contactos y bobinas que dispone dicho leguaje de programación. El ejercicio pretende que el alumno aprenda los pasos necesarios de configuración de la placa ESP32 con el shield de sensores y la creación del primer programa, para ello se deberá:
- Conectar la placa shield de dispositivos de E/S con la placa controladora ESP32
- Conectar mediante un cable USB, la placa controladora a un puerto del Ordenador
- Descargar y transferir el programa de comunicación a la placa ESP32 mediante el IDE de Arduino.
- Crear un nuevo proyecto en Codesys con la configuración y mapeo de las E/S de la tarjeta controladora a las variables propias del PLC Codesys
- Crear un programa en Ladder
- Cargar el programa en el PLC virtual de Codesys y probar su correcto funcionamiento
2.- Preparación y configuración de la placa ESP32
El primer paso para poder trabajar la placa controladora ESP32 con Codesys, es preparar la placa con el programa de configuración que permitirá la comunicación y el envío del estado de las E/S al PLC Virtual de Codesys, para ello inicialmente se seguirán los siguientes pasos:
- Ensamblar la placa ESP32, junto con el shield de dispositivos de E/S y conectarlo a un puerto USB del Ordenador donde se ejecute Codesys.
- Ejecutar el IDE de Arduino y abrir el programa Configuracion_USB_Codesys.ino, que permite realizar el mapeo de las E/S de la placa a las variables MODBUS del Codesys
- Descargar el programa ARDUINO que permite la comunicación USB entre la placa y Codesys, anotando el puerto de comunicaciones COM, donde está conectada la placa.
- Cerrar el programa Arduino
3.- Creación del proyecto con Codesys
Una vez descargada mediante el IDE de Arduino el programa de comunicación en la placa ESP32, el siguiente paso es crear el proyecto de automatización con Codesys siguiendo el siguiente proceos
- Iniciar el programa Codesys desde el menú de Inicio de Windows
- Crear un nuevo Proyecto standard de Codesys, en principio en Diagrama de contactos (LD).
![]() |
![]() |
- En el árbol del proyecto, seleccionar Device, y pulsando sobre el botón derecho del ratón seleccionar Agregar el dispositivo y seleccionar Puerto serie Modbus
- Una vez insertado en el árbol del proyecto
, clicar dos veces sobre el control insertado (Modbus_COM) y configurar en la pestaña Generalidades la configuración Modbus, tal como se ha realizado en el programa Arduino:
En esta ventana es importante seleccionar el Puerto COM donde está conectada la placa (puerto COM 5 en el ejemplo) y la Velocidad en Baudios de comunicación entre la placa y el programa (115200 en la función modus_configure de Arduino)
- Una vez configurado,clicar con el botón derecho sobre el elemento insertado:
y en el menú emergente indicar Agregar Dispositivo y seleccionar Modbus Esclavo:
apareciendo , un nuevo dispositivo dependiente del Master (Codesys), y que corresponderá a las E/S de la placa ESP32: Modbus Esclavo.
- Clicar dos veces sobre el elemento Modbus_Slave_COM_Port y configurar las diferentes pestañas que permiten la comunicación con la placa.
- En la pestaña General, configurar la Dirección de esclavo (entre 1 i 247)
Tal como se haya definido en el programa Arduino:
- Configurar los canales de comunicación con la placa
Una vez realizada la configuración, ya está preparado para comunicar con la placa y los sensores y realizado el mapeo de las variables de los sensores a Codesys.
- Seleccionar Proyecto predeterminado el Diagrama de contactos (LD)
- Del menú Archivo de Codesys, seleccionar : Archivo->Archivo de proyecto->Extraer Archivo de proyecto. Seleccionar el archivo descargado P1_USB , en el cual se encuentra la configuración básica del proyecto con modbus y la placa ESP32.
- Seleccionar Device, y en la opción Examinar Red, seleccionar Gateway y Equipo donde va a ejecutarse el programa (ha de estar en verde los dos dispositivos).ç
- En la pestaña Modbus_COM, seleccionar le puerto COM donde está conectada la placa ESP32 :
- Probar la comunicación , pulsando Inicio de sesión
y seguidamente Inicio
. El árbol de dispositivos cambiará y se pondrá en modo online:
El proyecto está listo para ser programado, desactivar online y continuar con los siguientes apartados de la práctica.
Mediante esta configuración se consigue realizar el mapeo de las diferentes E/S a las Variables de Codesys:
![]() |
|||
Elemento | Conexión en la placa | Puerto ESP32 | Variable Codesys |
SW1 | D2 | GPIO26 | IX0.2 |
SW2 | D3 | GPIO25 | IX0.3 |
RGB-R | D9 | GPIO13 | QX1.1 |
RGB-G | D10 | GPIO5 | QX1.2 |
RGB-B | D11 | GPIO23 | QX1.3 |
LED-ROJO | D12 | GPIO19 | QX1.4 |
LED-AZUL | D13 | GPIO18 | QX1.5 |
BUZZER | D5 | GPIO16 | QX0.5 |
IR | D6 | GPI027 | IX0.6 |
Libre | D7 | GPIO14 | IX0.7 /QX0.7 |
Libre | D8 | GPIO12 | IX1.0/ QX1.0 |
Potenciómetro | A0 | GPIO2 | IW1 |
LDR | A1 | GPIO4 | IW2 |
LM35 | A2 | GPIO35 | IW3 |
Libre | A3 | GPIO34 | IW4 |
DHT | D4 | GPIO17 |
IW5-> Temperatura IW6-> Humedad |
3.- Primer programa
Se va a realizar un pequeño programa mediante un contacto y una bobina, de tal manera que al pulsar SW1 en la placa (asociado a la entrada IW0.2 de Codesys), se va a activar la salida QW0.4, donde está conectado el LED azul.
- Editar el programa principal e introducir la siguiente línea:
- El programa,es un contacto NA, que al detectar tensión en la entrada IX0.2 (GPI026 de la placa ESP32), provocada por el cierre del pulsador SW1, permite cerrar la línea para y activar la variable %QX1.5, asociado a la salida donde está conectado el LED ROJO y suministrar 3,3V a al contacto I018 de la placa ESP 32).
- Una vez realizado, descargar el programa sobre el simulador y probar el correcto funcionamiento,activando el LED Azul al pulsar sobre SW1.