Este documento describe un curso sobre sistemas de control programables y robótica para profesores de tecnología. Explica los conceptos básicos de entrada, control y salida en los sistemas de control, así como la realimentación. También describe un equipo de construcción de automatismos llamado Computing Starter Kit y un PLC llamado FlowGo que puede usarse para controlar los modelos construidos.
0 calificaciones0% encontró este documento útil (0 votos)
102 vistas51 páginas
Este documento describe un curso sobre sistemas de control programables y robótica para profesores de tecnología. Explica los conceptos básicos de entrada, control y salida en los sistemas de control, así como la realimentación. También describe un equipo de construcción de automatismos llamado Computing Starter Kit y un PLC llamado FlowGo que puede usarse para controlar los modelos construidos.
Este documento describe un curso sobre sistemas de control programables y robótica para profesores de tecnología. Explica los conceptos básicos de entrada, control y salida en los sistemas de control, así como la realimentación. También describe un equipo de construcción de automatismos llamado Computing Starter Kit y un PLC llamado FlowGo que puede usarse para controlar los modelos construidos.
Este documento describe un curso sobre sistemas de control programables y robótica para profesores de tecnología. Explica los conceptos básicos de entrada, control y salida en los sistemas de control, así como la realimentación. También describe un equipo de construcción de automatismos llamado Computing Starter Kit y un PLC llamado FlowGo que puede usarse para controlar los modelos construidos.
Descargue como PDF, TXT o lea en línea desde Scribd
Descargar como pdf o txt
Está en la página 1de 51
CURSO
SISTEMAS DE CONTROL PROGRAMABLES
Y
ROBTICA
PARA PROFESORES DE TECNOLOGA DE LA E.S.O.
Por Jos Vicente Manga Sistemas de control programables y robtica Jos Vicente Manga Enero 2006 2 LOS SISTEMAS DE CONTROL PROGRAMABLES: ENTRADA, CONTROL Y SALIDA. REALIMENTACIN.
En primer lugar debemos tener una idea, lo ms clara posible, de lo que es un sistema de control programable y cules pueden ser sus aplicaciones. Un sistema de control programable es, bsicamente, un circuito electrnico que almacena un programa informtico capaz de controlar el funcionamiento de algn dispositivo o actuador, en funcin de la informacin recibida a travs de los sensores que tenga conectados. En este sistema distinguimos tres mdulos bsicos: 1. Entrada: constituido por los sensores, que podrn ser analgicos (sondas de temperatura, de iluminacin,...) o digitales (interruptores, conmutadores, pulsadores,...), y los circuitos encargados de adaptar las seales de entrada de los sensores para que puedan ser procesadas por el mdulo de control. 2. Control: se trata del circuito electrnico que almacena el programa informtico y procesa las seales de entrada, provenientes de los sensores, para controlar el funcionamiento de los dispositivos de salida. 3. Salida: formado por circuitos capaces de conectar, desconectar o regular el funcionamiento de los dispositivos que hayan de controlarse.
Dispondramos de un control muy limitado si no pudiera modificarse el funcionamiento de los dispositivos de salida, en funcin de algunas variables, que modifiquen su valor debido al propio funcionamiento de la mquina o del proceso que deseamos controlar. Gracias a los sensores conectados al mdulo de entrada, podemos hacer que el programa evale las condiciones de funcionamiento, pudiendo tomar decisiones que modifiquen el modo de operacin de la mquina o del proceso que se controla. Podemos considerar, de forma general, que la realimentacin consiste en la toma de muestras en la salida, a travs de los dispositivos de entrada, para su evaluacin, con el fin de tomar decisiones que afectan al funcionamiento de todo el sistema. Un ejemplo muy sencillo podra ser el de un horno para cocer cermica, controlado por un sistema de control programable que dispone de una sonda de temperatura instalada dentro del horno y conectada a al mdulo de entrada, un rel conectado a al mdulo de salida y, a su vez, conectado al circuito de encendido de la resistencia calefactora del horno, y un programa capaz de hacer conmutar al rel en funcin de la temperatura detectada por la sonda y el tiempo transcurrido, de forma que se someta a la cermica a diferentes temperaturas a lo largo del tiempo de coccin.
ENTRADA (Sensores) CONTROL (Procesador y memoria) SALIDA (Actuadores) Sistemas de control programables y robtica Jos Vicente Manga Enero 2006 3 EL EQUIPO DE CONSTRUCCIN DE AUTOMATISMOS COMPUTING STARTER KIT
Contiene las piezas necesarias para construir 8 modelos de mquinas que pueden controlarse mediante un autmata programable, propuestos en el manual de instrucciones de montaje, si bien es posible montar otros modelos diferentes utilizando la imaginacin. En principio, el control de estos modelos, se sugiere en los manuales que acompaan al Kit, se consigue mediante el interfaz de Fischertechnik, sin embargo es recomendable utilizar el autmata programable FlowGo, debido a que en l, una vez almacenado el programa de control, no desaparece al cesar la alimentacin de corriente. En el cuaderno adjunto al Kit aparecen unas indicaciones que describen cmo programar los distintos modelos en base a unas tareas propuestas. Todas esas indicaciones estn dirigidas a la programacin mediante el software Llwin, pero pueden adaptarse fcilmente al software Flowol, indicado para programar el autmata programable FlowGo. En el apartado de Programacin... con Flowol se proponen otras tareas de programacin para los modelos de mquinas citados anteriormente y algunos ms incluidos en las mmicas suministradas con el programa, y se sugieren los diagramas de programacin utilizando el software Flowol. Con el fin de alargar la vida til del Kit de construccin de automatismos, recomiendo que no se use si no es estrictamente necesario, sustituyndolo por estructuras que fabriquen los propios alumnos con materiales de uso comn, motores, rels u otros componentes electrnicos convencionales. El motivo es que no es difcil que los alumnos pierdan alguna de las piezas del Kit, lo que llevara a no poder utilizarlo hasta reponer la pieza perdida. Adems, con la dotacin actual, cuando sean varios los grupos de alumnos que deban realizar los proyectos, no habr suficiente nmero de kits. No obstante, ms adelante se muestran propuestas que pueden realizarse mediante este equipo, aunque no son las nicas, pues dejando volar un poco la imaginacin es fcil encontrar nuevas posibilidades.
CONOCIMIENTO DEL PLC (Control Lgico Programable) FLOWGO.
Botn de arranque/parada Entras analgicas Puertos serie y USB Conector de alimentacin Salidas digitales LED indicador de alimentacin / funcionamiento Entradas digitales LEDs indicadores del estado de las entradas Salidas de motores LEDs indicadores del estado de las salidas Sistemas de control programables y robtica Jos Vicente Manga Enero 2006 4
Botn arranque/parada Con una pulsacin de 2 segundos cambia el modo de control desde el ordenador al modo de control del programa o viceversa. LED indicador de alimentacin/ funcionamiento Se ilumina permanentemente cuando el PLC est alimentado y el control se realiza desde el ordenador. Si el control lo realiza el programa almacenado en el PLC, este LED parpadea. Puertos Serie y USB Dispone de un puerto serie y otro USB para la conexin de datos al ordenador. Es recomendable utilizar el puerto USB. Conector de alimentacin Permite conectar el alimentador al PLC, o bien, un grupo de cuatro pilas de 1,5V en serie, en caso de no disponer de alimentador o de un enchufe de la red elctrica. La tensin de alimentacin debe ser de 6V. Entradas analgicas Hay dos y necesitan un conector de tipo Jack de 3,5mm estreo para conectar los sensores a ellas. Ms adelante veremos cmo construir sensores analgicos para este PLC. Entradas digitales Son cuatro y a ellas se pueden conectar pulsadores, interruptores o conmutadores de cualquier tipo. Los terminales que estn sobre la banda negra corresponden con el polo negativo de la corriente y estn unidos elctricamente en el interior, de modo que solo es necesaria la conexin con uno de ellos, si antes (en el modelo a controlar) hemos unido todos los polos negativos de los sensores de entrada entre ellos. LEDs indicadores del estado de las entradas El indicador de cada entrada se ilumina cuando sus dos polos estn unidos, y permanece apagado en caso contrario. En modo de prueba, podemos hacer que se enciendan y apaguen activando y desactivando las entradas desde el ordenador, a travs del programa Flowol. LEDs indicadores del estado de las salidas El indicador de cada salida se ilumina cuando en esa salida hay tensin elctrica, es decir, cuando est activada, y permanece apagado en caso contrario. Salidas digitales Son 6 y su terminal comn es el polo positivo, es decir, el que est situado sobre la banda roja en cada caso. La tensin que suministran es de 6V igual que la entregada por el alimentador del PLC. Salidas de motores Cada una de las dos salidas de motores puede entregar 6V con una polaridad o con la polaridad contraria, para hacer que los motores giren en uno o en otro sentido. Tambin es posible que entreguen una potencia inferior, si se programa uno de los 10 niveles de potencia disponibles, desde el 10% al 100% en escalones de 10 puntos, lo que hace que el motor pueda girar a distintas velocidades.
Perifricos de entrada digitales. A las entradas digitales es posible conectar cualquier dispositivo que permita conectar o desconectar los dos polos de la entrada correspondiente: interruptores, pulsadores, conmutadores, interruptores REED, interruptores de membrana, etc. Tambin es posible conectar algunos dispositivos como resistencias LDR, que permitirn que el PLC detecte como conectados los polos de la entrada si su resistencia interna desciende por debajo de 4K. Una resistencia superior a 5,5K provoca la desconexin de los polos de entrada. Los valores de resistencia entre 4K y 5,5K pueden provocar resultados ambiguos.
Sistemas de control programables y robtica Jos Vicente Manga Enero 2006 5 Construccin de sensores analgicos. Los perifricos de entrada analgicos pueden ser sensores de iluminacin, de temperatura o de rotacin. No se han suministrado sensores analgicos con el PLC FlowGo, por lo que ser necesario construirlos. Todos los sensores analgicos deben construirse sobre un conector Jack macho estreo de 3,5mm de dimetro, conectando una resistencia divisora de tensin junto con la resistencia especial sensible a la temperatura o a la luz cuando se trate de este tipo de sensores.
Sensor de iluminacin: Conectar una resistencia LDR entre los terminales B y C y una resistencia de 2K7 entre los terminales A y C.
Sensor de temperatura: Conectar una resistencia NTC de 100K entre los terminales B y C y una resistencia de 100K entre los terminales A y C.
Sensor de rotacin: Conectar los terminales exteriores de un potencimetro lineal de 10K entre los terminales A y B y conectar el terminal del cursor del potencimetro al terminal C del conector Jack.
Utilizacin de las salidas. Cada salida digital est diseada para suministrar una intensidad de corriente de 100mA, lo que supone una carga mxima para el PLC de 600mA. Las salidas de motores pueden suministrar hasta 200mA en rgimen continuo. El control de la potencia de estas salidas se realiza mediante un Modulador de Anchura de Pulsos que funciona a una frecuencia de 62Hz.
A: Terminal de masa (0V) B: Tensin de referencia (2,5V) C: Tensin de medida. Sistemas de control programables y robtica Jos Vicente Manga Enero 2006 6 PROGRAMACIN DE AUTOMATISMOS MEDIANTE DIAGRAMAS DE BLOQUES FUNCIONALES CON FLOWOL.
Antes de comenzar a programar es recomendable que configuremos el interfaz (PLC) que vamos a utilizar, que en nuestro caso ser FowGo. Para ello, hacemos clic dentro del men Control en la opcin Interfaz y ajustamos las opciones del cuadro de dilogo que aparece como se ve a la derecha. Finalmente hacemos clic sobre el botn Aceptar y Guardar.
Ahora ya podemos conectar el PLC FlowGo al ordenador (mediante un cable USB) y comprobar que funciona correctamente, pues podemos analizar el estado de las entradas y manipular las salidas desde Flowol.
Comprobacin del funcionamiento del PLC FlowGo. Tras conectar el PLC y alimentarlo, en el men Ventana hacemos clic en una de las opciones Pantalla grande o Pantalla chica, para mostrar el cuadro de control de entradas y salidas del interfaz. Debemos comprobar que opcin simular del men Interfaz no est marcada. En caso contrario, hacemos clic en ella para retirar la marca.
Mediante la opcin Pantalla grande se muestran las ventanas Sensorios y Pantalla como aparecen a la derecha, de modo que si marcamos la casilla Modo de probar y hacemos clic en alguna de las casillas correspondientes a las salidas, las activamos o desactivamos en funcin su estado previo, apareciendo la casilla correspondiente en color rojo o gris respectivamente, y debiendo encenderse o apagarse el diodo LED correspondiente en el PLC. En el caso de los motores, dependiendo de si hacemos clic con el botn izquierdo o con el derecho del ratn, obtenemos la conexin o desconexin de la salida correspondiente con una u otra polaridad, lo que dara lugar a que el motor conectado a ella girara en uno o en otro sentido. Tambin podemos ajustar la potencia que se entrega en cada salida de motores arrastrando el deslizador asociado a cada una, lo que debera hacer que el motor girara ms o menos rpidamente. Sistemas de control programables y robtica Jos Vicente Manga Enero 2006 7 Las casillas de entrada con los nmeros 1 a 4 corresponden a las entradas digitales y, a travs de ellas, podemos comprobar su estado, pues aparecern de color gris cuando estn desactivadas y de color rojo en caso contrario. La ventana Sensorios contiene las casillas correspondientes a las entradas analgicas y desde ella se puede ajustar el tipo de sonda que se est utilizando. Haciendo clic en los botones que contienen un tringulo negro se muestra el men de seleccin. Por defecto est seleccionada la opcin porcentaje, pero si vamos a utilizar una sonda de temperatura, elegiremos la opcin Temperatura para poder programar en funcin de los grados centgrados medidos por la sonda. A continuacin se muestra un ejemplo de cmo aparecen las casillas correspondientes a las entradas analgicas en funcin del tipo de sonda elegido. Haciendo clic en el botoncito situado entre las casillas de valor y de unidades se muestran los niveles mximo y mnimo en cada caso: Temperatura: desde 10C hasta 110C. ngulo: desde 0 hasta 360. Posicin: desde 0 hasta 100% Luz: desde 0 hasta 100%. Voltaje: desde 0V hasta 2,5V
Las casillas que contienen un texto con el fondo blanco permiten que introduzcamos en ellas un texto que identifique cada entrada o salida de forma diferente a como aparece por defecto, si bien estos textos slo aparecern en estas ventanas. Tambin es posible comprobar o monitorizar el funcionamiento del PLC desde la Pantalla chica, aunque no permite la eleccin del tipo de sonda o la modificacin de los textos asociados a cada entrada o salida. A continuacin se muestra esa ventana.
Escribiendo programas en Flowol. La escritura de programas en Flowol es muy sencilla, pues se realiza mediante diagramas de bloques funcionales, construyendo, bloque a bloque, el diagrama de flujo que ser nuestro programa de control del PLC. Existen cuatro bloques funcionales, que sern suficientes para escribir cualquier programa: Inicio o Fin de programa, Control de salidas, Proceso y Toma de decisiones. Para comenzar a escribir el programa siempre debemos situar en el rea de trabajo un bloque de Inicio. Para ello, hacemos clic en el botn y hacemos clic de nuevo en el lugar del rea de trabajo donde queramos insertar el bloque. En ese momento aparece una ventana de programacin por botones, en la parte inferior de la pantalla, para programar la funcin del bloque que acabamos de insertar.
Sistemas de control programables y robtica Jos Vicente Manga Enero 2006 8 Pulsemos el botn Inicio para programar el comienzo del programa. Si se tratara del comienzo de un subprograma, podemos escribir un nombre para l en el recuadro con el fondo blanco y hacer clic en el botn Sub. En caso de no escribir un nombre para el subprograma, Flowol le asignar el nombre SubX, donde X ser un nmero que identificar a cada subprograma de forma nica. A continuacin haremos clic sobre el botn del bloque funcional que corresponda y lo situaremos debajo del boque de Inicio, a una distancia suficiente, pues sino Flowol dar un error indicando que no puede situarse el bloque en ese lugar. Seguidamente, mediante la ventana de programacin por botones que le corresponda, le asignaremos la funcin adecuada, y as sucesivamente, hasta llegar al final de nuestro programa, donde insertaremos un bloque de Inicio programado con la funcin Alto. Una vez colocados los bloques funcionales necesarios, procederemos a enlazarles con lneas para terminar de construir el diagrama de flujo. Para ello, hacemos clic en el botn y, a continuacin, hacemos clic sobre uno de los bloques funcionales que deseamos enlazar y, seguidamente, hacemos clic sobre el otro bloque. Repetiremos el proceso hasta enlazar todos los bloques funcionales, momento en que habremos terminado nuestro programa. Cuando debamos enlazar un bloque funcional de toma de decisiones con otros bloques, lo haremos mediante los botones y , pues el flujo del programa tomar una direccin u otra en funcin de que la respuesta a la pregunta programada en el bloque de toma de decisiones sea afirmativa o no.
Trabajando con subprogramas. Cuando necesitemos repetir, varias veces, un mismo fragmento del diagrama de flujo, a lo largo del programa, podemos escribir ese fragmento de forma separada, una sola vez, y llamarlo desde el programa principal cuando sea necesario. Habremos creado as un subprograma. Esto nos permite simplificar la programacin. Todo subprograma comienza con un bloque de Inicio de Subprograma (Sub) y finaliza con un bloque de Fin de programa (Alto). Podemos llamar al subprograma desde el programa principal mediante el bloque funcional Proceso, haciendo clic en el botn Sub de la ventana de programacin por botones correspondiente, y eligiendo el subprograma al que deseamos acceder. A continuacin podemos hacer clic en Aceptar directamente o bien, introducir el nmero de veces que se ejecutar el subprograma en ese momento de la ejecucin del programa principal. En caso de no especificar el nmero de veces que se ejecutar, el subprograma funcionar una vez, antes de devolver el control al programa principal. Un ltimo detalle a tener en cuenta es que debe escribirse el diagrama del subprograma, antes de escribir el diagrama del programa principal, pues de lo contrario, no podremos programar la llamada al subprograma cuando sea necesario.
Editando el diagrama de flujo. Al hacer clic en el botn entramos en el modo de edicin. En este modo, cuando hacemos clic sobre un bloque del diagrama o sobre una lnea, seleccionamos ese elemento y podemos borrarlo, haciendo clic en el botn . Al mismo tiempo que seleccionamos un bloque funcional, se muestra la ventana de programacin por botones, de manera que podemos borrar la funcin programada en el bloque y componer una nueva funcin. Si al hacer clic en un bloque funcional del diagrama, no soltamos el botn del ratn, podemos arrastrarlo a una nueva posicin.
Sistemas de control programables y robtica Jos Vicente Manga Enero 2006 9 PROPUESTAS PARA EL TRABAJO CON LOS ALUMNOS UTILIZANDO FLOWGO Y FLOWOL.
Una posibilidad consiste en utilizar las mmicas (simulaciones de mecanismos) suministradas junto con el programa Flowol, realizadas sobre modelos realizables mediante el conjunto de montaje de automatismos Computing Starter Kit. Utilizando estas mmicas solo se necesita el ordenador con el programa Flowol instalado en l para trabajar, sin embargo, considero mucho ms educativo que los alumnos utilicen el PLC y construyan algn entorno que sea preciso controlar con l.
Utilizando mmicas. En la dotacin de equipos de automatismos enviada a los centros, se incluye un disquete con las mmicas para Flowol, que deben instalarse tras instalar el programa, si deseamos utilizarlas. Son doce los archivos de simulacin:
BRIDLIGH: Simula un puente estrecho cuyo trfico est regulado por un semforo en cada extremo.
F_ARM: Se trata de la simulacin de un brazo robot giratorio que realiza soldaduras.
F_BARR: Es una simulacin de la entrada de un aparcamiento controlada por una barrera.
F_DOOR: Simula el control automtico de una puerta corredera.
F_DRIER: Representa el funcionamiento de un secador de manos automtico.
F_DRIER2: Similar a la anterior, pero con un indicador luminoso de funcionamiento.
F_FAN: En este caso se simula el funcionamiento de un calefactor de aire caliente, donde una bombilla simula la resistencia calefactora y una resistencia NTC es el sensor de temperatura.
F_LIGHTS: Simulacin de un semforo que realiza un ciclo de cambios a partir de la activacin de un pulsador.
F_MOTOR: Simula el control del funcionamiento de un motor por conteo de pasos.
F_STAMP: Representa el funcionamiento de una mquina estampadora.
LIGHTHO: Simula un paisaje marino con un faro que funciona cuando es de noche, emitiendo destellos y haciendo sonar la bocina.
ZEBRA: Permite simular la conexin o desconexin de la iluminacin de sealizacin y alumbrado de un paso de cebra. Sistemas de control programables y robtica Jos Vicente Manga Enero 2006 10
Control del trfico de un puente estrecho.
Propuesta de trabajo: Se necesita controlar el trfico de un puente estrecho mediante semforos colocados en sus extremos, de forma que se permita el paso de vehculos en cada sentido durante un minuto. Los semforos deben permanecer en mbar durante 10 segundos antes de cambiar a rojo. Utiliza las salidas 1, 2 y 3 para controlar las luces verde, mbar y roja respectivamente, de uno de los semforos, y las salidas 4, 5 y 6 para las luces verde, mbar y roja del otro.
Opciones adicionales: Una variante de esta propuesta consiste en hacer que no se desconecte la luz verde mientras est encendida la luz mbar de los semforos y, por otro lado, pueden establecerse ciclos de funcionamiento diferentes para cada semforo, de forma que se permita la circulacin en un sentido durante ms tiempo que en sentido contrario. Programa de control: Inicio Activar salida 1,6 desact 3,5 Tardar 50 Activar salida 2 desactivar 1 Tardar 10 Activar salida 3,4 desact 2,6 Tardar 50 Activar salida 5 desactivar 4 Tardar 10
Sistemas de control programables y robtica Jos Vicente Manga Enero 2006 11
Brazo robot de soldadura.
Propuesta de trabajo: Debemos programar el funcionamiento de un brazo robot giratorio, para que realice una soldadura por puntos, de manera que de 3 puntos de 0,3 segundos de duracin y espaciados un segundo uno de otro. El brazo se situar en la posicin de soldadura tras la activacin de un pulsador y comenzar el ciclo de soldadura a continuacin, regresando a la posicin de partida al finalizar el ciclo. La situacin del brazo en ambas posiciones ser detectada por dos finales de carrera. Utiliza la entrada 2 para detectar la posicin inicial del brazo y la entrada 1 para detectar la posicin de soldadura. La entrada 8 debe poner en marcha el robot. El motor A girar hacia atrs para ir a la posicin de soldadura y hacia adelante para regresar a la posicin inicial.
Opciones adicionales: Puede aadirse la comprobacin de que el brazo est situado en la posicin de partida antes de comenzar el desplazamiento a la posicin de soldadura.
Nota: Para poder usar esta mmica es necesario seleccionar No interfaz mediante la opcin Interfaz del men Control. En el caso de construir realmente este modelo, debe sustituirse la entrada 8 por la entrada 3 o la entrada 4, pues el PLC FlowGo solo dispone de 4 entradas digitales. Programa de control: Inicio Est activada ent 8? Activar Motor a atrs Est activada ent 1? Desactivar Motor a Sub 1(Soldar) Tardar 1 Activar salida 2 Tardar 0.3 Desactivar salida 2 Alto Sub 1(Soldar) x 3 Activar Motor a adel Est activada ent 2? Desactivar Motor a SI SI SI NO NO NO
Sistemas de control programables y robtica Jos Vicente Manga Enero 2006 12 Control de acceso con barrera.
Propuesta de trabajo: Debemos programar el acceso a un aparcamiento mediante una barrera automtica, que debe elevarse al activar un pulsador y no debe bajar hasta que una barrera luminosa detecte que el vehculo ha entrado. Al lado de la entrada se colocar un semforo con luces verde y roja, que debe permanecer en verde desde que se levanta totalmente la barrera, hasta que la barrera comienza a bajar. El resto del tiempo estar rojo. El pulsador de entrada se conecta a la entrada 3, el final de carrera que detecta que la barrera ha bajado se conecta a la entrada 1, el final de carrera que detecta que la barrera est levantada se conecta a la entrada 2, la entrada 4 detecta si est interrumpida o no la barrera luminosa. La salida 4 enciende la barrera luminosa y la salida de motor A debe activar el giro adelante para subir la barrera y el giro hacia atrs para bajarla.
Opciones adicionales: Si un vehculo va a salir del garage debe disponer de un pulsador en el interior para elevar la barrera. Por otro lado, puede complicarse el programa haciendo que la barrera no se eleve cuando un vehculo quiera entrar y no queden plazas libres, indicando esta situacin mediante el parpadeo de la luz roja hasta que quede alguna plaza libre. Otra posibilidad sera hacer que la luz verde del semforo parpadeara durante 10 segundos antes de comenzar a bajar la barrera, para avisar a los posibles usuarios. Programa de control: Inicio Sub 1(Bajar b) Sub 2(Subir b) Est activada ent 1? Activar Motor a atrs Desactivar Motor a Alto Est activada ent 2? Activar Motor a adel Desactivar Motor a Alto Sub 1(Bajar b) Est activada ent 3? Sub 2(Subir b) Tardar 10 Est activada ent 4? Activar salida 3 desactivar 2 Activar salida 2 desactivar 3 Activar salida 2,4 desact 3 NO NO NO NO SI SI SI SI
Sistemas de control programables y robtica Jos Vicente Manga Enero 2006 13
Puerta corredera automtica.
Propuesta de trabajo: Necesitamos automatizar la apertura y el cierre de una puerta corredera, de forma que sea necesario activar un pulsador para abrir la puerta, pero que la puerta se cierre automticamente, una vez detectado el paso de la persona mediante una barrera luminosa. El pulsador de apertura se conecta a la entrada 3, el final de carrera que detecta que la puerta est abierta se conecta a la entrada 2, el final de carrera que detecta que la puerta est cerrada se conecta a la entrada 1, la entrada 4 detecta si est interrumpida o no la barrera luminosa. La salida 4 enciende la barrera luminosa y la salida de motor A debe activar el giro hacia adelante para abrir la puerta y el giro hacia atrs para cerrarla.
Opciones adicionales: Si la puerta est cerrndose y se detecta el paso de otra persona, debe interrumpirse el cierre y abrirse de nuevo totalmente, para cerrarse una vez haya pasado la persona. Tambin puede introducirse un retardo de seguridad en el cierre de la puerta, con el fin de asegurar que se hayan separado del umbral las personas que han atravesado la puerta, antes de comenzar a cerrarla. Programa de control: Inicio Sub 1(Abrir) Activar Motor a adel Est activada ent 2? Desactivar Motor a Alto Est activada ent 3? Sub 1(Abrir) Est activada ent 4? Est desactiva ent 4? Sub 2(Cerrar) Sub 2(Cerrar) Activar Motor a atrs Est activada ent 1? Desactivar Motor a Alto Activar salida 2 SI NO SI NO NO SI SI NO SI NO
Sistemas de control programables y robtica Jos Vicente Manga Enero 2006 14
Secador de manos.
Propuesta de trabajo: Se trata de un secador de manos que debe ponerse en marcha al acercar las manos a l. Para ello, el ventilador debe conectarse cuando se interrumpa la barrera luminosa colocada ante l y desconectarse al dejar de interrumpir la barrera luminosa. La salida 2 enciende la luz de la barrera luminosa, la entrada 1 recibe la luz de la barrera y el motor A hacer girar al ventilador.
Opciones adicionales: Podramos introducir un retardo en la desconexin, de forma que si al mover las manos ante el ventilador, durante su secado, dejamos de interrumpir la barrera luminosa durante un instante, el ventilador no se detenga. Otra versin consiste en aadir un piloto luminoso, conectado a la salida 3, que estara encendido cuando el ventilador est parado y parpadeando cuando el ventilador funcione.
Programa de control: Inicio Activar salida 2 Est activada ent 1? Activar Motor a adel Desactivar Motor a SI NO
Sistemas de control programables y robtica Jos Vicente Manga Enero 2006 15
Calefactor de aire caliente.
Propuesta de trabajo: Debemos disear el control de un calefactor de aire caliente, de forma que se conecte el ventilador automticamente cuando la temperatura sea inferior a un valor prefijado, y se desconecte cuando se alcance ese valor. La sonda de temperatura estar conectada a la entrada analgica 1, la resistencia calefactora se conectar a la salida 2 y el ventilador estar controlado por la salida de motor A.
Opciones adicionales: Puede aadirse un pulsador, conectado, por ejemplo, a la entrada 1, que permita variar la velocidad del ventilador por pasos, cclicamente, de forma que podamos elegir tres velocidades de giro diferentes mediante pulsaciones sucesivas. Programa de control: Inicio Es Val 1 < 20? Activar Motor a adel Desactivar Motor a Activar salida 2 Desactivar salida 2 SI NO
Sistemas de control programables y robtica Jos Vicente Manga Enero 2006 16
Semforo.
Propuesta de trabajo: Se trata de programar el funcionamiento de un semforo para el control del paso de vehculos a travs de un paso de peatones, donde se permite el paso de vehculos de forma continua, excepto cuando un peatn va a cruzar. Antes de cruzar, el peatn debe activar un pulsador para que el semforo cambie e impida el paso de vehculos tras 30 segundos de espera, y volver a permitir el paso de vehculos un minuto despus de haberlo interrumpido. Este sistema dispone de un interruptor que, al conectarse, desactiva todo el sistema, haciendo que se apaguen todas las luces del semforo. El interruptor se conecta a la entrada 2 y el pulsador a la entrada 1. La luz verde del semforo se conecta a la salida 3, la mbar a la salida 2 y la roja a la salida 1.
Opciones adicionales: Una alternativa consiste en modificar la programacin para que el semforo funcione de forma automtica, bloqueando y permitiendo el paso de vehculos cclicamente, en una de las posiciones del interruptor, y slo impida la circulacin de vehculos en funcin del pulsador en la otra posicin del interruptor. Estos dos modos de funcionamiento podran coincidir con el da y la noche, respectivamente. Programa de control: Inicio Est activada ent 2? Activar salida 3 desact 1,2 Est activada ent 1? Tardar 20 Activar salida 2 desact 1,3 Tardar 10 Activar salida 1 desact 2,3 Tardar 60 Desactivar salida 1,2,3 SI NO SI NO
Sistemas de control programables y robtica Jos Vicente Manga Enero 2006 17
Control de un motor por pasos.
Propuesta de trabajo: Debemos programar el motor de una grapadora automtica, de forma que slo se ponga en marcha cuando se activen dos pulsadores alejados entre s, lo que forzar a utilizar ambas manos, mantenindolas as alejadas del rea de trabajo de la mquina. Adems el motor debe girar hasta que la corredera que presiona las grapas alcance la posicin adecuada, que en este caso detectaremos mediante un pulsador conectado al eje del motor que se activar cuatro veces en cada giro. El pin de la corredera debe girar una vuelta y, a continuacin retroceder a la posicin de partida. Los pulsadores de puesta en marcha se conectarn a las entradas 1 y 2, el pulsador de conteo de pasos se conecta a la entrada 3 y almacenamos el conteo en la variable n. El motor A gira hacia delante para presionar la grapa y hacia atrs para recuperar la posicin inicial.
Nota: Para poder usar esta mmica es necesario seleccionar No interfaz mediante la opcin Interfaz del men Control. En el caso de construir realmente este modelo, debe sustituirse la variable n por la variable x o la variable y, pues el PLC FlowGo solo puede trabajar con estas dos variables. Programa de control: Inicio Est activada ent 1? Est activada ent 2? Activar Motor a adel Est activada ent 3? Est desactiva ent 3? Fijar n = n - 1 Es n = 0? Sub 1(contar) Alto Sub 1(contar) Activar Motor a atrs Sub 1(contar) Desactivar Motor a Fijar n = 4 SI SI NO NO SI SI NO NO SI NO
Sistemas de control programables y robtica Jos Vicente Manga Enero 2006 18
Mquina estampadora.
Propuesta de trabajo: Se propone controlar el funcionamiento de una mquina estampadora de manera que realice la estampacin presionando cinco veces el material contra la matriz. La mquina no se pondr en marcha hasta que no se activen dos pulsadores alejados entre s, como elemento de seguridad, para evitar que el operario tenga las manos prximas al rea de trabajo de la mquina. Adems dispondr de una barrera luminosa delante del rea de trabajo, que provocar la detencin de la mquina si el operario se acerca mientras la mquina est trabajando. Los pulsadores de puesta en marcha se conectarn a las entradas 3 y 4, el pulsador de conteo de los ciclos de estampacin se conecta a la entrada 1 y almacenamos el conteo en la variable n. La salida 2 enciende la luz de la barrera luminosa de seguridad y la entrada 2 detecta si la barrera se interrumpe o no. El motor A gira para desplazar la corredera de la matriz de estampacin.
Nota: Para poder usar esta mmica es necesario seleccionar No interfaz mediante la opcin Interfaz del men Control. En el caso de construir realmente este modelo, debe sustituirse la variable n por la variable x o la variable y, pues el PLC FlowGo solo puede trabajar con estas dos variables. Programa de control: Inicio Sub 1(Estampa) Fijar n = 5 Est activada ent 1? Est desactiva ent 1? Fijar n = n - 1 Es n = 0? Alto Est activada ent 3? Est activada ent 4? Activar salida 2 Activar Motor a adel Sub 1(Estampa) Desactivar Motor a Desactivar salida 2 Inicio Es n > 0? Est desactiva ent 2? Pralo Todo SI SI NO NO SI SI SI NO NO SI SI NO NO NO
Sistemas de control programables y robtica Jos Vicente Manga Enero 2006 19
Faro martimo.
Propuesta de trabajo: Debemos programar el funcionamiento de un faro martimo de forma que emita un destello cada 5 segundos, con un segundo de duracin cuando sea de noche y, adems, cada minuto debe hacer sonar la bocina durante 5 segundos cuando sea de da. La iluminacin del interior del faro debe encenderse automticamente al oscurecer y apagarse al amanecer. La sonda de iluminacin estar conectada a la entrada 1, la salida 1 conectar el foco del faro, la salida 2 controlar el funcionamiento de la bocina y la salida 3 se usar para conectar y desconectar la iluminacin del interior del faro.
Opciones adicionales: Una alternativa puede ser que el faro slo emita destellos de noche, haciendo sonar la bocina de da. Programa de control: Inicio Est activada ent 1? Activar salida 1 desactivar 3 Tardar 1 Desactivar salida 1 Tardar 5 Fijar x = 1 Tardar 5 Fijar x = 0 Activar salida 1 desactivar 3 Tardar 1 Desactivar salida 1 Inicio Es x = 1? Tardar 55 Activar salida 2 Tardar 5 Desactivar salida 2 SI NO SI NO
Sistemas de control programables y robtica Jos Vicente Manga Enero 2006 20 Paso de cebra.
Propuesta de trabajo: Se trata de hacer que la sealizacin luminosa de un paso de cebra se active intermitentemente. La salida 1 ser la encargada de conectar y desconectar todas las lmparas.
Opciones adicionales: En lugar de utilizar un ciclo de trabajo donde el tiempo que permanecen encendidas las lmparas sea igual al que permanecen apagadas, podra programarse un ciclo de trabajo en el que, cada vez, ocurrieran varias intermitencias rpidas seguidas de una intermitencia ms larga. Programa de control: Inicio Activar salida 1 Tardar 1 Desactivar salida 1 Tardar 1
Utilizando propuestas que los alumnos deban construir. Todos los modelos descritos anteriormente pueden plantearse como propuestas para que los alumnos construyan el modelo, bien mediante el equipo de montaje de automatismos Computing Starter Kit o bien construyendo enteramente los modelos a programar, a partir de madera, metales..., lo que creo ms educativo, aunque requiera ms tiempo. No obstante pueden plantearse muchas otras propuestas fciles de llevar a cabo por los alumnos sin necesidad de utilizar el equipo Computing Starter Kit, en el libro de FlowGo hay algunas y en el manual de Flowol, an ms. A continuacin os sugiero otras: Control del trfico, mediante semforos, en un cruce de dos calles con sentido nico de circulacin, utilizando diodos LED para realizar los semforos, con resistencias limitadoras adecuadas conectadas en serie. En este caso puede ser necesario utilizar todas las salidas digitales del PLC y las salidas de motores, con el fin de poder controlar los semforos de vehculos y los de un posible paso de peatones. Control del trfico, mediante semforos, en un cruce de dos calles con doble sentido de circulacin. En este caso puede ser necesario utilizar todas las salidas digitales del PLC y las salidas de motores. Control automtico de la iluminacin de las farolas de una calle, de forma que se iluminen al hacerse de noche y se apaguen al cabo de un tiempo programado. Sistemas de control programables y robtica Jos Vicente Manga Enero 2006 21 EL PLC DE FISCHERTECHNIK: FUNCIONAMIENTO, ENTRADAS Y SALIDAS.
El Intelligent Interface de Fischertechnik es un autmata programable de caractersticas similares a FlowGo, pero con algunas diferencias importantes: - No mantiene los programas almacenados en la memoria si falla la alimentacin. - Slo dispone de 4 salidas, aunque todas ellas pueden controlar motores totalmente. - Slo es conectable al ordenador mediante el puerto serie RS 232. - Dispone de 8 entradas digitales y 2 entradas analgicas.
1. Conector de alimentacin para una corriente continua de 9V. Al utilizar este conector se desconecta el circuito de los terminales de alimentacin por batera. 2. Terminales de alimentacin por batera. 3. LED rojo indicador de que hay tensin de alimentacin. 4. Conector serie RS232 para la transmisin de datos desde y hacia el ordenador. 5. Salidas M1 a M4, con capacidad para conectar motores, lmparas o electroimanes (rels, por ejemplo). Cada salida puede suministrar de forma permanente una intensidad de 250mA. La intensidad de salida est limitada por un limitador de 1 resistente a cortocircuitos. 6. Entradas digitales E1 a E8 a las que puede conectarse cualquier tipo de dispositivo que conecte o desconecte los dos polos de la entrada correspondiente, como interruptores, pulsadores, conmutadores, etc. 7. Entradas analgicas EX y EY con capacidad para conectar a ellas sensores realizados con resistencias LDR, NTC y potencimetros. Estn diseadas para realizar medidas entre 0 y 5K. La resistencia conectada a ellas se convierte en un valor numrico entre 0 y 1024, y tienen una velocidad de exploracin de 20ms. Puede ocurrir un error de medida entorno al 2%. 8. Regleta interna a la que puede conectarse un mdulo de ampliacin para duplicar el nmero de entradas y salidas digitales.
- + Sistemas de control programables y robtica Jos Vicente Manga Enero 2006 22 PROGRAMACIN DE ROBOTS MEDIANTE DIAGRAMAS DE BLOQUES FUNCIONALES CON LLWIN.
La programacin con el software LLWin es similar a la programacin con Flowol, ya que ambos utilizan diagramas de bloques funcionales. Sin embargo, LLWin es un entorno ms complejo, y a la vez ms potente, pues incluye ms bloques funcionales, lo que da mayor facilidad a la programacin. En cuanto al entorno del programa, inicialmente puede ser algo ms engorroso de utilizar que Flowol, por lo que es muy recomendable que se utilice despus de haber programado con Flowol, pues as, no todo ser nuevo para los alumnos y les costar menos aprender su manejo.
Construyendo el programa principal Debemos asegurarnos de haber pulsado el botn en la barra de herramientas de LLWin. Seguidamente ya podemos ir arrastrando bloques funcionales desde la ventana de bloques funcionales hasta el rea de trabajo.
Construyendo subprogramas Para construir un subprograma en LLWin procederemos de forma similar a cuando construimos el programa principal, pero asegurndonos de haber pulsado el botn en la barra de herramientas de LLWin y haber introducido un nombre para l, en el cuadro de dilogo que se habr mostrado. El diagrama de todo subprograma debe comenzar con el bloque funcional de Inicio de subprograma y finalizar con el bloque funcional de Fin de subprograma. Una vez escrito el subprograma es necesario ponerle conectores antes de poder utilizarlo desde el programa principal. Para ello, pulsamos el botn en la barra de herramientas de LLWin y arrastramos los circulitos marcados con Entr.1 y Sal.1 desde el margen izquierdo hasta colocarlos sobre dos de las rayitas que aparecen en torno al rectngulo que representa al subprograma que hemos realizado. Cuando hayamos terminado pulsamos el botn para ir al programa principal, o el botn para escribir un subprograma nuevo o editar uno ya existente.
Bloques funcionales disponibles en LLWin
Salida Permite el control de las salidas M1 a M4.
Entrada Permite la exploracin de los sensores de entrada conectados a las entradas digitales E1 a E8. El flujo del programa se bifurca en funcin del estado de las entradas. Para explorar las entradas analgicas EX y EY es necesario asignar su valor a una variable, y despus, evaluar el contenido de esa variable mediante una comparacin.
Arranque Pone en marcha el programa que hayamos escrito.
Fin Detiene el programa o subprograma en el que sen encuentre, al llegar su ejecucin al punto en que se encuentre. Sistemas de control programables y robtica Jos Vicente Manga Enero 2006 23
Parada de emergencia Detiene todos los programas que se estn ejecutando.
Comienzo de subprograma Debe colocarse al principio del diagrama de bloques de cada subprograma.
Fin de subprograma Debe colocarse al final del diagrama de cada subprograma.
Reset Lleva la ejecucin de todos los programas al bloque de arranque y desconecta todas las salidas. Slo puede haber un bloque de Reset en un proyecto de LLWin.
Terminal Sirve para indicar e introducir valores al programa durante el modo de funcionamiento On-Line (estando el PLC conectado al ordenador).
Display Sirve para visualizar el contenido de una variable o de una entrada analgica en uno de los displays del bloque terminal.
Mensaje Muestra un texto de una longitud mxima de 17 caracteres en el campo de texto del bloque funcional terminal.
Mostrar valores Permite mostrar, cuando se trabaja en modo On-Line, el contenido de variables o entradas digitales o analgicas durante el funcionamiento del programa. Este bloque se inserta sin conectar con ningn otro bloque del programa.
Variable +/- Permite incrementar o decrementar en una unidad el contenido de una variable.
Asignacin Asigna un valor a una variable. El valor puede ser una entrada del PLC, analgica o digital, un nmero, el contenido de otra variable o el resultado del clculo de una expresin.
Comparacin Mediante este bloque se evala una condicin, bifurcndose el flujo del programa en funcin de si se cumple o no.
Pitido Emite una seal sonora de la frecuencia elegida, a travs del altavoz interno del ordenador.
Esperar Introduce un retardo entre la ejecucin de dos bloques funcionales del programa.
Texto Permite introducir un texto en cualquier lugar, a modo de comentario o etiqueta informativa.
Consideraciones sobre las entradas Adems de las entradas analgicas y digitales que coinciden con las del PLC, E1 a E16, EX y EY (por si se conecta el mdulo que duplica el mdulo de entradas en el PLC), LLWin dispone de otras entradas virtuales, accesibles desde el bloque funcional Terminal que pueden utilizarse para trabajar en modo On-Line, es decir, con conexin permanente entre el PLC y el ordenador. Estas entradas son las E17 a E21 cuyo estado puede modificarse Sistemas de control programables y robtica Jos Vicente Manga Enero 2006 24 mediante interruptores virtuales, y E22 a E26 cuyo estado puede modificarse mediante pulsadores virtuales. Por otro lado, las entradas E31 a E38 representan el sentido de giro a izquierda de los motores conectados a las salidas M1 a M8, y las entradas virtuales E41 a E48 el sentido de giro a derechas de los motores conectados a las mismas salidas, de forma que cuando un motor gira a la izquierda se almacena un 1 en la entrada E3x correspondiente, estando la entrada E4x equivalente a 0. Esto permite bifurcar el flujo del programa en funcin del sentido de giro de un motor. Como ya se apunt anteriormente, el flujo del programa se bifurca en funcin del estado de las entradas. Para explorar las entradas analgicas EX y EY es necesario asignar su valor a una variable, y despus, evaluar el contenido de esa variable mediante una comparacin.
Los parmetros del bloque funcional Terminal Estos parmetros son variables a las que se les puede modificar el valor sobre la marcha, mientras se ejecuta el programa (si trabajamos en modo On-Line), desde el bloque funcional Terminal. Su uso es similar al de cualquier otra variable.
I nsertando bloques funcionales Debemos asegurarnos de que tenemos pulsado el botn en la barra de herramientas de LLWin. En la ventana de bloques funcionales hacemos clic sobre el bloque que nos interesa y los arrastramos al rea de trabajo. Al soltarlo se abre un cuadro de dilogo que nos permite programar la funcin que deber cumplir. Al final pulsamos el botn Aceptar en ese cuadro.
Uniendo bloques funcionales para formar el diagrama Si al arrastrar un bloque funcional desde la ventana de bloques funcionales, pasamos con uno de sus terminales sobre el terminal de otro bloque del rea de trabajo al que deseamos unirle, detenindonos un instante, al soltar el nuevo bloque quedar unido al anterior automticamente. En caso de no unirles as, debemos asegurarnos de tener pulsado el botn en la barra de herramientas de LLWin, y vamos haciendo clic con el puntero en forma de cruz, sucesivamente, sobre los terminales de los bloques que deseamos unir.
Borrando bloques en el diagrama Hacemos clic sobre el botn en la barra de herramientas de LLWin, y seguidamente hacemos clic sobre los bloques que deseamos eliminar.
Borrado lneas de unin entre bloques en el diagrama Hacemos clic sobre el botn en la barra de herramientas de LLWin y, seguidamente, hacemos clic sobre las lneas que deseamos eliminar.
Puesta en marcha y parada del programa Para ejecutar el programa que hayamos realizado, es necesario pulsar el botn en la barra de herramientas de LLWin. Cuando descargamos el programa en el PLC de Fischertechnik se pone en funcionamiento de forma automtica, por lo que si no deseamos que el robot comience a trabajar inmediatamente, deberemos haber programado la condicin de no avanzar en la ejecucin del diagrama de programacin hasta no activarse o desactivarse alguna entrada. Sistemas de control programables y robtica Jos Vicente Manga Enero 2006 25 PROPUESTAS DE TRABAJO CON LOS ALUMNOS UTILIZANDO LOS EQUIPOS DE ROBTICA DE FISCHERTECHNIK, SUS PLCs Y EL SOFTWARE LLWIN.
A continuacin aparecen varias propuestas de trabajo sobre robtica, con los alumnos de cuarto curso de la E.S.O. tal y como yo se las he entregado a ellos para que las desarrollen. Quiero hacer notar que an suministrndoles las propuestas con las instrucciones as de detalladas y apoyndose en el manual de montaje de cada tipo de robot de Fischertechnik, los alumnos encuentran algunas dificultades. En los discos que acompaan a los equipos de robtica estn los programas de control de los robots, realizados con el software LLWin, que pueden servir de muestra para analizar cmo se han desarrollado, pero que no recomiendo que se pongan a disposicin de los alumnos, pues no tendra mucho sentido, entonces, encomendarles los proyectos propuestos. Por ltimo, quiero llamar la atencin sobre la instalacin del software LLWin, pues por defecto instala tambin los programas de control de robots a los que me refiero en el prrafo anterior, por lo que es recomendable elegir la instalacin personalizada y quitar las marcas que provocan la instalacin de los ejemplos que acompaan a LLWin. En caso contrario, se deben borrar las carpetas que contienen los archivos de esos programas, que estarn instaladas en la carpeta PROYECTOS EN CASTELLANO, dentro de la carpeta LLWin 3.06 que, a su vez, se encontrar en la carpeta Archivos de programa del disco duro. Sistemas de control programables y robtica Jos Vicente Manga Enero 2006 26
Puerta neumtica automtica
Funcionamiento: Al empujar ligeramente la puerta, debe abrirse completamente y, una vez abierta, si se interrumpe la barrera fotoelctrica se cerrar de nuevo.
Notas previas a la programacin: Para realizar la programacin del autmata programable tendremos en cuenta que: La salida M1se conectar a la electrovlvula que debe abrir el paso de aire hacia el cilindro para que se abra la puerta. La salida M2 se conectar a la electrovlvula que debe abrir el paso de aire hacia el cilindro para que se cierre la puerta. La salida M3 ser la encargada de iluminar la lmpara de la barrera fotoelctrica. El funcionamiento del compresor se controlar a travs de la salida M4. El pulsador que acta como final de carrera para detectar que la puerta est cerrada, se conectar a la entrada E1en la posicin de contacto normalmente abierto. El fototransistor de la barrera fotoelctrica estar conectado a la entrada E2. Adems, se debe tener en cuenta que el cilindro ser manipulado por dos electrovlvulas de 3/2 vas, por lo que ser necesario que una est activada y la otra no para que el vstago del cilindro avance y viceversa para que retroceda. Cuando la puerta est cerrada, las dos electrovlvulas deben estar desactivadas. Cuando la puerta est abierta, dado que no existe un final de carrera que detecte esta posicin, la electrovlvula que permita que la puerta se abra estar activada y la otra no.
Programacin: El programa debe comportarse de la siguiente forma: 1. El compresor se pone en marcha. 2. Se conecta la lmpara de la barrera fotoelctrica. 3. Esperamos a que la presin en el compresor alcance el nivel suficiente (unos 6 s.) 4. Si la puerta est abierta, debe cerrarse. 5. No ocurre nada hasta que el contacto del final de carrera se abra. 6. Si se abre el contacto del final de carrera, la puerta debe abrirse completamente. 7. La puerta permanecer abierta hasta que se interrumpa la barrera luminosa. 8. En cuanto se interrumpa la barrera luminosa, la perta debe cerrarse y esperar a que se abra de nuevo el contacto del final de carrera.
Sistemas de control programables y robtica Jos Vicente Manga Enero 2006 27
Robot de soldadura Funcionamiento: El robot debe ser capaz de soldar, de forma automtica, la tapa de un barril mediante tres puntos de soldadura. Comenzar el ciclo de soldadura cuando se active un pulsador, lo que har que se desplace desde la posicin inicial de reposo hasta la primera posicin de soldadura, realice la soldadura, se desplace a la segunda posicin de soldadura, realice la segunda soldadura, se desplace a la tercera posicin de soldadura, realice la tercera soldadura y, finalmente, regrese a la posicin inicial .
Notas previas a la programacin: El motor M1 hace girar el cuerpo del robot y, con l, el brazo soldador. La entrada E1 detecta la posicin inicial del cuerpo del robot. La variable Z2 almacena el nmero de pasos que se haya desplazado el cuerpo del robot. Ser puesta a cero cuando el cuerpo del robot est en la posicin inicial.
El motor M2 hace que el brazo de soldadura avance o retroceda. La entrada E3 detecta la posicin inicial del brazo de soldadura cuando est retrado. La variable Z4 almacena el nmero de pasos que se haya desplazado el brazo del robot. Ser puesta a cero cuando el brazo de soldadura est en la posicin inicial.
El motor M3 hace subir o bajar el cabezal de soldadura. La entrada E5 detecta la posicin inicial del cabezal de soldadura en sentido vertical. La variable Z6 almacena el nmero de pasos que se haya desplazado el cabezal de soldadura. Ser puesta a cero cuando el cabezal est en la posicin inicial.
La salida M4 encender o apagar la lmpara que simular la chispa en el extremo del electrodo, mientras se produce la soldadura.
La entrada E2 se utilizar para contar los impulsos generados al girar el motor M1. La entrada E4 ser la utilizada para contar los impulsos generados por el motor M2. La entrada E6 permitir el contaje de los impulsos generados durante el giro de M3.
La entrada E8 permitir el inicio del ciclo de soldadura del barril.
La variable VAR1 ser utilizada para almacenar el estado en que se encuentra el proceso de soldadura. Al iniciarse el programa debe ponerse a cero. La variable VAR2 se utilizar como variable auxiliar, para el control de las lneas de programacin de los motores M2 y M3, dentro del subprograma de posicionamiento del robot.
Realizacin del programa: Deben escribirse primero las lneas de programacin de cada subprograma y, posteriormente, el programa principal. Programa principal: 1. El robot no har nada hasta que se active un pulsador (E8). Cuando se active ese pulsador se realizarn, de forma secuencial, las tres soldaduras del barril. 2. Ponemos la variable VAR1 a cero. 3. Si la variable VAR1 es igual a cero, el robot debe situarse en la posicin inicial, es decir: Sistemas de control programables y robtica Jos Vicente Manga Enero 2006 28 a. Llevamos el cabezal de soldadura a su posicin inicial (Subprograma PosInicialM3). b. Llevamos el brazo de soldadura a su posicin inicial (Subprograma PosInicialM2). c. Llevamos el cuerpo del robot a su posicin inicial (Subprograma PosInicialM1). d. Incrementamos en una unidad la variable VAR1 y volvemos al paso 3. 4. Si la variable VAR1 es igual a 1: a. el robot si sita en la primera posicin de soldadura, que correspondera con 40 pasos para el cuerpo, 112 pasos para el brazo y 82 para el cabezal, contados a partir de la posicin inicial del robot. El desplazamiento a esa posicin ser controlado por un subprograma dedicado al posicionamiento del robot. Antes de saltar a ese subprograma debemos dar los valores adecuados a las variables utilizadas como referencia de las posiciones del cuerpo, el brazo y el cabezal, que sern, respectivamente, VAR11, VAR12 y VAR13). b. Incrementamos VAR1 en una unidad y volvemos al paso 3. 5. Si VAR1=2: a. El robot realiza la primera soldadura. La realizacin de la soldadura ser controlada por un subprograma. b. Incrementamos el valor de VAR1 en una unidad y volvemos al paso 3. 6. Tras finalizar la primera soldadura, el brazo del robot debe retraerse un poco, antes de pasar a la posicin de la siguiente soldadura (si VAR1=3). Esto se hace para evitar que el brazo golpee contra el barril al cambiar la posicin del robot: a. Basta con introducir el valor adecuado para VAR12, que podr ser alrededor de 85, y saltar al subprograma de posicionamiento. b. Incrementamos VAR1 en una unidad y volvemos al paso 3. 7. Si la variable VAR1 es igual a 4: a. el robot se sita en la segunda posicin de soldadura: posicin del cuerpo (VAR11) = 46, posicin del brazo (VAR12) = 98 y posicin del cabezal (VAR13) = 84. b. Se incrementa VAR1. 8. Si VAR1=5: a. El robot realiza la segunda soldadura. Utilizaremos el mismo subprograma de la primera soldadura. b. Incrementamos de nuevo VAR1 y volvemos al paso 3. 9. Si VAR1=6: a. Retraemos el brazo del robot antes de cambiar a la tercera posicin de soldadura de la misma forma que en el paso 6. b. Volvemos a incrementar VAR1 y vamos de nuevo al paso 3. 10. Si VAR1=7: a. El robot se sita en la tercera posicin de soldadura: VAR11=53, VAR12=112 y VAR13=84. b. Se incrementa VAR1. 11. Si VAR1=8: a. Se realiza la tercera soldadura de la misma forma que las dos anteriores. b. Incrementamos VAR1 y volvemos al paso 3. 12. El robot vuelve a su posicin inicial (si VAR1=9) y espera a recibir la orden de soldar un nuevo barril.
Sistemas de control programables y robtica Jos Vicente Manga Enero 2006 29 Subprograma PosIncialM1: 1. Conectamos el motor M1 hacindole retroceder. 2. Si el final de carrera situado al comienzo del recorrido del cuerpo del robot (E1) est a cero, esperamos. En caso contrario, continuamos en el paso siguiente. 3. Desconectamos el motor M1. 4. Inicializamos el contador de pasos del desplazamiento del cuerpo del robot (Z2=0).
Los subprogramas PosInicialM2 y PosInicialM3 son iguales al anterior, sustituyendo en ellos los motores y los parmetros correspondientes por los adecuados en cada caso.
Subprograma soldadura: La lmpara instalada en el cabezal de soldadura (salida M4), se encender y apagar repetidamente durante un tiempo prefijado. Utilizaremos la variable del terminal ED para introducir el nmero que determine el tiempo que durar la soldadura, y la variable VAR4 como variable auxiliar para ir contando desde cero hasta alcanzar el valor de ED. 1. Ponemos VAR4 a cero. 2. Conectamos la lmpara. 3. Incrementamos VAR4 en una unidad. 4. Desconectamos la lmpara. 5. Comprobamos si VAR4 es igual a ED. Si ambas son iguales, finalizamos el subprograma y se devuelve el control al programa principal. Si no son iguales, volvemos al paso 2 anterior.
Subprograma posicionamiento: Este subprograma estar formado por tres lneas de programacin que se ejecutarn simultneamente, una para cada motor de posicionamiento. La lnea de programacin del motor M1 ser la situada directamente entre los conectores de comienzo y final del subprograma. Las dos lneas de programacin restantes tendrn su propio inicio y funcionarn de forma separada y simultnea, pero no comenzarn a realizar su funcin hasta que la lnea de programacin del motor M1 las de permiso (poner VAR2 a 1). A continuacin se muestra la estructura de la lnea de programacin del posicionamiento del cuerpo del robot (M1): 1. Hacemos que VAR2 sea 1, para que las lneas de programacin del posicionamiento de M2 y M3 comiencen a trabajar. 2. Esperamos un poco (menos de un segundo) y hacemos que VAR2 sea cero de nuevo. 3. Si la posicin solicitada para M1 (VAR11) es menor que la actual (Z2): a. Ponemos en marcha M1 para que avance. b. Contamos los pasos que genera E2 (a travs de Z2) hasta alcanzar el nmero solicitado (VAR11). c. Desconectamos M1. 4. Si la posicin solicitada para M1 (VAR11) es mayor que la actual (Z2): a. Ponemos en marcha M1 para que retroceda. b. Contamos los pasos que genera E2 (a travs de Z2) hasta alcanzar el nmero solicitado (VAR11). c. Desconectamos M1. 5. Si la posicin solicitada para M1 (VAR11) es igual que la actual (Z2) no se modifica la posicin del cuerpo del robot. 6. Tras la modificacin que se haya realizado al cumplirse alguna de las tres condiciones anteriores, debemos comprobar si los motores M2 y M3 siguen en marcha o, por el contrario, ya han alcanzado las nuevas posiciones. Si alguno de los dos est an en Sistemas de control programables y robtica Jos Vicente Manga Enero 2006 30 marcha, debemos esperar antes de finalizar el subprograma de posicionamiento. Si los dos estn detenidos, finalizamos el subprograma de posicionamiento, pasando el control al programa principal.
Las lneas de programacin para el control de la posicin del brazo y del cabezal son similares a la anterior, con la salvedad de que cada una tiene su propio inicio y no deben comenzar la modificacin de la posicin de los motores, hasta que VAR2 est a 1. Lgicamente, las variables utilizadas en esas lneas de programacin sern las correspondientes a los parmetros de cada motor y, una vez realizado el posicionamiento solicitado, deben volver al principio y esperar hasta que VAR2 pase de nuevo a 1. Sistemas de control programables y robtica Jos Vicente Manga Enero 2006 31 Seguidor de pistas Funcionamiento: El robot debe desplazarse a lo largo de una pista de color negro de 20mm de anchura, siguiendo las evoluciones de la misma. Si la pista desaparece bajo el robot, debido probablemente a que se ha llegado al final o se ha producido un cambio de direccin brusco, el robot debe girar sobre s mismo, comprobando si ha encontrado la pista a cada paso que se desplace, y continuar avanzando a lo largo de la pista en cuanto la localice. Si, tras haber realizado un giro de 360, no encuentra la pista, debe avanzar un poco en lnea recta y girar de nuevo y as sucesivamente hasta encontrar la pista. Para conseguir este funcionamiento, el robot incorporar una lmpara que ilumine la pista y sus alrededores, y se colocarn dos fototransistores, separados uno de otro alrededor de 1cm., que vern la luz reflejada en cada momento y harn que el funcionamiento de los motores sea el adecuado para poder seguir el trazado de la pista.
Notas previas a la programacin: Para escribir el programa que permita el funcionamiento descrito anteriormente, tendremos en cuenta que: Desde que encendemos la lmpara que ilumina la pista, hasta que los fototransistores entregan la seal adecuada, transcurre un pequeo intervalo de tiempo, por lo que habr que esperar un poco desde que se encienda la lmpara hasta que comience a funcionar el resto del programa.
Conectaremos el fototransistor derecho a la entrada E3 y el izquierdo a E4. Cuando estn sobre la pista entregarn un cero y cuando no lo estn, un 1. Conectaremos el motor derecho a la salida M1 y el izquierdo a M2. Utilizaremos la entrada E1 para detectar los pasos generados por el giro del motor M1, y la entrada E2 para detectar los pasos generados por el giro del motor M2. La lmpara que ilumina la pista se conectar a la salida M3.
Si los dos fototransistores estn sobre la pista, ambos motores deben avanzar. Si slo el fototransistor izquierdo est sobre la pista, el motor derecho debe avanzar y el izquierdo estar parado. Si slo el fototransistor derecho est sobre la pista, el motor izquierdo debe avanzar y el derecho estar parado. Si ninguno de los fototransistores est sobre la pista, debe iniciarse el proceso de bsqueda para localizar la pista de nuevo y continuar avanzado a lo largo de ella.
Utilizaremos la variable VAR1 como variable auxiliar para contar los pasos dados durante el proceso de bsqueda.
Sistemas de control programables y robtica Jos Vicente Manga Enero 2006 32 Realizacin del programa: Deben escribirse primero las lneas de programacin de cada subprograma y, posteriormente, el programa principal.
Programa principal: 1. El robot no se mover hasta que se desbloquee el pulsador conectado a la entrada E8. 2. Conectamos la lmpara que ilumina la pista (M3). 3. Esperamos un segundo antes de continuar. 4. Si el fototransistor derecho est sobre la pista: a. Si el fototransistor izquierdo est sobre la pista: i. Hacemos que avance el motor M1. ii. Hacemos avanzar al motor M2. iii. Volvemos a comprobar la posicin. b. Si el fototransistor izquierdo no est sobre la pista: i. Paramos el motor M1. ii. Hacemos que avance M2. iii. Volvemos a comprobar la posicin. 5. Si el fototransistor izquierdo est sobre la pista: a. Paramos el motor M2. b. Hacemos que avance M1. c. Volvemos a comprobar la posicin. 6. Si ninguno de los fototransistores est sobre la pista: a. Paramos los motores. b. Iniciamos la bsqueda de la pista (subprograma Bsqueda). c. Al regresar de la bsqueda, volvemos a comprobar la posicin.
Subprograma Bsqueda: 7. Hacemos avanzar al motor M1 y retroceder a M2 hasta que se genere un paso en E1 (Flanco). 8. Incrementamos VAR1 en una unidad. 9. Si la variable VAR1 indica que no se ha completado el giro de 360: a. Comprobamos si alguno de los fototransistores est sobre la pista: i. Si es as, terminamos el subprograma devolviendo el control al programa principal. ii. Si no es as, volvemos al paso 1. 10. Si la variable VAR1 indica que se ha completado el giro de 360: a. Comprobamos si alguno de los fototransistores est sobre la pista: i. Si es as, terminamos el subprograma devolviendo el control al programa principal. ii. Si no es as, hacemos que se repitan las siguientes acciones tres veces, a no ser que encontremos antes la pista: ! Hacemos avanzar ambos motores hasta detectar un paso en E1 (Flanco) ! Paramos ambos motores. ! Incrementamos VAR1. ! Comprobamos si alguno de los fototransistores est sobre la pista y si lo est salimos del subprograma y devolvemos el control al programa principal. iii. Ponemos VAR1 a cero. iv. Volvemos al paso 1.
Sistemas de control programables y robtica Jos Vicente Manga Enero 2006 33
Transporte sin conductor Funcionamiento: El robot debe desplazarse a lo largo de una pista negra. Al final de la pista recoge un palet, gira 180 y regresa a la pista. Avanza hasta que detecta el final de la pista y deposita all el palet. A continuacin vuelve a girar y trae otro palet y as sucesivamente.
Notas previas a la programacin: Para escribir el programa que permita el funcionamiento descrito anteriormente, tendremos en cuenta que: El robot debe estar parado hasta que se le coloque sobre la pista, momento en que se pondr automticamente en marcha. Cuando est sobre la pista, los dos fototransistores estarn a cero. Desde que encendemos la lmpara que ilumina la pista, hasta que los fototransistores entregan la seal adecuada, transcurre un pequeo intervalo de tiempo, por lo que habr que esperar un poco desde que se encienda la lmpara hasta que comience a funcionar el resto del programa.
Conectaremos el fototransistor derecho a la entrada E3 y el izquierdo a E4. Cuando estn sobre la pista entregarn un cero y cuando no lo estn, un 1. Conectaremos el motor de arrastre derecho a la salida M1 y el izquierdo a M2. Utilizaremos la entrada E1 para detectar los pasos generados por el giro del motor M1, y la entrada E2 para detectar los pasos generados por el giro del motor M2. La lmpara que ilumina la pista se conectar a la salida M3. La salida M4 se utilizar para controlar el motor de la horquilla elevadora. La entrada E5 se conectar al final de carrera que detecte la posicin superior de la horquilla elevadora. La entrada E6 se conectar al final de carrera que detecte la posicin inferior de la horquilla elevadora.
Si los dos fototransistores estn sobre la pista, ambos motores deben avanzar. Si slo el fototransistor izquierdo est sobre la pista, el motor derecho debe avanzar y el izquierdo estar parado. Si slo el fototransistor derecho est sobre la pista, el motor izquierdo debe avanzar y el derecho estar parado.
La variable VAR1 se utilizar para almacenar la fase en que se encuentra el robot en cada momento. Utilizaremos la variable del terminal EA para almacenar el nmero de pasos que debe avanzar el robot al final de la pista para cargar (o descargar) el palet. En la variable del terminal EB almacenaremos el nmero de pasos que debe retroceder el robot despus de haber cargado (o descargado) el palet, antes de girar para volver a la pista.
Sistemas de control programables y robtica Jos Vicente Manga Enero 2006 34 Realizacin del programa: Deben escribirse primero las lneas de programacin de cada subprograma y, posteriormente, el programa principal.
Programa principal: 1. Encendemos la lmpara que ilumina la pista y sus alrededores. 2. Esperamos un poco para que puedan reaccionar los fototransistores. 3. Si el robot est sobre la pista inicia la secuencia de operaciones: a. Si VAR1 es cero, baja la horquilla (subprograma bajar), incrementa VAR1 y vuelve a comprobar el valor de VAR1 para realizar la siguiente operacin. b. Si VAR1 es 1, recorre la pista hasta el final y se detiene all (subprograma desplazar), incrementa VAR1 y vuelve a comprobar el valor de VAR1 para realizar la siguiente operacin. c. Si VAR1 es 2, avanza los pasos programados en EA (subprograma avanzar), incrementa VAR1 y vuelve a comprobar el valor de VAR1 para realizar la siguiente operacin. d. Si VAR1 es 3, sube la horquilla (subprograma elevar), incrementa VAR1 y vuelve a comprobar el valor de VAR1 para realizar la siguiente operacin. e. Si VAR1 es 4, retrocede los pasos programados en EB (subprograma retroceder), incrementa VAR1 y vuelve a comprobar el valor de VAR1 para realizar la siguiente operacin. f. Si VAR1 es 5, gira 180 sobre s mismo y se detiene (subprograma gira), incrementa VAR1 y vuelve a comprobar el valor de VAR1 para realizar la siguiente operacin. g. Si VAR1 es 6, recorre de nuevo la pista en sentido contrario y se detiene al llegar al final (subprograma desplazar), incrementa VAR1 y vuelve a comprobar el valor de VAR1 para realizar la siguiente operacin. h. Si VAR1 es 7, avanza los pasos programados en EA (subprograma avanzar), incrementa VAR1 y vuelve a comprobar el valor de VAR1 para realizar la siguiente operacin. i. Si VAR1 es 8, baja la horquilla (subprograma bajar), incrementa VAR1 y vuelve a comprobar el valor de VAR1 para realizar la siguiente operacin. j. Si VAR1 es 9, retrocede el nmero de pasos programado en EB (subprograma retroceder), incrementa VAR1 y vuelve a comprobar el valor de VAR1 para realizar la siguiente operacin. k. Si VAR1 es 10, gira 180 sobre s mismo y se detiene (subprograma girar), incrementa VAR1 y vuelve a comprobar el valor de VAR1 para realizar la siguiente operacin. l. Si VAR1 es mayor que 10, ponemos VAR1 a cero, y volvemos a comprobar el valor de VAR1 para iniciar un nuevo ciclo de transporte.
Subprograma desplazar: 1. Si los dos fototransistores estn sobre la pista: a. Ponemos en marcha los dos motores, izquierdo y derecho, en la direccin de avance. b. Comprobamos de nuevo la posicin de los fototransistores. 2. Si slo el fototransistor derecho est sobre la pista: a. Ponemos en marcha el motor izquierdo, en la direccin de avance, y paramos el derecho. b. Comprobamos de nuevo la posicin de los fototransistores. 3. Si slo el fototransistor izquierdo est sobre la pista: a. Ponemos en marcha el motor derecho, en la direccin de avance, y paramos el izquierdo. Sistemas de control programables y robtica Jos Vicente Manga Enero 2006 35 b. Comprobamos de nuevo la posicin de los fototransistores. 4. Si ninguno de los fototransistores est sobre la pista (caso de llegar al final de la pista): a. Paramos los dos motores y salimos del subprograma, devolviendo el control al programa principal.
Subprograma avanzar: 1. Ponemos en marcha los motores izquierdo y derecho, en la direccin de avance. 2. Esperamos a que se hayan generado los pasos programados en la variable del terminal EA. 3. Paramos los dos motores, ponemos a cero la variable intermedia utilizada para contar los pasos y salimos del subprograma devolviendo el control al programa principal.
Subprograma retroceder: 1. Ponemos en marcha los motores izquierdo y derecho, en la direccin de retroceso. 2. Esperamos a que se hayan generado los pasos programados en la variable del terminal EB. 3. Paramos los dos motores, ponemos a cero la variable intermedia utilizada para contar los pasos y salimos del subprograma devolviendo el control al programa principal.
Subprograma elevar: 1. Ponemos en marcha el motor de la horquilla en la direccin de elevacin. 2. Mantenemos el motor en marcha hasta que el final de carrera correspondiente se active. 3. Paramos el motor de la horquilla y salimos del subprograma, devolviendo el control al programa principal.
Subprograma bajar: 1. Ponemos en marcha el motor de la horquilla en la direccin de descenso. 2. Mantenemos el motor en marcha hasta que el final de carrera correspondiente se active. 3. Paramos el motor de la horquilla y salimos del subprograma, devolviendo el control al programa principal.
Subprograma girar: 1. Ponemos en marcha los motores izquierdo y derecho, uno en cada direccin. 2. Comprobamos la posicin de los fototransistores 3. Si ambos fototransistores estn sobre la pista: a. Paramos ambos motores y salimos del subprograma, devolviendo el control al programa principal. 4. Si no estn ambos fototransistores sobre la pista: a. Dejamos que siga el giro y seguimos comprobando la posicin de los fototransitores.
Sistemas de control programables y robtica Jos Vicente Manga Enero 2006 36 Robot de columna Funcionamiento: El robot, partiendo de su posicin inicial (cuerpo girado totalmente a la izquierda, brazo totalmente retrado y elevado, y pinza abierta), coge un barril de la posicin 1 y lo coloca en la posicin 2. A continuacin, recoge un segundo barril de la posicin 3 y lo apila encima del primer barril (posicin 4). Seguidamente, vuelve a la posicin inicial y, desde all, devuelve los barriles a sus posiciones originales.
Notas previas a la programacin: Para escribir el programa que permita el funcionamiento descrito anteriormente, tendremos en cuenta que: La salida M1 controlar el motor encargado del movimiento de giro del cuerpo del robot. La salida M2 controlar el motor encargado del desplazamiento del brazo en sentido horizontal. La salida M3 ser la encargada de controlar el motor que mueve el brazo en sentido vertical. La salida M4 controlar el motor que permite abrir y cerrar la pinza. A la entrada E1 debe conectase el final de carrera que detecte la posicin inicial del cuerpo. A la entrada E3 debe conectarse el final de carrera que detecte la posicin inicial del brazo en sentido horizontal. A la entrada E5 debe conectarse el final de carrera que detecte la posicin inicial del brazo en sentido vertical. A la entrada E7 debe conectarse el final de carrera que detecte la posicin de total apertura de la pinza. Al final del desplazamiento que pueda producirse en cada parte del robot no se colocarn finales de carrera capaces de advertir de la llegada a esa posicin, por lo que habr que programar los movimientos por pasos contados a partir de la posicin inicial, o bien, contados a partir de posiciones conocidas ocupadas en un momento anterior, que puedan servir de referencia. El pulsador encargado de detectar la generacin de pasos durante el desplazamiento del cuerpo, se conectar a la entrada E2. El pulsador encargado de detectar la generacin de pasos durante el desplazamiento del brazo en sentido horizontal, se conectar a la entrada E4. El pulsador utilizado para detectar la generacin de pasos durante el desplazamiento del brazo en sentido vertical, se conectar a la entrada E6. El pulsador utilizado para detectar la generacin de pasos durante el movimiento de cierre de la pinza, se conectar a la entrada E8. Para el contaje de los pasos generados en el desplazamiento de cada motor, se utilizar la variable auxiliar Z seguida del nmero que corresponda a la variable utilizada en la deteccin de los pulsos correspondientes a cada motor (Z2, Z4, Z6 y Z8). La variable VAR1 ser la encargada de almacenar el nmero de la operacin que se est realizando en cada momento. La variable VAR11 contendr el nmero de pasos que debe avanzar o retroceder el motor M1 en cada desplazamiento. La variable VAR12 almacenar el nmero de pasos que debe avanzar o retroceder el motor M2 en cada momento. En la variable VAR13 introduciremos el nmero de pasos que debe avanzar o retroceder el motor M3 en cada desplazamiento. La variable del terminal EA almacenar el nmero de pasos que debe avanzar el motor M4 para cerrar la pinza. Sistemas de control programables y robtica Jos Vicente Manga Enero 2006 37 El robot debe realizar las siguientes operaciones, de forma secuencial: Al comenzar el programa, el robot espera unos segundos inmvil y, despus, se sita en su posicin inicial (cuerpo totalmente girado hacia la izquierda, brazo totalmente retrado y elevado, y pinza completamente abierta). A continuacin, se desplaza hasta dejar situada la pinza en torno al primer barril. Seguidamente cierra la pinza y el brazo se eleva totalmente antes de desplazarse hacia la posicin de destino del barril. Se desplaza a la posicin de destino del barril, abre la pinza y vuelve a elevar el brazo totalmente. Ahora avanzar hasta que la pinza se site en torno al segundo barril y la cerrar para cogerlo. Seguidamente elevar el brazo totalmente y se desplazar a la posicin adecuada para colocar el segundo barril sobre el primero. Abrir la pinza totalmente, elevar el brazo y volver a la posicin inicial. En esta posicin esperar unos segundos y, a continuacin se desplazar a la posicin en la que deposit el segundo barril, cerrar la pinza en torno a l, elevar el brazo totalmente y se desplazar a la posicin en la que estaba ese barril en el primer momento, dejndole all. Seguidamente, elevar el brazo totalmente y se desplazar a la posicin en la que se encuentra el otro barril, cerrar la pinza en torno a l, elevar el brazo totalmente y se desplazar a la posicin que ocupaba el barril al principio. A continuacin, soltar el barril, elevar el brazo totalmente y regresar a la posicin inicial, donde esperar unos segundos e iniciar de nuevo el ciclo de trabajo completo.
Realizacin del programa: Deben escribirse primero las lneas de programacin de cada subprograma y, posteriormente, el programa principal. Adems, introduciremos, a travs del terminal, el nmero de pasos para el cierre de la pinza, en la variable EA.
Programa principal: 1. Ponemos VAR1 a cero. 2. Espera unos segundos. A continuacin, interrogaremos sobre el contenido de VAR1 y haremos que el robot realice la operacin que corresponda: 3. Si VAR1=0, hacemos que el robot se site en la posicin inicial, es decir: a. Abre completamente la pinza (subprograma AbrirPinza). b. Eleva totalmente el brazo (subprograma SubeBrazo). c. Retrae completamente el brazo (subprograma RecogeBrazo). d. Gira el cuerpo totalmente a la izquierda (subprograma PosInicialM1) e. Se incrementa el contenido de la variable VAR1 y regresa para hacer una nueva comprobacin del contenido de VAR1. 4. Si VAR1=1, el robot se desplaza hasta la posicin que ocupa el primer barril: a. Introducimos en la variable VAR11 el nmero de pasos que deben generarse en el desplazamiento del cuerpo del robot. b. Introducimos en la variable VAR12 el nmero de pasos que deben generarse en el desplazamiento horizontal del brazo del robot. c. Introducimos en la variable VAR13 el nmero de pasos que deben generarse en el desplazamiento vertical del brazo del robot. d. Ponemos en marcha el subprograma Posicionar, encargado de llevar al robot a la posicin definida por el contenido de las variables VAR11, VAR12 y VAR13. e. Se incrementa el contenido de la variable VAR1 y regresa para hacer una nueva comprobacin del contenido de VAR1. 5. Si VAR1=2, el robot cerrar la pinza en torno al barril (subprograma CerrarPinza), se incrementa el contenido de la variable VAR1 y regresa para comprobar de nuevo el contenido de VAR1. Sistemas de control programables y robtica Jos Vicente Manga Enero 2006 38 6. Si VAR1=3, el robot elevar completamente el brazo (subprograma SubeBrazo), se incrementa el contenido de la variable VAR1 y regresa para comprobar de nuevo el contenido de VAR1. 7. Si VAR1=4, el robot se desplazar a la posicin en la que debe depositar el barril: a. Introducimos en la variable VAR11 el nmero de pasos que deben generarse en el desplazamiento del cuerpo del robot, contados desde la posicin inicial hasta la nueva posicin. b. Introducimos en la variable VAR12 el nmero de pasos que deben generarse en el desplazamiento horizontal del brazo del robot, contados desde la posicin inicial hasta la nueva posicin. c. Introducimos en la variable VAR13 el nmero de pasos que deben generarse en el desplazamiento vertical del brazo del robot, desde la posicin inicial hasta la nueva posicin. d. Ponemos en marcha el subprograma Posicionar, encargado de llevar al robot a la posicin definida por el contenido de las variables VAR11, VAR12 y VAR13. e. Se incrementa el contenido de la variable VAR1 y regresa para hacer una nueva comprobacin del contenido de VAR1. 8. Si VAR1=5, el robot deja el barril en esa posicin (subprograma AbrirPinza), se incrementa el contenido de la variable VAR1 y regresa para comprobar de nuevo el contenido de VAR1. 9. Si VAR1=6, el robot eleva totalmente el brazo (subprograma SubeBrazo), se incrementa el contenido de la variable VAR1 y regresa para comprobar de nuevo el contenido de VAR1. 10. Si VAR1=7, el robot se desplaza a la posicin del segundo barril: a. Introducimos en la variable VAR11 el nmero de pasos que deben generarse en el desplazamiento del cuerpo del robot, contados desde la posicin inicial hasta la nueva posicin. b. Introducimos en la variable VAR12 el nmero de pasos que deben generarse en el desplazamiento horizontal del brazo del robot, contados desde la posicin inicial hasta la nueva posicin. c. Introducimos en la variable VAR13 el nmero de pasos que deben generarse en el desplazamiento vertical del brazo del robot, contados desde la posicin inicial hasta la nueva posicin. d. Ponemos en marcha el subprograma Posicionar, encargado de llevar al robot a la posicin definida por el contenido de las variables VAR11, VAR12 y VAR13. e. Se incrementa el contenido de la variable VAR1 y regresa para hacer una nueva comprobacin del contenido de VAR1. 11. Si VAR1=8, el robot cierra la pinza en torno al barril (subprograma CerrarPinza), se incrementa el contenido de la variable VAR1 y regresa para comprobar de nuevo el contenido de VAR1. 12. Si VAR1=9, el robot eleva el brazo completamente (subprograma SubeBrazo), se incrementa el contenido de la variable VAR1 y regresa para comprobar de nuevo el contenido de VAR1. 13. Si VAR1=10, el robot sita el barril que lleva sujeto en la pinza, sobre el otro barril: a. Introducimos en la variable VAR11 el nmero de pasos que deben generarse en el desplazamiento del cuerpo del robot, contados desde la posicin inicial hasta la nueva posicin. b. Introducimos en la variable VAR12 el nmero de pasos que deben generarse en el desplazamiento horizontal del brazo del robot, contados desde la posicin inicial hasta la nueva posicin. Sistemas de control programables y robtica Jos Vicente Manga Enero 2006 39 c. Introducimos en la variable VAR13 el nmero de pasos que deben generarse en el desplazamiento vertical del brazo del robot, contados desde la posicin inicial hasta la nueva posicin. d. Ponemos en marcha el subprograma Posicionar, encargado de llevar al robot a la posicin definida por el contenido de las variables VAR11, VAR12 y VAR13. e. Se incrementa el contenido de la variable VAR1 y regresa para hacer una nueva comprobacin del contenido de VAR1. 14. Si VAR1=11, el robot suelta el barril, dejndole en la nueva posicin (subprograma AbrirPinza), se incrementa el contenido de la variable VAR1 y regresa para comprobar de nuevo el contenido de VAR1. 15. Si VAR1=12, el robot eleva completamente el brazo (subprograma SubeBrazo), se incrementa el contenido de la variable VAR1 y regresa para comprobar de nuevo el contenido de VAR1. 16. Si VAR1=13, el robot vuelve a la posicin inicial y espera unos segundos: a. Abre completamente la pinza (subprograma AbrirPinza). b. Eleva totalmente el brazo (subprograma SubeBrazo). c. Retrae completamente el brazo (subprograma RecogeBrazo). d. Gira el cuerpo totalmente a la izquierda (subprograma PosInicialM1) e. Se incrementa el contenido de la variable VAR1 y el programa regresa al paso 2. 17. Si VAR1=14, el robot se sita en la posicin del barril que est encima del otro: a. Introducimos en la variable VAR11 el nmero de pasos que deben generarse en el desplazamiento del cuerpo del robot, contados desde la posicin inicial hasta la nueva posicin. b. Introducimos en la variable VAR12 el nmero de pasos que deben generarse en el desplazamiento horizontal del brazo del robot, contados desde la posicin inicial hasta la nueva posicin. c. Introducimos en la variable VAR13 el nmero de pasos que deben generarse en el desplazamiento vertical del brazo del robot, contados desde la posicin inicial hasta la nueva posicin. d. Ponemos en marcha el subprograma Posicionar, encargado de llevar al robot a la posicin definida por el contenido de las variables VAR11, VAR12 y VAR13. e. Se incrementa el contenido de la variable VAR1 y regresa para hacer una nueva comprobacin del contenido de VAR1. 18. Si VAR1=15, el robot cierra la pinza en torno al barril (subprograma CerrarPinza), se incrementa el contenido de la variable VAR1 y regresa para comprobar de nuevo el contenido de VAR1. 19. Si VAR1=16, el robot eleva completamente el brazo (subprograma SubeBrazo), se incrementa el contenido de la variable VAR1 y regresa para comprobar de nuevo el contenido de VAR1. 20. Si VAR1=17, el robot se sita en la posicin que ocupaba el segundo barril al principio: a. Introducimos en la variable VAR11 el nmero de pasos que deben generarse en el desplazamiento del cuerpo del robot, contados desde la posicin inicial hasta la nueva posicin. b. Introducimos en la variable VAR12 el nmero de pasos que deben generarse en el desplazamiento horizontal del brazo del robot, contados desde la posicin inicial hasta la nueva posicin. c. Introducimos en la variable VAR13 el nmero de pasos que deben generarse en el desplazamiento vertical del brazo del robot, contados desde la posicin inicial hasta la nueva posicin. d. Ponemos en marcha el subprograma Posicionar, encargado de llevar al robot a la Sistemas de control programables y robtica Jos Vicente Manga Enero 2006 40 posicin definida por el contenido de las variables VAR11, VAR12 y VAR13. e. Se incrementa el contenido de la variable VAR1 y regresa para hacer una nueva comprobacin del contenido de VAR1. 21. Si VAR1=18, el robot deja el barril en ese lugar (subprograma AbrirPinza), se incrementa el contenido de la variable VAR1 y regresa para comprobar de nuevo el contenido de VAR1. 22. Si VAR1=19, el robot eleva completamente el brazo (subprograma SubeBrazo), se incrementa el contenido de la variable VAR1 y regresa para comprobar de nuevo el contenido de VAR1. 23. Si VAR1=20, el robot se sita en la posicin que ocupa el primer barril: a. Introducimos en la variable VAR11 el nmero de pasos que deben generarse en el desplazamiento del cuerpo del robot, contados desde la posicin inicial hasta la nueva posicin. b. Introducimos en la variable VAR12 el nmero de pasos que deben generarse en el desplazamiento horizontal del brazo del robot, contados desde la posicin inicial hasta la nueva posicin. c. Introducimos en la variable VAR13 el nmero de pasos que deben generarse en el desplazamiento vertical del brazo del robot, contados desde la posicin inicial hasta la nueva posicin. d. Ponemos en marcha el subprograma Posicionar, encargado de llevar al robot a la posicin definida por el contenido de las variables VAR11, VAR12 y VAR13. e. Se incrementa el contenido de la variable VAR1 y regresa para hacer una nueva comprobacin del contenido de VAR1. 24. Si VAR1=21, el robot coge el barril (subprograma CerrarPinza), se incrementa el contenido de la variable VAR1 y regresa para comprobar de nuevo el contenido de VAR1. 25. Si VAR1=22, el robot eleva completamente el brazo (subprograma SubeBrazo), se incrementa el contenido de la variable VAR1 y regresa para comprobar de nuevo el contenido de VAR1. 26. Si VAR1=23, el robot se sita en la posicin que ocupaba el primer barril al principio: a. Introducimos en la variable VAR11 el nmero de pasos que deben generarse en el desplazamiento del cuerpo del robot, contados desde la posicin inicial hasta la nueva posicin. b. Introducimos en la variable VAR12 el nmero de pasos que deben generarse en el desplazamiento horizontal del brazo del robot, contados desde la posicin inicial hasta la nueva posicin. c. Introducimos en la variable VAR13 el nmero de pasos que deben generarse en el desplazamiento vertical del brazo del robot, contados desde la posicin inicial hasta la nueva posicin. d. Ponemos en marcha el subprograma Posicionar, encargado de llevar al robot a la posicin definida por el contenido de las variables VAR11, VAR12 y VAR13. e. Se incrementa el contenido de la variable VAR1 y regresa para hacer una nueva comprobacin del contenido de VAR1. 27. Si VAR1=24, el robot deja el barril en ese lugar (subprograma AbrirPinza), se incrementa el contenido de la variable VAR1 y regresa para comprobar de nuevo el contenido de VAR1. 28. Si VAR1=25, el robot eleva completamente el brazo (subprograma SubeBrazo), se incrementa el contenido de la variable VAR1 y el programa regresa al paso 1, para comenzar un nuevo ciclo de trabajo.
Sistemas de control programables y robtica Jos Vicente Manga Enero 2006 41 Subprograma AbrirPinza: 1. Ponemos en marcha el motor M4 en la direccin de apertura de la pinza. 2. Si se ha activado el final de carrera que detecta la apertura completa de la pinza: a. Paramos el motor M4. b. Finalizamos el subprograma y devolvemos el control al programa principal. 3. Si no se ha activado el final de carrera que detecta la apertura completa de la pinza, realizamos una nueva comprobacin del estado de ese final de carrera.
Subprograma CerrarPinza: 1. Ponemos en marcha el motor M4 en la direccin de cierre de la pinza. 2. Contamos los pasos que se van generando hasta alcanzar el nmero contenido en la variable del terminal EA. 3. Detenemos el motor M4. 4. Finalizamos el subprograma y devolvemos el control al programa principal.
Subprograma SubeBrazo: 1. Ponemos en marcha el motor M3 en la direccin de subida del brazo. 2. Si se ha activado el final de carrera que detecta que se ha alcanzado la posicin superior del brazo: a. Paramos el motor M3. b. Ponemos a cero la variable auxiliar Z6. c. Finalizamos el subprograma y devolvemos el control al programa principal. 3. Si no se ha activado el final de carrera que detecta la apertura completa de la pinza, realizamos una nueva comprobacin del estado de ese final de carrera.
Subprograma RecogeBrazo: 1. Ponemos en marcha el motor M2 en la direccin en la que se retrae el brazo del robot. 2. Si el final de carrera que detecta el retraimiento completo del brazo est activado: a. Paramos el motor M2. b. Ponemos a cero la variable auxiliar Z4. c. Finalizamos el subprograma y devolvemos el control al programa principal. 3. Si no se ha activado el final de carrera que detecta el retraimiento completo del brazo, hacemos una nueva comprobacin del estado de ese final de carrera.
Subprograma PosInicialM1: 1. Ponemos en marcha el motor M1 en la direccin en que el cuerpo gira hacia la izquierda. 2. Si el final de carrera que detecta la posicin inicial del cuerpo est activado: a. Paramos el motor M1. b. Ponemos a cero la variable auxiliar Z1. c. Finalizamos el subprograma y devolvemos el control al programa principal. 3. Si no se ha activado el final de carrera que detecta la posicin inicial del cuerpo, hacemos una nueva comprobacin del estado de ese final de carrera.
Subprograma Posicionar: Este subprograma estar formado por tres lneas de programacin que se ejecutarn simultneamente, una para cada motor de posicionamiento. La lnea de programacin del motor M1 ser la situada directamente entre los conectores de comienzo y final del subprograma. Las dos lneas de programacin restantes tendrn su propio inicio y funcionarn de forma separada y simultnea, pero no comenzarn a realizar su funcin hasta que la lnea de programacin del motor M1 las de permiso (poner VAR2 a 1). Sistemas de control programables y robtica Jos Vicente Manga Enero 2006 42 A continuacin se muestra la estructura de la lnea de programacin del posicionamiento del cuerpo del robot (M1): 1. Hacemos que VAR2 tenga el valor 1. 2. Si el nmero de pasos que debe girar el cuerpo del robot (VAR11) es igual al contenido de la variable auxiliar Z2: a. Paramos el motor M1. b. Esperamos mientras alguno de los motores M2 o M3 sigan funcionando. c. Cuando M2 y M3 hayan dejado de funcionar, ponemos VAR2 a cero, terminamos el subprograma y devolvemos el control al programa principal. 3. Si el nmero de pasos que debe girar el cuerpo del robot (VAR11) es mayor que el contenido de la variable auxiliar Z2: a. Ponemos en marcha el motor M1 en la direccin en la que desplace el cuerpo del robot hacia la izquierda. b. Contamos los pasos recorridos hasta que la variable auxiliar Z2 contenga el mismo valor que la variable VAR11, que indica la posicin solicitada. c. Paramos el motor M1. d. Esperamos mientras alguno de los motores M2 o M3 sigan funcionando. e. Cuando M2 y M3 hayan dejado de funcionar, ponemos VAR2 a cero, terminamos el subprograma y devolvemos el control al programa principal. 4. Si el nmero de pasos que debe girar el cuerpo del robot (VAR11) es menor que el contenido de la variable auxiliar Z2: a. Ponemos en marcha el motor M1 en la direccin en la que desplace el cuerpo del robot hacia la derecha. b. Contamos los pasos recorridos hasta que la variable auxiliar Z2 contenga el mismo valor que la variable VAR11, que indica la posicin solicitada. c. Paramos el motor M1. d. Esperamos mientras alguno de los motores M2 o M3 sigan funcionando. e. Cuando M2 y M3 hayan dejado de funcionar, ponemos VAR2 a cero, terminamos el subprograma y devolvemos el control al programa principal.
A continuacin se muestra la lnea de programacin correspondiente al posicionamiento horizontal del brazo del robot (motor M2), que formar parte del subprograma de posicionamiento: 1. Comenzamos la lnea de programacin con el bloque de Inicio. 2. Si VAR2 no es igual a 1, esperamos hasta que lo sea. 3. Si VAR2=1, continuamos la ejecucin del programa: a. Si el nmero de pasos que debe adelantarse el brazo del robot (VAR12) es igual al contenido de la variable auxiliar Z4: i. Paramos el motor M2. ii. Volvemos al paso 2. b. Si el nmero de pasos que debe adelantarse el brazo del robot (VAR12) es mayor que el contenido de la variable auxiliar Z4: i. Ponemos en marcha el motor M2 en la direccin en la que avance el brazo del robot. ii. Contamos los pasos recorridos hasta que la variable auxiliar Z4 contenga el mismo valor que la variable VAR12, que indica la posicin solicitada. iii. Paramos el motor M2. iv. Volvemos al paso 2. c. Si el nmero de pasos que debe adelantarse el brazo del robot (VAR12) es menor que el contenido de la variable auxiliar Z4: Sistemas de control programables y robtica Jos Vicente Manga Enero 2006 43 i. Ponemos en marcha el motor M2 en la direccin en la que retroceda el brazo del robot. ii. Contamos los pasos recorridos hasta que la variable auxiliar Z4 contenga el mismo valor que la variable VAR12, que indica la posicin solicitada. iii. Paramos el motor M2. iv. Volvemos al paso 2.
La lnea de programacin correspondiente al posicionamiento vertical del brazo del robot (motor M3) es similar a la del motor M2, sustituyendo las variables que intervienen en el proceso, por las asociadas al funcionamiento del motor M3.
Sistemas de control programables y robtica Jos Vicente Manga Enero 2006 44 Robot mvil con deteccin de bordes
Funcionamiento: El robot debe desplazarse, sobre la superficie de una mesa, hacia delante en lnea recta, pero al detectar el fin de la mesa por su lado izquierdo debe retroceder un poco, girar hacia la derecha sobre s mismo y avanzar de nuevo. Si detecta el fin de la mesa por su lado derecho debe retroceder un poco, girar a la izquierda sobre s mismo y seguir avanzando.
Notas previas a la programacin: Para realizar la programacin del autmata tendremos en cuenta que: La salida M1 se conecta al motor derecho. La salida M2 se conecta al motor izquierdo. La entrada E1 se conectar al final de carrera encargado de detectar los pasos producidos al girar la rueda tractora derecha. La entrada E2 se conectar al final de carrera encargado de detectar los pasos producidos al girar la rueda tractora izquierda. A la entrada E3 conectaremos el final de carrera asociado a la rueda detectora derecha. A la entrada E4 se conectar el final de carrera asociado a la rueda detectora izquierda. El robot dispondr de un pulsador de parada (reset) conectado a la entrada E8 que permitir que el programa que controla al robot se detenga o se ponga en marcha, en funcin del estado del pulsador. Usaremos la variable V10 para almacenar los pasos que deben producirse en una rueda al retroceder tras encontrar un obstculo, o para determinar la longitud del giro cuando el robot deba girar para corregir la trayectoria. La variable intermedia Z2 se utilizar para el contaje de los pasos producidos en las ruedas tractoras.
Con el fin de clarificar el programa al mximo, la programacin se realizar utilizando subprogramas: Adelante, Retroceder, Izquierda y Derecha, adems del programa principal.
Programacin: Deben escribirse primero las lneas de programacin de cada subprograma y, posteriormente, el programa principal.
Programa principal: 1. El robot no har nada hasta que se desactive el pulsador conectado a la entrada E8. Al desactivarse ese pulsador, comenzar a desplazarse. 2. Si la entrada E3 no detecta un borde se comprueba la entrada E4. 3. Si la entrada E4 no detecta un borde el robot avanza (subprograma ADELANTE). Y el programa principal regresa al principio para seguir controlando las evoluciones del robot. 4. Si la entrada E3 detecta un borde (precipicio en el lado derecho): a. Cargamos la variable V10 con el nmero de pasos que debe retroceder el robot (por ejemplo 10). b. Hacemos que retroceda (subprograma RETROCEDER). c. Cargamos la variable V10 con el nmero de pasos que correspondan al tamao del giro que deseemos que se produzca (por ejemplo 10). d. Hacemos que gire hacia la izquierda (subprograma IZQUIERDA). e. Llevamos el programa de nuevo al principio para continuar verificando las evoluciones del robot. Sistemas de control programables y robtica Jos Vicente Manga Enero 2006 45 5. Si la entrada E4 detecta un borde (precipicio en el lado izquierdo): a. Cargamos la variable V10 con el nmero de pasos que debe retroceder el robot (por ejemplo 10). b. Hacemos que retroceda (subprograma RETROCEDER). c. Cargamos la variable V10 con el nmero de pasos que correspondan al tamao del giro que deseemos que se produzca (por ejemplo 15). d. Hacemos que gire hacia la derecha (subprograma DERECHA). e. Llevamos el programa de nuevo al principio para continuar verificando las evoluciones del robot.
Subprograma ADELANTE: 1. Ponemos en marcha los dos motores en la direccin de avance del robot.
Subprograma RETROCEDER: 2. Ponemos en marcha los dos motores en la direccin de retroceso del robot. 3. Ponemos la variable intermedia Z2 a cero. 4. Esperamos hasta que en la entrada E2 se haya detectado un nmero de pasos igual al valor de V10. 5. Paramos ambos motores.
Subprograma IZQUIERDA: 1. Ponemos en marcha el motor derecho en la direccin de avance. 2. Ponemos en marcha el motor izquierdo en la direccin de retroceso. 3. Ponemos la variable intermedia Z2 a cero. 4. Esperamos hasta que en la entrada E2 se haya detectado un nmero de pasos igual al valor de V10. 5. Paramos ambos motores.
Subprograma DERECHA: 1. Ponemos en marcha el motor derecho en la direccin de retroceso. 2. Ponemos en marcha el motor izquierdo en la direccin de avance. 3. Ponemos la variable intermedia Z2 a cero. 4. Esperamos hasta que en la entrada E2 se haya detectado un nmero de pasos igual al valor de V10. 5. Paramos ambos motores.
Sistemas de control programables y robtica Jos Vicente Manga Enero 2006 46 Brazo transportador neumtico
Funcionamiento: Se encuentre donde se encuentre, el brazo debe girar hacia la posicin A con la pinza abierta, coger la pieza que se encuentra en esa posicin y llevarla hasta la posicin B soltndola all. A continuacin regresa a la posicin A y, tras una espera de 10 segundos, devuelve la pieza de la posicin B a la posicin A, pasando a situarse despus en la posicin B. Para que el brazo realice el ciclo descrito anteriormente debe disponerse de un pulsador que marque el inicio del ciclo al ser pulsado.
Notas previas a la programacin: Para realizar la programacin del autmata tendremos en cuenta que: La salida M1 se conectar a la electrovlvula M1, encargada de controlar el flujo de aire que permite extender el vstago del cilindro Z1. La salida M2 estar conectada a la electrovlvula M2, encargada de controlar el flujo de aire que hace retraerse al vstago del cilindro Z1. La salida M3 debe conectarse a la electrovlvula M3, encargada de abrir o cerrar el paso de aire hacia el cilindro Z2. La salida M4 estar conectada al motor del compresor. Utilizaremos la variable V1 para ir almacenando el nmero de la operacin que debe realizar el robot en cada momento. El robot dispondr de un pulsador conectado a la entrada E8 que permitir que el robot realice un ciclo de trabajo, cada vez que, estando en reposo, se active el pulsador. Puede completarse la programacin aadiendo un sonido diferente para la apertura o el cierre de la pinza y tambin para el posicionamiento en la plataforma A o en la B.
Con el fin de clarificar el programa al mximo, la programacin se realizar utilizando subprogramas: Abrir, Cerrar, Pos_A y Pos_B, adems del programa principal.
Programacin: Deben escribirse primero las lneas de programacin de cada subprograma y, posteriormente, el programa principal.
Programa principal: 1. Conectamos el motor del compresor activando la salida M4. 2. Esperamos 5 o 6 segundos antes de continuar para dar tiempo a que aumente la presin del aire en el depsito. 3. Comprobamos el estado del pulsador conectado a la entrada E8 y, si est desactivado, continuamos comprobando su estado. Cuando se active, contina la ejecucin del programa. 4. Ponemos la variable V1 a cero. 5. Comprobamos el valor de la variable V1 y hacemos que el robot realice alguna de las operaciones siguientes en funcin del contenido almacenado en ella: a. Si V1=0, el robot abre la pinza (subprograma ABRIR) e incrementamos el valor de V1 en una unidad. b. Si V1=1, el robot se desplaza a la posicin A (subprograma POS_A) y se incrementa el valor de V1 en una unidad. c. Si V1=2, se cierra la pinza (subprograma CERRAR) y se incrementa V1 en una unidad. Sistemas de control programables y robtica Jos Vicente Manga Enero 2006 47 d. Si V1=3, el brazo se desplaza a la posicin B (subprograma POS_B) y se incrementa en una unidad el contenido de la variable V1. e. Si V1=4, ocurre igual que cuando V1=0. f. Si V1=5, ocurre lo mismo que cuando V1=1. g. Si V1=6, el programa se detiene durante 10 segundos y, al reanudarse, se incrementa en una unidad el contenido de V1. h. Si V1=7, ocurre lo mismo que cuando V1=3. i. Si V1=8, ocurre lo mismo que cuando V1=2. j. Si V1=9, ocurre lo mismo que cuando V1=1. k. Si V1=10, ocurre lo mismo que cuando V1=0. l. Si V1=11, el brazo se desplaza a la posicin B (subprograma POS_B) y, a continuacin, volvemos a comprobar el estado del pulsador conectado a la entrada E8, para repetir un nuevo ciclo en caso de que se active.
Subprograma ABRIR: 1. Nos aseguramos de que se desconecta la electrovlvula M3 que provoca el cierre de la pinza para que el vstago del cilindro Z2 avance por efecto del muelle, abriendo as la pinza. 2. Esperamos un par de segundos para garantizar que el vstago del cilindro ha completado su recorrido.
Subprograma CERRAR: 1. Conectamos la electrovlvula M3 que provoca el retroceso del vstago del cilindro Z2. 2. Esperamos un par de segundos para garantizar que el vstago del cilindro ha completado su recorrido, cerrando la pinza.
Subprograma POS_A: 1. Desconectamos la electrovlvula M2 que provoca el retroceso del vstago del cilindro Z1. 2. Conectamos la electrovlvula M1 que provoca el avance del vstago del cilindro Z1. 3. Esperamos un par de segundos para garantizar que el vstago del cilindro ha completado su recorrido, haciendo que el brazo se site en la posicin A.
Subprograma POS_B: 1. Desconectamos la electrovlvula M1 que provoca el avance del vstago del cilindro Z1. 2. Conectamos la electrovlvula M2 que provoca el retroceso del vstago del cilindro Z1. 3. Esperamos un par de segundos para garantizar que el vstago del cilindro ha completado su recorrido, haciendo que el brazo se site en la posicin A.
Sistemas de control programables y robtica Jos Vicente Manga Enero 2006 48 Instalacin clasificadora neumtica
Funcionamiento: Esta instalacin debe clasificar piezas blancas y negras, enviando las blancas al contenedor de la izquierda y las negras al de la derecha. Las piezas se desplazan desde el depsito, impulsadas por la corredera accionada por el motor M4, pasando bajo la barrera ptica de reflexin directa. Esta barrera debe estar enfocada de manera que la entrada E1 indique 0 lgico ante una pieza negra y 1 lgico ante una pieza blanca. Para ello habr que utilizar el diagnstico de interfaz de LLWin. El motor del compresor y la lmpara de la barrera luminosa deben conectarse directamente a la lnea de alimentacin, al no disponer de salidas suficientes para poder controlarles desde el programa, por lo que estarn permanentemente conectados.
Notas previas a la programacin: Para realizar la programacin del autmata tendremos en cuenta que: La salida M1 se conectar a la electrovlvula M1, encargada de hacer retroceder al vstago del cilindro Z1. La salida M2 debe conectarse a la electrovlvula M2, encargada de hacer avanzar el vstago del cilindro Z2. La electrovlvula M3 estar conectada a la salida M3, y ser la encargada de llevar los cilindros a su posicin inicial, haciendo retroceder el vstago de Z2 y avanzar el vstago de Z1. La salida M4 controlar el motor de la corredera que impulsa las piezas desde el depsito. La entrada E1 estar conectada al fototransistor de la barrera luminosa, con el fin de detectar el color de cada pieza. La entrada E2 debe conectarse al final de carrera que detecta cuando la corredera est en la posicin ms retrasada. A la entrada E8 conectaremos un pulsador de forma que el ciclo de clasificacin no se ponga en marcha hasta que sea pulsado. El ciclo de clasificacin debe tener una duracin suficiente para clasificar todas las piezas que quepan en el depsito cuando est lleno. Utilizaremos la variable V1 para almacenar el nmero de piezas clasificadas.
Con el fin de clarificar el programa al mximo, la programacin se realizar utilizando subprogramas: Inicio, Empujar, Izquierda y Derecha, adems del programa principal.
Programacin: Deben escribirse primero las lneas de programacin de cada subprograma y, posteriormente, el programa principal.
Programa principal: 1. Desplazar la corredera y los cilindros a la posicin inicial (subprograma INICIO). 2. Comprobamos el estado del pulsador conectado a la entrada E8 y, si est desactivado, continuamos comprobando su estado. Cuando se active, contina la ejecucin del programa. 3. Ponemos la variable V1 a cero. 4. Comprobamos el valor de V1, volviendo al inicio del programa cuando se hayan clasificado todas las piezas que quepan en el depsito, y permitiendo la continuacin del programa en caso contrario. Sistemas de control programables y robtica Jos Vicente Manga Enero 2006 49 5. Comprobamos el color de la pieza que se encuentre bajo el sensor y si es blanca: a. Incrementamos el valor de V1 en una unidad. b. Empujamos para arrastrar la pieza bajo la horquilla clasificadora (subprograma EMPUJAR). c. Desplazamos la horquilla hacia el contenedor de la izquierda y, tras una espera de un segundo, devolvemos la horquilla a la posicin central (subprograma IZQUIERDA). d. Volvemos al punto 4, para comprobar el valor de V1 y actuar en consecuencia. 6. Si al realizar la comprobacin del color de la pieza resulta negra: a. Incrementamos el valor de V1 en una unidad. b. Empujamos para arrastrar la pieza bajo la horquilla clasificadora (subprograma EMPUJAR). c. Desplazamos la horquilla hacia el contenedor de la derecha y, tras una espera de un segundo, devolvemos la horquilla a la posicin central (subprograma DERECHA). d. Volvemos al punto 4, para comprobar el valor de V1 y actuar en consecuencia.
Subprograma INICIO: 1. Conectamos, durante dos segundos, la electrovlvula M3, encargada de hacer pasar el aire comprimido para llevar a ambos cilindros a sus posiciones iniciales. 2. Si el sensor de la corredera (E2) no est pulsado, conectamos el motor M4, que acciona la corredera y le dejamos conectado hasta que se detecte un cambio en el final de carrera E2, momento en que debe desconectarse.
Subprograma EMPUJAR: 1. Conectamos el motor M4, que acciona la corredera y le dejamos conectado hasta que se detecte un cambio en el final de carrera E2, momento en que debe desconectarse.
Subprograma IZQUIERDA: 1. Conectamos, durante dos segundos, la electrovlvula M2, encargada de hacer avanzar el vstago del cilindro Z2. 2. Esperamos un segundo para garantizar que la pieza cae en el contenedor. 3. Conectamos, durante dos segundos, la electrovlvula M3, encargada de hacer pasar el aire comprimido para llevar a ambos cilindros a sus posiciones iniciales.
Subprograma DERECHA: 1. Conectamos, durante dos segundos, la electrovlvula M1, encargada de hacer retroceder el vstago del cilindro Z1. 2. Esperamos un segundo para garantizar que la pieza cae en el contenedor. 3. Conectamos, durante dos segundos, la electrovlvula M3, encargada de hacer pasar el aire comprimido para llevar a ambos cilindros a sus posiciones iniciales.
Sistemas de control programables y robtica Jos Vicente Manga Enero 2006 50 Brazo robot orientable
Funcionamiento: El robot debe ser capaz de coger un barril amarillo de una plataforma y depositarlo en la otra. El ciclo de trabajo completo que debe realizar ser: estando posicionada la pinza sobre la plataforma derecha, y tras la pulsacin de puesta en marcha (E8), debe girar hacia la plataforma izquierda, coger el barril que se encuentra en ella y depositarlo en la plataforma derecha, posicionndose la pinza sobre la plataforma izquierda. Tras una espera de 10 segundos, debe recoger el barril de la plataforma derecha y devolverlo a su posicin inicial, volviendo la pinza a colocarse sobre la plataforma derecha.
Notas previas a la programacin: Antes de comenzar a programar debe comprobarse si el sentido de giro de los motores es el adecuado y, si no es as, deben cambiarse los polos. Para ello utilizaremos el diagnstico de interfaz de LLWin. La salida M1 se conectar al motor encargado de hacer girar la pinza. La salida M2 controlar el motor encargado de abrir y cerrar la pinza. La entrada E1 debe conectarse al final de carrera que detecta la llegada de la pinza a la plataforma derecha. La entrada E2 detectar la llegada de la pinza a la plataforma izquierda. La entrada E3 se conectar al final de carrera que detecta si la pinza est abierta. La entrada E4 ser la encargada de contar los pasos durante el cierre de la pinza. La entrada E8 har que comience el ciclo de trabajo del robot. En la variable del terminal EA colocaremos el nmero de pasos que deben producirse al cerrarse la pinza. La variable intermedia Z4 ser utilizada para en contaje de los pasos producidos durante el cierre de la pinza. Puede completarse la programacin aadiendo un sonido diferente para la apertura o el cierre de la pinza y tambin para el posicionamiento en la plataforma izquierda o en la derecha.
Con el fin de clarificar el programa al mximo, la programacin se realizar utilizando subprogramas: Abrir, Cerrar, Izquierda y Derecha, adems del programa principal.
Programacin: Deben escribirse primero las lneas de programacin de cada subprograma y, posteriormente, el programa principal.
Programa principal: 1. Nos aseguramos de que la pinza est abierta (subprograma ABRIR). 2. Nos aseguramos de que la pinza est sobre la plataforma derecha (subprograma DERECHA). 3. Comprobamos el estado del pulsador conectado a la entrada E8 y, si est desactivado, continuamos comprobando su estado. Cuando se active, contina la ejecucin del programa. 4. Hacemos que el brazo gire hacia la plataforma izquierda (subprograma IZQUIERDA). 5. Cerramos la pinza para coger el barril (subprograma CERRAR). 6. Giramos el brazo hacia la plataforma derecha (subprograma DERECHA). 7. Abrimos la pinza para dejar el barril (subprograma ABRIR). Sistemas de control programables y robtica Jos Vicente Manga Enero 2006 51 8. El brazo gira de nuevo hacia la plataforma izquierda (subprograma IZQUIERDA). 9. Esperamos 10 segundos y repetimos el ciclo anterior, pero al revs. 10. Al finalizar el ciclo, el programa debe volver al punto 3 para esperar a una nueva orden de trabajo.
Subprograma ABRIR: 1. Hacemos girar al motor M2, que controla la apertura de la pinza, en la direccin de apertura hasta que el final de carrera E3 se active. 2. Ponemos la variable Z4 a cero para que pueda realizarse el contaje de pasos durante el cierre posterior de la pinza.
Subprograma CERRAR: 1. Conectamos el motor M2, que controla la apertura y el cierre de la pinza, en la direccin de cierre. 2. Esperamos, contando los pasos que se van produciendo al cerrar (E4), hasta que se alcance el nmero de pasos almacenado en la variable EA. 3. Desconectamos el motor M2.
Subprograma IZQUIERDA: 1. Conectamos el motor M1, encargado del giro de la pinza, en la direccin adecuada para situar la pinza sobre la plataforma izquierda. 2. Cuando el final de carrera E2 detecte que la pinza ha llegado a su destino, desconectamos el motor M1.
Subprograma DERECHA: 1. Conectamos el motor M1, encargado del giro de la pinza, en la direccin adecuada para situar la pinza sobre la plataforma derecha. 2. Cuando el final de carrera E1 detecte que la pinza ha llegado a su destino, desconectamos el motor M1.