Práctica 5.1. Pallet doble de 2x3. Subrutinas

Documentos relacionados
Práctica 4.1. Paletizado 3x3 (1)

Práctica 3.4 Movimiento Circular. MVC

CÉLULA ROBOTIZADA. Proyecto de Innovación Aplicada y Transferencia del Conocimiento en la Formación Profesional.

MELFA Basic IV introducción. Introducción a la programación

Desarrollar un programa en SIMATIC S7 con codificación AWL que simule un sistema en el que una entrada digital active una salida digital.

Editor de código Visual Basic. Lista de miembros automática, sugerencias de sintaxis, autocompletado y otras opciones. (CU00313A)

PRÁCTICAS DE ROBÓTICA INDUSTRIAL [ABB 140] Práctica 2: Integración del IRB 140 en un sistema flexible de fabricación

ESTRUCTURAS REPETITIVAS EN PHP

CÓMO FUNCIONA UN PLC Control Combinacional Programación del PLC

Instrucciones de control

Programcaión Básica. Secuencias de Control y Repetición. Arturo Vega González.

Construyendo Programas más Complejos

PROGRAMAS PARA LA CLASSPAD MANAGER.

Programación: QBASIC

Ejercicio: Posicionador de piezas

Guía práctica de estudio 05: Diagramas de flujo

carro a otro se realiza mediante la apertura de unas compuertas inferiores.

La complejidad de los automatismos y la necesidad de especificar con precisión las tareas => útiles simbólicos de representación

PHP: Lenguaje de programación

ACTIVIDADES DE SCRATCH PARA ARDUINO (S4A) 3º ESO TECNOLOGÍAS

Conceptos de Arquitectura de Computadoras Curso 2015

MARSHALL 2 GSM LA ALARMA PARA SU CASA SE LLAMA VEA NUESTA PUBLICIDAD

Automatización Industrial 1/5

Universidad Latina de Panamá. IMP-48 Sistemas Flexibles de Manufactura. Profesor: Magister Ing. Leonel González. Estudiantes de Ingeniería Mecatrónica

WRO Costa Rica Categoría A. Limpia el camino a la escuela

Contenido Unidad de Robótica

CONSEJOS SOBRE WORD 2012

Problema: Barrera de Garaje

CO TROL I DUSTRIAL DISTRIBUIDO (66.29) Guía de Ejercicios Introductorios a la Programación de PLC

PROGRAMACION C.N.C. CONTENIDO Parte 1 Introducción. (el proceso de programación). Partes principales del torno Evaluación

Todo programa en 'C' consta de una o más funciones, una de las cuales se llama main.

Introducción a la programación del robot moway

Tema 3 SUBRUTINAS. Estructura de Computadores OCW_2015 Nekane Azkona Estefanía

Parte 4: Estructuras de Control

1 de Enero... Año Nuevo 15 de Agosto... Asunción de la Virgen. 6 de Enero... Epifanía del Señor 12 de Octubre... Fiesta Nacional.

Ejercicios. Arquitectura de Computadoras. José Garzía

Alarma 3G por teléfono móvil

Exterior del algoritmo. Entorno. Usuario. Procesador. Escribir. v1 v2 v3. Leer. <acción> {; <acción>}

TEMA 4. ESTRUCTURAS DE CONTROL

LABORATORIO Nº 5 FORMULARIOS EN EXCEL

PROGRAMA DE VISITAS DEL SERVICIO DE INSPECCIÓN PARA EL PERIODO COMPRENDIDO ENTRE EL 1 DE MAYO Y EL 31 DE AGOSTO DEL AÑO 2014

Práctica 2. Control de velocidad mediante el autómata CP1L y el variador MX2 de Omron

Programa de aplicación Tebis

Diseño de una calculadora

Manual Gran Hotel. En principio, una estacionalidad no tiene el fin marcado, puede ser válida para siempre.

Tema 5: La pila, las macros y los procedimientos

