Você está na página 1de 166

Machine Translated by Google Macros personalizadas CNC da FANUC

VARIÁVEIS DE COMPENSAÇÃO DA FERRAMENTA 149

Memória de compensação da ferramenta - Tipo B

O próximo tipo do tipo de memória off set da ferramenta é o Tipo de Memória B. É muito semelhante ao
Memória Tipo A, mas na tela de controle aparece como duas colunas, não uma. Há uma separação
entre o conjunto Ge om e try Off e o conjunto Wear Off. Como na Memória Tipo A, não há distinção
entre o comprimento da ferramenta fora do número ajustado e o raio da ferramenta fora do número ajustado. O benefício deste
tipo de memória é que um valor nominal de desvio (chamado de desvio de geometria ) pode ser inserido e quaisquer ajustes e
ajustes finos são feitos em uma coluna de taxa separada , chamado de conjunto de desgaste . Uma vez que o 'ajuste fino' dos
valores de compensação ocorre em dois seps, os registradores de compensação de taxa de ajuste, o valor nominal de compensação (ge om e -
try) não é normalmente alterado. O uso dos offsets no programa CNC é exatamente o mesmo que
em exemplos para Memória Tipo A:

(FERRAMENTA 04 ATIVA)
...
G43 Z2.0 H04 Usa o deslocamento do comprimento da ferramenta 04 (H04)
...
G01 G41 X50.0 D34 Usa o deslocamento do raio de corte 34 (D34)
...

Em algumas máquinas, o D-offset não pode ser usado, e um H-off set também deve ser usado para o cortador
dia r:

(FERRAMENTA 04 ATIVA)
...
G43 Z2.0 H04 Usa o deslocamento do comprimento da ferramenta 04 (H04)
...
G01 G41 X50.0 H34 Usa o deslocamento do raio de corte 34 (H34)
...

Observe que o último exemplo de programa é idêntico ao anterior (para o Tipo A). O que está diferente
é o método de colocar valores nos off-sets, e isso acontece na máquina, durante o processo de setup, não no programa.

Memória de compensação da ferramenta - Tipo C

A ferramenta Offset Tipo de Memória C é a mais recente e a mais flexível das três. Como a memória
Tipo B, distingue entre o conjunto Ge om e try Off e o conjunto Wear Off. Além disso, separa taxas
o conjunto Tool Length Off set e o Cut ter Radius Off set, cada um com seus próprios conjuntos Ge ometry e Wear off.
Como cada off set tem sua própria área de registro, o mesmo número de off set pode ser usado para H e
os conjuntos D:

(FERRAMENTA 04 ATIVA)
...
G43 Z2.0 H04 Usa o deslocamento do comprimento da ferramenta 04 (H04)
...
G01 G41 X50.0 D04 Usa o deslocamento do raio de corte 04 (D04)
...

Copyright 2005, Industrial Press Inc., Nova York, NY - www.industrialpress.com


Machine Translated by Google Macros personalizadas CNC da FANUC

150 Capítulo 11

Em termos de conveniência, o Tipo C é igualmente generoso ao programador CNC (mesmos offsets


números podem ser usados no programa para os endereços H e D), e os operadores CNC (distintos
controle sobre a ge ome tente e desgaste para conjuntos de comprimento e raio).

Variáveis de Deslocamento da Ferramenta - Controles Fanuc 0

Como o Fanuc 0 (FS-0) é o controle mais mod est em termos de recursos, portanto não o mais
controle adequado para macro trabalho sério e complexo, os detalhes relativos às variáveis do sistema serão
seja curto. Nos centros de usinagem CNC (ou fresadoras), o Fanuc 0 utiliza apenas duas colunas para a ferramenta
Variáveis do sistema off set - o número off set e o número da variável.

Controle de Fresamento FS-0M

O número típico de conjuntos de ferramentas disponíveis é de até 200, e a entrada do sistema relacionado ao deslocamento da ferramenta
variáveis refletem isso.

Deslocamento da ferramenta Variável


Número Número

1 #2001

2 #2002

3 #2003

4 #2004

5 #2005

6 #2006

7 #2007

8 #2008

9 #2009

10 #2010

11 #2011

12 #2012

... ...

... ...

199 #2199

200 #2200

Apenas uma coluna de variáveis de sistema está disponível nos modelos de controle Fanuc 0.

Copyright 2005, Industrial Press Inc., Nova York, NY - www.industrialpress.com


Machine Translated by Google Macros personalizadas CNC da FANUC

VARIÁVEIS DE COMPENSAÇÃO DA FERRAMENTA 151

Controle de giro - FS-0T

O número típico de conjuntos de ferramentas disponíveis é 32, e as variáveis de sistema relacionadas ao deslocamento de
ferramentas de entrada refletem esse número.

Desvio Deslocamento da ferramenta Desgaste da ferramenta


Geometria da ferramenta

Registro Número Valor de compensação Valor de compensação

1 #2001 #2701

2 #2002 #2702

Eixo X 3 #2003 #2703

... ... ...

32 #2032 #2732

1 #2101 #2801

2 #2102 #2802

Eixo Z 3 #2103 #2803

... ... ...

32 #2132 #2832

1 #2201 #2901

2 #2202 #2902

Raio 3 #2203 #2903

... ... ...

32 #2232 #2932

1 #2301 #2301

2 #2302 #2302

Dica de ferramenta 3 #2303 #2303

... ... ...

32 #2332 #2332

Na memória de compensação comum Tipo B , são necessárias quatro colunas de variáveis de sistema, 32
variáveis disponíveis para cada coluna. Observe que as variáveis Ge ometry e Wear relacionadas são as
o mesmo para o valor de configuração da Dica de Ferramenta , pois eles não podem ser diferentes para cada modo. Se uma dica de ferramenta

o número 3, por exemplo, é ajustado para o set Ge om e try off, também aparecerá como 3 no set Wear off.
A mudança de um forçará a mudança do outro.

Copyright 2005, Industrial Press Inc., Nova York, NY - www.industrialpress.com


Machine Translated by Google Macros personalizadas CNC da FANUC

152 Capítulo 11

Variáveis de Deslocamento da Ferramenta - FS 10/11/15/16/18/21 para Fresamento

Os controles Fanuc 10/11/15/16/18 para fresamento compartilham algumas variáveis de sistema relacionadas ao desligamento da ferramenta -

conjuntos e estão listados sob o mesmo título. Em relação a esta declaração geral, sempre o dobro
verifique as últimas alterações no manual de referência Fanuc. Os controles de fresamento serão cobertos primeiro.

As variáveis do sistema de compensação da ferramenta não são apenas diferenciadas pelo Tipo de Memória (A, B ou C),
mas também pelo número de off set realmente disponíveis para o sistema de controle em particular. Dependendo
as opções compradas, a distinção é entre o número de off sets igual ou inferior a 200 ou superior a 200.
As tabelas a seguir listam as variáveis de sistema adequadas disponíveis.

Atribuições para 200 Offsets ou Menos - Memória Tipo A


A tabela a seguir lista as variáveis do sistema para 200 compensações ou menos, na memória Tipo A:

Número de deslocamento Número da variável

1 #2001

2 #2002

3 #2003

4 #2004

5 #2005

6 #2006

7 #2007

8 #2008

9 #2009

10 #2010

11 #2011

12 #2012

... ...

... ...

... ...

198 #2198

199 #2199

200 #2200

Copyright 2005, Industrial Press Inc., Nova York, NY - www.industrialpress.com


Machine Translated by Google Macros personalizadas CNC da FANUC

VARIÁVEIS DE COMPENSAÇÃO DA FERRAMENTA 153

Atribuições para 200 Offsets ou Menos - Memória Tipo B


A tabela a seguir lista as variáveis do sistema para 200 compensações ou menos, na memória Tipo B:

Geometria Vestem
Desvio Desvio Desvio
Número Variável Variável
Número Número

1 #2001 #2201

2 #2002 #2202

3 #2003 #2203

4 #2004 #2204

5 #2005 #2205

6 #2006 #2206

7 #2007 #2207

8 #2008 #2208

9 #2009 #2209

10 #2010 #2210

11 #2011 #2211

12 #2012 #2212

... ... ...

... ... ...

... ... ...

198 #2198 #2398

199 #2199 #2399

200 #2200 #2400

Na memória de off set da ferramenta Tipo B , ainda existe o compartilhamento dos off set entre a ferramenta
comprimento e os raios da ferramenta, mas a separação do conjunto Ge ome try off set e o Wear off set podem
ser muito útil em muitas macroaplicações, principalmente aquelas que se relacionam com o programa controlado
alterações de valores pré-definidos. Em tais situações, o valor pré-definido será armazenado no Ge ometry
coluna off set (e não mudará), em que os ajustes se ajustam a esse valor (as alterações necessárias)
será feita na coluna Desgaste do conjunto. Os valores pré-definidos são normalmente medidos
fora da máquina, usando um equipamento especial de pré-configuração, e são bastante comuns em manutenções de grande volume -
fabricação, fabricação ágil e em oficinas mecânicas que usam um grande número de máquinas CNC semelhantes
ferramentas chinesas ou recursos especiais.

Copyright 2005, Industrial Press Inc., Nova York, NY - www.industrialpress.com


Machine Translated by Google Macros personalizadas CNC da FANUC

154 Capítulo 11

Atribuições para 200 Offsets ou Menos - Memória Tipo C

A tabela a seguir lista as variáveis do sistema para 200 compensações ou menos, na memória de compensação Tipo C
- observe as quatro colunas de variáveis:

H-OFFSET D-OFFSET

Desvio Geometria Vestem Geometria Vestem

Número Desvio Desvio Desvio Desvio


Variável Variável Variável Variável
Número Número Número Número

1 #2001 #2201 #2401 #2601

2 #2002 #2202 #2402 #2602

3 #2003 #2203 #2403 #2603

4 #2004 #2204 #2404 #2604

5 #2005 #2205 #2405 #2605

6 #2006 #2206 #2406 #2606

7 #2007 #2207 #2407 #2607

8 #2008 #2208 #2408 #2608

9 #2009 #2209 #2409 #2609

10 #2010 #2210 #2410 #2610

11 #2011 #2211 #2411 #2611

12 #2012 #2212 #2412 #2612

... ... ... ... ...

... ... ... ... ...

... ... ... ... ...

198 #2198 #2398 #2598 #2798

199 #2199 #2399 #2599 #2799

200 #2200 #2400 #2600 #2800

Os benefícios da memória off-set da ferramenta Tipo C são os mesmos que os do Tipo B, mas o ad di -
o controle cional do comprimento da ferramenta e do raio da ferramenta listados separadamente, traz muita con ve niência
e flexibilidade ao CNC e macroprogramação.

Como foi o caso de variáveis de sistema relacionadas a trabalho fora do set, observe a mesma identificação lógica
e numeração de variáveis para comprimento e raio da ferramenta.

Copyright 2005, Industrial Press Inc., Nova York, NY - www.industrialpress.com


Machine Translated by Google
Macros personalizadas CNC da FANUC

VARIÁVEIS DE COMPENSAÇÃO DA FERRAMENTA 155

Atribuições para Mais de 200 Offsets - Memória Tipo A


A tabela a seguir lista as variáveis do sistema para controles que possuem mais de 200 conjuntos de ferramentas
disponível, na memória Tipo A:

Desvio Variável
Número Número

1 #10001

2 #10002

3 #10003

4 #10004

5 #10005

6 #10006

7 #10007

8 #10008

9 #10009

10 #10010

11 #10011

12 #10012

... ...

... ...

... ...

997 #10997

998 #10998

999 #10999

As compensações listadas na tabela acima são, em princípio, as mesmas usadas em aplicações para as Atribuições para 200
compensações ou menos - Memória Tipo A, listadas anteriormente neste capítulo. A única dif-
A diferença é que o número muito maior de off-sets está disponível para o programador e operador. o
grande número de off-sets geralmente aparece em grandes máquinas CNC e/ou máquinas CNC que
um número incomumente grande de ferramentas que podem ser armazenadas e registradas.

Pelo número mínimo de 200, é seguro supor que máquinas com mais de 200 ferramentas
use também este grupo de variáveis de sistema de compensação de ferramenta.

Copyright 2005, Industrial Press Inc., Nova York, NY - www.industrialpress.com


Machine Translated by Google Macros personalizadas CNC da FANUC

156 Capítulo 11

Atribuições para Mais de 200 Offsets - Memória Tipo B


A tabela a seguir lista as variáveis do sistema para controles que possuem mais de 200 conjuntos de ferramentas
disponíveis, na memória Tipo B:

Geometria Vestem
Desvio Desvio Desvio
Número Variável Variável
Número Número

1 #10001 #11001

2 #10002 #11002

3 #10003 #11003

4 #10004 #11004

5 #10005 #11005

6 #10006 #11006

7 #10007 #11007

8 #10008 #11008

9 #10009 #11009

10 #10010 #11010

11 #10011 #11011

12 #10012 #11012

... ... ...

... ... ...

... ... ...

997 #10997 #11997

998 #10998 #11998

999 #10999 #11999

Os conjuntos de ferramentas listados na tabela acima são usados para as mesmas aplicações que as listadas em Como -
sinais para 200 Offsets ou Menos - Tipo de Memória B, listado anteriormente neste capítulo - apenas um número maior
número de off-sets está disponível.

Copyright 2005, Industrial Press Inc., Nova York, NY - www.industrialpress.com


Machine Translated by Google Macros personalizadas CNC da FANUC

VARIÁVEIS DE COMPENSAÇÃO DA FERRAMENTA 157

Atribuições para Mais de 200 Offsets - Memória Tipo C


A tabela a seguir lista as variáveis do sistema para controles que possuem mais de 200 conjuntos de ferramentas
disponíveis, na memória Tipo C:

H-OFFSET D-OFFSET

Desvio Geometria Vestem Geometria Vestem

Número Desvio Desvio Desvio Desvio


Variável Variável Variável Variável
Número Número Número Número

1 #10001 #11001 #12001 #13001

2 #10002 #11002 #12002 #13002

3 #10003 #11003 #12003 #13003

4 #10004 #11004 #12004 #13004

5 #10005 #11005 #12005 #13005

6 #10006 #11006 #12006 #13006

7 #10007 #11007 #12007 #13007

8 #10008 #11008 #12008 #13008

9 #10009 #11009 #12009 #13009

10 #10010 #11010 #12010 #13010

11 #10011 #11011 #12011 #13011

12 #10012 #11012 #12012 #13012

... ... ... ... ...

... ... ... ... ...

... ... ... ... ...

997 #10997 #11997 #12997 #13997

998 #10998 #11998 #12998 #13998

999 #10999 #11999 #12999 #13999

Os off-sets são usados da mesma forma que os pedidos de Atribuições para 200 Off-sets ou Menos - Memória
Tipo C, listado anteriormente neste capítulo - apenas um número maior de off-sets está disponível.

Esta e todas as tabelas anteriores para fresamento fornecem um bom recurso de variáveis do sistema para vários
modelos de controles Fanuc para fresamento. As tabelas a seguir fornecerão recursos semelhantes para
girando os controles.

Copyright 2005, Industrial Press Inc., Nova York, NY - www.industrialpress.com


Machine Translated by Google Macros personalizadas CNC da FANUC

158 Capítulo 11

Variáveis de Deslocamento da Ferramenta - FS 10/11/15/16/18/21 para Torneamento

Os controles Fanuc FS-10, FS-11, FS-15, FS-16, FS-18 e FS-21 para torneamento também compartilham algumas
variáveis de sistema relacionadas a conjuntos de ferramentas e estão listadas der a mesma cabeça ing. Independentemente
disso, verifique sempre as últimas alterações no manual de referência da Fanuc. Os controles de giro serão descritos a
seguir.

As variáveis do sistema de compensação da ferramenta para os controles do torno não são apenas diferenciadas pelo
tipo de memória de compensação (A ou B), mas também pelo número de configurações de compensação realmente
disponíveis para a peça. sistema de controle u lar. Dependendo das opções adquiridas, a distinção é entre o número total
de offs 64 ou menos, ou mais de 64. As tabelas nesta seção listam as variáveis de sistema apropriadas acessível.

Configuração da ferramenta

Esta seção em particular não é longa para o capítulo que trata dos conjuntos de ferramentas, mas é
cluído aqui como um lembrete dos conjuntos de ferramentas usados na programação de um torno CNC típico.

Em um programa típico para um torno CNC, a ferramenta de corte é chamada com o endereço T, seguido de um
número de quatro dígitos, por exemplo, T0101. Não existe a função M06 para troca automática de ferramenta no torno, o
T-address faz a troca de ferramenta (ferramenta em dexing) assim como ajusta os valores de offset.
O número de quatro dígitos é, na verdade, dois pares de números de dois dígitos . O primeiro par sempre chama a
estação do número da ferramenta na torre, o segundo par é o número do offset. Portanto, T0101 significa ferramenta 1,
offset 1. Com a memória Tipo A, há apenas um único conjunto de variáveis, e elas se referem apenas ao conjunto de
desgaste . Não há ajuste de geometria no Tipo A. No programa, pode ser o comando G50 que define o ajuste de ajuste
de geometria (G50 em tornos é equivalente a G92 em fresadoras ). Como este método de ajuste é hoje considerado
obsoleto, é o Tipo B que é mais comum e popular, utilizando os conjuntos Ge ometry e Wear off. Neste caso, o primeiro
par de escavações em T0101 significa a seleção da estação de ferramenta número 1 na torre (incluindo a troca de
ferramenta) e o número de ajuste de geometria, neste ex am ple, também 1. O segundo par é estritamente como assinado
para o conjunto de desgaste e não precisa ser o mesmo que o conjunto de tentativa de geometria, embora de dez seja.

Embora existam tornos CNC que ignoram totalmente a distinção Ge ometry/ Wear off set no controle e usam apenas
o set Ge ometry , definitivamente não é a Abordagem recomendada, definitivamente para macroprogramas. Por exemplo,
se o conjunto de medição de desgaste medido para T0101 for Z-375.0 e o conjunto de desgaste para a mesma ferramenta
for Z1.5, é exatamente o mesmo que ter o conjunto de desgaste de geometria experimente o conjunto de desconexão
definido para Z-373.5, e o conjunto de desgaste definido para Z0.0. Não é a abordagem correta, não é a abordagem
recomendada, mas funciona de qualquer maneira.

A razão pela qual é preferível manter o conjunto Ge om e try off inalterado e manipulá-lo somente o Wear off set, é
porque o set Ge om e try off representa um nom i nal, ou medição original, dada ou pré-compensada. Pode vir da medição
na máquina do oper ador, ou de um presetter de ferramentas externo. Esta abordagem também permite um controle mais
fácil em situações onde mais de um conjunto de desgaste é necessário para a mesma ferramenta, o que é uma técnica
muito poderosa para manter tolerâncias apertadas. O gerenciamento adequado de ambos os tipos de offset ajudará na
preparação de macroprogramas de qualidade para tornos CNC.

Copyright 2005, Industrial Press Inc., Nova York, NY - www.industrialpress.com


Machine Translated by Google Macros personalizadas CNC da FANUC

VARIÁVEIS DE COMPENSAÇÃO DA FERRAMENTA 159

Atribuições para 64 Offsets ou Menos - Memória Tipo A

A memória off set Tipo A não é mais encontrada com frequência em oficinas mecânicas. A seguir
A tabela de referência lista as variáveis do sistema para 64 ou menos offsets, na memória Tipo A.

A listagem é equivalente apenas à listagem do conjunto de desgaste :

Desvio Deslocamento da ferramenta Deslocamento da ferramenta

Registro Número Valor

1 #2001

2 #2002

Eixo X 3 #2003

... ...

64 #2064

1 #2101

2 #2102

Eixo Z 3 #2103

... ...

64 #2164

1 #2201

2 #2202

Raio 3 #2203

... ...

64 #2264

1 #2301

2 #2302

Dica de ferramenta 3 #2303

... ...

64 #2364

Copyright 2005, Industrial Press Inc., Nova York, NY - www.industrialpress.com


Machine Translated by Google Macros personalizadas CNC da FANUC

160 Capítulo 11

Atribuições para 64 Offsets ou Menos - Memória Tipo B


A memória off set Tipo B é bastante comum e é encontrada em muitos controles de tornos Fanuc. Depende de -
portas até 64 conjuntos de ferramentas, mais do que suficiente para a maioria das aplicações de torno.

A tabela de referência a seguir lista as variáveis do sistema para 64 ou menos offsets, na memória Tipo B:

Desvio Deslocamento da ferramenta Desgaste da ferramenta


Geometria da ferramenta

Registro Número Valor de compensação Valor de compensação

1 #2001 #2701

2 #2002 #2702

Eixo X 3 #2003 #2703

... ... ...

64 #2064 #2764

1 #2101 #2801

2 #2102 #2802

Eixo Z 3 #2103 #2803

... ... ...

64 #2164 #2864

1 #2201 #2901

2 #2202 #2902

Raio 3 #2203 #2903

... ... ...

64 #2264 #2964

1 #2301 #2301

2 #2302 #2302

Dica de ferramenta 3 #2303 #2303

... ... ...

64 #2364 #2364

Copyright 2005, Industrial Press Inc., Nova York, NY - www.industrialpress.com


Machine Translated by Google Macros personalizadas CNC da FANUC

VARIÁVEIS DE COMPENSAÇÃO DA FERRAMENTA 161

Atribuições para Mais de 64 Offsets - Memória Tipo A


A memória off-set Tipo A já não é encontrada com mais frequência em oficinas mecânicas, e com mais
do que 64 off sets é ainda mais raro. A tabela de referência a seguir lista as variáveis do sistema para mais
de 64 off sets (160 listados - outro número também é possível), na memória Tipo A.

A listagem é equivalente apenas à listagem do conjunto de desgaste :

Desvio Deslocamento da ferramenta Deslocamento da ferramenta

Registro Número Valor

1 #10001

2 #10002

Eixo X 3 #10003

... ...

160 #10160

1 #11001

2 #11002

Eixo Z 3 #11003

... ...

160 #11160

1 #12001

2 #12002

Raio 3 #12003

... ...

160 #12160

1 #13001

2 #13002

Dica de ferramenta 3 #13003

... ...

160 #13160

Copyright 2005, Industrial Press Inc., Nova York, NY - www.industrialpress.com


Machine Translated by Google Macros personalizadas CNC da FANUC

162 Capítulo 11

Atribuições para Mais de 64 Offsets - Memória Tipo B


A memória off set Tipo B para mais de 64 off set representa uma aplicação bastante moderna, mas não é muito
comum. Suporta mais de 64 conjuntos de ferramentas (160 listados - outro número também é possível),
mais do que suficiente para algumas aplicações de torno muito complexas.

A tabela de referência a seguir lista as variáveis do sistema para mais de 64 off-sets na memória Tipo B:

Desvio Deslocamento da ferramenta Desgaste da ferramenta


Geometria da ferramenta

Registro Número Valor de compensação Valor de compensação

1 #15001 #10001

2 #15002 #10002

Eixo X 3 #15003 #10003

... ... ...

160 #15160 #10160

1 #16001 #11001

2 #16002 #11002

Eixo Z 3 #16003 #11003

... ... ...

160 #16160 #11160

1 #17001 #12001

2 #17002 #12002

Raio 3 #17003 #12003

... ... ...

160 #17160 #12160

1 #13001 #13001

2 #13002 #13002

Dica de ferramenta 3 #13003 #13003

... ... ...

160 #13160 #13160

Copyright 2005, Industrial Press Inc., Nova York, NY - www.industrialpress.com


Machine Translated by Google Macros personalizadas CNC da FANUC

12 DADOS MODAIS

Um dos locais de exame prático mais importantes do uso de variáveis de sistema em um macroprograma
lida com o assunto de dados modais. Todos os cursos básicos de programação CNC ensinam que a maioria
de dados em um programa CNC é modal. A palavra modal é uma palavra baseada na palavra latina mo dus,
que significa homem. Em inglês, muitas vezes usamos as palavras modo, estilo, forma, etc., para descrever tal condição.
Quando o mesmo significado é aplicado à palavra modal CNC, por exemplo, um avanço
palavra F250.0, significa que o avanço especificado tem a mesma forma, mesmo estilo, mesmo modo - significa que não muda,
ou que é modal, até que outra palavra de avanço o substitua. A mesma lógica
aplica-se a muitas outras declarações de programas CNC (palavras), como a velocidade do fuso S, deslocamentos H
e D, e muitos outros, incluindo a maioria dos códigos G e os códigos M. Naturalmente, todos os dados do eixo
também é modal (posições XYZ).

Neste capítulo, a ênfase será colocada na importância dos valores modais do programa que ex-
Isso antes que a macro personalizada seja chamada, seja a partir do programa principal, seja de outro subprograma.
A ênfase também será em como uma macro pode armazenar os valores modais existentes, alterá-los
po ramente, e reponha os originais posteriormente, quando necessário.

Trabalhar com comandos modais em macros não é difícil, mas é preciso cuidado para evitar problemas.

Variáveis de sistema para comandos modais

A série 4000 de variáveis de sistema (aplicável a FS-0/10/11/15/16/18/21) cobre o uti li za -


ção de comandos modais dentro de uma macro. Nesta série 4000, existem dois grupos de variáveis do sistema, com base no
modelo de controle:

Fanuc 0/16/18/21 Informações Modais


Esses modelos de controle usam um conjunto de duas variáveis da série 4000 :

#4001 a #4022 Informações modais (grupos de código G)

#4102 a #4130 Informações modais (Códigos B, D, F, H, M, N, O, S e T)

Fanuc 11/10/15 Informações Modais


Esses modelos de controle também utilizam um conjunto de duas variáveis da série 4000 , mas com um alcance maior:

#4001 a #4130 Informações modais (Bloco Precedente)

#4201 a #4320 Informações modais (Bloqueio de Execução)

163

Copyright 2005, Industrial Press Inc., Nova York, NY - www.industrialpress.com


Machine Translated by Google Macros personalizadas CNC da FANUC

164 Capítulo 12

Precedendo e Executando Blocos


O objetivo da série 4000 de variáveis do sistema é fornecer ao macroprogramador CNC informações modais atuais
em um determinado momento. Existem dois grupos de informações disponíveis, o bloco anterior e o bloco executor.

u Bloco anterior

Neste grupo está a informação modal que já está ativa


Este bloco também é chamado de bloco de pré-leitura

u Bloco de Execução

Neste grupo está a informação modal que ficará ativa quando o


bloco atual estiver sendo executado

Observe que o Bloco de Execução não está


disponível nos modelos Fanuc FS-0, FS-16, FS-18 e FS-21

Códigos G modais

Além dos comandos de eixo, de todos os comandos modais restantes, os códigos G são os mais proeminentes e
mais comumente usados em mac ros. Para todos os controles Fanuc, a primeira variável de sistema é #4001, onde
o último dígito (1) significa Grupo modal de código G 01, #4002 refere-se ao Grupo 2 de código G , e assim por
diante. O grupo 00 não é suportado, porque a série 4000 de variáveis de sistema atende apenas à informação modal ,
e os códigos G no grupo 00 são não-modais. Para os controles Fanuc 0/16/18/21, o status de vários códigos G
modais é sempre armazenado em variáveis de sistema dentro da faixa #4001-#4022 , e os demais códigos dentro
da faixa de #4102-#4130. Todas essas variáveis são modal na informação do bloco precedente. Para os controles
Fanuc 10/11/15, o status das variáveis do sistema modal é dividido entre o bloco anterior (variáveis do sistema dentro
da faixa #4001-#4130 ), e o corte de execução (variáveis de sistema dentro do intervalo # 4201- #4330 ).

Dentro de qualquer faixa de variáveis, o valor atual dos códigos G de todos os grupos modais pode ser salvo em
uma variável macro local ou comum, normalmente antes que o código G seja alterado na macro . O objetivo principal
de salvar o(s) código(s) G modal atual é a segurança que está sendo incorporada ao macroprograma, mas também
o esforço de manter o ambiente de programação profissional .
Por exemplo, se a compensação de trabalho G56 for usada na macro, e nenhuma ação for tomada, o G56 se tornará
o sistema de co ou di nado atual após a conclusão da macro, para qualquer grama que é carregado depois. Tal
situação pode ser muito destrutiva, se - por exemplo - o fluxo da execução do programa principal depender do
deslocamento de trabalho G54 . Um programador profissional sempre salva os valores G modais atuais na macro e,
em seguida, altera os valores que precisam ser usados no corpo da macro.
Os novos valores podem ser usados livremente, conforme necessário, quantas vezes forem necessárias, dentro da
macro, enquanto a macro estiver ativa. Por fim, antes que a macro saia, os valores originais usados no programa
principal ou em outra macro são resguardados e aplicados para o fluxo do programa subsequente.

Copyright 2005, Industrial Press Inc., Nova York, NY - www.industrialpress.com


Machine Translated by Google Macros personalizadas CNC da FANUC

DADOS MODAIS 165

Fanuc 16/0/18/21
Listagem típica de códigos G (comandos preparatórios) modal em informação para o CNC de nível inferior
controles (somente bloco anterior - bloco de corte exe não está disponível):

Sistema
código G código G
Variável
Grupo Comandos
Número

#4001 01 G00 G01 G02 G03 G33 Nota: G31 pertence ao Grupo 00

#4002 02 G17 G18 G19

#4003 03 G90 G91

#4004 04 G22 G23

#4005 05 G93 G94 G95

#4006 06 G20 G21

#4007 07 G40 G41 G42

#4008 08 G43 G44 G45

#4009 09 G73 G74 G76 G80 G81 G82 G83 G84 G85 G86 G87 G88 G89

#4010 10 G98 G99

#4011 11 G50 G51

#4012 12 G65 G66 G67

#4013 13 G96 G97

#4014 14 G54 G55 G56 G57 G58 G59

#4015 15 G61 G62 G63 G64

#4016 16 G68 G69

#4017 17 G15 G16

#4018 18 N/D

#4019 19 G40.1 G41.1 G42.1

#4020 20 N/A para controles FS-M e FS-T

#4021 21 N/D

#4022 22 G50.1 G51.1

Por exemplo, quando o programa macro contém a expressão #1=#4001, e a variável é


processado, o valor retornado armazenado em #1 pode ser 0, 1, 2, 3 ou 33, dependendo do ativo
Código G no Grupo 01.

Copyright 2005, Industrial Press Inc., Nova York, NY - www.industrialpress.com


Machine Translated by Google Macros personalizadas CNC da FANUC

166 Capítulo 12

Fanuc 11/10/15
Listagem típica de códigos G (comandos preparatórios) modal em informação para o CNC de nível superior
sistemas de controle:

Sistema
Número da variável
código G
Comandos de código G
Grupo
Precedente Executando
Quadra Quadra

#4001 #4201 01 G00 G01 G02 G03 G33 Nota: G31 pertence ao Grupo 00

#4002 #4202 02 G17 G18 G19

#4003 #4203 03 G90 G91

#4004 #4204 04 G22 G23

#4005 #4205 05 G93 G94 G95

#4006 #4206 06 G20 G21

#4007 #4207 07 G40 G41 G42

#4008 #4208 08 G43 G44 G45

G73 G74 G76


#4009 #4209 09
G80 G81 G82 G83 G84 G85 G86 G87 G88 G89

#4010 #4210 10 G98 G99

#4011 #4211 11 G50 G51

#4012 #4212 12 G65 G66 G67

#4013 #4213 13 G96 G97

#4014 #4214 14 G54 G55 G56 G57 G58 G59

#4015 #4215 15 G61 G62 G63 G64

#4016 #4216 16 G68 G69

#4017 #4217 17 G15 G16

#4018 #4218 18 G50.1 G51.1

#4019 #4219 19 G40.1 G41.1 G42.1

#4020 #4220 20 N/A para controles FS-M e FS-T

#4021 #4221 21 N/D

#4022 #4222 22 N/D

... ... ... ...

Copyright 2005, Industrial Press Inc., Nova York, NY - www.industrialpress.com


Machine Translated by Google Macros personalizadas CNC da FANUC

DADOS MODAIS 167

Salvando e Restaurando Dados

As duas regras de programação mais elementares são a abordagem lógica e a programação .


pureza. Este manual tenta seguir essas regras delicadamente, porque elas ajudam a fazer um alto
macro programa de qualidade. O objetivo é um programa CNC ou uma macro que seja escrita de forma lógica, seja bem
organizada, siga os passos operacionais de forma metódica, não leve nada por
concedido, e, sim - é elegante e elegante. O resultado é um programa muito mais fácil de interpretar,
documente e altere, se necessário, mesmo por um iniciante relativo em macrodesenvolvimento. Existem dois métodos
aplicados na macroprogramação que se estendem a esta categoria.

Salvando dados modais

Salvar (armazenar) o valor atual de um código G (ou outros códigos modais), é preservá -los para
uso posterior - ou melhor, reutilização. O valor atual é armazenado em uma variável e recuperado para
configuração original. Em uma macro típica, haverá muitos códigos G usados, a maioria deles modais. este
a conveniência de programação também apresenta problemas potenciais. Quando uma macro ex sua, o modal
Os códigos G usados pela macro ainda estarão em vigor. Isso cria uma forma muito desorganizada de macro
desenvolvimento do programa, e pode literalmente ser a causa de muitos problemas sérios e difíceis de encontrar. Embora
quaisquer grupos de código G modais possam ser salvos (e até mesmo armazenados novamente), apenas dois ou três
grupos são normalmente salvos e substituídos na maioria das macros (adicione outros, se necessário):

o Grupo de código G 01 Comandos de movimento

Rápido, Linear, Circular G00, G01, G02, G03, G33

o Grupo de código G 03 Modo de dimensionamento


Modo Absoluto ou Incremental G90 ou G91

o Grupo de código G 06 Unidades de Medição

Métrica ou Inglês G21 ou G20

O método típico de salvar o modo de código G atual é assinar a variável de sistema selecionada em
uma variável local. Uma variável comum também pode ser usada, em algumas aplicações muito especiais. Aqui está
um exemplo que armazena o modo atual do Grupo 01 (comandos de movimento), e o modo atual
de dimensionamento do Grupo 03:

#31 = #4201 Armazena o modo de comando de movimento atual Grupo 01 (G00, G01, G02, G03 ou G33)

#32 = #4203 Armazenar o modo de dimensionamento atual Grupo 03 (G90 ou G91)

#33 = #4206 Armazena o modo de unidades atuais Grupo 06 (G20 ou G21)

Observe que as duas últimas dig it da variável do sistema correspondem ao número do Grupo de código G modal. Isso
não é coincidência. Essa numeração lógica oferece uma maneira fácil de lembrar. Também pode ser ap-
executado dentro de um macroprograma de alguma maneira engenhosa, para tirar vantagem dele. Quando uma macro é
chamado, qualquer comando modal atual deve sempre ser registrado no início da macro, se
esse não é o caso, então definitivamente antes que quaisquer alterações sejam feitas na macro.

Copyright 2005, Industrial Press Inc., Nova York, NY - www.industrialpress.com


Machine Translated by Google Macros personalizadas CNC da FANUC

168 Capítulo 12

Restaurando dados modais

Como os códigos G originais foram armazenados pelo único motivo de restaurá-los mais tarde, eles precisam ser
restaurados antes que a macro termine, normalmente no final, apenas antes do M99 função. Usando
duas variáveis de sistema introduzidas no exemplo anterior, aqui está um esquema de layout de uma macro
estrutura do programa, mostrando tanto o armazenamento quanto a res to ração de dois valores modais:

O0018 (VALORES MODAIS MACRO)


#31 = #4201 Armazenar o comando de movimento atual
#32 = #4203 Armazenar o modo de dimensionamento atual
...
G90 G00 G54 X150.0 Y75.0
...
< ... processamento de macros ... >
...
G#31 G#32 Restaurar ambos os modos salvos anteriormente
M99
%

No segmento de exemplo, as variáveis #31 e #32 armazenam os valores atuais do movimento e


modos de dimensionamento, logo no início da macro. A macro então prossegue com sua própria
definições, alterações de código G, e assim por diante, e antes do final da macro (antes de M99), o valor original -
Os valores, os valores armazenados anteriormente, são recuperados para se tornarem modais após a saída da macro. Uma vez que ambos
dos valores previamente armazenados representam comandos modais, a programação retorna do
macro para o mesmo ambiente que existia antes de a macro ser chamada. Método log i cal de num -
As variáveis do sistema de abertura também serão aplicadas aos demais códigos modais.

Outras funções modais

Além dos códigos G modais, existem onze códigos modais adicionais usados em macros típicas
programação. Assim como os códigos G, em um macrocálculo (ou uma fórmula), esses códigos de programa
não podem ser programados para o lado esquerdo do sinal de igual, o que significa que não podem ser como assinados
valor através do programa. Isso é semelhante ao conceito de 'somente leitura' e 'leitura e gravação'
tipo de variáveis em muitas linguagens de programação comercial geral, cobertas no último capítulo -
ter. A listagem dos 'outros' onze endereços modais que podem ser usados na macroprogramação é
apresentado aqui:

BDEFHMNOSTP

Estes códigos modais são adicionais aos códigos G modais. Nas próximas duas páginas estão as listas
das variáveis do sistema relativas aos 'outros' endereços modais, para os dois tipos comuns de
Controles Fanuc. Observe o método de como essas variáveis são numeradas, novamente, há um método lógico para isso,
e um pouco diferente daquele usado para códigos G modais. Observe também as duas últimas escavações de cada
número de variável do sistema. Correspondem à Lista de Atribuição de Variáveis Locais 1.
Por exemplo, a letra B está assinada com a variável local #2, daí a variável de sistema #4102 ,
a letra D está assinada com a variável local #7, daí a variável de sistema #4107 , e assim por diante.
Observação muito valiosa que pode ser útil.

Copyright 2005, Industrial Press Inc., Nova York, NY - www.industrialpress.com


Machine Translated by Google Macros personalizadas CNC da FANUC

DADOS MODAIS 169

Fanuc 16/0/18/21
Como na tabela para os códigos G modais listados anteriormente, os controles de nível inferior usam apenas o sistema
variáveis aplicáveis ao bloco anterior . As variáveis do sistema relacionadas ao bloco de execução são
não disponível para este grupo de controles Fanuc (FS-0/16/18/21).

A tabela a seguir mostra a outra informação modal (onze endereços comuns) frequentemente
usados em um macroprograma com suas variáveis de sistema correspondentes.

Sistema
Endereço do programa
Variável
(Carta de código)
Número

#4102 Código B - posição do eixo de indexação

#4107 Código D - número de deslocamento do raio do cortador

#4108 E-code - valor da taxa de avanço (se disponível)

#4109 Código F - valor da taxa de avanço

#4111 Código H - número de correção do comprimento da ferramenta

#4113 Código M - função diversa

#4114 Código N - número de sequência

#4115 O-code - número do programa

#4119 Código S - valor da velocidade do fuso

#4120 Código T - número da ferramenta

#4130 Código P - número de deslocamento de trabalho adicional

Como a tabela ilustra, a única exceção na tabela é a variável #4130 - ela não tem cor re-
valor correspondente na Lista de Atribuições 1 para variáveis locais. Foi adicionado por Fanuc mais tarde, quando o
Tecnologia CNC avançada, para acomodar o trabalho estendido off set set, também conhecido como ad di -
Offsets de trabalho cionais - G54.1 P1 a G54.1 P48. Variáveis que 'se encaixariam naturalmente' na tabela,
mas estão ausentes, por exemplo #4118, são bastante legítimos de usar, desde que sejam suportados por
o sistema de controle para a máquina-ferramenta CNC em particular (não exatamente um cenário provável).

Existem dois números de variáveis de sistema que podem parecer fora de ordem - eles são #4114 (a letra
N, o endereço para os números de sequência) e #4115 (a letra O, o endereço para o programa
número). Na Lista de Atribuições 1, não há variáveis locais #14 e #15 listadas. Estes como sinal -
mentos são fisicamente excluídos da lista, mas são implícitos por sua 'não-presença'.

Copyright 2005, Industrial Press Inc., Nova York, NY - www.industrialpress.com


Machine Translated by Google Macros personalizadas CNC da FANUC

170 Capítulo 12

Fanuc 11/10/15
A listagem de variáveis de sistema para o grupo superior de controles Fanuc usa ambos os conjuntos de variáveis
- para o bloco anterior e para o bloco de corte ex e.

Sistema
Número da variável
Endereço do programa
(Carta de código)
Precedente Executando
Quadra Quadra

#4102 #4302 Código B - posição do eixo de indexação

#4107 #4307 Código D - número de deslocamento do raio do cortador

#4108 #4308 E-code - valor da taxa de avanço (se disponível)

#4109 #4309 Código F - valor da taxa de avanço

#4111 #4311 Código H - número de correção do comprimento da ferramenta

#4113 #4313 Código M - função diversa

#4114 #4314 Código N - número de sequência

#4115 #4315 O-code - número do programa

#4119 #4319 Código S - valor da velocidade do fuso

#4120 #4320 Código T - número da ferramenta

#4130 #4330 Código P - Número de deslocamento de trabalho adicional

Uma observação que pode ser valiosa neste capítulo está relacionada à lista. Não é o que está em -
cluded, mas o que está faltando. Os comandos modais usados na programação da macro foram
abordou extensivamente, juntamente com as variáveis do sistema relacionadas. Outro assunto discutido foi a
maior grupo de anúncios modais de código G e onze outros anúncios modais. O que está faltando?

O que está faltando são todas as variáveis do sistema que têm alguma coisa a ver com uma posição da ferramenta, como
end point co ou di nate em um bloco, work co or di nates, machine co ou di nates, varios tool off set po si -
ções, coordenadas relacionadas com a função de salto, e assim por diante - mesmo quantidade de desvio da posição do servo -
se ção, etc.

Nos capítulos que se seguem a este, serão abordadas mais variáveis do sistema, a maioria listadas anteriormente de forma descritiva.
Eles incluem aqueles relacionados a alarmes, temporizadores e posição de vários eixos em for -
informação. O próximo capítulo cobre outra parte das ferramentas de macroprogramação mais importantes -
testes condicionais, ramificações e loops.

Copyright 2005, Industrial Press Inc., Nova York, NY - www.industrialpress.com


Machine Translated by Google Macros personalizadas CNC da FANUC

13 FILIAIS E LOOPS

Mais ou menos na metade do livro manual, agora vem uma verdadeira casa de força de mac ros. Nesse nível
de macrodesenvolvimento, é essencial um forte conhecimento básico da estrutura de macrocomandos, offsets,
memórias, bem como a compreensão de variáveis, etc. Uma variável é atribuída a um valor, a macro é
processada com esse valor em vigor, a macro ex its. Essa abordagem direta é conveniente e muito comum,
mas não pode e não se sustenta sozinha. Ele precisa de algumas formas adicionais de manipulação de dados,
formas baseadas em algum tipo de processo de tomada de decisão.

Tomada de decisão em macros

A estrutura de um programa típico de macro do Fanuc é baseado na mais antiga e simples de todas as
linguagens de computador - Basic™. A linguagem básica provou ser uma linguagem simples, mas poderosa
para sua época. Embora a linguagem básica em sua forma original seja agora uma história, muitas de suas
regras e formas estruturais ainda existem. A linguagem básica se desenvolveu na atual linguagem Visual Basic,
muito moderna e estruturada, de alto nível. Um dos remanescentes do antigo Basic é a função GOTOn e
GOSUB, ambas consideradas hoje uma forma muito pobre de estrutura de programa baseada em linguagem.
No entanto, as outras funções de ramificação (IF, IF-THEN e WHILE) estão disponíveis para controlar o fluxo
do programa macro.

De qualquer forma, a decisão é sempre baseada no resultado de uma dada condição, ou dada situação.
Dependendo desse resultado, pelo menos duas outras opções devem estar disponíveis para outras
considerações. Por exemplo, todos os dias em inglês equivale a - “Se eu tiver dinheiro, compro um carro”. tem
duas partes. A condição aqui é 'se eu tiver dinheiro' - 'ter dinheiro'. Existem dois resultados lógicos: 'vou comprar
um carro' e 'não vou comprar um carro', um ou outro, mas nunca ambos. “Se eu tiver dinheiro, compro um
carro, mas não tenho dinheiro, então não compro carro.” Lógica simples e muito poderosa quando aplicada a
mac ros.

A simplicidade do exemplo acima é muito forte quando transferida para o âmbito de uma macroprogramação.
É claro que as macrocondições e macroopções serão sempre diferentes, mas a lógica, a avaliação, o processo
de pensamento e a decisão não serão.

Por exemplo, um objetivo de uma macro pode ser verificar se a ferramenta de corte se desloca dentro dos
limites da máquina. Para cada eixo a ser testado, será criada uma condição muito específica - “Se o comprimento
do percurso for maior que a distância dada, então...”, e a macro deverá conter a decisão em formato próprio.
Se a condição especificada for verdadeira, o operador CNC poderá ser avisado com uma mensagem de alarme
ou pelo menos um comentário do programa. Se a condição for falsa (não verdadeira), a macro continuará com
o fluxo do programa sem interrupção. O operador pode nem estar ciente da avaliação e decisão que está
ocorrendo. Este capítulo cobre vários aspectos de teste condicional, ramificação e looping, dependendo da
complexidade da condição dada e do propósito de tal avaliação.

A primeira e única função principal em todos os exemplos acima é a função SE .

171

Copyright 2005, Industrial Press Inc., Nova York, NY - www.industrialpress.com


Machine Translated by Google Macros personalizadas CNC da FANUC

172 Capítulo 13

Função SE

E SE

A função SE tem vários nomes - é chamada de função de decisão , função de divergência ,


ou mais comumente, a função condicional . O formato da função IF é:

SE [ CONDIÇÃO É VERDADEIRA ] GOTO

onde n é o número do bloco para o qual ramificar, mas somente se a condição avaliada (o valor retornado)
for TRUE. Se a condição for verdadeira, todas as declarações entre o bloco IF e o bloco GOTOn serão
ignoradas. Se a condição avaliada não for TRUE, ela é FALSE, e o programa continuará processando o
próximo bloco após o bloco que contém a função IF . Podemos esquematicamente representar o último
exemplo em um fluxograma simples na Figura 19.

Figura 19

A Representação de fluxograma esquemático


VIAGEM É da ramificação condicional IF
SIM
MUITO EMITIR ALARME
LONGA???

NÃO

CORRE

PROGRAMA

O fluxograma mostra apenas a tomada de decisão e os resultados, não qualquer programa completo. A
caixa diagonal identifica a condição a ser avaliada (por exemplo, limites de deslocamento da máquina), e as
duas caixas retangulares identificam duas - e apenas duas - possíveis sai (SIM ou NÃO). Cada resultado
resulta em uma ação a ser tomada:

o Se o deslocamento FOR muito longo, gere uma condição de alarme e pare o

processamento o Se o deslocamento NÃO FOR muito longo, execute o resto do programa normalmente

A função SE é uma das macros instruções que controlam a ordem de processamento do programa.

Ramificação condicional

A ramificação de um bloco do programa para outro bloco do mesmo programa é exclusiva das mac ros -
sempre significa passar um ou mais blocos de programa. O by pass tem que ser feito de forma seletiva e
controlada, senão todo tipo de problema vai tomar conta. A função condicional IF serve como um tomador de
decisão entre duas opções. A principal declaração em uma macro é:

Copyright 2005, Industrial Press Inc., Nova York, NY - www.industrialpress.com


Machine Translated by Google Macros personalizadas CNC da FANUC

FILIAIS E LOOPS 173

SE [condição é verdadeira] GOTOn

por exemplo,

SE [#7 LT 0] GOTO65 Se o valor da variável #7 for menor que 0, ramifique para o bloco N65
...
... Se a condição acima for verdadeira, ignore esta seção até N65
...
N65 ... Bloco de destino da instrução condicional IF

A ramificação só ocorrerá se a condição especificada for verdadeira (isso significa que a condição está satisfeita -
fiado). Caso contrário, o bloco imediatamente após a instrução IF será executado e nenhuma ramificação
irá tomar lugar.

É muito importante que o bloco de destino da ramificação, o chamado na instrução GOTOn , exista no mesmo
programa e não seja duplicado. Se necessário, é possível substituir o n no GOTOn por um número de variável ou o
resultado de um cálculo anterior. Por exemplo, as seguintes
O exemplo baixo é perfeitamente legítimo:

#33 = 65
...
SE [#7 LT 0] GOTO#33 Se o valor da variável #7 for menor que 0, ramifique para o bloco N65
...
... Se a condição acima for verdadeira, ignore esta seção até N65
...
N65 ... Bloco de destino da instrução condicional da função IF

O bloco de endereço N não pode ser usado como uma declaração de variável, por exemplo, N#31 é ilegal.

Ramificação Incondicional

GOTOn

A instrução GOTOn pode ser programada sozinha, sem usar a função IF . Nisso
caso, o programa macro irá ramificar incondicionalmente, para o número de bloco n especificado no
GOTOn. Sem a função IF , a instrução GOTOn não tem condição (neste caso, é chamada
uma declaração incondicional ou ramificação incondicional ou salto incondicional). O alcance do
A instrução GOTOn (condicional ou incondicional ) é limitada apenas pelo máximo de sequência
números disponíveis para o modelo de controle dado:

u Número de sequência de quatro dígitos O intervalo de n é 1-9999

u Número de sequência de cinco dígitos O intervalo de n é 1-99999

NÃO altere os números de bloco se a macro contiver uma ramificação GOTOn!

Copyright 2005, Industrial Press Inc., Nova York, NY - www.industrialpress.com


Machine Translated by Google Macros personalizadas CNC da FANUC

174 Capítulo 13

O sistema Fanuc irá gerar um alarme, se o intervalo do número de sequência for excedido (Sequência No.
erro fora do intervalo ). A designação de bloco N0 não é permitida e também resultará em uma condição de alarme.
N-anúncios duplicados no mesmo programa são possíveis, mas não são apenas fortemente desencorajados.
envelhecidos, eles também podem estar prontos para licitar em mac ros especialmente. Definitivamente , não duplique o
números de sequência (N-números) em um programa de macro.

Uma macroexpressão (um número variável) também pode ser usada para o número de bloco especificado pelo
instrução GOTOn incondicional , semelhante à instrução condicional, por exemplo:

#33 = 65 A variável #33 armazena o número do bloco alvo


...
GOTO#33 Ramificação incondicional para o bloco N65

... Ignorar arbitrariamente esta seção até N65

N65 ... Bloco de destino da instrução GOTOn

Quer seja utilizada condicionalmente ou incondi cionalmente, a função GOTOn só deve ser utilizada quando
necessário. Existem razões perfeitamente legítimas para usar esta função em mac ros para branch -
, mas tente limitar seu uso para ramificações e loops. Existem funções melhores para estabelecer este objetivo, nomeadamente
a função WHILE .

Opção SE-ENTÃO

SE [condição é verdadeira] ENTÃO [argumento]

Somente os modelos de controle Fanuc 10/11/15 suportam a estrutura IF-THEN de teste condicional,
0/16/18 não (Fanuc modelo 21 faz). O conceito principal da estrutura condicional IF-THEN é a simplicidade. IF-THEN é um
atalho quando apenas duas opções estão disponíveis. Em vez de invocar um
para a má estrutura da instrução IF sozinha, combinada com a instrução GOTOn , o IF-THEN
opção de primeira mão so lução imediata e curta. Venha comparar as duas quedas baixando ex am lugar - ambos os estados -
mentos produzirão resultados idênticos . Os dois exemplos definem a folga do eixo Z no sistema atual -
termo de unidades ( inglês ou métrico ):

2 Exemplo 1 - Controle de macro sem a estrutura IF-THEN

#100 = #4006 Verifique as unidades atuais (inglês G20 ou Métrico G21)


IF[#100 EQ 20.0] GOTO20 Se as unidades forem inglesas, ramifique para o bloco número N20
IF[#100 EQ 21.0] GOTO21 Se as unidades forem Métricas, ramifique para o bloco número N21
N20 #100 = 0,1 Defina 0,1 polegada como a folga atual (inglês)
GOTO999 Ignorar configuração de métrica
N21 #100 = 2,0 Defina 2,0 mm como a folga atual (métrica)
N999 Seção inicial comum ao inglês e ao sistema métrico
. . .
<... Macro continua normalmente... >

Copyright 2005, Industrial Press Inc., Nova York, NY - www.industrialpress.com


Machine Translated by Google Macros personalizadas CNC da FANUC

FILIAIS E LOOPS 175

2 Exemplo 2 - Controle de macro com a estrutura IF-THEN

#100 = #4006 Verifique as unidades atuais (inglês G20 ou métrico G21)


IF[#100 EQ 20.0] THEN #100 = 0.1 A folga acima do trabalho é de 0,1 polegada para G20
SE [#100 EQ 21.0] ENTÃO #100 = 2.0 A folga acima do trabalho é de 2 mm para G21
...
< ... O programa de macro continua normalmente ... >

O uso do método IF-THEN torna o programa mais curto pela metade e é mais fácil de interpretar.

Expressões condicionais únicas


As macros suportam todas as seis expressões condicionais disponíveis, também conhecidas como Operadores Booleanos.
Eles comparam dois lados de uma expressão:

Matemática Macro
Expressão Formato
Símbolo Função

= Igual a EQ #I EQ #j

¹ Não igual a NÃO #I NE #j

< Menor que LT #I LT #j

A
£ Menos que ou igual a #IN #j

> Maior que GT #I GT #j

³ Melhor que ou igual a GE #I GE #j

Por exemplo, a expressão macro

SE [#1 EQ #2] GOTO99

será verdadeiro, somente se o valor atual da variável #1 for o mesmo que o valor atual da variável
#2. Nesse caso, a ramificação ocorrerá. Se os valores atuais das duas variáveis forem diferentes
ferente, a condição é falsa, e a macro continua com o processamento do próximo bloco, e nenhuma
ramificação ocorre.

O cálculo para mu las pode ser aninhado, desde que os colchetes sejam usados corretamente:

SE [#1 EQ [#2+#3]] GOTO99

Neste caso, os valores atuais das variáveis #2 e #3 são somados primeiro, e o resultado da
soma é comparada com o valor atual da variável #1. Se eles corresponderem, a condição especificada é
true, e a ramificação ocorrerá , caso contrário a macro continua no próximo bloco.

Copyright 2005, Industrial Press Inc., Nova York, NY - www.industrialpress.com


Machine Translated by Google Macros personalizadas CNC da FANUC

176 Capítulo 13

Expressões Condicionais Combinadas

Nos cálculos mais complexos, duas ou mais condições devem ser avaliadas (comparadas). o
o resultado é geralmente dependente do valor retornado de várias condições combinadas. Por exemplo, em
Em inglês, você pode dizer “Se eu tiver dinheiro e tempo, vou tirar férias”. Nesta declaração, uma única condição
verdadeira não é suficiente - ambas as condições devem ser verdadeiras para que toda a expressão seja verdadeira.
Sem exceções - mesmo que eu tenha dinheiro, mas não tenho tempo, não posso tirar férias. No
Por outro lado, você pode dizer “Se eu economizar dinheiro suficiente ou ganhar muito dinheiro, vou tirar férias”. Isto é
uma declaração diferente. Nesse caso, apenas uma expressão precisa ser verdadeira, para eu tirar férias. Se
Economizo bastante dinheiro, não preciso ganhar muito dinheiro e ainda posso tirar férias. Se eu ganhar muito
dinheiro, não preciso economizar dinheiro, e também posso tirar férias. Estas declarações e ex-
as pressões são encontradas em todos os idiomas do dia-a-dia.

Na programação de macros, existem duas outras funções disponíveis (na verdade três) que podem ser
bined para avaliar uma dada condição em números binários, bit a bit. Eles são:

E OU

Para qualquer condição, estas funções macro podem ser usadas:

u E Todas as condições dadas devem ser verdadeiras,


para que toda a condição seja verdadeira

u OU Apenas uma determinada condição deve ser verdadeira,


para que toda a condição seja verdadeira

GRATUITAMENTE

Além disso, há a terceira função - a função XOR (exclusive OR) -, mas que é bastante difícil de
entendido no momento, e é muito raramente usado em um trabalho macro normal.

Quando você avalia uma declaração condicional combinada, sempre faça a pergunta 'Faça a condição
ções têm que ser verdadeiras TODAS ao mesmo tempo?'. Se a resposta for Sim, use a função AND , caso contrário
use a função OR . A forma de entrada dessas funções em uma macro já foi descrita anteriormente. As funções AND
e OR são funções binárias típicas, pois seu retorno
valor só pode ter dois estados - TRUE ou FALSE.

Embora nem sempre seja necessário, entender o Sistema de Números Binários pode ser útil para
certas situações. Uma breve visão geral dos números binários também está incluída neste manual - veja
Cap ítu lo 4 - Parâmetros do sistema.

Copyright 2005, Industrial Press Inc., Nova York, NY - www.industrialpress.com


Machine Translated by Google Macros personalizadas CNC da FANUC

FILIAIS E LOOPS 177

Conceito de Loops

O looping é outro método de tomada de decisão no fluxo do macroprograma, também baseado em um


condição especificada. Assim como a função IF requer uma avaliação de verdadeiro/falso, a condição de loop
também pode retornar apenas o estado Verdadeiro ou Falso .

A maior diferença entre o teste de condição simples (IF) e o looping (WHILE) é como
muitos processos estão envolvidos - um ou muitos.

Processo único
O processo único já foi coberto - a função IF representa um único processo. Em ordem
para entender o conceito de looping, é fundamental entender o simples pro ger geral de cima para baixo -
processo de grama, sem loop, para qualquer operação. Este é o processo típico usado no processo padrão
gramas, sem condições e sem decisões. Pode ser representado como um passo a passo genérico ou procedi mento
dérmico para qualquer operação ou atividade (aqui apenas um modelo muito genérico é apresentado):

1. Inicie o programa 2. Inicialização - padrões - cancelamentos - unidades, ...


Insira os dados 3. Ferramenta - fuso - localização - folgas, ...
Processe os dados Ciclos - macros - avanços - deslocamentos, ...
4. Resultado de saída Usinagem real - este é o objetivo principal do programa
5. Parar o programa Condições claras, ...

Este método funcionará bem em um único dado inserido (processo único), todas as vezes. Por exemplo,
as cinco etapas genéricas anteriores podem representar a perfuração de um único furo, em qualquer local desejado.

Agora substitua os termos genéricos por operações de perfuração específicas (todos os cinco números de etapas correspondem):

1. Inicie o programa 2. igual a 1. Inicie o programa


Insira o local do furo XYZ 3. Mova igual a 2. Dados de entrada
para o novo local 4. Faça o furo 5. igual a 3. Dados do processo
Pare o programa igual a 4. Resultados de saída
igual a 5. Parar o programa

Embora apenas o processo básico de perfuração seja ilustrado, o fluxo ordenado mostra um conceito claro de
o que está acontecendo. Qual é o resultado real desse processo? Usando a furação como exemplo,
um furo - e apenas um furo - foi perfurado. O processo único não precisa da função SE ,
a maioria dos programas padrão o usa diariamente, mas em mac ros, a função IF representa o único
processo, como um único furo. Se for necessário mais de um furo, o processo único não é suficiente.

Processo Múltiplo
Na próxima etapa, o mesmo exemplo será explorado, desta vez para perfurar mais de um único furo.
O processo de cima para baixo acima não é suficiente e uma técnica diferente deve ser usada. Antes de pensar em uma
técnica, pense em um processo. O que tem que mudar? Não queremos sempre começar
e pare depois de fazer o primeiro furo, não é? Queremos colocar o próximo local do furo (item 2), mover para esse local
(item 3), fazer o furo nesse local (item 4) e - queremos repetir esses três
passos até que todos os furos sejam feitos. Com toda a esperança, a descrição foi clara o suficiente, mas uma representação gráfica
sen ta ção - usando um fluxograma simples - mostra a comparação de ambos os métodos (Figura 20).

Copyright 2005, Industrial Press Inc., Nova York, NY - www.industrialpress.com


Machine Translated by Google Macros personalizadas CNC da FANUC

178 Capítulo 13

Figura 20

COMEÇAR COMEÇAR
Comparação de fluxograma

de um processo de estrutura única,


mostrado à esquerda, e um processo
DADOS DO FURO DADOS DO FURO
de estrutura repetida à direita

MUDE PARA O LOCAL MUDE PARA O LOCAL

FAÇA O FURO FAÇA O FURO

Observe que o exemplo

mostrado à direita representa


PARE
um loop sem fim ou infinito -
sem STOP

Os dois fluxogramas comparáveis indicam o processo de perfuração em princípio. No entanto, há um grande


e muito sério problema com a estrutura repetida. Não há escapatória! A repetição mostrada ao lado direito da
Figura 20 não tem previsão de parar o processamento - o loop não é parado - não é controlado - logicamente,
ele roda para sempre!

É extremamente importante fornecer uma saída de um loop, quando certas condições são satisfeitas, por
exemplo, quando o último furo é perfurado. A falha em fornecer uma existência de um loop causará um loop
sem fim ou infinito. Em loops finitos são as causas mais comuns de problemas em macro loops.
Terminar um loop é sempre determinado por uma condição específica. Esta condição tem que ser parte do loop,
com base nos requisitos do trabalho, com a previsão de ramificar para fora do loop, quando a condição se tornar
falsa. O fluxograma repetitivo mostrado na Figura 20 deve ser modificado.

A Figura 21 mostra o fluxograma final para o processo de perfuração, incluindo a declaração condicional
e apenas duas saídas possíveis - faça mais furos ou pare o processamento do programa.

COMEÇAR
Figura 21

Fluxograma mostrando um fluxo


DADOS DO FURO
lógico do loop, com base no
resultado de uma condicional
decisão
ÚLTIMO SIM
PARE
O ramo STOP fornece saída do
FURO ???
loop

NÃO

MUDE PARA O LOCAL

SIM e NÃO representam


FAÇA O FURO
Condições VERDADEIRA

e FALSA, respectivamente

Copyright 2005, Industrial Press Inc., Nova York, NY - www.industrialpress.com


Machine Translated by Google Macros personalizadas CNC da FANUC

FILIAIS E LOOPS 179

Estrutura de Loop WHILE

Na programação de macros do tipo Fanuc, a função WHILE é usada para programar loops. O formato
da função de looping ENQUANTO consiste na função, condição e ação:

ENQUANTO [condição] DOn

Em termos de linguagem simples, pense na função WHILE como a função 'enquanto' . A função de loop WHILE
[condição[ DOn em uma linguagem macro Fanuc significa 'processar o corpo do loop enquanto a condição especificada
for verdadeira'. A guia DOn action es estabelece a conexão com o final do loop, onde o n é substituído por um número da
instrução ENDn correspondente . O loop é programado com a função ENDn que corresponde à chamada DOn , por
exemplo, DO1 com END1, DO2 com END2 e DO3 com END3. Apenas três profundidades de loop podem ser programadas.

As três profundidades de loop permitidas - dez conhecidas na programação como os níveis de aninhamento - têm
três formas semelhantes:

o Aninhamento de nível único

o Aninhamento de nível duplo

o Aninhamento de nível triplo

À medida que o número de níveis de aninhamento aumenta, o mesmo acontece com a complexidade da programação.
A maioria dos loops para a maioria das macroaplicações são de nível único, níveis duplos também não são muito
incomuns. O nível triplo tem muito poder, mas precisa de um aplicativo adequado para empregá-lo.

Loop de aninhamento de nível único

Programando apenas uma única função de loop WHILE entre a chamada do loop WHILE- DOn e seu ENDn
correspondente, define o loop de nível único. Esta é a função de looping mais simples e mais comumente usada em
programas de macro. O loop de nível único processa e controla um evento por vez - Figura 22:

ENQUANTO [... Condição 1 é verdadeira ...] DO1 Início do loop WHILE 1


...
<... Corpo de um loop de nível único ...>
...
END1 Fim do loop WHILE 1

Figura 22

Nível único de loop de macro - controla um evento por vez

Copyright 2005, Industrial Press Inc., Nova York, NY - www.industrialpress.com


Machine Translated by Google Macros personalizadas CNC da FANUC

180 Capítulo 13

Loop de Nível Duplo

Programando dois níveis de WHILE entre o loop WHILE- DOn e o ENDn define o loop de dois níveis - os
entalhes mostram a estrutura de programação - Figura 23:

ENQUANTO [... Condição 1 é verdadeira ...] DO1 Início do loop WHILE 1


...
<... Corpo do Loop 1 - Parte 1 ...>
...
ENQUANTO [... Condição 2 é verdadeira ...] DO2 Início do loop WHILE 2
...
<... Corpo do Loop 2 ...>
...
END2 Fim do loop WHILE 2
...
<... Corpo do Loop 1 - Parte 2 ...>
...
END1 Fim do loop WHILE 1

Figura 23

Duplo nível de loop de macro - controla dois eventos no momento

O loop de dois níveis também é bastante comum, pois adiciona mais poder de decisão à macro. Se bem
estruturada, não deve apresentar nenhuma dificuldade. Lembre-se de que dois eventos são controlados
simultaneamente em um loop de dois níveis.

Um único nível de looping deve ser fácil de entender. Continuando com o exemplo de um furo perfurado, a
macro de nível único é adequada para ser usada quando o furo deve ser perfurado em locais diferentes - mas
igualmente espaçados . Um círculo de parafuso (explicado no Capítulo 20) é um excelente exemplo.

Entender o duplo nível de looping é um pouco mais difícil. O duplo nível de looping é definido como o controle
de dois eventos ao mesmo tempo. Por exemplo, cada furo de um padrão igualmente espaçado tem duas
ranhuras internas que compartilham a mesma localização XY. A macro de localização de furos seria o primeiro
nível, e a usinagem das duas ranhuras seria o segundo nível.

Loop de Nível Triplo

A programação de todos os três níveis de WHILE dentro do WHILE-DOn e do ENDn define o loop de três
níveis. O loop de três níveis é muito menos comum que os outros dois, mas traz ainda mais poder de decisão
para os macros. É muito importante que seja utilizada uma estrutura adequada.
Com mais níveis, a possibilidade de um erro estrutural ou lógico aumenta. Lembre-se também de que o software
de controle é projetado intencionalmente para cobrir mais do que o necessário no trabalho diário.

Este último tipo de estrutura de loop controla três eventos simultaneamente - novamente, os entalhes
mostram a estrutura de programação - Figura 24:

Copyright 2005, Industrial Press Inc., Nova York, NY - www.industrialpress.com


Machine Translated by Google Macros personalizadas CNC da FANUC

FILIAIS E LOOPS 181

ENQUANTO [... Condição 1 é verdadeira ...] DO1 Início do loop WHILE 1


...
<... Corpo do Loop 1 - Parte 1 ...>
...
ENQUANTO [... Condição 2 é verdadeira ...] DO2 Início do loop WHILE 2
...
<... Corpo do Loop 2 - Parte 1 ...>
...
ENQUANTO [... Condição 3 é verdadeira...] DO3 Início do loop WHILE 3
...
<... Corpo do Loop 3 ...>
...
END3 Fim do loop WHILE 3
...
<... Corpo do Loop 2 - Parte 2 ...>
...
END2 Fim do loop WHILE 2
...
<... Corpo do Loop 1 - Parte 2 ...>
...
END1 Fim do loop WHILE 3

Figura 24

Nível triplo de loop de macro - controla três eventos no momento

considerações gerais

Dos vários exemplos da estrutura da função WHILE , seu uso adequado deve ficar muito mais claro.
Quando a <condição> na instrução WHILE é satisfeita (isso significa que é verdadeira), os blocos entre
o DOn e o ENDn correspondente são executados repetidamente, na ordem em quais são programados.
Cada nova passagem pelo laço sempre avalia a condição dada repetidamente. Quando a condição
falha, isso significa que não é mais verdadeira - é falsa, então o fluxo de macro do loop é transferido
para o bloco imediatamente após a instrução ENDn . Em alguns casos raros, DOn e ENDn também
podem ser usados sem a instrução WHILE , mas isso definitivamente não é uma prática recomendada
ou uma abordagem profissional para programação.

Restrições do loop WHILE

Dos exemplos anteriores de uma estrutura de macro loop, um padrão muito definitivo emerge no
aninhamento estrutural da função WHILE . O DOn e o ENDn devem sempre ser programados em
pares, trabalhando do loop mais interno para fora. Dependendo do nível de aninhamento (1, 2 ou 3), o
macroprograma correto deve seguir a ordem do padrão. A ordem para cada nível de aninhamento é
mostrada aqui de forma simplificada (Sn é o número do nível inicial, En é o número do nível final correspondente):
S1 .. E1 Nível único

S1..S2..E2..E1 Nível duplo

S1..S2..S3..E3..E2..E1 Nível triplo

Copyright 2005, Industrial Press Inc., Nova York, NY - www.industrialpress.com


Machine Translated by Google Macros personalizadas CNC da FANUC

182 Capítulo 13

Cada dígito listado indica o nível de aninhamento atual, e a ordem de escavação de sua representação representa
a ordem do fluxo do programa de um nível de aninhamento para outro e depois de volta. Esta é a estrutura de
aninhamento como deveria ser. Infelizmente, erros acontecem, e em macro looping, o erro mais comum é cruzar os
níveis quando mais de um nível é programado.

Cruzar o loop WHILE entre os níveis de aninhamento não é permitido, por exemplo, o seguinte
ENQUANTO a estrutura (e estruturas semelhantes) está errada - Figura 25:

ENQUANTO [... Condição 1 é verdadeira ...] DO1 Início do loop WHILE 1


...
...
...
ENQUANTO [... Condição 2 é verdadeira ...] DO2 Início do loop WHILE 2
...
...
...
END1 Fim do loop WHILE 1
...
...
...
END2 Fim do loop WHILE 2

Figura 25

Erro comum de loop de macro - problema de estrutura principal (compare com formatos anteriores)

Erros de looping, em qualquer número de níveis aninhados, podem nem sempre ser os mais fáceis de encontrar,
particularmente em macros longas ou complexas. Essa é a principal razão pela qual manter sempre a ordem e a
consistência no desenvolvimento de macroprogramas é tão importante. Para alguns macroprogramadores, um
fluxograma é uma ferramenta obrigatória, para outros, eles podem desenvolver uma macro muito bem sem um fluxograma.
No entanto, um fluxograma bem desenhado é importante para o iniciante, assim como para o programador
experiente - ele ajuda a projetar a macro lógica durante as etapas de desenvolvimento e retraçar a macro fluir em
uma data posterior.

Expressões condicionais e variáveis nulas

Anteriormente neste manual, o importante assunto dos valores de retorno de várias expressões e cálculos foi
introduzido - um dos elementos era uma variável nula (um vazio variável ou uma variável vazia). Nesta seção, a
mesma variável nula e sua relação com expressões condicionais serão avaliadas. Certifique-se de entender bem
este assunto, ele pode ajudar em muitas situações de resolução de problemas. Expressões condicionais usadas
com as funções IF e WHILE (explicadas anteriormente) sempre comparam dois valores, usando operadores de
comparação como EQ, NE, GT, LT, GE, e LE. Se uma variável nula for comparada com outro valor, o valor de
retorno pode ser TRUE ou FALSE, dependendo da situação exata. A comparação com um valor zero também é
mostrada, para uma referência mais detalhada.

Copyright 2005, Industrial Press Inc., Nova York, NY - www.industrialpress.com


Machine Translated by Google
Macros personalizadas CNC da FANUC

FILIAIS E LOOPS 183

Uma variável nula é diferente de uma variável com valor zero! Tanto o IF quanto o WHILE
funções compartilham a mesma lógica, apenas a função IF é mostrada nos exemplos a seguir, porque
a função WHILE usa o mesmo para mat:

2 Comparando uma variável nula com uma variável nula:

#1 = #0 #1 é definido como nulo (isso significa que #1 está vago)


SE[#1 EQ #0] Retorna VERDADEIRO

SE[#1 NE #0] Retorna FALSO


SE[#1 GT #0] Retorna FALSO
SE[#1 GE #0] Retorna VERDADEIRO

SE[#1 LT #0] Retorna FALSO


SE[#1 LE #0] Retorna VERDADEIRO

2 Comparando um zero com uma variável nula:

#1 = 0 #1 é definido como zero (isso significa que #1 é igual a 0)


SE[#1 EQ #0] Retorna FALSO
SE[#1 NE #0] Retorna VERDADEIRO

SE[#1 GT #0] Retorna FALSO


SE[#1 GE #0] Retorna VERDADEIRO

SE[#1 LT #0] Retorna FALSO


SE[#1 LE #0] Retorna VERDADEIRO

2 Comparando uma variável nula com um zero:

#1 = #0 #1 é definido como nulo (isso significa que #1 está vago)


SE[#1 EQ 0] Retorna FALSO
SE[#1 NE 0] Retorna VERDADEIRO

SE[#1 GT 0] Retorna FALSO


SE[#1 GE 0] Retorna VERDADEIRO

SE[#1 LT 0] Retorna FALSO


SE[#1 LE 0] Retorna VERDADEIRO

2 Comparando um zero com um zero:

#1 = 0 #1 é definido como zero (isso significa que #1 é igual a 0)


SE[#1 EQ 0] Retorna VERDADEIRO

SE[#1 NE 0] Retorna FALSO


SE[#1 GT 0] Retorna FALSO
SE[#1 GE 0] Retorna VERDADEIRO

SE[#1 LT 0] Retorna FALSO


SE[#1 LE 0] Retorna VERDADEIRO

Copyright 2005, Industrial Press Inc., Nova York, NY - www.industrialpress.com


Machine Translated by Google Macros personalizadas CNC da FANUC

184 Capítulo 13

Macro Baseada em Fórmula - Curva Seno

Quando se trata de usinagem de contornos únicos baseados em definições de usinagem específicas (tipicamente fórmulas
matemáticas), a maioria dos controles CNC não oferece suporte direto. Desenvolver um programa de corte de contorno para uma
parábola, hy per bola, ellipse, curva senoidal, ciclóide e muitas outras curvas, pode não ser possível em programas CNC padrão,
mas apresenta nenhum problema no mac ros. Esta seção ilustra o desenvolvimento de uma curva senoidal como o exemplo real
da macro de percurso de corte. Uma vez que o sistema de controle não suporta diretamente a interpolação de curva senoidal (ou
interpolação parabólica ou hiperbólica, etc.), o percurso será simulado por muitos pequenos movimentos lineares , no modo G01 .

A curva senoidal é uma das várias curvas matemáticas que podem ser úteis em certas aplicações.
Por se basear em uma fórmula, torna-se um assunto muito adequado para o macrodesenvolvimento, principal motivo da utilização
deste exemplo. É uma fórmula simples que será adaptada para gerar o movimento da ferramenta de corte. A Figura 26 ilustra uma
curva senoidal típica junto com a terminologia relacionada. A curva senoidal é, com efeito, uma representação plana de um círculo
completo, de 0° a 360°. A distância entre os ângulos de início e fim é chamada de Período. A altura da curva é chamada de
amplitude e é sempre a mesma acima e abaixo do eixo X:

S
90° 180° 270° 360°

0 X

INCREMENTO ANGULAR
PERÍODO

Figura 26

Curva senoidal - layout gráfico

Copyright 2005, Industrial Press Inc., Nova York, NY - www.industrialpress.com


Machine Translated by Google Macros personalizadas CNC da FANUC

FILIAIS E LOOPS 185

Em termos de programas de usinagem, apenas linhas ou arcos são permitidos, não curvas especiais. Qualquer necessidade
de usinar uma curva especial - como a curva senoidal mostrada na ilustração - técnica chamada ap -
A aproximação deve ser usada para simular a curva por uma série de linhas muito curtas. Quanto mais curto cada
linha é, mais precisa a simulação, mas ao preço de um programa padrão mais longo. Comprimento de
o programa não é uma preocupação em macro, pois a função de loop sempre terá o mesmo tamanho.

O primeiro passo a dar é definir a fórmula matematicamente. Uma vez que é um trigonométrico sem seno métrico
curva, a função SIN será usada. Matematicamente, a fórmula para calcular o Y é:

Y = Amplitude ´ sinX

Em muitos livros de matemática, a fórmula da curva senoidal é listada como Y = sinX. Esta des ig nação é a mesma
como Y = 1 ´ sinX, considerando a amplitude não especificada como tendo o valor de 1. Caso contrário, a amplitude
a ampli tude deve ser sempre especificada. O período definido da curva deve ser segmentado em
pequenos incrementos de ângulo para melhor ajuste. O primeiro incremento de ângulo será usado para criar a primeira linha
movimento, o segundo incremento será usado para criar o segundo movimento linear, e assim sucessivamente, até que todos
360° foram calculados em incrementos iguais. O resultado usinado é a curva senoidal necessária.

+ A atribuição de variáveis na chamada macro de curva senoidal O8009 é curta e simples:

eu tenho dobras . . . letra A atribuída (variável #1)


Incremento angular . . . letra I atribuída (variável #4)
Velocidade de corte . . . letra F atribuída (variável nº 9)

A chamada de macro conterá apenas três variáveis:

G65 P8009 A120.0 I5.0 F250.0

Observe que as unidades atuais devem ser usadas (a métrica mostrada) e o incremento angular deve con-
forma ao mínimo programável possível em 0,001°. No exemplo, a curva senoidal será usinada como um movimento linear -
uma série de linhas retas em incrementos de 5°. Diminuir o incremento
para maior precisão, aumente o incremento para menor precisão. Os movimentos do eixo Z devem ser aplicados em
o programa principal. A macro será um loop de nível único, usando um contador de corrente em cre men -
graus totais comparados com o ângulo final, como o 360° usado no exemplo:

O8009 (MACRO DE CURVA SENOIAL)


#25 = 0 Definir contador inicial para incremento de graus
ENQUANTO [#25 LE 360,0] Loop para cada segmento linear até que 360 graus sejam usinados
#26 = #1 * SIN[#25] Calcular a localização Y atual
G90 G01 X#25 Y#26 F#9 #25 = Faça um movimento linear para o local XY calculado
#25+#4 Aumente o contador por incremento especificado
END1 Fim do ciclo
M99 Fim da macro
%

Se necessário, os ângulos inicial e final também podem ser colocados como variáveis, desde que apenas uma parte do seno
curva é necessária. A macro de curva senoidal pode ser facilmente alterada para uma macro de curva co-seno,
deslocando a curva senoidal 90° para a esquerda, ou movendo o eixo Y 90° para a direita.

Copyright 2005, Industrial Press Inc., Nova York, NY - www.industrialpress.com


Machine Translated by Google Macros personalizadas CNC da FANUC

186 Capítulo 13

Limpando Variáveis Comuns

Um exemplo muito útil e prático de um loop WHILE simples é o desenvolvimento de uma macro
que podem ser armazenados permanentemente na memória de controle, para serem utilizados por qualquer programa ou pela MDI.
Esta macro limpa as mais de 500 séries de variáveis comuns, que só podem ser limpas usando
funções macro. O operador CNC pode apagar todas as variáveis no controle, em modo MDI, uma
por um. Uma solução muito melhor é ter um programa à mão que cubra todas as variáveis no intervalo e as defina para
o estado nulo (#0) individualmente, por um loop de macro:

O8010 (CLEAR 500+ VARIÁVEIS - INDIVIDUALMENTE UMA POR UMA)


#500 = #0 Variável comum #500 limpa (definida como nula)
#501 = #0 Variável comum #501 limpa (definida como nula)
#502 = #0 Variável comum #502 limpa (definida como nula)
#503 = #0 Variável comum #503 limpa (definida como nula)
...
#999 = #0 Variável comum #999 limpa (definida como nula)

Tal programa pode ser bastante longo e ocupará um espaço de memória desnecessário. Usando um laço, o
programa será abreviado signi cativamente e será mais profissional também:

O8011 (CLEAR 500+ VARIÁVEIS - POR UM LOOP MACRO)


#33 = 500 Inicialize o contador para a primeira variável (sem símbolo # !!!)
WHILE[#33 LE 999] DO1 #[#33] Loop através de variáveis - o intervalo mostrado é #500-#999
= #0 #33 = #33+1 Defina o número da variável atual como nulo (limpa a variável atual)
Atualizar a contagem do número da variável em um
END1 Fim do loop - retorne ao bloco WHILE e avalie novamente
M99 Fim da macro
%

A variável #33 é uma variável local e serve como contador. Sua configuração inicial é 500, a primeira vari -
capaz do intervalo a ser limpo. O alcance máximo é controlado pelo loop WHILE , e o ex -
Exemplo mostra #999 como a última variável no intervalo. Este número deve ser alterado para corresponder ao
Sistema de controle. Esta também é uma macro, onde a declaração básica do G65 não precisa de argumentos :

O0019 Número do programa principal


...
G65 P8011 Chama a macro O8011 para limpar todas as mais de 500 variáveis - sem argumentos
...
M30 Fim do programa principal O0019
%

A macro O8011 também pode ser facilmente adaptada para aprender variáveis na série 100+.
Apenas mude a configuração inicial (#33) e a raiva máxima no loop WHILE .

Muitos exemplos no manual usam funções de ramificação e looping que podem ser usadas em todos -
dia de trabalho. A maioria deles contém comentários e explicações junto com aplicações práticas
ções. Use-os como recurso para criar mac ros exclusivos que podem ser usados diariamente.

Copyright 2005, Industrial Press Inc., Nova York, NY - www.industrialpress.com


Machine Translated by Google Macros personalizadas CNC da FANUC

14 ALARMES E TEMPORIZADORES

A ideia de realmente causar um alarme durante as operações de usinagem por um programa CNC pode ser um
pouco desconfortável ou mesmo peculiar para muitos usuários, com menos experiência . No entanto, criar um alarme
específico do sistema de controle - por um bom motivo, é claro - nada mais é do que aplicar uma ferramenta muito
importante no desenvolvimento macro. Mesmo em condições normais de operação, todos os sistemas de controle
comutam automaticamente para o modo de alarme, se ocorrer um problema sério e detectável . A palavra-chave
aqui é 'detectável'. Criar alarmes macro significa apenas adicionar alarmes personalizados aos já existentes no
sistema de controle.

Uma regra básica se aplica a todos os alarmes gerados sob medida - eles devem ser implementados por um
macroprograma somente sob uma condição - sempre que uma situação adversa for previsível. O propósito de todos
os alarmes é encerrar a atividade atual do programa e forçar uma mudança nas condições atuais, sejam elas quais
forem.

Alarmes em Macros

A macro pode incluir um alarme programado (também conhecido como condição de erro intencional), usando a
variável de sistema #3000. A variável #3000 deve ser seguida de um número de alarme, com uma mensagem
opcional.

Número do alarme

Dependendo do sistema de controle, o número do alarme pode estar dentro de um intervalo de:

o 0 a 200 e mais para controles FS-0/16/18/21


o 0 a 999 para controles FS-10/11/15

A seleção do número do alarme fica a critério do programador, sujeito a especi fi cações de controle.

Mensagem de alarme

O alarme deve ter um número, mas a mensagem de alarme é opcional. A programação de uma mensagem
descritiva informará o operador do CNC sobre a causa do alarme. A mensagem de alarme deve estar no mesmo
bloco do número do alarme, entre parênteses, e pode ter até 26 caracteres (31 caracteres em alguns controles),
incluindo espaços. Seu conteúdo deve ser claro, sem grandes significados. Por exemplo,

(ERRO DA FERRAMENTA) ... é uma mensagem ambígua ...


(RAIO DA FERRAMENTA MUITO GRANDE) é uma mensagem clara

Se a mensagem estiver presente, tanto o número do alarme quanto a mensagem aparecerão na tela quando o
alarme for acionado. Se a mensagem de alarme não estiver presente, apenas o número do alarme aparecerá.

187

Copyright 2005, Industrial Press Inc., Nova York, NY - www.industrialpress.com


Machine Translated by Google Macros personalizadas CNC da FANUC

188 Capítulo 14

Formato de alarme

A macro O8012 ilustra a aplicação real de um alarme de macro que verifica a entrada de um
como variável com sinal (ou seja, argumento R, como sinal #18). A macro verificará se o raio de entrada é
superior a 2,5 mm:

G65 P9000 R2.5 Chamada de macro com um argumento (quantidade de raio)

O8012 Início da macro


...
SE[#18 GT 0,25] GOTO1001 Verifique a condição de alarme - verdadeiro ou falso?
... Processa todos os blocos se a condição for falsa
N1001 #3000 = 118 (RAIO MUITO GRANDE) Forçar alarme se a condição for verdadeira

O número de alarme selecionado e a mensagem para o operador são exibidos na tela

118 RAIO MUITO GRANDE ou 3118 RAIO MUITO GRANDE

Pequenas variações podem ser esperadas. Esta é uma aplicação típica de um alarme programado - uma con-
geração controlada de um alarme por uma macro, para uma possibilidade previsível de erro.

Incorporando alarme em uma macro

Independentemente de quais condições de alarme são usadas na macro, a transferência entre o


e as porções não processadas do programa devem ser suaves, independentemente do valor retornado
(verdadeiro ou falso). Por exemplo, uma macro pode conter os seguintes três alarmes (para 'go-to'):

N1001 #3000 = 101 (ESPAÇAMENTO DE FUROS É MUITO PEQUENO)


N1002 #3000 = 102 (MÍNIMO DE DOIS FUROS NECESSÁRIOS)
N1003 #3000 = 103 (PONTO DECIMAL NÃO PERMITIDO)

Na macro O8013, esses alarmes provavelmente estarão localizados no final da macro. No entanto,
o programa macro que antecede os alarmes, usando G65 P8013 H8 I12.0 X75.0 Y100.0
chamada de macro, terá que ser processada sem interrupção, se as condições forem falsas (isso significa
executando um bom programa, sem alarmes). Por exemplo, esta estrutura macro NÃO está correta:

O8013 Maneira INCORRETA de programar alarmes


SE[#4 LE 0] GOTO1001 A variável I=#4 armazena o espaçamento dos furos
SE[#11 LT 2] GOTO1002 A variável H=#11 armazena o número de furos
SE[#11 E FUP[#11]] GOTO1003 Verifique se #11 contém o ponto decimal
G90 X#24 Y#25 Localização da ferramenta previamente definida XY
< ... processamento de macrocorpos ... >
N1001 #3000 = 101 (ESPAÇAMENTO DE FUROS É MUITO PEQUENO)
N1002 #3000 = 102 (MÍNIMO DE DOIS FUROS NECESSÁRIOS)
N1003 #3000 = 103 (PONTO DECIMAL NÃO PERMITIDO)
M99
%

Copyright 2005, Industrial Press Inc., Nova York, NY - www.industrialpress.com


Machine Translated by Google Macros personalizadas CNC da FANUC

ALARMES E TEMPORIZADORES 189

O bloco G65 para a macro acima contém tudo colocado corretamente - 8 furos, separados por 12 mm. Isso significa
todos os testes IF serão falsos e a macro continuará como previsto. Vai continuar até chegar
a primeira mensagem de alarme. Neste ponto, o alarme assume e o processamento de macro para. Ferro eu calo,
se um argumento for inserido corretamente, a macro processará o alarme apropriado. Com todo ar gu -
mentos sendo corretos, um alarme sempre será processado! Isso significa que uma macro sem falhas irá gerar
alarme 3101 ou 101 (ESPAÇAMENTO DE FUROS É MUITO PEQUENO), indicando entrada de dados incorretos. Nada é
errado com a entrada, então qual é a razão? Se uma ramificação é baseada em uma determinada condição, a macro
as seções verdadeiras e falsas devem ser separadas. No exemplo O8013, não foram. As mensagens de alarme não foram
ignoradas se todos os dados inseridos forem bons. Para contorná-los, a função incondicional GOTOn -
ção deve ser incluída por si mesma em um bloco. O n é o número do bloco para o qual ramificar. Em condições incondicionais
ramificação, não há IF, nem WHILE - apenas GOTOn. O programa O8014 corrige a macro anterior:

O8014 Maneira CORRETA de programar alarmes


SE[#4 LE 0] GOTO1001 A variável I=#4 armazena o espaçamento dos furos
SE[#11 LT 2] GOTO1002 A variável H=#11 armazena o número de furos
SE[#11 E FUP[#11]] GOTO1003 Verifique se #11 contém o ponto decimal
G90 X#24 Y#25 Localização da ferramenta previamente definida XY
< ... processamento de macrocorpos ... >
GOTO9999 Bypass incondicional adicionado
N1001 #3000 = 101 (ESPAÇAMENTO DE FUROS MUITO PEQUENO)
N1002 #3000 = 102 (MÍNIMO DE DOIS FUROS NECESSÁRIOS)
N1003 #3000 = 103 (PONTO DECIMAL NÃO PERMITIDO)
N9999 M99 Número do bloco para ramificar
%

Compare as duas versões anteriores (as alterações são identificadas na versão O8014). O único anúncio -
A di ção que pode tornar a macro ainda melhor é a economia e posterior restauração da corrente
valores modais. Tal melhoria não tem nada a ver com alarmes, e está incluída aqui para mostrar a
segmento de programa completo usando alarmes tencionais. O exemplo a seguir mostra a economia de
o estado atual dos códigos G (Grupo 3) no início da macro e restaurando-o no final:

O8015
#10 = #4003 G90 ou G91 atual salvo
SE[#4 LE 0] GOTO1001
SE[#11 LT 2] GOTO1002
SE[#11 E FUP[#11]] GOTO1003
G90 X#24 Y#25
< ... processamento de macrocorpos ... >
GOTO9999 Bypass incondicional da lista de alarmes
N1001 #3000 = 101 (ESPAÇAMENTO DE FUROS MUITO PEQUENO)
N1002 #3000 = 102 (MÍNIMO DE DOIS FUROS NECESSÁRIOS)
N1003 #3000 = 103 (PONTO DECIMAL NÃO PERMITIDO)
N99999 G#10 G90 salvo anteriormente ou G91 restaurado
M99
%

Muitos programadores de macro não usam alarmes ou os usam muito mal. Ao escrever um
macro, escreva-o primeiro sem os alarmes. Quando tudo funcionar, tente prever que tipo de erros são possíveis mais tarde,
quando a macro for realmente usada. Em seguida, adicione todos os alarmes que cobrem essas situações.

Copyright 2005, Industrial Press Inc., Nova York, NY - www.industrialpress.com


Machine Translated by Google Macros personalizadas CNC da FANUC

190 Capítulo 14

Redefinindo um alarme

Quando um alarme macro é gerado, ele terá uma semelhança precisa com um alarme gerado por
o sistema de controle em aplicativos não macro. Tipicamente, esta é a sequência de eventos:

1. A luz CYCLE START será desligada

2. A palavra ALARME piscará na tela

3. O número do alarme e a mensagem (se disponível) aparecerão na tela

Neste momento, o sistema de controle parou todas as operações. Para se livrar do alarme, pressione a tecla RESET .
A fonte (a causa) do alarme deve ser removida, portanto, certifique-se de que todas as posições da ferramenta estejam
corretas e, em seguida, pressione a tecla CYCLE START para executar a macro novamente, desta vez sem alarme.

Variável de mensagem - Aviso, não é um alarme

A variável de sistema #3006 só está disponível nos controles FS-10/11/15 - ela permite que o programador processe
uma mensagem na macro, sem criar uma condição de alarme . Pense na variável de mensagem como um meio de
emitir um aviso, em vez de um alarme. Uma mensagem (aviso) pode ser usada em vez de um alarme em situações que
não estão erradas, mas quando o operador deve ser avisado ou de outra forma informado de um problema importante.

Por exemplo, o programa a seguir usa o argumento D (#7) como valor de compensação:

G65 P8016 D1.5 Chamada de macro (D = #7 - é o valor da liberação)

No corpo da macro, a variável do sistema #3006 é programada em um formato semelhante ao alarme


variável, mas com um número diferente:

O8016
...
SE [#7 LT 2.0] GOTO101
...
...
N100 GOTO9999
N101 #3006 = 1 (FOGURA MÍNIMA DE 2 MM RECOMENDADA)
...
N9999 M99
%

Quando a mensagem do programa for ativada, a luz CYCLE START do controle será desligada e a mensagem
aparecerá na tela. Quando o operador CNC pressionar novamente o botão CYCLE START , o processamento do
programa da peça continuará. Nenhum reset é necessário neste caso e não há necessidade de pressionar o botão
RESET - será na verdade um esforço contraprodutivo, pois pode cancelar a execução do programa. Observe o fluxo da
macro aqui - o programa pode ser construído de tal forma que o bloco de by pass não seja necessário, mesmo se a
condição for verdadeira.

Use a variável de mensagem com moderação. Este é um exemplo quando o programador está desistindo de cer-
mantém o controle sobre o programa e o deixa nas mãos do operador da máquina CNC.

Copyright 2005, Industrial Press Inc., Nova York, NY - www.industrialpress.com


Machine Translated by Google Macros personalizadas CNC da FANUC

ALARMES E TEMPORIZADORES 191

Temporizadores em Macros

Na última seção deste capítulo, o tópico aborda estritamente os temporizadores de programação , não os relacionados às
configurações de hardware no sentido de serviço ou manutenção. Existem várias variáveis de sistema disponíveis nos controles
Fanuc relacionadas a temporizadores. Basicamente, essas variáveis cobrem as informações sobre data e hora, além de várias
outras opções para cronometragem de diversos eventos.

Informações de tempo

As variáveis do sistema #3001, #3002, #3011 e #3012 estão relacionadas aos vários dados de tempo. Em vez -
as informações podem ser lidas e escritas em (Read & Write ou R/ W).

Número da variável Descrição

Esta é uma variável de tempo de milissegundos, com a


contagem de um milissegundo de cada vez. A contagem
começa do zero quando a energia é ligada e continua até
#3001
65535,0 milissegundos, então começa do zero novamente.
Conta o tempo todo.

Esta é uma variável de temporização de hora, com a


contagem de uma hora de cada vez. A contagem começa
do zero quando o início do ciclo é pressionado pela primeira
#3002 vez e continua até as 114.534,612 horas, depois começa
do zero novamente. O temporizador é atualizado somente
quando a lâmpada de início de ciclo é ligada (somente no
modo de início de ciclo).

Esta variável contém a data atual, na forma de ano, mês, dia


(o formato é AAAAMMDD). Uma determinada data, por
#3011 exemplo, 7 de dezembro de 2005, será exibida como
20051207.

Esta variável indica a hora atual, na forma de horas,


minutos, segundos (formato HHMMSS). Uma hora, por
#3012 exemplo, 20:36:17, será exibida no formato de 24 horas
como 203617.

Cronometrando um evento

Um evento pode ser cronometrado usando as variáveis de sistema #3001 ou #3002 . O exemplo a seguir não faz muito em
termos práticos, mas é desenhado de tal forma que o resultado esperado possa ser calculado.

Copyright 2005, Industrial Press Inc., Nova York, NY - www.industrialpress.com


Machine Translated by Google Macros personalizadas CNC da FANUC

192 Capítulo 14

Avalie os comentários fechados ou tente no controle para ver como o timer funciona exatamente:

O8017 (CRONOGRAMA DE UM EVENTO)


(PARTE --UM-- USANDO #3001)
#3001 = 0 Redefinir para zero (começar a contar do zero)
G91 G01 X-100.0 F200.0 A duração deste movimento é de 30 segundos
X100.0 F400.0 A duração deste movimento é de 15 segundos
N999 (ESTE DEVE SER UM BLOCO VAZIO) Um bloco vazio para evitar a antecipação !!!
#101 = #3001 #102 Retorna o cálculo de 45632.000 (milissegundos)
= #3001/1000 Retorna o cálculo de 00045,632 (segundos)
M00 Parada temporária para verificar variáveis

(PARTE --DOIS-- USANDO #3002)


#103 = #3002 Redefinir para zero (começar a contar do zero)
G91 G01 X-100.0 F200.0 A duração deste movimento é de 30 segundos
X100.0 F400.0 A duração deste movimento é de 15 segundos
N999 (ESTE DEVE SER UM BLOCO VAZIO) Um bloco vazio para evitar a antecipação !!!
#104 = [#3002-#100]*3600 M00 Cálculo de retornos de 45,631993 (segundos)
Parada temporária para verificar variáveis
M30 Fim do programa
%

Observe os blocos N999 e o comentário anexo. Como o controle está no modo de antecipação, ele
calcula o valor final prematuramente. O bloco vazio garante um valor calculado com precisão.

Permaneça como um Macro

Embora a função de permanência G04 possa ser usada de forma muito mais eficiente na maioria dos pro-
gramas, o tempo de espera também pode ser programado com uma macro, usando a variável de sistema #3001. Por
ex emplo, G04 P5000 (uma pausa de cinco segundos) é equivalente à seguinte macro (e sua chamada):

u Chamada de macro:

...
G65 P8018 T5000 T=#20 pode ser qualquer outra variável local (T está em ms)
...

u Definição de macro:

O8018 (TIMER COMO HABITAÇÃO)


#3001 = 0 Defina a variável do sistema para o temporizador para zero

ENQUANTO[#3001 LE #20] DO1 Faça um loop até que #3001 atinja o atraso definido
END1 Fim de loop
M99 Fim da macro
%

Observe que mesmo com o loop WHILE em vigor, não há necessidade de programar um contador, pois o
a variável de sistema #3001 está sempre contando.

Copyright 2005, Industrial Press Inc., Nova York, NY - www.industrialpress.com


Machine Translated by Google Macros personalizadas CNC da FANUC

15 DADOS DE POSIÇÃO DO EIXO

Durante a usinagem, a localização da ferramenta de corte muda constantemente. Olhando para a posição de controle
tela de exibição, a localização atual da ferramenta pode ser facilmente visualizada a qualquer momento. Existem várias maneiras
de olhar para os dados exibidos, por exemplo, a visualização pode mostrar a posição absoluta atual de
a ferramenta (a partir do programa zero), ou a posição da máquina da ferramenta (a partir da máquina zero) - eles são
apenas duas opções possíveis. O sistema de controle mantém o controle de todos os dados da ferramenta relacionados à posição, chamados de

posição do eixo na informação. Eles são descritos neste capítulo.

Termos de Posição do Eixo

A Fanuc utiliza várias abreviaturas que aparecem no manual de referência. Eles devem ser fa miliar
para qualquer macroprogramador que trabalhe com posições de eixo. Eles fazem parecer um pouco na hora de namorar
primeiro, mas são lógicos e fáceis de se acostumar. Estas são as quatro variáveis que se relacionam com o eixo po -
informações da posição:

2 ABSIO ABSMT ABSOT ABSKP


em ABSIO Cota de ponto final programada do bloco anterior para o 1º ao 15º eixo
#5001 - #5015 respectivamente

u ABSMT Posição da máquina - sempre as coordenadas da máquina atuais


#5021 - #5035 para o 1º ao 15º eixo respectivamente

e ABSOLUTAMENTE Posição absoluta - sempre a posição absoluta atual para o 1º ao 15º eixo,
#5041 - #5055 respectivamente

u ABSKP Posição armazenada durante um movimento de salto de bloco no bloco G31


#5061 - #5075 para o 1º ao 15º eixo respectivamente

Além disso, existem dois conjuntos de variáveis de sistema relacionadas ao valor de ajuste do comprimento da ferramenta, e
O sistema servo é o leme.

A máquina armazenada e as coordenadas absolutas são as mesmas que durante uma operação regular do
Máquina cnc. Em macros, significa que não podemos registrar (armazenar) o valor da posição atual do eixo, até que o bloco
ativo tenha sido concluído. Isso é muito útil no modo de salto de bloco usando o G31
comando para sondagem, mas pode ser indesejável em muitos outros casos. A faixa de variáveis do sistema de
#5001 a #5015 armazena o ponto final programado (XYZ...) do último bloco antes da macro
declaração, mesmo que essas co ou di nações não tenham sido de fato alcançadas. Isso permite a execução e
cálculos a serem feitos antes do próximo bloco. A velocidade de processamento melhorada é o resultado.

O comando de salto de movimento G31 é descrito no final do Capítulo 23.

193

Copyright 2005, Industrial Press Inc., Nova York, NY - www.industrialpress.com


Machine Translated by Google Macros personalizadas CNC da FANUC

194 Capítulo 15

Informações de posição

As variáveis #5001 a #5115 são variáveis somente leitura e não podem ser escritas.

Variável Posição Coordenada Ferramenta


Operação de leitura
Número (1) Em formação Sistema Valor de compensação Durante o movimento

#5001 a #5015 Endpoint Deslocamento da

do bloco peça de trabalho Não incluso Habilitado

Ausência anterior (G54+)

#5021 a #5035 Sistema


Posição atual
de coordenadas
do eixo
ABSMT da máquina
Desabilitado
#5041 a #5055
Posição atual
Incluído
do eixo
ABSOLUTO Deslocamento da

peça de trabalho

#5061 a #5075 Pular a posição (G54+)


do sinal (2) Habilitado

ABSKP

Valor de

#5081 a #5095 correção da ferramenta

atual (3)
Desabilitado
Quantidade
#5101 a #5115 de posição do

servo desviada

( 1 ) Cada intervalo de números de variáveis é para 1 a 15 eixos. O primeiro número é para o eixo X, o
segundo número é para o eixo Y, o terceiro número é para o eixo Z, o quarto número é para o quarto
eixo e assim por diante até o 15º eixo possível.

( 2 ) Durante a execução da função de salto G31, a faixa de variáveis #5061 a #5075 mantém a posição da
ferramenta onde a função de salto está ligada. Se a função de pular não estiver ativada, esse intervalo de
variáveis mantém o ponto final do bloco especificado.

( 3 ) Observe que a faixa de valores de correção da ferramenta de #5081 a #5095 representa o valor de correção
da ferramenta atual , em vez do último valor.

( 4 ) A operação de leitura durante um movimento da ferramenta pode ser habilitada ou desabilitada.


No modo desabilitado, o buffer ocorre e os valores esperados não podem ser lidos.

Copyright 2005, Industrial Press Inc., Nova York, NY - www.industrialpress.com


Machine Translated by Google Macros personalizadas CNC da FANUC

16 OPERAÇÕES DO MODO AUTOMÁTICO

Durante a usinagem CNC no modo AUTO , o operador decide se e quando usar a var i -
sobre passeios disponíveis no painel de operação da máquina. Substituições incluem o passeio Feedrate Over,
Feedhold, Spindle Speed Over ride e Single Block. Com exceção da velocidade do fuso
Over ride, todas as outras funções podem ser controladas por macro e tornadas efetivas ou não efetivas. Em anúncio -
Além disso, a macro também pode controlar o modo Ex act Stop Check e alguns sinais de código de espera.

Controlando Operações Automáticas

As variáveis do sistema #3003, #3004 e #3005 são usadas para controlar o estado de várias máquinas automáticas
operações. Todas essas variáveis usam um binário para mat em diferentes combinações (0 ou 1 entradas). São -
dependendo dos requisitos reais de usinagem, essas configurações podem ser alteradas por uma série de variáveis do
sistema. Essas variáveis são:

#3003 Controle de bloco único, sinal de espera para sinal final (FIN)

#3004 Controle de feedhold, override de taxa de avanço, verificação de parada exata

#3005 Configurações (Configurações do sistema)

A configuração padrão para #3003 e #3004 é 0, significando que nenhum recurso está desabilitado.

Controle de bloco único


A variável do sistema #3003 é usada para o controle automático de operação da chave de bloco único.
O bloco único pode não ser desejável em certas operações de usinagem, por exemplo, em rosqueamento ou
toque em ping e algumas operações especiais.

A variável #3003 pode ter quatro ajustes, onde o ajuste 0 (zero) é o padrão quando o
A alimentação do chine e do controle está ligada (o mesmo que ativa ou habilitada):

Variável do sistema Bloco único Função MST


#3003 Modo Conclusão
0 Habilitado Aguarda a conclusão

1 Desabilitado Aguarda a conclusão

2 Habilitado Não espera a conclusão

3 Desabilitado Não espera a conclusão

195

Copyright 2005, Industrial Press Inc., Nova York, NY - www.industrialpress.com


Machine Translated by Google Macros personalizadas CNC da FANUC

196 Capítulo 16

O modo de bloco único pode ser habilitado ou desabilitado usando esta variável de sistema em uma macro. Se o bloco único
for desabilitado usando a variável #3003, a configuração do painel de controle da máquina da chave de bloco único não tem efeito
no resultado. A operação de bloco único da máquina será desativada independentemente de o interruptor de bloco único estar
LIGADO ou DESLIGADO (recomenda-se a posição DESLIGADA).
Pressionar o botão RESET ou o interruptor Power Off também limpa as variáveis do sistema #3003-#3004.

Controle de funções do MST

Outra característica da variável #3003 trata da conclusão de uma função auxiliar quando utilizada em um único bloco,
principalmente os códigos M (funções diversas). Existem três funções auxiliares disponíveis nos sistemas CNC da Fanuc, dez
delas chamadas de funções MST ou MST:

FUNÇÕES DIVERSAS - também conhecidas como códigos M (mais comuns) ...


M
programadas com o endereço M - por exemplo: M08

FUNÇÕES DO FUSO - também conhecidas como códigos S


S
... programado com o endereço S - por exemplo: S1250

FUNÇÕES DA FERRAMENTA - também conhecidas como códigos T


T
... programado com o endereço T - por exemplo: T05 para fresamento ou T0202 para torneamento

2 Se a conclusão do MST estiver definida como 'Aguardar conclusão':

O próximo bloco do programa não será executado até que a


função MST iniciada seja concluída

2 Se a conclusão do MST estiver definida como 'Não espere pela conclusão':

O próximo bloco do programa será executado sem esperar


pela função MST iniciada .

Por exemplo, se a variável do sistema #3003 estiver definida para um (1), isso significa que o modo de bloco único está
desabilitado e as funções MST pendentes devem ser totalmente concluídas, antes da próxima bloco é executado. Este é um modo
típico do ciclo de perfuração G81 integrado. Nenhuma função MST adicional deve ser programada a menos que o bloco anterior
tenha sido concluído. A variável #3003 é projetada para tais situações. A entrada macro é simples - observe que o modo requerido
deve sempre ser programado em pares - ON/ OFF ou OFF/ ON. A configuração equivalente do G81 será:

O8019
#3003 = 1 Desabilite o bloco único, aguarde a conclusão das funções do MST
...
< ... movimentos da ferramenta ... >

...
#3003 = 0 Ative o bloco único, aguarde a conclusão das funções do MST
M99
%

Copyright 2005, Industrial Press Inc., Nova York, NY - www.industrialpress.com


Machine Translated by Google Macros personalizadas CNC da FANUC

OPERAÇÕES DO MODO AUTOMÁTICO 197

A maioria dos tornos CNC pode se beneficiar dessas funções um pouco mais do que centros de usinagem.

Independentemente da aplicação (fresamento ou torneamento), um lembrete importante:

Tenha cuidado ao ativar o estado das funções do MST!

Feedhold, Feedrate e Controle de Verificação Exata

A variável de sistema #3004 é semelhante à #3003, mas é usada para controle de operação automático de

o interruptor de alimentação, o interruptor de velocidade de avanço e o controle de verificação de parada exata. Esta variável

pode ter até oito ajustes, sendo o ajuste 0 (zero) o padrão para todas as três funções, quando

a máquina e a alimentação de controle estão ligadas. O ajuste do zero significa que a função está ativa. Pressionando

o botão RESET ou Power Off apagará ambas as variáveis do sistema #3004 e #3003.

Variável do sistema Taxa de alimentação


Parada exata
Fonte
#3004 Sobrepor Verificar

0 Habilitado Habilitado Habilitado

1 Desabilitado Habilitado Habilitado

2 Habilitado Desabilitado Habilitado

3 Desabilitado Desabilitado Habilitado

4 Habilitado Habilitado Desabilitado

5 Desabilitado Habilitado Desabilitado

6 Habilitado Desabilitado Desabilitado

7 Desabilitado Desabilitado Desabilitado

A variável #3004 controla três estados de operação:

o Fonte de alimentação

o Avanço sobre passeio

o Modo de verificação de parada exata

Certifique-se de entender como essas operações funcionam antes de tentar usá-las em macros.

u Estado de Operação 1 - FEEDHOLD

Quando o feedhold está desabilitado em uma macro, usando a variável #3004, e o botão feedhold

no painel de controle é pressionado, a máquina para no modo de bloco único. Se o sistema -

Se a variável #3003 (descrito anteriormente) tiver desabilitado o modo de bloco único, não haverá operação de modo de bloco único disponível.

Copyright 2005, Industrial Press Inc., Nova York, NY - www.industrialpress.com


Machine Translated by Google Macros personalizadas CNC da FANUC

198 Capítulo 16

u Estado de Operação 2 - SUBSTITUIÇÃO DE ALIMENTAÇÃO

Quando o feedrate over ride é desabilitado em uma macro, usando a variável #3004, toda a usinagem será feita com
100% de avanço, menos do ajuste do feedrate over ride no operador um painel de ção. O avanço de 100% é definido
como o valor do avanço especificado no programa ou macro CNC, usando o endereço F e aplica-se igualmente ao avanço
por minuto e ao avanço por rotação.
Funciona da mesma forma para unidades inglesas e métricas de dados de taxa de alimentação em entrada.

u Estado de Operação 3 - VERIFICAÇÃO DE PARADA EXATA

Quando a verificação de parada ex ato é desabilitada em uma macro, usando a variável #3004, não haverá verificação
de parada ex ato realizada, mesmo em blocos sem movimento de corte. A verificação de parada exata fornece meios
especiais para verificar uma posição da ferramenta com os comandos de programa G09 (blocos não modais) ou G61
(blocos modais). Este estado não está disponível no Fanuc 0.

Exemplo de operação de toque especial

No Capítulo 8 (macro O8004) introduzimos uma macro de tap ping especial (ou uma macro de tap ping como um ciclo).
Embora correto em princípio, não fornecia recursos de segurança integrados. A macro exigia que, quando processada
pelo sistema de controle, todos os passeios fossem configurados para 100%. Este requisito é difícil de manter e sérios
problemas de usinagem podem ocorrer. O uso de vários modos das configurações de variáveis desabilitará o feedhold, o
feedrate over ride e os modos de bloco único. Se a verificação de parada exata não deve ser desabilitada, as definições
macro das duas variáveis serão #3003=1 e #3004=3. Se a verificação de parada exata deve ser desabilitada, as definições
macro das duas variáveis serão #3003=1 e #3004=7. Consulte a tabela acima para obter detalhes.

Como as variáveis de sistema #3003 e #3004 são muitas vezes usadas para ciclos especiais, por exemplo, um ciclo
personalizado para tap ping (descrito posteriormente no manual). Neste exemplo de macro, queremos simular o efeito do
ciclo fixo G84 , exceto que o avanço de corte na entrada será 80% do avanço dado e na saída 120% do o avanço dado. A
macro de toque será chamada no local atual da ferramenta X e Y.

u Chamada de macro (em unidades inglesas):

Primeiramente, o bloco G65 deve ser definido com todos os ar gumentos necessários e suas atribuições:

G65 P8020 R0.35 Z1.15 S750 T36

+ onde…

R = (#18) equivalente de folga no nível R


Z = (#26) Z-profundidade
S = (#19) Velocidade do fuso (r/min)
T = (#20) Número de roscas por polegada (TPI)

Outros argumentos poderiam ser adicionados, por exemplo, cálculo da profundidade de rosqueamento, cálculo
automático da folga superior (conhecido como nível R no ciclo G84 ), etc. .Para os propósitos do assunto apresentado,
não há benefício em complicar a macro. Z0 da peça é a face superior - observe o valor positivo da profundidade Z (forçado
como negativo na macro).

Copyright 2005, Industrial Press Inc., Nova York, NY - www.industrialpress.com


Machine Translated by Google Macros personalizadas CNC da FANUC

OPERAÇÕES DO MODO AUTOMÁTICO 199

u Design especial de macro de rosqueamento:

O8020 (MACRO ESPECIAL DE TORNAGEM)


#3003 = 1 Desativar configuração de bloco único
G00 Z[ABS[#18]] S#19 M03 Nível R rápido para positivo + rotação do fuso
#3004 = 7 Desabilite o avanço, override da velocidade de avanço e verificação de parada exata

G01 Z-[ABS[#26]] F[#19/#20*0.8] M05 Avanço em profundidade a 80% do avanço - pare o fuso
Z#18 F[#19/#20*1.2] M04 Retroalimentação ao nível R com velocidade de avanço de 120% - fuso reverso
#3004 = 0 Ativar feedhold, override da velocidade de avanço e verificação de parada exata
M05 Parar o fuso
M03 Restaurar a rotação normal do fuso
#3003 = 0 Ativar configuração de bloco único
M99 Fim da macro
%

Observe que ambas as variáveis #3003 e #3004 são usadas duas vezes. Isto é importante - se um particular
o estado de uma configuração é alterado apenas para a macro, ele deve ser alterado de volta quando a macro for extinta.
Embora alguns centros de usinagem não exijam parar o fuso entre M03 e M04 ou
M04 e M03, é uma prática segura usar o M05 na macro de qualquer maneira - isso economiza o fuso.

Configurações do sistema

Configurações do sistema - representadas pela última variável #3005 nesta série - em relação ao valor atual -
s de certas configurações básicas do sistema. A variável do sistema #3005 pode não estar disponível no Fanuc
com trolls 11/10/15.

As configurações típicas do sistema incluem:

o Compatibilidade entre controles (por exemplo FS-15 vs. FS-16/18/21)

o Inserção automática de números de bloco (números de sequência - usando o endereço N)

o Entrada inglesa ou métrica de valores dimensionais (usando G20 e G21 , respectivamente)

o Seleção do modo EIA ou ISO para o código de saída

o Verificação de TV (Teste Vertical) realizada ou não realizada

- a verificação de TV é aplicada apenas a equipamentos de fita perfurada

Os valores binários são automaticamente convertidos em valores decimais.

Verificação do status da imagem espelhada

A imagem espelhada é geralmente um recurso básico da maioria dos centros de usinagem CNC e até mesmo de alguns centros de usinagem CNC.

tornos. Seu objetivo principal é inverter o sinal direcional do eixo especificado, seja o eixo X,
o eixo Y, ou ambos os eixos XY em centros de usinagem CNC, e o eixo X em tornos CNC. Em anúncio -
ção, a inversão do eixo pode causar não apenas a mudança na direção do movimento do eixo, mas também a
mudança na direção do arco (CW vs. CCW) e o ajuste do raio de corte. É o corte ter ra dius off -
conjunto que é mais crítico, não os outros recursos. A usinabilidade da peça (fresamento trepador vs. fresamento convencional )
também pode ser afetada.

Copyright 2005, Industrial Press Inc., Nova York, NY - www.industrialpress.com


Machine Translated by Google Macros personalizadas CNC da FANUC

200 Capítulo 16

Nas macros, o status da imagem do espelho pode ser monitorado para cada eixo individualmente. este
recurso de macro é chamado de sinal de verificação de imagem espelhada. A qualquer momento durante o processamento do macro,
a macro pode indagar sobre o status da configuração atual da imagem do espelho. O resultado da
em consulta é um valor binário recebido e convertido em um formato decimal.

Na maioria dos controles do Fanuc, a variável de sistema que armazena a informação espelhada relacionada é
#3007 (tipo de bit ) - observe os detalhes das avaliações de bits:

8º eixo 7º eixo 6º eixo 5º eixo 4º eixo 3º eixo 2º eixo 1º eixo

27 26 25 24 23 22 21 20

128 64 32 16 8 4 2 1

Este status típico mostra até oito eixos. Na prática, porém, apenas os dois primeiros eixos
muito usado na maioria das dez - o eixo X e o eixo Y (geralmente o 1º e o 2º eixo) em um centro de usinagem CNC.
Alguns controles mais antigos podem ter menos de oito eixos disponíveis sob a variável
#3007. A primeira linha da tabela é a descrição do eixo, a segunda linha é a identificação do eixo - a terceira linha contém
o equivalente binário de cada bit (lembre-se - 'binário' significa 'baseado em apenas duas seleções', e a contagem começa
do zero, não do um, para a esquerda).

Em cada bit disponível, o ajuste pode ser 0 ou 1, dependendo se a imagem do espelho é


atualmente incapacitado ou habilitado:

u 0 = A função de imagem espelhada para o eixo selecionado está desabilitada

u 1 = A função de imagem espelhada para o eixo selecionado está habilitada

A variável #3007 não pode ser gravada - é uma variável somente leitura

Como é habitual neste tipo de variáveis, é a soma lógica do estado actual (soma de bits) que de -
termina o estado de todos os eixos, portanto o valor de retorno da variável do sistema #3007. Lá -
valor de giro da variável #3007 será a soma de todos os bits; é importante saber interpretar
este valor retornado corretamente. Aliás, essa 'soma de bits' é bastante comum na programação,
e requer pelo menos o conhecimento básico do sistema de números binários (ver Capítulo 4).

Interpretando a Variável de Sistema #3007


Por exemplo, será utilizada a configuração de imagem espelhada comum em aplicações de oficina mecânica.
Esta configuração aplica-se apenas aos dois primeiros eixos (tipicamente o eixo X e o eixo Y) de um típico
Centro de usinagem CNC. Para descobrir qual é o status da configuração de imagem do espelho atual, avalie
o exemplo a seguir - lê-lo duas vezes pode ajudar:

Copyright 2005, Industrial Press Inc., Nova York, NY - www.industrialpress.com


Machine Translated by Google Macros personalizadas CNC da FANUC

OPERAÇÕES DO MODO AUTOMÁTICO 201

2 Exemplo - #3007 lê 3 - A imagem espelhada ativa está nos eixos X e Y


Por quê? Quando a variável do sistema #3007 é igual a 3 (o valor retornado é #3007 = 3), a corrente
eixos espelhados são os dois primeiros eixos no gráfico, o eixo X e o eixo Y. Isso vem
só pode ser conhecido pela interpretação do valor retornado, armazenado na variável do sistema #3007.
Para interpretar o valor retornado, siga um pequeno procedimento passo a passo. O primeiro passo é
subtraia o maior valor de bit possível do valor armazenado na variável #3007 . Nesta parte você -
Nesse caso, o maior valor de bit que pode ser subtraído de 3 é 2. O número 2 é definido como o
eixo Y, então o eixo Y está atualmente espelhado. O passo dois é subtrair o novo valor (calculado
como 2 no exemplo) do valor da variável #3007 (= 3 no exemplo):

3-2=1

Como o número 1 resultante está relacionado ao eixo X, isso significa que o eixo X também é espelhado.
Mas - ainda há o passo três a fazer - para ver o que todos os outros eixos estão lá para calcular. Levar a
resultando num número que é 1, e subtraia um dele, 1 - 1 = 0, então não há mais eixos para con -
sider. Na avaliação final, se #3007=3, ambos os eixos são espelhados. O mesmo método pode ser
mostrado em três etapas simplificadas:

o Dado: #3007 = 3 O maior valor de bit que pode ser subtraído de 3 é 2


o Etapa 1 . o . . . . . . . . . . O número 2 é definido como o eixo Y, então o eixo Y é espelhado
Etapa 2: o 3-2=1 O número 1 é definido como o eixo X, então o eixo X é espelhado
Etapa 3: 1-1=0 Nenhum outro eixo é espelhado

2 Exemplo - #3007 lê 2 - A imagem espelhada ativa está apenas no eixo Y


Neste caso, a variável de sistema #3007 é igual a 2 (o valor retornado é #3007 = 2), a corrente
eixo espelhado é o eixo Y. A interpretação é a mesma que antes:

o Dado: #3007 = 2 O maior valor de bit que pode ser subtraído de 2 é 2


o Etapa 1 . o . . . . . . . . . . O número 2 é definido como o eixo Y, então o eixo Y é espelhado
Etapa 2: 2-2=0 Nenhum outro eixo é espelhado

2 Exemplo - #3007 lê 1 - A imagem espelhada ativa está no eixo X


Neste último caso, a variável do sistema #3007 é igual a 1 (o valor retornado é #3007 = 1), o
o eixo atualmente espelhado é o eixo X. A interpretação é a mesma que antes:

o Dado: #3007 = 1 O maior valor de bit que pode ser subtraído de 1 é 1


o Etapa 1 . o . . . . . . . . . . O número 1 é definido como o eixo X, então o eixo X é espelhado
Etapa 2 1-1=0 Nenhum outro eixo é espelhado

Se #3007 = 0, não há eixos espelhados. A partir desses exemplos e com um pouco


conhecimento de números binários, não deve haver problema em 'ler' - interpretar - outros retornados
valores da variável do sistema #3007.

Copyright 2005, Industrial Press Inc., Nova York, NY - www.industrialpress.com


Machine Translated by Google Macros personalizadas CNC da FANUC

202 Capítulo 16

Controlando o número de peças usinadas

Há mais duas variáveis de sistema relacionadas à operação do modo automático. Duas variáveis de sistema,
#3901 e #3902 controlam a contagem de peças usinadas durante uma operação automática.

Eles são:

#3901 Número de peças concluídas (usinadas)

#3902 Número de peças necessárias

A variável do sistema #3901 é usada para o número de peças usinadas. O valor desta variável
armazena o número de peças completas.

A variável do sistema #3902 é usada para o número de peças necessárias. O valor desta variável
armazena o número de peças necessárias (o tar get number).

Ambas as variáveis podem ser usadas para escrever ou ler (tipo leitura/gravação). Um valor negativo deve
não deve ser usado com essas variáveis em mac ros (considerando a função ABS ).

Copyright 2005, Industrial Press Inc., Nova York, NY - www.industrialpress.com


Machine Translated by Google Macros personalizadas CNC da FANUC

17 EDIÇÃO DE MACROS

Arquivos de macro personalizados são frequentemente carregados de um computador externo para a memória do sistema CNC.
Mac ros longos ou complexos são melhor editados no arquivo do computador e recarregados no sistema de
controle posteriormente. Há também muitos casos em que este método pode não ser conveniente, por
exemplo, quando as macros são muito curtas ou ao editar macros existentes, já carregadas no sistema.
Nesses casos, as macros também podem ser inseridas através do teclado do painel de controle, diretamente
na máquina CNC. Não há muita diferença em editar macros do que editar programas CNC convencionais -
eles são editados por palavras; por exemplo, para mudar a palavra X-123.456 para X123.456, a palavra
inteira deve ser alterada (edição de caracteres individuais normalmente não é possível na maioria dos
controles). Macroprogramas são inseridos e/ou editados por unidades especiais.

Unidades de edição

Uma macro que foi armazenada na memória de controle pode ser editada movendo o cursor para qualquer
unidade de edição que começa com o seguinte caractere ou símbolo:

u Endereço (caractere alfa de uma palavra, por exemplo X, Y, Z)

u Símbolo numérico # no lado esquerdo do sinal =

u Primeiro caractere de IF, WHILE, GOTO, END, DO, POPEN,


BPRNT, DPRNT e PCLOS

u Símbolos /, (, =, e ;

Comentários do programa

Em um programa, comentários, mensagens e indicadores de alarme direcionados ao operador da máquina


são colocados dentro do corpo do programa, usando parênteses (não colchetes). Por exemplo, uma
mensagem para o operador usada com a função diversa M00 pode ser:

N34 M00 (VERIFICAR A PROFUNDIDADE DO BOLSO)

Um exemplo de alarme gerado pelo usuário pode ser

N1001 #3000 = 118 (RAIO MUITO GRANDE)

Ao digitar um comentário ou uma mensagem do teclado de controle, procure por dois caracteres.
O caractere de controle '(' e o caractere de controle ')' devem estar disponíveis no teclado.

203

Copyright 2005, Industrial Press Inc., Nova York, NY - www.industrialpress.com


Machine Translated by Google Macros personalizadas CNC da FANUC

204 Capítulo 17

Nem todos os modelos Fanuc possuem esses caracteres no teclado. Por exemplo, alguns tipos anteriores

do Fanuc 16 não tem os dois caracteres no teclado, mas tem disponível como softkey

seleção. Se o sistema de controle permitir o uso de mensagens de qualquer tipo, pode ser conveniente

digite-os (com o resto do programa) em um computador externo e carregue-os através de um cabo de

o computador para a unidade CNC.

Abreviaturas de Funções Macro

Muitas funções macro são palavras especiais (chamadas funções) com mais de dois ou três caracteres.

ter. Durante a introdução desses caracteres no teclado, é necessário tempo extra para inserir todo o

palavras com vários caracteres, de dez com o uso frequente da tecla Shift . Fanuc oferece um jogo de dois caracteres

atalhos para a maioria das funções disponíveis para acelerar a entrada manual do teclado. Este atalho

pode ser usado para inserir novas palavras ou alterar palavras existentes:

Macro Editando Macro Editando Macro Editando


Função Atalho Função Atalho Função Atalho

abdômen AB BPRNT PA PCLOS computador

ACOS* CA COS CO ABRIR DEPOIS

*
ADP DE ANÚNCIOS DPRNT PD REDONDO RO

E UM FIM DENTRO PECADO E

*
SAL * COMO EXP EX SQRT SQ

NUMA NO FIXAR SER ENQUANTO WH

BCD BC FUP FU BRONZEADO POR

BIN COM UM VÁ PARA VAI GRATUITAMENTE XO

As funções identificadas com (*) não estão disponíveis nos controles do modelo Fanuc 0/16/18/21. Um ab-

atalhos curtos da função macro serão totalmente exibidos na tela de controle. A seguir -

EXEMPLOS COMPARANDO OS DOIS MÉTODOS DE ABREVIATURAS DE MAROCRA VAS:

o Exemplo de entrada de comprimento abreviado:

WH[AB[#1] LE RO[#2]] Formato de entrada abreviado

o Exemplo de entrada de comprimento total - a entrada abreviada acima é a mesma que a entrada completa abaixo:

WHILE[ABS[#1] LE ROUND[#2]] Formato de entrada completo

Copyright 2005, Industrial Press Inc., Nova York, NY - www.industrialpress.com


Machine Translated by Google Macros personalizadas CNC da FANUC

18 PROGRAMAÇÃO PARAMÉTRICA

Este capítulo apresenta o básico e a parte chave do manual - ele apresenta vários recursos de controle do Fanuc que se
relacionam com usos práticos de macros em uma oficina de máquinas típicas en vi mento. Também cobre os benefícios que
podem ser esperados. Os capítulos anteriores já forneceram muitas 'ferramentas de ofício' necessárias. Isso não significa que não
existam mais 'ferramentas' disponíveis - pelo contrário - mas já foram apresentadas 'ferramentas' suficientes para poder
desenvolver algumas macros reais que podem ser usadas no dia a dia. Antes de discutir o desenvolvimento real, alguns
antecedentes devem ajudar.

O que é uma Programação Paramétrica?

Desde os tempos da programação NC e CNC baseada em linguagem, foi promovida a abordagem paramétrica para o
desenvolvimento de programas. Os requisitos eram bastante dispendiosos, pois o usuário precisava ter um computador main
frame poderoso (geralmente alugado mensalmente) e um software igualmente poderoso. Não é preciso dizer que o alto custo do
próprio navio, várias taxas de tempo de linha e até mesmo os custos de aluguel foram os dissuasores. Hoje, o único computador
que é necessário é o sistema CNC na máquina-ferramenta, equipado com a opção Fanuc Custom Macro , relativamente cara. Um
computador pessoal ou um laptop ajudam como conveniência, mas não são absolutamente obrigatórios.

A Programação Paramétrica também é chamada de Programação Família de Peças. Como o nome sugere, um grupo de peças
semelhantes, pertencentes à mesma família, pode ser programado usando dados variáveis - em vez de dados dimensionais e de
usinagem específicos. Nesse tipo de programação, as decisões são incluídas no programa, com base nos dados fornecidos, e
obedecendo a certas restrições. É claro que são necessárias ferramentas de programação muito mais fortes do que as disponíveis
para programação CNC padrão. Mac ros fornecem essas ferramentas. Um programa paramétrico é sempre uma macro, mas uma
macro não precisa ser um programa paramétrico no sentido de família de partes semelhantes.

Os próximos dois capítulos fornecerão detalhes sobre o desenvolvimento real de macros para uma família de partes semelhantes
e uma família de operações semelhantes.

Dados variáveis

Que dados podem ser do tipo variável? Praticamente qualquer dado no programa pode ser variável. Tipicamente, as condições
de usinagem são alteradas por diferentes materiais (macios ou duros), tipos de material da ferramenta de corte (HSS ou carbide),
máquina-ferramenta usada (construída pesada ou construção leve), dados dimensionais, requisitos de acabamento de superfície,
tolerâncias e assim por diante. Profundidade de corte, largura de corte, número de cortes, velocidade do fuso, avanço, etc., eles
também podem mudar, enquanto os recursos fundamen- tais não.

Em um nível muito simples, tome uma forma retangular que deve ser usinada em um certo comprimento e largura. Essas duas
feições dimensionais são feições variáveis , se muitos retângulos tiverem que ser usinados. Fazer um programa de separação
para cada desenho de retângulo é a maneira tradicional. Fazer uma macro que faça qualquer retângulo é a maneira mais eficiente,
a maneira macro. Ao substituir as variáveis de comprimento e largura, o programa 'novo' pode ser usado. Os benefícios estão
ficando claros rapidamente.

205

Copyright 2005, Industrial Press Inc., Nova York, NY - www.industrialpress.com


Machine Translated by Google Macros personalizadas CNC da FANUC

206 Capítulo 18

Benefícios da programação paramétrica

O retorno rápido na produção é o benefício mais significativo da família de macros de peças. Muitas vezes é
necessário mais tempo para desenvolver uma macro do que um programa padrão, mas desta vez é um excelente
investimento, especialmente se a macro for usada por dez. Conhecer os benefícios da programação paramétrica
das ofertas contribui para uma melhor decisão de quando desenvolver um programa paramétrico e quando um
programa padrão é mais adequado. Benefícios da programação paramétrica nestas melhorias:

u Benefícios gerais

o Rápido retorno entre as peças o Tempo

reduzido para verificação do programa o Melhoria da

qualidade do produto o Diminuição dos custos gerais

de produção

No vídeo, os benefícios podem ser ainda identificados nas áreas de produção e programação :

u Benefícios na área de produção:

o Redução de peças de sucata o

Aumento da qualidade da peça usinada o Custo de

ferramental reduzido devido ao ferramental padronizado o Aumento

da produtividade da máquina CNC

o Menores custos de manutenção

u Benefícios na área de programação:

o Redução drástica do tempo de programação o Erros

de programação reduzidos ou eliminados o Consistência para

todas as peças semelhantes

o Transição de carga de trabalho mais fácil

Para se beneficiar da abordagem paramétrica à programação, o primeiro passo é identificar


peças adequadas. Nem todo trabalho de programação é adequado para o investimento adicional em tempo.

Quando programar parametricamente


As várias áreas já mencionadas também são muito importantes para determinar se o para-
a programação métrica trará benefícios ou não:

o Grande número de peças que são iguais em forma, mas diferentes em dimensões o Grande número

de peças que são semelhantes em forma o Peças que se repetem com bastante frequência o Peças

que contêm caminhos de ferramenta repetitivos o Vários padrões de usinagem

A paramétrica de programação nunca substitui outros métodos - apenas os aprimora.


Pode haver um investimento significativo no tempo gasto no desenvolvimento de macroprogramas paramétricos.
Os benefícios resultantes devem ser tangíveis e mensuráveis, para serem economicamente eficientes.

Copyright 2005, Industrial Press Inc., Nova York, NY - www.industrialpress.com


Machine Translated by Google Macros personalizadas CNC da FANUC

PROGRAMAÇÃO PARAMÉTRICA 207

Abordagem Planejada para o Desenvolvimento Macro

Quando se trata de escrever um programa paramétrico, ou qualquer outra macro, há muitas preferências pessoais que os
programadores podem escolher. As macros são geralmente escritas por programadores experientes, que já desenvolveram um
certo estilo de programação. No entanto, algumas técnicas provaram funcionar bem para a maioria dos programadores. A primeira
consideração, e também a mais importante, é ter um objetivo – um propósito. Que objetivos a macro deve alcançar?

Seguir este capítulo é um exemplo prático simples, mas bastante abrangente de uma abordagem planejada para o
macrodesenvolvimento para família de peças. As técnicas e considerações desta seção serão aplicadas ao exemplo prático a
seguir. É importante entendê-los bem. A lista apresentada é apenas uma sugestão - seu objetivo é oferecer orientação em todas
as etapas do desenvolvimento de uma macro de sucesso. O exemplo prático usará muitas dessas sugestões.

1. PRIMEIRA TABELA DE ESTES OBJETIVOS PRINCIPAIS

Muitos programadores podem ser um pouco ambiciosos demais e tentar definir o objetivo muito alto e querer que uma única
macro faça demais. Isso pode ser um erro muito grave. Decida o que a macro deve fazer, avalie outras possibilidades, descarte o
que é impraticável e adira aqui a esse objetivo. De dez, dois mac ros pequenos são melhores do que uma macro grande.

2. PLANEJE COM ANTECEDÊNCIA

Um bom planejamento é a chave para o sucesso. Comece com o desenho primeiro e, para programas paramétricos, estude
vários desenhos semelhantes. Identifique os recursos que nunca mudam e os que podem mudar. Não pegue o material da peça,
os métodos de setup, a máquina utilizada e as ferramentas.
Tente prever quais recursos podem existir em desenhos semelhantes no futuro. Sempre pense no futuro e avalie o máximo de
opções possível. Peça uma opinião às pessoas certas. Mesmo com um objetivo bem estabelecido, um planejamento ruim resultará
em um macro pobre - estabeleça critérios rígidos.

3. FAÇA UM ESBOÇO GENÉRICO

Ver para crer - desenhe um esboço esquemático que mostre todos os recursos da macro planejada. Use detalhes, se
necessário, e estabeleça locais críticos, como o zero do programa, limpeza, ponto inicial da ferramenta, deslocamentos, ponto de
troca de ferramenta (se necessário), etc. a macro requer o uso de uma fórmula matemática, incluir a fórmula genérica no esboço
e testar a fórmula em todos os recursos típicos. Tal esboço de trabalho, com ou sem cálculos, deve sempre ser mantido atualizado
e arquivado para referência futura.

4. DECIDE SOBRE O MÉTODO DO CAMINHO DA FERRAMENTA

Decida o método de como a ferramenta irá abordar o material, cortar o material e partir do material. Pense na parte atual, bem
como nas partes futuras. Uma ferramenta pode ser usada ou mais ferramentas são necessárias? O percurso pode ser uniforme?
O ponto de partida está em um local seguro?
Que tal calcular a profundidade, largura, quantidade de passagem, número de passes, folga de penetração, desbaste e
acabamento, e dezenas de outras considerações? Colete todas as informações que podem ser coletadas, incluindo condições de
usinagem, como velocidades de fuso e velocidades de avanço. Tenha em mente que quanto mais dados variáveis forem incluídos,
mais poderoso será o programa paramétrico ou a macro. Do lado negativo, levará mais tempo para desenvolver e verificar tal
programa.

Copyright 2005, Industrial Press Inc., Nova York, NY - www.industrialpress.com


Machine Translated by Google Macros personalizadas CNC da FANUC

208 Capítulo 18

5. IDENTIFICAR E ORGANIZAR DADOS VARIÁVEIS

Uma vez coletada a informação, identifique e or ganize os dados em unidades coerentes. Decida quais
variáveis locais terão que ser definidas como argumentos no bloco de comando G65 . Não inclua dados que
possam ser calculados. Inclua dados que possam ser lidos do desenho, mesmo que não sejam necessários
diretamente. Por exemplo, macro pode precisar de um raio de círculo para cálculo, mas o desenho especifica
um diâmetro. Em vez de pedir o raio colocado como argumento, forneça o diâmetro e divida-o por dois no corpo
macro. Observe entradas que exijam ponto decimal e/ou valores negativos. Use variáveis relevantes e
mnemônicas como sinais se possível, por exemplo A (#1) para um ângulo de entrada, R (#18) para um raio de
entrada, e assim por diante. Isso nem sempre é possível, mas alguns são melhores do que nenhum. Sempre
documente o significado de todas as variáveis - fácil de obter mais tarde!

6. DESENHE O FLUXO DO PROGRAMA

Um fluxograma ajuda definitivamente nesta fase do macrodesenvolvimento. Muitos programadores consideram


o desenvolvimento do fluxograma uma etapa obrigatória, mesmo insistindo nele. Todos os auxílios de
programação disponíveis em uma macro, como looping, teste condicional, ramificação, tomada de decisão, etc.,
podem ser representados graficamente em um fluxograma. Uma vez que o fluxograma é projetado, teste-o
várias vezes, usando diferentes condições de entrada e decisões. A macro deve funcionar em todas as
instâncias. Não tenha medo de testar condições aparentemente impossíveis ou improváveis. Quando a lógica
do fluxograma falha e o fluxograma está correto, a macro precisa ser redesenhada e testada novamente, sempre do zero!
Com mais experiência, uma outra maneira de projetar um fluxo de programa suave é estabelecer o chamado
pseudocódigo, que é um método comum por muitos programadores de software. O pseudocódigo é um
procedimento muito rígido e detalhado, escrito em linguagem normal, que lista sequencialmente cada passo e
todos os passos do que deve ser feito. Não é um método tão conveniente quanto um fluxograma, mas funciona.

7. NÃO CONTE COM INADIMPLÊNCIA

Na programação CNC padrão, muitos programadores contam com as falhas do sistema de controle e não
incluem muitos códigos de programa, principalmente os códigos G preparatórios. Por exemplo, contam com o
sistema de unidades padrão e não incluem os comandos G20 ou G21 no programa.
O mesmo pode se aplicar aos comandos G90 ou G91 , e vários outros. Nas macros, tenha sempre em mente
que todas as decisões devem ser refletidas na macro - nunca tome nada como garantido e nunca conte com
falhas do sistema.

8. ESCREVA O PROGRAMA DE MACRO

Este é o estágio que coloca o código da macro no papel, no controle ou no arquivo do computador. Seu
objetivo é desenvolver o programa real. Os dados do fluxograma ou do pseudocódigo são usados, na mesma
ordem, com a mesma lógica, e convertidos no código da macro Fanuc. É importante documentar todas as
macros - boa documen tação não é suficiente - apenas uma documentação de primeira classe serve.
Documentar a macro não se destina apenas ao operador do CNC, é um documento permanente disponível para
qualquer programador que venha a trabalhar com a macro. O procedimento que está claro hoje desaparecerá
em muito pouco tempo. A documentação pode ser interna, na forma de comentário de cada bloco, ou externa,
com descrições em linguagem simples. Igualmente importante, na verdade muito imperativo, é preservar todas
as configurações atuais do programa antes que uma macro seja executada, alterar as configurações dentro da
macro conforme necessário e restaurar o original. configurações finais antes da macro existir. Esta abordagem
é um sinal de profissionalismo e faz também um sentido perfeito e prático.

Copyright 2005, Industrial Press Inc., Nova York, NY - www.industrialpress.com


Machine Translated by Google Macros personalizadas CNC da FANUC

19 FAMÍLIA DE PEÇAS SEMELHANTES

O capítulo anterior estabeleceu as bases da programação paramétrica em geral - este capítulo apresenta
uma aplicação prática completa - um macrodesenvolvimento real para uma família típica de partes semelhantes.
O próximo capítulo se baseará no mesmo conceito e oferecerá alguns lugares de macrodesenvolvimento para
uma família de operações de usinagem semelhantes.

Desenvolvimento de macro em profundidade - Pin de localização

Esta seção pode muito bem ser um dos assuntos mais importantes a serem estudados, pois abrange o
macrodesenvolvimento de maneira abrangente. O projeto no exemplo é chamado de pino de localização e é
projetado para um torno CNC. A lógica e os procedimentos apresentados aqui se aplicam igualmente a ambos
os tipos de máquinas, assim como muitos recursos macro. Como é padrão na programação CNC, o desenho
de engenharia fornecido constitui o primeiro elemento do processo. Neste exemplo, todas as partes da série
são listadas em um único desenho, de modo que o desenho em si é paramétrico. Em outros casos, o
programador precisa obter as informações de vários desenhos individuais.

A Figura 27 mostra os dados dos pinos fornecidos ao programador. O primeiro passo é estudar e avaliar u -
comeu o desenho e as informações nele fornecidas.

UMA
MATERIAL: AÇO 1020
Ø50 mm BARRA
1x45°
R
R2
Pin ABCDR
001 23 44 24 46 3 002 25 46
28 48 2
003 19 45 21 47 4 004 16 40
D C
25 49 3

PIN DE LOCALIZAÇÃO

Figura 27

PIN DE LOCALIZAÇÃO - desenho utilizado para ilustrar o desenvolvimento de uma macro típica para família de peças semelhantes

209

Copyright 2005, Industrial Press Inc., Nova York, NY - www.industrialpress.com


Machine Translated by Google Macros personalizadas CNC da FANUC

210 Capítulo 19

Avaliação do Desenho
Mesmo um olhar casual para o desenho revela que este não é um desenho de uma única parte. Há quatro pinos
necessários para serem usinados (e programados). Todas as dimensões são dadas, assim como o material. O designer
desta peça escolheu um desenho genérico em vez de quatro desenhos individuais. Em certo sentido, o projetista
abordou o projeto como uma família de peças - o mesmo que o programador fará. Todos os quatro pinos são
semelhantes - eles compartilham vários caracteres. Ao todo, há sete dimensões especificadas. Duas dessas dimensões
são fixas, as outras cinco são variáveis. Todas as dimensões fornecidas estão corretas e farão a peça conforme
mostrado. Por exemplo, sempre haverá um ombro plano entre os dois raios. Esta e outras observações semelhantes
são muito importantes para serem descobertas antes mesmo de a macro ser iniciada.

Objetivo da Macro
O objetivo mais importante da macro é projetá-la de tal forma que todos os quatro pinos da série (e possivelmente
outros) possam usar um programa de parte única - para que possam ser usinado apenas alterando as atribuições dos
ar gumentos G65 (variáveis) no programa principal. Antes que o objetivo possa ser alcançado, algumas decisões
técnicas não lógicas precisam ser feitas. A primeira delas é decidir sobre a configuração da peça e o método de
usinagem da peça.

Configuração da peça, ferramental e método de usinagem

A forma como o trabalho é configurado deve ser considerado em conjunto com a forma como será usinado. A
seleção de um método de dez influencia o outro. O método de usinagem influencia a seleção do ferramental.
O desenho identifica o material como aço macio fornecido como uma barra do mesmo diâmetro para todas as peças
(Æ50 mm). Para fins de desenvolvimento macro, foram estabelecidas as seguintes condições:

o Parte zero na frente da face acabada X0 = linha central obrigatória

o Corte mínimo da face (< 0,5 programa de corte simples pode

mm) o Apenas uma ferramenta é usada - T1 com ser facilmente alterado para duas ferramentas todas as

desgaste ajustado 1 o Velocidade do fuso e peças são do mesmo material

avanços não mudam o G71 e G70 vários ciclos repetitivos serão usados
dois formato de bloco o Nenhuma operação de retorno será operação
incluída parcial e secundária o
Cool ant será usado

Cada configuração pode ser melhorada - esta é apenas uma sugestão e também um método ilustrativo usado para o
exemplo. O projeto se concentra apenas no desenvolvimento macro.

O percurso real também pode ser definido em detalhes:

o Passo 1 - Rápido em direção à peça a ser


cortada o Passo 2 - Enfrente a frente apenas na
linha central baixa o Passo 3 - Rápido para o ponto
inicial do ciclo G71 o Passo 4 - Desbaste a forma - deixe
estoque adequado o Passo 5 - Finalize a forma com G70

Em cinco passos simples a usinagem é completada. Duas ferramentas podem ser usadas em vez de uma e outra
mudanças também podem ser feitas.

Copyright 2005, Industrial Press Inc., Nova York, NY - www.industrialpress.com


Machine Translated by Google Macros personalizadas CNC da FANUC

FAMÍLIA DE PEÇAS SEMELHANTES 211

Esboço de Desenho

Mesmo para peças simples, um bom esboço de desenho ajuda a visualizar o percurso e os dados como associados
com ele, como ances claros. A Figura 28 mostra o contorno da peça usado para os ciclos G71 e G70 .

F
SP
E D FERRAMENTA COMUM PARA
CICLOS DE CORTE G71 E G70

B
C
'A' É O BLOCO P NO CICLO
UMA 'F' É O Q-BLOCK NO CICLO

Figura 28

Percurso comum para todas as peças da família - usado pelos ciclos de corte G71 e G70

Programa Stand Dard

Selecione uma parte da série (PIN-001 mostrado) e faça um programa padrão apenas para essa parte,
aplicando as seleções anteriores. Este é um passo que pode ser evitado com o crescimento da experiência, mas
percorrê-lo apresenta certa coerência ao desenvolvimento. O programa padrão para PIN-001 é
listados com comentários relevantes:

(PROGRAMA PADRÃO PIN-001) Programa padrão apenas para PIN-001


(X0Z0 - LINHA CENTRAL E FACE ACABADA FRONTAL)
(PROJEÇÃO DA BARRA DA FACE DO MANDRIL = PEÇA LG + 5 MM)
N1 G21 T0100 Unidades métricas e Ferramenta 1 - sem compensação de desgaste

N2 G96 S100 M03 CSS a 100 m/ min - rotação do fuso CW


N3 G00 X53.0 Z0 T0101 M08 Posição inicial para corte de face + compensação de desgaste + refrigeração
N4 G01 X-1.8 F0.1 Face logo abaixo da linha central com velocidade de avanço de 0,1 mm/ rev
N5 G00 Z3.0 Face livre - somente eixo Z - por 3 mm 'A' para Z
N6 G42 X51.0 X-start para ciclo G71 e correção do raio da ferramenta 'A' para X
N7 G71 U2.5 R1.0 G71 - profundidade de corte de 2,5 mm, retração de 1,0
N8 G71 P9 Q14 U1.5 W0.125 F0.3 N9 G00 X16.0 G71 - Contorno N9 a N14 - Estoque XZ - 0,3 mm/ rot.

Diâmetro X calculado para chanfro - '1'


N10 G01 X24.0 Z-1.0 F0.1 Corte o chanfro frontal em 0,1 mm/ rot - '2'
N11 Z-23,0 R3,0 F0,15 Corte pequeno diâmetro + raio interno em 0,15 mm/ rot - '3'
N12 X46,0 R-2,0 Face de corte e raio externo - '4'
N13 Z-47,0 Corte de grande diâmetro 3 mm além do comprimento da peça - '5'
N14 X54.0 F0.3 Diâmetro do estoque de compensação - eixo X apenas por 2 mm - '6'
N15 G70 P9 Q14 S125 N16 G00 Contorno de acabamento G70 a 125 m/ min
G40 X100.0 Z50.0 T0100 M09 Posição de troca rápida da ferramenta + cancelamentos
N17 M01 Parada do programa (opcionalmente - próxima ferramenta esperada)

Uma vez que o programa padrão esteja estabelecido como correto, identifique todos os valores que precisam ser alterados
para qualquer um dos três pinos restantes.

Copyright 2005, Industrial Press Inc., Nova York, NY - www.industrialpress.com


Machine Translated by Google Macros personalizadas CNC da FANUC

212 Capítulo 19

Identificar dados variáveis

O propósito de encontrar os valores de dados que mudam de parte para parte significa encontrar a variável
dados. Os dados que mudam ajudarão a estabelecer variáveis para a macro, seja como entrada direta ou para
mais cálculos. Na listagem seguinte, é apresentado o mesmo programa padrão, desta vez com todos os
dados variáveis sublinhados:

(PROGRAMA PADRÃO PIN-001) OS DADOS VARIÁVEIS ESTÃO SUBLINHADOS


(X0Z0 - LINHA CENTRAL E FACE ACABADA FRONTAL)
(PROJEÇÃO DA BARRA DA FACE DO MANDRIL = PEÇA LG + 5 MM)
N1 G21 T0100 Unidades métricas e Ferramenta 1 - sem compensação de desgaste

N2 G96 S100 M03 CSS a 100 m/ min - rotação do fuso CW


N3 G00 X53.0 Z0 T0101 M08 Posição inicial para corte de face + compensação de desgaste + refrigeração
N4 G01 X-1.8 F0.1 Face logo abaixo da linha central com velocidade de avanço de 0,1 mm/ rev
N5 G00 Z3.0 Face livre - somente eixo Z - por 3 mm
N6 G42 X51.0 X-start para ciclo G71 e correção do raio da ferramenta
N7 G71 U2.5 R1.0 G71 - profundidade de corte de 2,5 mm, retração de 1,0
N8 G71 P9 Q14 U1.5 W0.125 F0.3 N9 G00 X16.0 G71 - Contorno N9 a N14 - Estoque XZ - 0,3 mm/ rot.

Diâmetro X calculado para chanfro - '1'


N10 G01 X24.0 Z-1.0 F0.1 Corte o chanfro frontal em 0,1 mm/ rot - '2'
N11 Z-23,0 R3,0 F0,15 Corte pequeno diâmetro + raio interno em 0,15 mm/ rot - '3'
N12 X46,0 R-2,0 Face de corte e raio externo - '4'
N13 Z-47,0 Corte de grande diâmetro 3 mm além do comprimento da peça - '5'
N14 X54.0 F0.3 Diâmetro do estoque de compensação - eixo X apenas por 2 mm - '6'
N15 G70 P9 Q14 S125 N16 G00 Contorno de acabamento G70 a 125 m/ min
G40 X100.0 Z50.0 T0100 M09 Posição de troca rápida da ferramenta + cancelamentos
N17 M01 Parada do programa (opcionalmente - próxima ferramenta esperada)

Este é um exemplo simples - foram iden tificados seis programas (sublinhados). Estude-os em -
di vid u almente e com muito cuidado - esses valores se tornarão variáveis na macro. Bloco por bloco
a avaliação produz alguns pontos de vista sobre os dados selecionados:

N9 G00 X16.0 X-dímero calculado para chanfro-'1'

O bloco N9 representa o primeiro ponto do contorno '1' (P9 no bloco de ciclo). É a posição X
para o corte de chanfro que se segue. Este diâmetro não está no desenho, tem que ser calculado,
com base no tamanho do chanfro (1 mm a 45°) no diâmetro pequeno e na folga Z atual (3 mm
conforme bloco N5). Trabalhar com um chanfro de 45° é sempre fácil e não é necessária nenhuma tentativa de trigonometria.
O pequeno diâmetro é de 24 mm, o chanfro é de 1 mm e a folga Z é de 3 mm.

Para calcular o diâmetro X correspondente é fácil - basta observar o processo com atenção e fazer
certifique-se de que todos os valores são calculados para um diâmetro, não por lado (raio):

X = 24 - 2 ´ 1 - 2 ´ 3 = 16 mm = X16,0

Este cálculo fará parte da macro, utilizando outras variáveis, ainda a definir.

Copyright 2005, Industrial Press Inc., Nova York, NY - www.industrialpress.com


Machine Translated by Google
Macros personalizadas CNC da FANUC

FAMÍLIA DE PEÇAS SEMELHANTES 213

N10 G01 X24.0 Z-1.0 F0.1 Corte o chanfro frontal a 0,1 mm/ rot - '2'

O menor dos dois diâmetros tem dois caracteres tiques - sempre começa no final do 1 mm
chanfro (Z-1.0), e é sempre definido diretamente no desenho, embora diferente para cada peça.
Como tal, ele se qualifica matematicamente para uma definição variável (como signo). A letra C no desenho -
ing também pode ser usado na macro. A atribuição C corresponde à variável local #3 no As -
Lista de assinaturas 1 (ver Capítulo 8).

Portanto, a primeira definição pode ser feita, com um valor atribuído a cada parte:

Número da peça #3 atribuição de variável

PIN-001 #3 = 24,0

PIN-002 #3 = 28,0

PIN-003 #3 = 21,0

PIN-004 #3 = 25,0

N11 Z-23,0 R3,0 F0,15 Corte pequeno diâmetro + raio interno em 0,15 mm/ rot -

No bloco N11, existem dois dados variáveis, novamente, ambos são definidos diretamente no desenho. o
A posição Z representa o comprimento do pequeno diâmetro (dimensão 'A' no desenho - entre a face frontal e o
ombro), o valor R representa o interior preencha a dimensão do raio no desenho -
ing). Praticamente todos os controles de torno Fanuc suportam au to matic cornerbreak para chanfros ou ra di usos
que são formados a 90°, entre um rosto e um ombro ou um ombro e um rosto, com deslocamento suficiente
para o intervalo. Se a quebra de canto automática não estiver disponível no sistema de controle, ambos os pontos
inicial e final de cada arco terão que ser calculados. Nesse caso, será utilizado um comando de interpolação circular
G02 ou G03.

Ambas as letras do desenho também podem ser usadas como signos - a letra A corresponde a
a variável #1 e a letra R cor responde à variável #18, da Lista de Atribuições 1.

Número da peça #1 atribuição de variável #18 atribuição de variável

PIN-001 #1 = 23,0 #18 = 3,0

PIN-002 #1 = 25,0 #18 = 2,0

PIN-003 #1 = 19,0 #18 = 4,0

PIN-004 #1 = 16,0 #18 = 3,0

Tenha em mente que a ferramenta não cortará todo o caminho até o canto afiado. O controle detectará o raio e
começará a cortar no local apropriado. O mesmo método de corte se aplica ao raio externo.

À medida que o programa continua, o corte da face segue o filete do raio interno.

Copyright 2005, Industrial Press Inc., Nova York, NY - www.industrialpress.com


Machine Translated by Google Macros personalizadas CNC da FANUC

214 Capítulo 19

N12 X46,0 R-2,0 Face de corte e raio externo - '4'

No bloco N11, a transição foi entre um diâmetro e um ombro, utilizando o canto automático -
recurso de quebra. O bloco N12 faz exatamente o mesmo de um ombro a um diâmetro. Neste bloco, o
um raio externo de 2 mm é comum a todas as peças da série, e nenhuma variável é necessária. O alvo
para todas as partes é o grande diâmetro, identificado no desenho pela letra D.

A letra D corresponde à variável nº 7 na Lista de Atribuições 1, e uma outra tabela pode ser feita:

Número da peça #7 atribuição de variável

PIN-001 #7 = 46,0
PIN-002 #7 = 48,0
PIN-003 #7 = 47,0
PIN-004 #7 = 49,0

Ainda resta mais um corte, que também usará um valor variável - o comprimento da peça B.

N13 Z-47,0 Corte de grande diâmetro 3 mm além do comprimento da peça - '5'

A tabela das especificações de quatro peças lista a letra B como o comprimento total da peça, ou seja,
o comprimento acabado quando todas as operações são completadas.

A letra B também pode ser usada como variável como sinal (#2) e será como sinal definido
comprimento do pino, conforme desenho:

Número da peça #2 atribuição de variável

PIN-001 #2 = 44,0
PIN-002 #2 = 46,0
PIN-003 #2 = 45,0
PIN-004 #2 = 40,0

Até agora, todas as assinaturas correspondiam às dimensões de desenho exigidas. Neste caso, não é assim.
O exemplo PIN-001 mostra a posição Z no bloco N13 como Z-47.0, não como Z-44.0. A diferença de 3 mm -
a referência é intencional - fornece um diâmetro usinado para a ferramenta de corte subsequente, para permitir
para uma entrada suave da ferramenta parcial no material. Também pode incluir extra claridade para qualquer operação
secundária que venha a seguir. Esta quantidade fixa de 3 mm deve ser contabilizada - alguns -
onde no programa. Isso traz algumas questões:

Questão 1 - a variável #2 deve ser alterada em 3 mm? Pergunta 2 - os 3 mm devem ser um


nova variável? Pergunta 3 - os 3 mm devem fazer parte da macro? Cada uma das três perguntas pode
ser uma resposta sim, mas apenas uma resposta pode ser usada, apenas uma decisão.

Copyright 2005, Industrial Press Inc., Nova York, NY - www.industrialpress.com


Machine Translated by Google Macros personalizadas CNC da FANUC

FAMÍLIA DE PEÇAS SEMELHANTES 215

Como parte do macrodesenvolvimento, esta questão representa as possibilidades que surgirão.


Cada questão é igualmente importante e merece ser avaliada isoladamente:

u Questão 1 - A variável #2 deve ser alterada em 3 mm?

Definitivamente não! Esta é uma prática muito pobre. Sim, funcionaria, mas programadores experientes
considere este tipo de entrada 'con tam i nated' ou 'tar nished'. Qualquer sinal que não possa ser rastreado até
alguma definição específica não é um bom sinal. Ver o nº 2 definido como B-47.0 ou B47.0 (para
ex a mplo) não fornece a amarração necessária ao desenho da peça. Na verdade, pode ser confuso, se o
comprimento real de uma outra peça é verdadeiro 47 mm. Fique longe desse tipo de variável como sinal.

u Pergunta 2 - Os 3 mm devem ser uma nova variável?

Possivelmente. Depende se a provisão de comprimento extra para a ferramenta parcial mudará de


uma parte para outra. Isso pode acontecer, por exemplo, se a ferramenta parcial a seguir tiver um
na largura do serrilhado selecionada para cada trabalho ou uma folga de face adicional será necessária para o segundo -
operação ária (não faz parte deste exemplo).

u Pergunta 3 - Os 3 mm devem fazer parte da macro?

Se a resposta à pergunta 2 for positiva, a resposta à pergunta 3 deve ser negativa - e vice-versa
vice-versa. Não há outra opção.

Para o exemplo de quatro pinos, não há razão para alterar o comprimento estendido de 3 mm de uma peça
para o outro, então a resposta é NÃO para a Pergunta 2 e SIM para a Pergunta 3. A extensão do curso da ferramenta de 3 mm -
ção estará em corporação na macro como um valor fixo. Claro, pode ser qualquer outra razão
comprimento do movimento extra, mas sempre considere seu impacto na configuração da peça.

Criando argumentos
Uma vez que cada variável tenha sido assinada e as decisões relacionadas tenham sido tomadas, é um bom momento para
coloque todas as informações em um só lugar - para criar argumentos de macro para a chamada de macro G65 . A seguir -
A tabela de arquivamento resume os argumentos e as variáveis como sinais para todas as quatro partes - veja a Figura 29.

Dimensão Dimensão Dimensão Dimensão Dimensão


Papel UMA B C D R
número
A = #1 B = #2 C = #3 D = #7 R = #18

PIN-001 A23,0 B44.0 C24.0 D46.0 R3,0

PIN-002 A25,0 B46.0 C28.0 D48.0 R2.0

PIN-003 A19,0 B45.0 C21.0 D47.0 R4,0

PIN-004 A16,0 B40.0 C25.0 D49.0 R3,0

Observe que os argumentos selecionados nem sempre precisam corresponder às dimensões do parâmetro
desenho. Quaisquer argumentos legítimos podem ser usados, desde que pertençam à Lista de Atribuições 1.

Copyright 2005, Industrial Press Inc., Nova York, NY - www.industrialpress.com


Machine Translated by Google Macros personalizadas CNC da FANUC

216 Capítulo 19

3,0
Z3]
-[#
+
2 #1
Z- Z-1.0 PARTIR
DE
A

X54.0
6 X51.0
4
5 X#7
R2 R#18

2 X#3
3
X[#3-2*1-2*3]
1

Figura 29

Percurso comum - atribuições fixas e variáveis

Usando variáveis
Uma vez definidos os argumentos, a macro pode ser desenvolvida, usando a Figura 29 como
referência. A estrutura da macro deve ser tal que abranja cada parte da família. Em seu
primeira versão, o programa assumirá muitos caracteres macro tiques. As palavras sublinhadas que
que não precisam de cálculo serão transformadas em variáveis e aquelas que precisam de cálculo criarão um
com pos ite variável en try.

Todas as palavras afetadas pela mudança ainda estão sublinhadas para enfatizar:

(PROGRAMA MACRO PIN-XXX) OS DADOS VARIÁVEIS ESTÃO SUBLINHADOS - PARTE 1


(X0Z0 - LINHA CENTRAL E FACE ACABADA FRONTAL)
(PROJEÇÃO DA BARRA DA FACE DO MANDRIL = PEÇA LG + 5 MM)
N1 G21 T0100 Unidades métricas e Ferramenta 1 - sem compensação de desgaste

N2 G96 S100 M03 CSS a 100 m/ min - rotação do fuso CW


N3 G00 X53.0 Z0 T0101 M08 Posição inicial para corte de face + compensação de desgaste + refrigeração
N4 G01 X-1.8 F0.1 Face logo abaixo da linha central com velocidade de avanço de 0,1 mm/ rev
N5 G00 Z3.0 Face livre - somente eixo Z - por 3 mm
N6 G42 X51.0 X-start para ciclo G71 e correção do raio da ferramenta
N7 G71 U2.5 R1.0 G71 - profundidade de corte de 2,5 mm, retração de 1,0
N8 G71 P9 Q14 U1.5 W0.125 F0.3 N9 G00 X[#3-2*1-2*3] G71 - Contorno N9 a N14 - Estoque XZ - 0,3 mm/ rot.

Diâmetro X calculado para chanfro - '1'


N10 G01 X#3 Z-1,0 F0,1 N11 Z-#1 R#18 Corte o chanfro frontal em 0,1 mm/ rot - '2'
F0,15 N12 X#7 R-2,0 N13 Z-[#2+3,0] Corte pequeno diâmetro + raio interno em 0,15 mm/ rot - '3'

Face de corte e raio externo - '4'


Corte de grande diâmetro 3 mm além do comprimento da peça - '5'
N14 X54.0 F0.3 Diâmetro do estoque de compensação - somente eixo X - por 2 mm - '6'
N15 G70 P9 Q14 S125 N16 G00 Contorno de acabamento G70 a 125 m/ min
G40 X100.0 Z50.0 T0100 M09 Posição de troca rápida da ferramenta + cancelamentos
N17 M01 Parada do programa (opcionalmente - próxima ferramenta esperada)

Copyright 2005, Industrial Press Inc., Nova York, NY - www.industrialpress.com


Machine Translated by Google Macros personalizadas CNC da FANUC

FAMÍLIA DE PEÇAS SEMELHANTES 217

O bloco N9 é uma entrada de variável composta - contém um cálculo. Uma variável de taxa separada
pode ser definida internamente na macro ou a definição pode ser embutida no endereço de movimento da
ferramenta, criando uma entrada de variável composta (como mostrando). Qualquer variável definida como
uma atribuição tira espaço de memória do sistema de controle, enquanto um cálculo composto não o faz.
Um cálculo interno será fornecido neste caso - PIN-001 mostrado:

X = #3 - 2 ´ tamanho do chanfro - 2 ´ Folga Z = #3 - 2 ´ 1 - 2 ´ 3 = 24 - 2 - 6 = 16 = X16.0

A Figura 30 ilustra o cálculo do diâmetro X no bloco N9 (endereço P no G71/G70


ciclo) - já mostrado na ilustração geral (Fig. 29) na página anterior.

Figura 30
Z-1.0 Z0 Z3.0
Vista detalhada do cálculo do chanfro frontal
1 3

X#3
1
3
X[#3-2*1-2*3]

O bloco N9 agora pode ser escrito em uma variável para mat (cálculo comum):

N9 G00 X[#3-2*1-2*3] X-diam éter calculado para chanfro (variável)

Semelhante ao cálculo do bloco N9, mas muito mais simples, o bloco N13 (não mostrado) representa o
movimento estendido da ferramenta em 3 mm ao longo do eixo Z - observe como a distância de 3 mm
também foi incorporado ao movimento, juntamente com a variável #2: N13 Z-[#2+3.0]. Como no bloco N9,
se a expressão aritmética ou semelhante estiver entre colchetes, o sistema de controle calculará o valor do
retorno combinado primeiro e depois agirá sobre ele - sem separá-lo é necessária a definição da variável de taxa.

Escrevendo a Macro
O passo final é pegar o programa padrão com recursos de macro e transformá-lo em uma macro real.
Os mac ros devem incluir apenas blocos de programa que mudam de um trabalho para outro (dentro da
mesma família). No nosso caso dos quatro pinos, o ciclo de desbaste (e seus dados) é a única área do
programa que muda - a macro conterá apenas o ciclo de desbaste G71 , atualmente representado pelos
blocos N7 a N14 e pelo ciclo de torneamento de acabamento G70 , atualmente representado pelo bloco N15
nos exemplos anteriores. Embora apenas o contorno real mude, é melhor incluir os ciclos G71 e G70 para
facilitar a orientação.

Para escrever a macro, o último exemplo apresentado deve ser dividido em duas seções:

o Seção 1 - incluirá o programa principal com a chamada de macro G65 e argumentos o


Seção 2 - usará os ciclos de usinagem G71 e G70 para cortar o percurso definido

Copyright 2005, Industrial Press Inc., Nova York, NY - www.industrialpress.com


Machine Translated by Google Macros personalizadas CNC da FANUC

218 Capítulo 19

Observe a mudança nos números dos blocos nos seguintes programas:

(PIN-001 - PROGRAMA PRINCIPAL)


(X0Z0 - LINHA CENTRAL E FACE ACABADA FRONTAL)
(PROJEÇÃO DA BARRA DA FACE DO MANDRIL = PEÇA LG + 5 MM)
N1 G21 T0100 Unidades métricas e Ferramenta 1 - sem compensação de desgaste

N2 G96 S100 M03 CSS a 100 m/ min - rotação do fuso CW


N3 G00 X53.0 Z0 T0101 M08 Posição inicial para corte de face + compensação de desgaste + refrigeração
N4 G01 X-1.8 F0.1 Face logo abaixo da linha central com velocidade de avanço de 0,1 mm/ rev
N5 G00 Z3.0 Face livre - somente eixo Z - por 3 mm
N6 G42 X51.0 X-start para ciclo G71 e correção do raio da ferramenta
N7 G65 P8021 A23.0 B44.0 C24.0 D46.0 R3.0 (ARGUMENTOS DE MACRO PIN-001)
N8 G00 G40 X100.0 Z50.0 T0100 M09 Posição de troca rápida da ferramenta + cancelamentos
N9 M01 Parada do programa (opcionalmente - próxima ferramenta esperada)
... Outras ferramentas podem seguir

O8021 (PROGRAMA MACRO PIN-XXX) Quatro pinos da família são cobertos por esta macro
N101 G71 U2.5 R1.0 G71 - profundidade de corte de 2,5 mm, retração de 1,0
N102 G71 P103 Q108 U1.5 W0.125 F0.3 G71 - Contorno N103 a N108 - Estoque XZ - 0.3 mm/ rot.
N103 G00 X[#3-2*1-2*3] Diâmetro X calculado para chanfro - 'A'
N104 G01 X#3 Z-1.0 F0.1 Corte o chanfro frontal a 0,1 mm/ rot - 'B'
N105 Z-#1 R#18 F0.15 Corte pequeno diâmetro + raio interno a 0,15 mm/ rotação - 'C'
N106 X#7 R-2,0 N107 Face de corte e raio externo - 'D'
Z-[#2+3,0] Corte de diâmetro grande 3 mm além do comprimento da peça - 'E'
N108 X54.0 F0.3 Diâmetro do estoque de compensação - somente eixo X - por 2 mm - 'F'
N109 G70 P103 Q108 S125 Contorno de acabamento G70 a 125 m/ min
N110 M99 Fim da macro
%

Quaisquer números de blocos legítimos são permitidos, desde que não haja duplicatas no mesmo pro -
gram (subprogramas e mac ros incluídos). Tenha em mente que os endereços P e Q se dirigem aos ciclos
indique os números dos blocos realmente usados no programa de contorno.

Versão final
O objetivo desta apresentação foi desenvolver um macroprograma básico para uma família de
partes. Sem dúvida, muitas adições ao macro podem ser feitas facilmente, dependendo do momento exato
natureza do emprego existente. As tolerâncias e o acabamento superficial podem desempenhar um grande papel no
desenvolvimento do programa, assim como algumas solicitações específicas do cliente. Tudo isso é fácil de implementar. o
O principal objetivo era introduzir um programador CNC habilidoso no mundo dos mac ros.

Um sinal que não posso mudar que pode ser feito - e também pode mostrar como os mac ros são flexíveis - é
facilitar a mudança de usinagem de uma peça para outra.

Na macro O8021, a única forma de alterar a atribuição de variáveis para diferentes pinos é em
o bloco N7 - o bloco G65 . Este é um método bastante comum, mas não o melhor método. Muito
O melhor método é incluir todas as quatro definições em um único programa principal e alterar apenas uma
número da variável (no topo do programa) para selecionar a peça necessária (tipo de pino). Este objetivo é fácil
alcançar incluindo as quatro definições junto com a função IF no programa principal:

Copyright 2005, Industrial Press Inc., Nova York, NY - www.industrialpress.com


Machine Translated by Google Macros personalizadas CNC da FANUC

FAMÍLIA DE PEÇAS SEMELHANTES 219

(SÉRIE PIN-001 A PIN-004 - PROGRAMA PRINCIPAL - MESTRE)


(X0Z0 - LINHA CENTRAL E FACE ACABADA FRONTAL)
(PROJEÇÃO DA BARRA DA FACE DO MANDRIL = PEÇA LG + 5 MM)
(------------------------------------------------- -----------)
N1 #33 = 1 SELEÇÃO DE PEÇA: 1=001 2=002 3=003 4=004
(-------------------------------------------- - ----------------------------)
N2 #30 = #4006 Salvar unidades atuais de dimensionamento (G20 ou G21)
N3 IF [#33 GT 4] GOTO991 ERROR (alarme) se o número da peça for maior que 004
N4 IF [#33 LT 1] GOTO992 ERROR (alarme) se o número da peça for menor que 001
N5 G21 T0100 Unidades métricas e Ferramenta 1 - sem compensação de desgaste

N6 G96 S100 M03 CSS a 100 m/ min - rotação do fuso CW


N7 G00 X53.0 Z0 T0101 M08 Posição inicial para corte de face + compensação de desgaste + refrigeração
N8 G01 X-1.8 F0.1 Face logo abaixo da linha central com velocidade de avanço de 0,1 mm/ rev
N9 G00 Z3.0 Face livre - somente eixo Z - por 3 mm
N10 G42 X51.0 X-start para ciclo G71 e correção do raio da ferramenta
N11 SE [#33 EQ 1] GOTO15 N12 SE #33 = 1 ... seleciona PIN-001
[#33 EQ 2] GOTO17 N13 SE [#33 EQ #33 = 2 ... seleciona PIN-002
3] GOTO19 N14 SE [#33 EQ 4] #33 = 3 ... seleciona PIN-003
GOTO21 N15 G65 P8021 A23.0 B44.0 #33 = 4 ... seleciona PIN-004
C24.0 D46. 0 R3.0 (ARGUMENTOS DE MACRO PIN-001)
N16 GOTO22 Ignorar as próximas três chamadas de macro
N17 G65 P8021 A25.0 B46.0 C28.0 D48.0 R2.0 (ARGUMENTOS DE MACRO PIN-002)
N18 GOTO22 Ignorar as próximas duas chamadas de macro

N19 G65 P8021 A19.0 B45.0 C21.0 D47.0 R4.0 (ARGUMENTOS DE MACRO PIN-003)
N20 GOTO22 Ignorar as próximas chamadas de macro

N21 G65 P8021 A16.0 B40.0 C25.0 D49.0 R3.0 (ARGUMENTOS DE MACRO PIN-004)
N22 G00 G40 X100.0 Z50.0 T0100 M09 Posição de troca rápida da ferramenta + cancelamentos
N23 GOTO998 Ignorar mensagens de erro se tudo estiver OK
(------------------------------------------------- -----------)
N991 #3000 = 991 (NÚMERO DE PEÇA MUITO GRANDE)
N992 #3000 = 992 (NÚMERO DA PEÇA MUITO PEQUENO)
N998 G#30 Restaurar unidades de dimensionamento anteriores (G20 ou G21)
N999 M01 Parada do programa (opcionalmente - próxima ferramenta esperada)
... Outras ferramentas podem seguir

O8021 (PROGRAMA MACRO PIN-XXX) Quatro pinos da família são cobertos por esta macro
N101 G71 U2.5 R1.0 G71 - profundidade de corte de 2,5 mm, retração de 1,0
N102 G71 P103 Q108 U1.5 W0.125 F0.3 G71 - Contorno N103 a N108 - Estoque XZ - 0.3 mm/ rot.
N103 G00 X[#3-2*1-2*3] Diâmetro X calculado para chanfro - 'A'
N104 G01 X#3 Z-1.0 F0.1 Corte o chanfro frontal a 0,1 mm/ rot - 'B'
N105 Z-#1 R#18 F0.15 Corte pequeno diâmetro + raio interno a 0,15 mm/ rotação - 'C'
N106 X#7 R-2,0 N107 Face de corte e raio externo - 'D'
Z-[#2+3,0] Corte de diâmetro grande 3 mm além do comprimento da peça - 'E'
N108 X54.0 F0.3 Diâmetro do estoque de compensação - somente eixo X - por 2 mm - 'F'
N109 G70 P103 Q108 S125 Contorno de acabamento G70 a 125 m/ min
N110 M99 Fim da macro
%

A definição da variável #33 foi visualmente aprimorada para mostrar o bloco onde ocorrerá a seleção da parte ativa.

Copyright 2005, Industrial Press Inc., Nova York, NY - www.industrialpress.com


Machine Translated by Google Macros personalizadas CNC da FANUC

220 Capítulo 19

Melhorias de macro
Cada macro pode sempre usar algumas melhorias e mudanças adicionais que a tornam mais forte e confiável.
Algumas mudanças podem ser consideradas padrão, outras dependem muito do trabalho real. O macrodesenvolvimento
apresentado neste capítulo é uma demonstração completa do macrodesenvolvimento e apresenta uma boa aparência
geral. Não pretende ser o melhor exemplo ou mesmo o único exemplo possível. Sinta-se à vontade para alterar a
macro para quaisquer condições exclusivas.

Que possíveis melhorias poderiam ser adicionadas a esta ou a qualquer macro? Não necessariamente aplicável à
macro que acabamos de demonstrar, aqui está um resumo das características típicas da macro que devem ajudar no
desenvolvimento:

1. Considerações de segurança

2. Seleção cuidadosa de variáveis como sign mentos

3. Cálculos internos em vez de definições

4. Mensagens e alarmes incluídos

5. Documentação de qualidade

Uma regra de programação de computador para qualquer aplicação é que o primeiro e principal objetivo é
desenvolver o núcleo básico do programa. Atinja a meta em código tão curto quanto possível. Para obter os 'sinos e
apitos', para obter a 'beleza' do programa. Tudo isso pode - e deve - ser acrescentado somente depois que o objetivo
principal for cumprido. Qual é o sentido de fazer um programa ruim parecer bom?

Copyright 2005, Industrial Press Inc., Nova York, NY - www.industrialpress.com


Machine Translated by Google Macros personalizadas CNC da FANUC

20 MACROS PARA USINAGEM

Mac ros pode ser usado para muitas finalidades diferentes. O capítulo anterior abordou o tema do
macrodesenvolvimento para uma família de partes semelhantes. O capítulo atual aborda o assunto e
abrange o desenvolvimento de várias macros para operações gerais de usinagem, em vez de uma
família de peças. Operações de usinagem repetitivas e previsíveis são uma das aplicações mais comuns
de um programa paramétrico . Todas as macros paramétricas fornecidas neste capítulo têm muito mais
recursos adicionais do que os semelhantes encontrados em vários sites ou fóruns da Internet.

Estude TODOS os mac ros fornecidos neste capítulo - cada exemplo apresenta uma nova técnica
que pode ser usada na programação de outros mac ros. Usar uma técnica específica usada em uma
macro e adaptá-la a outra macro aumentará a utilidade e a flexibilidade da macro.

Existem virtualmente menos possibilidades para macroaplicações como programas paramétricos e


apenas uma pequena seleção é oferecida aqui. O objetivo desses exemplos é mostrar amostras reais
de um código macro para vários tipos de usinagem muito úteis. Estude a lógica de cada macro para as
técnicas de programação utilizadas e siga o projeto completo. As explicações de cada exemplo servirão
de guia para um macrodesenvolvimento, independentemente do objetivo final.

Todos os mac ros são fornecidos apenas para fins de treinamento, sem garantias!

Padrão de Furo Angular - Versão 1

Uma das aplicações mais comuns - e uma das mais simples - é um padrão linear de furos, com igual
distância entre os furos. O objetivo desta macro paramétrica é criar um percurso para qualquer operação
de furação aplicada a um padrão de furos dispostos em linha. O desenho da Figura 31 é um exemplo
desse tipo de padrão. O programa zero está no canto inferior esquerdo e no topo da peça.

Figura 31

8X 11,5 Exemplo de desenho de um


padrão de furo angular típico - versão 1

Nesta aplicação, as coordenadas para o


primeiro furo são fornecidas, juntamente
com o ângulo do padrão

13 Ø4 - 9 FUROS EQSP ATRAVÉS

Material: Placa de alumínio 100 x 75 x 12 mm

221

Copyright 2005, Industrial Press Inc., Nova York, NY - www.industrialpress.com


Machine Translated by Google Macros personalizadas CNC da FANUC

222 Capítulo 20

Quando considerado com desenhos semelhantes, este exemplo fornece todos os dados necessários para configurar macro
estrutura. Abrange as condições e restrições nas quais a aplicação macro será válida.
Para fins educacionais, esta primeira aplicação será relativamente simples (mas definitivamente útil).
Muitas técnicas de programação usadas nesta macro se repetirão em exemplos subsequentes, com recursos adicionais.
Primeiro, avalie as várias condições e restrições auto-impostas em direção ao objetivo definido:

o Todos os furos são espaçados igualmente dentro do padrão o Furos EQSP

Qualquer número de furos é aceitável - mínimo de dois furos o A distância entre os dentro das capacidades da máquina

furos deve ser conhecida passo de buracos

o Qualquer passo entre buracos é aceitável o A localização dentro das capacidades da máquina

do primeiro buraco deve ser conhecida como coordenadas XY

o Qualquer ângulo entre o primeiro furo e o último furo deve ser conhecido estabelece direção

Uma vez que as condições tenham sido estabelecidas e aplicadas a um exemplo, como o da Figura 31,
o primeiro passo mais importante foi concluído. Ao avaliar um único desenho, sempre pense
de todas as outras possibilidades que possam existir em desenhos semelhantes. Por exemplo, é o padrão de furos
horizontal ou vertical, é girado no lado oposto da rec ção, caso a macro ainda seja capaz de manejar
d le este padrão? Logicamente, não há diferença fundamental entre uma orientação e uma -
outro. Sempre considere todas as características, incluindo o ângulo, mesmo que o ângulo seja zero. Grau zero
um ângulo definirá a orientação horizontal à direita do primeiro furo (direção leste). Um hun -
ângulo de oitenta graus define a orientação horizontal à esquerda do primeiro buraco (direção oeste).
ção). Na macro, o ângulo definido controla a orientação do padrão de furos lineares. Baseado em
todas estas considerações, incluindo as restrições auto-impostas e outras decisões, uma
será necessário um desenho macro específico, aplicável a todos os padrões semelhantes - Figura 32:

MACRO O8101

H (#11)

Q (#7)

A (#1)
Macro de padrão de furo angular - Versão 1
VAR # Descrição

H 11 Número de furos EQSP

Q 17 Espaçamento entre furos


Iniciar o local XY do furo
chamado no programa principal A 1 Direção angular de corte

G65 P8101 H-Q-A


Figura 32

Dados variáveis para padrão angular de furos - Versão 1 - Macro O8101

Copyright 2005, Industrial Press Inc., Nova York, NY - www.industrialpress.com


Machine Translated by Google Macros personalizadas CNC da FANUC

MACROS PARA USINAGEM 223

Dados variáveis para padrão de furo angular


A partir das condições dadas, é fácil estabelecer os dados variáveis necessários e definir a conve -
argumento niente como sinais para eles, como mostrado na Figura 32. Por razões de simplicidade nesta primeira
macro, a localização XY absoluta do buraco inicial foi omitida. Nos exemplos que se seguem,
tal local também fará parte da macro, se necessário.

o Número de furos EQSP . . . letra H atribuída (atribuição de variável nº 11)


o Espaçamento entre os furos (passo) o . . . letra Q atribuída (atribuição de variável nº 17)
Direção angular de corte . . . letra A atribuída (atribuição de variável nº 1)

No programa principal, o fluxo do processo será muito semelhante a qualquer programa padrão que chame um
subprograma. Um ciclo fixo será usado para fazer o primeiro furo em sua localização ab solute, mudar para in -
modo cre men tal e repita o ciclo para todos os furos restantes.

O0021 (PROGRAMA PRINCIPAL)


N1 G21 Modo métrico
N2 G90 G00 G54 X13,0 Y10,0 S800 M03 Primeiro bloco de movimento com velocidade do fuso
N3 G43 Z25.0 H01 M08 Deslocamento do comprimento da ferramenta com folga acima
N4 G99 G81 R2,5 Z-14,7 F150,0 Furo nº 1 usinado no local atual
N5 G65 P8101 A35.0 H9 Q11.5 Chamada de macro com atribuições
N6 G90 G80 Z25.0 M09 Retrair acima do trabalho
N7 G28 Z25.0 M05 Retornar ao zero da máquina
N8 M01 Fim da ferramenta atual

O8101 (MACRO DE PADRÃO DE FURO ANGULAR - VERSÃO 1)


#11 = #11-1 Alterar o número de buracos para o número de espaços
#24 = #17*COS[#1] Cálculo do incremento X
#25 = #17*SIN[#1] Cálculo do incremento Y
G91 X#24 Y#25 L#11 Incremente L-times (K-times para Fanuc 16/18/21)
M99 Fim da macro
%

A macro ocupa duas variáveis indefinidas na chamada da macro (#24 e #25). Apesar de correto, qualquer
armazenamento de valores em variáveis separadas de taxa tira recursos de memória. Não há necessidade
para definir variáveis de taxa de separação, pois o cálculo por elas fornecido será utilizado apenas uma vez. Como um
melhor variação da macro O8101 - sem as duas variáveis, considere este método:

O8101 (MACRO DE PADRÃO DE FURO ANGULAR - VERSÃO 1)


#11 = #11-1 Alterar o número de buracos para o número de espaços
G91 X[#17*COS[#1]] Y[#17*SIN[#1]] L#11 Nova localização e incremento (L ou K)
M99 Fim da macro
%

Isso conclui o desenvolvimento de uma primeira macro aplicação simples, porém bastante versátil, para operações
de usinagem. Com esta macro, qualquer linha de furos igualmente espaçados com um determinado ângulo pode ser
programado muito facilmente em qualquer direção, com base na localização do primeiro furo e no ângulo
definição (medida a partir de zero graus). Muitas melhorias podem ser adicionadas a esta macro, como al -
pronto mostrado antes, e como também mostrado nos vários mac ros que se seguem.

Copyright 2005, Industrial Press Inc., Nova York, NY - www.industrialpress.com


Machine Translated by Google Macros personalizadas CNC da FANUC

224 Capítulo 20

Padrão de Furo Angular - Versão 2

Só porque a palavra 'ângulo' aparece na definição, isso não significa que o ângulo real é sempre definido no
desenho. De fato, existe um outro método comum de dimensionar um padrão de furo angular. Em vez de usar
as coordenadas do primeiro furo e um ângulo especificado, ele usa as coordenadas do primeiro furo e a
distância entre o primeiro e o último furo no padrão, sem definição de gle. Mesmo que o desenho mostre as
coordenadas ab solúteas do segundo furo, é fácil encontrar a distância entre os furos. Qual método de desenho
é usado depende da intenção de engenharia - qual é o propósito do projeto. É claro que qualquer programador
CNC habilidoso pode mudar de um método para outro, mas sempre existe o risco de algum erro de
arredondamento que pode ser significativo.
A solução? Uma outra macro. O desenho de exemplo de peça típica é mostrado na Figura 33.

76 Figura 33

Exemplo de desenho de um
padrão de furo angular típico - versão 2

43 Nesta aplicação, as coordenadas para


o primeiro furo são fornecidas,
juntamente com a distância X e Y entre

14 os furos finais

12 Ø5 - 6 FUROS EQSP ATRAVÉS

Material: Placa de alumínio 100 x 75 x 12 mm

Ao desenvolver macros onde as diferenças são pequenas, como nestes exemplos, é uma boa ideia manter o
máximo de variáveis possíveis. Por exemplo, o número de furos ainda pode usar o H como sinal (#11).

Observe a diferença nos dados de desenho entre a Versão 1 e a Versão 2 - há duas distâncias, mas nenhum
ângulo ou espaço entre os furos. Os dados fornecidos devem fazer parte da variável como signos, mas o
espaçamento entre furos será calculado na lateral da macro. Nesta versão, a localização do primeiro furo será
definida no programa principal, mas duas variáveis diferentes serão o comprimento X e o comprimento Y do
padrão:

o Comprimento do padrão ao longo do eixo . . . letra U atribuída (atribuição de variável #21) . . . letra

X o Comprimento do padrão ao longo do V atribuída (atribuição de variável #22) . . . letra H


eixo Y o Número de furos EQSP atribuída (atribuição de variável nº 11)

A macro pode ser melhorada de várias maneiras. Como apenas uma ferramenta é mostrada no exemplo,
pode não ser conveniente repetir a macro exatamente da mesma forma para duas ou até três ferramentas.
Mesmo o ciclo de perfuração pode ser construído na macro, dependendo das condições exatas no momento da
programação. Essa macro é muito semelhante à anterior, mas também pode incluir alguns recursos extras que
podem ser facilmente adaptados a qualquer macro. As variáveis são definidas visualmente na Figura 34.

Copyright 2005, Industrial Press Inc., Nova York, NY - www.industrialpress.com


Machine Translated by Google Macros personalizadas CNC da FANUC

MACROS PARA USINAGEM 225

MACRO O8102
Em(#21)

H(#11)

V(#22)

Macro de padrão de furo angular - Versão 2

VAR # Descrição

U 21 Comprimento do padrão ao longo de X

V 22 Comprimento do padrão ao longo de Y


Iniciar o local XY do furo
chamado no programa principal H 11 Número de furos EQSP

G65 P8102 U-V-H


Figura 34

Dados variáveis para padrão angular de furos - Versão 2 - Macro O8102

O0022 (PROGRAMA PRINCIPAL)


N1 G21 Modo métrico
N2 G90 G00 G54 X12.0 Y14.0 S775 M03 Primeiro bloco de movimento com velocidade do fuso
N3 G43 Z25.0 H01 M08 Deslocamento do comprimento da ferramenta com folga acima
N4 G99 G81 R2,5 Z-15,0 F150,0 Furo nº 1 usinado no local atual
N5 G65 P8102 U76.0 V43.0 H6 Chamada de macro com atribuições (U± V±)
N6 G90 G80 Z25.0 M09 Retrair acima do trabalho
N7 G28 Z25.0 M05 Retornar ao zero da máquina
N8 M01 Fim da ferramenta atual

O8102 (MACRO DE PADRÃO DE FURO ANGULAR - VERSÃO 2)


#11 = #11-1 #24 = Alterar o número de buracos para o número de espaços
#21/#11 #25 = #22/#11 Cálculo do incremento X
Cálculo do incremento Y
G91 X#24 Y#25 L#11 Incremente L-times (K-times para Fanuc 16/18/21)
M99 Fim da macro
%

Na usinagem típica, a ferramenta de furação seria precedida por uma operação de furação por pontos ou furação central.
ção, mas a definição da macro e sua chamada permaneceriam a mesma.

Esses dois macros demonstraram que um trabalho que pode demorar um pouco para ser programado manualmente,
pode ser feito literalmente em segundos ao usar uma macro existente. Os exemplos a seguir adicionarão
alguns recursos extras, que também podem ser adicionados aos dois primeiros mac ros.

Copyright 2005, Industrial Press Inc., Nova York, NY - www.industrialpress.com


Machine Translated by Google Macros personalizadas CNC da FANUC

226 Capítulo 20

Padrão de furo de quadro

O padrão de furos de moldura é bastante comum em muitas oficinas mecânicas e consiste em uma série de
furos espaçados, formando um padrão rect gu lar. Com efeito, este padrão consiste em quatro conjuntos de furos em
um arranjo an gular, de modo que a primeira macro (O8101) pode ser usada - quatro vezes. No entanto, um quadro
o padrão é mais eficiente e - se desenvolvido corretamente - evita o corte duplo dos furos de canto,
o que pode facilmente acontecer usando outros métodos. A macro a desenvolver é uma macro que define tal
padrão de furos, começando no furo inferior esquerdo do retângulo e continuando ao redor do quadro
na direção CW ou CCW. Mais uma vez, certas decisões, condições e restrições devem ser impostas.
colocados em primeiro lugar, com base no tipo de trabalho.

A Figura 35 representa um desenho típico para um padrão de furo de quadro.

6 BURACOS EQSP
Ø4 ATÉ Figura 35
14
Padrão de furos da estrutura - definições

9,5
BURACOS
EQSP
5

10 16

Material: Placa de alumínio 100 x 75 x 12 mm

Com base no padrão típico mostrado, estude cuidadosamente quais recursos foram considerados. Observação
que o espaçamento igual entre os furos é (ou poderia ser) diferente para o eixo X e o eixo Y. este
a reali dade deve ser levada em consideração. Com base no desenho do exemplo, bem como no resultado
do processo de pensamento necessário, os seguintes recursos foram empregados na macro pré -
enviado aqui:

o Todos os furos são espaçados igualmente dentro do padrão o o tom em X pode ser diferente do tom em Y

Qualquer número de furos é aceitável permitindo máquina - 2 min por linha ou coluna

o A distância entre os furos deve ser conhecida passo ao longo de X e Y (ambos positivos)

o Qualquer passo entre furos é aceitável dentro das capacidades da máquina

o A localização do primeiro furo deve ser conhecida Coordenadas XY

o O primeiro furo é o canto inferior esquerdo do padrão o A deve ser conhecido

direção da usinagem é CCW X+ Y+ X- Y

Na macro, o elemento chave será evitar cortar qualquer buraco de canto duas vezes. Isso pode ser
alcançado programando L0 ou K0 no ciclo fixo chamado. A partir dessas condições selecionadas, o
como as assinaturas no bloco de chamada de macro G65 podem agora ser definidas.

A Figura 36 mostra a definição visual de todas as variáveis necessárias.

Copyright 2005, Industrial Press Inc., Nova York, NY - www.industrialpress.com


Machine Translated by Google Macros personalizadas CNC da FANUC

MACROS PARA USINAGEM 227

MACRO O8103
Em (#21)

Eu (#4)

Macro de padrão de furo de quadro

VAR # Descrição

J (#5) X 24 Coordenada X do orifício inferior esquerdo

Y 25 Coordenada Y do furo inferior esquerdo

U 21 Número de furos horizontais

V 22 Número de furos verticais

I 4 EQSP passo horizontal


X(#24) Y(#25)
J 5 EQSP passo vertical

G65 P8103 X-Y-U-V-I-J


Figura 36

Dados variáveis para padrão de estrutura de furos - Macro O8103

Neste exemplo, foi adicionada a localização absoluta dos eixos X e Y, tornando o usuário em -
colocar um pouco mais longo, mas a macro resultante que é muito mais flexível. Entendendo como isso
a localização inicial é usada na macro (qualquer macro), apresenta uma oportunidade para atualizar o anterior
lugar de exame macro para o padrão de furo angular (se ele fornecer ben ele se encaixa). A re ção de usinagem
em torno da periferia do padrão é estritamente arbitrária e não tem impacto real na usinagem real. No
neste ponto, as variáveis podem ser assinadas - novamente, usando algum método lógico e conveniente.

Dados Variáveis para Padrão de Furo de Quadro

Serão definidas as seguintes características do padrão:

o Localização X absoluta do orifício inferior esquerdo . . . letra X atribuída (variável nº 24)


o Localização Y absoluta do orifício inferior esquerdo . . . letra Y atribuída (variável #25)

o Número de furos - ao longo do eixo . . . letra U atribuída (variável #21)

X o Número de furos - ao longo do . . . letra V atribuída (variável #22)

eixo Y o Espaçamento entre furos . . . letra I atribuída (variável #4)

(passo X) o Espaçamento entre furos (passo Y) . . . letra J atribuída (variável nº 5)

A implementação do ciclo fixo adequado deve ser convocada no programa principal, com a
dados necessários (X e Y podem ser omitidos), mas devem ser programados com o modo L0 ou K0
(dependendo do sistema de controle). A programação é baseada no programa zero estar no
canto inferior esquerdo e a parte superior da peça.

Copyright 2005, Industrial Press Inc., Nova York, NY - www.industrialpress.com


Machine Translated by Google Macros personalizadas CNC da FANUC

228 Capítulo 20

O0023 (PROGRAMA PRINCIPAL)


N1 G21 Modo métrico
N2 G90 G00 G54 X0 Y0 S800 M03 Qualquer movimento X e/ ou Y pode ser incluído
N3 G43 Z25.0 H01 M08 Deslocamento do comprimento da ferramenta + folga acima
N4 G99 G81 R2,5 Z-14,7 F150,0 L0 Sem usinagem, mas com dados de ciclo memorizados
N5 G65 P8103 X10.0 Y9.5 U6 V5 I16.0 J14.0 Macro chamada com atribuições
N6 G80 Z25.0 M09 Retorno G90 omitido propositalmente (ver macro)
N7 G28 Z25.0 M05 ao zero máquina
N8 M01 Fim da ferramenta atual

O8103 (MACRO DE PADRÃO DE FURO DE ESTRUTURA)


#10 = #4003 Armazenar a configuração atual de G90 ou G91
SE[#4 AND 0] GOTO9101 Alarme se não estiver definido (espaçamento entre furos em X)
SE[#5 AND 0] GOTO9101 Alarme se J não estiver definido (espaçamento entre furos em Y)
SE[#21 LT 2] GOTO9102 Alarme se U menor que 2 (mínimo de 2 furos horizontais)
IF[#21 NE FUP[#21]] GOTO9103 Alarme se U usar um ponto decimal (número de furos horizontais)
SE[#22 LT 2] GOTO9102 Alarme se V menor que 2 (mínimo de 2 furos verticais)
IF[#22 NE FUP[#22]] GOTO9103 Alarme se V usa um ponto decimal (número de furos verticais)
G90 X#24 Y#25 #33 = Orifício do canto inferior esquerdo = o primeiro orifício do padrão
#21-1 Número de espaços horizontalmente (positivo)
ENQUANTO [#33 GT 0] DO1 Inicie o loop para furos horizontais positivos
G91 X#4 Incremental + linha inferior completa (à direita em X+)
#33 = #33-1 Atualizar contador
END1 Fim do ciclo
#33 = #22-1 Número de espaço verticalmente (positivo)
ENQUANTO [#33 GT 0] DO1 Inicie o loop para furos verticais positivos
Y#5 Coluna direita completa (acima em Y positivo)
#33 = #33-1 Atualizar contador
END1 Fim do ciclo
#33 = #21-1 Número de espaços na horizontal (negativo)
ENQUANTO [#33 GT 0] DO1 Inicie o loop para furos horizontais negativos
X-#4 Complete a linha inferior (à esquerda em X negativo)
#33 = #33-1 Atualizar contador
END1 Fim do ciclo
#33 = #22-1 Número de espaços na vertical (negativo)
ENQUANTO [#33 GT 1] DO1 Loop para vert. negativo buracos - ver condição - sem primeiro buraco!
Y-#5 Coluna esquerda completa (para baixo em Y negativo)
#33 = #33-1 Atualizar contador
END1 Fim do ciclo
GOTO9999 Ignorar todos os alarmes se a entrada de dados na chamada de macro G65 estiver correta

N9101 #3000 = 101 (ESPAÇAMENTO DE FUROS MUITO PEQUENO) Gera o número de alarme 101 ou 3101
N9102 #3000 = 102 (MÍNIMO DE DOIS FUROS NECESSÁRIOS) Gera o número de alarme 102 ou 3102
N9103 #3000 = 103 (PONTO DECIMAL NÃO PERMITIDO) Gera o alarme número 103 ou 3103
N99999 G#10 Configuração original de G90 ou G91 restaurada
M99 Fim da macro
%

Estude a declaração macro G65 - os valores de entrada são do desenho na Figura 35:

N5 G65 P8103 X10.0 Y9.5 U6 V5 I16.0 J14.0

Copyright 2005, Industrial Press Inc., Nova York, NY - www.industrialpress.com


Machine Translated by Google Macros personalizadas CNC da FANUC

MACROS PARA USINAGEM 229

Existem algumas entradas de variáveis na instrução de chamada de macro que usam um ponto decimal, e há outras que
não. Estas são as duas opções disponíveis. Como as variáveis U6 e V5 são usadas apenas para contagem de furos (esse tipo
de variável é chamada de contador em uma macro), elas podem ser programadas sem ponto decimal, usando o ger para
tapete em colocar. As variáveis X10.0 Y9.5 I16.0 e J14.0 são todas variáveis dimensionais e o ponto decimal deve ser
programado, utilizando o número real inserido. Caso contrário, X10 será interpretado como X0.010, Y95 como Y0.095, I16
como I0.016 e J14 como J0.014 - isso deve ser um conhecimento comum do treinamento básico do CNC.

2 Notas de referência:

Uma entrada inteira significa que o ponto decimal não está disponível e/ou não é necessário, como para contar as repetições
de certas atividades dentro da macro. Número real inserido significa que o valor da variável definido na instrução G65 requer
um ponto decimal, ou pelo menos pode usar um, se necessário. Nesse caso, a entrada decimal é fundamental, por exemplo,
para representar um número fracionário em um formato decimal. Os números reais não são normalmente usados como
contadores.

Padrão de círculo de furo de parafuso

Ambos os exemplos anteriores mostraram como é estabelecido o fluxo lógico de uma macro relativamente simples. Esses
conceitos básicos são extremamente importantes, pois serão usados muitas vezes de uma forma ou de outra em quase todas
as macros. Com efeito, serão a base de um macrodesenvolvimento de sucesso para aplicações mais complexas. Este
macroexemplo atual de um padrão circular de buraco de parafuso é bastante simples de uma maneira, mas poderia ser muito
especial de muitas outras maneiras e por apenas uma razão - oferece uma grande quantidade de flexibilidade. Segue-se uma
macro semelhante para um padrão de orifício de arco. Programar um padrão de círculo de furo de parafuso usando o método
manual não é um trabalho difícil, mas pode ser demorado e certamente sujeito a erros. Alguns programadores usam um
utilitário autônomo, outros podem desenvolver um programa de planilha para o círculo de bothole. No CNC, usar uma macro
verificada para esta tarefa não é apenas conveniente, mas também econômico em termos de produtividade.

A Figura 37 mostra um desenho típico de um padrão de furo de parafuso. Há seis furos igualmente espaçados
dentro de 360°, e o primeiro furo está localizado em um determinado ângulo.

Ø8 ATÉ
6 BURACOS EQSP Figura 37

Exemplo de um desenho para um padrão de

círculo de furo de parafuso típico


Ø49 BC

50

Material: Placa de alumínio 100 x 75 x 12 mm

Copyright 2005, Industrial Press Inc., Nova York, NY - www.industrialpress.com


Machine Translated by Google Macros personalizadas CNC da FANUC

230 Capítulo 20

O padrão do furo do parafuso é muito provavelmente o exemplo mais comum usado em vários macros tu to rials - e há
uma razão muito válida para isso. Praticamente todo programador CNC, mesmo um iniciante, encontrará um padrão de
círculo de furo de parafuso mais cedo ou mais tarde, enquanto programa fresadoras CNC e centros de usinagem. Todo
maquinista CNC contratado para aplicações de fresamento provavelmente já teve a oportunidade de utilizar um círculo
de furo de parafuso pelo menos uma vez. O que torna o padrão do círculo do furo do parafuso tão especial? Antes de
continuar lendo, avalie o desenho de amostra de um padrão de círculo de furo de parafuso, ilustrado na Figura 37.

Um verdadeiro padrão de furos deve incluir vários recursos críticos que estão presentes em todos os desenhos desse
grupo de padrões. No caso de um padrão de furo de parafuso, existem pelo menos três características críticas que estão
sempre presentes, mas podem variar de um desenho para outro, dependendo do projeto de engenharia:

o Localização do centro do furo do parafuso ... X50.0Y37.5 no exemplo ... 49 mm no

o Diâmetro do círculo do parafuso = Diâmetro do círculo de passo (BCD exemplo ... usa a abreviatura EQSP

ou PCD) o Número de furos igualmente espaçados

Outra característica importante do projeto macro é a posição angular do primeiro furo. A maioria dos padrões deste
tipo tem o primeiro furo alinhado na 'posição das três horas', que é em si uma posição angular - a zero grau. Uma macro
de padrão de furo de parafuso pode ser projetada de tal forma que a localização do primeiro furo seja sempre considerada
em zero grau. Este design torna a macro um pouco mais fácil de desenvolver, mas também fornece aplicações bastante
limitadas. Incluir o ângulo do primeiro furo na chamada da macro - mesmo que esteja em zero grau - aumenta muito a
flexibilidade da macro e sua utilidade -
ness.

O conceito básico deste projeto deve ser bastante fácil de entender - o desenvolvimento real segue o pensamento
lógico inicial. Com mais recursos adicionados à macro, o processo de programação inevitavelmente se tornará mais
envolvido e mais complexo e terá que ser rigorosamente controlado. O benefício mais importante de tal abordagem é que
o esforço extra produzirá uma macro muito útil que pode ser usada para uma variedade de designs de círculo de parafuso.
Tal macro pode literalmente economizar centenas de horas de programação quando os aplicativos certos estão presentes.

A partir desta descrição detalhada da abordagem ao macrodesenvolvimento, podem ser identificados pelo menos dois
métodos de macrodesenvolvimento do círculo de furos de parafuso:

o Uma macro que fará apenas um padrão de círculo de parafuso ... uma abordagem simples ...

fixo o Uma macro que adicionará flexibilidade ao padrão de círculo de parafuso uma abordagem mais avançada

Em ambos os casos, há as decisões usuais - e sempre necessárias - a serem tomadas, aquelas que dizem respeito a
todas as condições básicas, restrições e outros requisitos de projeto. O programador sempre faz com que essas decisões
sejam escritas antes de um único bloco da macro. Para o padrão de círculo de furo de parafuso ilustrado, a macro
correspondente será baseada nestas condições, restrições e decisões:

o O diâmetro do furo do parafuso (diâmetro do passo) deve ser sempre conhecido, juntamente com suas coordenadas

absolutas do centro o Todos os furos dos parafusos são espaçados igualmente dentro do padrão do círculo do parafuso

(medição angular) o Qualquer número de furos é aceitável (dentro das capacidades da máquina) - mínimo de dois o A

localização angular do primeiro furo pode ser em qualquer lugar de zero graus (posição das 3 horas) o A direção da

usinagem é do primeiro furo na direção anti-horária (decisão arbitrária) o Macro deve estar disponível para qualquer seleção

de ciclo fixo

Um planejamento inicial minucioso é essencial - pode ser muito difícil, até mesmo impossível, adicionar um recurso
ou dois para uma macro existente mais tarde.

Copyright 2005, Industrial Press Inc., Nova York, NY - www.industrialpress.com


Machine Translated by Google Macros personalizadas CNC da FANUC

MACROS PARA USINAGEM 231

Condições avançadas adicionais podem ser aplicadas ao projeto macro, se necessário:

o Qualquer número de furos é aceitável (dentro das capacidades de usinagem) - incluindo o mínimo de um
o Os orifícios iniciais podem ser ignorados, resultando em um padrão de orifício em arco - em vez de um padrão de orifício de círculo completo

2 Nota de referência:

O padrão de arco é definido como uma porção de um padrão de círculo. Tipicamente, é definido pelo seu primeiro furo e pelo
incremento angular entre furos igualmente espaçados. Para ver a diferença, compare o padrão do arco -
ca pa bilidades de abertura do padrão do círculo do furo do parafuso (esta seção) e do padrão do furo do arco (seção seguinte).

Dados variáveis para padrão de círculo de furo de parafuso

As seguintes características do padrão do círculo do furo do parafuso serão definidas - Figura 38:

o Diâmetro do círculo completo do furo do parafuso . . . letra W atribuída (variável #23)


o Localização X absoluta do centro . . . letra X atribuída (variável nº 24)
o Localização em Y absoluta do centro . . . letra Y atribuída (variável #25)
o Número de furos EQSP . . . letra H atribuída (variável #11)

o Ângulo do primeiro furo . . . letra A atribuída (variável #1)

o Número do furo inicial (padrão=1) . . . letra S atribuída (variável #19)

Padrão de círculo de furo de parafuso - definições MACRO O8104


FOI # Descrição
n=n+1
X 24 Localização central absoluta em X
n=1
R Y 25 Localização central absoluta em Y
UMA
Dentro

W 23 Diâmetro do círculo do parafuso


E (#25) 0°
R n/D Raio do círculo do parafuso (#23/2)

H 11 Número de furos EQSP

n=H-1 A 1 Ângulo do primeiro furo de 0°

B n/D Ângulo entre furos (360/#11)

S 19 Número do furo para começar

Coordenadas X e Y - qualquer buraco:

X = cos((n-1) * B + A) * R + #24
Em (# 23)
Y = sin((n-1)* B + A) * R + #25
n = Contador de furos (CCW de 0°)
n=1 para o furo 1, n=2 para o furo 2, etc.

G65 P8104 X-Y-W-H-A-S


Figura 38

Atribuição de variáveis para um padrão de círculo de furo de parafuso típico - Macro O8104

Copyright 2005, Industrial Press Inc., Nova York, NY - www.industrialpress.com


Machine Translated by Google Macros personalizadas CNC da FANUC

232 Capítulo 20

Embora o conceito desta macro possa precisar de algum esforço para entendê-la completamente, alguns
pontos podem ajudar. Em primeiro lugar, observe a entrada do BCD - Bolt Circle Di am e ter - internamente, no
macro, o diâmetro é irrelevante - é o raio que é necessário dentro da macro para cálculos.
No entanto, é o valor do diâmetro que é a maneira normal de dimensionar o desenho, então deve ser o valor do
diâmetro que é colocado nas definições da variável G65 (variável R na figura acima
na verdade não é usado - em vez disso, a variável W é redefinida, para economizar recursos de memória do controle
sistema. Uma outra variável necessária para os cálculos (mas não definida como uma atribuição) é
identificado como B apenas na ilustração e aninhado internamente na macro.

Para referência final, o topo acabado da peça é o programa zero para o eixo Z (Z0). X0Y0 está localizado no canto
inferior esquerdo (mas pode estar em qualquer lugar). O programa principal a seguir reflete o círculo do parafuso
Desenho ilustrado ilustrado na Figura 37:

O0024 (PROGRAMA PRINCIPAL)


N1 G21 Modo métrico
N2 G90 G00 G54 X0 Y0 S1200 M03 Primeiro bloco de movimento + velocidade do fuso
N3 G43 Z10.0 H01 M08 Deslocamento do comprimento da ferramenta + folga acima
N4 G99 G82 R1.0 Z-15.9 P300 F225.0 L0 Dados de chamada de ciclo fixo - sem usinagem (ou K0)
N5 G65 P8104 X50.0 Y37.5 W49.0 H6 A1.0 S1 Chamada de macro com atribuições - círculo completo
N6 G80 Z10.0 M09 Retorno Retrair acima do trabalho
N7 G28 Z10.0 M05 ao zero máquina
N8 M01 Fim da ferramenta atual
...
%

O8104 (MACRO DE CÍRCULO DE FURO DE Número e descrição da macro


PARAFUSO) #10 = #4003 Armazenar a configuração atual de G90 ou G91
SE[#23 AND 0] GOTO9101 O diâmetro do círculo do parafuso deve ser maior que zero
SE[#11 NE FUP[#11]] GOTO9102 Não são permitidas frações para o número de buracos
SE[#11 LE 0] GOTO9103 O número mínimo de furos é um
SE[#19 EQ #0] ENTÃO #19 = 1 Número do furo inicial = 1 (um) se não especificado
SE[#19 NE FUP[#19]] GOTO9102 Não são permitidas frações para o número do buraco inicial
SE[#19 LT 1] GOTO9104 O número do furo inicial deve ser um ou maior
SE[#19 GT #11] GOTO9105 #23 = #23/2 O número do furo inicial deve ser menor que todos os furos

Alterar o diâmetro do círculo do parafuso para raio


ENQUANTO[#19 LE #11] DO1 #30 Iniciar loop para furos
= [#19-1]*360/#11+#1 Calcular o ângulo do furo atual
X[COS[#30]*#23+#24] Y[SIN[#30]*#23+#25] Calcular a localização atual dos furos X e Y
#19 = #19+1 Atualizar contador para o loop
END1 Fim do ciclo
GOTO9999 Ignorar mensagens de alarme
N9101 #3000=101 (DIA DEVE SER GT 0) Alarme número 101 ou 3101
N9102 #3000=102 (DADOS DE FUROS DEVEM SER INTEIROS) Número de alarme 102 ou 3102
N9103 #3000=103 (SOMENTE NÚMERO DE FUROS POSITIVO) Número de alarme 103 ou 3103
N9104 #3000=104 (O FURO DE INÍCIO DEVE SER INTEIRO) Número de alarme 104 ou 3104
N9105 #3000=105 (NÚMERO DE FURO DE PARTIDA MUITO ALTO) Número de alarme 105 ou 3105
N99999 G#10 Restaurar código G modal
M99 Fim da macro
%

Copyright 2005, Industrial Press Inc., Nova York, NY - www.industrialpress.com


Machine Translated by Google Macros personalizadas CNC da FANUC

MACROS PARA USINAGEM 233

Uma das características mais interessantes da macro é a utilização de um valor padrão (6º bloco de macro):

SE[#19 EQ #0] ENTÃO #19 = 1 Número do furo inicial = 1 (um) se não especificado

Na variável G65 como sinal está a variável S, como valor com sinal de 1, ou seja, S1. Esta variável controla o número do furo no
qual a macro é iniciada. Para um padrão de furo de círculo completo, a variável será sempre 1, porém, para um padrão de arco
apenas, será maior que 1. Como os padrões de círculo de parafuso são mais comuns que os padrões de arco, a macro fornece um
padrão - se a atribuição da variável S não for especificada na chamada da macro G65 , o valor de um será automaticamente
fornecido pela declaração acima dentro da macro. Note que nem todos os controles aceitam o argumento IF-THEN , caso em que
quanto mais complicado alguma combinação IF e GOTOn terá que ser usada.

Para resumir esse recurso padrão, ambas as declarações G65 a seguir atingirão um padrão de círculo de parafuso completo,
começando no primeiro furo:

N5 G65 P8104 X50.0 Y37.5 W49.0 H6 A1.0 S1 Chamada de macro com atribuições - círculo completo

N5 G65 P8104 X50.0 Y37.5 W49.0 H6 A1.0 Chamada de macro com atribuições - círculo completo

A própria macro pode ser usada de maneira muito flexível. Com um uso inovador e criativo das variáveis H, A e S, qualquer furo
pode ser o primeiro furo, qualquer número de furos pode ser especificado, desde que estejam localizados em um círculo do parafuso.
Um círculo de parafuso com um número par de furos igualmente espaçados oferece mais flexibilidade do que um círculo de parafuso
com um número ímpar de furos igualmente espaçados.

Padrão de orifício de arco

Cer tas aplicações de usinagem de furos não exigem um padrão de círculo de furo de parafuso completo, apenas uma parte dele.
Este padrão de orifício de arco de orifícios igualmente espaçados ao longo de um arco é muito semelhante ao padrão de círculo de
orifício de parafuso, mas não cobre todo o círculo de 360°. O incremento angular entre furos é fornecido no desenho e deve sempre
fazer parte da macro chamada como sinais.

A Figura 39 ilustra um padrão típico de orifício de arco:

Ø3 ATÉ
Figura 39
5 BURACOS EQSP

Ø49 Exemplo de um desenho para um padrão


24° 24° de furo de arco típico
BCD
24°

24°

37,5

Material: Placa de alumínio 100 x 75 x 12 mm

Copyright 2005, Industrial Press Inc., Nova York, NY - www.industrialpress.com


Machine Translated by Google Macros personalizadas CNC da FANUC

234 Capítulo 20

Em comparação, a macro de furo de parafuso na seção anterior pode pular certos furos, com base apenas em
o 'número do furo para começar' (como sinal S=#19). Ele sempre vai pular buracos começando no primeiro
furo do padrão. Embora útil para muitas aplicações práticas de usinagem, a macroestrutura
não permite maior flexibilidade no controle do padrão de furo real. O padrão de orifício de arco
a macro foi desenhada especí camente para fazer padrões de furos com o incremento angular dado que forma um
padrão de furos na faixa inferior a 360° (a variável como sinal S é
não é necessário neste caso).

Dados variáveis para padrão de orifício de arco

As seguintes características do padrão de arco serão definidas:

o Diâmetro do círculo parcial do furo do . . . letra W atribuída (variável #23)

parafuso o Localização X absoluta do centro . . . letra X atribuída (variável nº 24)

o Localização em Y absoluta do centro . . . letra Y atribuída (variável #25)

o Número de furos EQSP . . . letra H atribuída (variável #11)

o Ângulo do primeiro furo o . . . letra A atribuída (variável #1)

Incrementar o ângulo entre os furos . . . letra I atribuída (variável #4)

2 SUGESTÃO: Estude os mac ros O8104 e O8105 até o último detalhe

H MACRO O8105
EU

EU
Padrão de buraco de arco - definições

FOI # Descrição

X 24 Localização central absoluta em X


R n=1 UMA

Y 25 Localização central absoluta em Y


E (#25) 0°
W 23 Diâmetro do círculo do parafuso

R n/D Raio do círculo do parafuso (#23/2)

H 11 Número de furos EQSP

A 1 Ângulo do primeiro furo de 0°

EU 4 Ângulo entre furos

Coordenadas X e Y - qualquer buraco:

X = cos((n-1) * Eu + A) * R + #24
Em (# 23)
Y = sin((n-1)* Eu + A) * R + #25
n = Contador de furos (CCW de 0°) n=1 para o furo 1, n=2 para o furo 2, etc.

G65 P8105 X-Y-W-H-A-I-


Figura 40

Atribuição de variáveis para um padrão de furo de arco típico - Macro O8105

Copyright 2005, Industrial Press Inc., Nova York, NY - www.industrialpress.com


Machine Translated by Google Macros personalizadas CNC da FANUC

MACROS PARA USINAGEM 235

O0025 (PROGRAMA PRINCIPAL)


N1 G21 Modo métrico
N2 G90 G00 G54 X0 Y0 S1200 M03 Primeiro bloco de movimento + velocidade do fuso
N3 G43 Z10.0 H01 M08 Deslocamento do comprimento da ferramenta + folga acima
N4 G99 G82 R1.0 Z-14.4 P300 F225.0 L0 Dados de chamada de ciclo fixo - sem usinagem (ou K0)
N5 G65 P8105 X37.5 Y25.0 W49.0 H5 A10.0 I24.0 Chamada macro com atribuições - ARC
N6 G80 Z10.0 M09 Retrair acima do trabalho
N7 G28 Z10.0 M05 Retornar ao zero da máquina
N8 M01 Fim da ferramenta atual
...

O8105 (MACRO DE PADRÃO DE FURO DE ARCO) Número e descrição da macro


#10 = #4003 Armazenar a configuração atual de G90 ou G91
IF[#24 EQ #0] THEN #24 = 0 Se a atribuição X estiver ausente, X=0,0
IF[#25 EQ #0] THEN #25 = 0 Se a atribuição Y estiver ausente, Y=0,0
IF[#23 EQ #0] GOTO9101 ERRO se o DIÂMETRO estiver ausente
IF[#11 EQ #0] GOTO9102 ERRO se NUMBER OF HOLES estiver faltando
IF[#1 EQ #0] GOTO9103 ERRO se estiver faltando HOLE 1 ANGLE
IF[#4 EQ #0] GOTO9104 IF[#23 LE ERRO se ANGLE INCREMENT estiver ausente
0] GOTO9105 Diâmetro do padrão do arco maior que zero
IF[#11 NE FUP[#11]] GOTO9106 Não são permitidas frações para o número de buracos
IF[#11 LE 0] GOTO9107 O número mínimo de furos é um
#23 = #23/2 Alterar o diâmetro do padrão de arco para raio
#19 = 1 Iniciar contador de furos
WHILE[#19 LE #11] DO1 #30 = Iniciar loop para furos
[#19-1]*#4+#1 Calcular o ângulo do furo atual
X[COS[#30]*#23+#24] Y[SIN[#30]*#23+#25] Calcular a localização atual dos furos X e Y
#19 = #19+1 Contador de atualização para o loop
END1 Fim do ciclo
GOTO9999 Ignorar mensagens de alarme
N9101 #3000=101 (SEM DIÂMETRO) BCD não especificado
N9102 #3000=102 (SEM NÚMERO DE FUROS) Número de furos não especificado
N9103 #3000=103 (SEM FURO 1 ÂNGULO) Ângulo do primeiro furo não especificado
N9104 #3000=104 (SEM INCREMENTO DE ÂNGULO) Ângulo de incremento não especificado
N9105 #3000=105 (DIA DEVE SER GT 0) BCD deve ser maior que zero
N9106 #3000=106 (INTERGER INPUT REQUIRED) O número de furos não pode ter ponto decimal
N9107 #3000=107 (SOMENTE NÚMERO POSITIVO) O número de furos pode ser um ou maior
N99999 G#10 Restaurar código G modal
M99 Fim da macro
%

Há um novo recurso na macro - uma verificação contra 'sem entrada'. Se uma ou mais variáveis forem
faltando na chamada de macro como assinatura, a macro não pode ser executada corretamente. Em alguns casos, o
macro será executada, mas com resultados indesejáveis. Para evitar possíveis situações perigosas,
a presença de cada assinatura será verificada. Em mac ros, qualquer variável não definida é uma variável vazia - ou nula
(descrita anteriormente). Uma variável nula é definida como #0. O método de verificação para um
A variável conforme a assinatura mostrada aqui pode ser adicionada a qualquer macro. A macro acima também aborda o
é devido ao centro do padrão de arco estar em X0Y0. Se o X e/ou Y não for fornecido, será
ser definido como X0 e/ou Y0 através da macro.

Copyright 2005, Industrial Press Inc., Nova York, NY - www.industrialpress.com


Machine Translated by Google Macros personalizadas CNC da FANUC

236 Capítulo 20

Desbaste de Bolso Circular

Uma macro de usinagem que pode ser usada especificamente para a remoção de material de uma área
circular interna (bolsa circular) pode ter muitas variações. O objetivo deste exemplo é cobrir as operações de
desbaste, onde o diâmetro final do bolsão é definido como um diâmetro bruto. O desenho na Figura 41 mostra
um bolso de amostra usado para o exemplo de chamada de macro.

12
Figura 41

Exemplo de um desenho para um

Ø49 desbaste de bolsão circular típico

50 7,5

Material: Placa de alumínio 100 x 75 x 12 mm

Como em todos os exemplos anteriores, certas decisões, condições e restrições devem ser impostas:

o O diâmetro do bolsão deve ser conhecido o Apenas diâmetro aproximado necessário especificado em G65

uma única profundidade Z pode ser aplicada o A sem degraus na parte inferior

localização do centro do bolsão deve ser conhecida Coordenadas XY o A largura de


cada corte deve ser selecionada o chamado valor de passo lateral

o Direção do centro de usinagem no X+, então o círculo completo o Número de correção


ferramenta deve serdoinserido
raio da em G65 não um

valor de raio - somente o número de correção o Avanço de corte deve ser inserido na atribuição da instrução G65 F (#9 )

Para acomodar mais flexibilidade dentro da macro, serão necessárias configurações iniciais adicionais. A
melhoria mais importante da macro será a adição da profundidade de corte segmentada. Esta adição trará um
poder extra para a macro, permitindo cortar um bolsão profundo em segmentos de profundidade calculados, em
vez de em profundidade total. No entanto, a macro não exigirá a especificação da profundidade de cada corte
(variável conforme designação), caso em que a profundidade total será atingida pela ferramenta de corte no
início da macro.

Outra melhoria da macro é um recurso adicional que permite que a macro seja usada para um desenho que
usa dimensões métricas, bem como para um desenho desenhado em unidades inglesas (polegadas).
Este recurso afetará apenas a folga acima da peça, que não está especificada no bloco de atribuição de macro
G65. Outras dimensões de desenho devem ser inseridas em suas respectivas unidades dentro da chamada de
macro bloco G65 . É claro que qualquer outra macro pode usar a mesma técnica e até amplia-la. Outras
técnicas, já apresentadas, também podem ser utilizadas. A programação é baseada no zero do programa
estando no canto inferior esquerdo e no topo da peça acabada.

Após estas considerações, as variáveis que deverão ser definidas podem agora ser atribuídas.

Copyright 2005, Industrial Press Inc., Nova York, NY - www.industrialpress.com


Machine Translated by Google Macros personalizadas CNC da FANUC

MACROS PARA USINAGEM 237

Dados variáveis para desbaste de bolso circular

O desbaste de bolsões circulares inclui muitas configurações que mudam de trabalho para trabalho. Um bom planejamento é
importante e quando concluído, os seguintes recursos serão definidos para desenvolver um macropercurso para um desbaste
de bolsão circular:

o Centro de bolso como localização X absoluta . . . letra X atribuída (variável nº 24)


o Centro de bolso como localização Y absoluta . . . letra Y atribuída (variável #25)

o Profundidade final do . . . letra Z atribuída (variável #26)


bolsão o Diâmetro final do bolsão . . . letra D atribuída (variável #7)

o Profundidade de cada . . . letra K atribuída (variável #6)


corte o Largura de cada corte . . . letra W atribuída (variável #23)
o Número de compensação da ferramenta . . . letra T atribuída (variável nº 20)

o Velocidade de corte . . . letra F atribuída (variável nº 9)

Se o K (#6) for omitido, a macro cortará em toda a profundidade, conforme especificado no sinal Z (#26).
Essa macro também é um bom exemplo de uso de dois loops simultaneamente - um loop dentro de um loop.

A Figura 42 mostra uma representação gráfica das variáveis usadas para desbaste circular de bolso -
macro. Observe que a variável comum #120 é definida como um valor calculado dentro do
macro, com base no raio da ferramenta armazenado no número de offset identificado pela variável T (#20).

MACRO O8106
D (#7)

#120 Bolsão circular - macro de desbaste

FOI # Descrição

X 24 Localização central absoluta em X

Y 25 Localização central absoluta em Y

Z 26 Profundidade do bolso
E (#25)
D 7 Diâmetro da bolsa (inicial)

D 7 Raio de bolso #7/2 - aplicado

K 6 Profundidade de cada corte (eixo Z)

W 23 Largura de corte (típica)


#4
Em (# 23) n/D 4 Raio final calculado para cortar
(MODELO.)
T 20 Número de correção do raio da ferramenta

F 9 Avanço de corte

G65 P8106 X-Y-Z-D-K-W-T-F


Figura 42

Atribuição de variáveis para um desbaste típico de bolsão circular - Macro O8106

Copyright 2005, Industrial Press Inc., Nova York, NY - www.industrialpress.com


Machine Translated by Google Macros personalizadas CNC da FANUC

238 Capítulo 20

O0026 (PROGRAMA PRINCIPAL)


N1 G21 Modo métrico
N2 G90 G00 G54 X0 Y0 S1200 M03 Qualquer local de primeiro movimento com velocidade do fuso
N3 G43 Z25.0 H05 M08 Correção do comprimento da ferramenta + folga inicial acima da peça
N4 G65 P8106 X50.0 Y3.75 Z7.5 D49.0 K2.5 W4.0 T5 F500.0 Chamada de macro
N5 G80 Z25.0 M09 Retrair para a posição inicial
N6 G28 Z25.0 M05 Retornar ao zero da máquina
N7 M01 Fim da ferramenta atual
...
%

O8106 (MACRO DE BOLSO CIRCULAR DE DESBASTE) Número e descrição da macro


IF[#7 EQ #0] GOTO9101 O diâmetro do bolsão deve ser definido
IF[#20 EQ #0] GOTO9102 O número de correção da ferramenta deve ser definido
IF[#23 EQ #0] GOTO9103 A largura de corte deve ser definida
IF[#26 EQ #0] GOTO9104 A profundidade do bolsão deve ser definida
IF[#9 EQ #0] GOTO9105 O avanço de corte deve ser definido
#10 = #4003 Armazenar a configuração atual de G90 ou G91
#7 = ABS[#7/2] Altere o diâmetro do bolso definido. para pos. raio de bolso
#120 = [ABS[#[2400+#20]+#[2600+#20]]] Recuperar abs armazenado. valor do corretor de ferramenta selecionado
IF[#120 GE #7] GOTO9106 O valor de compensação não pode ser GE o raio do bolsão
#26 = ABS[#26] Garanta que a profundidade Z seja um valor positivo
#126 = #4006 Verifique as unidades atuais (inglês G20 ou Métrico G21)
SE [#126 EQ 20.0] ENTÃO #126 = 0,1 A folga acima do trabalho é de 0,1 polegada para G20
SE [#126 EQ 21.0] ENTÃO #126 = 2.0 A folga acima do trabalho é de 2 mm para G21
G90 G00 X#24 Y#25 Rápido para iniciar a posição X e Y
Z#126 Rápido para iniciar a posição Z (acima do centro do bolsão)
G01 Z0 F[#9/2] Alimentar para a posição inicial absoluta Z0
#16 = #26 Armazena a profundidade total em um registro separado
IF[#6 EQ #0] GOTO1 Desvio para o padrão se a profundidade de corte não for definida
#6 = ABS[#6] Garanta que a profundidade Z seja um valor positivo
GOTO2 Ignorar a configuração de profundidade total

N0001 #6 = #26 Se a profundidade de corte não for definida, use a profundidade total

N0002 #4 = #7-#120 Calcular o raio de corte final


ENQUANTO [#16 GE #6] DO1 #33 = Este loop controla a profundidade de corte
#23 Largura inicial do corte (= raio do primeiro círculo)
G91 G01 Z-#6 F[#9/2] Avançar até a profundidade atual em metade da velocidade de avanço

ENQUANTO [#33 LT #4] DO2 O raio de corte deve ser menor que o raio final
G90 G01 X[#24+#33] F#9 Passo para o próximo raio de corte
G03 I-#33 #33 Cortando o raio do círculo atual
= #33+#23 Aumente o raio de corte pela largura de corte
END2 Fim do loop 2
G90 G01 X[#24+#4] F#9 Aproximação do raio de corte final - profundidade atual
G03 I-#4 Corte último raio (diâmetro final) - profundidade atual
G01 X#24 F[#9*3] #16 = Retroalimentação rápida para o local de início X - profundidade atual
#16-#6 Nova profundidade de corte
END1 Fim do loop 1
SE [#16 AND 0] GOTO9000 Ramificar para retrair se a profundidade do bolsão for 0 ou negativa
G91 G01 Z-#16 F[#9/2] Avançar até a profundidade atual em metade da velocidade de avanço

Copyright 2005, Industrial Press Inc., Nova York, NY - www.industrialpress.com


Machine Translated by Google Macros personalizadas CNC da FANUC

MACROS PARA USINAGEM 239

#33 = #23 Largura inicial do corte (= primeiro círculo rad.) última profundidade
ENQUANTO [#33 LT #4] DO1 O raio de corte deve ser menor que o raio final
G90 G01 X[#24+#33] F#9 Passo para o próximo raio de corte
G03 I-#33 #33 Cortando o raio do círculo atual
= #33+#23 Aumente o raio de corte pela largura de corte
END1 Fim do loop 1
G90 G01 X[#24+#4] F#9 Aproximação final do raio de corte - última profundidade
G03 I-#4 Corte último raio (diâmetro final) - última profundidade
G01 X#24 F[#9*3] Retroalimentação rápida para o local de início X - última profundidade

N9000 G00 Z # 126 Retrair do centro acima do bolso


GOTO9999 Ignorar mensagens de alarme
N9101 #3000=101 (SEM DIÂMETRO DE BOLSO) Número de alarme 101 ou 3101
N9102 #3000=102 (SEM T-OFFSET) Alarme número 102 ou 3102
N9103 #3000=103 (SEM LARGURA DE CORTE) Alarme número 103 ou 3103
N9104 #3000=104 (SEM PROFUNDIDADE DE BOLSO) Alarme número 104 ou 3104
N9105 #3000=105 (SEM ALIMENTAÇÃO) Alarme número 105 ou 3105
N9106 #3000=106 (RAIO DA FERRAMENTA MUITO GRANDE) Número do alarme 106 ou 3106
N99999 G#10 Restaurar código G modal
M99 Fim da macro
%

Fresa de topo de corte centralizado ou uma ferramenta similar deve ser usada para atender aos requisitos do programa,
menos o centro da bolsa circular está aberto (em vez de sólido). Observe também a modificação do
avanço dentro do macroprograma, seja diminuindo-o ou aumentando-o por um dado fator. este
A aproximação pode ser aplicada a outros recursos macro, não apenas à taxa de avanço.

Quantidade de estoque restante

Em nenhum lugar da macro é especificada a quantidade de estoque a ser deixada para finalização posterior. Este valor deve
ser deixado a cargo do operador do CNC, para maior controle na máquina. Como o estoque é manuseado?
Esta é a primeira macro que usa uma variável de sistema - duas variáveis de sistema, na verdade. É importante
entenda que as variáveis do sistema dependem do sistema de controle - e seu tipo de memória de ferramenta off set,
como neste exemplo. Controles com memória tipo C e menos de 200 off sets usam a série 2401
variáveis de sistema para o conjunto Ge om e try D-off e série 2601 para o conjunto Wear D-off (consulte o Capítulo
11 para detalhes). No exemplo, como sinal T=#20=5, portanto, o conjunto 5 irá armazenar a tentativa de geometria
e as configurações de desgaste para o terreno de corte. Por exemplo, se a ferramenta for fresa de topo de Æ12 mm, o ajuste
de desvio de geometria armazenado será ajustado para o raio de corte de 6 mm e o ajuste de desgaste armazenará a quantidade
deixado para acabamento, por exemplo, 0,5 mm. A variável #120 controla apenas o último corte circular,
o que torna o tamanho final do bolso. O sistema de controle irá interpretar o bloco

#120 = [ABS[#[2400+#20]+#[2600+#20]]] ... Como ...

#120 = [ABS[#[2400+5]+#[2600+5]]] = [#2405+#2605] = [6,0+0,5] = 6,5

Como o raio de corte real é de 6 mm, mas o ajuste de desgaste é adicional de 0,5 mm, o diâmetro do bolsão completo será
1 mm menor e deverá medir Æ48 mm. Se o desgaste ajustado em 5 em
o controle for zerado, o bolsão será finalizado no tamanho, conforme desenho.

Copyright 2005, Industrial Press Inc., Nova York, NY - www.industrialpress.com


Machine Translated by Google Macros personalizadas CNC da FANUC

240 Capítulo 20

Acabamento de Bolso Circular

O corte de acabamento aplicado a um bolsão circular (ou a uma operação de usinagem semelhante) segue o
exemplo anterior e é o assunto principal desta macro. A macro pode ser usada sozinha ou como uma macro
seguindo a macro de desbaste de bolsão circular, descrita na seção anterior.
O desenho de exemplo na Figura 43 é semelhante ao último exemplo.

12
Figura 43

Exemplo de um desenho para um

Ø49 +0,03 -0,00 acabamento de bolsão circular típico

50 7,5

Material: Placa de alumínio 100 x 75 x 12 mm

Um típico percurso circular interno é comumente programado a partir do centro do bolsão, passando pelos
movimentos de desbaste e terminando novamente no centro. Aqui está um processo de usinagem típico:

1. A ferramenta se move para o centro do bolsão, acima da peça de trabalho

2. A ferramenta alimenta a profundidade Z

3. O deslocamento do raio do cortador é aplicado ao longo do movimento linear XY do centro

4. A ferramenta se move ao longo do arco de entrada em direção ao diâmetro do bolsão

5. O círculo completo é usinado em um bloco

6. A ferramenta se move ao longo do arco de saída para longe do diâmetro do bolsão

7. O deslocamento do raio do cortador é cancelado no movimento linear XY em direção ao centro

8. A ferramenta se retrai acima do trabalho

Esta macro usa um arco tangencial de entrada e saída automaticamente calculado (raio de mistura ) .
O mesmo percurso tangencial também pode ser adaptado a outras aplicações de acabamento, particularmente com
a finalidade de obter um melhor acabamento superficial.

NOTA - Vários sistemas de controle suportam um código G para fresar um bolsão circular, tip i camente identifi
cado como G12 (CW) e G13 (CCW). Os controles do Fanuc não possuem esse recurso embutido para uso direto,
mas o Fanuc fornece ferramentas para desenvolver o código G usando uma macro. O desenvolvimento completo
deste novo comando é descrito no próximo capítulo (Capítulo 21 - Ciclos Personalizados).

Copyright 2005, Industrial Press Inc., Nova York, NY - www.industrialpress.com


Machine Translated by Google Macros personalizadas CNC da FANUC

MACROS PARA USINAGEM 241

Dados Variáveis para Acabamento de Bolso Circular

Serão definidas as seguintes macro características de acabamento de bolsões circulares:

o Diâmetro do bolsão do . . . letra W atribuída (variável #23)

círculo o Localização X absoluta do centro . . . letra X atribuída (variável nº 24)

o Localização em Y absoluta do centro . . . letra Y atribuída (variável #25)

o Z-profundidade do bolso . . . letra Z atribuída (variável #26)

o Número de correção da ferramenta para raio . . . letra T atribuída (variável nº 20)

o Avanço de corte para perfil . . . letra F atribuída (variável nº 9)

A ilustração da Figura 44 mostra a representação pic to rial da variável como signos.

MACRO O8107

Em (# 23)
Bolso circular - macro de acabamento
#101
VAR # Descrição

X 24 Localização central absoluta em X

E (#25) Y 25 Localização central absoluta em Y

Z 26 Profundidade do bolso

W 23 Diâmetro do bolso

T 20 Número de correção do raio da ferramenta

F 9 Avanço de corte

G65 P8107 X-Y-Z-W-T-F


Figura 44

Atribuição de variáveis para um acabamento típico de bolsão circular - Macro O8107

Todas as variáveis utilizadas na macro foram criteriosamente selecionadas, com base nos procedimentos de usinagem e
vários outros fatores. O procedimento de usinagem selecionado para o acabamento do bolsão é aplicado dentro de
o macrocorpo. Como em qualquer outra macro, existem algumas condições, restrições e outros requisitos, desta vez
aplicados ao percurso de acabamento de bolsão circular:

o Bolso circular pode ter qualquer diâmetro positivo

o O centro do bolsão deve ser conhecido (incluindo X0Y0)

o A profundidade Z pode ser positiva ou negativa, mas não zero

o A localização do início do contorno é definida arbitrariamente em 90° (12 horas)

Copyright 2005, Industrial Press Inc., Nova York, NY - www.industrialpress.com


Machine Translated by Google Macros personalizadas CNC da FANUC

242 Capítulo 20

o A folga Z acima do trabalho é de 2 mm ou 0,1 polegadas (selecionada automaticamente)

o A velocidade de avanço para o avanço do eixo Z é metade da velocidade de avanço programada

o Sentido de usinagem a partir do centro no modo de fresamento concordante (G41 D..) em M03

o Os números de correção da ferramenta devem estar dentro do intervalo de 1-33

o Os deslocamentos da ferramenta usados são para o Deslocamento de Memória Tipo C - menos de 200 deslocamentos - conforme a designação de controle Fanuc

o O diâmetro da ferramenta deve ser maior que 0 e menor que o diâmetro do bolsão

o Arcos LEAD-IN e LEAD-OUT são idênticos e calculados pela macro como:

(DIÂMETRO DO BOLSO - DIÂMETRO DA FERRAMENTA) / 2

As condições adicionais só podem ser aplicadas para uma abordagem mais avançada:

o Se for necessária a limpeza do fundo durante o acabamento, o diâmetro da ferramenta deve ser POCKET DIA / 3 ou maior

o A profundidade Z escalonada pode ser adicionada à macro, se desejado

O0027 (PROGRAMA PRINCIPAL)


N1 G21 Modo métrico
N2 G90 G00 G54 X0 Y0 S800 M03 Qualquer local de primeiro movimento com velocidade do fuso
N3 G43 Z25.0 H04 M08 Deslocamento do comprimento da ferramenta com folga acima da peça

N4 G65 P8107 X50.0 Y37.5 Z7.5 W49.0 T4 F150.0 Chamada de macro com atribuições
N5 Z25.0 M09 Retrair acima do trabalho
N6 G28 Z25.0 M05 Retornar ao zero da máquina
N7 M01 Fim da ferramenta atual
%

O8107 (MACRO DE ACABAMENTO DE BOLSO CIRCULAR)


IF[#26 EQ 0] GOTO9101 A profundidade do bolsão não deve ser zero
IF[#23 LE 0] GOTO9102 O diâmetro do bolsão deve ser um valor positivo
IF[#20 LE 0] GOTO9103 Número de compensação necessário para compensação do raio de corte
IF[#20 GT 33] GOTO9104 O número máximo de deslocamentos é 33
IF[#9 EQ #0] GOTO9105 O avanço de corte deve ser definido
#120 = #[2400+#20]+#[2600+#20] Recuperar o valor armazenado do corretor de ferramenta selecionado
IF[#120 LE 0] GOTO9106 O raio do valor de compensação deve ser positivo
#23 = #23/2 Altere o diâmetro do bolsão para o raio

IF[#23 LE #120] GOTO9107 O raio do bolsão deve ser maior que o raio de deslocamento
#101 = [#23+#120]/2 Calcular o raio do arco de entrada/ saída
#10 = #4003 #26 = Armazenar a configuração atual de G90 ou G91
ABS[#26] #126 = #4006 Garanta que a profundidade Z seja um valor positivo
SE[#126 EQ 20.0] ENTÃO Verifique as unidades atuais (inglês G20 ou métrico G21)
#126 = 0.1 SE[#126 EQ 21.0] ENTÃO #126 = 2.0 G90 G00 X#24 A folga acima do trabalho é de 0,1 polegada para G20
Y#25 Z#126 G01 Z-#26 F[#9/2] A folga acima do trabalho é de 2 mm para G21
Rápido para iniciar a posição X e Y
Rápido para iniciar a posição Z (acima do centro do bolsão)
Avançar até a profundidade em metade da velocidade de avanço

G91 G41 X#101 Y[#23-#101] D#20 F#9 G03 X-#101 Y#101 I-#101 J- Movimento do centro + deslocamento do raio de corte
#23 X-#101 Y-#101 J-#101 G01 G40 X #101 Y-[#23-#101] Movimento da ferramenta de arco de entrada

Movimento da ferramenta de círculo completo

Movimento da ferramenta de arco de saída

Retornar ao centro + cancelar o deslocamento do raio do cortador


G90 G00 Z # 126 Retrair acima do bolso acabado

Copyright 2005, Industrial Press Inc., Nova York, NY - www.industrialpress.com


Machine Translated by Google Macros personalizadas CNC da FANUC

MACROS PARA USINAGEM 243

GOTO9999 Ignorar mensagens de alarme


N9101 #3000=101 (A PROFUNDIDADE Z É ZERO) Gera o número de alarme 101 ou 3101
N9102 #3000=102 (ERRO DIA DO BOLSO) Gera o número de alarme 102 ou 3102
N9103 #3000=103 (ERRO DO NÚMERO DE DESVIO) Gera o alarme número 103 ou 3103
N9104 #3000=104 (NÚMERO DE DESVIO MUITO GRANDE) Gera o número de alarme 104 ou 3104
N9105 #3000=105 (FEEDRATE NOT DEFINED) Gera o alarme número 105 ou 3105
N9106 #3000=106 (O VALOR DE DESVIO NÃO É POSITIVO) Gera o alarme número 106 ou 3106
N9107 #3000=107 (TOOL OFFSET MUITO GRANDE) Gera o alarme número 107 ou 3107
N99999 G#10 Restaurar código G modal
M99 Fim da macro
%

Nesta macro, duas variáveis de sistema são usadas para definir a variável local #120. Compare o cur-
alugue a definição desta variável com a definição semelhante no exemplo anterior (O8106) - há
não há função ABS usada na macro atual. Em vez disso, a definição da variável é imediatamente seguida por um teste IF
condicional - se o valor de compensação for negativo, o sistema processará uma condição de erro.
ção (alarme). Esta não é uma solução melhor, é mostrada aqui apenas como 'uma solução' - a função ABS é uma escolha muito
melhor, que não exigirá um teste de erro.

Neste e em outros mac ros incluídos no manual, um teste contra a falta de avanço ou avanço
ser zero também pode ser feito, se desejado. Certifique-se de escrever qualquer uma das declarações corretamente - as entradas
são semelhantes, mas produzirão um resultado muito diferente (como o sinal F=#9 é usado para o exemplo):

SE[#9 EQ #0] GOTO... O avanço de corte deve ser definido


SE[#9 EQ 0] GOTO... O avanço de corte NÃO deve ser zero

Na Figura 45 há dois desenhos que podem ser usados para testar a integridade de macros de bolso circular.

0
25 Ø3 7,5
1,0 Ø1,2 0,3

0,75

MÉTRICO Diâmetro do cortador 16 INGLÊS Diâmetro do cortador 0,625


Estoque para acabamento 0,5 Estoque para acabamento 0,025

Velocidade do fuso 1175 Velocidade do fuso 1175


Velocidade de corte 300,0 Velocidade de corte de 12,0
Deslocamento do comprimento da ferramenta 3 Deslocamento do comprimento da ferramenta 3

Figura 45

Desenhos métricos e ingleses que podem ser usados para testar as macros de bolso circular

Copyright 2005, Industrial Press Inc., Nova York, NY - www.industrialpress.com


Machine Translated by Google Macros personalizadas CNC da FANUC

244 Capítulo 20

Macro de usinagem de slot

A usinagem de uma ranhura fechada é uma operação de fresamento comum, que requer uma série de cálculos
semelhantes. A forma básica de uma ranhura é sempre a mesma, mas sua localização, comprimento, raio, ângulo e
profundidade variam (além de outros valores não geométricos). Uma usinagem de slot fechada é a escolha perfeita para
ser desenvolvida como uma macro personalizada. A Figura 46 mostra um desenho de uma ranhura fechada típica.

Figura 46

R9 Exemplo de um desenho para uma macro

52 típica de usinagem de ranhuras

28
5 PROFUNDIDADE

Material: Placa de alumínio 100 x 75 x 12 mm

O processo de usinagem típico para cortar uma ranhura comum fechada é bastante simples:

1. Rápido para o primeiro centro do arco e acima do trabalho

2. Alimentação na profundidade da ranhura

3. Alimentar para o segundo centro do arco

4. Entrada em direção ao contorno - aplique o deslocamento do raio da fresa

5. Slot para tour

6. Saída em direção ao centro do arco - cancele a compensação do raio de corte

7. Retrair acima do trabalho

Como em todas as outras macros, existem certos critérios a serem estabelecidos:

o A localização central absoluta de um raio final deve ser conhecida

o A profundidade da ranhura deve ser

conhecida o A orientação angular da ranhura a partir da localização do centro definido


deve ser conhecida o O comprimento da ranhura entre os centros dos dois raios deve
ser conhecido o A largura da ranhura deve ser igual ao raio da ranhura dupla o
Ferramenta o número de deslocamento do raio deve ser definido

o O avanço de corte deve ser especificado


o O arco de entrada e saída será calculado automaticamente

A direção de corte positiva ou negativa é calculada pela macro, usando o ângulo definido
orientação. Esta é uma abordagem mais estruturada do que forçar um sinal de menos no programa.

Copyright 2005, Industrial Press Inc., Nova York, NY - www.industrialpress.com


Machine Translated by Google Macros personalizadas CNC da FANUC

MACROS PARA USINAGEM 245

Dados Variáveis para Usinagem de Ranhuras

Uma vez estabelecidas as condições iniciais, as macrovariáveis podem ser assinadas.

o Localização X absoluta de um centro de raio . . . letra X atribuída (variável nº 24)

o Localização Y absoluta de um centro de raio . . . letra Y atribuída (variável #25)

o Profundidade em Z da . . . letra Z atribuída (variável #26)

ranhura o Orientação angular da ranhura . . . letra A atribuída (variável #1)

o Distância entre os centros dos slots . . . letra D atribuída (variável #7)

o Raio do slot (um dos dois mesmos raios) . . . letra R atribuída (variável #18)

o Número de correção do raio da ferramenta . . . letra T atribuída (variável nº 20)

o Perfil de ranhura de avanço de corte . . . letra F atribuída (variável nº 9)

A Figura 47 mostra uma representação gráfica dos dados variáveis como assinaturas na macro chamada G65:

R(#18)
MACRO O8108

D (#7) Macro de usinagem de slot

VAR # Descrição

X 24 Coordenada X central esquerda

Y 25 Coordenada Y central esquerda


A (#1)
Z 26 Profundidade do slot
E (#25)
Uma orientação angular de 1 slot

D 7 Distância entre centros

R 18 Raio do slot

T 20 Número de correção do raio da ferramenta

F 9 Avanço de corte

G65 P8108 X-Y-Z-A-D-R-T-F


Figura 47

Atribuição de variáveis para uma macro típica de slot fechado - Macro O8108

No exemplo de programa a seguir, alguns dos blocos de verificação iniciais de colocação e suas corres-
as definições de alarmes correspondentes foram omitidas para manter a macro limpa para estudo. Como sempre, sev -
vários exemplos anteriores mostram como as técnicas funcionam e uma vez que a macro é verificada, os blocos
teste de entrada adequado deve ser adicionado. Esta macro é um exemplo muito bom de programação de vários
funções trigonométricas (dimensões angulares). Observe também que várias variáveis comuns são redesenhadas
multados, uma vez que seu significado original tenha sido aplicado.

Copyright 2005, Industrial Press Inc., Nova York, NY - www.industrialpress.com


Machine Translated by Google Macros personalizadas CNC da FANUC

246 Capítulo 20

O0028 (PROGRAMA PRINCIPAL)


N1 G21
N2 G90 G00 G54 X0 Y0 S800 M03
N3 G43 Z25.0 H05 M08
N4 G65 P8108 X28.0 Y25.0 Z5.0 R9.0 D52.0 A25.0 T5 F300.0
N5 G00 Z25.0 M09
N6 G28 Z25.0 M05
N7 M30
%

O8108 (SLOT MACRO) #10 = Número e descrição da macro


#4003 <... coloque as Armazenar a configuração atual de G90 ou G91
definições de erro aqui...>
#126 = #4006 Verifique as unidades atuais (inglês G20 ou métrico G21)
SE[#126 EQ 20.0] ENTÃO #126 = 0.1 SE[#126 EQ A folga acima do trabalho é de 0,1 polegada para G20
21.0] ENTÃO #126 = 2.0 G90 G00 X#24 Y#25 Z#126 A folga acima do trabalho é de 2 mm para G21
G01 Z-[ABS[#26]] F[#9/2] Rápido para a primeira posição da ranhura central em XY
Limpar trabalho acima em Z

Avançar até a profundidade com metade da velocidade de avanço

#120 = [ABS[#[2400+#20]+#[2600+#20]]] Recuperar o valor armazenado do corretor de ferramenta selecionado


#101 = [#18+#120]/2 #102 = Calcular o raio do arco de entrada/ saída
#18-#101 #124 = [COS[#1]*#7] Calcular diferença entre raios
Calcule o comprimento X do movimento central
#125 = [SIN[#1]*#7] Calcule o comprimento Y do movimento central
G91 X#124 Y#125 F#9 #103 = Movimento do centro
ATAN[#102]/[#101] Calcular o ângulo de movimento para G01
#104 = SQRT[#102*#102+#101*#101] Calcular o comprimento do movimento para G01

#124 = [#104*COS[#1+#103+180]] Calcule o movimento X do centro ao arco de entrada


#125 = [#104*SIN[#1+#103+180]] Calcule o movimento Y do centro ao arco de entrada
G41 X#124 Y#125 D#20 #105 = Faça o movimento G01 + compensação do cortador em
SQRT[#101*#101*2] Calcule o comprimento do movimento para G03 (a 45 graus)
#114 = [COS[#1]*#101] Calcule o valor I do arco de entrada
#115 = [SIN[#1]*#101] Calcule o valor J do arco de entrada
#124 = [COS[#1-45]*#105] Calcular o incremento X do arco de entrada
#125 = [SIN[#1-45]*#105] Calcular o incremento Y do arco de entrada
G03 X#124 Y#125 I#114 J#115 #114 = Movimento de arco de entrada

[COS[#1+90]*#18] Calcule o valor I do arco do slot direito


#115 = [SIN[#1+90]*#18] Calcule o valor J do arco do slot direito
#124 = [COS[#1+90]*[#18*2]] Calcular o incremento X do arco da ranhura direita
#125 = [SIN[#1+90]*[#18*2]] Calcular o incremento Y do arco da ranhura direita
X#124 Y#125 I#114 J#115 #124 = Arco da ranhura direita de 180°
[COS[#1+180]*#7] Calcule o comprimento X do movimento linear 1
#125 = [SIN[#1+180]*#7] Calcule o comprimento Y do movimento linear 1
G01 X#124 Y#125 #114 Movimento linear 1
= [COS[#1-90]*#18] Calcule o valor I do arco do slot esquerdo
#115 = [SIN[#1-90]*#18] Calcule o valor J do arco do slot esquerdo
#124 = [COS[#1-90]*[#18*2]] Calcular o incremento X do arco do slot esquerdo
#125 = [SIN[#1-90]*[#18*2]] Calcular o incremento Y do arco do slot esquerdo
G03 X#124 Y#125 I#114 J#115 #124 = Arco da ranhura esquerda de 180°

[COS[#1]*#7] Calcule o comprimento X do movimento linear 2

Copyright 2005, Industrial Press Inc., Nova York, NY - www.industrialpress.com


Machine Translated by Google Macros personalizadas CNC da FANUC

MACROS PARA USINAGEM 247

#125 = [SIN[#1]*#7] Calcule o comprimento Y do movimento linear 2


G01 X#124 Y#125 Movimento linear 2
#114 = [COS[#1+90]*#101] Calcule o valor I do arco de saída
#115 = [SIN[#1+90]*#101] Calcule o valor J do arco de saída
#124 = [COS[#1+45]*#105] Calcular o incremento X do arco de saída
#125 = [SIN[#1+45]*#105] Calcule o incremento Y do arco de saída
G03 X#124 Y#125 I#114 J#115 Movimento do arco de saída

#124 = [SIN[#103-#1-90]*#104] Calcular o movimento X do arco de saída ao centro


#125 = [COS[#103-#1-90]*#104] Calcular o movimento Y do arco de saída para o centro
G01 G40 X#124 Y#125 De volta ao movimento do ponto inicial + deslocamento do cortador desligado

G90 G00 Z # 126 Retrair acima do slot acabado


GOTO9999 Ignorar mensagens de alarme
<... coloque as mensagens de erro aqui...>
N99999 G#10 Restaurar código G modal
M99 Fim da macro
%

Um método de projeto de macro é evidente na macro de slot. Observe que muitas variáveis são usadas
repetidas vezes, com valores diferentes. Essa abordagem resulta em menos variáveis e torna a macro mais fácil de
interpretar. Não há necessidade de cada valor ter sua própria variável única.

Ranhura Circular com Profundidade Múltipla

A macro descrita nesta seção é bastante simples, mas muito prática em muitas aplicações de usinagem - ela
também serve como um exemplo muito bom para estudar o projeto de macro personalizado. Sua finalidade é cortar
um sulco circular, estritamente um tipo utilitário sem tolerâncias apertadas, mas com cortes de profundidades múltiplas.
Este método de usinagem é muito útil para desbaste de ranhuras em materiais resistentes. Antes de o
macro será desenvolvida, será precedida por um desenvolvimento de subprograma. Os subprogramas são de -
dez dicas excelentes para mac ros, e este exemplo mostra a comparação.

A partir das informações de desenho na Figura 48, o subprograma - e macro - podem ser desenvolvidos:

Ø22 3.9 Figura 48

Exemplo de um desenho para um típico


sulco circular com profundidade múltipla
macro

22,4 0,75 MÁX.

Ø6 MOINHO DE FIM

Copyright 2005, Industrial Press Inc., Nova York, NY - www.industrialpress.com


Machine Translated by Google Macros personalizadas CNC da FANUC

248 Capítulo 20

De subprogramas a macros
Desenvolver um subprograma em vez de uma macro é perfeitamente justificável para um trabalho único que
provavelmente não será repetido no futuro. Os subprogramas também são as únicas ferramentas 'automáticas', quando
a opção de macro não está disponível para o sistema de controle existente. Para programar a ranhura áspera ilustrada na Figura 48, o
programa principal chamará um subprograma O8022:

(PROGRAMA PRINCIPAL)
(X0Y0 CANTO INFERIOR ESQUERDO - Z0 TOPO DA PEÇA)
N1 G21 Modo de unidades métricas

N2 G90 G00 G54 X22.4 Y16.7 S750 M03 Iniciar localização XY em zero graus
N3 G43 Z5.0 H01 M08 Folga acima do ponto de partida
N4 G01 Z0.6 F100.0 O subprograma deve começar em Z0.6
N5 M98 P8022 L6 Chamada de subprograma - REPEAT seis vezes (ou K6)
N6 G90 G00 Z5.0 M09 Rápido para liberação acima da peça
N7 G91 G28 Z0 M05 Retorno zero da máquina para o eixo Z
N8 G28 X0 Y0 Retorno zero da máquina para eixos XY
N9 M30 Fim do programa principal
%

O8022 (SUBPROGRAMA)
G01 G91 Z-0,75 F100,0 Avanço no eixo Z pelo incremento de profundidade
G03 I-11.0 Corte o círculo completo
M99 Fim do subprograma
%

Parece um simples subprograma - e é. No entanto, alguns cálculos críticos tiveram que ser feitos. o
o primeiro cálculo é a posição Z inicial - em Z0.6. Razão? A profundidade absoluta necessária de Z-3.9
não deve ser ultrapassado. A distância de deslocamento (distância a percorrer) desde a posição inicial até a profundidade total
deve ser igualmente divisível pela profundidade de corte, sem sobras. Quando a profundidade de corte é pro -
com gramatura de 0,75 mm, são necessários seis cortes de profundidade igual para atingir a profundidade final Z-3,9:

0,6 + 3,9 = 4,5 Distância total de viagem (distância a percorrer) = 4,5


4,5 / 0,75 = 6 Número total de cortes de profundidade EQUAL = 6

Quando a ferramenta começa em Z0,6 e então se move para baixo incrementalmente pela quantidade de Z-0,75, ela
irá alimentar na posição da ferramenta ab solute de Z-0.15 durante o primeiro corte. Isso significa que a primeira profundidade
o corte não será fisicamente tão profundo quanto todos os cortes de profundidade subsequentes, porque parte da 'profundidade' está no
ar (acima da peça). Em subprogramas, esse tipo de compromisso é dez vezes necessário, assim como muitos
cavalo cial com lações.

Em macros bem desenhadas, não são necessários cálculos de compromisso. As macros precisam de muitas cal -
culações (como os exemplos anteriores mostraram), mas uma vez desenvolvidos e verificados, os macros oferecem
flexibilidade muito maior, abordagem simplificada para a resolução de problemas e funções não disponíveis em
subprogramas (ou programas padrão).

A compreensão do mac ros geralmente começa com a compreensão dos subprogramas. Este exemplo - e todos
exemplos anteriores - mostraram que um bom projeto macro segue o mesmo pensamento lógico que é
necessários para o desenvolvimento do subprograma - macros apenas oferecem mais ferramentas para fazer o trabalho.

Copyright 2005, Industrial Press Inc., Nova York, NY - www.industrialpress.com


Machine Translated by Google Macros personalizadas CNC da FANUC

MACROS PARA USINAGEM 249

Desenvolvimento de versão macro

Normalmente, as macros personalizadas são desenvolvidas do zero - não há necessidade de criar um subprograma primeiro
e depois 'traduzi-lo'. Com base no desenho fornecido na Figura 48 (e em todos os desenhos semelhantes), um modelo mestre
geral de todas as variáveis necessárias pode ser feito (Figura 49):

MACRO O8109
Em (# 23) D (#7)

Macro de ranhura circular de profundidade múltipla

VAR # Descrição
X 24 Centro da ranhura Coordenada X

Y 25 Centro da ranhura Coordenada Y

W 23 Diâmetro central da ranhura


E (#25)
D 7 Distância entre centros

C 3 Profundidade máxima de corte

X (#24) C (#3)
F 9 Avanço de corte

G65 P8109 X-Y-W-D-C-F


Figura 49

Atribuição de variáveis para uma macro de corte de ranhura circular típica - Macro O8109

Com base nas especificações do desenho, a chamada da macro será desenvolvida conforme o esperado:

G65 P8109 X-Y-W-D-C-F-

+ onde…

X = (#24) Localização central da ranhura circular no eixo X Y =


(#25) Localização central da ranhura circular no eixo Y W= (#23)
Diâmetro da ranhura na linha central (diâmetro do passo da ranhura)!
D = (#7) Profundidade total da ranhura C
= (#3) Profundidade de corte da ranhura (profundidade máxima de cada corte)
F = (#9) Avanço de corte para a usinagem do círculo

Embora esta macro abranja apenas os conceitos gerais mais importantes de controle da profundidade do sulco, não deve
ser muito difícil desenvolver uma outra macro, uma que complete ambas as paredes do sulco, uma vez que a profundidade
final foi atingida (cortes de acabamento). Independentemente da macrocomplexidade (fácil ou difícil), o pré-planejamento
minucioso é absolutamente essencial. Um bom planejamento pode economizar muitas horas valiosas de trabalho e produzir
excelentes resultados.

Copyright 2005, Industrial Press Inc., Nova York, NY - www.industrialpress.com


Machine Translated by Google Macros personalizadas CNC da FANUC

250 Capítulo 20

Em uma aplicação completa, as dimensões da Figura 48 serão transferidas para a chamada de macro:

O0029
(X0Y0 CANTO INFERIOR ESQUERDO - Z0 TOPO DA PEÇA)
N1 G21 Modo de unidades métricas

N2 G90 G00 G54 X22.4 Y16.7 S750 M03 Qualquer localização XY razoável está OK
N3 G43 Z5.0 H01 M08 Folga acima do ponto de partida
N4 G01 Z0 F100.0 A macro deve começar em Z0

N5 G65 P8109 X22.4 Y16.7 W22.0 D3.9 C0.75 F100.0 Chamada e atribuições de macro
N6 G90 G00 Z5.0 M09 Rápido para liberação acima da peça
N7 G91 G28 Z0 M05 Retorno zero da máquina para o eixo Z
N8 G28 X0 Y0 Retorno zero da máquina para eixos XY
N9 M30 Fim do programa principal
%

O8109 (MACRO DE RANHURA CIRCULAR DE MULTI PROFUNDIDADE)


#11 = #4001 #13 = Armazenar o código G atual do Grupo 01
#4003 #23 = #23/2 Armazenar o código G atual do Grupo 03
Alterar o diâmetro do passo da ranhura para raio
G90 G00 X[#24+#23] Y#25 #100 = #7/#3 Rápido para início de ranhura XY na profundidade Z atual
Calcular o número exato de passes de profundidade
#101 = CORRIGIR[#100] Descarte frações de #100 para o número real de passes de profundidade
#33 = 1 Redefinir o contador de passes de profundidade para o primeiro
ENQUANTO[#33 LE #101] DO1 Verifique se são necessários mais cortes de profundidade
G01 G91 Z-#3 F#9 Avanço no eixo Z pelo incremento de profundidade
G03 I-#23 #33 Corte o círculo completo
= #33+1 Aumente o contador de passes de profundidade em 1
END1 Terminar o laço
IF[#100 EQ #101] GOTO999 Verifique se a profundidade total foi atingida

G90 G01 Z- # 7 Corte na profundidade total da ranhura


G03 I-#23 Corte o círculo completo
N999 G90 G00 Z0 Rápido para o topo da peça
G#11 G#13 Restaurar códigos G do Grupo 01 e Grupo 03
M99 Fim da macro
%

Apenas uma nota curta relacionada ao loop WHILE . Se a variável #100 (número exato de passes) for um
número inteiro, esse número também será o número de passagens de profundidade. Caso contrário, haverá mais um
corte circular na profundidade total do sulco, que pode ser tão pequeno quanto o incremento mínimo
das unidades dimensionais selecionadas (0,001 mm ou 0,0001 polegadas), mas nunca igual ou maior que
a profundidade total do sulco definida em variável como sinal D (#7).

O Mac ros neste capítulo demonstra programação paramétrica. Compare o desenvolvimento macro
com o exemplo do subprograma - ambos os tipos são válidos à sua maneira, mas existem diferenças significativas -
ferenças.

Copyright 2005, Industrial Press Inc., Nova York, NY - www.industrialpress.com


Machine Translated by Google Macros personalizadas CNC da FANUC

MACROS PARA USINAGEM 251

Acabamento de bolso retangular

Ma chinar uma bolsa rectângulo é muito semelhante a fazer uma bolsa circular. Neste capítulo, foram
mostrados exemplos de desbaste e acabamento para a usinagem de bolsões circulares. No que diz respeito à
abordagem de programação geral, não há muita diferença no projeto macro para usinar um percurso de
desbaste para um bolsão retangular, mas existem algumas diferenças quando trata-se de usinar um bolso reto
e gular acabado. Outro nome para esse tipo de usinagem é ma chinagem de moldura ou macro de moldura,
pois apenas as paredes e os raios de canto são usinados.

A Figura 50 mostra um desenho típico de uma usinagem de estrutura retangular.

100 8 Figura 50

Exemplo de um desenho
para acabamento típico de bolso
retangular (quadro)

R1

Como em todos os exemplos de macro neste manual, o objetivo é desenvolver uma macro para fins de
aprendizado, não necessariamente uma macro com todos os sinos e apitos. Antes de desenvolver a macro,
decida o método de usinagem, por exemplo:

1. Comece na posição do meio do bolsão (peça zero no exemplo)

2. Mergulho em profundidade com metade do avanço programado

3. Aplique o conjunto de desvio de raio de corte G41 D- ao longo de um movimento linear de entrada

4. Aborde o contorno como um arco de entrada

5. Usine o contorno de volta ao ponto de partida

6. Deixe o contorno como um arco de saída

7. Pode cel cortar o deslocamento do raio - G40 - ao longo de um movimento linear de saída

8. Retrair acima da peça

No programa principal constarão os itens 1 e 8, os itens 2 a 7, bem como diversas verificações e


valores cal culados, farão parte da macro. A Figura 51 ilustra a atribuição de variáveis.

Copyright 2005, Industrial Press Inc., Nova York, NY - www.industrialpress.com


Machine Translated by Google Macros personalizadas CNC da FANUC

252 Capítulo 20

MACRO O8110

Em (# 23) Com (# 26)

#33 Macro de acabamento de moldura

VAR # Descrição

W 23 Dimensão ao longo do eixo X

H 11 Dimensão ao longo do eixo Y

H(#11) Z 26 Profundidade finalizada


#31
R 18 Raio do canto do bolso (4X)
D 7 Número de compensação do raio do cortador

F 9 Avanço de corte

#32 R(#18)

G65 P8110 W-H-Z-R-D-F


Figura 51

Atribuição de variáveis para uma macro típica de acabamento de bolso retangular (quadro) - Macro O8110

As quatro dimensões fornecidas serão variáveis como signos, o centro do bolsão é fixado em X0Y0. A macro pode ser
modificada para outras co ou di nadas XY. Com base nas especificações de engenharia fornecidas pelo desenho, a chamada da
macro de acabamento de quadro pode ser desenvolvida:

G65 P8110 W-H-Z-R-D-F-

+ onde…

W= (#24) Comprimento do bolsão ao longo do eixo X


H = (#25) Largura do bolsão ao longo do eixo Y
Z = (#23) Profundidade de acabamento do bolsão
R = (#18) Raio do canto do bolsão
D = (#7) Número de deslocamento do raio do cortador
F = (#9) Avanço de corte para usinagem de bolsão

Decisões de usinagem e requisitos especiais influenciarão o macroprojeto. Neste exemplo, a ferramenta inicia e termina na
posição central do bolsão. Essa pode ser uma posição adequada para bolsos pequenos e médios, mas bastante eficiente para
bolsos grandes. Outras adições à macro podem incluir zero peça variável, uma orientação gular do bolsão, acabamento da
superfície inferior, alteração das taxas de avanço nos cantos, folga acima da peça e assim por diante. Conforme apresentado, a
macro inclui a verificação de variáveis ausentes como sinais, mas não verifica a entrada incorreta. Ele também verifica se o valor
de desvio do raio de corte armazenado é pequeno o suficiente para cortar os arcos de avanço e os raios de canto. Com um
objetivo específico, os macros neste capítulo podem ser bastante aprimorados.

Copyright 2005, Industrial Press Inc., Nova York, NY - www.industrialpress.com


Machine Translated by Google
Macros personalizadas CNC da FANUC

MACROS PARA USINAGEM 253

O0030
N1 G21 Unidades métricas

N2 G17 G40 G80 G49 TO3 Configurações de status e chamada de ferramenta

N3 M06 Troca de ferramenta

N4 G90 G54 G00 X0 Y0 S800 M03 T04 Localização do centro de bolso


N5 G43 Z10.0 H03 M08 Liberação de nível inicial
N6 65 P8110 W100.0 H60.0 Z8.0 R11.0 D3 F175.0 Chamada de macro
N7 G90 G00 Z2.0 Limpar parte acima
N8 G28 Z2.0 M09 Somente eixo Z zero da máquina
N9 M01 Parada opcional

O8110 (ACABAMENTO DE BOLSO RETANGULAR)


SE[#23 EQ #0] GOTO9101 O comprimento ao longo do eixo X deve ser definido
SE[#11 EQ #0] GOTO9102 O comprimento ao longo do eixo Y deve ser definido
SE[#18 EQ #0] GOTO9103 Raio de canto deve ser multado
SE[#7 EQ #0] GOTO9104 O número de ajuste do raio de corte deve ser definido
SE[#9 EQ #0] GOTO9105 O avanço de corte deve ser definido
IF[#26 EQ #0] GOTO9106 #120 = A profundidade do bolso (quadro) deve ser definida
#[2400+#7]+#[2600+#7] Recupere o valor armazenado da ferramenta selecionada fora do set
SE[#120 GE #18] GOTO9107 O valor de desvio ra dius deve ser menor que o raio de canto
#31 = [ABS[#11/2]] #32 = #31/2 Metade do comprimento ao longo do eixo Y (positivo)
Linha e arco de entrada e saída
SE[#120 GE #32] GOTO9107 O valor off-set ra dius deve ser menor que o lead ra dius
#33 = [ABS[#23/2]] Metade do comprimento ao longo do eixo X
G90 G00 Z2.0 Folga Z arbitrária
G01 Z-[ABS[#26]] F[#9/2] Meia velocidade de avanço para imersão

G91 G01 G41 X-#32 Y-#32 D#7 F[#9*2] Entrada de ouvido de linha com corte de rádio desligado LIGADO
G03 X#32 Y-#32 I#32 J0 F#9 Entrada de arco

G01 X[#33-#18] Parede inferior inferior


G03 X#18 Y#18 I0 J#18 Canto inferior direito
G01 Y[2*[#31-#18]] Parede direita
G03 X-#18 Y#18 I-#18 J0 Canto superior direito
G01 X-[2*[#33-#18]] Parede superior

G03 X-#18 Y-#18 I0 J-#18 Canto superior esquerdo


G01 Y-[2*[#31-#18]] Parede esquerda

G03 X#18 Y-#18 I#18 J0 Canto inferior esquerdo


G01 X[#33-#18] Parede inferior inferior
G03 X#32 Y#32 I0 J#32 Saída de arco
G01 G40 X-#32 Y#32 F[#9*2] M09 Saída de orelha de linha com corte ter ra dius OFF
GOTO9999 Ignorar mensagens de alarme
N9101 #3000 = 101 (COMPRIMENTO NÃO DEFINIDO) Gene é erro de tes
N9102 #3000 = 102 (COMPRIMENTO ATRAVÉS NÃO DEFINIDO) Gene é erro de tes
N9103 #3000 = 103 (RAIO DE CANTO NÃO DEFINIDO) Gene é erro de tes
N9104 #3000 = 104 (NÚMERO DE DESVIO DE RAIO NÃO DEFINIDO) Gera erro
N9105 #3000 = 105 (A VELOCIDADE DEVE SER DEFINIDA) Gene é erro de tes
N9106 #3000 = 106 (A PROFUNDIDADE DO BOLSO DEVE SER DEFINIDA) Gene é erro de tes
N9107 #3000 = 107 (VALOR DE COMPENSAÇÃO MUITO GRANDE) Gene é erro de tes
N9999 M99 Fim da macro
%

Copyright 2005, Industrial Press Inc., Nova York, NY - www.industrialpress.com


Machine Translated by Google Macros personalizadas CNC da FANUC

254 Capítulo 20

Observe o uso da função ABS - independentemente da entrada do usuário, a macro controla a saída
com o sinal desejado. A função ABS (valor absoluto) garante que um positivo
no valor de venda sempre será traduzido em um valor positivo. Por exemplo, a seguinte introdução da profundidade
poderia ser outro positivo de negativo:

G65 P8110 ... Z8.0 ... entrada de dados positiva

G65 P8110 ... Z-8.0 ... entrada de dados negativos

Dentro da macro, a entrada da variável #26 (Z) é tornada positiva e a saída requerida é construída
na macro - valor Z negativo é garantido, em relação à entrada:

G01 Z-[ABS[#26]] F[#9/2] A profundidade Z é garantida como negativa

Esta é uma técnica de programação muito poderosa - ela identifica o tipo de entrada e pro -
oferece um método que sempre trará o resultado esperado.

Milhares de exemplos mais poderiam ser cobertos neste capítulo - na verdade, um livro grosso inteiro poderia
lidar apenas com exemplos - e essa é exatamente a beleza das macros personalizadas em geral e da programação
paramétrica em particular. Todos os exemplos apresentados neste capítulo cobrem apenas várias variedades
e apenas muito poucas das muitas possibilidades que existem.

Copyright 2005, Industrial Press Inc., Nova York, NY - www.industrialpress.com


Machine Translated by Google Macros personalizadas CNC da FANUC

21 CICLOS PERSONALIZADOS

A maioria dos fabricantes de máquinas-ferramenta CNC oferecem uma variedade de opções sofisticadas em
suas máquinas CNC - opções que são basicamente adições de hardware, adições que devem ser sup -
portados por um código de software especial, a fim de torná-los úteis em um programa CNC. Tipo de operação -
as funções nesta categoria abrangem funções especiais de refrigeração, funções de troca de ferramentas, detectores de
ferramentas quebradas, operações de paletes, várias interfaces e muitas outras, muito numerosas listar. A máquina-ferramenta
o manual de referência que acompanha todas as máquinas CNC especifica que a maioria destas ope- rações
O controle é feito chamando um código G especial (ou seja, não padrão) ou um código M na peça CNC
programa (aceitável como entrada para o sistema de controle).

Fanuc mac ros oferecem possibilidades semelhantes - qualquer programador de macro experiente pode criar e
subseqüentemente use códigos G especiais ou códigos M (e alguns outros códigos também). Não é muito provável
que um programador CNC orientado para a produção você desenvolveria uma macro de código G ou um código M
macro para algum recurso de hardware especial da máquina-ferramenta, mas pode ser muito provável que uma macro possa ser
gerada como um software de propósito especial, como uma usinagem repetitiva única. Algum
os exemplos típicos desta categoria são longos aos ciclos fixos ou aos ciclos fixos . Ciclos fixos encurtam
programação eliminando dados repetitivos. Na realidade, são macros de propósito especial que Fanuc
fornece como recurso de programação padrão (integrado). Chamamos esses mac ros por uma guia definida
Código G, por exemplo, pelo comando G81 para o ciclo de perfuração padrão.

Ciclos Especiais

Por mais úteis que os ciclos fixos padrão sejam em seu próprio propósito, às vezes é necessário um
ciclo que é ou ligeiramente diferente do ciclo existente, ou é um ciclo totalmente novo - um ciclo que
terá a mesma aparência dos ciclos fixos 'tradicionais'. Tomemos, por exemplo, um ciclo fixo
que requer uma certa velocidade de avanço durante o movimento de corte, mas uma velocidade de avanço diferente durante o
movimento de retração. Nenhum ciclo fixo padrão pode fazer isso, mas com uma macro especial, isso pode ser feito.

Normalmente, o Fanuc controla o baixo armazenamento de uma macro como um tipo especial de subprograma com
dados disponíveis, usando o endereço O- . Tal macro é chamada pelo comando de chamada de macro G65 , seguido pelo macro
programa número P- e a variável requerida como sinais. Para definir um novo
macro como um ciclo de código G ou uma função M especial, há apenas três considerações a seguir:

o Selecione o código G ou o código M a ser usado sem duplicação com códigos existentes

o Selecione o número do programa macro de uma determinada faixa depende do sistema de controle

o Defina os parâmetros do sistema do sistema de controle da máquina depende do sistema de controle

É importante que nem o novo código G nem o código M estejam disponíveis no controle. Dentro
outras palavras, requer um conhecimento muito bom de todos os códigos G/M que o sistema de controle usa, então qualquer
a nova seleção de ciclos é única. Saber qual parâmetro do sistema deve ser usado para registrar a seleção também é muito
importante. Os números de parâmetros equivalentes variam de controle para controle, então
garantir a entrada de dados correta é imperativo.

255

Copyright 2005, Industrial Press Inc., Nova York, NY - www.industrialpress.com


Machine Translated by Google Macros personalizadas CNC da FANUC

256 Capítulo 21

Opções disponíveis
Embora os códigos de programação mais comuns usados como ciclos especiais sejam os códigos G,
As funções M são frequentemente usadas para permitir uma chamada de função de hardware pelo código M especial, selecionado por
o macroprogramador CNC (de dez ao nível do fabricante).

Normalmente, os seguintes endereços podem ser usados para uma chamada de macro ou uma chamada de subprograma:

o Chamada de macro de código G ... comum


o Chamada de macro de código M ... comum

o Chamada de subprograma de código ... menos comum

M o Chamada de subprograma de ... menos comum

código S o Chamada de subprograma ... menos comum

de código T o Chamada de subprograma de código B ... menos comum

Chamada de macro de código G

Um total de 10 (ou seja, dez) de códigos G podem ser definidos como mac ros personalizados especiais que podem ser chamados por
um código G. Apenas o intervalo entre G01 e G255 é permitido, com exceção de G65, G66,
e códigos G67 . Valor positivo é igual a G65, valor negativo é igual a G66 (ou G66.1).

Dependendo do sistema de controle, os parâmetros do sistema relacionados à chamada de macro de código G são
listados nas tabelas a seguir (diferentes sistemas de controle são mostrados):

SISTEMA FANUC 0

Chamada Macro de código G - 10 opções disponíveis - G65, G66 e G67 excluídos

Número do parâmetro Descrição <Dados válidos 1 - 255>

220 Código G que chama a macro personalizada armazenada no programa O9010

221 Código G que chama a macro personalizada armazenada no programa O9011

222 Código G que chama a macro personalizada armazenada no programa O9012

223 Código G que chama a macro personalizada armazenada no programa O9013

224 Código G que chama a macro personalizada armazenada no programa O9014

225 Código G que chama a macro personalizada armazenada no programa O9015

226 Código G que chama a macro personalizada armazenada no programa O9016

227 Código G que chama a macro personalizada armazenada no programa O9017

228 Código G que chama a macro personalizada armazenada no programa O9018

229 Código G que chama a macro personalizada armazenada no programa O9019

Copyright 2005, Industrial Press Inc., Nova York, NY - www.industrialpress.com


Machine Translated by Google Macros personalizadas CNC da FANUC

CICLOS PERSONALIZADOS 257

SISTEMA FANUC 10/11/15

Chamada Macro de código G - 10 opções disponíveis - G65, G66 e G67 excluídos

Número do parâmetro Descrição <Dados válidos 1 - 255>

7050 Código G que chama a macro personalizada armazenada no programa O9010

7051 Código G que chama a macro personalizada armazenada no programa O9011

7052 Código G que chama a macro personalizada armazenada no programa O9012

7053 Código G que chama a macro personalizada armazenada no programa O9013

7054 Código G que chama a macro personalizada armazenada no programa O9014

7055 Código G que chama a macro personalizada armazenada no programa O9015

7056 Código G que chama a macro personalizada armazenada no programa O9016

7057 Código G que chama a macro personalizada armazenada no programa O9017

7058 Código G que chama a macro personalizada armazenada no programa O9018

7059 Código G que chama a macro personalizada armazenada no programa O9019

SISTEMA FANUC 16/18/21

Chamada Macro de código G - 10 opções disponíveis - G65, G66 e G67 excluídos

Número do parâmetro Descrição <Dados válidos 1 - 255>

6050 Código G que chama a macro personalizada armazenada no programa O9010

6051 Código G que chama a macro personalizada armazenada no programa O9011

6052 Código G que chama a macro personalizada armazenada no programa O9012

6053 Código G que chama a macro personalizada armazenada no programa O9013

6054 Código G que chama a macro personalizada armazenada no programa O9014

6055 Código G que chama a macro personalizada armazenada no programa O9015

6056 Código G que chama a macro personalizada armazenada no programa O9016

6057 Código G que chama a macro personalizada armazenada no programa O9017

6058 Código G que chama a macro personalizada armazenada no programa O9018

6059 Código G que chama a macro personalizada armazenada no programa O9019

Copyright 2005, Industrial Press Inc., Nova York, NY - www.industrialpress.com


Machine Translated by Google Macros personalizadas CNC da FANUC

258 Capítulo 21

Chamada Macro de funções M

Um total de 10 (dez) de funções M podem ser definidas como macros personalizadas chamadas por uma função M. Apenas o
intervalo entre M01 e M97 é permitido. As funções M NÃO são passadas para o PMC (Programa -
ma ble Machine Control), a menos que sejam programados no macrocorpo.

Dependendo do sistema de controle, os parâmetros do sistema relacionados à chamada de macro de função M


estão listados nas tabelas a seguir:

SISTEMA FANUC 0

Chamada Macro de código M - 10 opções disponíveis

Número do parâmetro Descrição <Dados válidos 1 - 97>

230 Código M que chama a macro personalizada armazenada no programa O9020

231 Código M que chama a macro personalizada armazenada no programa O9021

232 Código M que chama a macro personalizada armazenada no programa O9022

233 Código M que chama a macro personalizada armazenada no programa O9023

234 Código M que chama a macro personalizada armazenada no programa O9024

235 Código M que chama a macro personalizada armazenada no programa O9025

236 Código M que chama a macro personalizada armazenada no programa O9026

237 Código M que chama a macro personalizada armazenada no programa O9027

238 Código M que chama a macro personalizada armazenada no programa O9028

239 Código M que chama a macro personalizada armazenada no programa O9029

SISTEMA FANUC 10/11/15

Chamada Macro de código M - 10 opções disponíveis

Número do parâmetro Descrição <Dados válidos 1 - 97>

7080 Código M que chama a macro personalizada armazenada no programa O9020

7081 Código M que chama a macro personalizada armazenada no programa O9021

7082 Código M que chama a macro personalizada armazenada no programa O9022

7083 Código M que chama a macro personalizada armazenada no programa O9023

Copyright 2005, Industrial Press Inc., Nova York, NY - www.industrialpress.com


Machine Translated by Google Macros personalizadas CNC da FANUC

CICLOS PERSONALIZADOS 259

7084 Código M que chama a macro personalizada armazenada no programa O9024

7085 Código M que chama a macro personalizada armazenada no programa O9025

7086 Código M que chama a macro personalizada armazenada no programa O9026

7087 Código M que chama a macro personalizada armazenada no programa O9027

7088 Código M que chama a macro personalizada armazenada no programa O9028

7089 Código M que chama a macro personalizada armazenada no programa O9029

SISTEMA FANUC 16/18/21

Chamada Macro de código M - 10 opções disponíveis

Número do parâmetro Descrição <Dados válidos 1 - 97>

6080 Código M que chama a macro personalizada armazenada no programa O9020

6081 Código M que chama a macro personalizada armazenada no programa O9021

6082 Código M que chama a macro personalizada armazenada no programa O9022

6083 Código M que chama a macro personalizada armazenada no programa O9023

6084 Código M que chama a macro personalizada armazenada no programa O9024

6085 Código M que chama a macro personalizada armazenada no programa O9025

6086 Código M que chama a macro personalizada armazenada no programa O9026

6087 Código M que chama a macro personalizada armazenada no programa O9027

6088 Código M que chama a macro personalizada armazenada no programa O9028

6089 Código M que chama a macro personalizada armazenada no programa O9029

Dez fabricantes de máquinas-ferramentas fornecem procedimentos de economia de tempo em seus hardwares. A criação de novas
funções M para ativar tais procedimentos é consistente com o uso de funções M 'normais'. Para não entrar em conflito com qualquer função
existente, não é incomum ver funções M que
três cavam seu (por exemplo, M123) ou até mesmo ser longo para um certo grupo que compartilha certo personagem é -
tiques (por exemplo, M201 a M220).

Os vários códigos de função especificados como chamadas de subprograma são usados com menos frequência e em muitos
maneiras são semelhantes às chamadas de macro descritas. Consulte sempre o manual de referência do Fanuc para
caudas relacionadas a recursos de um modelo de controle em particular.

Copyright 2005, Industrial Press Inc., Nova York, NY - www.industrialpress.com


Machine Translated by Google Macros personalizadas CNC da FANUC

260 Capítulo 21

G13 Ciclo de Corte Círculo

No capítulo anterior, uma macro de desbaste e acabamento é descrita para cortes circulares. É bastante
comum na programação CNC a usinagem de um bolsão circular. Seja um bolsão circular de utilidade com
tolerâncias mínimas (como a maioria das operações de escareamento), ou um bolsão onde o diâmetro e a
profundidade devem ser de altíssima precisão, há é uma forma de definir uma macro ou um ciclo especial
(baseado em macro) para este tipo de usinagem. Uma vez desenvolvida, a macro deve ser muito fácil de usar,
minimizando a possibilidade de um erro de entrada. Alguns controles possuem o comando macro G13 , por
exemplo, muitos controles Yasnac. Uma macro Fanuc pode ser desenvolvida que será totalmente consistente
com o Yasnac inserido - tal programa pode se tornar mais portátil entre diferentes controles, se projetado
corretamente. O ciclo G12 da Yasnac é semelhante ao G13, exceto que é usado para fresamento convencional,
em vez de fresamento concordante.

Para apreciar o efeito das possibilidades oferecidas, considere as duas formas mais comuns de
cortando um bolsão circular - ambos os métodos estão ilustrados na Figura 52:

Figura 52

Percurso típico aplicado ao corte de um


círculo (bolsão circular)

a/ Entrada/saída/entrada direta

b/ Entrada/saída/entrada tangencial

uma b
No exemplo da esquerda (a), ocorre um corte circular bastante grosseiro, mas simples. Por causa da marca
de ferramenta que normalmente é deixada na parede acabada, este método só é bom para cortes circulares
quando o acabamento da superfície e as dimensões gerais não são muito críticas. O segundo método (b),
mostrado à direita, é muito mais orientado à precisão, mas requer vários extras que podem retardar o processo
de programação. Em ambos os casos, a ferramenta de corte mergulha na profundidade no centro do bolsão
circular e continua como um movimento linear, antes que qualquer arco possa ser perfilado. O movimento de
corte também termina no centro do círculo. Há uma razão muito importante para este caminho de ferramenta -
para manter as dimensões de precisão e tolerâncias, a compensação do raio de corte deve estar em vigor, e
deve ser aplicada somente durante um movimento linear! O operador do CNC armazena o ter ra dius de corte
no reg is ter de compensação apropriado e a macro fará o resto - tudo sem o comando G41 cut ter ra dius off
set.

A macro que será armazenada como um ciclo eliminará a necessidade de entrada e saída de linha reta e
usará apenas três movimentos principais - veja a Figura 53:

o Arco de entrada - do centro do bolsão circular o Usinagem Etapa 1 na ilustração

de círculo completo o Arco de entrada - até o centro do Etapa 2 na ilustração

bolsão circular Etapa 3 na ilustração

Copyright 2005, Industrial Press Inc., Nova York, NY - www.industrialpress.com


Machine Translated by Google Macros personalizadas CNC da FANUC

CICLOS PERSONALIZADOS 261

MACRO O8111
D (#7)
#31

ONDE ver texto

2
3
LÁ Ciclo de corte circular G13
T (#20) VAR # Descrição
Deslocamento do raio 1 D 7 Diâmetro do bolsão circular
NÚMERO
T 20 Número de compensação do raio do cortador
Iniciar macro no centro XY e
F 9 Avanço de corte
na parte inferior do bolso
#33 #33

#32

G13 D-T-F
Figura 53

Ilustração para o desenvolvimento do macrociclo de corte circular G13 (modo de fresagem ascendente)

O deslocamento do raio de corte usando o comando G41 não será necessário, pois a macro lê o valor do
ajuste do raio diretamente do registrador de controle. Na verdade, seria errado programar G41. Sem o G41,
somente arcos podem ser programados, com movimentos de entrada e saída da ferramenta fora de linha. A
Figura 53 também mostra os signos das três variáveis usadas na macro.

Os dados variáveis são curtos para esta macro - apenas três atribuições são necessárias:

o O tamanho do bolsão - normalmente dado no desenho como um diâmetro o O Variável D (#7)


número de correção da ferramenta onde o raio da fresa é armazenado Variável T (#20)

o A velocidade de corte Variável F (#9)

Existem mac ros semelhantes a este que requerem o raio de entrada em vez do seu diâmetro.
A seleção da entrada de um diâmetro é a melhor escolha, pois furos ou bolsos circulares são dimensionados
como diâmetros. Para os cálculos internos, quando o raio for necessário, um simples cálculo armazenará o raio
como metade do diâmetro dado.

Para a maioria das aplicações de usinagem, o modo de fresamento concordante embutido na macro (ciclo
G13) é a maneira desejável de remoção de metal. No entanto, a macro não é adequada para cortar no modo
convencional, caso haja necessidade. Para isso, será necessário desenvolver outra macro (ciclo G12) .
Essencialmente, ambas as macros serão as mesmas, exceto que a ordem de usinagem de 1-2-3 para o modo
de fresagem concordante será revertida para 3-2-1 para o modo convencional ( G03 mudará para G02). Ambos
os macros (ciclos) estão listados neste capítulo.

Copyright 2005, Industrial Press Inc., Nova York, NY - www.industrialpress.com


Machine Translated by Google Macros personalizadas CNC da FANUC

262 Capítulo 21

Chamada Macro - Normal

Desde os exemplos de macros anteriores, houve algumas ordens de tabulação em sua numeração.
Incluindo o último capítulo, este é o 11º exemplo de macro, portanto seu número deve ser O8111. Se a macro armazenada
for chamada da maneira normal, como qualquer outra macro foi chamada até agora, o número do programa deve ser
assinado primeiro. Por exemplo, se o programa de macro estiver com o número assinado O8111, a macro será chamada por
uma instrução G65 simples :

G65 P8111 D60.0 T56 F200.0

+ onde…

D = (#7) Diâmetro do bolsão circular


T = (#20) Número de correção do raio da fresa Não insira o raio real da fresa com T !!!
F = (#9) Avanço de corte para a usinagem do círculo

Esta é uma macro totalmente normal e o número do programa assinado não é muito importante, desde que seja único e
siga as convenções padrão.

Chamada de macro - como um ciclo especial

No entanto, esse tipo de usinagem tem todas as características esperadas em um ciclo fixo ou fixo – afinal – é um
verdadeiro ciclo fixo. Para aparecer como um ciclo para o programador e/ou operador CNC, ele também precisa ter a
'aparência' de um verdadeiro ciclo, o que significa que precisa de um código G . Até agora, isso não foi alcançado com a
declaração de chamada macro G65 . Para transferir a macro para um verdadeiro ciclo fixo, duas mudanças devem ocorrer:

o Atribuir o número do programa macro da faixa fixa fornecida pelo sistema de controle o
Registrar o código G selecionado (ou o código M) como uma configuração de parâmetro

Das várias tabelas listadas anteriormente neste capítulo, é evidente que, independentemente do sistema de controle, o
número de macros que podem ser chamados de ciclos usando o código G é apenas 10 (dez), e essas macros devem ser
armazenadas dentro de um intervalo de números de programa começando com O9010 e terminando com O9019. Esta faixa
é comum a todos os sistemas de controle (uma faixa semelhante também está disponível para as funções M). Por motivos
de soci açã o lógica e de conveniência prá ca, a nova macro será denominada O9013. Claro, esta mudança também irá
alterar a chamada de macro G65 - mas nada mais - não há outro benefício:

G65 P9013 D60.0 T56 F200.0

Até agora, a mudança foi apenas superficial. Mais uma etapa é crítica e necessária - e é registrar o código G preferido em
um parâmetro do sistema de controle. Uma vez que o código G G13 foi selecionado como comando de ciclo (chamada
macro), o número 13 deve ser registrado no parâmetro que corresponde ao programa de chamada, que é O9013.

Aqui estão os parâmetros para todos os três grupos de controle diferentes, que serão aplicados ao exame
ple apresentado (G13 armazenado como O9013) - consulte as tabelas anteriores para listagem completa:

Copyright 2005, Industrial Press Inc., Nova York, NY - www.industrialpress.com


Machine Translated by Google Macros personalizadas CNC da FANUC

CICLOS PERSONALIZADOS 263

Sistema de controle Fanuc Número do parâmetro

Fanuc 0 0223

Fanuc 11/10/15 7053

Fanuc 16/18/21 6053

Somente após todas essas configurações terem sido feitas, a nova macro pode ser chamada de ciclo verdadeiro. Nisso
caso, será o ciclo G13, que se parece com muitos outros ciclos Fanuc:

G13 D60.0 T56 F200.0

As variáveis como signos não mudaram, apenas o método de chamá-las. O código G pode
foram qualquer número dentro do intervalo de 1 a 255, com exceção de G65, G66 e G67. Antes da
a macro real pode ser avaliada, tenha em mente que os códigos M podem ser configurados de maneira muito semelhante,
também usando as tabelas acima.

A macro do ciclo de bolso circular é bastante simples de entender, principalmente com as descrições comentadas ao
lado. No entanto, a definição da variável #32 pode ser um pouco incomum e pode precisar
alguma explicação. Estude a macro primeiro, então o 'mistério' do #32 será revelado.

O9013 (CICLO DE FRESAGEM CIRCULAR G13 - FRESAGEM TRECHO)


#31 = ABS[#7]/2 #11 = Raio do bolsão circular - positivo garantido
#4001 #13 = #4003 #32 Armazenar o código G atual do Grupo 01 (comandos de movimento)
= #31-#[2000+#20] Armazenar o código G atual do Grupo 03 (absoluto/ incremental)
Raio real do círculo a cortar - ver explicação !!!
SE [#32 AND 0] GOTO998 #33 = Gerar erro se o valor de deslocamento do raio for muito grande
#32/2 Raio de entrada/ saída calculado
G91 G03 X#32 I#33 J0 F#9 Percurso de arco de entrada - Etapa 1 ou R#33 em vez de I/ J
I-#32 Percurso de círculo completo - Etapa 2 R não permitido para 360°
X-#32 I-#33 J0 Percurso de arco de saída - Etapa 3 ou R#33 em vez de I/ J
G#11 G#13 Restaurar os códigos G originais do grupo 1 e mensagem de
GOTO999 erro de bypass do grupo 3
N998 #3000 = 13 (OFFSET TOO LARGE) Condição de alarme - refere-se à configuração do valor de offset real
N999 M99 Fim da macro
%

Para fresamento convencional, o ciclo G12 pode ser desenvolvido fazendo apenas algumas alterações:

O9012 (CICLO DE FRESAGEM CIRCULAR G12 - FRESAGEM CONVENCIONAL)


#31 = ABS[#7]/2 Raio do bolsão circular - positivo garantido
#11 = #4001 Armazena o código G atual do Grupo 01 (comandos de movimento)
#13 = #4003 Armazena o código G atual do Grupo 03 (absoluto/ incremental)
#32 = #31-#[2000+#20] Raio real do círculo a cortar - ver explicação !!!
IF [#32 LE 0] GOTO998 Gerar erro se o valor de deslocamento do raio for muito grande
#33 = #32/2 Raio calculado de entrada/ saída
G91 G02 X#32 I#33 J0 F#9 Percurso do arco de entrada - Etapa 3 ou R#33 em vez de I/ J
I-#32 Percurso de círculo completo - Etapa 2 R não permitido para 360°

Copyright 2005, Industrial Press Inc., Nova York, NY - www.industrialpress.com


Machine Translated by Google Macros personalizadas CNC da FANUC

264 Capítulo 21

X-#32 I-#33 J0 Percurso de arco de saída - Etapa 1 ou R#33 em vez de I/ J


G#11 G#13 Restaurar códigos G originais do Grupo 1 e Grupo 3
GOTO999 Ignorar mensagem de erro
N998 #3000 = 12 (OFFSET TOO LARGE) Condição de alarme - refere-se à configuração do valor de offset real
N999 M99 Fim da macro
%

Avaliação detalhada do valor de compensação

Alguns programadores podem se surpreender ao descobrir que o deslocamento do raio de corte G41 não é necessário.
Isso significa que o diâmetro do bolso não pode ser controlado para requisitos de alta precisão? Não no
tudo. Na máquina, o operador CNC tratará o offset exatamente da mesma forma que em qualquer outro
inscrição. Aqui está como funciona. Existem dois elementos principais que fazem o offset funcionar, com -
o comando G41 .

o A variável T (#20) na chamada G13 refere-se ao número de offset que armazena o raio de corte
o A definição da variável #32 na macro que recupera o valor real de compensação armazenado

No exemplo, a variável #20 (T) foi armazenada com o valor de 56 (comprimento da ferramenta e raio compartilhados
no mesmo reg é tentar). O diâmetro do bolso é de 60 mm, portanto, um corte adequado deve ser maior que
60/3 (para limpar o bot do bolso), digamos Æ22. Se a diferença entre o bolsão e o terreno de corte
for muito grande, a superfície do bot do bolso não será totalmente limpa. Durante a configuração, sob condições ideais -
ções, o operador do CNC coloca o ter ra dius de corte (11 mm), como valor de deslocamento do raio, no deslocamento
número 56 (assumindo que um parâmetro do sistema está definido para ra dius entry). Até agora, nada é realmente novo.

O 'problema' é com a forma como o Fanuc lida com essa informação para diferentes características de sua configuração.
modelos de trol. Por certo, pelo menos neste caso, os números de controle do modelo não importam muito,
pois a mesma abordagem se aplica aos controles Fanuc 10/11/15/16/18/21 (Fanuc 0 é excluído
por causa de suas aplicações limitadas). A solução baseia-se nestas duas características muito importantes:

o Tipo de memória de compensação da ferramenta três grupos - A, B e C


o O número de deslocamentos disponíveis dois grupos - 200 e menos, e mais de 200

Ambos os grupos foram descritos anteriormente no Capítulo 11 - Variáveis de Deslocamento da Ferramenta. Nisso
cap ítu lo, o foco está nos deslocamentos para a configuração do raio, usando as duas tabelas relacionadas:

200 DESLOCAMENTOS E MENOS

Desvio Memória A Memória B Memória C


Número Vestem Desgaste - D
Geometria / Geometria de Desgaste Geometria - D

1 #2001 #2001 #2201 #2401 #2601

2 #2002 #2002 #2202 #2402 #2602

3 #2003 #2003 #2203 #2403 #2603

4 #2004 #2004 #2204 #2404 #2604

5 #2005 #2005 #2205 #2405 #2605

6 #2006 #2006 #2206 #2406 #2606

Copyright 2005, Industrial Press Inc., Nova York, NY - www.industrialpress.com


Machine Translated by Google Macros personalizadas CNC da FANUC

CICLOS PERSONALIZADOS 265

… … … … … …

… … … … … …

200 #2200 #2200 #2400 #2600 #2800

MAIS DE 200 COMPENSAÇÕES

Desvio Memória A Memória B Memória C


Número Vestem Desgaste - D
Geometria / Geometria de Desgaste Geometria - D
1 #10001 #10001 #11001 #12001 #13001

2 #10002 #10002 #11002 #12002 #13002

3 #10003 #10003 #11003 #12003 #13003

4 #10004 #10004 #11004 #12004 #13004

5 #10005 #10005 #10005 #12005 #13005

6 #10006 #10006 #11006 #12006 #13006

… … … … … …

… … … … … …

999 #10999 #10999 #11999 #12999 #13999

A partir das tabelas fica claro que a definição da variável #32 no macro corpo será diferente
para o tipo de memória de compensação e o número de compensações disponíveis. Na verdade, a entrada de variável
#32 (como mostrado na macro) só é bom para memória Tipo A e menos de 200 conjuntos:

#32 = #31 - #[2000+#20] REGISTRO DE DESLOCAMENTO COMPARTILHADO

Por exemplo, #32 retorna o resultado de:

#32 = 30,0 - #[2000 + 3] = 30,0 - #2003 = 30,0 - 11,0 = 19,0

Estude o cálculo - tente entender como os sistemas Fanuc o avaliam - entendendo muitos
outros recursos macro, incluindo aqueles que não são tão óbvios, seguirão muito rapidamente. Um similar
exemplo aplica-se às mesmas configurações acima, mas é usado apenas para a memória de compensação Tipo C e
mais de 200 conjuntos de compensação - observe que tanto o conjunto Ge ome try quanto o conjunto de desgaste devem ser considerados:

#32 = #31 - [#[12000+#20] + #[13000+#20]]

Uma vez que a memória Offset Tipo C é bastante comum nos sistemas de controle de ponta modernos, mas
o número de conjuntos disponíveis é tipicamente inferior a 200, vejamos um último exemplo - Tipo C
memória off-set, com 200 off-sets ou menos disponíveis - mais uma vez, observe que tanto o Ge om e try quanto o Wear
Offsets são considerados, mas com diferentes números de variáveis:

#32 = #31 - [#[2400+#20] + #[2600+#20]]

Copyright 2005, Industrial Press Inc., Nova York, NY - www.industrialpress.com


Machine Translated by Google Macros personalizadas CNC da FANUC

266 Capítulo 21

Nos últimos vários exemplos, muitas macroaplicações típicas foram avaliadas, cada vez com um foco um pouco diferente.
Embora as aplicações apresentadas tenham sido mostradas usando um programa particular -
técnicas de processamento, os princípios descritos aqui se aplicam a muitas aplicações semelhantes, particularmente
aqueles que se aplicam a vários conjuntos de ferramentas de diferentes maneiras.

Aplicação de rebaixamento
O ciclo G13 é ideal para ser usado para escarear furos previamente perfurados com uma broca circular
percurso da ferramenta com uma fresa de topo ao invés de um corte de imersão. Exemplo de programa que segue o desenho
(Fig. 54) usa a macro G13 de corte circular previamente armazenada :

25 25 20
Figura 54

Exemplo de desenho para usar círculo


macro de corte (ciclo especial G13)

50 7,5

Material: Placa de alumínio 100 x 75 x 20 mm

O0031
N1 G21
(PARTE ZERO = CANTO INFERIOR ESQUERDO E TOPO DA PEÇA))
<... perfuração local e operações de perfuração ...>
N31 T03 T03 = fresa de topo de 10 mm
N32 M06 Troca de ferramenta

N33 G90 G54 G00 X25.0 Y37.5 S750 M03 Localização do rebaixamento esquerdo
N34 G43 Z2.0 H03 M08 Folga acima da peça
N35 G01 Z-7.5 F250.0 Alimentação até a profundidade do rebaixamento

N36 G13 D25.5 T53 F180.0 A chamada de macro como um ciclo parece 'natural'
N37 G00 Z2.0 Folga acima da peça
N38 X75.0 Localização direita do rebaixamento
N39 G01 Z-7.5 F250.0 Alimentação até a profundidade do rebaixamento

N40 G13 D25.5 T53 F180.0 A chamada de macro como um ciclo parece 'natural'
N41 G28 Z2.0 M09 Retorno zero da máquina
N42 M30 Fim do programa
%

Uma vez que a seleção do tipo de memória Off set A (set offs compartilhados) é parte da macro, o raio armazenado
Offset deve ter um número diferente do comprimento de ferramenta armazenado. Uma diferença de 50 é como em
o exemplo (H01 + 50 => D51).

Copyright 2005, Industrial Press Inc., Nova York, NY - www.industrialpress.com


Machine Translated by Google Macros personalizadas CNC da FANUC

22 SAÍDA EXTERNA

Normalmente, o valor atual de qualquer variável pode ser visualizado diretamente na tela de controle.
De dez, isso não é suficiente. Por exemplo, ao solucionar problemas de uma macro que contém muitas
variáveis, pode ser necessário verificar as variáveis atuais em diferentes partes da macro, em diferentes
processamentos. estágios. Os controles Fanuc fornecem vários comandos que podem colocar valores
variáveis e vários caracteres, através da porta RS-232C (I/O in ter face - Input/ Output) para vários ex.
dispositivos ter nais. Esses comandos são chamados de Comandos de Saída Externos e existem quatro deles:

POPEN PCLOS

BPRNT DPRNT

Comandos de abertura e fechamento de porta

Para fazer quaisquer dois dispositivos de comunicação baseados em computador para transferir dados, os dispositivos
devem ser configurados para um único modo de correspondência que permita a transferência de dados. Ao transferir dados
de um sistema de controle Fanuc, a porta de saída deve ser iniciada, o que significa que a porta deve ser configurada para
um estado aberto . Uma vez que a transferência de dados tenha ocorrido, a porta de controle deve ser fechada - definida para
um estado fechado . No final do recebimento, o dispositivo usado deverá ser configurado para o estado que pode aceitar os dados.
Termo usado nas comunicações entre os dispositivos são leitura e escrita, leitor e perfurador, carga ascendente
e descendente, entrada e saída, LIGADO e DESLIGADO, etc.

O comando POPEN (Port Open) fornece a conexão a um dispositivo de entrada /saída externo ( unidade de E/
S). As duas unidades típicas nesta categoria são a unidade perfuradora/ leitora de fita e um computador pessoal.
Os dados variáveis podem ser armazenados em uma fita perfurada (o método mais antigo) ou em um disco de
computador como um arquivo de texto (o método moderno). Em uma macro personalizada, o comando POPEN
deve sempre ser definido no início, antes que os dados de transferência sejam especificados. O controle Fanuc
coloca o código de controle DC2 . Pense no POPEN como o comando ' conectar' .

O comando PCLOS (Porta Fechada) pode celar a conexão a um dispositivo de entrada /saída externo
( unidade de E/S). Quando todos os dados tiverem sido transferidos, as linhas de comunicação devem ser
fechadas com o comando PCLOS . O controle Fanuc coloca o código de controle DC4 . Pense no PCLOS
como o comando de ' desconexão' que nunca deve ser programado, a menos que o comando POPEN esteja em vigor.

Uma macro contendo o comando POPEN no início


também deve conter o comando PCLOS no final

267

Copyright 2005, Industrial Press Inc., Nova York, NY - www.industrialpress.com


Machine Translated by Google Macros personalizadas CNC da FANUC

268 Capítulo 22

Funções de saída de dados

As funções BPRNT e DPRNT devem sempre ser usadas entre as funções POPEN e PCLOS

As funções BPRNT e DPRNT são usadas para executar a transferência real de dados em duas formas diferentes:

o BPRNT ... transfere a saída em formato binário, útil apenas para dados ...
o DPRNT transfere a saída em formato de texto simples, dados e texto (texto ISO ou ASCII)

Na prática, a maioria das saídas para dispositivos externos estão no texto DPRNT para mat, em parte por causa de
sua saída de casas decimais. O texto para impressão é mais fácil de ler e interpretar, seja impresso em papel ou
exibido na tela do computador.

Cada for mat recebe vários argumentos, descrevendo:

o Um ou mais caracteres a serem emitidos - geralmente cabeçalhos e identificações


semelhantes o Número da variável que está sendo impressa o Controle de casas decimais

Há uma pequena, mas importante diferença no formato de cada comando.

Descrição da Função BPRNT


A função BPRNT escreve uma saída binária. A programação do tapete é mostrada na Figura 55.

Formato da função BPRNT Figura 55

Estrutura de formato da função BPRNT


Caracter(-s) para imprimir
Número da variável

Número de dígitos após o


ponto decimal

[a #b [c] ... ]

Na função BPRNT , os caracteres podem ser as letras maiúsculas da aposta alfa inglesa (A a Z), todos dig seus 0 a
9, e vários caracteres especiais (+ - / * ...). Um símbolo de asterisco (*) será exibido como o código de espaço. O
caractere de fim de bloco (EOB) será emitido de acordo com a configuração do código ISO. Variáveis que estão vazias
(variáveis nulas) não podem ser colocadas no Fanuc System Model 6 mais antigo (alarme #114 resultará neste caso),
no entanto, elas serão colocadas como 0 nos controles do Fanuc 10 /11/15/16/18/21. Todas as variáveis são
armazenadas com um ponto decimal e o número de casas decimais após o ponto decimal deve ser especificado entre
colchetes, seguindo o número da variável (ver item c no acima ilustração).

Copyright 2005, Industrial Press Inc., Nova York, NY - www.industrialpress.com


Machine Translated by Google Macros personalizadas CNC da FANUC

SAÍDA EXTERNA 269

Descrição da Função DPRNT


A função DPRNT escreve uma saída de texto simples. A programação do tapete é mostrada na Figura 56.

Formato da função DPRNT


Figura 56

Estrutura de formato da função DPRNT


Caracter(-s) para imprimir
Número da variável

Número de dígitos antes


o ponto decimal

Número de dígitos após


o ponto decimal

[a #b [cd] ... ]

Na função DPRNT , os caracteres podem ser as letras maiúsculas da aposta alfa inglesa (A a Z),
todos dig seus 0 a 9, e vários caracteres especiais (+ - / * ...). Como ter isk (*) será colocado como o
código de espaço. O caractere de fim de bloco (EOB) será emitido de acordo com a configuração do ISO
código. Variáveis que estão vazias (variáveis nulas) não podem ser colocadas no Fanuc 6 (alarme #114 será re-
sult), no entanto, eles serão colocados como 0 no Fanuc 10/11/15/16/18/21. Desde a saída para o tapete de -
depende da configuração de alguns parâmetros do sistema, vejamos as configurações do respectivo
parâmetros. Há uma diferença entre alguns controles.

Configurações de Parâmetros - Fanuc 10/11/12/15

Para que a transferência de dados funcione corretamente, alguns parâmetros relacionados ao sistema devem ser definidos
adequadamente. Os seguintes parâmetros devem ser definidos para os controles Fanuc 10/11/12/15:

Número do parâmetro Valor de configuração Modelo

0021 Número de interface do dispositivo de saída para primeiro plano Byte

+ onde o valor de ajuste pode ser …

1: Perfurador a ser conectado com CD4A de BASE0 (interface RS-232C 1)


2: Perfurador a ser conectado com CD4B de BASE0 (interface RS-232C 2)
3: Perfurador a ser conectado ao CD4 da porta serial (interface RS-232C 3)
4: DNC1
13: Perfurador a ser conectado ao CD3 da porta serial (interface RS-222)
15: Interface operacional MMC DNC
16: Interface MMC UPLOAD/DOWNLOAD

Observe que o PUNCHER pode ser qualquer dispositivo RS-232 externo.

Copyright 2005, Industrial Press Inc., Nova York, NY - www.industrialpress.com


Machine Translated by Google Macros personalizadas CNC da FANUC

270 Capítulo 22

Durante a operação de controle, pressione o botão RESET quando os parâmetros requeridos estiverem ajustados.
Normalmente, selecione a configuração adequada de 'Perfurador a ser conectado...' , dependendo da configuração -
ração das comunicações de vícios. A mensagem real pode ser diferente.

NOTA - algumas pequenas distinções se aplicam entre Fanuc 10/11 e Fanuc 15 !

Número do parâmetro Valor de configuração Modelo

Esta série de parâmetros controla as várias configurações


da interface externa, como o número do dispositivo I/0
(até seis), taxa de transmissão,
5001 a 5162 Byte
bits de parada, etc. Os parâmetros neste intervalo
deve ser ajustado em coordenação com o ajuste do
parâmetro 0021.

Número do parâmetro Valor de configuração Modelo

Este parâmetro controla o espaçamento de


7000 - Bit #7 (PRT) zeros à esquerda, para a saída gerada por Pedaço

o comando DPRNT .

+ onde o Bit #7 é…

0: Um espaço é emitido ao ler zero com o comando DPRNT


1: Nada é emitido ao ler zero com o comando DPRNT

A função DPRNT sempre requer a especificação de ambos os números de dígitos (itens c e d na ilustração) - antes
do ponto decimal (o número inteiro da variável capaz) e após o dec i -
ponto mal (o número real de casas decimais).

Formato Métrico vs. Polegada

Em aplicações típicas de CNC, o formato métrico (G21) leva 5 dig antes do ponto decimal,
e 3 cavam após o ponto decimal (oito cavam seu to tal). Uma vez que o ponto decimal é le git i mate neste
para tapete, é muitas vezes referido como 5.3 para tapete ou [53] para tapete. Quando o inglês mede
unidades são usadas (G20), a polegada para o tapete leva 4 escavações antes do ponto decimal, e 4 escavações após o
dec i mal ponto (também oito dig seu to tal). Uma vez que o ponto decimal também é le git i mate neste for mat, ele é
referido como 4.4 para mat ou [44] para mat. Qualquer um desses dois comandos é aplicável a
todos os controles. Por exemplo, se a variável local #100 especificada no programa macro contiver um
valor de 123,45678 unidades (métrica ou inglesa), e o comando DPRNT é especificado como ...

DPRNT[X-VALUE***#100[53]] ... cada asterisco gera um espaço

.... então o valor de saída dependerá da configuração do parâmetro (varia para diferentes controles):

X-VALUE 123457 ... se o parâmetro #7000 estiver definido como 0 ... ou:

X-VALOR 123.457 ... se o parâmetro #7000 estiver definido como 1

Copyright 2005, Industrial Press Inc., Nova York, NY - www.industrialpress.com


Machine Translated by Google Macros personalizadas CNC da FANUC

SAÍDA EXTERNA 271

As variáveis devem ser valores numéricos com no máximo oito dígitos

Pode ser necessário experimentar com a formatação de saída, para corresponder às preferências pessoais.

Configurações de Parâmetros - Fanuc 16/18/21

Para que a transferência de dados funcione corretamente, alguns parâmetros relacionados ao sistema devem ser definidos
adequadamente. Os seguintes parâmetros devem ser definidos para os controles Fanuc 16/18/21:

Número do parâmetro Valor de configuração Modelo

Canal de entrada/saída:

0020 Byte
Seleção de um dispositivo de entrada/saída

+ onde o valor de ajuste pode ser …

0: O dispositivo associado ao Canal 1 está selecionado (conexão JD5A na placa principal)


1: O dispositivo associado ao Canal 1 está selecionado (conexão JD5A na placa principal)
2: O dispositivo associado ao Canal 2 está selecionado (conexão JD5B na placa principal)
3: O dispositivo associado ao Canal 3 está selecionado (conexão da placa Opção1)

Selecione a configuração de dispositivo adequada, dependendo da configuração de comunicações particulares


dispositivos. Normalmente, o canal de E/S é definido dentro da seguinte faixa de parâmetros:

Número do parâmetro Valor de configuração Modelo

Esta série de 150 parâmetros controla a


várias configurações da interface externa, como
como o número do dispositivo de E/S (até três), baud
0100 a 0149 Bit e Byte
taxa, bits de parada, etc. Os parâmetros neste
intervalo deve ser definido em coordenação com o
configuração do parâmetro 0020

A interface do leitor/perfurador é definida pelos seguintes parâmetros:

Canal de E/S Parâmetros usados Modelo

0 Nº 101, Nº 102, Nº 103

1 Nº 111, Nº 112, Nº 113 Bit e Byte

2 #112, #122, #123

Nota - Fanuc cas sette ou disquete não pode ser usado para saída do perfurador!

Copyright 2005, Industrial Press Inc., Nova York, NY - www.industrialpress.com


Machine Translated by Google Macros personalizadas CNC da FANUC

272 Capítulo 22

A última configuração de parâmetros é para o controle de zeros à esquerda:

Número do parâmetro Valor de configuração Modelo

Este parâmetro controla o espaçamento das entrelinhas


6001 - Bit #1 (PRT) zeros, para a saída gerada pelo DPRNT Pedaço

função

+ onde o bit #1 é…

0: Um espaço é emitido ao ler zero com o comando DPRNT


1: Nada é emitido ao ler zero com o comando DPRNT

Como mencionado anteriormente, o comando DPRNT sempre exige a especificação de ambos os números de dig it
(itens c e d na ilustração) - antes do ponto decimal (o o número ger da vari -
possível) e após o ponto decimal (o número real de casas decimais). Por exemplo, se variável
#100 contém um valor de 123,45678, e o comando DPRNT é:

DPRNT[X-VALUE***#100[53]]

então o valor de saída dependerá da configuração do parâmetro (varia para diferentes controles):

X-VALUE 123457 ... se o parâmetro #6001 estiver definido como 0 ... ou:

X-VALOR 123.457 ... se o parâmetro #6001 estiver definido como 1

As variáveis devem ser valores numéricos com no máximo oito dígitos

Estrutura das Funções de Saída Externa

Embora a função POPEN seja necessária antes que o BPRNT ou o DPRNT possam ser usados, não é
necessário fechar imediatamente o dispositivo receptor após a conclusão da transferência de dados. Se
uma outra transferência de dados é necessária, basta chamar outro comando BPRNT ou DPRNT . Programe o
Função PCLOS somente após a conclusão de todas as transferências. As duas macroestruturas a seguir são
permitidas, sendo a segunda o método preferencial:

Estrutura de macro - Versão 1

ABRIR
...
BPRNT ou DPRNT ... com especificações variáveis
...
PCLOS
...
ABRIR

Copyright 2005, Industrial Press Inc., Nova York, NY - www.industrialpress.com


Machine Translated by Google Macros personalizadas CNC da FANUC

SAÍDA EXTERNA 273

...
BPRNT ou DPRNT ... com especificações variáveis
...
PCLOS
...

Estrutura de macro - Versão 2

ABRIR
...
BPRNT ou DPRNT ... com especificações variáveis
...
BPRNT ou DPRNT ... com especificações variáveis
...
PCLOS
...

Exemplos de saída
O seguinte exemplo de macro baixará os valores atuais das variáveis dentro do intervalo de
100 a 149 para um dispositivo externo, como um arquivo de disco de computador (em texto para mat):

2 Macro chamada:

G65 P8200 I100 J149 Exemplo de chamada de macro - intervalo de variáveis especificado

2 Definição de macro:

O8200 (IMPRIMIR CONFIGURAÇÕES VARIÁVEIS)


ABRIR Inicialize a porta de comunicação ativa
#1 = 0 Redefinir contador de variáveis

WHILE[#1 LE [#5-#4]] DO1 #2 = #[#4+ Limitar o loop ao intervalo selecionado de variáveis


[#1]] #3 = #4+#1 Número da variável atual - como uma variável
Número da variável atual - como um número (sem símbolo #)
DPRNT[VAR #3[5] ***DATA #2[57]] A saída formatada inclui texto, ID de variável e valor #1 = #1+1
Aumente o contador de variáveis em um
END1 Fim do ciclo
PCLOSE Feche a porta de comunicação ativa
M99 Fim - pode ser M30 se usado como programa principal
%

Praticamente todos os dados armazenados no sistema de controle podem ser impressos ou exibidos
na tela. Programas de macro usando a função DPRNT podem ser muito úteis para manter registros,
criar um log do fluxo do programa, depurar um problema de alguma macro e muitas outras aplicações.
Alguns exemplos comuns são mostrados na próxima seção.

Copyright 2005, Industrial Press Inc., Nova York, NY - www.industrialpress.com


Machine Translated by Google Macros personalizadas CNC da FANUC

274 Capítulo 22

Linha de saída em branco

O objetivo principal da função DPRNT é fornecer uma saída formatada. Se for necessário
out colocar uma linha em branco usando o comando DPRNT , o bloco de macro deve chamar o DPRNT sem ar -
gumentos , o que significa que o comando DPRNT usará colchetes vazios:

DPRNT[] Emite uma linha em branco

Múltiplas linhas em branco consecutivas podem ser alcançadas repetindo o comando DPRNT[] no
próximo bloco, ou use um loop - uma instrução de bloco de macro é igual a uma linha de saída em branco.

Colunas Para tapetes

Se a saída de dados for colunar, por exemplo, para uma série de dados numéricos, a coluna impressa deve ser de fácil
leitura. Não há recursos de macro que possam substituir uma fonte específica, mas um terno capaz
a fonte pode ser selecionada ao formatar o(s) parágrafo(s) de texto. Fontes adequadas para impressão de colunas
são tipos de fontes monoespaçadas , como CourierÔ, LucidaÔ e várias outras.

Exemplos Práticos de DPRNT

Nos próximos exemplos, a função DPRNT será usada para três saídas frequentemente requeridas:

Encontro

DPRNT[SAÍDA*DATA:**#3011[80]] irá produzir DATA DE SAÍDA: 20051207

Tempo

DPRNT[SAÍDA*HORA:**#3012[60]] irá produzir TEMPO DE SAÍDA: 162344

Trabalho desligado

DPRNT [G54***X**#5221[33]***Y**#5222[33]***Z**#5223[33]]

vai sair o valor das configurações G54 XYZ, com 3 casas antes e 3 casas depois do decimal
ponto. Observe a distribuição de espaços para melhorar a capacidade de leitura (recomenda-se fonte monoespaçada):

G54 X -564.381 Y -412.758 Z 000.000

Muitas outras aplicações podem ser adicionadas a esses exemplos, por exemplo, o cálculo do ciclo
tempo, número de peças usinadas, tempo total de execução da máquina, etc.

Copyright 2005, Industrial Press Inc., Nova York, NY - www.industrialpress.com


Machine Translated by Google Macros personalizadas CNC da FANUC

23 SONDA COM MACROS

No mundo moderno da tecnologia CNC, muitos recursos da máquina têm sido controlados por meio de um programa de peças
ou um macroprograma dedicado. É bastante normal na programação CNC típica usar o trocador automático de ferramentas (ATC),
trocador automático de paletes (APC), funções de resfriamento, funções de fuso, etc., além de para a automatização do próprio
percurso. Com mac ros - e máquinas adequadas e recursos de controle - as possibilidades podem ir um grande passo além e au
para acasalar todo o processo de fabricação, especialmente várias medições dimensionais. Dentro desse processo de fabricação,
as tolerâncias de características importantes das peças são extremamente importantes. Várias profundidades, larguras, diâmetros,
espessuras, distâncias e muitos outros requisitos de engenharia diversos devem ser manuseados da forma mais confiável e
precisa possível. Com as macros, esses processos podem ser automatizados e resultados de usinagem de alta qualidade podem
ser alcançados com pouca ou nenhuma interferência humana durante a produção da peça.

O aspecto mais importante dessa abordagem é realizar diversas medições e inspeções diretamente na máquina CNC. As
operações antes, durante ou após a usinagem podem ser possíveis com o uso dos chamados dispositivos de 'apalpação', que
consistem em um apalpador de precisão em forma de esfera (usu - aliado), conectado eletronicamente ao sistema de controle e
controlado por macroprogramas adequados.

Este conceito de sondagem requer uma base sólida na tecnologia de sondagem, um assunto que não é em si mesmo parte do
processo de programação, mas serve como o bloco de construção inicial. Antes que algumas macros de sondagem possam ser
introduzidas, é importante entender do que se trata a sondagem e familiarizar-se com os conceitos fundamentais. Este curto
background tornará mais fácil mais tarde, quando realmente desenvolver macros de sondagem reais.

A tecnologia de sondagem muda rapidamente - sempre verifique os novos recursos est

A parte mais importante do conceito de sondagem é a interação entre o macroprograma e o dispositivo de sondagem (e suas
inúmeras atividades). O sistema CNC, por meio de macroprogramas customizados, suporta totalmente a leitura e escrita de dados
entre o processamento do programa e as atividades da máquina. As máquinas CMM externas estão apenas marginalmente
relacionadas com este assunto.

O que é sondagem?

Em um ambiente de oficina mecânica, existem duas palavras importantes que dizem respeito ao mesmo objetivo - medir certas
características de um objeto tridimensional - uma peça a ser concluída. Essas duas palavras são sondagem e aferição (também
soletrada gag ing) . Muitas vezes, essas duas palavras são usadas de forma intercambiável, pois ambas se aplicam a atividades
semelhantes.

Normalmente, a palavra sondagem é usada quando o dispositivo de medição inclui uma caneta esférica especial que é
controlada pelo programa para mover de uma parte do objeto medido para outra parte do mesmo. objeto. A outra palavra - aferição
- é usada para todos os outros tipos de medição.

275

Copyright 2005, Industrial Press Inc., Nova York, NY - www.industrialpress.com


Machine Translated by Google Macros personalizadas CNC da FANUC

276 Capítulo 23

O foco deste capítulo é na área de sondagem, pois sempre é necessário um programa especial.
Muitos operadores em uma oficina mecânica estão familiarizados com o conceito de sondar uma peça antes ou
depois do processo de usinagem. Esse tipo de sondagem é comumente conhecido como medição coordenada ou
dinamizada, e as máquinas de precisão especialmente projetadas que realizam esse processo são chamadas de
Máquinas de medição co ou dinamizadas, conhecidas como o CMM. O método CMM mede apenas as dimensões
existentes e pode registrar e registrar os valores medidos - mas não pode alterar nenhuma das medições. Muitas
vezes é chamado de método pré-processo e pós-processo. Existe um programa envolvido na operação de uma
estação CMM, mas não tem nada a ver com CNC e mac ros.

O método de sondagem aplicado durante a usinagem CNC tem muitos benefícios. Neste método, o dispositivo
de apalpação é montado como uma das ferramentas na revista da máquina-ferramenta, usando um número de
ferramenta específico. O processo de sondagem real é controlado por um macroprograma especialmente desenvolvido.
O benefício deste método é que quando a medição é feita, os resultados da medição podem ser avaliados pelo
macroprograma e as alterações podem ser feitas enquanto a peça ainda está dentro da área de trabalho de a
máquina-ferramenta. Isso é feito usando os três grupos de offsets que estão disponíveis em várias máquinas CNC
(ver Capítulo 11). Um conhecimento profundo do deslocamento de trabalho, do deslocamento do comprimento e
do deslocamento do raio é extremamente importante para entender como macros de sondagem (algumas podem
ser muito complexas) realizam a medida mentos e altere as configurações de compensação individual. Como este
método de sondagem sempre ocorre na máquina CNC durante sua operação, também é chamado de método em
processo ou medição em processo. Qualquer que seja o nome usado, esse método de sondagem é baseado na
aplicação de um dispositivo de gatilho de toque, chamado de sonda de toque. Entender os princípios por trás das
sondas e suas funções é definitivamente útil.

Sondas de toque

Por volta do ano de 1973, foi desenvolvida a primeira sonda moderna. Era chamado de apalpador de toque
cinemático. Este projeto de sonda funciona no princípio de uma chave multidirecional.
A parte principal da sonda é chamada de estilete, que é uma ponta em forma de bola de precisão, variando em
diâmetros esféricos e localizada na ponta da haste ou extensão em forma de braço. O elemento chave deste
projeto (e de qualquer projeto de apalpador) é que a ponta pivotante acionada por mola deflete quando toca o
ponto de contato e retorna à sua posição original após a desconexão. flexão. A agulha com mola está localizada
contra três pontos de apoio, e cada um desses pontos de apoio é também um ponto de contato elétrico.

Durante o contato com a superfície (ou característica) medida, o centro da ponta deflete em um ou dois dos
pontos de apoio. Um contato elétrico é estabelecido e resulta em um sinal de disparo que é registrado pelo sistema
de medição. A tecnologia de sonda evoluiu nas últimas décadas e está bem avançada. Como qualquer outra
tecnologia, ela evolui constantemente, e para qualquer macroprogramador é importante estar em contato com seus
avanços.

Tecnologia de sondagem hoje

Embora os princípios do apalpador cinemático sejam aplicados até hoje, a tecnologia original era muito
dependente do efeito de gatilho causado pela pressão real nos mancais. Este método tem sido muito preciso, mas
tem suas desvantagens. A grande desvantagem era que o comprimento da sonda (a haste) tinha que ser mantido
bastante curto, evitando assim medições de áreas de contato de difícil acesso e profundas da parte medida.

Copyright 2005, Industrial Press Inc., Nova York, NY - www.industrialpress.com


Machine Translated by Google Macros personalizadas CNC da FANUC

SONDA COM MACROS 277

A nova tecnologia é chamada de tecnologia de medidor de tensão de sil icon ativo, e não gera o efeito de gatilho
por pressão, mas por sentir a força de contato que se acumula durante o contato. - entre a caneta altamente sensível
e o ponto medido. Uma vez que mesmo uma força de contato muito baixa pode ser detectada usando este método,
a precisão é garantida para sondas mesmo com hastes longas. Outras melhorias incluem alta precisão ao medir
superfícies tridimensionais complexas, maior repetibilidade e maior vida útil do dispositivo de medição.

Calibração da sonda

Para obter as leituras de alta precisão esperadas - e muito necessárias - de uma sonda, o dispositivo de
sondagem deve ser calibrado. Quando a sonda toca o ponto de contato na superfície medida, uma certa força é
gerada, causando uma curva, principalmente uma muito leve. Esse pequeno deslocamento causado pela flexão (ou
deflexão da ponta) é chamado de pré-curso. Calibrar a sonda significa compensar a leitura final da medição pelo
valor da pré-viagem.
Em alguns aspectos, esse fenômeno é muito semelhante ao backlash de uma máquina CNC. Mais adiante neste
capítulo, os problemas básicos de calibração da sonda serão descritos.

Existem muitos métodos para calibrar um apalpador, um dos mais comuns é tocar em um medidor de precisão
especial localizado em máquinas-ferramentas CNC (às vezes chamado de artefato). Durante a calibração, o
tamanho efetivo da caneta é determinado (em comparação com seu tamanho real). Também durante a calibração,
é muito importante calibrar a ponta do apalpador em todas as direções que serão medidas. Tenha em mente que a
direção do movimento de pré-viagem é fundamental para a precisão da medição final.

A calibração é necessária não apenas para uma nova sonda, mas também em muitas outras situações. O fol-
A lista baixa deve ajudar a tomar uma decisão informada quando uma calibração de sonda é necessária:

o Novo apalpador ou nova ponta do apalpador foi instalado


o Início de um novo trabalho de usinagem que emprega
apalpador o Quando um apalpador ou ponta foi substituído
ou reparado o Quando a temperatura ambiente de operação mudou
drasticamente o Quando o avanço do apalpador foi alterado o Quando
a repetibilidade se desvia dos valores esperados por um valor inesperado

Outras considerações também podem ter efeito.

Velocidade de avanço e precisão de sondagem

Observe o comentário acima referente ao avanço. Todas as sondagens devem ser feitas com a mesma velocidade
de avanço em todas as direções. Alguns programadores de macro preferem "codificar" a taxa de alimentação na
macro, outros usam uma variável para o mesmo propósito. De qualquer forma, se o avanço foi alterado, o processo
de calibração deve ser repetido.

Também uma abordagem muito prática é desabilitar o feedrate over ride no painel de operação do CNC, de
forma que o avanço seja sempre garantido em 100% do valor programado. Para desabilitar o feedrate over ride na
macro, use a variável de sistema #3004=2 (feedrate over ride desabilitado) ou #3004=3 (feedhold e feedrate over
ride desabilitados). Outras variações também são possíveis. Certifique-se de programar #3004=0 no final da macro,
para remover as restrições quando não forem necessárias.

Copyright 2005, Industrial Press Inc., Nova York, NY - www.industrialpress.com


Machine Translated by Google Macros personalizadas CNC da FANUC

278 Capítulo 23

Dispositivos de apalpação em máquinas CNC

Qualquer oficina mecânica pode se beneficiar da medição da peça durante um ciclo de usinagem. A
unidade do apalpador é montada no magazine de ferramentas, com seu próprio número e configurações de
off set, como qualquer outra ferramenta. A principal diferença de outras ferramentas é que um apalpador não
gira no fuso quando é usado. A medição em processo está intimamente ligada ao macroprograma que
controla a usinagem, medição e ajustes de offsets no sistema de controle. Recursos de macro, como
ramificação, teste condicional, looping, uso de diferentes variáveis e acesso a recursos de controle, são todos
importantes para programar os vários parâmetros de sondagem. vícios.

Benefícios de medição em processo

Há muitos benefícios em medir as várias características das peças durante o ciclo de usinagem - todos
eles estão relacionados ao aumento da produtividade e precisão geral. Os benefícios mais importantes
podem ser resumidos em vários itens:

o A localização da peça, o comprimento e o diâmetro do cortador usado podem ser medidos automaticamente

o Todos os três grupos de memória de deslocamento podem ser calculados automaticamente e corrigidos conforme necessário durante

usinagem, individual ou coletivamente

o Redução do tempo ocioso da máquina - a configuração da peça pode ser bastante simplificada - não há necessidade de gastar

tempo na configuração física exata. A posição real da peça e seu alinhamento com os eixos da máquina e/ou os dados de fixação

podem ser corrigidos matematicamente em vez de fisicamente

o Redução do nível de refugo - uma vez que as dimensões reais usinadas são monitoradas

pelo programa de macro e o ciclo de apalpação, qualquer correção de offset necessária é feita automaticamente

o A inspeção da primeira peça acabada não requer sua retirada da área de usinagem

o Ferramentas quebradas podem ser detectadas e a ação adequada seguida conforme especificado pelo programa de macro

o O investimento inicial na tecnologia (equipamentos e habilidades) é devolvido muito mais rápido do que outros métodos

o O nível de confiança do operador CNC é aumentado e a usinagem autônoma pode se tornar uma realidade

Tipos de Sondas

Vários fabricantes de muitos modelos diferentes de sondas. Ao selecionar sondas, o principal problema é,
obviamente, a precisão da sonda. No entanto, a precisão de uma sonda geralmente não é um problema, o
que significa que o cliente procura recursos adicionais ao selecionar as sondas. Nesse contexto, é muito
importante entender que uma sonda em si não mede, de modo que a questão da precisão da sonda é
puramente acadêmica.

Copyright 2005, Industrial Press Inc., Nova York, NY - www.industrialpress.com


Machine Translated by Google Macros personalizadas CNC da FANUC

SONDA COM MACROS 279

A sonda pode ser avaliada em termos de repetibilidade, o que influi na precisão da probabilidade
sistem. Em termos de precisão, o aspecto mais importante é a precisão do sistema completo
tem, com todas as suas partes, não apenas seus componentes individuais. Ao selecionar dispositivos de sondagem para o dia,
a característica mais importante é a finalidade da sonda - uma atual e outra no futuro.

Tamanho da sonda

No método de apalpação por toque, o tamanho da sonda é geralmente determinado pela natureza do trabalho. Obviamente,
a sonda deve caber na área a ser medida. Isso significa um pequeno
A sonda de diâmetro permitirá o acesso a mais características da peça, como fendas e pequenas aberturas.
Grandes tamanhos de sonda geralmente fazem parte de uma configuração geralmente mais pesada, e um sistema um pouco menor
A precisão do tema deve ser esperada.

Critérios de Seleção de Sonda

Nem todas as sondas são criadas iguais - há várias considerações que devem ser feitas quando se -
lendo um apalpador para medição CNC em processo (aferição). As consideraes relativas ao
A seleção da sonda pode ser resumida nos seguintes grupos:

o Peça usinada o ... seu tamanho e forma

Capacidades do sistema de controle ... características padrão e opcionais

o Tolerâncias esperadas o Recursos ... dados de engenharia - eles são realistas?

adicionais e opcionais o Custos associados ... pode ser benéfico a longo prazo

... custos iniciais, bem como custos contínuos

Peça usinada

Sem dúvida, a natureza do trabalho determina qual ou quais sondas serão utilizadas, com base na tecnologia atual. A
natureza inicial do trabalho pode exigir diferentes sondas para diferentes
empregos. Embora a maioria das sondas possa ser trocada com relativa facilidade, os sistemas de medição devem ser capazes
de acomodar todas as variedades. Isso significa olhar para frente para futuras peças de sinais e ser
capaz de estabelecer a necessidade de um sistema de medição baseado nos requisitos atuais e futuros.

As áreas de consideração focada também devem incluir o tamanho real da peça, seu complexo geométrico -
idade (forma geral), as características na parte que requerem medição (características críticas), o real
tamanho da sonda (pequena ou grande) e sua precisão, se usada com haste longa, bem como sua capacidade de
estar posicionado nem mal (ou seja, por pen dular) em relação à superfície medida.

Há também outros fatores relacionados à peça, como seu material e a espessura da medida.
característica segura. Alguns materiais macios, como plásticos, podem ser defletidos ou mesmo deformados pelo
dispositivo de sondagem, então outras técnicas terão que ser usadas. O método mais comum neste tipo de aplicação é o
apalpador sem contato, oferecido por todos os principais fabricantes de apalpadores. De dez uma sonda gêmea
(uma com duas pontas, às vezes chamada de sonda megafone) pode ser equipada com um contato e
uma sonda sem contato. Algumas cabeças de apalpação podem ser equipadas para ambos os tipos e alteradas
man u ally ou au to mat i cally. A mudança de sonda automática é particularmente atraente para o homem de alto volume -
u fa tur ing (como na indústria automotiva).

Copyright 2005, Industrial Press Inc., Nova York, NY - www.industrialpress.com


Machine Translated by Google Macros personalizadas CNC da FANUC

280 Capítulo 23

Capacidades do Sistema de Controle

Quando o dispositivo de apalpação é aplicado a máquinas CNC, as capacidades do sistema são uma
consideração muito importante. Normalmente, a maioria dos erros são cometidos no momento da compra ao não
estabelecer necessidades futuras. Muitos examinam fabricantes de níveis superiores, mas depois de alguns anos
a compatibilidade pode desaparecer. Pode ser difícil - ou mesmo impossível - atualizar um equipamento simples
posteriormente para um equipamento mais sofisticado.

Igualmente importante são as especificidades da máquina CNC. Pequenas partes de hoje


pode não causar problemas, mas grandes partes do amanhã podem não caber no pensamento de hoje.

Tolerâncias esperadas

Os engenheiros de design colocam tolerâncias em dimensões críticas. Em um breve lembrete, a tolerância


dimensional é o desvio permitido do tamanho nominal especificado no desenho de engenharia. Na sondagem,
particularmente durante o processo de seleção da sonda, é importante perceber que as tolerâncias muito
apertadas (aquelas com uma faixa de desvio permitida muito pequena) tornam o processo de usinagem muito
mais caro em todos os aspectos. No entanto, se houver necessidade de engenharia, o custo deve ser reconhecido
e absorvido. Para tolerâncias apertadas, as sondas devem ser selecionadas com esta consideração inicial.
Tolerâncias apertadas também requerem tempos de medição mais longos, porque muitos mais pontos ou acertos
têm que ser medidos para garantir tal precisão. Por exemplo, um requisito de tolerância apertado em um diâmetro
de furo exigirá mais do que os três pontos padrão para medir o diâmetro.

Recursos adicionais e opcionais

Muitos recursos opcionais estão disponíveis para vários dispositivos de apalpação CNC. Algumas das
características mais importantes são a orientação fixa da sonda versus sua capacidade de ser orientada em
diferentes direções (não padronizadas). Flexibilidade adicional é bem-vinda, se seus custos puderem ser justificados.

Custos associados

Existem diferentes tipos de sondas disponíveis e - mais de dez do que não - um preço mais alto indica um
dispositivo de sondagem mais sofisticado e de nível superior - um dispositivo melhor. Verifique sempre as
características da unidade e a disponibilidade de serviços futuros do fabricante ou do fornecedor.

Tecnologia de sonda de máquina CNC

Cada apalpador instalado na máquina CNC deve ser capaz de se comunicar com o sistema de controle da
máquina-ferramenta. Nos centros de usinagem CNC, o apalpador é montado em um porta-ferramentas semelhante
ao porta-ferramentas de corte padrão, também armazenado no magazine de ferramentas, e é colocado no fuso
da mesma forma que qualquer outro. outra ferramenta, quando necessário. Nos tornos CNC, o apalpador é
montado na torre da ferramenta, ocupando também uma estação. Em ambos os casos, a finalidade do apalpador
é tocar na característica desejada da peça, fazer a medição e transmitir um sinal ao sistema de controle com os
resultados. Existem três principais métodos de transmissão disponíveis para o sinal acionado:

Copyright 2005, Industrial Press Inc., Nova York, NY - www.industrialpress.com


Machine Translated by Google Macros personalizadas CNC da FANUC

SONDA COM MACROS 281

u Transmissão de sinal óptico

u Transmissão de sinal indutivo

u Transmissão de sinal de rádio

No desenvolvimento posterior, um método infravermelho de transmissão de sinal também foi disponibilizado por
vários fabricantes, embora os métodos de sondagem óptica e indutiva formem os maioria das aplicações.

Independentemente de qual método de transmissão de sinal é aplicado, o sistema de transmissão usa


três componentes importantes:

2 Componente 1:

A sonda e o módulo de sondagem são montados em uma haste. O método de transmissão óptico e de rádio
trabalham no mesmo princípio - o módulo recebe os sinais do sistema de controle e transmite os sinais da sonda,
bem como da estação. da bateria interna que fornece a tensão necessária. A sonda e o módulo de sondagem podem
ser usados em modo de espera ou em modo de operação contínua. Se a configuração estiver em modo de espera, a
unidade atua apenas como um receptor que está aguardando o sinal de transmissão. Uma vez recebido o sinal, o
modo de espera é automaticamente alterado para o modo de operação contínua. Uma vez que o modo de operação
assume, os sinais de status da sonda e da bateria são transmitidos para o módulo de comunicação da máquina.

2 Componente 2:

Módulo de comunicação da máquina, utilizado para estabelecer contato com o módulo apalpador. Através da
transmissão de sinal, um cabo e sua configuração de fiação exclusiva, o módulo de comunicação da máquina será
conectado à unidade de interface da máquina.

2 Componente 3:

A unidade de interface da máquina é usada para converter os sinais recebidos da sonda em um formato que o
sistema de controle pode interpretar. Usando a unidade de interface, vários indicadores luminosos mostram a sonda
e o status da bateria.

Transmissão de sinal óptico


Na transmissão de dados de sinais ópticos, um feixe de luz infravermelha é utilizado para transferir os sinais de
sonda coletados no momento do contato, do apalpador para o sistema CNC. Diodos emissores de luz (LED)
instalados no dispositivo de sondagem emitem sinais para um receptor pré-sintonizado. O receptor pode captar sinal
de até 10 pés (3 metros). A fonte de alimentação para as sondas que usam transmissão de dados de sinal ótico é
uma pequena bateria instalada no corpo do dispositivo de sondagem. Uma pequena vantagem do sistema de
transmissão de sinal óptico é a exigência de um caminho de luz claro entre o apalpador e o controle CNC. A maioria
dos centros de usinagem CNC instalados atualmente utilizam o método ótico de transmissão de dados.

Copyright 2005, Industrial Press Inc., Nova York, NY - www.industrialpress.com


Machine Translated by Google Macros personalizadas CNC da FANUC

282 Capítulo 23

Transmissão de sinal indutivo

Na área de transmissão de dados de sinais indutivos, os sinais transmitidos usam indução eletromagnética à
medida que são transferidos através de um pequeno entreferro. O entreferro está entre os dois módulos de indução,
um localizado no dispositivo de apalpação, o outro localizado no fuso da máquina CNC. Ambos estão ligados ao
sistema CNC. A transmissão de dados de sinais indutivos também é bastante comum em centros de usinagem CNC
e tornos CNC. Provavelmente, o principal benefício das sondas de transmissão de sinal indutivo é a facilidade de
manutenção e a falta de energia da bateria. O módulo apalpador recebe energia do módulo da máquina e devolve
vários sinais de apalpador.

Transmissão de sinal de rádio

Na transmissão de dados de sinal de rádio, o dispositivo de sondagem gera um sinal de radiofrequência. A fonte
de alimentação para as sondas que usam transmissão de dados de sinal de rádio é uma pequena bateria instalada
no corpo do dispositivo de sondagem. Este método de transmissão é comumente usado em grandes máquinas CNC.
Usar uma transmissão de dados de sinal de rádio é muito prático em máquinas CNC que são fisicamente grandes
e em situações onde um sistema óptico não seria adequado para funcionar adequadamente sobre uma distância
superior a cerca de 10 pés (3 metros).

Os sistemas de apalpação que utilizam transmissão de rádio baseiam-se no princípio das ondas de rádio de alta
frequência que transportam os sinais de dados. Os sinais são transportados entre o dispositivo de apalpação e o
sistema CNC da máquina-ferramenta. O benefício adicional da transmissão de sinal de rádio é a eliminação do
caminho direto e claro do sinal, necessário para outros métodos de sondagem.

Medição em processo

A medição em processo já foi mencionada várias vezes neste capítulo, mas sempre de forma bastante oblíqua.
Os próximos parágrafos tentarão lançar alguma luz e mais detalhes sobre este assunto extremamente importante.

Para muitas estações de usinagem não tripuladas, por exemplo, em uma célula FMS (Flex i ble Manufacturing
System), ou fabricação celular similar, deve ser feita uma provisão em o programa CNC para permitir a verificação
e ajuste das dimensões críticas diretamente na peça, de preferência enquanto ela ainda estiver montada no
acessório. À medida que a ferramenta de corte se desgasta, ou devido a muitas outras causas, as dimensões
esperadas podem cair na zona 'fora de tolerância'. Usando um dispositivo de sondagem e um macroprograma
adequado, a opção de medição em processo oferece uma solução de fábrica muito satisfatória. O programa CNC
para a opção In-Pro cess Gauging conterá algumas características bastante singulares - ele será escrito
parametricamente, e será fortemente dependente do uso de macro programas, de dez muito profundamente
aninhado.

Se uma oficina de máquinas CNC for um usuário do recurso de medição em processo , há boas chances de que
outras opções de controle também estejam instaladas e disponíveis para o programador CNC. Algumas das opções
mais típicas são software de sondagem, gerenciamento da vida útil da ferramenta, macros, vários detectores, leitores
de comprimento e raio da ferramenta, etc. um pouco além da programação CNC padrão, embora esteja intimamente
relacionada. As empresas que já utilizam a tecnologia CNC com sucesso, serão aconselhadas a buscar essas
opções para se manterem competitivas em seu campo de atuação.

Copyright 2005, Industrial Press Inc., Nova York, NY - www.industrialpress.com


Machine Translated by Google Macros personalizadas CNC da FANUC

SONDA COM MACROS 283

A ideia de fazer a primeira peça fabricada exatamente de acordo com as especificações desenvolvidas na
implementação da medição em processo. Em alguns casos, este método de medição pode eliminar totalmente
os sistemas de medição off-line (CMM), ou pelo menos completá-los. Ao empregar a aferição completa em
processo exclusivamente na máquina, os sistemas CMM podem ser muitas vezes eliminados (pelo menos para
certas aplicações) e o custo e o tempo de inatividade da medição off-line certeza também é eliminada. Existem
vários requisitos tecnológicos não lógicos para que esta tecnologia seja bem sucedida.

o O sistema de apalpação deve ser usado no porta-ferramentas, assim como


qualquer outra ferramenta o O sistema de apalpação é estacionário (não giratório) e muitas vezes
travado em uma posição orientada o A opção de programa de macro deve estar disponível dentro
do sistema de controle o Interfaces adequadas entre a sonda e o sistema de controle devem ser
estabelecidos o Programas macro especiais devem ser desenvolvidos e mantidos para a medição

Em termos de economia, a medição em processo estende o tempo total do ciclo, de dez de forma bastante
significativa. Mesmo que nem todas as partes do lote sejam medidas, o tempo médio do ciclo deve ser considerado.
Quando a máquina-ferramenta CNC é usada como dispositivo de medição, os equipamentos envolvidos nas
várias etapas de medição devem ser certifi cados ou calibrados. A calibração do dispositivo de apalpação é feita
em um medidor verificado (gage), usando um programa macro. Os princípios de calibração foram discutidos
anteriormente.

Muitas máquinas-ferramentas CNC possuem um design único que permite a inclusão de um artefato calibrado
dentro do cubo de trabalho da máquina. O cubo de trabalho é definido pela quantidade máxima combinada de
deslocamento ao longo do eixo X, eixo Y e eixo Z. Se apenas dois eixos forem considerados, o termo 'cubo de
trabalho' é alterado para uma área de trabalho ou um envelope de trabalho.

Características a serem medidas

Para determinar quais características da peça podem ser medidas em uma máquina CNC, depende muito do
tipo de apalpador utilizado. Em suas aplicações básicas, praticamente todas as sondas podem medir as seguintes
características de uma peça ou de uma peça em particular:

o Medição central
o Diâmetro externo
o Diâmetro interno

o Comprimento externo - largura

o Comprimento interno - largura


o Profundidade de um recurso

o Ângulo de um recurso

Existem muitas outras características das peças que também podem ser medidas e algumas são mais comuns
do que outras. O item mais típico deste grupo abrange a localização da característica da peça, como centro de
um furo, distância entre dois pontos, diâmetro e assim por diante. Como a característica típica da peça é
normalmente especificada pelo menos pelos eixos X e Y, significa um macrodesenvolvimento que utiliza uma
combinação dos vários resultados e manipulação ing-los matemática e mat i cally. Tudo isso ocorre dentro do
corpo macro. Em muitos casos, o valor retornado diretamente não é usado como tal, mas para cálculos de uma
diferença de valores entre duas medidas. Como essa diferença é tratada depende da aplicação em particular.
Normalmente, o valor calculado é usado para ajustar apenas uma configuração de compensação em particular.

Copyright 2005, Industrial Press Inc., Nova York, NY - www.industrialpress.com


Machine Translated by Google Macros personalizadas CNC da FANUC

284 Capítulo 23

Existem muitos outros métodos de medição simples e complexos disponíveis para a sondagem de macros,
mas os conceitos básicos permanecem os mesmos em todos os momentos, independentemente do método
de medição utilizado. Nos próximos exemplos de aplicação, várias opções comuns serão exploradas com
algum detalhe, juntamente com a avaliação de procedimentos típicos de sondagem. Diagramas incluídos
sempre mostram o objeto medido (característica) e os pontos de contato com o objeto medido. Por exemplo,
P1, P2, P3, P4, etc., indicam a posição do apalpador no momento do contato ao longo do eixo selecionado, a
identificação Cn indica um centro lo número da cação, a letra W indica a largura ou o comprimento (qualquer
um também pode ser aplicado à profundidade do traço), a letra D especifica a profundidade medida, e assim
por diante. Na maioria dos casos de sondagem, o diâmetro da ponta de prova (comumente conhecido como
diâmetro da ponta) deve sempre ser conhecido, mas em alguns cálculos, o diâmetro da ponta não é uma
importância. tante (qualquer diâmetro razoável pode ser usado). A maioria dos cálculos, de dez, usa a função
macro ABS , para garantir um valor de retorno sempre positivo. Em qualquer macro, os valores positivos e
negativos de um cálculo (o valor retornado) são muito importantes e devem sempre ser aplicados corretamente.

Medição de localização central

A medição da localização central (posição) aplica-se à medição de objetos planos e circulares e


características de peças, como paredes planas, bordas, furos, furos, hastes, eixos, ranhuras, até mesmo cones e ta pers.
A medição também inclui dispositivos de calibração cilíndrica, se necessário. Em termos de implementação, a
medição de localização central é provavelmente a operação de sondagem mais comum em macros.

As figuras 57 e 58 ilustram um importante princípio matemático que é a base da medição de muitos locais
centrais, especialmente aqueles aplicados a recursos de peças ligados às paredes (laterais) da peça (ex ter
nal e in ter nal).

Figura 57
C1 C
2
As medidas centrais C1 e C2 estão entre
P1 P
2 P
3 P
4
dois recursos usinados, como paredes:

Paredes externas (C1) e internas (C2)

O diâmetro da ponta não é crítico ...


a verificação de eixo único é mostrada
C1 = ABS[P1-P2] / 2
C2 = ABS[P3-P4] / 2

Em ambas as ilustrações, estão implícitos dois objetivos que se relacionam com o desenvolvimento de
macroprogramas. Um objetivo é encontrar a medida da largura entre duas paredes externas , mostradas como
dimensão C1 na ilustração à esquerda acima. O outro objetivo é encontrar a medida da largura entre duas
paredes internas , mostradas como C2 na ilustração à direita acima. O exemplo de desenho na Figura 57
ilustra duas partes que são independentes uma da outra e resolve os cálculos C1 e C2 ao mesmo tempo.
Observe que o diâmetro da esfera da sonda (diâmetro da ponta) não tem efeito sobre o resultado.

Copyright 2005, Industrial Press Inc., Nova York, NY - www.industrialpress.com


Machine Translated by Google Macros personalizadas CNC da FANUC

SONDA COM MACROS 285

Figura 58
C
A medida central C está entre
P1 P
2 P
3 P
4 dois recursos usinados, como slots

O diâmetro da ponta não é crítico ...


a verificação de eixo único é mostrada

C = ABS[[[P1+P2] - [P3+P4]] / 2]

Uma abordagem semelhante é igualmente lógica ao tentar encontrar o centro de uma feição circular (raio
ou diâmetro), seja ela externa ou interna. Embora um exemplo seja mostrado para encontrar o centro em um
recurso externo (como uma haste, saliência, torneira, etc.), e o outro exemplo seja mostrado para o aplicativo
interno ção (como o diâmetro de um furo), eles compartilham a mesma fórmula matemática que pode ser
usada na macro para calcular o centro de um recurso circular, independentemente de é externo ou interno.
A fórmula se aplica a qualquer eixo único.

A Figura 59 e a Figura 60 ilustram o princípio matemático por trás da medição de uma localização central
aplicada a recursos relacionados ao diâmetro de peça externo ou interno ter.

Figura 59
C1
Medição central C1 e C2 de um recurso
externo circular
P1 P
2

O diâmetro da ponta não é crítico...


P3 dois eixos são mostrados

C2

P4

C1 = ABS[P1+P2] / 2
C2 = ABS[P3+P4] / 2

Na aplicação do centro de localização anterior aplicada a dois traços lineares, qualquer um dos eixos
podia ser usado na fórmula, e apenas uma medição de eixo era necessária. O elemento mais importante
neste exemplo é que são necessárias apenas duas medidas ao longo de um único eixo, pelo que nos dois
exemplos circulares, é necessário um ponto real, de modo que ambos os eixos deve ser considerado no
cálculo do centro de um objeto circular e são necessárias quatro medidas por diâmetro.

Copyright 2005, Industrial Press Inc., Nova York, NY - www.industrialpress.com


Machine Translated by Google Macros personalizadas CNC da FANUC

286 Capítulo 23

C1 Figura 60

P1 P
2 Medição central C1 e C2
de um recurso interno circular

O diâmetro da ponta não é crítico...


dois eixos são mostrados
P3

C2

P4

C1 = ABS[P1+P2] / 2
C2 = ABS[P3+P4] / 2

Como ambas as ilustrações mostram, os cálculos para mu las são idênticos. A única diferença é a direção de
medição, que deve estar incorporada na macro.

Medindo a largura externa ou interna


O comprimento ou largura externo (lado externo) ou interno (lado interno) entre dois recursos é estabelecido
selecionando e registrando duas posições de pontos estabelecidos, um em cada extremidade do o objeto medido.
Apenas um único eixo é usado para esta finalidade, os outros eixos permanecem inativos. Normalmente são
necessárias duas posições registradas (eixos X ou Y). A largura real é encontrada subtraindo uma posição
medida da outra, considerando o raio dos estilos.

A Figura 61 mostra a medição da largura do recurso externo à esquerda e a medição interna


à direita - o diâmetro do estilete B é muito importante em ambos os tipos de medição.

W1 W2 Figura 61

P1 P
2 P
3 P
4 Largura externa e interna
medição

B = Diâmetro da ponta da sonda

W1 = ABS[P1-P2]-B

W2 = ABS[P3-P4]+B

Copyright 2005, Industrial Press Inc., Nova York, NY - www.industrialpress.com


Machine Translated by Google Macros personalizadas CNC da FANUC

SONDA COM MACROS 287

Profundidade de Medição

Uma outra característica comumente medida de uma peça é a profundidade. A profundidade é normalmente associada com
o eixo Z, mas o método de sondagem também pode ser usado ao longo dos eixos X ou Y, por exemplo, para
meça uma profundidade de ombro ou uma profundidade de passo.

A profundidade é medida subtraindo duas posições medidas ao longo do eixo. Logicamente, a profundidade é
é tabulado da mesma forma que o comprimento externo ou interno (largura).

A Figura 62 mostra o princípio matemático por trás do cálculo de profundidade.

Figura 62
D1
Profundidade externa e interna

P
2
medição
P1
P3

P4 D2

D1 = ABS[P1-P2]
D2 = ABS[P3-P4]

Outras características podem ser medidas aplicando a mesma abordagem lógica. Entre eles, medi-
A medição de diâmetros externos ou internos e de ângulos de medição são as aplicações mais comuns.

Medindo o Diâmetro Externo


O diâmetro externo (lado externo) pode ser um pino, um núcleo, uma saliência, uma espiga ou qualquer outro objeto
redondo que seja um cilindro externo, incluindo um de calibragem vício. Para medir um diâmetro externo, medido
os pontos do diâmetro devem ser estabelecidos. Cada posição medida é registrada e o diâmetro externo é calculado
matematicamente, através das fórmulas da macroprograma CNC. Um
O diâmetro externo aproximado deve ser sempre conhecido. Normalmente, um diâmetro externo é me-
assegurado pelo estabelecimento de três pontos no diâmetro.

Medindo o Diâmetro Interno


O diâmetro interno (no lado) pode ser qualquer furo, como um rebaixo, bolsão circular ou qualquer outro
c il in tern o, incluindo um disposi tivo de calibragem. Para medir um diâmetro interno, medido
os pontos do diâmetro devem ser estabelecidos. Cada posição medida é registrada e o diâmetro interno é calculado
matematicamente, através das fórmulas da macroprograma CNC. Um
O diâmetro interno aproximado deve ser sempre conhecido. Normalmente, um diâmetro interno é medido estabelecendo três
pontos no diâmetro.

Copyright 2005, Industrial Press Inc., Nova York, NY - www.industrialpress.com


Machine Translated by Google Macros personalizadas CNC da FANUC

288 Capítulo 23

Ângulos de medição

Uma medição de ângulo pode ser usada para muitas finalidades úteis, sendo uma delas ajustar o sistema de
coordenadas da máquina-ferramenta girando-a. Para ilustrar a ideia, pense na facilidade de programar um
retângulo onde todos os quatro lados são paralelos aos eixos, depois programar o mesmo retângulo localizado
em um ângulo dentro do eixo. área do queixo. Girar o sistema de coordenadas permite a simplicidade de
programar um retângulo reto, mas localizá-lo em um ângulo durante a configuração da máquina. Girando o
sistema coordenado para corresponder à orientação da peça, a configuração pode ser feita de forma muito
eficiente. Fanuc of fers recurso opcional chamado Co or dinate System Ro tation (G68-G69). Macro é a melhor
escolha se esta opção não estiver disponível.

Alteração de valores definidos

Como a sondagem é controlada pelo macroprograma CNC, a macro pode conter decisões baseadas no
resultado do processo de sondagem. Por exemplo, uma tolerância pode ser inserida no corpo macro, o resultado
da sondagem registrado, avaliado e comparado com os valores armazenados. A decisão de ajustar apenas o
deslocamento, recortar a peça ou mesmo rejeitá-la pode ser feita automaticamente. Este é um método muito
sofisticado de programação que requer muita prática.

Dispositivos de calibração

Dispositivos de calibração - às vezes são chamados de artefatos ou medidores mestres - instalados em uma
máquina-ferramenta CNC são - em sua definição mais simples - a referência mestre para todas as outras
referências ências. Em uma explicação mais técnica, tal dispositivo é uma substituição física para a peça real
usinada cuja posição fixa dentro do cubo de trabalho foi estabelecida anteriormente, sob condições precisas,
como temperatura e umidade controladas. Isso pode parecer um pouco complicado, mas indica o propósito
principal de um dispositivo de calibração.

Em termos gerais, existem dois tipos básicos de design de dispositivos de calibração:

Dispositivo de calibração - Tipo 1

Substi tuição física previamente estabelecida da peça usinada real. A vantagem deste tipo é que pode ser
calibrado diretamente na máquina CNC e resulta em uma precisão muito alta de todo o ambiente de medição
da máquina.

Dispositivo de calibração - Tipo 2

Um item de referência de uso geral, como uma esfera de calibração de alta precisão ou um bloco de
calibração. Qualquer um dos sinais é usado para medir contra tamanhos e locais relativos conhecidos do
dispositivo de calibração, por exemplo, paredes de um cubo ou a superfície superior de uma esfera.

O principal objetivo do dispositivo de calibração é avaliar a integridade da geometria da máquina CNC, antes
que qualquer ferramenta de corte seja aplicada à produção. Além disso, o dispositivo também serve como meio
para compensar até mesmo uma pequena expansão ou contração do sistema de medição, devido aos efeitos
do calor ou do frio.

Copyright 2005, Industrial Press Inc., Nova York, NY - www.industrialpress.com


Machine Translated by Google Macros personalizadas CNC da FANUC

SONDA COM MACROS 289

Verificando o dispositivo de calibração

Durante o ciclo de usinagem, os tamanhos críticos (características) da peça são estabelecidos comparando as dimensões
desejadas com a característica previamente calibrada. Normalmente, o dispositivo de calibração é
medido antes que qualquer usinagem real e qualquer erro de desvio seja estabelecido no início. Esse erro
pode ser causada por vários fatores, principalmente aqueles relacionados ao calor extremo ou frio extremo.

Uma vez estabelecida a integridade do dispositivo de calibração, a peça usinada é medida.


O resultado da medição da peça é considerado errôneo, se os erros detectados durante a prova
processo de calibração são comparados com as dimensões do dispositivo de calibração e encontrados fora da especificação -
limites fiados. Esta é uma consideração importante, porque mostra que a medição precisa de
a parte é determinada pela precisão da configuração do dispositivo de calibração, em vez de toda a máquina
sistema de ferramentas chinesas.

Exemplo de macro de centralização

Como exemplo prático de uma macro usando um dispositivo de sondagem, a macro central a seguir é uma
das aplicações mais comuns de uma sonda. Seu objetivo é encontrar o centro de um objeto circular,
tipi camente um anel de calibração ou um furo na peça que deve ser medida. O centro do círculo
objeto será usado como a nova configuração do G54 work off set (a macro pode ser modificada para qualquer outro
trabalho fora do número).

O0032 (PROGRAMA PRINCIPAL)


N1 G21 Entrada de métrica
N2 G17 G40 G80 Bloco de inicialização
N3 G90 G00 G54 X0 Y0 Movimento XY para o centro do furo (perto do centro deve ser conhecido)
N4 G43 Z25.0 H19 Limpar posição acima do trabalho
N5 G01 Z-5.0 F250.0 Alimentação até a profundidade de sondagem (*)

N6 G65 P8112 D175.0 F80.0 Chamada de macro com atribuições D=diâmetro medido, F=velocidade de avanço
N7 G00 Z25.0 Retrair acima do trabalho
N8 G28 Z25.0 Retorno ao zero da máquina (eixo Z)
N9 M30 Fim do programa principal
%

O8112 (MACRO DE CENTRALIZAÇÃO - MÉTRICO)


(USE ESFERA DE 6 MM DE DIÂMETRO)
IF[#7 EQ #0] GOTO996 IF[#9 EQ #0] Verifique se o diâmetro medido está faltando
GOTO997 IF[#9 GT 100.0] GOTO998 Verifique se o avanço de apalpação está faltando
#3004 = 2 #10 = #4003 #7 = #7/2 #101 = Máx. a velocidade de avanço de apalpação recomendada é F100,0 mm/ min
#5041 #102 = #5042 Substituição da taxa de avanço desativada

Armazenar a configuração atual de G90 ou G91


Alterar diâmetro de entrada para raio
Armazenar a coordenada atual do eixo X
Armazenar a coordenada atual do eixo Y
M51 Ligue o Blast para limpar a sonda - o código M irá variar
G04 X2.0 Aguarde 2 segundos para o jato de ar
M52 Desligue o Blast OFF - o código M irá variar

Copyright 2005, Industrial Press Inc., Nova York, NY - www.industrialpress.com


Machine Translated by Google Macros personalizadas CNC da FANUC

290 Capítulo 23

G91 G01 X[#7-5.0] F[#9*4] Afaste 5 mm do alvo do lado direito (movimento X+) (*)
G31 X[#7+5.0] F#9 #103 = Pule o resto do movimento X após o contato (X+)
#5061 G90 G01 X#101 F[#9*4] Armazenar a posição X no sinal de salto (X+)
Volte para a posição inicial em X
G91 X-[#7-5.0] Afaste 5 mm do alvo do lado esquerdo (movimento X) (*)
G31 X-[#7+5.0] F#9 #104 = Pule o resto do movimento X após o contato (X-)
#5061 G90 G01 X#101 F[#9*4] Armazenar a posição X no sinal de salto (X-)
#105 = [#103+#104]/2 #106 = #101- Volte para a posição inicial em X
#105 G91 G01 Y[#7-5.0] Média da leitura X+ e X-
Calcule a quantidade de deslocamento para G54 ao longo do eixo X
Afaste 5 mm do alvo lateral superior (movimento Y+) (*)
G31 Y[#7+5.0] F#9 #107 = Pule o resto do movimento Y após o contato (Y+)
#5062 G90 G01 Y#102 F[#9*4] Armazenar a posição Y no sinal de salto (Y+)
Voltar para a posição inicial em Y
G91 Y-[#7-5.0] Afaste 5 mm do alvo lateral inferior (movimento Y) (*)
G31 Y-[#7+5.0] F#9 #108 = Pule o resto do movimento Y após o contato (Y-)
#5062 G90 G01 Y#102 F[#9*4] Armazenar a posição Y no sinal de salto (Y-)
#109 = [#107+#108]/2 #110 = #102- Voltar para a posição inicial em Y
#109 Média da leitura Y+ e Y-
Calcule a quantidade de deslocamento para G54 ao longo do eixo Y
( —————————————————————————————————————————————————— ——————————————————————)
#2501 = #2501-#106 #2601 = Atualizar a coordenada X para o sistema de coordenadas de trabalho G54
#2601-#110 Atualizar a coordenada Y para o sistema de coordenadas de trabalho G54
(————————————————————————————————— ————————————————————————————————————————)
#3004 = 0 G#10 Substituição da taxa de avanço ativada

Restaurar G90 ou G91 original


GOTO999 Ignorar mensagens de erro
N996 #3000 = 106 (FALTA DE DIÂMETRO) Emite alarme se o diâmetro medido estiver ausente
N997 #3000 = 107 (FEEDRATE MISSING) Emite alarme se a velocidade de avanço estiver ausente
N998 #3000 = 108 (FEEDRATE TOO HIGH) Emite um alarme se o avanço for muito alto
N999 M99 Fim da macro
%

As folgas marcadas com (*) devem ser maiores que o raio da ponta do apalpador

Observe que o avanço especificado se aplica ao avanço de apalpação, não ao avanço de posicionamento. Ar-
bitariamente, o avanço de posicionamento é quatro vezes maior, mas não ultrapassará 500,0 mm/min. Flexi-
bilidade pode ser adicionada à macro para um controle mais preciso nesta área. Esta é uma macro de trabalho e satisfaz as
metas estabelecidas anteriormente. As possíveis alterações ou melhorias na macro seriam manejadas
dling do diâmetro da esfera da sonda (ra dius), velocidade de avanço e as distâncias livres antes de atingir o alvo
posição.

Com esta amostra de macro de sondagem, virtualmente qualquer outra macro de sondagem pode ser desenvolvida. Muitos
os recursos da macro de amostra não mudarão de um tipo de sondagem para outro. O prefeito
a mudança será na inclusão e man ip u la ção de diferentes for mu las.

Um comando crítico que é exclusivo dos mac ros é o comando G31 - Skip Command. Será
explicado no final deste capítulo.

Copyright 2005, Industrial Press Inc., Nova York, NY - www.industrialpress.com


Machine Translated by Google Macros personalizadas CNC da FANUC

SONDA COM MACROS 291

Calibração do comprimento da sonda

As sondas são usadas não apenas para medir dentro do plano XY, elas também podem verificar a profundidade, juntamente
o eixo Z. Assim como a macro de centralização (calibração da posição central) é projetada para atualizar o trabalho
sistema co ou di nato, esta macro define o comprimento da ferramenta fora do ajuste para o eixo Z. Existem vários métodos
disponíveis, no entanto a sua fun cionalidade básica é a mesma. A Figura 63 mostra a configuração para um
Centro de usinagem CNC.

Figura 63

Máquina zero Configuração de deslocamento do comprimento da sonda

T (#20)

Programa zero (Z0)


PAPEL

A atribuição de variáveis será simples. Estritamente falando, apenas uma única variável será necessária - o comprimento
da ferramenta fora do número de ajuste - onde o comprimento medido será armazenado. Para mais flexibilidade i -
bilidade, também incluída pode ser a posição do eixo Z para medir, embora normalmente seja zero. o
função de salto G31 necessitará de uma velocidade de avanço e uma pequena quantidade de deslocamento extra. A macro terá a
taxa de avanço embutida, de modo que a sondagem será consistente para todos os trabalhos. O valor da viagem extra (conhecido como
o overshoot), também será integrado, o que facilita o desenvolvimento da macro para ambas as métricas
e polegadas de medida.

O0033 Exemplo de programa principal


N1 G21 Seleção de unidades de medida
N2 G17 G40 G80 Bloco de inicialização
N3 90 G00 G54 X300.0 Y250.0 T99 Posição XY para apalpação - também chama a Ferramenta 99
N4 M06 Ferramenta 99 para fuso
N5 G65 P8113 Z0.0 T99 Chamar macro para Z0 e correção do comprimento da ferramenta 99
N6 M30 Fim do programa principal
%

O8113 (OFFSET DO COMPRIMENTO DA SONDA)


(*** NÃO ALTERAR NÚMEROS DE SEQUÊNCIA ***)
IF[#20 EQ #0] GOTO99 Alarme emitido se o número de compensação não for atribuído
G40 G80 G49 Bloco de inicialização reafirmado

SE[#26 NE #0] GOTO98 #26=0 Verifique se a posição Z está atribuída


Se a posição Z não for atribuída, o padrão é Z0.0

Copyright 2005, Industrial Press Inc., Nova York, NY - www.industrialpress.com


Machine Translated by Google Macros personalizadas CNC da FANUC

292 Capítulo 23

N98 #3004 = 2 #11 = Desativar substituição de taxa de avanço

#4001 #13 = #4003 #16 Armazenar o código G atual do Grupo 01


= #4006 SE[#16=20.0] Armazenar o código G atual do Grupo 03
GOTO20 SE[#16=21.0] Armazenar o código G atual do Grupo 06
GOTO21 N20 #32 = -0.25 #9 = 2.0 Verifique se o programa principal está em polegadas

Verifique se o programa principal está em milímetros


Defina o deslocamento extra em polegadas

Defina a velocidade de avanço do apalpador em polegadas por minuto

GOTO100 Ignorar valores de métrica se polegadas selecionadas


N21 #32 = -6,0 #9=50,0 Defina o curso extra em milímetros

Defina a velocidade de avanço de apalpação em mm/ min

N100 (A SONDA COMEÇA AQUI) #33 = #26+#32 Início do roteamento de sondagem

Calcule a posição Z final


G90 G31 Z#33 F[#9*2] Faça o apalpador inicial tocar em um avanço mais rápido
G91 G00 Z[ABS[2*#32]] Retrair duas vezes a quantidade de viagens extras armazenadas
G90 G31 Z#33 F#9 #100 = Faça o toque final do apalpador em um avanço mais lento
#5063 #[2000+#20] = #100 Registre a posição Z no sinal de salto
Transfira o novo valor para o deslocamento selecionado
GOTO999 Ignorar a mensagem de alarme se o processamento estiver normal

N99 #3000=99 (FALTA NÚMERO DE DESVIO) Emite alarme se o número de desvio não for atribuído
N999 G91 G00 G28 Z0 Retorne o eixo Z ao zero da máquina
#3004 = 0 Ativar substituição da taxa de alimentação

G#11 G#13 G#16 Restaurar códigos G anteriores dos Grupos 01, 03, 06
M99 Fim da macro
%

Observe algumas técnicas especiais de programação usadas na macro. Mesmo ao desenvolver um sim i lar
macro customizada, algumas dessas técnicas de programação são muito úteis no processo de desenvolvimento -
cesso de qualquer macro. Algumas mudanças podem ser pequenas, como a mudança do número da variável que armazena
o off set, se o controle exigir.

Aqui estão as descrições das técnicas utilizadas:

Técnica 1

A técnica que pode ser controversa é o valor do eixo Z. Se a posição Z estiver faltando no
G65 , a macro definirá a variável #26 como zero, au to mat i cally. Alguns programadores podem
questionar esta abordagem e optar por não concordar com ela. Em condições adequadas, não há nada
errado com esta técnica.

Técnica 2

O atalho IF-THEN foi evitado, então a macro é mais flexível para uma variedade de controles
modelos (nem todos os modelos suportam as funções IF-THEN ). Mais declarações GOTOn serão necessárias.

Copyright 2005, Industrial Press Inc., Nova York, NY - www.industrialpress.com


Machine Translated by Google Macros personalizadas CNC da FANUC

SONDA COM MACROS 293

Técnica 3

A macro funcionará igualmente bem para sondagem métrica ou sondagem em unidades inglesas.

Técnica 4

Valores em polegadas e métricos foram incorporados. Uma vez verificados como adequados, eles serão os mesmos
para todas as sondas que precisarão ser medidas ao longo do eixo Z. Este é um ajuste que pode precisar ser feito, para
se adequar a uma configuração de sondagem particular.

Técnica 5

A velocidade de avanço controlada também foi incorporada (métrica e polegada). A razão é que para obter resultados
consistentes na sondagem, é obrigatório um avanço consistente. Uma vez otimizado para o melhor desempenho, ele
permanecerá o mesmo para qualquer sondagem.

Técnica 6

A sonda tocou a peça duas vezes - uma vez para redefinir sua posição na haste (se necessário), a segunda vez foi a
sonda real que foi registrada como off set.

Outras técnicas foram usadas neste e em outros exemplos ao longo do manual. O principal objetivo aqui foi mostrar
alguns macros de sondagem e explicar seu design. Não houve nenhuma tentativa de descrever o funcionamento real
dos dispositivos de sondagem de diferentes fabricantes. Muitos fabricantes oferecem seus próprios macros, adequados
para seus equipamentos.

Comando Pular G31

Através das macros de sondagem, foi usado um código G especial - um que não faz parte de nenhum outro programa
padrão ou macro projetado para usinagem. Este comando é G31. Nos manuais, geralmente é descrito como o 'comando
de salto' ou 'função de salto'. De muitas maneiras, este comando tem o mesmo que o movimento linear G01 - então por
que G01 não pode ser usado? A resposta é simples. Durante um movimento G01 , a posição alvo é estabelecida pelas
coordenadas XYZ e o movimento ocorre com um avanço programado. Durante o movimento G31 (também com avanço
programado), as coordenadas do alvo XYZ também são estabelecidas. A diferença está no resultado. O comando G01
normalmente completa o movimento para a posição alvo. Isto não é aceitável para sondagem, porque a posição alvo
está sempre ao lado do material e a sonda travaria. A posição alvo deve estar na lateral do material, caso contrário não
haveria garantia de que a sondagem ocorreria.

Copyright 2005, Industrial Press Inc., Nova York, NY - www.industrialpress.com


Machine Translated by Google Macros personalizadas CNC da FANUC

294 Capítulo 23

ZONA DE SONDA ZONA DE SONDA Figura 64

G31 G31 Comando Pular G31

SONDA MOVIMENTO
COMO PROGRAMADO

G31 PULAR G31

MOVIMENTO SALTADO
EM CONTATO

A Figura 64 ilustra o conceito geral do comando de salto.

Na parte superior, o movimento e a direção programados são ilustrados. Observe que o fim do
movimento está no material. A ilustração inferior mostra o que acontece quando a sonda faz contato com
o material. Ele pula o restante do movimento e registra a posição, conforme instruções macro.

A quantidade de movimento no material não precisa ser grande, mas deve ser maior do que a
maior é a principal vi ação diurna esperada.

Copyright 2005, Industrial Press Inc., Nova York, NY - www.industrialpress.com


Machine Translated by Google Macros personalizadas CNC da FANUC

24 RECURSOS ADICIONAIS

Muitos recursos valiosos foram fornecidos neste manual. Nenhuma publicação isolada pode cobrir todos os detalhes dos
tópicos apresentados, particularmente aqueles tão complexos quanto o Fanuc Custom Mac ros. Vários recursos adicionais podem
ser incluídos no final. Um trata das principais macro restrições e limi tações quando processado na máquina CNC, outros sugerem
leitura adicional.

Limitações durante a execução de macros

Este manual aborda o tema de desenvolvimento de macroprograma é um detalhe justo, o que significa que se restringiu à
cobertura de vários métodos de programação e técnicas especiais. Um operador de CNC experiente que trabalha diariamente
com mac ros sabe que existem muitas diferenças significativas que são exclusivas dos mac ros durante sua execução
(processamento):

Conjunto de bloco único

De muitas maneiras, a configuração da chave de bloco único (chave LIGA/DESLIGA) no painel de controle funciona da mesma
maneira para o processamento de macro como para o processamento de programas padrão. Há exceções - estas são as mais
notáveis:

u Comandos de chamada de macro G65-G67 ... não irá parar no modo de bloco único

u Expressões matemáticas (arithmetic) ... controlado por uma configuração de parâmetro

u Comandos de controle ... controlado por uma configuração de parâmetro

Como em alguns outros exemplos, esta é uma das configurações específicas de controle e verificação do controle
as especificações fornecidas pelo fabricante são muito importantes.

Pesquisa de número de bloco

Quando o sistema de controle está no modo de execução macro (modo de processamento macro), o bloco
a pesquisa de número (sequência de pesquisa de número) não pode ser feita.

Função de salto de bloco

A função de salto de bloco é identificada no programa CNC com o símbolo de barra (/). O mesmo símbolo de barra também é
usado na macroexpressão como um símbolo para a divisão aritmética de dois valores. Normalmente, o código de barra de salto
de bloco é usado no início do bloco, mas alguns controles suportam um código de barra sendo programado no meio do bloco.
Quando uma macro que contém o código de barra para divisão é processada por um sistema de controle que também suporta a
função de salto no meio do bloco, o controle avaliará a expressão primeiro.

295

Copyright 2005, Industrial Press Inc., Nova York, NY - www.industrialpress.com


Machine Translated by Google Macros personalizadas CNC da FANUC

296 Capítulo 24

Se o símbolo de barra fizer parte de uma expressão matemática fechada entre colchetes, será
processado como um símbolo visual, não como uma função de salto no meio do bloco:

#31 = 10.0 Valor inicial


#32 = [#31/2] #33 definido Operação de divisão - #32 = 10.0/2 = 5.0
= #31/2 Salto no meio do bloco - #33 = 10.0 se salto de bloco LIGADO

O exemplo simples mostra a possibilidade de um erro grave como resultado de não conhecer a con-
sistema de trol bem. A maioria dos controles não permite a função de salto no meio do bloco baixo, apenas e no início.

MDI Op é uma ção

Muitas vezes é necessário testar um ou mais blocos de programa no modo de entrada de dados manual (MDI) em vez da
memória de controle. Se o bloco de programa a ser executado no modo MDI for uma macro chamada usando o comando G65 P- ,
o sistema de controle processará esta solicitação normalmente e chamará a macro especificada pelo seu número e como sinais,
como esperado. No entanto, o modo MDI não pode ser selecionado para chamar um programa macro, enquanto a operação
automática estiver em vigor.

Modo de edição

Parâmetros que controlam a edição de subprogramas ou macroprogramas dentro da faixa O8000 a O8999 e O9000 a O9999
podem ser configurados para permitir ou desabilitar ou excluir programas nessas faixas . Se uma macro (ou um subprograma) for
comprovadamente correta e usada com frequência, ela deve ser protegida por uma configuração de parâmetro de ser acidentalmente
editada ou até mesmo excluída.

Redefinir o controle

Quando a tecla RESET é pressionada no painel de controle, todas as variáveis locais dentro do intervalo de #1 a #33 serão
automaticamente apagadas. Também serão desmarcadas as variáveis comuns dentro do intervalo #100 a #149. Quando uma
variável é limpa, ela é definida como um valor nulo, o que significa que é igual a #0 (não zero). Se for necessário evitar que essas
variáveis sejam apagadas pela tecla RESET, um parâmetro pode ser alterado para esse fim. Consulte o Manual de parâmetros do
sistema de controle para obter detalhes.

Pressionar a tecla RESET também retorna o processamento macro (execução) para o nível do programa principal (nível superior).
Na prática, significa que todos os subprogramas ativos, mac ros, condições, loops (como instruções DO), etc. serão limpos
(cancelados).

Interruptor de alimentação

A finalidade do interruptor de alimentação (ou botão) é parar o movimento do eixo no meio - entre a posição inicial e a posição
alvo. Quando o interruptor feedhold é ativado (ligado) durante a execução de um macroprograma, o movimento do eixo para após a
instrução macro ter sido processada.
Sem relação com a configuração do interruptor feedhold, o movimento do eixo também para quando o operador pressiona a tecla
RESET, ou quando uma condição de erro (alarme) é gerada.

Copyright 2005, Industrial Press Inc., Nova York, NY - www.industrialpress.com


Machine Translated by Google Macros personalizadas CNC da FANUC

RECURSOS ADICIONAIS 297

Conhecimento para Programação de Macros

Qualquer publicação que ofereça macroprogramação CNC é geralmente considerada uma publicação que
contém muitos tópicos avançados de programação. Idealmente, apenas programadores CNC experientes
devem abrir este manual e aprender com ele. No entanto, nem sempre é esse o caso, pois muitos
programadores juniores e menos experientes encontram-se em condições de desenvolver um macroprograma.

Todos os assuntos avançados dependem de um certo 'núcleo básico' de conhecimento e compreensão


de alguns princípios gerais que são necessários para avançar de um nível para o seguinte - este manual não
é exceção. Como publicação, foi projetada para ser independente - não há relação com nenhuma outra
publicação ou texto técnico mencionado (todas as referências são apenas sugestões) .

Ao longo do manual, muitos assuntos diferentes foram apresentados, incluindo muitos que não têm
equivalente em programação manual ou mesmo programação CAM. Todos os assuntos desta categoria são
assuntos novos, e o objetivo do manual era explicá-los em detalhes. Espero plenamente, isso aconteceu.
Como a macroprogramação é considerada uma programação de alto nível, ela é fortemente dependente de
práticas de programação de vários níveis inferiores. Estas práticas não estão descritas neste manual
especializado. Para aqueles usuários que desejam revisar ou mesmo aprender os fundamentos da
programação CNC em detalhes, o manual de programação CNC mais vendido, também publicado pela
Industrial Press, New York, NY (www.industrialpress.com), oferece todas as respostas.

Em particular, a compreensão completa dos seguintes itens é absolutamente crítica como o núcleo
conhecimento, para desenvolver macroprogramas, mesmo em seu nível mais baixo:

o Habilidades gerais

o Experiência em programação manual


o Aplicações matemáticas o Práticas de
configuração o Práticas de usinagem o
Operação de controle e máquina

Esta lista acima pode ser um pouco expandida, mas abordou o básico necessário como está. Vamos
avaliar esses itens de forma dividida. Alguns foram mencionados no início, outros são novos nesta seção.

Competências Gerais

Mesmo antes de entrar no campo da macroprogramação, qualquer programador CNC deve possuir
diversas habilidades que são utilizadas o tempo todo no processo de programação. Deve-se entender que o
desenvolvimento de macroprograma não é normalmente atribuído a uma pessoa com experiência limitada,
ou a uma pessoa que não tenha conhecimento dos vários processos básicos de CNC e como maquinagem
associada, incluindo alguma experiência em programação manual. A capacidade de interpretar desenhos de
engenharia é importante e básica ao mesmo tempo, mas para macros, a capacidade de ver dois ou mais
desses desenhos pode o desenvolvimento macro é ainda mais importante. Há muitos recursos na
macroprogramação que podem estar intimamente relacionados à operação de um calculador científico de
alto nível com todos os recursos. Construir para mu las, usando variáveis, loops de programação, etc., não
é diferente para uma calculadora sofisticada do que para um programa macro executando uma máquina-ferramenta CNC.

Copyright 2005, Industrial Press Inc., Nova York, NY - www.industrialpress.com


Machine Translated by Google Macros personalizadas CNC da FANUC

298 Capítulo 24

Experiência de programação manual

A programação manual requer o conhecimento de códigos G, códigos M e centenas de outros recursos suportados por controle
que formam a estrutura de qualquer programa parcial. O método de programação de macros faz parte de um programa de
desenvolvimento do tipo manual - o único computador envolvido no processo é o sistema CNC que processa a macro - um sistema
CNC não é projetado para criar comi mac ros. Neste manual, muitos macroexemplos ou aplicações específicas trataram de
assuntos como programa para esteiras, comandos e funções modais e não modais, subprogramas, deslocamentos, ciclos fixos,
conjuntos de dados, au to matic cornerbreaking e muitos outros. Em essência, esses assuntos fazem parte da programação do
manual padrão. É impossível criar qualquer macroprograma significativo sem um bom conhecimento destes e de outros assuntos.

Aplicações matemáticas

A programação no estilo CAM praticamente não precisa de conhecimentos matemáticos, enquanto a programação manual
depende muito da matemática. Mac ros não requerem conhecimento matemático adicional, apenas uma forma diferente de aplicá-
lo. Aritmética básica, álgebra, trigonometria, etc., caem nos 99%+ de toda a matemática necessária na programação CNC. As
macros envolvem cálculos matemáticos semelhantes aos feitos em uma calculadora de bolso. Como muitos exemplos no manual
ilustraram, as aplicações matemáticas são uma parte muito importante do desenvolvimento macro.

Práticas de Configuração

Como usinar uma peça para produção é uma habilidade crítica para qualquer programação CNC, incluindo macroprogramação.
Junto vai o conhecimento da configuração da máquina, acessórios, ferramentas, etc. ex mplo, para sinalizar a compensação de
trabalho, a compensação de comprimento da ferramenta, a compensação de raio de corte, etc.

Práticas de Ma chin

As práticas de usinagem incluem todos os assuntos orientados para a oficina mecânica que são tão básicos quanto o geral no
que diz respeito a velocidades e avanços, conceitos de fixação, acessórios, ferramentas, materiais, formigas frias, etc. Dentro
dessas habilidades estão outras habilidades, mais focadas e mais especializadas - por exemplo, várias oficinas mecânicas para
mu las, técnicas e operações especiais de usinagem, materiais exclusivos ri als, etc., todos ajudam a desenvolver uma macro
melhor.

Operação de controle e máquina

A operação de uma máquina CNC é apenas um pouco mais do que uma operação do sistema CNC. Conhecer o sistema de
controle de uma determinada máquina-ferramenta é importante para cada programador de peças ou operador de máquina -
conhecer o mesmo sistema de controle ainda melhor e com mais profundidade é ab tão crucial para um macroprogramador.
Mesmo a menor e menos significativa característica da unidade de controle pode ter efeito signi cativo no macrodesenvolvimento,
principalmente nas áreas de falhas, offsets, parâmetros , variáveis de sistema e todos os outros recursos padrão e exclusivos.
Para qualquer macrodesenvolvimento, é muito importante estar familiarizado com o controle e sua máquina associada.

Copyright 2005, Industrial Press Inc., Nova York, NY - www.industrialpress.com


Machine Translated by Google Macros personalizadas CNC da FANUC

RECURSOS ADICIONAIS 299

Recursos Complementares

A seção acima relacionou-se principalmente com o assunto de conhecimento para macroprogramação -


mesmo que tópicos semelhantes já tenham sido mencionados no primeiro capítulo do manual. A última seção
também apresentou muitos novos assuntos, principalmente aqueles cobertos nas páginas desta publicação.

Imprensa Industrial, Inc.

Para aqueles usuários que buscam uma atualização mais recente ou para aqueles que precisam aprender os
assuntos básicos do zero, a Indus trial Press, Inc. é uma editora estabelecida de muitos livros técnicos isso pode
ajudar. Com o objetivo de aprender os assuntos pré-macro no campo da programação CNC, o manual de
programação CNC mais vendido oferece quase tudo em grande detalhe. Esta publicação muito popular foi aceita
como um excelente recurso aprofundado para projetos de programação CNC praticamente todos os dias.

A lista completa de todos os capítulos do Manual de Programação CNC está listada no CD anexo

Internet

A internet e a world wide web é uma excelente fonte de encontrar muitos assuntos orientados para CNC. Há
muitos recursos - alguns são superiores a outros, mas também há aqueles que são me - di o cre e alguns até
mesmo errados. Mac ros ser longo para todas essas categorias. A maioria dos mac ros postados na internet são
bem-intencionados, mas podem funcionar apenas para uma combinação de máquina/controle em particular.
Muitos - mesmo os que funcionam - carecem de qualquer sinal que não possa documentar. Em outras palavras,
use a boa e velha abordagem ca veat emp tor . Internet pode ser uma mina de ouro ou um poço de cascalho.

Abordagem de Programação Prática

Nenhuma publicação que abranja o assunto envolvido como mac ros personalizados (mac ros de usuário)
pode prosperar apenas nos exemplos fornecidos. Espero que este manual tenha oferecido uma valiosa fonte de
informações, dicas, truques, atalhos, bem como exemplos minuciosamente documentados relacionados ao
controle Fanuc Custom Macro B opção. Apesar de fazerem parte da programação CNC há mais de duas décadas,
os mac ros personalizados têm sido muito subutilizados. Embora sejam uma opção do sistema de controle, as
macros estão se tornando um método de programação muito atraente e que tem um lugar único em uma oficina
de máquinas CNC - elas aprimoram a programação manual atual mas não substituem os sistemas CAD/CAM ou
a programação do tipo conversacional. Se for verdade, as macros oferecem recursos que nenhum outro método
de programação pode alcançar. Seja novato em mac ros, ou apenas pegou o manual para referência, você
descobrirá que, uma vez que você comece a programar com mac ros, será muito difícil voltar atrás. Isso não
significa que os macros são úteis para todas as aplicações, mas para os aplicativos adequados, os macros
realmente trazem muitos benefícios superiores.

Para encerrar, e na forma de algumas notas finais, aqui estão algumas dicas resumidas da mão -
livro, dicas que podem valer a pena manter à mão ao desenvolver um programa de macro:

Copyright 2005, Industrial Press Inc., Nova York, NY - www.industrialpress.com


Machine Translated by Google Macros personalizadas CNC da FANUC

300 Capítulo 24

Dicas de programação de macros

u Sempre tenha um objetivo - decida o motivo principal da nova macro

u Uma macro não deve fazer tudo - macros mais curtas são melhores que uma grande

u Planeje com antecedência e bem - organize-se

u Não conte com vários valores e configurações padrão

u Desenvolva um fluxograma ou pelo menos um pseudocódigo antes de escrever o código real

u Desenhe esboços, desenhe vistas, desenhe outras imagens - visualize cada estágio macro

u Atribua endereços significativos às variáveis, se possível

u Use variáveis comuns apenas quando elas beneficiam a macro

u Escreva o núcleo da macro primeiro, adicione 'sinos e assobios' quando a macro for verificada

u Não seqüencie todos os blocos em uma macro - apenas os blocos de referência

u Não altere os números de sequência em uma macro - inclua uma mensagem de aviso

u Escreva macros portáteis - torne-as compatíveis com muitos outros controles

u Escreva uma macro para funcionar para entrada métrica ou polegada

u Observe loops sem fim

u Forçar alarmes para entrada errônea ou ausente

u Salve todas as configurações atuais antes de alterá-las - restaure-as quando a macro sair

u Documentar macros internamente

u Incluir o nome do programador e a data da última revisão

u Proteja macros para fins especiais de edição e exclusão

u Nunca assuma nada - ou como eles dizem 'Não assuma nada!'

Copyright 2005, Industrial Press Inc., Nova York, NY - www.industrialpress.com


Machine Translated by Google Macros personalizadas CNC da FANUC

25 ESBOÇO DO CURSO DE MACRO

O título acima deve realmente ler 'Linha sugerida de Macro Course Out'. Muitas empresas, faculdades comunitárias e várias
instalações de treinamento oferecem diferentes cursos técnicos internos, desenvolvidos e conduzidos por muitos profissionais
experientes no programa que está sendo apresentado. Este último capítulo oferece um currículo geral para um curso abrangente de
treinamento Fanuc Custom Macro , baseado neste manual. Seu objetivo é fornecer a multiplicidade de tópicos importantes
necessários para conduzir um programa de macrotreinamento personalizado de sucesso. A linha externa é apenas uma sugestão e
deve ser modificada para atender a necessidades de treinamento específicas. O índice no início deste manual pode ajudar a este
respeito.

Sinta-se à vontade para ajustar a linha do curso às suas necessidades e adequá-la à sua programação de treinamento. Para con-
ven ência, o texto do esboço também está incluído no CD que acompanha este manual.

Macro Esboço do Curso

Título do curso: IN TRODUÇÃO AO FANUC CUSTOM MAC ROS

Você raciona: 36 - 42 horas

Sites pré-requisitos: Conhecimento geral de programação CNC manual,


Usinagem e configuração CNC

O aluno típico é aquele com um forte conhecimento de programação CNC, particularmente da


estrutura do programa de peças, códigos G e códigos M, bem como subprogramas - esses assuntos
serão muito benéficos. em forma. O conhecimento de uma linguagem de programação de alto nível é
útil, mas não necessário. O aluno participante também deve estar familiarizado com a operação básica
de um painel de controle CNC e práticas gerais de usinagem. No nível intelectual, o aluno deve ser um
pensador rápido, capaz de buscar soluções para vários problemas. O aluno também deve ter uma
sólida formação em aplicações matemáticas para oficina mecânica.

Descrição e Objetivo do Curso:

Este curso é o mais alto nível de treinamento de programação CNC. O aluno aprenderá desde o início,
com disciplinas progressivamente mais avançadas relacionadas ao desenvolvimento de programas
CNC (macros) customizados. O principal objetivo do programa de treinamento é familiarizar o aluno
com os macroconceitos do Fanuc, sua formatação, estrutura, bem como as aplicações em uma oficina
mecânica típica.

Começando com uma breve revisão dos conceitos padrão do CNC, principalmente códigos G,
códigos M e subprogramas, o aluno aprenderá a entender a estrutura macro Fanuc e desenvolver
macroaplicações práticas ções. A ênfase principal do curso será no estilo de programação correto
e desenvolvimento de aplicações para uso eficiente e produtivo do CNC.

Um dos recursos mais importantes deste programa de treinamento é o desenvolvimento de


macro-rotinas reais que o aluno pode usar após a conclusão do treinamento. As sessões de
treinamento são elaboradas em torno de vários exercícios e projetos práticos que o aluno fará.

O acesso a um sistema de controle com a opção macro é opcional.

301

Copyright 2005, Industrial Press Inc., Nova York, NY - www.industrialpress.com


Machine Translated by Google Macros personalizadas CNC da FANUC

302 Capítulo 25

Método de Treinamento:

Somente um instrutor profissional de CNC experiente conduzirá este curso. Todas as sessões deste programa serão
baseadas em orientar o aluno a resolver um problema, em vez de apresentar soluções arbitrárias. Uma cópia do
manual completo Fanuc Custom Mac ros (publicado pela Industrial Press, Inc.) será fornecida a cada aluno, para ser
guardada para referência futura.

u INTRODUÇÃO A MACROS

o Introdução geral

o Ferramentas de Programação
CNC o O que é uma Programação de
Macro o Uso de Mac ros o Grupos de
Partes Semelhantes o Controle Offset

o Ciclos fixos personalizados


o Códigos G e códigos M especiais
o Geração de alarmes e mensagens o
Sondagem e medição o Atalhos e
utilitários

u BREVE REVISÃO DAS FERRAMENTAS DE PROGRAMAÇÃO

o Códigos G e códigos M

o Comandos preparatórios
o Funções diversas

o Configuração de falhas
o Modal Val ues

o Formato de Programação
o Regras de Subprogramas
o Aninhamento de Subprogramas

u PARÂMETROS DO SISTEMA

o Quais são os Parâmetros

o Números Binários o
Classificação de Parâmetros

o Tipos de dados dos


parâmetros o Definir e alterar os
parâmetros o Proteção dos parâmetros

o Alteração de parâmetros o
Defeitos do sistema

Copyright 2005, Industrial Press Inc., Nova York, NY - www.industrialpress.com


Machine Translated by Google
Macros personalizadas CNC da FANUC

ESBOÇO DO CURSO DE MACRO 303

u CONFIGURAÇÃO DE DADOS

o Comandos de configuração de dados


o Modo Co ou Dinate

o Conjuntos de trabalho

o Tipos de Memória - Fresagem e Torneamento o

Ge ome t ria Off set


o Conjunto de desgaste

o Ajustando conjuntos de off


o Modo Ab tão alaúde

o Em modas cremosas

o Ferramenta Off set Try o

Configuração de dados

MDI o Parâmetro programável Try o Comando


G10 Modal

o Efeito dos Números de Bloco

u ESTRUTURA MACRO

o Ferramentas básicas

o Variáveis

o Funções e Constantes

o Operadores Lógicos o

Definindo e Chamando Mac ros o


Definição Macro

o Chamada Macro

o Argumentos o

Números do programa macro

u CONCEITO DE VARIÁVEIS

o Tipos de Variáveis Macro o


Definição de Variáveis

o Declaração Variável

o Variável como Expressão o Uso de

Variáveis o Restrições

o Recursos de máquinas personalizadas

u ATRIBUINDO VARIÁVEIS

o Variáveis Locais

o Listas de Atribuição o

Chamada Macro Simples

Copyright 2005, Industrial Press Inc., Nova York, NY - www.industrialpress.com


Machine Translated by Google
Macros personalizadas CNC da FANUC

304 Capítulo 25

o Chamada de Macro Modal

o Programa Principal e Variáveis o


Variáveis Locais e Níveis de Aninhamento
o Variáveis Comuns

o Grupos vol a tile e não vol a tile o


Intervalo de entrada o Variáveis de
proteção

u FUNÇÕES DE MACRO

o Grupos de Funções o
Definição de Variáveis

o Variáveis de Referência o
Variáveis Vagas
o Funções aritméticas

o Divisão por Zero o


Funções Trigonométricas o
Funções de Arredondamento o
Funções Diversas

o Funções lógicas o
Números binários o
Funções de conversão
o Avaliação das Funções

VARIÁVEIS DO SISTEMA

o Identificando Variáveis do Sistema


o Grupos de Variáveis do Sistema o
Variáveis Somente Leitura
o Ler e escrever variáveis

o Exibindo as Variáveis do Sistema


o Variáveis do Sistema para Controles de
Variáveis o Organização das Variáveis do Sistema
o Reinicializando o Zero do Programa

u VARIÁVEIS DE DESVIO DA FERRAMENTA

o Variáveis do sistema e conjuntos de Offset de

Ferramenta o Grupos de Memória de Offset de

Ferramenta o Conjuntos de Offset de Ferramenta e o Número de Offsets

o Compensações de ferramentas e tipos de controle

o Configuração de ferramentas

Copyright 2005, Industrial Press Inc., Nova York, NY - www.industrialpress.com


Machine Translated by Google Macros personalizadas CNC da FANUC

ESBOÇO DO CURSO DE MACRO 305

u DADOS MODAIS

o Variáveis do Sistema para Comandos Modais o Blocos

Precedentes e Executando
o Códigos G modais

o Salvando e armazenando dados


o Outros códigos modais

u RAMIFICAÇÃO E LOOPING

o Decisões em Macrodesenvolvimento o
Função FI

o Ramificação condicional o

Ramificação não condicional o Opção

IF-THEN o Expressões condicionais

únicas o Expressões condicionais combinadas

o Conceito de Loops o Estrutura de Loop WHILE o

Loop de Aninhamento de Nível Único ou Loop de

Nível Duplo ou Loop de Nível Triplo ou Outras

Condições

o Restrição do loop WHILE o Expressões

condicionais e variáveis vagas o Apagar mais de 500 séries de

variáveis

u ALARMES E TEMPORIZADORES

o Alarmes em Mac ros

o Número do Alarme

o Mensagem de alarme
o Alarme para alimentos

o Inserindo Alarme em uma Macro o

Redefinindo Alarme o Variável de

Mensagem o Timers em Mac ros

o Informação de Tempo

o Temporização de um evento

u DADOS DE POSIÇÃO DO EIXO

o Termos de Posição do Eixo

o Informações de posição

Copyright 2005, Industrial Press Inc., Nova York, NY - www.industrialpress.com


Machine Translated by Google Macros personalizadas CNC da FANUC

306 Capítulo 25

u OPERAÇÕES AUTOMÁTICAS

o Controlar as ope rações automáticas o


Controlo de bloco único
o Controle de Funções MST

o Controle de avanço, taxa de avanço e verificação

exata o Configurações de sistemas o Controlando o


número de peças usinadas

u PROGRAMAÇÃO PARAMÉTRICA

o Dados Variáveis

o Benefícios da Programação Paramétrica


o Famílias de Peças Semelhantes

o Macros para Usinagem o


Macros como Ciclos Personalizados

u SONDA COM MACROS

o Fundamentos de sondagem
o Medição em processo
o Medição de Características da Peça
o Dispositivos de calibração

o Amostra de Avaliação do Programa

Comentários finais

De forma alguma a linha de pro grama apresentada é apresentada como a melhor apresentação de curso
possível. De certa forma, o esboço segue o material deste manual, mas também se desvia dele. Tenha em
mente que o manual foi projetado principalmente como um recurso de referência, não como um material de
curso específico. No entanto, os tópicos apresentados podem servir como excelente fonte para a construção de
um curso customizado em mac ros Fanuc.

Copyright 2005, Industrial Press Inc., Nova York, NY - www.industrialpress.com


Machine Translated by Google Macros personalizadas CNC da FANUC

Locais .......... 38 Parâmetros de tipo de bit .................. 37 Pesquisa

Índice de número de bloco .. ............... 295 Números de bloco .................. 40,


72 Função de salto de bloco ........ ........ 72, 295 Padrão de círculo de
furo de parafuso ................ 229 Boole, George ............... ..... 74
Operadores booleanos .............. 74, 124, 175 Função BPRNT ....
267-268

UMA

Abreviaturas de funções macro ......... 204 Função ABS ........ 122, 284
Colchetes .................. 86, 126 Ramificação e looping ............... 171-186
variáveis ABSIO ........ ........... 193 Variáveis ABSKP ......... 193 Variáveis
Conceito de loops.. ................ 177 Ramificação condicional ................
ABSMT ............... ... 193
172 Contador em loops ........... ....... 229 Função GOTOn ..................
173 Função SE ......... 172 Ramificação incondicional ............... 173
Função WHILE ........ 179 Parâmetros do tipo byte ...... ........... 41
Modo Absoluto ................... 59
Variáveis ABSOT ................... 193
Função ACOS ............... 116 Deslocamentos de trabalho
adicionais ............... 9, 169 Função ADP ..... ............. 87, 122, 124
Manufatura ágil .................. 49 Alarmes e temporizadores ......... .......
187-192 Formato de alarme ........ 188 Geração de alarme ................ ..
8 Mensagens de alarme .................. 187 Números de alarme ..................
187 Alarmes em macro .. ......... 188 Reinicializando um alarme ......... C
190 Temporizadores ........... ........... 191 Amplitude - Curva
senoidal ................ 185 Dispositivos de calibração .................. 288 Exemplo de
macro de centragem ............... 289 Ranhura circular com
profundidade múltipla ..... ...... 247 Acabamento de
bolsões circulares .............. 240, 260 Desbaste de
bolsões circulares ............ 236, 260 CMM .. ......................
276
Função E .................. 176
Variáveis comuns .............. 83, 106, 133 Proteção .............. 108 Volátil
Padrão de orifício angular - versão 1 ........... 221-223 Padrão de orifício e não volátil .... ........... 106 Conceito de loops ........ 177 Conceito de
angular - versão 2 ........... 224-225 Padrão de orifício em variáveis ............ .... 83-92 Ramificação condicional .... 172
arco ....... ............. 233 Argumentos ....................... 77 Funções Expressões condicionais .... 175-176, 182 Constantes .... ......... 73-74
aritméticas ........... ...... 113 Aninhamento ......... 113 Função Modelos de controle ...... 138 Parâmetros de controle ...... ............ 33
ASIN ........................ .. 116 Atribuindo variáveis ............... 93-108
Funções de conversão ......... 126 Medição de coordenadas ............... .
Função ATAN ........ 116 Operações do modo automático ...............
276 Máquinas de Medição por Coordenadas .......... 276 Modo de
195-202 Quebra de curva automática ................ 213 Funções
Coordenadas .......... 50 Rotação do Sistema de Coordenadas ....... .......
auxiliares ........... ....... 196 Dados de posição do eixo ......... 193-194 9, 288 Função COS .................. 116 Esboço do curso ............... .....
Parâmetros do tipo de eixo ......... 43
301 Valor atual ..... 112 Aproximação de curvas ........ 185 Curva
senoidal .................... 184 Ciclos fixos personalizados .... 8 Recursos
personalizados da máquina. ............... 92 Códigos M personalizados .........
12 Início do ciclo ........ .............. 4

B
Códigos básicos do programa ........ 11-20 Fonte de alimentação da
bateria ................ 34 Taxa de transmissão..... ............... 270-271
Configuração da taxa de transmissão ................... 68 Função
BCD ....... .............. 126 Função BIN ................... 126 Números
binários........... .... 45, 126 Valores binários ................... 200 Dados tipo
bit .............. ...... 37 Interpretando o valor binário ............... 200 Soma
lógica ........ 200 Soma de bits ......... 45, 200 bits ........................ 45

D
Funções de saída de dados .... 268 Configurações de dados .... 49-72

307

Copyright 2005, Industrial Press Inc., Nova York, NY - www.industrialpress.com


Machine Translated by Google
Macros personalizadas CNC da FANUC

308 Índice

Números de bloco ...... 72 Comando G10 ...... 50 Trigonométrico ................... 116 Função FUP ................... 121,
MDI ..... ................... 65 Desvios ................... 49 Endereço 128
P .... ......... 67 Endereço R ......... 67 Zerar eixos da
máquina .... ............ 70 Deslocamento do Datum ......... 145 Ponto
decimal ........... ....... 87, 229 Ponto decimal na declaração G
G65 ............. 229 Tomada de decisão em macros ............... 171
Padrão valores .............. 11, 33, 47-48, 233 Tolerâncias
dimensionais ................ 280 Endereços não permitidos ..... .............. Comando G04......... 12-13, 192 Comando G09................. 12-13,
198 Comando G10 ........... 13, 17, 50-52, 62, 66-68 Comando
98 Divisão por zero ................... 115 Método DNC .............. .........
G11 ........ 66, 68 G13 corte circular ciclo .............. 8, 240, 260
34 Documentação de programas ............... 29 Função
Comando G20 .... 12-13, 17 Comando G21 ..... ............ 12-13, 17
DPRNT ................. 267- 274 Permanecer como uma
macro ................... 192 Comando G31 ................ 193, 293 Comando G61 ......... ......... 14,
18, 198 Comando G65 .......... 5, 14, 18, 66, 75, 77 Comando
G66 .......... ....... 15, 18, 98 Comando G66.1 ......... 98 Comando
G67 ............ ..... 15, 18, 98 Comandos G68-G69 ........ 288
Medição ................. .. 3, 49, 275 códigos G .................. 2, 10-11
códigos G para fresamento .......... ....... 13 códigos G para
torneamento ........ 16 Grupos ................ 13, 16, 164, 167 Comandos
modais .... 164 Códigos G de três dígitos .... 15 Tipos para
torneamento .... 16 Função GE .... 182 Deslocamento da
geometria .... ........... 8, 53, 58, 149 GOTO na função n ......................
E 171 Grupos de peças semelhantes ...... 7 Função GT ..... ................
182

Modo de edição .................. 296 Editando macros .................. 203


Parada de emergência .. ......... 94 Variáveis vazias ......... 111, 182
Loops infinitos ........ ............ 178 Função ENDn ......... 179 Unidades
inglesas ............ .......... 88 Função EQ .......... 182 Avaliação de
funções .......... ... 126 Controle de verificação de parada exata ....
197 Executando bloco ................... 164 Função EXP . ......... 122,
124 Comandos de saída externa ............ 267-274

Ocultar macros......... 9
F

Valores FALSE ............ 37, 125, 172, 176, 182 Família EU

de peças ............... 7, 205, 209-220


Macros personalizadas do Fanuc .................. 1 Função SE ......... 171-172, 182 Função SE-ENTÃO ................ 171,
Controle de feedhold......... 197, 296 Controle de override da 174 Sistema de incremento . ............... 43-44 Modo incremental ........
velocidade de avanço ............... 197 Função FIX....... ............ 121, 59 Loops infinitos ....... .............. 178 Valores infinitos ...................
136 Ciclos fixos ....................... 8 Fluxograma .......... ....... 177, 208, 128
300 Fórmulas em macros ......... 134 Padrão de furos do
quadro .............. .... 224 Funções ................... 73-74, 109
Aritmética ................... . 113 Grupos disponíveis .... 109 Medição em processo .......... 3, 9, 49, 276-278, 282 Interface de
Conversão .................... 126 Avaliação .... ............... 126 entrada/saída ........................ 133 Formato métrico e em
Lógico ....................... 124 Diversos ........ ........... 122 Ordem de polegadas ............... 270 Configurações de parâmetros ...............
avaliação ................ 128 Aplicações práticas ............... 129 269-271 Imprimindo uma linha em branco ..... ........... 274 Números
Arredondamento......... 117 inteiros ...... 85 Iteração (loop) ............ ... 30, 179, 181

Copyright 2005, Industrial Press Inc., Nova York, NY - www.industrialpress.com


Machine Translated by Google Macros personalizadas CNC da FANUC

Índice 309

Macros para usinagem ............... 224-254 Programa


K principal ............... 5, 101 Entrada manual de dados
(MDI ) ............ 65, 186, 296 códigos M ..................... 2,
10 códigos M para fresamento ......... 15 códigos M para
Conhecimento para macros .... 297
torneamento ........ 19 entrada de dados MDI ...... ..........
65, 186, 296 Memória não volátil ....................... 106
Volátil ........... .......... 106 Geração de
eu
mensagens .................. 8 Unidades métricas ................ .....
88
Deslocamentos do torno ......... 62 Função LE ................
124, 182 Incremento mínimo ................... 88
Limitações ................... 295 Função LN ..... .............. 122,
124 Variáveis locais ................ 83, 93, 129 Incremento mínimo......... 88 Verificação do status da
Atribuindo ......... ............ 94 Listas de atribuições ............... imagem espelhada ............... 199 Funções
94-95, 168 Limpando ............ ........ 94 Definindo ........ diversas ...... ......... 10, 12 Valores modais ........ 12
93 Endereços não permitidos ............... . 98 Níveis de Executando bloco ............ ...... 163 Comando
aninhamento .... 105 Variável como contador .... 229 G10 ................... 66 Códigos G ................... ... 164
Funções lógicas ... ........... 73-74, 124, 175 Códigos M ................... 168 Dados modais .... 163 -170
E ...................... 125 EQ ....... ................ 124 Chamada de macro modal .................. 98 Bloco
GE ....................... 124 GT ....... ................ 124 anterior .................. 163 Salvando e
LE ....................... 124 LT ....... ................ 124 restaurando .. .............. 167 Variáveis do sistema ....
NE ....................... 124 OU ....... ................ 125 163 Controle de funções do MST .... .... 196
XOR ...................... 125 Função de loop ....... ..........
179-181 Função LT .......... 182

Aninhamento de vários níveis ................ 2, 27

N
Função NE .................. 182 Variáveis negativas ..................
89 Níveis de aninhamento .... ......... 179 Nível
duplo ................... 180 Nível único ........ ............ 179
Nível triplo .................. 180 Movimentos de ferramenta
M fora do padrão ........... ..... 8 Variável diferente de
zero ...... 89 Variáveis nulas ............... 83, 111 , 182-183
Com operações aritméticas .............. 114 Com movimento
Função M30 ................ 16, 20, 94, 129 Função
de eixo .... 111 Número de peças usinadas .. ..............
M98 ............... 16, 20, 25, 75- 77 Função M99 ........... 16,
202
20, 25-26, 30, 94, 129 Desempenho de usinagem ................
33 Chamada macro .. ................... 75 Chamada macro
por código G ............... 256, 262 Chamada macro por M-
código .................. 258 Comando de chamada de
macro........ 77 Definição de macro ....... ............ 75
Execução de macro .................. 295 Funções de O
macro ............ .... 109-136
Controle de offset ............... 8, 49 Tipos de memória de
offset ................ 53, 58 Tipo de fresamento A. ...................
Macro no programa principal .................. 5 Programação 55 Fresamento tipo B ......... 56 Fresamento tipo
de macro .................. 4 Estrutura de macro ..... ............. C ... ......... 57 Ajuste de dados de offsets ..................
73-82 Recursos exclusivos de macros .................. 30 49 Torno ........ ............... 62 Ajustes de
Chamadas de macros ............ ........... 75 Esquema do configuração ......... 59 Entrada de correção da
curso ........ 301 Definição ............... ...... 75 ferramenta ........... ....... 60 Atualizando offsets ..........
Documentação ...... 29 Números de programa ........ 78 54 Faixa de entrada válida .................. 62 Restrições
de operação .................. 295 Função OR ......... 176

Proteção .................. 79 Definições de


configuração .................. 79 Macros como ciclos
personalizados .. ........... 255-266

Copyright 2005, Industrial Press Inc., Nova York, NY - www.industrialpress.com


Machine Translated by Google
Macros personalizadas CNC da FANUC

310 Índice

Valores fora da faixa ........ 107 Estouro ........ 107 Números de programa .................. 79 Portabilidade de
programa .................. 67 Entrada de parâmetro programável .... .........
65 Linguagens de programação .......... 4, 7, 10, 73, 171 Protegendo
macros .......... . 9, 79 Proteção de parâmetros ........ 46 Pseudo-
P código ........ 208, 300

Backup de
Parâmetros ................... 34, 46 Alterando ................... 46-47

Classificação......... 35 Tipos de dados......... 37 Definição ... .......... R


33 Tela de exibição .................. 37 Habilitar e desabilitar o
modo ..... .......... 46 Agrupamento .......... 36 Identificação ............... .....
RAM ....................... 106
35 Numeração .................. 35 Proteção ....................... 46
Relacionamento .................. 40 Salvando .................. 34 Memória de acesso aleatório ............... 106 Ler e escrever
variáveis ............... 138 Números reais ......... ........... 85 Macro de
Configurando .. ................... 46 Programação paramétrica ..............
7, 205-254 Benefícios ........ .............. 206 Definição ................... bolso retangular ............... 251 Redefinição ............... ... 112
205 Abordagem planejada .............. ...... 207 Dados variáveis ...... Substituindo as opções de controle ............... 9 Tecla RESET ........
205 Função PCLOS ...................... 267 Função Pi ...................... 94, 129, 190, 196-197, 270, 296 Reinicializando um alarme ..................
31 190 Reinicialização do programa zero ................ 145 Restauração
de dados modais ....... .......... 167 Restrições ......... 295 Valor
retornado ............ ..... 112 Função ARRED................. 117, 128
Funções de arredondamento......... 117 Arredondamento para o
número de casas decimais .......... 119 RS-232C .......... 68, 267-269

PMC - Controle de Máquina Programável ........ 126, 258


Coordenadas polares ........ 9
Função POPEN .................. 267, 272 Função de fechamento de
porta .................. 267 Função de abertura de porta ... ............... 267
Variáveis positivas ......... 89 Símbolo de libra .......... .......... 75 Bloco
S
precedente ......... 164 Comandos preparatórios ............... 10-11
Calibração do apalpador......... 277 Artefato................... 277, 288 Questões de segurança ............... 46-47 Salvando dados
Avanço e precisão ............... 277 Medidores mestre .................. 288 modais ............... 167 Função de escala .. ................... 9 Função
Calibração do comprimento da sonda ........ ....... 291 Sonda pré- SETVN ................... 108 Atalhos........ ............... 9 Função
viagem .................... 277 Sondagem .................... .. 3, 7, 275 SIN .................. 117 Exemplo de curva senoidal ........ ......... 184
Medição do ângulo ................ 288 Medição do centro ................ Bloco único .................... 295 Controle de bloco único .............. ..
284 Definição.... ......... 275 Medição de profundidade ................ 195-196 Requisitos de habilidades ............... 10 Comando de
287 Dispositivos ............ ......... 278 Medição de diâmetro ............... salto ................ 293 Usinagem de ranhura macro ......... 244 Ciclos
287 Avanço e precisão ............... 277 Tipo indutivo . .......... 282 especiais .................... 255 Códigos G especiais .... ............... 8
Comprimento ou largura .................. 286 Em máquinas
Códigos M especiais .................. 8 Exemplo de rosqueamento
CNC ...... ........... 280 Tipo Óptico ......... 281 Sonda calibração..........
especial ..... .......... 198 Cálculo de velocidades e avanços ..........
277 Tipo de rádio .................... 282 Critérios de seleção ..... .............
279 Tecnologia hoje .................. 276 Sondas de toque .............. ..... 134 Função SQRT .......... 74 , 122 Diâmetro da ponta ...................
276 Tipos de sondas .................. 278 Aplicações de 284 Subprogramas ..................... 2 Breve revisão . .........................
sondagem ........ 3 Sondagem com macros ............... 275-294 21-32 Documentação ...... 29 Regras gerais ...... ............. 25 Exemplo
de torno .......... 31-32 Programa principal e subprograma ......... ...
26 Exemplo de fresamento......... 21-25 Aninhamento de subrotinas ....
27

Copyright 2005, Industrial Press Inc., Nova York, NY - www.industrialpress.com


Machine Translated by Google Macros personalizadas CNC da FANUC

Índice 311

Repetição de subprogramas .................. 27 Subprogramas vs. Variáveis ......... 73-74 Adição ..................... 114 Definições de
macros .......... 30, 248 Substituição .......... ........... 112 Padrões do argumentos ......... 77 Como expressões ......... 86 Comum ......... .........
sistema ........ 47 Parâmetros do sistema ........... .. 7, 33-48 Variáveis do 83, 106 Uso de ponto decimal ................ 87 Declaração ................ ...
sistema ............. 83, 133, 137-146 85, 87 Definição ..................... 84 Divisão ................................ . 115
No programa principal .................. 101 Faixa de entrada ..................
107 Local .. ................... 83, 93 Multiplicação ................... 115
Alarmes......... 187 Operações automáticas ................ 195 Posição do Diferente de zero .... ......... 89 Variável nula .................. 83 Valores
fora do intervalo .... .......... 107 Positivo e negativo ................ 89
eixo ..... .............. 193 Limpando a série 500+ ................ 186
Proteção ............... ..... 108 Referência ...... 110
Exibindo ............ ....... 138 Listagem Fanuc 0 ......... 139 Listagem
Fanuc 11/10/15 ............ ... 140 Listagem Fanuc 18/16/21 ...............
141 Grupos ..................... 138 Comandos modais ......... 163 Códigos
G modais FS-0/16/18/21 ............ 165 Códigos G modais
FS-10/11/15 .............. 166 Número de peças .... 202 Organização por
números .... .......... 144

Restrições ................... 90 Função SETVN .... 108


Variáveis de leitura e escrita .............. 138 Configurações do Substituição ...... .............. 114 Subtração ................... 114
Sistema .............. .......... 83 Terminologia utilizada .................. 112
sistema .... 199 Temporizadores .... .......... 191 Corretores de
ferramenta .................. 147 Tipos .................. .... 83 Uso ................... 86

T
Função TAN .................. 116 Informação de tempo .................. 191
Dentro
Temporizadores em macros .. ................ 191 Cronometrando um
evento ......... 191 Tolerâncias ......... ............ 280 Número da ponta da
Aguardar sinal de conclusão ............... 196 Desgaste de
ponta da ferramenta ........ 63 Grupos de memória de correção da
compensação ................ 8, 53, 58, 149 Função
ferramenta ........... .... 148 Tipo A......................... 148 Tipo B.................. ....
WHILE .. ............. 171, 179-182 Restrições de loop
149 Tipo C ....................... 149 Variáveis de correção da
WHILE ................ 181 Parâmetros de tipo de
ferramenta ............... 147-162 Fanuc 0 ....................... 150 Fanuc
palavra ......... ........ 42 Deslocamentos de
10/11/15/16/18/21 ............ 152, 158 Ajuste da ferramenta ......... 158
trabalho ....................... 51
Apalpadores ........ 276 Funções trigonométricas ................ 116
Adicional ......... 52 Comum ......... 52 Externo... ................... 52
Conversões para graus decimais ........... 116 Valores TRUE ...........
Padrão ................... 51
37, 125 , 172, 176, 182 Parâmetros de tipo de duas palavras ................
42 Tipos de sondas ................ 278

X
Função XOR ................... 176

A PARTIR DE

DENTRO
Deslocamento zero......................... 145

Ramificação incondicional......... 173, 189 Underflow ....................... 107


Uso de macros..... ............... 6

DENTRO

Variáveis vagas ......... 83, 93, 111, 182 Transferência de


valor ....................... 137

Copyright 2005, Industrial Press Inc., Nova York, NY - www.industrialpress.com


Machine Translated by Google
Macros personalizadas CNC da FANUC

312 Índice

Copyright 2005, Industrial Press Inc., Nova York, NY - www.industrialpress.com


Machine Translated by Google Macros personalizadas CNC da FANUC

O QUE ESTÁ NO CD-ROM?

O CD-ROM de bônus incluído fornece um acesso mais fácil à maioria dos programas abordados no livro, incluindo
todas as macros de usinagem e outros arquivos, para que possam ser impressos ou modificados se necessário sário.
Através da seleção do menu, escolha o item de interesse.

2 Requisitos:
1. Windows XP (edição doméstica ou profissional fortemente recomendada)

2. Unidade de CD-ROM

3. Adobe Reader versão 5 ou superior (anteriormente conhecido como Acrobat Reader)

2 Usando o CD-ROM:
1. Insira o CD na unidade de CD-ROM

2. O Menu Principal deve aparecer de forma adequada

3. Use o Menu Principal para navegar por todas as opções disponíveis

4. Pressione o botão EXIT para sair da navegação do CD

2 Notas:
Se o Menu Principal não aparecer automaticamente, a função AutoPlay no Windows XP pode ter que ser ativada.
O utilitário gratuito Adobe Reader v5+ é necessário para visualizar e imprimir todos os arquivos PDF selecionados do
CD-ROM. Se tiver dificuldade para abrir qualquer arquivo PDF do disco, instale a versão gratuita do Adobe Reader
fornecida no CD-ROM (pode ser necessário desinstalar a versão mais antiga).

O CD-ROM também inclui todos os principais programas e macros listados ao longo do livro. Especificamente, a
seleção de menu abrange todas as macros e ilustrações (desenhos) afins listadas no Capítulo 20 - Mac ros para
Usinagem, bem como a macro para uma ciclo de desenvolvimento listado no Cap ítu lo 21 - Ciclos personalizados.

Além disso, outras seleções de menu oferecem vários recursos suplementares:

o Uma linha sugerida do curso Fanuc Custom Macro B como um arquivo do Microsoft Word
(sinta-se à vontade para modificar este arquivo para atender às suas

necessidades de treinamento) o Vários desenhos utilizáveis para desenvolvimento de

macro também estão incluídos o Desenhos em formato PDF que podem ser usados como apostilas ou para

exercícios em sala de aula o Dois macros de sondagem


o Outras referências

Copyright 2005, Industrial Press Inc., Nova York, NY - www.industrialpress.com


Machine Translated by Google Macros personalizadas CNC da FANUC

Copyright 2005, Industrial Press Inc., Nova York, NY - www.industrialpress.com

Você também pode gostar