Guia CNC Brasil - Tudo sobre CNC, Router, Laser, Torno e 3D Print

SOFTWARES => Controle => Mach 2/3 => Tópico iniciado por: Edney Lima em 27 de Maio de 2016, 11:04

Título: Alteração na Macro M6
Enviado por: Edney Lima em 27 de Maio de 2016, 11:04
Bom dia Amigos Guia CNC.

Alguem poderia me dar uma ajuda na alteração da macro M6?

Como ficaria a macro M6 se eu quiser que quando eu programar:

T1
M6

o mach3 acionasse uma saida ex: (output2), movimentasse um motor de passo a "G53 G0 A60"

e quando programar

T2
M6

o mach3 acionasse a mesma saida ex: (output2) e movimentasse o mesmo motor de passo a uma posição "G53 G0 A120"

e assim sucessivamente para 6 posições na minha torre.

Tenho essa macro:
If GetSelectedTool() = GetCurrentTool() Then
End
 End If
 
 
 If GetSelectedTool = 1 Then
 ActivateSignal(OutPut2)
 Sleep 500
 Code "G53 G0 A0"
 While IsMoving()
 Wend
 Sleep 500
 DeActivateSignal(OutPut2)
 End If
 
 
 If GetSelectedTool = 2 Then
 ActivateSignal(OutPut2)
 Sleep 500
 Code "G53 G0 A45"
 While IsMoving()
 Sleep 500
 Wend
 DeActivateSignal(OutPut2)
 End If

mas quando peço troca de ferramentas não acontece nada.

quando deixo só isso dentro da macro:

 ActivateSignal(OutPut2)
 Sleep 500
 Code "G53 G0 A60"
 While IsMoving()
 Wend
 Sleep 500
 DeActivateSignal(OutPut2)

ela aciona a saida 2 e gira o motor de passo normalmente.

não tenho certeza, mas acredito que deve ser alguma escrita errada na linguagem
alguem poderia me dar uma ajuda, ficarei muito grato.

Edney
Título: Re:Alteração na Macro M6
Enviado por: F.Gilii em 27 de Maio de 2016, 13:33
Edney,

Fiz um "retrofitting" de um torno com magazine de 8 ferramentas, e usei uma macro parecidíssima como esta abaixo.

O magazine é rotativo através de motor de passo, e para que a macro funcione precisa que haja um sensor de origem no magazine justamente para que o cnc reconheça onde está a ferramenta 1 - o magazine possui uma espécie de catraca, então fui obrigado a criar uma rotina que fizesse o giro passando um pouco da posição de trava, e retornasse para garantir que travasse no ângulo correto.

Também foi necessário alterar um pouco a tela do Mach3 e incluir uma janela que indicasse que ferramenta estava presente na ultima troca.

Veja se te ajuda em algo - na sua logica me parece que falta algo que garanta a posição correta (em graus) do magazine...

Código: [Selecionar]
'M6Start.m1s
Message ("macro rodando")

OldTool = GetOEMDRO (1200)
Tool = GetSelectedTool()
MaxToolNum = 8 'Max quantidade de ferramentas no trocador

If OldTool = Tool Then
Message ("Ferramenta Selecionada já está cerragada")
Exit Sub
End If

While Tool > MaxToolNum
Tool = Question ("Qual a Estação desta Ferramenta? de 1 a " & MaxToolNum)
Wend

xval= getoemdro(800) 'pega valor de x
zval= getoemdro(802) 'pega valor de z
Call Dooembutton(138)
While IsMoving()
Wend


moveto = Tool- OldTool

If moveto<1 Then moveto=8+moveto

code "G91" 'inc mode
code "G00 A"+Str((moveto*45)+5)
code "G90"
While IsMoving()
Wend

code "G91"
code "G00 A-10"
code "G90"
While IsMoving()
Wend
code "G91"
code "G01 A-2 F100"
code "G90"
While IsMoving()
Wend

code "G90" 'abs mode

NewTool=Tool
If NewTool=1 Then
Call DoOemButton (1009) 'zero Y
End If


Call SetUserDRO (1200, NewTool)
SetCurrentTool(NewTool)
code "G0 Z"+Str(zval) 'retorna para posição inicial
code "G0 X"+Str(xval) 'antes da troca
While IsMoving()
Wend
           
Título: Re:Alteração na Macro M6
Enviado por: Edney Lima em 27 de Maio de 2016, 14:16
Boa Tarde Fabio

Muito interessante essa sua macro, acredito que vai me ajudar bastante, só vou precisar de um tempinho para entender sua macro.
Veja se entendi a respeito do sensor da ferramenta 1.

Esse sensor seria a referencia do eixo A?

A respeito da garantia do posicionamento da minha lógica, fiz um travamento mecânico.
Na minha lógica a saída 2 ira acionar uma solenoide de um cilindro pneumático que esse vai "destravar" a torre, e após destravar ira girar o motor de passo, assim que girar o motor de passo na posição, vai desacionar a solenoide e travar a torre na posição.

