Macro Center Zero

Através de Macros programadas em Lua Script é possível criar rotinas e automatizar tarefas dentro do Mach4. Criando movimentos, lendo sinais de sensores, calculando fórmulas e executando rotinas dentro do próprio Software.

A Macro Auto-Center Zero faz Zeramento Automático nos eixos X e Y.
O Zeramento é feito com apenas um click do mouse. Além disso garante precisão centesimal já que o processo é eletrônico e digital através de um pulso elétrico.

Auto Tool Zero:

  • Zeramento Automático
  • Precisão Centesimal
  • Com apenas 1 click


O Mach4 faz o zeramento automático em relação aos eixos X e Y.
Ideal para zeramento automático, posicionamento da peça, e calibração de peças.

MACRO: Auto-Center-XY-Externo: Download

------------------ Center OUTSIDE Touch Functions ---------------------
function TouchCenterOutside0() -- Center Outside With Z (COM EIXO Z)

--WWW.MACHSUPORTE.COM.BR
--INIT VARS
Zsafe = 60.0 -- ALTURA DE SEGURANCA P/ MOVIMENTO RAPIDO
Zprobe = 0.0 -- ALTURA DE LEITURA DO PROBE
DiamenterAprox = 180
DiamenterOffset = 10

GetMachPos('X')
GetMachPos('Y')

DiameterTravelPos = ( (DiamenterAprox / 2) + DiamenterOffset )
DiameterTravelNeg = ( (DiamenterAprox / 2) + DiamenterOffset ) * (-1)

Code(string.format('G92 Z' .. Zprobe)) --Set Zprobe as current
Code(string.format('G90 G0 Z' .. Zsafe)) --Move to Z-Safe
Code(string.format('G90 G0 X0 Y0'))

--X Moves
--XNeg
Code(string.format('G90 G0 Z' .. Zsafe)) --Move to Z-Safe
--Code(string.format('G90 G0 X0'))
Code(string.format('G90 G0 X' .. DiameterTravelNeg))
Code(string.format('G90 G0 Z' .. Zprobe))
TouchOff('X', 1) -- Do a touch move in the X positive direction
local Pos11 = mc.mcAxisGetProbePos(inst, mc.X_AXIS, 1) --Get the probe position in machine coordinates
--XPos
Code(string.format('G90 G0 Z' .. Zsafe)) --Move to Z-Safe
--Code(string.format('G90 G0 X0')) --Move back to start position
Code(string.format('G90 G0 X' .. DiameterTravelPos))
Code(string.format('G90 G0 Z' .. Zprobe))
TouchOff('X', -1) -- Do a touch move in the X negative direction
local Pos12 = mc.mcAxisGetProbePos(inst, mc.X_AXIS, 1) --Get the probe position in machine coordinates

Code(string.format('G90 G0 Z' .. Zsafe)) --Move to Z-Safe
--Calculate CenterX
local XCenterOut = (Pos11 + Pos12) / 2
Code(string.format('G90 G53 X' .. XCenterOut)) --Move to CenterX position

--Y Moves
--YNeg
Code(string.format('G90 G0 Z' .. Zsafe)) --Move to Z-Safe
--Code(string.format('G90 G0 Y0'))
Code(string.format('G90 G0 Y' .. DiameterTravelNeg))
Code(string.format('G90 G0 Z' .. Zprobe))
TouchOff('Y', 1) -- Do a touch move in the Y positive direction
local Pos21 = mc.mcAxisGetProbePos(inst, mc.Y_AXIS, 1) --Get the probe position in machine coordinates
--YPos
Code(string.format('G90 G0 Z' .. Zsafe)) --Move to Z-Safe
--Code(string.format('G90 G0 Y0'))
Code(string.format('G90 G0 Y' .. DiameterTravelPos))
Code(string.format('G90 G0 Z' .. Zprobe))
TouchOff('Y', -1) -- Do a touch move in the Y negative direction
local Pos22 = mc.mcAxisGetProbePos(inst, mc.Y_AXIS, 1) --Get the probe position in machine coordinates

Code(string.format('G90 G0 Z' .. Zsafe)) --Move to Z-Safe
--Calculate CenterY
local YCenterOut = (Pos21 + Pos22) / 2
Code(string.format('G90 G53 Y' .. YCenterOut)) --Move to CenterY position

mc.mcCntlSetLastError(inst, 'Moving to Center.') -- Tell the operator we are moving to the center.

--Now that we are at the center lets zero out our work coordinates
rc = mc.mcAxisSetPos(inst, mc.X_AXIS, 0.0000)
rc = mc.mcAxisSetPos(inst, mc.Y_AXIS, 0.0000)

GetFixOffsetValues()
mc.mcCntlSetLastError(inst, 'Touch combination is finished. X axis set to ' .. XSet .. ' Y axis set to ' .. YSet) --Tell the operator what the work offset values are.
mc.mcCntlGcodeExecute(inst, string.format('G ' .. m_CurAbsMode .. '\nF ' .. m_CurFeed)) --Set mode and feed back

end

PROCEDIMENTO #1:
#1: Clique em: Operator >> Edit Screen.

#2: Em [Screen Tree Manager] selecione o seu perfil atual, e em [Propriedades] selecione Events.

#3: Clique sobre um botão e na opção Left Up Script insira a Macro acima dentro da janela de edição e clique em Salvar.

Após configurada a Macro de Zeramento Automático, pode ser chamada a qualquer momento clicando sobre o botão escolhido previamente.


PROCEDIMENTO #2:
#1: Edite o Arquivo mcTouchOff.lua (exemplo) em C:/Mach4Hobby/Modules/

#2: Insira a Macro acima dentro de algum Script e clique em Salvar.

Após configurada a Macro de Zeramento Automático, pode ser chamada a qualquer momento clicando sobre o botão escolhido previamente.


Vídeo: Zeramento Automático Externo


Screens:

Tags relacionadas com Macro Auto Center Zero Externo:

AutoToolZero / Auto Tool Zero Mach4 CNC,
Touch Probe Mach4,
Zeramento Automático Externo de Peça no CNC
Como Escanear Peça no CNC
Como Escanear com Touch Probe no CNC
Zerando Peça no CNC
Zerando Peça Automático no CNC
Zerando Peça Automaticamente no CNC
Zerando Peça Touch Probe no CNC
Como Centralizar Peça no CNC

Quem Somos

Somos uma empresa visionária na indústria 4.0! Atuando no comércio, manutenção e fabricação de máquinas CNC computadorizadas para indústria!

Contamos com um time de especialistas no assunto de Automação e CNC, projetos e desenhos em software 3D, e programação G-Code CAD & CAM.

Fale Conosco

Parceiros

® MACHSUPPORT.COM