jueves, 18 de julio de 2013

GESTIONANDO UN PARKING

Toca programación sencilla pero con contadores, algo fundamental en programación de PLC. En este caso vamos a gestionar un parking y así nos preparamos para las siguiente entrada en la que me gustaría "complicarme bastante mas la vida" y realizar algo relacionado con procesos de producción, o vigilancia programando alguna pantalla SCADA para hacer todo mas visual.

El parking que ahora nos atañe va a estar compuesto de una entrada con tarjetero para usuarios ABONADOS y un botón dispensador de tarjetas para NO ABONADOS a la entrada, con una fotocélula que detectará el coche. Queremos que una vez se pulse el botón o se introduzca la tarjeta y el coche sea detectado, suba la barrera que impide el paso. 

A la salida tendremos un tarjetero, otra fotocélula, otra barrera y funcionará del mismo modo.

El parking cuenta con plazas limitadas (10), y tendremos que indicar mediante dos indicadores si hay plazas disponibles o no.


1. TABLA DE SÍMBOLOS

En primer lugar se realiza la tabla de símbolos que vamos a utilizar. Recomiendo que, siempre que nos enfrentemos a un proceso nuevo, hagamos un boceto en papel que consista en que queremos hacer, que vamos a necesitar, identificar entradas y salidas etc... Esto nos va a facilitar mucho a conocer el proceso en profundidad y a ir mas rápido a la hora de programar, aunque seguro que una vez que comencemos, veremos que son necesarias algunas marcas, entradas o por el contrario nos sobra alguna.


Tabla 1.1: Tabla de símbolos

miércoles, 10 de julio de 2013

TÚNEL DE LAVADO

Mientras estoy con Robótica, en los descansos, me ha dado por repasar la programación con STEP 7 por eso de no olvidar lo aprendido y me he encontrado que han cambiado un ejercicio obligatorio para entregar, y aunque yo ya terminé ese módulo a ratos he programado un túnel de lavado según las especificaciones que nos piden. Puede que presente fallos, si es así o simplemente hay algo que no se entienda no dudéis en comentarlo, nunca es tarde para aprender algo nuevo.


El enunciado dice: 


Se trata de programar el funcionamiento de un pequeño tren de lavado para coches. El tren de lavado será para un sólo coche, no en continuo y dispone de 5 pasos:
Antes de proceder a realizar el lavado del coche, se seleccionará el tipo de lavado, que puede ser una de estas 4 opciones:

1.                   LAVADO
ACLARADO
SECADO

2.            Opción 1 + ESPUMA
3.            Opción 1 + ENCERADO
4.            Opción 2 + ENCERADO

El coche avanzará a cada una de las posiciones y se detendrá, una vez realizada cada operación, el coche avanza al siguiente punto.

martes, 18 de junio de 2013

Pulido automático con robots

Esta vez y dado que ya estoy con robótica voy a celebrarlo con un seminario. Trata del pulido automático con robots, aunque en la primera parte hablan también sobre el sinterizado de piezas y como se aplica la robótica al acabado de moldes. Aquí dejo los enlaces.




sábado, 15 de junio de 2013

Seminario Neumática. Ahorro Energético en los Sistemas Neumáticos

Buen seminario sobre el ahorro energético en sistemas neumáticos de la empresa SMC impartido por Don José María Abal basado en cuatro pilares, motorización, sectorización, presión y calidad del aire en sistemas neumáticos. Muy recomendable.


lunes, 10 de junio de 2013

SISTEMA DE MEZCLA DE TRES COMPONENTES (TERCERA PARTE, 3/3)

3.3 PANTALLA ALARMAS
Ya que la función de Alarmas de la versión Demo de WinCC presenta problemas,  voy a describir como configurar este apartado y que cubra las necesidades requeridas.
Desde la pantalla principal accedemos mediante un botón a la pantalla de alarmas, en la que se deberían observar un registro exhaustivo de la activación y desactivación de la seta emergencia.

Creamos una pantalla a través del Graphics Designer llamada ALARMAS.pdl donde insertamos un Objeto Smart de tipo Control, seleccionando WinCC Alarm Control.
Imagen 3.3.1: Alarm Control