ING. JONATHAN QUIROGA TINOCO. Desarrollado por Ing. Jonathan Quiroga T.

Lenguaje RAPID. Robotics Application Programming Interactive Dialogue. Automatización Industrial - II º Cuatrimestre 2006

SINTRA TD Instalación del Programa

MANUAL DEL PROGRAMA EXCEL LABORAL

Estuardo Roehrs # Cristian Chau # Algoritmos y Programación básica. Sección 60

Diseño Estructurado de Algoritmos

PIC MICRO ESTUDIO Temporizador con el 16F872 Guía de Uso

Taller de Informática I Dpto. Computación F.C.E. y N. - UBA 2010

REPÚBLICA BOLIVARIANA DE VENEZUELA UNIVERSIDAD BICENTENARIA DE ARAGUA VICERRECTORADO ACADÉMICO ARAGUA VENEZUELA

Listado de Festividades en las distintas Comunidades Autónomas de España 2014.

Seleccione en el escritorio el programa Sucosoft S40 y darle doble click.

MANUAL DEL USUARIO BALANZA ELECTRÓNICA PROGRAMABLE MX8F MIXER VERSION C-1.7

Las Funciones generales o básicas.

Estructura de Computadores

Estatutos de Control C# Estatutos de Decisión (Selección)

Manual de Instalación

Definición: Población de referencia: Fecha de referencia : Notas: Metodología: Uso del informe:

INDICE Programa Entrada Unidad de control Unidad aritmética y lógica (ALU)

CÓDIGOS AVERIAS Inverter DC. 1.- El display de la unidad interior ( La máquina se para por su propia protección )

INFORME SOBRE LOS TÍTULOS DE GRADO RELACIONADOS CON LA INGENIERÍA DE MONTES QUE IMPARTEN LAS UNIVERSIDADES ESPAÑOLAS

Manual Word Macros y Elementos rápidos

Herramientas computacionales para la matemática MATLAB: Estructuras de control

Instrucciones principales de RAPID

Célula de Fabricación Flexible, MPS-C Estación 6: Robot

Mando centralizado de desvíos

Métodos que devuelven valor Dado el siguiente triángulo rectángulo:

Lenguajes de Programación

LISTADO DE AUTORIDADES COMPETENTES PARA NOTIFICACIÓN DE SUCESOS EN INSTALACIONES RADIACTIVAS ESTABLECIDA EN LA INSTRUCCIÓN DEL C.S.N.

F.A.Q. CirPark. Soluciones de eficiencia para la movilidad en aparcamientos

CONTROL DE UN VENTILADOR POR PUERTO PARALELO

APENDICE CODIFICACION DE LAS ESTRUCTURAS BASICAS

la solución a una ecuación cuadrática solicitando al usuario los términos de dicha ecuación.

Guía de uso del programa AVR-Studio

AVANCE DE LA ESTADÍSTICA DE ESTUDIANTES UNIVERSITARIOS. CURSO

Estructuras Repetitivas

GUÍA DE EJERCICIOS Nº 2 INSTRUMENTACIÓN AVANZADA. Estructuras en LabVIEW PROGRAMACIÓN GRÁFICA

UNIDAD ACADÉMICA PROFESIONAL TIANGUISTENCO

WRO Costa Rica Categoría B. Clasificación de residuos

FORMATO CONDICIONAL EN EXCEL

Parte 1. Programación del PLC

Calendario laboral Fiestas Nacionales

Manual de turbo pascal

Anexo Territorial. Guía de Atención a la Discapacidad en la Universidad 2015

Objetivos CODIGO CHECK. Código Check Introducción. Código Check Introducción. Código Check Comandos. Código Check Operadores

PLC CONTROLADOR LOGICO PROGRAMABLE

Tema 3. Aplicaciones de Tipo Consola

UNIDAD 5. ESTRUCTURAS DINÁMICAS Y ESTÁTICAS DE ALMACENAMIENTO DE DATOS.

Programación en Q BASIC

