Sie sind auf Seite 1von 30

C.N.C.

¿Que son las funciones modales?

Cuando se dice que una función es modal, nos referimos a que la función o
funciones G que hemos activado mediante una línea de programa, por ejemplo:
N0010 G00 G90 X100 Y100 permanecerán activas hasta que sean
reemplazadas por otra instrucción o por M02, M30, RESET o EMERGENCIA.
Hay que indicar que no todas las funciones G son modales, por ejemplo, en la
línea de código escrita arriba da la casualidad que las dos funciones G son
modales, lo cual quiere decir que en la siguiente línea de programa si no
indicamos lo contrario, la máquina se desplazará en G00 (en máximo avance de
la máquina) y lo hará en G90 cotas absolutas (todas las medidas se tomaran en
referencia al cero de pieza).
Cabe destacar que no todas las funciones G pueden ser programadas en la
misma línea de código. Estas funciones son las siguientes:
G20,G21,G22,G23,G24,G25,G26,G27,G28,G29,G30,G31,G32,G50,G52,G53/59
,G72,G73,G74,G92. Todas estas funciones deben ser programadas en bloque
por separado. Si en la misma línea de código utilizaramos funciones
incompatibles, se detendría la ejecución del programa. Hoy en día el control ya
nos avisa antes de hacer cualquier tipo de simulación.

Funciones M

A continuación se detalla un listado de las principales funciones M en un control


FANUC serie 0.

M00 Parada programada.


M01 Parada programada condicional.
M02 Fin de programa.
M03 Sentido de giro del husillo a la derecha.
M04 Sentido de giro del husillo a la izquierda.
M05 Husillo desconectado.
M08 Refrigerante ON.
M09 Refrigerante OFF.
M20 Contrapunto atrás.
M21 Contrapunto adelante.
M25 Abrir plato.
M26 Cerrar plato.
M30 Fin de programa.
M71 Soplado ON.
M72 Soplado OFF.
M98 Llamada de subrutina.
M99 Fin de subrutina. Salto.

Instrucción G00

Esta instrucción es la que provoca que el movimientos de los carros se efectúe a


la máxima velocidad. Es bien sencilla de entender.
Línea de código:
N0010 G00 X100 Y100 Z300
Aquí se envían los tres ejes a las cotas marcadas en la línea de programa (en el
caso de una fresadora).
Ésta es una de las funciones más peligrosas en el mundo de la programación
CNC, debido a que el movimiento de los carros se efectúa a la máxima
velocidad de avance que tenga la máquina, y muchas veces hay que tener en
cuenta cual de los tres ejes llega primero a la medida. Siempre que se pueda es
muy aconsejable realizar este movimiento de alejamiento en dos fases. La
primera alejar la herramienta de la zona comprometida, por ejemplo, si en Z
podemos salir de manera vertical sin tropiezo alguno con ninguna brida o con la
misma pieza, yo llevaría la herramienta hasta una altura Z(lo suficiente como
para alejarnos de los elementos) y luego interpolaría ejes X y Y. Todo esto es
válido en el caso de que la máquina sea una fresadora. Si la máquina es un
torno, debemos ser mucho más cautos aún y tener en cuenta la herramienta que
mecaniza y las que están en el tambor de herramientas.
Instrucción G01

Es una interpolación lineal al avance programado.


Normalmente cuando usamos esta instrucción, lo hacemos para desprender
viruta, es decir, realizamos el mecanizado.

Instrucciones G02 y G03

Para programar una curva, lo primero a realizar es situar la máquina en el punto


de inicio del arco. Antes de continuar muestro como debe quedar el bloque de
instrucciones para realizar la curva.

N0010 G02/G03 X_ Y_ I_ J_

A continuación se detalla lo que es cada cosa:

- G02/G03 Interpolación circular a derechas o a izquierdas, respectivamente.

- X Coordenada "X" del punto final del arco. La cota se puede dar en absolutas o
en incrementales.

- Y Coordenada "Y" del punto final del arco. La cota se puede dar en absolutas o
en incrementales.

- I Distancia en sentido del eje "X", desde el punto inicial del arco hasta el centro
del arco. Esta cota siempre se dará en incrementales.

- J Distancia en sentido del eje "Y", desde el punto inicial del arco hasta el centro
del arco. Esta cota siempre se dará en incrementales.
Por lo tanto según lo arriba expuesto, el bloque para efectuar una curva como la
de la figura seria el siguiente:N0010 G02 X15 Y5 I0 J-5
G02: Interpolación circular a derechas (a la velocidad del avance programado).
X15: Cota X del punto final del arco.
Y5: Cota Y del punto final del arco.
I0: La distancia que hay en sentido del eje "X" desde el punto de inicio del arco
hasta el centro es 0.(Recordad que esta cota siempre será en incrementales,
independientemente de si estamos programando en cotas absolutas o
incrementales.)
J-5: La distancia que hay en sentido del eje "Y" desde el punto de inicio del arco
hasta el centro es -5.(Recordad que esta cota siempre será en incrementales,
independientemente de si estamos programando en cotas absolutas o
incrementales.)

