Você está na página 1de 13

PROGRAMA PRINCIPAL DEL ROBOT DE PINTURA

El programa principal del robot tiene como objetivo administrar y ejecutar los subprogramas de pintura de cada una las caras de la pieza, inicia con el pozo, luego pasa a pintar el pie y la parte del DEF pintura_4262( ) ;Programa 7_1 con pintura vertical del cuerpo FOLD PTP HOME Vel=50 % DEFAULT; LOOP WAIT FOR $in[9] ;Seal de esmaltado de pieza $OUT[1]=FALSE ;Bloqueo del movimiento de carrusel $OUT[10]=TRUE ;//////////// $OUT[11]=true $OUT[12]=TRUE ;Bloque para el tipo de brocha a usar $OUT[13]=TRUE ;//////////// $OUT[4]=TRUE ;Habilita Giro de 180 grados de la torreta pozo() ;Subprograma para pintar el poso con un giro de 36 grados de toda la pieza ;//////////// $OUT[11]=true $OUT[12]=true $OUT[13]=TRUE ;////////////

;Bloque para el tipo de brocha a usar

$OUT[4]=FALSE ;Habilita Giro de 90 grados en la torreta FOLD PTP P21 Vel=50 % PDAT36 Tool[1]:pistolas Base[0] ;Punto de posicionamiento del robot para el siguiente subprograma PULSE($OUT[3],TRUE,0.5) ;Giro de la torreta segn el bit 4 le indique WAIT SEC 2 ;Espera dos segundos a que la torreta termine de girar pie_d() ;Pintura del pie y de la tubera sobresaliente en el cuerpo de la pieza ;////////////

$OUT[11]=TRUE $OUT[12]=FALSE ;Bloque para el tipo de brocha a usar $OUT[13]=TRUE ;//////////// $OUT[4]=TRUE ;Habilita Giro de 180 grados en la torreta FOLD PTP P20 CONT Vel=50 % PDAT33 Tool[1]:pistolas Base[0] ;Punto de posicionamiento del robot para el siguiente subprograma anillo_d() ; Subprograma de pintura del anillo de la pieza comenzando por el lado derecho y terminando en el izquierdo ;//////////// $OUT[11]=TRUE $OUT[12]=TRUE ;Bloque para el tipo de brocha a usar $OUT[13]=TRUE ;//////////// $OUT[4]=FALSE ;Habilita Giro de 90 grados en la torreta FOLD PTP P15 CONT Vel=50 % PDAT31 Tool[1]:pistolas Base[0] ;Punto de posicionamiento del robot para el siguiente subprograma $out[9]=true ;Disparo de pistolas(Mientras este True dispara) WAIT SEC 0.5 ;espera 0.5 segundos PULSE($OUT[3],TRUE,1) ;Giro de la torreta segn el bit 4 le indique cuerpo_i() ;Subprograma de pintura del cuerpo de la pieza iniciando en la parte izquierda y terminando en la derecha WAIT SEC 1 ;Espera un segundo a que termine de girar la torreta FOLD PTP P6 Vel=50 % PDAT43 Tool[1]:pistolas Base[0] ;Punto de posicionamiento del robot PULSE($OUT[3],TRUE,0.5) ;Giro de la torreta segn el bit 4 le indique WAIT SEC 4 ;Espera a que la torreta termine de girar $OUT[9]=TRUE ;Activa disparo de la pistola ; Movimientos para pintar la parte trasera de la pieza

FOLD PTP P28 CONT Vel=22 % PDAT40 Tool[1]:pistolas FOLD PTP P27 CONT Vel=22 % PDAT38 Tool[1]:pistolas FOLD PTP P17 CONT Vel=50 % PDAT46 Tool[1]:pistolas FOLD PTP P18 CONT Vel=50 % PDAT47 Tool[1]:pistolas FOLD PTP P19 CONT Vel=50 % PDAT48 Tool[1]:pistolas ;///////////////////////////////////////////////////// $OUT[9]=FALSE ;Finaliza disparo de la pistola FOLD PTP HOME Vel=50 % PDAT18 ;Robot regresa a Home