uitécnico SUPERIOR UNIVERSITARIO EN MECATRÓNICA ÁREA SISTEMAS DE MANUFACTURA FLEXIBLE

Métodos para escribir algoritmos: Diagramas de Flujo y pseudocódigo

MECATRÓNICA AVANZADA

Funciones como Subprogramas en C++

Creación de nuevos modelos en Proteus a partir de otros ya existentes

Transcripción:

El contenido difundido o publicado compromete exclusivamente a los autores. Práctica 5.1. Pallet doble de 2x3. Subrutinas Proyectos de innovación: CÉLULA ROBOTIZADA IES José del Campo Ampuero (Cantabria). Salesianos San Luis Rey Palma del Rio (Andalucía). IFPS Repelega Portugalete (País Vasco). CIFP Nº1 Simón de Colonia Burgos (Castilla León). CIFP de los Sectores Industrial y Servicios Gijón (Asturias). INS Escola del Treball Lleida (Catalunya). Salesianos Virgen del Pilar Zaragoza (Aragón). IES Jaume I Ontinyent (Comunidad Valenciana). IES Armeria Eskola Eibar (Pais Vasco). IES Miguel Altuna Bergara (País Vasco). IES Ribera del Arga Peralta (Navarra). Festo Pneumatic, S.A.U. (Barcelona).

INDICE 1. Bloque de ejercicios para familiarizarse con el código de Nivel 5. SUBRUTINAS... 3 1.1.- ENUNCIADO... 3 1.2.- Conocimientos previos.... 3 1.2.1.- Sintaxis de la instrucción GOSUB.... 3 1.2.2.- Sintaxis de la instrucción RETURN.... 4 1.2.3.- Sintaxis de la instrucción GOTO.... 5 1.3.- Descripción de las entradas, salidas y instrucciones a utilizar.... 5 1.4.- Elementos del programa / simulación... 6 1.5.- Descripción del programa... 7 1.5.1.- Diagrama funcional... 8 1.5.2.- Diagrama de bloques... 9 1.6.- Programa a realizar... 10 Proyectos de Innovación: Célula Robotizada Practica 5.1 Pallet doble 2x3 Subrutinas Página 2 de 13

1. BLOQUE DE EJERCICIOS PARA FAMILIARIZARSE CON EL CÓDIGO DE NIVEL 5. SUBRUTINAS 1.1.- ENUNCIADO Se desean construir 2 pallets de 2x3 piezas, uno de piezas rojas y otro de piezas negras. Las piezas no están ordenadas ni por color ni por cantidad. Se deberá trabajar con el excedente de piezas. Para iniciar el proceso será necesario pulsar marcha y esperar a que existan piezas al final de la rampa. Esto se identificará mediante PART_AV. Las piezas son aportadas al proceso sin orden de color, por lo que se deberá identificar el color de la pieza y llevarlo al pallet correspondiente. Hasta que no estén los dos pallets completos se seguirán aportando piezas. Una vez que se alcancen las 6 piezas de unos de los pallets, el resto de piezas del mismo color que se sigan aportando se llevarán a los depósitos para su almacenaje y poder volverlas a aportar al proceso cuando sea preciso. Esto nos lo indicarán los pilotos Q1 y/o Q2. Cuando los pallets estén completos, se ilumina el piloto asociado al pulsador RESET. Retiramos manualmente (o mediante otro proceso) las piezas y los pallets, y cuando pulsemos RESET, dejaremos el ciclo preparado para un nuevo paletizado. 1.2.- Conocimientos previos. En esta práctica ya debemos controlar operaciones como OVDR, SPD de control de velocidad del equipo; operaciones de MOV, MVS, etc., como movimientos del brazo robot; bucles de control con las instrucciones WHILE / WEND; y definición de variables como serán INTE, POS, IO, PLT. 1.2.1.- Sintaxis de la instrucción GOSUB. La explicación de la expresión es Go Subroutine. Función: Es acceder a la subrutina que se llama en la etiqueta que acompaña a la instrucción. En la sintaxis la podemos encontrar como <Call destination>. Es el parámetro que la acompaña. Sintaxis: GOSUB <Call destination> Parámetros: <Call Destination> Describe el nombre de la etiqueta. Proyectos de Innovación: Célula Robotizada Practica 5.1 Pallet doble 2x3 Subrutinas Página 3 de 13