A principio estou fazendo com motor de passo, mas depois que estiver funcionando pretendo investir num servo motor de 100W para fazer o giro da torre.

Edney
Título: Re:Alteração na Macro M6
Enviado por: F.Gilii em 28 de Maio de 2016, 19:35
Legal...

Com relação à origem do eixo A (que aciona o magazine) achei necessário que reconheça um ponto de origem ou de partida - assim facilitou muito a vida da logica de controle
Título: Re:Alteração na Macro M6
Enviado por: Edney Lima em 30 de Maio de 2016, 14:01
Fabio

Muito obrigado

a linguagem de macros é linguagem C?

o Sr. tem algum manual ou tutorial que explica alguma coisa sobre a linguagem das macros?
se tiver envie pra mim por favor

[email protected]

grato
Edney
Título: Re:Alteração na Macro M6
Enviado por: F.Gilii em 30 de Maio de 2016, 15:03
No caso específico do Mach3 se usa VBscript (Cyperss Enable)...

http://www.machsupport.com/wp-content/uploads/2013/02/VBScript_Commands.pdf (http://www.machsupport.com/wp-content/uploads/2013/02/VBScript_Commands.pdf)
Título: Re:Alteração na Macro M6
Enviado por: Edney Lima em 30 de Maio de 2016, 15:55
Obrigado, baixei o manual e vou estuda-lo
Título: Re:Alteração na Macro M6
Enviado por: Edney Lima em 06 de Junho de 2016, 11:19
Bom dia Amigos GuiaCNC

Com ajuda do Fabio, da apostila que ele nos postou, com ajuda de um amigo aqui de limeira, com ajuda da internet, consegui fazer minha macro m6 funcionar.

Agora vou finalizar o projeto mecanico e colocar minha torre pra funcionar hehehehehe

quero agradecer a todos que me ajudaram nessa empreitada.

Fabio, essa apostila que nos postou, existe em portugues?
Caso existir seria muito util para nós.

Reparei que o mach3 precisa reconhecer que existe um trocador automatico, para isso precisa mudar uma parametrização referente que existe um trocador automatico de ferramentas.

Edney
Título: Re:Alteração na Macro M6
Enviado por: Edney Lima em 06 de Junho de 2016, 11:20
Segue a foto do caminho da alteração para que reconheça um trocador automatico
Título: Re:Alteração na Macro M6
Enviado por: Edney Lima em 06 de Junho de 2016, 11:22
foto do caminho da alteração
Título: Re:Alteração na Macro M6
Enviado por: Edney Lima em 06 de Junho de 2016, 11:24
Esse procedimento para trocador automatico de ferramentas está correto?
Título: Re:Alteração na Macro M6
Enviado por: Edney Lima em 19 de Junho de 2016, 10:54
Bom dia

Nessa macro que tenho:

If GetSelectedTool() = GetCurrentTool() Then
End
 End If
 
 
 If GetSelectedTool = 1 Then
 ActivateSignal(OutPut2)
 Sleep 500
 Code "G53 G0 A0"
 While IsMoving()
 Wend
 Sleep 500
 DeActivateSignal(OutPut2)
 End If
 
 
 If GetSelectedTool = 2 Then
 ActivateSignal(OutPut2)
 Sleep 500
 Code "G53 G0 A45"
 While IsMoving()
 Sleep 500
 Wend
 DeActivateSignal(OutPut2)
 End If

no casso acima só coloquei as trocas de 2 ferramentas mas as outras trocas é igual porem só muda o posicionamento,
mas eis um "probleminha" e uma duvida.

ainda estou em testes na bancada.

por exemplo:

percebi que quando estou trabalhando com a T1 e peço a T4 a torre se move normalmente, mas quando estou trabalhando com a T8 e quero a T1, ao invés de se mover direto pra T1 que seria o "caminho" mais curto, a torre se move voltando passando por todas as ferramentas e posiciona na T1.
Os posicionamentos estão corretos, mas a duvida é:

Tem como fazer alguma coisa dentro da macro para que ela se mova pelo "caminho" mais perto?

Edney



Título: Re:Alteração na Macro M6
Enviado por: F.Gilii em 20 de Junho de 2016, 09:36
Se o eixo A está configurado como rotativo, talvez se marcar a opção "Ang Short Rot on G0" (Angular short rotation on G0) na janela de configurações gerais...
Título: Re:Alteração na Macro M6
Enviado por: Edney Lima em 20 de Junho de 2016, 11:25
Bom dia

Grande Fabio.

Mais uma vez agradecido.
Testando somente no PC, funcionou.
Final de semana vou testar na bancada, com a torre

Edney
Título: Re:Alteração na Macro M6
Enviado por: Edney Lima em 20 de Junho de 2016, 12:47
Fabio

Te mandei uma MP

Edney
Título: Re:Alteração na Macro M6
Enviado por: Edney Lima em 04 de Agosto de 2016, 08:18
Bom dia Amigos Guia CNC

seguindo os conselhos do Fabio a respeito de colocar um sensor para referencia da primeira ferramenta, surgiu uma duvida.