Instrucción G07 (Mecanizado en arista viva)

Cuando utilizamos esta función, el control no ejecuta la siguiente línea de


programa hasta que no se haya alcanzado la posición exacta del bloque
anterior. La función G07 no es compatible con la función G05. Es una función
modal. La manera de programarlo es muy simple.

N080 G07

A continuación seguirían los bloques de programa para realizar el mecanizado.

Hasta que el mecanizado no llega hasta el punto


final, no se efectúa la siguiente línea de código.
Instrucción G10, G11, G12 (Espejo o especularidad)

La función G10 es una función modal que se encarga de anular la imagen


espejo o especularidad. Además de ser una función modal, es una función que
el control asume cuando es iniciada la máquina. Es decir, si no se le ordena lo
contrario, la máquina siempre asumirá que debe trabajar sin imagen espejo.

G11 es una función modal también, que se utiliza cuando queremos realizar una
imagen espejo en el eje "X". A continuación un ejemplo para ayudar a entender
que hace realmente esta función:
N080 G11
N090 X-50 Y100 ---> (X50 Y100). Mantiene el signo en el eje "Y", pero lo cambia
en el eje "X".
N100 X-100 Y-10 ---> (X100 Y-10). Idem que en el caso anterior.

Es decir, G11 "especula" sobre el eje "X" cambiandole el signo.

G12 es una función modal también, que se utiliza cuando queremos realizar una
imagen espejo en el eje "Y". Por ejemplo:
N080 G12
N090 X-50 Y100 ---> (X-50 Y-100). Mantiene el signo en "X", pero lo cambia en
"Y".
N100 X-100 Y-10 --->(X-100 Y10). Idem que en el caso anterior.

Para utilizar estas funciones debemos saber que siempre se utilizará en figuras
equidistantes. El cero de pieza deberá estar en el centro de la pieza.

N010 G54 ;Decalaje


N020 G0 G90 X0 Y0 Z300 F30 S1000 M3
N022 T3 D3
N024 M6
N030 G0 X13 Y16 Z5
N040 G1 Z-2
N050 Y36
N060 X27
N070 X48.101 Y55
N080 G2 X63.123 Y48.312 I6.022 J-6.688
N090 G1 Y28
N100 X45
N110 Y14
N120 X41.745
N130 G2 X26 Y16 I-7.745 J2
N140 G1 X13 Y16
N150 G0 Z5
N160 G11 ;Especularidad en eje X
N170 (RPT N30,N150)N1 ;Repite de la línea 30 a la 150 una vez
N180 G12
N190 (RPT N30,N150)n1 ;Repite de la línea 30 a la 150 una vez
N200 G10
N210 G12 ;Especularidad en eje Y
N220 (RPT N30,N150)n1 ;Repite de la línea 30 a la 150 una vez
N230 G0 G90 Z100
N235 G10 ;Anulación imagen espejo
N240 X0 Y0
N250 M30
Un pequeño detalle. Cuando programamos interpolaciones circulares y
utilizamos las funciones espejo, el control reconoce que lo que en un cuadrante
se mecaniza con G02, cuando hacemos G11, en el siguiente cuadrante será
G03.
El programa se ha realizado para un control FAGOR 8050. De todas formas nos
basta con tener la idea de como utilizar las funciones, ya que los códigos de
programación se rigen por una norma ISO.

Instrucciones G17, G18 y G19

Utilizando una de estas tres funciones, indicamos al control el plano en el que


vamos a trabajar. Las tres funciones son modales.

G17 Es la encargada de indicar al control que vamos a trabajar en el plano XY.


El control siempre asume esta instrucción por defecto, es decir, cuando
ponemos en marcha la máquina, el control asume que el trabajo se va a llevar a
cabo en el plano XY.

G18 Es la encargada de indicar al control que vamos a trabajar en el plano XZ.

G19 Es la encargada de indicar al control que vamos a trabajar en el plano YZ.


Se suelen utilizar para realizar el programa de un molde. Más adelante se
ilustrará.

Funciones G20, G21, G22. G23, G24 (Subrutinas)

Dependiendo de los controles, las subrutinas pueden ser creadas de diferentes


formas, pero la idea básica es la misma para cualquier sistema. La subrutina es
una parte del programa que está identificada de tal manera que puede ser
llamada desde cualquier parte de un programa para su ejecución. Las subrutinas
pueden formar parte de un programa o pueden ser programas independientes.
Subrutinas hay dos tipos:

- ESTANDAR.
- PARAMÉTRICAS.

SUBRUTINA ESTANDAR
Una subrutina estandar empieza siempre con un bloque que contiene la función
G22 (Abrir subprograma). N010 G22 N1 ; N1 es el número de subprograma.
La subrutina siempre finaliza con la función G24.
N050 G24
La llamada a una subrutina estandar se realiza con la función G20.
N090 G20 N1.3; En este bloque el .3 quiere decir el número de veces que
queremos que se repita la subrutina N1.

