You are on page 1of 7

Cdigos y lenguajes utilizados en CNC Si bien existe un estndar para este lenguaje, que en realidad apunta a las mquinas

industriales, yo voy a tratar de describir algunos, No todos los cdigos utilizados. La cuestin es que los programas que generan estos cdigos pueden ser muy variados, segn el tipo de trabajo que se desee realizar, por ejemplo, una perforadora necesita un programa que genere cdigos de perforacin, una fresadora, requiere otro que genere los cdigos de desgaste, una graficadora requiere un programa que genere las coordenadas de trazado del grfico, etc. La gran mayora de estos programas trabajan con los sistemas CAD (Diseo Asistido por Computadora) el favorito de todos es AutoCAD, u otro muy similar, y es aqu donde entran los formatos de los archivos utilizados, como los NC-Drill, lo GCodes, los PLT y otros ms, en fin, comencemos con el primero de ellos... .: NC-Drill Estos archivos por lo general los puedes obtener de los programas de diseo de PCB, nada impide que puedas crear tu propio programa para generar este tipo de cdigos. La tabla que viene a continuacin, ya te la haba mostrado antes, y es una traduccin de la que se encuentra en la web Computer Numerical Control for Drillers and Routers % X#Y# T# M30 M00 M25 M31 M01 M02 X#Y# R#M02X#Y# reiniciar y detener Mover y Perforar Seleccin de Herramienta Fin de programa Fin de programa Inicio de Modelo Inicio de Modelo Fin de Modelo Repetir Modelo Repeticin Mltiple del Modelo

M02 X#Y# M70 Cambio de Eje M02 X#Y# M80 Reflejar Imagen en el Eje X M02 X#Y# M90 Reflejar Imagen en el Eje Y M08 N# / R#X#Y# G05, G81 G04 X# G90 G91 G92 X#Y# G93 X#Y# M48 M47 M71 M72 Snn Fnn Fin de paso y Repetir Bloquear Secuencia de Nmeros Eliminar Bloque Repetir orificio Seleccionar modo de Perforacin Variable Local (ignorar) Modo Absoluto Modo Incremental Poner a cero Poner a cero Encabezado de Programa antes de "%" Operador de Mensajes CRT en Pantalla Modo Mtrico Modo Ingls-Imperial Velocidad de husillo (RPM) Mantener velocidad en Eje z (IPM)

En las pruebas que hice no me encontr con muchos de ellos, quizs ms adelante me anime a hacer un programa que genere todo este tipo de cdigos. Bien, ahora veamos un ejemplo, para comenzar haremos un pequeo circuito en PCBWizard... Primero el esquema del circuito y luego generaremos el PCB, as...

Ahora lo vamos a exportar a formato NC-Drill, para ello ve al men File --> Export..., en tipo de archivo seleccionamos NC Drill(*.drl) luego seleccionamos el directorio y le ponemos un nombre, por ejemplo SimpCirc.drl