Explicación: Aunque se puede llamar al parámetro de la forma que podamos identificarla por su lectura, se recomienda que cuando se llame a una subrutina en el programa base, utilice un nombre de etiqueta que comienza con "L_" (label). Hay que tener presente que se ejecutará cuando se llame y a cuantas etiquetas tengan el mismo nombre la rutina del programa será ejecutada. 1.2.2.- Sintaxis de la instrucción RETURN. Función: Cuando se utiliza en un subprograma o en una subrutina, hace que se regrese a la instrucción siguiente a la que se produjo la llamada. Sintaxis: En una subrutina tiene la función de retorno sin que le acompañe un parámetro, por lo que la instrucción queda como RETURN. Sintaxis en interrupciones: Al utilizarse en interrupciones se debe acompañar a la instrucción RETURN de los valores que nos permitan saber donde se retorna después de haberse ejecutado las instrucciones de la interrupción. RETURN 0 Devolver el control a la línea donde se generó la interrupción. RETURN 1 Devolver el control a la siguiente línea después de la línea donde se emitió la alarma. Explicación: Cuando hay un comando RETURN en una subrutina normal con un retorno al número de designación, y cuando hay un comando RETURN en una subrutina de interrupción de procesamiento sin retorno a número de destino, se producirá un error. Escribe la instrucción de retorno al final de la tramitación destino del salto llamado por la instrucción GOSUB Se produce un error si la instrucción RETURN se ejecuta sin ser llamado por la instrucción GOSUB. Utilice siempre la instrucción RETURN para volver de una subrutina cuando es llamado por la instrucción GOSUB. Se produce un error si la instrucción GOTO se utiliza para devolver, porque la memoria libre disponible para la estructura de control (memoria de pila) se reduce y, finalmente, se vuelve insuficiente. Proyectos de Innovación: Célula Robotizada Practica 5.1 Pallet doble 2x3 Subrutinas Página 4 de 13

1.2.3.- Sintaxis de la instrucción GOTO. Función: Es un salto incondicional a la etiqueta que acompaña a la instrucción. Sintaxis: GOTO <etiqueta destino> Parámetros: <etiqueta destino> Explicaciones: GOTO no se puede mandar a una etiqueta en el programa base. Así pues, incluso si el nombre de la etiqueta es designada en el programa de base, el error de ningún salto destino se producirá. 1.3.- Descripción de las entradas, salidas y instrucciones a utilizar. Nombre Descripción Dirección Función PART_AV Sensor al final de rampa de aporte Bit 6 Entrada de piezas COLOR Sensor colocado en la pinza para Bit 900 Entrada identificar el color de piezas MARCHA Pulsador de START de la consola de Bit 3 Entrada la estación de ensamblaje REST Pulsador de RESET de la consola de Bit 5 Entrada la estación de ensamblaje PMARCHA Piloto luminoso sobre el pulsador de START Bit 0 Salida PREST Piloto luminoso sobre el pulsador de Bit 1 Salida RESET Q1 Piloto de la consola de ensamblaje. Bit 2 Salida Indicará ciclo en funcionamiento Q2 Piloto de la consola de ensamblaje. Bit 3 Salida Indica fin de funcionamiento de ciclo Proyectos de Innovación: Célula Robotizada Practica 5.1 Pallet doble 2x3 Subrutinas Página 5 de 13

1.4.- Elementos del programa / simulación Piezas Negras Sobrantes Piezas Rojas Sobrantes Pallet Negro Pallet Rojo Pulsador de marcha + piloto asociado Piloto Q2 como exceso de piezas negras Pulsador de reset + piloto asociado Piloto Q1 como exceso de piezas rojas Proyectos de Innovación: Célula Robotizada Practica 5.1 Pallet doble 2x3 Subrutinas Página 6 de 13

