Buscar

APOSTILA PARAMETRIZADA CNC SIEMENS 840D FANUC 21M MITSUBISHI MELDAS

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 79 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 79 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 79 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

APOSTILA DE PROGRAMAÇÃO 
PARAMETRIZADA 
CNC SIEMENS 840D 
FANUC 21M 
MITSUBISHI MELDAS 
PARA CENTRO DE USINAGEM 
E FRESADORA CNC 
 
 
 
ELABORADO POR ALAN NICOLIA 
www.fresadorcnc.com.br 
fresadorcnc@fresadorcnc.com.br 
 
 
ÍNDICE 
 
 
Algoritmo 
Programação Parametrizada 
1º Parte : Siemens 
Parâmetros “R” 
2º Parte:Fanuc 
Parâmetros “#” 
Operadores e Funções Aritméticas 
Operadores de Comparação e Lógicos 
 
 
Função G65 
Exemplos de programação parametrizada 
3º Parte:Mitsubishi 
Parâmetros “#” 
Operadores e Funções Aritméticas 
Exemplos de programação parametrizada 
Trigonometria e parâmetros de corte 
 
IMPORTANTE: Esta linguagem de programação é válida para centros de usinagem e 
fresadoras cnc equipadas com comando Siemens 840 D Fanuc 21M Mitsubishi meldas 
 
Este manual tem por objetivo abordar o uso de alguns recursos especiais disponíveis no cnc 
840D Siemens e Fanuc 21M e Mitsubishi meldas 
 
APRESENTAÇÃO: 
 
 
Programação Paramétrica é um recurso de linguagem de programação que oferece ao 
programador maiores facilidades na geração de seus programas,também conhecida como 
Programação de Alto Nível ou Paramacro. Através dela é possível: 
 
 Trabalhar com variáveis computáveis; 
 Usar funções computáveis em qualquer tipo de bloco; 
 Ter acesso a certos parâmetros modais do sistema para computação; 
 Utilizar operadores e expressões aritméticas para computação; 
 Efetuar desvios adicionais,chamadas de sub-rotinas e subprogramas dependendo do 
resultado de uma função lógica; 
 Programar sub-rotinas e subprogramas parametrizados; 
 Programação de Ciclos Fixos parametrizados; 
 Cálculos utilizando funções lógicas e aritméticas. 
 
 
 
 
 
 
 
 
 
 
 
 
ALGORITMO 
Um Algoritmo é uma seqüência de instruções ordenadas de forma lógica para a resolução 
de uma determinada tarefa ou problema. 
 
ALGORITMO NÃO COMPUTACIONAL 
Abaixo é apresentado um Algoritmo não computacional cujo objetivo é usar um telefone 
público. 
Início 
1. Tirar o fone do gancho; 
2. Ouvir o sinal de linha; 
3. Introduzir o cartão; 
4. Teclar o número desejado; 
5. Se der o sinal de chamar 
5.1 Conversar; 
5.2 Desligar; 
5.3 Retirar o cartão; 
6. Senão 
6.1 Repetir; 
Fim. 
 
 
 
DESVIO 
 
 
 
 
 
 
 
 
Programação Parametrizada 
 
Talvez este seja o segredo mais bem guardado sobre conceitos CNC. 
Há poucas pessoas envolvidas com CNC que conhecem programação paramétrica e estas 
pessoas evitam comentar o uso deste tipo de programas. Dado aos ganhos que este tipo de 
programas trazem e os benefícios que os "experts" possuem em conhecer os conceitos 
aplicados em programas parametrizados, é surpreendente que os grandes usuários deste 
conceito se restrinjam aos construtores de máquinas de usinagem, e fabricantes de 
controles, pois é quase nulo a informação que se obtém sobre isto nos meios acadêmicos a 
não ser grupos de estudos muito isolados, as escolas técnicas não dizem mais sobre isto. 
No Brasil sem exagero pode se contar nos dedos das mãos as pessoas que conhecem e usam 
este tipo de programação. 
Nesta discussão curta, explicaremos programação paramétrica e mostraremos suas 
aplicações principais. 
 
O que é? 
Programação paramétrica pode ser comparada a qualquer linguagem de programação como 
as linguagens BASIC, linguagem C ou PASCAL. 
Porém, esta linguagem de programação reside direito no controle do CNC e pode ser 
acessado ao nível do código G, podemos dizer que podem combinar técnicas de 
programação manuais com técnicas de programação paramétricas. 
Características relacionadas aos computadores como as variáveis, aritmética, declarações 
de lógica, e os loopings estão disponíveis nesta linguagem. 
Como todas linguagens de programação a programação paramétrica possui várias versões. 
A mais popular é Custom Macro B (usado pela Fanuc e controles Fanuc compatíveis). 
Outros incluem User Task (Okuma), Q Routine (Sodick), e linguagem de programação 
Avançada [APL] (G & L). 
Além de ter muitas rotinas relacionadas ao computador, a maioria das versões de 
programação paramétrica tem rotinas relacionadas ao CNC com relativa profundidade. 
Por exemplo, macros que permitem ao usuário de CNC ter acesso a muitas propriedades do 
controle CNC (ferramenta de compensação, posicionamento dos de eixo, alarmes, geração 
e edição de código G codifica, e proteção de programa) que permite a edição interna do 
programa CNC. 
Estas coisas são impossíveis só com a utilização do código G normal, ou seja, com os 
programas CNC normais. 
 
Aplicações: 
Muitas companhias têm aplicações excelentes para macros de usuários e provavelmente 
não os conheça. 
 
 
Claro que, se você sabe utilizá-los pode ser que às vezes não imagine as muitas aplicações 
possíveis para estes macros ou então os sub-utilize. 
Estes macros podem ser divididos em cinco categorias básicas. 
Alguns destes podem te soar familiar, vejamos. 
 
· Famílias de peças. 
Quase todas companhias têm pelo menos algumas aplicações que se ajustem à categoria de 
macro de usuários. 
Possivelmente você tenha peças semelhantes, porém, com dimensões variáveis, deste modo 
o programador deverá referenciar em um quadro no desenho as cotas variáveis e propô-las 
em um programa parametrizado, que será acionado conforme as solicitações das peças a 
serem produzidas. 
Se você fizer isto, você tem uma aplicação perfeita para macro de usuário. 
· Inventando Ciclos fixos (inclusive referenciando um código G) 
 
Até mesmo se você não tiver uma família perfeita de aplicação de peças para macro de 
usuário, seguramente você tem algumas peças que requeiram operações de usinagem 
semelhantes pelo menos. Ou talvez você deseje que seu controle CNC tivesse mais (ou 
melhores) ciclos fixos. 
Com macros de usuários, você pode desenvolver rotinas de propósito gerais para operações 
como usinagem em linha, padrões de furos de roscas específicas, entalhes ou algum tipo de 
usinagem em “pocket”. 
 Em essência, você pode desenvolver seus próprios ciclos fixos. 
· Movimentos complexos 
Pode haver vezes que seu controle CNC seja incapaz de gerar um movimento necessário 
com facilidade. 
Executar uma usinagem em linha de precisão, por exemplo, seu controle tem que ter a 
habilidade para formar um movimento espiralado em XY enquanto formando um 
movimento linear em Z (movimento helicoidal não bastará neste caso). 
Infelizmente, a maioria dos controles de CNC não possui interpolação em espiral. 
Mas, acredite, com macro de usuário você pode gerar este movimento desejado. 
Em essência, macro de usuário o permite criar suas próprias formas de interpolação. 
 
· Dispositivos guias opcionais. 
 Probe (dispositivo destinado a medir posicionamentos relativos ou absolutos: sonda), pós-
processo que medem sistemas exatos, e muitos outros dispositivos sofisticados requerem 
um nível mais alto de programar que podem não ser encontrados na codificação G 
“Standard”. 
Macro de usuário é a linguagem de programação paramétrica mais popular dirigida a estes 
dispositivos. 
 
 
Na realidade, se você possui um acesso a “probe” ou mais em suas máquinas, talvez você 
tenha provavelmente em macro de usuário. 
· Utilidades 
 
Há um mundo de coisas que você pode fazer com macro de usuário que você consideraria 
nunca poder fazer sem este tipo de linguagem. 
Macro de usuário pode ajudar reduzir a cronometragem da organização, tempo dos ciclos, 
tempo de transferênciade programa, e em geral, facilitar o uso de seu equipamento. 
Alguns exemplos de aplicações que se ajustam a esta categoria incluem contadoras de 
peças, gerenciamento de vida de ferramenta, mordentes automáticos inclusos as máquinas, 
usando as saídas padrões dos próprios controles. 
 
 
Exemplo: 
 
Para melhorar a explanação do que podemos fazer com programação paramétrica, nós 
mostramos um exemplo simples escrito em "Custom macro B" para uma aplicação de 
centro de usinagem comando Fanuc 21M. 
Para usinar um furo de qualquer dimensão em qual quer local. 
Note como semelhante este programa é a um programa escrito linguagem BASIC. 
 
 
 
