Repeticiones en Gcode

Temas relacionados con mecanizado, sujección de piezas, estrategias para el mecanizado, utilización de fresas, etc.

Repeticiones en Gcode

Notapor algec » Mar Jul 27, 2010 2:33 pm

No se donde poner este post asi que lo puse aqui.
Suelo escribir mis ficheros a mano por que asi salen mas reducidos y la maquina hace lo que quiero exactamente, pero quisiera una pequeña ayuda.
Se ustilizar las rutinas o subprogramas con G22 G20 etc para hacer llamadas a subprogramas, pero no se como hacer esto para incrementar un valor, a ver si me explico.
Quiero repetir una misma rutina 20 veces y que cada vez que la repita de forma sucesiva un eje, por ejemplo el z, se mueva 1mm mas para ir fresando por ejemplo un cajeado.
Con lo que se de esto tengo que escribir el movimiento del eje Z las veinte veces y cada vez llamar a la subrutina, algo asi:
Z-1
LLamo a subrutina
Z-2
LLamo a subrutina
....
....
Z-20
LLamo a subrutina


¿Hay alguna forma en Gcode para hacer esto de forma que quede en unas lineas de codigo mas simples?
Lo que busco es una instruccion que llame al eje z a moverse de forma incremental 1 mm cada vez que se repita la rutina y repetir esta las 20 veces

Por mas vueltas que le doy no encuentro la forma de incrementar ni con subrutinas parametricas ni nada.-
Si sabeis como pegadme un pequeño trozo de codigo os estare muy agradecido.
algec
FRESADOR CNC
FRESADOR CNC
 
Mensajes: 145
Registrado: Mar May 30, 2006 2:15 pm

Re: Repeticiones en Gcode

Notapor luiyi » Mar Jul 27, 2010 5:20 pm

f100
Haber site vale esto
Con M98 llamo larutina P1 y la repito L20 Nº veces que se repite
Y desde la rutina O1 lamo la rutina P2 que solo se ejecuta una vez
f 100
m98 p1 l20
m30

o1
g91
g1 z-1
g90
m98 p2
m99

o2
g1 x10
g0 x0
m99
m30
%
luiyi
LICENCIADO
LICENCIADO
 
Mensajes: 37
Registrado: Jue Oct 26, 2006 3:37 am

Re: Repeticiones en Gcode

Notapor algec » Mar Jul 27, 2010 7:57 pm

A ver, creo que no funcionaria como quiero yo o no me explique.
El ejemplo que pones, seria hacer una ranura del ancho de la fresa desde X10 a X0
Yo quiero hacer eso con una profundidad de 20 mm con una bajada de Z de 1mm cada pasada
Por lo que tu escribes todas las pasadas me parece que las harias a Z-1mm, o no lo tengo yo claro.
Dime si me equivoco y el Z iria bajando mm a mm cada vez.
De todas formas voy a probar tu rutina a ver que hace.
Gracias por responderme.
algec
FRESADOR CNC
FRESADOR CNC
 
Mensajes: 145
Registrado: Mar May 30, 2006 2:15 pm

Re: Repeticiones en Gcode

Notapor Sebastian » Mar Jul 27, 2010 9:11 pm

Hola aljec, usa variables solo tienes que cambiar la medida de la variable. Si no lo entiendes te pongo el ejemplo sencillo, el programa hace un cuadrado con el 0 pieza en el interior, en la variable #7 le pones el numero de pasadas para el Z

(corte Izquierda Rectangulo)
(Con esquinas en arco)
(El cero pieza en el inferior)
(Si compensamos la Herramienta por el interior, el Radio esquinas tiene que ser superior al radio de la herramienta)
(Variables)

#1=300 (Largo pieza en X)
#2=300 (Ancho pieza en Y)
#3=12 (grueso pieza)
#4=13 (Profundidad corte)
#5=8 (Diametro Herramienta)
#6=20 (altura de seguridad)
#7=2 (Numero de pasadas)
#8=1000 (Avance vertical)
#9=1500 (Avance corte)
#10=-1 (Desfase, - interior, + exterior)
#11=30 (Radio esquinas)
#12=800 (Avance esquinas)
#13=41 (Compensacion Herramienta: Exterior G41, interior G42, centro G40 )



