-- 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 altrimenti Lama normale elseif EMC.HEAD == 'H12' 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 altre teste elseif EMC.HEAD == 'H14' or EMC.HEAD == 'H12' 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