Compare commits

..

2 Commits

Author SHA1 Message Date
andrea.villa 393fd10524 - Corretta gestione motosega in caso di mafcchina 2 teste
- Corretta simulazione
2026-06-22 15:38:54 +02:00
andrea.villa 872f74c9a7 - Corretti movimenti in doppio
- Migliorata simulazione con motosega e mazaggino speciale ONE
2026-06-18 12:10:38 +02:00
4 changed files with 156 additions and 74 deletions
+77 -42
View File
@@ -962,11 +962,11 @@ function OnRapid()
local bNlhParkV = ( EMT.MOVE == 0 and ( EMT.FLAG2 == 1 or EMT.FLAG2 == 2))
if bNlhParkV then
bParkV = ( EMT.FLAG == 2 and bParkV) or not bSplitMach
bParkV = ( EMT.FLAG == 2 and bParkV) or ( not EMT.MCHSPLIT or bSplit)
end
if bParkV then
local bMchSplit = bNlhParkV and bSplitMach
if bParkV or bNlhParkV then
local bMchSplit = bSplitMach
local dPosT = EMT.TPOS or EMT.L1op
EmitParkRoller( dPosT, bMchSplit)
end
@@ -1002,7 +1002,7 @@ function OnRapid()
EMT.MCHFIRST = false
-- movimento standard CLIMB
elseif EMT.FLAG == 2 then
-- se non ho ancora impostato il piano movimenti in assoluto
-- se non ho ancora impostato il piano, movimenti in assoluto
if not EMT.PLANEACTIVE then
MyAdjustLinearAxes()
EmtAdjustRotaryAxes()
@@ -1304,6 +1304,13 @@ function OnLinear()
EMT.DBLHEADPARA = true
end
-- se testa accoppiata in parallelo, in uscita si disaccoppia per tornare ad accoppiamento speculare
if EMT.DBLHEADPARA and
( ( EMT.MCHTYPE == MCH_MY.DRILLING and EMT.FLAG == 104) or ( EMT.MCHTYPE == MCH_MY.POCKETING and EMT.FLAG == 404)) then
EmtOutput( "G157 EE1")
EMT.DBLHEADPARA = nil
end
-- valori degli assi
local sL1, bL1 = EmtGetAxis( 'L1')
local sL2, bL2 = EmtGetAxis( 'L2')
@@ -1323,13 +1330,6 @@ function OnLinear()
-- emetto linea
EmtOutput( "G1"..sSlowDown..sAxes..sFeed)
-- se testa accoppiata in parallelo, in uscita si disaccoppia per tornare ad accoppiamento speculare
if EMT.DBLHEADPARA and
( ( EMT.MCHTYPE == MCH_MY.DRILLING and EMT.FLAG == 104) or ( EMT.MCHTYPE == MCH_MY.POCKETING and EMT.FLAG == 404)) then
EmtOutput( "G157 EE1")
EMT.DBLHEADPARA = nil
end
-- aggiorno valori come precedenti
EMT.TPOS = EMT.L1o
EmtUpdatePrev()
@@ -2449,11 +2449,14 @@ end
---------------------------------------------------------------------
-- preselezione utensile su stessa testa (per C.U. mascherato in caso di cambio morse)
function ToolPreSelectionSingleHead( nMchId)
-- se macchina con due teste, preselezione già fatta
if EgtGetHeadId( 'H21') then
-- se macchina con due teste, devo preselezionare stessa testa quando ho motosega, altrimenti già fatta
if EgtGetHeadId( 'H21') and not HeadIsChainSaw( EMT.HEAD) then
return
end
-- gruppo della testa
local nHSet = GetHeadSet( EMT.HEAD)
-- nome utensile
local sToolChange = nil
local sToolChangePos = nil
@@ -2466,22 +2469,27 @@ function ToolPreSelectionSingleHead( nMchId)
if EgtSetCurrMachining( nNextMchId) then
local sNextTool = EgtGetMachiningParam( MCH_MP.TOOL)
if EgtTdbSetCurrTool( sNextTool) then
if EMT.TOOL ~= sNextTool then
local nClId = EgtGetFirstNameInGroup( nNextMchId, 'CL') -- recupero Id del gruppo CL della lavorazione corrente
local nPathId = EgtGetFirstInGroup( nClId or GDB_ID.NULL) -- Id del primo gruppo nella lavorazione (P1)
local dAuxMoveCount = EgtGetInfo( nPathId, 'AS#', 'd') or 0 -- numero di movimenti ausiliari
if dAuxMoveCount > 3 then
bCarrMove = true
end
local sNextHead = EgtTdbGetCurrToolParam( MCH_TP.HEAD)
-- motosega non può essere preselezionata
if not HeadIsChainSaw( sNextHead) then
sToolChange = sNextTool
sToolChangePos = EgtTdbGetCurrToolParam( MCH_TP.TCPOS)
sToolChangeHead = sNextHead
local sNextHead = EgtTdbGetCurrToolParam( MCH_TP.HEAD)
local nNextHSet = GetHeadSet( sNextHead)
-- se stessa testa
if nNextHSet == nHSet then
if EMT.TOOL ~= sNextTool then
local nClId = EgtGetFirstNameInGroup( nNextMchId, 'CL') -- recupero Id del gruppo CL della lavorazione corrente
local nPathId = EgtGetFirstInGroup( nClId or GDB_ID.NULL) -- Id del primo gruppo nella lavorazione (P1)
local dAuxMoveCount = EgtGetInfo( nPathId, 'AS#', 'd') or 0 -- numero di movimenti ausiliari
if dAuxMoveCount > 3 then
bCarrMove = true
end
local sNextHead = EgtTdbGetCurrToolParam( MCH_TP.HEAD)
-- motosega non può essere preselezionata
if not HeadIsChainSaw( sNextHead) then
sToolChange = sNextTool
sToolChangePos = EgtTdbGetCurrToolParam( MCH_TP.TCPOS)
sToolChangeHead = sNextHead
end
end
break
end
break
end
end
end
@@ -2492,29 +2500,36 @@ function ToolPreSelectionSingleHead( nMchId)
EgtSetCurrMachining( EMT.MCHID)
EgtTdbSetCurrTool( EMT.TOOL)
if bCarrMove then
if bCarrMove or EgtGetHeadId( 'H21') then
-- se è stato trovato utensile, emetto preselezione
if sToolChangePos and sToolChange and sToolChangeHead then
local MyParkX1, MyParkB1, MyParkC1
if GetHeadTCSet( sToolChangeHead, sToolChangePos) == 'Head1_TC2' then
MyParkX1 = ParkFrnX1
MyParkB1 = ParkFrnB1
MyParkC1 = ParkFrnC1
local MyParkX, MyParkB, MyParkC
if GetHeadTCSet( sToolChangeHead, sToolChangePos) == 'Head2_TC2' then
MyParkX = ParkX2
MyParkZ = MaxZ2
MyParkB = ParkB2
MyParkC = ParkC2
elseif GetHeadTCSet( sToolChangeHead, sToolChangePos) == 'Head1_TC2' then
MyParkX = ParkFrnX1
MyParkZ = MaxZ1
MyParkB = ParkFrnB1
MyParkC = ParkFrnC1
else
MyParkX1 = ParkX1
MyParkB1 = ParkB1
MyParkC1 = ParkC1
MyParkX = ParkX1
MyParkZ = MaxZ1
MyParkB = ParkB1
MyParkC = ParkC1
end
EmtOutput( '( *** TOOL PRE-SEL *** )')
EmitMoveDataHead( 1, { X=-MyParkX1, Z=MaxZ1, B=MyParkB1, C=MyParkC1, TPos=AdjustTcPos( false, sToolChangePos)})
EmitMoveDataHead( nHSet, { X=-MyParkX, Z=MyParkZ, B=MyParkB, C=MyParkC, TPos=AdjustTcPos( false, sToolChangePos)})
-- comincio i movimenti di preselezione
EmitMoveStartHead( 1)
EmitMoveStartHead( nHSet)
-- se preselezione e c'era montata motosega, si aspetta fine della preselezione prima di andare avanti
if HeadIsChainSaw( EMT.HEAD) then
EmitMoveWaitHead( 1)
EmitMoveWaitHead( nHSet)
else
EMT.START_PRESEL = 1
EMT.START_PRESEL = nHSet
end
-- se non ho trovato utensile da preselezionare, e c'è motosetga montata, si scarica
elseif HeadIsChainSaw( EMT.HEAD) then
@@ -2522,8 +2537,8 @@ function ToolPreSelectionSingleHead( nMchId)
EmitUnmountChainSaw()
end
else
-- se ultima lavorazione e ho motosega, scarico
if not nNextMchId and HeadIsChainSaw( EMT.HEAD) then
-- se ho motosega, scarico
if HeadIsChainSaw( EMT.HEAD) then
EmtOutput( '( *** UNMOUNT CHAIN-SAW *** )')
EmitUnmountChainSaw()
end
@@ -2553,6 +2568,8 @@ function PreselectNextDiffHead( nMchId, sHead)
-- flag preselezione eseguita
local bPresel = false
local bDoubleTool = false
local sDoubleTool = ''
if bVerifyPresel then
-- recupero lavorazione successiva
@@ -2566,6 +2583,20 @@ function PreselectNextDiffHead( nMchId, sHead)
local nNextHSet = GetHeadSet( sNextHead)
if nNextHSet ~= nHSet then
break
else
local sMachUserNotes = EgtGetMachiningParam( MCH_MP.USERNOTES)
local nDouType = EgtGetValInNotes( sMachUserNotes, 'DOUBLE', 'i')
if nDouType == 2 then
local sToolUserNotes = EgtTdbGetCurrToolParam( MCH_TP.USERNOTES)
local sOtherTool = EgtGetValInNotes( sMachUserNotes, 'TOOLDOUBLE', 's') or EgtGetValInNotes( sToolUserNotes, 'DOUBLE', 's') or ''
local sOldTool = EgtTdbGetCurrToolParam( MCH_TP.NAME)
if EgtTdbSetCurrTool( sOtherTool) and EgtTdbGetCurrToolParam( MCH_TP.ACTIVE) then
sDoubleTool = sOtherTool
bDoubleTool = true
end
EgtTdbSetCurrTool( sOldTool)
break
end
end
end
end
@@ -2575,6 +2606,10 @@ function PreselectNextDiffHead( nMchId, sHead)
-- se esiste ed appartiene a gruppo diverso
if nNextMchId and EgtSetCurrMachining( nNextMchId) then
local sNextTool = EgtGetMachiningParam( MCH_MP.TOOL)
-- se è una lavorazione in doppio, selezione altro utensile
if bDoubleTool then
sNextTool = sDoubleTool
end
if EgtTdbSetCurrTool( sNextTool) then
local sNextHead = EgtTdbGetCurrToolParam( MCH_TP.HEAD)
local nNextHSet = GetHeadSet( sNextHead)
+60 -26
View File
@@ -538,13 +538,13 @@ function OnSimulToolSelect( dPosA)
end
-- se ho due teste, verifico che l'altra sia dalla parte opposta
if EgtGetHeadId( 'H21') then
if nSetHead == 1 then
EgtSetAxisPos( 'X2', MinX2)
else
EgtSetAxisPos( 'X1', MaxX1)
end
end
--if EgtGetHeadId( 'H21') then
-- if nSetHead == 1 then
-- EgtSetAxisPos( 'X2', MinX2)
-- else
-- EgtSetAxisPos( 'X1', MaxX1)
-- end
--end
-- se sega a catena, imposto subito angolo scelto per asse virtuale A
if HeadIsChainSaw( EMT.HEAD) then
-- apro le paratie
@@ -561,7 +561,9 @@ function OnSimulToolSelect( dPosA)
EgtSetAxisPos( 'B1', ParkCSawB1)
EgtSetAxisPos( 'X1', ParkCSawX1)
-- l'utensile viene caricato qui, quindi setto come già cambiato
EMT.PREVTOOL_H1 = EMT.TOOL
EMT.PREVHEAD_H1 = EMT.HEAD
EMT.PREVTCPOS_H1 = EMT.TCPOS
else
-- imposto home dell'asse C2 (A=0 -> T111, A=-90 -> T112)
local MyParkCSawC2 = GetChainSawCHomeFromVirtualAxis( dPosA)
@@ -570,7 +572,9 @@ function OnSimulToolSelect( dPosA)
EgtSetAxisPos( 'B2', ParkCSawB2)
EgtSetAxisPos( 'X2', ParkCSawX2)
-- l'utensile viene caricato qui, quindi setto come già cambiato
EMT.PREVTOOL_H2 = EMT.TOOL
EMT.PREVHEAD_H2 = EMT.HEAD
EMT.PREVTCPOS_H2 = EMT.TCPOS
end
end
@@ -621,12 +625,21 @@ function OnSimulToolDeselect( dPrevA)
EgtSetMode( EgtGetHeadId( EMT.PREVHEAD_H1 or '') or GDB_ID.NULL, GDB_MD.HIDDEN)
-- se non è chiamata per cambio angolo di presa della sega a catena
if not dPrevA then
-- cambio utensile
EgtSetAxisPos( 'C1', ParkC1)
EgtSetAxisPos( 'B1', ParkB1)
EgtSetAxisPos( 'Z1', MaxZ1)
SimulMoveAxis( 'X1', ParkX1, MCH_SIM_STEP.RAPID)
local sTool, sHead, sTcPos = FindNextToolOnHeadSet( 1, false)
-- imposto correttamente i dati di testa
local OrigEMC = EMC
EMC = { HEAD = sHead, TOOL = sTool, TCPOS = sTcPos, TOTDIAM = 0}
OnSetHead()
EMC = OrigEMC
local dHomeX1 = EgtGetAxisHomePos( 'X1')
local dHomeC1 = EgtGetAxisHomePos( 'C1')
local dHomeB1 = EgtGetAxisHomePos( 'B1')
-- cambio utensile
EgtSetAxisPos( 'C1', dHomeC1)
EgtSetAxisPos( 'B1', dHomeB1)
EgtSetAxisPos( 'Z1', MaxZ1)
SimulMoveAxis( 'X1', dHomeX1, MCH_SIM_STEP.RAPID)
if sTcPos then
LoadNextTool( 1, DefTcPos1)
end
@@ -645,6 +658,10 @@ function OnSimulToolDeselect( dPrevA)
EgtSetAxisPos( 'Z2', MaxZ2)
SimulMoveAxis( 'X2', ParkX2, MCH_SIM_STEP.RAPID)
local sTool, sHead, sTcPos = FindNextToolOnHeadSet( 2, false)
local OrigEMC = EMC
EMC = { HEAD = sHead or 'H21', TOOL = sTool, TCPOS = sTcPos, TOTDIAM = 0}
OnSetHead()
EMC = OrigEMC
if sTcPos then
LoadNextTool( 2, DefTcPos2)
end
@@ -659,6 +676,16 @@ function OnSimulToolDeselect( dPrevA)
-- se prossimo utensile sega a catena, devo mettere in home testa 1 e depositare l'utensile sulla testa 2 o viceversa
local dHeadSet = GetHeadSet( EMT.PREVHEAD)
-- vado a quota home testa attuale
if dHeadSet == 1 then
SimulMoveAxes( 'X1', EgtGetAxisHomePos( 'X1'), MCH_SIM_STEP.RAPID, 'Z1', EgtGetAxisHomePos( 'Z1'), MCH_SIM_STEP.RAPID,
'B1', EgtGetAxisHomePos( 'B1'), MCH_SIM_STEP.COLLROT, 'C1', EgtGetAxisHomePos( 'C1'), MCH_SIM_STEP.COLLROT)
elseif dHeadSet == 2 then
SimulMoveAxes( 'X2', EgtGetAxisHomePos( 'X2'), MCH_SIM_STEP.RAPID, 'Z2', EgtGetAxisHomePos( 'Z2'), MCH_SIM_STEP.RAPID,
'B2', EgtGetAxisHomePos( 'B2'), MCH_SIM_STEP.COLLROT, 'C2', EgtGetAxisHomePos( 'C2'), MCH_SIM_STEP.COLLROT)
end
if dHeadSet == 1 then
-- visualizzo utensile su TcPos
ShowToolInTcPos( EMT.PREVTCPOS_H1, true)
@@ -1021,8 +1048,18 @@ function OnSimulMoveStart()
else
local bFirstMoveOnlyH1 = sHeadToMoveFirst and sHeadToMoveFirst == 'H1'
local bFirstMoveOnlyH2 = sHeadToMoveFirst and sHeadToMoveFirst == 'H2'
-- se bisogna muovere prima la testa 2, si esegue subito il primo movimento della testa, priam di muovere la testa 1
if bFirstMoveOnlyH2 then
if #EMT.APPROACH.DBLCLIMBS > 0 then
EMT.INDEX_APPROACH_MOVE = EMT.INDEX_APPROACH_MOVE + 1
EMT.A5 = EMT.APPROACH.DBLCLIMBS[EMT.INDEX_APPROACH_MOVE].L2
EMT.A6 = EMT.APPROACH.DBLCLIMBS[EMT.INDEX_APPROACH_MOVE].L3
EMT.A7 = EMT.APPROACH.DBLCLIMBS[EMT.INDEX_APPROACH_MOVE].R1
EMT.A8 = EMT.APPROACH.DBLCLIMBS[EMT.INDEX_APPROACH_MOVE].R2
SimulMoveAxes( 'X2', EMT.A5, MCH_SIM_STEP.RAPID, 'Z2', EMT.A6, MCH_SIM_STEP.RAPID, 'C2', EMT.A7, MCH_SIM_STEP.COLLROT, 'B2', EMT.A8, MCH_SIM_STEP.COLLROT)
end
-- se bisogna muovere prima la testa 1, il movimento della testa 2 non si esegue adesso
if not bFirstMoveOnlyH1 then
elseif not bFirstMoveOnlyH1 then
-- incremento indice approccio
EMT.INDEX_APPROACH_MOVE = EMT.INDEX_APPROACH_MOVE + 1
-- se non esiste movimento sulla testa due, significa che gli approcci della testa 1 sono in maggior numero
@@ -1045,16 +1082,6 @@ function OnSimulMoveStart()
EMT.A8 = EMT.APPROACH.DBLRISES[EMT.INDEX_APPROACH_MOVE].R2
end
end
-- se bisogna muovere prima la testa 2, si esegue subito il primo movimento della testa, priam di muovere la testa 1
elseif bFirstMoveOnlyH2 then
if #EMT.APPROACH.DBLCLIMBS > 0 then
EMT.INDEX_APPROACH_MOVE = EMT.INDEX_APPROACH_MOVE + 1
EMT.A5 = EMT.APPROACH.DBLCLIMBS[EMT.INDEX_APPROACH_MOVE].L2
EMT.A6 = EMT.APPROACH.DBLCLIMBS[EMT.INDEX_APPROACH_MOVE].L3
EMT.A7 = EMT.APPROACH.DBLCLIMBS[EMT.INDEX_APPROACH_MOVE].R1
EMT.A8 = EMT.APPROACH.DBLCLIMBS[EMT.INDEX_APPROACH_MOVE].R2
SimulMoveAxes( 'X2', EMT.A5, MCH_SIM_STEP.RAPID, 'Z2', EMT.A6, MCH_SIM_STEP.RAPID, 'C2', EMT.A7, MCH_SIM_STEP.COLLROT, 'B2', EMT.A8, MCH_SIM_STEP.COLLROT)
end
end
end
end
@@ -1129,6 +1156,12 @@ function OnSimulMoveStart()
EMT.TFLOAT_CMP = EMT.MOVEID
end
-- reset movimenti
if EMT.IS_CLIMB and EMT.APPROACH.DBLCLIMBS and #EMT.APPROACH.DBLCLIMBS == EMT.INDEX_APPROACH_MOVE then
EMT.APPROACH.DBLCLIMBS = {}
elseif EMT.IS_RISE and EMT.APPROACH.DBLRISES and #EMT.APPROACH.DBLRISES == EMT.INDEX_APPROACH_MOVE then
EMT.APPROACH.DBLRISES = {}
end
end
---------------------------------------------------------------------
@@ -2602,9 +2635,10 @@ function FindNextToolOnHeadSet( nHSet, bFirst)
if EgtSetCurrMachining( OpId) then
local sNextTool = EgtGetMachiningParam( MCH_MP.TOOL)
if EgtTdbSetCurrTool( sNextTool) then
sHead = EgtTdbGetCurrToolParam( MCH_TP.HEAD)
if GetHeadSet( sHead) == nHSet and EMT.TOOL ~= sNextTool then
if not HeadIsChainSaw( sHead) then
local sNextHead = EgtTdbGetCurrToolParam( MCH_TP.HEAD)
if GetHeadSet( sNextHead) == nHSet and EMT.TOOL ~= sNextTool then
if not HeadIsChainSaw( sNextHead) then
sHead = sNextHead
sTool = sNextTool
sTcPos = EgtTdbGetCurrToolParam( MCH_TP.TCPOS)
end
+18 -5
View File
@@ -290,7 +290,6 @@ function OnSpecialLink()
-- retrazione
EmtRemoveRise( EMC.PREVMCHID, EMC.PREVMAIN)
EmtAddRise( EMC.PREVMCHID, EMC.PREVMAIN, { EMC.L1p, EMC.L2p, EMC.L3, EMC.R1p, EMC.R2, EMC.R3p}, 30, 3, 2, EgtIf( bSplit, 'Split=1;', '')..'FirstRise=1;')
EmtAddRise( EMC.PREVMCHID, EMC.PREVMAIN, { EMC.L1p, EMC.L2, EMC.L3, EMC.R1, EMC.R2, EMC.R3p}, 30, 3, 2)
EmtAddRise( EMC.PREVMCHID, EMC.PREVMAIN, { EMC.L1p, EMC.L2, EMC.L3, EMC.R1, EMC.R2, EMC.R3p}, 30, 3, 2, 'LastRise=1;')
-- altrimenti collegamento tra due lavorazioni (3)
else
@@ -359,10 +358,17 @@ function OnSpecialLink()
-- altrimenti collegamento tra due lavorazioni (3)
else
-- recupero quota massima di collegamento
local vLFiAx = EmtGetFinalAxesPos( EMC.PREVMCHID, EMC.PREVMAIN, false)
local vLInAx = EmtGetInitialAxesPos( EMC.NEXTMCHID, EMC.NEXTMAIN, false)
local vFinalAxLink = EmtGetFinalAxesPos( EMC.PREVMCHID, EMC.PREVMAIN, false)
local vInitAxLink = EmtGetInitialAxesPos( EMC.NEXTMCHID, EMC.NEXTMAIN, false)
local bSafeMove = IsLinkSafe( vFinalAxLink, vInitAxLink)
-- se gli assi rotanti non sono cambiati e il collegamento è come ultimo punto della lavorazione
if abs( EMC.R1 - EMC.R1p) < 1 and abs( EMC.R2 - EMC.R2p) < 1 and abs( EMC.L3p - vFinalAxLink[3]) < 1 and abs( EMC.L3 - vInitAxLink[3]) < 1 then
bSafeMove = true
end
-- se superata quota massima ammessa
if max( vLFiAx[3], vLInAx[3]) > ParkZ1 + 1 then
if not bSafeMove then
-- retrazione
EmtRemoveRise( EMC.PREVMCHID, EMC.PREVMAIN)
EmtAddRise( EMC.PREVMCHID, EMC.PREVMAIN, { EMC.L1p, EMC.L2p, MaxZ1, EMC.R1p, 0}, 30, 3, 2, 'UniqueRise=1;')
@@ -370,6 +376,14 @@ function OnSpecialLink()
EmtRemoveClimb( EMC.NEXTMCHID, EMC.NEXTMAIN)
EmtAddClimb( EMC.NEXTMCHID, EMC.NEXTMAIN, { EMC.L1, EMC.L2, MaxZ1, EMC.R1, 0}, 30, 2, 2, 'FirstClimb=1;')
EmtAddClimb( EMC.NEXTMCHID, EMC.NEXTMAIN, { EMC.L1, EMC.L2, EMC.L3, EMC.R1, EMC.R2}, 30, 2, 2, 'LastClimb=1;')
else
-- GESTIONE PER DOPPIO
-- se altra testa arriva da home, devo per forza avere un CLIMB, creo il punto
if EMC.OTHERLINKTYPE == 1 then
EmtRemoveClimb( EMC.NEXTMCHID, EMC.NEXTMAIN)
EmtAddClimb( EMC.NEXTMCHID, EMC.NEXTMAIN, vInitAxLink, 30, 2, 2, 'FirstClimb=1;HeadToMoveFirst=H2;')
EmtAddClimb( EMC.NEXTMCHID, EMC.NEXTMAIN, { EMC.L1, EMC.L2, EMC.L3, EMC.R1, EMC.R2}, 30, 2, 2, 'LastClimb=1;')
end
end
end
@@ -474,7 +488,6 @@ function OnSpecialLink()
-- retrazione
EmtRemoveRise( EMC.PREVMCHID, EMC.PREVMAIN)
EmtAddRise( EMC.PREVMCHID, EMC.PREVMAIN, { EMC.L1p, EMC.L2p, EMC.L3, EMC.R1p, EMC.R2, EMC.R3p}, 30, 3, 2, EgtIf( bSplit, 'Split=1;', '')..'FirstRise=1;')
EmtAddRise( EMC.PREVMCHID, EMC.PREVMAIN, { EMC.L1p, EMC.L2, EMC.L3, EMC.R1, EMC.R2, EMC.R3p}, 30, 3, 2)
EmtAddRise( EMC.PREVMCHID, EMC.PREVMAIN, { EMC.L1p, EMC.L2, EMC.L3, EMC.R1, EMC.R2, EMC.R3p}, 30, 3, 2, 'LastRise=1;')
-- altrimenti collegamento tra due lavorazioni (3)
else
+1 -1
View File
@@ -32,7 +32,7 @@
require( 'EmtGenerator')
EgtEnableDebug( false)
PP_VER = '3.1f1_CR4'
PP_VER = '3.1f1_RC6'
PP_NVER = '3.1.6.1'
MIN_MACH_VER = '2.5k1'
MACH_NAME = EgtGetCurrMachineName()