Compare commits
7 Commits
3.1e1_NL7
...
3.1e1_NL12
| Author | SHA1 | Date | |
|---|---|---|---|
| c414cde957 | |||
| ce76fe23d2 | |||
| c78c2412a5 | |||
| 1c0cfdfd22 | |||
| 7e977d81cb | |||
| 6cdb3888a0 | |||
| e0dfd45f1c |
+50
-31
@@ -485,6 +485,7 @@ end
|
||||
---------------------------------------------------------------------
|
||||
function OnMachiningEnd()
|
||||
--EmtOutput( ';Mach End')
|
||||
local bMoveBothClampsOnSplit = false
|
||||
if #EMT.MDCHAR > 0 then
|
||||
-- Emissione split
|
||||
if EMT.AUXTYPE == 'S' then
|
||||
@@ -515,6 +516,7 @@ function OnMachiningEnd()
|
||||
EMT.MDCHAR[1].MovType = nil
|
||||
EMT.MDCHAR[1].Y2 = ParkV2 - EMT.LT + EMT.Y2DELTA
|
||||
EMT.MDCHAR[1].V2 = ParkV2
|
||||
bMoveBothClampsOnSplit = true
|
||||
end
|
||||
end
|
||||
|
||||
@@ -558,8 +560,13 @@ function OnMachiningEnd()
|
||||
end
|
||||
if #EMT.MDCHAR > 0 then
|
||||
if EMT.AUXTYPE == 'S' then
|
||||
EmitMoveStartChars( 1)
|
||||
EmitMoveWaitChars( 1)
|
||||
if bMoveBothClampsOnSplit then
|
||||
EmitMoveStartChars( 3)
|
||||
EmitMoveWaitChars( 3)
|
||||
else
|
||||
EmitMoveStartChars( 1)
|
||||
EmitMoveWaitChars( 1)
|
||||
end
|
||||
elseif EMT.AUXTYPE == 'U' then
|
||||
local nMoveType = EgtIf( EMT.CHY_ON, 3, 2)
|
||||
EmitMoveStartChars( nMoveType)
|
||||
@@ -857,8 +864,10 @@ function OnRapid()
|
||||
|
||||
EmitMoveWaitChars( EgtIf( bOnlyCharY, 1, 3))
|
||||
else
|
||||
-- se stesso utensile, e c'è ancora piano attivo dalla lavorazione precedente, allora questo è un climb
|
||||
if EMT.TOOL == EMT.PREVTOOL and EMT.PLANEACTIVE and ( abs( EMT.R1prec - EMT.R1) < 0.1 and abs( EMT.R2prec - EMT.R2) < 0.1) then
|
||||
-- controllo se ci sono spostamenti dei carrelli programmati
|
||||
local bChangeCarriageClamping = CheckChangeCarriageClamping()
|
||||
-- se non ci sono riposizionamenti dei carrelli, se stesso utensile, e c'è ancora piano attivo dalla lavorazione precedente, allora questo è un climb
|
||||
if not bChangeCarriageClamping and EMT.TOOL == EMT.PREVTOOL and EMT.PLANEACTIVE and ( abs( EMT.R1prec - EMT.R1) < GEO.EPS_SMALL and abs( EMT.R2prec - EMT.R2) < GEO.EPS_SMALL) then
|
||||
-- dichiaro finita lavorazione precedente
|
||||
local sOut = 'G157 EA1'
|
||||
EmtOutput( sOut)
|
||||
@@ -896,7 +905,7 @@ function OnRapid()
|
||||
end
|
||||
|
||||
-- si disattiva piano a meno che non sia lavorazione con stesso utensile e stesso orientamento assi
|
||||
if EMT.PLANEACTIVE then
|
||||
if EMT.PLANEACTIVE then
|
||||
EmitResetMachining( false)
|
||||
end
|
||||
|
||||
@@ -982,10 +991,10 @@ function OnRapid()
|
||||
end
|
||||
MyAdjustLinearAxes()
|
||||
EmtAdjustRotaryAxes()
|
||||
-- se ultimo rapido e motosega, si va in home
|
||||
|
||||
EmitMoveDataHead( nHSet, { X=EMT.L2, Z=EMT.L3, C=EMT.R1, B=EMT.R2})
|
||||
-- su ultimo rapido in uscita, comandi di attesa movimenti
|
||||
if bLastRise or bStdRise then
|
||||
if bLastRise or bUniqueRise or bStdRise then
|
||||
EmitMoveStartHead( nHSet)
|
||||
-- se lavorazione in doppio
|
||||
if nHSet == 1 and EMT.DOU_TYPE == 2 then
|
||||
@@ -1150,14 +1159,15 @@ function OnRapid()
|
||||
-- trasformo i punti nel piano
|
||||
MyAdjustLinearAxes()
|
||||
EmtAdjustRotaryAxes()
|
||||
-- annullo precedenti per forzare scrittura
|
||||
EMT.L1p = nil
|
||||
EMT.L2p = nil
|
||||
EMT.L3p = nil
|
||||
local sDouFlag = EgtIf( EMT.DOU_TYPE, ' EE1', '')
|
||||
EmtOutput( 'G142'..EmtGetAxis('L1')..EmtGetAxis('L2')..EmtGetAxis('L3')..EMT.IPLGLSTR..EgtIf( nHSet~=2, ' EU1', ' EU2')..sDouFlag..' EF'..GetFmaxClamp())
|
||||
|
||||
EMT.PLANEACTIVE = true
|
||||
|
||||
-- EMT.L1p = nil
|
||||
-- EMT.L2p = nil
|
||||
-- EMT.L3p = nil
|
||||
-- annullo precedenti per forzare scrittura
|
||||
EMT.R1p = nil
|
||||
EMT.R2p = nil
|
||||
@@ -1370,6 +1380,28 @@ function CalcCharStatusN( sCmd)
|
||||
end
|
||||
end
|
||||
|
||||
---------------------------------------------------------------------
|
||||
-- controlla se nella tabella AUX sono presenti dei movimenti dei carrelli
|
||||
function CheckChangeCarriageClamping()
|
||||
local ChangeCarriagesParam = {
|
||||
'1', -- movimento singolo carro
|
||||
'2', -- movimento carro e trave
|
||||
'3', -- movimento 2 carri e trave
|
||||
'4', -- risalita a Z max
|
||||
'11', -- comando pinza 1
|
||||
'12' -- comando pinza 2
|
||||
}
|
||||
for i=1, #EMT.AUXCMD do
|
||||
local Cmd = EgtSplitString( EMT.AUXCMD[i])
|
||||
for j=1, #ChangeCarriagesParam do
|
||||
if Cmd[1] == ChangeCarriagesParam[j] then
|
||||
return true
|
||||
end
|
||||
end
|
||||
end
|
||||
return false
|
||||
end
|
||||
|
||||
---------------------------------------------------------------------
|
||||
function PrepareLoad( sCmd, nInd, bStart)
|
||||
local Cmd = EgtSplitString( sCmd)
|
||||
@@ -2320,27 +2352,14 @@ function EmitParkRoller( dPosT, bSplitCut, bUsePrevDelta)
|
||||
local DiffY2 = MyParkY2 - dPosY2
|
||||
--EmtOutput( string.format( 'PosT=%.3f DiffY1=%.3f DiffY2=%.3f', dPosT, DiffY1, DiffY2))
|
||||
if bSplitCut then
|
||||
local bYNoMove, bVNoMove
|
||||
if DiffY1 > 0.1 then
|
||||
bYNoMove = false
|
||||
MDChar.Y1 = dPosY1 + DiffY1
|
||||
else
|
||||
bYNoMove = true
|
||||
MDChar.Y1 = dPosY1
|
||||
end
|
||||
if DiffY2 < -0.1 then
|
||||
bVNoMove = false
|
||||
MDChar.Y2 = dPosY2 + DiffY2
|
||||
dPosT = dPosT + DiffY2
|
||||
else
|
||||
bVNoMove = true
|
||||
MDChar.Y2 = dPosY2
|
||||
end
|
||||
-- se anche solo una morsa è restata in posizione, le sposto comunque entrambe di 5mm per distanziare i pezzi separati
|
||||
if bYNoMove or bVNoMove then
|
||||
MDChar.Y1 = MDChar.Y1 + 150
|
||||
MDChar.Y2 = MDChar.Y2 - 150
|
||||
end
|
||||
local dAddMoveY1 = ParkV1 + ( -dPosT - EMT.LT)
|
||||
local dAddMoveY2 = ParkV2 + ( -dPosT - EMT.LT)
|
||||
local MoveY1 = max( DiffY1, dAddMoveY1, 30.0)
|
||||
local MoveY2 = min( DiffY2, dAddMoveY2, -30.0)
|
||||
MDChar.Y1 = dPosY1 + MoveY1
|
||||
MDChar.Y2 = dPosY2 + MoveY2
|
||||
dPosT = dPosT + MoveY2
|
||||
|
||||
elseif DiffY1 > 0.1 and DiffY2 < -0.1 then
|
||||
EmtSetLastError( 1201, 'Error Collision in ParkRoller')
|
||||
elseif DiffY1 > 0.1 then
|
||||
|
||||
+4
-13
@@ -1661,19 +1661,10 @@ function ExecParkRoller( PosY1, PosY2, PosV1, PosV2, bSpliCut, bAgg)
|
||||
local DiffY2 = MyParkY2 - PosY2
|
||||
-- se appena eseguito taglio di separazione
|
||||
if bSpliCut then
|
||||
local dAddMove
|
||||
-- se entrambe le morse si spostano vado in posizione calcolata
|
||||
if DiffY1 > 0.1 and DiffY2 < -0.1 then
|
||||
dAddMove = 0
|
||||
-- se almeno una è rimasta ferma in posizione, allontano comunque di 30mm ulteriori
|
||||
else
|
||||
dAddMove = 150
|
||||
end
|
||||
local MoveY1 = max( DiffY1, 0.0)
|
||||
local MoveY2 = min( DiffY2, 0.0)
|
||||
|
||||
MoveY1 = MoveY1 + dAddMove
|
||||
MoveY2 = MoveY2 - dAddMove
|
||||
local dAddMoveY1 = ParkV1 + ( -PosT - EMT.LR)
|
||||
local dAddMoveY2 = ParkV2 + ( -PosT - EMT.LR)
|
||||
local MoveY1 = max( DiffY1, dAddMoveY1, 30.0)
|
||||
local MoveY2 = min( DiffY2, dAddMoveY2, -30.0)
|
||||
|
||||
-- aggancio i pezzi rimanenti all'asse Y1
|
||||
LinkRemainingPartsToY1()
|
||||
|
||||
+1
-1
@@ -32,7 +32,7 @@
|
||||
require( 'EmtGenerator')
|
||||
EgtEnableDebug( false)
|
||||
|
||||
PP_VER = '3.1e1_NL7'
|
||||
PP_VER = '3.1e1_NL12'
|
||||
PP_NVER = '3.1.3.2'
|
||||
MIN_MACH_VER = '2.5k1'
|
||||
MACH_NAME = EgtGetCurrMachineName()
|
||||
|
||||
Reference in New Issue
Block a user