SUBRUTINA PARAMÉTRICA
Una subrutina paramétrica empieza siempre con un bloque que contiene la
función G23 seguida del número que identifica a la subrutina.
N010 G23 N1
La subrutina siempre finaliza con la función G24.
La llamada a una subrutina paramétrica se realiza con la función G21 seguido de
unos parámetros que a continuación explicaré. El formato del bloque debe seguir
este patrón:
N030 G21 N1.3 P1=K1; P1=K1 son los valores que se le asignan a los
parámetros.
Ejemplo de subrutina estandar
N010 G0 G90 X20 Y20 Z100 S1000 M03
N020 T1.1; Broca de Ø10 mm
N030 M06
N040 G22 N1; Inicio de subrutina
N050 G0 Z3
N060 G1 Z-10 F30
N070 G4 K1.0
N080 G0 Z100
N090 G24; Final de subrutina
N100 G0 x40 Y75
N110 G20 N1.1; Llamada a subrutina
N120 M05; Paro del cabezal
N130 M30

Este programa hace dos taladros. El primero lo efectúa en la posición X20 Y20 y
el segundo taladro en la posición X40 Y75.
Ejemplo de subrutina paramétrica
N020 G54
N030 T8.8
N040 M06
N050 G0 G90 X12 Y20 Z10 S1500 M3
N060 G1 Z-1 F30
N070 G23 N3
N080 G1 G91 X P0 Y P1 F50
N090 X P2 Y P3
N100 X P4 Y P5
N110 X P6
N120 G24
N130 G21 N3.1 P0=K15 P1=K30 P2=K15 P3=K-30 P4=K-30 P5=K0 P6=K0
N140 G0 G90 Z100
N145 X52 Y20
N150 Z10
N160 G1 Z-1 F30
N170 G21 N3.1 P0=K0 P1=K30 P2=K30 P3=K0 P4=K0 P5=K-30 P6=K-30
N180 G0 G90 Z100
N190 M30
Este programa mecaniza un triángulo y un cuadrado. Para ello bastará con
modificar los parámetros de entrada para crear o bien un triángulo o bien un
cuadrado. Utilizamos siempre el mismo programa, es decir, la subrutina N3,
juntamente con los diferentes parámetros.
Es un simple ejemplo en paramétricas. De todas formas más adelante se
profundizará más en la programación paramétrica.

Cada subrutina debe tener identificación diferente, es decir, su numeración debe


ser única, ya sea la subrutina paramétrica o estandar.

N010 G22 N1; (No existirá otra subrutina número 1).

N010 G23 N3; (No existirá otra subrutina número 3).

(Programas realizados para control FAGOR 8025)

Instrucción G25 (Salto incondicional)

Es una función que utilizamos para realizar un salto a otro bloque dentro del
mismo programa. Es una instrucción que encontramos en los controles 8025M
de FAGOR. Como dice el título, no es necesario que se cumpla ninguna
condición. La forma de programarla es la siguiente:

N060 N_._._

Como se puede apreciar en la ilustración, cuando realiza


el salto de la línea 30 a la 60, y lo realiza dos veces, la ejecución del programa
continúa en el siguiente bloque.
(Función para controles FAGOR 8025M)

Instrucción G26 (Salto condicional si es igual a 0)

Durante la ejecución de un programa, si se cumple la condición "es igual a 0",


salta al bloque indicado. Si la condición no se cumple, el bloque no se tendrá en
cuenta.

N1400 G26 N1500

Instrucción G27 (Salto condicional si no es igual a 0)

Cuando se está ejecutando el programa si se cumple la condición no es igual a


0, entonces salta al bloque indicado. Si la condicion no se cumple, entonces se
ignora el bloque.
Los parámetros son los siguientes:
N110 G27 N500.500.1

Donde N500.500 son los bloques que se tienen que


ejecutar. (En este caso solo el bloque N500)
El último parámetro es el número de veces que queremos que se repita el
bloque o los bloques indicados.

Instrucción G28 (Salto condicional si es menor)


En la ejecución del programa si se cumple la condición menor, salta a la línea
indicada. De lo contrario si no se cumple la condición no se tendrá en cuenta el
bloque.

N120 G28 N150.150.1


si se cumple la condición menor que, entonces el programa salta al bloque n120
y lo ejecuta una vez.

Funciones G31 y G32 (Guardar / Recuperar origen de


coordenadas actual)

Con la función G31 podemos guardar en el momento que nos interese el origen
de coordenadas con el que estamos trabajando. Con G32 lo recuperaremos.
Estas funciones se suelen compaginar con la función G92 (traslado de origen de
coordenadas). Antes de realizar un traslado de origen de coordenadas, lo que
haremos será guardar el actual cero mediante la función G31. Una vez
almacenado en memoria dicho origen, realizamos el traslado de coordenadas
mediante la función G92. Realizamos las operaciones oportunas, y cuando
queremos recuperar el cero original de la pieza, utilizamos la instrucción G32.
La forma de utilizar estas funciones seria asi:

