Compare commits
2 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| d3aac014b7 | |||
| 87ebd3a20d |
+68
-55
@@ -597,7 +597,7 @@ function OnMachiningEnd()
|
|||||||
EmtOutput( sOut)
|
EmtOutput( sOut)
|
||||||
end
|
end
|
||||||
elseif not EMT.PREROT then
|
elseif not EMT.PREROT then
|
||||||
EmtOutput( '(M77)')
|
EmtOutput( 'M77')
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
@@ -3380,67 +3380,80 @@ function PreselectNextDiffHead( nMchId, sHead)
|
|||||||
|
|
||||||
-- gruppo della testa
|
-- gruppo della testa
|
||||||
local nHSet = GetHeadSet( sHead)
|
local nHSet = GetHeadSet( sHead)
|
||||||
|
|
||||||
|
local bVerifyPresel = true
|
||||||
|
-- se lavorazione con testa 1 e sotto al limite massimo di preselezione della testa 2, allora non si fa preselezione
|
||||||
|
if nHSet == 1 and Limit_T1_Presel_T2 and EMT.MAXMIN[2] < Limit_T1_Presel_T2 then
|
||||||
|
bVerifyPresel = false
|
||||||
|
-- se lavorazione con testa 1 e sopra al limite minimo di preselezione della testa 1, allora non si fa preselezione
|
||||||
|
elseif nHSet == 2 and Limit_T2_Presel_T1 and EMT.MAXMIN[2] > Limit_T2_Presel_T1 then
|
||||||
|
bVerifyPresel = false
|
||||||
|
end
|
||||||
|
|
||||||
-- flag preselezione eseguita
|
-- flag preselezione eseguita
|
||||||
local bPresel = false
|
local bPresel = false
|
||||||
-- recupero lavorazione successiva
|
|
||||||
local nNextMchId = EgtGetNextActiveOperation( nMchId)
|
if bVerifyPresel then
|
||||||
while nNextMchId do
|
-- recupero lavorazione successiva
|
||||||
if EgtGetOperationType( nNextMchId) ~= MCH_OY.DISP then
|
local nNextMchId = EgtGetNextActiveOperation( nMchId)
|
||||||
if EgtSetCurrMachining( nNextMchId) then
|
while nNextMchId do
|
||||||
local sNextTool = EgtGetMachiningParam( MCH_MP.TOOL)
|
if EgtGetOperationType( nNextMchId) ~= MCH_OY.DISP then
|
||||||
if EgtTdbSetCurrTool( sNextTool) then
|
if EgtSetCurrMachining( nNextMchId) then
|
||||||
local sNextHead = EgtTdbGetCurrToolParam( MCH_TP.HEAD)
|
local sNextTool = EgtGetMachiningParam( MCH_MP.TOOL)
|
||||||
local nNextHSet = GetHeadSet( sNextHead)
|
if EgtTdbSetCurrTool( sNextTool) then
|
||||||
if nNextHSet ~= nHSet then
|
local sNextHead = EgtTdbGetCurrToolParam( MCH_TP.HEAD)
|
||||||
break
|
local nNextHSet = GetHeadSet( sNextHead)
|
||||||
|
if nNextHSet ~= nHSet then
|
||||||
|
break
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
nNextMchId = EgtGetNextActiveOperation( nNextMchId)
|
||||||
|
end
|
||||||
|
-- se esiste ed appartiene a gruppo diverso
|
||||||
|
if nNextMchId and EgtSetCurrMachining( nNextMchId) then
|
||||||
|
local sNextTool = EgtGetMachiningParam( MCH_MP.TOOL)
|
||||||
|
if EgtTdbSetCurrTool( sNextTool) then
|
||||||
|
local sNextHead = EgtTdbGetCurrToolParam( MCH_TP.HEAD)
|
||||||
|
local nNextHSet = GetHeadSet( sNextHead)
|
||||||
|
if nNextHSet ~= nHSet then
|
||||||
|
local sNextTcPos = EgtTdbGetCurrToolParam( MCH_TP.TCPOS)
|
||||||
|
-- se testa attuale da caricare è sega a catena, mando l'altra prima in HomeX (per evitare possibili collisioni) e poi lancio preselezione
|
||||||
|
if sHead == 'H13' and nHSet ~= GetHeadSet( EMT.PREVHEAD_H1) then
|
||||||
|
EmitMoveDataHead( 2, { X=-ParkX2, Z=MaxZ2, B=ParkB2, C=ParkC2, TPos=AdjustTcPos( false, EMT.PREVTCPOS_H2)})
|
||||||
|
EmitMoveStartHead( 2)
|
||||||
|
EmitMoveWaitHead( 2)
|
||||||
|
elseif sHead == 'H23' and nHSet ~= GetHeadSet( EMT.PREVHEAD_H2) then
|
||||||
|
EmitMoveDataHead( 1, { X=-ParkX1, Z=MaxZ1, B=ParkB1, C=ParkC1, TPos=AdjustTcPos( false, EMT.PREVTCPOS_H1)})
|
||||||
|
EmitMoveStartHead( 1)
|
||||||
|
EmitMoveWaitHead( 1)
|
||||||
|
end
|
||||||
|
-- Emetto preselezione (non ammessa per sega a catena H13 e H23 e aggregato BlockHaus H17)
|
||||||
|
if sNextHead == 'H11' then
|
||||||
|
EmitMoveDataHead( 1, { X=-ParkX1, Z=MaxZ1, B=ParkB1, C=ParkC1, TPos=AdjustTcPos( false, sNextTcPos)})
|
||||||
|
EmitMoveStartHead( 1)
|
||||||
|
bPresel = true
|
||||||
|
elseif sNextHead == 'H12' then
|
||||||
|
EmitMoveDataHead( 1, { X=-ParkX1, Z=MaxZ1, B=ParkB1, C=ParkC1, TPos=AdjustTcPos( false, sNextTcPos)})
|
||||||
|
EmitMoveStartHead( 1)
|
||||||
|
bPresel = true
|
||||||
|
elseif sNextHead == 'H21' then
|
||||||
|
EmitMoveDataHead( 2, { X=-ParkX2, Z=MaxZ2, B=ParkB2, C=ParkC2, TPos=AdjustTcPos( false, sNextTcPos)})
|
||||||
|
EmitMoveStartHead( 2)
|
||||||
|
bPresel = true
|
||||||
|
elseif sNextHead == 'H22' then
|
||||||
|
EmitMoveDataHead( 2, { X=-ParkX2, Z=MaxZ2, B=ParkB2, C=ParkC2, TPos=AdjustTcPos( false, sNextTcPos)})
|
||||||
|
EmitMoveStartHead( 2)
|
||||||
|
bPresel = true
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
nNextMchId = EgtGetNextActiveOperation( nNextMchId)
|
-- ripristino stato corrente
|
||||||
|
EgtSetCurrMachining( EMT.MCHID)
|
||||||
|
EgtTdbSetCurrTool( EMT.TOOL)
|
||||||
end
|
end
|
||||||
-- se esiste ed appartiene a gruppo diverso
|
|
||||||
if nNextMchId and EgtSetCurrMachining( nNextMchId) then
|
|
||||||
local sNextTool = EgtGetMachiningParam( MCH_MP.TOOL)
|
|
||||||
if EgtTdbSetCurrTool( sNextTool) then
|
|
||||||
local sNextHead = EgtTdbGetCurrToolParam( MCH_TP.HEAD)
|
|
||||||
local nNextHSet = GetHeadSet( sNextHead)
|
|
||||||
if nNextHSet ~= nHSet then
|
|
||||||
local sNextTcPos = EgtTdbGetCurrToolParam( MCH_TP.TCPOS)
|
|
||||||
-- se testa attuale da caricare è sega a catena, mando l'altra prima in HomeX (per evitare possibili collisioni) e poi lancio preselezione
|
|
||||||
if sHead == 'H13' and nHSet ~= GetHeadSet( EMT.PREVHEAD_H1) then
|
|
||||||
EmitMoveDataHead( 2, { X=-ParkX2, Z=MaxZ2, B=ParkB2, C=ParkC2, TPos=AdjustTcPos( false, EMT.PREVTCPOS_H2)})
|
|
||||||
EmitMoveStartHead( 2)
|
|
||||||
EmitMoveWaitHead( 2)
|
|
||||||
elseif sHead == 'H23' and nHSet ~= GetHeadSet( EMT.PREVHEAD_H2) then
|
|
||||||
EmitMoveDataHead( 1, { X=-ParkX1, Z=MaxZ1, B=ParkB1, C=ParkC1, TPos=AdjustTcPos( false, EMT.PREVTCPOS_H1)})
|
|
||||||
EmitMoveStartHead( 1)
|
|
||||||
EmitMoveWaitHead( 1)
|
|
||||||
end
|
|
||||||
-- Emetto preselezione (non ammessa per sega a catena H13 e H23 e aggregato BlockHaus H17)
|
|
||||||
if sNextHead == 'H11' then
|
|
||||||
EmitMoveDataHead( 1, { X=-ParkX1, Z=MaxZ1, B=ParkB1, C=ParkC1, TPos=AdjustTcPos( false, sNextTcPos)})
|
|
||||||
EmitMoveStartHead( 1)
|
|
||||||
bPresel = true
|
|
||||||
elseif sNextHead == 'H12' then
|
|
||||||
EmitMoveDataHead( 1, { X=-ParkX1, Z=MaxZ1, B=ParkB1, C=ParkC1, TPos=AdjustTcPos( false, sNextTcPos)})
|
|
||||||
EmitMoveStartHead( 1)
|
|
||||||
bPresel = true
|
|
||||||
elseif sNextHead == 'H21' then
|
|
||||||
EmitMoveDataHead( 2, { X=-ParkX2, Z=MaxZ2, B=ParkB2, C=ParkC2, TPos=AdjustTcPos( false, sNextTcPos)})
|
|
||||||
EmitMoveStartHead( 2)
|
|
||||||
bPresel = true
|
|
||||||
elseif sNextHead == 'H22' then
|
|
||||||
EmitMoveDataHead( 2, { X=-ParkX2, Z=MaxZ2, B=ParkB2, C=ParkC2, TPos=AdjustTcPos( false, sNextTcPos)})
|
|
||||||
EmitMoveStartHead( 2)
|
|
||||||
bPresel = true
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
|
||||||
-- ripristino stato corrente
|
|
||||||
EgtSetCurrMachining( EMT.MCHID)
|
|
||||||
EgtTdbSetCurrTool( EMT.TOOL)
|
|
||||||
-- se non eseguita preselezione
|
-- se non eseguita preselezione
|
||||||
if not bPresel then
|
if not bPresel then
|
||||||
-- mi assicuro che l'altra testa sia in parcheggio
|
-- mi assicuro che l'altra testa sia in parcheggio
|
||||||
|
|||||||
+6
-4
@@ -32,8 +32,8 @@
|
|||||||
require( 'EmtGenerator')
|
require( 'EmtGenerator')
|
||||||
EgtEnableDebug( false)
|
EgtEnableDebug( false)
|
||||||
|
|
||||||
PP_VER = '3.1f1'
|
PP_VER = '3.1f3'
|
||||||
PP_NVER = '3.1.6.1'
|
PP_NVER = '3.1.6.3'
|
||||||
MIN_MACH_VER = '2.5k1'
|
MIN_MACH_VER = '2.5k1'
|
||||||
MACH_NAME = EgtGetCurrMachineName()
|
MACH_NAME = EgtGetCurrMachineName()
|
||||||
|
|
||||||
@@ -163,7 +163,8 @@ if EgtExistsFile( sData) then
|
|||||||
end
|
end
|
||||||
if Machine.Offsets.X1_POS then MinX1 = -Machine.Offsets.X1_POS 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.X1_NEG then MaxX1 = -Machine.Offsets.X1_NEG end
|
||||||
if Machine.Offsets.PARK_X1 then ParkX1 = -Machine.Offsets.PARK_X1 end
|
if Machine.Offsets.PARK_X1POS then ParkFrnX1 = -Machine.Offsets.PARK_X1POS end
|
||||||
|
if Machine.Offsets.PARK_X1NEG then ParkX1 = -Machine.Offsets.PARK_X1NEG end
|
||||||
if Machine.Offsets.Z1_NEG then MinZ1 = Machine.Offsets.Z1_NEG end
|
if Machine.Offsets.Z1_NEG then MinZ1 = Machine.Offsets.Z1_NEG end
|
||||||
if Machine.Offsets.Z1_POS then MaxZ1 = min( MaxZ1, Machine.Offsets.Z1_POS) end
|
if Machine.Offsets.Z1_POS then MaxZ1 = min( MaxZ1, Machine.Offsets.Z1_POS) end
|
||||||
if Machine.Offsets.PARK_Z1 then ParkZ1 = Machine.Offsets.PARK_Z1 end
|
if Machine.Offsets.PARK_Z1 then ParkZ1 = Machine.Offsets.PARK_Z1 end
|
||||||
@@ -220,13 +221,14 @@ if EgtExistsFile( sData) then
|
|||||||
-- aggiustamenti
|
-- aggiustamenti
|
||||||
MinY1 = MinV1 + MinDeltaYV
|
MinY1 = MinV1 + MinDeltaYV
|
||||||
MaxY1 = MaxMchY1
|
MaxY1 = MaxMchY1
|
||||||
ParkV1 = MaxV1
|
ParkV1 = MaxV1
|
||||||
ParkY1 = ParkV1 + MinDeltaYV
|
ParkY1 = ParkV1 + MinDeltaYV
|
||||||
MinY2 = MinMchY2
|
MinY2 = MinMchY2
|
||||||
MaxY2 = MaxV2 - MinDeltaYV
|
MaxY2 = MaxV2 - MinDeltaYV
|
||||||
ParkV2 = MinV2
|
ParkV2 = MinV2
|
||||||
ParkY2 = ParkV2 - MinDeltaYV
|
ParkY2 = ParkV2 - MinDeltaYV
|
||||||
ParkX1 = min( ParkX1, MaxX1)
|
ParkX1 = min( ParkX1, MaxX1)
|
||||||
|
ParkFrnX1 = max( ParkFrnX1, MinX1)
|
||||||
ParkCSawZ1 = min( ParkCSawZ1, MaxZ1)
|
ParkCSawZ1 = min( ParkCSawZ1, MaxZ1)
|
||||||
ParkCSaw0Z1 = min( ParkCSaw0Z1, MaxZ1)
|
ParkCSaw0Z1 = min( ParkCSaw0Z1, MaxZ1)
|
||||||
Mortiser = ( Mortiser and not Progress)
|
Mortiser = ( Mortiser and not Progress)
|
||||||
|
|||||||
@@ -1,5 +1,11 @@
|
|||||||
==== Common_ONE-PF Update Log ====
|
==== Common_ONE-PF Update Log ====
|
||||||
|
|
||||||
|
Versione 3.1f3 (08/06/2026)
|
||||||
|
- (GEN) M77 viene ora eseguita, prima era commentata.
|
||||||
|
|
||||||
|
Versione 3.1f2 (05/06/2026)
|
||||||
|
- (MLDE-GEN) Aggiunti parametri di limite asse X per decidere se fare preselezione su altra testa. Serve modifica MLDE
|
||||||
|
|
||||||
Versione 3.1f1 (03/06/2026)
|
Versione 3.1f1 (03/06/2026)
|
||||||
- (NGE-MLDE-GEN-SIM) Versione unificata con predisposizione per gestione tastatori. Serve modificare anche la macchina, per ora gestione completa solo su PFrl.
|
- (NGE-MLDE-GEN-SIM) Versione unificata con predisposizione per gestione tastatori. Serve modificare anche la macchina, per ora gestione completa solo su PFrl.
|
||||||
|
|
||||||
|
|||||||
+1
-1
@@ -3,7 +3,7 @@
|
|||||||
|
|
||||||
local InfoCommon_STD_PP = {
|
local InfoCommon_STD_PP = {
|
||||||
NAME = 'Common_ONE-PF', -- nome script PP standard
|
NAME = 'Common_ONE-PF', -- nome script PP standard
|
||||||
VERSION = '3.1f1', -- versione script
|
VERSION = '3.1f3', -- versione script
|
||||||
MIN_MACH_VER_PP_COMMON = '3.1b2' -- versione minima kernel
|
MIN_MACH_VER_PP_COMMON = '3.1b2' -- versione minima kernel
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user