Merge remote-tracking branch 'origin/main' into develop
This commit is contained in:
@@ -42,6 +42,7 @@ local BeamData = {
|
|||||||
DRILL_TOL = 0.2, -- tolleranza tra diametro foro e diametro punta
|
DRILL_TOL = 0.2, -- tolleranza tra diametro foro e diametro punta
|
||||||
DRILL_VZ_MIN = - 0.51, -- componente limite in Z del versore di un foro
|
DRILL_VZ_MIN = - 0.51, -- componente limite in Z del versore di un foro
|
||||||
DRILL_VX_MAX = 0.867, -- componente limite in X del versore di un foro sulle facce laterali
|
DRILL_VX_MAX = 0.867, -- componente limite in X del versore di un foro sulle facce laterali
|
||||||
|
MAX_ANGLE_DRILL_CUT = 15, -- delta angolo massimo tra foro e taglio che lo attraversa
|
||||||
DRILL_OVERLAP = 5, -- sovrapposizione tra due mezze forature
|
DRILL_OVERLAP = 5, -- sovrapposizione tra due mezze forature
|
||||||
MILL_OVERLAP = 5, -- sovrapposizione tra due mezze fresature
|
MILL_OVERLAP = 5, -- sovrapposizione tra due mezze fresature
|
||||||
MAX_DIST_HTFEA = 50.0, -- massima distanza di feature da testa o coda per essere considerata tale
|
MAX_DIST_HTFEA = 50.0, -- massima distanza di feature da testa o coda per essere considerata tale
|
||||||
@@ -113,6 +114,7 @@ if EgtExistsFile( sDataBeam) then
|
|||||||
BeamData.ADVANCE_TAIL_OFFS = Machine.Offsets.ADVANCE_TAIL_OFFS or BeamData.ADVANCE_TAIL_OFFS
|
BeamData.ADVANCE_TAIL_OFFS = Machine.Offsets.ADVANCE_TAIL_OFFS or BeamData.ADVANCE_TAIL_OFFS
|
||||||
BeamData.LEN_VERY_SHORT_PART = Machine.Offsets.LEN_VERY_SHORT_PART or BeamData.LEN_VERY_SHORT_PART
|
BeamData.LEN_VERY_SHORT_PART = Machine.Offsets.LEN_VERY_SHORT_PART or BeamData.LEN_VERY_SHORT_PART
|
||||||
BeamData.LEN_SHORT_PART = Machine.Offsets.LEN_SHORT_PART or BeamData.LEN_SHORT_PART
|
BeamData.LEN_SHORT_PART = Machine.Offsets.LEN_SHORT_PART or BeamData.LEN_SHORT_PART
|
||||||
|
BeamData.MAX_ANGLE_DRILL_CUT = Machine.Offsets.MAX_ANGLE_DRILL_CUT or BeamData.MAX_ANGLE_DRILL_CUT
|
||||||
BeamData.OVM_MID = Machine.Offsets.OVM_MID or BeamData.OVM_MID
|
BeamData.OVM_MID = Machine.Offsets.OVM_MID or BeamData.OVM_MID
|
||||||
if Machine.Offsets.CUT_SIC then BeamData.CUT_SIC = EgtClamp( Machine.Offsets.CUT_SIC, 15, 50) end
|
if Machine.Offsets.CUT_SIC then BeamData.CUT_SIC = EgtClamp( Machine.Offsets.CUT_SIC, 15, 50) end
|
||||||
end
|
end
|
||||||
|
|||||||
+38
-6
@@ -538,6 +538,7 @@ function OnMachiningEnd()
|
|||||||
local sEnd= 'M113 P1='..tostring( EMT.PRODID)..' P2='..tostring( EMT.PATTID)..' P3='..tostring( EMT.CUTID)..' P4=2'
|
local sEnd= 'M113 P1='..tostring( EMT.PRODID)..' P2='..tostring( EMT.PATTID)..' P3='..tostring( EMT.CUTID)..' P4=2'
|
||||||
MyOutput( sEnd)
|
MyOutput( sEnd)
|
||||||
end
|
end
|
||||||
|
EMT.FALL = nil
|
||||||
elseif not EMT.PREROT then
|
elseif not EMT.PREROT then
|
||||||
MyOutput( 'M77')
|
MyOutput( 'M77')
|
||||||
end
|
end
|
||||||
@@ -573,10 +574,14 @@ end
|
|||||||
|
|
||||||
---------------------------------------------------------------------
|
---------------------------------------------------------------------
|
||||||
function OnPathStart()
|
function OnPathStart()
|
||||||
|
if EMT.OPEISDISP then
|
||||||
|
return
|
||||||
|
end
|
||||||
-- non ancora iniziata la lavorazione
|
-- non ancora iniziata la lavorazione
|
||||||
EMT.MCHFIRST = true
|
EMT.MCHFIRST = true
|
||||||
EMT.MCHFIRSTFEED = true
|
EMT.MCHFIRSTFEED = true
|
||||||
-- primo posizionamento sempre in globale
|
-- primo posizionamento sempre in globale
|
||||||
|
-- primo posizionamento sempre in globale
|
||||||
EMT.REFLOC = nil
|
EMT.REFLOC = nil
|
||||||
EMT.IPLGL = false
|
EMT.IPLGL = false
|
||||||
-- leggo se ancora presa iniziale carrello
|
-- leggo se ancora presa iniziale carrello
|
||||||
@@ -602,6 +607,9 @@ end
|
|||||||
|
|
||||||
---------------------------------------------------------------------
|
---------------------------------------------------------------------
|
||||||
function OnPathEnd()
|
function OnPathEnd()
|
||||||
|
if EMT.OPEISDISP then
|
||||||
|
return
|
||||||
|
end
|
||||||
if not EMT.ZMAX then
|
if not EMT.ZMAX then
|
||||||
EmitResetMachining()
|
EmitResetMachining()
|
||||||
end
|
end
|
||||||
@@ -770,7 +778,15 @@ function OnRapid()
|
|||||||
EmitMoveDataHead( 1, { B=0, S=Speed})
|
EmitMoveDataHead( 1, { B=0, S=Speed})
|
||||||
EmitMoveDataHead( 1, { C=EMT.R1, S=Speed})
|
EmitMoveDataHead( 1, { C=EMT.R1, S=Speed})
|
||||||
EmitMoveDataHead( 1, { X=EMT.L2, S=Speed})
|
EmitMoveDataHead( 1, { X=EMT.L2, S=Speed})
|
||||||
EmitMoveDataHead( 1, { Z=EMT.L3, B=EMT.R2, S=Speed})
|
-- se movimento di B > di 90°, spezza il movimento in 2 arrivando alla quota Z con B+-90 e poi muove l'ultimo segmento
|
||||||
|
-- evita collisione con carro X
|
||||||
|
if EMT.R2 > 91 or EMT.R2 < -91 then
|
||||||
|
local dBref = EgtClamp( EMT.R2, -91, 91)
|
||||||
|
EmitMoveDataHead( 1, { Z=EMT.L3, B=dBref, S=Speed})
|
||||||
|
EmitMoveDataHead( 1, { B=EMT.R2, S=Speed})
|
||||||
|
else
|
||||||
|
EmitMoveDataHead( 1, { Z=EMT.L3, B=EMT.R2, S=Speed})
|
||||||
|
end
|
||||||
-- caso standard
|
-- caso standard
|
||||||
else
|
else
|
||||||
-- se bisogna scrivere tutti gli assi
|
-- se bisogna scrivere tutti gli assi
|
||||||
@@ -1084,7 +1100,15 @@ function OnRapid()
|
|||||||
EmitMoveDataHead( 1, { Z=MyMaxZ1, B=0, S=Speed})
|
EmitMoveDataHead( 1, { Z=MyMaxZ1, B=0, S=Speed})
|
||||||
EmitMoveDataHead( 1, { C=EMT.R1, S=Speed})
|
EmitMoveDataHead( 1, { C=EMT.R1, S=Speed})
|
||||||
EmitMoveDataHead( 1, { X=EMT.L2, S=Speed})
|
EmitMoveDataHead( 1, { X=EMT.L2, S=Speed})
|
||||||
EmitMoveDataHead( 1, { Z=EMT.L3, B=EMT.R2, S=Speed})
|
-- se movimento di B > di 90°, spezza il movimento in 2 arrivando alla quota Z con B+-90 e poi muove l'ultimo segmento
|
||||||
|
-- evita collisione con carro X
|
||||||
|
if EMT.R2 > 91 or EMT.R2 < -91 then
|
||||||
|
local dBref = EgtClamp( EMT.R2, -91, 91)
|
||||||
|
EmitMoveDataHead( 1, { Z=EMT.L3, B=dBref, S=Speed})
|
||||||
|
EmitMoveDataHead( 1, { B=EMT.R2, S=Speed})
|
||||||
|
else
|
||||||
|
EmitMoveDataHead( 1, { Z=EMT.L3, B=EMT.R2, S=Speed})
|
||||||
|
end
|
||||||
-- caso standard
|
-- caso standard
|
||||||
else
|
else
|
||||||
-- se ero in posizione speciale, prima ruoto poi scendo
|
-- se ero in posizione speciale, prima ruoto poi scendo
|
||||||
@@ -1105,16 +1129,24 @@ function OnRapid()
|
|||||||
-- altrimenti sega a catena
|
-- altrimenti sega a catena
|
||||||
else
|
else
|
||||||
-- se bisogna scrivere tutti gli assi
|
-- se bisogna scrivere tutti gli assi
|
||||||
|
local dSafeZ1 = EgtIf( EMT.TTOTLEN < MinLengthLongCSaw, ParkCSawZ1, ParkLongCSawZ1)
|
||||||
if WriteAllCoordsOnFirstM101 then
|
if WriteAllCoordsOnFirstM101 then
|
||||||
local dSafeZ1 = EgtIf( EMT.TTOTLEN < MinLengthLongCSaw, ParkCSawZ1, ParkLongCSawZ1)
|
|
||||||
EmitMoveDataHead( 1, { X=-ParkCSawX1, Z=dSafeZ1, B=HomeB1, C=HomeC1, TRad=dTRad, TLen=dTLen, S=Speed})
|
EmitMoveDataHead( 1, { X=-ParkCSawX1, Z=dSafeZ1, B=HomeB1, C=HomeC1, TRad=dTRad, TLen=dTLen, S=Speed})
|
||||||
end
|
end
|
||||||
-- Porto la Z alla giusta quota
|
-- Porto la Z alla giusta quota
|
||||||
if EMT.L3 > HomeZ1 + 1 and abs( EMT.R2) > 89.9 then
|
if EMT.L3 > dSafeZ1 + 1 and abs( EMT.R2) > 89.9 then
|
||||||
EmitMoveDataHead( 1, { X=EMT.L2, S=Speed})
|
EmitMoveDataHead( 1, { X=EMT.L2, S=Speed})
|
||||||
EmitMoveDataHead( 1, { Z=HomeZ1, S=Speed})
|
EmitMoveDataHead( 1, { Z=dSafeZ1, S=Speed})
|
||||||
|
end
|
||||||
|
local dChSawEncumbrance = EMT.L3 + MillOffs - ( ( ChSawLen + MillOffs) * EMT.ADIR[3]) - ( EMT.TTOTLEN * EMT.TDIR[3])
|
||||||
|
local dBeamQuote = DeltaTabZ + EMT.SB + 30
|
||||||
|
if dChSawEncumbrance < dBeamQuote then
|
||||||
|
EmitMoveDataHead( 1, { Z=dSafeZ1, B=EMT.R2, S=Speed})
|
||||||
|
EmitMoveDataHead( 1, { X=EMT.L2, C=EMT.R1, S=Speed})
|
||||||
|
EmitMoveDataHead( 1, { Z=EMT.L3, S=Speed})
|
||||||
|
else
|
||||||
|
EmitMoveDataHead( 1, { Z=EMT.L3, B=EMT.R2, S=Speed})
|
||||||
end
|
end
|
||||||
EmitMoveDataHead( 1, { Z=EMT.L3, B=EMT.R2, S=Speed})
|
|
||||||
-- se motosega molto lunga, ruoto prima di muovermi in X
|
-- se motosega molto lunga, ruoto prima di muovermi in X
|
||||||
if EMT.TTOTLEN >= MinLengthLongCSaw then
|
if EMT.TTOTLEN >= MinLengthLongCSaw then
|
||||||
EmitMoveDataHead( 1, { C=EMT.R1, S=Speed})
|
EmitMoveDataHead( 1, { C=EMT.R1, S=Speed})
|
||||||
|
|||||||
+28
-4
@@ -1068,7 +1068,15 @@ function OnSimulMoveStart()
|
|||||||
SimulMoveAxes( 'Z1', MyMaxZ1, MCH_SIM_STEP.RAPID, 'B1', 0, MCH_SIM_STEP.COLLROT)
|
SimulMoveAxes( 'Z1', MyMaxZ1, MCH_SIM_STEP.RAPID, 'B1', 0, MCH_SIM_STEP.COLLROT)
|
||||||
SimulMoveAxis( 'C1', EMT.R1, MCH_SIM_STEP.COLLROT)
|
SimulMoveAxis( 'C1', EMT.R1, MCH_SIM_STEP.COLLROT)
|
||||||
SimulMoveAxis( 'X1', EMT.L2, MCH_SIM_STEP.RAPID)
|
SimulMoveAxis( 'X1', EMT.L2, MCH_SIM_STEP.RAPID)
|
||||||
SimulMoveAxes( 'Z1', EMT.L3, MCH_SIM_STEP.RAPID, 'B1', EMT.R2, MCH_SIM_STEP.COLLROT)
|
-- se movimento di B > di 90°, spezza il movimento in 2 arrivando alla quota Z con B+-90 e poi muove l'ultimo segmento
|
||||||
|
-- evita collisione con carro X
|
||||||
|
if EMT.R2 > 91 or EMT.R2 < -91 then
|
||||||
|
local dBref = EgtClamp( EMT.R2, -91, 91)
|
||||||
|
SimulMoveAxes( 'Z1', EMT.L3, MCH_SIM_STEP.RAPID, 'B1', dBref, MCH_SIM_STEP.COLLROT)
|
||||||
|
SimulMoveAxis( 'B1', EMT.R2, MCH_SIM_STEP.COLLROT)
|
||||||
|
else
|
||||||
|
SimulMoveAxes( 'Z1', EMT.L3, MCH_SIM_STEP.RAPID, 'B1', EMT.R2, MCH_SIM_STEP.COLLROT)
|
||||||
|
end
|
||||||
-- caso standard
|
-- caso standard
|
||||||
else
|
else
|
||||||
-- se bisogna scrivere tutti gli assi
|
-- se bisogna scrivere tutti gli assi
|
||||||
@@ -1094,14 +1102,24 @@ function OnSimulMoveStart()
|
|||||||
end
|
end
|
||||||
-- altrimenti sega a catena
|
-- altrimenti sega a catena
|
||||||
else
|
else
|
||||||
|
local dSafeZ1 = EgtIf( EMT.TTOTLEN < MinLengthLongCSaw, ParkCSawZ1, ParkLongCSawZ1)
|
||||||
-- Porto la Z alla giusta quota
|
-- Porto la Z alla giusta quota
|
||||||
if Z1Pos > Z1Home + 1 and abs( B1Pos) > 89.9 then
|
if Z1Pos > dSafeZ1 + 1 and abs( B1Pos) > 89.9 then
|
||||||
SimulMoveAxis( 'X1', EMT.L2, MCH_SIM_STEP.RAPID)
|
SimulMoveAxis( 'X1', EMT.L2, MCH_SIM_STEP.RAPID)
|
||||||
SimulMoveAxis( 'Z1', Z1Home, MCH_SIM_STEP.RAPID)
|
SimulMoveAxis( 'Z1', dSafeZ1, MCH_SIM_STEP.RAPID)
|
||||||
end
|
end
|
||||||
|
|
||||||
-- se movimento iniziale da Zmax
|
-- se movimento iniziale da Zmax
|
||||||
if EMT.ZMAX or ( EMT.FLAG == 2 and EMT.FLAG2 == 1) then
|
if EMT.ZMAX or ( EMT.FLAG == 2 and EMT.FLAG2 == 1) then
|
||||||
SimulMoveAxes( 'Z1', Z1Home, MCH_SIM_STEP.RAPID, 'B1', EMT.R2, MCH_SIM_STEP.COLLROT)
|
local dChSawEncumbrance = EMT.L3 + MillOffs - ( ( ChSawLen + MillOffs) * EMT.ADIR[3]) - ( EMT.TTOTLEN * EMT.TDIR[3])
|
||||||
|
local dBeamQuote = DeltaTabZ + EMT.SB + 30
|
||||||
|
if dChSawEncumbrance < dBeamQuote then
|
||||||
|
SimulMoveAxes( 'Z1', dSafeZ1, MCH_SIM_STEP.RAPID, 'B1', EMT.R2, MCH_SIM_STEP.COLLROT)
|
||||||
|
SimulMoveAxes( 'X1', EMT.L2, MCH_SIM_STEP.RAPID, 'C1', EMT.R1, MCH_SIM_STEP.COLLROT)
|
||||||
|
SimulMoveAxis( 'Z1', EMT.L3, MCH_SIM_STEP.RAPID)
|
||||||
|
else
|
||||||
|
SimulMoveAxes( 'Z1', EMT.L3, MCH_SIM_STEP.RAPID, 'B1', EMT.R2, MCH_SIM_STEP.COLLROT)
|
||||||
|
end
|
||||||
-- se motosega molto lunga, ruoto prima di muovermi in X
|
-- se motosega molto lunga, ruoto prima di muovermi in X
|
||||||
if EMT.TTOTLEN >= MinLengthLongCSaw then
|
if EMT.TTOTLEN >= MinLengthLongCSaw then
|
||||||
SimulMoveAxis( 'C1', EMT.R1, MCH_SIM_STEP.COLLROT)
|
SimulMoveAxis( 'C1', EMT.R1, MCH_SIM_STEP.COLLROT)
|
||||||
@@ -1284,6 +1302,12 @@ function OnSimulMoveStart()
|
|||||||
local sErr = 'Z1 Z2 tools in collision (distance=' .. EgtNumToString( dDistToolZ1Z2, 1) .. ')'
|
local sErr = 'Z1 Z2 tools in collision (distance=' .. EgtNumToString( dDistToolZ1Z2, 1) .. ')'
|
||||||
EmtSetLastError( 1208, sErr)
|
EmtSetLastError( 1208, sErr)
|
||||||
end
|
end
|
||||||
|
if EMT.ZMAX or ( EMT.FLAG == 2 and EMT.FLAG2 == 1) then
|
||||||
|
local B2Home = EgtGetAxisHomePos( 'B2')
|
||||||
|
local C2Home = EgtGetAxisHomePos( 'C2')
|
||||||
|
SimulMoveAxes( 'X2', SafeX2, MCH_SIM_STEP.RAPID, 'C2', C2Home, MCH_SIM_STEP.RAPROT, 'B2', B2Home, MCH_SIM_STEP.RAPROT)
|
||||||
|
SimulMoveAxis( 'X2', X2, MCH_SIM_STEP.RAPID)
|
||||||
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
-- se necessario ...
|
-- se necessario ...
|
||||||
|
|||||||
+38
-4
@@ -17,6 +17,33 @@ require( 'EmtGenMachining')
|
|||||||
---------------------------------------------------------------------
|
---------------------------------------------------------------------
|
||||||
-----------------------------------------------------------------------------------------
|
-----------------------------------------------------------------------------------------
|
||||||
function OnSpecialGetPrevMachiningOffset()
|
function OnSpecialGetPrevMachiningOffset()
|
||||||
|
-- Aggiorno posizione della testa della trave a seguito di movimenti delle pinze non previsti tra le fasi
|
||||||
|
local function TPosUpdate()
|
||||||
|
local nClId = EgtGetFirstNameInGroup( EMC.CURRMCHID, 'CL') -- recupero Id del gruppo CL della lavorazione corrente
|
||||||
|
local nPathId = EgtGetFirstInGroup( nClId or GDB_ID.NULL) -- Id del primo gruppo nella lavorazione (P1)
|
||||||
|
if not nPathId then
|
||||||
|
EMC.ERR = 12
|
||||||
|
EMC.MSG = ' Error : CL group path not found'
|
||||||
|
return
|
||||||
|
end
|
||||||
|
local dAuxMoveCount = EgtGetInfo( nPathId, 'AS#', 'd') or 0 -- numero di movimenti ausiliari
|
||||||
|
local dTRepos = nil
|
||||||
|
-- controlla ogni gruppo di movimenti ausiliari
|
||||||
|
for i = 1, dAuxMoveCount do
|
||||||
|
local aAuxMove = EgtGetInfo( nPathId, 'AS' .. tostring( i), 'vs') or {} -- array contenete i parametri di ogni gruppo
|
||||||
|
-- controlla solo i movimenti della testa trave e salva l'ultimo
|
||||||
|
if aAuxMove[1] == '2' or aAuxMove[1] == '3' then
|
||||||
|
for j = 2, #aAuxMove do
|
||||||
|
if aAuxMove[j] == 'T' then
|
||||||
|
dTRepos = aAuxMove[j+1]
|
||||||
|
break
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
return dTRepos
|
||||||
|
end
|
||||||
|
|
||||||
-- default
|
-- default
|
||||||
EMC.ERR = 0
|
EMC.ERR = 0
|
||||||
EMC.PREVOFFSX = 0
|
EMC.PREVOFFSX = 0
|
||||||
@@ -26,8 +53,15 @@ function OnSpecialGetPrevMachiningOffset()
|
|||||||
if IsStartOrRestPhase( EMC.CURRPHASE) then
|
if IsStartOrRestPhase( EMC.CURRPHASE) then
|
||||||
-- recupero la posizione finale della lavorazione precedente
|
-- recupero la posizione finale della lavorazione precedente
|
||||||
local vPrevAx = EmtGetFinalAxesPos( EMC.PREVMCHID)
|
local vPrevAx = EmtGetFinalAxesPos( EMC.PREVMCHID)
|
||||||
-- la X (L1) di questa corrisponde alla posizione iniziale della nuova trave, se ne deduce l'offset
|
-- ricava se e quanto la trave viene spostata tra le due fasi dai movimenti ausiliari e corregge l'offset di fine fase
|
||||||
EMC.PREVOFFSX = ParkV1 - vPrevAx[1]
|
local dNewTPos = TPosUpdate()
|
||||||
|
-- se ci sono dei movimenti della testa trave tra le due fasi ricava il delta tra la vecchia e la nuova posizione
|
||||||
|
if dNewTPos then
|
||||||
|
EMC.PREVOFFSX = dNewTPos - vPrevAx[1]
|
||||||
|
-- oppure la X (L1) di questa corrisponde alla posizione iniziale della nuova trave, se ne deduce l'offset
|
||||||
|
else
|
||||||
|
EMC.PREVOFFSX = ParkV1 - vPrevAx[1]
|
||||||
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
@@ -113,7 +147,7 @@ function OnSpecialGetMaxZ()
|
|||||||
local vMZ = {{ Tz=0.85, Ez=440}, { Tz=0.5, Ez=200}, { Tz=-0.01, Ez=5}, { Tz=-0.5, Ez=1}}
|
local vMZ = {{ Tz=0.85, Ez=440}, { Tz=0.5, Ez=200}, { Tz=-0.01, Ez=5}, { Tz=-0.5, Ez=1}}
|
||||||
EMC.MAXZ = ParkZ1 + CalcExtraZ( vtTpZm, vtT, vMZ)
|
EMC.MAXZ = ParkZ1 + CalcExtraZ( vtTpZm, vtT, vMZ)
|
||||||
else
|
else
|
||||||
local vMZ = {{ Tz=0.85, Ez=400}, { Tz=0.7, Ez=300}, { Tz=0.5, Ez=195}, { Tz=0.15, Ez=70}, { Tz=-0.01, Ez=5}, { Tz=-0.5, Ez=1}}
|
local vMZ = {{ Tz=0.85, Ez=400}, { Tz=0.7, Ez=300}, { Tz=0.5, Ez=195}, { Tz=0.15, Ez=60}, { Tz=-0.01, Ez=5}, { Tz=-0.5, Ez=1}}
|
||||||
EMC.MAXZ = ParkZ1 + CalcExtraZ( vtTpZm, vtT, vMZ)
|
EMC.MAXZ = ParkZ1 + CalcExtraZ( vtTpZm, vtT, vMZ)
|
||||||
end
|
end
|
||||||
elseif EMC.HEAD == 'H16' then
|
elseif EMC.HEAD == 'H16' then
|
||||||
@@ -133,7 +167,7 @@ function OnSpecialGetMaxZ()
|
|||||||
local vMZ = {{ Tz=0.85, Ez=440}, { Tz=0.5, Ez=200}, { Tz=-0.01, Ez=5}, { Tz=-0.5, Ez=1}}
|
local vMZ = {{ Tz=0.85, Ez=440}, { Tz=0.5, Ez=200}, { Tz=-0.01, Ez=5}, { Tz=-0.5, Ez=1}}
|
||||||
EMC.MAXZ = ParkZ1 + CalcExtraZ( vtTpZm, vtT, vMZ)
|
EMC.MAXZ = ParkZ1 + CalcExtraZ( vtTpZm, vtT, vMZ)
|
||||||
else
|
else
|
||||||
local vMZ = {{ Tz=0.85, Ez=400}, { Tz=0.7, Ez=300}, { Tz=0.5, Ez=195}, { Tz=0.15, Ez=70}, { Tz=-0.01, Ez=5}, { Tz=-0.5, Ez=1}}
|
local vMZ = {{ Tz=0.85, Ez=400}, { Tz=0.7, Ez=300}, { Tz=0.5, Ez=195}, { Tz=0.15, Ez=60}, { Tz=-0.01, Ez=5}, { Tz=-0.5, Ez=1}}
|
||||||
EMC.MAXZ = ParkZ1 + CalcExtraZ( vtTpZm, vtT, vMZ)
|
EMC.MAXZ = ParkZ1 + CalcExtraZ( vtTpZm, vtT, vMZ)
|
||||||
end
|
end
|
||||||
elseif EMC.HEAD == 'H21' then
|
elseif EMC.HEAD == 'H21' then
|
||||||
|
|||||||
@@ -5,10 +5,10 @@
|
|||||||
require( 'EmtGenerator')
|
require( 'EmtGenerator')
|
||||||
EgtEnableDebug( false)
|
EgtEnableDebug( false)
|
||||||
|
|
||||||
PP_VER = '2.7k3'
|
PP_VER = '3.1b1'
|
||||||
PP_NVER = '2.7.11.3'
|
PP_NVER = '3.1.2.1'
|
||||||
MIN_MACH_VER = '2.7d2'
|
MIN_MACH_VER = '2.7d2'
|
||||||
MACH_NAME = string.match( EgtGetCurrMachineDir(), "[^\\]+$") -- si ricava il nome della macchina dal direttorio
|
MACH_NAME = EgtGetCurrMachineName()
|
||||||
|
|
||||||
-- Carico i dati globali
|
-- Carico i dati globali
|
||||||
local sMachDir = EgtGetCurrMachineDir()
|
local sMachDir = EgtGetCurrMachineDir()
|
||||||
|
|||||||
Binary file not shown.
@@ -1,5 +1,20 @@
|
|||||||
==== Common_PF1250 Update Log ====
|
==== Common_PF1250 Update Log ====
|
||||||
|
|
||||||
|
Versione 3.1b1 (17/02/2026)
|
||||||
|
- (GEN) Generazione non allineata a simulazione. Ticket#2819
|
||||||
|
|
||||||
|
Versione 3.1a2 (30/01/2026)
|
||||||
|
- (SIM) Allineato approccio simulazione a generazione in caso di lavorazione in doppio verticale. Ticket#2781
|
||||||
|
- (GEN) Simulazione non allineata a generazione. Mancava reset flag di pezzo a caduta. Ticket#2798
|
||||||
|
|
||||||
|
Versione 3.1a1 (16/01/2026)
|
||||||
|
- (SIM-GEN) Corretto movimento di approccio con sega a catena e allineati Simulazione e Generazione. Ticket#2771
|
||||||
|
|
||||||
|
Versione 2.7l1 (18/12/2025)
|
||||||
|
- (SIM-GEN) Aggiunto controllo post movimenti ausiliari dell' EMC.PREVOFFSX nella funzione OnSpecialGetPrevMachiningOffset() come su ONE-PF. Ticket#2727
|
||||||
|
- (SIM-GEN) Cambiato delta di correzione Z per lama con inclinazione >= 81° da 70 a 60 mm. Risoluzione Ticket#2210
|
||||||
|
- (SIM-GEN) Divisione movimento B in approccio se > 90°.
|
||||||
|
|
||||||
Versione 2.7k5 (26/11/2025)
|
Versione 2.7k5 (26/11/2025)
|
||||||
- (SIM) Migliorata funzione CheckClamping, ora il controllo di warning si basa sulla somma delle lunghezze delle aree pinzate
|
- (SIM) Migliorata funzione CheckClamping, ora il controllo di warning si basa sulla somma delle lunghezze delle aree pinzate
|
||||||
|
|
||||||
|
|||||||
+1
-1
@@ -3,7 +3,7 @@
|
|||||||
|
|
||||||
local InfoCommon_STD_PP = {
|
local InfoCommon_STD_PP = {
|
||||||
NAME = 'Common_PF1250', -- nome script PP standard
|
NAME = 'Common_PF1250', -- nome script PP standard
|
||||||
VERSION = '2.7k5', -- versione script
|
VERSION = '3.1b1', -- versione script
|
||||||
MIN_MACH_VER_PP_COMMON = '2.7k1' -- versione minima kernel
|
MIN_MACH_VER_PP_COMMON = '2.7k1' -- versione minima kernel
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user