N50 G1 x15
N60 G31 (Se guarda en memoria el origen de coordenadas de la pieza.)
N70 G92 X0 (Se ha realizado el traslado de origen de coordenadas.)
.
. (Se realizan las operaciones pertinentes.)
.
N110 G32 (Se recupera el origen inicial de la pieza.)

Resulta muy útil cuando queremos utilizar dos orígenes de coordenadas en una
misma pieza. A remarcar que estas funciones se utilizan sobre todo para poder
repetir código programado en cotas absolutas.

Instrucción G33 (Roscado electrónico)

Esta función tan solo se podrá utilizar si el movimiento de giro del cabezal de la
máquina está controlado por un "encoder" o codificador rotatorio. Si la máquina
carece de este control, nos debemos olvidar de esta función. Habrá que utilizar
otras estrategias de mecanizado para realizar el roscado. Más adelante indicaré
algunas de esas estrategias para efectuar un roscado (sin macho) en una
fresadora. La estructura de los parámetros es bien sencilla:

N050 G33 Z_ L_

Donde "Z" es la medida final de la rosca. (Ver


ilustración).
Y "L" es el paso que tiene la rosca a mecanizar.

Hay que recordar que esta función solo se puede usar si el eje de giro del
cabezal de la fresadora, está controlado por un encoder. De lo contrario nos
olvidamos de la función.
En los controles 8025, para reflejar el paso de la rosca se utiliza la letra K, en
vez de la letra L. G33 es una función modal. Se mantiene activa hasta que sea
programado un G00, G01, G02, G03 o pulsemos el reset.

Instrucción G36

La función G36 la utilizamos para programar un redondeo controlado de aristas


con un radio determinado. No debemos indicarle ni los puntos inicial/final del
arco ni el centro. Esta función siempre debe ir acompañada de un radio R.

Nos encontraremos con tres maneras de utilizar esta función.

- Recta-recta.
- Recta-arco.
- Arco-arco.

RECTA-RECTA

Si queremos programar un redondeo de 9


milímetros en la arista punto 2 y venimos con nuestro mecanizado desde el
punto 1, la programación deberá ser de la siguiente forma:

N040 G01 G36 R9 X25 Y27

En este punto del programa, el control todavía no ha efectuado ningún


movimiento. Será cuando programemos el siguente movimiento cuando el
control efectuará todo el mecanizado. (Desde el punto 1 hasta el punto 3). El
bloque necesario que falta para realizar el recorrido del 1 al 3 seria el siguiente:

N050 G01 X14 Y34

RECTA-ARCO
Como en el anterior ejemplo el mecanizado lo
efectuamos del punto 1 al punto 3 (El radio del redondeo sigue siendo de 9 mm).
El centro del arco es el punto C. Lo hariamos de la siguiente forma:

N040 G01 G36 R9 X25 Y27


N050 G02 X24 Y32 I2 J2

En la línea 50 la I y la J se da desde el punto 2 hasta el punto cero, como si el


readio comenzara en ese punto.

ARCO-ARCO

Como en los ejemplos anteriores mecanizamos desde el punto 1 hasta el punto


3. Los centros son los marcados con C y C´. El código de programa para
programar este tipo de redondeos seria el siguiente:

N040 G03 G36 R7 X-30 Y5 I-30 J-3


N050 G03 X-89 Y-4 I-30 J -3

Instrucción G37 (Entrada tangencial)


Usamos la función G37 para empalmar dos trayectorias. No es necesario llevar
a cabo ningún tipo de cálculo. Las trayectorias a enlazar pueden ser recta con
recta o recta con curva. La función G37 se debe introducir en el bloque cuya
trayectoria se desee modificar. No se puede programar G37 con interpolaciones
circulares. El movimiento es rectilíneo. No es una función modal.

Instrucción G39 (Achaflanado controlado de aristas)

Esta función nos permite realizar un chaflán entre dos rectas o aristas. No es
preciso calcular ningún punto de intersección, tan sólo hay que indicarle el radio.
El radio es la longitud que queremos quitar de material. Como siempre una
ilustración y un ejemplo me ayudará a explicarlo.

Imaginemos el siguiente código:

N10 G54
N20 G0 G90 G43 X0 Y0 Z100 F100 S500
N30 T3.3
N40 M6
N50 G0 X50 Y20
N60 G0 Z5
N70 G1 Z-1
N80 G39 R10 Y50
N100 X10
N110 G0 G44 Z80
N120 M30

En la línea N80 utilizamos la función G39. En la ilustración se indica los puntos


que recorre el control cuando ejecuta el código de la línea N80 (tramo A-B).
Seguidamente cuando ejecuta el código de la línea N100, realiza el resto de
recorrido (tramo B-C-D). Es así porque el control precisa saber siempre una
segunda trayectoria para poder calcular el punto C. Se podría decir que la
primera trayectoria es la A-B (la que se realiza en la línea N80), mientras que la
segunda trayectoria es la B-C-D (la que se realiza en la línea N100). A
continuación la simulación del programa arriba mostrado.

