Compare commits
3 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| a61affc726 | |||
| b9bc1f0922 | |||
| 0272e7d606 |
+26
-3
@@ -1943,6 +1943,9 @@ function PrepareMoveChar( sCmd, nInd)
|
||||
table.insert( EMT.MDCHAR, MDChar)
|
||||
EMT.Y1POS = MoveY1 or EMT.Y1POS
|
||||
EMT.TPOS = GetCmdAxMove( Cmd, 'T') or EMT.TPOS
|
||||
if EMT.V1POS < 400 and ( EMT.HEAD == 'H12' or EMT.HEAD == 'H22') and EMT.ZMAX and not EMT.XHOME then
|
||||
EMT.TO_XHOME = true
|
||||
end
|
||||
end
|
||||
elseif Cmd[1] == '2' then
|
||||
local MDChar = { IniStatY1=EMT.ISY1, FinStatY1=EMT.FSY1, IniStatY2=EMT.ISY2, FinStatY2=EMT.FSY2, BeamVise=EMT.BV}
|
||||
@@ -1970,6 +1973,9 @@ function PrepareMoveChar( sCmd, nInd)
|
||||
end
|
||||
table.insert( EMT.MDCHAR, MDChar)
|
||||
EMT.TPOS = GetCmdAxMove( Cmd, 'T') or EMT.TPOS
|
||||
if EMT.V1POS < 400 and ( EMT.HEAD == 'H12' or EMT.HEAD == 'H22') and EMT.ZMAX and not EMT.XHOME then
|
||||
EMT.TO_XHOME = true
|
||||
end
|
||||
elseif Cmd[1] == '3' then
|
||||
local MDChar = { IniStatY1=EMT.ISY1, FinStatY1=EMT.FSY1, IniStatY2=EMT.ISY2, FinStatY2=EMT.FSY2, BeamVise=EMT.BV}
|
||||
local MoveY1 = GetCmdAxMove( Cmd, 'Y1')
|
||||
@@ -1996,6 +2002,9 @@ function PrepareMoveChar( sCmd, nInd)
|
||||
end
|
||||
table.insert( EMT.MDCHAR, MDChar)
|
||||
EMT.TPOS = GetCmdAxMove( Cmd, 'T') or EMT.TPOS
|
||||
if EMT.V1POS < 400 and ( EMT.HEAD == 'H12' or EMT.HEAD == 'H22') and EMT.ZMAX and not EMT.XHOME then
|
||||
EMT.TO_XHOME = true
|
||||
end
|
||||
elseif Cmd[1] == '4' then
|
||||
-- richiesta movimento a ZMAX già gestita
|
||||
if Cmd[2] == '1' then
|
||||
@@ -2677,6 +2686,8 @@ function EmitZmax( bReset, bEnd, bXhome, PrevR1, PrevR2, bSplitCut, bUsePrevDelt
|
||||
end
|
||||
-- gruppo della testa
|
||||
local nHSet = GetHeadSet( EMT.HEAD)
|
||||
-- reset stato di testa in home
|
||||
EMT.XHOME = nil
|
||||
-- se testa 1
|
||||
if nHSet == 1 then
|
||||
-- posizioni sicure
|
||||
@@ -2714,7 +2725,10 @@ function EmitZmax( bReset, bEnd, bXhome, PrevR1, PrevR2, bSplitCut, bUsePrevDelt
|
||||
MovH.X = -EMT.L2o ; MovH.B = PrevR2 ; MovH.C = PrevR1 ;
|
||||
EmitMoveDataHead( 1, MovH)
|
||||
end
|
||||
if bXhome then EmitMoveDataHead( 1, { X=-dSafeX1}) end
|
||||
if bXhome then
|
||||
EMT.XHOME = true
|
||||
EmitMoveDataHead( 1, { X=-dSafeX1})
|
||||
end
|
||||
EmitMoveStartHead( 1)
|
||||
-- se lavorazione in doppio
|
||||
if EMT.DOU_TYPE == 2 then
|
||||
@@ -2732,6 +2746,7 @@ function EmitZmax( bReset, bEnd, bXhome, PrevR1, PrevR2, bSplitCut, bUsePrevDelt
|
||||
end
|
||||
EmitMoveDataHead( 1, { X=-dSafeX1, C=dSafeC1})
|
||||
if bXhome then
|
||||
EMT.XHOME = true
|
||||
EmitMoveDataHead( 1, { X=-ParkX1, Z=ParkCSawZ1, B=ParkB1, C=ParkC1, TPos=50})
|
||||
end
|
||||
EmitMoveStartHead( 1)
|
||||
@@ -2759,7 +2774,10 @@ function EmitZmax( bReset, bEnd, bXhome, PrevR1, PrevR2, bSplitCut, bUsePrevDelt
|
||||
MovH.X = -EMT.L2o ; MovH.B = PrevR2 ; MovH.C = PrevR1 ;
|
||||
EmitMoveDataHead( 1, MovH)
|
||||
end
|
||||
if bXhome then EmitMoveDataHead( 1, { X=-dSafeX1}) end
|
||||
if bXhome then
|
||||
EMT.XHOME = true
|
||||
EmitMoveDataHead( 1, { X=-dSafeX1})
|
||||
end
|
||||
EmitMoveStartHead( 1)
|
||||
EmitMoveWaitHead( 1)
|
||||
-- altrimenti sega a catena
|
||||
@@ -2773,6 +2791,7 @@ function EmitZmax( bReset, bEnd, bXhome, PrevR1, PrevR2, bSplitCut, bUsePrevDelt
|
||||
end
|
||||
EmitMoveDataHead( 1, { X=-dSafeX1, C=dSafeC1})
|
||||
if bXhome then
|
||||
EMT.XHOME = true
|
||||
EmitMoveDataHead( 1, { X=-ParkX1, Z=ParkCSawZ1, B=ParkB1, C=ParkC1, TPos=50})
|
||||
end
|
||||
EmitMoveStartHead( 1)
|
||||
@@ -2812,7 +2831,10 @@ function EmitZmax( bReset, bEnd, bXhome, PrevR1, PrevR2, bSplitCut, bUsePrevDelt
|
||||
MovH.X = -EMT.L2o ; MovH.B = PrevR2 ; MovH.C = PrevR1 ;
|
||||
EmitMoveDataHead( 2, MovH)
|
||||
end
|
||||
if bXhome then EmitMoveDataHead( 2, { X=-dSafeX2}) end
|
||||
if bXhome then
|
||||
EMT.XHOME = true
|
||||
EmitMoveDataHead( 2, { X=-dSafeX2})
|
||||
end
|
||||
EmitMoveStartHead( 2)
|
||||
EmitMoveWaitHead( 2)
|
||||
-- altrimenti sega a catena
|
||||
@@ -2826,6 +2848,7 @@ function EmitZmax( bReset, bEnd, bXhome, PrevR1, PrevR2, bSplitCut, bUsePrevDelt
|
||||
end
|
||||
EmitMoveDataHead( 2, { X=-dSafeX2, C=dSafeC2})
|
||||
if bXhome then
|
||||
EMT.XHOME = true
|
||||
EmitMoveDataHead( 2, { X=-ParkX2, Z=ParkCSawZ2, B=ParkB2, C=ParkC2, TPos=50})
|
||||
end
|
||||
EmitMoveStartHead( 2)
|
||||
|
||||
@@ -960,6 +960,7 @@ function OnSimulMoveStart()
|
||||
VerifyY2Stroke( EMT.A2)
|
||||
VerifyV1Stroke( EMT.A3)
|
||||
VerifyV2Stroke( EMT.A4)
|
||||
|
||||
-- se devo subito parcheggiare i rulli
|
||||
local nRes = 0
|
||||
if bParkV then
|
||||
@@ -1261,6 +1262,7 @@ function OnSimulMoveStart()
|
||||
EMT.A4 = EgtIf( GetV2ToClose(), EMT.V2NEXTPOS, ParkV2)
|
||||
end
|
||||
EMT.ZMAX = nil
|
||||
EMT.XHOME = nil
|
||||
end
|
||||
|
||||
---------------------------------------------------------------------
|
||||
@@ -1369,6 +1371,10 @@ function ExecAuxCmd( sCmd, bPathStart)
|
||||
ExecOpenRoller( 1)
|
||||
ExecOpenRoller( 2)
|
||||
local sV1, MoveV1, sV2, MoveV2 = CalcMoveV1V2ForAuxCmd( Cmd)
|
||||
-- se stringo i rulli e ho lama, verifico che sia in home
|
||||
if MoveV1 and MoveV1 < 400 and ( EMT.HEAD == 'H12' or EMT.HEAD == 'H22') and EMT.ZMAX and not EMT.XHOME then
|
||||
ExecMoveZmax( false, true)
|
||||
end
|
||||
local bOk, bOk1, bOk2, bOk3 = SimulMoveAxes( Cmd[2], tonumber( Cmd[3]), MCH_SIM_STEP.RAPID,
|
||||
sV1, MoveV1, MCH_SIM_STEP.RAPID,
|
||||
sV2, MoveV2, MCH_SIM_STEP.RAPID)
|
||||
@@ -1391,6 +1397,10 @@ function ExecAuxCmd( sCmd, bPathStart)
|
||||
ExecOpenRoller( 1)
|
||||
ExecOpenRoller( 2)
|
||||
local sV1, MoveV1, sV2, MoveV2 = CalcMoveV1V2ForAuxCmd( Cmd)
|
||||
-- se stringo i rulli e ho lama, verifico che sia in home
|
||||
if MoveV1 and MoveV1 < 400 and ( EMT.HEAD == 'H12' or EMT.HEAD == 'H22') and EMT.ZMAX and not EMT.XHOME then
|
||||
ExecMoveZmax( false, true)
|
||||
end
|
||||
local bOk, bOk1, bOk2, bOk3, bOk4 = SimulMoveAxes( Cmd[2], tonumber( Cmd[3]), MCH_SIM_STEP.RAPID,
|
||||
Cmd[4], tonumber( Cmd[5]), MCH_SIM_STEP.RAPID,
|
||||
sV1, MoveV1, MCH_SIM_STEP.RAPID,
|
||||
@@ -1414,6 +1424,10 @@ function ExecAuxCmd( sCmd, bPathStart)
|
||||
ExecOpenRoller( 1)
|
||||
ExecOpenRoller( 2)
|
||||
local sV1, MoveV1, sV2, MoveV2 = CalcMoveV1V2ForAuxCmd( Cmd)
|
||||
-- se stringo i rulli e ho lama, verifico che sia in home
|
||||
if MoveV1 and MoveV1 < 400 and ( EMT.HEAD == 'H12' or EMT.HEAD == 'H22') and EMT.ZMAX and not EMT.XHOME then
|
||||
ExecMoveZmax( false, true)
|
||||
end
|
||||
local bOk, bOk1, bOk2, bOk3, bOk4, bOk5 = SimulMoveAxes( Cmd[2], tonumber( Cmd[3]), MCH_SIM_STEP.RAPID,
|
||||
Cmd[4], tonumber( Cmd[5]), MCH_SIM_STEP.RAPID,
|
||||
Cmd[6], tonumber( Cmd[7]), MCH_SIM_STEP.RAPID,
|
||||
@@ -1607,6 +1621,7 @@ function ExecMoveZmax( bMchSplit, btoXHome)
|
||||
end
|
||||
SimulMoveAxis( 'Z1', MaxZ1, MCH_SIM_STEP.RAPID)
|
||||
if btoXHome then
|
||||
EMT.XHOME = true
|
||||
SimulMoveAxis( 'X1', ParkX1, MCH_SIM_STEP.RAPID)
|
||||
end
|
||||
-- se lavorazione in doppio
|
||||
@@ -1618,6 +1633,7 @@ function ExecMoveZmax( bMchSplit, btoXHome)
|
||||
SimulMoveAxes( 'B2', ParkB2, MCH_SIM_STEP.COLLROT, 'C2', ParkC2, MCH_SIM_STEP.COLLROT)
|
||||
SimulMoveAxis( 'Z2', MaxZ2, MCH_SIM_STEP.RAPID)
|
||||
if bToXHome then
|
||||
EMT.XHOME = true
|
||||
SimulMoveAxis( 'X2', ParkX2, MCH_SIM_STEP.RAPID)
|
||||
end
|
||||
EMT.DOU_TO_ZMAX = nil
|
||||
@@ -1644,6 +1660,7 @@ function ExecMoveZmax( bMchSplit, btoXHome)
|
||||
end
|
||||
SimulMoveAxis( 'Z1', MaxZ1, MCH_SIM_STEP.RAPID)
|
||||
if btoXHome then
|
||||
EMT.XHOME = true
|
||||
SimulMoveAxis( 'X1', ParkX1, MCH_SIM_STEP.RAPID)
|
||||
end
|
||||
-- altrimenti sega a catena
|
||||
@@ -1659,6 +1676,7 @@ function ExecMoveZmax( bMchSplit, btoXHome)
|
||||
EMT.PREVHEAD_H1 = nil
|
||||
EMT.PREVTCPOS_H1 = nil
|
||||
EMT.CHSAW_OUT = true
|
||||
EMT.XHOME = true
|
||||
end
|
||||
SimulMoveAxes( 'X1', HomeX, MCH_SIM_STEP.RAPID, 'C1', HomeC, MCH_SIM_STEP.COLLROT)
|
||||
end
|
||||
@@ -1679,6 +1697,7 @@ function ExecMoveZmax( bMchSplit, btoXHome)
|
||||
end
|
||||
SimulMoveAxis( 'Z2', MaxZ2, MCH_SIM_STEP.RAPID)
|
||||
if btoXHome then
|
||||
EMT.XHOME = true
|
||||
SimulMoveAxis( 'X2', ParkX2, MCH_SIM_STEP.RAPID)
|
||||
end
|
||||
-- altrimenti sega a catena
|
||||
|
||||
@@ -1,5 +1,8 @@
|
||||
==== Common_ONE-PF Update Log ====
|
||||
|
||||
Versione 2.6-- (--/--/2024)
|
||||
- (SIM-GEN) Corretto movimento in Home in caso di lama e movimento rulliera di carico. Ticket#2054
|
||||
|
||||
Versione 2.6i2 (13/09/2024)
|
||||
- (GEN) Migliorato calcolo chiusura paratia rulli con aggiornamento lunghezza della barra in caso di ultimo taglio e grezzo residuo in coda. Ticket#2017
|
||||
- (NGE-MLDE-GEN-SIM) Aggiunto solidi collisione TC. Corretto movimento a Y di sicurezza con lama. Ticket#2042
|
||||
|
||||
+1
-1
@@ -3,7 +3,7 @@
|
||||
|
||||
local InfoCommon_STD_PP = {
|
||||
NAME = 'Common_ONE-PF', -- nome script PP standard
|
||||
VERSION = '2.6i2', -- versione script
|
||||
VERSION = '2.6--', -- versione script
|
||||
MIN_MACH_VER_PP_COMMON = '2.5k1' -- versione minima kernel
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user