La sección Códigos admitidos y capacidades del analizador describe toda la funcionalidad del intérprete de código G
en NCPlayer, incluidos los formatos de comandos admitidos, grupos modales, programación macro, aritmética, condiciones,
bucles y funciones avanzadas.
El analizador está diseñado para trabajar con programas de estilo FANUC
(en concreto 0i-MB), pero también es compatible con otros controladores si se configuran correctamente.
1. Formatos de códigos G/M admitidos
Códigos G:
Grupos modales estándar:
G0 — posicionamiento rápido.
G1 — interpolación lineal.
G2 / G3 — interpolación circular CW/CCW con soporte de:
parámetro R (radio de arco).
parámetros I, J, K (centro de arco en modo ABS o INC).
planos G17, G18, G19.
G17 / G18 / G19 — selección de plano.
G20 / G21 — selección de unidades (pulgadas/mm).
G40 / G41 / G42 — compensación del radio de la herramienta.
G43 / G44 — compensación de la longitud de herramienta.
G49 — cancelar la compensación de longitud.
G54 – G59 — sistemas de coordenadas de trabajo (incluido G54.1 Px ampliado).
G90 / G91 — modo absoluto / incremental.
G98 / G99 — retorno en ciclos de taladrado (punto inicial / plano R).
Ciclos de taladrado:G73, G74, G76,
G80, G81, G82, G83 con soporte de parámetros
X, Y, Z, R, Q, F.
Códigos especiales:G65 (llamada simple a macro personalizada con argumentos).
Códigos M:
Control del husillo: M3, M4, M5.
Refrigerante: M7, M8, M9.
Paradas de programa: M0, M1, M2, M30.
Gestión de subprogramas: M98 (llamada), M99 (retorno).
2. Compatibilidad con programación macro
Variables locales: #1 – #33 (se restablecen con M99 si el parámetro está habilitado).
Variables comunes: #100 – #199.
Variables globales: #500 – #531.
Variables del sistema: según FANUC (p. ej., #5001 para la posición X actual).
Soporte de funciones anidadas, p. ej., SIN[FIX[#100+0.4]].
Sustitución de direcciones en comandos: X[#500], F[#101+10], etc.
3. Construcciones lógicas
IF [condition] GOTO Nxxx — salto a número de línea.
IF [condition] THEN ... — ejecuta la instrucción si la condición es verdadera.
Operadores lógicos: AND, OR, XOR (condiciones anidadas hasta 3 niveles).
Comparaciones: EQ, NE, GT, LT, GE, LE.
WHILE [condition] DOx ... ENDx — bucles condicionales.
Contadores de bucle y protección contra bucles infinitos.
4. Subprogramas
Definición de subprograma: Oxxxx.
Llamada: M98 Pxxxx Lnn — con soporte del argumento L.
Retorno: M99 (con restablecimiento de variables locales si el parámetro está habilitado).
Soporte de G65 Pxxxx con paso de argumentos (A, B, C... H, I, etc.) directamente a variables locales.
Llamadas recursivas con control de profundidad de pila.
5. Otras funciones
Soporte de modos absoluto (G90) e incremental (G91) en el mismo programa.
Normalización automática del código: alineación de espacios, eliminación de EOB extra, manejo correcto de comentarios.
Conversión directa del formato de arcos:
R → IJK (modo ABS o INC).
IJK → R.
Análisis con pre-sustitución de variables antes de la simulación.
Expansión en línea de subprogramas para una simulación completa de la trayectoria.
Nota: El analizador de NCPlayer evoluciona continuamente. Las versiones futuras ampliarán el soporte
para códigos específicos de controladores como Syntec, Siemens y otros.