Guia CNC Brasil - Tudo sobre CNC, Router, Laser, Torno e 3D Print
SOFTWARES => Controle => Mach 2/3 => Tópico iniciado por: Sorriso em 26 de Janeiro de 2011, 15:36
-
Estou com o seguinte problema:
tenho um projeto que consiste num robo de 4 eixos para soldagem, eu quero fazer o home dele através das chaves de home instaladas para depois sim fazer o home por posição (G28).
Acontece que eu não sei fazer esse home com as chaves, exceto utilizando as macros M, logo eu criei uma M1010 para fazer isso, porém estou com problemas na programação, do jeito que está ele funciona quase como um motor de passo, pulso a pulso, até chegar no home, enquanto o que eu quero é que ele vá até o home em G0, volte uns 5 mm e depois retorne apra o home com uma velocidade de 20% do G0.
O código q eu fiz foi este:
Sub Teste()
If(Not(IsActive (XHome) Or IsActive (YHome) Or IsActive (ZHome) Or IsActive (AHome))) Then
Code "G91"
While Not(IsActive (XHome))
Code "G0 X1"
While IsMoving()
Wend
Wend
While Not(IsActive (YHome))
Code "G0 Y0.1"
While IsMoving()
Wend
Wend
While Not(IsActive (ZHome))
Code "G1 Z0.1 F800"
While IsMoving()
Wend
Wend
While Not(IsActive (AHome))
Code "G0 A1"
While IsMoving()
Wend
Wend
End If
End Sub
-
Sorriso,
Se é só para zerar um DRO, poderia usar um comando assim:
SetOEMDRO(800,0)
SetOEMDRO(801,0)
SetOEMDRO(802,0)
Este comando apenas coloca zero no dro dos eixos X, Y e Z respectivamente
Se é para procurar origem mecanicamente, pode usar o seguintes comandos:
DoOEMButton (24)
DoOEMButton (23)
DoOEMButton (22)
Isso envia os eixos Z, Y e X (respectivamente) para suas origens, e zera os DROs em G53 (origem máquina) - se finais de curso estiverem habilitados, os eixos se moverão à procura fisicamente dos sensores.