Escolar Documentos
Profissional Documentos
Cultura Documentos
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.
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)
...
150 Capítulo 11
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.
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.
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.
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.
1 #2001 #2701
2 #2002 #2702
32 #2032 #2732
1 #2101 #2801
2 #2102 #2802
32 #2132 #2832
1 #2201 #2901
2 #2202 #2902
32 #2232 #2932
1 #2301 #2301
2 #2302 #2302
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.
152 Capítulo 11
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.
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
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
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.
154 Capítulo 11
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
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.
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.
156 Capítulo 11
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
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.
H-OFFSET D-OFFSET
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.
158 Capítulo 11
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.
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.
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
... ...
64 #2364
160 Capítulo 11
A tabela de referência a seguir lista as variáveis do sistema para 64 ou menos offsets, na memória Tipo B:
1 #2001 #2701
2 #2002 #2702
64 #2064 #2764
1 #2101 #2801
2 #2102 #2802
64 #2164 #2864
1 #2201 #2901
2 #2202 #2902
64 #2264 #2964
1 #2301 #2301
2 #2302 #2302
64 #2364 #2364
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
... ...
160 #13160
162 Capítulo 11
A tabela de referência a seguir lista as variáveis do sistema para mais de 64 off-sets na memória Tipo B:
1 #15001 #10001
2 #15002 #10002
1 #16001 #11001
2 #16002 #11002
1 #17001 #12001
2 #17002 #12002
1 #13001 #13001
2 #13002 #13002
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.
163
164 Capítulo 12
u Bloco anterior
u Bloco de Execução
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.
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
#4009 09 G73 G74 G76 G80 G81 G82 G83 G84 G85 G86 G87 G88 G89
#4018 18 N/D
#4021 21 N/D
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
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 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)
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.
168 Capítulo 12
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:
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.
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
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'.
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
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.
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.
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.
171
172 Capítulo 13
Função SE
E SE
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
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:
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 é:
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:
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:
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
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 ):
O uso do método IF-THEN torna o programa mais curto pela metade e é mais fácil de interpretar.
Matemática Macro
Expressão Formato
Símbolo Função
= Igual a EQ #I EQ #j
A
£ Menos que ou igual a #IN #j
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:
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.
176 Capítulo 13
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
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.
Conceito de Loops
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):
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):
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).
178 Capítulo 13
Figura 20
COMEÇAR COMEÇAR
Comparação de fluxograma
É 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
NÃO
e FALSA, respectivamente
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:
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:
À 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.
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:
Figura 22
180 Capítulo 13
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:
Figura 23
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.
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:
Figura 24
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.
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
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:
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.
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.
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:
184 Capítulo 13
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
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.
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:
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.
186 Capítulo 13
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:
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:
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 :
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.
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:
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,
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
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:
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.
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:
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:
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.
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:
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.
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:
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.
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).
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.
192 Capítulo 14
Avalie os comentários fechados ou tente no controle para ver como o timer funciona exatamente:
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.
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:
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.
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
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:
e ABSOLUTAMENTE Posição absoluta - sempre a posição absoluta atual para o 1º ao 15º eixo,
#5041 - #5055 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.
193
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.
peça de trabalho
ABSKP
Valor de
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.
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.
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)
A configuração padrão para #3003 e #3004 é 0, significando que nenhum recurso está desabilitado.
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):
195
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.
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:
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
%
A maioria dos tornos CNC pode se beneficiar dessas funções um pouco mais do que centros de usinagem.
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.
o Fonte de alimentação
Certifique-se de entender como essas operações funcionam antes de tentar usá-las em macros.
Quando o feedhold está desabilitado em uma macro, usando a variável #3004, e o botão feedhold
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.
198 Capítulo 16
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.
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.
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.
Primeiramente, o bloco G65 deve ser definido com todos os ar gumentos necessários e suas atribuições:
+ onde…
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).
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.
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.
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:
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).
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).
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:
202 Capítulo 16
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:
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 ).
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 Símbolos /, (, =, e ;
Comentários do programa
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
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
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:
*
ADP DE ANÚNCIOS DPRNT PD REDONDO RO
*
SAL * COMO EXP EX SQRT SQ
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 -
o Exemplo de entrada de comprimento total - a entrada abreviada acima é a mesma que a entrada completa abaixo:
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.
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
206 Capítulo 18
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
de produção
No vídeo, os benefícios podem ser ainda identificados nas áreas de produção e programaçã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
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.
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.
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.
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.
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.
208 Capítulo 18
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!
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.
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.
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.
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
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.
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:
mm) o Apenas uma ferramenta é usada - T1 com ser facilmente alterado para duas ferramentas todas as
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.
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.
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
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:
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.
212 Capítulo 19
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:
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:
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.
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:
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.
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.
214 Capítulo 19
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:
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.
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:
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:
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.
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.
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.
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
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:
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:
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):
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:
218 Capítulo 19
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:
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.
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
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?
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.
Todos os mac ros são fornecidos apenas para fins de treinamento, sem garantias!
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
221
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:
Qualquer número de furos é aceitável - mínimo de dois furos o A distância entre os dentro das capacidades da máquina
o Qualquer passo entre buracos é aceitável o A localização dentro das capacidades da máquina
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
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.
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:
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.
224 Capítulo 20
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
14 os furos finais
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
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.
MACRO O8102
Em(#21)
H(#11)
V(#22)
VAR # Descrição
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.
226 Capítulo 20
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.
6 BURACOS EQSP
Ø4 ATÉ Figura 35
14
Padrão de furos da estrutura - definições
9,5
BURACOS
EQSP
5
10 16
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)
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.
MACRO O8103
Em (#21)
Eu (#4)
VAR # Descrição
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.
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.
228 Capítulo 20
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:
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.
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
50
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 Diâmetro do círculo do parafuso = Diâmetro do círculo de passo (BCD exemplo ... usa a abreviatura EQSP
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.
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).
As seguintes características do padrão do círculo do furo do parafuso serão definidas - Figura 38:
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.
Atribuição de variáveis para um padrão de círculo de furo de parafuso típico - Macro O8104
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:
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.
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.
Ø3 ATÉ
Figura 39
5 BURACOS EQSP
24°
37,5
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).
H MACRO O8105
EU
EU
Padrão de buraco de arco - definições
FOI # Descrição
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.
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.
236 Capítulo 20
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
50 7,5
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
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.
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:
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)
FOI # Descrição
Z 26 Profundidade do bolso
E (#25)
D 7 Diâmetro da bolsa (inicial)
F 9 Avanço de corte
238 Capítulo 20
N0001 #6 = #26 Se a profundidade de corte não for definida, use a profundidade total
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
#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
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.
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
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.
240 Capítulo 20
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
50 7,5
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:
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).
MACRO O8107
Em (# 23)
Bolso circular - macro de acabamento
#101
VAR # Descrição
Z 26 Profundidade do bolso
W 23 Diâmetro do bolso
F 9 Avanço de corte
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:
242 Capítulo 20
o Sentido de usinagem a partir do centro no modo de fresamento concordante (G41 D..) em M03
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
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
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
%
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
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):
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
Figura 45
Desenhos métricos e ingleses que podem ser usados para testar as macros de bolso circular
244 Capítulo 20
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
28
5 PROFUNDIDADE
O processo de usinagem típico para cortar uma ranhura comum fechada é bastante simples:
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.
o Raio do slot (um dos dois mesmos raios) . . . letra R atribuída (variável #18)
A Figura 47 mostra uma representação gráfica dos dados variáveis como assinaturas na macro chamada G65:
R(#18)
MACRO O8108
VAR # Descrição
R 18 Raio do slot
F 9 Avanço de corte
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.
246 Capítulo 20
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.
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:
Ø6 MOINHO DE FIM
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:
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.
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)
VAR # Descrição
X 24 Centro da ranhura Coordenada X
X (#24) C (#3)
F 9 Avanço de corte
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:
+ onde…
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.
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
%
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.
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.
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:
3. Aplique o conjunto de desvio de raio de corte G41 D- ao longo de um movimento linear de entrada
7. Pode cel cortar o deslocamento do raio - G40 - ao longo de um movimento linear de saída
252 Capítulo 20
MACRO O8110
VAR # Descrição
F 9 Avanço de corte
#32 R(#18)
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:
+ onde…
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.
O0030
N1 G21 Unidades métricas
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
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:
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:
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.
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
É 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
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:
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
258 Capítulo 21
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.
SISTEMA FANUC 0
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.
260 Capítulo 21
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
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:
MACRO O8111
D (#7)
#31
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:
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.
262 Capítulo 21
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 :
+ onde…
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.
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:
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:
Fanuc 0 0223
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:
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.
Para fresamento convencional, o ciclo G12 pode ser desenvolvido fazendo apenas algumas alterações:
264 Capítulo 21
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:
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:
… … … … … …
… … … … … …
… … … … … …
… … … … … …
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:
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:
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:
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
50 7,5
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).
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
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.
267
268 Capítulo 22
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.
[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).
[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.
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:
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.
o comando DPRNT .
+ onde o Bit #7 é…
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).
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 ...
.... 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:
Pode ser necessário experimentar com a formatação de saída, para corresponder às preferências pessoais.
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:
Canal de entrada/saída:
0020 Byte
Seleção de um dispositivo de entrada/saída
Nota - Fanuc cas sette ou disquete não pode ser usado para saída do perfurador!
272 Capítulo 22
função
+ onde o bit #1 é…
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:
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:
ABRIR
...
BPRNT ou DPRNT ... com especificações variáveis
...
PCLOS
...
ABRIR
...
BPRNT ou DPRNT ... com especificações variáveis
...
PCLOS
...
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:
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.
274 Capítulo 22
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:
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.
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.
Nos próximos exemplos, a função DPRNT será usada para três saídas frequentemente requeridas:
Encontro
Tempo
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):
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.
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 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
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.
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.
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:
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.
278 Capítulo 23
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.
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
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
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.
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.
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:
adicionais e opcionais o Custos associados ... pode ser benéfico a longo prazo
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).
280 Capítulo 23
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.
Tolerâncias esperadas
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.
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:
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.
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.
282 Capítulo 23
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.
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.
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.
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.
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 Â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.
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.
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:
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.
Figura 58
C
A medida central C está entre
P1 P
2 P
3 P
4 dois recursos usinados, como slots
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
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.
286 Capítulo 23
C1 Figura 60
P1 P
2 Medição central C1 e C2
de um recurso interno circular
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.
W1 W2 Figura 61
P1 P
2 P
3 P
4 Largura externa e interna
medição
W1 = ABS[P1-P2]-B
W2 = ABS[P3-P4]+B
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).
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.
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.
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.
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.
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.
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.
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).
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
%
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
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.
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
T (#20)
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.
292 Capítulo 23
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.
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.
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.
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.
294 Capítulo 23
SONDA MOVIMENTO
COMO PROGRAMADO
MOVIMENTO SALTADO
EM CONTATO
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.
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.
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):
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
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.
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.
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
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:
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.
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.
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.
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
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.
298 Capítulo 24
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.
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.
Recursos Complementares
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.
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:
300 Capítulo 24
u Uma macro não deve fazer tudo - macros mais curtas são melhores que uma grande
u Desenhe esboços, desenhe vistas, desenhe outras imagens - visualize cada estágio macro
u Escreva o núcleo da macro primeiro, adicione 'sinos e assobios' quando a macro for verificada
u Não altere os números de sequência em uma macro - inclua uma mensagem de aviso
u Salve todas as configurações atuais antes de alterá-las - restaure-as quando a macro sair
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.
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.
301
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 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 Números Binários o
Classificação de Parâmetros
o Alteração de parâmetros o
Defeitos do sistema
u CONFIGURAÇÃO DE DADOS
o Conjuntos de trabalho
o Em modas cremosas
Configuração de dados
u ESTRUTURA MACRO
o Ferramentas básicas
o Variáveis
o Funções e Constantes
o Operadores Lógicos o
o Chamada Macro
o Argumentos o
u CONCEITO DE VARIÁVEIS
o Declaração Variável
Variáveis o Restrições
u ATRIBUINDO VARIÁVEIS
o Variáveis Locais
o Listas de Atribuição o
304 Capítulo 25
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 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 Configuração de ferramentas
u DADOS MODAIS
Precedentes e Executando
o Códigos G modais
u RAMIFICAÇÃO E LOOPING
o Decisões em Macrodesenvolvimento o
Função FI
o Ramificação condicional o
Condições
variáveis
u ALARMES E TEMPORIZADORES
o Número do Alarme
o Mensagem de alarme
o Alarme para alimentos
o Informação de Tempo
o Temporização de um evento
o Informações de posição
306 Capítulo 25
u OPERAÇÕES AUTOMÁTICAS
u PROGRAMAÇÃO PARAMÉTRICA
o Dados Variáveis
o Fundamentos de sondagem
o Medição em processo
o Medição de Características da Peça
o Dispositivos de calibração
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.
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
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
Ocultar macros......... 9
F
Índice 309
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
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
Í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
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
DENTRO
312 Índice
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
2 Usando o CD-ROM:
1. Insira o CD na unidade de CD-ROM
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.
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
macro também estão incluídos o Desenhos em formato PDF que podem ser usados como apostilas ou para