DEF PROG_3_Alvarez ( )
INT I, J, X, Y, Z, PIEZAS, CAPA
REAL LARGO, ANCHO, ALTO
POS CINTA, PALET, IMPARH, IMPARV, PARH, PARV
INI
PTP HOME Vel= 100 % DEFAULT
$Tool = TOOL_DATA[2]
FOR I = 1 TO 6
$ACC_AXIS[I] = 50
$VEL_AXIS[I] = 50
ENDFOR
LARGO = 80
ANCHO = 40
ALTO = 40
CINTA.X = (9*ANCHO) - (ANCHO/2)
CINTA.Y = (2*LARGO) - (LARGO/2)
CINTA.Z = ALTO + 50
PALET.X = (3 * ANCHO) - (ANCHO/2)
PALET.Y = (2 * LARGO) - (LARGO/2)
PALET.Z = ALTO + 50
PALET.X = (3 * ANCHO) - (ANCHO/2)
PALET.Y = (2 * LARGO) - (LARGO/2)
PALET.Z = ALTO + 50
PIEZAS = 0
$BASE = BASE_DATA[4]
PTP{X 340, Y 120, Z 90, A 0, B -90, C -180, S 'B110', T 'B110010'}
FOR CAPA = 1 TO 3
FOR I = 1 TO 6
PIEZAS = PIEZAS +1
SWITCH PIEZAS
CASE 2, 4, 6, 8, 10, 12, 14, 16, 18
CINTA.Y = LARGO/2
$BASE = BASE_DATA[4]
LIN CINTA
LIN_REL {Z -50}
COGER()
LIN_REL {Z 100}
CINTA.X = CINTA.X - ANCHO
CASE 1, 3, 5, 7, 9, 11, 13, 15, 17
CINTA.Y = LARGO * 1.5
$BASE = BASE_DATA[4]
LIN CINTA
LIN_REL {Z -50}
COGER()
LIN_REL {Z 100}
ENDSWITCH
$BASE = BASE_DATA[5]
SWITCH CAPA
CASE 1, 3
IF I == 1 then
IMPARH.X = PALET.X -( LARGO + ANCHO/2)
IMPARH.Y = PALET.Y - ANCHO
IMPARH.Z = PALET.Z + (CAPA-1)*ALTO
IMPARV.X = PALET.X -(LARGO/2)
IMPARV.Y = PALET.Y -(ANCHO/2)
IMPARV.Z = PALET.Z + (CAPA-1)*ALTO
ENDIF
SWITCH I
CASE 1, 2, 4, 5
LIN IMPARV
LIN {A 90}
LIN_REL {Z -50}
SOLTAR()
LIN_REL {Z 50}
LIN {A -90}
IMPARV.Y = IMPARV.Y - ANCHO
CASE 3, 6
LIN IMPARH
LIN_REL {Z -50}
SOLTAR()
LIN_REL {Z 50}
IMPARH.Y = IMPARH.Y - LARGO
ENDSWITCH
CASE 2
IF I == 1 then
PARH.X = PALET.X -(ANCHO/2)
PARH.Y = PALET.Y -(LARGO/2)
PARH.Z = PALET.Z + (CAPA-1)*ALTO
PARV.X = PALET.X -(ANCHO + LARGO/2)
PARV.Y = PALET.Y -(ANCHO/2)
PARV.Z = PALET.Z + (CAPA-1)*ALTO
ENDIF
SWITCH I
CASE 1, 2, 4, 5
LIN PARV
LIN {A 90}
LIN_REL {Z -50}
SOLTAR()
LIN_REL {Z 50}
LIN {A -90}
PARV.Y = PARV.Y - ANCHO
CASE 3, 6
LIN PARH
LIN_REL {Z -50}
SOLTAR()
LIN_REL {Z 50}
PARH.Y = PARH.Y - LARGO
ENDSWITCH
ENDSWITCH
ENDFOR
ENDFOR
PTP HOME Vel= 100 % DEFAULT
END
DEF COGER()
$OUT[2]=TRUE
$OUT[5]=FALSE
WAIT SEC 1.000000
END
DEF SOLTAR()
$OUT[2]=FALSE
$OUT[5]=TRUE
WAIT SEC 1.000000
END