Instrucción G40

Se utiliza para anular la compensación del radio de la herramienta. Una manera


bastante correcta para utilizar esta función es descompensando ubicando la
herramienta perpendicular al ultimo punto. En el siguiente trozo de código de
programa se verá con más claridad.

N0030 G1 X0 Y50
N0040 G0 G40 x-20
Instrucción G41 y G42

Se utiliza fundamentalmente para realizar la compensación del radio de la


herramienta. Ambas funciones son modales. Cuando utilizamos G41, estamos
efectuando una "compensación a izquierdas". ¿Que es todo esto? Pues bien
para introducirnos un poco en el mundo de las compensaciones de radios hay
que tener claros una serie de conceptos:

-¿Cuando debo compensar? Siempre que se contornea. (figura 1)


-¿Dónde debo compensar? Llegados a este punto hay que tener muy clara una
idea. En la figura dos queda reflejada.

La herramienta dibujada en gris oscuro representa el acercamiento de la


herramienta a la pieza antes de realizar la compensación, es decir, N.... G0 X-10
Y8. Una vez la herramienta en esta posición es cuando debemos realizar la
compensación (ya sea a derechas o a izquierdas). Requisito fundamental para
no tener problemas, es dejar como mínimo una distancia entre ejes de más de 1
milímetro entre la posición actual de la herramienta (herramienta gris oscuro) y la
futura posición que ocupará la herramienta (herramienta gris claro). Veamos
como quedaría el pequeño código de programa para realizar el acercamiento y
la compensación:

N0010 G0 X-10 Y8 (llevamos la herramienta a la posicion que ocupa la


herramienta de color gris oscuro)
N0020 G1 G41 X0 Y8 (aqui estamos en la posición que ocupa la herramienta de
color gris claro).

Antes de continuar cabe remarcar que cuando digo "acercamiento de la


herramienta a...", doy por supuesto de que siempre vamos a tener en cuenta
que no haya colisión con ningún elemento de la máquina o con la misma pieza.
SIEMPRE debe quedar este concepto en nuestra cabeza. A pie de máquina es
donde veremos la realidad, por lo tanto, siempre debemos pensar como si
estuviésemos delante de una máquina. Creo que es la mejor filosofía, ya que de
lo contrario podríamos llevarnos alguna que otra sorpresa un tanto desagradable
el día que estemos delante de una máquina de control numérico.
Resumiendo se podría decir que utilizaremos G41 cuando en el sentido del
mecanizado se tiene que compensar el radio de la herramienta a la izquierda del
material. De lo contrario usaremos G42 cuando en el sentido del mecanizado se
tenga que compensar el radio de la herramienta a la derecha del material.

Instrucción G43 (Compensación de longitud)

Mediante esta función podemos compensar diferencias de longitud existentes


entre la herramienta programada y la herramienta que vamos a utilizar. La
compensación se efectúa en referencia al parámetro D00-D99 en el caso de
controles 8050 y en el caso de controles 8025 .00-.99. Por ejemplo T1 D1 la
compensación se efectuará en relación al parámetro D1 de la tabla de
herramientas.

Siempre se aplica dicha compensación al eje perpendicular al plano principal.


G43 es una función modal.

Instrucción G49 (Avance de trabajo programable)

Al utilizar esta función, podemos programar en % de la velocidad del avance


programado (parámetro F). Para utilizar esta función, debemos programarla de
la siguiente manera:

N070 G49 K(1/50)

Es un instrucción modal. El avance programado se mantendrá hasta que no se


anule la función mediante otro G49 (sin parámetros) o G49 K

Instrucción G53-59 (Traslado de origen)

Básicamente y en pocas palabras podríamos decir que estas funciones están


directamente relacionadas con los decalajes. Sirven para guardar traslados de
origen siempre referidos al cero de referencia (cero de máquina). Es decir, las
cotas que introduzcamos en estos decalajes, es la distancia existente entre el
cero de referencia y el nuevo cero de pieza (con respecto a todos los ejes).

Se pueden tener varios ceros de pieza (guardados en G53 hasta G59). en la


figura de la derecha OM seria el cero de referencia y OP el traslado del origen.

La forma de indicar al control el traslado de origen es la siguiente:


En cotas absolutas: N010 X_ Y_ Z_
En cotas incrementales: N010 I_ J_ K_
Estos mismos valores pueden estar almacenados en la memoria del control
mediante la tabla de decalajes.

Instrucción G70 (Cotas en pulgadas)

Al utilizar esta función, lo que hacemos es pasar al sistema de medición por


pulgadas. Esto afecta a:
- Visualización de las posiciones de los ejes.
- Los avances programados (inch/min, inch/rev).
- Decalajes.
- Velocidad de corte. (pies/min).

Hay que destacar que aunque desconectemos el control, si el ultimo programa


