Autor Tópico: Script de Zero Automático - Mach3  (Lida 509 vezes)

Description:

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

Offline Edu Lopes

  • Hobby
  • ****
  • Posts: 284
  • Sexo: Masculino
  • Nome:: Eduardo Farias
Script de Zero Automático - Mach3
« Online: 10 de Setembro de 2020, 20:43 »
Oi pessoal..  eu, timidamente, de volta.. rsssss.. 
Fiquei fora muito tempo devido a problemas pessoais mas estou finalmente voltando e estou com um probleminha..
Baixei um script aqui mesmo no Guia CNC para zeramento automático de ferramentas.
Funciona direitinho, zera certinho, porém, faz o zero na parte de cima da placa de toque.
Lidei bastante mas não consegui configurar ele para compensar a medida da placa.
A minha placa mede 25mm...  A sonda desce, apoia na placa, sobe novamente depois volta a descer até tocar na placa.
Aí ela sobe novamente e para.
Se clico em Go To Zero, ela desce exatamente para a parte superior da placa de toque e zera o eixo.
Fica, portanto, 25mm acima do material a ser usinado...
Podem ver o que está acontecendo com este script?...
Obrigado!..





CurrentFeed = GetOemDRO(818) 'Get the current feedrate to return to later
PlateThickness = 9.40 'Espessura do bloco de contato em mm

Code "(Calibração do Eixo Z em andamento - AGUARDE !!!)" 'puts this message in the status bar
If GetOemLed(825)=false Then 'Check to see if the probe is already grounded or faulty
   DoOEMButton (1010) 'zero the Z axis so the probe move will start from here
   Code "G4 P2" ' two second delay
   Code "G31 Z-30.0 F300" 'Eixo Z abaixa no max 30mm com FeedRate de 300 IPM
   While IsMoving() 'espera eixos se moverem
   Wend
   'MsgBox (GetOemLed(825))
   If GetOemLed(825)=true Then 'verifica se o movimento parou devido ao toque ou curso máximo
      'Code "G4 P1" ' one second delay
      Code "(Toque detectado - Fazendo recuo para ajuste fino)"
      DoOEMButton (1010) 'zero the Z axis so the probe move will start from here
      Code "G4 P1" ' two second delay
      Code "G1 Z0.5 F300"
      While IsMoving ()'espera eixos se moverem
      Wend
      Code"(Fazendo Calibração com aproximação lenta)"
      Code "G31 Z-1.0 F5" 'Eixo Z abaixa no max  1mm com FeedRate de 5 IPM para calibração fina
      ZProbePos = GetVar(2002) 'pega o valor do ponto exato onde o bloco foi tocado
      While IsMoving ()
      Wend
      Call SetDro (25, PlateThickness) 'set the Z axis DRO to whatever is set as plate thickness
      Code "G4 P0.25" 'Pause for Dro to update.
      Code "G1 Z" & PlateThickness + 5 &" F1000"  'retract Z 5mm acima do Bloco de contato
      Code "(Z axis está zerado)" 'puts this message in the status bar
      Code "F" &CurrentFeed 'Returns to prior feed rate
   Else
      Code "(Probe não fez contato com o bloco. Calibração Abortada)" 'this goes in the status bar if aplicable
   MsgBox ("Calibração não realizada - verificar ligação da probe e percurso máximo de calibração de 30mm")

   End If
Else
   Code "(O Bloco de contato está aterado, verifique a fiação e tente de novo)" 'this goes in the status bar if aplicable
   MsgBox (GetOemLed(825))
      Exit Sub
End If         

Offline Alebe

  • CNCMASTER
  • ******
  • Posts: 3688
  • Sexo: Masculino
  • Cidade - UF: São Paulo - SP
Re:Script de Zero Automático - Mach3
« Resposta #1 Online: 11 de Setembro de 2020, 14:57 »
Grande Edu,
Bom saber que tá ativo e produtivo.

