Compare commits
4 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 306bef076c | |||
| 9499cdb2c4 | |||
| a14a637ec1 | |||
| b1486a762e |
@@ -8,6 +8,7 @@ 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
|
||||
ROT180 = true, -- flag abilitazione rotazione 180 gradi
|
||||
NEWCLAMPING = false, -- flag abilitazione nuovo metodo riposizionamento carrelli
|
||||
FASTCLAMPING= true, -- flag abilitazione riduzione numero riposizionamenti al carico e durante grande trascinamento
|
||||
MIN_WIDTH = 40, -- larghezza minima del grezzo
|
||||
@@ -103,12 +104,14 @@ if EgtExistsFile( sData) then
|
||||
BeamData.LONGCUT_MAXLEN = Machine.Offsets.LONGCUT_MAXLEN or BeamData.LONGCUT_MAXLEN
|
||||
BeamData.ADVANCE_TAIL_OFFS = Machine.Offsets.ADVANCE_TAIL_OFFS or BeamData.ADVANCE_TAIL_OFFS
|
||||
BeamData.LEN_VERY_SHORT_PART = Machine.Offsets.LEN_VERY_SHORT_PART or BeamData.LEN_VERY_SHORT_PART
|
||||
BeamData.LEN_SHORT_PART = Machine.Offsets.LEN_SHORT_PART or BeamData.LEN_SHORT_PART
|
||||
if Machine.Offsets.PRECUT_HEAD_DISABLE then BeamData.PRECUT_HEAD = ( Machine.Offsets.PRECUT_HEAD_DISABLE == 0) end
|
||||
if Machine.Offsets.PRECUT_TAIL_DISABLE then BeamData.PRECUT_TAIL = ( Machine.Offsets.PRECUT_TAIL_DISABLE == 0) end
|
||||
if Machine.Offsets.MIN_HEIGHT_ADDED_CUTS then BeamData.MIN_HEIGHT_ADDED_CUTS = min( Machine.Offsets.MIN_HEIGHT_ADDED_CUTS, BeamData.MIN_HEIGHT_ADDED_CUTS) end
|
||||
if Machine.Offsets.NEWCLAMPING ~= nil then BeamData.NEWCLAMPING = ( Machine.Offsets.NEWCLAMPING == 1) end
|
||||
if Machine.Offsets.FASTCLAMPING ~= nil then BeamData.FASTCLAMPING = ( Machine.Offsets.FASTCLAMPING == 1) end
|
||||
if Machine.Offsets.ROT90 ~= nil then BeamData.ROT90 = ( Machine.Offsets.ROT90 == 1) end
|
||||
if Machine.Offsets.ROT180 ~= nil then BeamData.ROT180 = ( Machine.Offsets.ROT180 == 1) end
|
||||
end
|
||||
if Machine.Trave then
|
||||
BeamData.MIN_WIDTH = Machine.Trave.XMIN or BeamData.MIN_WIDTH
|
||||
|
||||
@@ -1647,8 +1647,8 @@ end
|
||||
|
||||
---------------------------------------------------------------------
|
||||
function GetET( sHead, sTcPos, dAxR3)
|
||||
if sHead == 'H1' then
|
||||
return ' E'..sTcPos
|
||||
if sHead == 'H1' or sHead == 'H5' or sHead == 'H6' then
|
||||
return ' E'..sTcPos
|
||||
elseif sHead == 'H2' then
|
||||
return ' ET42'
|
||||
elseif sHead == 'H3' then
|
||||
|
||||
+4
-4
@@ -477,8 +477,8 @@ function OnSimulToolSelect( dPosA)
|
||||
EMT.A1n = 'Y'
|
||||
EMT.A2n = 'V'
|
||||
end
|
||||
-- carico utensile se non lama su sua testa o dummy
|
||||
if EMT.HEAD ~= 'H2' and EMT.HEAD ~= 'H4' then
|
||||
-- carico utensile se non lama
|
||||
if EMT.HEAD ~= 'H2' then
|
||||
-- se sega a catena, imposto subito angolo scelto per asse virtuale A
|
||||
if EMT.HEAD == 'H3' then
|
||||
if not dPosA then
|
||||
@@ -589,8 +589,8 @@ function OnSimulToolDeselect()
|
||||
ShowToolInTcPos( EMT.TCPOS_1, false)
|
||||
end
|
||||
EgtOutText( '')
|
||||
-- deposito utensile se prossimo non lama su sua testa o dummy
|
||||
elseif EMT.NEXTHEAD ~= 'H2' and EMT.NEXTHEAD ~= 'H4' then
|
||||
-- deposito utensile se prossimo non lama su sua testa
|
||||
elseif EMT.NEXTHEAD ~= 'H2' then
|
||||
if EMT.NEXTTOOL ~= EMT.TOOL_1 then
|
||||
EgtOutText( 'Tool change in progress...')
|
||||
-- simulo movimento
|
||||
|
||||
+17
-11
@@ -1028,9 +1028,9 @@ function SpecCalcEncumbrance( vtTool, vtArm, ptMin, ptMax, bSaw, bChain, dTLen,
|
||||
elseif ( vtTool:getX() > 0.5) then
|
||||
dHeadFront = 450
|
||||
end
|
||||
if vtTool:getX() > 0.25 then
|
||||
if vtTool:getX() > 0.25 then
|
||||
dHeadFront = dHeadFront + max( dTLen - 130, 0) * vtTool:getX()
|
||||
elseif vtTool:getX() > 0 then
|
||||
elseif vtTool:getX() > 0 then
|
||||
dHeadFront = dHeadFront + ( dTLen + 180) * vtTool:getX()
|
||||
end
|
||||
if vtTool:getX() < -0.866 then
|
||||
@@ -1042,7 +1042,7 @@ function SpecCalcEncumbrance( vtTool, vtArm, ptMin, ptMax, bSaw, bChain, dTLen,
|
||||
if vtArm:getX() > 0.259 then
|
||||
dHeadFront = 510
|
||||
else
|
||||
dHeadFront = EgtIf( vtTool:getZ() > 0.966, 160, 280)
|
||||
dHeadFront = EgtIf( vtTool:getZ() > 0.966, 170, 280)
|
||||
end
|
||||
end
|
||||
-- per fresature longitudinali con utensile di fianco
|
||||
@@ -1518,16 +1518,16 @@ function SpecAdjustCarriages( vCmd, dTPosI, dYDeltaI, dVDeltaI, dTPosF, dYDeltaF
|
||||
|
||||
-- se pinza non in presa, setto offset minimo in base all'altra che sta pinzando
|
||||
if not dYDeltaI then
|
||||
dYDeltaI = dVDeltaI + ( MyMinY - MaxV) + 100 * GEO.EPS_SMALL
|
||||
dYDeltaI = dVDeltaI + ( MyMinY - MaxV)
|
||||
end
|
||||
if not dVDeltaI then
|
||||
dVDeltaI = dYDeltaI - ( MyMinY - MaxV) - 100 * GEO.EPS_SMALL
|
||||
dVDeltaI = dYDeltaI - ( MyMinY - MaxV)
|
||||
end
|
||||
if not dYDeltaF then
|
||||
dYDeltaF = dVDeltaF + ( MyMinY - MaxV) + 100 * GEO.EPS_SMALL
|
||||
dYDeltaF = dVDeltaF + ( MyMinY - MaxV)
|
||||
end
|
||||
if not dVDeltaF then
|
||||
dVDeltaF = dYDeltaF - ( MyMinY - MaxV) - 100 * GEO.EPS_SMALL
|
||||
dVDeltaF = dYDeltaF - ( MyMinY - MaxV)
|
||||
end
|
||||
|
||||
-- se non c'è posizione finale, è lo scarico. Allora setto al minimo della morsa allo scarico.
|
||||
@@ -1544,6 +1544,14 @@ function SpecAdjustCarriages( vCmd, dTPosI, dYDeltaI, dVDeltaI, dTPosF, dYDeltaF
|
||||
local bZmaxOk = EnsureZmax( bZmaxOk, vCmd)
|
||||
end
|
||||
|
||||
-- ribadisco pinzaggio
|
||||
if EMC.YDELTA then
|
||||
table.insert( vCmd, { 11, 1})
|
||||
end
|
||||
if EMC.VDELTA then
|
||||
table.insert( vCmd, { 12, 1})
|
||||
end
|
||||
|
||||
-- reset contatore primo riposizionamento con compensazione lettura laser
|
||||
EMC.CNT = nil
|
||||
|
||||
@@ -1575,7 +1583,7 @@ function SpecAdjustCarriages( vCmd, dTPosI, dYDeltaI, dVDeltaI, dTPosF, dYDeltaF
|
||||
-- * deve effettivamente spostarsi
|
||||
-- * non si arriva da gestione passo del pellegrino
|
||||
-- * se riesce a raggiungere la posizione con le corse a disposizione per come sono posizionate le morse attualmente
|
||||
if ( dYDeltaI - dVDeltaF) - 10 * GEO.EPS_SMALL >= MyMinY - MaxV and abs( dVDeltaF - dVDeltaI) > 10 * GEO.EPS_SMALL and not EMC.PILGRIMSTEP and
|
||||
if ( dYDeltaI - dVDeltaF) + 10 * GEO.EPS_SMALL >= MyMinY - MaxV and abs( dVDeltaF - dVDeltaI) > 10 * GEO.EPS_SMALL and not EMC.PILGRIMSTEP and
|
||||
( dVDeltaF - dVDeltaI > MinV - dVPosI + MyMinY - dYPosI) then
|
||||
table.insert( vCmd, { 0, 'Direct-V-Y'})
|
||||
-- se l'altra morsa non era in presa, vado a pinzare il pezzo
|
||||
@@ -1680,7 +1688,7 @@ function SpecAdjustCarriages( vCmd, dTPosI, dYDeltaI, dVDeltaI, dTPosF, dYDeltaF
|
||||
-- * deve effettivamente spostarsi
|
||||
-- * non si arriva da gestione passo del pellegrino
|
||||
-- * se riesce a raggiungere la posizione con le corse a disposizione per come sono posizionate le morse attualmente
|
||||
elseif ( dYDeltaF - dVDeltaI) - 10 * GEO.EPS_SMALL >= MyMinY - MaxV and abs( dYDeltaF - dYDeltaI) > 10 * GEO.EPS_SMALL and not EMC.PILGRIMSTEP and
|
||||
elseif ( dYDeltaF - dVDeltaI) + 10 * GEO.EPS_SMALL >= MyMinY - MaxV and abs( dYDeltaF - dYDeltaI) > 10 * GEO.EPS_SMALL and not EMC.PILGRIMSTEP and
|
||||
( dYDeltaF - dYDeltaI < MaxY - dYPosI + MaxV - dVPosI) then
|
||||
table.insert( vCmd, { 0, 'Direct-Y-V'})
|
||||
-- se l'altra morsa non era in presa, vado a pinzare il pezzo
|
||||
@@ -1791,7 +1799,6 @@ function SpecAdjustCarriages( vCmd, dTPosI, dYDeltaI, dVDeltaI, dTPosF, dYDeltaF
|
||||
-- compatto al centro
|
||||
if not EMC.YDELTA then
|
||||
table.insert( vCmd, { 0, 'Compact Y'})
|
||||
table.insert( vCmd, { 12, 1})
|
||||
table.insert( vCmd, { 11, 0})
|
||||
dTPosA = MaxV - dVDeltaI
|
||||
dVPosA = MaxV
|
||||
@@ -1804,7 +1811,6 @@ function SpecAdjustCarriages( vCmd, dTPosI, dYDeltaI, dVDeltaI, dTPosF, dYDeltaF
|
||||
end
|
||||
if not EMC.VDELTA then
|
||||
table.insert( vCmd, { 0, 'Compact V'})
|
||||
table.insert( vCmd, { 11, 1})
|
||||
table.insert( vCmd, { 12, 0})
|
||||
dTPosA = MyMinY - dYDeltaI
|
||||
dVPosA = MaxV
|
||||
|
||||
+2
-2
@@ -24,8 +24,8 @@
|
||||
require( 'EmtGenerator')
|
||||
EgtEnableDebug( false)
|
||||
|
||||
PP_VER = '2.6j8'
|
||||
PP_NVER = '2.6.10.8'
|
||||
PP_VER = '2.6k1'
|
||||
PP_NVER = '2.6.11.1'
|
||||
MIN_MACH_VER = '2.5k1'
|
||||
MACH_NAME = 'Essetre-FAST'
|
||||
|
||||
|
||||
@@ -1,5 +1,19 @@
|
||||
==== Common_FAST Update Log ====
|
||||
|
||||
Versione 2.6k1 (11/11/2024)
|
||||
- (GEN) Aggiunta gestione aggregato a T per NUM
|
||||
- (SIM) Tolta gestione testa dummy H4
|
||||
- (SIM-GEN) Aggiustato parametro in calcolo ingombro lavorazione. Ticket#2163
|
||||
|
||||
Versione 2.6j10 (25/10/2024)
|
||||
- (SIM-GEN) Miglioria 2.6j9. Si ribadisce pinza in presa sempre, all'inizio, in base a quella attiva
|
||||
|
||||
Versione 2.6j9 (22/10/2024)
|
||||
- (SIM-GEN) Miglioria 2.6j6. Oltre al passo pellegrino si ribadisce anche quando è scambio diretto
|
||||
|
||||
Versione 2.6j8 (21/10/2024)
|
||||
- (SIM-GEN) Corretto problema tolleranza aggiunto con versione 2.6j7
|
||||
|
||||
Versione 2.6j7 (18/10/2024)
|
||||
- (SIM-GEN) In nuova disposizione carrelli, aggiunta tolleranza di 100 EPS quando si calcola minimo posizionamento
|
||||
|
||||
|
||||
+1
-1
@@ -3,7 +3,7 @@
|
||||
|
||||
local InfoCommon_STD_PP = {
|
||||
NAME = 'Common_FAST', -- nome script PP standard
|
||||
VERSION = '2.6j7', -- versione script
|
||||
VERSION = '2.6k1', -- versione script
|
||||
MIN_MACH_VER_PP_COMMON = '2.5k1' -- versione minima kernel
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user