ha trabajado bajo mediciones en pulgadas, el control seguirá "pensando en
pulgadas". Para pasar al modo de medición en mm, o bien en la carga de un
próximo programa se programa G71 (medición en milímetros), o bien con MDI
G71 y cycle start.

Instrucción G72 (Factor de escala)

Mediante la función G72 se puede ampliar o reducir la pieza programada.


Cuando queremos escalar todas las magnitudes programadas (de todos los
ejes), bastará con utilizar la siguiente línea de código:

N050 G72 K2 (multiplicara las magnitudes de todos los ejes por dos).

Si queremos aplicar el factor escala tan solo a uno de los ejes o a más de uno,
pero no a todos, bastará con utilizar la instrucción de la siguiente forma:

N050 G72 X0.5 o N050 G72 X0.5 Y2

A tener en cuenta lo siguiente:


- Si volvemos a utilizar otro factor escala, por ejemplo en una supuesta línea
N100, y lo aplicamos a las magnitudes de todos los ejes, por ejemplo. N100 G72
k2, resultaría que las magnitudes de los ejes "Y" y "Z" serian escaladas
multiplicando por dos, pero las magnitudes del eje "X", se mantendrían en su
verdadera magnitud, ya que el control cuando encuentra varios factores de
escala para un mismo eje, lo que hace es multiplicarlos. En este caso primero
habíamos escalado el eje "X" con un valor de 0.5 y posteriormente hemos
escalado todas las magnitudes de los ejes por 2, lo que nos indica que el eje "X"
tendría una magnitud de (0.5 x 2 = 1), mientras que el resto de los ejes tendrían
una magnitud de (1 x 2 = 2).
- Con G72 K1, volvemos a la verdadera magnitud.
- G72 es una función modal. Es anulada cuando utilizamos un M02, M30,
apretamos la seta de emergencia o hacemos un reset.

Un programa ejemplo:

N010 G53 X-100 Y-100 Z-102


N020 G53
N030 T3.3
N040 M06
N050 G0 G90 X0 Y0 Z10 F100 S1500 M3
N060 G0 Z2
N70 G1 Z-1
N80 X20 Y30
N90 G0 Z2
N100 X0 Y0
N110 G72 K0.5 (Factor de escala 0.5 sobre las magnitudes de todos los ejes.)
N115 G11 (Imagen espejo sobre el eje "X")
N120 G25 N70.100.1
N130 M30

Se puede apreciar en la simulación que la trayectoria de la izquierda es más


corta, tanto en "X" como en "Y" y además la regata no tiene tanta profundidad
como la regata de la derecha (en el vídeo casi no se aprecia).

Instrucción G73

La función G73 permite girar el sistema de coordenadas. Es una función modal.


Para realizar el giro del sistema de coordenadas, toma como centro de giro el
punto cero del plano principal. O lo que es lo mismo, el cero pieza.
La manera de utilizar esta función es la siguiente:
N100 G73 A35

Donde A35 es el ángulo de giro de coordenadas. La función G73 es incremental.


Si giramos el sistema de coordenadas hacia la derecha, el valor de A será
negativo y si lo giramos hacia la izquierda, el valor de A será positivo.
Cuando efectuamos un giro, y seguidamente realizamos otro giro de
coordenadas, el ángulo al que nos moveremos será la suma de los dos giros.

Para realizar la anulación del giro, bastará con utilizar la función G73 sin ningún
parámetro.

N110 G73; Anulación de giro de coordenadas.

En la función G73 también podemos dar un centro de giro programado de la


siguiente forma:

N120 G73 A40 I20 J30

A seria el ángulo.
I y J se utilizan para definir la abscisa y la ordenada, respectivamente, del centro
de giro. Si no se utilizan, el centro de giro será el cero de pieza del plano
principal en el que estemos trabajando (supongamos en el plano XY).
Algo a tener en cuenta es que los valores de I y de J siempre se definirán en
cotas absolutas con respecto al cero de coordenadas o cero de pieza.

Instrucción G74

Esta función sirve para llevar los ejes de la máquina a su referencia inicial. La
peculiaridad de esta función es que siempre guarda la distancia al último cero
pieza que había en la máquina. Si hubiese un corte en el suministro eléctrico,
con esta función podríamos recuperar el último cero de la pieza.

Poniendo la máquina en la modalidad MDI o teach-IN, podríamos ejecutar la


instrucción G74, obteniendo así la distancia al último cero de pieza programado.

G74 ZYX (Llevaría el eje Z a referencia de máquina, después el Y y por último el


X)
Instrucción G90

Es una instrucción modal que por defecto asume el control numérico cuando se
inicia. Cuando programamos G90 en un bloque, lo que estamos indicando al
control es que todas las cotas que salgan en el programa son cotas en absoluto,
es decir, todas las medidas estan tomadas desde un mismo punto de referencia.
El cero pieza (X0,Y0,Z0).

Instrucción G91

Es una instrucción modal que indica que la programacion se va a efectuar en