Nessa macro que estou usando

If GetSelectedTool() = GetCurrentTool() Then
End
 End If
 
 
 If GetSelectedTool = 1 Then
 ActivateSignal(OutPut2)
 Sleep 500
 Code "G53 G0 A0"
 While IsMoving()
 Wend
 Sleep 500
 DeActivateSignal(OutPut2)
 End If
 
 
 If GetSelectedTool = 2 Then
 ActivateSignal(OutPut2)
 Sleep 500
 Code "G53 G0 A45"
 While IsMoving()
 Sleep 500
 Wend
 DeActivateSignal(OutPut2)
 End If

Output2 estou usando um rele para destravar o freio da torre e depois de destravado a torre gira para a posição que pede o programa, até ai o funcionamento está tudo ok, mas a minha grande duvida é como destravar esse freio quando for referenciar a maquina.

A unica solução que encontrei foi colocar um botão externo para destravar o freio e fazer o referenciamento e após referenciar travo o freio manualmente, gostaria de saber se existe uma solução automatica para fazer isso.

Se alguem ja fez algo parecido me de uma ajuda por favor.

Edney
Título: Re:Alteração na Macro M6
Enviado por: F.Gilii em 05 de Agosto de 2016, 09:27
Altere a macro do botão de referenciamento e insira os comandos de destravar e travar a saída que lhe interessa antes e depois da chamada de referencia do eixo da ferramenta
Título: Re:Alteração na Macro M6
Enviado por: Edney Lima em 05 de Agosto de 2016, 11:56
Fabio

Qual é a macro do botão de referenciamento?
Título: Re:Alteração na Macro M6
Enviado por: F.Gilii em 05 de Agosto de 2016, 17:18
Acredito que esteja escrita no próprio botão da tela do Mach3 - "Ref All Home'

Para alterar você vai no menu "Operator > Edit Button script" e clica em cima do botão da tela - vai abrir a janela de edição de macros, e você altera o que deseja
Título: Re:Alteração na Macro M6
Enviado por: Edney Lima em 05 de Agosto de 2016, 18:41
quando clico em editar a macro do botão os botões que poder ser alterados ficam piscando certo.

no perfil para fresa o botão "ref all home" fica piscando e da pra alterar normal, mas no perfil para torno não fica piscando para alterar a macro dele.

Como editaria a macro dele?
Título: Re:Alteração na Macro M6
Enviado por: Edney Lima em 05 de Agosto de 2016, 18:45
no perfil para torno não tem "ref all home", só tem "home all"
Título: Re:Alteração na Macro M6
Enviado por: F.Gilii em 08 de Agosto de 2016, 09:35
Provavelmente tenha que alterar o comportamento do botão através do editor de telas do Mach3

Você usa a tela padrão de torno?

Se sim, veja a tela principal já editada para você - assim vc poderá depois acertar o comportamento do botão conforme eu sugerí no post anterior.
Título: Re:Alteração na Macro M6
Enviado por: Edney Lima em 08 de Agosto de 2016, 11:41
Obrigada pela excelente ajuda

quando chegar em casa vou testar e alterar a macro conforme sugeriu

Edney
Título: Re:Alteração na Macro M6
Enviado por: Edney Lima em 08 de Agosto de 2016, 22:37
DoButton( 24 ) é referente a qual eixo?

'DoButton( 23 ) é referente a qual eixo? pq esse tem aspas na frente?

DoButton( 22 ) é referente a qual eixo?

DoButton( 25 ) é referente a qual eixo?

'DoOEMButton(133)
'DoOEMButton(134)
'DoOEMButton(135)

Edney
Título: Re:Alteração na Macro M6
Enviado por: F.Gilii em 09 de Agosto de 2016, 09:51
Veja que há linhas que estão em coloração verde (na tela do editor) - estas linhas estão quotadas e não são interpretadas pelo comando...

DoButton (24) - referenciamento do eixo Z
DoButton (23) - referenciamento eixo Y (e está cotado)
DoButton (22) - referenciamento eixo X

O resto que está quotado se refere à referenciamento (zeramento de digitais para leitura de encoders - pode ignorar ( e até apagar se preferir)
Título: Re:Alteração na Macro M6
Enviado por: Edney Lima em 09 de Agosto de 2016, 10:55
Fabio

Alterei a macro para assim:

O que acha dessas alterações?

no caso minha output 2 é a que destrava a torre.

DoButton( 22 )
DoButton( 24 )
activatesignal(output2)
Sleep 500
DoButton( 25 )
While IsMoving()
Wend
Sleep 500
deactivatesignal(output2)

alterei também a ordem de referenciamento, pode dar algum problema para o software ou "a ordem dos fatores não altera o produto"?

Edney

Título: Re:Alteração na Macro M6
Enviado por: F.Gilii em 09 de Agosto de 2016, 11:54
Não sei se para torno tem alguma ordem de eixos para o referenciamento - creio que não tem problemas se iniciar por exemplo pelo X e depois o Z ou vice versa...

Se a macro funcionou para referenciar seu magazine, beleza...