diff --git a/Common_FAST.NUM.mlpe b/Common_FAST.NUM.mlpe index 527278f..d060715 100644 --- a/Common_FAST.NUM.mlpe +++ b/Common_FAST.NUM.mlpe @@ -674,6 +674,10 @@ function OnRapid() sOutPreMove = 'G101' .. ' X' .. EmtLenToString( -SafeXRotAxes, 3) .. ' Z' .. EmtLenToString( MyZHome, 3) .. ' B' .. EgtNumToString( 0, 3) .. ' C' .. EgtNumToString( EMT.R1, 3) .. sEE .. sEL .. sER .. sET .. sES EmtOutput( sOutPreMove) + elseif EMT.HEAD == 'H3' and EMT.PREVHEAD ~= 'H3' then + sOutPreMove = 'G101' .. ' X' .. EmtLenToString( -SafeXRotAxes, 3) .. ' Z' .. EmtLenToString( MyZHome, 3) .. + ' B' .. EgtNumToString( 0, 3) .. ' C' .. EgtNumToString( EMT.R1, 3) .. sEE .. sEL .. sER .. sET .. sES + EmtOutput( sOutPreMove) end sOutPreMove = 'G101' .. ' X' .. EmtLenToString( -SafeXRotAxes, 3) .. ' Z' .. EmtLenToString( MyZHome, 3) .. ' B' .. EgtNumToString( EMT.R2, 3) .. ' C' .. EgtNumToString( EMT.R1, 3) .. sEE .. sEL .. sER .. sET .. sES diff --git a/Common_FAST.NUM_PLUS.mlpe b/Common_FAST.NUM_PLUS.mlpe index ec08765..ee07262 100644 --- a/Common_FAST.NUM_PLUS.mlpe +++ b/Common_FAST.NUM_PLUS.mlpe @@ -746,6 +746,10 @@ function OnRapid() sOutPreMove = 'G101' .. ' X' .. EmtLenToString( -SafeXRotAxes, 3) .. ' Z' .. EmtLenToString( MyZHome, 3) .. ' B' .. EgtNumToString( 0, 3) .. ' C' .. EgtNumToString( EMT.R1, 3) .. sEE .. sEL .. sER .. sET .. sES EmtOutput( sOutPreMove) + elseif EMT.HEAD == 'H3' and EMT.PREVHEAD ~= 'H3' then + sOutPreMove = 'G101' .. ' X' .. EmtLenToString( -SafeXRotAxes, 3) .. ' Z' .. EmtLenToString( MyZHome, 3) .. + ' B' .. EgtNumToString( 0, 3) .. ' C' .. EgtNumToString( EMT.R1, 3) .. sEE .. sEL .. sER .. sET .. sES + EmtOutput( sOutPreMove) end sOutPreMove = 'G101' .. ' X' .. EmtLenToString( -SafeXRotAxes, 3) .. ' Z' .. EmtLenToString( MyZHome, 3) .. ' B' .. EgtNumToString( EMT.R2, 3) .. ' C' .. EgtNumToString( EMT.R1, 3) .. sEE .. sEL .. sER .. sET .. sES diff --git a/Common_FAST.TPA.mlpe b/Common_FAST.TPA.mlpe index a6dfd81..2d59882 100644 --- a/Common_FAST.TPA.mlpe +++ b/Common_FAST.TPA.mlpe @@ -704,6 +704,12 @@ function OnRapid() ' P6=' .. AdjustTcPos( false) .. ' P7=' .. EgtNumToString( EMT.S, 0) .. ' P8=0' .. ' P9=0' .. ' P10=' .. EgtIf( bZmax, '3', '4') EmtOutput( sOutPreMove) + elseif EMT.HEAD == 'H3' and EMT.PREVHEAD ~= 'H3' then + sOutPreMove = 'M101 P1=1' .. ' P2=' .. EmtLenToString( -SafeXRotAxes, EMT.DECMACRO) .. ' P3=' .. EmtLenToString( MyZHome, EMT.DECMACRO) .. + ' P4=' .. EgtNumToString( 0, EMT.DECMACRO) .. ' P5=' .. EgtNumToString( EMT.R1, EMT.DECMACRO) .. + ' P6=' .. AdjustTcPos( false) .. ' P7=' .. EgtNumToString( EMT.S, 0) .. + ' P8=0' .. ' P9=0' .. ' P10=' .. EgtIf( bZmax, '3', '4') + EmtOutput( sOutPreMove) end sOutPreMove = 'M101 P1=1' .. ' P2=' .. EmtLenToString( -SafeXRotAxes, EMT.DECMACRO) .. ' P3=' .. EmtLenToString( MyZHome, EMT.DECMACRO) .. ' P4=' .. EgtNumToString( EMT.R2, EMT.DECMACRO) .. ' P5=' .. EgtNumToString( EMT.R1, EMT.DECMACRO) .. diff --git a/Common_FAST.mlpe b/Common_FAST.mlpe index ba44c79..019e57c 100644 --- a/Common_FAST.mlpe +++ b/Common_FAST.mlpe @@ -553,8 +553,7 @@ function OnSimulToolSelect( dPosA) end EgtSetCurrMachining( NextMchId) -- recupero il valore dell'asse virtuale bloccato A - local sVal = EgtGetMachiningParam( MCH_MP.BLOCKEDAXIS) - dPosA = tonumber( sVal:sub( 3)) + dPosA = GetCurrChainSawingVirtualAxis() else -- imposto visualizzazione EgtSetMode( EgtGetHeadId( EMT.HEAD) or GDB_ID.NULL, GDB_MD.STD) @@ -721,8 +720,7 @@ function OnSimulMachiningStart() -- se lavorazione attuale e precedente con sega a catena con angolo A diverso, devo scaricare e ricaricare if EMT.HEAD == 'H3' and EMT.HEAD == EMT.PREVHEAD then local dPrevA = EgtGetAxisPos( 'A') - local sVal = EgtGetMachiningParam( MCH_MP.BLOCKEDAXIS) - local dPosA = tonumber( sVal:sub( 3)) + local dPosA = GetCurrChainSawingVirtualAxis() if abs( dPosA - dPrevA) > 1 then OnSimulToolDeselect() EgtSetStatus( EgtGetHeadId( EMT.HEAD), GDB_ST.ON) @@ -1911,6 +1909,14 @@ function GetParkT() end end +--------------------------------------------------------------------- +function GetCurrChainSawingVirtualAxis() + -- recupero il valore dell'asse virtuale bloccato A + local sVal = EgtGetMachiningParam( MCH_MP.BLOCKEDAXIS) or 'A=0' + local dPosA = tonumber( sVal:sub( 3)) or 0 + return dPosA +end + --------------------------------------------------------------------- function CalcDinamicaPinze_TPA( dH, dS, dL) local MinTempoAcc = EMT.MINACC -- [ms] ~300 diff --git a/Common_FAST.mlse b/Common_FAST.mlse index 49c1640..07b8048 100644 --- a/Common_FAST.mlse +++ b/Common_FAST.mlse @@ -1743,7 +1743,7 @@ function SpecAdjustCarriages( vCmd, dTPosI, dYDeltaI, dVDeltaI, dTPosF, dYDeltaF if dTPosI - dTPosF > 0 then dBeamMove = max( ( dTPosF - dTPosI), ( MinV - dVPosI), ( dYDeltaI - dYDeltaF)) else - dBeamMove = min( ( dTPosF - dTPosI), ( dVPosI - MaxV)) + dBeamMove = min( ( dTPosF - dTPosI), ( MaxV - dVPosI)) end dBeamMove = dBeamMove / 2 -- altrimenti la trave resta ferma e la pinza 1 va in presa (si limita lo scivolamento del pezzo) @@ -1919,7 +1919,6 @@ function SpecAdjustCarriages( vCmd, dTPosI, dYDeltaI, dVDeltaI, dTPosF, dYDeltaF -- suddivido il movimento su entrambe le morse local dTotMove = ( dYDeltaF - dYDeltaI) / 2 -- morsa Y arriva in posizione finale - dVPosA = MaxV - dTotMove dTPosA = dTPosI - dVPosI + MaxV - dTotMove dYPosA = dYDeltaF + dTPosA @@ -1965,7 +1964,6 @@ function SpecAdjustCarriages( vCmd, dTPosI, dYDeltaI, dVDeltaI, dTPosF, dYDeltaF dTPosI, dYDeltaI, dVDeltaI = dTPosF, dYDeltaF, dVDeltaF EMC.YDELTA = EMC.YDELTANEXT EMC.VDELTA = EMC.VDELTANEXT - end -- imposto i nuovi parametri di aggancio @@ -2028,8 +2026,8 @@ function SpecAdjustCarriages( vCmd, dTPosI, dYDeltaI, dVDeltaI, dTPosF, dYDeltaF -- suddivido il movimento su entrambe le morse local dTotMove = ( dVDeltaI - dVDeltaF) / 2 -- morsa V arriva in posizione finale - dYPosA = MaxY + dTotMove - dTPosA = dTPosI + ( MaxY - dYPosI) + dTotMove + dYPosA = MinY + dTotMove + dTPosA = dTPosI + ( MinY - dYPosI) + dTotMove dVPosA = dVDeltaF + dTPosA table.insert( vCmd, { 3, 'Y', dYPosA , 'T', dTPosA, 'V', dVPosA}) table.insert( vCmd, { 12, CalcCharStatus( 'V', dVDeltaF)}) diff --git a/Essetre-FAST.mlde b/Essetre-FAST.mlde index 8366c66..5e988cd 100644 --- a/Essetre-FAST.mlde +++ b/Essetre-FAST.mlde @@ -24,8 +24,8 @@ require( 'EmtGenerator') EgtEnableDebug( false) -PP_VER = '3.1c2' -PP_NVER = '3.1.3.2' +PP_VER = '3.1c3' +PP_NVER = '3.1.3.3' MIN_MACH_VER = '2.7j1' MACH_NAME = EgtGetCurrMachineName() diff --git a/UpdateLog.txt b/UpdateLog.txt index 80bca24..8032595 100644 --- a/UpdateLog.txt +++ b/UpdateLog.txt @@ -1,5 +1,10 @@ ==== Common_FAST Update Log ==== +Versione 3.1c1 (27/03/2026) +- (SIM-GEN) FASTCLAMPING = true : si suddivide il movimento metà tirando e metà spingendo con altra pinza. Così si aumenta la velocità. +- FASTCLAMPING = false : una pinza resta ferma e si fa il movimento tutto con una pinza. Così si limita lo scivolamento del pezzo. +- (GEN) In caso di motosega prelevata, si ruota in home. Ticket#2866 + Versione 3.1a2 (26/01/2026) - (GEN) Nella G101 il parametro EE era sempre a 4 perchè la variabile veniva settata dopo. Ticket#2796 diff --git a/Version.lua b/Version.lua index be28bc0..9f2c6b3 100644 --- a/Version.lua +++ b/Version.lua @@ -3,7 +3,7 @@ local InfoCommon_STD_PP = { NAME = 'Common_FAST', -- nome script PP standard - VERSION = '3.1a2', -- versione script + VERSION = '3.1c1', -- versione script MIN_MACH_VER_PP_COMMON = '2.5k1' -- versione minima kernel }