Pessoal
Eu procurei bastante na net sobre o assunto, e vou compartilhar com vocês, e se alguém achar que está faltando algo, por favor deixe sua opinião. Então vamos lá.
Exemplo:
Programa principal:
G0...
T01...
G96...
G0 x... z...
(Agora a parte que interessa rsrs)
G65 P20 A120 B100 C20 I10 J45 .
(G65= chamada macro.
P= Programa macro.
ABCIJ= sao argumentos equivalente as variáveis locais, A=#1, B=#2, C=#3, I=#4, J=#5.)
Programa macro:
#100=[[#1-#2]/2];
#101=[#3-#4];
#102=TAN [#5];
( Obs: esse programa serve apenas para ilustrar).
Então funciona assim pessoal, temos 2 "programas" aqui, (principal e macro). Se iniciarmos apenas o programa macro sem a chamada g65 do programa principal, as variáveis locais não terão valor algum, ou seja valor nulo.
Portanto as variáveis locais são nulas, e somente terão valor se determinarmos na chamada g65 com os argumentos (neste caso (ABCIJ).
Espero que tenha ficado claro.
Obrigado