1.5.- Descripción del programa El funcionamiento de este ciclo vendrá dado por la activación del pulsador de marcha (START) que nos será indicado mediante el pulsador luminoso asociado a él. Las piezas se irán incorporando al proceso por el módulo de rampa. En la peana del final de la rampa hay un sensor (PART_AV) que detectará la presencia de pieza en este lugar. Las piezas podrán ser incorporadas al proceso sin respetar un orden establecido por lo que hay que prever que habrá un pallet completo y antes de completar el otro, seguirán llegando piezas. Estas piezas de exceso para el pallet. Son llevadas a los depósitos para reservarlas y poder incorporarlas al proceso nuevamente. Una vez que se han completado los dos pallets los dos pilotos estarán iluminados y además el piloto del pulsador de reset. En este instante el brazo robot estará en reposo, por lo que podremos retirar los dos pallets y las piezas de los depósitos. Cuando accionemos el pulsador de reset, volveremos a dejar el proceso en las condiciones iniciales, y dispuesto a repetir el ciclo. Proyectos de Innovación: Célula Robotizada Practica 5.1 Pallet doble 2x3 Subrutinas Página 7 de 13

1.5.1.- Diagrama funcional REPOSO NO Pulsamos SI MARCHA SI Rojas <=6 y Negras <=6 NO RESET =1 SI NO PART_AV =1 SI Color de pieza Bit 900 SI COLOR =1 NO PIEZA ROJA PIEZA NEGRA M <=6 SI SI N <=6 DEPÓSITO DEPÓSITO NO PIEZAS ROJAS PIEZAS NEGRAS NO Proyectos de Innovación: Célula Robotizada Practica 5.1 Pallet doble 2x3 Subrutinas Página 8 de 13

1.5.2.- Diagrama de bloques *INICIO *CICLO GOSUB *CORRECTO *CORRECTO M<6 PALLET ROJO M>6 DEPÓSITO ROJO GOTO *FINR N<6 N>6 PALLET NEGRO DEPÓSITO NEGRO GOTO *FINN *FINR *FINN GOSUB *FIN *FIN Proyectos de Innovación: Célula Robotizada Practica 5.1 Pallet doble 2x3 Subrutinas Página 9 de 13

1.6.- Programa a realizar ----------------------------------------------------------------- Definimos variables de posicionamiento para los puntos del pallet como son las cuatro esquinas del mismo ----------------------------------------------------------------- DEF POS P101 DEF POS P102 DEF POS P103 DEF POS P104 DEF POS P105 DEF POS P106 DEF POS P107 Definimos una variable de posición para una distancia de seguridad, desde la cual realizaremos las operaciones MVS DEF POS SEG DEF POS ALT Definimos variables enteras para poder realizar el bucle while / wend para el total de las piezas a paletizar. DEF INTE M DEF INTE N Definimos la variable para usarla en el bucle para while/wend asignando el palet y el contador de piezas DEF POS P70 Asignamos valores a cada una de las posiciones de las esquinas del palet la distancia de seguridad y altura de pieza P101 = P100 + (56,0,0,0,0,0) P102 = P100 + (0,-95,0,0,0,0) P103 = P100 + (56,-95,0,0,0,0) SEG = (0,0,+100,0,0,0) P104 = P100 + (-170,0,0,0,0,0) P105 = P100 + (-114,0,0,0,0,0) P106 = P100 + (-170,-95,0,0,0,0) P107 = P100 + (-114,-95,0,0,0,0) Definimos la entrada de control del programa como detector de pieza al final de rampa. Dado por el bit 6 DEF IO PART_AV = BIT,6 DEF IO COLOR = BIT, 900 DEF IO MARCHA = BIT, 3 DEF IO REST = BIT,5 DEF IO Q1 = BIT, 2 DEF IO Q2 = BIT, 3 DEF IO PMARCHA = BIT,0 DEF IO PREST = BIT,1 Definimos el palet. DEF PLT 1, P100,P101,P102,P103,2,3,2 DEF PLT 2, P104,P105,P106,P107,2,3,2 Proyectos de Innovación: Célula Robotizada Practica 5.1 Pallet doble 2x3 Subrutinas Página 10 de 13