Bien, ahora echemos un vistazo a este archivo, y mira lo que acabamos de obtener... M48 % T01 X+01400Y+01600 X+01800Y+01600 X+02200Y+01600 X+02300Y+01600 X+01400Y+02000 X+01800Y+02000 T02 X+02100Y+02000 X+02300Y+02000 M30 Bueno, lo pint para poder describir el cdigo, y veamos... Lo que est de color naranja son conocidos como Funciones de la Mquina, Definen lo que debe hacer la mquina, por ejemplo, rociar el enfriador, iniciar el giro del mandril, detenerlo, etc, lo que si debo decir es que no encontr ms informacin respecto al M48, as que lo tome como marcadores para el Inicio del programa o del cdigo, y al otro M30, como el Final del programa. Si miras la tabla anterior... son eso justamente... El smbolo %, por lo visto forma parte del encabezado del programa, y no se ms de el, podramos decir que... aqu comienza el cdigo de desplazamiento y perforacin...???, bueno, ah queda... T01 y T02, es el tipo de herramienta que se debe utilizar, para nosotros sera algo as como... el dimetro de la herramienta de perforacin. Si miras la cantidad de coordenadas X,Y vers que nos indica 8 perforaciones, y eso es correcto, aunque dos de ellas estn separadas, y bueno es porque se trata de dos perforaciones de dimetro distinto, y s, esas son las perforaciones para la bornera de la fuente de alimentacin. Observa ahora las primeras 4 coordenadas, esas que estn pintadas de rojo, por lo que se ve, estn alineadas en el eje Y, lo nico que cambia es la ubicacin respecto del eje X, bien, en nuestro PCB seran las perforaciones para la Resistencia y el LED, y las otras dos que le siguen son para el interruptor. Hasta aqu... Las otras pruebas que hice no generaron gran variacin, lo nico que cambia son los dimetros de las herramientas, pero creo que es suficiente para que puedas hacer un programa de perforaciones, y a dems tienes la tabla para guiarte. El programa que hice para mi mquina fue muy sencillo, pero lo veremos en la seccin de programacin, ahora veamos otros cdigos. Cdigos para CNC

Bueno, esto ya es amplio, en realidad los cdigos para el CNC fueron creados para Mquinas Industriales, los que vimos anteriormente, salieron de esta tabla, que ya est un poco ms completa, y cada mquina toma la parte de cdigo que le interesa, el resto lo deja de lado, (si tienes una mquina que trabaja en 2D... Para qu te sirven las instrucciones de otra que trabaja en 3D?) Comando Descripcin N G X Y Z R A I J K F S T M Nmero de Secuencia Funciones Preparatorias Comando para el Eje X Comando para el Eje Y Comando para el Eje Z Radio desde el Centro Especificado ngulo contra los Punteros del Reloj desde el Vector +X Desplazamiento del Centro del Arco del Eje X Desplazamiento del Centro del Arco del Eje Y Desplazamiento del Centro del Arco del Eje Z Tasa de Alimentacin Velocidad de Giro Nmero de Herramienta Funciones Miscelneas

Ahora comencemos con la descripcin de cada comando o instruccin. En Gris, los comandos que veremos primero, ya que son los ms cortos, y a los otros les dedicaremos ms tiempo, y as no nos perdemos.. .: Nmero de Secuencia (N) Tal como dice el ttulo, Es el nmero de secuencia que identifica una lnea de cdigo de trazado, mira como quedara el cdigo anterior... N0000 N0010 N0020 N0030 N0040 N0050 N0060 N0070 N0080 N0090 N0100 N0110 N0120 M48 % T01 X+01400Y+01600 X+01800Y+01600 X+02200Y+01600 X+02300Y+01600 X+01400Y+02000 X+01800Y+02000 T02 X+02100Y+02000 X+02300Y+02000 M30

Bueno, esto es slo un ejemplo para que veas el uso que tiene. Para quienes nos dedicamos a la programacin, es importante saber en que lnea de cdigo se encuentra una determinada instruccin, esto es con el fin de no perdernos cuando se trata de un cdigo demasiado extenso, pues esa es la nica funcin que cumple, esto significa que no es de vital importancia para la mquina, sino para quien programa. Por otro lado, tambin suele utilizarse como un puntero, es decir, una vez termine el trazado puede volver a repetir una parte de ste, slo indicndole en que lnea de cdigo debe comenzar, y hasta donde debe hacerlo, y aqu s que cobra importancia. Por supuesto esto queda a criterio de cada uno. .: Comandos para los Ejes X,Y y Z Los agrup a los tres Ejes por que siguen, por as decirlo, la misma sintaxis, por ejemplo... X50 Y40 Se indica primero el eje en el cual se desplaza y luego un valor numrico, que puede indicar la cantidad de puntos a desplazarse, en nuestro caso, la orden sera... "desplzate 50 puntos hacia el lado positivo de las X, y 40 puntos hacia el lado positivo de las Y".

