15 min de lectura
Nivel Intermedio

¿Qué es una Subrutina?

Una subrutina es un programa separado que puede ser llamado desde el programa principal para reutilizar código.

💡 Beneficios: Menos código, menos errores, fácil modificación.

M98: Llamar Subrutina

G-Code
M98 P____ L__

; P = número del programa a llamar
; L = número de repeticiones (opcional)

M98 P0100        ; Llama a O0100 una vez
M98 P0100 L4     ; Llama a O0100 cuatro veces

M99: Retornar

Retorna al programa que llamó la subrutina.

; SUBRUTINA O0100
O0100
G00 X0 Y0
G01 Z-5. F200
G01 X50.
G00 Z5.
M99              ; Retorna al programa principal

⚠️ SIEMPRE terminar con M99. Sin él, el control sigue leyendo memoria aleatoria.

Repeticiones con L

Ejemplo: 10 agujeros en fila
; PRINCIPAL
G00 X10. Y10.
M98 P0200 L10    ; Repite 10 veces

; SUBRUTINA O0200
O0200
G99 G81 Z-15. R3. F180
G91 G00 X15.     ; Avanza 15mm (incremental)
G90
M99

Patrones Comunes

Múltiples Piezas

O0001 (4 PIEZAS)
G54
M98 P0500        ; Mecaniza pieza 1

G55
M98 P0500        ; Mecaniza pieza 2

G56
M98 P0500        ; Mecaniza pieza 3

G57
M98 P0500        ; Mecaniza pieza 4

M30

Subrutinas Anidadas

Una subrutina puede llamar a otra (hasta 4 niveles típicamente).

🚀 Siguiente

Programas Modulares