sábado, 8 de junio de 2013

SISTEMA DE MEZCLA DE TRES COMPONENTES (SEGUNDA PARTE, 2/3)

3. DESARROLLO DEL SISTEMA DE CONTROL EN WINCC

3.1. Configuración de Drivers y Variables
En primer lugar debemos añadir en el apartado de Administración de variables el driver que nos permita la comunicación con nuestro PLC Siemens 314 IFM. Para ello pinchamos con el botón derecho, damos a agregar nuevo driver y agregamos el SIMATIC S7 protocol Suite.

Imagen 3.1.1: Driver

Una vez agregado el driver debemos crear el enlace MPI que nos permita la comunicación. Dentro del apartado del driver que hemos creado, en MPI pinchamos con botón derecho y damos a agregar nueva conexión, le damos nombre, PLC en mi caso.

Imagen 3.1.2: Conexión PLC

Ya estamos en disposición de agregar las varibles para crear el sistema de control dentro de la conexión PLC. Para que todo quede de la forma mas ordenada posible yo he creado cuatro grupos diferentes. Los grupos se crean pinchando con el botón derecho el PLC en crear nuevo grupo. En la siguiente imagen (imagen 3.1.3)se detallan dichos grupos.

lunes, 3 de junio de 2013

SISTEMA DE MEZCLA DE TRES COMPONENTES (PRIMERA PARTE)

1. INTRODUCCIÓN
Realizaremos un sistema de mezclas (agua, cemento y grava) que debe poder realizar dos tipos de mezclas, dependiendo del tipo de mezcla que queremos obtener.


Figura 1.1: Diagrama general

En primer lugar realizamos la programación AWL en STEP7 y en segundo lugar el sistema de supervisión en winCC.

2. PROGRAMACIÓN EN STEP7
He dividido la programación AWL en 7 partes diferentes, un bloque de organización (OB1) y seis bloques de función (FC´s):

  • OB1: Bloque de organización
  • FC1: Llenado de la tolva
  • FC2: Mezcla de componentes
  • FC3: Vaciado del producto obtenido
  • FC4: Ciclo de Limpieza
  • FC5: Parada de emergencia
  • FC6: Variables WinCC
En primer lugar se presenta el listado de símbolos usados:

jueves, 21 de marzo de 2013

Ejercicios básicos

Hoy voy a publicar una serie de ejercicios muy sencillos que nos ayudaran a programar cosas mas complicadas en un futuro. Se trata de tres actividades sencillas, la primera un piloto que encienda y apague cada 2 segundos, la segunda el control simple de una puerta de garaje y por último un contador. En mi corta experiencia en este mundo me he dado cuenta que estos son ejercicios básicos, así que espero que os sirva. Vamos al lío ;)



1.- Realizar un programa que encienda y apague un piloto cada 2 segundos.




Suponiendo que tenemos un botón de marcha que inicia el proceso (E 125.0), y un botón de paro (E 125.1):

U E 125.0     // Si el botón de marcha se pulsa
UN A 124.0 //  Y la luz está apagada
L S5T#2S     // Cargamos el acumulador 2 segundos
SE T 1          // Cuenta 2 seg.
U T 1            // Cuando este termine
S A 124.0    // Enciende la luz
U A 124.0   // Si la luz está encendida
L S5T#2S    // Cargamos el acumulador, 2 seg.
SE T 2         // Cuenta 2 segundos
U T 2          // Cuenta dos segundos
R A 124.0  // Se apaga la luz
U E 125.1  // si pulso Botón de parada
R A 124.0  // Se apaga la luz



miércoles, 27 de febrero de 2013

RIEGO AUTOMÁTICO


Se plantea la disposición de un jardín el cual consta de cuatro zonas de riego.  El objetivo es que al arrancar el proceso se encienda la bomba de presión, se abra la válvula de la zona 1 y se riegue durante un minuto. Una vez pasado este minuto se ha de apagar la válvula de la zona 1, se abra la válvula de la zona 2 y se riegue durante otro minuto. De la misma manera pasará con el resto de zonas. Cuando se quiera parar el proceso bastará con pulsar el botón de paro.

