From 47ac7ae18ec6773de791445c2d4e312ccbdb0ca4 Mon Sep 17 00:00:00 2001 From: "andrea.villa" Date: Tue, 8 Oct 2024 11:51:02 +0200 Subject: [PATCH] - Allineamento con common ver. 2.6j1 --- Common_ONE-PF.NUM.mlpe | 108 +++++++++++++++++++++++++---------------- Common_ONE-PF.mlpe | 30 +++++++++++- Essetre-PFrl.mlde | 5 +- UpdateLog.txt | 5 ++ Version.lua | 2 +- 5 files changed, 105 insertions(+), 45 deletions(-) diff --git a/Common_ONE-PF.NUM.mlpe b/Common_ONE-PF.NUM.mlpe index 537aa53..149d798 100644 --- a/Common_ONE-PF.NUM.mlpe +++ b/Common_ONE-PF.NUM.mlpe @@ -684,6 +684,10 @@ function OnPathEnd() if not EMT.ZMAX then EmitResetMachining() end + + -- salvo dati precedenti + EMT.L2pp = EMT.L2o + EMT.AUXTYPE = nil EMT.UNL = nil EMT.PREROT = nil @@ -868,14 +872,20 @@ function OnRapid() bMoveZbeforeX = true end + -- se vado in posizione speciale rotazione assi, poi devo ritornare alla X vera di lavoro + local dMoveXtoFinalPosition = false local dXref = EMT.L2 if EMT.HEAD == 'H12' and EMT.L2 < -LimX1PlRotSaw then dXref = -LimX1PlRotSaw EmitMoveDataHead( 1, { X=dXref, Z=MyMaxZ1, B=ParkB1, C=ParkC1, S=Speed}) + dZref = min( dSafeZ1 + GetZExtra( EMT.HEAD, EMT.R2), MyMaxZ1) + dMoveXtoFinalPosition = true elseif not bMoveZbeforeX then EmitMoveDataHead( 1, { X=dXref, Z=MyMaxZ1, B=ParkB1, C=ParkC1, S=Speed}) else EmitMoveDataHead( 1, { X=-LimX1PlRotSaw, Z=MyMaxZ1, B=ParkB1, C=ParkC1, S=Speed}) + dZref = min( dSafeZ1 + GetZExtra( EMT.HEAD, EMT.R2), MyMaxZ1) + dMoveXtoFinalPosition = true end -- caso speciale per trave alta con rotazione lama pericolosa (tolto "and EMT.SB > 379") @@ -886,6 +896,9 @@ function OnRapid() if bMoveZbeforeX then EmitMoveDataHead( 1, { Z=EMT.L3, S=Speed}) end + if dMoveXtoFinalPosition then + EmitMoveDataHead( 1, { X=EMT.L2, S=Speed}) + end -- caso standard else EmitMoveDataHead( 1, { X=dXref, Z=dZref, B=ParkB1, C=ParkC1, S=Speed}) @@ -1121,7 +1134,7 @@ function OnRapid() end bToPresel = false -- risalita a Zmax - EmitZmax( false, false, EMT.TO_XHOME, PrevR1, PrevR2) + EmitZmax( false, false, EMT.TO_XHOME, PrevR1, PrevR2, nil, true) EMT.ZMAX = true EMT.TO_ZMAX = nil EMT.TO_XHOME = nil @@ -1139,37 +1152,17 @@ function OnRapid() if EMT.TO_XHOME then local nHSet = GetHeadSet( EMT.HEAD) local nPrevHSet = GetHeadSet( EMT.PREVHEAD) - - -- se successivo non è sega a catena e la testa è la stessa, vado in home con utensile succesivo - if not HeadIsChainSaw( EMT.HEAD) and nHSet == nPrevHSet then - if nHSet == 1 then + if EMT.PREVHEAD == 'H12' or EMT.PREVHEAD == 'H22' then + if nPrevHSet == 1 then local HomeX1 = EgtGetAxisHomePos( 'X1') - EmitMoveDataHead( 1, { X=-HomeX1, Z=MaxZ1, B=ParkB1, C=ParkC1}) + EmitMoveDataHead( 1, { X=-EMT.PREVHOMEX_H1, Z=MaxZ1, B=ParkB1, C=ParkC1, TPos=AdjustTcPos( false, EMT.PREVTCPOS_H1)}) EmitMoveStartHead( 1, 'EA1') + EmitMoveWaitHead( 1) else local HomeX2 = EgtGetAxisHomePos( 'X2') - EmitMoveDataHead( 2, { X=-HomeX2, Z=MaxZ2, B=ParkB2, C=ParkC2}) + EmitMoveDataHead( 2, { X=-EMT.PREVHOMEX_H2, Z=MaxZ2, B=ParkB2, C=ParkC2, TPos=AdjustTcPos( false, EMT.PREVTCPOS_H2)}) EmitMoveStartHead( 2, 'EA1') - end - else - if not HeadIsChainSaw( EMT.PREVHEAD) then - if nPrevHSet == 1 then - local HomeX1 = EgtGetAxisHomePos( 'X1') - EmitMoveDataHead( 1, { X=-EMT.PREVHOMEX_H1, Z=MaxZ1, B=ParkB1, C=ParkC1, TPos=AdjustTcPos( false, EMT.PREVTCPOS_H1)}) - EmitMoveStartHead( 1, 'EA1') - else - local HomeX2 = EgtGetAxisHomePos( 'X2') - EmitMoveDataHead( 2, { X=-EMT.PREVHOMEX_H2, Z=MaxZ2, B=ParkB2, C=ParkC2, TPos=AdjustTcPos( false, EMT.PREVTCPOS_H2)}) - EmitMoveStartHead( 2, 'EA1') - end - else - if GetHeadTCSet( EMT.PREVHEAD, EMT.PREVTCPOS) == 'Head1_TC1' or GetHeadTCSet( EMT.PREVHEAD, EMT.PREVTCPOS) == 'Head1_TC2' then - EmitMoveDataHead( 1, { X=-ParkCSawX1S, Z=MaxZ1, B=HomeR2, C=HomeR1, TPos='50'}) - EmitMoveStartHead( 1, 'EA1') - else - EmitMoveDataHead( 2, { X=-ParkCSawX2S, Z=MaxZ2, B=HomeR2, C=HomeR1, TPos='50'}) - EmitMoveStartHead( 2, 'EA1') - end + EmitMoveWaitHead( 2) end end @@ -1234,14 +1227,20 @@ function OnRapid() bMoveZbeforeX = true end + -- se vado in posizione speciale rotazione assi, poi devo ritornare alla X vera di lavoro + local dMoveXtoFinalPosition = false local dXref = EMT.L2 if EMT.HEAD == 'H12' and EMT.L2 < -LimX1PlRotSaw then dXref = -LimX1PlRotSaw EmitMoveDataHead( 1, { X=dXref, Z=CurrZ1, B=CurrB1, C=CurrC1, TRad=dTRad, TLen=dTLen, S=Speed}) - elseif not bMoveZbeforeX then + dZref = min( dSafeZ1 + GetZExtra( EMT.HEAD, EMT.R2), MyMaxZ1) + dMoveXtoFinalPosition = true + elseif not bMoveZbeforeX then EmitMoveDataHead( 1, { X=dXref, Z=CurrZ1, B=CurrB1, C=CurrC1, TRad=dTRad, TLen=dTLen, S=Speed}) else EmitMoveDataHead( 1, { X=CurrX1, Z=CurrZ1, B=CurrB1, C=CurrC1, TRad=dTRad, TLen=dTLen, S=Speed}) + dZref = min( dSafeZ1 + GetZExtra( EMT.HEAD, EMT.R2), MyMaxZ1) + dMoveXtoFinalPosition = true end -- caso speciale per trave alta con rotazione lama pericolosa (tolto "and EMT.SB > 379") @@ -1252,6 +1251,9 @@ function OnRapid() if bMoveZbeforeX then EmitMoveDataHead( 1, { Z=EMT.L3, S=Speed}) end + if dMoveXtoFinalPosition then + EmitMoveDataHead( 1, { X=EMT.L2, S=Speed}) + end -- altrimenti caso standard else EmitMoveDataHead( 1, { Z=dZref, S=Speed}) @@ -1943,6 +1945,9 @@ function PrepareMoveChar( sCmd, nInd) table.insert( EMT.MDCHAR, MDChar) EMT.Y1POS = MoveY1 or EMT.Y1POS EMT.TPOS = GetCmdAxMove( Cmd, 'T') or EMT.TPOS + if EMT.V1POS < 400 and ( EMT.HEAD == 'H12' or EMT.HEAD == 'H22') and EMT.ZMAX and not EMT.XHOME then + EMT.TO_XHOME = true + end end elseif Cmd[1] == '2' then local MDChar = { IniStatY1=EMT.ISY1, FinStatY1=EMT.FSY1, IniStatY2=EMT.ISY2, FinStatY2=EMT.FSY2, BeamVise=EMT.BV} @@ -1970,6 +1975,9 @@ function PrepareMoveChar( sCmd, nInd) end table.insert( EMT.MDCHAR, MDChar) EMT.TPOS = GetCmdAxMove( Cmd, 'T') or EMT.TPOS + if EMT.V1POS < 400 and ( EMT.HEAD == 'H12' or EMT.HEAD == 'H22') and EMT.ZMAX and not EMT.XHOME then + EMT.TO_XHOME = true + end elseif Cmd[1] == '3' then local MDChar = { IniStatY1=EMT.ISY1, FinStatY1=EMT.FSY1, IniStatY2=EMT.ISY2, FinStatY2=EMT.FSY2, BeamVise=EMT.BV} local MoveY1 = GetCmdAxMove( Cmd, 'Y1') @@ -1996,6 +2004,9 @@ function PrepareMoveChar( sCmd, nInd) end table.insert( EMT.MDCHAR, MDChar) EMT.TPOS = GetCmdAxMove( Cmd, 'T') or EMT.TPOS + if EMT.V1POS < 400 and ( EMT.HEAD == 'H12' or EMT.HEAD == 'H22') and EMT.ZMAX and not EMT.XHOME then + EMT.TO_XHOME = true + end elseif Cmd[1] == '4' then -- richiesta movimento a ZMAX già gestita if Cmd[2] == '1' then @@ -2677,6 +2688,9 @@ function EmitZmax( bReset, bEnd, bXhome, PrevR1, PrevR2, bSplitCut, bUsePrevDelt end -- gruppo della testa local nHSet = GetHeadSet( EMT.HEAD) + local dXPos = EgtIf( bUsePrevDelta, EMT.L2pp or EMT.L2o, EMT.L2o) + -- reset stato di testa in home + EMT.XHOME = nil -- se testa 1 if nHSet == 1 then -- posizioni sicure @@ -2696,12 +2710,12 @@ function EmitZmax( bReset, bEnd, bXhome, PrevR1, PrevR2, bSplitCut, bUsePrevDelt -- eseguo la salita a Z1max (oriento solo se assi rotanti non già a posto) if abs( dSafeC1 - PrevR1) > 0.1 or abs( dSafeB1 - PrevR2) > 0.1 then local dZref = dSafeZ1 + GetZExtra( EMT.HEAD, PrevR2) - if EgtIf( BD.RIGHT_LOAD, -EMT.L2o < -LimX1RotSaw, -EMT.L2o > -LimX1RotSaw) then + if EgtIf( BD.RIGHT_LOAD, -dXPos < -LimX1RotSaw, -dXPos > -LimX1RotSaw) then dZref = dZref - EgtIf( not Mortiser, 100, 370) end dZref = min( dZref, dMaxZ1) local MovH = { Z = EgtIf( dZref > EMT.L3o, dZref, EMT.L3o)} - MovH.X = -EMT.L2o ; MovH.B = EgtClamp( PrevR2, -90, 90) ; MovH.C = PrevR1 ; + MovH.X = -dXPos ; MovH.B = EgtClamp( PrevR2, -90, 90) ; MovH.C = PrevR1 ; EmitMoveDataHead( 1, MovH) if EMT.HEAD == 'H12' and ( abs( dSafeC1 - PrevR1) > 30.1 or abs( dSafeB1 - PrevR2) > 30.1) then EmitMoveDataHead( 1, { Z=dMaxZ1, B=0}) @@ -2711,10 +2725,13 @@ function EmitZmax( bReset, bEnd, bXhome, PrevR1, PrevR2, bSplitCut, bUsePrevDelt EmitMoveDataHead( 1, { Z=dMaxZ1}) else local MovH = { Z = dMaxZ1} - MovH.X = -EMT.L2o ; MovH.B = PrevR2 ; MovH.C = PrevR1 ; + MovH.X = -dXPos ; MovH.B = PrevR2 ; MovH.C = PrevR1 ; EmitMoveDataHead( 1, MovH) end - if bXhome then EmitMoveDataHead( 1, { X=-dSafeX1}) end + if bXhome then + EMT.XHOME = true + EmitMoveDataHead( 1, { X=-dSafeX1}) + end EmitMoveStartHead( 1) -- se lavorazione in doppio if EMT.DOU_TYPE == 2 then @@ -2724,7 +2741,7 @@ function EmitZmax( bReset, bEnd, bXhome, PrevR1, PrevR2, bSplitCut, bUsePrevDelt -- altrimenti sega a catena else -- ribadisco movimento perchè in G141 si aspetta sempre tutti i valori - local MovH = { X = -EMT.L2o, Z = EMT.L3o, B = PrevR2, C = PrevR1} + local MovH = { X = -dXPos, Z = EMT.L3o, B = PrevR2, C = PrevR1} EmitMoveDataHead( 1, MovH) EmitMoveDataHead( 1, { Z=dSafeZ1, B=dSafeB1}) if EMT.SB > 650 and abs( EMT.R3) < 0.1 then @@ -2732,6 +2749,7 @@ function EmitZmax( bReset, bEnd, bXhome, PrevR1, PrevR2, bSplitCut, bUsePrevDelt end EmitMoveDataHead( 1, { X=-dSafeX1, C=dSafeC1}) if bXhome then + EMT.XHOME = true EmitMoveDataHead( 1, { X=-ParkX1, Z=ParkCSawZ1, B=ParkB1, C=ParkC1, TPos=50}) end EmitMoveStartHead( 1) @@ -2746,7 +2764,7 @@ function EmitZmax( bReset, bEnd, bXhome, PrevR1, PrevR2, bSplitCut, bUsePrevDelt local dZref = dSafeZ1 + GetZExtra( EMT.HEAD, PrevR2) dZref = min( dZref, dMaxZ1) local MovH = { Z = EgtIf( dZref > EMT.L3o, dZref, EMT.L3o)} - MovH.X = -EMT.L2o ; MovH.B = EgtClamp( PrevR2, -90, 90) ; MovH.C = PrevR1 ; + MovH.X = -dXPos ; MovH.B = EgtClamp( PrevR2, -90, 90) ; MovH.C = PrevR1 ; EmitMoveDataHead( 1, MovH) if EMT.HEAD == 'H12' and ( abs( dSafeC1 - PrevR1) > 30.1 or abs( dSafeB1 - PrevR2) > 30.1) then EmitMoveDataHead( 1, { Z=dMaxZ1, B=0}) @@ -2756,16 +2774,19 @@ function EmitZmax( bReset, bEnd, bXhome, PrevR1, PrevR2, bSplitCut, bUsePrevDelt EmitMoveDataHead( 1, { Z=dMaxZ1}) else local MovH = { Z = dMaxZ1} - MovH.X = -EMT.L2o ; MovH.B = PrevR2 ; MovH.C = PrevR1 ; + MovH.X = -dXPos ; MovH.B = PrevR2 ; MovH.C = PrevR1 ; EmitMoveDataHead( 1, MovH) end - if bXhome then EmitMoveDataHead( 1, { X=-dSafeX1}) end + if bXhome then + EMT.XHOME = true + EmitMoveDataHead( 1, { X=-dSafeX1}) + end EmitMoveStartHead( 1) EmitMoveWaitHead( 1) -- altrimenti sega a catena else -- ribadisco movimento perchè in G141 si aspetta sempre tutti i valori - local MovH = { X = -EMT.L2o, Z = EMT.L3o, B = PrevR2, C = PrevR1} + local MovH = { X = -dXPos, Z = EMT.L3o, B = PrevR2, C = PrevR1} EmitMoveDataHead( 1, MovH) EmitMoveDataHead( 1, { Z=dSafeZ1, B=dSafeB1}) if EMT.SB > 650 and abs( EMT.R3) < 0.1 then @@ -2773,6 +2794,7 @@ function EmitZmax( bReset, bEnd, bXhome, PrevR1, PrevR2, bSplitCut, bUsePrevDelt end EmitMoveDataHead( 1, { X=-dSafeX1, C=dSafeC1}) if bXhome then + EMT.XHOME = true EmitMoveDataHead( 1, { X=-ParkX1, Z=ParkCSawZ1, B=ParkB1, C=ParkC1, TPos=50}) end EmitMoveStartHead( 1) @@ -2799,7 +2821,7 @@ function EmitZmax( bReset, bEnd, bXhome, PrevR1, PrevR2, bSplitCut, bUsePrevDelt local dZref = dSafeZ2 + GetZExtra( EMT.HEAD, PrevR2) dZref = min( dZref, dMaxZ2) local MovH = { Z = EgtIf( dZref > EMT.L3o, dZref, EMT.L3o)} - MovH.X = -EMT.L2o ; MovH.B = EgtClamp( PrevR2, -90, 90) ; MovH.C = PrevR1 ; + MovH.X = -dXPos ; MovH.B = EgtClamp( PrevR2, -90, 90) ; MovH.C = PrevR1 ; EmitMoveDataHead( 2, MovH) if EMT.HEAD == 'H22' and ( abs( dSafeC2 - PrevR1) > 30.1 or abs( dSafeB2 - PrevR2) > 30.1) then EmitMoveDataHead( 2, { Z=dMaxZ2, B=0}) @@ -2809,16 +2831,19 @@ function EmitZmax( bReset, bEnd, bXhome, PrevR1, PrevR2, bSplitCut, bUsePrevDelt EmitMoveDataHead( 2, { Z=dMaxZ2}) else local MovH = { Z = dMaxZ2} - MovH.X = -EMT.L2o ; MovH.B = PrevR2 ; MovH.C = PrevR1 ; + MovH.X = -dXPos ; MovH.B = PrevR2 ; MovH.C = PrevR1 ; EmitMoveDataHead( 2, MovH) end - if bXhome then EmitMoveDataHead( 2, { X=-dSafeX2}) end + if bXhome then + EMT.XHOME = true + EmitMoveDataHead( 2, { X=-dSafeX2}) + end EmitMoveStartHead( 2) EmitMoveWaitHead( 2) -- altrimenti sega a catena else -- ribadisco movimento perchè in G141 si aspetta sempre tutti i valori - local MovH = { X = -EMT.L2o, Z = EMT.L3o, B = PrevR2, C = PrevR1} + local MovH = { X = -dXPos, Z = EMT.L3o, B = PrevR2, C = PrevR1} EmitMoveDataHead( 2, MovH) EmitMoveDataHead( 2, { Z=dSafeZ2, B=dSafeB2}) if EMT.SB > 650 and abs( EMT.R3) < 0.1 then @@ -2826,6 +2851,7 @@ function EmitZmax( bReset, bEnd, bXhome, PrevR1, PrevR2, bSplitCut, bUsePrevDelt end EmitMoveDataHead( 2, { X=-dSafeX2, C=dSafeC2}) if bXhome then + EMT.XHOME = true EmitMoveDataHead( 2, { X=-ParkX2, Z=ParkCSawZ2, B=ParkB2, C=ParkC2, TPos=50}) end EmitMoveStartHead( 2) diff --git a/Common_ONE-PF.mlpe b/Common_ONE-PF.mlpe index 5d54e6e..7fd6f13 100644 --- a/Common_ONE-PF.mlpe +++ b/Common_ONE-PF.mlpe @@ -960,6 +960,7 @@ function OnSimulMoveStart() VerifyY2Stroke( EMT.A2) VerifyV1Stroke( EMT.A3) VerifyV2Stroke( EMT.A4) + -- se devo subito parcheggiare i rulli local nRes = 0 if bParkV then @@ -1001,15 +1002,21 @@ function OnSimulMoveStart() if EMT.L3 > dZref then bMoveZbeforeX = true end - + + -- se vado in posizione speciale rotazione assi, poi devo ritornare alla X vera di lavoro + local dMoveXtoFinalPosition = false local dXref = EMT.L2 if EMT.HEAD == 'H12' and -EMT.L2 < -LimX1PlRotSaw then dXref = LimX1PlRotSaw SimulMoveAxis( 'X1', dXref, MCH_SIM_STEP.RAPID) + dZref = Z1Home + GetZExtra( EMT.HEAD, EMT.R2) + dMoveXtoFinalPosition = true elseif not bMoveZbeforeX then SimulMoveAxis( 'X1', dXref, MCH_SIM_STEP.RAPID) else SimulMoveAxis( 'X1', LimX1PlRotSaw, MCH_SIM_STEP.RAPID) + dZref = Z1Home + GetZExtra( EMT.HEAD, EMT.R2) + dMoveXtoFinalPosition = true end -- caso speciale per trave alta con rotazione lama pericolosa (tolto "and EMT.SB > 379") @@ -1020,6 +1027,9 @@ function OnSimulMoveStart() if bMoveZbeforeX then SimulMoveAxis( 'Z1', EMT.L3, MCH_SIM_STEP.RAPID) end + if dMoveXtoFinalPosition then + SimulMoveAxis( 'X1', EMT.L2, MCH_SIM_STEP.RAPID) + end -- caso standard else SimulMoveAxis( 'Z1', dZref, MCH_SIM_STEP.RAPID) @@ -1261,6 +1271,7 @@ function OnSimulMoveStart() EMT.A4 = EgtIf( GetV2ToClose(), EMT.V2NEXTPOS, ParkV2) end EMT.ZMAX = nil + EMT.XHOME = nil end --------------------------------------------------------------------- @@ -1369,6 +1380,10 @@ function ExecAuxCmd( sCmd, bPathStart) ExecOpenRoller( 1) ExecOpenRoller( 2) local sV1, MoveV1, sV2, MoveV2 = CalcMoveV1V2ForAuxCmd( Cmd) + -- se stringo i rulli e ho lama, verifico che sia in home + if MoveV1 and MoveV1 < 400 and ( EMT.HEAD == 'H12' or EMT.HEAD == 'H22') and EMT.ZMAX and not EMT.XHOME then + ExecMoveZmax( false, true) + end local bOk, bOk1, bOk2, bOk3 = SimulMoveAxes( Cmd[2], tonumber( Cmd[3]), MCH_SIM_STEP.RAPID, sV1, MoveV1, MCH_SIM_STEP.RAPID, sV2, MoveV2, MCH_SIM_STEP.RAPID) @@ -1391,6 +1406,10 @@ function ExecAuxCmd( sCmd, bPathStart) ExecOpenRoller( 1) ExecOpenRoller( 2) local sV1, MoveV1, sV2, MoveV2 = CalcMoveV1V2ForAuxCmd( Cmd) + -- se stringo i rulli e ho lama, verifico che sia in home + if MoveV1 and MoveV1 < 400 and ( EMT.HEAD == 'H12' or EMT.HEAD == 'H22') and EMT.ZMAX and not EMT.XHOME then + ExecMoveZmax( false, true) + end local bOk, bOk1, bOk2, bOk3, bOk4 = SimulMoveAxes( Cmd[2], tonumber( Cmd[3]), MCH_SIM_STEP.RAPID, Cmd[4], tonumber( Cmd[5]), MCH_SIM_STEP.RAPID, sV1, MoveV1, MCH_SIM_STEP.RAPID, @@ -1414,6 +1433,10 @@ function ExecAuxCmd( sCmd, bPathStart) ExecOpenRoller( 1) ExecOpenRoller( 2) local sV1, MoveV1, sV2, MoveV2 = CalcMoveV1V2ForAuxCmd( Cmd) + -- se stringo i rulli e ho lama, verifico che sia in home + if MoveV1 and MoveV1 < 400 and ( EMT.HEAD == 'H12' or EMT.HEAD == 'H22') and EMT.ZMAX and not EMT.XHOME then + ExecMoveZmax( false, true) + end local bOk, bOk1, bOk2, bOk3, bOk4, bOk5 = SimulMoveAxes( Cmd[2], tonumber( Cmd[3]), MCH_SIM_STEP.RAPID, Cmd[4], tonumber( Cmd[5]), MCH_SIM_STEP.RAPID, Cmd[6], tonumber( Cmd[7]), MCH_SIM_STEP.RAPID, @@ -1607,6 +1630,7 @@ function ExecMoveZmax( bMchSplit, btoXHome) end SimulMoveAxis( 'Z1', MaxZ1, MCH_SIM_STEP.RAPID) if btoXHome then + EMT.XHOME = true SimulMoveAxis( 'X1', ParkX1, MCH_SIM_STEP.RAPID) end -- se lavorazione in doppio @@ -1618,6 +1642,7 @@ function ExecMoveZmax( bMchSplit, btoXHome) SimulMoveAxes( 'B2', ParkB2, MCH_SIM_STEP.COLLROT, 'C2', ParkC2, MCH_SIM_STEP.COLLROT) SimulMoveAxis( 'Z2', MaxZ2, MCH_SIM_STEP.RAPID) if bToXHome then + EMT.XHOME = true SimulMoveAxis( 'X2', ParkX2, MCH_SIM_STEP.RAPID) end EMT.DOU_TO_ZMAX = nil @@ -1644,6 +1669,7 @@ function ExecMoveZmax( bMchSplit, btoXHome) end SimulMoveAxis( 'Z1', MaxZ1, MCH_SIM_STEP.RAPID) if btoXHome then + EMT.XHOME = true SimulMoveAxis( 'X1', ParkX1, MCH_SIM_STEP.RAPID) end -- altrimenti sega a catena @@ -1659,6 +1685,7 @@ function ExecMoveZmax( bMchSplit, btoXHome) EMT.PREVHEAD_H1 = nil EMT.PREVTCPOS_H1 = nil EMT.CHSAW_OUT = true + EMT.XHOME = true end SimulMoveAxes( 'X1', HomeX, MCH_SIM_STEP.RAPID, 'C1', HomeC, MCH_SIM_STEP.COLLROT) end @@ -1679,6 +1706,7 @@ function ExecMoveZmax( bMchSplit, btoXHome) end SimulMoveAxis( 'Z2', MaxZ2, MCH_SIM_STEP.RAPID) if btoXHome then + EMT.XHOME = true SimulMoveAxis( 'X2', ParkX2, MCH_SIM_STEP.RAPID) end -- altrimenti sega a catena diff --git a/Essetre-PFrl.mlde b/Essetre-PFrl.mlde index 628b7af..6445064 100644 --- a/Essetre-PFrl.mlde +++ b/Essetre-PFrl.mlde @@ -76,13 +76,14 @@ -- 2024/09/13 ver 2.6i2 Allineamento con common ver. 2.6i2 -- Inseriti in NGE solidi collisione TC, Aggiunta avriabile LimX1RotSawTC2 -- 2024/09/18 ver 2.6i3 Modificato YAML per comunicazione versioni a LiMan. Aggiunta PP_NVER, versione in formato numerico. +-- 2024/10/08 ver 2.6j1 Allineamento con common ver. 2.6j1 -- Intestazioni require( 'EmtGenerator') EgtEnableDebug( false) -PP_VER = '2.6i3' -PP_NVER = '2.6.9.3' +PP_VER = '2.6j1' +PP_NVER = '2.6.10.1' MIN_MACH_VER = '2.5k1' MACH_NAME = 'Essetre-PFrl' diff --git a/UpdateLog.txt b/UpdateLog.txt index fffca26..4bc5584 100644 --- a/UpdateLog.txt +++ b/UpdateLog.txt @@ -1,5 +1,10 @@ ==== Common_ONE-PF Update Log ==== +Versione 2.6j1 (08/10/2024) +- (SIM-GEN) Corretto primo movimento di approccio al pezzo. Ticket#2093 +- (SIM-GEN) Corretto movimento in Home in caso di lama e movimento rulliera di carico. Ticket#2054 +- (GEN) In caso di movimento in Home non si fa più preselezione ma si tiene utensile vecchio. Ticket#1926 + Versione 2.6i2 (13/09/2024) - (GEN) Migliorato calcolo chiusura paratia rulli con aggiornamento lunghezza della barra in caso di ultimo taglio e grezzo residuo in coda. Ticket#2017 - (NGE-MLDE-GEN-SIM) Aggiunto solidi collisione TC. Corretto movimento a Y di sicurezza con lama. Ticket#2042 diff --git a/Version.lua b/Version.lua index 138ba2d..372224c 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.6i2', -- versione script + VERSION = '2.6j1', -- versione script MIN_MACH_VER_PP_COMMON = '2.5k1' -- versione minima kernel }