5e2cbcc9dd
Prima versione macchina derivata da Essetre-90480025
59 lines
1.6 KiB
Plaintext
59 lines
1.6 KiB
Plaintext
-- Special Operations macchina Essetre-WALL by EgalTech s.r.l. 2022/01/13
|
|
|
|
-- Intestazioni
|
|
require( 'EmtGenerator')
|
|
EgtEnableDebug( false)
|
|
|
|
|
|
---------------------------------------------------------------------
|
|
function OnSpecialMoveZup()
|
|
|
|
-- Inizializzazioni
|
|
EMC.MODIF = false
|
|
EMC.ERR = 1
|
|
|
|
-- Se lama grande
|
|
if EMC.HEAD == 'H1' and EMC.TCPOS == 'T203' then
|
|
-- asse C già limitato per evitare problemi
|
|
-- se altrimenti fresa
|
|
elseif EMC.HEAD == 'H1' then
|
|
if EMC.L3 > -300 then
|
|
EMC.R1 = EgtGetAxisHomePos( 'C1')
|
|
EMC.R2 = EgtGetAxisHomePos( 'B1')
|
|
EMC.TDIR = EgtGetCalcToolDirFromAngles( EMC.R1, EMC.R2)
|
|
EMC.MODIF = true
|
|
end
|
|
-- se altrimenti sega a catena
|
|
elseif EMC.HEAD == 'H3' then
|
|
local L3New = EMC.L3
|
|
local R1New = EMC.R1
|
|
local R2New = EMC.R2
|
|
if EMC.L3 > -300 then
|
|
L3New = min( EMC.L3, EgtGetAxisHomePos( 'Z1'))
|
|
R1New = EgtGetAxisHomePos( 'C1')
|
|
R2New = EgtGetAxisHomePos( 'B1')
|
|
EMC.MODIF = true
|
|
end
|
|
if EMC.L2 > -1800 then
|
|
R1New = -90
|
|
EMC.MODIF = true
|
|
elseif EMC.L2 < -4800 then
|
|
R1New = -90
|
|
EMC.MODIF = true
|
|
end
|
|
if EMC.MODIF then
|
|
EMC.L3 = L3New
|
|
EMC.R1 = R1New
|
|
EMC.R2 = R2New
|
|
EMC.TDIR = EgtGetCalcToolDirFromAngles( EMC.R1, EMC.R2, EMC.R3)
|
|
end
|
|
-- se altre teste
|
|
elseif EMC.HEAD == 'H14' or EMC.HEAD == 'H2' or EMC.HEAD == 'H21' or EMC.HEAD == 'H22' or EMC.HEAD == 'H23' then
|
|
-- non è necessaria una gestione speciale
|
|
-- altrimenti errore
|
|
else
|
|
error( "Unknown Head")
|
|
end
|
|
EMC.ERR = 0
|
|
end
|