A chamada modal de uma macro, com o código G66, é utilizada para chamar a macro especificada, depois da execução de um bloco (seguido eventualmente de vários outros) em que são programados deslocamentos segundo os eixos coordenados.
Por outras palavras, a macro é chamada depois de cada bloco de posicionamento, e até ser programado o código G67, de anulação da chamada modal.Formato
G66 Pp Ll<especificação de=”” argumentos=””> |
p |
Número do programa a chamar |
l |
Número de repetições (1 por defeito) |
Argumento |
Valores (dados) transferidos à macro |
Exemplo
|
O0001 |
|
O9100 |
|
|
: |
|
: |
|
G66 P9100 L2 A1.0 B2.0 |
|
G00 Z-#1 |
|
G00 G90 X100. |
|
G01 Z-#2 F300 |
|
Y200. |
|
: |
|
X150. Y300. |
|
M99 |
|
G67 |
|
|
|
: |
|
|
|
M30 |
|
|
Observações
|
Chamada: |
|
Depois do código G66, especifica-se no endereço P o número do programa de macro que se pretende chamar. |
|
Quando for necessário chamar repetidamente a macro, especificar no endereço L o número de repetições, no intervalo 1 a 9999. Em caso de omissão de L, é assumido o valor 1. |
|
Tal como na chamada simples (G65), os dados que se transferem às variáveis locais da macro, especificam-se em argumentos. A chamada modal em nada difere, neste htmecto, da chamada simples. |
|
Uma vez executado o código G67, a chamada modal à macro já não se faz nos blocos de posicionamento programados posteriormente. |
|
Podem programar-se encadeamentos de chamadas até 4 níveis de “profundidade”, incluídas chamadas simples (G65) e chamadas modais (G66). Não se incluem aqui as chamadas a sub programas com o código M98. |
|
Pode programar-se uma chamada modal dentro de outra, utilizando outro código G66. |
|
Limitações: |
|
Num bloco com G66 não se faz a chamada da macro. |
|
Como foi referido, a chamada apenas se faz, após ser lido e executado um bloco de posicionamento, programado depois do bloco com G66. |
|
G66 tem que ser especificado antes de qualquer argumento. |
|
A macro não será chamada num bloco que contenha uma função auxiliar, e que não inclua um deslocamento, pelo menos num eixo. |
|
As variáveis locais (argumentos), apenas podem ser definidas no bloco com G66. |
|
Notar que as variáveis apenas se definem nesse bloco, e não em cada nova chamada, durante o período de activação de G66. |