cotas relativas. La referencia es siempre el último punto programado, es decir,
en una línea recta se precisa tener la referencia del último punto para poder
indicar el siguiente. En la figura tenemos un punto inicial, y queremos
desplazarnos hacia el punto final. Pues bien para realizar esta maniobra en
incremental, tenemos que utilizar el punto inicial como si se tratara del origen.
Ese punto que utilizamos de referencia es igual que el punto (0,0) en absolutas.
Una vez hayamos llegado al punto final, la siguiente trayectoria que tengamos
que hacer la haremos en referencia a ese punto final.

Instrucción G92 (Traslado de origen de coordenadas)

Es una función que cambia el origen de coordenadas de la pieza. Sobre todo se


utiliza cuando la pieza a mecanizar tiene formas repetidas. Basicamente lo que
hace es cambiar el cero de pieza. Al utilizar esta función no estamos efectuando
ningún movimiento en los ejes. Se suele utilizar de la siguiente forma:

N050 G92 X-20

¿Que nos indica este bloque? Lo que nos dice esta línea de código es que la
posición de la herramienta en ese justo momento se encuentra a X-20 del nuevo
cero de pieza, lo que se traduce en que el cero de pieza con respecto al eje "X"
se ha trasladado a 20 mm a la derecha de la posición en la que se encuentra la
herramienta en ese momento. A continuación una ilustración para intentar
aclarar el concepto.

La herramienta se encuentra en la posición que refleja el dibujo (no nos


centraremos en su posición). Justo cuando se ha ejecutado la ultima línea de
código que la ha llevado a esa posición, ejecutamos la función G92 (N050 G92
X-20). Al ejecutar esta instrucción, le estamos diciendo al control que el nuevo
origen de coordenadas de la pieza se encuentra a "20 milímetros a la derecha
de la herramienta", o lo que es lo mismo, la herramienta se encuentra a -20 mm
del nuevo origen de coordenadas de la pieza, de ahí el signo negativo. En los
ejes "Y" y "Z" no hemos tocado nada, por lo tanto seguirán teniendo las mismas
coordenadas.

Coordenadas Polares G93

Como norma general, para programar en cotas polares hay que tener claros una
serie de pasos a seguir:
- Para crear un centro polar hay que utilizar la función preparatoria G93 seguida
de dos letras más:

I Es la distancia desde el cero de pieza hasta el punto donde queramos crear el


centro polar, medido en sentido del eje X.
J Es la distancia desde el cero de pieza hasta el punto donde queramos crear el
centro polar, medido en sentido del eje Y.

- Cuando hayamos determinado el centro polar, el control siempre entenderá la


definición de cualquier punto con un radio y un ángulo y siempre desde el nuevo
centro polar que hemos programado.

- Para desactivar en centro polar programado, y pasar a cotas cartesianas,


bastará con programar en el bloque que queramos, la definición de cualquier
punto de nuevo con una X o una Y y el control volverá a trabajar con el cero
pieza.

- Cuando utilizamos G93, siempre determinaremos las medidas en cotas


absolutas, independientemente de si estamos programando en absolutas o
incrementales. No hará falta indicar nada al control, tan solo reflejar las cotas en
los parámetros I y J arriba mencionados.

- Si se está trabajando en modalidad de cotas absolutas, los radios siempre


serán positivos, y los ángulos podrán adoptar dos valores, positivos o negativos,
dependiendo si contamos los grados en sentido contrario a las agujas del reloj o
a favor respectivamente.

- De lo contrario, si estamos trabajando en modalidad incremental, los radios


podrán ser positivos o negativos, y los ángulos serán negativos si se cuentan en
sentido de las agujas del reloj, y positivos si es en sentido contrario.

- Si queremos cambiar de centro polar, basta con definir el nuevo centro polar.
De esta forma el control no memoriza el centro polar antiguo y pasa a pensar
con el nuevo centro polar.

- Cuando creamos el centro polar con G93 I J, tan solo debemos escribir esta
información en el bloque.
- Al crear un centro polar, tan solo le estamos dando información al control, es
decir, no provocamos ningún movimiento en la máquina.

- En polares siempre programaremos reflejando radio y ángulo.

- Para programar una curva en polares, tan solo nos basta con indicarle la
dirección de la curva (a derechas o a izquierdas) y el ángulo. El control ya
asume el radio de la curva.

- Cuando utilizamos la instrucción G93 sin ningún parámetro más, le estamos


diciendo al control que coja como centro polar el punto donde en ese momento
se encuentra la máquina.

Instrucción G94

Es una instrucción modal, y además, es una instrucción que por defecto asume
el control numérico cuando se inicia, o después de un M02, M30, RESET o
EMERGENCIA. Básicamente lo que le estamos indicando al control con esta
función es que el avance se dará en mm/min.

N0010 G0 G90 G94 X100 Y100 Z200 F150 S1500.....

Aunque no sería necesario indicar la función G94, es muy conveniente hacerlo,