Base[0] Base[0] Base[0] Base[0] Base[0]

$OUT[1]=TRUE PULSE($OUT[2],TRUE,1) ;pulso de finalizacin de Esmaltado de pieza limpiar() ;Subprograma de limpieza PULSE($OUT[2],TRUE,1) ;pulso para activar bomba de esmaltado para la siguiente pieza FOLD PTP HOME Vel=50 % PDAT41 ;Robot regresa a Home ENDLOOP END

Subprograma de pintura del pozo


El subprograma pozo lo que realiza es: mientras la pieza est girando el robot coloca la pistola justo en el centro de la elipse que forma el pozo, de esta manera es como si la pieza girara en el centro de la elipse y el robot siempre apuntara al mismo sitio provocando que se pinte todo el interior del pozo. El ciclo del programa comienza y termina en el punto P6. Por tanto es muy importante mantener el robot sincronizado con el centro de la elipse para que la pistola no se adelante ni se atrase y la aplicacin sea buena.

Figura 1.- Distribucin de puntos de pintura en la elipse

Figura 2.- Demostracin de la sincronizacin del robot con el giro de la pieza.

Codigo del programa


DEF pozo( ) $OUT[11]=FALSE $OUT[12]=TRUE $OUT[13]=TRUE ;2300 ESMALTE cantidad de esmalte

FOLD PTP P6 Vel=40 % PDAT10 Tool[1]:pistolas Base[0] ;Punto inicial del movimiento para la pintura PULSE($OUT[3],TRUE,0.5) ;Pulso de giro de 180 grados de la torreta $ADVANCE=2 ;Coloca el avance del cdigo a dos lneas PULSE($OUT[9],TRUE,4) ;Pulso de disparo de 4 segundos $ADVANCE=1 ;Coloca el avance del cdigo a una lnea ;Inicio del seguimiento del centro de la pieza FOLD LIN P16 CONT Vel=0.07 m/s CPDAT24 Tool[1]:pistolas Base[0]

FOLD LIN P7 CONT Vel=0.07 m/s CPDAT23 Tool[1]:pistolas Base[0] FOLD LIN P17 CONT Vel=0.07 m/s CPDAT25 Tool[1]:pistolas Base[0] FOLD LIN P8 CONT Vel=0.09 m/s CPDAT10 Tool[1]:pistolas Base[0] ;////////////////////////////////////////////// wait sec 1.5 ;Espera 1.5 segundos a que la torreta se posicione $ADVANCE=1 ;Coloca el avance de cdigo a una lnea PULSE($OUT[3],TRUE,0.5) ;Pulso de giro de 180 grados de la torreta $ADVANCE=2 ; Coloca el avance del programa a 2 lneas PULSE($OUT[9],TRUE,4) ;Pulso de disparo de la pistola de pintura $advance=1 ; Cola el avance del programa a 1 lnea ;Inicio del seguimiento del centro de la pieza FOLD LIN P18 CONT Vel=0.07 m/s CPDAT26 Tool[1]:pistolas Base[0] FOLD LIN P5 CONT Vel=0.07 m/s CPDAT16 Tool[1]:pistolas Base[0] FOLD LIN P19 CONT Vel=0.08 m/s CPDAT27 Tool[1]:pistolas Base[0] FOLD LIN P6 CONT Vel=0.08 m/s CPDAT29 Tool[1]:pistolas Base[0] ;////////////////////////////////////////////// WAIT SEC 1 ;Espera 1 segundos a que la torreta se posicione END

Subprograma de pintura del pie


El subprograma de pintura del pie se encarga de pintar los dos lados laterales de la pieza conocidos como Pie y Desage del inodoro. Este programa consta de tres partes la primera pinta el lado derecho, la segunda es la transicin entre el derecho y el izquierdo y la tercera parte pinta el lado izquierdo. Cada punto de las trayectorias est indicados en las figuras 3, 4 y 5.

Figura 3.- Trayectoria de pintura del lado derecho de la pieza.

