Compare commits
5 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| a399b585b2 | |||
| 418a649d59 | |||
| 0b11fb0c60 | |||
| c11a835b98 | |||
| 60c3293429 |
@@ -1229,6 +1229,14 @@ function OnRapid()
|
|||||||
-- calcolo per piano generico
|
-- calcolo per piano generico
|
||||||
CalcInterpPlane()
|
CalcInterpPlane()
|
||||||
EMT.REFLOC = true
|
EMT.REFLOC = true
|
||||||
|
-- salvo posizione attuale
|
||||||
|
local OldL1 = EMT.L1
|
||||||
|
local OldL2 = EMT.L2
|
||||||
|
local OldL3 = EMT.L3
|
||||||
|
-- imposto posizione precedente (non contiene l'offset in X per sovramateriale di testa EMT.X_OFF)
|
||||||
|
EMT.L1 = EMT.L1o
|
||||||
|
EMT.L2 = EMT.L2o
|
||||||
|
EMT.L3 = EMT.L3o
|
||||||
-- trasformo i punti nel piano
|
-- trasformo i punti nel piano
|
||||||
MyAdjustLinearAxes()
|
MyAdjustLinearAxes()
|
||||||
EmtAdjustRotaryAxes()
|
EmtAdjustRotaryAxes()
|
||||||
@@ -1241,10 +1249,6 @@ function OnRapid()
|
|||||||
|
|
||||||
EMT.PLANEACTIVE = true
|
EMT.PLANEACTIVE = true
|
||||||
|
|
||||||
-- annullo precedenti per forzare scrittura
|
|
||||||
EMT.R1p = nil
|
|
||||||
EMT.R2p = nil
|
|
||||||
|
|
||||||
-- emissione movimento
|
-- emissione movimento
|
||||||
local sAxes = EmtGetAxis('L1')..EmtGetAxis('L2')..EmtGetAxis('L3')..
|
local sAxes = EmtGetAxis('L1')..EmtGetAxis('L2')..EmtGetAxis('L3')..
|
||||||
EmtGetAxis('R2')..EmtGetAxis('R1')
|
EmtGetAxis('R2')..EmtGetAxis('R1')
|
||||||
|
|||||||
+12
-5
@@ -608,7 +608,7 @@ function OnSimulToolSelect( dPosA)
|
|||||||
end
|
end
|
||||||
|
|
||||||
---------------------------------------------------------------------
|
---------------------------------------------------------------------
|
||||||
function OnSimulToolDeselect( dPrevA)
|
function OnSimulToolDeselect( dPrevA, bLastRise)
|
||||||
|
|
||||||
-- se ToolDeselect chiamata da MLPE, bisogna scaricare perchè è ultimo movimento di rise e poi si cambia utensile
|
-- se ToolDeselect chiamata da MLPE, bisogna scaricare perchè è ultimo movimento di rise e poi si cambia utensile
|
||||||
if dPrevA then
|
if dPrevA then
|
||||||
@@ -627,7 +627,7 @@ function OnSimulToolDeselect( dPrevA)
|
|||||||
OnSetHead()
|
OnSetHead()
|
||||||
EMC = OrigEMC
|
EMC = OrigEMC
|
||||||
-- se c'è prossimo utensile, oppure se non c'è e c'è un movimento carrelli
|
-- se c'è prossimo utensile, oppure se non c'è e c'è un movimento carrelli
|
||||||
if sTool or ( not sTool and bCarrMove) then
|
if sTool or ( not sTool and bCarrMove) or not bLastRise then
|
||||||
|
|
||||||
local dHomeX1 = EgtGetAxisHomePos( 'X1')
|
local dHomeX1 = EgtGetAxisHomePos( 'X1')
|
||||||
local dHomeC1 = EgtGetAxisHomePos( 'C1')
|
local dHomeC1 = EgtGetAxisHomePos( 'C1')
|
||||||
@@ -654,7 +654,7 @@ function OnSimulToolDeselect( dPrevA)
|
|||||||
OnSetHead()
|
OnSetHead()
|
||||||
EMC = OrigEMC
|
EMC = OrigEMC
|
||||||
-- se c'è prossimo utensile, oppure se non c'è e c'è un movimento carrelli
|
-- se c'è prossimo utensile, oppure se non c'è e c'è un movimento carrelli
|
||||||
if sTool or ( not sTool and bCarrMove) then
|
if sTool or ( not sTool and bCarrMove) or not bLastRise then
|
||||||
|
|
||||||
local dHomeX2 = EgtGetAxisHomePos( 'X2')
|
local dHomeX2 = EgtGetAxisHomePos( 'X2')
|
||||||
local dHomeC2 = EgtGetAxisHomePos( 'C2')
|
local dHomeC2 = EgtGetAxisHomePos( 'C2')
|
||||||
@@ -1233,7 +1233,7 @@ function OnSimulMoveEnd()
|
|||||||
local bLastRise = EgtGetInfo( EMT.MOVEID, 'LastRise', 'b')
|
local bLastRise = EgtGetInfo( EMT.MOVEID, 'LastRise', 'b')
|
||||||
-- se ultimo rapido e motosega, si va in home
|
-- se ultimo rapido e motosega, si va in home
|
||||||
if bLastRise and HeadIsChainSaw( EMT.HEAD) then
|
if bLastRise and HeadIsChainSaw( EMT.HEAD) then
|
||||||
OnSimulToolDeselect( EMT.R3)
|
OnSimulToolDeselect( EMT.R3, true)
|
||||||
EMT.CHSAW_OUT = true
|
EMT.CHSAW_OUT = true
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
@@ -1442,6 +1442,13 @@ end
|
|||||||
function ExecMoveHome( bNearV)
|
function ExecMoveHome( bNearV)
|
||||||
-- se richiesto, avvicino i rulli
|
-- se richiesto, avvicino i rulli
|
||||||
if bNearV then
|
if bNearV then
|
||||||
|
-- se ho motosega, devo scaricare
|
||||||
|
if HeadIsChainSaw( EMT.HEAD) then
|
||||||
|
-- recupero il valore dell'asse virtuale bloccato A
|
||||||
|
local dPosA = GetCurrChainSawingVirtualAxis()
|
||||||
|
OnSimulToolDeselect( dPosA)
|
||||||
|
EMT.CHSAW_OUT = true
|
||||||
|
end
|
||||||
-- sistemo i rulli
|
-- sistemo i rulli
|
||||||
ExecOpenRoller( 1)
|
ExecOpenRoller( 1)
|
||||||
ExecOpenRoller( 2)
|
ExecOpenRoller( 2)
|
||||||
@@ -2650,7 +2657,7 @@ function FindNextToolOnHeadSet( nHSet, bFirst)
|
|||||||
end
|
end
|
||||||
local sNextHead = EgtTdbGetCurrToolParam( MCH_TP.HEAD)
|
local sNextHead = EgtTdbGetCurrToolParam( MCH_TP.HEAD)
|
||||||
if GetHeadSet( sNextHead) == nHSet then
|
if GetHeadSet( sNextHead) == nHSet then
|
||||||
if EMT.TOOL ~= sNextTool then
|
if CurrTool ~= sNextTool then
|
||||||
if not HeadIsChainSaw( sNextHead) then
|
if not HeadIsChainSaw( sNextHead) then
|
||||||
sHead = sNextHead
|
sHead = sNextHead
|
||||||
sTool = sNextTool
|
sTool = sNextTool
|
||||||
|
|||||||
+14
-9
@@ -279,11 +279,10 @@ function OnSpecialLink()
|
|||||||
EmtAddClimb( EMC.NEXTMCHID, EMC.NEXTMAIN, { EMC.L1, EMC.L2p, EMC.L3p, EMC.R1p, EMC.R2p, EMC.R3}, 30, 2, 2, 'FirstClimb=1;')
|
EmtAddClimb( EMC.NEXTMCHID, EMC.NEXTMAIN, { EMC.L1, EMC.L2p, EMC.L3p, EMC.R1p, EMC.R2p, EMC.R3}, 30, 2, 2, 'FirstClimb=1;')
|
||||||
EmtAddClimb( EMC.NEXTMCHID, EMC.NEXTMAIN, { EMC.L1, EMC.L2, EMC.L3p, EMC.R1, EMC.R2p, EMC.R3}, 30, 2, 2)
|
EmtAddClimb( EMC.NEXTMCHID, EMC.NEXTMAIN, { EMC.L1, EMC.L2, EMC.L3p, EMC.R1, EMC.R2p, EMC.R3}, 30, 2, 2)
|
||||||
if abs( EMC.R3) < 0.1 then
|
if abs( EMC.R3) < 0.1 then
|
||||||
EmtAddClimb( EMC.NEXTMCHID, EMC.NEXTMAIN, { EMC.L1, EMC.L2, ParkCSaw0Z1, EMC.R1, EMC.R2, EMC.R3}, 30, 2, 2)
|
EmtAddClimb( EMC.NEXTMCHID, EMC.NEXTMAIN, { EMC.L1, EMC.L2, ParkCSaw0Z1, EMC.R1, EMC.R2, EMC.R3}, 31, 2, 2, 'LastClimb=1;')
|
||||||
else
|
else
|
||||||
EmtAddClimb( EMC.NEXTMCHID, EMC.NEXTMAIN, { EMC.L1, EMC.L2, EMC.L3p, EMC.R1, EMC.R2, EMC.R3}, 30, 2, 2)
|
EmtAddClimb( EMC.NEXTMCHID, EMC.NEXTMAIN, { EMC.L1, EMC.L2, EMC.L3p, EMC.R1, EMC.R2, EMC.R3}, 31, 2, 2, 'LastClimb=1;')
|
||||||
end
|
end
|
||||||
EmtAddClimb( EMC.NEXTMCHID, EMC.NEXTMAIN, { EMC.L1, EMC.L2, EMC.L3, EMC.R1, EMC.R2, EMC.R3}, 31, 2, 2, 'LastClimb=1;')
|
|
||||||
|
|
||||||
-- se fine lavorazione con deposito utensile
|
-- se fine lavorazione con deposito utensile
|
||||||
elseif EMC.LINKTYPE == 2 then
|
elseif EMC.LINKTYPE == 2 then
|
||||||
@@ -400,9 +399,12 @@ function OnSpecialLink()
|
|||||||
EmtRemoveClimb( EMC.NEXTMCHID, EMC.NEXTMAIN)
|
EmtRemoveClimb( EMC.NEXTMCHID, EMC.NEXTMAIN)
|
||||||
EmtAddClimb( EMC.NEXTMCHID, EMC.NEXTMAIN, { EMC.L1, EMC.L2p, EMC.L3p, EMC.R1p, EMC.R2p}, 30, 2, 2, 'FirstClimb=1;')
|
EmtAddClimb( EMC.NEXTMCHID, EMC.NEXTMAIN, { EMC.L1, EMC.L2p, EMC.L3p, EMC.R1p, EMC.R2p}, 30, 2, 2, 'FirstClimb=1;')
|
||||||
EmtAddClimb( EMC.NEXTMCHID, EMC.NEXTMAIN, { EMC.L1, EMC.L2, EMC.L3p, EMC.R1p, EMC.R2p}, 30, 2, 2)
|
EmtAddClimb( EMC.NEXTMCHID, EMC.NEXTMAIN, { EMC.L1, EMC.L2, EMC.L3p, EMC.R1p, EMC.R2p}, 30, 2, 2)
|
||||||
-- se assi cambiano di molto
|
-- se asse B cambia di molto
|
||||||
if abs( EMC.R1 - EMC.R1p) > 10 or abs( EMC.R2 - EMC.R2p) > 90 then
|
if abs( 0 - EMC.R2p) > 1 then
|
||||||
EmtAddClimb( EMC.NEXTMCHID, EMC.NEXTMAIN, { EMC.L1, EMC.L2, EMC.L3p, EMC.R1p, 0}, 30, 2, 2)
|
EmtAddClimb( EMC.NEXTMCHID, EMC.NEXTMAIN, { EMC.L1, EMC.L2, EMC.L3p, EMC.R1p, 0}, 30, 2, 2)
|
||||||
|
end
|
||||||
|
-- se assi cambiano di molto
|
||||||
|
if abs( EMC.R1 - EMC.R1p) > 10 then
|
||||||
EmtAddClimb( EMC.NEXTMCHID, EMC.NEXTMAIN, { EMC.L1, EMC.L2, EMC.L3p, EMC.R1, 0}, 30, 2, 2)
|
EmtAddClimb( EMC.NEXTMCHID, EMC.NEXTMAIN, { EMC.L1, EMC.L2, EMC.L3p, EMC.R1, 0}, 30, 2, 2)
|
||||||
end
|
end
|
||||||
|
|
||||||
@@ -417,7 +419,10 @@ function OnSpecialLink()
|
|||||||
EmtRemoveRise( EMC.PREVMCHID, EMC.PREVMAIN)
|
EmtRemoveRise( EMC.PREVMCHID, EMC.PREVMAIN)
|
||||||
if abs( EMC.R1 - EMC.R1p) > 1 or abs( EMC.R2 - EMC.R2p) > 1 then
|
if abs( EMC.R1 - EMC.R1p) > 1 or abs( EMC.R2 - EMC.R2p) > 1 then
|
||||||
EmtAddRise( EMC.PREVMCHID, EMC.PREVMAIN, { EMC.L1p, EMC.L2p, EMC.L3, EMC.R1p, 0}, 30, 3, 2, EgtIf( bSplit, 'Split=1;', '')..'FirstRise=1;')
|
EmtAddRise( EMC.PREVMCHID, EMC.PREVMAIN, { EMC.L1p, EMC.L2p, EMC.L3, EMC.R1p, 0}, 30, 3, 2, EgtIf( bSplit, 'Split=1;', '')..'FirstRise=1;')
|
||||||
EmtAddRise( EMC.PREVMCHID, EMC.PREVMAIN, { EMC.L1p, EMC.L2p, EMC.L3, EMC.R1, 0}, 30, 3, 2)
|
-- se assi cambiano di molto
|
||||||
|
if abs( EMC.R1 - EMC.R1p) > 10 then
|
||||||
|
EmtAddRise( EMC.PREVMCHID, EMC.PREVMAIN, { EMC.L1p, EMC.L2p, EMC.L3, EMC.R1, 0}, 30, 3, 2)
|
||||||
|
end
|
||||||
EmtAddRise( EMC.PREVMCHID, EMC.PREVMAIN, { EMC.L1p, EMC.L2p, EMC.L3, EMC.R1, EMC.R2}, 30, 3, 2)
|
EmtAddRise( EMC.PREVMCHID, EMC.PREVMAIN, { EMC.L1p, EMC.L2p, EMC.L3, EMC.R1, EMC.R2}, 30, 3, 2)
|
||||||
else
|
else
|
||||||
EmtAddRise( EMC.PREVMCHID, EMC.PREVMAIN, { EMC.L1p, EMC.L2p, EMC.L3, EMC.R1p, EMC.R2p}, 30, 3, 2, EgtIf( bSplit, 'Split=1;', '')..'FirstRise=1;')
|
EmtAddRise( EMC.PREVMCHID, EMC.PREVMAIN, { EMC.L1p, EMC.L2p, EMC.L3, EMC.R1p, EMC.R2p}, 30, 3, 2, EgtIf( bSplit, 'Split=1;', '')..'FirstRise=1;')
|
||||||
@@ -455,6 +460,7 @@ function OnSpecialLink()
|
|||||||
EmtAddClimb( EMC.NEXTMCHID, EMC.NEXTMAIN, { EMC.L1, EMC.L2, EMC.L3, EMC.R1, EMC.R2}, 30, 2, 2, 'LastClimb=1;')
|
EmtAddClimb( EMC.NEXTMCHID, EMC.NEXTMAIN, { EMC.L1, EMC.L2, EMC.L3, EMC.R1, EMC.R2}, 30, 2, 2, 'LastClimb=1;')
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
-- se sega a catena su testa 2
|
-- se sega a catena su testa 2
|
||||||
elseif EMC.HEAD == 'H23' then
|
elseif EMC.HEAD == 'H23' then
|
||||||
-- recupero se split da note utente di lavorazione precedente
|
-- recupero se split da note utente di lavorazione precedente
|
||||||
@@ -466,11 +472,10 @@ function OnSpecialLink()
|
|||||||
EmtAddClimb( EMC.NEXTMCHID, EMC.NEXTMAIN, { EMC.L1, EMC.L2p, EMC.L3p, EMC.R1p, EMC.R2p, EMC.R3}, 30, 2, 2, 'FirstClimb=1;')
|
EmtAddClimb( EMC.NEXTMCHID, EMC.NEXTMAIN, { EMC.L1, EMC.L2p, EMC.L3p, EMC.R1p, EMC.R2p, EMC.R3}, 30, 2, 2, 'FirstClimb=1;')
|
||||||
EmtAddClimb( EMC.NEXTMCHID, EMC.NEXTMAIN, { EMC.L1, EMC.L2, EMC.L3p, EMC.R1, EMC.R2p, EMC.R3}, 30, 2, 2)
|
EmtAddClimb( EMC.NEXTMCHID, EMC.NEXTMAIN, { EMC.L1, EMC.L2, EMC.L3p, EMC.R1, EMC.R2p, EMC.R3}, 30, 2, 2)
|
||||||
if abs( EMC.R3) < 0.1 then
|
if abs( EMC.R3) < 0.1 then
|
||||||
EmtAddClimb( EMC.NEXTMCHID, EMC.NEXTMAIN, { EMC.L1, EMC.L2, ParkCSaw0Z2, EMC.R1, EMC.R2, EMC.R3}, 30, 2, 2)
|
EmtAddClimb( EMC.NEXTMCHID, EMC.NEXTMAIN, { EMC.L1, EMC.L2, ParkCSaw0Z2, EMC.R1, EMC.R2, EMC.R3}, 31, 2, 2, 'LastClimb=1;')
|
||||||
else
|
else
|
||||||
EmtAddClimb( EMC.NEXTMCHID, EMC.NEXTMAIN, { EMC.L1, EMC.L2, EMC.L3p, EMC.R1, EMC.R2, EMC.R3}, 30, 2, 2)
|
EmtAddClimb( EMC.NEXTMCHID, EMC.NEXTMAIN, { EMC.L1, EMC.L2, EMC.L3p, EMC.R1, EMC.R2, EMC.R3}, 31, 2, 2, 'LastClimb=1;')
|
||||||
end
|
end
|
||||||
EmtAddClimb( EMC.NEXTMCHID, EMC.NEXTMAIN, { EMC.L1, EMC.L2, EMC.L3, EMC.R1, EMC.R2, EMC.R3}, 31, 2, 2, 'LastClimb=1;')
|
|
||||||
|
|
||||||
-- se fine lavorazione con deposito utensile
|
-- se fine lavorazione con deposito utensile
|
||||||
elseif EMC.LINKTYPE == 2 then
|
elseif EMC.LINKTYPE == 2 then
|
||||||
|
|||||||
@@ -1,5 +1,11 @@
|
|||||||
==== Common_ONE-PF Update Log ====
|
==== Common_ONE-PF Update Log ====
|
||||||
|
|
||||||
|
Versione 3.1g3 (24/07/2026)
|
||||||
|
- (SIM) Non si legge il nome utensile da tabella EMT, ma si utilizza quello corrente salvato in precedenza
|
||||||
|
- (SIM) Corretta gestione scarico motosega in caso di cambio pinze dopo che utensile già caricato. In generazione era corretto perchè selezione utensile avviene già dopo posizionamento carrelli
|
||||||
|
- (SIM-GEN) Migliorati movimenti lama e motosega. Ultimo punto climb motosega è in alto in quota parcheggio.
|
||||||
|
- (GEN) Corretta scrittura piano lavorazione in caso di rotazione con pezzo con sovramateriale in testa. Ticket#3092
|
||||||
|
|
||||||
Versione 3.1g2 (07/07/2026)
|
Versione 3.1g2 (07/07/2026)
|
||||||
- (SIM) Corretta gestione cambio utensile con motosega
|
- (SIM) Corretta gestione cambio utensile con motosega
|
||||||
|
|
||||||
|
|||||||
+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.1g2', -- versione script
|
VERSION = '3.1g3', -- versione script
|
||||||
MIN_MACH_VER_PP_COMMON = '3.1f1' -- versione minima kernel
|
MIN_MACH_VER_PP_COMMON = '3.1f1' -- versione minima kernel
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user