A tabela de variáveis macro no NCPlayer é um painel interativo que exibe os valores atuais das
#100–#199 (locais/definidas pelo utilizador) e #500–#531 (comuns/persistentes),
bem como das variáveis de sistema usadas em expressões, condições e ciclos de G-code.
A tabela é atualizada em tempo real durante a simulação e ajuda a analisar a lógica dos programas macro,
depurar cálculos e acompanhar efeitos colaterais.
Finalidade
Depuração lógica: visualize facilmente como as variáveis mudam ao executar
#i = ..., IF, WHILE/DO/END, G65, M98/M99.
Análise de expressões: monitore os valores de entrada/saída ao usar
SIN/COS/ROUND/FIX/FUP/ABS/SQRT/....
Repetibilidade: redefina rapidamente os valores das variáveis para novas execuções a partir de um estado “limpo”.
Informações exibidas
Índice da variável (por exemplo, #100, #512).
Valor atual (número/NaN se ainda não atribuído ou resultado de uma expressão).
Origem/última escrita — linha do programa onde a variável foi modificada pela última vez (se disponível).
Formato — valor bruto e, se necessário, valor formatado (por exemplo, 30 → 30.0).
Como funciona
O analisador (parser), durante o pré-processamento, calcula e/ou adia o cálculo de expressões que envolvem variáveis #.
O simulador, durante a execução passo a passo, atualiza a tabela a cada atribuição #i = ... e ao entrar/sair de subprogramas ou ciclos.
Dependências adiadas (por exemplo, X[#100]) são recalculadas quando #100 muda, sendo refletidas na tabela.
Escopos e especificidades
#100–#199 — variáveis locais para o programa/sessão de simulação.
#500–#531 — variáveis comuns (pseudo-persistentes), mantidas durante a execução atual do simulador.
Sistema (#0, etc.): exibidas quando usadas em expressões ou operações de leitura.
Inicialização: variáveis não inicializadas aparecem como vazias/NaN até a primeira atribuição.
Interação
Pausar/passo: pause a simulação e avance linha a linha observando como os valores mudam.
Filtro rápido: exiba apenas os índices que você utiliza (por exemplo, #100, #101, #500).
Redefinir valores: use o botão Redefinir (se disponível) para limpar as variáveis locais/comuns antes de uma nova execução.
Exemplos 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 para o subprograma: #1, #2, ...)
Nestes exemplos, a tabela permite visualizar as etapas de arredondamento, os incrementos do contador de loop
e os valores passados para G65, facilitando a verificação da lógica.
Boas práticas
Inicialize as variáveis antes de usá-las (#9 = 0) — isso mantém a tabela previsível.
Evite dependências ocultas (reatribuições profundas dentro de subprogramas sem comentários).
Comente as atribuições importantes — a tabela mostrará a linha de origem, ajudando na navegação.
Tabela de variáveis antes da simulação:
Tabela de variáveis durante a simulação:
Limitações e observações
Algumas variáveis de sistema podem ser somente leitura — seus valores dependem da configuração do simulador.
Expressões profundamente aninhadas são avaliadas passo a passo; com sintaxe incorreta, o valor pode tornar-se NaN — verifique o log de pré-processamento.
Reiniciar a simulação limpa a tabela de variáveis locais (as variáveis comuns permanecem conforme as configurações da sessão atual).