Docsity
Docsity

Prepare-se para as provas
Prepare-se para as provas

Estude fácil! Tem muito documento disponível na Docsity


Ganhe pontos para baixar
Ganhe pontos para baixar

Ganhe pontos ajudando outros esrudantes ou compre um plano Premium


Guias e Dicas
Guias e Dicas


Programação parametrizada - Fanuc, Notas de estudo de Cultura

Programação MACRO-PARAMETRICA

Tipologia: Notas de estudo

2011
Em oferta
30 Pontos
Discount

Oferta por tempo limitado


Compartilhado em 19/06/2011

gilmar-dos-santos-9
gilmar-dos-santos-9 🇧🇷

4.3

(9)

4 documentos

1 / 26

Toggle sidebar

Esta página não é visível na pré-visualização

Não perca as partes importantes!

bg1
®S43784D - Manual de Programação e Operação - CNC Fanuc 21i - MB
12 - MACRO B
Através do uso de subprograma pode-se repetir facilmente a mesma operação. Com a função
MACRO também, pois permite o uso de variáveis, operações aritméticas, desvios condicionais, etc.
Com isso o usuário consegue criar desde programas como alojamentos e ciclos próprios definidos
pelo usuário.
Um programa pode invocar uma macros através de um simples comando.
PROGRAMA DE USINAGEM MACRO
O0001 O9130
: :
: #1=#18/2
: G01 G42 X#1 Y#1 F300
G65 P9130 R50 L2 G02 X#1 Y#1 R#1
: :
: :
: :
M30
M99
Explanação:
Quando definimos uma variável, especificamos um símbolo (#) seguido pelo numero da
variável. computadores pessoais permitem assinalar um nome para variável, porém esta
possibilidade não e permitida nesta macro.
Exemplo: #1
Uma expressão pode ser usada para especificar o numero da uma variável, nesse caso, a
expressão deve ser expressa entre colchetes.
Exemplo: # [#1+#2-12]
12.1 - 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 e invocada, argumentos são assinalados para a variáveis locais;
c) #100 - #149 (#199) / #500 - #531 (#999) - Variáveis comuns Podem estar parcialmente
entre diferentes programas Macros. Quando o comando e desligado, as variáveis #100 a #531 mantém
os dados sempre que o comando for desligado. 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.
1
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15
pf16
pf17
pf18
pf19
pf1a
Discount

Em oferta

Pré-visualização parcial do texto

Baixe Programação parametrizada - Fanuc e outras Notas de estudo em PDF para Cultura, somente na Docsity!

® S43784D - Manual de Programação e Operação - CNC Fanuc 21i - MB

12 - MACRO B

Através do uso de subprograma pode-se repetir facilmente a mesma operação. Com a função MACRO também, pois permite o uso de variáveis, operações aritméticas, desvios condicionais, etc. Com isso o usuário consegue criar desde programas como alojamentos e ciclos próprios definidos pelo usuário. Um programa pode invocar uma macros através de um simples comando.

PROGRAMA DE USINAGEM MACRO

O0001 O

: G01 G42 X#1 Y#1 F

G65 P9130 R50 L2 G02 X#1 Y#1 R#

M

M

Explanação:

Quando definimos uma variável, especificamos um símbolo (#) seguido pelo numero da variável. computadores pessoais permitem assinalar um nome para variável, porém esta possibilidade não e permitida nesta macro.

Exemplo : #

Uma expressão pode ser usada para especificar o numero da uma variável, nesse caso, a expressão deve ser expressa entre colchetes. Exemplo: # [#1+#2-12]

12.1 - 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 e invocada, argumentos são assinalados para a variáveis locais; c) #100 - #149 (#199) / #500 - #531 (#999) - Variáveis comuns  Podem estar parcialmente entre diferentes programas Macros. Quando o comando e desligado, as variáveis #100 a #531 mantém os dados sempre que o comando for desligado. 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.

1

® S43784D - Manual de Programação e Operação - CNC Fanuc 21i - MB

12.2 - Gama de valores para as variáveis

Variáveis locais e comuns podem ter valor = 0 ou um valor na seguinte faixa

-10 47 a -10 - 10 -29^ a 10 47

Se o resultado do calculo for invalido, um alarme 111 será mostrado.

12.3 - Omissão do ponto decimal

Quando um valor de variável for definido em um programa, o ponto decimal pode ser omitido. Exemplo: Quando #1=123 for definido, o valor real da variável #1 é 123.

