From 29fb7cbb47783aff79709d997599f84101e3880f Mon Sep 17 00:00:00 2001 From: "andrea.villa" Date: Thu, 11 Dec 2025 09:25:38 +0100 Subject: [PATCH 1/6] Corretto disegno porta utensile --- Essetre-PF1250MAX.mlde | 4 ++-- THolders/HSK63F_D42.nge | Bin 218287 -> 218287 bytes 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/Essetre-PF1250MAX.mlde b/Essetre-PF1250MAX.mlde index 86249ab..8cd0d1b 100644 --- a/Essetre-PF1250MAX.mlde +++ b/Essetre-PF1250MAX.mlde @@ -8,8 +8,8 @@ require( 'EmtGenerator') EgtEnableDebug( false) -PP_VER = '2.7k1' -PP_NVER = '2.7.11.1' +PP_VER = '2.7l1' +PP_NVER = '2.7.12.1' MIN_MACH_VER = '2.7d2' MACH_NAME = string.match( EgtGetCurrMachineDir(), "[^\\]+$") -- si ricava il nome della macchina dal direttorio diff --git a/THolders/HSK63F_D42.nge b/THolders/HSK63F_D42.nge index 7ad88b1e5f53821bd0b22987ab4460cdbebf27c7..70b3615ceeef32676e2ac72fa2980f1d7b8db2be 100644 GIT binary patch delta 75 zcmV-R0JQ(FsSU5G4S<9JgaWh!mm&e5mzW|0A_1?ryCMT|ECD^2El&eE0Y8^#PXmb% hOy4Z@{`2djb*%|m8^UZnwon771PE$DapUE92>=AY{`2djb*%|m8^Rnvwon771PGTcEXd_}2>>u*9GU Date: Thu, 18 Dec 2025 12:28:33 +0100 Subject: [PATCH 2/6] - Allineamento a common ver. 2.7l1 - Aggiunto parametro MAX_ANGLE_DRILL_CUT a BeamData - Recupero nome macchina da funzione EGT --- Beam/BeamData.lua | 2 ++ Common_PF1250.TPA.mlpe | 20 ++++++++++++++++++-- Common_PF1250.mlpe | 10 +++++++++- Common_PF1250.mlse | 42 ++++++++++++++++++++++++++++++++++++++---- Essetre-PF1250MAX.mlde | 6 +++--- UpdateLog.txt | 5 +++++ Version.lua | 2 +- 7 files changed, 76 insertions(+), 11 deletions(-) diff --git a/Beam/BeamData.lua b/Beam/BeamData.lua index 725e69d..53cb7b2 100644 --- a/Beam/BeamData.lua +++ b/Beam/BeamData.lua @@ -41,6 +41,7 @@ local BeamData = { 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_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 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 @@ -112,6 +113,7 @@ if EgtExistsFile( sDataBeam) then 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.OVM_MID = Machine.Offsets.OVM_MID or BeamData.OVM_MID + BeamData.MAX_ANGLE_DRILL_CUT = Machine.Offsets.MAX_ANGLE_DRILL_CUT or BeamData.MAX_ANGLE_DRILL_CUT if Machine.Offsets.CUT_SIC then BeamData.CUT_SIC = EgtClamp( Machine.Offsets.CUT_SIC, 15, 50) end end if Machine.Trave then diff --git a/Common_PF1250.TPA.mlpe b/Common_PF1250.TPA.mlpe index a35aeca..c10318c 100644 --- a/Common_PF1250.TPA.mlpe +++ b/Common_PF1250.TPA.mlpe @@ -770,7 +770,15 @@ function OnRapid() EmitMoveDataHead( 1, { B=0, S=Speed}) EmitMoveDataHead( 1, { C=EMT.R1, 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 else -- se bisogna scrivere tutti gli assi @@ -1084,7 +1092,15 @@ function OnRapid() EmitMoveDataHead( 1, { Z=MyMaxZ1, B=0, S=Speed}) EmitMoveDataHead( 1, { C=EMT.R1, 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 else -- se ero in posizione speciale, prima ruoto poi scendo diff --git a/Common_PF1250.mlpe b/Common_PF1250.mlpe index 5a360b4..ee87a06 100644 --- a/Common_PF1250.mlpe +++ b/Common_PF1250.mlpe @@ -1068,7 +1068,15 @@ function OnSimulMoveStart() SimulMoveAxes( 'Z1', MyMaxZ1, MCH_SIM_STEP.RAPID, 'B1', 0, MCH_SIM_STEP.COLLROT) SimulMoveAxis( 'C1', EMT.R1, MCH_SIM_STEP.COLLROT) 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 else -- se bisogna scrivere tutti gli assi diff --git a/Common_PF1250.mlse b/Common_PF1250.mlse index 3c79c71..c042c51 100644 --- a/Common_PF1250.mlse +++ b/Common_PF1250.mlse @@ -17,6 +17,33 @@ require( 'EmtGenMachining') --------------------------------------------------------------------- ----------------------------------------------------------------------------------------- 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 EMC.ERR = 0 EMC.PREVOFFSX = 0 @@ -26,8 +53,15 @@ function OnSpecialGetPrevMachiningOffset() if IsStartOrRestPhase( EMC.CURRPHASE) then -- recupero la posizione finale della lavorazione precedente local vPrevAx = EmtGetFinalAxesPos( EMC.PREVMCHID) - -- la X (L1) di questa corrisponde alla posizione iniziale della nuova trave, se ne deduce l'offset - EMC.PREVOFFSX = ParkV1 - vPrevAx[1] + -- ricava se e quanto la trave viene spostata tra le due fasi dai movimenti ausiliari e corregge l'offset di fine fase + 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 @@ -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}} EMC.MAXZ = ParkZ1 + CalcExtraZ( vtTpZm, vtT, vMZ) 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) end 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}} EMC.MAXZ = ParkZ1 + CalcExtraZ( vtTpZm, vtT, vMZ) 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) end elseif EMC.HEAD == 'H21' then diff --git a/Essetre-PF1250MAX.mlde b/Essetre-PF1250MAX.mlde index 8cd0d1b..09fa635 100644 --- a/Essetre-PF1250MAX.mlde +++ b/Essetre-PF1250MAX.mlde @@ -8,10 +8,10 @@ require( 'EmtGenerator') EgtEnableDebug( false) -PP_VER = '2.7l1' -PP_NVER = '2.7.12.1' +PP_VER = '2.7l2' +PP_NVER = '2.7.12.2' 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 local sMachDir = EgtGetCurrMachineDir() diff --git a/UpdateLog.txt b/UpdateLog.txt index cf75361..9a6f843 100644 --- a/UpdateLog.txt +++ b/UpdateLog.txt @@ -1,5 +1,10 @@ ==== Common_PF1250 Update Log ==== +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) - (SIM) Migliorata funzione CheckClamping, ora il controllo di warning si basa sulla somma delle lunghezze delle aree pinzate diff --git a/Version.lua b/Version.lua index c61db11..8f0edbd 100644 --- a/Version.lua +++ b/Version.lua @@ -3,7 +3,7 @@ local InfoCommon_STD_PP = { NAME = 'Common_PF1250', -- nome script PP standard - VERSION = '2.7k5', -- versione script + VERSION = '2.7l1', -- versione script MIN_MACH_VER_PP_COMMON = '2.7k1' -- versione minima kernel } From 252b10f02081b6d8a83fb2034e6b91779d5acad3 Mon Sep 17 00:00:00 2001 From: "andrea.villa" Date: Fri, 16 Jan 2026 16:00:00 +0100 Subject: [PATCH 3/6] Allineamento con common ver. 3.1a1 --- Common_PF1250.TPA.mlpe | 16 ++++++++++++---- Common_PF1250.mlpe | 16 +++++++++++++--- Essetre-PF1250MAX.mlde | 4 ++-- UpdateLog.txt | 2 ++ Version.lua | 2 +- 5 files changed, 30 insertions(+), 10 deletions(-) diff --git a/Common_PF1250.TPA.mlpe b/Common_PF1250.TPA.mlpe index c10318c..3184522 100644 --- a/Common_PF1250.TPA.mlpe +++ b/Common_PF1250.TPA.mlpe @@ -1121,16 +1121,24 @@ function OnRapid() -- altrimenti sega a catena else -- se bisogna scrivere tutti gli assi + local dSafeZ1 = EgtIf( EMT.TTOTLEN < MinLengthLongCSaw, ParkCSawZ1, ParkLongCSawZ1) 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}) end -- 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, { 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 - EmitMoveDataHead( 1, { Z=EMT.L3, B=EMT.R2, S=Speed}) -- se motosega molto lunga, ruoto prima di muovermi in X if EMT.TTOTLEN >= MinLengthLongCSaw then EmitMoveDataHead( 1, { C=EMT.R1, S=Speed}) diff --git a/Common_PF1250.mlpe b/Common_PF1250.mlpe index ee87a06..579e440 100644 --- a/Common_PF1250.mlpe +++ b/Common_PF1250.mlpe @@ -1102,14 +1102,24 @@ function OnSimulMoveStart() end -- altrimenti sega a catena else + local dSafeZ1 = EgtIf( EMT.TTOTLEN < MinLengthLongCSaw, ParkCSawZ1, ParkLongCSawZ1) -- 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( 'Z1', Z1Home, MCH_SIM_STEP.RAPID) + SimulMoveAxis( 'Z1', dSafeZ1, MCH_SIM_STEP.RAPID) end + -- se movimento iniziale da Zmax 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 if EMT.TTOTLEN >= MinLengthLongCSaw then SimulMoveAxis( 'C1', EMT.R1, MCH_SIM_STEP.COLLROT) diff --git a/Essetre-PF1250MAX.mlde b/Essetre-PF1250MAX.mlde index 09fa635..01304c0 100644 --- a/Essetre-PF1250MAX.mlde +++ b/Essetre-PF1250MAX.mlde @@ -8,8 +8,8 @@ require( 'EmtGenerator') EgtEnableDebug( false) -PP_VER = '2.7l2' -PP_NVER = '2.7.12.2' +PP_VER = '3.1a1' +PP_NVER = '3.1.1.1' MIN_MACH_VER = '2.7d2' MACH_NAME = EgtGetCurrMachineName() diff --git a/UpdateLog.txt b/UpdateLog.txt index 9a6f843..09cb88b 100644 --- a/UpdateLog.txt +++ b/UpdateLog.txt @@ -1,4 +1,6 @@ ==== Common_PF1250 Update Log ==== +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 diff --git a/Version.lua b/Version.lua index 8f0edbd..d69c240 100644 --- a/Version.lua +++ b/Version.lua @@ -3,7 +3,7 @@ local InfoCommon_STD_PP = { NAME = 'Common_PF1250', -- nome script PP standard - VERSION = '2.7l1', -- versione script + VERSION = '3.1a1', -- versione script MIN_MACH_VER_PP_COMMON = '2.7k1' -- versione minima kernel } From 0b52596d95eebe09d275350ce237b69109013247 Mon Sep 17 00:00:00 2001 From: "andrea.villa" Date: Fri, 30 Jan 2026 13:12:24 +0100 Subject: [PATCH 4/6] Allineamento con common ver.3.1a2 --- Common_PF1250.TPA.mlpe | 1 + Common_PF1250.mlpe | 6 ++++++ Essetre-PF1250MAX.mlde | 4 ++-- UpdateLog.txt | 5 +++++ Version.lua | 2 +- 5 files changed, 15 insertions(+), 3 deletions(-) diff --git a/Common_PF1250.TPA.mlpe b/Common_PF1250.TPA.mlpe index 3184522..a44c01a 100644 --- a/Common_PF1250.TPA.mlpe +++ b/Common_PF1250.TPA.mlpe @@ -538,6 +538,7 @@ function OnMachiningEnd() local sEnd= 'M113 P1='..tostring( EMT.PRODID)..' P2='..tostring( EMT.PATTID)..' P3='..tostring( EMT.CUTID)..' P4=2' MyOutput( sEnd) end + EMT.FALL = nil elseif not EMT.PREROT then MyOutput( 'M77') end diff --git a/Common_PF1250.mlpe b/Common_PF1250.mlpe index 579e440..f96cdd4 100644 --- a/Common_PF1250.mlpe +++ b/Common_PF1250.mlpe @@ -1302,6 +1302,12 @@ function OnSimulMoveStart() local sErr = 'Z1 Z2 tools in collision (distance=' .. EgtNumToString( dDistToolZ1Z2, 1) .. ')' EmtSetLastError( 1208, sErr) 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 -- se necessario ... diff --git a/Essetre-PF1250MAX.mlde b/Essetre-PF1250MAX.mlde index 01304c0..35cf3a7 100644 --- a/Essetre-PF1250MAX.mlde +++ b/Essetre-PF1250MAX.mlde @@ -8,8 +8,8 @@ require( 'EmtGenerator') EgtEnableDebug( false) -PP_VER = '3.1a1' -PP_NVER = '3.1.1.1' +PP_VER = '3.1a2' +PP_NVER = '3.1.1.2' MIN_MACH_VER = '2.7d2' MACH_NAME = EgtGetCurrMachineName() diff --git a/UpdateLog.txt b/UpdateLog.txt index 09cb88b..0440c9d 100644 --- a/UpdateLog.txt +++ b/UpdateLog.txt @@ -1,4 +1,9 @@ ==== Common_PF1250 Update Log ==== + +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 diff --git a/Version.lua b/Version.lua index d69c240..17e5e98 100644 --- a/Version.lua +++ b/Version.lua @@ -3,7 +3,7 @@ local InfoCommon_STD_PP = { NAME = 'Common_PF1250', -- nome script PP standard - VERSION = '3.1a1', -- versione script + VERSION = '3.1a2', -- versione script MIN_MACH_VER_PP_COMMON = '2.7k1' -- versione minima kernel } From d12737352b78d50744532029e3e213aa3f2c8492 Mon Sep 17 00:00:00 2001 From: "andrea.villa" Date: Tue, 17 Feb 2026 09:53:18 +0100 Subject: [PATCH 5/6] Allineamento con common ver. 3.1b1 --- Common_PF1250.TPA.mlpe | 4 ++-- Essetre-PF1250MAX.mlde | 4 ++-- UpdateLog.txt | 3 +++ Version.lua | 2 +- 4 files changed, 8 insertions(+), 5 deletions(-) diff --git a/Common_PF1250.TPA.mlpe b/Common_PF1250.TPA.mlpe index a44c01a..227b78c 100644 --- a/Common_PF1250.TPA.mlpe +++ b/Common_PF1250.TPA.mlpe @@ -585,8 +585,8 @@ function OnPathStart() --MyOutput( 'CNT='.. tostring( EMT.CNT or 0)) -- se utensile non cambiato, salvo eventuali precedenti rotanti if EMT.TOOL == EMT.PREVTOOL and not EMT.ZMAX then - EMT.L2pp = EMT.L2op - EMT.L3pp = EMT.L3op + EMT.L2pp = EMT.L2op or EMT.L2pp + EMT.L3pp = EMT.L3op or EMT.L3pp EMT.R1pp = EMT.R1p or EMT.R1pp EMT.R2pp = EMT.R2p or EMT.R2pp else diff --git a/Essetre-PF1250MAX.mlde b/Essetre-PF1250MAX.mlde index 35cf3a7..0ec22a3 100644 --- a/Essetre-PF1250MAX.mlde +++ b/Essetre-PF1250MAX.mlde @@ -8,8 +8,8 @@ require( 'EmtGenerator') EgtEnableDebug( false) -PP_VER = '3.1a2' -PP_NVER = '3.1.1.2' +PP_VER = '3.1b1' +PP_NVER = '3.1.2.1' MIN_MACH_VER = '2.7d2' MACH_NAME = EgtGetCurrMachineName() diff --git a/UpdateLog.txt b/UpdateLog.txt index 0440c9d..fbcced6 100644 --- a/UpdateLog.txt +++ b/UpdateLog.txt @@ -1,5 +1,8 @@ ==== 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 diff --git a/Version.lua b/Version.lua index 17e5e98..29a89c9 100644 --- a/Version.lua +++ b/Version.lua @@ -3,7 +3,7 @@ local InfoCommon_STD_PP = { NAME = 'Common_PF1250', -- nome script PP standard - VERSION = '3.1a2', -- versione script + VERSION = '3.1b1', -- versione script MIN_MACH_VER_PP_COMMON = '2.7k1' -- versione minima kernel } From 7c3fcfb2005103638804cc3cbbf1c9705898eebb Mon Sep 17 00:00:00 2001 From: "andrea.villa" Date: Tue, 17 Feb 2026 10:28:08 +0100 Subject: [PATCH 6/6] Allineamento con common ver. 3.1b1 --- Common_PF1250.TPA.mlpe | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/Common_PF1250.TPA.mlpe b/Common_PF1250.TPA.mlpe index 227b78c..3653e10 100644 --- a/Common_PF1250.TPA.mlpe +++ b/Common_PF1250.TPA.mlpe @@ -574,10 +574,14 @@ end --------------------------------------------------------------------- function OnPathStart() + if EMT.OPEISDISP then + return + end -- non ancora iniziata la lavorazione EMT.MCHFIRST = true EMT.MCHFIRSTFEED = true -- primo posizionamento sempre in globale + -- primo posizionamento sempre in globale EMT.REFLOC = nil EMT.IPLGL = false -- leggo se ancora presa iniziale carrello @@ -585,8 +589,8 @@ function OnPathStart() --MyOutput( 'CNT='.. tostring( EMT.CNT or 0)) -- se utensile non cambiato, salvo eventuali precedenti rotanti if EMT.TOOL == EMT.PREVTOOL and not EMT.ZMAX then - EMT.L2pp = EMT.L2op or EMT.L2pp - EMT.L3pp = EMT.L3op or EMT.L3pp + EMT.L2pp = EMT.L2op + EMT.L3pp = EMT.L3op EMT.R1pp = EMT.R1p or EMT.R1pp EMT.R2pp = EMT.R2p or EMT.R2pp else @@ -603,6 +607,9 @@ end --------------------------------------------------------------------- function OnPathEnd() + if EMT.OPEISDISP then + return + end if not EMT.ZMAX then EmitResetMachining() end