Este proceso es un proceso lineal que puede ser programado en un único OB1 y cíclico, es decir, mientras no se pulse el botón de paro el riego no parará regándose de la zona 1 a la 4 ininterrumpidamente.

Para ver el funcionamiento, vemos el Grafcet asociado al proceso:




Como también se dice en el enunciado tendremos dos entradas, E124.1 para el botón de marcha y E 124.0 para el botón de paro. Tendremos 5 salidas que he asociado con 5 marcas, M0.0 para el motor y las marcas M0.1, M 0.2, M0.3, M0.4 para cada salida de las válvulas A124.1, A 124.2, A 124.3 y A124.4.
He añadido las marcas M 1.1, M 1.2, M1.3 y M 1.4 para cada uno de los temporizadores como se puede ver en la tabla de símbolos.



PROGRAMACIÓN AWL
Se programa en un único OB1:

OB1: RIEGO AUTOMÁTICO
Segm. 1: Encendido de la bomba

Para que la bomba se encienda es necesario que esté pulsado el pulsador de marcha, que no esté pulsado el de paro  que la marca M0.0 no esté activa.

U     "MARCHA"                                //Si botón de marcha pulsado
UN    "PARO"                                    //no está pulsado el botón de paro
UN    "Bomba"                                  //y no está activa la marca de encendido de la bomba
S     "Bomba"                                     //se enciende la bomba de presión de agua

Segm. 2: Riego de Zona 1
Riego de la zona 1 asegurándonos de que ninguna marca de otra zona está activa y por tanto la zona que se regará es la primera zona.

U     "MARCHA"                                //si el botón de marcha está pulsado
U     "Bomba"                                    //y la bomba está encendida
UN    "Zona 2"                                   //y no están activas la marca de riego de la zona 2
UN    "Zona 3"                                   //de la zona 3
UN    "Zona 4"                                   //y la zona 4

S     "Zona 1"                                       //Se activa la marca de riego de la zona 1
U     "Zona 1"
S     "Temporizador 1"                    //y se carga el temporizador 1 (1 minuto)

U     T      1                                            //cuando acabe de contar
R     "Temporizador 1"                   //se resetea la marca del temporizador
R     "Zona 1"                                      //se resetea la marca que indica que se está regando la zona 1
S     "Zona 2"                                      //se activa la marca de riego de la zona 2


Segm. 3: Riego de Zona 2
Una vez que concluye el riego de la zona 1, al estar activada la marca referente a esta zona comenzará el riego de la segunda zona. al finalizar se reseteará la marca de la zona 2 y se activará la marca de la zona 3.

U     "MARCHA"                                //si está pulsado el botón de marcha (*ver final documento)      
U     "Zona 2"                                     //y está activada la marca de la zona 2
UN    "PARO"                                    //y no está pulsado el botón de paro
S     "Temporizador 2"                   //se activa el temporizador 2

U     T      2                                            //cuando acabe de contar
R     "Temporizador 2"                   //resetea el temporizador
R     "Zona 2"                                      //resetea la marca de loa zona 2
S     "Zona 3"                                      //se activa la marca de la zona 3

Segm. 4: Riego de Zona 3
Una vez que concluye el riego de la zona 2, al estar activada la marca referente a esta zona comenzará el riego de la tercera zona. al finalizar se reseteará la marca de la zona 3 y se activará la marca de la zona 4.

U     "MARCHA"                                //si está pulsado el botón de marcha (*ver final documento)
U     "Zona 3"                                     //y está activada la marca de la zona 3
UN    "PARO"                                    //y no está pulsado el botón de paro
S     "Temporizador 3"                    //se activa el temporizador 3

U     T      3                                            //cuando acabe de contar
R     "Temporizador 3"                   //resetea el temporizador
R     "Zona 3"                                      //resetea la marca de loa zona 3
S     "Zona 4"                                      //se activa la marca de la zona 4





Segm. 5: Riego de la Zona 4
Una vez que concluye el riego de la zona 3, al estar activada la marca referente a esta zona comenzará el riego de la cuarta zona. Al finalizar se reseteará la marca de la zona 4 y se volverá al riego de la zona 1.

