Compare commits
10 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| a3354527f2 | |||
| 95ac29a6cf | |||
| 74e2f8394c | |||
| d7948c1426 | |||
| 5c0a3e2f36 | |||
| adfa28e06b | |||
| 7460a2d7d7 | |||
| 932475851f | |||
| 30c80b0ac2 | |||
| f5ddc9849d |
+3
-3
@@ -5,7 +5,7 @@ EgtOutLog( ' ONE-BeamData started')
|
||||
|
||||
-- Tabella per definizione modulo
|
||||
local BeamData = {
|
||||
RIGHT_LOAD = true, -- flag carico da destra
|
||||
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
|
||||
MIN_WIDTH = 40, -- larghezza minima del grezzo
|
||||
@@ -67,8 +67,8 @@ local BeamData = {
|
||||
MAXDIAM_POCK_CORNER = 31, -- diametro massimo utensile ammesso per tasche con angoli interni
|
||||
USE_LONGCUT = false, -- per i tagli longitudinali usare solo la lavorazione di lama LongCut
|
||||
ADVANCE_TAIL_CUT = true, -- per spostare prima del taglio di separazione il taglio di coda su pezzi corti con robabile caduta
|
||||
ADVANCE_TAIL_OFFS = 1, -- accorciamento taglio di coda avanzato (minimo 1)
|
||||
CLAMP5 = false -- presenza pinza speciale per pezzi piccoli
|
||||
ADVANCE_TAIL_OFFS = 1, -- accorciamento taglio di coda avanzato (minimo 1)
|
||||
CLAMP5 = false -- presenza pinza speciale per pezzi piccoli
|
||||
}
|
||||
|
||||
-- Aggiornamento con dati da TechnoEssetre7
|
||||
|
||||
@@ -27,6 +27,8 @@
|
||||
17=ProfTCone
|
||||
18=SmallToolContour
|
||||
19=AntiSplintMillCut
|
||||
20=SideMillAsBlade
|
||||
21=SideMillAsBlade_H2
|
||||
|
||||
[Pocketing]
|
||||
1=Pocket
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -1,4 +1,4 @@
|
||||
-- Special Operations macchina Essetre-ONErl by EgalWare s.r.l. 2023/11/15
|
||||
-- Special Operations macchine standard ONE e PF by EgalWare s.r.l. 2023/11/24
|
||||
|
||||
-- Intestazioni
|
||||
require( 'EmtGenerator')
|
||||
@@ -6,10 +6,7 @@ EgtEnableDebug( false)
|
||||
|
||||
-- Carico i dati globali
|
||||
local sBaseDir = EgtGetSourceDir()
|
||||
local BD = dofile( sBaseDir .. 'Beam\\BeamData.lua')
|
||||
|
||||
EgtOutLog ( '** Essetre-ONErl '..PP_VER..' **', 1)
|
||||
|
||||
BD = dofile( sBaseDir .. 'Beam\\BeamData.lua')
|
||||
|
||||
---------------------- OnSpecialGetMaxZ -----------------------------
|
||||
---------------------------------------------------------------------
|
||||
@@ -36,23 +33,30 @@ function OnSpecialGetMaxZ()
|
||||
-- Inizializzazioni
|
||||
EMC.ERR = 0
|
||||
|
||||
-- Gestione speciale per sega a catena
|
||||
-- Gestione speciale per sega a catena su utesta 1
|
||||
if EMC.HEAD == 'H13' or EMC.HEAD == 'H15' then
|
||||
EMC.MAXZ = EgtGetAxisHomePos( 'Z1')
|
||||
return
|
||||
-- Gestione speciale per sega a catena su testa 2
|
||||
elseif EMC.HEAD == 'H23' then
|
||||
EMC.MAXZ = EgtGetAxisHomePos( 'Z2')
|
||||
return
|
||||
end
|
||||
|
||||
-- Sistemazione dati di input
|
||||
local vtTp = Vector3d( EMC.TDIRp)
|
||||
local nPos = tonumber( string.sub( EMC.TCPOS, 2)) or 0
|
||||
local sHead_TC = GetHeadTCSet( EMC.HEAD, EMC.TCPOS)
|
||||
local bFromZmax = false
|
||||
if vtTp:isSmall() then
|
||||
vtTp = X_AX()
|
||||
bFromZmax = true
|
||||
if nPos <= 10 then
|
||||
if sHead_TC == 'Head1_TC1' then
|
||||
EMC.R1p = ParkC1
|
||||
EMC.R2p = ParkB1
|
||||
else
|
||||
elseif sHead_TC == 'Head2_TC2' then
|
||||
EMC.R1p = ParkC2
|
||||
EMC.R2p = ParkB2
|
||||
elseif sHead_TC == 'Head1_TC2' then
|
||||
EMC.R1p = ParkFrnC1
|
||||
EMC.R2p = ParkFrnB1
|
||||
end
|
||||
@@ -62,14 +66,14 @@ function OnSpecialGetMaxZ()
|
||||
local bBSameSign = (( EMC.R2p < 10 and EMC.R2 < 10) or ( EMC.R2p > -10 and EMC.R2 > -10))
|
||||
|
||||
-- Calcolo in funzione della testa e dei parametri
|
||||
if EMC.HEAD == 'H11' and nPos <= 10 then
|
||||
if bBSameSign and vtTp:getX() > -0.3 and vtT:getX() > -0.3 then
|
||||
if EMC.HEAD == 'H11' then
|
||||
if bBSameSign and vtTp:getX() > -0.1 and vtT:getX() > -0.1 then
|
||||
EMC.MAXZ = MaxZ1
|
||||
else
|
||||
local vMZ = {{ Tz=0.85, Ez=380}, { Tz=0.5, Ez=270}, { Tz=-0.01, Ez=160}}
|
||||
local vMZ = {{ Tz=0.85, Ez=390}, { Tz=0.5, Ez=280}, { Tz=-0.01, Ez=160}, { Tz=-0.5, Ez=1}, { Tz=-0.61, Ez=1}}
|
||||
EMC.MAXZ = ParkZ1 + CalcExtraZ( vtTpZm, vtT, vMZ)
|
||||
end
|
||||
elseif EMC.HEAD == 'H12' and nPos <= 10 then
|
||||
elseif EMC.HEAD == 'H12' and sHead_TC == 'Head1_TC1' then
|
||||
if vtTp:getX() > 0.3 and vtT:getX() > 0.3 then
|
||||
if bBSameSign and abs( EMC.R1 - EMC.R1p) < 165 then
|
||||
EMC.MAXZ = MaxZ1 - EgtIf( abs( EMC.R2) < 90.1 and abs( EMC.R2p) < 90.1, 0, 130)
|
||||
@@ -88,17 +92,10 @@ function OnSpecialGetMaxZ()
|
||||
local vMZ = {{ Tz=0.85, Ez=440}, { Tz=0.5, Ez=200}, { Tz=-0.01, Ez=5}, { Tz=-0.5, Ez=1}}
|
||||
EMC.MAXZ = ParkZ1 + CalcExtraZ( vtTpZm, vtT, vMZ)
|
||||
else
|
||||
local vMZ = {{ Tz=0.85, Ez=380}, { Tz=0.7, Ez=280}, { Tz=0.5, Ez=180}, { Tz=0.15, Ez=60}, { Tz=-0.01, Ez=5}, { Tz=-0.5, Ez=1}}
|
||||
local vMZ = {{ Tz=0.85, Ez=400}, { Tz=0.7, Ez=300}, { Tz=0.5, Ez=195}, { Tz=0.15, Ez=70}, { Tz=-0.01, Ez=5}, { Tz=-0.5, Ez=1}}
|
||||
EMC.MAXZ = ParkZ1 + CalcExtraZ( vtTpZm, vtT, vMZ)
|
||||
end
|
||||
elseif EMC.HEAD == 'H11' then
|
||||
if bBSameSign and vtTp:getX() > -0.3 and vtT:getX() > -0.3 then
|
||||
EMC.MAXZ = MaxZ1
|
||||
else
|
||||
local vMZ = {{ Tz=0.85, Ez=380}, { Tz=0.5, Ez=270}, { Tz=-0.01, Ez=160}}
|
||||
EMC.MAXZ = ParkZ1 + CalcExtraZ( vtTpZm, vtT, vMZ)
|
||||
end
|
||||
elseif EMC.HEAD == 'H12' then
|
||||
elseif EMC.HEAD == 'H12' and sHead_TC == 'Head1_TC2' then
|
||||
if vtTp:getX() > 0.3 and vtT:getX() > 0.3 then
|
||||
if bBSameSign and abs( EMC.R1 - EMC.R1p) < 165 then
|
||||
EMC.MAXZ = MaxZ1 - EgtIf( abs( EMC.R2) < 90.1 and abs( EMC.R2p) < 90.1, 0, 130)
|
||||
@@ -120,9 +117,39 @@ function OnSpecialGetMaxZ()
|
||||
local vMZ = {{ Tz=0.85, Ez=380}, { Tz=0.7, Ez=280}, { Tz=0.5, Ez=180}, { Tz=0.15, Ez=60}, { Tz=-0.01, Ez=5}, { Tz=-0.5, Ez=1}}
|
||||
EMC.MAXZ = ParkZ1 + CalcExtraZ( vtTpZm, vtT, vMZ)
|
||||
end
|
||||
elseif EMC.HEAD == 'H21' then
|
||||
if bBSameSign and vtTp:getX() > -0.1 and vtT:getX() > -0.1 then
|
||||
EMC.MAXZ = MaxZ2
|
||||
else
|
||||
local vMZ = {{ Tz=0.85, Ez=390}, { Tz=0.5, Ez=280}, { Tz=-0.01, Ez=160}, { Tz=-0.5, Ez=1}, { Tz=-0.61, Ez=1}}
|
||||
EMC.MAXZ = ParkZ2 + CalcExtraZ( vtTpZm, vtT, vMZ)
|
||||
end
|
||||
elseif EMC.HEAD == 'H22' then
|
||||
if vtTp:getX() > 0.3 and vtT:getX() > 0.3 then
|
||||
if bBSameSign and abs( EMC.R1 - EMC.R1p) < 165 then
|
||||
EMC.MAXZ = MaxZ2 - EgtIf( abs( EMC.R2) < 90.1 and abs( EMC.R2p) < 90.1, 0, 130)
|
||||
elseif vtTp:getZ() > 0.707 or vtT:getZ() > 0.707 then
|
||||
EMC.MAXZ = ParkZ2 + 200
|
||||
else
|
||||
EMC.MAXZ = ParkZ2 + 1
|
||||
end
|
||||
elseif bBSameSign and
|
||||
(( EMC.R1p > -180.1 and EMC.R1p < -29.9 and EMC.R1 > -180.1 and EMC.R1 < -29.9 and EMC.R2p < 10 and EMC.R2 < 10) or
|
||||
( EMC.R1p > -330.1 and EMC.R1p < -179.9 and EMC.R1 > -330.1 and EMC.R1 < -179.9 and EMC.R2p > -10 and EMC.R2 > -10)) then
|
||||
EMC.MAXZ = MaxZ2 - EgtIf( abs( EMC.R2) < 90.1 and abs( EMC.R2p) < 90.1, 0, 130)
|
||||
elseif bBSameSign and
|
||||
(( EMC.R1p > -180.1 and EMC.R1p < 0.1 and EMC.R1 > -180.1 and EMC.R1 < 0.1 and EMC.R2p < 10 and EMC.R2 < 10) or
|
||||
( EMC.R1p > -360.1 and EMC.R1p < -179.9 and EMC.R1 > -360.1 and EMC.R1 < -179.9 and EMC.R2p > -10 and EMC.R2 > -10)) then
|
||||
local vMZ = {{ Tz=0.85, Ez=440}, { Tz=0.5, Ez=200}, { Tz=-0.01, Ez=5}, { Tz=-0.5, Ez=1}}
|
||||
EMC.MAXZ = ParkZ2 + CalcExtraZ( vtTpZm, vtT, vMZ)
|
||||
else
|
||||
local vMZ = {{ Tz=0.85, Ez=400}, { Tz=0.7, Ez=300}, { Tz=0.5, Ez=195}, { Tz=0.15, Ez=70}, { Tz=-0.01, Ez=5}, { Tz=-0.5, Ez=1}}
|
||||
EMC.MAXZ = ParkZ2 + CalcExtraZ( vtTpZm, vtT, vMZ)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
---------------------- OnSpecialMoveZup -----------------------------
|
||||
---------------------------------------------------------------------
|
||||
function OnSpecialMoveZup()
|
||||
@@ -137,16 +164,17 @@ function OnSpecialMoveZup()
|
||||
local vtT = Vector3d( EMC.TDIR)
|
||||
|
||||
-- Posizione nel TC
|
||||
local nPos = tonumber( string.sub( EMC.TCPOS, 2)) or 0
|
||||
local sHead_TC = GetHeadTCSet( EMC.HEAD, EMC.TCPOS)
|
||||
|
||||
-- recupero Z1 home
|
||||
local dZmax = EgtGetAxisHomePos( 'Z1')
|
||||
local nHeadSet = GetHeadSet( EMC.HEAD)
|
||||
local dZmax = EgtGetAxisHomePos( EgtIf( nHeadSet ~= 2, 'Z1', 'Z2'))
|
||||
|
||||
-- se fresa
|
||||
if EMC.HEAD == 'H11' then
|
||||
-- se fresa su testa1 o su testa 2
|
||||
if EMC.HEAD == 'H11' or EMC.HEAD == 'H21' then
|
||||
;
|
||||
-- se lama posizionata dietro
|
||||
elseif EMC.HEAD == 'H12' and nPos <= 10 then
|
||||
-- se lama posizionata su CU prossimo a testa 1
|
||||
elseif EMC.HEAD == 'H12' and sHead_TC == 'Head1_TC1' then
|
||||
-- se inclinata oltre 90 gradi e interferisce con la trave
|
||||
if ( EMC.R2 > 87.9 and ( EMC.R1 < 15.0 or EMC.R1 > 180.0)) or ( EMC.R2 < -87.9 and ( EMC.R1 > -15.0 and EMC.R1 < 180.0)) then
|
||||
local dZref = dZmax + min( 330 * vtT:getZ(), 0) + 260 * ( 1 - sqrt( 1- vtT:getZ() * vtT:getZ()))
|
||||
@@ -163,8 +191,8 @@ function OnSpecialMoveZup()
|
||||
EMC.MODIF = true
|
||||
end
|
||||
end
|
||||
-- se lama posizionata in fronte
|
||||
elseif EMC.HEAD == 'H12' then
|
||||
-- se lama posizionata su CU prossimo a testa 2
|
||||
elseif ( EMC.HEAD == 'H12' and sHead_TC == 'Head1_TC2') or ( EMC.HEAD == 'H22' and sHead_TC == 'Head2_TC2') then
|
||||
-- se inclinata oltre 90 gradi e interferisce con la trave
|
||||
if ( EMC.R2 < -87.9 and ( EMC.R1 < -180.0 or EMC.R1 > -15.0)) or ( EMC.R2 > 87.9 and ( EMC.R1 < 15.0 and EMC.R1 > 180.0)) then
|
||||
local dZref = dZmax + min( 330 * vtT:getZ(), 0) + 260 * ( 1 - sqrt( 1- vtT:getZ() * vtT:getZ()))
|
||||
@@ -1049,19 +1077,29 @@ function SpecialCalcMachiningEncumbrance( nMchId, bPreCut)
|
||||
-- Recupero valore assi macchina
|
||||
local nSecId = EgtGetNext( EgtGetFirstInGroup( nPathId))
|
||||
local vAxes = EmtGetAxesPos( nSecId)
|
||||
if not vAxes or #vAxes < 5 or (( sHead == 'H13' or sHead == 'H23') and #vAxes < 6) then
|
||||
if not vAxes or #vAxes < 5 or (( sHead == 'H13' or sHead == 'H15' or sHead == 'H23') and #vAxes < 6) then
|
||||
EMC.ERR = 15
|
||||
EMC.MSG = ' Error : machine axes values not found'
|
||||
return
|
||||
end
|
||||
-- Calcolo dell'ingombro della testa rispetto allo Zero Macchina
|
||||
local b3Enc
|
||||
EgtSetAxisPos( 'C1', vAxes[4])
|
||||
EgtSetAxisPos( 'B1', vAxes[5])
|
||||
if sHead == 'H13' then
|
||||
EgtSetAxisPos( 'A', vAxes[6])
|
||||
|
||||
if sHead ~= 'H21' and sHead ~= 'H22' and sHead ~= 'H23' then
|
||||
EgtSetAxisPos( 'C1', vAxes[4])
|
||||
EgtSetAxisPos( 'B1', vAxes[5])
|
||||
if sHead == 'H13' or sHead == 'H15' then
|
||||
EgtSetAxisPos( 'A', vAxes[6])
|
||||
end
|
||||
b3Enc = EgtGetBBoxGlob( EgtGetAxisId( 'C1'), GDB_BB.ONLY_VISIBLE)
|
||||
else
|
||||
EgtSetAxisPos( 'C2', vAxes[4])
|
||||
EgtSetAxisPos( 'B2', vAxes[5])
|
||||
if sHead == 'H23' then
|
||||
EgtSetAxisPos( 'A', vAxes[6])
|
||||
end
|
||||
b3Enc = EgtGetBBoxGlob( EgtGetAxisId( 'C2'), GDB_BB.ONLY_VISIBLE)
|
||||
end
|
||||
b3Enc = EgtGetBBoxGlob( EgtGetAxisId( 'C1'), GDB_BB.ONLY_VISIBLE)
|
||||
local dRollFront = max( b3Enc:getMax():getX(), MIN_FRONT_ENG_V) + SIC_V
|
||||
local dRollBack = max( -b3Enc:getMin():getX(), MIN_BACK_ENG_V) + SIC_V
|
||||
EgtOutLog( ' RollFront = ' .. EgtNumToString( dRollFront, 1) .. ' RollBack = ' .. EgtNumToString( dRollBack, 1), 3)
|
||||
@@ -1547,8 +1585,6 @@ function SpecCalcPreRot()
|
||||
EMC.CNT = nil
|
||||
-- riporto il carrello in home
|
||||
table.insert( vCmd, { 1, 'Y1', ParkY1})
|
||||
-- dichiaro morse non agganciate
|
||||
table.insert( vCmd, { 21, 0, 0})
|
||||
|
||||
-- eventuale unione tabelle
|
||||
if #vCmdPre > 0 then
|
||||
@@ -1560,13 +1596,16 @@ end
|
||||
|
||||
---------------------------------------------------------------------
|
||||
local function ChangedTool( nMchId)
|
||||
local bChanged = false
|
||||
local bChanged = true
|
||||
-- Salvo lavorazione e utensile correnti, per ripristinarli alla fine
|
||||
local nOrigMchId = EgtGetCurrMachining()
|
||||
local sOrigTool = EgtTdbGetCurrToolParam( MCH_TP.NAME)
|
||||
-- Recupero l'utensile della lavorazione precedente
|
||||
local nPrevMchId = EgtGetPrevActiveOperation( nMchId or GDB_ID.NULL)
|
||||
if nPrevMchId and EgtGetOperationType( nPrevMchId) ~= MCH_OY.DISP then
|
||||
while nPrevMchId and EgtGetOperationType( nPrevMchId) == MCH_OY.DISP do
|
||||
nPrevMchId = EgtGetPrevActiveOperation( nPrevMchId or GDB_ID.NULL)
|
||||
end
|
||||
if nPrevMchId then
|
||||
EgtSetCurrMachining( nPrevMchId)
|
||||
local sTool = EgtGetMachiningParam( MCH_MP.TOOL)
|
||||
bChanged = ( sTool ~= sOrigTool)
|
||||
@@ -1585,7 +1624,8 @@ function SpecAdjustCarriages( WorkTab)
|
||||
--EgtOutLog( ' --->>> CNT=' .. EgtIf( EMC.CNT, '1', '_'))
|
||||
|
||||
-- Aggiorno la posizione dei rulli per eventuale cambio utensile
|
||||
if ChangedTool( EMC.MCHID) then
|
||||
local bChangedTool = ChangedTool( EMC.DISPID or EMC.MCHID)
|
||||
if bChangedTool then
|
||||
WorkTab.dV1PosI = ParkV1
|
||||
WorkTab.dV2PosI = ParkV2
|
||||
end
|
||||
@@ -1601,7 +1641,13 @@ function SpecAdjustCarriages( WorkTab)
|
||||
bCloseV = true
|
||||
end
|
||||
end
|
||||
if WorkTab.dY2DeltaMinF then
|
||||
if EMC.LB - WorkTab.dY2DeltaMinF <= MinJoin + WorkTab.dV1PosI - WorkTab.dV2PosI + 2 * AGG_V + EgtIf( SPLIT, EMC.TCING, 0) + EgtIf( EMC.CNT == 1, AggLoad, 0) then
|
||||
bCloseV = true
|
||||
end
|
||||
end
|
||||
WorkTab.bCloseV = bCloseV
|
||||
EgtOutLog( ' Tool : '..( EgtIf( bChangedTool, 'CHANGED', 'same')).. ' CloseV : '..( EgtIf( bCloseV, 'TRUE', 'false')), 1)
|
||||
|
||||
-- |POSIZIONO Y1| **[A]**
|
||||
if WorkTab.dY1DeltaMinF and ( not WorkTab.dY2DeltaMinF) then
|
||||
+66
-11
@@ -1,18 +1,29 @@
|
||||
-- Descrizione macchina Essetre-ONErl by EgalWare s.r.l. 2023/11/17
|
||||
-- 2023/11/15 ver 2.5k1 Prima versione (derivata da ONE carico standard).
|
||||
-- 2023/11/17 ver 2.5k2 Gestione Pinza5
|
||||
-- 2023/11/30 ver 2.6a1 Prima versione con utilizzo post-processore standard per macchine ONE e PF
|
||||
-- 2024/01/12 ver 2.6a2 Allineamento con common versione 2.6a2
|
||||
|
||||
-- Intestazioni
|
||||
require( 'EmtGenerator')
|
||||
EgtEnableDebug( false)
|
||||
|
||||
PP_VER = '2.5k2'
|
||||
PP_VER = '2.6a2'
|
||||
MIN_MACH_VER = '2.5k1'
|
||||
|
||||
local sBaseDir = EgtGetSourceDir()
|
||||
INFO_STD_PP = dofile( sBaseDir .. 'Version.lua')
|
||||
-- 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 = 'NUM' -- NUM o TPA
|
||||
NumericalControl = 'NUM' -- NUM o TPA o NUM_FLEX
|
||||
Progress = false
|
||||
Mortiser = false -- solo per One (nella Progress la stessa posizione è per ChainSaw)
|
||||
Mortiser = false -- solo per One (nella Progress la stessa posizione è per ChainSaw)
|
||||
MinMchY1 = 335
|
||||
MaxMchY1 = 5700.0
|
||||
ParkMchY1 = 960.0
|
||||
@@ -37,7 +48,7 @@ MaxHoOpen = 420
|
||||
MaxVeOpen = 820
|
||||
RollCageMin = 120
|
||||
RollCageMax = 250
|
||||
Clamp5 = true
|
||||
Clamp5 = false
|
||||
MinW = 0
|
||||
MaxW = 670
|
||||
ParkW = 0
|
||||
@@ -56,7 +67,7 @@ ChSawLen = 94.0
|
||||
MinX1 = 0
|
||||
MaxX1 = 2735
|
||||
MinZ1 = -1550
|
||||
MaxZ1 = -20 -- per evitare problemi con striscia led
|
||||
MaxZ1 = -20 -- per evitare problemi con striscia led
|
||||
MinC1 = -275
|
||||
MaxC1 = 275
|
||||
MinB1 = -127
|
||||
@@ -64,13 +75,14 @@ MaxB1 = 127
|
||||
MinB1b = -119
|
||||
MaxB1b = 119
|
||||
ParkX1 = MaxX1
|
||||
ParkFrnX1 = MinX1
|
||||
ParkFrnX1 = 200
|
||||
ParkZ1 = -535
|
||||
ParkC1 = 90
|
||||
ParkFrnC1 = -90
|
||||
ParkB1 = 90
|
||||
ParkFrnB1 = -90
|
||||
LimX1RotSaw = 2900
|
||||
LimX1PlRotSaw = 1920
|
||||
ParkCSawX1 = 1350
|
||||
ParkCSawX1S = MinX1
|
||||
ParkCSawZ1 = -50
|
||||
@@ -78,10 +90,12 @@ ParkCSaw0Z1 = -400
|
||||
ParkCSawC1 = 90
|
||||
ParkCSaw0C1 = 0
|
||||
ParkCSawB1 = 0
|
||||
ParkLongToolB1 = 0
|
||||
ParkLongToolC1 = 0
|
||||
TurnerOffs = 50.0
|
||||
AggLoad = 50
|
||||
DeltaTabY = 1210.0
|
||||
DeltaTabZ = -1060.0 -- per TPA la quota è dal centro di rotazione (va aggiunto MillOffs)
|
||||
DeltaTabZ = -1060.0 -- per TPA la quota è dal centro di rotazione (va aggiunto MillOffs)
|
||||
DeltaRulliTraveZ = 980
|
||||
DeltaRulliTappetoZ = -485
|
||||
DimTabY = 500
|
||||
@@ -104,7 +118,13 @@ if EgtExistsFile( sData) then
|
||||
local Machine = dofile( sData)
|
||||
if Machine then
|
||||
if Machine.Offsets then
|
||||
--NumericalControl = EgtIf( Machine.Offsets.TIPO_CN == 0, 'NUM', 'TPA')
|
||||
if Machine.Offsets.TIPO_CN == 0 then
|
||||
NumericalControl = 'NUM'
|
||||
elseif Machine.Offsets.TIPO_CN == 1 then
|
||||
NumericalControl = 'TPA'
|
||||
else
|
||||
NumericalControl = 'NUM_FLEX'
|
||||
end
|
||||
if Machine.Offsets.X1_POS then MinX1 = -Machine.Offsets.X1_POS end
|
||||
if Machine.Offsets.X1_NEG then MaxX1 = -Machine.Offsets.X1_NEG end
|
||||
if Machine.Offsets.Z1_NEG then MinZ1 = Machine.Offsets.Z1_NEG end
|
||||
@@ -157,7 +177,7 @@ if EgtExistsFile( sData) then
|
||||
ParkV1 = min( ParkV1, MaxV1, abs( MinV2))
|
||||
ParkV2 = -ParkV1
|
||||
ParkX1 = MaxX1
|
||||
ParkFrnX1 = MinX1
|
||||
--ParkFrnX1 = MinX1
|
||||
ParkCSawZ1 = min( ParkCSawZ1, MaxZ1)
|
||||
ParkCSaw0Z1 = min( ParkCSaw0Z1, MaxZ1)
|
||||
Mortiser = ( Mortiser and not Progress)
|
||||
@@ -173,8 +193,8 @@ EmtGeneral {
|
||||
ExitMaxAdjust = 300,
|
||||
ExitMaxRotAdj = 0.5,
|
||||
AngDeltaMinForHome = 80,
|
||||
Special = 'Essetre-ONE.mlse',
|
||||
Processor = 'Essetre-ONE.mlpe'}
|
||||
Special = 'Common_ONE-PF.mlse',
|
||||
Processor = 'Common_ONE-PF.mlpe'}
|
||||
local sBaseAux = {'BASE/SOLID', 'BASE/SIGN', 'BASE/CONVOYER', 'BASE/BELT', 'BASE/COLLISION', 'BASE/TC1'}
|
||||
if Progress then
|
||||
table.insert( sBaseAux, 'BASE/TC1S')
|
||||
@@ -746,6 +766,41 @@ function OnSetHead()
|
||||
end
|
||||
end
|
||||
|
||||
---------------------------------------------------------------------
|
||||
-------------------------- Testa utilizzata -------------------------
|
||||
function GetHeadSet( sHead)
|
||||
if sHead == 'H11' or sHead == 'H12' or sHead == 'H13' or sHead == 'H15' then
|
||||
return 1
|
||||
elseif sHead == 'H21' or sHead == 'H22' or sHead == 'H23' then
|
||||
return 2
|
||||
else
|
||||
return 0
|
||||
end
|
||||
end
|
||||
|
||||
---------------------------------------------------------------------
|
||||
---------------------------- Cambio Utensile ------------------------
|
||||
function GetHeadTCSet( sHead, sTcPos)
|
||||
local nPos = tonumber( string.sub( sTcPos, 2)) or 0
|
||||
-- testa 1
|
||||
if sHead == 'H11' or sHead == 'H12' or sHead == 'H13' or sHead == 'H15' then
|
||||
-- testa 1 su CU prossimo a testa 2
|
||||
if nPos > 10 then
|
||||
return 'Head1_TC2'
|
||||
-- testa 1 su CU prossimo a testa 1
|
||||
else
|
||||
return 'Head1_TC1'
|
||||
end
|
||||
-- testa 2 su CU prossimo a testa 2
|
||||
elseif sHead == 'H21' or sHead == 'H22' or sHead == 'H23' then
|
||||
return 'Head2_TC2'
|
||||
-- testa 2 su CU prossimo a testa 1 (non esiste una condfigurazione fatta in questo modo)
|
||||
elseif nPos < 10 then
|
||||
return 'Head2_TC1'
|
||||
else
|
||||
return 0
|
||||
end
|
||||
end
|
||||
---------------------------------------------------------------------
|
||||
-- Funzione che restituisce l'altezza del pezzo in lavorazione
|
||||
function GetRawHeight()
|
||||
|
||||
@@ -0,0 +1,14 @@
|
||||
==== Essetre_StdPF Update Log ====
|
||||
|
||||
Versione 2.6a1 (28/11/2023)
|
||||
- Prima versione post-proc comune tra macchine ONE e PF
|
||||
- (SIM) Corretta visualizzazione motosega in caso sia stata scaricata ( per paratie rulli compattate per passaggio pezzo)
|
||||
- (SIM+MLDE) Definite variabili 'ParkLongToolB1' e 'ParkLongToolC1' per valori B e C di home in caso punta lunga su T201
|
||||
- (MLDE) Si prende la versione kernel minima necessaria più nuova tra macchina e script comuni (MIN_MACH_VER)
|
||||
- (GEN) Piccola miglioria su G157, si scrive solo se c'è qualcosa nella stringa sPreMove
|
||||
- (GEN+MLDE) Inserita gestione macro con carico ottimizzato. Macro macchina presente come standard solo su macchine PF. Parametro "OptimizedLoadBeam"
|
||||
- (GEN+SIM) Migliorata gestione riposizionamento pinze, in caso testa debba andare in home
|
||||
- (GEN) Se a zeta massima con lama e utensile successivo diverso, mi sposto sempre verso X-HOME
|
||||
- (GEN) Corretto movimento in caso di testa 1 su TC-2. Utilizzava le quote della testa 2 anziché della 1.
|
||||
Versione 2.6a2 (09/01/2024)
|
||||
- Nuova versione. Prima versione stabile rilasciabile.
|
||||
+10
@@ -0,0 +1,10 @@
|
||||
-- Version.lua by EgalWare s.r.l. 2023/11/28
|
||||
-- Gestione della versione dei file comuni post-processori macchine ONE e PF di Essetre
|
||||
|
||||
local InfoCommon_STD_PP = {
|
||||
NAME = 'Common_ONE-PF', -- nome script PP standard
|
||||
VERSION = '2.6a2', -- versione script
|
||||
MIN_MACH_VER_PP_COMMON = '2.5k1' -- versione minima kernel
|
||||
}
|
||||
|
||||
return InfoCommon_STD_PP
|
||||
Reference in New Issue
Block a user