A parte de zeramento é nestas linhas do seu script:
ZProbePos = GetVar (2002) 'pega o valor do ponto exato onde o bloco foi tocado
      While IsMoving ()
      Wend
      Chame SetDro (25, PlateThickness) 'defina o DRO do eixo Z para o que for definido como espessura da placa.

Não tem o valor especificado aí.

Nos meus probes ainda uso o G92+"valor (espessura) do bloco".

Abraços

Offline Edu Lopes

  • Hobby
  • ****
  • Posts: 284
  • Sexo: Masculino
  • Nome:: Eduardo Farias
Re:Script de Zero Automático - Mach3
« Resposta #2 Online: 11 de Setembro de 2020, 23:40 »
Oi Alebe, que bom reencontrá-lo..
Este Script não é meu não.. rsssss..
Catei ele aqui mesmo, numa postagem do Guia CNC...   tentei encontrar o local mas não encontrei de onde foi que copiei este código..
Vou colar o código abaixo...  o que postei anteriormente ficou com caracteres miudinhos demais..   acho que nem postar eu sei mais.. rssssss


CurrentFeed = GetOemDRO(818) 'Get the current feedrate to return to later

PlateThickness = 9.40 'Espessura do bloco de contato em mm

Code "(Calibração do Eixo Z em andamento - AGUARDE !!!)" 'puts this message in the status bar

If GetOemLed(825)=false Then 'Check to see if the probe is already grounded or faulty

   DoOEMButton (1010) 'zero the Z axis so the probe move will start from here
   Code "G4 P2" ' two second delay

   Code "G31 Z-30.0 F300" 'Eixo Z abaixa no max 30mm com FeedRate de 300 IPM
   While IsMoving() 'espera eixos se moverem

   Wend

   'MsgBox (GetOemLed(825))
   If GetOemLed(825)=true Then 'verifica se o movimento parou devido ao toque ou curso máximo

      'Code "G4 P1" ' one second delay

      Code "(Toque detectado - Fazendo recuo para ajuste fino)"
      DoOEMButton (1010) 'zero the Z axis so the probe move will start from here

      Code "G4 P1" ' two second delay

      Code "G1 Z0.5 F300"

      While IsMoving ()'espera eixos se moverem

      Wend

      Code"(Fazendo Calibração com aproximação lenta)"

      Code "G31 Z-1.0 F5" 'Eixo Z abaixa no max  1mm com FeedRate de 5 IPM para calibração fina

      ZProbePos = GetVar(2002) 'pega o valor do ponto exato onde o bloco foi tocado

      While IsMoving ()
      Wend

      Call SetDro (25, PlateThickness) 'set the Z axis DRO to whatever is set as plate thickness

      Code "G4 P0.25" 'Pause for Dro to update.

      Code "G1 Z" & PlateThickness + 5 &" F1000"  'retract Z 5mm acima do Bloco de contato

      Code "(Z axis está zerado)" 'puts this message in the status bar
      Code "F" &CurrentFeed 'Returns to prior feed rate
   Else
      Code "(Probe não fez contato com o bloco. Calibração Abortada)" 'this goes in the status bar if aplicable

   MsgBox ("Calibração não realizada - verificar ligação da probe e percurso máximo de calibração de 30mm")

   End If
Else

   Code "(O Bloco de contato está aterrado, verifique a fiação e tente de novo)" 'this goes in the status bar if aplicable

   MsgBox (GetOemLed(825))
      Exit Sub
End If         


Minha placa de toque mede 25mm...
Tem como voce inserir o valor no local correto?...
Eu tentei mas não consegui achar onde exatamente devo digitar o valor, para que a máquina obedeça o comando corretamente..


Este código faz tudo certinho..  só não compensa a medida da placa de toque..


Apesar de que qualquer código que funcione para mim estaria ótimo..  Nem precisa ser este, especificamente..


Eu tinha um funcional mas acabei perdendo junto com um hd bichado que tinha aqui..


Agora reinstalei tudo mas não consigo colocar este código para funcionar..


Se puder ajudar, agradeço muito!..
« Última modificação: 11 de Setembro de 2020, 23:52 por Edu Lopes »