Figura 4.- Trayectoria de pintura del lado izquierdo de la pieza

Figura 5.- Trayectoria de pintura de la transicin del lado derecho al izquierdo.

DEF pie_d( ) FOLD PTP P1 Vel=60 % PDAT1 Tool[1]:pistolas Base[0] $OUT[9]=TRUE ;Activa el disparo de pistola de esmalte. WAIT SEC 0.6 ;Incrementa la capa en el pie derecho ;Primera etapa de pintura del lado derecho FOLD PTP P2 Vel=10 % PDAT4 Tool[1]:pistolas Base[0] FOLD PTP P3 Vel=50 % PDAT5 Tool[1]:pistolas Base[0] FOLD PTP P4 Vel=25 % PDAT9 Tool[1]:pistolas Base[0] FOLD PTP P5 Vel=25 % PDAT8 Tool[1]:pistolas Base[0] ;//////////////////////////////////////////////// $OUT[9]=FALSE ;Desactiva el disparo de la pistola de esmalte. $out[4]=true ;Activa las dos pistolas FOLD PTP P6 Vel=50 % PDAT16 Tool[1]:pistolas Base[0] ;Punto de posicionamiento para la transicin; PULSE($OUT[3],TRUE,0.5) ;Activa el giro de la torreta $OUT[9]=TRUE ;Activa el disparo de la pistola WAIT SEC 3.5 ;espera 3.5 segundos hasta que gire la torreta $OUT[9]=TRUE ;Activa el disparo de la pistola ;movimiento final para terminar la transicin FOLD PTP P16 CONT Vel=35 % PDAT21 Tool[1]:pistolas Base[0] FOLD PTP P14 CONT Vel=35 % PDAT19 Tool[1]:pistolas Base[0]

FOLD PTP P15 CONT Vel=50 % PDAT20 Tool[1]:pistolas Base[0] FOLD PTP P11 Vel=50 % PDAT11 Tool[1]:pistolas Base[0] ;//////////////////////////////////////////// $OUT[9]=true ;Tercera del programa encargada de pintar el lado y pie izquierdo. FOLD PTP P10 Vel=30 % PDAT12 Tool[1]:pistolas Base[0] FOLD PTP P9 Vel=50 % PDAT13 Tool[1]:pistolas Base[0] FOLD PTP P8 Vel=30 % PDAT14 Tool[1]:pistolas Base[0] FOLD PTP P7 Vel=10 % PDAT15 Tool[1]:pistolas Base[0] ;/////////////////////////////////////////////////// $OUT[9]=FALSE ;Activa el disparo de la pistola END

Subprograma para la pintura del anillo


Esta parte del programa pinta la cara superior del anillo y la cola de la pieza, esto lo hace movimientos repetitivos pasando 2 veces por cada cara del lado derecho e izquierdo, y llegando hasta la cola. Este mtodo tiene como objetivo incrementar es espesor de la capa de pintura en funcin de cuan cerca est la pistola de la cara, por tanto es recomendable mantener las distancias actuales del programa puesto que es una distancia ya probada previamente.

DEF anillo_d( )

