Compare commits
9 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| d624434c2e | |||
| a43c46ded2 | |||
| 2bda916a16 | |||
| 42752eefcd | |||
| 86c030f38e | |||
| 7d8bb8f03e | |||
| 016122276d | |||
| 0e78fe9c40 | |||
| 6b81b0b686 |
+106
-11
@@ -422,6 +422,14 @@ function OnToolSelect()
|
|||||||
if EMT.TDIST and abs( EMT.TDIST) < 0.1 then EMT.TDIST = nil end
|
if EMT.TDIST and abs( EMT.TDIST) < 0.1 then EMT.TDIST = nil end
|
||||||
EMT.TUSERNOTES = EgtTdbGetCurrToolParam( MCH_TP.USERNOTES)
|
EMT.TUSERNOTES = EgtTdbGetCurrToolParam( MCH_TP.USERNOTES)
|
||||||
EMT.ISPROBING = HeadIsProbe( EMT.HEAD)
|
EMT.ISPROBING = HeadIsProbe( EMT.HEAD)
|
||||||
|
|
||||||
|
-- gruppo della testa
|
||||||
|
local nHSet = GetHeadSet( EMT.HEAD)
|
||||||
|
if nHSet == 1 and EMT.PRESEL_H1 then
|
||||||
|
EMT.PRESEL_H1 = nil
|
||||||
|
elseif nHSet == 2 and EMT.PRESEL_H2 then
|
||||||
|
EMT.PRESEL_H2 = nil
|
||||||
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
@@ -597,7 +605,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
|
||||||
@@ -1038,15 +1046,22 @@ function OnRapid()
|
|||||||
EmitMoveWaitChars( EgtIf( bOnlyCharY, 1, 3))
|
EmitMoveWaitChars( EgtIf( bOnlyCharY, 1, 3))
|
||||||
|
|
||||||
-- se motosega configurata per lavorazioni di fianco o circa orizzontale
|
-- se motosega configurata per lavorazioni di fianco o circa orizzontale
|
||||||
if dPosA == 0 or abs( EMT.R2) < 10 then
|
if abs( dPosA) < 0.1 or abs( EMT.R2) < 10 then
|
||||||
EmitMoveDataHead( 1, { X=EMT.L2, Z=ParkCSawZ1, B=ParkCSawB1, C=EMT.R1, S=Speed})
|
EmitMoveDataHead( 1, { X=EMT.L2, Z=ParkCSawZ1, B=ParkCSawB1, C=EMT.R1, S=Speed})
|
||||||
EmitMoveDataHead( 1, { Z=EMT.L3, B=EMT.R2, S=Speed})
|
EmitMoveDataHead( 1, { Z=EMT.L3, B=EMT.R2, S=Speed})
|
||||||
-- se circa verticale
|
-- se circa verticale
|
||||||
|
else
|
||||||
|
-- se arrivo da ZMAX e il pezzo è abbastanza alto, si ruota fuori
|
||||||
|
if EMT.ZMAX and EMT.SB > MaxVeOpen / 2 then
|
||||||
|
EmitMoveDataHead( 1, { X=-LimX1RotSaw, Z=ParkCSawZ1, B=ParkCSawB1, C=90, S=Speed})
|
||||||
|
EmitMoveDataHead( 1, { Z=EMT.L3, B=EMT.R2, S=Speed})
|
||||||
|
EmitMoveDataHead( 1, { X=EMT.L2, C=EMT.R1, S=Speed})
|
||||||
else
|
else
|
||||||
EmitMoveDataHead( 1, { X=EMT.L2, Z=ParkCSawZ1, B=ParkCSawB1, C=EMT.R1, S=Speed})
|
EmitMoveDataHead( 1, { X=EMT.L2, Z=ParkCSawZ1, B=ParkCSawB1, C=EMT.R1, S=Speed})
|
||||||
EmitMoveDataHead( 1, { Z=EMT.L3, B=EMT.R2, S=Speed})
|
EmitMoveDataHead( 1, { Z=EMT.L3, B=EMT.R2, S=Speed})
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
end
|
||||||
EmitMoveDataHead( 1, { X=EMT.L2, Z=EMT.L3, B=EMT.R2, C=EMT.R1, TRad=dTRad, TLen=dTLen, S=Speed})
|
EmitMoveDataHead( 1, { X=EMT.L2, Z=EMT.L3, B=EMT.R2, C=EMT.R1, TRad=dTRad, TLen=dTLen, S=Speed})
|
||||||
EmitMoveStartHead( 1)
|
EmitMoveStartHead( 1)
|
||||||
-- se lavorazione in doppio
|
-- se lavorazione in doppio
|
||||||
@@ -1127,15 +1142,21 @@ function OnRapid()
|
|||||||
EmitMoveWaitChars( EgtIf( bOnlyCharY, 1, 3))
|
EmitMoveWaitChars( EgtIf( bOnlyCharY, 1, 3))
|
||||||
|
|
||||||
-- se motosega configurata per lavorazioni di fianco o circa orizzontale
|
-- se motosega configurata per lavorazioni di fianco o circa orizzontale
|
||||||
if dPosA == 0 or abs( EMT.R2) < 10 then
|
if abs( dPosA) < 0.1 or abs( EMT.R2) < 10 then
|
||||||
EmitMoveDataHead( 1, { X=EMT.L2, Z=ParkCSawZ1, B=ParkCSawB1, C=EMT.R1, S=Speed})
|
EmitMoveDataHead( 1, { X=EMT.L2, Z=ParkCSawZ1, B=ParkCSawB1, C=EMT.R1, S=Speed})
|
||||||
EmitMoveDataHead( 1, { Z=EMT.L3, B=EMT.R2, S=Speed})
|
EmitMoveDataHead( 1, { Z=EMT.L3, B=EMT.R2, S=Speed})
|
||||||
-- se circa verticale
|
-- se circa verticale
|
||||||
|
else
|
||||||
|
-- se arrivo da ZMAX e il pezzo è abbastanza alto, si ruota fuori
|
||||||
|
if EMT.ZMAX and EMT.SB > MaxVeOpen / 2 then
|
||||||
|
EmitMoveDataHead( 1, { X=-LimX1RotSaw, Z=ParkCSawZ1, B=ParkCSawB1, C=90, S=Speed})
|
||||||
|
EmitMoveDataHead( 1, { Z=EMT.L3, B=EMT.R2, S=Speed})
|
||||||
|
EmitMoveDataHead( 1, { X=EMT.L2, C=EMT.R1, S=Speed})
|
||||||
else
|
else
|
||||||
EmitMoveDataHead( 1, { X=EMT.L2, Z=ParkCSawZ1, B=ParkCSawB1, C=EMT.R1, S=Speed})
|
EmitMoveDataHead( 1, { X=EMT.L2, Z=ParkCSawZ1, B=ParkCSawB1, C=EMT.R1, S=Speed})
|
||||||
EmitMoveDataHead( 1, { Z=EMT.L3, B=EMT.R2, S=Speed})
|
EmitMoveDataHead( 1, { Z=EMT.L3, B=EMT.R2, S=Speed})
|
||||||
end
|
end
|
||||||
|
end
|
||||||
end
|
end
|
||||||
EmitMoveDataHead( 1, { X=EMT.L2, Z=EMT.L3, B=EMT.R2, C=EMT.R1, TRad=dTRad, TLen=dTLen, S=Speed})
|
EmitMoveDataHead( 1, { X=EMT.L2, Z=EMT.L3, B=EMT.R2, C=EMT.R1, TRad=dTRad, TLen=dTLen, S=Speed})
|
||||||
EmitMoveStartHead( 1)
|
EmitMoveStartHead( 1)
|
||||||
@@ -1209,15 +1230,22 @@ function OnRapid()
|
|||||||
EmitMoveWaitChars( EgtIf( bOnlyCharY, 1, 3))
|
EmitMoveWaitChars( EgtIf( bOnlyCharY, 1, 3))
|
||||||
|
|
||||||
-- se motosega configurata per lavorazioni di fianco o circa orizzontale. Dopo attesa movimento carrelli si devono scrivere tutti gli assi.
|
-- se motosega configurata per lavorazioni di fianco o circa orizzontale. Dopo attesa movimento carrelli si devono scrivere tutti gli assi.
|
||||||
if dPosA == 0 or abs( EMT.R2) < 10 then
|
if abs( dPosA) < 0.1 or abs( EMT.R2) < 10 then
|
||||||
EmitMoveDataHead( 2, { X=EMT.L2, Z=ParkCSawZ2, B=ParkCSawB2, C=EMT.R1, S=Speed})
|
EmitMoveDataHead( 2, { X=EMT.L2, Z=ParkCSawZ2, B=ParkCSawB2, C=EMT.R1, S=Speed})
|
||||||
EmitMoveDataHead( 2, { Z=EMT.L3, B=EMT.R2, S=Speed})
|
EmitMoveDataHead( 2, { Z=EMT.L3, B=EMT.R2, S=Speed})
|
||||||
-- se circa verticale
|
-- se circa verticale
|
||||||
|
else
|
||||||
|
-- se arrivo da ZMAX e il pezzo è abbastanza alto, si ruota fuori
|
||||||
|
if EMT.ZMAX and EMT.SB > MaxVeOpen / 2 then
|
||||||
|
EmitMoveDataHead( 2, { X=-LimX2RotSaw, Z=ParkCSawZ2, B=ParkCSawB2, C=90, S=Speed})
|
||||||
|
EmitMoveDataHead( 2, { Z=EMT.L3, B=EMT.R2, S=Speed})
|
||||||
|
EmitMoveDataHead( 2, { X=EMT.L2, C=EMT.R1, S=Speed})
|
||||||
else
|
else
|
||||||
EmitMoveDataHead( 2, { X=EMT.L2, Z=ParkCSawZ2, B=ParkCSawB2, C=EMT.R1, S=Speed})
|
EmitMoveDataHead( 2, { X=EMT.L2, Z=ParkCSawZ2, B=ParkCSawB2, C=EMT.R1, S=Speed})
|
||||||
EmitMoveDataHead( 2, { Z=EMT.L3, B=EMT.R2, S=Speed})
|
EmitMoveDataHead( 2, { Z=EMT.L3, B=EMT.R2, S=Speed})
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
end
|
||||||
EmitMoveDataHead( 2, { X=EMT.L2, Z=EMT.L3, B=EMT.R2, C=EMT.R1, TRad=dTRad, TLen=dTLen, S=Speed})
|
EmitMoveDataHead( 2, { X=EMT.L2, Z=EMT.L3, B=EMT.R2, C=EMT.R1, TRad=dTRad, TLen=dTLen, S=Speed})
|
||||||
EmitMoveStartHead( 2)
|
EmitMoveStartHead( 2)
|
||||||
-- aspetto termine esecuzione movimenti testa 2
|
-- aspetto termine esecuzione movimenti testa 2
|
||||||
@@ -1432,13 +1460,20 @@ function OnRapid()
|
|||||||
else
|
else
|
||||||
EmitMoveDataHead( 1, { X=-ParkCSawX1, Z=ParkCSawZ1, B=ParkCSawB1, C=ParkCSawC1, TRad=dTRad, TLen=dTLen, S=Speed})
|
EmitMoveDataHead( 1, { X=-ParkCSawX1, Z=ParkCSawZ1, B=ParkCSawB1, C=ParkCSawC1, TRad=dTRad, TLen=dTLen, S=Speed})
|
||||||
-- se motosega configurata per lavorazioni di fianco o circa orizzontale
|
-- se motosega configurata per lavorazioni di fianco o circa orizzontale
|
||||||
if dPosA == 0 or abs( EMT.R2) < 10 then
|
if abs( dPosA) < 0.1 or abs( EMT.R2) < 10 then
|
||||||
EmitMoveDataHead( 1, { X=EMT.L2, C=EMT.R1, S=Speed})
|
EmitMoveDataHead( 1, { X=EMT.L2, C=EMT.R1, S=Speed})
|
||||||
EmitMoveDataHead( 1, { Z=EMT.L3, B=EMT.R2, S=Speed})
|
EmitMoveDataHead( 1, { Z=EMT.L3, B=EMT.R2, S=Speed})
|
||||||
-- se circa verticale
|
-- se circa verticale
|
||||||
else
|
else
|
||||||
EmitMoveDataHead( 1, { X=EMT.L2, C=EMT.R1, S=Speed})
|
-- se arrivo da ZMAX e il pezzo è abbastanza alto, si ruota fuori
|
||||||
|
if EMT.ZMAX and EMT.SB > MaxVeOpen / 2 then
|
||||||
|
EmitMoveDataHead( 1, { X=-LimX1RotSaw, Z=ParkCSawZ1, B=ParkCSawB1, C=90, S=Speed})
|
||||||
EmitMoveDataHead( 1, { Z=EMT.L3, B=EMT.R2, S=Speed})
|
EmitMoveDataHead( 1, { Z=EMT.L3, B=EMT.R2, S=Speed})
|
||||||
|
EmitMoveDataHead( 1, { X=EMT.L2, C=EMT.R1, S=Speed})
|
||||||
|
else
|
||||||
|
EmitMoveDataHead( 1, { X=EMT.L2, Z=ParkCSawZ1, B=ParkCSawB1, C=EMT.R1, S=Speed})
|
||||||
|
EmitMoveDataHead( 1, { Z=EMT.L3, B=EMT.R2, S=Speed})
|
||||||
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
@@ -1526,13 +1561,20 @@ function OnRapid()
|
|||||||
else
|
else
|
||||||
EmitMoveDataHead( 1, { X=-ParkCSawX1, Z=ParkCSawZ1, B=ParkCSawB1, C=ParkCSawC1, TRad=dTRad, TLen=dTLen, S=Speed})
|
EmitMoveDataHead( 1, { X=-ParkCSawX1, Z=ParkCSawZ1, B=ParkCSawB1, C=ParkCSawC1, TRad=dTRad, TLen=dTLen, S=Speed})
|
||||||
-- se motosega configurata per lavorazioni di fianco o circa orizzontale
|
-- se motosega configurata per lavorazioni di fianco o circa orizzontale
|
||||||
if dPosA == 0 or abs( EMT.R2) < 10 then
|
if abs( dPosA) < 0.1 or abs( EMT.R2) < 10 then
|
||||||
EmitMoveDataHead( 1, { X=EMT.L2, C=EMT.R1, S=Speed})
|
EmitMoveDataHead( 1, { X=EMT.L2, C=EMT.R1, S=Speed})
|
||||||
EmitMoveDataHead( 1, { Z=EMT.L3, B=EMT.R2, S=Speed})
|
EmitMoveDataHead( 1, { Z=EMT.L3, B=EMT.R2, S=Speed})
|
||||||
-- se circa verticale
|
-- se circa verticale
|
||||||
else
|
else
|
||||||
EmitMoveDataHead( 1, { X=EMT.L2, C=EMT.R1, S=Speed})
|
-- se arrivo da ZMAX e il pezzo è abbastanza alto, si ruota fuori
|
||||||
|
if EMT.ZMAX and EMT.SB > MaxVeOpen / 2 then
|
||||||
|
EmitMoveDataHead( 1, { X=-LimX1RotSaw, Z=ParkCSawZ1, B=ParkCSawB1, C=90, S=Speed})
|
||||||
EmitMoveDataHead( 1, { Z=EMT.L3, B=EMT.R2, S=Speed})
|
EmitMoveDataHead( 1, { Z=EMT.L3, B=EMT.R2, S=Speed})
|
||||||
|
EmitMoveDataHead( 1, { X=EMT.L2, C=EMT.R1, S=Speed})
|
||||||
|
else
|
||||||
|
EmitMoveDataHead( 1, { X=EMT.L2, Z=ParkCSawZ1, B=ParkCSawB1, C=EMT.R1, S=Speed})
|
||||||
|
EmitMoveDataHead( 1, { Z=EMT.L3, B=EMT.R2, S=Speed})
|
||||||
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
@@ -1603,13 +1645,20 @@ function OnRapid()
|
|||||||
else
|
else
|
||||||
EmitMoveDataHead( 2, { X=-ParkCSawX2, Z=ParkCSawZ2, B=ParkCSawB2, C=ParkCSawC2, TRad=dTRad, TLen=dTLen, S=Speed})
|
EmitMoveDataHead( 2, { X=-ParkCSawX2, Z=ParkCSawZ2, B=ParkCSawB2, C=ParkCSawC2, TRad=dTRad, TLen=dTLen, S=Speed})
|
||||||
-- se motosega configurata per lavorazioni di fianco o circa orizzontale
|
-- se motosega configurata per lavorazioni di fianco o circa orizzontale
|
||||||
if dPosA == 0 or abs( EMT.R2) < 10 then
|
if abs( dPosA) < 0.1 or abs( EMT.R2) < 10 then
|
||||||
EmitMoveDataHead( 2, { X=EMT.L2, C=EMT.R1, S=Speed})
|
EmitMoveDataHead( 2, { X=EMT.L2, C=EMT.R1, S=Speed})
|
||||||
EmitMoveDataHead( 2, { Z=EMT.L3, B=EMT.R2, S=Speed})
|
EmitMoveDataHead( 2, { Z=EMT.L3, B=EMT.R2, S=Speed})
|
||||||
-- se circa verticale
|
-- se circa verticale
|
||||||
else
|
else
|
||||||
EmitMoveDataHead( 2, { X=EMT.L2, C=EMT.R1, S=Speed})
|
-- se arrivo da ZMAX e il pezzo è abbastanza alto, si ruota fuori
|
||||||
|
if EMT.ZMAX and EMT.SB > MaxVeOpen / 2 then
|
||||||
|
EmitMoveDataHead( 2, { X=-LimX2RotSaw, Z=ParkCSawZ2, B=ParkCSawB2, C=90, S=Speed})
|
||||||
EmitMoveDataHead( 2, { Z=EMT.L3, B=EMT.R2, S=Speed})
|
EmitMoveDataHead( 2, { Z=EMT.L3, B=EMT.R2, S=Speed})
|
||||||
|
EmitMoveDataHead( 2, { X=EMT.L2, C=EMT.R1, S=Speed})
|
||||||
|
else
|
||||||
|
EmitMoveDataHead( 2, { X=EMT.L2, Z=ParkCSawZ2, B=ParkCSawB2, C=EMT.R1, S=Speed})
|
||||||
|
EmitMoveDataHead( 2, { Z=EMT.L3, B=EMT.R2, S=Speed})
|
||||||
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
@@ -2992,6 +3041,11 @@ function EmitZmax( bReset, bEnd, bXhome, PrevR1, PrevR2, bSplitCut, bUsePrevDelt
|
|||||||
-- ribadisco movimento perchè in G141 si aspetta sempre tutti i valori
|
-- ribadisco movimento perchè in G141 si aspetta sempre tutti i valori
|
||||||
local MovH = { X = -dXPos, Z = EMT.L3o, B = PrevR2, C = PrevR1}
|
local MovH = { X = -dXPos, Z = EMT.L3o, B = PrevR2, C = PrevR1}
|
||||||
EmitMoveDataHead( 1, MovH)
|
EmitMoveDataHead( 1, MovH)
|
||||||
|
-- se configurazione per lavorare dall'alto e il pezzo è abbastanza alto, si ruota fuori
|
||||||
|
if EMT.SB > MaxVeOpen / 2 and abs( EMT.R3) > 0.1 and abs( EMT.R2) > 70 then
|
||||||
|
EmitMoveDataHead( 1, { X=-LimX1RotSaw, C=90})
|
||||||
|
end
|
||||||
|
|
||||||
EmitMoveDataHead( 1, { Z=dSafeZ1, B=dSafeB1})
|
EmitMoveDataHead( 1, { Z=dSafeZ1, B=dSafeB1})
|
||||||
if EMT.R3 and abs( EMT.R3) < 0.1 then
|
if EMT.R3 and abs( EMT.R3) < 0.1 then
|
||||||
EmitMoveDataHead( 1, { Z=ParkCSawZ1})
|
EmitMoveDataHead( 1, { Z=ParkCSawZ1})
|
||||||
@@ -3053,6 +3107,11 @@ function EmitZmax( bReset, bEnd, bXhome, PrevR1, PrevR2, bSplitCut, bUsePrevDelt
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
-- se configurazione per lavorare dall'alto e il pezzo è abbastanza alto, si ruota fuori
|
||||||
|
if EMT.SB > MaxVeOpen / 2 and abs( EMT.R3) > 0.1 and abs( EMT.R2) > 70 then
|
||||||
|
EmitMoveDataHead( 1, { X=-LimX1RotSaw, C=90})
|
||||||
|
end
|
||||||
|
|
||||||
EmitMoveDataHead( 1, { Z=dSafeZ1, B=dSafeB1})
|
EmitMoveDataHead( 1, { Z=dSafeZ1, B=dSafeB1})
|
||||||
if EMT.R3 and abs( EMT.R3) < 0.1 then
|
if EMT.R3 and abs( EMT.R3) < 0.1 then
|
||||||
EmitMoveDataHead( 1, { Z=ParkCSawZ1})
|
EmitMoveDataHead( 1, { Z=ParkCSawZ1})
|
||||||
@@ -3128,6 +3187,11 @@ function EmitZmax( bReset, bEnd, bXhome, PrevR1, PrevR2, bSplitCut, bUsePrevDelt
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
-- se configurazione per lavorare dall'alto e il pezzo è abbastanza alto, si ruota fuori
|
||||||
|
if EMT.SB > MaxVeOpen / 2 and abs( EMT.R3) > 0.1 and abs( EMT.R2) > 70 then
|
||||||
|
EmitMoveDataHead( 2, { X=-LimX2RotSaw, C=90})
|
||||||
|
end
|
||||||
|
|
||||||
EmitMoveDataHead( 2, { Z=dSafeZ2, B=dSafeB2})
|
EmitMoveDataHead( 2, { Z=dSafeZ2, B=dSafeB2})
|
||||||
if EMT.R3 and abs( EMT.R3) < 0.1 then
|
if EMT.R3 and abs( EMT.R3) < 0.1 then
|
||||||
EmitMoveDataHead( 2, { Z=ParkCSawZ2})
|
EmitMoveDataHead( 2, { Z=ParkCSawZ2})
|
||||||
@@ -3380,8 +3444,22 @@ function PreselectNextDiffHead( nMchId, sHead)
|
|||||||
|
|
||||||
-- gruppo della testa
|
-- gruppo della testa
|
||||||
local nHSet = GetHeadSet( sHead)
|
local nHSet = GetHeadSet( sHead)
|
||||||
|
|
||||||
|
local bVerifyPresel = true
|
||||||
|
if not EMT.LOAD then
|
||||||
|
-- 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
|
||||||
|
end
|
||||||
|
|
||||||
-- flag preselezione eseguita
|
-- flag preselezione eseguita
|
||||||
local bPresel = false
|
local bPresel = false
|
||||||
|
|
||||||
|
if bVerifyPresel then
|
||||||
-- recupero lavorazione successiva
|
-- recupero lavorazione successiva
|
||||||
local nNextMchId = EgtGetNextActiveOperation( nMchId)
|
local nNextMchId = EgtGetNextActiveOperation( nMchId)
|
||||||
while nNextMchId do
|
while nNextMchId do
|
||||||
@@ -3441,8 +3519,18 @@ function PreselectNextDiffHead( nMchId, sHead)
|
|||||||
-- ripristino stato corrente
|
-- ripristino stato corrente
|
||||||
EgtSetCurrMachining( EMT.MCHID)
|
EgtSetCurrMachining( EMT.MCHID)
|
||||||
EgtTdbSetCurrTool( EMT.TOOL)
|
EgtTdbSetCurrTool( EMT.TOOL)
|
||||||
|
end
|
||||||
-- se non eseguita preselezione
|
-- se non eseguita preselezione
|
||||||
if not bPresel then
|
if not bPresel then
|
||||||
|
-- se era stato preselezionato un utensile e adesso non posso preselezionare, attendo la testa
|
||||||
|
if EMT.PRESEL_H2 then
|
||||||
|
EmitMoveWaitHead( 2)
|
||||||
|
EMT.PRESEL_H2 = nil
|
||||||
|
elseif EMT.PRESEL_H1 then
|
||||||
|
EmitMoveWaitHead( 1)
|
||||||
|
EMT.PRESEL_H1 = nil
|
||||||
|
-- se non era stato preselezionato nulla
|
||||||
|
else
|
||||||
-- mi assicuro che l'altra testa sia in parcheggio
|
-- mi assicuro che l'altra testa sia in parcheggio
|
||||||
if nHSet == 1 then
|
if nHSet == 1 then
|
||||||
-- non può essere la sega a catena
|
-- non può essere la sega a catena
|
||||||
@@ -3458,6 +3546,13 @@ function PreselectNextDiffHead( nMchId, sHead)
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
else
|
||||||
|
if nHSet == 1 then
|
||||||
|
EMT.PRESEL_H2 = true
|
||||||
|
elseif nHSet == 1 then
|
||||||
|
EMT.PRESEL_H2 = true
|
||||||
|
end
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
---------------------------------------------------------------------
|
---------------------------------------------------------------------
|
||||||
|
|||||||
+37
-6
@@ -1217,15 +1217,22 @@ function OnSimulMoveStart()
|
|||||||
EMT.CHSAW_OUT = nil
|
EMT.CHSAW_OUT = nil
|
||||||
end
|
end
|
||||||
-- se motosega configurata per lavorazioni di fianco o circa orizzontale
|
-- se motosega configurata per lavorazioni di fianco o circa orizzontale
|
||||||
if dPosA == 0 or abs( EMT.R2) < 10 then
|
if abs( dPosA) < 0.1 or abs( EMT.R2) < 10 then
|
||||||
SimulMoveAxes( 'X1', EMT.L2, MCH_SIM_STEP.RAPID, 'C1', EMT.R1, MCH_SIM_STEP.COLLROT)
|
SimulMoveAxes( 'X1', EMT.L2, MCH_SIM_STEP.RAPID, 'C1', EMT.R1, MCH_SIM_STEP.COLLROT)
|
||||||
SimulMoveAxes( 'Z1', EMT.L3, MCH_SIM_STEP.RAPID, 'B1', EMT.R2, MCH_SIM_STEP.COLLROT)
|
SimulMoveAxes( 'Z1', EMT.L3, MCH_SIM_STEP.RAPID, 'B1', EMT.R2, MCH_SIM_STEP.COLLROT)
|
||||||
-- se circa verticale
|
-- se circa verticale
|
||||||
|
else
|
||||||
|
-- se arrivo da ZMAX e il pezzo è abbastanza alto, si ruota fuori
|
||||||
|
if EMT.ZMAX and EMT.SB > MaxVeOpen / 2 then
|
||||||
|
SimulMoveAxes( 'X1', LimX1RotSaw, MCH_SIM_STEP.RAPID, 'C1', 90, MCH_SIM_STEP.COLLROT)
|
||||||
|
SimulMoveAxes( 'Z1', EMT.L3, MCH_SIM_STEP.RAPID, 'B1', EMT.R2, MCH_SIM_STEP.COLLROT)
|
||||||
|
SimulMoveAxes( 'X1', EMT.L2, MCH_SIM_STEP.RAPID, 'C1', EMT.R1, MCH_SIM_STEP.COLLROT)
|
||||||
else
|
else
|
||||||
SimulMoveAxes( 'X1', EMT.L2, MCH_SIM_STEP.RAPID, 'C1', EMT.R1, MCH_SIM_STEP.COLLROT)
|
SimulMoveAxes( 'X1', EMT.L2, MCH_SIM_STEP.RAPID, 'C1', EMT.R1, MCH_SIM_STEP.COLLROT)
|
||||||
SimulMoveAxes( 'Z1', EMT.L3, MCH_SIM_STEP.RAPID, 'B1', EMT.R2, MCH_SIM_STEP.COLLROT)
|
SimulMoveAxes( 'Z1', EMT.L3, MCH_SIM_STEP.RAPID, 'B1', EMT.R2, MCH_SIM_STEP.COLLROT)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
end
|
||||||
-- altrimenti testa 2
|
-- altrimenti testa 2
|
||||||
else
|
else
|
||||||
if GetHeadTCSet( EMT.HEAD, EMT.TCPOS) == 'Head1_TC2' then
|
if GetHeadTCSet( EMT.HEAD, EMT.TCPOS) == 'Head1_TC2' then
|
||||||
@@ -1291,15 +1298,22 @@ function OnSimulMoveStart()
|
|||||||
EMT.CHSAW_OUT = nil
|
EMT.CHSAW_OUT = nil
|
||||||
end
|
end
|
||||||
-- se motosega configurata per lavorazioni di fianco o circa orizzontale
|
-- se motosega configurata per lavorazioni di fianco o circa orizzontale
|
||||||
if dPosA == 0 or abs( EMT.R2) < 10 then
|
if abs( dPosA) < 0.1 or abs( EMT.R2) < 10 then
|
||||||
SimulMoveAxes( 'X1', EMT.L2, MCH_SIM_STEP.RAPID, 'C1', EMT.R1, MCH_SIM_STEP.COLLROT)
|
SimulMoveAxes( 'X1', EMT.L2, MCH_SIM_STEP.RAPID, 'C1', EMT.R1, MCH_SIM_STEP.COLLROT)
|
||||||
SimulMoveAxes( 'Z1', EMT.L3, MCH_SIM_STEP.RAPID, 'B1', EMT.R2, MCH_SIM_STEP.COLLROT)
|
SimulMoveAxes( 'Z1', EMT.L3, MCH_SIM_STEP.RAPID, 'B1', EMT.R2, MCH_SIM_STEP.COLLROT)
|
||||||
-- se circa verticale
|
-- se circa verticale
|
||||||
|
else
|
||||||
|
-- se arrivo da ZMAX e il pezzo è abbastanza alto, si ruota fuori
|
||||||
|
if EMT.ZMAX and EMT.SB > MaxVeOpen / 2 then
|
||||||
|
SimulMoveAxes( 'X1', LimX1RotSaw, MCH_SIM_STEP.RAPID, 'C1', 90, MCH_SIM_STEP.COLLROT)
|
||||||
|
SimulMoveAxes( 'Z1', EMT.L3, MCH_SIM_STEP.RAPID, 'B1', EMT.R2, MCH_SIM_STEP.COLLROT)
|
||||||
|
SimulMoveAxes( 'X1', EMT.L2, MCH_SIM_STEP.RAPID, 'C1', EMT.R1, MCH_SIM_STEP.COLLROT)
|
||||||
else
|
else
|
||||||
SimulMoveAxes( 'X1', EMT.L2, MCH_SIM_STEP.RAPID, 'C1', EMT.R1, MCH_SIM_STEP.COLLROT)
|
SimulMoveAxes( 'X1', EMT.L2, MCH_SIM_STEP.RAPID, 'C1', EMT.R1, MCH_SIM_STEP.COLLROT)
|
||||||
SimulMoveAxes( 'Z1', EMT.L3, MCH_SIM_STEP.RAPID, 'B1', EMT.R2, MCH_SIM_STEP.COLLROT)
|
SimulMoveAxes( 'Z1', EMT.L3, MCH_SIM_STEP.RAPID, 'B1', EMT.R2, MCH_SIM_STEP.COLLROT)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
end
|
||||||
else
|
else
|
||||||
-- Dati
|
-- Dati
|
||||||
local B2Pos = EgtGetAxisPos( 'B2')
|
local B2Pos = EgtGetAxisPos( 'B2')
|
||||||
@@ -1375,10 +1389,16 @@ function OnSimulMoveStart()
|
|||||||
EMT.CHSAW_OUT = nil
|
EMT.CHSAW_OUT = nil
|
||||||
end
|
end
|
||||||
-- se motosega configurata per lavorazioni di fianco o circa orizzontale
|
-- se motosega configurata per lavorazioni di fianco o circa orizzontale
|
||||||
if dPosA == 0 or abs( EMT.R2) < 10 then
|
if abs( dPosA) < 0.1 or abs( EMT.R2) < 10 then
|
||||||
SimulMoveAxes( 'X2', EMT.L2, MCH_SIM_STEP.RAPID, 'C2', EMT.R1, MCH_SIM_STEP.COLLROT)
|
SimulMoveAxes( 'X2', EMT.L2, MCH_SIM_STEP.RAPID, 'C2', EMT.R1, MCH_SIM_STEP.COLLROT)
|
||||||
SimulMoveAxes( 'Z2', EMT.L3, MCH_SIM_STEP.RAPID, 'B2', EMT.R2, MCH_SIM_STEP.COLLROT)
|
SimulMoveAxes( 'Z2', EMT.L3, MCH_SIM_STEP.RAPID, 'B2', EMT.R2, MCH_SIM_STEP.COLLROT)
|
||||||
-- se circa verticale
|
-- se circa verticale
|
||||||
|
else
|
||||||
|
-- se arrivo da ZMAX e il pezzo è abbastanza alto, si ruota fuori
|
||||||
|
if EMT.ZMAX and EMT.SB > MaxVeOpen / 2 then
|
||||||
|
SimulMoveAxes( 'X2', LimX1RotSaw, MCH_SIM_STEP.RAPID, 'C2', 90, MCH_SIM_STEP.COLLROT)
|
||||||
|
SimulMoveAxes( 'Z2', EMT.L3, MCH_SIM_STEP.RAPID, 'B2', EMT.R2, MCH_SIM_STEP.COLLROT)
|
||||||
|
SimulMoveAxes( 'X2', EMT.L2, MCH_SIM_STEP.RAPID, 'C2', EMT.R1, MCH_SIM_STEP.COLLROT)
|
||||||
else
|
else
|
||||||
SimulMoveAxes( 'X2', EMT.L2, MCH_SIM_STEP.RAPID, 'C2', EMT.R1, MCH_SIM_STEP.COLLROT)
|
SimulMoveAxes( 'X2', EMT.L2, MCH_SIM_STEP.RAPID, 'C2', EMT.R1, MCH_SIM_STEP.COLLROT)
|
||||||
SimulMoveAxes( 'Z2', EMT.L3, MCH_SIM_STEP.RAPID, 'B2', EMT.R2, MCH_SIM_STEP.COLLROT)
|
SimulMoveAxes( 'Z2', EMT.L3, MCH_SIM_STEP.RAPID, 'B2', EMT.R2, MCH_SIM_STEP.COLLROT)
|
||||||
@@ -1387,6 +1407,7 @@ function OnSimulMoveStart()
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
end
|
||||||
-- se lavorazione split, muovo per riaggancio del carro Y1
|
-- se lavorazione split, muovo per riaggancio del carro Y1
|
||||||
if EMT.SPLIT_Y1DELTA then
|
if EMT.SPLIT_Y1DELTA then
|
||||||
EMT.Y1DELTA = EMT.SPLIT_Y1DELTA
|
EMT.Y1DELTA = EMT.SPLIT_Y1DELTA
|
||||||
@@ -1872,6 +1893,11 @@ function ExecMoveZmax( bMchSplit, btoXHome)
|
|||||||
end
|
end
|
||||||
-- altrimenti sega a catena
|
-- altrimenti sega a catena
|
||||||
else
|
else
|
||||||
|
-- se configurazione per lavorare dall'alto e il pezzo è abbastanza alto, si ruota fuori
|
||||||
|
if EMT.SB > MaxVeOpen / 2 and abs( EMT.R3) > 0.1 and abs( EMT.R2) > 70 then
|
||||||
|
SimulMoveAxes( 'X1', LimX1RotSaw, MCH_SIM_STEP.RAPID, 'C1', 90, MCH_SIM_STEP.COLLROT)
|
||||||
|
end
|
||||||
|
|
||||||
SimulMoveAxes( 'Z1', HomeZ, MCH_SIM_STEP.RAPID, 'B1', HomeB, MCH_SIM_STEP.COLLROT)
|
SimulMoveAxes( 'Z1', HomeZ, MCH_SIM_STEP.RAPID, 'B1', HomeB, MCH_SIM_STEP.COLLROT)
|
||||||
if EMT.R3 and abs( EMT.R3) < 0.1 then
|
if EMT.R3 and abs( EMT.R3) < 0.1 then
|
||||||
SimulMoveAxis( 'Z1', ParkCSawZ1, MCH_SIM_STEP.RAPID)
|
SimulMoveAxis( 'Z1', ParkCSawZ1, MCH_SIM_STEP.RAPID)
|
||||||
@@ -1913,6 +1939,10 @@ function ExecMoveZmax( bMchSplit, btoXHome)
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
-- se configurazione per lavorare dall'alto e il pezzo è abbastanza alto, si ruota fuori
|
||||||
|
if EMT.SB > MaxVeOpen / 2 and abs( EMT.R3) > 0.1 and abs( EMT.R2) > 70 then
|
||||||
|
SimulMoveAxes( 'X1', LimX1RotSaw, MCH_SIM_STEP.RAPID, 'C1', 90, MCH_SIM_STEP.COLLROT)
|
||||||
|
end
|
||||||
SimulMoveAxes( 'Z1', HomeZ, MCH_SIM_STEP.RAPID, 'B1', HomeB, MCH_SIM_STEP.COLLROT)
|
SimulMoveAxes( 'Z1', HomeZ, MCH_SIM_STEP.RAPID, 'B1', HomeB, MCH_SIM_STEP.COLLROT)
|
||||||
if EMT.R3 and abs( EMT.R3) < 0.1 then
|
if EMT.R3 and abs( EMT.R3) < 0.1 then
|
||||||
SimulMoveAxis( 'Z1', ParkCSawZ1, MCH_SIM_STEP.RAPID)
|
SimulMoveAxis( 'Z1', ParkCSawZ1, MCH_SIM_STEP.RAPID)
|
||||||
@@ -1922,9 +1952,6 @@ function ExecMoveZmax( bMchSplit, btoXHome)
|
|||||||
ShowToolInTcPos( EMT.TCPOS, true)
|
ShowToolInTcPos( EMT.TCPOS, true)
|
||||||
-- nascondo l'utensile sulla testa
|
-- nascondo l'utensile sulla testa
|
||||||
EgtSetMode( EgtGetHeadId( EMT.HEAD or '') or GDB_ID.NULL, GDB_MD.HIDDEN)
|
EgtSetMode( EgtGetHeadId( EMT.HEAD or '') or GDB_ID.NULL, GDB_MD.HIDDEN)
|
||||||
EMT.PREVTOOL_H1 = nil
|
|
||||||
EMT.PREVHEAD_H1 = nil
|
|
||||||
EMT.PREVTCPOS_H1 = nil
|
|
||||||
EMT.CHSAW_OUT = true
|
EMT.CHSAW_OUT = true
|
||||||
EMT.XHOME = true
|
EMT.XHOME = true
|
||||||
end
|
end
|
||||||
@@ -1970,6 +1997,10 @@ function ExecMoveZmax( bMchSplit, btoXHome)
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
-- se configurazione per lavorare dall'alto e il pezzo è abbastanza alto, si ruota fuori
|
||||||
|
if EMT.SB > MaxVeOpen / 2 and abs( EMT.R3) > 0.1 and abs( EMT.R2) > 70 then
|
||||||
|
SimulMoveAxes( 'X2', LimX2RotSaw, MCH_SIM_STEP.RAPID, 'C2', 90, MCH_SIM_STEP.COLLROT)
|
||||||
|
end
|
||||||
SimulMoveAxes( 'Z2', HomeZ, MCH_SIM_STEP.RAPID, 'B2', HomeB, MCH_SIM_STEP.COLLROT)
|
SimulMoveAxes( 'Z2', HomeZ, MCH_SIM_STEP.RAPID, 'B2', HomeB, MCH_SIM_STEP.COLLROT)
|
||||||
if EMT.R3 and abs( EMT.R3) < 0.1 then
|
if EMT.R3 and abs( EMT.R3) < 0.1 then
|
||||||
SimulMoveAxis( 'Z2', ParkCSawZ2, MCH_SIM_STEP.RAPID)
|
SimulMoveAxis( 'Z2', ParkCSawZ2, MCH_SIM_STEP.RAPID)
|
||||||
|
|||||||
+8
-9
@@ -42,11 +42,11 @@
|
|||||||
|
|
||||||
-- Intestazioni
|
-- Intestazioni
|
||||||
require( 'EmtGenerator')
|
require( 'EmtGenerator')
|
||||||
EgtEnableDebug( true)
|
EgtEnableDebug( false)
|
||||||
|
|
||||||
PP_VER = '3.1c1_DEV1'
|
PP_VER = '3.1f5'
|
||||||
PP_NVER = '3.1.3.1'
|
PP_NVER = '3.1.6.5'
|
||||||
MIN_MACH_VER = '2.5k1'
|
MIN_MACH_VER = '2.7a1'
|
||||||
MACH_NAME = EgtGetCurrMachineName()
|
MACH_NAME = EgtGetCurrMachineName()
|
||||||
|
|
||||||
-- Carico i dati globali
|
-- Carico i dati globali
|
||||||
@@ -116,6 +116,7 @@ SawC2Offs = 0
|
|||||||
SawB2Offs = 0
|
SawB2Offs = 0
|
||||||
MinX1 = 700
|
MinX1 = 700
|
||||||
MaxX1 = 2735
|
MaxX1 = 2735
|
||||||
|
Limit_T1_Presel_T2 = MinX1
|
||||||
MinZ1 = -1550
|
MinZ1 = -1550
|
||||||
MaxZ1 = 0
|
MaxZ1 = 0
|
||||||
MinC1 = -275
|
MinC1 = -275
|
||||||
@@ -140,6 +141,7 @@ ParkCSaw0C1 = 0
|
|||||||
ParkCSawB1 = 0
|
ParkCSawB1 = 0
|
||||||
MinX2 = 0
|
MinX2 = 0
|
||||||
MaxX2 = 2035
|
MaxX2 = 2035
|
||||||
|
Limit_T2_Presel_T1 = MaxX2
|
||||||
MinZ2 = -1550
|
MinZ2 = -1550
|
||||||
MaxZ2 = 0
|
MaxZ2 = 0
|
||||||
MinC2 = -275
|
MinC2 = -275
|
||||||
@@ -267,14 +269,14 @@ if EgtExistsFile( sData) then
|
|||||||
if Machine.Offsets.SAW2OFFSZ then Saw2OffsZ = Machine.Offsets.SAW2OFFSZ end
|
if Machine.Offsets.SAW2OFFSZ then Saw2OffsZ = Machine.Offsets.SAW2OFFSZ end
|
||||||
if Machine.Offsets.DEFTCPOS1 then DefTcPos1 = ( 'T' .. Machine.Offsets.DEFTCPOS1) end
|
if Machine.Offsets.DEFTCPOS1 then DefTcPos1 = ( 'T' .. Machine.Offsets.DEFTCPOS1) end
|
||||||
if Machine.Offsets.DEFTCPOS2 then DefTcPos2 = ( 'T' .. Machine.Offsets.DEFTCPOS2) end
|
if Machine.Offsets.DEFTCPOS2 then DefTcPos2 = ( 'T' .. Machine.Offsets.DEFTCPOS2) end
|
||||||
|
if Machine.Offsets.LIMIT_T1_PRESEL_T2 then Limit_T1_Presel_T2 = Machine.Offsets.LIMIT_T1_PRESEL_T2 end
|
||||||
|
if Machine.Offsets.LIMIT_T2_PRESEL_T1 then Limit_T2_Presel_T1 = Machine.Offsets.LIMIT_T2_PRESEL_T1 end
|
||||||
if Machine.Offsets.NOULOAD then MaxUnloadLen = Machine.Offsets.NOULOAD end
|
if Machine.Offsets.NOULOAD then MaxUnloadLen = Machine.Offsets.NOULOAD end
|
||||||
if Machine.Offsets.MAXFEEDPINZE then MaxFeedPinze = Machine.Offsets.MAXFEEDPINZE end
|
if Machine.Offsets.MAXFEEDPINZE then MaxFeedPinze = Machine.Offsets.MAXFEEDPINZE end
|
||||||
if Machine.Offsets.MAXACC then MaxAcc = Machine.Offsets.MAXACC end
|
if Machine.Offsets.MAXACC then MaxAcc = Machine.Offsets.MAXACC end
|
||||||
if Machine.Offsets.MINACC then MinAcc = Machine.Offsets.MINACC end
|
if Machine.Offsets.MINACC then MinAcc = Machine.Offsets.MINACC end
|
||||||
if Machine.Offsets.COEFF_STIMATEMPI and Machine.Offsets.COEFF_STIMATEMPI > 0 then EstimationRapidMultiplier = Machine.Offsets.COEFF_STIMATEMPI end
|
if Machine.Offsets.COEFF_STIMATEMPI and Machine.Offsets.COEFF_STIMATEMPI > 0 then EstimationRapidMultiplier = Machine.Offsets.COEFF_STIMATEMPI end
|
||||||
if Machine.Offsets.MAXFEEDPINZE then MaxFeedPinze = Machine.Offsets.MAXFEEDPINZE end
|
if Machine.Offsets.MAXFEEDPINZE then MaxFeedPinze = Machine.Offsets.MAXFEEDPINZE end
|
||||||
if Machine.Offsets.MAXACC then MaxAcc = Machine.Offsets.MAXACC end
|
|
||||||
if Machine.Offsets.MINACC then MinAcc = Machine.Offsets.MINACC end
|
|
||||||
if Machine.Offsets.CHIUDI_PINZE_2_3_SCAMBIO then ForceToCloseRollersGate = Machine.Offsets.CHIUDI_PINZE_2_3_SCAMBIO == 1 end
|
if Machine.Offsets.CHIUDI_PINZE_2_3_SCAMBIO then ForceToCloseRollersGate = Machine.Offsets.CHIUDI_PINZE_2_3_SCAMBIO == 1 end
|
||||||
if Machine.Offsets.WOOD_DENSITY then WoodDensity = Machine.Offsets.WOOD_DENSITY end
|
if Machine.Offsets.WOOD_DENSITY then WoodDensity = Machine.Offsets.WOOD_DENSITY end
|
||||||
if Machine.Offsets.PROBE then Probe = Machine.Offsets.PROBE end -- Tastatore su entrembe le teste. 1 = solo testa 1, 2 = solo testa 2, 3 = entrambe le teste
|
if Machine.Offsets.PROBE then Probe = Machine.Offsets.PROBE end -- Tastatore su entrembe le teste. 1 = solo testa 1, 2 = solo testa 2, 3 = entrambe le teste
|
||||||
@@ -966,9 +968,6 @@ function OnSetHead()
|
|||||||
-- aggiustamenti per distanza
|
-- aggiustamenti per distanza
|
||||||
local dDist = EgtIf( EMC.DIST and abs( EMC.DIST) > 1, EMC.DIST, ChSawLen)
|
local dDist = EgtIf( EMC.DIST and abs( EMC.DIST) > 1, EMC.DIST, ChSawLen)
|
||||||
EmtModifyExitPosition( EMC.HEAD, EMC.EXIT, Point3d( 0, 0, -dDist))
|
EmtModifyExitPosition( EMC.HEAD, EMC.EXIT, Point3d( 0, 0, -dDist))
|
||||||
local vtMove = Point3d( 0, 0, -dDist) - Point3d( EMC.EXITPOS)
|
|
||||||
local ExitId = EgtGetFirstNameInGroup( EgtGetHeadId( EMC.HEAD), 'T'..tostring( EMC.EXIT))
|
|
||||||
EgtMove( ExitId, vtMove)
|
|
||||||
-- recupero valore asse A bloccato
|
-- recupero valore asse A bloccato
|
||||||
local sVal = EgtGetMachiningParam( MCH_MP.BLOCKEDAXIS)
|
local sVal = EgtGetMachiningParam( MCH_MP.BLOCKEDAXIS)
|
||||||
local CSawPosA = tonumber( sVal:sub( 3) or '')
|
local CSawPosA = tonumber( sVal:sub( 3) or '')
|
||||||
|
|||||||
@@ -1,5 +1,17 @@
|
|||||||
==== Common_ONE-PF Update Log ====
|
==== Common_ONE-PF Update Log ====
|
||||||
|
|
||||||
|
Versione 3.1f5 (26/06/2026)
|
||||||
|
- (SIM-GEN) Se tasca con motosega in faccia sopra e pezzo alto, si ruota in sicurezza.
|
||||||
|
|
||||||
|
Versione 3.1f4 (17/06/2026)
|
||||||
|
- (MLDE-GEN) Corretta preselezione in caso di testa in lavoro troppo vicina a quella che sta preselezionando. Da aggiungere in MLDE parametri 'Limit_T1_Presel_T2' e 'Limit_T2_Presel_T1'
|
||||||
|
|
||||||
|
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.1f5', -- 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