Sie sind auf Seite 1von 13

SUBRUTINAS Y PARAMÉTRICAS

SUBRUTINAS
• 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.

– ESTANDAR.

– PARAMÉTRICAS.
SUBRUTINA ESTANDAR
Una subrutina estándar empieza siempre con un bloque que contiene la función
G22 (Abrir subprograma).

N010 G22 N1: N1 es el número de subprograma.

N050 G24:

La llamada a una subrutina estándar 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.
FUNCIONES G20, G21, G22. G23, G24
(SUBRUTINAS)
Instrucción G22. Principio de subrutina estándar.

La instrucción G22 sirve para marcar el inicio de una subrutina estándar, entendiendo
como tal al trozo de programa formado por los bloques de programación necesarios para
efectuar un trabajo determinado.

El final de la subrutina la marcaremos con la instrucción G24, quedando así los bloques
del mini-programa entre ellas.

Durante el procesamiento de los bloques del programa, las instrucciones encerradas


entre los bloques G22 y G24 son ignorados por el control y no se ejecutan hasta ser
llamada por su nombre.
Posteriormente podremos ejecutar esta subrutina cuantas veces queramos,
llamándola con la instrucción G20, minimizando así el código de nuestro programa a la
vez que estandarizamos los patrones de mecanizado.

Esta subrutina queda almacenada en la máquina, pudiendo usarse llamándola


desde cualquier otro programa cuantas veces sea necesario.

El nombre de la subrutina se establece con la letra N seguida de un número de máximo tres cifras,
ejemplo:

N 60 G22 N123

N 70 G91
N 80 G01 X0 Y100 Z-2
N 90 G01 X100 Y0
N 100 G01 X0 Y-100
N 110 G01 X-100 Y0

N 120 G24
Estos bloques del ejemplo no serán ejecutados por su orden de bloque durante el
procesamiento del programa, pero se podrán utilizar cuantas veces se quiera y desde
cualquier programa distinto con la instrucción G20...

N 320 G20 N123

Con esta instrucción se ejecuta la subrutina N123 una vez, pero si queremos repetirla mas
veces, por ejemplo 5 veces...

N 320 G20 N123.5

NOTA.-

Un patrón de mecanizado que vamos a usar con regularidad en varias piezas,


puede ser interesante recogerlo en una subrutina estándar.

De esta forma quedará en la memoria de la máquina y podrá ser usada desde


cualquier programa.

Las instrucciones para las subrutinas son G22, G24, G20.


Instrucción G24. Final de subrutina estándar.

La instrucción G24 marca el final de una subrutina, se programa sola en un


bloque.

El inicio de la subrutina o micro-programa previamente ha sido instruido con la


función G22.

Es muy importante que los bloques de programación que forman la subrutina


estén lo mas completos que sea posible, en cuanto a parámetros se refiere, es
decir valores de instrucciones G..., valores de cotas en X, Y, Z..., para evitar
llevarse sorpresas.
En nuestro caso, para evitar bucles sin fin, no podremos anidar
subrutinas o ciclos.
Ejemplo:

N 60 G22 N123

N 70 G91
N 80 G01 X0 Y100 Z-2
N 90 G01 X100 Y0
N 100 G01 X0 Y-100
N 110 G01 X-100 Y0

N 120 G24

Los bloques de instrucciones comprendidos entre G22 y G24 constituyen la


subrutina de nombre N123 y no serán ejecutados hasta no ser llamada por
su nombre con la instrucción G20 N123 ...
Instrucción G25. Salto incondicional.

La instrucción G25 se usa para efectuar un salto a otro bloque del


programa para volver a ejecutar bloques que ya están
programados, sin necesidad de volverlos a escribir.

Su sintaxis completa es G25 N60.90.3 por ejemplo, con lo cual le


indicamos al control que vaya al bloque 60, procese hasta el
bloque 90 ambos inclusive y además que repita todos estos
bloques 3 veces.

Si no indicamos el número de veces G25 N60.90 entonces estos


bloques se procesarán una sola vez.
Si no indicamos el bloque final G25 N60 el control procesará desde el bloque
60 hasta que encuentre el final del programa o se vuelva a encontrar de
nuevo con este bloque, estableciendo así un bucle infinito.

En nuestro caso, para evitar buclar el ordenador, G25 funcionará siempre y


cuando se indiquen el bloque de inicio y el final, al menos.

Ejemplo :

N 110 G25 N30.80 Para una ejecución.

N 110 G25 N30.80.7 Para ejecutar 7 veces.