FOLD PTP P9 Vel=40 % PDAT13 Tool[1]:pistolas Base[0] ;Punto de Inicio del movimiento. $OUT[9]=TRUE ;Activa el disparo de la pistola de esmalte ; Trayectoria que pinta la mitad derecha del anillo del inodoro. FOR I=1 TO 2 FOLD PTP P10 CONT Vel=22 % PDAT14 Tool[1]:pistolas Base[0] FOLD PTP P11 CONT Vel=22 % PDAT15 Tool[1]:pistolas Base[0] FOLD PTP P12 CONT Vel=18 % PDAT16 Tool[1]:pistolas Base[0] FOLD PTP P11 CONT Vel=22 % PDAT17 Tool[1]:pistolas Base[0] FOLD PTP P10 CONT Vel=22 % PDAT18 Tool[1]:pistolas Base[0] FOLD PTP P9 CONT Vel=22 % PDAT19 Tool[1]:pistolas Base[0] ENDFOR $OUT[9]=FALSE ; Desactiva el disparo de la pistola de esmalte. PULSE($OUT[3],TRUE,0.5) ; Gira 180 grados la torreta FOLD PTP P1 Vel=40 % PDAT20 Tool[1]:pistolas Base[0] ; Punto de inicio del movimiento WAIT SEC 3 $OUT[9]=TRUE ; Inicia el disparo de la pistola de esmalte ; Trayectoria que pinta la mitad izquierda del anillo FOR I=1 TO 2 FOLD PTP P2 CONT FOLD PTP P7 CONT FOLD PTP P6 CONT FOLD PTP P7 CONT FOLD PTP P2 CONT FOLD PTP P1 CONT ENDFOR $OUT[9]=FALSE END Vel=22 Vel=22 Vel=18 Vel=22 Vel=22 Vel=22 % % % % % % PDAT21 PDAT22 PDAT23 PDAT24 PDAT25 PDAT26 Tool[1]:pistolas Tool[1]:pistolas Tool[1]:pistolas Tool[1]:pistolas Tool[1]:pistolas Tool[1]:pistolas Base[0] Base[0] Base[0] Base[0] Base[0] Base[0]

; Desactiva el disparo de la pistola de esmalte

Subprograma de pintura del cuerpo


Esta parte del programa tiene como objetivo pintar todo el cuerpo de la pieza mediante un movimiento vertical de arriba hacia abajo mientras la pieza gira en la torreta, la dinmica del mtodo de pintura es la siguiente:

Comienza con los movimientos verticales en lado izquierdo mientras la pieza termina de posicionarse con el lado frontal (Pansa) hacia el robot. Una vez posicionado se activa el giro de 180 grados de la torreta. Y se mantiene el movimiento vertical del brazo. Cuando el giro esta aproximadamente en la mitad y cerca de llegar a la parte trasera de la pieza el brazo sigue haciendo el movimiento vertical pero ms cerca (puntos P10-P11) Cuando la torreta llega 180 grados tiene a demorarse en parar para volver a girar, en este momento el brazo mantiene el movimiento para incrementar la capa de pintura en la parte trasera de la pieza. Luego la pieza continua girando y cuando esta por la mitad llegando a la parte frontal el brazo retrocede (puntos P3-P4) hasta llegar a girar completamente y quedar de frente al robot. Luego el brazo pasa al lado derecho y realiza el mismo mtodo con la diferencia de que usa los puntos P0-P1 para la parte alejada del brazo y P12-P13 para la parte cercana del brazo.

DEF cuerpo_i( ) ; Pinta el cuerpo en general mientras la torreta se posiciona FOR I=1 TO 5 FOLD PTP P3 Vel=50 % PDAT5 Tool[1]:pistolas Base[0] FOLD PTP P4 Vel=50 % PDAT23 Tool[1]:pistolas Base[0] ENDFOR $OUT[4]=TRUE ;Activa movimientos de 180 grados $OUT[3]=TRUE ;Activa el movimiento de la torreta.

; Pinta el cuerpo mientras que la torreta gira FOR I=1 TO 6 FOLD PTP P3 Vel=50 % PDAT10 Tool[1]:pistolas Base[0] FOLD PTP P4 Vel=50 % PDAT11 Tool[1]:pistolas Base[0] ENDFOR ;//////////////////////////////////////////// $OUT[3]=FALSE ;Termina el movimiento de la torreta ; Pinta la parte lateral trasera del lado izquierdo FOR I=1 TO 2 FOLD PTP P10 Vel=50 % PDAT19 Tool[1]:pistolas Base[0] FOLD PTP P11 Vel=50 % PDAT20 Tool[1]:pistolas Base[0] ENDFOR $OUT[3]=TRUE ; Activa el movimiento de la torreta. ; Pinta el cuerpo mientras que la torreta gira FOR I=1 TO 5 FOLD PTP P3 Vel=50 % PDAT12 Tool[1]:pistolas Base[0] FOLD PTP P4 Vel=50 % PDAT13 Tool[1]:pistolas Base[0] ENDFOR ;//////////////////////////////////////////// $OUT[3]=FALSE ; Termina el movimiento de la torreta $OUT[9]=FALSE ;Desactiva la pistola de esmalte ; Movimiento transitorio de izquierda a derecha FOLD PTP P2 Vel=50 % PDAT8 Tool[1]:pistolas Base[0] FOLD PTP P0 Vel=50 % PDAT26 Tool[1]:pistolas Base[0] ;////////////////////////////////// $OUT[9]=TRUE ; Activa a la pistola de esmalte $OUT[3]=TRUE ;Activa el movimiento de la torreta ; Movimiento vertical de pintura FOR I=1 TO 6 FOLD PTP P0 Vel=50 % PDAT14 Tool[1]:pistolas Base[0] FOLD PTP P1 Vel=50 % PDAT15 Tool[1]:pistolas Base[0] ENDFOR ;//////////////////////////////// $OUT[3]=FALSE ;Desactiva el movimiento de la torreta ; Pinta la parte lateral trasera del lado derecho