Programa 
O0001 (número de Programa) 
#100=1. (diâmetro final do furo) 
#101=3.0 (X posicionam do furo) 
#102=1.5 (Y posicionam do furo) 
#103 = .5 (profundidade do furo) 
#104=400 (velocidade em RPM) 
#105=3.5 (avanço em IPM) 
#106=3. (número de compensação do comprimento da ferramenta) 
#107=2.0 (diâmetro do furo) 
G90 G54 S#104 M03 (seleção do modo absoluto, coordenada de sistema, rotação inicial) 
G00 X#101 Y#102 (posição corrente X e Y do centro do furo) 
G43 H#106 Z.1 (aciona a compensação de comprimento da ferramenta, para chegar ao Z 
corrente) 
G01 Z-#103 F[#105 / 2] 
Y[#102 + #107 / 2 - #100 / 2] F#105 
G02 J-[#107 / 2 - #100 / 2] 
G01 Y#102 
G00 Z.1 
M30 
 
 
 
 
 
 
1ª PARTE: 
CNC SIEMENS 840D 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1 PARÂMETROS “R” 
 
 
1.1 EXPLANAÇÃO 
 
Parâmetros de cálculo “R”(Siemens) são registros fixos de R0 a R99 (Siemens) disponíveis 
para substituição de valores e usados nas representações das variáveis. 
 
1.2 APLICAÇÃO 
 
Desenvolvimento de programas de família de peças onde tem-se a mesma geometria, 
porém com dimensões variáveis. 
Desenvolvimento de perfis bidimensionais e tridimensionais gerados ponto a ponto, onde 
as coordenadas são calculadas, através de algorítimos contidos dentro do programa com 
desvios condicionais, etc. 
 
1.3 ATRIBUIÇÃO DE VALORES 
 
Aos parâmetros “R” podem ser atribuídos valores diretos ou indiretos, cujo resultado 
deverá estar contido na seguinte gama de valores: 
 
 + ou – (0.0000001 – 9999.9999) 
 
No caso de valores inteiros, o ponto decimal poderá ser omitido, também o mesmo com o 
sinal de positivo. 
 
Exemplo: R0=3.5678 R1=-36.4 R4=-6765.1234 
 
 
 
 
1.4 ATRIBUIÇÃO DOS PARÂMETROS DENTRO DO PROGRAMA: 
Os parâmetros de cálculo ou expressões matemáticas poderão substituir valores em todos 
endereços do programa, 
exceto N, G, e L, para isso, escreve-se após o caracter de endereço o caracter “ = “ e a 
identificação do parâmetro, seguido ou não de uma expressão matemática. 
 
Exemplo: N10 R5=24 R10=250 
 N20 G1 X=R5 F=R10 
 
No exemplo acima temos a atribuição do valor 24 ao parâmetro R5 e o valor 250 ao 
parâmetro R10, na linha seguinte, teremos um deslocamento linear do eixo X para a 
coordenada de 24mm atribuída no parâmetro R5, com uma velocidade de avanço F250 
mm/min, atribuída no parâmetro R10. 
 
 
 
OPERAÇÕES E FUNÇÕES ARITIMÉTICAS: 
 
Ao aplicar um cálculo, é necessário observar a notação matemática usual, isto é a 
multiplicação e divisão, tem prioridade sobre a adição e subtração. 
Para definir uma prioridade, no cálculo, usa-se () “parênteses”. 
Em casos onde tem-se a necessidade de aplicar valores em graus, usa-se graus decimais ou 
milesimais no cálculo. 
 
Exemplos: 
 
 N60 R1=8 R20=SIN(30.345) R9=R7*R8 R12=R10/R11 
 N70 R13=R1*R20-R9 
 N80 R15=SQRT(R13+R9*R1) 
 
 
 2 OPERADORES E FUNÇÕES ARITIMÉTICAS 
 
 2.1 Principais operadores e funções aritiméticas 
 
Os parâmetros de cálculo “R” , conforme visto no capítulo anterior, podem ser submetidos 
a diversos tipos de cálculos. 
Os principais operadores são: 
 
SÍMBOLO DESCRIÇÃO 
+ ADIÇÃO 
- SUBTRAÇÃO 
* MULTIPLICAÇÃO 
/ DIVISÃO 
SIN( ) SENO 
COS( ) COSSENO 
TAN( ) TANGENTE 
SQRT( ) RAIZ QUADRADA 
ABS( ) NÚMERO ABSOLUTO 
POT( ) ELEVADO AO QUADRADO 
ROUND( ) ARREDONDAR PARA INTEIRO 
= INSERIR VALOR 
( ) PRIORIDADE NO CÁLCULO OU 
IDENTIFICAÇÃO 
 
 
 
 
 
 
 
 
Exemplos: 
R1=R1+2 Resultado: valor contido em R1+2. 
R3=SIN(30) Resultado: valor do seno de 30° 
R5=(R1+R20)/R3 Resultado: valor da equação 
 
OPERADORES DE COMPARAÇÃO E LÓGICOS 
 
Operadores de comparação: 
 
Os operadores de comparação podem ser utilizados para formular uma condição de desvio. 
Expressões complexas podem também ser comparadas. São eles: 
 
SÍMBOLO DESCRIÇÃO SIGNIFICADO 
== Equal to Igual a 
<> Not equal to Diferente 
> Greater than Maior que 
< Less than Menor que 
>= Greater than or equal to Maior ou igual a 
< = Less than or equal to Menor ou igual a 
 
 
 
 
 
Operadores lógicos: 
 
Operadores lógicos são usados para checar a condição de verdadeiro ou falso numa 
comparação entre 2 valores efetuando um desvio condicional. 
 
Sintaxe: IF (comparação) GOTO? (label destino) 
 
NOTA: “ ? “ O desvio pode ser um bloco (label) qua está para frente ou para trás do bloco 
condicional. 
Se estiver para frente usa-se GOTOF e se estiver para trás GOTOB. 
LABEL DESTINO é a identificação do bloco para o qual a execução deverá ser desviada 
caso o resultado da comparação seja verdadeira. 
Caso o resultado da comparação não seja verdadeiro, não haverá desvio, logo o programa 
segue no bloco seguinte. 
 
 
 
 
 
 
 
 
Exemplo: 
 
IF R10>=R11 GOTOB INICIO 
 
Se R10 for maior ou igual a R11 a execução do programa será deviada para o bloco (label) 
nomeado INICIO, que está programado para trás da comparação 
 
IF R20 ==(SIN(R31)) GOTOF POSICAO 
 
Se R20 for igual ao seno de R31, o programa é desviado para o label nomeado como 
POSICAO que está programado a frente da comparação. 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
EXEMPLOS DE PROGRAMAS PARAMETRIZADOS: 
 
 Elaborar um programa parametrizado para uma família de peças, conforme o perfil 
abaixo: 
 
 
 
G17 G64 G17 G71 G90 G94 
T2; SUPORTE COM INSERTOS Ø10 
M6 
G54 D1 S2000 M3 CFTCP 
R1=200 ; COMPRIMENTO TOTAL DA PEÇA 
R2=70; COMPRIMENTO DO CHAN FRO 1 
R3=10; CHANFRO 45° 
R4=150; LARG. TOTAL DA PEÇA 
R5=20; LARG. TOTAL DO CHANFRO 1 
R6=50; RAIO DA PEÇA 
R7=10; Ø DA FERRAMENTA 
R8=3; DIST. DE SEGURANÇA 
R9=1500; AVANÇO DE USINAGEM F1500 
R7=R7/2; RAIO DA FERRAMENTA 
G0 X=-(R7+R8) Y=-(R7+R8) 
Z5 
 
 
Z-5 
G42 G1 X0 Y0 F=R9 
X=R1-R6 
G3 X=R1 Y=R6 CR=R6 
G1 Y=R4-R3 
X=R1-R3 Y=R4 
X=R2 
X0 Y=R4-R5 
Y0 
G40 X=-(R7+R8) Y=-(R7+R8) 
G0 Z200 
M30 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Elaborar um programa parametrizado para uma família de peças, conforme o perfil abaixo: 
 
 
 
 
 
 Neste exemplo aplicaremos uma função condicional para usinagem em modo de 
subrotina, onde haverá um determinado incremento no eixo z até atingir a profundidade 
total da peça. 
 
 
G90 G94 G17 G71 G64T3; FRESA DE TOPO Ø12 
M6 
G54 D1 S3000 M3 CFTCP 
R1=60; COMPRIMENTO 1 
R2=100; COMPRIMENTO TOTAL DA PEÇA 
R3=30; LARGURA 1 
R4=60; LARGURA TOTAL DA PEÇA 
R5=5; LARGURA DO CHANFRO 45° 
R6=25; RAIO 1 
R7=7; RAIO2 
R8=20; RAIO3 
R9=12; Ø DA FERRAMENTA 
 
 
R10=2000; AVANÇO DE USINAGEM F2000 
R11=0; Z INICIAL 
R12=-20; Z FINAL 
R13=2; INCREMENTO DE CORTE EM Z 
R14=5 DIST. DE SEGURANÇA EM X E Y 
R15=5 DIST. DE SEGURANÇA EM Z 
R9=R9/2; RAIO DA FERRRAMENTA 
R16=R11+R15; POSIÇÃO SEGURA DE Z 
R20=R11-R13; PRIMEIRO INCREMENTO EM Z 
G0 X=-(R9+R14) Y=-(R9+R14) 
Z=R11 
AAA: G0 Z=R20 
BBB: G42 G1 X0 Y0 F=R10 
X=R1 RND=R8 
X=R2 Y=R3 
Y=R4 CHF=R5 
X=R6 
G2 X0 Y=R4-R6 CR=R6 RND=R7 
G1 Y0 
CCC: G40 X=-(R9+R14) Y=-(R9+R14) 
R20=R20-R13 
IF R20>R12 GOTOB AAA 
G0 Z=R12 
REPEAT BBB CCC 
G0 Z=R16 
G0 Z200 
M30 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
PROGRAMAS PARAMÉTRICOS ENVOLVENDO TRIGONOMETRIA BÁSICA 
 
 Muitos softwares executam cálculos necessários, a geometria de um determinado perfil 
ou superfície, mesmo assim, o programador deve estar preparado para a programação 
correta dos contornos que envolvem toda a geometria de uma determinada peça. 
 Isto pode ser melhorado se houver um amplo esclarecimento dos projetistas, para que o 
sistema de cotas de um desenho esteja de acordo com as necessidades do programa cnc, 
partindo todas as cotas de um ponto de referência. 
 Manualmente, todos os cálculos tornam-se fáceis a medida que desmembra-se segmentos 
e triângulos retângulos efetuando-se esses cálculos por teorema de Pitágoras e funções de 
ângulos como, seno cosseno e tangente. 
 A função desse treinamento não é definir funções matemáticas, maiores esclarecimentos 
deverão ser pesquisados em livros de matemática especializados no assunto. 
 
 
 Exemplo de um programa parametrizado para fazer um sextavado inscrito numa 
determinada circunferência: 
 
G90 G94 G17 G71 G64 
T2; SUPORTE Ø50 
M6 
G54 D1 S2000 M3 
R1=35; RAIO DO CIRCULO 
R2=50; DIAM. DA FERRAMENTA 
R3=0; ÂNGULO INICIAL 
R4=3; DIST. DE SEGURANÇA 
R6=0; CONTADOR DO NÚMERO DE LADOS 
R2=R2/2; RAIO DA FERRAMENTA 
 
 
R1=R1+R2; DEFINIÇÃO RAIO DO CÍRCULO 
R10=R3; ÂNGULO FINAL 
G0 X=((R1+R4)*COS(R3)) Y=((R1+R4)*SIN(R3)) 
Z2 
G1 Z-5 F1500 
INICIO: G1 X=(R1*COS(R3)) Y=(R1*SIN(R3)) 
R3=R3+60 
R6=R6+1 
IF R6<=6 GOTOB INICIO 
G1 X=((R1+R4)*COS(R10)) Y=((R1+R4)*SIN(R10)) 
G0 Z100 
M30 
 
 Explanação: 
 
 
Em todo percurso o raio de usinagem deverá sempre ser o raio da peça somado ao raio da 
ferramenta, assim para o cálculo trigonométrico, é usado também como hipotenusa 
o raio da peça somado ao raio da ferramenta. 
Para o posicionamento angular considera-se ângulo positivo no sentido horário, e negativo 
no sentido antihorário 
 
 
 
 
 Na ilustração acima temos a visualização de como são encontrados os valores de X e Y, 
através de relações trigonométricas. 
 Substituindo para formula temos: 
 
 DADOS: α=60° 
 
 Para calculo de Y temos: Para calculo de X temos: 
 
 CATETO OPOSTO CATETO ADJACENTE 
SINα= ______________ COSα= _________________ 
 
 HIPOTENUSA HIPOTENUSA 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Elaborar um programa parametrizado para execultar arcos com incrementos angulares de 
0.001 a 360 graus usando a função G1. 
 
G90 G94 G17 G71 G64 
T2 
M6 
G54 D1 S2000 M3 CFTCP 
R1=30; RAIO DO ARCO 
R2=50; DIAM. DA FERRAMENTA 
R3=0; ÂNGULO INICIAL 
R4=360; ÂNGULO FINAL 
R5=0.5 INCREMENTO ÂNGULAR 
R6=R2/2 RAIO DA FERRAMENTA 
R7=5; DIST. DE SEGURANÇA 
R1=R1+R6; DEF. RAIO DO ARCO + RAIO FERR. 
G0 Y=((R1+R7)*COS(R3)) X=((R1+R7)*SIN(R3)) 
Z2 
G1 Z-5 F3000 
INICIO: G1 Y=(R1*COS(R3)) X=(R1*SIN(R3)) F1500 
R3=R3+R5 
IF R4>R3 GOTOB INICIO 
G1 Y=(R1*COS(R4)) X=(R1*SIN(R4)) 
Y=((R1+R7)*COS(R4)) X=((R1+R7)*SIN(R4)) 
G0 Z100 
M30 
 
 
 
 
 
 
 
 
 
 
Elaborar um programa parametrizado para usinagem de uma elipse real de 360°: 
 
G90 G94 G17 G71 G64 
T1 
M6 
G54 D1 S3000 M3 CFTCP 
R1=80; COMPRIMENTO MAIOR 
R2=50; COMPRIMENTO MENOR 
R20=50; DIAM. DA FERRAMENTA 
R1=((R1+R20)/2) R2=((R2+R20)/2); RAIO PARA X E Y 
R3=0; ÂNGULO INICIAL 
R4=360; ÂNGULO FINAL 
R5=1; INCREMENTO ANGULAR 
R7=3; DIST. SEGURANÇA 
G0 X=((R1+R7)*COS(R3)) Y=((R2+R7)*SIN(R3)) Z5 
G1 Z-5 F2000 
INICIO: G1 X=(R1*COS(R3)) Y=(R2*SIN(R3)) 
R3=R3+R5 
IF R4>R3 GOTOB INICIO 
G1 X=(R1*COS(R4)) Y=(R2*SIN(R4)) 
X=((R1+R7)*COS(R4)) Y=((R2+R7)*SIN(R4)) 
G0 Z100 
M30 
 
 
 
 
 
 
 
 
 
 
 
Elaborar um programa parametrizado para usinagem de uma semi-esfera de 180°: 
 
 
; ZERAMENTO NO CENTRO DA ESFERA EM X Y Z 
G90 G94 G17 G71 
T2; SUPORTE DIA. 40 
M6 
G54 D1 S3000 M3 G0 X100 Y0 Z200 G64 CFTCP 
R1=35; RAIO DA ESFERA; 
R2=20; RAIO DA FERRAMENTA 
R3=90; ANGULO INICIAL EM Z 
R4=0; ANGULO FINAL EM Z 
R8=2; INC. ANGULAR EM Z 
INICIO: G1 X=((COS(R3)*R1)+R2) Y0 Z=(SIN(R3)*R1) F3000 
G2 I=AC(0) J=AC(0) 
G1 X75 Y0 
R3=R3-R8 
IF R3 > = R4 GOTOB INICIO 
G1 X=((COS(R4)*R1)+R2) Y0 Z=(SIN(R4)*R1) F3000 
G2 I=AC(0) J=AC(0) 
G0 Z200 
M30 
 
 
 
 
 
 
 
 
Elaborar um programa parametrizado para usinar um plano inclinado em um determinado 
ângulo e distância inicial: 
 
 
 
; ZERAMENTO NO CANTO INFERIOR ESQUERDO E FACE SUPERIOR 
; A RAMPA SERA USINADA NOS SENTIDOS DE Y 
; A RAMPA INICIA A 20MM EM X 
G90 G94 G17 G71 
T2; SUPORTE DIAM. 40 
M6 
G54 D1 S3000 M3 G0 X45 Y-30 Z20 
R1=20; RAIO DA FERRAMENTA 
R2=15; ANGULO DA RAMPA RELACIONADO A FACE 
R3=10; ALTURA DA RAMPA 
R5=0.5; INCR. EM X 
R6=20; INICIO DA RAMPA EM X 
R7=R6+R1; DEFINIR INICIO EM X 
INICIO: R8=(TAN(R2)*R5); Z DE CORTE 
G1 X=R7+R5 Z=-R8 F3000 
Y75 
R5=R5+0.5 
R8=(TAN(R2)*R5); NOVO Z DE CORTE 
G1 X=R7+R5 Z=-R8 
Y-30 
R5=R5+0.5 
IF R3 > R8 GOTOB INICIO 
 
 
G1 X=((R3/TAN(R2))+R7) Z=-R3 
Y75 
G0 Z100 
M30 
 
 
 
 
Elaborar programa parametrizado para usinagem de um cone externo com qualquer altura, 
raio ou ângulo. 
 
 
 
 
 
 
 
 
Será executado um cone com diâmetro menor de 0 mm e diâmetro maior de 80 mm com 40 
mm de altura e consequentemente um ângulo de 45°. 
Inicialmente será usinado um cilindro com diâmetro de 80mm x 40 mm de altura, em modo 
de subrotina. 
 
 
 
 
 
 
 
G90 G94 G17 G71 G64 
T2; SUPORTE DIA. 40 
M6 
G54 D1 S6000 M3 G0 X100 Y0 Z10 
Z0 
INI:G91 G1 Z-2 F5000 
G90 G41 G1 X40.5 Y0 
G2 X40.5 I-40.5 J0 
FIM: G40 G1 X100 
REPEAT INI FIM P19 
G0 X100 Y0 Z10; INICIAR CONE 
R1=0; RAIO MENOR 
R2=40; RAIO MAIOR 
R3=20; RAIO DA FERR. 
R4=40; ALTURA TOTAL Z 
R5=45; ANGULO DA PAREDE 
R6=0; Z INICIAL 
R7=0.5; INCR. Z 
R1=R1+R3; RAIO DE PERCURSO X Y 
AA: G1 Z=-R6 F5000 
X=R1 
G2 X=R1 Y0 I=-(R1) J0 
G1 X100 
R6=R6+R7 
R8=(R7/TAN(R5))R1=R1+R8 
IF R6 < R4 GOTOB AA 
G1 Z=-R4 F5000 
R2=R2+R3; RAIO DE PERCURSO MAIOR 
X=R2 
G2 X=R2 Y0 I=-(R2) J0 
G1 X100 
G0 Z100 
M30 
 
 
 
 
 
 
 
O exemplo à seguir mostra como elaborar um programa parametrizado para usinar uma 
pirâmide com multi arestas. Sendo possível modificar ângulo da parede, raio menor, raio 
maior, ângulo entre uma aresta e outra através das variáveis. 
 
 
 
 
 
 
 
Em função do raio menor, raio maior e altura total, devemos informar o ângulo de 
inclinação da parede. 
 
G90 G94 G17 G71 
T2; SUPORTE DIA. 40 
M6 
G54 D1 S3000 M3 G0 X80 Y0 Z10 
R1=30; RAIO MENOR 
 
 
R2=45; RAIO MAIOR 
R3=0; ANGULO INICIAL X Y 
R4=360; ANGULO FINAL X Y 
R5=60; INCR. ANGULAR X Y 
R6=0; POSICAO DE CORTE DE Z 
R7=20; ALTURA TOTAL EM Z 
R8=1; INCR. DE CORTE EM Z 
R9=36.86; ANGULO DA PAREDE 
R10=20; RAIO DA FERR. 
R1=R1+R10; RAIO DE PERCURSO X Y 
BB: G1 Z=-R6 F3000 
AA: X=(R1*COS(R3)) Y=(R1*SIN(R3)) 
R3=R3+R5 
IF R3 < R4 GOTOB AA 
X=(R1*COS(R4)) Y=(R1*SIN(R4)) 
G1 X80 Y0 
R6=R6+R8; NOVA POSICAO DE CORTE Z 
R12=(R8*TAN(R9)); VARIACAO X Y CONFORME PROF. Z 
R1=R1+R12; NOVO RAIO DE PERCURSO 
R3=0; REDEFINIR ANGULO INICIAL X Y 
IF R6 < R7 GOTOB BB 
G1 Z=-R7 F3000 
R2=R2+R10; REDEFINIR RAIO DE PERCURSO X Y 
R3=R0; REDEFINIR ANGULO INICIAL X Y 
CC: X=(R2*COS(R3)) Y=(R2*SIN(R3)) 
R3=R3+R5 
IF R3 < R4 GOTOB CC 
X=(R2*COS(R4)) Y=(R2*SIN(R4)) 
G0 X60 Y100 Z100 M30 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Elaborar um programa parametrizado para executar cavidades circulares em qualquer raio e 
profundidade definindo incremento lateral e de profundidade de corte através de variáveis. 
 A cavidade inicia usinando do centro para fora, o zeramento em X e Y deverá ser o próprio 
centro da cavidade e zeramento em Z na face superior, este programa pode ser bem 
aplicado em desbastes onde se tenha grande volume de material, acabamento de paredes 
internas e fundo de cavidades, desde que os parâmetros sejam trabalhados adequadamente. 
 
Para esta usinagem devemos usar uma ferramenta com corte pelo centro pois o incremento 
em Z é feito no sentido vertical, geralmente usa-se fresas de 2 cortes. 
 
 
 
 
 
 
G90 G94 G17 G71 
T5; FRESA DE TOPO Ø12 
M6 
G54 D1 S7000 M3 
G0 X0 Y0 Z10 
R1=30; RAIO DA CAVIDADE 
R3=6; RAIO FERR. 
R4=1; INC. Z 
R5=20; PROF. Z 
R6=4; INC. X 
 
 
AA: G1 Z=-(R4) F1000 
BB: G41 G1 X=R6 F5000 
G3 X=R6 Y0 I=-R6 J0 
G40 G1 X0 Y0 
R6=R6+4; REDEFINIR RAIO DA CAVIDADE 
IF (R6 < = R1) GOTOB BB 
G41 G1 X=R1 
G3 X=R1 Y0 I=-R1 J0 
G3 X=R1 Y0 I=-R1 J0 
G40 G1 X0 Y0 
R4=R4+3; REDEFINIR INC. Z 
R6=7; REDEFINIR INC. X 
IF R4 < = R5 GOTOB AA 
G1 Z=-(R5) F1000 
R6=7; REDEFINIR INC.X 
CC: G41 G1 X=R6 F5000 
G3 X=R6 Y0 I=-R6 J0 
G40 G1 X0 Y0 
R6=R6+7; REDEFINIR RAIO DA CAVIDADE 
IF (R6 < = R1) GOTOB CC 
G41 G1 X=R1 
G3 X=R1 Y0 I=-R1 J0 
G3 X=R1 Y0 I=-R1 J0 
G40 G1 X0 Y0 
G0 Z100 
M30 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Elaborar programa parametrizado para usinagem de cavidades retangulares em qualquer 
comprimento, largura ou altura. 
 Esta usinagem incia do centro para fora nos eixos X e Y e da face superior para face 
inferior no eixo Z, mantendo nos cantos o prórprio raio da ferramenta. 
 Devido ao eixo Z ser incrementado verticalmente é necessário o uso de fresas com corte 
pelo centro. 
 
 
 
G90 G94 G17 G71 
T5; FRESA DE TOPO Ø12 
G54 D1 S7000 M3 
G0 X0 Y0 
R1=70; COMP. X 
R1=R1/2 
R2=70; COMP. Y 
R2=R2/2 
R3=12; DIA. FERR. 
R3=R3/2 
R4=1; INC. Z 
R5=20; PROF. Z 
R6=5; INC. X 
 
 
R7=45; ANGULO DIAGONAL 
R8=TAN(R7)*R6; INC. Y 
G1 Z0 F5000 
AA: G1 Z=-(R4) F1000 
BB: X=R6-R3 F5000 
Y=R8-R3 
X=-(R6-R3) 
Y=-(R8-R3) 
X=R6-R3 
Y0 
R6=R6+5; REDEFINIR INC. X 
R8=TAN(R7)*R6 
IF (R6 < = R1) GOTOB BB 
X=R1-R3 
Y=R2-R3 
X=-(R1-R3) 
Y=-(R2-R3) 
X=R1-R3 
Y0 
X0 
R4=R4+1; REDEFINIR INC. Z 
R6=5; REDEFINIR INC. X 
R8=TAN(R7)*R6 
IF R4 < = R5 GOTOB AA 
CC: G1 Z=-(R5) F1000 
R6=5; REDEFINIR INC.X 
R8=TAN(R7)*R6 
DD: X=R6-R3 F5000 
Y=R8-R3 
X=-(R6-R3) 
Y=-(R8-R3) 
X=R6-R3 
Y0 
R6=R6+5; REDEFINIR INC. X 
R8=TAN(R7)*R6 
IF R6 < = R1 GOTOB DD 
X=R1-R3 F5000 
Y=R2-R3 
X=-(R1-R3) 
Y=-(R2-R3) 
X=R1-R3 
Y0 
X0 
G0 Z100 
M30 
 
 
 
 
 
2ª PARTE: 
FANUC 21M 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
PARÂMETROS “#”. 
 
 
6.1 EXPLANAÇÃO 
 
 Parâmetros de cálculo “#” são registros fixos disponíveis para substituição de valores e 
usados nas representações das variáveis. 
 
6.2 APLICAÇÃO 
 
 Desenvolvimento de programas de família de peças onde tem-se a mesma geometria, 
porém com dimensões variáveis. 
 Desenvolvimento de perfis bidimensionais e tridimensionais gerados ponto a ponto, onde 
as coordenadas são calculadas, através de algorítimos contidos dentro do programa com 
desvios condicionais, etc. 
 
6.3 ATRIBUIÇÃO DE VALORES 
 
 Aos parâmetros “#” podem ser atribuídos valores diretos ou indiretos, cujo resultado 
deverá estar contido na seguinte gama de valores: 
 
 + ou – (0.0000001 – 9999.9999) 
 
 No caso de valores inteiros, o ponto decimal poderá ser omitido, também o mesmo com o 
sinal de positivo. 
 
 Exemplo: #1=3.5678 #2=-36.4 #3=-6765.1234 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
6.4 ATRIBUIÇÃO DOS PARÂMETROS DENTRO DO PROGRAMA: 
 Os parâmetros de cálculo ou expressões matemáticas poderão substituir valores em todos 
endereços do programa, 
exceto N, G, e L, para isso, escreve-se após o caracter de endereço o caracter “ = “ e a 
identificação do parâmetro, seguido ou não de uma expressão matemática. 
 
 
 
Exemplo: N10 #5=24 
N15 #10=250 
N20 G1 X#5 F[#10] 
 
 No exemplo acima temos a atribuição do valor 24 ao parâmetro #5 e o valor 250 ao 
parâmetro #10, na linha seguinte, teremos um deslocamento linear do eixo X para a 
coordenada de 24mm atribuída no parâmetro #5, com uma velocidade de avanço F250 
mm/min, atribuída no parâmetro #10. 
 
6.5 OPERAÇÕES E FUNÇÕES ARITIMÉTICAS: 
 
 Ao aplicar um cálculo, é necessário observar a notação matemática usual, isto é a 
multiplicação e divisão, tem prioridade sobre a adição e subtração. 
 Para definir uma prioridade, no cálculo, usa-se [] “colchetes”. 
 Em casos onde tem-se a necessidade de aplicar valores em graus, usa-se graus decimais 
ou milesimais no cálculo. 
 
 
 
 
 Exemplos: 
 
 N60 #1=8 
 N65 #20=SIN[30.345] 
 N70 #9=#7*#8 
 N75 #12=#10/#11 
 N80 #13=#1*[#20-#9] 
 N85 #15=SQRT[#13+#9*#1] 
 
6.6 TIPOS DE VARIÁVEIS 
 
As variáveis são classificadas em 4 tipos: 
 
a) #0 – Sempre nula → Valores podem ser assinalados para esta variável. 
b) #1-#33 – Variáveis locais → Podem apenas ser usadas em macro para carregar dados 
como resultado de operações quando o comando e as variáveis locais são inicializadas 
 
 
sem valores (nulas).Quando uma macro é invocada,argumentos são assinalados para 
variáveis locais; 
c) #100-#149(#199) / #500-#531(#999) – Variáveis comuns →Podem estar parcialmente 
entre diferentes programas Macros.Quando o comando é desligado,as variáveis #100 a 
#531 mantém os dados.Como opção,variáveis comuns,#150 a #199 e#532 a #999 são 
permitidas(opcional); 
d) #1000 – Variáveis de Sistema → São usadas para ler uma variedade de dados NC 
como posição atual,valores de compensação de ferramenta. 
 
 
6.7 REFERENCIANDO VARIÁVEIS 
 
 Para referenciar o valor de uma variável em um programa,especifique o endereço 
