Compare commits

...

11 Commits

Author SHA1 Message Date
andrea.villa 5de2fd1b45 - Rimossa chiamata funzione EgtGetSourceDir
- Allineamento con common ver. 2.6c2
2024-02-23 10:47:04 +01:00
andrea.villa 264c78d8df 2.6c1 : Prima versione post-proc comune FAST e FASTrl 2024-02-23 10:22:56 +01:00
luca.mazzoleni 8e39bc08a8 update compile 2024-02-22 18:00:52 +01:00
luca.mazzoleni e3082d52c4 update compile 2024-02-22 17:51:22 +01:00
luca.mazzoleni 3810893c36 aggiunti file per compilazione 2024-02-22 11:01:45 +01:00
luca.mazzoleni 55fde8526a Merge branch 'develop' 2024-02-09 17:22:13 +01:00
luca.mazzoleni ae7e96aa7c In BeamData aggiunta funzione GetBlockedAxis che sostituisce la GetChainSawBlockedAxis. 2024-02-09 17:21:49 +01:00
luca.mazzoleni 3db37e9c19 Merge branch 'master' into develop 2024-02-09 17:15:11 +01:00
Dario Sassi 86ca749635 Essetre-FAST 2.6a2 :
- aggiunti ingombri portautensili per mortase e seghe a catena.
2024-01-30 09:13:17 +01:00
Dario Sassi 19ae66b5bd Essetre-FAST 2.6a1 :
- piccola modifica per direzione preferenziale rinvio da sotto (per evitare di accedere dal lato della barra).
2024-01-19 09:01:44 +01:00
luca.mazzoleni 758893afdb Merge branch 'master' into develop 2023-12-15 10:50:11 +01:00
12 changed files with 216 additions and 133 deletions
+25 -6
View File
@@ -6,6 +6,7 @@ EgtOutLog( ' FAST-BeamData started', 1)
-- Tabella per definizione modulo
local BeamData = {
GO_FAST = 0, -- flag abilitazione modalità veloce (0=no, 1=carrelli, 2=anche cambio utensili)
RIGHT_LOAD = false, -- flag carico da destra
ROT90 = false, -- flag abilitazione rotazione 90 gradi
MIN_WIDTH = 40, -- larghezza minima del grezzo
MIN_HEIGHT = 40, -- altezza minima del grezzo
@@ -70,7 +71,7 @@ local BeamData = {
-- Aggiornamento con dati da TechnoEssetre7
local sTs3Data = EgtGetStringFromIni( 'Beam', 'DATA_DIR', "C:\\TechnoEssetre7\\EgtData", EgtGetIniFile()).."\\Essetre-Fast.data"
local sData = EgtGetSourceDir().."\\Ts3Data.lua"
local sData = EgtGetCurrMachineDir().."\\Beam\\Ts3Data.lua"
if EgtExistsFile( sTs3Data) then
EgtCopyFile( sTs3Data, sData)
local sTs3DataOld = sTs3Data..'.old'
@@ -115,14 +116,32 @@ if EgtExistsFile( sData) then
end
---------------------------------------------------------------------
local function GetChainSawBlockedAxis( nInd)
if nInd == 1 then
return 'A=90'
local function GetBlockedAxis( sHead, nToolType, sBlockedAxis)
-- lama
if nToolType == MCH_TY.SAW_STD or nToolType == MCH_TY.SAW_FLAT then
return ''
-- sega a catena
elseif nToolType == MCH_TY.MORTISE_STD then
if sHead == 'H3' then
if sBlockedAxis == 'parallel' then
return 'A=0'
elseif sBlockedAxis == 'perpendicular' then
return 'A=90'
end
else
return ''
end
-- fresa
elseif nToolType == MCH_TY.MILL_STD or nToolType == MCH_TY.MILL_NOTIP then
return ''
-- punta
elseif nToolType == MCH_TY.DRILL_STD or nToolType == MCH_TY.DRILL_LONG then
return ''
else
return 'A=0'
return ''
end
end
BeamData.GetChainSawBlockedAxis = GetChainSawBlockedAxis
BeamData.GetBlockedAxis = GetBlockedAxis
---------------------------------------------------------------------
local function GetMaxLenRidgeLapFromBottom( dHRaw)
+8 -16
View File
@@ -1,21 +1,12 @@
-- Processore macchina Essetre-FAST by EgalTech s.r.l. 2023/10/18
-- Processore standard macchine FAST by EgalWare s.r.l. 2024/02/23
-- Con controllo numerico NUM
-- 2021/04/23 DS ver 2.3d3 Se non c'è BtlInfo cerco il gruppo di lavoro corrente.
-- 2021/07/21 DS ver 2.3g5 Modifiche varie da TPA.
-- 2021/07/23 DS ver 2.3g6 Corretta gestione LOAD90.
-- 2021/07/23 DS ver 2.3g7 Completamento allineamento con TPA.
-- 2021/07/27 DS ver 2.3g8 Corretto carico senza taglio di testa per salto G79 N9.
-- 2021/07/27 DS ver 2.3g9 Nome in testa a CN (%NNNN.0) da PATTID di BtlInfo.
-- 2021/07/29 DS ver 2.3g10 Con testa H2 (lama) non si emettono assi rotanti nel corso della lavorazione.
-- 2021/08/03 DS ver 2.3h2 Nei commenti le parentesi sono sostituite con il carattere -.
-- 2021/08/05 DS ver 2.3h4 Nel rapido se non bHeadFirst ritardo anche l'emissione di G101 a dopo G112.
-- 2021/11/17 DS ver 2.3k1 Correzioni di Nicola su rotazioni verificate da GCT.
-- 2021/12/28 DS ver 2.3l2 Correzioni a G101 (ora sempre con EE ed ET).
-- 2021/12/29 DS ver 2.3l3 Altre correzioni a G101 (se già in alto EE3 e sempre ES).
-- 2023/04/19 DS ver 2.5d1 Al carico dopo rotazione su linea con EA75 messo EB110 invece di 112.
-- carico librerie
local INFO_STD_PP = require( 'Version')
-- Variabili di modulo
local MLE_INFO = 'Essetre-FAST.NUM.mlpe ver.'..PP_VER..' by EgalTech s.r.l.'
local CSP_INFO = INFO_STD_PP.NAME..' ver.'..INFO_STD_PP.VERSION..' by EgalWare s.r.l.'
local MACHINE_INFO = 'PP_VER ver.'..PP_VER
local TEST_USE = false
---------------------------------------------------------------------
@@ -55,7 +46,8 @@ function OnProgramStart()
else
EmtOutput( '(Program Start)')
end
EmtOutput( '('.. MLE_INFO..')\n')
EmtOutput( '('.. CSP_INFO..')')
EmtOutput( '('.. MACHINE_INFO..')\n')
-- Se modalità test, aggiungo linee per muovere tappeto e alzare la testa (in automatico viene fatto dal main residente)
if TEST_USE then
EmtOutput( 'M28')
@@ -1,10 +1,12 @@
-- Processore macchina Essetre-FAST by EgalTech s.r.l. 2023/10/18
-- Processore standard macchine FAST by EgalWare s.r.l. 2024/02/23
-- Con controllo numerico NUM FlexiumPlus
-- 2022/09/20 DS ver 2.4i1 Prima versione.
-- 2023/04/19 DS ver 2.5d1 Al carico dopo rotazione su linea con EA75 messo EB110 invece di 112.
-- carico librerie
local INFO_STD_PP = require( 'Version')
-- Variabili di modulo
local MLE_INFO = 'Essetre-FAST.NUM_PLUS.mlpe ver.'..PP_VER..' by EgalTech s.r.l.'
local CSP_INFO = INFO_STD_PP.NAME..' ver.'..INFO_STD_PP.VERSION..' by EgalWare s.r.l.'
local MACHINE_INFO = 'PP_VER ver.'..PP_VER
local TEST_USE = false
---------------------------------------------------------------------
@@ -44,7 +46,8 @@ function OnProgramStart()
else
EmtOutput( '(Program Start)')
end
EmtOutput( '('.. MLE_INFO..')\n')
EmtOutput( '('.. CSP_INFO..')')
EmtOutput( '('.. MACHINE_INFO..')\n')
-- Se modalità test, aggiungo linee per muovere tappeto e alzare la testa (in automatico viene fatto dal main residente)
if TEST_USE then
EmtOutput( 'M28')
+18 -28
View File
@@ -1,29 +1,12 @@
-- Processore macchina Essetre-FAST by EgalTech s.r.l. 2023/10/18
-- Processore standard macchine FAST by EgalWare s.r.l. 2024/02/23
-- Con controllo numerico TPA
-- 2020/03/23 DS ver.2.2c3 Nei movimenti interpolati si usano 5 decimali, nei G24 6 decimali.
-- 2020/04/27 DS ver.2.2d3 Aggiunta gestione scarico speciale senza spostamento finale pezzo.
-- 2020/04/30 DS ver.2.2d5 Modifiche a scarico manuale.
-- 2020/05/19 DS ver.2.2e2 Modifiche per rotazione 90 gradi.
-- 2020/05/27 DS ver.2.2e6 Aggiunta gestione ordine posizionamento iniziale testa e carrelli quando non è Zmax.
-- 2020/06/10 DS ver.2.2f1 Aggiunta emissione di pezzo finito (M113..) dopo pezzo caduto (M155).
-- 2020/06/11 DS ver 2.2f2 Nel contenuto dei commenti si sostituiscono le parentesi tonde con le quadre.
-- 2020/09/03 DS ver 2.2i1 A M114 aggiunti P11 e P12. Modificato M102 P1=. Modificati commenti.
-- 2020/09/16 DS ver 2.2i2 OFFSETX e OFFSETZ da TS3v7 ora devono contenere tutto lo spiazzamento non più solo il delta dal nominale.
-- 2020/09/17 DS ver 2.2i3 Correzione per il segno di OFFSETX.
-- 2021/01/08 DS ver 2.3a1 M115 esteso con P6 e usato per ogni pezzo. Eliminati 0 inutili.
-- 2021/04/07 DS ver 2.3d2 Gestione risalita Zmax (M116) anche allo scarico.
-- 2021/04/23 DS ver 2.3d3 Se non c'è BtlInfo cerco il gruppo di lavoro corrente.
-- 2021/05/25 DS ver 2.3e3 Aggiunta gestione rapido con Flag=5.
-- 2021/06/04 DS ver 2.3f2 Gestione parametro P12=1 su M101 per ruotare in alto quando necessario.
-- 2021/07/21 DS ver 2.3g5 Si imposta LOAD90 su tutti i pezzi di una barra tramite M115. Aggiunto M29 prima di taglio di pezzo a caduta.
-- 2021/08/03 DS ver 2.3h3 Aggiunto arresto preciso negli angoli (G9) in fresature con utensili di piccolo diametro.
-- 2022/01/21 DS ver 2.4a1 In V07 si imposta nLoad90.
-- 2022/04/14 DS ver 2.4d2 Si programma G9 (arresto preciso) in fondo al foro.
-- 2023/03/20 DS ver 2.5c1 Modifiche a AdjustTcPos per utensile BH su T42 e lama su T111.
-- 2023/04/19 DS ver 2.5d1 Al carico dopo rotazione su linea con P4=75 messo P5=110 invece di 112.
-- carico librerie
local INFO_STD_PP = require( 'Version')
-- Variabili di modulo
local MLE_INFO = 'Essetre-FAST.TPA.mlpe ver.'..PP_VER..' by EgalTech s.r.l.'
local CSP_INFO = INFO_STD_PP.NAME..' ver.'..INFO_STD_PP.VERSION..' by EgalWare s.r.l.'
local MACHINE_INFO = 'PP_VER ver.'..PP_VER
local TEST_USE = false
---------------------------------------------------------------------
@@ -61,7 +44,9 @@ function OnProgramStart()
else
ParkLine( '(Program Start)')
end
ParkLine( '('.. MLE_INFO..')')
ParkLine( '('.. CSP_INFO..')')
ParkLine( '('.. MACHINE_INFO..')')
-- Se modalità test, aggiungo linee per muovere tappeto e alzare la testa (in automatico viene fatto dal main residente)
if TEST_USE then
ParkLine( 'M199')
@@ -161,6 +146,9 @@ function OnToolData()
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)
ParkLine( sOut)
-- altro non previsto
else
EmtSetLastError( 1211, 'Head not allowed ' .. EMT.HEAD)
end
end
@@ -432,7 +420,7 @@ function OnMachiningStart()
EMT.MCHNAME = EgtGetOperationName( EMT.MCHID)
EMT.MCHTYPE = EgtGetMachiningParam( MCH_MP.TYPE)
EMT.MCHUSERNOTES = EgtGetMachiningParam( MCH_MP.USERNOTES)
-- sistemazione speed
-- sistemazione speed (la speed della lama va moltiplicata per 6)
if EMT.HEAD == 'H2' then
EMT.S = EMT.S * 6
elseif EMT.HEAD == 'H5' and EMT.EXIT == 1 then
@@ -1535,12 +1523,14 @@ function MyAdjustLinearAxes()
local LenRef = MillOffs
local vtAux = EgtGetCalcAuxDirFromAngles( EMT.R1, EMT.R2, EMT.R3)
vtE = vtAux * LenAux - Z_AX() * LenRef
else -- 'H5'
elseif EMT.HEAD == 'H5' then
local Len = EMT.TLEN + AngTr1Len
local LenAux = MillOffs + AngTr1Offs
local LenRef = MillOffs
local vtAux = EgtGetCalcAuxDirFromAngles( EMT.R1, EMT.R2)
vtE = Vector3d( EMT.EXTR) * Len + vtAux * LenAux - Z_AX() * LenRef
else
EmtSetLastError( 1211, 'Head not allowed ' .. EMT.HEAD)
end
EMT.L1 = EMT.L1 - vtE:getX()
EMT.L2 = EMT.L2 - DeltaTabY - vtE:getY()
@@ -1556,7 +1546,7 @@ function MyAdjustLinearAxes()
EMT.L3o = MyL3o
if not EMT.REFLOC then
EMT.L2 = - EMT.L2
EMT.L2 = -EMT.L2
EMT.L1t = 'Y'
EMT.L2t = 'X'
else
@@ -1576,7 +1566,7 @@ function AdjustToolKinematic()
elseif EMT.HEAD == 'H6' then
return EgtIf( EMT.EXIT == 1, '21', '22')
else
EmtSetLastError( 1211, 'Head not allowed')
EmtSetLastError( 1211, 'Head not allowed ' .. EMT.HEAD)
end
end
+57 -27
View File
@@ -1,34 +1,25 @@
-- Processore macchina Essetre-FAST by EgalTech s.r.l. 2023/01/23
-- Funzioni generiche indipendenti dal controllo
-- 2020/09/22 DS ver 2.2i4 Distanza di sicurezza per collisioni da 2 a 4mm (inoltre allontanata flangia lama e aggiunto cilindro asse Z)
-- 2020/09/26 DS ver 2.2i5 Gestione cambio presa sega a catena tra due lavorazioni successive.
-- 2020/10/06 DS ver 2.2j1 Punta lunga da togliere basata su sua lunhezza totale e non più su T111.
-- 2021/01/08 DS ver 2.3a1 Gestione utensile di default da posizione e non da nome.
-- 2021/01/24 DS ver 2.3a2 Correzione deposito sega a catena con ripresa della stessa per angola A diverso.
-- 2021/01/31 DS ver 2.3a3 Altre correzioni per sega a catena.
-- 2021/03/15 DS ver 2.3c2 Aggiunta gestione lama su testa H1 e verifica collisione relativa (COLLISION3).
-- 2021/06/28 DS ver 2.3f5 Correzioni per scarico punte lunghe con pezzi alti.
-- 2021/07/12 DS ver 2.3g2 Correzioni per verifica collisioni durante scarico utensili.
-- 2021/07/20 DS ver 2.3g4 Aggiunta gestione rinvio angolare H5 (previsto anche H6).
-- 2021/12/01 DS ver 2.3l1 Corrette stime tempi per rotazione pezzi.
-- Processore macchina Essetre-FAST by EgalWare s.r.l. 2024/02/23
-- Intestazioni
require( 'EmtGenerator')
EgtEnableDebug( false)
-- carico librerie
local BD = require( 'BeamData')
LONG_TOOL_MINLEN = 221
BIG_TOOL_DIAM = 300
---------------------------------------------------------------------
-- *** GENERATION ***
---------------------------------------------------------------------
local sBaseDir = EgtGetSourceDir()
local sBaseDir = EgtGetCurrMachineDir()
if NumericalControl == 'NUM' then
dofile( sBaseDir .. 'Essetre-FAST.NUM.mlpe')
dofile( sBaseDir .. '\\Common-FAST.NUM.mlpe')
elseif NumericalControl == 'TPA' then
dofile( sBaseDir .. 'Essetre-FAST.TPA.mlpe')
dofile( sBaseDir .. '\\Common-FAST.TPA.mlpe')
elseif NumericalControl == 'NUM_PLUS' then
dofile( sBaseDir .. 'Essetre-FAST.NUM_PLUS.mlpe')
dofile( sBaseDir .. '\\Common-FAST.NUM_PLUS.mlpe')
else
EmtSetLastError( 1201, 'Numerical Control error : unkwnown type')
end
@@ -38,6 +29,45 @@ end
---------------------------------------------------------------------
local COLL_SAFE_DIST = 3
---------------------------------------------------------------------
function OnSimulInit()
-- se macchina con carico destro, imposto offset direzioni di vista standard
if BD.RIGHT_LOAD then
local nOrigViewOffs = EgtGetViewOrizzOffsStep()
local dOrigViewAngV, dOrigViewAngH = EgtGetGenericView()
if nOrigViewOffs ~= 2 then
EgtSetViewOrizzOffsStep( 2)
if dOrigViewAngV < 0.1 then
EgtSetView( SCE_VD.TOP, false)
elseif dOrigViewAngV > 179.9 then
EgtSetView( SCE_VD.BOTTOM, false)
else
local dViewAngH = dOrigViewAngH + EgtIf( dOrigViewAngH > 180, 2 * 90, 0)
EgtSetGenericView( dOrigViewAngV, dViewAngH, false)
end
end
end
end
---------------------------------------------------------------------
function OnSimulExit()
-- se macchina con carico destro, annullo offset direzioni di vista standard
if BD.RIGHT_LOAD then
local nOrigViewOffs = EgtGetViewOrizzOffsStep()
local dOrigViewAngV, dOrigViewAngH = EgtGetGenericView()
if nOrigViewOffs == 2 then
EgtSetViewOrizzOffsStep( 0)
if dOrigViewAngV < 0.1 then
EgtSetView( SCE_VD.TOP, false)
elseif dOrigViewAngV > 179.9 then
EgtSetView( SCE_VD.BOTTOM, false)
else
EgtSetGenericView( dOrigViewAngV, dOrigViewAngH - 2 * 90, false)
end
end
end
end
---------------------------------------------------------------------
function OnSimulStart()
-- controllo versione programma
@@ -510,9 +540,9 @@ function OnSimulToolDeselect()
if EMT.HEAD == 'H3' then
local dPosA = EgtGetAxisPos( 'A')
if abs( dPosA) < 0.1 then
SimulMoveAxes( 'B', 0, CollSimRotStep, 'C', 0, CollSimRotStep)
SimulMoveAxes( 'B', 0, CollSimRotStep, 'C', EgtIf( RIGHT_LOAD, 180, 0), CollSimRotStep)
else
SimulMoveAxes( 'B', 0, CollSimRotStep, 'C', -90, CollSimRotStep)
SimulMoveAxes( 'B', 0, CollSimRotStep, 'C', EgtIf( RIGHT_LOAD, 90, -90), CollSimRotStep)
end
SimulMoveAxis( 'X', 0, RapSimStep)
-- movimento scarico rinvio
@@ -534,7 +564,7 @@ function OnSimulToolDeselect()
else
local dPosB = EgtGetAxisPos( 'B')
local dNewB = EgtIf( dPosB < 0, -90, 90)
SimulMoveAxes( 'B', dNewB, CollSimRotStep, 'C', 0, CollSimRotStep)
SimulMoveAxes( 'B', dNewB, CollSimRotStep, 'C', EgtIf( RIGHT_LOAD, 180, 0), CollSimRotStep)
SimulMoveAxis( 'X', 0, RapSimStep)
end
-- breve pausa
@@ -544,9 +574,9 @@ function OnSimulToolDeselect()
ShowToolInTcPos( EMT.TCPOS_1, true)
-- movimento per carico utensile
if EMT.NEXTHEAD ~= 'H3' and EMT.NEXTHEAD ~= 'H5' then
SimulMoveAxes( 'B', 90, RapSimRotStep, 'C', -90, RapSimRotStep)
SimulMoveAxes( 'B', 90, RapSimRotStep, 'C', EgtIf( RIGHT_LOAD, 90, -90), RapSimRotStep)
else
SimulMoveAxes( 'B', 0, RapSimRotStep, 'C', -90, RapSimRotStep)
SimulMoveAxes( 'B', 0, RapSimRotStep, 'C', EgtIf( RIGHT_LOAD, 90, -90), RapSimRotStep)
end
-- se segue lama, carico utensile di default
if EMT.NEXTHEAD == 'H2' then
@@ -566,7 +596,7 @@ function OnSimulToolDeselect()
local RapSimRotStep = RapSimStep / 10
local CollSimRotStep = min( RapSimRotStep, 10)
-- simulo movimento
SimulMoveAxes( 'B', 90, CollSimRotStep, 'C', -90, CollSimRotStep)
SimulMoveAxes( 'B', 90, CollSimRotStep, 'C', EgtIf( RIGHT_LOAD, 90, -90), CollSimRotStep)
SimulMoveAxis( 'X', 0, RapSimStep)
-- breve pausa
EgtPause( 100)
@@ -578,7 +608,7 @@ function OnSimulToolDeselect()
EgtSetStatus( EgtGetHeadId( EMT.HEAD), GDB_ST.OFF)
end
-- eseguo movimento opportuno
SimulMoveAxes( 'B', 0, RapSimRotStep, 'C', -90, RapSimRotStep)
SimulMoveAxes( 'B', 0, RapSimRotStep, 'C', EgtIf( RIGHT_LOAD, 90, -90), RapSimRotStep)
-- se altrimenti lama su cambio utensile
elseif EMT.NEXTHEAD == 'H1' and SpecialBH and EMT.NEXTTCPOS == 'T111' then
-- se non lama, nascondo l'utensile corrente
@@ -873,14 +903,14 @@ function ExecUnloading()
-- li sposto per lasciare spazio al nuovo pezzo
local nId = EgtGetFirstInGroup( nVmGrpId)
while nId do
EgtMove( nId, Vector3d( 0, -( EMT.SB + 50.0), 0), GDB_RT.GLOB)
EgtMove( nId, Vector3d( 0, EgtIf( RIGHT_LOAD, ( EMT.SB + 50.0), -( EMT.SB + 50.0)), 0), GDB_RT.GLOB)
nId = EgtGetNext( nId)
end
-- creo un nuovo layer e vi inserisco il nuovo pezzo
local nLayId = EgtGroup( nVmGrpId, EgtGetGlobFrame( vMillId))
EgtRelocate( vMillId, nLayId)
local vtMove = Vector3d( 0, -450, 0)
if EMT.FALL then vtMove = Vector3d( -500, 0, -750) end
local vtMove = Vector3d( 0, EgtIf( RIGHT_LOAD, 450, -450), 0)
if EMT.FALL then vtMove = Vector3d( -500, 0, EgtIf( RIGHT_LOAD, 750, -750)) end
EgtMove( nLayId, vtMove, GDB_RT.GLOB)
EgtSetLevel( vMillId, GDB_LV.USER)
-- aggiungo gli spigoli
+8 -38
View File
@@ -1,42 +1,11 @@
-- Special Operations macchina Essetre-FAST by EgalTech s.r.l. 2023/12/14
-- 2020/05/15 DS ver.2.2e1 Correzione a SpecAdjustCarrC3 per bFixedDelta.
-- 2020/05/16 DS ver 2.2e2 Aggiunta gestione rotazione 90deg.
-- 2020/05/21 DS ver 2.2e3 Aggiunto a SpecAdjustCarrC3 parametro bFixedPos (per lavorazioni Split e Cut precedute da Pre).
-- 2020/05/26 DS ver 2.2e4 Nuova gestione dei pezzi a caduta.
-- 2020/05/27 DS ver 2.2e5 Corretto blocco pinza V su presplit e precut.
-- 2020/05/28 DS ver 2.2e7 Correzione per mancanza EMC.HOVM allo scarico.
-- 2020/06/18 DS ver 2.2f3 Aumento ingombro fresatura opposta a cerrello per evitare extracorsa.
-- 2020/07/02 DS ver 2.2g1 Correzione quota di presa al carico per casi senza tagli in testa e lavorazioni solo in coda.
-- 2020/09/03 DS ver 2.2i1 Correzione in Load dopo rotazione deve tener conto dell'ingombro delle lavorazioni in coda.
-- 2020/09/09 DS ver 2.2i2 Nel calcolo pinzaggi ora si tiene conto anche della larghezza della sezione della barra.
-- 2020/09/25 DS ver 2.2i5 Migliorato calcolo ingombro lama con testa opposta al carrello.
-- 2020/09/29 DS ver 2.2i6 Migliorato calcolo ingombro fresa su tagli longitudinali di fianco.
-- 2020/10/13 DS ver 2.2j2 Aggiunta gestione sezione molto piccola (Very Small) per presa minima. Corretta gestione ingombri con fori a 30 deg.
-- 2020/12/09 DS ver 2.2l1 Migliorato calcolo ingombro con lama verticale inclinata di +/-45deg rispetto a X.
-- 2021/01/24 DS ver 2.3a2 Migliorato controllo assi rotanti definiti con sega a catena per SpecialCalcMachiningEncumbrance.
-- 2021/02/02 DS ver 2.3b1 Migliorato calcolo ingombro tagli di lama quasi verticale angolata.
-- 2021/02/17 DS ver 2.3b2 Corretta B3Ys-xs1 per accentrare V e T bisogna sottrarre dExtraY che è negativo e non sommare.
-- 2021/04/02 DS ver 2.3d1 Corretto calcolo ingombro con lama per non andare in extracorsa con le pinze quando lavorazione vicino a Y0.
-- 2021/06/01 DS ver 2.3f1 Aggiunta segnalazione pezzo scaricato a caduta.
-- 2021/06/25 DS ver 2.3f5 Corretta segnalazione tipo di scarico del pezzo.
-- 2021/07/20 DS ver 2.3g4 Aggiunta gestione rinvio per lavorazioni da sotto.
-- 2021/08/02 DS ver 2.3h1 Per spessori piccoli ridotta tolleranza di presa (limiti _V).
-- 2021/10/12 DS ver 2.3j1 Lame standard (Lt > L) gestite come lame piatte (MCH_TY.SAW_STD e MCH_TY.SAW_FLAT).
-- 2021/10/12 DS ver 2.4c3 Corretti errori di scrittura nomi variabili alle linee 2714 (YDeltaTol) e 2717 (dCorsaYTr e dCorsaVr).
-- 2022/04/07 DS ver 2.4d1 Aumentato ingombro lavorazione per evitare extracorsa interno Y e V (da 260 a 280).
-- 2023/01/10 SM ver 2.5a1 Affinato calcolo ingombro lavorazione con fresa quasi verticale.
-- 2023/06/14 DS ver 2.5f1 Corretto calcolo dDistBack allo Split.
-- 2023/08/11 DS ver 2.5h1 Modifica calcolo ingombro per frese dirette circa come Y+/-.
-- Special Operations macchina Essetre-FAST by EgalWare s.r.l. 2024/02/23
-- Intestazioni
require( 'EmtGenerator')
EgtEnableDebug( false)
-- Carico i dati globali
local sBaseDir = EgtGetSourceDir()
local BD = dofile( sBaseDir .. 'Beam\\BeamData.lua')
EgtOutLog ( '** Essetre-FAST '..PP_VER..' **', 1)
-- carico librerie
local BD = require( 'BeamData')
---------------------- OnSpecialMoveZup -----------------------------
---------------------------------------------------------------------
@@ -49,8 +18,7 @@ function OnSpecialMoveZup()
-- se sega a catena
if EMC.HEAD == 'H3' then
end
end
@@ -995,7 +963,8 @@ function SpecCalcEncumbrance( vtTool, vtArm, ptMin, ptMax, bSaw, bChain, dTLen,
dHeadBack = EgtIf( EMC.CNT == 1, 180, 130)
end
-- per interferenza con triangolo di rinforzo sulla pinza Y
if vtTool:getZ() < 0.25 and vtTool:getX() < 0.10 and vtTool:getY() > 0 and vtArm:getX() < -0.707 then
if ( vtTool:getZ() < 0.25 and vtTool:getX() < 0.10 and vtTool:getY() > 0 and vtArm:getX() < -0.707 and not BD.RIGHT_LOAD) or
( vtTool:getZ() < 0.25 and vtTool:getX() < 0.10 and vtTool:getY() < 0 and vtArm:getX() < -0.707 and BD.RIGHT_LOAD)then
dHeadBack = dHeadBack + 90
end
end
@@ -1087,7 +1056,8 @@ function SpecCalcEncumbrance( vtTool, vtArm, ptMin, ptMax, bSaw, bChain, dTLen,
dHeadFront = 130
end
-- per interferenza con triangolo di rinforzo sulla pinza V
if vtTool:getZ() < 0.25 and vtTool:getX() > -0.10 and vtTool:getY() > 0 and vtArm:getX() > 0.707 then
if ( vtTool:getZ() < 0.25 and vtTool:getX() > -0.10 and vtTool:getY() > 0 and vtArm:getX() > 0.707 and not BD.RIGHT_LOAD) or
( vtTool:getZ() < 0.25 and vtTool:getX() > -0.10 and vtTool:getY() < 0 and vtArm:getX() > 0.707 and BD.RIGHT_LOAD) then
dHeadFront = dHeadFront + 90
end
end
+38
View File
@@ -0,0 +1,38 @@
REM Compilazione degli script macchina Egaltech 2024.02.22
REM Per togliere info di debug aggiungere flag -s prima del nome del file di input
REM Compilazione 32 bit e copia file da non compilare
@echo off
REM chiedo all'utente la versione da assegnare alla macchina da compilare
set /p "machineVersion=Inserisci versione: "
REM variabili per costruire i percorsi delle cartelle
set "machineName=Essetre-FAST"
set "deployFolder=C:\MachinesDeploy"
set "machinePath=%deployFolder%\%machineName%\"
set "fullPathSource=%deployFolder%\%machineName%\%machineVersion%\%machineName%"
set "fullPathZip=%deployFolder%\%machineName%\%machineVersion%"
REM elimino eventuale cartella esistente
rmdir /s /Q %fullPathZip%
REM copio i sorgenti nel percorso di destinazione
ROBOCOPY . %fullPathSource%\ /E /XF "Compile.bat" /XF ".gitignore" /XD ".git" /XF "UpdateLog.txt"
REM copio i sorgenti nel percorso temporaneo per i compilati
ROBOCOPY . %fullPathSource%\bin\%machineName%\ /E /XF "Compile.bat" /XF ".gitignore" /XD ".git" /XF "UpdateLog.txt"
REM copio i file compilati nel percorso temporaneo per i compilati
\EgtProg\Dll32\luac54 -o %fullPathSource%\bin\%machineName%\Common-FAST.mlpe Common-FAST.mlpe
\EgtProg\Dll32\luac54 -o %fullPathSource%\bin\%machineName%\Common-FAST.mlse Common-FAST.mlse
\EgtProg\Dll32\luac54 -o %fullPathSource%\bin\%machineName%\Common-FAST.NUM.mlpe Common-FAST.NUM.mlpe
\EgtProg\Dll32\luac54 -o %fullPathSource%\bin\%machineName%\Common-FAST.NUM_PLUS.mlpe Common-FAST.NUM_PLUS.mlpe
\EgtProg\Dll32\luac54 -o %fullPathSource%\bin\%machineName%\Common-FAST.TPA.mlpe Common-FAST.TPA.mlpe
REM comprimo i file compilati in uno zip pronto per essere distribuito
tar.exe acvf %fullPathZip%\%machineName%.zip -C %fullPathSource%\bin\ %machineName%\*.*
REM elimino il percorso temporaneo
rmdir /s /Q %fullPathSource%\bin\
+33 -13
View File
@@ -1,4 +1,4 @@
-- Descrizione macchina Essetre-FAST by EgalTech s.r.l. 2023/11/04
-- Descrizione macchina Essetre-FAST by EgalTech s.r.l. 2024/01/19
-- 2021/12/29 DS ver 2.3l4 Per NUM non va considerato MillOffs negli offset in Z.
-- 2022/01/27 DS ver 2.4a2 Modifiche per tagli testa/coda su pezzi alti.
-- 2022/02/10 DS ver 2.4a3 Ridotto di 10mm pinzaggio con pezzi alti ma sottili.
@@ -31,13 +31,37 @@
-- 2023/12/13 AV ver.2.5l1 Piccola correzione per errore digitazione variabile in calcolo riposizionamento carrelli (SpecAdjustCarrB3)
-- Corretto segno di una variabile in calcolo posizionamento carrelli
-- 2023/12/15 AV ver.2.5l2 Migliorato calcolo stima tempi di lavorazione
-- 2024/01/19 DS ver 2.6a1 Piccola modifica per direzione preferenziale rinvio da sotto (per evitare di accedere dal lato della barra).
-- 2024/01/29 DS ver 2.6a2 In portautensili per mortasa e sega a catena aggiunti ingombri dello stesso.
-- 2024/02/09 LM ver 2.6b1 In BeamData aggiunta funzione GetBlockedAxis che sostituisce la GetChainSawBlockedAxis.
-- 2024/02/23 AV ver 2.6c1 Prima versione con post-processore common
-- Allineamento con common ver. 2.6c1
-- 2024/02/23 AV ver 2.6c2 Rimossa chiamata funzione EgtGetSourceDir
-- Allineamento con common ver. 2.6c2
require( 'EmtGenerator')
EgtEnableDebug( false)
PP_VER = '2.5l2'
PP_VER = '2.6c2'
MIN_MACH_VER = '2.5k1'
-- Carico i dati globali
local sMachDir = EgtGetCurrMachineDir()
-- Elimino direttori altre macchine e imposto direttorio macchina corrente per ricerca librerie
EgtRemoveBaseMachineDirFromPackagePath()
EgtAddToPackagePath( sMachDir .. '\\Beam\\?.lua')
EgtAddToPackagePath( sMachDir .. '\\?.lua')
local BD = require( 'BeamData')
local INFO_STD_PP = require( 'Version')
-- prendo la versione kernel minima necessaria più nuova tra macchina e script comuni
if INFO_STD_PP.MIN_MACH_VER_PP_COMMON > MIN_MACH_VER then
MIN_MACH_VER = INFO_STD_PP.MIN_MACH_VER_PP_COMMON
end
EgtOutLog ( '**PP_VER ver.'..PP_VER..'**'..INFO_STD_PP.NAME..' ver.'..INFO_STD_PP.VERSION, 1)
-- Parametri macchina
NumericalControl = 'TPA' -- NUM o TPA o NUM_PLUS
MinX = 0
@@ -81,18 +105,14 @@ BeamHeightForFixRot = 9999 -- per abilitare assegnare 500
CoeffVM = 0.5
NewTopC = true
-- Aggiornamento con dati da BeamData.lua
local sBeamData = EgtGetSourceDir().."\\Beam\\BeamData.lua"
if EgtExistsFile( sBeamData) then
local BD = dofile( sBeamData)
if BD then
BeamHeightForFixRot = BD.MAX_HEIGHT_ROT_B_ABOVE or BeamHeightForFixRot
end
-- leggo e aggiorno con parametri da BeamData
if BD then
BeamHeightForFixRot = BD.MAX_HEIGHT_ROT_B_ABOVE or BeamHeightForFixRot
end
-- Aggiornamento con dati da TechnoEssetre7
local sTs3Data = EgtGetStringFromIni( 'Beam', 'DATA_DIR', "C:\\TechnoEssetre7\\EgtData", EgtGetIniFile()).."\\Essetre-Fast.data"
local sData = EgtGetSourceDir().."\\Beam\\Ts3Data.lua"
local sData = sMachDir .. "\\Beam\\Ts3Data.lua"
if EgtExistsFile( sTs3Data) then
EgtCopyFile( sTs3Data, sData)
local sTs3DataOld = sTs3Data..'.old'
@@ -155,8 +175,8 @@ EmtGeneral {
ExitMaxAdjust = 30,
ExitMaxRotAdj = 0.5,
AngDeltaMinForHome = 165,
Special = 'Essetre-FAST.mlse',
Processor = 'Essetre-FAST.mlpe'}
Special = 'Common-FAST.mlse',
Processor = 'Common-FAST.mlpe'}
local BaseId = EmtBase {
Name = 'Base',
Geo='BASE/GEO',
@@ -292,7 +312,7 @@ if SecondSupport >= 3 then
EgtSetInfo( H5Id, 'AGB_DMAX', 240)
EgtSetInfo( H5Id, 'AGB_ENCH', 44)
EgtSetInfo( H5Id, 'AGB_ENCV', 380)
EgtSetInfo( H5Id, 'AGB_MDIR', -Y_AX())
EgtSetInfo( H5Id, 'AGB_MDIR', X_AX())
EgtSetInfo( H5Id, 'ZMAXONROT', '1,15')
end
-- Morse
Binary file not shown.
Binary file not shown.
+11
View File
@@ -0,0 +1,11 @@
==== Common_FAST Update Log ====
Versione 2.6c1 (23/02/2024)
- (ALL) Prima versione post-proc comune FAST e FASTrl
- (ALL) "BeamData" caricato come libreria con 'require' anziché come file con 'dofile'
- (SIM) Aggiunta funzioni "OnSimulInit" e "OnSimulExit" per orientare vista corretta in caso di macchina con carico destro. N.B.= serve CAM5 2.6b4
- (ALL) In BeamData aggiunto flag per direzione carico RIGHT_LOAD
- (ALL) Aggiornamento 'Compile.bat' con nuovi nomi file
Versione 2.6c2 (23/02/2024)
- (ALL) Rimossa chiamata funzione EgtGetSourceDir
+10
View File
@@ -0,0 +1,10 @@
-- Version.lua by EgalWare s.r.l. 2024/02/23
-- Gestione della versione dei file comuni post-processori macchine FAST e FASTrl di Essetre
local InfoCommon_STD_PP = {
NAME = 'Common-FAST', -- nome script PP standard
VERSION = '2.6c1', -- versione script
MIN_MACH_VER_PP_COMMON = '2.5k1' -- versione minima kernel
}
return InfoCommon_STD_PP