martes, 2 de abril de 2013

Programación con Macros B


La programación con macros permite repetir operaciones sin tener que volver a programarlas enteras. Frente a los subprogramas, las macros tienen la ventaja de ser parametrizables, es decir, programadas con variables que en cada llamada de la macro adquieren un valor diferente.



Las macros se llaman desde el programa principal con la orden G65 seguido del número de macro al que queramos llamar (por ejemplo P8000 si queremos llamar al programa O8000) y los parámetros que sean necesarios para cada subprograma (A, B, C...). Los parámetros pueden ser los siguientes -aparecen junto a la variable local con la que pasará su valor al subprograma (parámetro - #variable):

A - #1   ; B - #2   ; C - #3   ; D - #7   ; E - #8   ; F - #9   ; H - #11   ; I - #4   ; J - #5   ; K - #6   ; M - #13   ; Q - #17   ; R - #18   ; S - #19   ; T - #20   ; U - #21   ; V - #22   ; W - #23   ; X - #24   ; Y - #25   ; Z - #26   ;

El argumento P se reserva para el número de macro y el L para el número de repeticiones de la macro.

La macro debe guardarse como un programa (en el ejemplo que haremos a continuación supongamos que la denominamos O8000).

Imaginemos que queremos preparar una macro para realizar una ranura con posibilidad de cilindrar o no, una vez clavada la herramienta. Primero debemos pensar que variables utilizaremos. En nuestro caso:

A = ø inicial previo a la ranura  -  Pasará a la macro como #1
B = ø de fondo de la ranura  -  Pasará a la macro como #2
C = Z inicial de la ranura  -  Pasará a la macro como #3
D = Desplazamiento en Z de la herramienta clavada (si no lo hay, será 0)  -  Pasará a la macro como #7
E = Avance en X  -  Pasará a la macro como #8
F = Avance en Z  -  Pasará a la macro como #9
H = Temporizaciones en el mecanizado  -  Pasará a la macro como #11
I = ø para retiradas de herramientas  -  Pasará a la macro como #4

Una vez definidas las variables, la macro sería algo así:

O8000

G0 X#4 Y0      (Posicionamiento rápido en el diámetro especificado en I y en Y=0)
G0 Z#3            (Posicionamiento rápido al inicio de la ranura)
G0 X[#1+0.5]  (Posicionamiento rápido en X en el diámetro inicial A más margen de seguridad)
IF [#7EQ0] GOTO 2   (Si la variable D vale 0 no hay desplazamiento en Z y salta a la línea 2)
G1 X#2 F#8     (Clava hasta el diámetro B con el avance marcado en E)
G4 X#11          (Temporiza la variable H)
G1 Z[#3-#7] F#9     (Desplazamiento en Z de la carrera indicada en D con el avance indicado en F)
G4 X#11
G1 X[#1+0.5] F0.3
GOTO 3           (Salta a la línea 3)
N2
G1 X#2 F#8
G4 X#11
G1 X[#1+0.5] F0.3
N3
G0 X#4
M99               (Final de macro)

Supongamos en este ejemplo que queremos llamar la macro para mecanizar una ranura que empieza en Z-6 hasta Z-12, partiendo de un torneado ø16 con una barra ø20 (queremos retirar la herramienta a ø22) y la herramienta tiene un ancho de 2 mm (por tanto se desplazará 4 mm). La profundidad de la entalla será ø14. Utilizaremos una temporización de 0.1 seg y unos avances de 0.05 mm/vuelta. La llamada quedaría así:

G65 P8000 A16 B14 C-6 D4 E0.05 F0.05 H0.1 I22

Evidentemente esto es sólo un ejemplo para abrir el apetito y en un próximo post repasaremos diferentes operadores que pueden resultar útiles en una macro...

(Nota: Este post hace referencia a máquinas con control numérico-CNC Fanuc)

1 comentario:

  1. Estimado excelente explicación. Podría por favor explicar como hacer una macro para realizar un hexágono o cuadrado exterior de 30mm entre caras, utilizando solo el eje(x,z)

    ResponderEliminar

 

SUBCONTRATAR PIEZAS / OUTSOURCING

Si está teniendo problemas para localizar proveedores fiables de mecanizado/decoletaje de precisión, no dude en contactarme y le pondré en contacto con algunos de mis clientes.

¡No olvide que los mejores talleres tienen máquinas!

*******

If you would like to outsource turned parts in Spain (décolletage) and want to know the most appropiate suppliers, please contact me and I will connect you with some of my customers.

Remember that the best workshops in the world work with MACHINES!

CONTACTO

gregor@gregormoreno.com

FABRICANTES / DISTRIBUIDORES

Como amante de la tecnología del mecanizado, estoy deseoso de recibir informaciones sobre todo tipo de novedades alrededor de nuestro sector y compartirlas con nuestros lectores.

Si eres fabricante o distribuidor de herramientas, portaherramientas, pinzas, utilajes o cualquier cosa relacionada con nuestro mundo y tienes alguna novedad que todos deberíamos conocer, ¡házmela llegar!