Offline Alebe

  • CNCMASTER
  • ******
  • Posts: 3688
  • Sexo: Masculino
  • Cidade - UF: São Paulo - SP
Re:Script de Zero Automático - Mach3
« Resposta #3 Online: 12 de Setembro de 2020, 10:52 »
Oi Edu,
Sei que não é "seu", mas como vc editou virou seu...  ;D ;D ;D

E justamente ao editar é que houve o problema.
Não devemos mexer na linha 25 -> Call SetDro (2, PlateThickness) 'set the Z axis DRO to whatever is set as plate thickness
Essa linha chama o valor da linha 2 -> PlateThickness = 9.40 'Espessura do bloco de contato em mm"
E é esse valor que devemos modificar.
Basta trocar o 9.40 para 25.

Tenta assim:

CurrentFeed = GetOemDRO(818) 'Get the current feedrate to return to later
PlateThickness = 25.0 'Espessura do bloco de contato em mm

Code "(Calibração do Eixo Z em andamento - AGUARDE !!!)" 'puts this message in the status bar
If GetOemLed(825)=false Then 'Check to see if the probe is already grounded or faulty
   DoOEMButton (1010) 'zero the Z axis so the probe move will start from here
   Code "G4 P2" ' two second delay
   Code "G31 Z-30.0 F300" 'Eixo Z abaixa no max 30mm com FeedRate de 300 IPM
   While IsMoving() 'espera eixos se moverem
   Wend
   'MsgBox (GetOemLed(825))
   If GetOemLed(825)=true Then 'verifica se o movimento parou devido ao toque ou curso máximo
      'Code "G4 P1" ' one second delay
      Code "(Toque detectado - Fazendo recuo para ajuste fino)"
      DoOEMButton (1010) 'zero the Z axis so the probe move will start from here
      Code "G4 P1" ' two second delay
      Code "G1 Z0.5 F300"
      While IsMoving ()'espera eixos se moverem
      Wend
      Code"(Fazendo Calibração com aproximação lenta)"
      Code "G31 Z-1.0 F5" 'Eixo Z abaixa no max  1mm com FeedRate de 5 IPM para calibração fina
      ZProbePos = GetVar(2002) 'pega o valor do ponto exato onde o bloco foi tocado
      While IsMoving ()
      Wend
      Call SetDro (2, PlateThickness) 'set the Z axis DRO to whatever is set as plate thickness
      Code "G4 P0.25" 'Pause for Dro to update.
      Code "G1 Z" & PlateThickness + 5 &" F1000"  'retract Z 5mm acima do Bloco de contato
      Code "(Z axis está zerado)" 'puts this message in the status bar
      Code "F" &CurrentFeed 'Returns to prior feed rate
   Else
      Code "(Probe não fez contato com o bloco. Calibração Abortada)" 'this goes in the status bar if aplicable
   MsgBox ("Calibração não realizada - verificar ligação da probe e percurso máximo de calibração de 30mm")

   End If
Else
   Code "(O Bloco de contato está aterado, verifique a fiação e tente de novo)" 'this goes in the status bar if aplicable
   MsgBox (GetOemLed(825))
      Exit Sub
End If   

Offline Edu Lopes

  • Hobby
  • ****
  • Posts: 284
  • Sexo: Masculino
  • Nome:: Eduardo Farias
Re:Script de Zero Automático - Mach3
« Resposta #4 Online: 13 de Setembro de 2020, 20:35 »
Obaaaaaaaa!...  agora tenho um Script que eu posso chamar de meu!...  ebaaa  ;D


Obrigado Alexandre..   Vou testar amanhã mesmo...
Se tivesse visto tua postagem durante o dia, testava hoje mesmo..


Obrigado...  eu fiquei perdido com aquele código e sai alterando na orelhada e ficava cada vez pior.. rsssssss


Obrigado!.. 


Vou testar amanhã mesmo e te falo o resultado!..


Valeu..  boa noite pra ti!..
 :)


 

/** * */