FOR I=1 TO 2 FOLD PTP P12 Vel=50 % PDAT21 Tool[1]:pistolas Base[0] FOLD PTP P13 Vel=50 % PDAT22 Tool[1]:pistolas Base[0] ENDFOR $OUT[3]=TRUE ;Activa el movimiento de la torreta ; Movimiento vertical de pintura FOR I=1 TO 5 FOLD PTP P0 Vel=50 % PDAT16 Tool[1]:pistolas Base[0] FOLD PTP P1 Vel=50 % PDAT17 Tool[1]:pistolas Base[0] ENDFOR $OUT[3]=FALSE ; Desactiva el movimiento de la torreta FOLD PTP P2 Vel=60 % PDAT25 Tool[1]:pistolas Base[0] $OUT[9]=FALSE ; Desactiva la pistola de esmalte END

Subprograma de limpieza
Este subprograma lo que hace es limpiar las boquilla de las pistolas con movimientos de 180 grados en sentido anti horario y horario sobre una esponja mientras se deja caer agua sobre estas. Este sub programa es ejecutado siempre despus de pintar cada pieza.

DEF limpiar( ) ; Posicionamiento de las pistolas en la esponja FOLD PTP P3 Vel=50 % PDAT3 Tool[1]:pistolas Base[0] FOLD PTP P2 Vel=50 % PDAT2 Tool[1]:pistolas Base[0] FOLD PTP P1 Vel=50 % PDAT1 Tool[1]:pistolas Base[0] ; ////////////////////////////////////////////// $OUT[16]=TRUE ; Activa salida de agua ; Movimiento giratorio de 180 grados en las esponjas FOR I=1 TO 4 FOLD PTP P4 Vel=30 % PDAT7 Tool[1]:pistolas Base[0] FOLD PTP P5 Vel=30 % PDAT8 Tool[1]:pistolas Base[0] ENDFOR ;////////////////////////////////////////////////// $OUT[16]=FALSE ; Desactiva salida de agua

; Regreso del brazo a Home FOLD PTP P1 Vel=50 % PDAT9 Tool[1]:pistolas Base[0] FOLD PTP P2 Vel=50 % PDAT4 Tool[1]:pistolas Base[0] FOLD PTP P3 Vel=50 % PDAT5 Tool[1]:pistolas Base[0] ;///////////////////////////////////////////////// END

Seccin final de cdigo en el programa principal

; Movimientos para pintar la parte trasera de la pieza FOLD PTP P28 CONT Vel=22 % PDAT40 Tool[1]:pistolas FOLD PTP P27 CONT Vel=22 % PDAT38 Tool[1]:pistolas FOLD PTP P17 CONT Vel=50 % PDAT46 Tool[1]:pistolas FOLD PTP P18 CONT Vel=50 % PDAT47 Tool[1]:pistolas FOLD PTP P19 CONT Vel=50 % PDAT48 Tool[1]:pistolas ;///////////////////////////////////////////////////// Base[0] Base[0] Base[0] Base[0] Base[0]

Você também pode gostar