U     "MARCHA"                                //si está pulsado el botón de marcha (*ver final documento)
U     "Zona 4"                                     //y está activada la marca de la zona 4
UN    "PARO"                                    //y no está pulsado el botón de paro
S     "Temporizador 4"                    //se activa el temporizador 4

U     T      4                                            //cuando acabe de contar
R     "Temporizador 4"                   //resetea el temporizador
R     "Zona 4"                                     //resetea la marca de loa zona 4

Segm. 6: Cierre de válvulas y apagado del motor
Reseteamos todas las marcas al pulsar el botón de PARO. De esta manera evitamos dejar abiertas las válvulas y el motor en marcha. Al volver a dar al botón de marcha comenzaremos a regar por la zona 1.
Al resetear las marcas de cada zona nos aseguramos que una vez volvamos a pulsar el botón de marcha comenzaremos de nuevo el ciclo en la zona 1.

U     "PARO"                        //cuando se pulse el botón de paro
R     "Bomba"                     //apagamos la bomba (reseteo de la marca 0.0)
R     "Zona 1"                     //y se resetean todas las marcas pertenecientes a cada zona
R     "Zona 2"
R     "Zona 3"
R     "Zona 4"

Segm. 7: MARCAS

U     "Bomba"                                       //cuando se active la M0.0
=     "Bomba impulsora"                //activa la salida A 124.0

U     "Zona 1"                                       //cuando se active la M0.1
=     "Válvula Zona 1"                      //activa la salida A 124.1

U     "Zona 2"                                       //cuando se active la M0.2
=     "Válvula Zona 2"                      //activa la salida A 124.2

U     "Zona 3"                                       //cuando se active la M0.3
=     "Válvula Zona 3"                      //activa la salida A 124.3

U     "Zona 4"                                      //cuando se active la M0.4
=     "Válvula zona 4"                      //activa la salida A 124.4

U     "Temporizador 1"                   //cuando se active la M1.1
L     S5T#1M                                     //carga un minuto en ACU1
SE    T      1                                          //cuenta con retardo a la conexión

U     "Temporizador 2"                   //cuando se active la M1.2
L     S5T#1M                                      //carga un minuto en ACU1
SE    T      2                                          //cuenta con retardo a la conexión

U     "Temporizador 3"                   //cuando se active la M1.3
L     S5T#1M                                      //carga un minuto en ACU1
SE    T      3                                          //cuenta con retardo a la conexión

U     "Temporizador 4"                   //cuando se active la M1.4
L     S5T#1M                                      //carga un minuto en ACU1
SE    T      4                                          //cuenta con retardo a la conexión


*Estas tres líneas de código pueden ser eliminadas aunque me ha parecido interesante ponerlas ya que gracias a ellas se consigue que al desactivar la E124.1 (MARCHA) no se reinicien las marcas de la zona donde se encuentra regando, es decir, si por ejemplo nos encontramos en la Zona 2 y desactivamos Marcha, el proceso termina cuando termina de regar la zona 2 y si volvemos a activar el pulsador comenzará a regar por la zona 3, es decir, por donde cortamos el proceso.
De todas formas, si las eliminamos solo podremos parar el riego con el botón de PARO tal y como nos decía el enunciado.

miércoles, 23 de enero de 2013

Bienvenidos/bienhallados

Hoy es el día!! si, el día en el que comienzo a escribir, aprovechando estos días de lluvia y viento. Creo que lo mas difícil va a ser comenzar y que luego iré cogiendo carrerilla, eso espero.

Hace ya unos meses que me enrolé en un curso de autómatas programables y creo que es hora de ir plasmando lo aprendido en algún lugar y que mejor que en un blog donde poder ir compartiendo, mas o menos de forma acertada, todo lo que estoy aprendiendo sobre autómatas programables con algunos ejemplos sencillos y de una forma ordenada, o eso espero. Seguramente cometeré fallos pero, ¿quien en sus comienzos no los ha cometido?. Nadie nació con todo aprendido y ese creo es el objetivo fundamental, aprender. 


Así que, sin mas preámbulos...comencemos.

Etiquetas