Escolar Documentos
Profissional Documentos
Cultura Documentos
Manual Mach9 MP Programação
Manual Mach9 MP Programação
- Painel frontal: é o componente através do qual o operador interage com a máquina. Contém um
tubo de raios catódicos de 9 polegadas, um teclado alfa-numérico e controles de operação da máquina.
A sequência de atividades a ser executada deverá ser devidamente planejada de acordo com o
processo de fabricação da peça que será usinada, sendo transmitida ao Comando através do Programa.
R73224 1
CAPÍTULO 1 - INTRODUÇÃO A PROGRAMAÇÃO
G1 X54. Y30. F120 # Move os eixos até a posição determinada (X54. Y30) com
120mm/min de Va. A este tipo de movimento de interpolação
(G1).
O exemplo acima é uma série de 3 blocos válidos. As palavras no bloco de dados tem
significado específico para o controle. Dizendo ao controle as palavras corretas na ordem
correta teremos uma execução perfeita.
2 R73224
1.1.1.SISTEMA DE COORDENADAS
EIXOS:
Normalmente o eixo Z é paralelo a linha de centro do eixo árvore e tem seu sentido positivo
" entrando " na ferramenta.
Caso a máquina possua mais do que três possibilidades de movimento existem os eixos
secundários :
Zero:
Através da página " REFERENCIA " o operador define na posição atual dos eixos, o
chamado Zero programa, que é um ponto do campo de trabalho que o controle tomará
como referência inicial para definição das coordenadas . O zero programa permanece fixo
na posição definida mesmo que a máquina seja desligada, podendo ser alterado somente
por outra operação de referência.
A determinacâo das coordenadas dos pontos a serem programados poderá ser feita de duas
maneiras :
As coordenadas de cada ponto a ser atingido pela ferramenta sâo dadas tomando-se como
referência sempre o zero programa . O sinal da coordenada depende do lado do eixo "
positivo ou negativo" em que se encontra o ponto com relação a origem .
R73224 3
Sistema de coordenadas Incrementais:
As coordenadas de cada ponto a ser atingido pela ferramenta são dadas tomando-se como
referência o ponto anterior de localização da mesma. Esse ponto passa a ser uma origem
instantânea com os eixos conservando a mesma direção.
Esta seção descreve considerações importantes para a programação dos valores numéricos
que fazem parte das funções.
4 R73224
Significa que a função X permite 3 dígitos à esquerda do ponto decimal e 4 dígitos à direita.
Importante: O formato das funções variam de controle para controle. O instalador do seu
sistema define valores no PAM (Parâmetros Ajustáveis da Máquina) que
afetam o formato das funções, a resolução da programação e a resolução do
posicionamento para certas palavras. informe-se com o instalador sobre o
formato das funções do seu controle.
Métrico/Polegada (Formato)
O controle pode operar tanto em unidades do sistema inglês quanto do sistema métrico.
Porém, o formato de algumas funções pode mudar quando o sistema de unidade é trocado.
Polegada Métrico
X125.0148 (pol) X3175.376 (mm) 7 digítos numéricos para
3.4 4.3 ambas as unidades.
FORMATO:
Ex.: X121.0548
G0001
R73224 5
Programação sem ponto decimal
As funções cujo formato possui o ponto decimal podem ser programadas sem o mesmo,
cabendo ao Controle a interpretação do seu valor. O controle determina a posição
automática do ponto decimal de acordo com as regras a seguir:
Os zeros à esquerda não são necessários para nenhum valor numérico. O controle
considera G01 e G1 como o mesmo valor. Da mesma forma, G00 e G são iguais.
Por exemplo: possuindo a função X o formato 3.4, o valor X 15.209 deverá ser programado
com X 152090, de forma que o dígito mais à direita (no caso, o 0) corresponde à quarta
casa depois do ponto, fazendo com que o ponto seja assumido entre o 5 e o 2. Se
equivocadamente for programado X15209, o Controle entenderá que o 9 está na quarta
casa e colocará o ponto entre o 1 e o 5, gerando, assim, o valor X1.5209.
Fim de Bloco ( # )
Todo bloco deve possuir um caracter que indique o seu fim de bloco como “#” é
universalmente conhecido como “EOB” (END 0F BROCK).
COMENTÁRIO (;)
6 R73224
DELEÇÃO DE BLOCO (/)
O caracter de deleção de bloco (/) é usado para permitir ao controle ignorar todos os
caracteres que aparecem depois dele num bloco de dados. Esse bloco será ignorado ou não,
de acordo com a determinação do operador da máquina. Para ignorar o bloco, o operador
seleciona (IGNORA BLOCO) na página REFERÊNCIA. Se isso não ocorrer, o bloco será
executado normalmente. Por exemplo:
BLOCO - DESCRIÇÃO
G91 - Define modo incremental.
G1 X30. Y30. F300. # - Move 30.mm em X positivo e 30.mm em Y positivo com Va de
300 mm/min.
/G X-30. Y30. # - Move em rápido 30.mm em X negativo e 30.mm em Y positivo.
Se (IGNORA BLOCO) estiver ativo, o controle ignora este
bloco.
M2 # - Fim de programa
Caracteres, Endereços e Funções que não são reconhecidas pelo controle causam a parada
da execução do programa. O controle mostra a mensagem”....COD NÃO CONHECIDO”
na tela. O código mostrado no espaço “....” é aquele que está ilegal.
BLOCOS ILEGAIS
Blocos de dados não podem conter mais que uma função utilizando o mesmo endereço. Se
programados dois endereços G no mesmo bloco - mesmo que sejam funções diferentes
(G90 e G01, por exemplo) a checagem ou execução será suspensa nesse ponto e o controle
exibirá a mensagem “mais que 1 G COD”.
R73224 7
1.2 - FORMATOS E UNIDADES DAS FUNÇÕES
A tabela seguinte mostra, em ordem alfabética, os endereços de funções que são reconhecidas
pelo controle, seus formatos, unidades, e seu significado.
Importante: Seções e capítulos posteriores deste manual discutirão as funções básicas com
maiores detalhes nos seus significados particulares quando associadas com
certas funções G. Aquelas que não forem discutidas neste manual (assinaladas
com um asterisco) pertencem ao Manual de Programação Avançada.
Tabela 1.A
FORMATO UNIDADE
FUNÇÃO DESCRIÇÃO
Métrico Inglês Métrico Inglês
Ângulo do próximo movimento com vértice
na posição atual, medido a partir da origem
A 3.3 4.3 graus graus
do sistema de coordenada em absoluto (G90),
ou da posição atual em incremental.
8 R73224
FORMATO UNIDADE
FUNÇÃO DESCRIÇÃO
Métrico Inglês Métrico Inglês
Tempo de permanência em blocos G04. 3.2 3.2 s s
R73224 9
FORMATO UNIDADE
FUNÇÃO DESCRIÇÃO
Métrico Inglês Métrico Inglês
Distância em Z do centro do círculo medida 3.3 3.4 mm pol
a partir da origem (G90) ou da posição atual
(G91).
10 R73224
FORMATO UNIDADE
FUNÇÃO DESCRIÇÃO
Métrico Inglês Métrico Inglês
T Seleção de ferramenta 2 2 - -
Eixo secundário paralelo a X. 3.3 3.4 mm pol
U
Eixo secundário rotacional em torno de X. 3.3 3.3 graus graus
R73224 11
FORMATO UNIDADE
FUNÇÃO DESCRIÇÃO
Métrico Inglês Métrico Inglês
Movimento ao longo do eixo Y. Medido a 3.3 3.4 mm pol
partir da origem (G90) ou da posição atual
(G91).
Esta seção descreve características gerais das funções usadas na programação. Capítulos
Capítulos posteriores desse manual descreverão, em detalhes, como usar essas funções.
1.3.1- FUNÇÕES G
. Uma função G modal estabelece um modo de operação que permanece em efeito para os
blocos subsequentes. Esse efeito permanece até que uma outra função G que a cancele seja
executada.
. Uma função G não modal estabelece um modo de operação que permanece ativo apenas
no bloco no qual foi programada.
12 R73224
Se mais que uma função G estiver presente em um bloco, a mensagem de erro “MAIS QUE
1 G - COD.” será mostrada na tela quando o bloco for encontrado. A execução será
interrompida, e o problema deverá ser corrigido através de EDIÇÃO PROGRAMA.
Grupos de Funções G
Para facilidade de programação, as funções G são divididas em grupos de acordo com sua
aplicação. Esses grupos são dados nas páginas [CÓDIGO G] do comando:
PÁGINA I DE 2
> G O PRÓXIMA PÁG.
R73224 13
. Controle de Coordenadas
Esse grupo referencia as condições sob as quais o Controle interpreta o sistema de eixos
da máquina. Estarão também entre as primeiras funções do programa.
. Controle do CNC
Essas funções afetam operações específicas do controle, tais como apagar o gráfico do
programa ou privar o operador de certos controles do painel frontal e podem ser usadas em
qualquer posição dentro do programa.
. Ciclos Fixos
. Auto-Rotinas
. Posicionamento/Permanência
Certos endereços não podem ser programados em blocos que contenham certas funções G.
A tabela a seguir fornece os endereços permitidos para cada função G.
14 R73224
Endereços Legais em Blocos com Funções G
G00 A B C D E F H I J K L MN OP Q R S T U VWX Y Z
G01 A B C D E F H I J K L MN OP Q R S T U VWX Y Z
G02 A B C D E F H I J K L MN OP Q R S T U VWX Y Z
G03 A B C D E F H I J K L MN OP Q R S T U VWX Y Z
G04 A B C D E F H I J K L MN OP Q R S T U VWX Y Z
G05 A B C D E F H I J K L MN OP Q R S T U VWX Y Z
G17 N
G18 N
G19 N
G22 I J K N X Y Z
G23 I J K N X Y Z
G24 A B C E H I J L P R WX Y
G25 E F H I J N P X Y
G26 D F H I J K L N OP Q R U VWX Y Z
G27 D F H I J K L N OP Q R U VWX Y Z
G29 L N
G30 N U VWX Y Z
G31 N U VWX Y Z
G39 A B C D E F H I J K L MN OP Q R S T U VWX Y Z
G40 N X Y Z
G41 N X Y Z
G42 N X Y Z
G45 E H N OP
G59 A B C D E F H I J K L MN OP Q R S T U VWX Y Z
G60 A B C I J K N R U VWX Y Z
G62 F N Q S
G66 N Q R W
R73224 15
G70 N
G71 N
G72 E H L N P U VWX Y Z
G73 A B C D E F H I J K L MN OP Q R S T U VWX Y Z
G74 A C E H I J N P R X Y Z
G75 D E H N P X Z
G79 A B C D E F H I J K L MN OP Q R S T U VWX Y Z
G80 N
G81 D F N P R V X Y Z
G82 D F N P R V X Y Z
G83 D F I J K N P R U WX Y Z
G84 D F N P R X Y Z
G85 D F N P R X Y Z
G86 D F N P R X Y Z
G89 N
G90 A B C I J K N R U VWX Y Z
G91 A B C I J K N R U VWX Y Z
G92 N
G94 C F N
G97 N U VWX Y Z
G99 A B C D E F H I J K L MN OP Q R S T U VWX Y Z
.XYZUVWIJK
Cada uma destas funções podem estar em modo absoluto ou incremental. Basicamente,
dimensões absolutas são distâncias do zero do programa ou ângulos a partir do eixo
positivo de X. Dimensões incrementais são distâncias da localização atual ou ângulos a
partir da linha do ponto de centro co-direcional a X na localização atual.
16 R73224
O modo de cada função pode ser absoluto com o uso de G90 ou incremental com G91 (ver
seções 2.3 e 2.4).
Alternativamente, o modo de alguma função que esteja referenciada como absoluto pode
ser forçado à incremental para o corrente bloco pelo uso de letras minúsculas.
Veja capítulo 3 sobre especificações de como usar essas funções em cada bloco de
posicionamento.
Um eixo rotacional é aquele que descreve uma trajetória circular em torno de um eixo.
Eixos rotacionais são frequentemente especificados por movimentos sobre os eixos
lineares X, Y ou Z.
Se for programado uma direção positiva para um eixo rotacional, este será no sentido anti-
horário.
Uma direção negativa será no sentido horário. Isto é assumido olhando-se na direção
negativa do eixo linear associado com o eixo rotacional.
R73224 17
Quando o movimento rotacional é feito no modo absoluto (G90), define-se a posição
angular a partir de grau 0. Movimentos rotacionais em absoluto irão na direção do sinal
do ângulo programado até 360 graus. Um movimento para - 90.0 graus é um movimento
para 90 graus na direção negativa e um movimento para + 645.0 graus é um movimento
para 285 graus na direção positiva, se nenhum sinal (+ ou -) preceder o número do ângulo,
este é assumido como positivo.
O movimento dos eixos em avanço por rotação é definido através do bloco de dados G94.
A função C neste bloco de dados informa ao controle a velocidade de avanço para os eixos
rotacionais em acordo com a página Parâmetros de Controle (AMP).
Se múltiplos eixos rotacionais são programados num mesmo bloco a velocidade de avanço
aplica-se ao eixo que circulará a maior distância, aos outros eixos será aplicada uma
velocidade de avanço tal que todos se posicionem ao mesmo tempo.
Se for programado o movimento do eixo linear e do eixo rotacional num mesmo bloco, os
movimentos iniciam e terminam ao mesmo tempo.
A velocidade de avanço para blocos que possuem tanto movimentos rotacionais como
Lineares será determinada pela mais lenta entre a velocidade de avanço Linear (F) aplicada
aos movimentos Lineares contidos no bloco e a velocidade de avanço rotacional atual
(especificada por G94); aplicada aos movimentos rotacionais contidos no bloco.
Uma função F num bloco de dados especifica a velocidade de avanço para um eixo linear.
A função F pode ter unidades de:
18 R73224
A função F é modal e como tal permanecerá em efeito até um outro F ser programado.
O instalador do sistema atribuirá uma velocidade de avanço que o controle usará caso esta
não seja programada. Pode-se ver esta velocidade de avanço na página STATUS do
controle antes da execução do programa.
A função D (formato D3) é aquela que divide a distância programada em “n” segmentos.
A função D admite um valor máximo de 255.
IMPORTANTE: O ciclo fixo ativo não será executado na posição D0. (posição inicial).
A função D pode ser usada para dividir movimentos lineares e circulares
porém não movimentos rotacionais. Se o movimento é circular, o comando
move em linha retas para os pontos divididos assim, não segue o contorno
do círculo.
Os pontos que separam os segmentos do movimento dividido pela função D podem ser
posições onde deseja-se executar operações específicas do grupo dos auto ciclos.
Acompanhe o exemplo:
G81 Z-24. R-13. F120 - Ativa um ciclo de furar cuja profundidade é de 42mm com Va de
120mm/min.
M2 - Fim de programa.
R73224 19
O exemplo dado abaixo usa algumas funções que não foram tratados ainda, porém, veja
nos próximos capítulos explicações sobre elas.
Se fosse desejado a execução do auto ciclo na posição inicial neste exemplo, seria possível
usando uma das 3 técnicas:
As funções M (formato M2) definem as funções Miscelâneas. Elas são utilizadas para
definir as ações tomadas pelo PAL (Aplicações Lógicas Programáveis). PAL é um
programa que o controle executa, o qual controla algumas funções como troca de
ferramenta, refrigerante ligado ou desligado, eixo árvore, etc.
Algumas funções M pré definidas para o controle, executam algumas ações específicas
internamente e estas são descritas abaixo. Entretanto, a ação específica que estas funções
M produzem, são determinadas de acordo com a máquina.
Pressione a tecla verde [CYCLE START], ou a tecla amarela [BLK/BLK], para continuar
a execução do programa. Dependendo da programação do PAL, pode ser necessário
executar certas funções antes que o controle permita a continuação da operação.
20 R73224
M01 - Parada de Programa Opcional
A função M01 e a função M00 produzem o mesmo efeito, subentendendo-se que já foi
referenciado a função [PARADA OPC.] na página REFER. TRABALHO.
Se [PARADA OPC.] não foi referenciada, M01 é ignorada pelo controle. Em qualquer
caso, M01 é ignorada pelo controle durante “TESTA RÁPIDO”.
A função M02 é usada para finalizar programa ou sub-programa. A função M02 deverá ser
programada sozinha e no último bloco de dados do programa.
Qualquer outra função relatada no PAL associada com M02 são de responsabilidade do
instalador.
A função M06 produz o mesmo efeito que a função M00, porém ela é usada para gerar uma
troca de ferramenta.
Quando a função M06 é programada num bloco com movimento de eixos, a função M06
desliga o eixo árvore antes que o movimento seja executado (isto requer uma programação
própria para o PAL - sob responsabilidade do instalador). A seguir é executado um
movimento dos eixos para uma posição que seja conveniente para se efetuar a troca de
ferramenta, após a troca de ferramenta, o próximo bloco no programa deverá retornar os
eixos na posição de início de usinagem da peça e ligar o eixo árvore.
No PAL padrão, se o eixo estava ligado, então o botão [CYCLE START] acionará o eixo.
R73224 21
Outras Funções M - PAL Padrão
PÁGINA 1 DE 1
Esta seção descreve as 5 funções que podem ser usadas para especificar desvios dentro de um
programa. Esses desvios podem ser usados para alterar e controlar a sequência de execução de
seus programas.
Um desvio transfere a execução de determinada etapa do programa para uma outra (por
exemplo - uma sub-rotina) ou transfere a execução para outro programa (por exemplo, um sob-
programa). Quando o controle termina a execução da etapa especifica pelo desvio, ele retorna
para o bloco de dados que instruiu o desvio (exceto para uma função H que especifica um desvio
incondicional)
A função N (formato N4) programa um número de sequência. Ela identifica o bloco de dados
no qual aparece. Não é necessário programar o número de sequência em todos os blocos de
dados.
Os números de sequência são usados para facilitar a análise do programa eles se tornam
imprescindíveis, quando usados nas instruções de desvio especificadas pelas funções H e E.
Os números de sequência podem ser colocados em qualquer ordem, porém recomenda-se usá-los
em ordem ascendente em seu programa. É conveniente que a numeração seja em intervalos de 5 ou
10, permitindo assim inserir um bloco posteriormente, sem ter que renumerar os blocos novamente.
22 R73224
Função P - Desvio Para Sub-Programa
Todo programa ou sub-programa armazenado no controle deve ser identificado com um número
“P” dentro de uma faixa de P1 à P250. A especificação do número do programa é feito usando
a página EDIÇÃO PROGRAMA.
Não existe diferença estrutural entre um programa e um sub-programa. A única, é que uma
instrução de desvio chama um sub-programa para ser executado através de um programa.
Uma função P (formato P3) num bloco de dados, especifica um desvio para um sub-
programa armazenado no controle, exceto funções de auto ciclos (G81 - G86). Assim
sendo, um sub-programa deve existir e ter um número correspondente ao especificado
junto ao código P. O desvio ocorre após qualquer movimento programado num bloco de
dados.
Se for programado uma função P que não está armazenado na memória será exibida a
mensagem “P*** NÃO CARREG (***)” na tela e a execução será interrompida. O número
mostrado com P é o número do sub-programa programado e o número entre parênteses é
o número do programa que chamou o sub-programa.
A execução do sub-programa começa no seu primeiro bloco, a menos que seja programada
uma função H com P (veja a função H a seguir e os exemplos).
Os desvios para sub-programas podem ser feitos até 5 níveis. Por exemplo:
Nível 0 P1 chama
Nível 1 P2 chama
Nível 2 P3 chama
Nível 3 P4 chama
Nível 4 P5 chama
Nível 5 P6 chama
R73224 23
Os seguintes parâmetros se alterados pelo sub-programa, são restaurados e seu “status” original
após terminar execução do sub-programa:
N10 H50 #
N20 .......
N30 .......
N40 .......
N50 .......
24 R73224
Função E - Fim de Uma Sequência
A função E (formato E4) especifica o bloco final da sub-rotina. O último bloco da sub-
rotina a ser executado será o anterior ao especificado pela função E.
Desvia para o bloco N30 e executa até o bloco anterior ao N60, retornando entÃo para o
bloco posterior ao que chamou a sub-rotina.
N20
N30
N40
N50 #
N60
Desvia para o bloco com N40 e executa até o bloco anterior ao fim do programa, retornando
então até o bloco posterior ao que chamou a sub-rotina.
N10 H40 E #
N20
N30
N40
N50
N60
N70 M02#
R73224 25
Exemplo de desvio usando P para chamar um sub-programa
Desvia para o programa armazenado sob o número 5 e executa até seu final, retornando
então ao bloco seguinte ao bloco que chamou o sub-programa.
P5 N10 P5 #
N1 N20
N2
N3 N30
N4
N5 N40
N6 M02#
N50
P5 N10 P5 H2 #
N1 N20
N2
N3 N30
N4 N40
N5 M02# N50
Desvia para o sub-programa 5 e executa do início até o bloco anterior ao N4, retornando
então ao bloco seguinte ao que chamou a sub-rotina.
P5 N10 P5 E4 #
N1
N2 N20
N3# N30
N4 N40
N5 N50
.
.
.
26 R73224
Exemplo para o sub-programa 5 e executa do N2 até o bloco anterior ao N5, retornando
ao bloco seguinte ao que chamou a sub-rotina.
P5 N10 P5 H2 E5 #
N1 N20
N2
N3 N30
N4 N40
N5 N50
.
.
.
Uma função L (formato L3) num bloco de dados faz com que o bloco de dados seja
executado L vezes. A função L pode ter um valor de 0 a 255, e pode ser usada para 5 níveis.
H100 E200 L4 #: executa a sub-rotina do bloco N100 até o bloco N200 um total de quatro
vezes.
Se movimento dos eixos são incluídos no bloco que programa uma repetição de sub-rotina
ou sub-programa, eles são executados primeiro e a seguir é executada a sub-rotina ou o
sub-programa.
R73224 27
1.3.6 - VELOCIDADE DE ROTAÇÃO DO EIXO ÁRVORE - FUNÇÃO S
Uma função do PAL é que está controlando o eixo-árvore da máquina. Para maiores
detalhes de operação e programação verificar com o instalador do sistema. Esta seção
assume que está sendo usado um dos PALs padrões disponíveis da ROMI. O valor da
função S é modal. Uma vez que um valor é programado ele permanece até que seja
mudado.
Se o eixo-árvore está parado (eixo sem rotação) e programa-se a função M03 (ou M04),
o eixo permanecerá parado. Para que o eixo girasse seria necessário que se tivesse
programado uma função S antes da função M03 (ou M04).
A função O (formato 02), quando programada em um bloco que não contenha a função
G45, seleciona o corretor da ferramenta.
O3#
28 R73224
O número do corretor de ferramenta que está ativa no programa é mostrado na página
STATUS do controle no espaço próximo a “O”.
Quando a função O é usada junto com uma função G45, ela seleciona um corretor de
posicionamento (1 a 96) da página CORRETOR FIX. Por exemplo, um bloco G45 01 #
chama o endereço de corretor número 1.
G45 O0#.
A função T (formato T2) permite a seleção de ferramenta. Os dois dígitos numéricos junto
a letra T, identificam a posição da ferramenta no magazine. O limite superior da função
T é determinado pela capacidade do magazine ou do sistema de seleção.
É importante frisar que a função T não executa a operação de troca de ferramenta mas,
apenas seleciona a ferramenta desejada. Para executar a troca de ferramenta deve-se
programar a função M06 após a função T.
Outras funções podem ser necessárias para usar o magazine. Por exemplo, uma função que
leve a ferramenta em uso para uma posição longe da região de trabalho. Por isso deve
conhecer bem os requisitos operacionais da máquina para uma programação correta.
R73224 29
CAPÍTULO 2 - CONTROLE DE COORDENADAS
Este capítulo cobre o grupo das funções G, chamando controle de coordenadas. Essas
funções estarão normalmente no início do programa porque definem como o controle
interpreta o sistema de coordenadas da máquina.
Um bloco G70 no início do programa instruir controle para usar valores em polegadas para
movimentos dos eixos, avanços, planos de rápido e correções.
O controle assume modo em polegadas (G70) ou em métrico (G71) ao ser ligado, de acordo
como foi determinado em AMP pelo instalador do sistema.
30 R73224
As funções G70 e G71 devem ser programadas em um bloco exclusivo e antes de qualquer
movimento do programa, são modais e cancelam-se mutuamente.
Uma função G70 irá testar o modo “POLEG/MÉTRICO” que foi selecionado pelo
operador. Se o mesmo não foi apropriadamente selecionado, o programa será suspenso
com a mensagem de erro: TROCA POLEG/MÉTRICO.
No modo de programacão em absoluto as posicões dos eixos são medidas da posição Zero
programa estabelecido.
Outra alternativa para o modo absoluto é o modo incremental (G91)
O comando assume o modo absoluto para todos os eixos e funções de posicionamento
quando for ligado e no início de qualquer programa principal.
As funções que usam o modo absoluto são:
XYZUVWIJKABCR
Exemplo :
R73224 31
Pode-se visualizar quais as funções que estão em absoluto ou incremental observando a
página ( Status ) do comando. Funções que aparecem em letras maiúsculas , num dado
instante, estão em absoluto, e funções emletras minúsculas estão em incremental .
Ainda funções em absolutos podem ser transformados para incrementalno bloco corrente
digitando-se em letras minúsculas.
Por exemplo:
Por exemplo:
32 R73224
De outra maneira, pode-se mover para a posição onde se deseja a origem e então definir
essa posição como sendo o Zero Programa.
Por exemplo:
A função G94 permite que se definam avanços em unidades de deslocamento por unidade
de tempo para movimentos rotacionais .
A tabela a seguir descreve as funções que podem ser programadas em conjunto com a
função G94.
prompt descrição
avanço rot (f) especifica o avanço para os movimentos rotacionais que virão
depois dela no programa. Esse valor permanece em efeito até que
um novo valor de F seja programado em outro bloco com G94 .
Deve-se notar que o instalador do sistema define o avanço rotacional
programado em AMP ( Parâmetros Ajustáveis de Máquina) como
revoluções por minuto (RPM), Graus por minuto (GPM) ou Graus
por segundo (GPS).
A função G99 remove o efeito de todos os G92 anteriores.G99 define a origem do sistema
de coordenadas absolutas na posiçào Zero Programa referenciada pelo operador antes do
início da execução do programa .
R73224 33
2.8 - ROTAÇÃO G74
Esta função é usada para rotacionar um sistema de coordenada e pode ser usada para
reproduzir partes ou peças que tem simetria radial.
Endereçamento Função
Rotação G74
Centro de rotação
em X (I) “I” especifica a posição de rotação em X.
Centro de rotação
em Y (J) “J” especifica a posição de rotação em Y.
Ângulo Rotação (C) “C” específica o ângulo de rotação em graus. A direção anti-horária
é positivo, horária é negativo. O ângulo “C” tem seu vértice no
centro de rotação especificado por I e J. Quando “C” é absoluto, o
mesmo é medido da linha que passa pelo centro de rotação na
direção positiva de X.
34 R73224
Quando “C” é incremental, o mesmo é medido de uma linha
imaginária que extende-se do centro I e J passando pela posição
corrente.
Importante: O comando não exibe na tabela os endereços abaixo, mas eles podem ser
programados no bloco G74.
. H — programa o número da sequência inicial de uma sub-rotina que será executada após
rotação e movimento de eixos ter ocorrido.
A figura abaixo mostra o efeito da rotação sobre o zero programa (I0, J0) e sobre um ponto
diferente de zero (I70, J50).
R73224 35
Quando movimentos X e Y são incluídos no bloco G74, especifica movimentos que
deverão ser rotacionados, considerando I, J e C.
Entretanto, se “C” é incremental no bloco G74 e a função “L” estiver presente, a rotação
ocorrerá cada vez que o bloco é executado.
Quando I e J são absolutos no bloco G74, especifica rotação somente sobre um ponto. Se
o bloco é repetido, o centro de rotação não é mudado. Quando um bloco G74 tem um I e
J incremental e é repetido, o centro de rotação é mudado cada vez que o bloco é executado.
36 R73224
2.8.7 - FUNÇÃO G74 EXEMPLOS
; G17 #
SUB-PROGRAMA P2
M2 # Fim do sub-programa.
R73224 37
CONTINUAÇÃO DO PROGRAMA PRINCIPAL
G91 C # Referencia “C” para incremental lembre-se que “X” está ainda
absoluto no programa principal.
G74 I0 J0 C45.
X25.Y P2 L7 # Centro de rotação é absoluto I0, J0, ângulo de rotação é incremental
C45., posição de referência é absoluta X25. Y0 no sistema
rotacionado, a execução será desviada para o sub-programa P2 e o
bloco repetido 7 vezes.
38 R73224
PROGRAMA PRINCIPAL
G17#
SUB PROGRAMA P2
G3 I-6.163 J-13.675
X-12.326 Y0 # Move em arco de A para B.
G2 X37.374 Y0
I18.687 J-35.366# Move em arco de C para D.
M2 # Fim de sub-programa.
R73224 39
CONTINUAÇÃO DO PROGRAMA PRINCIPAL
Neste capítulo será visto o grupo das funções G que definem o posicionamento e o tempo
de espera (“dwell time”).
Há cinco funções G que podem ser usadas para definir o bloco de dados que posicionam
os eixos das máquinas. Outras funções G podem definir bloco de dados que produzem os
tipos básicos de posicionamento que são mais frequentemente utilizados.
As funções G para movimentação ao longo da trajetória linear são (ver seção 3.4):
40 R73224
. G00
. G01
. G73
Posicionamento ponto a ponto faz com que os eixos movam-se a uma velocidade de
avanço programada, ao longo de uma linha reta, ponto a ponto. O controle esperará por um
sinal “em posição”, antes de continuar com o próximo movimento programado.
O controle usa duas funções G para produzir trajetórias circulares, arcos, com movimento
de dois eixos simultaneamente. Isto é chamado interpolação circular porque o Controle
coordena movimentos separados dos eixos para produzir uma arco. O arco é produzido
fazendo-se uma série de segmentos retos muito pequenos entre pontos ao longo do arco.
. G02
Interpolação circular no sentido horário, faz dois eixos moverem-se ao longo de um arco
na direção horária.
. G03
R73224 41
3.1.3 - FUNÇÕES DE EIXOS EM BLOCOS DE POSICIONAMENTO
Outras funções podem também ser usadas para determinar outras condições e funções.
Elas programam o movimento dos eixos, podendo ser individual ou em conjunto uma com
as outras.
XYZUVWIJKACR
O instalador do sistema deve ter dado condições de serem usados até 3 eixos adicionais:
U, V e W.
Estes eixos podem ser lineares, caso em que são usualmente paralelos em alguma
combinação com os eixos X, Y e Z, respectivamente. Estes eixos não podem ser usados
para produzir trajetórias programadas ao longo de um arco, e portanto, não podem ser
programados em blocos com G02 e G03.
. Funções I, J e K
42 R73224
3.2.1 - AVANÇOS LINEARES - FUNÇÃO F
Avanços para interpolação linear e circular são vetores avanço, isto é, todos eixos movem-
se simultaneamente à velocidades individuais de modo que a velocidade ao longo da
trajetória efetiva é igual à velocidade F programada.
. G00
Informa aos eixos para se movimentarem ao longo de uma linha reta até o ponto
programado com a velocidade rápido implantada no sistema. Quando os eixos alcançam
seus destinos o erro de posicionamento do servo, deverá estar dentro dos limites pré-
determinados (“em posição”) antes de ser iniciado o próximo movimento. A função G00
é modal e cancela G01 e G73.
. G01
Informa aos eixos para se movimentarem ao longo de uma linha reta a uma velocidade
específica programada com uma função F. Pode-se modificar a velocidade de avanço atual
usando-se a chave variadora de avanço. Quando um movimento de um eixo rotacional é
programado em um bloco de dados, este iniciará e terminará simultaneamente com
quaisquer movimento linear programado no mesmo bloco de dados. A função G01 é modal
e cancela G00 e G73. Ao acionar-se a máquina, o Controle assume o modo G01.
. G73
Informa aos eixos para se movimentarem ao longo de uma linha reta com uma velocidade
específica programada com uma função F. Ela é similar ao modo G01, exceto que o
Controle espera um sinal “em posição” antes de continuar com o próximo movimento. Isto
elimina o arrendondamento de contorno quando se deseja ter cantos vivos em movimentos
consecutivos em torno de uma peça. A função G73 é modal e cancela G00 e G01.
R73224 43
3.3.1 - TELA PARA ENTRADA DE DADOS
A tabela a seguir descreve as funções que o Controle possui (os “prompts”) para G00, G01
e G73. Somente G00 é mostrado, mas os “prompts” são idênticos para as funções G01 e
G73. Note que somente os eixos permitidos pelo Controle é que são mostrados na tela
PROMPT DESCRIÇÃO
X PTO FINAL X “X” informa o ponto final do movimento para o eixo linear X.
A função X pode ser absoluta (G90) ou incremental (G91).
Quando X é absoluto, ele informa a coordenada do ponto
final no eixo X medida da origem referenciada. Quando X é
incremental, ele informa a distância e a direção ao longo do
eixo X, da posição atual até o ponto final.
Y PTO FINAL Y “Y” informa o ponto final do movimento para o eixo linear Y.
A função Y pode ser absoluta (G90) ou incremental (G91).
Quando Y é absoluto, ele informa a coordenada do ponto
final no eixo Y medida da origem referenciada. Quando Y é
incremental, ele informa a distância e a direção ao longo do
eixo Y, da posição atual até o ponto final.
U PTO FINAL U “U” informa o ponto final do movimento para o eixo U, que
pode ser linear ou rotativo. a função U pode ser (G90) ou
incremental (G91). Quando U é absoluto, ele informa a
coordenada do ponto final no eixo U, medida da origem
referenciada. Quando U é incremental, ele informa a distância
e a direção ao longo do eixo U, da posição atual até ao ponto
final.
44 R73224
ÂNGULO POLAR C Ângulo cujo vértice está num ponto de centro em
posicionamento polar.
R73224 45
G92 X0 Y0 Z0 W0 # . Determina a posição atual como zero do programa, W (rotacional
neste exemplo) é definido como zero neste bloco.
C94 C10. # . Define velocidade de avanço para eixos rotacionais (neste exemplo,
10 dps, graus por segundo.
G01 X2.F760. # . Define modo de interpolação linear (G01) e move até a coordenada
X2. do zero do programa, com velocidade de avanço de 760 mm/
min. Velocidade de avanço linear é modal.
G73 X-2.Y2.F1270 # . Altera o modo para G73, o avanço é agora 1270 mm/min e
movimenta para X-2.Y2.Z-1. do zero do programa e espera por
“inposition”.
46 R73224
3.3.3 - POSICIONAMENTO POLAR LINEAR
Você pode programar movimentos lineares (G00, G01 e G73) usando posicionamento
polar.
Quando R for absoluto, ele informa um comprimento medido do centro inicial polar
do movimento ao ponto final desejado.
Quando A for incremental, este ângulo é medido de uma linha imaginária que se
prolonga do movimento prévio.
C- Indica o ângulo cujo vértice está num ponto de centro em posicionamento polar. Um
ângulo positivo indica o sentido anti-horário.
Quando for absoluto o ângulo C é medido a partir da linha positiva do eixo X até o
ponto final e o vértice é o ponto de centro polar diferente da posição atual da
ferramenta.
Quando o ângulo C for incremental ele é medido a partir de uma linha imaginária que
sai do centro polar e vai até a posição atual da ferramenta.
Existem 7 combinações possíveis que podemos usar para programação linear polar:
.R .C
. RA . RC
. RIJ . CIJ
. RCIJ
R73224 47
3.3.4- POSICIONAMENTO POLAR SOMENTE COM R
Quando for programado somente a função “R” para definir um movimento polar linear, ela
informa o comprimento do movimento a partir do zero programa passando pela posição
atual da ferramenta até a posição final desejada.
R - pode ser absoluto, neste caso ele informa a distância do zero programa até a posição
final desejada.
R - pode ser incremental, neste caso ele informa a distância da posição atual até a posição
final desejada.
N0010 G99 #
N0020 G90 #
"
"
N0110 G00 X34.641 Y20.
N0120 G01 R70
ou
G01 r30
48 R73224
3.3.5- POSICIONAMENTO POLAR SOMENTE COM C
Quando somente C for usado para definir movimentos num bloco de interpolação linear
polar, haverá deslocamento da posição atual dos eixos até o ponto final do ângulo C
partindo do zero programa.
A distância entre o ponto final e o zero programa é a mesma entre o ponto atual da
ferramenta e o zero programa.
O ângulo C tem seu vértice no último centro polar definido. Se não for definido o vértice
estará no zero programa.
Quando o ângulo C for absoluto, é medido a partir da linha positiva do eixo X que passa
pelo Zero Programa.
Quando o ângulo C for incremental ele é medido a partir de uma linha imaginária unindo
o Zero Programa a posição atual da ferramenta.
N0010 G99
N0020 G90
"
"
N0080 G00 X32.766 Y-22.943
N0090 G1 C70.
ou
G1 c105.
R73224 49
3.3.6- POSICIONAMENTO POLAR COM “R/A”
Quando R e A forem usados para definir movimentos num bloco de interpolação linear
polar, eles provocam um deslocamento da posição atual da ferramenta até o ponto final
desejado (definido pela distância R e ângulo A).
O ângulo A tem seu vértice na posição atual da ferramenta. Ele pode ser absoluto como
incremental.
Quando A for absoluto, ele é medido da linha positiva do eixo X passando pela posição
atual da ferramenta.
Quando A for incremental, ele é medido a partir de uma linha imaginária que se prolonga
do movimento anterior.
N0010 G99
N0020 G90
"
"
N0090 G0 X0 Y0
N0100 G01 X24. Y21.5
N0110 G01 r33. A85
ou
G01 r33. a43.145
50 R73224
3.3.7- POSICIONAMENTO POLAR COM RC
Quando R e C forem usados para definir movimentos num bloco de interpolação polar
linear, eles provocam um deslocamento da posição atual da ferramenta para o ponto final
que está posicionado na linha do ângulo C.
r+ X2 + Y2
O ângulo C pode ser absoluto ou incremental. Quando C for absoluto ele é medido a partir
da linha positiva de X que passa pelo centro polar até o ponto final.
Quando C for incremental ele é medido de uma linha que une o centro de posicionamento
polar e a posição atual da ferramenta.
R73224 51
3.3.8- POSICIONAMENTO POLAR “COM R I J”
Quando R, I e J forem usados para definir movimentos num bloco de interpolação polar
linear, eles provocam um movimento da posição atual dos eixos para o ponto final da linha.
Esta linha sai do centro polar que é definido por I J e passa pela posição atual dos eixos.
Quando eles são absoluto definem coordenadas X e Y do centro polar medido a partir do
zero programa.
Quando I e J for incremental definem a distância e direção nos eixos X Y da posição atual
da ferramenta para o centro polar .
Quando R for absoluto, ele indica o comprimento do centro polar até o ponto final.
Zero programa
Centro polar
Posição atual da ferramenta
Ponto final
N0010 G90
N0020 G99
“
“
N0070 G00 X42.658 Y39.434
N0080 G01 I20 J50 R50
ou
N0080 G01 I20 J50 r25
ou
N0080 G01 i-22.658 j10.566 R50.
ou
N0080 G01 i-22.658 j10.566 r25.
52 R73224
3.3.9- POSICIONAMENTO POLAR C I J
Quando C, I e J forem usados para definir movimentos num bloco de interpolação polar
linear, eles provocam um movimento da posição atual dos eixos para o ponto final na linha
do ângulo C.
A distância entre o ponto final e o centro definido por I e J é a mesma entre a posição atual
da ferramenta e o centro polar.
Quando for incremental, definem a distância e a direção nos eixos X e Y da atual posição
da ferramenta para o centro polar.
Quando C for absoluto ele é medido da linha positiva de X que passa pelo centro polar.
Quando C for incremental ele é medido a partir de uma linha que une o centro polar a atual
posição dos eixos.
Zero programa
Centro polar
R73224 53
3.3.10- INTERPOLAÇÃO LINEAR POLAR COM R C I J
Quando R, C, I e J forem usados para definir movimentos num bloco de interpolação linear
polar, eles provocam um movimento da posição atual dos eixos para o ponto final.
Este ponto final é conhecido em função do centro polar definido por I e J, do ângulo C e
distância R.
Quando I e J forem incremental definem a distância e direção nos eixos X Y da posição atual
da ferramenta para o centro polar.
R pode ser absoluto ou incremental. Quando R for absoluto, o comprimento da linha do ângulo
C é o valor de R.
Quando R for incremental (r), o comprimento da linha do ângulo C será r mais a distância do
centro polar até a posição atual dos eixos.
r + X2 + Y2
Onde X e Y são coordenadas da posição atual da ferramenta medido a partir do centro polar.
Quando C for absoluto ele é medido a partir da linha positiva de X que passa pelo centro polar.
Quando C for incremental ele é medido a partir de uma linha que une o centro polar até a posição
atual dos eixos.
N0010 G99
N0020 G90
" Zero programa
"
Posição atual
N0080 G00 X56.252 Y13095
N0090 G01 I20.J30 R60 C25. Posição final
ou
N0090 G01 i-36.252 j16.904 R60.C25.
ou
N0090 G01 I20 J30 r20. C25.
N0090 G01 I20 J30 r20. c50.
ou
"
"
54 R73224
3.4 - INTERPOLAÇÃO CIRCULAR G02 E G03
Um bloco G02 gera um arco circular no sentido horário. Um bloco G03 produz um arco
no sentido anti-horário. O arco é executado através de movimentos simultâneos dos 2
eixos do plano de trabalho.
Um bloco G02 ou G03 pode definir um arco de qualquer comprimento. O arco pode cruzar
a fronteira dos quadrantes contínuamente.
A tabela a seguir descreve os “prompts” que o Controle fornece para uma interpolação
circular horária (G02) e anti-horária (G03). A tabela refere-se ao G02 porém para G03 é
identica.
PROMPT DESCRIÇÃO
ARCO H G2
X PTO FINAL X “X” corresponde à coordenada X do ponto final do arco. Ela é usada
apenas para arcos nos planos XY (G17) e XZ (G18). X pode ser
especificada em coordenada absoluta ou incremental. Como
absoluta, X corresponde à coordenada X do ponto final do arco em
relação ao zero programa. Como incremental, X corresponde à
coordenada X do ponto final em relação ao ponto inicial do arco.
Y PTO FINAL Y “Y” corresponde à coordenada Y do ponto final do arco. Ela é usada
apenas para arcos nos planos XY (G17) e YZ (G19). Y pode ser
especificada como coordenada absoluta ou incremental. Como
absoluta, Y corresponde à coordenada Y do ponto final em relação
ao zero programa. Como incremental, Y corresponde à coordenada
Y do ponto final em relação ao ponto inicial do arco.
R73224 55
Z PTO FINAL Z “Z” corresponde à coordenada Z do ponto final do arco. Ela é usada
apenas para arcos nos planos XZ (G18) e YZ (G19). Z pode ser
especificada em coordenada absoluta ou incremental. Como
absoluta, Z corresponde à coordenada Z do ponto final em relação
ao zero programa. Como incremental, Z corresponde à coordenada
Z do ponto final em relação ao ponto inicial do arco.
X CENTRO ARCO I “I” corresponde à coordenada X do centro do arco. Ela é usada para
arcos nos planos XZ (G18) e XY (G17) e pode ser absoluta ou
incremental. Como absoluta, especifica a coordenada X do centro
do arco em relação ao zero programa. Como incremental, especifica
a distância do ponto de inicio do arco até o centro medido ao longo
do eixo X.
Y CENTRO ARCO J “J” corresponde à coordenada Y do centro do arco. Ela é usada para
arcos nos planos XY (G17) e YZ (G19) e pode ser absoluta ou
incremental. Como absoluta, especifica a coordenada Y do centro
do arco em relação ao zero programa. Como incremental, especifica
a distância do ponto de início do arco até o centro medido ao longo
do eixo Y.
Z CENTRO ARCO K “K” corresponde à coordenada Z do centro do arco. Ela é usada para
arcos nos planos Z (G18) e YZ (G19) e pode ser absoluta ou
incremental. Como absoluta, especifica a coordenada Z do centro
do arco em relação ao zero programa. Como incremental, especifica
a distância do ponto de inicio do arco até o centro medido ao longo
do eixo Z.
ANG. POLAR (C) Ângulo cujo vértice está num ponto de centro em posicionamento
polar (somente plano XY), medido da direção positiva de “X” até
a linha compreendida entre o ponto final e o vértice (ponto de
centro com posição diferente do “XY” atual.
ÂNGULO INICIAL (A) Ângulo de uma linha imaginária que um arco polar está tangente
(somente plano XY) um movimento deve preceder o bloco do arco
polar no qual “A” está contido. “A” tem seu vértice no ponto final
desse movimento.
56 R73224
3.4.2 - SELEÇÃO DO PLANO
Antes de programar o bloco que executará o arco deve-se programar um bloco especificando
o plano no qual estão contidos os 2 eixos nos quais será desenvolvido o arco. Use:
. G17
Para arco no plano XY. Esse plano é selecionado pelo Controle ao ser ligado.
. G18
. G19
. O centro do arco.
Existem várias maneiras para se programar um bloco de dados que produza um arco.
Ilustraremos essas maneiras nas seções seguintes.
Como já vimos podemos programar um bloco de dados para produzir um arco em qualquer
um dos planos de trabalho.
Neste caso será produzido um arco cujo comprimento depende do ponto final programado.
Através do ponto final programado, o controle sabe a posição do fim do arco. Para
programar um círculo completo, o ponto de início do arco (posição atual dos eixos) e o
ponto final do arco devem ser o mesmo.
Neste caso sempre será produzido um círculo completo. Como não é programado o ponto
final do arco, o controle assume que ele coincide com o ponto de início, resultando num
círculo completo.
R73224 57
PONTO FINAL E CENTRO DO ARCO
A tabela abaixo mostra as funções usadas para programar arcos em cada um dos planos.
A figura 3.8 mostra arcos gerados pela programação do centro e do ponto final, em
coordenadas absolutas e incrementais. A figura refere-se ao plano XY, mas a concepção
para outros planos é a mesma.
= Zero programa
= Centro do arco
= Posição atual
= Ponto final
Fig. 3.8
58 R73224
Na figur 3.9 temos exemplos para programar o centro e o ponto final de um arco.
ABSOLUTO (G90)
Exemplo:
G71 - programação em mm
R73224 59
INCREMENTAL (G91)
Exemplo
G99
G90
G71
G17
G00 X56.699 Y50 T01 M06
O01 S650 M03
Z5.
G91
G1 Z-8 F200
G2 X78.656 Y60.355 I43.301 J25.
GZO M05
M02
A tabela a seguir mostra as funções que devem ser usadas para programar o centro do arco
em cada um dos três planos.
60 R73224
A figura 3.10 mostra o conceito visto de programar o centro do círculo somente. Esta vista
é para o plano XY somente, mas o conceito aplica-se aos outros planos também.
ABSOLUTO
G99
G90
G71
G17
G00 X56.699 Y50. T01 M06
O01 S550 M08
M03
Z5.
G1 Z-3. F200
G2 I100. J75. (ARCO COMPLETO)
GZO M05
M02
INCREMENTAL
G99
G90
G71
G17
G00 X56.699 Y50. T01 M06
O01 S550 M08
M03
Z5.
G91
G1 Z-8. F200
G2 I43.301 J25. (ARCO COMPLETO)
GZO M05
M2
R73224 61
3.4.5 - ARCOS POLAR
Você pode programar arcos usando posicionamento polar, porém, somente no plano XY
(G17). Se você tentar executar um arco polar em outro plano, o comando interromperá a
execução e exibirá a mensagem “CHECAR EIXOS E PLANO”.
Quando C for absoluto ele é medido a partir da linha positiva de X. Quando C for
incremental ele é medido a partir de uma linha imaginária que une o centro do raio
a posição atual da ferramenta.
.R . RA
. RAC . RC
.C . CIJ
Quando somente a palavra R é usada para definir um movimento circular polar, ela define
um círculo completo.
O círculo tem um valor do Raio igual a R e inicia-se no ponto que é tangente ao fim do
último movimento.
R deve ser absoluto. Se for programado incremental terá o mesmo efeito do absoluto.
62 R73224
Um movimento prévio deve ser feito antes do bloco contendo a interpolação circular polar.
Caso o movimento anterior seja de valor = 0 o comando exibirá a mensagem
“COMPRIMENTO REFERÊNCIA = 0”
Zero programa
Exemplo:
N0010 G99
N0020 G90
“
“
N0060 G00 X40 Y10
N0070 G01 X85. Y25.
N0080 G02 R20.
ou
N0090 G03 R20.
R73224 63
3.4.7- INTERPOLAÇÃO CIRCULAR POLAR R/A
Quando somente R e A forem usados num bloco de interpolação polar o resultado será um
círculo completo.
O círculo terá o raio no valor de R e o seu início será no ponto final do último movimento
programado.
R deve ser absoluto. Se R for programado no sistema incremental o efeito será o mesmo
do sistema absoluto.
Um movimento diferente de zero deverá preceder o bloco que contenha o arco polar.
Quando A for absoluto, o ângulo do qual o círculo será tangente é medido da linha positiva
de X.
Zero programa
Posição atual
N0010 G99
N0020 G90
“
“
N0080 G00 X20. Y15.
N0090 G01 X85. Y55. F800.
N0100 G03 R20. A60
64 R73224
3.4.8- INTERPOLAÇÃO CIRCULAR POLAR USANDO R A C
Estas palavras R, A e C são usados num bloco para definir um movimento circular polar.
O arco tem raio R e seu início é no ponto final do último movimento programado. O arco
é tangente ao ângulo especificado por A.
R deve ser absoluto. E um movimento diferente de zero deve preceder o bloco que
contenha as informações do arco.
O vértice deste ângulo será no ponto final do movimento que precede o bloco do arco.
O ângulo A pode ser absoluto ou incremental. Quando A for absoluto ele é medido de uma
linha positiva do eixo X. Quando A for incremental ele é medido a partir de um
prolongamento da linha do movimento prévio.
O ângulo C pode ser absoluto ou incremental. Quando C for absoluto ele é medido a partir
de uma linha positiva de X até o final do arco em relação ao centro do próprio arco.
Quando C for incremental ele é medido a partir de uma linha que une o ponto inicial do
arco ao ponto de centro do arco.
A 50o
a 28.198o
R 15.
X 60.
Y 40.
c-155.
X 71.490 C-15.
N0010 G99 X 10. Y 30.358 X 85.979
N0020 G90 Y 20. (Pto. Centro Y 26.476
" do raio)
"
N0080 G00 X10. Y20.
N0090 G01 X60. Y40.
N0100 G02 R15. A50. C-15.
ou
N0100 G02 R15. A50. c-155.
ou
N0100 G02 R15. a28.198 C-15.
R73224 65
3.4.9- POSICIONAMENTO POLAR USANDO R C
As palavras R e C podem ser usadas para executar uma interpolação circular polar.
O arco tem o raio definido por R e o comprimento do arco é definido pela palavra C.
R deve ser absoluto e um movimento diferente de zero deve preceder o bloco que contenha
interpolação.
Quando C for absoluto ele é medido de uma linha positiva de X que se extende do centro
do arco.
Quando C for incremental é medido a partir da linha que une o centro do raio e o ponto
inicial do arco.
N0010 G99
N0020 G90
"
"
N0080 G00 X10. Y10.
N0090 G01 X40. Y30.
N0100 G03 R20. C30.
ou
N0100 G03 R20 c86.309
66 R73224
3.4.10- INTERPOLAÇÃO CIRCULAR POLAR USANDO C
Quando somente a palavra C for usada para definir um movimento circular polar, ela
produz um arco que tem o comprimento determinado pela palavra C.
Se não for definido, o vértice será no zero programa. Consequentemente o raio do arco é
o comprimento da atual posição da ferramenta até o zero programa.
O ângulo C pode ser absoluto ou incremental. Quando C for absoluto, ele é medido a partir
da linha positiva de X que está passando no zero programa.
Quando C for incremental ele é medido a partir da linha que une o zero programa até a
posição atual da ferramenta.
Z e r o
programa
Posição atual da
ferramenta
N0010 G99
N0020 G90
“
“
N0100 G01 X40. Y-16.
N0110 G03 C30.
ou
N0120 G03 c51.801
R73224 67
3.4.11- INTERPOLAÇÃO CIRCULAR POLAR USANDO C I J
Quando C, I e J forem usados para definir um movimento circular polar, produzem um arco
que tem o comprimento determinado por C.
O raio do arco é a distância da posição atual dos eixos até o centro do raio definido por I
e J.
Quando I e J for incremental, eles indicam a distância e direção do ponto de início do arco
para o centro do arco.
O comprimento do arco, ângulo C, tem seu vértice no centro do arco ele também pode ser
absoluto ou incremental.
Quando C for absoluto, ele é medido a partir de uma linha positiva de X que passa pelo
centro do arco.
Quando C for incremental, ele é medido a partir de uma linha que une o ponto de início
do arco até o centro.
68 R73224
3.5 - TEMPO DE PERMANÊNCIA (“DWELL”) - G04
Caso se queira mudar o tempo de permanência, pode-se especificar uma nova função F
com outro valor num outro bloco G04.
Por exemplo:
.
.
G4 F10.# Executa uma permanência de 10 segundos
.
.
.
.
.
G4# Executa uma permanência de 10 segundos
.
.
.
G4 F5.# Executa uma permanência de 5 segundos
.
.
.
.
.
G4# Executa uma permanência de 5 segundos
.
.
Enquanto o bloco G04 está sendo executado, o tempo de permanência fica em contagem
regressiva do seu valor inicial até zero. Pode-se acompanhar esta contagem regressiva na
página STATUS do Controle.
A permanência pode ser necessária em algumas operações ou pode ser usada para dar ao
operador tempo para ler um comentário no programa da peça na página [STATUS]. Neste
caso o bloco do comentário deve vir imediatamente após o bloco G04.
A função G04 não troca o status ou a função do Controle servindo apenas para inserir uma
pausa por um tempo determinado. Depois que o tempo de permanência foi completado, o
Controle continua a execução com o próximo bloco.
R73224 69
3.5.1 - A tabela abaixo explica os comandos (“prompts”) que o Controle fornece para
G04.
Tabela 15.D
PROMPT PERMANÊNCIA
PERMANÊNCIA G04
A função G05 permite programar 2 retas que são tangentes a um arco cujo raio e
coordenadas de centro são conhecidos.
G05 é modal e permanece em efeito até que seja programado uma função G00, G01, G02,
G03 ou G73.
G05 executa interpolação circular previamente definido pelos planos G17, G18 ou G19.
Este capítulo será descrito para o plano XY (G17), porém, as mesmas informações são
aplicadas para outros planos.
Se uma função G05 está ativa e programa-se um G05 ou um G01 instruirá ao comando para
continuar ao longo do arco até atingir um ponto de tangência do qual ele possa continuar
num percurso linear para a nova meta.
70 R73224
Se o comando ativo é um G05 a meta pode ser um outro ponto tangente de um novo arco
especificado com G05.
Uma função G05 sem dados, informa ao comando para terminar o percurso no primeiro
ponto tangente previamente armazenado.
se a função Q não for definida, ou se Q for igual a zero determinará um ponto (canto vivo).
F - Admite um avanço.
R73224 71
Uma função G05 em que não é especificado as coordenadas de centro do arco é um comando
especial que é utilizado para fechar o percurso.
81.28
7.62 10.16
62.23
57.15
7.112
41.91 7.62
30.48 5.588
16.848
4.064
5.08
29.21
35.56
57.15
63.5
86.36
100.33
114.3
X0 Y81.88
G01 X57.15
G05
G00 X0 Y81.28
72 R73224
3.6.1 - FUNÇÃO Q : CHANFRO OU ARREDONDAMENTO
EXEMPLO:
.
.
.
G1 XY
X60. Q10.
Y60. Q-5.
X Q15.
Y
.
.
.
.
.
.
N60 GXY
N70 G1 X70.Q10.
N80 X30.Y50.
N90 X
N100 Y
.
.
.
.
.
.
N50 GXY
N60 G1 Y30.
N70 X10.
N80 X20.Y20.
N90 G2 X40.Y0 120.J0Q5.
N100 G1X.
.
.
.
R73224 73
CAPÍTULO 4 - MODO DOS EIXOS
Este capítulo descreve como funciona um bloco de dados que contém uma função G do
grupo que define o modo dos eixos.
. Selecionar o plano no qual se deseja realizar uma interpolação circular e/ou compensação
de ferramentas.
As funções G17, G18 e G19 permitem selecionar o plano no qual se pretende executar
interpolação circular (incluindo um arco de interpolação helicoidal e/ou uma compensação
de diâmetro da ferramenta.
O controle assume G17 (por default) assim que for ligado e no final do programa (após um
M02 ou M30, no programa principal).
Essas funções são modais. Uma vez selecionada ela permanece ativa até que o Controle
execute outra função desse grupo ou execute M02 ou M30 no programa principal.
No bloco em que for programada uma dessas funções não deve ser programada nenhuma
outra função, com exceção da função N. Se isto não acontecer, quando da execução, o
Controle produzirá a mensagem de erro - “COD NÃO CONHECIDO” - e a execução será
interrompida.
Se antes de um bloco que especifica uma interpolação circular não houver um bloco
especificando o plano no qual se dará a operação, o Controle interromperá a execução e
exibirá a mensagem “CHECAR EIXO E PLANO”. Isto somente não acontecerá se a
interpolação for no plano XY (G17), já que o Controle assume essa função “por default”.
Com relação a compensação de raio da ferramenta, ao ativar essa função, através dos
códigos G41 ou G42, simultaneamente o movimento de interpolação linear compensado
fica limitado ao plano selecionado. Por exemplo, se a função G17 está ativa e se for
programado algum movimento em XZ ou YZ, o Controle, quando da execução interromperá
a mesma e exibirá uma mensagem de erro.
74 R73224
4.2 - COMPENSAÇÃO DE RAIO DA FERRAMENTA G41, G42, G40
Se o valor do diâmetro inserido na página [CORREÇÃO FER] for negativo (-), o Controle
compensará “para dentro” da trajetória programada para a ferramenta. Se for positivo, o
controle compensará “para fora” da trajetória programada. Assim, ao se programar uma
determinada trajetória esta pode ser ajustada prá mais (através de uma entrada positiva)
ou prá menos (através de uma entrada negativa).
Exemplo:
Corretor D.5.
G99
G90
G17
G71
GX10.Y20 T01 M06
O01 S600 M03
Z-5 F800
G41
G01 X15.Y15
X50.
G00 X55.5
G1 X76
G40
X80 Y20
GZ0 M05
M02
R73224 75
4.2.1 - CANCELAMENTO DA COMPENSAÇÃO DE RAIO - G40
Um bloco G40 cancela a compensação, entretanto ela somente será removida no próximo
movimento dos eixos (ou num movimento simulado) programado depois do bloco G40.
Esse movimento (que remove a compensação) deve ocorrer antes de qualquer bloco de
dado que contenha uma função G que não especifica uma movimentação nos eixos, ou
antes de um bloco de dados com a função O.
76 R73224
4.2.3 - FERRAMENTA À DIREITA - G42
Para isso basta programar o plano no qual a compensação ocorrerá (usando G17, G18 ou
G19), antes de a compensação ser ativada.
O controle assume esta função assim que é ligado, portanto, só necessita ser programada
se estiver ativo um outro plano. G17 cancela G18 e G19.
R73224 77
Quando G41 ou G42 está ativo, pode-se programar movimento em todos os eixos,
entretanto os movimentos serão compensados somente nos eixos do plano selecionado.
Assim, não é possível programar movimentos combinados de eixos que não pertençam ao
mesmo plano selecionado.
Por exemplo:
Se G17 (plano XY) está ativo e for programado um bloco tal como:
Não será possível a sua execução enquanto a compensação da ferramenta estiver ativa. O
controle, assim que ler este bloco, gerará a mensagem “EIXO/PLANO CRF ILEGAL”.
Uma vez que estejam ativas as funções G41 ou G42, certas funções G não são permitidas.
Deve-se programar G40 para cancelar a compensação, antes de programar essas funções.
Deve-se também programar G40 (cancelando a compensação) antes de passar de G41 para
G42 (ou vice-versa) ou antes de chamar uma nova compensação (através da função O).
Portanto se você precisar programar alguma das funções acima, primeiro cancele a
compensação com G40, então restabeleça a compensação de ferramenta desejada com
G41 ou G42.
78 R73224
Figura 4.3
MOVIMENTO “INTERNO”
R73224 79
Um movimento “externo” é aquele no qual a ferramenta ao mudar a direção de sua
trajetória gira em torno de seu centro instantâneo de rotação (CI), o qual nesse caso esta
sobre o ponto de interseção das duas trajetórias, mudando sua posição relativa se
posicionando para iniciar o movimento na outra direção. Por exemplo, se a ferramenta está
se deslocando à esquerda da peça (G41) e “vira” para direita, ela faz um movimento
“externo”.
MOVIMENTO “EXTERNO”
ERRADO CORRETO
MOVIMENTOEXTERNO MOVIMENTOINTERNO
MOVIMENTOEXTERNO MOVIMENTOINTERNO
80 R73224
4.2.6.- EXEMPLOS DE COMPENSAÇÃO
Para inserir ou remover uma compensação de ferramentas pode-se fazer uso de 2 técnicas:
O exemplo que se segue ilustra como usar um movimento de entrada para chamar a
compensação.
R73224 81
BLOCO DE DADOS COMENTÁRIOS
X-40. Movimento 1.
Y15. Movimento 2.
X0 Movimento 4.
Y0 Movimento 5.
82 R73224
MOVIMENTO SIMULADO
Nota: Uma situação especial existe para movimentos rápidos dentro da compensação.
R73224 83
X5. Y5. Posição entrada
X-40 Movimento 1
Y15 Movimento 2
X0 Movimento 4
Y0 Movimento 5
X-15. Movimento 6
84 R73224
Y10. Movimento 7
X-35. Movimento 8
Y15. Movimento 9
X-5. Movimento 11
Y5. Movimento 12
R73224 85
4.3 - CORRETOR DE FIXAÇÃO G45
Existem até 96 corretores de fixação que podem ser usados (numerados de 1 a 12 em cada
página [CORRETORES FIX].
Com uma programação conveniente, é fácil colocar todos os corretores em sequência, para
que sejam executados pela máquina com uma determinada ferramenta, antes de prosseguir
para a próxima ferramenta. Isso elimina a realização das trocas de ferramenta a cada
correção de fixação. Um programa escrito dessa maneira pode além disso, ser executado
com nenhuma, uma, ou várias correções de fixação sem modificação no programa.
G45 001#
Após terem sido invocadas, as correções de fixação são interpoladas durante o próximo
movimento programado dos eixos. Elas estarão completamente ativadas quando todos os
eixos especificados pelo corretor de fixação tiverem sido movidos.
G45 O00#
G45# incrementa para o próximo número de corretor. Se o número de corretor estava igual
ou maior que o campo último O (fixado pelo operador), o número de corretor voltará para
o número 1. Se o número de corretor era zero, ele permanecerá zero.
Um comando G45 junto com uma chamada de subrotina especificada por H, E, e/ou P,
exceto E sozinho, (E sozinho não é uma chamada de subrotina) fará com que seja
executado primeiro a subrotina. Então será executado o comando G45# (incrementando
o número do corretor se ele não for zero) . Se o Controle incrementou fazendo o número
do corretor igual a 1 ou se o número do corretor é 0, ele processará o próximo bloco, caso
contrário, a subrotina é chamada novamente e a sequência se repete.
86 R73224
A programação de um bloco de dados com a função G45 e a função E, sem a função H ou
P, é um comando sem validade para o Controle.
Se a função O é incluída num bloco G45 com chamada de subrotina, ela especificará o
primeiro número de corretor. Isso não tem efeito se o campo PROX.FIXAÇÃO está
zerado.
Um comando com G45 e H, sem E ou P, fará com que seja executado primeiro a correção
de fixação e a seguir o desvio especificado por H, a não ser que o Controle tenha
incrementado o número do corretor de volta para 1 ou o número do corretor está zerado,
neste caso o desvio não ocorre, sendo executado o próximo bloco. Neste formato não é
permitido usar a função O.
Por exemplo:
O01 X100.
G99 O02 X150.
G90 O03. X200.
G17 O04. X250.
G71
GX50. Y-50. T01 M6
O01 S500 M08
M03
G45 O01
N100 GXY
Z5.
G1 Z-5. F200
X30.
Y20.
X0
Y0
GZ5.
G45 H100
G45 O0
X50. Y150
GZO M05
M02
R73224 87
Se o operador deseja rodar o programa sem nenhuma correção de fixação, basta selecionar
último O igual a 0 na página [CORRETORES FIX]. Se ele deseja rodar o programa apenas
uma vez usando o corretor número um, basta selecionar último O igual a 1 na página
[CORRETORES FIX]. Para rodar o programa cinco vezes usando os corretores de 1 a 5,
basta selecionar último O igual a 5. Nesse caso será executado o “loop” do G45 ao N100
até terem sido feitas todas as cinco correções e então será ignorado o desvio, indo para o
próximo bloco G45 O 0.
No exemplo acima, o programa não requer troca de ferramentas. Isso possibilita minimizar
a troca de ferramentas no caso de peças que requerem vários corretores de fixação.
G99
G90
G17
G71
G0 X50. Y-50 T01 M06; PRIMEIRA FERRAM.
O01 S600 M08
M03
G45 O01
N100 GXY
Z5.
G1 Z-5. F600
X30.
Y20.
X0.
Y0
G Z5.
G45 H100.
G45 O0
GZO M05
G X50. Y50. T02 M06; 2a. FERRAM.
O2 S600. M8
M3
G45 O01
N200 GX15. Y10.
GZ5.
G1 Z-1. F600.
G1 X30.
G2 I15. J10.
G1 X15.
GZ5.
G45. H200.
G45 O0.
GZO MO5
X50. Y150
M02
88 R73224
P6
; PROGRAMA PRINCIPAL
G99
G90
G17
G71
GX50. Y-50.
G45 O01 P8 H80 E100
G45 O01 P8 H150 E350
G45 O0
GZO M05
M02
P8
; SUB PROGRAMA
N80 T01 M06
N90 O1 S500 M08
M03
GXY
Z5.
G1 Z-5. F800.
X30.
Y20.
X0.
Y0.
GZ5.
G45 H-90.
G45 O0
GZO
N100 M05
N150 GX50. Y50. T02
S600 M03
G45 O01
N300 GX15. Y10
O2
G Z-5
G1 Z-1 F800.
G1. X30
G2 I15. J10.
G1 X15.
GZ5.
G45. H300
G45 O0
GZO M05
X50. Y150.
N350. M02
R73224 89
CAPÍTULO 5 - CICLOS FIXOS
5.0 - Descrição do Capítulo
. G80 - Cancelamento de ciclo fixo. Remove o último ciclo fixo definido do estado ativo.
. G81 - Ciclo fixo de furação. Define operações de furação simples, com tempo de
permanência opcional no fundo do furo.
. G82 - Ciclo fixo de furação com permanência. Define uma operação de furação com um
tempo de permanência opcional no fundo do furo.
. G83 - Ciclo fixo de furação com descarga. Define no ciclo de furação a profundidade
do furo na qual ocorrerá a descarga do cavaco através de uma permanência ou da
retração da ferramenta.
. G84 - Ciclo fixo de roscar. Define um ciclo de rosca direita. Neste ciclo deve-se utilizar
um passador de macho flutuante.
. G86 - Ciclo fixo de mandrilamento com retração do eixo parado. Define um ciclo de
furação com retração da ferramenta com eixo parado, isto é, sem girar.
5.1 - INTRODUÇÃO
Os ciclos fixos da série G81 a G86 definem movimentos específicos para o eixo Z, segundo
programação que satisfaça as exigências e opções desta série.
Uma vez definido um ciclo fixo num programa, este atuará automaticamente após um
movimento em rápido (G00) no plano XY. Os ciclos fixos são modais e permanecem
ativos até que sejam cancelados com um G80. Se for programado um novo ciclo fixo sem
cancelar o anterior, o comando sempre assume a execução do último ciclo programado, até
que haja o cancelamento.
90 R73224
5.2 - CANCELAMENTO DE CICLO FIXO G80
Um bloco G80 cancela um ciclo fixo ativo. Programa-se esta função quando não mais
deseja-se que um ciclo fixo atue no final de um movimento rápido.
Esta função pode ser usada para operações simples de furação o ciclo será executado tantas
vezes quanto movimentos em rápido no plano XY houverem até o seu cancelamento.
Estando a ferramenta na posição “Z” inicial e feito o posicionamento em rápido nos eixos
X e Y, a ferramenta movimenta-se em rápido até o plano R, fura em velocidade de avanço
até a profundidade final, executando um tempo de permanência opcional, e retorna em
rápido ou em avanço de retração até o plano-R ou a posição “Z” inicial da ferramenta.
G81 e G82 possuem as mesmas funções disponíveis para programação de seus blocos.
Estes são providos como códigos separados a fim de obedecer mais reservadamente às
especificações da EIA RS-274, mas sua ações específicas podem ser idênticas.
Como todo ciclo fixo, G81 é modal. Ele permanece em efeito até ser cancelado pela
função.
A tabela a sequir descreve as funções que o Controle possui (os “prompts”) para a função
G81, indicadas no mesmo bloco de informações.
PROMPT DESCRIÇÃO
FURAR G81
R73224 91
PLANO RAPIDO R “R” é opcional. Ele especifica a posição Z do Plano-R. R é
sempre uma posição absoluta do eixo Z. A operação de
usinagem em avanço de trabalho do ciclo fixo ocorre da
posição do plano-R para a profundidade especificada em Z.
Todos ciclos fixos movimentam-se em rápido, para baixo, da
posição “Z” inicial da ferramenta até a posição do plano-R,
quando o ciclo fixo é atuado. Se não for especificado R no
ciclo fixo, o Controle assumirá a posição atual de Z para
iniciar movimento com avanço de trabalho.
92 R73224
Exemplo de G81
.
.
.
GZ30. #
G81 R2.Z-25.F150 #
X20.Y30. #
X50.Y15. #
G80 #
.
.
.
Avanço Avanço
Rápido de
Trabalho
R73224 93
5.4 - CICLO FIXO DE FURAÇÃO COM PERMANÊNCIA - G82
O ciclo fixo G82 é indicado para alargamento ou operações de furação onde a peça
necessita de uma permanência. Sua operação e programação são idênticas a do ciclo fixo
G81 descrito anteriormente a ferramenta move-se em rápido até o plano-R, fura em
velocidade de avanço até a profundidade final, fornecendo um tempo de permanência
opcional, e retorna ao plano-R ou à posição inicial da ferramenta em rápido ou em avanço
de retração.
G82 e G81 possuem as mesmas funções disponíveis para programação de seus blocos.
Estes são providos como códigos separados a fim de obedecer mais reservadamente as
especificações do EIA RS-274, mas suas ações específicas podem ser idênticas.
Como todo ciclo fixo, G82 é modal. Ele permanece em efeito até ser cancelado como um
bloco de dados G80, ou sobreposto por outro ciclo fixo, que atuará automaticamente após
um subsequente movimento rápido (G00).
Os mesmos “prompts” descritos para G81 se aplicam com as mesmas considerações para
G82.
Exemplo de G82
.
.
.
GZ30. #
G82 R2.Z-25.D5.F150 #
X20.Y30. #
X50. #
G80 #
.
.
Avanço Avanço
Rápido de
Trabalho
94 R73224
.
5.5 - CICLO FIXO DE FURAÇÃO COM DESCARGA - G83
Um bloco G83 executa uma operação que inclui um movimento de retração ou uma
permanência para a quebra ou remoção do cavaco. Pode-se especificar uma permanência
e/ou um movimento incremental positivo de Z como ação de quebra cavaco depois de cada
incremento.
Quando uma permanência é programada para quebra do cavaco, o ciclo fixo pode ser
programado para efetuar uma retração opcional até o plano-R após cada permanência.
O movimento em rápido, do ciclo fixo, para o plano-R ocorre após cada incremento ou
após cada ação de quebra cavaco, até que a profundidade total seja atingida. A ferramenta
também retrairá em rápido ao plano-R ou à posição inicial da ferramenta após a execução
completa do ciclo.
Como todo ciclo fixo, G83 é modal. Ele permanece em efeito até ser cancelado pela função
G80, ou sobreposto por outro ciclo fixo, que atuará automaticamente após um subsequente
movimento rápido (G00).
A tabela a seguir descreve as funções que o Controle possui (os “prompts”) para a função
G83.
PROMPT DESCRIÇÃO
FURAR/DESC. G83
R73224 95
INCR. INICIAL I “I” é obrigatório no ciclo fixo G83. Ele programa a magnitude
do primeiro incremento de profundidade que ocorre abaixo do
plano R. Este valor é sempre tratado como um movimento
incremental negativo de Z indiferente do modo (G90 ou G91)
em efeito ou do sinal de entrada. Se J e K não são programados,
I é o valor do incremento constante usado no ciclo.
96 R73224
SEM RETR Z U “U” programa a magnitude de profundidade na qual ocorrerá
uma retração em rápido para o plano-R. Este valor é sempre
considerado uma distância incremental negativa de Z,
indiferente do modo (G90 ou G91) em efeito. Cada vez que
a “Profundidade de corte sem retração” for igual ou maior
que o valor de U, ocorrerá uma retração em rápido no plano-
R. Se U não é programado ou é menor que I, a ferramenta
retrairá ao plano R após cada incremento de profundidade. Se
U é maior que Z mais R, não haverá retração ao plano-R até
que a profundidade final seja obtida.
5.5.2 - Exemplos
NOTA: Quando não programado U ocorrerá a retração até o plano-R após cada incremento
de profundidade. Quando P diferente de zero retrairá ao Z inicial no final do ciclo.
.
.
.
GZ25. #
G83 Z-58.I15.R2.F100 D1. #
X30. Y15. #
Y30. #
G80 #
.
.
.
R73224 97
G83 - Exemplo com Permanência, Quebra Cavaco e retração
.
.
.
GZ25. #
G83 Z-58.R2.F100 I15.J5.K5.U30.D1. #
X30.Y15. #
Y30. #
G80 #
.
.
.
O ciclo fixo G84 gira o eixo árvore no sentido horário no início do ciclo (interfaceado via PAL)
move-se em rápido ao plano-R e em velocidade de avanço até a profundidade especificada.
Quando a profundidade final é atingida, a rotação do eixo árvore é revertida (sentido anti-
horário) automaticamente. Finalmente a ferramenta retorna em velocidade de avanço à posição
especificada (ao plano-R ou ao Z inicial).
98 R73224
Importante: Por razões de segurança, o Controle não permite o ajuste da velocidade de avanço
e da rotação do eixo árvore nas respectivas chaves de porcentagem de avanço
e rotação, durante a execução do ciclo fixo G84 assumindo, assim, o valor de
100% para ambos. Por este motivo se faz necessária a programação correta
dos valores de rotação do eixo árvore e velocidade de avanço. Também por
razões de segurança, se acionado o botão amarelo [BLK/BLK] para execução
de um ciclo simples com G84, o controle executará o ciclo como se este fosse
um único bloco, sem interrupção dos movimentos implícitos nos blocos. E o
botão [CYCLE STOP] também é desabilitado durante a execução do ciclo
G84.
Como todo ciclo fixo, G84 é modal. Ele permanece em efeito até ser cancelado pela função
G80, ou sobreposto por outro ciclo fixo, que atuará automaticamente após um subsequente
movimento rápido (G00).
A tabela a seguir descreve as funções que o Controle possui (os “prompts”) para a função G84.
PROMPT DESCRIÇÃO
ROSCAMENTO G84
R73224 99
COD RETRAÇÃO P Idem a G81.
Exemplo de G84.
NOTA:
RPM = 318
Passo = 1,5 mm
F = 318 x 1.5 = 477
.
.
.
GZ30. #
G84 Z-15.R5.F477 #
X25. Y20. #
X40.Y30. #
G80 #
.
.
.
Avanço Avanço
de Rápido
Trabalho
100 R73224
5.7 - CICLO FIXO DE MANDRILAMENTO - G85
Como todo ciclo fixo, G85 é modal. Ele permanece em efeito até ser cancelado pela função
G80, ou sobreposto por outro ciclo fixo, que atuará automaticamente após um subsequente
movimento rápido (G00).
A tabela a seguir descreve as funções que o Controle possui (os “prompts”) para a função
G85.
PROMPT DESCRIÇÃO
MANDRILAR G85
R73224 101
Exemplo de G85:
.
.
.
GZ25. #
G85 R2.Z-20.F40 V150 D1. #
X30.Y40. #
Y20. #
G80 #
.
.
.
O ciclo fixo G86 possibilita a execução da operação de mandrilamento com a saída do eixo
parado. Move-se em rápido ao plano-R, em velocidade de avanço até a profundidade
especificada, atua um tempo de permanência opcional, o eixo pára de girar e então retorna
a ferramenta ao plano R ou ao “Z” inicial em avanço de retração ou rápido.
Como todo ciclo fixo, G86 é modal. Ele permanece em efeito até ser cancelado pela função
G80, ou sobreposto por outro ciclo fixo, que atuará automaticamente após um subsequente
movimento rápido (G00).
A tabela a seguir descreve as funções que o controle possui “Prompts” para a função G86.
PROMPT DESCRIÇÃO
102 R73224
PLANO RAPIDO R Idem a G81.
Exemplo de G86.
.
.
.
GZ25. #
G86 R2.Z-20.F40 V150 #
X30.Y15. #
Y35. #
G80 #
.
.
.
R73224 103
CAPÍTULO 6 - AUTO ROTINAS
Este capítulo cobre o grupo de funções denominadas auto-rotinas. Auto rotinas são
funções G que programam movimentos complexos da máquina através de um único bloco.
Depois de ler este capítulo, o usuário saberá como programar:
Para formar uma hélice, o Controle movimenta dois eixos em um arco, e o terceiro eixo
em linha reta. Pode-se programar um movimento helicoidal com:
PROMPT DESCRIÇÃO
104 R73224
X PTO FINAL X “X” informa a coordenada X final do movimento linear no
plano YZ (G19).
. O plano do arco
Antes de programar o bloco da hélice, deve-se programar um bloco que chame o plano em
que ocorrerá o movimento circular.
Usam-se:
De acordo com o plano em que ocorre o movimento circular da hélice, serão diferentes os
significados das funções “prompts”. O bloco de hélice programado tem que ter um formato
que seja correto para o plano escolhido, caso contrário, ocorrerá um erro - “CHECAR
EIXOS E PLANO” - quando for rodado o programa.
. A direção do arco
Nota: Sentido horário ou anti-horário tem por defição a vista da direção negativa do eixo
que não faz parte do plano que geram o arco.
R73224 105
. Centro do movimento circular
É bom lembrar que as coordenadas do centro do arco são referenciadas no Zero Programa
no modo absoluto (G90), ou na posição atual dos eixos no modo incremental (G91).
O valor programado do passo é sempre um incremento, ou seja, ele não possui sinal,
percorrido pelo eixo perpendicular ao plano selecionado que corresponde ao espaço
percorrido durante uma revolução completa do arco (360 graus).
Mesmo que uma revolução completa não é desejada, o passo deve ser equivalente ao
círculo de 360 graus).
106 R73224
A tabela a seguir resume as informações necessárias para programar uma hélice:
Programa-se o
XY (G17) IeJ K Z
XZ (G18) IeK J Y
YZ (G19) JeK I X
6.1.3 - Exemplos
Este programa executa, utilizando uma fresa de perfil especial, uma rosca direita em uma
peça vazada.
R73224 107
; - Hélice - X Y - # nome do programa
N0070 G01 X50. Y100. # desloca com avanço de trabalho para as coordenadas
indicadas.
108 R73224
Exemplo 02: Plano XZ
Este programa executa, utilizando uma fresa de perfil especial, uma rosca esquerda em um
canal circular côncavo.
; Hélice plano YZ
N0060 GZO
R73224 109
CAPÍTULO 7 - FUNÇÕES:
As funções G30 e G31 são usadas para cancelar e estabelecer espelhamento de movimentos
dos eixos. Por espelhamento entende-se como sendo a inversão do sinal da coordenada
programada.
- Uma função G30 com endereço cancela o espelhamento somente para o eixo
especificado.
Um bloco com G31 inverte o sentido de direção dos eixos nele especificado.
G31 é modal e permanece em efeito até ser cancelado com um G30, M02 ou M30.
110 R73224
Programa Principal Sub Programa P2
.
. N10 G91
. N20 GX10.Y10.
N10 GX50.Y50.Z5. N30 G1Z-10.F100.
N20 P2 N40 Y30.
N30 G31X N50 X30.
N40 P2 N60 Y-10.
N50 G31XY N70 X-10.
N60 P2 N80 Y-20.
N70 G30 N90 X-20.
N80 G31Y N100 GZ10.
N90 P2 N110 X-10.Y-10.
N100 G30 N120 M2
.
.
.
R73224 111
7.1 FUNÇÃO G89
Exemplo:
G99
G90
“
“
X-100. Y-100. T01 M06
O35 S1000 M03
Z30.
G81 Z-3. R5. F150
G00 X-10. Y-15.
X-60.
G80
G00 Z25.
G89
Y-55.
X-10.
G80
GZO M05
Y150.M02
112 R73224
7.2 FUNÇÃO G29
Quando G29 for programado, o ciclo fixo é executado mesmo que tenha sido cancelado
com um código G80.
Devemos posicionar primeiro para a coordenada e depois executar o ciclo com G29.
A função G29 pode conter a função L que especifica o número de execuções a ser feita no
ponto.
Exemplo:
G99
G90
“
“
X-100. Y-100. T01 M06
O35 S1000 M03
Z30.
G81 Z-3. R5. F150
G00 X-10. Y-15.
X-60.
G80
G Z25.
Y-55.
G29
X-10.
G29 (L)
GZO M05
M02
R73224 113
7.3 FUNÇÃO G24
Esta função é aplicada para ser executado automaticamente um auto-ciclo (G79 G86),
sub-programa ou sub-rotina, num máximo de 128 vezes em um padrão circular de pontos
igualmente espaçados.
114 R73224
L- Especifica o número total de pontos em que os auto-ciclos, sub-programas ou sub-
rotinas serão executados. O valor máximo de L é 128 e pode ser menor do que o
número total de pontos definido por W ou B. L tem formato 3.
B- Define o espaçamento angular igual para os pontos no círculo. A direção dos pontos
poderá ser no sentido horário (B-) ou no sentido anti-horário (B). Se B não for
programado, W definirá indiretamente o espaçamento entre os pontos. B tem
formato +/- 3.3.
IJ - A posição atual (antes do bloco G24) será a posição inicial no círculo e o centro é
definido pelas funções I e J (no bloco G24).
R73224 115
IJ IJ X Y
. .
. .
. .
G X50.Y100.Z30. G Z30.
G81 Z-12.R2.F100 G81 Z-12.R2. F100
G24 I50.J60.L5 W5 G24 X50. Y100. I50. J60. L5 W5
G80 G80
. .
. .
. .
XY IJ C R
. .
. .
. .
GX50.Y60.Z20. G Z30.
G81 Z-12.R2.F100. G81 Z-12. R2. F100
G24 X50.Y100.W5 L5 G24 R40. C90. I50. J60.L5 W5
G80 G80
116 R73224
7.4 FUNÇÃO G25
Podemos definir o número de pontos ao longo dos eixos X Y e o espaçamento entre eles.
.
.
.
GX100.Y100.Z10.
G81 Z-10.R2.F200.
G25 X30.Y-20.I5 J3
G80
.
.
.
R73224 117
7.5 FUNÇÃO G26
Para alojamento retangular. É possível especificar um raio nos cantos usando a função R.
Que deve ser maior que o raio da ferramenta utilizada para usinagem do alojamento.
L é sempre um número inteiro, se L não for programado U será usado para determinar
a profundidade de corte.
118 R73224
Se somente W for programado ou somente D, a auto-rotina inicia no centro do
alojamento. Se W e D for programado junto a auto-rotina abrirá um alojamento já
existente.
H- Avanço de acabamento.
RESTRIÇÕES
- Corretor com valor do diâmetro da ferramenta negativo não pode ser usado.
- Se o valor de escala G72 for usado com a função G26 e o raio do canto tiver sido
programado na auto-rotina, os fatores de escala X e Y deverão ter os mesmos valores.
A função G26 não requer que se programe todas funções descritas acima.
A seguir está descrito o que ocorre quando alguma dessas funções são omitidas.
R73224 119
X- Se omitido esta função um rasgo é fresado com um comprimento especificado
por Y.
120 R73224
.
.
.
GX20. YZ5.
G26X100.Y45.Z-3.I.5J.5K.5U1.25L2.W5.
F150.H100.V50.
.
.
.
.
.
.
GX20.Y30.Z5.
G26 X100.Y90.Z-5.I.5 J.5 K.5 U2.25
L2. W8. R15.F150.H100.V50.
.
.
.
.
.
.
GX60.Y70.Z5
G26 R40.Z-3.I.5 J.5 K.5 U1.25 L2
W5.F150.H100.V50
.
.
.
R73224 121
7.5.1 - FUNÇÃO G27
Todas as considerações feitas para a função G26 são aplicadas para a função G27.
A área especificada será definida pelos parâmetros X e Y, se não for programada a função
R, o alojamento será retangular e os cantos da área especificadas serão retos.
Caso R seja programado, os cantos terão um raio igual a R. O comando deverá conhecer
a distância até a área de usinagem, portanto, a função D deverá ser programada.
EIXO X :
D = [(AX - I - 2.RF)/W] + 1
I = AX - 2.RF - [(D-1).W]
W = AX - I - 2.RF / (D-1)
EIXO Y
D = [(AY - J - 2.RF) / W] + 1
J = AY - 2.RF - [(D-1).W]
W = AY - J - 2.RF / (D-1)
N10 GX70.Y60.Z5
N20 G27 X130.Y100.Z-4.5 I2.J2.K5.L2 D5
W6.5 F150.H100.V50
122 R73224
N10GX28.Y28.Z5
N20 G27 X116.Y70.Z-4.I1.5 K.5 L2 D3.W3
F150.H100 V50.R8
FERRAMENTA φ 12mm
N10 G XY Z5
N20 G27 R13.Z-4.I.5.J.5 K.5 L2 W8.75 D3
F150.H100 V150
R73224 123
7.6 FUNÇÃO G72 - ESCALA
Esta função através do fator de multiplicação que poderá ser de .05 a 20, reduz ou aumenta
os movimentos programados.
X- Fator de escala para o eixo X, o valor programado afeta a função I pelo mesmo valor.
Y- Fator de escala para o eixo Y, o valor programado afeta a função J pelo mesmo valor.
Z- Fator de escala para o eixo Z, o valor programado afeta a função K pelo mesmo valor.
EXEMPLO:
G72 X.5 Y.5 - determina fator de escala de 0,5 para o eixo X e 0,5 para o eixo Y
Y-20.
X-20.
Y20.
M2 - Fim de programa
Para remover o efeito da escala programa-se um bloco de dados somente com a função G72.
124 R73224
Se você tentar aplicar fator de escala numa interpolação circular no plano XY com valores
diferentes em X e Y uma mensagem de erro - “CHECAR BLOCO G02/G03”, será exibido
pelo comando.
Pode-se também aplicar um fator de escala sobre um fator já definido, resultando um novo
fator múltiplo do outro.
EXEMPLO:
G72 X.5 - define o fator de escala de 0,5 para movimentos do eixo X, porém
o fator resultante será 0,5 x 0,5 = 0,25.
Você faz isto, programando um valor no bloco G72 que multiplica a escala no sub-
programa ou sub-rotina para o valor original = 1 antes de retornar para o programa
principal. Você não deve cancelar a escala no sub-programa ou sub-rotina com um G72,
somente. Se no programa principal estiver usando escala.
.
.
.
.
.
.
R73224 125
; SUB-PROGRAMA - nome do sub-programa
.
.
.
M2 - Fim do programa.
Programa Principal P2
.
. N1 G1Z-5.F200.
. N5 G91
N20 GX70.Y50.Z5. N10 G1 X30.
N30 P2 N20 Y30.
N40 GX20.Y20. N30 X-30.
N50 G72 X.5 Y.5 N40 Y-30
N60 P2 N45 GZ0 M05
N70 G72 N50 M2
.
.
.
126 R73224
7.7 FUNÇÃO G79 - AUTO CICLO PROGRAMÁVEL
A função G79 especifica um sub-programa ou uma sub-rotina para funcionar como um auto
ciclo.
O ciclo será executado em resposta a um movimento rápido G00 ou um bloco com parâmetro
D.
A Função G75 permite você fresar uma cavidade convexa ou côncava produzida pela execução
de um perfil programado no plano XZ ao longo de um percurso em XY.
O perfil definido em XZ poderá ser escalado. Para mais ou menos, linearmente, ao longo da peça
para variar a profundidade e espessura da cavidade.
O comando executa esta sequência até o final do percurso (X,Y) ser encontrado.
R73224 127
P- Número do sub-programa que contém o perfil.
Se um sub-programa não for usado. Então uma sub-rotina deve ser especificada com H e ou
E.
PLANO DO PERFIL:
- Movimentos do Perfil
Você deve programar a compensação do raio da ferramenta (corretor) a ser usada no perfil
se for diferente do corretor usado no programa principal.
- Escala
O perfil pode incluir algum valor de Escala, programado com um bloco G72, no início do perfil.
Lembre-se que, se o perfil incluir movimetos de arco o valor da escala para ambos os eixos
deve ser o mesmo.
Note que a escala programada no G75 será multiplicado pelo valor de escala no perfil.
- Fim do Perfil
128 R73224
A Função G75 executa a seguinte sequência cada vez que o perfil é executado:
Exemplo :
- G75 P3 -
Estabelece uma sub-rotina que começa com o bloco N100 e termina com o
bloco imediatamente anterior ao bloco N200. Esta sub-rotina contém os
movimentos do perfil.
R73224 129
130 R73224
G99
G90
G17
G71
G00 X10.Y-50.T01 M06 ; Fresa D.6,5 corretor 6,5
O56 S1500 M08
M03
G72 X.38 Y.38 Z.38
X0 Y-55. Z5.
G75 H90 E100 D
Y20. D10
G02 X90. Y110. I90. J20. D10
G01 X140. D10
G02 X230. Y20. I140. J20. D10
G01 Y-55. D10
G80
H100
N90 G91
G18
G X-100.
G1 Z-28. F120
G42
X10. Z-5.
X10. Q5.
X10. Z-10. Q5.
X10.
G2 X15. Z15. I0. K15.
G3 X15. Z15. I15. K0. Q5.
G3 X60. Z0. I30. K-51.961 Q5.
G3 X15. Z-15. I0. K-15.
G2 X15. Z-15. I15. K0.
G1 X10. Q5.
X10. Z10. Q5.
X10.
G40
X10. Z5.
G Z28.
X-100.
G17
G90
N100 GZO M05
G72
G99
M2
R73224 131
7.9. 4º EIXO
132 R73224
EXEMPLO 1:
.
.
.
N10 G0 X20. W90.
N20 Z3.
N30 G1 Z-3. F200
N40 X60.
N50 X120. W180.
N60 G0 Z3.
.
.
.
R73224 133
EXEMPLO 2:
.
.
.
N10 G0 X20. W-180.
N20 Z3.
N30 G1 Z-3. F200
N40 G91 W
N50 X60. W450.
N60 G0 Z3.
N70 X120. W0.
N80 G1 Z-3. F200
N90 X80. W-450.
N100 G0 Z3.
.
.
.
134 R73224
7.10 PARAMACROS
A programação com linguagem PARAMACROS permite valores numéricos para quase todas as funções,
com excessão de N e G, em qualquer tipo de bloco, e de P, num bloco com G39 ou G79.
Qualquer outra função pode ser computada através do argumento de uma expressão aritmética, através do
uso do parênteses.
Por exemplo:
X (2.53*6.2) Note que não existe espaço em branco entre os caracteres.
A expressão aritmética pode ter qualquer tamanho, desde que caiba na página Prompt Editor. Da mesma
forma pode-se ter um bloco com quantas funções desejar. É permitido ainda escrever uma expressão com
alinhamento de parênteses.
Por exemplo:
L ((2.7+14.123)*17)
R73224 135
O Prompt Editor fornece um significativo auxílio na programação e checagem de sintaxe. A sintaxe é checada
a priori, assim que for pressionada a tecla EOB. A sintaxe é checada toda vez que o bloco é alterado, basta
pressionar ENTER. A assistência à programação inclui o balanceamento de parênteses, o qual só é suspenso
quando estiver sendo exibida a mensagem ERRO DE SINTAXE.
A checagem da sintaxe é feita varrendo o bloco do começo ao fim. Assim que for encontrado um erro, este
é exibido na linha de comentário, ao pé da tela, permanecendo o cursor sobre o caracter errado. Uma mensagem
de erro “ERRO DE SINTAXE” aparecerá então na parte de baixo da tela.
Após a correção do bloco basta pressionar ENTER para que o controle cheque novamente.
Durante a execução, todos os campos do bloco são computados antes de serem executados. Se um bloco
contém a função L (função de repetição), as demais funções não são recomputadas a cada repetição do bloco.
Da mesma forma, G39e G79 não têm seus valores computados enquanto todo o bloco tenha sido avaliado.
A precisão de uma expressão aritmética é de 7 dígitos, de 0.0000001 à 9999999.,todavia o resultado pode
ser truncado pelo formato da função, que usará esse resultado.
Com PARAMACROS é possível acessar as funções lógicas e aritméticas, as quais podem ser usadas numa
expressão. Estas funções sempre serão seguidas pela expressão entre parênteses.
Veja as funções na tabela A.
LN ( ) LOGARÍTIMO na base E
136 R73224
EXEMPLOS:
A (ATN(3.5/4.2))
a variável local “ A “ assumirá o valor 39.80557
W (SQR(3.532!2+2.785!2))-0.2714
a variável local “ W “ assumirá o valor 4.226516
FUNÇÕES LÓGICAS
EQ ( ) Igual a zero
NE ( ) Diferente de zero
As funções lógicas assumem 0 (zero) se o resultado for falso e assumem 1 (um) se o resultado for verdadeiro.
Esse valor pode então ser usado em cálculos aritméticos. O resultado da função lógica pode também resultar em
desvios condicionais, chamada de sub-rotina ou de sub-programa.
Exemplos:
A (EQ(27.01-22.2))
a variável “ A “ assumirá o valor 0, pois a função é falsa, já que 27.01-22.2 é diferente de zero.
A (EQ(22.3.19))
a variável “ A “ assumirá o valor 1, pois a função lógica é verdadeira, já que 22.3.19é exatamente zero.
7.10.4 VARIÁVEIS
As variáveis são letras com as quais o programador pode atribuir valores, utilizando-as para realizar cálculos
ou desvios no programa.
Na prgramação com PARAMACROS são disponíveis 4 tipos de variáveis para se trabalhar. As variáveis
são referenciadas por duas letras, das quais a primeira corresponde ao tipo e a segunda corresponde a variável
propriamente dita. As variáveis especificadas com uma única letra, são assumidas como tendo prefixo “ L “,
indicando tratar-se de variáveis locais. Portanto, “ F “ é o mesmo que “ LF “.
R73224 137
Os três tipos de variáveis a disposição são:
LOCAL: LA - LZ ou A - Z (exceto G, E, H, N e P)
GLOBAL: GA - GZ (exceto G, E, H, N e P)
Variáveis Locais: são variáveis que estão disponíveis somente no programa corrente ou sub-rotina. Pode-
se definir Variáveis Locais em até 6 níveis: o programa principal e os 5 níveis de sub-rotinas permitidos. Quando
um programa sai de determinado nível, as Variáveis Locais para esse nível são perdidas.
Variáveis Globais: são variáveis que estão disponíveis durante todo o programa e suas sub-rotinas e sub-
programas.
Variáveis do Sistema: são os parâmetros atuais do sistema, podendo ser usadas em computação. Elas não
podem ser usadas via programa.
Exceto para a segunda letra das variáveis do sistema, o fato de se usar maiúsulas ou minúsculas não tem
importância.
A precisão de todas as variáveis Local e Global são 7 dígitos, de 0.0000001 à 9999999. A precisão das
variáveis do Sistema depende do parâmetro específico a que ela se refere (por exemplo, o número de um programa
pode ir de 0 a 250, já a coordenada absoluta do eixo X pode ir de 0.000 à 9999.999).
A função G39 tem duas aplicações, definição de variável Local e programação de Sub-Rotinas e Sub-
Programas parametrizados.
Um bloco com função G39 que tenha chamada de sub-rotina ou sub-programa através das funções E, H estará
chamando uma sub-rotina ou sub-programa parametrizado. Todas as letras, exceto N, G, E, H, P podem
armazenar valores para as correspondentes variáveis local da sub-rotina ou sub-programa chamado.
Exemplo:
G39 P7 X2.75 Y(LOG(2.65/2))
Esse bloco chama o sub-programa número 7 e especifíca para o mesmo que as variáveis Local “ LX “ valerá
2.75 e “LY “ valerá 0.2116229 ( que corresponde ao logarítimo de (2.65/2) na base 10).
Assim dentro do sub-programa esses valores paramétricos poderão ser usados:
Por exemplo, um comando do tipo G01 X(LX), dentro do sub-programa, provocará um deslocamento no
eixo X até a coordenada 2.75, ou ainda, um comando do tipo G81Z(2.3+LY) provocará um ciclo fixo de furação
até a coordenada 2.511 na direção do eixo Z.
Da mesma forma, G39 H100 E200 L7 fará com que a execução salte para uma sub-rotina que começa no
bloco N100 e termina no bloco N200, na qual o valor 7, armazenado na variável “ L “, pode ser referenciado
usando a variável local “ LL “.
Um bloco G39 que não contenha uma chamada de sub-rotina ou sub-programa servirá para especificar
variáveis locais. Assim, todas as funções, exceto N, G, E, H, P podem armazenar valores para correspondente
variável local.
Exemplo:
G39 J27.5 U(4.5/2) B(ASN(0.5)+25)
138 R73224
Este bloco especifica que a variavel “ LJ “ vale 27.5, “ LU “ vale 2.25 e “ LB “ vale 55 (que é o arc-seno de
0.5 mais 25). Esses valores podem ser referenciados dentro do programa, sub-rotina ou sub-programa corrente,
usando variáveis locais.
Exemplo:
G01 X(LJ) Y(LB+5) será executado como G01 X27.5 Y11.
A função G79 tem duas finalidades, definir variáveis Global e Ciclos Fixos parametrizados.
Um G79 que contenha uma chamada de sub-rotina ou sub-progrma, usando E, H e/ou P, define um ciclo fixo
parametrizado. Todas as letras, exceto N, G, E, H e P, podem armazenar valores para as correspondentes
variáveis Global da sub-rotina ou sub-programa chamado.
Exemplo:
G39 P7 X2.27 Y(LOG(2.65)/2)
Este bloco especifica uma chamada ao sub-programa número 7, o qual funcionará como um ciclo fixo. A
variável local “ LX “, para esse sub-programa, valerá 2.27 e “ LY “ valerá 0.2116 (que é o logarítimo de (2.65/
2)). Dessa forma esses valores poderão ser usados dentro de sub-programa, por exemplo, um comando G01
X(LX) posicionará o eixo “ X “ na coordenada 2.27, ou ainda, um comando G81 Z(2.3+LY) executará um ciclo
de furação com “ Z “ igual a 2.511
Note que o G79 não é recomputado toda vez que o Ciclo Fixo é executado, apenas quando o G79 é executado
sozinho. O mesmo ocorre com outros Ciclos Fixos, tal como G81 Z(PZ).
Da mesma forma, G79 H100 E200 L7 ativará um ciclo fixo através de um salto para uma sub rotina que
começa em N100 e termina em N200, podendo-se fazer uso de uma variável Local, por exemplo “ LL “ para
referenciar o valor 7 programado junto a função, “ L “ (função de repetição).
O fato do G79 ativar um Ciclo Fixo traz o seguinte incoveniente, a cada movimento rápido no programa
principal, após um comando G79 com chamada de sub-rotina ou sub-programa, fará com que esta sub-rotina ou
sub-programa seja executada como se fosse um Ciclo Fixo (veja Manual Básico de Programação).
Um bloco G79 que não contenha uma chamada de sub-programa ou sub-rotina serve para definir variáveis
Global. Assim, todas as funções, exceto N, G, H, e P podem armazenar valores para correspondentes variáveis
global.
Exemplo:
G79 J27.5 U(4.5/2) B(ASN(0.5)+25.)
Este bloco atribui as variáveis Global, “ GJ “ o valor 27.5, “ GU “ o valor 22.5 e “GB” o valor 55. Estes valores
podem ser usados em qualquer lugar do programa ou de seus sub-programas, através das variáveis Global, por
exemplo: G01 R(GJ) A(GB/5) será executado como se fosse um bloco G01 R27.5 A11.
Com PARAMACROS é possivel programar desvios condicionais para uma sub-rotina ou sub-programa
com base no resultado de uma função lógica.
Se um código “ M “ precede uma expressão com uma função lógica, então o desvio é baseado no resultado
dessa função lógica. Se a função for verdadeira o desvio ou chamada ocorre, se ela é falsa, o controle processará
o próximo bloco da sequência.
R73224 139
Exemplo:
M (GE(GX)) H123
Este bloco especifica um desvio para o bloco N123 se a variável Global “GX” for maior ou igual a zero. Se
fosse um bloco tipo: M(+GE(GX)) H123, então a função lógica não seria executada, ou seja, independente do
valor de “ M “ ser 0 ou 1 o desvio para o bloco N123 seria executado
Da mesma forma: M(NE(LS-456.3)) P25, chamará o sub-programa número 25, se “LS” for diferente de
456.3.
Dentro da página Prompt Edit (tela para entrada de dados) todas as funções “ G “ apresentam os prompts
para a entrada de dados. Esses Prompts correspondem basicamente, a uma coluna de parâmetros correspondentes
com a função G específica e uma breve descrição do proprósito do parâmetro à esquerda da letra. O espaço
à direita é reservado para a entrada de dados.
Para Ciclos Fixos e sub-programas parametrizados os prompts são usados para entrar com os valores das
variáveis que forma definidos na primeira linha do sub-programa, após o nome.
Quando se programa um G39 OU G79, na página Parameters os seguintes Prompts:
SUBPROGRAMA____________P
SUB_INIC_NO______________H
SUB_FIM_NO______________E
Quando se entra com o número do programa, aparece o nome do mesmo à direita do Prompt
SUBPROGRAMA________P. Além disso as variáveis definidas na primeira linha do programa também
aparecerão nesta página com prompts para serem preenchidos.
O formato para definição de variáveis na primeira linha do programa é o seguinte:
IMPORTANTE:
Exemplo:
;AMOSTRA,X1.25DIST_HORIZ,Y=DIST_VERT,I_INC_HORIZ,V_INC_VERT;PASSO_R
O bloco acima está definindo que o nome do programa é AMOSTRA e tem os seguintes Prompts:
HORIZ_DIST___________X1.25
VERT_DIST____________Y
HORIZ_INC____________I
VERT_INC_____________V
140 R73224
O “espaço” pode corresponder a um caracter SPACE, se o parâmetro é opcional, ou pode corresponder a um
sinal de igual “=” no caso de o operador ter que entrar com o valor da variável.
Note que X e Y são parametros necessários, tendo X valor 1.25 já definido no programa. I e V são parâmetros
opcionais. AMOSTRA é o nome do programa. PASSO_R é um comentário.
Estes Prompts aparecerão quando o usuário entra com o número do programa no Prompt “P” da página
Prompt Editor através, de G39 e G79 chamando um programa. Se o usuário entra com um número de programa
que tenha menos que três dígitos, basta presssionar a tecla ENTER para forçar o aparecimento dos Prompts. Ao
entrar com o número de programa que ocupe três dígitos, por exemplo P003, os Prompts são automaticamente
exibidos após ter sido pressionado o terceiro dígito.
Note que o primeiro bloco do sub-programa sempre começa com um ponto e vírgula (;) seguido pelo nome
do sub-programa. Este pode ser seguido por uma vírgula (,) e uma ou mais variáveis, cada uma separada por
vírgula.
Cada variável deve começar com a letra que se deseja utilizar. Se a variável for opcional, o próximo caracter
deve ser um “space” ( _ ). Se a variável for necessária, e se deseja definir um valor para ela neste bloco, basta
digitar o valor a direita da letra (variável). Se a variável é necessária, porém não se deseja definir um valor para
ela neste bloco, basta digitar um sinal de igual ( = ) após a letra e a seguir, se for necessário, algum comentário
referente a variável. Apenas os 13 primeiros caracteres aparecerão na tela junto ao Prompt.
As variáveis servem como um auxílio à programação, devendo ser carregadas (preenchidas) antes de iniciar
a execução do programa, já que todas as variáveis definidas com G39 e G79 serão processadas, estejam seus
valores definidos ou não.
Da mesma forma um G39 pode ser usado para chamar um sub-programa parametrizado. Esse sub-programa
poderia ter um ou mais comandos que transforme as variáveis Local atribuidas a ele, em equivalentes variáveis
Global. Fazendo isso é possivel termos o Prompt para variáveis Global. Note que de início os Prompts para o
sub-programa se referem a variáveis Local, mas sua execução fará com que essas variáveis Local passem para
variáveis Global.
Exemplo:
Se um programa é selecionado para execução, através da página Operação Automática ou das páginas de
Teste Programa, e o mesmo tiver variáveis para serem carregadas, o controle necessitará que o operador entre
com os valores das variáveis. Isto é feito através da página PARAMETERS, que possui uma tela similar a do
Prompt Editor, na qual estará as variáveis definidas no primeiro bloco do programa selecionado.
Para carregar o valor das variáveis, o operador deve digitar seu valor e a seguir pressionar a tecla (CYCLE
START). Se o operador sai da página PARAMETERS sem pressionar (CYCLE START) os valores não são
carregados e a seguinte mensagem de erro é exibida: “PARÂMETROS NÃO CARREGADOS”. Isto só é
permitido para um programa principal parametrizado.
R73224 141
7.10.10 FUNÇÃO CALCULADORA
A função calculadora elimina a necessidade da calculadora de mão para o programador entrar com uma
expressão Prompt Editor. Ele pode instruir o controle para executar o cálculo da expressão durante a edição, e
trabalhar com o resultado da mesma ao invés de trabalhar com a expressão.
O programador precisa apenas introduzir a expressão da forma como ela foi planejada, posicionar o cursor
à direita do parênteses que fecha aquele nível da expressão, e a seguir pressionar a tecla “igual” ( = ).
O controle responderá com o resultado daquele nível entre parênteses.
Por exemplo:
142 R73224
Exemplo 1.:
-Elaborar um programa parametrizado interpolando um círculo de raio 50mm.
R73224 143
;CÍRCULO
G99
G90
G17
G71
G66
T01M6; ................................................................................ Fresa de Topo
O01S2000
M3
G39 R50; ............................................................................. Raio da Peça
G39 D10; ............................................................................. Diâmetro da Fresa
G39 D(LD/2); ...................................................................... Raio da Fresa
G39 R(LR+LD); .................................................................. Raio da Peça Compensado
G39 A0; ............................................................................... Ângulo Inicial
G39 B360; ........................................................................... Ângulo Final
G39 I1; ................................................................................. Incremento Angular
G X(LR) Y Z10.
G1 Z-3. F500
N10 G1 X(LR*(COS(LA))) Y(LR*(SIN(LA)))
G39 A(LA+LI)
M(LT(LB-LA))H20
H10
N20 G1 X(LR*(COS(LB))) Y(LR*(SIN(LB)))
GZOM5
M2
144 R73224
Exemplo 2.:
-Elaborar um programa parametrizado interpolando um raio inicial de 17mm até atingir um raio
de 30mm.
R73224 145
;CAME
G99
G90
G17
G71
G66
T01M6; ................................................................................ Fresa de Topo
O01S2000
M3
G39 R17; ............................................................................. Raio Inicial
G39 S30; .............................................................................. Raio Final
G39 D10; ............................................................................. Diâmetro da Fresa
G39 D(LD/2); ...................................................................... Raio da Fresa
G39 R(LR+LD); .................................................................. Raio Inicial Compensado
G39 S(LS+LD); ................................................................... Raio Final Compensado
G39 A(270-30); ................................................................... Ângulo Inicial
G39 B15; ............................................................................. Ângulo Final
G39 I1; ............................................................................... Incremento Ângular
G39 T(((LS-LR)/(LA-LB))*LI); ......................................... Incremento Radial
G X(LR*(COS(LA))) Y(LR*(SIN(LA)))Z10.
G1 Z-3.F500
N10 G1 X(LR*(COS(LA))) Y(LR*(SIN(LA)))
G39 A(LA-LI)
G39 R(LR+LT)
M(LT(LA-LB))H20
H10
N20 G1 X(LS*(COS(LB))) Y(LS*(SIN(LB)))
GZOM5
M2
146 R73224
Exemplo 3.:
-Elaborar um programa parametrizado interpolando um raio inicial de 50mm e a cada giro
completo de 360º decrementar 10% sobre o valor desse raio até um limite de 20mm simultâneamente iniciar
numa profundidade de 30mm e a cada giro completo decrementar o mesmo valor decrementado no raio.
R73224 147
;ESPIRAL DE_ARQUIMEDES
G99
G90
G17
G71
G66
T01M6 ............................................................. Fresa de Topo
O01S2000
M3
G39 R50; .......................................................... Raio da Peça
G39 D10; .......................................................... Diâmetro da Fresa
G39 D(LD/2); ................................................... Raio da Fresa
G39 R(LR+LD); ............................................... Raio Compensado
G39 A0; ............................................................ Ângulo Inicial
G39 B360; ........................................................ Ângulo Final
G39 I10; ............................................................ Incremento Angular
G39 J5; ............................................................. Decremento para 360 Graus
G39 S20; ........................................................... Raio Final
G39 S(LS+LD); ................................................ Raio Final Compensado
G39 F(LI*(LJ/LB)); .......................................... Decremento para1Grau
G39 T-30; ......................................................... Posição Inicial
G X(LR) YZ10.
G1 Z(LT) F500
N10 G1 X(LR*(COS(LA))) Y(LR*(SIN(LA)))Z(LT)
G39 R(LR-LF)
G39 A(LA+LI)
G39 T(LT+LF)
M(LT(LR-LS))H20
H10
N20 G1 X(LS*(COS(LB))) Y(LS*(SIN(LB)))Z(LT)
GZOM5
M2
148 R73224
Exemplo 4.:
-Elaborar um programa parametrizado interpolando uma calota de raio esférico de 25mm.
R73224 149
;CALOTA
G99
G90
G17
G71
G66
T01M6; ...................................................................... Fresa de Topo
O01S2000
M3
G39 R25; .................................................................... Raio da Calota (XY)
G39 D10; .................................................................... Diâmetro da Fresa
G39 S(LR); ................................................................. Raio da Calota (XZ)
G39 D(LD/2); ............................................................. Raio da Fresa
G39 R(LR+LD); ......................................................... Raio (XY) Compensado
G39 A0; ...................................................................... Ângulo Inicial
G39 B90; .................................................................... Ângulo Final
G39 I1; ........................................................................ Incremento Ângular
G X(LR) Y Z(LR+5)
G1 Z(LR) F500
N10 G1X(LR*(COS(LA))) Z(LS*(SIN(LA)))
G2 CIJ
G39 A(LA+LI)
G39 Z
M(LT(LB-LA))H20
H10
N20 G1 X(LR*(COS(LB))) Z(LS*(SIN(LB)))
G2 CIJ
GZOM5
M2
150 R73224
Exemplo 5.:
-Elaborar um programa parametrizado interpolando uma elipse cujos eixos medem: 60mm e
30mm.
R73224 151
;ELIPSE
G99
G90
G17
G71
G66
T01M6; ...................................................................... Fresa de Topo
O01S2000
M3
G39 R30; ................................................................... Raio Maior
G39 C15; ................................................................... Raio Menor
G39 D10; ................................................................... Diâmetro da Fresa
G39 D(LD/2); ............................................................ Raio da Fresa
G39 R(LR+LD); ........................................................ Raio Maior Compensado
G39 C(LC+LD); ........................................................ Raio Menor Compensado
G39 A0; ..................................................................... Ângulo Inicial
G39 B360; ................................................................. Ângulo Final
G39 I1; ....................................................................... Incremento Ângular
G X(LR) Y Z10.
G1 Z-3. F500
N10 G1 X(LR*(COS(LA))) Y(LC*(SIN(LA)))
G39 A(LA+LI)
M(LT(LB-LA))H20
H10
N20 G1 X(LR*(COS(LB))) Y(LC*(SIN(LB)))
GZOM5
M2
152 R73224
Exemplo 6.:
-Elaborar um programa parametrizado para fresar ranhuras num perfil circular.
R73224 153
;QUADRICULADO_1
G99
G90
G17
G71
G66
T01M6; ........................................................................... Fresa Ø 4mm
O01S2000
M3
G39 R50; ........................................................................ Raio do Círculo
G39 I8; ............................................................................ Incremento Lateral (XY)
G39 A(LR); ..................................................................... Posição Inicial
G39 Z2; ........................................................................... Profundidade do Rasgo
G39 B0; .......................................................................... Ângulo de Rotação
G74IJC(LB)
N10 G0 X(LA) Y(SQR((LR!2)-(LA!2))) Z5.
G1 Z(-(LZ))F500
G1 Y(-(SQR((LR!2)-(LA!2))))
GZ5.
G39 A(LA-LI)
M(LT(LA+LR))H20
H10
N20 G1 Z(-(LZ))
GZ5.
G39A(LR);
N30 G0 X(SQR((LR!2)-(LA!2))) Y(LA)Z5.
G1 Z(-(LZ))F500
X(-(SQR((LR!2)-(LA!2))))
G Z5.
G39 A(LA-LI)
M(LT(LA+LR))H40
H30
N40G1 Z(-(LZ))F500
G2 IJ
G74
GZOM5
M2
154 R73224
Exemplo 8.:
-Elaborar um programa parametrizado para usinar um plano inclinado.
R73224 155
;RAMPA
G99
G90
G17
G71
G66
T01M6; ...................................................................... Fresa de Topo
O01S2000
M3
G39 A30; ................................................................... Ângulo
G39 B100; ................................................................. Comprimento
G39 C(LB*(TAN(LA))); ........................................... Altura
G39 D50; ................................................................... Largura
G39 I1; ....................................................................... Incremento Lateral
GXYZ
N10 G1 Y(LD) F500
x(-(LI)) z(-(LI*(TAN(LA))))
Y
x(-(LI)) z(-(LI*(TAN(LA))))
N20 H10 E20 L(((LB/2)/LI)-1)
X(-(LB))
Y(LD)
GZOM5
M2
156 R73224
Exemplo 9.:
-Elaborar um programa parametrizado para usinar uma cavidade, sendo o raio inicial de 40mm
e raio final de 20mm.
R73224 157
;CAVIDADE_RAMPA
G99
G90
G18
G71
G66
T01M6; .................................................................................... Fresa de Raio Esférico (Ballnose)
O01S2000
M3
G39 R40; ................................................................................. Raio Maior
G39 S20; .................................................................................. Raio Menor
G39 D10; ................................................................................. Diâmetro da Fresa
G39 D(LD/2); .......................................................................... Raio da Fresa
G39 R(LR-LD); ....................................................................... Raio Maior Compensado
G39 S(LS-LD); ........................................................................ Raio Menor Compensado
G39 C100; ............................................................................... Comprimento da Inclinação
G39 I1; ..................................................................................... Incremento Lateral (Y)
G39 A(ATN((LR-LS)/LC)); .................................................... Ângulo da Cavidade
G39 B(LI*(TAN(LA))); .......................................................... Incremento Lateral (X)
G39 Y0; ................................................................................... Posição Inicial
N10 G X(LR) Y(LY) Z(LD+2)
G1 Z0 F500
G3 X(-(LR)) Z I K
G Z(LD+2)
G39 Y(LY-LI)
G39 R(LR-LB)
M(LT(LR-LS))H20
H10
N20 G X(LS) Y(LY)
G1 Z0 F500
G3 X(-(LS)) Z I K
G Z10.
GZOM5
M2
158 R73224
7.11 OPERAÇÕES INICIAIS PARA PROGRAMAÇÃO
Definir as fases de usinagem de cada peça a ser executada, estabelecendo assim o que
fazer e quando fazer.
R73224 159
7.12 ESTRUTURA DO PROGRAMA
N230
N240 M09 (desliga o refrigerante de corte)
N250 GZ___O M5 (ponto de troca, cancela e desliga o eixo árvore)
N260 T___M6 (troca a ferramenta)
N270 O___S____M8 (ativa novo corretor, nova rotação e o refrigerante de corte)
N280 M3 (liga o eixo árvore no sentido horário)
N290
N920
N930 M9 (desliga o refrigerante de corte)
N940 GZ___O M5 (ponto de troca, cancela e desliga o eixo árvore)
N950 M30 (finaliza o programa)
160 R73224
7.13. CÓDIGOS DE PROGRAMAÇÃO
T Chama a ferramenta
S Determina a rotação da árvore
O Determina o corretor de ferramentas
POSICIONAMENRO POLAR
R raio C ângulo I centro”X” J centro”Y”
ARCO POLAR
C ângulo final I centro”X” J centro”Y”
R73224 161
G85 Z prof. furo R plano rápido F avanço
V avanço de saída - se não programado assume F
162 R73224