ya que nos aseguramos de decirle al control que el avance está expresado en
mm/min. Esto es muy importante sobre todo en torno, ya que en torno, en
función de cómo se exprese el avance, hay que tener en cuenta una serie de
detalles. Esto se verá en la función G95.

Instrucción G95

Es una instrucción modal, la cual nos indica que el avance será expresado en
mm/vuelta. Debe de quedar muy claro el concepto, ya que, cuando
programamos un avance con la instrucción G94, nos estamos refiriendo a un
avance expresado en mm/min. Es decir, seria perfectamente posible indicar un
avance de F200. Pero al utilizar G95, debemos tener en cuenta que utilizaremos
un avance expresado en mm/vuelta, lo cual indica que los avances a utilizar
deberán ser más bajos (F0,15). Si utilizásemos F200 con la instrucción G95 en
el mecanizado de una pieza en torno, por ejemplo, le estaríamos indicando al
control que mecanizase con un avance de la herramienta de 200 mm por vuelta.
Con tan solo 3 vueltas del plato, nuestra herramienta avanzaría 600 mm. Como
habréis deducido, esa situación provocaría una colisión muy brusca con la pieza
a mecanizar.

Instrucción G96

Instrucción modal responsable de indicar al control numérico que vamos a


trabajar con una velocidad de corte constante. Normalmente en los programas
de torno, cuando utilizamos esta instrucción, en el bloque siguiente debemos de
indicar un tope de velocidad del plato mediante la instrucción G92.

¿Porqué? Por lo siguiente.... La velocidad de corte es la velocidad tangencial de


la pieza producida por el movimiento angular. (giro del plato) Como es sabido, la
velocidad angular es siempre la misma, pero la velocidad lineal no siempre es la
misma. Según el dibujo, dos cilindros de diferentes diámetros, pero de idéntica
velocidad lineal, no tendrían la misma velocidad lineal en la periferia, debido a
que el cilindro de diámetro 25, habría recorrido en una vuelta 78.54, mientras
que el cilindro de diámetro 15, tan solo habría recorrido 47.12 yendo ambos a las
mismas velocidades angulares.

Todo esto nos lleva a la conclusión de que cuando le decimos al control


numérico que queremos una velocidad de corte constante, indicándoselo
mediante G96, tenemos que tener en cuenta lo siguiente:

En la operación de refrentado, la herramienta va


mecanizando hacia el centro del cilindro (como en la figura). Si queremos que la
velocidad de corte sea constante, nos encontraremos con el problema de que
cuando la herramienta está muy cerca del centro, la pieza necesitará girar a una
velocidad elevadísima para poder mantener la velocidad de corte deseada.
¿Porqué? Por lo comentado arriba. Porque apenas habrá velocidad lineal debido
a que la herramienta se encuentra en un punto muy cercano al centro. Y en el
centro la velocidad lineal es cero.
Por todo esto, deberemos programar un G92 en el bloque siguiente. Y ese G92,
entre otras cosas, hará la función de tope de velocidad. N30 G92 s2000 (La
máquina no girará a más de 2000 r.p.m. aunque la herramienta esté en el
centro.)

Instrucción G97

La función G97 es modal y es una instrucción que por defecto asume el control
cuando se inicia. si anteriormente habíamos utilizado la función G96, al
programar la función G97, ésta deselecciona a la funcion G96. Con G97 lo que
conseguimos es mantener constante la velocidad de giro del husillo. La
velocidad a la que girará el husillo será igual a la de la última S programada
(velocidad de giro). Por ejemplo:

N010 G97 S250

El husillo girará a una velocidad de 250 revoluciones por minuto.

Instrucción G98 (Vuelta al plano de partida al finalizar ciclo fijo)

Usamos G98 cuando realizamos un mecanizado mediante ciclo fijo en una


fresadora. Cuando programamos G98, lo que hacemos es indicarle al control
que cuando finalice el mecanizado del ciclo fijo, la punta de la herramienta
retroceda hasta el plano de partida o plano inicial (ver ilustración). En el
momento del encendido de la máquina, el control siempre asume por defecto la
función G98, es decir, si iniciamos un ciclo fijo y no le indicamos nada, el control
asumirá que el retorno de la herramienta será hasta el plano inicial.

Avances aconsejados para conseguir un acabado superficial


idóneo.

Dependiendo del grado de acabado superficial que nos pidan, nosotros


podemos encontrar el avance idóneo, expresado en mm/vuelta, para conseguir
dicho acabado. Para realizar esta búsqueda, tan solo tenemos que utilizar esta
sencilla fórmula:

RaP es el radio de la plaquita.


R es la rugosidad expresada en micras.
El avance resultante se expresa en mm/vuelta
Cabe resaltar que este cálculo se utiliza para trabajos en torno.

Ejemplo:
En el plano de una pieza a mecanizar en torno nos piden que el grado de
acabado superficial es de Rt:5 (5 micras). ¿Cual será el avance de la pasada de
acabado? (suponiendo que realizaremos el acabado con una plaquita con un
radio de 0.8 mm).

Das könnte Ihnen auch gefallen