Essetre-PFrl 2.5f1 :

- corretto riposizionamento carrelli su split con pezzi a caduta (riportato da PF)
- in genera CN corretto controllo conservazione piano impostato (riportato da PF)
- in genera CN corretta risalita in Z come in simulazione (ticket #1294).
This commit is contained in:
DarioS
2023-06-09 15:58:07 +02:00
parent 6ee1a7cc17
commit d147134318
3 changed files with 37 additions and 19 deletions
+30 -6
View File
@@ -1,4 +1,4 @@
-- Processore macchina Essetre-PFrl by EgalTech s.r.l. 2023/04/21
-- Processore macchina Essetre-PFrl by EgalTech s.r.l. 2023/06/08
-- Con controllo numerico NUM
-- Variabili di modulo
@@ -1213,7 +1213,10 @@ function OnRapid()
local bSplitCut = ( EMT.MCHUSERNOTES:find( 'Split', 1, true) ~= nil)
local sNextTool = GetNextTool( EMT.MCHID)
local bToXhome = ( IsLastPath( EMT.PATHID) and not sNextTool) or ( EMT.HEAD == 'H13' and EMT.TOOL ~= sNextTool)
local CurrL3o = EMT.L3o
EMT.L3o = EMT.L3op
EmitZmax( true, true, bToXhome, EMT.R1p, EMT.R2p, bSplitCut)
EMT.L3o = CurrL3o
-- aggiorno quota finale trave dopo Zmax
EMT.L1o = EMT.TPOS
EMT.ZMAX = true
@@ -1960,18 +1963,32 @@ function PreparePostRotation( sCmd, nInd)
end
---------------------------------------------------------------------
function GetV1ToCloseNum( bUseCurrV1)
function GetV1ToCloseNum( UseCurrV1)
--EmtOutput( string.format( 'L1m=%.3f L1M=%.3f', EMT.MAXMIN[1], EMT.MAXMAX[1]))
--EmtOutput( string.format( 'LB=%.3f LT=%.3f', EMT.LB, EMT.LT))
local dV1Pos = EgtIf( bUseCurrV1, EMT.V1POS, EMT.V1NEXTPOS)
local dV1Pos
if not UseCurrV1 or UseCurrV1 == false then
dV1Pos = EMT.V1NEXTPOS
elseif UseCurrV1 == true then
dV1Pos = EMT.V1POS
else
dV1Pos = UseCurrV1
end
return ( ( not EMT.W2DELTA or EMT.TO_SPECSPLIT) and EMT.MAXMAX[1] <= dV1Pos + RollCageMin and EMT.MAXMIN[1] + EMT.LB >= dV1Pos + RollCageMax)
end
---------------------------------------------------------------------
function GetV2ToCloseNum( bUseCurrV2)
function GetV2ToCloseNum( UseCurrV2)
--EmtOutput( string.format( 'L1m=%.3f L1M=%.3f', EMT.MAXMIN[1], EMT.MAXMAX[1]))
--EmtOutput( string.format( 'LB=%.3f LT=%.3f', EMT.LB, EMT.LT))
local dV2Pos = EgtIf( bUseCurrV2, EMT.V2POS, EMT.V2NEXTPOS)
local dV2Pos
if not UseCurrV2 or UseCurrV2 == false then
dV2Pos = EMT.V2NEXTPOS
elseif UseCurrV2 == true then
dV2Pos = EMT.V2POS
else
dV2Pos = UseCurrV2
end
return ( not EMT.W2DELTA and EMT.MAXMAX[1] <= dV2Pos - RollCageMax and EMT.MAXMIN[1] + EMT.LB + ( EMT.HOVM or 0) - ( EMT.X_OFF or 0) >= dV2Pos - RollCageMin)
end
@@ -1983,7 +2000,14 @@ function GetMovesInAuxCmd( vAuxCmd)
return true
elseif Cmd[1] == '22' then
local dV1NextPos = EgtIf( EMT.Y1DELTA, tonumber( Cmd[2]), ParkV1)
if ( abs( dV1NextPos - EMT.V1POS) > 1 or abs( tonumber( Cmd[3]) - EMT.V2POS) > 1) then
if not GetV1ToCloseNum( dV1NextPos) then
dV1NextPos = ParkV1
end
local dV2NextPos = tonumber( Cmd[3])
if not GetV2ToCloseNum( dV2NextPos) then
dV2NextPos = ParkV2
end
if ( abs( dV1NextPos - EMT.V1POS) > 1 or abs( dV2NextPos - EMT.V2POS) > 1) then
return true
end
end
+3 -11
View File
@@ -1,4 +1,4 @@
-- Processore macchina Essetre-PFrl by EgalTech s.r.l. 2023/04/21
-- Processore macchina Essetre-PFrl by EgalTech s.r.l. 2023/06/08
-- Funzioni generiche indipendenti dal controllo
-- Intestazioni
@@ -1226,11 +1226,7 @@ function ExecMoveZmax( bMchSplit)
if -CurrX < -LimX1RotSaw then
dZref = dZref - EgtIf( not Mortiser, 100, 370)
end
if CurrB > 90 or CurrB < -90 then
SimulMoveAxes( 'Z1', dZref, MCH_SIM_STEP.RAPID, 'B1', EgtIf( CurrB > 0, 90, -90), MCH_SIM_STEP.COLLROT)
elseif dZref > CurrZ then
SimulMoveAxis( 'Z1', dZref, MCH_SIM_STEP.RAPID)
end
SimulMoveAxes( 'Z1', EgtIf( dZref > CurrZ, dZref, CurrZ), MCH_SIM_STEP.RAPID, 'B1', EgtClamp( CurrB, -90, 90), MCH_SIM_STEP.COLLROT)
if EMT.HEAD == 'H12' and ( abs( HomeC - CurrC) > 30.1 or abs( HomeB - CurrB) > 30.1) then
SimulMoveAxes( 'Z1', MaxZ1, MCH_SIM_STEP.RAPID, 'B1', 0, MCH_SIM_STEP.COLLROT)
end
@@ -1263,11 +1259,7 @@ function ExecMoveZmax( bMchSplit)
if -CurrX < -LimX2RotSaw then
dZref = dZref - 100
end
if CurrB > 90 or CurrB < -90 then
SimulMoveAxes( 'Z2', dZref, MCH_SIM_STEP.RAPID, 'B2', EgtIf( CurrB > 0, 90, -90), MCH_SIM_STEP.COLLROT)
elseif dZref > CurrZ then
SimulMoveAxis( 'Z2', dZref, MCH_SIM_STEP.RAPID)
end
SimulMoveAxes( 'Z2', EgtIf( dZref > CurrZ, dZref, CurrZ), MCH_SIM_STEP.RAPID, 'B2', EgtClamp( CurrB, -90, 90), MCH_SIM_STEP.COLLROT)
if EMT.HEAD == 'H22' and ( abs( HomeC - CurrC) > 30.1 or abs( HomeB - CurrB) > 30.1) then
SimulMoveAxes( 'Z2', MaxZ2, MCH_SIM_STEP.RAPID, 'B2', 0, MCH_SIM_STEP.COLLROT)
end
+4 -2
View File
@@ -1,4 +1,4 @@
-- Descrizione macchina Essetre-PF by EgalTech s.r.l. 2023/04/21
-- Descrizione macchina Essetre-PF by EgalTech s.r.l. 2023/06/08
-- 2021/10/01 ver 2.3j1 Prima versione.
-- 2021/10/26 ver 2.3j2 Versione provvisoria per pezzo alto.
-- 2021/10/26 ver 2.3j3 Aggiunto arresto preciso negli angoli (G9) in fresature con utensili di piccolo diametro.
@@ -39,12 +39,14 @@
-- 2023/04/03 ver 2.5d1 Eliminata testa dummy 'H14' ( EgtMachKernel minimo 2.5d1).
-- 2023/04/21 ver 2.5d3 Riportate modifiche PF : DeltaW per Pinza5, in generazione CN corretta verifica movimenti pinze o rulli per G151/G152, corretta gestione AggLoad (falg * da mlse).
-- 2023/04/21 ver 2.5d4 Migliorato riposizionamento testa trave dopo scambio carrelli (ExtraParkV a 100).
-- 2023/06/08 ver 2.5f1 Riportate correzioni da PF (riposizionamento carrelli su split con pezzi a caduta, in genera CN controllo conservazione piano impostato).
-- In genera CN corretta risalita in Z come in simulazione (ticket #1294).
-- Intestazioni
require( 'EmtGenerator')
EgtEnableDebug( false)
PP_VER = '2.5d4'
PP_VER = '2.5f1'
-- Parametri macchina
NumericalControl = 'NUM_FLEX' -- NUM o (TPA) o NUM_FLEX