diff --git a/Beam/BeamData.lua b/Beam/BeamData.lua index 80a190f..bffa4d1 100644 --- a/Beam/BeamData.lua +++ b/Beam/BeamData.lua @@ -106,6 +106,13 @@ if EgtExistsFile( sData) then BeamData.DIM_STRIP_SMALL = Machine.Offsets.DIM_STRIP_SMALL or BeamData.DIM_STRIP_SMALL BeamData.DIM_TO_CENTER_STRIP = Machine.Offsets.DIM_TO_CENTER_STRIP or BeamData.DIM_TO_CENTER_STRIP BeamData.MAXDIAM_POCK_CORNER = Machine.Offsets.MAXDIAM_POCK_CORNER or BeamData.MAXDIAM_POCK_CORNER + BeamData.LONGCUT_ENDLEN = Machine.Offsets.LONGCUT_ENDLEN or BeamData.LONGCUT_ENDLEN + BeamData.LONGCUT_MAXLEN = Machine.Offsets.LONGCUT_MAXLEN or BeamData.LONGCUT_MAXLEN + 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_SHORT_PART = Machine.Offsets.LEN_SHORT_PART or BeamData.LEN_SHORT_PART + BeamData.OVM_MID = Machine.Offsets.OVM_MID or BeamData.OVM_MID + if Machine.Offsets.ROT90 ~= nil then BeamData.ROT90 = ( Machine.Offsets.ROT90 == 1) end if Machine.Offsets.PRECUT_HEAD_DISABLE then BeamData.PRECUT_HEAD = ( Machine.Offsets.PRECUT_HEAD_DISABLE == 0) end if Machine.Offsets.PRECUT_TAIL_DISABLE then BeamData.PRECUT_TAIL = ( Machine.Offsets.PRECUT_TAIL_DISABLE == 0) end end @@ -235,11 +242,19 @@ local function GetSetupInfo( sHead) SetupInfo.HeadType = { bTop = true, bBottom = false} SetupInfo.PreferredSide = { bFront = false, bBack = true} SetupInfo.dMinNz = sin( -45) + -- se con aggregato si considera non simmetrico + SetupInfo.bIsCSymmetrical = false + -- riduzione massimo materiale se usato in tagli orizzontali con affondamento verticale + SetupInfo.dMaxMatDecrease = 20 -- lama su testa 5 assi da sopra, davanti elseif sHead == 'H22' then SetupInfo.HeadType = { bTop = true, bBottom = false} SetupInfo.PreferredSide = { bFront = true, bBack = false} SetupInfo.dMinNz = sin( -45) + -- se con aggregato si considera non simmetrico + SetupInfo.bIsCSymmetrical = false + -- riduzione massimo materiale se usato in tagli orizzontali con affondamento verticale + SetupInfo.dMaxMatDecrease = 20 -- motosega 1 elseif sHead == 'H13' or sHead == 'H23' then SetupInfo.HeadType = { bTop = true, bBottom = false} diff --git a/Beam/MachiningTypes.ini b/Beam/MachiningTypes.ini index 8a4229a..6260a95 100644 --- a/Beam/MachiningTypes.ini +++ b/Beam/MachiningTypes.ini @@ -36,6 +36,7 @@ 22=Long2CutSide 23=SmallToolContour 24=AntiSplintMillCut +25=Prof_end [Pocketing] 1=Pocket diff --git a/Common_ONE-PF.NUM.mlpe b/Common_ONE-PF.NUM.mlpe index 357c4f5..7f4e65f 100644 --- a/Common_ONE-PF.NUM.mlpe +++ b/Common_ONE-PF.NUM.mlpe @@ -27,7 +27,7 @@ function OnStart() --EMT.LINEINC = 1 -- incremento numerazione linee --EMT.Ft = 'F' -- token per feed --EMT.St = 'S' -- token per speed - EMT.FMAXPINZE = EgtClamp( MaxFeedPinze or 102000, 60000, 155000) -- feed massima pinze + EMT.FMAXPINZE = EgtClamp( MaxFeedPinze or 102000, 20000, 155000) -- feed massima pinze EMT.MAXACC = MaxAcc or ( EMT.FMAXPINZE / ( 60 * 0.3)) -- accelerazione massima pinze EMT.MINACC = MinAcc or ( EMT.FMAXPINZE / ( 60 * 4)) -- accelerazione minima pinze diff --git a/Common_ONE-PF.mlpe b/Common_ONE-PF.mlpe index cf317c8..78bc3c6 100644 --- a/Common_ONE-PF.mlpe +++ b/Common_ONE-PF.mlpe @@ -1176,9 +1176,9 @@ function OnSimulMoveStart() end -- altrimenti sega a catena else + local dPosA = GetCurrChainSawingVirtualAxis() -- se anche precedente con sega a catena ma depositata, devo riprenderla if EMT.CHSAW_OUT then - local dPosA = GetCurrChainSawingVirtualAxis() EgtSetMode( EgtGetHeadId( EMT.HEAD), GDB_MD.HIDDEN) OnSimulToolDeselect() EgtLoadTool( EMT.HEAD, 1, EMT.TOOL) @@ -1242,9 +1242,9 @@ function OnSimulMoveStart() end -- altrimenti sega a catena (H13 o H15) else + local dPosA = GetCurrChainSawingVirtualAxis() -- se anche precedente con sega a catena ma depositata, devo riprenderla if EMT.CHSAW_OUT then - local dPosA = GetCurrChainSawingVirtualAxis() EgtSetMode( EgtGetHeadId( EMT.HEAD), GDB_MD.HIDDEN) OnSimulToolDeselect() EgtLoadTool( EMT.HEAD, 1, EMT.TOOL) @@ -1318,9 +1318,9 @@ function OnSimulMoveStart() end -- altrimenti sega a catena else + local dPosA = GetCurrChainSawingVirtualAxis() -- se anche precedente con sega a catena ma depositata, devo riprenderla if EMT.CHSAW_OUT then - local dPosA = GetCurrChainSawingVirtualAxis() EgtSetMode( EgtGetHeadId( EMT.HEAD), GDB_MD.HIDDEN) OnSimulToolDeselect() EgtLoadTool( EMT.HEAD, 1, EMT.TOOL) @@ -1832,7 +1832,7 @@ function ExecMoveZmax( bMchSplit, btoXHome) SimulMoveAxes( 'X1', HomeX, MCH_SIM_STEP.RAPID, 'C1', HomeC, MCH_SIM_STEP.COLLROT) end else - -- se sega a catena + -- se fresa o lama if not HeadIsChainSaw( EMT.HEAD) then if abs( HomeC - CurrC) > 0.1 or abs( HomeB - CurrB) > 0.1 then local dZref = HomeZ + GetZExtra( EMT.HEAD, CurrB) @@ -1885,13 +1885,13 @@ function ExecMoveZmax( bMchSplit, btoXHome) EMT.XHOME = true SimulMoveAxis( 'X2', ParkX2, MCH_SIM_STEP.RAPID) end - -- altrimenti sega a catena + -- altrimenti sega a catena else SimulMoveAxes( 'Z2', HomeZ, MCH_SIM_STEP.RAPID, 'B2', HomeB, MCH_SIM_STEP.COLLROT) if EMT.R3 and abs( EMT.R3) < 0.1 then SimulMoveAxis( 'Z2', ParkCSawZ2, MCH_SIM_STEP.RAPID) end - SimulMoveAxes( 'X2', HomeX, MCH_SIM_STEP.RAPID, 'C2', HomeC, MCH_SIM_STEP.COLLROT) + SimulMoveAxes( 'X2', ParkCSawX2, MCH_SIM_STEP.RAPID, 'C2', HomeC, MCH_SIM_STEP.COLLROT) end end EMT.ZMAX = true diff --git a/Common_ONE-PF.mlse b/Common_ONE-PF.mlse index 7fd14c5..c4a41ad 100644 --- a/Common_ONE-PF.mlse +++ b/Common_ONE-PF.mlse @@ -229,7 +229,7 @@ local MIN_BACK_ENG_V = 115 -- ingombro asse Z a sinistra local AGG_V = MinDeltaYV -- ingombro rulli pressori + sicurezza local MIN_CLAMP_5 = 150 -- minima presa con la pinza speciale (pinza 5) local SIC_CLAMP_5 = 50 -- sicurezza testa da pinza speciale -local MAX_BACK_CLAMP_5 = 320 -- massima sporgenza posteriore del pezzo da pinza speciale +local MAX_BACK_CLAMP_5 = EgtClamp( MaxBackClamp5 or 320, 200, 380) -- massima sporgenza posteriore del pezzo da pinza speciale ----------------------- Variabili ----------------------------------- local Test = false @@ -1610,8 +1610,11 @@ function SpecCalcUnload() EgtOutLog( ' *[U1]', 1) end local vCmd = {} + -- Tipo di scarico + local bStdUl = ( not MaxUnloadLen or MaxUnloadLen < 1 or EMC.LB - EMC.HOVM < MaxUnloadLen + 1) + -- Commento - table.insert( vCmd, { 0, 'Unloading'}) + table.insert( vCmd, { 0, 'Unloading', EgtIf( bStdUl, 'Unloading', 'Manual Unloading')}) -- posizionamento sicuro teste e rulli (non serve ?) --table.insert( vCmd, { 4, 0}) -- Se pinza Y chiusa, la apro @@ -1619,11 +1622,15 @@ function SpecCalcUnload() table.insert( vCmd, { 11, 0}) EMC.CNT = nil end - -- Sposto il pezzo in posizione di scarico - local dFinT = UnloadT - EMC.LB - local dFinY2 = dFinT + EMC.Y2DELTA - table.insert( vCmd, { 2, 'T', dFinT, 'Y2', dFinY2}) - EgtOutLog( ' Y2PosF=' .. EgtNumToString( dFinY2), 1) + -- Se non supero la lunghezza massima di scarico, sposto il pezzo in posizione di scarico + if bStdUl then + local dFinT = UnloadT - EMC.LB + local dFinY2 = dFinT + EMC.Y2DELTA + table.insert( vCmd, { 2, 'T', dFinT, 'Y2', dFinY2}) + EgtOutLog( ' Y2PosF=' .. EgtNumToString( dFinY2), 1) + else + table.insert( vCmd, { 1, 'Y2', MaxY2}) + end -- apro la morsa table.insert( vCmd, { 12, 0}) -- riporto il carrello in home diff --git a/Essetre-PFrl.mlde b/Essetre-PFrl.mlde index 9aa6225..dac8872 100644 --- a/Essetre-PFrl.mlde +++ b/Essetre-PFrl.mlde @@ -174,7 +174,6 @@ SecondSaw = false AutomaticRotation = true OptimizedLoadBeam = true AutoRotMinLen = 0 -CoeffVM = 0.5 EstimationRapidMultiplier = 1 ForceToCloseRollersGate = false Probe = nil @@ -259,6 +258,10 @@ if EgtExistsFile( sData) then if Machine.Offsets.SAWOFFSZ then SawOffsZ = Machine.Offsets.SAWOFFSZ end if Machine.Offsets.SAW2OFFSX then Saw2OffsX = Machine.Offsets.SAW2OFFSX end if Machine.Offsets.SAW2OFFSZ then Saw2OffsZ = Machine.Offsets.SAW2OFFSZ end + if Machine.Offsets.NOULOAD then MaxUnloadLen = Machine.Offsets.NOULOAD end + if Machine.Offsets.MAXFEEDPINZE then MaxFeedPinze = Machine.Offsets.MAXFEEDPINZE end + if Machine.Offsets.MAXACC then MaxAcc = Machine.Offsets.MAXACC end + if Machine.Offsets.MINACC then MinAcc = Machine.Offsets.MINACC end if Machine.Offsets.DEFTCPOS1 then DefTcPos1 = ( 'T' .. Machine.Offsets.DEFTCPOS1) end if Machine.Offsets.DEFTCPOS2 then DefTcPos2 = ( 'T' .. Machine.Offsets.DEFTCPOS2) end if Machine.Offsets.COEFF_STIMATEMPI and Machine.Offsets.COEFF_STIMATEMPI > 0 then EstimationRapidMultiplier = Machine.Offsets.COEFF_STIMATEMPI end @@ -268,6 +271,7 @@ if EgtExistsFile( sData) then if Machine.Offsets.CHIUDI_PINZE_2_3_SCAMBIO then ForceToCloseRollersGate = Machine.Offsets.CHIUDI_PINZE_2_3_SCAMBIO == 1 end if Machine.Offsets.WOOD_DENSITY then WoodDensity = Machine.Offsets.WOOD_DENSITY end if Machine.Offsets.PROBE then Probe = Machine.Offsets.PROBE end -- Tastatore su entrembe le teste. 1 = solo testa 1, 2 = solo testa 2, 3 = entrambe le teste + if Machine.Offsets.MAX_BACK_CLAMP_5 then MaxBackClamp5 = Machine.Offsets.MAX_BACK_CLAMP_5 end -- aggiustamenti MinY1 = MinV1 + MinDeltaYV MaxY1 = MaxMchY1 diff --git a/UpdateLog.txt b/UpdateLog.txt index bdbd689..d0d3c3e 100644 --- a/UpdateLog.txt +++ b/UpdateLog.txt @@ -1,5 +1,19 @@ ==== Common_ONE-PF Update Log ==== +Versione 2.7g4 (23/07/2025) +- (SIM-GEN) Aggiunto parametro configurabile da TS3 per massima sporgenza trave in coda per pinza 5. Ticket#2538 + +Versione 2.7g3 (22/07/2025) +- (SIM) Corretto lettura angolo di presa della motosega + +Versione 2.7g2 (08/07/2025) + - (SIM) Corretto movimento a parcheggio sega a catena. Ticket#2517 + +Versione 2.7g1 (01/07/2025) +- (GEN) Rimossa gestione PROBE inserita per sbaglio +- (GEN) Corretto gestione accelerazioni +- (SIM-GEN) Aggiunta gestione massima lunghezza scarico + Versione 2.7f1 (04/06/2025) - (SIM) Aggiunta gestione qualità VMILL da impostazioni macchina. Tolto parametro 'CoeffVM'. - (GEN) Prima versione gestione tastatore diff --git a/Version.lua b/Version.lua index 2daadad..862aa30 100644 --- a/Version.lua +++ b/Version.lua @@ -3,7 +3,7 @@ local InfoCommon_STD_PP = { NAME = 'Common_ONE-PF', -- nome script PP standard - VERSION = '2.7f1', -- versione script + VERSION = '2.7g4', -- versione script MIN_MACH_VER_PP_COMMON = '2.5k1' -- versione minima kernel }