Top Banner
Códigos y lenguajes utilizados en CNC La cuestión es que los programas que generan estos códigos pueden ser muy variados, según el tipo de trabajo que se desee realizar, por ejemplo, una perforadora necesita un programa que genere códigos de perforación, una fresadora, requiere otro que genere los códigos de desgaste, una graficadora requiere un programa que genere las coordenadas de trazado del gráfico, etc. La gran mayoría de estos programas trabajan con los sistemas CAD (Diseño 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 G-Codes, los PLT y otros más, en fin, comencemos con el primero de ellos. NC-Drill Estos archivos por lo general los puedes obtener de los programas de diseño, nada impide que puedas crear tu propio programa para generar este tipo de códigos. La tabla que viene a continuación es una traducción que se encuentra en la web www.apcircuits.com Computer Numerical Control for Drillers and Routers % reiniciar y detener X#Y# Mover y Perforar T# Selección de Herramienta M30 Fin de programa M00 Fin de programa M25 Inicio de Modelo M31 Inicio de Modelo M01 Fin de Modelo M02 X#Y# Repetir Modelo R#M02X#Y# Repetición Múltiple 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 Fin de paso y Repetir N# Bloquear Secuencia de Números / Eliminar Bloque
26

Códigos y Lenguajes Utilizados en CNC

Jan 15, 2016

Download

Documents

Códigos y Lenguajes Utilizados en CNC
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Códigos y Lenguajes Utilizados en CNC

Códigos y lenguajes utilizados en CNC

La cuestión es que los programas que generan estos códigos pueden ser muy variados, según el tipo de trabajo que se desee realizar, por ejemplo, una perforadora necesita un programa que genere códigos de perforación, una fresadora, requiere otro que genere los códigos de desgaste, una graficadora requiere un programa que genere las coordenadas de trazado del gráfico, etc.

La gran mayoría de estos programas trabajan con los sistemas CAD (Diseño 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 G-Codes, los PLT y otros más, en fin, comencemos con el primero de ellos.

NC-Drill

Estos archivos por lo general los puedes obtener de los programas de diseño, nada impide que puedas crear tu propio programa para generar este tipo de códigos. La tabla que viene a continuación es una traducción que se encuentra en la web www.apcircuits.com

Computer Numerical Control for Drillers and Routers% reiniciar y detener

X#Y# Mover y PerforarT# Selección de Herramienta

M30 Fin de programaM00 Fin de programaM25 Inicio de ModeloM31 Inicio de ModeloM01 Fin de Modelo

M02 X#Y# Repetir ModeloR#M02X#Y# Repetición Múltiple del Modelo

M02 X#Y# M70 Cambio de EjeM02 X#Y# M80 Reflejar Imagen en el Eje XM02 X#Y# M90 Reflejar Imagen en el Eje Y

M08 Fin de paso y RepetirN# Bloquear Secuencia de Números/ Eliminar Bloque

R#X#Y# Repetir orificioG05, G81 Seleccionar modo de PerforaciónG04 X# Variable Local (ignorar)

G90 Modo AbsolutoG91 Modo Incremental

G92 X#Y# Poner a ceroG93 X#Y# Poner a cero

M48 Encabezado de Programa antes de "%"M47 Operador de Mensajes CRT en PantallaM71 Modo MétricoM72 Modo Inglés-ImperialSnn Velocidad de husillo (RPM)

Page 2: Códigos y Lenguajes Utilizados en CNC

Fnn Mantener velocidad en Eje z (IPM)

Bien, ahora veamos un ejemplo, para comenzar haremos un pequeño circuito en PCBWizard, (PCB Programa código base) Software para impresión de circuitos.

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%T01X+01400Y+01600X+01800Y+01600X+02200Y+01600X+02300Y+01600X+01400Y+02000X+01800Y+02000T02X+02100Y+02000X+02300Y+02000M30

Lo que está en formato MXX son Funciones de la Máquina, Definen lo que debe hacer la máquina, por ejemplo, rociar el enfriador, iniciar el giro del mandril, detenerlo, etc.

Page 3: Códigos y Lenguajes Utilizados en CNC

T01 y T02, es el tipo de herramienta que se debe utilizar, para nosotros sería algo así como el diámetro de la herramienta de perforación.

Si miras la cantidad de coordenadas X,Y verás que nos indica 8 perforaciones, y eso es correcto, aunque dos de ellas están separadas, y bueno es porque se trata de dos perforaciones de diámetro distinto, y sí, esas son las perforaciones para la bornera de la fuente de alimentación.

Observa ahora las primeras 4 coordenadas, por lo que se ve, están alineadas en el eje Y, lo único que cambia es la ubicación respecto del eje X, bien, en nuestro PCB serían las perforaciones para la Resistencia y el LED, y las otras dos que le siguen son para el interruptor.

Códigos para CNC

Bueno, esto ya es amplio, en realidad los códigos para el CNC fueron creados para Máquinas Industriales, los que vimos anteriormente, salieron de esta tabla, que ya está un poco más completa, y cada máquina toma la parte de código que le interesa, el resto lo deja de lado, (si tienes una máquina que trabaja en 2D... Para qué te sirven las instrucciones de otra que trabaja en 3D)

Comando DescripciónN Número de SecuenciaG Funciones PreparatoriasX Comando para el Eje XY Comando para el Eje YZ Comando para el Eje ZR Radio desde el Centro EspecificadoA Ángulo contra los Punteros del Reloj desde el Vector +X I Desplazamiento del Centro del Arco del Eje XJ Desplazamiento del Centro del Arco del Eje YK Desplazamiento del Centro del Arco del Eje ZF Tasa de AlimentaciónS Velocidad de GiroT Número de HerramientaM Funciones Misceláneas

Ahora comencemos con la descripción de cada comando o instrucción. En Gris, los comandos que veremos primero, ya que son los más cortos, y a los otros les dedicaremos más tiempo, y así no nos perdemos.

Número de Secuencia (N)

Page 4: Códigos y Lenguajes Utilizados en CNC

Es el número de secuencia que identifica una línea de código de trazado, mira como quedaría el código anterior...

N0000N0010N0020N0030N0040N0050N0060N0070N0080N0090N0100N0110N0120

M48%T01X+01400Y+01600X+01800Y+01600X+02200Y+01600X+02300Y+01600X+01400Y+02000X+01800Y+02000T02X+02100Y+02000X+02300Y+02000M30

Es importante saber en que línea de código se encuentra una determinada instrucción, esto es con el fin de no perdernos cuando se trata de un código demasiado extenso, pues esa es la única función que cumple, esto significa que no es de vital importancia para la máquina, sino para quien programa.

Por otro lado, también suele utilizarse como un puntero, es decir, una vez termine el trazado puede volver a repetir una parte de éste, sólo indicándole en que línea de código 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

Se agrupan a los tres Ejes con la misma sintaxis, por ejemplo:

X50 Y40

Se indica primero el eje en el cual se desplaza y luego un valor numérico, que puede indicar la cantidad de puntos a desplazarse, en nuestro caso, la orden sería:

"desplázate 50 puntos hacia el lado positivo de las X, y 40 puntos hacia el lado positivo de las Y".

Pero está el otro caso, podría significar lo siguiente...

"Desplázate 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, cómo saber que tipo de desplazamiento debo realizar, si el primero o el segundo, esto está referido a las posiciones relativas y absolutas.

Observa estas 4 líneas:

Page 5: Códigos y Lenguajes Utilizados en CNC

X50 Y40X-110X-130 Y60Y-220

Estos son desplazamientos en los ejes X,Y. Debes recordar que en un sistema de ejes cartesianos, tienes signos positivos y negativos, aquí los signos indican eso justamente, hacia que lado ir, Algunas máquinas requieren que se precisen los signos positivos, otras no, y como siempre, todo dependerá de la máquina.

Para el eje Z ocurre lo mismo, sino se menciona alguna letra asociada a un eje se tomara como que no realizara ningún cambio, o será de cero.

Otras observaciones, como verás, 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 instrucción.

En la segunda línea 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 línea, sólo que en este caso es respecto al eje Y. Igual que antes, algunas máquinas requieren sí o sí, que se le indique el par de comandos, y en otras no es necesario.

En el siguiente ejemplo, podrás ver que se indican los valores para cada comando, anteponiendo ceros a cada número, la cantidad de ceros depende de la cantidad máxima de puntos que la máquina puede trazar (sería en realidad la resolución de la máquina, algo así como... Puntos por Pulgada).

X+01800 Y+00200

Otra vez, todo dependerá de la forma en que la máquina realiza la lectura de estos comandos, para algunas será necesario, para otras no. Veamos otras instrucciones.

Tasa de Alimentación feedrate(F)

Este término podría tener varias acepciones, yo lo tomé como "Mantener velocidad" en lugar de Tasa de alimentación, me pareció un poco más significativo, ya que es eso lo que hace.

Algunos comandos, que luego veremos más adelante, lo utilizan sin necesidad de especificarlo, es como que la máquina tiene un registro en su memoria en donde se almacena este valor, y cuando el comando se ejecuta, automáticamente 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 máquina recorrerá la Pieza que está grabando, sería más 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 estés tallando, grabando o fresando, no es lo mismo calar madera que cobre o acero por ejemplo, la primera puede hacerse más rápido que la segunda y la tercera.

El valor que acompañe a la instrucción S seguramente será un número entero, ahora, la cuestión

Page 6: Códigos y Lenguajes Utilizados en CNC

es, cómo manejará la máquina estos valores...? si lo hará en revoluciones por minutos, cantidad de pasos por minuto, o por segundo, y sí, también depende de cada máquina, o del fabricante de la máquina, o sea nosotros.

Bien, eso es todo, sigamos...

Número de Herramienta (T)

Por lo que sé, las máquinas industriales poseen un cabezal que les permite cambiar de herramienta automáticamente, bueno según la instrucción o comando que se ejecute, el valor que acompañe a T apuntará a una Herramienta en especial, y sólo a ella, por ejemplo, podría ser algo así...

T02 <-- .0394

Estos valores están dados en Pulgadas o unidades Inglesas, hay una tabla muy interesante en la Web www.apcircuits.com que puedes bajarte, incluso se encuentra la forma en que se calculan estos diámetros.

Ahora, vamos a lo nuestro, podrías asignarle el diámetro que tú quieras a cada valor de T, y así tienes tu propia equivalencia, por ejemplo podría ser algo así...

T01 <-- 0.50 mm

T02 <-- 0.75 mm

T03 <-- 1.00 mm

Bueno, no se... eso se me acaba de ocurrir.

Algo más, T01 sería equivalente a T1, te diste cuenta de eso verdad...?

Vamos por lo que sigue...

Funciones Misceláneas o Funciones de la Maquina (M)

Estos código, son utilizados para todo aquello que antes no se había tenido en cuenta, algunos códigos controlan el flujo del programa, otros sin embargo, tienen funciones muy especiales, por ejemplo, el encendido de la máquina, el calibrado cuando ésta se enciende, el sentido de giro del mandril, el inicio o la repetición de un bloque de códigos, el control del rociador para el enfriamiento de la herramienta y la pieza que se está trabajando, etc.

Page 7: Códigos y Lenguajes Utilizados en CNC

En fin, yo aquí me encontré con algunas muy interesantes, y las separé en esta pequeña tabla...

Comando DescripciónM03 Inicio de la rotación del mandril en la dirección de las agujas del reloj.

M04 Inicio de la rotación del mandril en la dirección contraria a las agujas del reloj.

M05 Detención de la rotación del mandril.M07 Conexión del aporte de rocío del enfriador.

M30

Detención y rebobinado del programa. Detención de la rotación del mandril, del movimiento de la herramienta y desconexión del flujo del enfriador; el control se prepara a comenzar la lectura del inicio del programa una vez más. Todas las funciones de la máquina (preparatorias, misceláneas, etc) vuelven a su estado por defecto (la condición en la cual se encuentra la máquina al encenderla por primera vez.)

M99 Retorno desde la subrutina al programa principal

Igual que antes, la implementación de estos códigos depende de cada fabricante, es decir, de nosotros.

Bien, ahora vamos por lo más extenso...

Códigos para CNC - Funciones Preparatorias (G)

Las funciones preparatorias, también conocidas como G-Codes o Códigos G, son las más importantes en la programación CNC, ya que controlan el modo en que la máquina 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 acompañan a este comando, van de 00 a 99, y cada uno tiene una función determinada, no voy a describirlos a todos, sino a los más importantes, o al menos aquellos que considero de vital importancia, y que los puedes ver en esta tabla...

Comando DescripciónG00 Interpolación Lineal Rápida.G01 Interpolación lineal a la velocidad programada en el registro F.G02 Movimiento Circular en el sentido horario Feedrate.G03 Movimiento Circular en el sentido anti-horario Feedrate.G04 Es una demora o una pausa con un tiempo específico.G17 Selección del Plano X-YG18 Selección del Plano X-ZG19 Selección del Plano Y-ZG40 Compensación anulada, o al centro de la línea de desplazamiento.G41 Compensación a la Izquierda de la línea de desplazamiento.G42 Compensación a la Derecha de la línea de desplazamiento.G70 Unidad de Datos expresados en Pulgadas.G71 Unidad de Datos expresados en Milímetros.G90 Desplazamiento en Modo Absoluto.G91 Desplazamiento en Modo Incremental o Relativo.

Page 8: Códigos y Lenguajes Utilizados en CNC

Bueno, aquí podremos agrupar algunos, por ejemplo...

Interpolaciones Lineales (G00 y G01)

Uhhh... debemos saber primero que significa interpolación, veamos, según uno de mis diccionarios de la lengua hispana...

Interpolación es el proceso mediante el cual, conocidos los valores que toma una función 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 poquitín interpretar la definición anterior, dicho en entendible, sería algo así... Si conoces la ubicación del extremo (A) de una línea, y conoces la ubicación 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 interpolación, podemos comenzar con la descripción 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 rápido, 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 Anti-horario, y que el movimiento debe mantenerse constante a la velocidad programada en el registro F.

Hay dos formas de realizar un Arco o un círculo, 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 también figuran en la tabla que vimos en la página 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 línea imaginaria que une los puntos Inicial y Final de la curva, o sea, se trata de esto...

Page 9: Códigos y Lenguajes Utilizados en CNC

(figura 1)El centro del arco

está del lado izquierdo

(figura 2)La ubicación exacta se obtiene por

Pitágoras

(figura 3)Animación que

muestra el trazado del arco con -R

Como verás, lo único que indica el signo, es de que lado se encuentra el centro del arco

* Si el Radio es Positivo, el centro del Radio se encuentra del lado Derecho de la línea imaginaria que une los puntos Inicial y Final de la curva, mira la diferencia, es algo así...

(figura 4)Animación que muestra el trazado del arco con +R

NOTA 1: En los dos ejemplos vistos anteriormente, el valor de R, es el mismo, lo único que cambia es el signo, y fíjate que las curvas obtenidas son distintas, buena observación, no crees...?

NOTA 2: Estos Arcos fueron trazados con el comando G03, es decir, se trazó en sentido anti-horario. Si el comando fueseG02, el arco se trazaría al revés, esto es, el arco que ves en la figura 3 se trazaría para el otro lado, y quedaría un arco similar al de la figura 4, pero al revés, y el de la figura 4 quedaría igual al de la figura 3 pero y también al revés, es sólo una cuestión de interpretación.

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 máquina trabaja en 3D, que no es nuestro caso, pero también es válido lo que veremos para los otros dos.

Si conoces la ubicación del punto inicial y el punto final, lo único que necesitas para trazar una curva es la ubicación del centro del radio, cuando utilizamos anteriormente el comando R la ubicación del centro la obtenías por cálculo.

En este caso, la ubicación del radio está dada por las coordenadas I,J. El valor numérico que acompañe a la letra I será la ubicación respecto del eje X, mientras que el valor que acompañe a J será la ubicación respecto del eje Y.

Page 10: Códigos y Lenguajes Utilizados en CNC

Como verás, en este caso te estás ahorrando el cálculo para encontrar el centro de la curva, por lo que ví, esta es la más utilizada.

Selección del Plano (G17, G18, G19)

Cuando tu máquina trabaja en 3D, es obvio que tendrás tres vistas o caras de trabajo, es decir, estás trabajando en los tres ejes, aquí es importante conocer de que lado te encuentras, en la siguiente imagen podrás verlo con más claridad...

Cuando trabajes en 2D, los planos X-Z (G18), Y-Z (G19) no existirán, sólo te quedarás con el plano X-Y (G17).

Funciones Preparatorias - Compensaciones (G40, G41, G42)

La compensación, no es otra cosa que un pequeño desplazamiento de la herramienta sobre la línea de corte, es decir, puedes cortar justo por el centro de la línea (G40), o bien a un lado (Derecha (G42) o Izquierda (G41)). Aquí tienes una imagen en donde se ven las tres compensaciones posibles.

A estos tres comandos, no les acompaña ningún valor que le indique de cuanto será la compensación, sin embargo la máquina debe tener la capacidad suficiente para reconocer el diámetro de la herramienta con la que está trabajando en el momento de aplicarla y así calcular, de cuanto será la compensación, si recuerdas, anteriormente, habíamos visto los comando del tipo T00, T01, T02, bueno, pues justamente este valor está cargado en la memoria de la máquina, es decir, sabe perfectamente el diámetro de la herramienta que está utilizando, o al menos debería saberlo...

Unidad de Datos (G70, G71)

Hasta donde yo se, Internamente una máquina trabaja con puntos, y la resolución de la misma estará dada en Puntos por Pulgada (G70), o bien Puntos por Milímetros (G71), de allí surgirá una equivalencia que luego será traducida en las dimensiones de las piezas que se estén trabajando.

Según la información que encontré, estas son las dos medidas más utilizadas y estandarizadas para las fresadoras, tornos, taladros etc., y creería que son las que deberíamos adoptar para nuestra máquina, pero bueno, igual que antes, esto dependerá de cada fabricante.

Page 11: Códigos y Lenguajes Utilizados en CNC

No diré más de este par.

Modos de Desplazamiento (G90, G91)

Es muy importante que comprendas estos dos comandos, ya que de ellos dependerá el modo en que la máquina deberá desplazarse sobre cada eje.

Recuerdas cuando hablamos de los comando X,Y y Z, bueno los valores que acompañan a cada comando son los desplazamientos sobre cada eje, ahora, la máquina debe tener siempre un punto de referencia. Por lo general, el punto de referencia es la coordenada 0,0 también conocida como punto de origen, o PuntoCero.

El comando G90 indica Modo Absoluto, es decir que todos los valores de las coordenadas X,Y serán referidos a ese punto de origen.

El comando G91 indica Modo Incremental o Relativo, o sea, utilizará el PuntoCero sólo cuando comience el trazado, de allí en más, el último punto, se convertirá en punto de origen para el próximo desplazamiento.

Se habrá entendido...???

Bueno, lo aclaremos un poco más, mira estos dos gráficos, a pesar de que se trata del mismo, las instrucciones de trazado serán distintas, en un caso lo haremos en Modo Absoluto (G90), y en el otro lo haremos en Modo Incremental o Relativo(G91).

Desplazamiento Absoluto Desplazamiento Incremental

N0000 G90 G00 X4 Y7 N0010 G01 X9 N0020 X13 Y11 N0030 G00 X0 Y0

N0000 G91 G00 X4 Y7 N0010 G01 X5 N0020 X4 Y4 N0030 G00 X-13 Y-11

Vamos por la primera...

Desplazamiento en Modo Absoluto:

N0000 Dice algo así: G90 (los desplazamientos que siguen serán referidos al punto 0,0); G00 (el desplazamiento será rápido, sin realizar cortes); se debe dirigir al punto X=4,Y=7 (a).

N0010 Dice algo así: G01 (el movimiento es realizando corte); se debe dirigir hasta el punto X=9 (b).

N0020 Dice algo así: Continúa cortando hasta el punto X=13,Y=11 (c).

Page 12: Códigos y Lenguajes Utilizados en CNC

N0030 Dice algo así: G00 (Movimiento sin corte y rápido); desplazarse hasta el punto X=0,Y=0 (Regresa al punto de origen0,0)

Yo creería que es fácil de comprender, ahora veamos el otro Modo de Desplazamiento...

Desplazamiento en Modo Incremental o Relativo:

N0000 Dice algo así: G91 (los desplazamiento que siguen serán en modo incremental); G00 (el desplazamiento será rápido, sin realizar cortes); se debe mover 4 puntos en el Eje X, y 7 puntos en el Eje Y, (llega al punto a)

N0010 Dice algo así: G01 (el movimiento es realizando corte); debe moverse 5 puntos en el Eje X, (alcanza el punto b)

N0020 Dice algo así: Desplazarse 4 puntos en el Eje X, y 4 puntos en el Eje Y (llega al punto c)

N0030 Dice algo así: G00 (el desplazamiento será rápido, sin realizar cortes); Desplazarse 13 puntos hacia atrás en el Eje X, y 11 puntos hacia atrás en el Eje Y (Regresa al punto de origen 0,0)

Trazadores o Plotters

Un Plotter es como una impresora, con la INMENSA diferencia que este realiza el trazado de líneas, por medio de unas fibras, lápices, bolígrafos o elementos muy similares, llamadas plumillas en AutoCAD, El cabezal de un Plotter puede tener varias de estas plumillas (cada una con un color distinto), por lo que vi, algunos tienen cabezal rotativos, con la posibillidad de cambiar de plumilla en cualquier momento. aquí tienes un mini-video de este tipo de cabezales...

La mayor aplicación de los plotters la encuentran los Arquitectos de ilusiones, jaja...

Bueno, no, hablando en serio, Los Arquitectos los utilizan para el trazado de los planos de sus diseños, como sabrás, estos planos son inmensos, y una impresora común, no nos serviría para esta tarea, pues, creería yo que ese fue uno de los motivos por los cuales fueron creados, aunque nosotros utilizaremos sus lenguajes para otra cosa. Aquí tienes la foto de otro, aunque este ya no tiene cabezal rotativo como el anterior, sino que tiene las fibras puestas en forma vertical y descenderá la que corresponda al color de trazado, bueno, este tiene la pinta de ser fabricado en casa...

Page 13: Códigos y Lenguajes Utilizados en CNC

Aquí hay que resaltar algo, cada plotter tiene sus propios drivers, y en ellos la forma en que se controlará el movimiento de sus motores o bien la decodificación de una imagen para realizar el trazado. Volvemos a lo de siempre, todo depende del fabricante, algunos liberaron su código, otros no, pero nada impide que puedas controlarlos, en el mundo de la informática todo es posible, y aquí nos encontramos nosotros...

Ahora bien, todos estos plotters, te permitirán imprimir la imagen en un archivo de texto, este archivo contiene la información necesaria para que el plotter pueda trazarla, que algunos los llaman trazadores virtuales, no se si será el nombre correcto o no, pero la idea es obtener este archivo a como de lugar.

Una vez lo tengas, habrá que ver, qué información se encuentra dentro, o mejor dicho qué lenguaje utiliza, y bueno, dependerá del plotter que estés utilizando, o más bien, del driver de ese plotter.

En la Red de Redes, encontrarás varios, y te tocará elegir uno de ellos. El que yo describiré en este apartado, es el que utilizo con mi máquina, nada impide que más adelante lo cambie, esto seguramente me llevará a modificar el programa de control, que es el que veremos en la sección de Programación. Pero sigamos.

Los archivos PLT, tienen una larga lista de comandos, entre ellos algunos muy específicos del plotter utilizado, más que nada respecto a la configuración de la hoja de impresión, la ubicación del punto inicial del trazado, las plumillas utilizadas, la ubicación del cabezal, el calibrado del tamaño de la hoja, que algunos escalan la imagen según el papel de impresión, etc.

La tabla que verás a continuación es una traducción de la información que encontré respecto a este lenguaje gráfico. Sólo incluí las que más me interesaron...

"HP-GL" LENGUAJE GRÁFICO

Instrucciones de trazado y Control del Lápiz:

Instrucción FunciónPU Subir el lápiz (Pen Up).PD Bajar el lápiz (Pen Down)PA Posicionamiento Absoluto de Trazado (Plot Absolute).

PR Posicionamiento relativo de Trazado (Relative Coordinate Pen Move).

AA Trazado de Arcos en Modo Absoluto (Absolute Arc Plot).AR Trazado de Arcos en Modo Relativo (Relative Arc Plot).CI Círculo.

Otras instrucciones que me resultaron interesantes:

Instrucción FunciónDF Valores por defecto del set de Instrucciones.IN Inicializar set de Instrucciones.SC Escala.SP Selección de Lápiz.

Page 14: Códigos y Lenguajes Utilizados en CNC

Bueno, hay muchas más, pero estas son las que voy a describir a partir de ahora, comenzamos...???

Page 15: Códigos y Lenguajes Utilizados en CNC

Sintaxis de HP-GL (Lenguaje Gráfico de Hewlett Packard)

Aquí voy a tomar un ejemplo muy sencillo para describir la forma en que se escribe un bloque de instrucciones. Cada bloque está formado por una o dos instrucciones de dos letras cada una, que suele ser un mnemónico de los que vimos en las tablas anteriores, mira este ejemplo...

La primera instrucción está referida a si se realiza el trazado o no, en este caso la instrucción es PD (bajar el lápiz), eso significa que sí, se realizará trazado.

La segunda instrucción, está referida al modo de desplazamiento, que como ya vimos anteriormente, puede ser en modo Absoluto (PA) o Relativo (PR), en este caso será Desplazamiento o Posicionamiento Absoluto (PA)

Lo que sigue son dos números separados por una coma, el primer número es la coordenada para el Eje X, el segundo para el Eje Y, estas coordenadas determinan el punto al cual debe desplazarse, en nuestro ejemplo será hacia el puntoX=1001,Y=566.

Finalmente, el signo ";" indica Fin de Bloque de Instrucción, igual que en el lenguaje C o C++.

Bien, ahora veamos como se inicia el código de trazado de una imagen cualquiera, mira esto...

.(;.I81;;17:.N;19:IN;SC;PU;RO0;IP;IW;VS15;VS15;VS15;VS15;VS15; VS15;SP1;PU;PA0,0;SP1;LT;PA53,421;.....bla, bla, bla...

Todo aquello que ves en azul, vendrían a ser instrucciones de configuración del Trazador, de como se va a realizar el trazado, el sistemas de coordenadas, el área de impresión, etc., etc., estas instrucciones aparecerán siempre, son las que encabezan cualquier código de trazado, puede variar según el trazador o la forma en que se deba trazar una imagen, puede depender de varios factores, pero sigamos...

Luego aparecen un par de instrucciones que ya conocemos, como verás, la primera es PU; lo único que se hace con esta instrucción es levantar el lápiz. La que sigue, ya es un desplazamiento PA0,0;, y según la instrucción, lo hará en Modo Absoluto hacia la coordenada 0,0, es decir, la punta del lápiz se dirige a la coordenada de origen.

Veamos ahora las dos que siguen, la primera de ellas SP1; es Select Pen 1 (Selección del Lápiz 1).

La Segunda es LT; (Line Type) que vendría a ser Tipo de línea, hay un par de números que deberían acompañar a LT y que indican el tipo de línea a trazar, que podrían ser; línea llena, sólo puntos, línea y punto (en sus distintas variedades), simples segmentos separados por un espacio determinado (también en sus distintas variedades), etc. Por defecto cuando aparece esta instrucción sóla, sin ningún número, significa que el trazado se hará con línea llena.

Luego aparece otro desplazamiento en Modo Absoluto PA53,421; hacia el punto X=53,Y=421.

Page 16: Códigos y Lenguajes Utilizados en CNC

Finalmente aparece .....bla, bla, bla... que en terminología mundana, significa que el código continúa,

En realidad, aquí es donde comienza la fiesta, es decir, de aquí en más comenzaremos a graficar, suponte ahora que ya estas graficando, y en medio de todo ello te encuentras con este trozo de código...

... PDPA53,397,77,372,125,372,174,397,174,469;PUPA149,469;PDPA101,566;PUPA125,372;PDPA149,397,149,445,101,518; ...

Ufff...!!!, se suponía que un bloque de trazado estaba formado por dos instrucciones (pares de letras) y dos números (coordenadas X,Y), y que demonios es esto...???

Para que no se te frustren las intensiones de continuar, voy a tratar de explicarlo con más detalle, sólo voy a tomar la primera parte de todo ese código, aquella que está en azul, ya verás que para el resto, también será válido, ok...? aquí está...

PDPA53,397,77,372,125,372,174,397,174,469;

Vamos de nuevo...

PDPA es Bajar el lápiz y desplazarse en Modo Absoluto, primero hacia el punto 53,397, de allí ir hacia el punto 77,372, luego a 125,372, de allí a 174,397 y finalmente hacia 174,469; y obviamente, Fin de bloque de Instrucción ";"

Si lo analizas con un poco de detalle y de lógica, esa línea de código podría estar escrita de otra forma, algo así...

PDPA53,397;PDPA77,372;PDPA125,372;PDPA174,397;PDPA174,469;

Y esto sí cumple con lo que dijimos anteriormente, pero lo podríamos mejorar, mira...

PDPA53,397;PDPA77,372;PDPA125,372;PDPA174,397;PDPA174,469;

Page 17: Códigos y Lenguajes Utilizados en CNC

Y si los drivers de nuestro trazador generan estos códigos SIEMPRE en MODO ABSOLUTO...???, pues no haría falta que aparezca PA, a demás, si cada línea fuera un bloque de instrucciones, tampoco sería necesario el ";" y entonces nuestro código resultaría de la siguiente forma...

PD53,397PD77,372PD125,372PD174,397PD174,469

Bueno, esto sí es lo que entiende mi máquina.

Ok, hasta aquí hemos llegado con los códigos de los archivos PLT, te preguntarás, qué pasa con el resto de las instrucciones...? y bueno, son muy similares a los códigos vistos anteriormente, más adelante quizás le agregue el resto, por ahora quedamos aquí, respecto al trazado de arcos, aunque hay instrucciones específicas para su trazado, el driver que yo utilizo, fragmenta una curva en sus componentes lineales, algo así...

Y ya no es una curva, sino simples trazados lineales unidos entre sí, Se nota la diferencia...???, bueno, como dije anteriormente, el resto lo veremos más adelante, cuando ya tenga más claro en que consiste cada instrucción extraña que se presente, y te adelanto que ya me encontré con dos...

Lo que toca ahora, es ver como hacer para obtener estos archivos, así que, lo que veremos de aquí en más, será la configuración de un trazador en AutoCAD.

Configuración de Trazadores o Plotters en AutoCAD 2000

Para poder comenzar, aunque parezca una burrada, es necesario que tengas instalado AutoCAD, así que partimos de allí.

Ahora bien, inicia el programa, luego ve al menú Archivo --> Administrador de Trazadores, esto te llevará a la carpeta de Trazadores

Una vez allí, doble click en Asistente para Añadir un Trazador, en la ventana que se abrirá, elige la opción My Computer, y pulsa en Siguiente...

Page 18: Códigos y Lenguajes Utilizados en CNC

Nos toca elegir el fabricante, y como vamos a configurar el que trae AutoCAD, entonces optas por Hewlett-Packard (en la primera lista) y el modelo (de la segunda lista) será el 7475A, luego pulsas en Siguiente, y en la próxima ventana también le das a Siguiente.

Como se trata de Configurar un plotter virtual, en esta ventana selecciona Trazar en un Archivo, para ello eliges la opciónPlot to File, click en Siguiente y luego en Finalizar.

Bien, ya terminamos de configurar nuestro trazador, lo que sigue, es la Configuración del Papel, no es necesario, pero si lo deseas puedes hacerlo.

Para ello selecciona Custom Paper Sizes y presiona el botón Add.

Page 19: Códigos y Lenguajes Utilizados en CNC

En la siguiente ventana selecciona la primera opción Start from Scratch y pulsa en Siguiente, Luego define las dimensiones del papel, y las unidades en que serán expresadas estas dimensiones, y click en Siguiente.

Lo que toca ahora es establecer los márgenes de la hoja, y cuando hagas click en Siguiente, se te mostrará la información del papel que acabas de crear (que en realidad es una hoja personalizada, y que para nosotros depende del área disponible en nuestra máquina para el trazado de imágenes).

Finalmente te da la posibilidad de ponerle un nombre, así que a bautizarla... de ese modo podrás reconocerla fácilmente, pulsa en Siguiente y luego en Finalizar.

Page 20: Códigos y Lenguajes Utilizados en CNC

Ok, con esto regresamos a la ventana principal, y para cerrar el asistente presiona OK.

NOTA MUY IMPORTANTE: El trazador que acabamos de configurar, el 7475A, Imprimirá un archivo con todas las coordenadas de trazado, pero referidas siempre a coordenadas relativas.

El programa que hicimos con mis alumnos, requiere que estas coordenadas estén referidas a posiciones Absolutas, así que desde aquí ya tenemos un grave problema.

Pero para todo hay solución, así que fuimos en busca de otro trazador, y por suerte, pudimos conseguir una actualización para este Driver, que reemplaza al 7475A suministrado con el instalador de AutoCAD, este Driver es posible obtenerlo desde la página web de Autodesk(R), que bueno, yo lo dejaré disponible para descarga desde aquí.

La actualización de controladores es un archivo zip auto-extraíble. Su instalador se ejecuta de forma automática, apuesto que estarás pensando que deberemos configurarlo de nuevo, pero No, no te preocupes, que no será necesario.

Lo que hace al ejecutarse, es reemplazar los drivers, las dll de los trazadores instalados en tu PC, y actualizarlos. Sólo requiere reiniciar nuevamente el ordenador.

Algo que no incluí en este tutorial es la configuración de las plumillas, recuerdas la instrucción SP1 que vimos anteriormente...?, bueno, lo que hace es seleccionar el color de plumilla, y como nuestra máquina en lugar de plumilla tiene un Mini-Taladro y obviamente no pintaremos, sería bueno que no utilices colores en tus gráficos, o mejor todavía, configurar todas las plumillas en color negro, si mal no recuerdo, creo que son alrededor de 60 o 70, bueno, eso lo dejo a tu criterio...

Page 21: Códigos y Lenguajes Utilizados en CNC

Lo que nos quedaría ver ahora, son algunos conceptos básicos de funciones lineales, y más adelante, funciones para graficar arcos o curvas, de todos modos quizás lo veamos en la sección de programación, ya que será necesario para entender el código del programa de control, así que ya veremos que hacer.

Nota Final:

Aquí queda, y como dije antes, de todos estos lenguajes solo debes tomar lo que crees que será de utilidad para tu máquina, o las funciones que deseas implementarle.