(Programa)
#50=0
#51=[#4/#7] (Pase vertical)
#52=#51 (Profundidad actual corte)
G21 G90 G80 (Parámetros iniciales de la maquina)
G40 (quita compensacionnes anteriores )
M6 T1
G43
G#13 p[#5/2] (compensa el radio de la herramienta)
M3
G0 z#6 (Ir a posicion de seguridad)
G0 x[0-#10] y[0-#10] (Ir a posicion inicio)

M98 p1 l#7 (LLamada a subrutina 1 segun el numero de pasadas)
G40 (quita compensacion )
G0 z#6 (Ir a posicion de seguridad)
G0 X0 Y0 (Ir a posicion inicio)
M5
M2
M30 (Fin de Programa)

O1 (Subrutina 1)
G0 x[0-#10] y[0-#10+#11]
G1 z[#3-#52] F#8
G1 y[#2+#10-#11] f#9
G2 x[0-#10+#11] Y[#2+#10] R#11 f#12
G1 x[#1+#10-#11] f#9
G2 x[#1+#10] Y[#2+#10-#11] R#11 f#12
G1 y[0-#10+#11] f#9
G2 x[#1+#10-#11] Y[0-#10] R#11 f#12
G1 x[0-#10+#11] f#9
G2 x[0-#10] Y[0-#10+#11] R#11 f#12
#52=[#52+#51] (Actualizar Profundidad de Corte)
m99 (fin Subrutina 1)
%
%
Saludos Sebas.
Sebastian
FRESADOR CNC
FRESADOR CNC
 
Mensajes: 94
Registrado: Mar Sep 22, 2009 2:13 pm

Re: Repeticiones en Gcode

Notapor Sebastian » Mar Jul 27, 2010 9:25 pm

fijate en la variable #52 cada vez que es llamada la subrutina 1 le suma el pase vertical

#52=[#52+#51] (Actualizar Profundidad de Corte)
Saludos Sebas.
Sebastian
FRESADOR CNC
FRESADOR CNC
 
Mensajes: 94
Registrado: Mar Sep 22, 2009 2:13 pm

Re: Repeticiones en Gcode

Notapor Sebastian » Mar Jul 27, 2010 10:03 pm

este es mas sencillo



(Variables)
#1=5 (Numero de pasadas)
#2= 1 (Pase vertical)

(Programa)
#52=[0-#2] (Profundidad actual corte)
G21 G90 (Parámetros iniciales de la maquina)
M3
G0 z5 (Ir a posicion de seguridad)
G0 x0 y0 (Ir a posicion inicio)
M98 p1 l#1 (LLamada a subrutina 1 segun el numero de pasadas)
G0 z5 (Ir a posicion de seguridad)
G0 X0 Y0 (Ir a posicion inicio)
M5
M30 (Fin de Programa)

O1 (Subrutina 1)
G0 x0 y0
G1 z#52 F500
G1 y100 f1000
G1 x100
G1 y0
G1 x0
#52=[#52-#2] (Actualizar Profundidad de Corte)
m99 (fin Subrutina 1)
%
%
Saludos Sebas.
Sebastian
FRESADOR CNC
FRESADOR CNC
 
Mensajes: 94
Registrado: Mar Sep 22, 2009 2:13 pm

Re: Repeticiones en Gcode

Notapor algec » Mié Jul 28, 2010 3:11 pm

Eso es lo que buscaba, todos los programas funcionan, lo que pasa es que mis conocimientos del codigo G es como el ingles de los indiod de las pelis del oeste.
Yo saber poco hombre blanco.
Perfecto ahora si lo entendi, tanto usando coordenadas como en el primer ejemplo como los mas elaborados que publicais a continuacion.
Mil gracias de nuevo, estaba hasta los....de hacer repeticiones una a una copiar y pegar e incrementar cada vez el valor de un eje.
algec
FRESADOR CNC
FRESADOR CNC
 
Mensajes: 145
Registrado: Mar May 30, 2006 2:15 pm

Re: Repeticiones en Gcode

Notapor luiyi » Mié Jul 28, 2010 8:18 pm

Hola No deberias de cir que algo no funciona si no lo probais antes
escepto que lo sepais de buena tinta por que el que yo tepase funcionava como tu querias
luiyi
LICENCIADO
LICENCIADO
 
Mensajes: 37
Registrado: Jue Oct 26, 2006 3:37 am

Re: Repeticiones en Gcode

Notapor Sebastian » Mié Jul 28, 2010 10:10 pm

ahora si juntas las variables con el G90 y G91 como te puso luiyi puedes hacer cosas curiosas
Saludos Sebas.
Sebastian
FRESADOR CNC
FRESADOR CNC
 
Mensajes: 94
Registrado: Mar Sep 22, 2009 2:13 pm

Re: Repeticiones en Gcode

Notapor algec » Jue Jul 29, 2010 2:05 pm

PErdona no queria que te molestases, es mas si funciona y tre agradezco muchisimo que me lo pegaras. Lo mire por encima y pense que no iria, en un pc que no tenia mach isntalado y me faltaba entendre algo.
Te pido mil disculpas y de nuevo mi agradecimiento
algec
FRESADOR CNC
FRESADOR CNC
 
Mensajes: 145
Registrado: Mar May 30, 2006 2:15 pm

Re: Repeticiones en Gcode

Notapor algec » Vie Jul 30, 2010 7:28 pm

He probado los tres en mach y uno de ellos me da un error, y no consigo quitarselo. Para mi esta bien pero no se el porque, a ver si podeis aclararmelo


(corte Izquierda Rectangulo)
(Con esquinas en arco)
(El cero pieza en el inferior)
(Si compensamos la Herramienta por el interior, el Radio esquinas tiene que ser superior al radio de la herramienta)
(Variables)

#1=300 (Largo pieza en X)
#2=300 (Ancho pieza en Y)
#3=10 (grueso pieza)
#4=10 (Profundidad corte)
#5=6 (Diametro Herramienta)
#6=20 (altura de seguridad)
#7=20 (Numero de pasadas)
#8=100 (Avance vertical)
#9=150 (Avance corte)
#10=-1 (Desfase, - interior, + exterior)
#11=10 (Radio esquinas)
#12=100 (Avance esquinas)
#13=41 (Compensacion Herramienta: Exterior G41, interior G42, centro G40 )



(Programa)
#50=0
#51=[#4/#7] (Pase vertical)
#52=#51 (Profundidad actual corte)
G21 G90 G80 (Parámetros iniciales de la maquina)
G40 (quita compensacionnes anteriores )
M6 T1
G43
G#13 p[#5/2] (compensa el radio de la herramienta)
M3

G0 z#6 (Ir a posicion de seguridad) SE PARA AQUI Y DICE Tool Radius Greater Than Approach Line28


G0 x[0-#10] y[0-#10] (Ir a posicion inicio)

M98 p1 L#7 (LLamada a subrutina 1 segun el numero de pasadas)
G40 (quita compensacion )
G0 z#6 (Ir a posicion de seguridad)
G0 X0 Y0 (Ir a posicion inicio)
M5
M2
M30 (Fin de Programa)

O1 (Subrutina 1)
G0 x[0-#10] y[0-#10+#11]
G1 z[#3-#52] F#8
G1 y[#2+#10-#11] f#9
G2 x[0-#10+#11] Y[#2+#10] R#11 f#12
G1 x[#1+#10-#11] f#9
G2 x[#1+#10] Y[#2+#10-#11] R#11 f#12
G1 y[0-#10+#11] f#9
G2 x[#1+#10-#11] Y[0-#10] R#11 f#12
G1 x[0-#10+#11] f#9
G2 x[0-#10] Y[0-#10+#11] R#11 f#12
#52=[#52+#51] (Actualizar Profundidad de Corte)
m99 (fin Subrutina 1)
%
%
algec
FRESADOR CNC
FRESADOR CNC
 
Mensajes: 145
Registrado: Mar May 30, 2006 2:15 pm

Re: Repeticiones en Gcode

Notapor Sebastian » Vie Jul 30, 2010 9:27 pm

Hola, quita el M2 y el G80 que creo que sobran
el error creo que tiene que ver con la compesacion de herramienta el G41 y G42, si paras el programa por el medio sin que quite la compensacion despues al iniciar otra vez da error. Apaga el mach y vuelve a encenderlo
Saludos Sebas.
Sebastian
FRESADOR CNC
FRESADOR CNC
 
Mensajes: 94
Registrado: Mar Sep 22, 2009 2:13 pm

Re: Repeticiones en Gcode

Notapor Sebastian » Vie Jul 30, 2010 10:03 pm

en la variable #13 le puse 40 para que no compense la herramineta y funciona bien. intentare hacer el programa paso a paso haber si aparece el error
Saludos Sebas.
Sebastian
FRESADOR CNC
FRESADOR CNC
 
Mensajes: 94
Registrado: Mar Sep 22, 2009 2:13 pm

Re: Repeticiones en Gcode

Notapor Sebastian » Vie Jul 30, 2010 11:36 pm

Edito esto ultimo, creo que encontre el error y es que cada vez que se usa el Z hay que quitar la compensacion de herramienta y despues vover a ponerla, prueba este codigo



(corte Izquierda Rectangulo)
(Con esquinas en arco)
(El cero pieza en el inferior)
(Si compensamos la Herramienta por el interior, el Radio esquinas tiene que ser superior al radio de la herramienta)
(Variables)

#1=300 (Largo pieza en X)
#2=300 (Ancho pieza en Y)
#3=10 (grueso pieza)
#4=10 (Profundidad corte)
#5=6 (Diametro Herramienta)
#6=20 (altura de seguridad)
#7=20 (Numero de pasadas)
#8=100 (Avance vertical)
#9=150 (Avance corte)
#10=-1 (Desfase, - interior, + exterior)
#11=20 (Radio esquinas)
#12=100 (Avance esquinas)
#13=41 (Compensacion Herramienta: Exterior G41, interior G42, centro G40 )



(Programa)
#50=0
#51=[#4/#7] (Pase vertical)
#52=#51 (Profundidad actual corte)
G21 G90 (Parámetros iniciales de la maquina)
G40 (quita compensacionnes anteriores )
M6 T1
G43
M3
G0 z#6 (Ir a posicion de seguridad)
G0 X0 Y0 (Ir a posicion inicio)
M98 p1 L#7 (LLamada a subrutina 1 segun el numero de pasadas)
G40 (quita compensacion )
G0 z#6 (Ir a posicion de seguridad)
G0 X0 Y0 (Ir a posicion inicio)
M5
M30 (Fin de Programa)

O1 (Subrutina 1)
G#13 p[#5/2] (compensa el radio de la herramienta)
G0 x[0-#10] y[0-#10+#11]
G40
G1 z[#3-#52] F#8
G#13 p[#5/2] (compensa el radio de la herramienta)
G1 x[0-#10] y[#2+#10-#11] f#9
G2 x[0-#10+#11] Y[#2+#10] R#11 f#12
G1 x[#1+#10-#11] f#9
G2 x[#1+#10] Y[#2+#10-#11] R#11 f#12
G1 y[0-#10+#11] f#9
G2 x[#1+#10-#11] Y[0-#10] R#11 f#12
G1 x[0-#10+#11] f#9
G2 x[0-#10] Y[0-#10+#11] R#11 f#12
#52=[#52+#51] (Actualizar Profundidad de Corte)
m99 (fin Subrutina 1)
%
%
Saludos Sebas.
Sebastian
FRESADOR CNC
FRESADOR CNC
 
Mensajes: 94
Registrado: Mar Sep 22, 2009 2:13 pm

Re: Repeticiones en Gcode

Notapor algec » Sab Jul 31, 2010 1:22 am

Ahora va perfecto, mil gracias a todos de nuevo.
Esta visto lo poco que se de Gcode, soy como un principiante, tendre que esforzarme mas.
algec
FRESADOR CNC
FRESADOR CNC
 
Mensajes: 145
Registrado: Mar May 30, 2006 2:15 pm

Siguiente

Volver a TECNICAS

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 1 invitado