La tabla de variables de macro en NCPlayer es un panel interactivo que muestra los valores actuales de
#100–#199 (locales/definidas por el usuario) y #500–#531 (comunes/persistentes), así como variables del sistema
utilizadas en expresiones, condiciones y bucles del código G. La tabla se actualiza en tiempo real durante la simulación
y ayuda a analizar la lógica de los programas con macros, depurar cálculos y seguir efectos colaterales.
Propósito
Depuración de lógica: ver fácilmente cómo cambian las variables al ejecutar #i = ..., IF, WHILE/DO/END, G65, M98/M99.
Análisis de expresiones: monitorizar valores de entrada/salida al usar SIN/COS/ROUND/FIX/FUP/ABS/SQRT/....
Repetibilidad: restablecer rápidamente los valores de las variables para repetir ejecuciones desde un estado “limpio”.
Información mostrada
Índice de variable (p. ej., #100, #512).
Valor actual (número/NaN si aún no se ha asignado, o resultado de una expresión).
Origen/última escritura — línea de programa donde la variable se modificó por última vez (si hay vínculo).
Formato — valor en bruto y, si es necesario, valor formateado (p. ej., 30 → 30.0).
Cómo funciona
El analizador durante el preprocesado calcula y/o difiere el cálculo de expresiones que implican variables #.
El simulador durante la ejecución paso a paso actualiza la tabla en cada asignación #i = ... y al entrar/salir de subprogramas/bucles.
Dependencias diferidas (p. ej., X[#100]) se recalculan cuando cambia #100 y se reflejan en la tabla.
Ámbitos y particularidades
#100–#199 — variables locales para el programa/sesión de simulación.
#500–#531 — variables comunes (seudos persistentes), conservadas dentro de la ejecución actual del simulador.
Sistema (#0, etc.): se muestran cuando se usan en expresiones o lecturas.
Inicialización: las variables no inicializadas aparecen vacías/NaN hasta su primera asignación.
Interacción
Pausar/paso: pausa la simulación y avanza línea a línea observando cómo cambian los valores.
Filtro rápido: muestra solo los índices que utilizas (p. ej., #100, #101, #500).
Restablecer valores: usa el botón Reset (si está disponible) para limpiar variables locales/comunes antes de volver a ejecutar.
Ejemplos de uso
#100 = ROUND[#101 + 10]
IF [#100 GT 50] THEN GOTO 120
WHILE [#9 LT #20] DO1
#9 = #9 + 1
END1
G65 P1000 A1 B#100 (Parámetros al subprograma: #1, #2, ...)
En estos ejemplos, la tabla te permitirá ver los pasos de redondeo, los incrementos del contador del bucle
y los valores enviados a G65, lo que facilita la verificación de la lógica.
Mejores prácticas
Inicializa las variables antes de usarlas (#9 = 0) — así la tabla se mantiene predecible.
Evita dependencias ocultas (reasignaciones profundas dentro de subprogramas sin comentarios).
Comenta las asignaciones clave — la tabla mostrará la línea de origen y te ayudará a navegar más rápido.
Tabla de variables antes de la simulación:
Tabla de variables durante la simulación:
Limitaciones y notas
Algunas variables del sistema pueden ser solo de lectura — sus valores dependen de la configuración del simulador.
Las expresiones muy anidadas se evalúan paso a paso; con sintaxis incorrecta, el valor puede volverse NaN — revisa el registro de preprocesado.
Reiniciar la simulación borra la tabla de valores locales (las variables comunes — según la configuración de la sesión actual).