From a5452882586f2d06ef7ba55c7f07d29bd62aba2e Mon Sep 17 00:00:00 2001 From: "andrea.villa" Date: Mon, 2 Dec 2024 08:43:36 +0100 Subject: [PATCH] - Allineamento common ver. 2.6l1 - Aggiunta variabile ROT180 per rotazioni nuovo automatismo --- Beam/BeamData.lua | 1 + Common_ONE-PF.NUM.mlpe | 60 +++++++++++++++++++++++------------------- Common_ONE-PF.mlpe | 6 ++++- Essetre-PFrl.mlde | 4 +-- UpdateLog.txt | 5 ++++ Version.lua | 2 +- 6 files changed, 47 insertions(+), 31 deletions(-) diff --git a/Beam/BeamData.lua b/Beam/BeamData.lua index ed33fbf..0d7726b 100644 --- a/Beam/BeamData.lua +++ b/Beam/BeamData.lua @@ -8,6 +8,7 @@ local BeamData = { RIGHT_LOAD = true, -- flag carico da destra SIMUL_VIEW_DIR = 1, -- direzione di vista predefinita per la simulazione (1=NW, 2=SW, 3=NE, 4=SE) ROT90 = false, -- flag abilitazione rotazione 90 gradi + ROT180 = true, -- flag abilitazione rotazione 180 gradi MIN_WIDTH = 50, -- larghezza minima del grezzo MIN_HEIGHT = 50, -- altezza minima del grezzo MAX_WIDTH = 400, -- larghezza massima del grezzo diff --git a/Common_ONE-PF.NUM.mlpe b/Common_ONE-PF.NUM.mlpe index b7261e6..b4f85d9 100644 --- a/Common_ONE-PF.NUM.mlpe +++ b/Common_ONE-PF.NUM.mlpe @@ -878,7 +878,9 @@ function OnRapid() 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) + if bMoveZbeforeX then + dZref = min( dSafeZ1 + GetZExtra( EMT.HEAD, EMT.R2), MyMaxZ1) + end dMoveXtoFinalPosition = true elseif not bMoveZbeforeX then EmitMoveDataHead( 1, { X=dXref, Z=MyMaxZ1, B=ParkB1, C=ParkC1, S=Speed}) @@ -1150,31 +1152,33 @@ function OnRapid() EMT.AUXCMD = {} -- se necessario posizionamento in home (sono sicuramente già a Zmax) if EMT.TO_XHOME then - local nHSet = GetHeadSet( EMT.HEAD) - local nPrevHSet = GetHeadSet( EMT.PREVHEAD) - - -- vado in parcheggio sempre con utensile precedente - 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') - EmitMoveWaitHead( 1) + -- se devo andare in home, ma lo sono già, non faccio nulla + if not EMT.XHOME then + local nHSet = GetHeadSet( EMT.HEAD) + local nPrevHSet = GetHeadSet( EMT.PREVHEAD) + -- vado in parcheggio sempre con utensile precedente + 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') + EmitMoveWaitHead( 1) + 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') + EmitMoveWaitHead( 2) + end 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') - EmitMoveWaitHead( 2) - 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') - --EmitMoveWaitHead( 1) - else - EmitMoveDataHead( 2, { X=-ParkCSawX2S, Z=MaxZ2, B=HomeR2, C=HomeR1, TPos='50'}) - EmitMoveStartHead( 2, 'EA1') - --EmitMoveWaitHead( 2) + 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') + --EmitMoveWaitHead( 1) + else + EmitMoveDataHead( 2, { X=-ParkCSawX2S, Z=MaxZ2, B=HomeR2, C=HomeR1, TPos='50'}) + EmitMoveStartHead( 2, 'EA1') + --EmitMoveWaitHead( 2) + end end end @@ -1245,9 +1249,11 @@ function OnRapid() 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}) - dZref = min( dSafeZ1 + GetZExtra( EMT.HEAD, EMT.R2), MyMaxZ1) + if bMoveZbeforeX then + dZref = min( dSafeZ1 + GetZExtra( EMT.HEAD, EMT.R2), MyMaxZ1) + end dMoveXtoFinalPosition = true - elseif not bMoveZbeforeX then + 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}) diff --git a/Common_ONE-PF.mlpe b/Common_ONE-PF.mlpe index a679479..0a96fd8 100644 --- a/Common_ONE-PF.mlpe +++ b/Common_ONE-PF.mlpe @@ -351,6 +351,8 @@ function OnSimulDispositionStart() else EgtOutText( 'Barra non ruotata') end + -- forzo apertura rulli in caso fossero chiusi. Altrimenti all'apertura nell OnSimulMoveStart sposterebbe anche la trave + ExecParkRoller( nil, nil, nil, nil, nil, nil) end -- eseguo aggancio local nRawId = EgtGetFirstRawPart() @@ -1009,7 +1011,9 @@ function OnSimulMoveStart() 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) + if bMoveZbeforeX then + dZref = Z1Home + GetZExtra( EMT.HEAD, EMT.R2) + end dMoveXtoFinalPosition = true elseif not bMoveZbeforeX then SimulMoveAxis( 'X1', dXref, MCH_SIM_STEP.RAPID) diff --git a/Essetre-PFrl.mlde b/Essetre-PFrl.mlde index 4ed8d9a..8ed3793 100644 --- a/Essetre-PFrl.mlde +++ b/Essetre-PFrl.mlde @@ -44,8 +44,8 @@ require( 'EmtGenerator') EgtEnableDebug( false) -PP_VER = '2.6j3' -PP_NVER = '2.6.10.3' +PP_VER = '2.6l1' +PP_NVER = '2.6.12.1' MIN_MACH_VER = '2.5k1' MACH_NAME = 'Essetre-PFrl' diff --git a/UpdateLog.txt b/UpdateLog.txt index d124cf5..b3510ad 100644 --- a/UpdateLog.txt +++ b/UpdateLog.txt @@ -1,5 +1,10 @@ ==== Common_ONE-PF Update Log ==== +Versione 2.6l1 (02/12/2024) +- (SIM) Dopo scarico pezzo per ribaltamento, si aprono sempre i rulli. Ticket#2192 +- (SIM-GEN) Nei movimenti si ricalcola la Z solo se la quota di lavoro è più in alta della posizione a ZHOME della testa. Ticket#2198 +- (GEN) Se bisogna andare in home, ma la testa lo è già, non si scrive nulla + Versione 2.6j3 (21/10/2024) - (GEN) Se richiesto movimento in home, si scrive sempre parcheggio in home dell'utensile precedente. Prima si scriveva solo per lama. diff --git a/Version.lua b/Version.lua index d9b398a..1dbca47 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.6j3', -- versione script + VERSION = '2.6l1', -- versione script MIN_MACH_VER_PP_COMMON = '2.5k1' -- versione minima kernel }