seguido pelo número da variável.Quando uma expressão for usada para especificar uma 
variável,inclua a expressão entre colchetes. 
 
Exemplo: 
G01 X[#1+#2] F#3 
 
OPERADORES E FUNÇÕES ARITIMÉTICAS 
 
 7.1 Principais operadores e funções aritiméticas 
 
 Os parâmetros “#” , conforme visto no capítulo anterior, podem ser submetidos a diversos 
tipos de cálculos. 
 Os principais operadores são: 
 
 
SÍMBOLO DESCRIÇÃO 
+ ADIÇÃO 
- SUBTRAÇÃO 
* MULTIPLICAÇÃO 
/ DIVISÃO 
SIN[ ] SENO 
COS[ ] COSSENO 
TAN[ ] TANGENTE 
SQRT[ ] RAIZ QUADRADA 
ABS[ ] NÚMERO ABSOLUTO 
[ ] PRIORIDADE NO CÁLCULO OU 
IDENTIFICAÇÃO 
ATAN[#x]/[#y] ARCOTANGENTE 
ASIN[ ] SENO DO ARCO 
ACOS[ ] COSENO DO ARCO 
EXP[ ] FUNÇÃO EXPONENCIAL 
 
 
 
 
 Exemplos: 
 
 #1=#1+2 Resultado: valor contido em #1+2. 
 #3=SIN[30] Resultado: valor do seno de 30° 
 #5=[#1+#20]/#3 Resultado: valor da equação 
 
 
OPERADORES DE COMPARAÇÃO E LÓGICOS 
 
8.1 Operadores de comparação: 
 
 Os operadores de comparação podem ser utilizados para formular uma condição de 
desvio. Expressões complexas podem também ser comparadas. São eles: 
 
SÍMBOLO DESCRIÇÃO SIGNIFICADO 
EQ “EQUAL TO” IGUAL A 
NE “NOT EQUAL TO” DIFERENTE 
GT “GREATER THAN” MAIOR QUE 
LT “LESS THAN” MENOR QUE 
GE “GREATER THAN OR 
EQUAL TO” 
MAIOR OU IGUAL A 
LE “LESS THAN OR EQUAL 
TO” 
MENOR OU IGUAL A 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Operadores lógicos: 
 
Operadores lógicos são usados para checar a condição de verdadeiro ou falso numa 
comparação entre 2 valores efetuando um desvio condicional. 
 
Sintaxe: IF [comparação] GOTO? (label destino) 
 
NOTA: “ ? “ O desvio deve ser um bloco (label) o qual está para frente ou para trás do 
bloco condicional. 
 
LABEL DESTINO é a identificação do bloco para o qual a execução deverá ser desviada 
caso o resultado da comparação seja verdadeira. 
Caso o resultado da comparação não seja verdadeiro, não haverá desvio, logo o programa 
segue no bloco seguinte. 
 
Exemplo: 
 
IF [#10GE#11] GOTO200 
 
Se #10 for maior ou igual a #11 a execução do programa será deviada para o bloco (label) 
N200. 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
FUNÇÃO G65 
 
Aplicação: MACRO B 
 
Podemos utilizar esta função quando desejamos elaborar programas,cujas peças a serem 
fabricadas, apresentam formas geométricas iguais, mas com dimensões diferentes,ou seja , 
no caso de família de peças. 
 
Devemos então elaborar um programa,definindo o processo a ser utilizado para a usinagem, 
com grandezas de dimensões representadas por variáveis, conforme a tabela. 
 
Existem dois tipos de especificações de argumentos.A especificação de argumentos I usa 
letras diferentes de G,L,O,N e P. 
A especificação de argumentos II utiliza as letras A,B,C e também I,J,K até dez vezes. 
O tipo de especificação do argumento está determinado automaticamente pelas letras 
utilizadas. 
 
 
ESPECIFICAÇÃO DE ARGUMENTOS I 
 
ENDEREÇO DO ARGUMENTO VARIÁVEL CORRESPONDENTE 
A #1 
B #2 
C #3 
D #7 
E #8 
F #9 
H #11 
I #4 
J #5 
K #6 
M #13 
Q #17 
R #18 
S #19 
T #20 
U #21 
V #22 
W #23 
X #24 
Y #25 
Z #26 
 
 
 
Este programa será chamado por outro, no qual deverá ser programado a função G65 
acompanhado da função P, definindo o número do programa contendo o processo de 
usinagem, e também dos endereços das variáveis representados pelas letras da tabela com 
seus respectivos valores dimensionais. 
 
 
 
9.1 Diferenças entre chamadas de macro e chamadas de subprogramas 
 
 
 
A chamada de macro(G65) é diferente da chamada de um subprograma (M98) como se 
descreve a seguir: 
1- Com G65 pode-se especificar um argumento (dado transferido a uma macro),M98 não 
permite faze-lo. 
2- Quando um bloco M98 contém outro comando – ex.: G01 X100 M98 Pp ;se chama o 
subprograma depois de executar o comando.Por outro lado,G65 chama incondicionalmente 
uma macro. 
3- Quando um bloco M98 contém outro comando – ex.: G01 X100 M98 Pp -;a máquina 
para no modo bloco a bloco.Por outro lado,G65 não detém a máquina. 
4- Com G65,o nível de variáveis locais variam,com M98 o nível de variáveis locais não 
varia. 
 
9.2 ALARMES DE MACRO 
 
NÚMERO 
 DA VARIÁVEL 
FUNÇÃO 
#3000 Quando um valor entre 0 e 200 é atribuído à variável #3000, o 
CNC para com a ativação de um alarme.Após uma expressão,é 
possível descrever uma mensagem de alarme de até 26 
caracteres.A tela do CRT mostra os números de 
alarme,acrescentando 3000 ao valor da variável 
#3000,juntamente com uma mensagem de alarme. 
 
 
 
 
 
Exemplo: 
 
#3000=1(FERRAMENTA NÃO ENCONTRADA); 
→ A tela de alarme mostra “3001 FERRAMENTA NÃO ENCONTRADA”. 
 
9.3 LIMITAÇÕES 
 
 
 
 Os colchetes ([,]) são usados para anexar uma Colchetes 
expressão.Note que os parênteses são usados para comentários. 
 
 Erro de Operação 
A precisão dos valores das variáveis é de cerca de 8 dígitos decimais. 
Quando são utilizados números muito grandes em adições ou subtrações,podem não ser 
obtidos os resultados esperados. 
 
Exemplo: 
Quando se tenta atribuir os valores abaixo às variáveis #1 e #2: 
 
#1=9876543210123,456 
#2=9876543277777,777 
Os valores das variáveis passam a ser: 
#1=9876543200000,000 
#2=9876543300000,000 
Neste caso,quando se calcula #3=#2-#1,o resultado é,#3=1000000,000. 
(O resultado real deste cálculo é ligeiramente diferente,pois trata-se de um cálculo binário). 
 
Esteja também atento em relação aos erros que possam resultar das expressões condicionais 
que utilizam EQ,NE,GE,GT,LE e LT. 
 
10. Exemplos de programação parametrizada 
 
Este programa foi desenvolvido para desbaste de perfis bastante comuns na área de 
usinagem e mostrou versatilidade, eficiência e principalmente facilidade e rapidez no uso. 
Alguns exemplos de perfis possíveis de se usinar estão abaixo. 
 
 
 
 
 Foi desenvolvido para um Centro de Usinagem que tem opcional de variáveis de macro, 
podendo ocorrer variações ou até mesmo não sendo possível implementá-lo em outros 
modelos de máquina. No caso de implantação, é sensato procurar informações a respeito 
das variáveis usadas, pois estas devem ser liberadas para uso, sem prejudicar o bom 
funcionamento do equipamento. Algumas observações a respeito do mesmo, para que seja 
usado praticamente, são pertinentes e estão expostas a seguir : 
 A intenção do programa é desbastar o perfil e não dar acabamento no mesmo, e por 
este motivo foi construído com esta estratégia de corte. 
 Os perfis podem ser chanfrados ou raiados nos cantos, lembrando que estes são 
todos iguais. O chanfro no topo é opcional e é feito com ferramenta de chanfrar 90 
graus. 
 A ferramenta não perde contato com a parede da peça na usinagem do perfil, uma 
vez que usina em rampa,e, depois que a altura do perfil é atingida, um corte plano é 
feito para uniformizar a profundidade final, como mostrado abaixo : 
 
 O ponto zero-peça está no centro (X e Y) e no topoda peça ( Z ), que já deverá, 
preferencialmente, estar faceada ; 
 Os cortes, tanto do perfil quanto do chanfro no topo, são concordantes ; 
 As correções das dimensões da peça podem ser feitas tanto nos valores do 
comprimento e largura, como no valor do sobremetal ou também no valor do 
diâmetro da ferramenta ; 
 
 
 
 
 
 
 
Abaixo a sintaxe do programa: 
% 
O0001 (DESBASTE DO PERFIL) 
#101=100 (DIMENSÂO DA PEÇA NO SENTIDO X) 
#102=50 (DIMENSÂO DA PEÇA NO SENTIDO Y) 
#103=20 (DIMENSÂO DA PEÇA NO SENTIDO Z) 
#104=4 (QUANTIDADE DE PASSES EM Z) 
#105=0 (SOBREMETAL NA PAREDE) 
#106=1 (CANTOS DO PERFIL -- 1 P/ CHANFRO, 0 P/ RAIO) 
#107=3 (MEDIDA DO RAIO/CHANFRO NOS CANTOS) 
#108=1 (MEDIDA DO CHANFRO NO TOPO DO PERFIL) 
#109=2 (FERRAMENTA PARA PERFIL) 
#110=800 (RPM PARA PERFIL) 
#111=900 (AVANCO DE CORTE PARA PERFIL) 
#112=8 (FLUIDO PARA PERFIL) 
#113=19 (FERRAMENTA PARA CHANFRO NO PERFIL) 
#114=5 (ALTURA Z DA USINAGEM PARA CHANFRO NO TOPO) 
#115=2500 (RPM PARA CHANFRO) 
#116=1500 (AVANCO DE CORTE PARA CHANFRO) 
#117=9 (FLUIDO PARA CHANFRO) 
(ACERTAR VALORES SOMENTE DAQUI PARA CIMA) 
 
(INICIO DOS CALCULOS PARA PERFIL) 
(RAIO DA FERRAMENTA) 
#118=#[#109+2400] 
#119=[#118/2] 
#120=[#119+#105] (RAIO CONSIDERANDO SOBREMETAL NA PAREDE) 
(CALCULOS PARA CHANFROS NOS CANTOS) 
(PERIMETRO) 
#121=[#120*TAN[22.5]] 
#122=[#121*2] 
#123=[#101-#107-#107+#122] 
#124=[#102-#107-#107+#122] 
#125=[#107/SIN[45]] 
#126=[#125+#122] 
#127=[#123*2] 
#128=[#124*2] 
#129=[#126*4] 
#130=[#127+#128+#129] (PERIMETRO) 
(DESLOCAMENTOS Z) 
#131=[#103/#104] 
#132=[#123/#130] 
#133=[#124/#130] 
 
 
#134=[#126/#130] 
#135=[#132*#131] (DESLOCAMENTO Z NO EIXO X) 
#136=[#133*#131] (DESLOCAMENTO Z NO EIXO Y) 
#137=[#134*#131] (DESLOCAMENTO Z NO CHANFRO) 
(POSICIONAMENTOS INICIAIS) 
#140=[#101+#120+#120] 
#141=[#102+#120+#120] 
#142=[#140/2] 
#143=[#141/2] (POSICIONAMENTO INICIAL EM Y) 
#144=[#142+5] (POSICIONAMENTO INICIAL EM X) 
#145=[#123/2] (POSICIONAMENTO X PARA INICIO DA RAMPA) 
(DESLOCAMENTOS INCREMENTAIS) 
(VARIAVEIS #123 E #124 USADAS PARA OS DESLOCAMENTOS INCREMENTAIS 
EM X E Y) 
#146=[#126*SIN[45]] (DESLOCAMENTO XY NO CHANFRO) 
(TERMINO DOS CÁLCULOS PARA CHANFROS NOS CANTOS) 
(CALCULOS PARA RAIOS NOS CANTOS) 
(PERIMETRO) 
#150=[#107+#120] 
#151=[#150*2*3.1415927] 
#152=[#107*2] 
#153=[#101-#152] 
#154=[#102-#152] 
#155=[#153+#153+#154+#154+#151] (PERIMETRO) 
(DESLOCAMENTOS Z) 
#156=[#151/4] 
#157=[#156/#155] 
#158=[#153/#155] 
#159=[#154/#155] 
#160=[#157*#131] (DESLOCAMENTO EM Z NOS RAIOS) 
#161=[#158*#131] (DESLOCAMENTO EM Z NO EIXO X) 
#162=[#159*#131] (DESLOCAMENTO EM Z NO EIXO Y) 
(POSICIONAMENTOS INICIAIS) 
(VARIAVEIS #140,#141,#142,#143,#144 USADAS TAMBEM PARA ESTES 
POSICIONAMENTOS) 
#165=[#153/2] (POSICIONAMENTO X PARA INICIO RAMPA) 
(TERMINO DOS CALCULOS PARA PERFIL) 
(INICIO DOS CALCULOS PARA CHANFRO NO TOPO) 
 
(RAIO DA FERRAMENTA) 
#167=#[#113+2400] 
#168=[#167/2] 
#169=[#168-#114] 
#170=[#168-#169-#108-#105] (RAIO CONSIDERANDO SOBREMETAL NA PAREDE) 
 
 
(CHANFRO NO TOPO COM CHANFRO NOS CANTOS) 
#171=[#170*TAN[22.5]] 
#172=[#171*2] 
#173=[#101-#107-#107+#172] 
#174=[#102-#107-#107+#172] 
#175=[#107/SIN[45]] 
#176=[#175+#172] 
#177=[#173/2] (DESLOCAMENTO ABSOLUTO EM X) 
#178=[#174/2] (DESLOCAMENTO ABSOLUTO EM Y) 
#179=[#176*SIN[45]] (DESLOCAMENTO INCREMENTAL XY NOS CANTOS) 
(POSICIONAMENTOS INICIAIS) 
#180=[#101/2] 
#181=[#180+#170+5] (POSICIONAMENTO INICIAL EM X) 
#182=[#102/2] 
#183=[#182+#170] (POSICIONAMENTO INICIAL EM Y) 
(DESLOCAMENTOS) 
#184=[#173/2] (DESLOCAMENTO EM X) 
#185=[#174/2] (DESLOCAMENTO EM Y) 
#185=[#176*SIN[45]] (DESLOCAMENTO EM XY NO CHANFRO) 
(TERMINO DOS CALCULOS PARA CHANFRO NO TOPO) 
(CHANFRO NO TOPO COM RAIOS NOS CANTOS) 
#190=[#101-#107-#107] 
#191=[#102-#107-#107] 
#192=[#107+#170] (DESLOCAMENTO XY NO RAIO) 
#193=[#190/2] (DESLOCAMENTO ABSOLUTO EM X) 
#194=[#191/2] (DESLOCAMENTO ABSOLUTO EM Y) 
(TERMINO DOS CALCULOS PARA CHANFRO NO TOPO) 
G17 G90 G40 
T#109 M06 
G00 G53 Z0 
G00 G54 X#144 Y-#143 S#110 
G43 H#109 Z50. M03 
Z0 M#112 
IF[#106EQ0]GOTO500 
G01 X#145 F#111 
M97 P1 L#104 
G01 G91 X-#123 F#111 
X-#146 Y#146 
Y#124 
X#146 Y#146 
X#123 
X#146 Y-#146 
Y-#124 
X-[#146+1] Y-[#146+1] 
X3. Y-3. 
 
 
G00 G90 Z2. M09 
IF[#108GT0]GOTO550 
M05 
G00 G53 Z0 
G53 X-370. Y-150. 
M30 
N500 
G01 X#165 F#111 
M97 P2 L#104 
G01 G91 X-#153 
G02 X-#150 Y#150 R#150 
G01 Y#154 
G02 X#150 Y#150 R#150 
G01 X#153 
G02 X#150 Y-#150 R#150 
G01 Y-#154 
G02 X-#150 Y-#150 R#150 
G03 X-5. Y-5. R5. 
G00 G90 Z2. M09 
IF[#108GT0]GOTO550 
M05 
G00 G53 Z0 
G53 X-370. Y-150. 
M30 
N550 T#113 M06 
G00 G53 Z0 
G54 G90 X#181 Y-#183 S#115 
G43 H#113 Z30. 
Z2. M03 
Z-#114 M#117 
IF[#106EQ0]GOTO600 
G01 X-#177 F#116 
G91 X-#179 Y#179 
G90 Y#178 
G91 X#179 Y#179 
G90 X#177 
G91 X#179 Y-#179 
G90 Y-#178 
G91 X-[#179+2] Y-[#179+2] 
X3. Y-3. 
G00 G90 Z2. M09 
M05 
G00 G53 Z0 
G53 X-370. Y-150. 
M30 
 
 
N600 
G01 X-#193 F#116 
G02 G91 X-#192 Y#192 R#192 
G01 G90 Y#194 
G02 G91 X#192 Y#192 R#192 
G01 G90 X#193 
G02 G91 X#192 Y-#192 R#192 
G01 G90 Y-#194 
G02 G91 X-#192 Y-#192 R#192 
G03 X-5. Y-5. R5. 
G00 G90 Z2. M09 
M05 
G00 G53 Z0 
G53 X-370. Y-150. 
M30 
N1 
G01 G91 X-#123 Z-#135 F#111 
X-#146 Y#146 Z-#137 
Y#124 Z-#136 
X#146 Y#146 Z-#137 
X#123 Z-#135 
X#146 Y-#146 Z-#137 
Y-#124 Z-#136 
X-#146 Y-#146 Z-#137 
M99 
N2 
G01 G91 X-#153 Z-#161 F#111 
G02 X-#150 Y#150 Z-#160 R#150 
G01 Y#154 Z-#162 
G02 X#150 Y#150 Z-#160 R#150 
G01 X#153 Z-#161 
G02 X#150 Y-#150 Z-#160 R#150 
G01 Y-#154 Z-#162 
G02 X-#150 Y-#150 Z-#160 R#150 
M99 
% 
 
 
 
 
 
 
Elaborar um programa parametrizado para usinar um plano inclinado em um determinado 
ângulo e distância inicial: 
 
 
 
 
 
G90 G94 G17 G21 
T2 (SUPORTE DIAM. 40) 
M6 
G54 S5000 M3 G0 X130 Y-100 
G43 H2 Z20 
#1=20 (RAIO DA FERRAMENTA) 
#2=30 (ANGULO DA RAMPA RELACIONADO A FACE) 
#3=17.32 (ALTURA DA RAMPA) 
#5=1 (INCR. EM Z) 
#6=70 (INICIO DA RAMPA EM Y) 
N30 
#8=#5/TAN[#2] (Y ATUANTE) 
 
 
#7=#6+#1+#8 (REDEFINIR INICIO EM Y) 
G1 X130 Y-100 F3000 
Z-#5 
Y-#7 
X-30 
G0 Z20 
X130 
#5=#5+1 
IF [#5 LT #3] GOTO30 
G1 X130 F3000 
Z-#3 
#9=#3/TAN[#2] (Y ATUANTE FINAL) 
#10=#6+#1+#9 (REDEFINIR INICIO EM Y FINAL) 
Y-#10 
X-30 
G0 Z100 
M30 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Elaborar programas parametrizados para usinar raios externos em uma determinada posição 
inicial:G90 G94 G17 G21 
T2 (SUPORTE DIAM. 40) 
M6 
G54 S5000 M3 G0 X125 Y-25 
G43 H2 Z50 
G52 X70 Z-30 
#1=20 (RAIO DA FERR.) 
#2=30 (RAIO DA PEÇA) 
#3=90 (ANGULO INICIAL) 
#4=2 (INCREMENTO ANGULAR) 
#5=0 (ANGULO FINAL) 
N100 
G1 X[[COS[#3]*#2]+#1] Z[SIN[#3]*#2] F3000 
 
 
Y125 
G0 Z#2+20 
Y-25 
#3=#3-#4 (REDEFINIR ANGULO INICIAL) 
IF [#3GE#5] GOTO100 
G1 X[[COS[#5]*#2]+#1] Z[SIN[#5]*#2] 
Y125 
G0 Z100 
G52 X0 Y0 
M30 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Elaborar programas parametrizados para chanfrar contornos externos com qualquer ângulo 
de parede: 
 
 
 
 
 
 
 
 
 
 
 
G90 G94 G17 G21 
T2 (SUPORTE DIAM. 40) 
M6 
G54 S4000 M3 G0 X-100 Y-100 
G43 H2 Z20 
#1=20 (RAIO DA FERR.) 
#2=45 (ANGULO RELACIONADO A FACE) 
#3=15 (ALTURA DO CHANFRO) 
#4=0.5 (INCREMENTO EM Z) 
#5=#4/TAN[R2] (X E Y ATUANTE) 
 
 
#6=35 (METADE DOS LADOS MENORES X E Y) 
G1 Z0 F4000 
N50 G1 X-[#6+#5+#1] Y-[#6+#5+#1] Z-#4 F4000 
Y#6+#5+#1 
X#6+#5+#1 
Y-[#6+#5+#1] 
X-[#6+#5+#1] 
#4=#4+0.5 (REDEFINIR Z) 
#5=#4/TAN[R2] (X E Y ATUANTE) 
IF [#4GE#3] GOTO50 
G0 Z100 
M30 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Elaborar programas parametrizados para arredondar contornos externos em qualquer raio : 
 
 
 
 
 
(ZERAR Z – O VALOR DO RAIO) 
G90 G94 G17 G21 
T2 (SUPORTE DIAM. 40) 
M6 
G54 S4000 M0 G0 X-100 Y-100 
G43 H2 Z50 
#1=20 (RAIO DA FERR.) 
#2=15 (RAIO DO CONTORNO) 
#3=90 (ANGULO DE INICIO) 
#4=0 (ANGULO FINAL) 
#5=1 (INCREMENTO ANGULAR) 
#6=35 (METADE MENOR DO PERFIL) 
N60 
#7=COS[#3]*#2 (DEFINIR X E Y ATUANTE) 
#8=SIN[R3]*R2 (DEFINIR Z ATUANTE) 
G1 X-[#6+#7+#1] Y-[#6+#7+#1] Z#8 F2000 
Y#6+#7+#1 
X#6+#7+#1 
Y-[#6+#7+#1] 
 
 
X-[#6+#7+#1] 
#3=#3-1 (REDEFINIR ANGULO INICIAL) 
IF[#3GE#4] GOTO60 
G0 Z100 
M30 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Elaborar programa parametrizado usinagem de um perfil côncavo de 180° 
: 
 
 
 
 
 
 
 
 
G90 G94 G17 G21 
T1 (ESFERICA DIAM.12) 
M6 
G54 S6000 M3 G0 X0 Y-10 
G43 H1 Z30 
#1=35 (RAIO DA PEÇA) 
#2=6 (RAIO DA FERR.) 
#3=#1-#2 (RAIO DA TRAJETORIA) 
#4=0 (ANGULO INICIAL) 
#5=-180 (ANGULO FINAL) 
#6=1 (INCREMENTO ANGULAR) 
N80 
G1 X[COS[#4]*#3] Z[SIN[R4]*#3] 
Y110 
#4=#4-#6 (REDEFINIR ANGULO INICIAL) 
 
 
G1 X[COS[R4]*#3] Z[SIN[R4]*R3] 
Y-10 
#4=#4-#6 (REDEFINIR ANGULO INICIAL) 
IF [#4GE#5] GOTO80 
G0 Z100 
M30 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Elaborar programa parametrizado para usinagem de um perfil cônico interno de 180° 
 
 
 
 
 
G90 G94 G17 G21 
T1( ESFERICA Ø12) 
M6 
G54 D1 S6000 M3 G0 X0 Y-10 
G43 H1 Z30 
#1=35 (RAIO MAIOR DA PEÇA) 
#10=25 (RAIO MENOR DA PEçA) 
#2=6 (RAIO DA FERR.) 
#3=#1-#2 (RAIO DA TRAJETORIA MENOR) 
#13=#10-#2 (RAIO DA TRAJETORIA MAIOR) 
#4=0 (ANGULO INICIAL) 
#5=-180 (ANGULO FINAL) 
#6=1 (INCREMENTO ANGULAR) 
N70 G1 X[COS[#4]*#3] Z[SIN[#4]*#3] 
X[COS[#4]*#13] Z[SIN[#4]*#13] Y100 
#4=#4-#6 (REDEFINIR ANGULO INICIAL) 
G1 X[COS[#4]*#3] Z[SIN[#4]*#3] Y0 
#4=#4-#6 (REDEFINIR ANGULO INICIAL) 
IF[#4GE#5] GOTO70 
G0 Z100 
M30 
 
 
Elaborar programa parametrizado para usinagem de arredondamento de arestas de 
cavidades circulares. 
 Para usinagem deste perfil é necessário que o zeramento do eixo Z seja no centro do raio 
de arredondamento. 
 
 
A cavidade deve está previamente acabada. 
 
G90 G94 G17 G21 
T1 (FRESA DE TOPO DIAM. 12) 
M6 
G54 D1 S6000 M3 G0 X0 Y0 
G43 H1 Z30 
#1=6 (RAIO DA FERR.) 
#2=35 (RAIO MAIOR DA PECA) 
#3=25 (RAIO MENOR DA PECA) 
#4=10 (RAIO DO ARREDONDAMENTO) 
#5=90 (ANGULO INICIAL P/ Z) 
#6=180 (ANGULO FINAL P/ Z) 
#7=1 (INCREMENTO ANGULAR) 
N80 
 
 
#8=COS[#5]*#4 (CALCULO P/ REDEFINIR X) 
#9=SIN[#5]*#4 (CALCULO P/ REDEFINIR Z) 
#10=#2+#8 (REDEFINIR RAIO MAIOR) 
#10=#10-#1 (REDEFINIR RAIO DE PERCURSO X Y) 
G1 X#10 Z#9 F2000 
G3 X10 I-#10 
#5=#5+#7 (ANGULO ATUANTE) 
IF[#5LE#6] GOTO80 
G0 Z100 
M30 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3ª PARTE: 
MITSUBISHI 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
PARÂMETROS “#”. 
 
1.1 EXPLANAÇÃO 
 
 Parâmetros de cálculo “#” são registros fixos disponíveis para substituição de valores e 
usados nas representações das variáveis. 
 
1.2 APLICAÇÃO 
 
 Desenvolvimento de programas de família de peças onde tem-se a mesma geometria, 
porém com dimensões variáveis. 
 Desenvolvimento de perfis bidimensionais e tridimensionais gerados ponto a ponto, onde 
as coordenadas são calculadas, através de algorítimos contidos dentro do programa com 
desvios condicionais, etc. 
 
1.3 ATRIBUIÇÃO DE VALORES 
 
 Aos parâmetros “#” podem ser atribuídos valores diretos ou indiretos, cujo resultado 
deverá estar contido na seguinte gama de valores: 
 
 + ou – (0.0000001 – 9999.9999) 
 
 No caso de valores inteiros, o ponto decimal poderá ser omitido, também o mesmo com o 
sinal de positivo. 
 
 Exemplo: #1=3.5678 #2=-36.4 #3=-6765.1234 
 
 
 
 
1.4 ATRIBUIÇÃO DOS PARÂMETROS DENTRO DO PROGRAMA: 
1.5 Os parâmetros de cálculo ou expressões matemáticas poderão substituir valores em 
1.6 todos endereços do programa, 
exceto N, G, e L, para isso, escreve-se após o caracter de endereço o caracter “ = “ e a 
identificação do parâmetro, seguido ou não de uma expressão matemática. 
 
 Exemplo: N10 #5=24 
 N15 #10=250 
 N20 G1 X#5 F[#10] 
 
No exemplo acima temos a atribuição do valor 24 ao parâmetro #5 e o valor 250 ao 
parâmetro #10, na linha seguinte, teremos um deslocamento linear do eixo X para a 
coordenada de 24mm atribuída no parâmetro #5, com uma velocidade de avanço F250 
mm/min, atribuída no parâmetro #10. 
 
 
 
1.7 OPERAÇÕES E FUNÇÕES ARITIMÉTICAS: 
 
Ao aplicar um cálculo, é necessário observar a notação matemática usual, isto é a 
multiplicação e divisão, tem prioridade sobre a adição e subtração. 
Para definir uma prioridade, no cálculo, usa-se [] “colchetes”. 
Em casos onde tem-se a necessidade de aplicar valores em graus, usa-se graus decimais ou 
milesimais no cálculo. 
 
 
 
 
 
 
 
 Exemplos: 
 
 N60 #1=8 
 N65 #20=SIN[30.345] 
 N70 #9=#7*#8 
 N75 #12=#10/#11 
 N80 #13=#1*[#20-#9] 
 N85 #15=SQRT[#13+#9*#1] 
 
1.8 TIPOS DE VARIÁVEIS 
 
As variáveis são classificadas em 4 tipos: 
 
e) #0 – Sempre nula → Valores podem serassinalados para esta variável. 
f) #1-#33 – Variáveis locais → Podem apenas ser usadas em macro para carregar dados 
como resultado de operações quando o comando e as variáveis locais são inicializadas 
sem valores (nulas).Quando uma macro é invocada,argumentos são assinalados para 
variáveis locais; 
g) #100-#149(#199) / #500-#531(#999) – Variáveis comuns →Podem estar parcialmente 
entre diferentes programas Macros.Quando o comando é desligado,as variáveis #100 a 
#531 mantém os dados.Como opção,variáveis comuns,#150 a #199 e #532 a #999 são 
permitidas(opcional); 
h) #1000 – Variáveis de Sistema → São usadas para ler uma variedade de dados NC 
como posição atual,valores de compensação de ferramenta. 
 
 
 
 
 
 
 
 
 
1.9 REFERENCIANDO VARIÁVEIS 
 
Para referenciar o valor de uma variável em um programa,especifique o endereço seguido 
pelo número da variável.Quando uma expressão for usada para especificar uma 
variável,inclua a expressão entre colchetes. 
 
Exemplo: 
G01 X[#1+#2] F#3 
 
2 OPERADORES E FUNÇÕES ARITIMÉTICAS 
 
 2.1 Principais operadores e funções aritiméticas 
 
Os parâmetros “#” , conforme visto no capítulo anterior, podem ser submetidos a diversos 
tipos de cálculos. 
Os principais operadores são: 
 
SÍMBOLO DESCRIÇÃO 
+ ADIÇÃO 
- SUBTRAÇÃO 
* MULTIPLICAÇÃO 
/ DIVISÃO 
SIN[ ] SENO 
COS[ ] COSSENO 
TAN[ ] TANGENTE 
SQRT[ ] RAIZ QUADRADA 
ABS[ ] NÚMERO ABSOLUTO 
[ ] PRIORIDADE NO CÁLCULO OU 
IDENTIFICAÇÃO 
ATAN[#x]/[#y] ARCOTANGENTE 
ASIN[ ] SENO DO ARCO 
ACOS[ ] COSENO DO ARCO 
EXP[ ] FUNÇÃO EXPONENCIAL 
 
 
 Exemplos: 
 
 #1=#1+2 Resultado: valor contido em #1+2. 
 #3=SIN[30] Resultado: valor do seno de 30° 
 #5=[#1+#20]/#3 Resultado: valor da equação 
 
 
 
 
 
 
3 OPERADORES DE COMPARAÇÃO E LÓGICOS 
 
3.1 Operadores de comparação: 
 
Os operadores de comparação podem ser utilizados para formular uma condição de desvio. 
Expressões complexas podem também ser comparadas. São eles: 
 
SÍMBOLO DESCRIÇÃO SIGNIFICADO 
EQ “EQUAL TO” IGUAL A 
NE “NOT EQUAL TO” DIFERENTE 
GT “GREATER THAN” MAIOR QUE 
LT “LESS THAN” MENOR QUE 
GE “GREATER THAN OR 
EQUAL TO” 
MAIOR OU IGUAL A 
LE “LESS THAN OR EQUAL 
TO” 
MENOR OU IGUAL A 
 
3.2 Operadores lógicos: 
 
Operadores lógicos são usados para checar a condição de verdadeiro ou falso numa 
comparação entre 2 valores efetuando um desvio condicional. 
 
Sintaxe: IF [comparação] GOTO? (label destino) 
 
NOTA: “ ? “ O desvio deve ser um bloco (label) o qual está para frente ou para trás do 
bloco condicional. 
 
LABEL DESTINO é a identificação do bloco para o qual a execução deverá ser desviada 
caso o resultado da comparação seja verdadeira. 
Caso o resultado da comparação não seja verdadeiro, não haverá desvio, logo o programa 
segue no bloco seguinte. 
 
 
 
Exemplo: 
 
IF [#10GE#11] GOTO200 
 
Se #10 for maior ou igual a #11 a execução do programa será deviada para o bloco (label) 
N200. 
 
 
Exemplos de programação parametrizada 
 
 
 
ESFERA PARAMETRIZADA 
%ESFERA 
O511 
G21G40G54G80G90 
S1000M3 
GZ100. 
X-80.Y0. 
G43G0Z100.H1 
#1=25. (RAIO DA ESFERA) 
#2=1. (ÂNGULO INICIAL) 
#10=1. (INCREMENTO ANGULAR) 
N10#5=[#1*COS[#2]]#6=[#1*SIN[#2]]( CALCULO DE SENO E COSENO DO 
ÂNGULO MULTIPLICANDO PELO RAIO DA ESFERA) 
 
#7=[#1-#5](SUBTRAÇÃO DO RAIO PELO COSENO. PARA CALCULAR O Z-) 
 
 
G0Z-[#7]F2000 
G01G41D1X-#6F2000 
G02X-#6Y0.I#6J0. 
G40G0X-80. 
#2=#2+#10(SOMA DO ANGULO INICIAL, VAI SOMAR DE 1º EM 1º GRAU VAI 
ATÉ 90) 
IF[#2LT91.]GOTO10(SE #2 FOR MENOR QUE 91 VÁ PARA LINHA 10) 
N20G0Z100. 
M30 
% 
 
 
 
 
 
 
 
CHAVETA PARAMETRIZADA (SEM PARAR) 
%OBULONGO SEM PARAR 
G17 G21 G54 G90 
#1= 0.(PROF. INICIAL) 
#2= 0.500 (INCREMENTO) 
#3= -30. (PROF FINAL) 
G43G0Z100.H1 
X0.Y0. 
G0 Z5. 
 
G01Z#1 F250 
G41GO1Y-25.D1 F2000(COMPENSAÇÃO DA FERRAMENTA FORA DA 
SUBROTINA QUE É N10 
N10 #1= [ #1 - [+ #2 ]]( SUBTRAÇÃO DO Z) 
GO1X120.Z#1 
G03 X120.Y25.R25. 
G01X-120. 
G03X-120.Y-25.R25. 
IF [ #1 GT #3 ] GOTO10( DESVIO SE #1 FOR MAIOR #3 VA PARA LINHA 10) 
G01XO. 
G40G01Y0.( DESCOMPENSA A FERRAMENTA NO FINAL DA USINAGEM EM Z-
30) 
G00 Z100. 
M30 
% 
ESTA É UMA BOA MANEIRA DE SE FAZER CONTORNO INTERNO SEM TER 
QUE COMPENSAR E DESCOMPENSAR A FERRAMENTA E DEIXAR MARCA NA 
PEÇA SEM FALAR EM GANHAR TEMPO NA USINAGEM. 
COLOCAMOS A CORDENADA INICIAL NO CENTRO DA CHAVETA, SEGUINDO 
PELO Z5 (Z#1 QUE NA PRIMEIRA CHAMADA AINDA TEM O VALOR DE ZERO, 
POIS SÓ SERÁ SUBTRAIDO DENTRO DO N10), EM SEGUIDA COMPENSAMOS A 
FERRAMENTA TAMBÉM FORA DO N10, APARTIR DAÍ É EXECUTADA TODA 
USINAGEM ATÉ O Z FINAL -30 (#3) COM A FERRAMENTA COMPENSADA. 
A FERRAMENTA SÓ É DESCOMPENSADA FORA DO SUBROTINA, INJDO PARA 
O CENTRO EM X E DESCOMPENSANDO EM Y. 
 
 
 
 
 
 
CAVIDADE RETANGULAR PARAMETRIZADA 
% 
O516(CAV.RETANGULAR ) 
G0G54G17G90G21G80G40 
G43G00Z100.H1. 
S2000M3 
G0X0.Y0. 
#1=0.(***Z INICIAL**) 
#2=0.500(**INCREMENTO EM Z**) 
#3=-20.(***Z FINAL) 
#4=480(***METADE COMP. EM X) 
#5=188(***METADE COMP. EM Y) 
#6=32(***RAIO DA FRESA) ( SE QUISER DEIXAR SOBREMETAL PARA ULTIMO 
PASSE AUMENTAR RAIO ) 
#7=#4-#6(***METADE COMP. X - RAIO) 
#8=#5-#6(***METADE COMP. Y - RAIO) 
#9=10 (***NUMERO DE PASSES LATERAIS***) 
#10=#7/#9 (**PASSE LATERAL EM X) 
#11=#8/#9 (**PASSE LATERAL EM Y) 
#12=0. (**INICIAL EM X) 
#13=0. (**INICIAL EM Y) 
#14=35. (**RAIO CANTOS) 
#15=#14-#6 (**RAIO CANTO -RAIO FRESA) 
 
(NÃO ALTERAR DAQUI EM DIANTE) 
G0Z5. 
G01Z#1F200 
N1#1=[#1-[+#2]] 
G01Z#1F200 
#12=0. 
#13=0. 
G40GO1X0.Y0.F1800 
N2#12=#12+#10 
#13=#13+#11 
G01Y-#13 F1800 
X#12,R#15 
Y#13,R#15 
 
 
X-#12,R#15 
Y-#13,R#15 
X0. 
IF[#12LT#7]GOTO2. 
N3G41G01Y-#5D1F1800 
X#4,R#14 
Y#5,R#14 
X-#4,R#14 
Y-#5,R#14 
X#6 
G40G01X0.Y0. 
IF[#1GT#3]GOTO1 
G00Z100. 
M30. 
% 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
INTERPOLAÇÃO HELICOIDAL PARAMETRIZADA( COM DESLOCAMENTO 
DE PONTO ZERO) 
 
%(PROGRAMA PRINCIPAL) 
O517 
G21G40G54G80G90 
S1000M3 
GZ100. 
G43G0Z100.H1 
G52 X-50 Y0 
M98 P10 L1 
G52 X50 Y50 
M98 P10 L1 
G52 X50 Y-50 
M98 P10 L1 
M30 
 
 
%(SUBPROGRAMA) 
X0 Y0 
#1=0.(z inicial) 
#2=1.(incremento em z) 
#3=-10.(Z FINAL) 
#4=20.(raio do furo) 
GZ5. 
G01Z#1F200 
G01G41D1X#4F2000 
N10#1=[#1-[+#2]] 
G3X#4I-#4J0Z#1A360F1800 
IF[#1GT#3]GOTO10 
G40G1X0Y0 
N20G0Z100. 
M99 
% 
 
 
 
 
 
RAIO NA FACE DE UMA PEÇA CILINDRICA 
 
VAMOS PODER VER A PROGRAMAÇÃO DE UM RAIO NUMA PEÇA CILINDRICA 
COM 50MM DE DIÂMETRO E UM RAIO DE 10MM. 
 
%(RAIO FACE) 
O518 
G21G40G54G80G90 
S1000M3 
GZ100. 
G43G0Z100.H1 
 
 
G0Z10 
#1 = 10 (RAIO DA FACE) 
#2 = 1 (ANGULO INICIAL) 
#3 = 15 (INICIO DO RAIO DE 10MM) 
G0X-50 Y+0 
N10 
#4 = SIN [#2] (SENO DO ÂNGULO) 
#5 = COS [#2] (COSENO DO ÂNGULO) 
#6 = #4 * #1 (MULTIPLICAÇÃO DO SENO PELO RAIO DE 10MM) 
#7 = #5 * #1 (MULTIPLICAÇÃO DO COSENO PELO RAIO DE 10MM) 
#8 = #1 - #7 (SUBTRAÇÃO DO RAIO DE 10MM PELO COSENO) 
#9 = #6 + #3 (ADIÇÃO DO SENO COM O INICIO DO RAIO DE 10MM) 
G0Z-#8 
G41G01D1X-#9F1800 
G2X-#9Y0I#9J0 
G1G40X-50Y0 
#2 = #2 +1 (ADIÇÃO DO ÂNGULO, SOMARÁ ATÉ 90 GRAUS) 
IF[#2LT91.] GOTO10G0Z10 
M30 
% 
NESTE CASO O ANGULO É ATRIBUIDO COMO #2, ELE INICIA COM O VALOR 
DE 1 FORA DA SUBROTINA. 
DENTRO DA SUBROTINA É FEITA ADIÇÃO EM SEGUIDA É PROGRAMDO UM 
DESVIO SE #2 (ÂNGULO) FOR MENOR QUE 91 VA PARA O N 10. 
 
 
TENHO UMA PEÇA CILINDRICA DE 25MM DE RAIO, COMO ESTÁ SENDO 
EXECUTADO UM RAIO DE 10MM O RAIO TERÁ INICIO APARTIR DO RAIO DE 
15 (#3), ATÉ CHEGAR Á 25MM 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
PARAMETRIZANDO CHANFRO EM FURO 
NESTE EXEMPLO TEMOS 3 FUROS COM DIÂMETRO DE 20MM POR 50MM DE 
PROFUNDIDADE, IREMOS FAZER UM CHANFRO DE 5MM POR 45º COM 
DESLOCAMENTO DE PONTO ZERO. 
 
%(PROGRAMA PRINCIPAL) 
O519 
G21G40G54G80G90 
S1000M3 
GZ100. 
G43G0Z100.H1 
G52 X0 Y0 
M98 P10 L1 
 
G52 X-50 Y0 
M98 P10 L1 
G52 X50 Y0 
M98 P10 L1 
M30 
%(SUBPROGRAMA) 
G0 Z10 
G0X0Y0 
#1 = 15 (RAIO CHANFRO) 
#2 = 0 (ATRIBUIÇÃO DE Z) 
G0 Z0 
N10 
#1 = #1 - 0.25 (SUBTRAÇÃO DO RAIO) 
#2 = #2 + 0.25 (ADIÇÃO DO INCREMENTO EM Z) 
G01 Z--#2F500 
G01G41D1X#1F1800 
G3X#1Y0I-#1J0A360 
G1G40X0 
IF[#2LT5] GOTO10 (SE #2 FOR MENOR QUE 5 VA PARA LINHA 10) 
G0Z10 
M99 
% 
 
 
VIMOS QUE É ATRIBUIDO UM VALOR PARA O RAIO (#1=15MM) E PARA O 
INCREMENTO EM Z (#2) FORA DO LABEL, DENTRO DO LABEL N10 ESSE 
VALOR É SUBTRAÍDO POR 0.25 E O VALOR DE Z É ADICIONADO 0.25, NO 
FINAL É COLOCADO UM DESVIO SE #2 (INCREMENTO EM Z) FOR MENOR QUE 
5 VA PARA N10, ENQUANTO #2 NÃO CHEGAR AO VALOR DE Z-5 VAI REPETIR 
O N10, AUTOMATICAMENTE O VALOR DE #1 VAI SER SUBTRAÍDO 5MM 
CHEGANDO AO RAIO DE 10MM, QUE É A METADE DO FURO QUE ESTAVA 
PRONTO. 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
TRIGONOMETRIA 
INTRODUÇÃO 
Trigonometria (do grego trígonon + metría) é o estudo puro e simples das medidas dos 
lados, ângulos e outros elementos dos triângulos. 
O matemático suíço Leonhard Euler, um dos grandes matématicos do século XVIII, 
desvinculou a Trigonometria da Astronomia transformando-a em um dos diversos 
ramos independentes da matemática. 
A Trigonometria é usada em vários áreas das ciências, como as Engenharias, a Física, 
a Astronomia, a Navegação, etc. 
 
RAZÕES TRIGONOMÉTRICAS 
Chamamos de triângulo retângulo o que tem um ângulo igual à 90 graus (ângulo 
reto). 
Num triângulo retângulo, os dois lados que formam o ângulo reto são chamados de 
"Catetos" e o lado em frente ao ângulo reto é a "Hipotenusa". 
Pitágoras, através de seu teorema demostra que: "Em um triângulo retângulo, a 
hipotenusa ao quadrado é igual a soma dos catetos ao quadrado", ou seja, h
2
= c
2
+ c
2
. 
 
Seno - Num triângulo retângulo, o sen de um ângulo agudo é dado pelo quociente 
(razão) entre o cateto oposto a esse ângulo e a hipotenusa. 
Cosseno - Num triângulo retângulo, o cos de um ângulo agudo é dado pelo quociente 
entre o cateto adjacente a esse ângulo e a hipotenusa. 
Tangente - Num triângulo retângulo, a tg de um ângulo agudo é dado pelo quociente 
entre o cateto oposto e cateto adjacente a esse ângulo. Podemos também dividir o 
valor do seno do ângulo pelo valor do cosseno do mesmo ângulo. 
 
 
 
 
EXEMPLOS 
 
1-) Vamos calcular o sen, o cos e a tg dos dois ângulos 
agudos do triângulo abaixo: 
 Resolução: 
 sen = 3/5 ; sen = 4/5 
 
 cos = 4/5 ; cos = 3/5 
 
 tg = 3/4 ; tg = 4/3 
 
 
2-) Com o auxílio da tabela trigonométrica, vamos calcular o valor do lado X no 
triângulo retângulo dado: 
 Resolução: 
 cos 40
o
 = X/10 
 
 X = 10 . cos 40
o
 
 
 X = 10 . 0,766 
 
 X = 7,66 
TABELA TRIGONOMÉTRICA 
Podemos tabular os valores trigonométricos dos ângulos agudos, isto é, ângulos entre 
1
o
 e 89
o
. 
Abaixo temos a tabela: 
 
 
Ângulo sen cos tg 
1 0,017452 0,999848 0,017455 
2 0,034899 0,999391 0,034921 
3 0,052336 0,99863 0,052408 
4 0,069756 0,997564 0,069927 
5 0,087156 0,996195 0,087489 
6 0,104528 0,994522 0,105104 
7 0,121869 0,992546 0,122785 
8 0,139173 0,990268 0,140541 
9 0,156434 0,987688 0,158384 
10 0,173648 0,984808 0,176327 
11 0,190809 0,981627 0,19438 
12 0,207912 0,978148 0,212557 
13 0,224951 0,97437 0,230868 
14 0,241922 0,970296 0,249328 
15 0,258819 0,965926 0,267949 
16 0,275637 0,961262 0,286745 
17 0,292372 0,956305 0,305731 
18 0,309017 0,951057 0,32492 
19 0,325568 0,945519 0,344328 
20 0,34202 0,939693 0,36397 
21 0,358368 0,93358 0,383864 
22 0,374607 0,927184 0,404026 
23 0,390731 0,920505 0,424475 
24 0,406737 0,913545 0,445229 
25 0,422618 0,906308 0,466308 
26 0,438371 0,898794 0,487733 
27 0,45399 0,891007 0,509525 
28 0,469472 0,882948 0,531709 
29 0,48481 0,87462 0,554309 
30 0,5 0,866025 0,57735 
31 0,515038 0,857167 0,600861 
32 0,529919 0,848048 0,624869 
 
 
33 0,544639 0,838671 0,649408 
34 0,559193 0,829038 0,674509 
35 0,573576 0,819152 0,700208 
36 0,587785 0,809017 0,726543 
37 0,601815 0,798636 0,753554 
38 0,615661 0,788011 0,781286 
39 0,62932 0,777146 0,809784 
40 0,642788 0,766044 0,8391 
41 0,656059 0,75471 0,869287 
42 0,669131 0,743145 0,900404 
43 0,681998 0,731354 0,932515 
44 0,694658 0,71934 0,965689 
45 0,707107 0,707107 1 
46 0,71934 0,694658 1,03553 
47 0,731354 0,681998 1,072369 
48 0,743145 0,669131 1,110613 
49 0,75471 0,656059 1,150368 
50 0,766044 0,642788 1,191754 
51 0,777146 0,62932 1,234897 
52 0,788011 0,615661 1,279942 
53 0,798636 0,601815 1,327045 
54 0,809017 0,587785 1,376382 
55 0,819152 0,573576 1,428148 
56 0,829038 0,559193 1,482561 
57 0,838671 0,544639 1,539865 
58 0,848048 0,529919 1,600335 
59 0,857167 0,515038 1,664279 
60 0,866025 0,5 1,732051 
61 0,87462 0,48481 1,804048 
62 0,882948 0,469472 1,880726 
63 0,891007 0,45399 1,962611 
64 0,898794 0,438371 2,050304 
65 0,906308 0,422618 2,144507 
 
 
66 0,913545 0,406737 2,246037 
67 0,920505 0,390731 2,355852 
68 0,927184 0,374607 2,475087 
69 0,93358 0,358368 2,605089 
70 0,939693 0,34202 2,747477 
71 0,945519 0,325568 2,904211 
72 0,951057 0,309017 3,077684 
73 0,956305 0,292372 3,270853 
74 0,961262 0,275637 3,487414 
75 0,965926 0,258819 3,732051 
76 0,970296 0,241922 4,010781 
77 0,97437 0,224951 4,331476 
78 0,978148 0,207912 4,70463 
79 0,981627 0,190809 5,144554 
80 0,984808 0,173648 5,671282 
81 0,987688 0,156434 6,313752 
82 0,990268 0,139173 7,11537 
83 0,992546 0,121869 8,144346 
84 0,994522 0,104528 9,514364 
85 0,996195 0,087156 11,43005 
86 0,997564 0,069756 14,30067 
87 0,99863 0,052336 19,08114 
88 0,999391 0,034899 28,63625 
89 0,999848 0,017452 57,28996 
 
 
 
 
 
 
 
 
CIRCUNFERÊNCIA TRIGONOMÉTRICA 
Seja uma circunferência de centro O sobre a qual marcamos dois pontos distintos, A e 
B. A cada uma das partes em que a circunferência fica dividida chamamos arco de 
circunferência. 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
PARÂMETROS DE CORTE

Outros materiais