Iberia F2F Training Day x Julián Carrillo Practicas Motion Sysmac 1 Cizalla con Marca Cizalla con Marca Diseña un programa para el control de ejes de una cizalla rotativa por corte por detección de marcas. Detector Perímetro 160mm Out 140mm Perímetro 110mm El esquema representa una maquina de corte rotativa, controlaremos el eje de corte y el eje que desplaza el material (la cinta), Cizalla con Marca Principio de funcionamiento: El material viene arrastrado por el eje de la cinta, cuando la marca es vista por el detector la cizalla ha de sincronizarse con la cinta de forma que corte el material por la marca.. Detector Perímetro 160mm Out Marca 140mm Perímetro 110mm Secuencia: Los ejes se ponen en run. (MC_Power), Realizan la búsqueda de origen, quedando la cizalla en la posición indicada,(MC_Home, MC_SetPosition, MC_MoveRelative…), La cinta comienza a arrastrar el material (MC_MoveVelocity) Cizalla con Marca Cuando la marca es detectada, la posición del eje de la cinta ha de ser reiniciada, haciendo de esta forma un cero real sobre el eje de arrastre (MC_TouchProbe, MC_SetPosition) Detector Out Posición “0” 140mm Perímetro 110mm Marca detectada Cizalla con Marca Tras la detección de la marca, se lanza el movimiento sobre la cizalla para sincronizarlo en posición con la cinta de arrastre (MC_Movelink) Detector Out Perímetro 110mm Cizalla con Marca La cuchilla de la cizalla ha de realizar el corte por la marca, llegando perfectamente sincronizado en posicion y velocidad para evitar arrugar o rasgar el material (configuración del MC_Movelink) Perímetro 160mm Detector Out Perímetro 110mm Solución Añadimos los esclavos a la red EtherCat. La Democase tiene versiones de servo V2.0 Solución Configuramos los ejes. Solución Run de los ejes (MC_Power), búsqueda de origen (MC_Home, MC_SetPosition), posicionado de la cizalla (MC_MoveRelative…) Para el Home, configuramos la búsqueda por Z, y posteriormente avanzamos el eje a la posición de origen de Maquina Solución Configuración del Homing para el eje de la cizalla (Shear) Solución Una vez realizado el homing y llevados los ejes a su posicion de inicio, ceros de maquina, empezamos a arrastrar el material, por tanto ponemos en marcha el arrastre (Cinta) en control de velocidad (MC_MoveVelocity) Solución Con el arrastre en marcha, se carga el registro (MC_TouchProbe) para capturar la posición de llegada de la marca, una vez ha sido capturada se hace un cero en la posición del arrastre (MC_SetPosition) Solución Por último, una vez realizado el cero del eje de arrastre lanzamos el Movelink (MC_Movelink) sobre el eje de cizalla para sincronizar con la marca y realizar el corte Variables Variables del Programa 2 Etiquetadora Cizalla con Marca Diseña un programa para el control de ejes de una máquina etiquetadora de botellas Detector Bobina Detector Perímetro 160mm M2 M1 Perímetro 110mm 140 Botella El esquema representa una máquina etiquetadora, controlaremos el eje del cabezal que pone las etiquetas y el eje que desplaza las botellas (la cinta), Cizalla con Marca Principio de funcionamiento: Las botellas viene arrastradas por el eje de la cinta, cuando la botella es vista, el cabezal ha de sincronizarse con la cinta de forma que ponga la etiqueta de la forma correcta. En esta ocasión se usan dos detectores, uno de botella y otro de etiquetas. Detector Bobina Detector Perímetro 160mm M2 M1 Perímetro 110mm 140 Botella El objetivo del detector de etiquetas es corregir los posibles fallos mecánicos en el cabezal de arrastre, tales como excentricidades, deslizamientos o etiquetas no equidistantes. Cizalla con Marca Cuando el detector registra que una etiqueta viene retrasada (o adelantada) se corrige en el siguiente ciclo, si no se usara este método, los errores se irían acumulando y las etiquetas al cabo de un tiempo de funcionamiento se habrían desplazado considerablemente. Detector Bobina Detector Perímetro 160mm M2 M1 Perímetro 110mm 140 Botella Cizalla con Marca Secuencia: Los ejes se ponen en Run (MC_Power), Se realiza la búsqueda de origen de los motores (MC_Home, MC_SetPosition) y se posiciona la etiqueta en la posición correcta de salida, un poco sacada de la cuña del aplicador (MC_MoveRelative). Detector Bobina Detector Etiqueta M2 M1 Botella La etiqueta se posiciona ligeramente adelantada, para asegurar que en caso de que haya deslizamiento, siempre se detecte el entre hueco, a menos que el deslizamiento sea excesivo. Cizalla con Marca Se suman ejes virtuales sobre el real del cabezal que serán los que realizaran la compensación de los errores (MC_CombineAxis), La cinta comienza a arrastrar las botellas (MC_MoveVelocity) Detector Bobina Detector M2 M1 Botella Cizalla con Marca Cuando la marca es detectada la posición del eje de la cinta ha de ser reiniciada haciendo de esta forma un cero real sobre el eje de arrastre (MC_TouchProbe,MC_SetPosition) Detector Bobina Detector Botella detectada M2 M1 Botella Se lanza la captura de registros sobre el eje del cabezal para detectar la llegada de la próxima etiqueta y comprobar si viene en la posición adecuada. (MC_TouchProbe). Cizalla con Marca Se laza el movimiento sobre uno de los ejes combinados con el cabezal para sincronizar la llegada de la botella con el pegado de etiqueta (MC_Movelink) Detector Bobina Detector M2 M1 Botella Al mismo tiempo se lanza sobre el otro eje combinado con el cabezal la corrección del deslizamiento de etiquetas del ciclo anterior (MC_Movelink) Cizalla con Marca Una vez terminado el movimiento del cabezal se descombinan los ejes y se realiza un reset de la posición de cabezal al nuevo cero real (MC_Stop, MC_SetPosition) Etiqueta detectada Detector Bobina Detector M2 M1 Botella Una vez realizado el cero, también se aprovecha el dato de la posición de llegada de la etiqueta registrado para calcular el error cometido si existe, comparándolo con la posición teórica de llegada Solución Añadimos los esclavos a la red EtherCat. La Democase tiene versiones de servo V2.0 Solución Configuramos los ejes. Hay que tener en cuenta que para esta aplicación, aparte de los dos ejes reales hay que definir dos ejes adicionales para trabajar con las correcciones (MC_CombineAxis) Virtual Virtual Real Real Solución Run de los ejes (MC_Power), búsqueda de origen (MC_Home, MC_SetPosition), posicionado de la etiqueta (MC_MoveRelative…) Para el Home del cabezal de etiquetado, configuramos la búsqueda por entrada externa, y posteriormente avanzamos el eje a la posición de origen de Maquina Solución Configuración del Homing para el eje del cabezal de etiquetas Solución Usamos la instrucción MC_CombineAxis para unir los ejes Virtuales y el Real, desde este momento todos lo movimientos referidos al eje real del cabezal, los lanzaremos a través del eje Cabezal_Virtual, ya que la suma de los movimientos de Cabezal_Virtual y Cabezal_Auxiliar serán los que generen el perfil de movimiento del eje real Cabezal Se pone en marcha el arrastre (cinta) para mover las botellas en control de velocidad (MC_MoveVelocity) Solución Cargamos el registro de captura de posición (MC_ToucPrube) sobre el eje de la cinta, con ello detectaremos la posición de llegada de botellas, esta posición la emplearemos para poner a cero la cinta y de esta forma referenciar la posición de lanzado del Movelink que pone las etiquetas Solución Una vez puesto el cero, lanzamos el Movelink (MC_Movelink) sobre el cabezal de etiquetado (Cabezal_Virtual) para sincronizar la llegada de botella con la alimentación de la etiqueta Solución Al mismo tiempo que se lanza el Movelink de puesta de etiqueta sobre el eje virtual de Cabezal_virtual, se lanzará sobre el eje Cabezal_Auxiliar la corrección debida al deslizamiento, ya que la suma de los dos será el movimiento resultante en el eje cabezal (Real) La primera vez, el error será cero con lo que no se realizará ningún movimiento sobre este eje Auxiliar. Solución Además, como al mismo tiempo se trata de calcular los errores del cabezal, se carga la instrucción de registro de posición sobre cabezal, de esta forma tendremos la posición real de llegada de la siguiente etiqueta Una vez capturada la posición se hace el nuevo cero real del cabezal, pero no antes de deshacer la relación de conexión de los ejes (MC_CombineAxis) para evitar obtener un error, y se calcula el error cometido entre la posición teórica de llegada de la etiqueta y la llegada real. Solución Además, como al mismo tiempo se trata de calcular los errores del cabezal, se carga la instrucción de registro de posición sobre cabezal, de esta forma tendremos la posición real de llegada de la siguiente etiqueta Una vez capturada la posición se hace el nuevo cero real del cabezal, pero no antes de deshacer la relación de conexión de los ejes (MC_CombineAxis) para evitar obtener un error, y se calcula el error cometido entre la posición teórica de llegada de la etiqueta y la llegada real. Variables Variables del Programa Adicional Sección de paradas, reset de errores y reset de Trigger 3 Editor Cam Editor Cam Diseñar una Cam para controlar la altura de la boquilla de dosificado sincronizada con el eje maestro que mueve la cinta. = = 100 0 -70 -100 y x Filling Approach ready 0 100 wait (constant Speed) 150 200 end 350 ready 500 Perfil de Posición Perfil de Posición + Velocidad Perfil de Velocidad + Aceleración Ejercicio 2 Estimar el ciclo mínimo para las siguientes limitaciones mecánicas de la boquilla de dosificación de helado – Maxima velocidad de la boquilla 0.5 m/s – Maxima aceleracion 3m/s² Ejercicio 2 1. Configuramos el limite de velocidad a 500 mm/s y Aceleración a 3000 mm/s2 2. Ponemos un valor arbritario de ciclo Ejercicio 2 3. Chequeamos el valor de la velocidad (en ambos sentidos) para el ciclo elegido, fijándonos en si sobrepasa la línea que marca el limite de velocidad It crosses the 500 mm/s limit Ejercicio 2 4. Ajustamos de nuevo el ciclo tratando de encontrar cual nos permite estar por debajo de los limites ajustándonos al mejor posible Ejercicio 2 5. Actuamos igual para la aceleración Habrá que aumentar de nuevo el ciclo para no sobrepasar los valores limites Ejercicio 2 Comprobamos de nuevo la velocidad Por tanto, el tiempo de ciclo mínimo para la Cam es de 2.3 seg, para una aceleración máxima de 3m/s² y una velocidad máxima de aproximadamente 0.4 m/s, por debajo del limite de 2 m/s. Ejercicio 3 Usando el editor calcular la Cam del eje X donde esta instalada la boquilla que sigue al eje maestro En primer lugar, tendremos que fijarnos en cual es el recorrido máximo durante la sincronización: -Podemos ver que el recorrido es de 500 mm de maestro, pero tan solo se dosifica durante 350. -Así, tenemos 150 mm de maestro para volver a la posición de inicio Ejercicio 3 Por tanto: Perfil Posición Perfil Velocidad Ejercicio 3 Por tanto: Perfil Aceleración Ejercicio 4 Añadimos los esclavos a la red EtherCat. La Democase tiene versiones de servo V2.0 Ejercicio 4 Configuramos los ejes. Ejercicio 4 Programa: Se ponen en run los ejes (MC_Power), y una vez puestos en run hacemos el Home de los ejes (MC_Home). Ejercicio 4 Usamos la instrucción F_TRIG para usar el flanco de bajada de Busy de la instrucción de origen (MC_Home) para lanzar la Cam (MC_CamIn) y una vez conectados movemos el eje maestro (MC_MoveVelocity). Variables Variables del Programa 4 Grupo de ejes Grupo de ejes Realiza un programa que trace el siguiente patrón Empezando desde (0,0) seguir las flechas, mover a velocidad constante durante todo el recorrido, configurándolo para que las transiciones sean suaves. Solución Añadimos los esclavos a la red EtherCat. La Democase tiene versiones de servo V2.0 Solución Configuramos los ejes. Solución Configuramos los ejes. Solución Programa: Se ponen en run los ejes (MC_Power), y una vez puestos en run hacemos el Home de los ejes (MC_Home). Solución Usamos la instrucción F_TRIG para usar el flanco de bajada de Busy de la instrucción de origen (MC_Home) para lanzar la activación del grupo (MC_GroupEnable) y utilizamos un bloque de ST para definir los Puntos del trazado, los radios, las configuraciones de lo modos de las interpolaciones… Solución Código de la línea ST Solución Una vez activado el Grupo, lanzamos las interpolaciones, para ello usamos la variable de salida Done de Activar_grupo (MC_GroupEnable), como lanzamos en modo buffer, para que el movimiento sea correcto se programan por orden descendente. Solución … Solución … Solución … Ejercicio 2 Sección de Override Variables Variables del Programa Adicional Sección de parada y desactivado de Grupos