Programación de Autómatas con ESP32 y Codesys
Acerca de las clases

3.4.- PUESTA EN MARCHA DE UN CILINDRO NEUMÁTICO

3.4.1.-INTRODUCCIÓN

En los sistemas automatizados existen numerosas tecnologías que facilitan los procesos de fabricación: Eléctrica, neumática, hidráulica, electrónica, etc. Una de esas tecnologías es la neumática.

El aire comprimido al ser un sistema de fácil generación, mediante compresores y distribución, así el hecho de ser una energía limpia, permite que no produce elementos contaminantes. El aire a presión se utiliza para el posicionamiento de piezas mediante cilindros neumáticos, a los cuales se adapta la herramienta correspondiente, o la manipulación mediante ventosas tipo venturi o pinzas.

Para regular su funcionamiento mediante la programación de los PLC, es necesario usar temporizadores, que nos permiten contar el tiempo que están en una determinada posición o contadores que permiten controlar el número de veces que se realiza un ciclo.

La presente práctica se realizará la programación de un cilindro neumático, controlando su posición mediante los pulsadores de la placa de sensores.

3.4.2.- CONTROL CILINDRO NEUMÁTICO

Para la programación de la práctica, seguir los siguientes pasos:

  1. Iniciar Codesys y crear un nuevo proyecto estándar en Ladder denominado Control de cilindro.
  2. Descargar la plantilla del proyecto
    1. Control de cilindro
  3. Desde la opción de Codesys Archivo de proyecto->Extraer Archivo de proyecto, incluyendo en el proyecto la plantilla que permitirá la simulación.
  4. Una vez incluido el árbol de proyectos aparecerá tal como muestra la figura. Donde se puede observar al programa principal, en el que introducirá el Ladder (Main), el programa que simula el funcionamiento del cilindro (SIM) y la pantalla de visualización del cilindro (Cilindros).

https://microdesys.es/wp-content/uploads/2023/04/word-image-1490-1.png

El proyecto consistirá en el control de un cilindro neumático A, el cual se podrá ver su funcionamiento en la pantalla Cilindros del proyecto:

El cilindro dispone de los siguientes elementos:

E/S Variable Función
%IX0.2 SW1 Expulsión del cilindro
%IX0.3 SW2 Recogida del cilindro
SIM SIM.a0 Detector final de carrera del cilindro recogido
SIM SIM.a1 Detector final de carrera del cilindro expulsado
%QX1.4 A Señal de expulsión del cilindro

En la tabla, las variables de E/S marcadas como SIM, pertenecen a la tarea SIM, que permite simular el movimiento del cilindro en la pantalla cilindros

Programa control cilindro ciclo único

Conectar la placa ESP 32 con el shield de sensores al puerto USB del ordenador, y descargar el programa de comunicaciones que permite el mapeo de las variables de E/S a las variables de Codesys: Configuracion_USB_COdesys.ino anotando el puerto serie COM donde se realiza la descarga.

Iniciar Codesys con el programa Control de cilindro y configurar el puerto Modbus COM, con el anotado en el apartado anterior.

Programar el PLC, para que realice el siguiente ciclo de trabajo:

  • Al pulsar marcha SW1 en la placa de sensores, se inicia expulsa el cilindro A, hasta llegar a su posición de extensión (detección a1).
  • En posición de extensión al pulsar SW2, se inicia la recogida del cilindro hasta que esté en reposo

El problema en Ladder consiste en activar y desactivar la expulsión del cilindro %QX1.4 al que se ha asignado la variable A mediante una instrucción de SET para activar la expulsión y un RESET para desactivarlo.

  1. Activación A (SET): El cilindro se expulsará, cuando esté en reposo (SIM.a0) y se pulse SW1 (%IX0.2). Por tanto, la linea de SET será:

  1. Desactivación A (RESET): El cilindro se recogerá, cuando esté en posición de extensión (SIM.a0) y se pulse SW2 (%IX0.3)

 

Comprobar el correcto funcionamiento en la pantalla cilindros, al pulsar SW1 y SW2 y guardar el programa com Control de P2_1_cilindro_SOL_AP1

Programa control cilindro ciclo continuo

El caso anterior es un automatismo de ciclo único, cada vez que se desea realizar un ciclo se ha de hacer la acción de pulsar SW1 para expulsar y SW2 para recoger.

Un ciclo continuo, es un proceso que una vez se inicia, se está ejecutando continuamente hasta que se pulsa paro (SW2), en la que puede acabar el ciclo normal de trabajo (paro a final de ciclo) o detiene instantáneamente el proceso al ser pulsado (paro emergencia).

El ejercicio se ha de programar, que partiendo de la condición de reposo (cilindro recogido), al pulsar marcha, se activará la expulsión, una vez expulsado iniciará la recogida. Una vez recogido vuelve a expulsarse. Así continuamente hasta pulsar paro (SW2), en que acaba el ciclo que está realizando y el sistema queda en reposo. Modificar el programa del punto anterior para probar correcto funcionamiento con el siguiente código:

Partiendo del ejercicio anterior:

  1. Borrar las dos líneas de programa anterior para crear una variable de ciclo continuo %MX0.1.
  2. Activación ciclo continuo %M1 (SET): LA activación de %MX0.1, serà cuando el cilindro esté en reposo (SIM.a0) y se pulse SW1.
  3. Desactivación ciclo continuo %MX0.1 (RESEt9: La desactivación de %M1, se realizará a pulsar SW2.

  1. La expulsión del cilindro (SET %QX1.4), se realizará cada vez que el sistema esté en reposo (SIM.a0), siempre y cuando el ciclo continuo este activo (%MX0.1).
  2. La recogida del cilindro (RESET %QX1.4), se realizará cada vez que el cilindro esté expulsado (SIM.a1).

  1. Comprobar el correcto funcionamiento en la pantalla cilindros, al pulsar SW1 y SW2 y guardar el programa com Control de cilindro_SOL_AP2