Pero est el otro caso, podra significar lo siguiente... "Desplzate hacia el punto X=50, Y=40" Por si no notas la diferencia, en el primer caso te indica cuantos puntos debes desplazarte, mientras que en el segundo, te indica hacia qu punto (coordenada) debes ir. El tema es, cmo saber que tipo de desplazamiento debo realizar, si el primero o el segundo, bueno, eso lo veremos luego, confa en m... Ahora, sigamos... Mira estas 4 lneas... X50 Y40 X-110 X-130 Y60 Y-220 Estos son desplazamientos en los ejes X,Y... Debes recordar que en un sistema de ejes cartesianos, (como dicen los profes de matemticas) tienes signos positivos y negativos, aqu los signos indican eso justamente, hacia que lado ir, Algunos mquinas requieren que se precisen los signos positivos, otras no, y como siempre, todo depender de la mquina. Para el eje Z ocurre lo mismo Otras observaciones, como vers, el comando para cada eje, va separado por un espacio, otros suelen utilizar una coma (,) y otros, ni si quiera eso., directamente se toma como separador, la letra que identifica a la instruccin. En la segunda lnea del ejemplo anterior, se indica el comando para el eje X, pero nada para el eje Y, y es por que el eje Y debe permanecer donde est (es decir, no habr desplazamiento en ese eje), algo muy similar ocurre en la ltima lnea, slo que en este caso es respecto al eje Y. Igual que antes, algunas mquinas requieren s o s, que se le indique el par de comandos, y en otras no es necesario. Una ms... En el siguiente ejemplo, podrs ver que se indican los valores para cada comando, anteponiendo ceros a cada nmero, la cantidad de ceros depende de la cantidad mxima de puntos que la mquina puede trazar (sera en realidad la resolucin de la mquina, algo as como... Puntos por Pulgada). X+01800 Y+00200 Otra vez, todo depender de la forma en que la mquina realiza la lectura de estos comandos, para algunas ser necesario, para otras no. Veamos otras instrucciones. .: Tasa de Alimentacin feedrate(F) Este trmino podra tener varias acepciones, yo lo tom comooooo "Mantener velocidad" en lugar de Tasa de alimentacin, me pareci un poco ms significativo, ya que es eso lo que hace. Algunos comandos, que luego veremos ms adelante, lo utilizan sin necesidad de especificarlo, es como que la mquina tiene un registro en su memoria en donde se almacena este valor, y cuando el comando se ejecuta, automticamente toma este valor de la memoria, y cambia o mantiene la velocidad indicada en ese registro. Esta velocidad se refiere al desplazamiento, es la velocidad con que la mquina recorrer la Pieza que est grabando, sera ms que nada respecto a los desplazamientos en los tres ejes, nada que ver con el giro de la Herramienta .: Velocidad de Giro (S) Est referido al Husillo, la velocidad de giro de la fresadora, depender por lo general del material de la pieza que ests tallando, grabando o fresando, no es lo mismo calar madera que cobre o acero por ejemplo, la primera puede hacerse ms rpido que la segunda y la tercera. El valor que acompae a la instruccin S seguramente ser un nmero entero, ahora, la cuestin es, cmo manejar la mquina estos valores...? si lo har en revoluciones por minutos, cantidad de pasos por minuto, o por segundo, y s, tambin depende de cada mquina, o del fabricante de la mquina, o sea nosotros, jejeje... Bien, eso es todo, sigamos... .: Nmero de Herramienta (T)

Por lo que s, las mquinas industriales poseen un cabezal que les permite cambiar de herramienta automticamente, bueno segn la instruccin o comando que se ejecute, el valor que acompae a T apuntar a una Herramienta en especial, y slo a ella, por ejemplo, podra ser algo as... T02 <-- .0394

Estos valores estn dados en Pulgadas o unidades Inglesas, hay una tabla muy interesante en la Web que puedes bajarte, incluso se encuentra la forma en que se calculan estos dimetros.

www.apcircuits.com