12.4 - Referenciando variáveis

Para referenciar o valor de uma variável em um programa, especifique o endereço seguido pelo numero 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#

Um valor de variável e automaticamente arredondado de acordo com o mínimo incremento do endereço

Exemplo : Quando G0 X#1; for executado no CNC 1/1000mm e o valor for 12,3456 for assinalado para a variável #1 o comando interpreta como G0 X12,346.

Para reverter o sinal do valor de uma variável, programe o sinal menos (-) para uma variável.

Exemplo: G0 X-#

12.5 - Operações aritiméticas e operações lógicas

As operações listadas na tabela seguinte podem ser executadas com variáveis. A expressão a direita da operação pode conter constantes e/ou variáveis combinadas por uma função ou operação. As variáveis #J e #K podem ser substituídas por uma constante. As variáveis da esquerda também podem ser substituídas por uma expressão.

® S43784D - Manual de Programação e Operação - CNC Fanuc 21i - MB

12.2 - Gama de valores para as variáveis

Variáveis locais e comuns podem ter valor = 0 ou um valor na seguinte faixa

-10 47 a -10 - 10 -29^ a 10 47

Se o resultado do calculo for invalido, um alarme 111 será mostrado.

12.3 - Omissão do ponto decimal

Quando um valor de variável for definido em um programa, o ponto decimal pode ser omitido. Exemplo: Quando #1=123 for definido, o valor real da variável #1 é 123.

12.4 - Referenciando variáveis

Para referenciar o valor de uma variável em um programa, especifique o endereço seguido pelo numero 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#

Um valor de variável e automaticamente arredondado de acordo com o mínimo incremento do endereço

Exemplo : Quando G0 X#1; for executado no CNC 1/1000mm e o valor for 12,3456 for assinalado para a variável #1 o comando interpreta como G0 X12,346.

Para reverter o sinal do valor de uma variável, programe o sinal menos (-) para uma variável.

Exemplo: G0 X-#

12.5 - Operações aritiméticas e operações lógicas

As operações listadas na tabela seguinte podem ser executadas com variáveis. A expressão a direita da operação pode conter constantes e/ou variáveis combinadas por uma função ou operação. As variáveis #J e #K podem ser substituídas por uma constante. As variáveis da esquerda também podem ser substituídas por uma expressão.

® S43784D - Manual de Programação e Operação - CNC Fanuc 21i - MB

12.5.1 - Tabela de operações aritiméticas e operações lógicas

Função Formato

DEFINICAO #I=#J

SOMA #I=#J+#K

DIFERENCA #I=#J-#K

PRODUTO #I=#Jx#K

QUOCIENTE #I=#J/#K

SENO #I=SIN[#J]

COSSENO #I=COS[#J]

TANGENTE #I=TAN[#J]

ARCO TANGENTE #I=ATAN[#J]/[#K]

RAIZ QUADRADA #I=SQRT[#J]

VALOR ABSOLUTO #I=ABS[#J]

ARREDONDAMENTO #I=ROUND[#J]

ARREDONDAMENTO DOWN #I=FIX[#J]

ARREDONDAMENTO UP #I=FUP[#J]

OR #I=#J OR #K

XOR #I=#J XOR #K

AND #I=#J AND #K

CONVERSAO DE BCD A BIN #I=BIN[#J]

CONVERSAO DE BIN A BCD #I=BCD[#J]

OBSERVAÇÃO : Uma operação lógica se executa em números binários bit a bit.

® S43784D - Manual de Programação e Operação - CNC Fanuc 21i - MB

® S43784D - Manual de Programação e Operação - CNC Fanuc 21i - MB

Exemplo:

#1=#2+#3*SIN[#4]

