From 5426a1a07a6316370b523f78895be69d1f1bea67 Mon Sep 17 00:00:00 2001 From: "andrea.villa" Date: Thu, 20 Feb 2025 16:36:23 +0100 Subject: [PATCH] Per controllo TPA, modifica al numero di decimali. --- Common_FAST.TPA.mlpe | 77 +++++++++++++++++++++++--------------------- UpdateLog.txt | 3 +- Version.lua | 2 +- 3 files changed, 43 insertions(+), 39 deletions(-) diff --git a/Common_FAST.TPA.mlpe b/Common_FAST.TPA.mlpe index d782fd3..953a2ba 100644 --- a/Common_FAST.TPA.mlpe +++ b/Common_FAST.TPA.mlpe @@ -21,13 +21,16 @@ function OnStart() EMT.USETO1 = false -- abilitazione uso origine tavola EMT.MODAL = true -- abilitazione emissione modale EMT.INCHES = false -- unità di misura mm/inches - EMT.DECNUM = 5 -- numero di decimali dopo la virgola + EMT.DECNUM = 4 -- numero di decimali dopo la virgola + EMT.DECVERS = 6 -- numero di decimali dopo la virgola per versori + EMT.DECRAD = 4 -- numero di decimali dopo la virgola per raggio + EMT.DECMACRO = 3 -- numero di decimali dopo la virgola per macro EMT.NUM = false -- abilitazione numerazione linee - --EMT.Nt = 'N' -- token per la numerazione di linea - --EMT.LINENBR = 0 -- numero di linea - --EMT.LINEINC = 1 -- incremento numerazione linee - --EMT.Ft = 'F' -- token per feed - --EMT.St = 'S' -- token per speed + --EMT.Nt = 'N' -- token per la numerazione di linea + --EMT.LINENBR = 0 -- numero di linea + --EMT.LINEINC = 1 -- incremento numerazione linee + --EMT.Ft = 'F' -- token per feed + --EMT.St = 'S' -- token per speed EMT.FMAXPINZE = 154000 -- feed massima pinze end @@ -116,8 +119,8 @@ end function OnToolData() -- emissione dati utensili if EMT.HEAD == 'H1' then - local sOut = 'M992 P1=' .. EMT.TCPOS:gsub( 'T', '') .. ' P2=' .. EmtLenToString( EMT.TLEN, 3) .. ' P3=' .. EmtLenToString( EMT.TDIAM, 3) .. - ' P4=' .. EmtLenToString( EMT.SMAX, 3) .. ' P5=' .. EmtLenToString( EMT.TTOTLEN, 3) + local sOut = 'M992 P1=' .. EMT.TCPOS:gsub( 'T', '') .. ' P2=' .. EmtLenToString( EMT.TLEN, EMT.DECMACRO) .. ' P3=' .. EmtLenToString( EMT.TDIAM, EMT.DECMACRO) .. + ' P4=' .. EmtLenToString( EMT.SMAX, EMT.DECMACRO) .. ' P5=' .. EmtLenToString( EMT.TTOTLEN, EMT.DECMACRO) ParkLine( sOut) -- cerco posizione di attrezzaggio del primo utensile di lavorazione if EMT.TOOL == EMT.TOOL_1 and EMT.TLEN_1 < LONG_TOOL_MINLEN then @@ -125,14 +128,14 @@ function OnToolData() end -- emissione dati lama elseif EMT.HEAD == 'H2' then - local sOut = 'M992 P1=' .. EMT.TCPOS:gsub( 'T', '') .. ' P2=' .. EmtLenToString( EMT.TLEN, 3) .. ' P3=' .. EmtLenToString( EMT.TDIAM, 3) .. - ' P4=' .. EmtLenToString( EMT.SMAX, 3) .. ' P5=' .. EmtLenToString( EMT.TTOTLEN, 3) + local sOut = 'M992 P1=' .. EMT.TCPOS:gsub( 'T', '') .. ' P2=' .. EmtLenToString( EMT.TLEN, EMT.DECMACRO) .. ' P3=' .. EmtLenToString( EMT.TDIAM, EMT.DECMACRO) .. + ' P4=' .. EmtLenToString( EMT.SMAX, EMT.DECMACRO) .. ' P5=' .. EmtLenToString( EMT.TTOTLEN, EMT.DECMACRO) ParkLine( sOut) -- emissione dati sega a catena elseif EMT.HEAD == 'H3' then if EMT.TDIST and abs( EMT.TDIST) < 0.1 then EMT.TDIST = nil end - local sData = ' P2=' .. EmtLenToString( ( EMT.TDIST or ChSawLen), 3) .. ' P3=' .. EmtLenToString( EMT.TLEN, 3) .. - ' P4=' .. EmtLenToString( EMT.SMAX, 3) .. ' P5=' .. EmtLenToString( ( EMT.TDIST or ChSawLen), 3) + local sData = ' P2=' .. EmtLenToString( ( EMT.TDIST or ChSawLen), EMT.DECMACRO) .. ' P3=' .. EmtLenToString( EMT.TLEN, EMT.DECMACRO) .. + ' P4=' .. EmtLenToString( EMT.SMAX, EMT.DECMACRO) .. ' P5=' .. EmtLenToString( ( EMT.TDIST or ChSawLen), EMT.DECMACRO) if EMT.TCPOS == 'T101' then ParkLine( 'M992 P1=101' .. sData) ParkLine( 'M992 P1=102' .. sData) @@ -148,13 +151,13 @@ function OnToolData() elseif EMT.HEAD == 'H5' or EMT.HEAD == 'H6' then local nPos = EgtIf( EMT.HEAD == 'H5', 91, 93) if EMT.EXIT == 2 then nPos = nPos + 1 end - local sOut = 'M992 P1=' .. EgtNumToString( nPos, 0) .. ' P2=' .. EmtLenToString( EMT.TLEN, 3) .. ' P3=' .. EmtLenToString( EMT.TDIAM, 3) .. - ' P4=' .. EmtLenToString( EMT.SMAX, 3) .. ' P5=' .. EmtLenToString( EMT.TTOTLEN, 3) + local sOut = 'M992 P1=' .. EgtNumToString( nPos, 0) .. ' P2=' .. EmtLenToString( EMT.TLEN, EMT.DECMACRO) .. ' P3=' .. EmtLenToString( EMT.TDIAM, EMT.DECMACRO) .. + ' P4=' .. EmtLenToString( EMT.SMAX, EMT.DECMACRO) .. ' P5=' .. EmtLenToString( EMT.TTOTLEN, EMT.DECMACRO) ParkLine( sOut) -- emissione dati sega a catena elseif EMT.HEAD == 'H7' then - local sOut = 'M992 P1=' .. EMT.TCPOS:gsub( 'T', '') .. ' P2=' .. EmtLenToString( EMT.TLEN, 3) .. ' P3=' .. EmtLenToString( EMT.TDIAM, 3) .. - ' P4=' .. EmtLenToString( EMT.SMAX, 3) .. ' P5=' .. EmtLenToString( EMT.TTOTLEN, 3) + local sOut = 'M992 P1=' .. EMT.TCPOS:gsub( 'T', '') .. ' P2=' .. EmtLenToString( EMT.TLEN, EMT.DECMACRO) .. ' P3=' .. EmtLenToString( EMT.TDIAM, EMT.DECMACRO) .. + ' P4=' .. EmtLenToString( EMT.SMAX, EMT.DECMACRO) .. ' P5=' .. EmtLenToString( EMT.TTOTLEN, EMT.DECMACRO) ParkLine( sOut) -- altro non previsto else @@ -224,8 +227,8 @@ function OnDispositionEnd() if IdTrave >= 0 then local sPrt = '( *** Part '.. EgtNumToString( IdTrave, 0) ..' ***)' - local sOut = '( SN=' .. IdTrave .. ' LBarra=' .. EmtLenToString( LBarra, 3) .. ' L='..EmtLenToString( LTrave, 3) .. - ' H=' .. EmtLenToString( HTrave, 3) .. ' S=' .. EmtLenToString( STrave, 3) .. ' )' + local sOut = '( SN=' .. IdTrave .. ' LBarra=' .. EmtLenToString( LBarra, EMT.DECMACRO) .. ' L='..EmtLenToString( LTrave, EMT.DECMACRO) .. + ' H=' .. EmtLenToString( HTrave, EMT.DECMACRO) .. ' S=' .. EmtLenToString( STrave, EMT.DECMACRO) .. ' )' EMT.PRODID = EgtGetInfo( BtlInfoId, 'PRODID', 'i') or 0 EMT.PATTID = EgtGetInfo( BtlInfoId, 'PATTID', 'i') or 0 EMT.CUTID = EgtGetInfo( EMT.IDT, 'CUTID', 'i') or 0 @@ -656,9 +659,9 @@ function OnRapid() local bZmax = ( #EMT.AUXSTR > 0 or EMT.TOOL ~= EMT.PREVTOOL or EMT.L3 > -1) -- se avevo motosega, torno in zona sicura senza ruotare assi rotanti if EMT.PREVHEAD == 'H3' and EMT.ST > BeamHeightForFixRot and EMT.FLAG2 == 1 then - local sOutPreMove = 'M101 P1=1' .. ' P2=' .. EmtLenToString( -SafeXRotAxes, 3) .. ' P3=' .. EmtLenToString( MyZHome, 3) .. - ' P4=' .. EgtNumToString( EMT.R2pp, 3) .. ' P5=' .. EgtNumToString( EMT.R1pp, 3) .. - ' P6=' .. EgtNumToString( EMT.PREVTCPOS, 3) .. ' P7=' .. EgtNumToString( EMT.PREVS, 0) .. + local sOutPreMove = 'M101 P1=1' .. ' P2=' .. EmtLenToString( -SafeXRotAxes, EMT.DECMACRO) .. ' P3=' .. EmtLenToString( MyZHome, EMT.DECMACRO) .. + ' P4=' .. EgtNumToString( EMT.R2pp, EMT.DECMACRO) .. ' P5=' .. EgtNumToString( EMT.R1pp, EMT.DECMACRO) .. + ' P6=' .. EgtNumToString( EMT.PREVTCPOS, EMT.DECMACRO) .. ' P7=' .. EgtNumToString( EMT.PREVS, 0) .. ' P8=0' .. ' P9=0' .. ' P10=' .. EgtIf( bZmax, '3', '4') EmtOutput( sOutPreMove) EmtOutput( 'M101 P1=2') @@ -672,8 +675,8 @@ function OnRapid() -- se carico motosega, ruoto in zona sicura prima di approcciare la lavorazione if ( EMT.HEAD == 'H3' or ( bZmax and EMT.TTOTLEN > 200)) and EMT.ST > BeamHeightForFixRot and EMT.FLAG2 == 1 then - local sOutPreMove = 'M101 P1=1' .. ' P2=' .. EmtLenToString( -SafeXRotAxes, 3) .. ' P3=' .. EmtLenToString( MyZHome, 3) .. - ' P4=' .. EgtNumToString( EMT.R2, 3) .. ' P5=' .. EgtNumToString( EMT.R1, 3) .. + local 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) .. ' P6=' .. AdjustTcPos( false) .. ' P7=' .. EgtNumToString( EMT.S, 0) .. ' P8=0' .. ' P9=0' .. ' P10=' .. EgtIf( bZmax, '3', '4') EmtOutput( sOutPreMove) @@ -687,8 +690,8 @@ function OnRapid() if EMT.ST > BeamHeightForFixRot and EMT.FLAG2 == 1 then MyZPos = MyZHome end - local sOut = 'M101 P1=1' .. ' P2=' .. EmtLenToString( EMT.L2, 3) .. ' P3=' .. EmtLenToString( MyZPos, 3) .. - ' P4=' .. EgtNumToString( EMT.R2, 3) .. ' P5=' .. EgtNumToString( EMT.R1, 3) .. + local sOut = 'M101 P1=1' .. ' P2=' .. EmtLenToString( EMT.L2, EMT.DECMACRO) .. ' P3=' .. EmtLenToString( MyZPos, EMT.DECMACRO) .. + ' P4=' .. EgtNumToString( EMT.R2, 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') if EMT.LOAD then @@ -738,7 +741,7 @@ function OnRapid() sV = EmtLenToString( ParkV) sB = '2' end - sOut = 'M112 P1='..EmtLenToString( EMT.L1, 3)..' P3='..sA..' P4='..sB..' P5=0 P6='..sY..' P7='..sV..' P9='..GetFmaxClamp() + sOut = 'M112 P1='..EmtLenToString( EMT.L1, EMT.DECMACRO)..' P3='..sA..' P4='..sB..' P5=0 P6='..sY..' P7='..sV..' P9='..GetFmaxClamp() ParkLine( sOut) EMT.LOAD = false -- emissione prime linee speciali e linee parcheggiate @@ -789,7 +792,7 @@ function OnRapid() sOut = 'M101 P1=3' EmtOutput( sOut) end - sOut = 'M112 P1=' .. EmtLenToString( EMT.L1, 3) ..' P3='..sA..' P4='..sB..' P6='..sY..' P7='..sV..' P9=' .. GetFmaxClamp() + sOut = 'M112 P1=' .. EmtLenToString( EMT.L1, EMT.DECMACRO) ..' P3='..sA..' P4='..sB..' P6='..sY..' P7='..sV..' P9=' .. GetFmaxClamp() EmtOutput( sOut) if not bHeadFirst then sOut = 'M101 P1=2' @@ -861,15 +864,15 @@ function OnRapid() if EMT.ST > BeamHeightForFixRot and EMT.HEAD == 'H1' and EMT.TOOL ~= EMT.NEXTTOOL and EMT.NEXTHEAD ~= 'H2' then local dBAxis = 90 local dCAxis = EgtIf( BD.RIGHT_LOAD, 90, -90) - local sOut = 'M101 P1=1' .. ' P2=' .. EmtLenToString( EMT.L2, 3) .. ' P3=' .. EmtLenToString( EMT.L3, 3) .. - ' P4=' .. EgtNumToString( dBAxis, 3) .. ' P5=' .. EgtNumToString( dCAxis, 3) .. + local sOut = 'M101 P1=1' .. ' P2=' .. EmtLenToString( EMT.L2, EMT.DECMACRO) .. ' P3=' .. EmtLenToString( EMT.L3, EMT.DECMACRO) .. + ' P4=' .. EgtNumToString( dBAxis, EMT.DECMACRO) .. ' P5=' .. EgtNumToString( dCAxis, EMT.DECMACRO) .. ' P6=' .. AdjustTcPos( false) .. ' P7=' .. EgtNumToString( EMT.S, 0) .. ' P8=0' .. ' P9=0' .. ' P10=3' EmtOutput( sOut) EmtOutput( 'M101 P1=2') EmtOutput( 'M101 P1=3') - sOut = 'M101 P1=1' .. ' P2=' .. EmtLenToString( -SafeXRotAxes, 3) .. ' P3=' .. EmtLenToString( EMT.L3, 3) .. - ' P4=' .. EgtNumToString( dBAxis, 3) .. ' P5=' .. EgtNumToString( dCAxis, 3) .. + sOut = 'M101 P1=1' .. ' P2=' .. EmtLenToString( -SafeXRotAxes, EMT.DECMACRO) .. ' P3=' .. EmtLenToString( EMT.L3, EMT.DECMACRO) .. + ' P4=' .. EgtNumToString( dBAxis, EMT.DECMACRO) .. ' P5=' .. EgtNumToString( dCAxis, EMT.DECMACRO) .. ' P6=' .. AdjustTcPos( false) .. ' P7=' .. EgtNumToString( EMT.S, 0) .. ' P8=0' .. ' P9=0' .. ' P10=3' EmtOutput( sOut) @@ -886,8 +889,8 @@ function OnRapid() MyAdjustLinearAxes() EmtAdjustRotaryAxes() EmtResetPrev() - local sOut = 'M101 P1=1' .. ' P2=' .. EmtLenToString( EMT.L2, 3) .. ' P3=' .. EmtLenToString( EMT.L3, 3) .. - ' P4=' .. EgtNumToString( EMT.R2, 3) .. ' P5=' .. EgtNumToString( EMT.R1, 3) .. + local sOut = 'M101 P1=1' .. ' P2=' .. EmtLenToString( EMT.L2, EMT.DECMACRO) .. ' P3=' .. EmtLenToString( EMT.L3, EMT.DECMACRO) .. + ' P4=' .. EgtNumToString( EMT.R2, EMT.DECMACRO) .. ' P5=' .. EgtNumToString( EMT.R1, EMT.DECMACRO) .. ' P6=' .. AdjustTcPos( false) .. ' P7=' .. EgtNumToString( EMT.S, 0) .. ' P8=0' .. ' P9=0' .. ' P10=3' EmtOutput( sOut) @@ -1007,7 +1010,7 @@ function OnArc() --local sCen = ' ' .. EMT.C1t .. EmtLenToString(EMT.C1,3) .. -- ' ' .. EMT.C2t .. EmtLenToString(EMT.C2,3) -- raggio - local sRad = ' ' .. EMT.RRt .. EmtLenToString( EMT.RR, EMT.DECNUM) + local sRad = ' ' .. EMT.RRt .. EmtLenToString( EMT.RR, EMT.DECRAD) -- aggiungo feed local sFeed = EmtGetFeed() -- tipo arco @@ -1767,9 +1770,9 @@ function CalcInterpPlane() local vtY = EMT.IPLGLFR:getVersY() local vtZ = EMT.IPLGLFR:getVersZ() EMT.IPLGLSTR = ' X0 Y' .. EmtLenToString( xS, EMT.DECNUM) .. ' Z0' .. - ' A' .. EgtNumToString( - vtX:getY(), 6) .. ' B' .. EgtNumToString( vtX:getX(), 6) .. ' C' .. EgtNumToString( vtX:getZ(), 6) .. - ' I' .. EgtNumToString( - vtY:getY(), 6) .. ' J' .. EgtNumToString( vtY:getX(), 6) .. ' K' .. EgtNumToString( vtY:getZ(), 6) .. - ' P' .. EgtNumToString( - vtZ:getY(), 6) .. ' Q' .. EgtNumToString( vtZ:getX(), 6) .. ' R' .. EgtNumToString( vtZ:getZ(), 6) + ' A' .. EgtNumToString( - vtX:getY(), EMT.DECVERS) .. ' B' .. EgtNumToString( vtX:getX(), EMT.DECVERS) .. ' C' .. EgtNumToString( vtX:getZ(), EMT.DECVERS) .. + ' I' .. EgtNumToString( - vtY:getY(), EMT.DECVERS) .. ' J' .. EgtNumToString( vtY:getX(), EMT.DECVERS) .. ' K' .. EgtNumToString( vtY:getZ(), EMT.DECVERS) .. + ' P' .. EgtNumToString( - vtZ:getY(), EMT.DECVERS) .. ' Q' .. EgtNumToString( vtZ:getX(), EMT.DECVERS) .. ' R' .. EgtNumToString( vtZ:getZ(), EMT.DECVERS) EMT.IPLGL = true end diff --git a/UpdateLog.txt b/UpdateLog.txt index 02a0c1a..533948b 100644 --- a/UpdateLog.txt +++ b/UpdateLog.txt @@ -1,9 +1,10 @@ ==== Common_FAST Update Log ==== -Versione 2.7-- (--/--/2024) +Versione 2.7b1 (20/02/2024) - (SIM-GEN) Aggiunta possibilità di settare HCING/TCING nelle note di ogni singola lavorazione per gestire parte non pinzabile del pezzo. Funziona solo con nuovo pinzaggio. - (SIM-GEN) Piccola correzione calcolo posizione carrelli con nuova strategia di pinzaggio. - (SIM-GEN) Caricamento libreria EmtGenMachining. Si fa una require con PCALL perchè la libreria è opzionale e non è detto che ci sia. In installazione CAM5 dalla 2.7a1 +- (GEN) Per controllo TPA, modifica al numero di decimali. Versione 2.7a3 (08/01/2024) - (GEN) Dopo separazione, in NUM_PLUS, si srive EH1 solo se macro G101, perchè altrimenti non è prevista. Ticket#2239 diff --git a/Version.lua b/Version.lua index e0a36b2..c4a6682 100644 --- a/Version.lua +++ b/Version.lua @@ -3,7 +3,7 @@ local InfoCommon_STD_PP = { NAME = 'Common_FAST', -- nome script PP standard - VERSION = '2.7--', -- versione script + VERSION = '2.7b1', -- versione script MIN_MACH_VER_PP_COMMON = '2.5k1' -- versione minima kernel }