Ahora, vamos a lo nuestro, podras asignarle el dmetro que tu quieras a cada valor de T, y as tienes tu propia equivalencia, por ejemplo podra ser algo as... T01 T02 T03 <-- 0.50 mm <-- 0.75 mm <-- 1.00 mm

Bueno, no se... eso se me acaba de ocurrir. Algo ms, T01 sera equivalente a T1, te diste cuenta de eso verdad...? Vamos por lo que sigue... .: Funciones Miscelneas o Funciones de la Maquina (M) Estos cdigo, son utilizados para todo aquello que antes no se haba tenido en cuenta, algunos cdigos controlan el flujo del programa, otros sin embargo, tienen funciones muy especiales, por ejemplo, el encendido de la mquina, el calibrado cuando sta se enciende, el sentido de giro del mandril, el inicio o la repeticin de un bloque de cdigos, el control del rociador para el enfriamiento de la herramienta y la pieza que se est trabajando, etc. En fin, yo aqu me encontr con algunas muy interesantes, y las separ en esta pequea tabla... Comando Descripcin M03 M04 M05 M07 Inicio de la rotacin del mandril en la direccin de las agujas del reloj. Inicio de la rotacin del mandril en la direccin contraria a las agujas del reloj. Detencin de la rotacin del mandril. Conexin del aporte de roco del enfriador. Detencin y rebobinado del programa. Detencin de la rotacin del mandril, del movimiento de la herramienta y desconexin del flujo del enfriador; el control se prepara a comenzar la lectura del inicio del programa una vez ms. Todas las funciones de la mquina (preparatorias, miscelneas, etc) vuelven a su estado por defecto (la condicin en la cual se encuentra la mquina al encenderla por primera vez.) Retorno desde la subrutina al programa principal

M30

M99

Igual que antes, la implementacin de estos cdigos depende de cada fabricante, es decir, de nosotros. Bien, ahora vamos por lo ms extenso... Cdigos para CNC - Funciones Preparatorias (G) Las funciones preparatorias, tambin conocidas como G-Codes o Cdigos G, son las ms importantes en la programacin CNC, ya que controlan el modo en que la mquina va a realizar un trazado, o el modo en que va a desplazarse sobre la superficie de la pieza que est trabajando. Los posibles valores que acompaan a este comando, van de 00 a 99, y cada uno tiene una funcin determinada, no voy a describirlos a todos, sino a los ms importantes, o al menos aquellos que considero de vital importancia, y que los puedes ver en esta tabla... Comando G00 G01 Descripcin Interpolacin Lineal Rpida. Interpolacin lineal a la velocidad programada en el registro F.

G02 G03 G04 G17 G18 G19 G40 G41 G42 G70 G71 G90 G91

Movimiento Circular en el sentido horario Feedrate. Movimiento Circular en el sentido anti-horario Feedrate. Es una demora o una pausa con un tiempo especfico. Seleccin del Plano X-Y Seleccin del Plano X-Z Seleccin del Plano Y-Z Compensacin anulada, o al centro de la lnea de desplazamiento. Compensacin a la Izquierda de la lnea de desplazamiento. Compensacin a la Derecha de la lnea de desplazamiento. Unidad de Datos expresados en Pulgadas. Unidad de Datos expresados en Milmetros. Desplazamiento en Modo Absoluto. Desplazamiento en Modo Incremental o Relativo.

