Autor Tópico: Programação - Repetição com Interpolação  (Lida 2943 vezes)

Description:

0 Membros e 1 Visitante estão vendo este tópico.

Offline jpdevolta

  • Novato
  • *
  • Posts: 2
  • Sexo: Masculino
  • GUIA CNC
  • Cidade - UF: Belo Horizonte - MG
  • Nome:: João Paulo de Menezes Gonçalves
  • Profissão: Engenheiro
Programação - Repetição com Interpolação
« Online: 18 de Dezembro de 2014, 10:13 »
Olá Amigos ! ... Bom dia ...
Me deparei com uma situação para a qual ainda não enxerguei saída ... estou adaptando minha retífica plana, automatizando os 3 eixos ... vou utilizar o Mach3 para controle ... só que ainda não enxerguei como colocar 2 eixos (X e Y) em looping contínuo simultaneamente ... somado a isso ainda preciso comandar o eixo Z a cada revolução do eixo Y ... to bem perdido nessa !

Idéias serão sempre bem vindas ! 

Offline F.Gilii

  • Administrador
  • CNCMASTER
  • *******
  • Posts: 13796
  • Sexo: Masculino
  • Consultoria, Automação e Construção de Máquinas
  • Cidade - UF: Atibaia - SP
  • Nome:: Fabio Gilii
  • Profissão: Tec. Mecanica de Precisão
Re:Programação - Repetição com Interpolação
« Resposta #1 Online: 18 de Dezembro de 2014, 10:40 »
A coisa precisa ser mais bem esmiuçada...

Se minha bola de cristal estiver funcionando, imagino que voce queira fazer ciclos de funcionamento onde:
- a mesa se movimente para direita-esquerda ininterruptamente (pelo menos durante o ciclo de retificação)
- que exista um movimento lateral incremental por exemplo no final de cada curso longitudinal, ou sempre de um lado (sempre na direita ou sempre na esquerda)
- que exista a possibilidade de incrementar um avanço em altura sempre que um determinado ciclo "terminar" - por exemplo quando uma determinada área de retificação foi coberta ou completa...

Imagino que para isso dê para criar um programa "na unha", pois desconheço qualquer programa dedicado à função de retífica.

Uma outra maneira de fazer isso seria com um ajuste de altura (Z) manual ou seja - um operador faz os incrementos de altura como em muitas retíficas comuns...

Para isso eu criaria um código mais ou menos assim: (com incremento de avanço lateral no final de cada percurso) - curso direita/esquerda de 200 mm - avanço lateral de 2mm

Código: [Selecionar]
g01 x0 y0
x200
y 2
x0
y4
x200
y6
x0
y8
x200
y10
x0
y12
x200
y14
x0
y16
x200
y18
x0
y20
x200
y18
x0
y16
x200
y14
x0
y12
x200
y10
x0
y8
x200
y6
x0
y4
x200
y2
x0
M47

Com este codigo acima, o ciclo se repetirá indefinidamente por causa do comando M47 no final...

Veja - é apenas uma idéia, mas creio que funcione...

Offline jpdevolta

  • Novato
  • *
  • Posts: 2
  • Sexo: Masculino
  • GUIA CNC
  • Cidade - UF: Belo Horizonte - MG
  • Nome:: João Paulo de Menezes Gonçalves
  • Profissão: Engenheiro
Re:Programação - Repetição com Interpolação
« Resposta #2 Online: 18 de Dezembro de 2014, 12:10 »
Obrigado pelo auxílio F.Gilii ...

Vou tentar esmiuçar melhor o problema:

Vamos considerar que o ponto zero do eixo X (transversal - direita/esquerda) esteja na extrema esquerda, desta forma teremos amplitude de movimento positiva em 500 mm.
Já o ponto zero do eixo Y (longitudinal - frente/trás) será em um dos extremos (frente provavelmente), oferecendo amplitude de movimento positiva em 200 mm

Ao mesmo tempo que o eixo X se move de um lado para o outro de forma continua, o eixo Y se movimenta de frente para trás e vice versa também de modo contínuo ... a diferença entre eles estará na velocidade ... X em aproximadamente 200 mm/s e Y em 2 mm/s, ou seja, a cada meio ciclo de Y ( 0 a 200) o eixo X completará cerca de 20 ciclos completos (0 a 500 e de volta a 0) ...

Somado a isso gostaria incrementar um avanço de Z sempre que Y atingir seus limites (seja 200 ou 0) ...

Qualquer ideia será muito bem vinda e novamente agradeço pela sugestão dada ...     

Offline Jorge_BH

  • CNCMASTER
  • ******
  • Posts: 2503
  • Sexo: Masculino
  • Jorge Maluf Jacob
  • Cidade - UF: Belo Horizonte-MG
  • Profissão: Administrador de Empresas
Re:Programação - Repetição com Interpolação
« Resposta #3 Online: 18 de Dezembro de 2014, 12:10 »
Eu pensei usar um loop:


     G0 Z0 X0 Y0
     G1 Z-1

    #100 = 1 (atribui o valor 1, ou qualquer outro, à variável #100)

    WHILE [#100 LE 5] DO1 (enquanto a variável não atingir o valor 5, ou qualquer outro, o loop abaixo será executado)
       

        G1 X200 F500
        G1 X0 F500
        G1 Y[#100] F500

        #100 = #100 + 1 (aumenta 1 no valor da variável)

    END1

Isso é só uma idéia. Tem de adaptar para o serviço que se deseja. Pode aumentar ou não o valor de Z dentro desse loop ou fazer outro só para isso.
Abç

Offline Carlos Koehler

  • Hobby
  • ****
  • Posts: 329
  • Sexo: Masculino
  • A pratica conduz à excelência.
Re:Programação - Repetição com Interpolação
« Resposta #4 Online: 18 de Dezembro de 2014, 13:25 »
Não conheço bem retificas planas, mas talvez se usar o Artcam para gerar o G cod, poderia criar esse movimento usando modo de  percurso "desbaste", ajustando os valores do passe lateral e profundidade editando a ferramenta.

Offline Eneias Eringer

  • Hobby
  • ****
  • Posts: 769
  • Sexo: Masculino
Re:Programação - Repetição com Interpolação
« Resposta #5 Online: 18 de Dezembro de 2014, 22:14 »
Fiz esse para o linux CNC deve ter algum errinho mas deve funcionar !!!


#<X_INIC>=0
#<X_FINA>=200
#<Y_INIC>=0
#<Y_FINA>=200
#<Z_INIC>=30.5
#<Z_FINA>=30.0
#<INCR_Z>=0.02
#<INCR_Y>=30
#<AVANCO>=300



G00 G90 G21 G40

X#<X_INIC> Y#<Y_INIC> Z#<Z_INIC>

#2=#<Z_INIC>

O2WHILE[#2GE#<Z_FINA>]
G00 Z#2

#1=#<Y_INIC>
O1WHILE[#1LE#<Y_FINA>]
G01 Y#1 F#<AVANCO>
X#<FINA>
#1=[#1+#<INCR_Y>]
Y#1
X#<X_INIC>
#1=[#1+#<INCR_Y>]
O1ENDWHILE

#2=[#2-#<INCR_Z>]
O2ENDWHILE

M30


 

/** * */