Inicio del ciclo de funcionamiento del programa *INICIO HOPEN 1 M=0 Colocamos a 0 las variables que controlan los N=0 pallets de color negro y color rojo Q1=0 Q2=0 También toman valor 0 los pilotos que identifican que se han completado los dos pallets PREST=0 PMARCHA = 1 IF MARCHA = 0 THEN *INICIO PMARCHA = 0 Piloto asociado a MARCHA está activado para saber cuál es el pulsador de inicio del ciclo Ciclo de funcionamiento de llenado de los pallets. El ciclo funcionará mientras no estén los dos llenos. *CICLO WHILE (M<=6) OR (N<=6) GOSUB *CORRECTO WEND Una vez llenados los dos pallets, llamamos a la subrutina de fin del ciclo de funcionamiento. WHILE (M>6) AND (N>6) GOSUB *FIN WEND END Subrutina del ciclo normal de llenado de los dos pallets identificando cada pieza y llevándolas al pallet de destino. *CORRECTO *LO IF PART_AV=0 THEN *LO MOV p99 Posición de inicio. HOPEN 1 Nos aseguramos que esté la pinza abierta. MOV P11 + SEG SPD 50 MVS P11 DLY (1) IF COLOR=1 THEN *ROJA ELSE *NEGRA ENDIF ---------------------------------- Colocamos piezas rojas en pallet. ---------------------------------- *ROJA M=M+1 IF M>6 THEN GOTO *FINR MOV P11+SEG MVS P1 Proyectos de Innovación: Célula Robotizada Practica 5.1 Pallet doble 2x3 Subrutinas Página 11 de 13

HCLOSE 1 MOV P100+SEG P70 =(PLT 1, M) MOV P70 + SEG MVS P70 HOPEN 1 MOV P70 + SEG RETURN ---------------------------------- Colocamos piezas negras en pallet ---------------------------------- *NEGRA N=N+1 IF N>6 THEN GOTO *FINN MOV P11+SEG MVS P1 HCLOSE 1 MOV P104+SEG P70 =(PLT 2, N) MOV P70 + SEG MVS P70 HOPEN 1 MOV P70 + SEG RETURN --------------------------------------------------- Caso de haber detectado una nueva pieza roja sin haber alcanzado el total de piezas negras, llevamos la pieza roja excedente al depósito. --------------------------------------------------- *FINR Q1=1 Indica que la pieza es llevada a depósito. MVS P1 HCLOSE 1 MOV P4 + SEG MVS P4 HOPEN 1 MOV P4 + SEG GOTO *CICLO --------------------------------------------------- Caso de haber detectado una nueva pieza negra sin haber alcanzado el total de piezas rojas, llevamos la pieza negra excedente al depósito. --------------------------------------------------- *FINN Q2=1 Indica que la pieza es llevada a depósito. MVS P1 HCLOSE 1 Proyectos de Innovación: Célula Robotizada Practica 5.1 Pallet doble 2x3 Subrutinas Página 12 de 13

MOV P5 + SEG MVS P5 HOPEN 1 MOV P5 + SEG GOTO *CICLO ---------------------------------------------------- En esta rutina espera a que sean retirados de forma manual los dos pallets y retiramos las piezas de los depósitos para que sean reutilizadas. ---------------------------------------------------- *FIN PREST=1 IF REST=0 THEN *FIN GOTO *INICIO Proyectos de Innovación: Célula Robotizada Practica 5.1 Pallet doble 2x3 Subrutinas Página 13 de 13