Bueno, aqu podremos agrupar algunos, por ejemplo... .: Interpolaciones Lineales (G00 y G01) Uhhh... debemos saber primero que significa interpolacin, veamos, segn uno de mis diccionarios de la lengua hispana... Interpolacin es el proceso mediante el cual, conocidos los valores que toma una funcin en dos puntos (A,B), se determina con cierto grado de exactitud los valores de un tercer punto (C) comprendido entre A y B. Para aquellos a quienes les cuesta un poquitn interpretar la definicin anterior, dicho en entendible, sera algo as... Si conoces la ubicacin del extremo (A) de una lnea, y conoces la ubicacin del otro extremo (B), entonces es posible conocer cada punto (C) por los cuales debes pasar para llegar desde A hasta B. Bien, ahora que ya sabemos lo que significa interpolacin, podemos comenzar con la descripcin de estos comandos. Si bien ambos son interpolaciones lineales o movimientos lineales, la diferencia se encuentra en la velocidad de desplazamiento. G00 es un movimiento rpido, en este caso no existe contacto entre la herramienta y la pieza de trabajo, es decir se desplaza sin realizar corte alguno. G01 es un movimiento lineal pero cortando el material, es decir que se est graficando, para ello utiliza la velocidad programada en el registro F, el cual ya describimos anteriormente. .: Interpolaciones Circulares o Movimientos Circulares (G02 y G03) Lo nico que indican estos comando es que el movimiento ser circular, G02 en sentido Horario, y G03 en sentido Antihorario, y que el movimiento debe mantenerse constante a la velocidad programada en el registro F. Hay dos formas de realizar un Arco o un crculo, una es utilizando el Radio (R) y otra es indicando el centro u origen de la curva por las coordenadas (I,J,K) Estos 4 comandos tambin figuran en la tabla que vimos en la pgina anterior, as que aqu las liquidamos... .: Trazado de Arcos Utilizando el Radio (R): Veamos la primera. Si el comando es G03 significa que el arco se trazar en sentido anti-horario, y si el centro de la curva est dado por el Radio (R), hay dos posibilidades, -R o +R. * Si el Radio es Negativo, el centro del Radio se encuentra del lado Izquierdo de la lnea imaginaria que une los puntos Inicial y Final de la curva, o sea, se trata de esto...

(figura 1) El centro del arco est del lado izquierdo

(figura 2) La ubicacin exacta se obtiene por Pitgoras

(figura 3) Animacin que muestra el trazado del arco con -R

Como vers, lo nico que indica el signo, es de que lado se encuentra el centro del arco

NOTA 1: En los dos ejemplos vistos anteriormente, el valor de R, es el mismo, lo nico que cambia es el signo, y fjate que las curvas obtenidas son distintas, buena observacin, no crees...? NOTA 2: Estos Arcos fueron trazados con el comando G03, es decir, se traz en sentido anti-horario. Si el comando fuese G02, el arco se trazara al revs, esto es, el arco que ves en la figura 3 se trazara para el otro lado, y quedara un arco similar al de la figura 4, pero al revs, y el de la figura 4 quedara igual al de la figura 3 pero y tambin al revs, es slo una cuestin de interpretacin. Bien, aqu terminamos con el trazado de la curva haciendo uso del comando R, ahora vamos a ver otra forma de trazar una curva, pero con los comandos I,J y K .: Trazado de Arcos Utilizando los comando I,J y K: El comando K se utiliza cuando tu mquina trabaja en 3D, que no es nuestro caso, pero tambin es vlido lo que veremos para los otros dos. Si conoces la ubicacin del punto inicial y el punto final, lo nico que necesitas para trazar una curva es la ubicacin del centro del radio, cuando utilizamos anteriormente el comando R la ubicacin del centro la obtenas por clculo. En este caso, la ubicacin del radio est dada por las coordenadas I,J. El valor numrico que acompae a la letra I ser la ubicacin respecto del eje X, mientras que el valor que acompae a J ser la ubicacin respecto del eje Y. Como vers, en este caso te ests ahorrando el clculo para encontrar el centro de la curva, por lo que v, esta es la ms utilizada. .: Seleccin del Plano (G17, G18, G19) Cuando tu mquina trabaja en 3D, es obvio que tendrs tres vistas o caras de trabajo, es decir, ests trabajando en los tres ejes, aqu es importante conocer de que lado te encuentras, en la siguiente imagen podrs verlo con ms claridad...

Cuando trabajes en 2D, los planos X-Z (G18), Y-Z (G19) no existirn, slo te quedars con el plano X-Y (G17).

You might also like