Primeira resolução SIN[#4] Segunda resolução #3SIN[#4] Terceira resolução #2+#3SIN[#4]

12.7 - Níveis de colchetes

Para modificar as ordens das operações deve-se usar colchete []. Os colchetes podem ser usados ate 5 níveis incluindo os colchetes usados ate fechar a expressão. Quando um nível de 5 colchetes for ultrapassado um alarme 118 ocorrera.

Exemplo: #1=SIN[[[#2+#3]#4+#5]#6]

1ª operação [#2+#3] 2ª operação [#2+#3]# 3ª operação [[#2+#3]#4+#5] 4ª operação [[#2+#3]#4+#5]# 5ª operação SIN[[[#2+#3]#4+#5]#6]

12.8 - Desvio e repetição

Em um programa o fluxo do controle pode modificar-se usando a declaração GOTO e a declaração IF de desvio e repetições. Três tipos de operações são usadas:

1ª GOTO - desvio incondicional 2ª IF - desvio condicional: SE, ENTAO. 3ª WHILE - repetição: ENQUANTO.

12.8.1 - Desvio incondicional - GOTO

Executa um desvio para o número de seqüência N. Quando se especifica um numero de seqüência não compreendido entre 1 ate 99999, um alarme 128 será mostrado. Também pode-se especificar um numero de seqüência usando uma expressão.

GOTO N N - número de seqüência (1 ate 99999)

Exemplo: GOTO500; (desvia para o bloco N500)

® S43784D - Manual de Programação e Operação - CNC Fanuc 21i - MB

Programa exemplo:

Determinar a soma dos números de 1 a 10.

O #2=1 Valor inicial da variável #2= N1 IF[#2 GT10] GOTO2 Desviar para N2 se #2 for maior que 10 #2=#2+1 Incrementando a variável GOTO 1 Desviar para N N2 M30 Fim do programa

Os valores das variáveis #2 a cada etapa. #2=2,3,4,5,6,7,7,8,9,10,11.

12 .8.3 - Repetição - WHILE

Especifique uma expressão condicional depois de WHILE. Enquanto a condição especificada for verdadeira, o programa vai sendo executado desde a declaração DO ate a declaração END. Se a condição especificada for falsa o programa passa a ser executado no bloco que vem em seguida a declaração END.

se for falsa a condição

WHILE [expressão condicional] DOm (m=1,2,3)

Processamento END

m : :

se for verdadeira a condição

Explicação:

Enquanto a condição especificada for verdadeira, depois de WHILE 0, desde a declaração DO ate a declaração END. Se a condição especificada for falsa o programa continua sendo executado a partir do bloco que vem depois de END. Se aplica idêntico formato para a declaração IF. Um numero depois de DO e um numero depois de END são números de identificação para especificar um intervalo de execução. Deve-se usar os números 1, 2 e 3, quando se usa um numero diferente de 1, 2 e 3 e mostrado o alarme 126.

12 .8.4 - Níveis de rotinas usando a função WHILE

Os números de identificação de 1 ate 3 em um desvio DO-END pode ser usado quantas vezes desejado. Note porem que quando um programa inclui rotinas de repetição entrelaçados (intervalos do sobrepostos) um alarme 124 ocorrerá.

4 - O comando pode ser transferido para uma rotina externa.

WHILE [.....] DO

IF [.....] GOTO n : END 1 : N n

5 - Os desvios não podem ocorrer para um ponto dentro da rotina.

IF [.....] GOTO n : WHILE [.....] DO : N n : END 1

12 .9 - Limites

Quando se especifica DOm sem especificar a declaração WHILE, se executa uma rotina infinita que vai desde DO ate END. Tempo de processamento: Quando se executa um desvio a um numero de seqüência especificada em uma declaração GOTO se busca um numero de seqüência. Por este motivo o processamento no sentido inverso (para trás), demora-se mais que o processamento no sentido direto (para frente). Utilizando a declaração WHILE para repetição se reduz o tempo de processamento.

12 .10 - Variável não definida

Em uma expressão condicional que utiliza EQ ou NE, uma variável nula e o zero tem efeitos diferentes. Em outros tipos de expressões condicionais, um valor nulo e considerado zero.

12. 1 1 - Chamada de macros

Pode-se invocar um programa macro usando os seguintes métodos. Chamada simples G65. Chamada modal G66. Chamada de macro através do código G. Chamada de macro através do código M. Chamada de subprograma com código M. Chamada de subprograma com código T.

12 .12.1 - Especificação de argumentos I

OBSERVAÇÃO: Os endereços G, L, N, O, e P não podem ser usados como argumento, os endereços que não se usam podem ser omitidos, as variáveis locais correspondentes a um endereço

12 .12.2 - Mesclagem das especificações de argumentos I e II

Endereço Número da OBSERVAÇÃO: Os subíndices de I, J, K, para indicar a ordem da especificação de

  • A # Endereço Número da Variável
  • B #
  • C #
  • D #
  • E #
  • F #
  • H #
  • I #
  • J #
  • K #
  • M #
  • Q #
  • R #
  • S #
  • T #
  • U #
  • V #
  • W #
  • X #
  • Y #
  • Z #
  • A # Variável
  • B #
  • C #
  • I 1 #
  • J 1 #
  • K1 #
  • I 2 #
  • J 2 #
  • K2 #
  • I 3 #
  • J 3 #
  • K3 #
  • I 4 #
  • J 4 #
  • K4 #
  • I 5 #
  • J 5 #
  • K5 #
  • I6 # Endereço Número da Variável
  • J6 #
  • K6 #
  • I7 #
  • J7 #
  • K7 #
  • I8 #
  • J8 #
  • K8 #
  • I9 #
  • J9 #
  • K9 #
  • I10 #
  • J10 #
  • K10 #

12.14.2 - Variáveis comuns

#100 - , #500 - Variáveis que podem ser lidas e gravadas por macros em diferentes níveis.

12 .15 - Chamada modal (G66)

Ativa uma macro depois do deslocamento dos eixos. Isto continua ate que se programe a função G67 para anular uma chamada MODAL.

Sintaxe:

G66 P__ L_____

Onde:

P - número do subprograma L - número de repetições

Argumentos dados transferidos a macro. Exemplo: O . G66 P9101 A1 B2 O G0 G90 X0 Y0 G01 Z-#1 F X50 Y50 Z-# G6 7 M9 9 M

Explicações:

Após especificar G66, programe o endereço P com o numero do programa que contem a macro. Quando se deseja o numero de repetições, o endereço L pode conter um numero de 1 ate

  1. Assim como usado na função G65, os dados são transferidos a um programa de macro através de argumentos.

Cancelamento: Quando se especifica um código G67 já não se excetua as chamadas modais nos blocos posteriores. Níveis de chamadas: As chamadas podem ser especificadas usando desvios ate 4 níveis incluindo as chamadas modais. Níveis de chamadas modais: Pode-se ativar uma chamada modal dentro de outras especificando outro código G66. Limitações: Em um bloco G66 não se pode ativar macros. G66 deve ser especificado antes de qualquer argumento. As variáveis locais (argumentos) podem ser definidas unicamente em blocos G66.

12 .16 - Exemplos de programação:

Abaixo estão alguns exemplos de aplicação da programação parametrizada.

Exemplo 1: Programa parametrizado para executar uma família de peças, conforme o desenho abaixo:

O0001 (FAMILIA 1)

N10 #1=60 (COMPRIMENTO 1)

N20 #2=100 (COMPRIMENTO TOTAL DA PECA)

N30 #3=30 (LARGURA 1)

N40 #4=60 (LARGURA TOTAL DA PECA

N50 #5=5 (LARG. DO CHANFRO x 45 GRAUS) N60 #6=25 (RAIO 1) N70 #7=7 (RAIO 2) N80 #8=20 (RAIO 3) N90 #9=20 (DIAMETRO DA FERRAMENTA) N100 #10=400 (AVANCO) N110 # 1 1=0 (Z INICIAL) N120 #12=-20 (Z FINAL ) N130 #13=2 (PROFUNDIDADE DE CORTE) N140 #14=5 (FOLGA P/ APROXIM. EM X E Y) N150 #15=5 (FOLGA P/ APROXIM. EM Z) N160 #9=#9/2 (CALCULO DO RAIO DA FERRAM.) N170 # 1 1=# 1 1+#15 (CALCULO DO Z INICIAL) N180 #20=# 1 1-#13 (COORD. PRIMEIRA PASSADA) N190 G17 G21 G90 G N200 G53 G0 Z- 1 10 H

N210 T

N220 M

N230 G54 S3500 M

N240 G0 X-[#9+#14] Y-[#9+#14] M

N250 G43 Z[# 1 1] H3 D

N260 G0 Z[#20]

N270 G42 G1 X0 Y0 F[#10]

N280 X[#1] ,R[#8]

N290 X[#2] Y[#3]

N300 Y[#4] ,C[#5]

N310 X[#6]

N320 G2 X0 Y[#4-#6] R[#6] ,R[#7]

N330 G1 Y

N340 G40 X-[#9+#14] Y-[#9+#14]

N350 #20=[#20-#13]

N360 IF [ #20 GT #12 ] GOTO

N370 G0 Z[#12]

N380 GOTO

N390 G0 Z[# 1 1]

N400 G53 G0 Z- 1 10 H0 M

N410 M

Exemplo 2: Programa parametrizado para fazer um arco (círculo) de posicionamentos, conforme o desenho abaixo:

#5x45º