Compare commits
3 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| bb83671c7e | |||
| 21abd1b45f | |||
| e6c85e29a4 |
@@ -101,6 +101,10 @@ if EgtExistsFile( sData) then
|
||||
BeamData.DIM_STRIP_SMALL = Machine.Offsets.DIM_STRIP_SMALL or BeamData.DIM_STRIP_SMALL
|
||||
BeamData.DIM_TO_CENTER_STRIP = Machine.Offsets.DIM_TO_CENTER_STRIP or BeamData.DIM_TO_CENTER_STRIP
|
||||
BeamData.MAXDIAM_POCK_CORNER = Machine.Offsets.MAXDIAM_POCK_CORNER or BeamData.MAXDIAM_POCK_CORNER
|
||||
BeamData.LONGCUT_ENDLEN = Machine.Offsets.LONGCUT_ENDLEN or BeamData.LONGCUT_ENDLEN
|
||||
BeamData.LONGCUT_MAXLEN = Machine.Offsets.LONGCUT_MAXLEN or BeamData.LONGCUT_MAXLEN
|
||||
BeamData.ADVANCE_TAIL_OFFS = Machine.Offsets.ADVANCE_TAIL_OFFS or BeamData.ADVANCE_TAIL_OFFS
|
||||
BeamData.LEN_VERY_SHORT_PART = Machine.Offsets.LEN_VERY_SHORT_PART or BeamData.LEN_VERY_SHORT_PART
|
||||
if Machine.Offsets.PRECUT_HEAD_DISABLE then BeamData.PRECUT_HEAD = ( Machine.Offsets.PRECUT_HEAD_DISABLE == 0) end
|
||||
if Machine.Offsets.PRECUT_TAIL_DISABLE then BeamData.PRECUT_TAIL = ( Machine.Offsets.PRECUT_TAIL_DISABLE == 0) end
|
||||
if Machine.Offsets.MIN_HEIGHT_ADDED_CUTS then BeamData.MIN_HEIGHT_ADDED_CUTS = min( Machine.Offsets.MIN_HEIGHT_ADDED_CUTS, BeamData.MIN_HEIGHT_ADDED_CUTS) end
|
||||
|
||||
+38
-40
@@ -1214,6 +1214,9 @@ function SpecCalcCarriages( dDistFront, dDistBack, bFixedDelta, bFixedPos)
|
||||
end
|
||||
local dDistBackEff = min( dDistBack, EMC.LB - MyMinOther - EMC.HCING - EMC.HOVM)
|
||||
|
||||
-- se primo scambio
|
||||
local MyMinY = EgtIf( EMC.CNT == 1, MinY + AGG_LOAD, MinY)
|
||||
|
||||
EgtOutLog( ' Dist/Min : Back=' .. EgtNumToString( dDistBackEff, 1) .. '/' .. EgtNumToString( MinBackJoin, 1) ..
|
||||
' Front=' .. EgtNumToString( dDistFrontEff, 1) .. '/' .. EgtNumToString( MinFrontJoin, 1) ..
|
||||
' Fixed : Delta=' .. EgtIf( bFixedDelta, 'T', 'F') .. ' Pos=' .. EgtIf( bFixedPos, 'T', 'F'), 3)
|
||||
@@ -1233,7 +1236,7 @@ function SpecCalcCarriages( dDistFront, dDistBack, bFixedDelta, bFixedPos)
|
||||
if dDistFrontEff < MinFrontJoin and dDistBackEff > MinBackJoin - GEO.EPS_SMALL then
|
||||
-- se Y non era in presa, mi ricalcolo la posizione
|
||||
if not dYDelta then
|
||||
dYDelta = dVDelta + ( MinY - MaxV)
|
||||
dYDelta = dVDelta + ( MyMinY - MaxV)
|
||||
end
|
||||
dNewYDelta = EMC.LB - dDistBackEff
|
||||
-- verifico se posso lasciare la morsa in posizione
|
||||
@@ -1250,11 +1253,11 @@ function SpecCalcCarriages( dDistFront, dDistBack, bFixedDelta, bFixedPos)
|
||||
elseif dDistBackEff > MinBackJoin - GEO.EPS_SMALL and dDistFrontEff > MinFrontJoin - GEO.EPS_SMALL then
|
||||
-- se Y non era in presa, mi ricalcolo la posizione
|
||||
if not dYDelta then
|
||||
dYDelta = dVDelta + ( MinY - MaxV)
|
||||
dYDelta = dVDelta + ( MyMinY - MaxV)
|
||||
end
|
||||
-- se V non era in presa, mi ricalcolo la posizione
|
||||
if not dVDelta then
|
||||
dVDelta = dYDelta - ( MinY - MaxV)
|
||||
dVDelta = dYDelta - ( MyMinY - MaxV)
|
||||
end
|
||||
|
||||
dNewYDelta = EMC.LB - dDistBackEff
|
||||
@@ -1284,12 +1287,17 @@ function SpecCalcCarriages( dDistFront, dDistBack, bFixedDelta, bFixedPos)
|
||||
elseif dDistBackEff < MinBackJoin and dDistFrontEff > MinFrontJoin - GEO.EPS_SMALL then
|
||||
-- se V non era in presa, mi ricalcolo la posizione
|
||||
if not dVDelta then
|
||||
dVDelta = dYDelta - ( MinY - MaxV)
|
||||
dVDelta = dYDelta - ( MyMinY - MaxV)
|
||||
end
|
||||
dNewVDelta = dDistFrontEff
|
||||
-- verifico se posso lasciare la morsa in posizione
|
||||
local dVDeltaTol = GetDeltaTol( dNewVDelta, EMC.TCING, EMC.HCING, EMC.HOVM, 'V', bFixedDelta)
|
||||
local bVDeltaS = ( dNewVDelta > dVDelta + dVDeltaTol or dNewVDelta < dVDelta - DELTA_SIC)
|
||||
local bVDeltaS
|
||||
if EMC.YDELTA == nil and EMC.YDELTANEXT == nil then
|
||||
bVDeltaS = (( dNewVDelta > dVDelta + dVDeltaTol and not bFixedPos) or dNewVDelta < dVDelta - DELTA_SIC)
|
||||
else
|
||||
bVDeltaS = ( dNewVDelta > dVDelta + dVDeltaTol or dNewVDelta < dVDelta - DELTA_SIC)
|
||||
end
|
||||
-- reimposto i delta finali in caso di spostamenti richiesti significativi, tenuto conto delle tolleranze
|
||||
if bVDeltaS then
|
||||
dNewVDelta = dNewVDelta - dVDeltaTol/2
|
||||
@@ -1489,6 +1497,17 @@ function SpecCalcPreRot()
|
||||
return vCmd
|
||||
end
|
||||
|
||||
---------------------------------------------------------------------
|
||||
local function CalcCharStatus( sType, dDelta)
|
||||
-- se per carrello Y
|
||||
if sType == 'Y' then
|
||||
return EgtIf( EMC.LB - dDelta < LenToPress, 1, 2)
|
||||
-- altrimenti per carrello V
|
||||
else
|
||||
return EgtIf( dDelta < LenToPress, 1, 2)
|
||||
end
|
||||
end
|
||||
|
||||
---------------------------------------------------------------------
|
||||
function SpecAdjustCarriages( vCmd, dTPosI, dYDeltaI, dVDeltaI, dTPosF, dYDeltaF, dVDeltaF, bFixedDelta, bFixedPos)
|
||||
local dYPosA, dVPosA, dTPosA
|
||||
@@ -1615,7 +1634,7 @@ function SpecAdjustCarriages( vCmd, dTPosI, dYDeltaI, dVDeltaI, dTPosF, dYDeltaF
|
||||
dTPosI = dTPosA
|
||||
|
||||
-- blocco la morsa
|
||||
table.insert( vCmd, { 12, 1})
|
||||
table.insert( vCmd, { 12, CalcCharStatus( 'V', dVDeltaF)})
|
||||
|
||||
-- imposto i nuovi parametri di aggancio
|
||||
if EMC.YDELTANEXT and EMC.VDELTANEXT then
|
||||
@@ -1626,7 +1645,7 @@ function SpecAdjustCarriages( vCmd, dTPosI, dYDeltaI, dVDeltaI, dTPosF, dYDeltaF
|
||||
dYPosA = dTPosF + dYDeltaF
|
||||
dVPosA = dTPosF + dVDeltaF
|
||||
table.insert( vCmd, { 3, 'Y', dYPosA , 'T', dTPosA, 'V', dVPosA})
|
||||
table.insert( vCmd, { 11, 1})
|
||||
table.insert( vCmd, { 11, CalcCharStatus( 'Y', dYDeltaF)})
|
||||
-- la morsa al carico è adesso in posizione
|
||||
dYDeltaI = dYDeltaF
|
||||
end
|
||||
@@ -1638,7 +1657,7 @@ function SpecAdjustCarriages( vCmd, dTPosI, dYDeltaI, dVDeltaI, dTPosF, dYDeltaF
|
||||
dTPosA = -( dYPosA + dVDeltaF)
|
||||
dVPosA = dTPosA + dVDeltaF
|
||||
table.insert( vCmd, { 3, 'Y', dYPosA , 'T', dTPosA, 'V', dVPosA})
|
||||
table.insert( vCmd, { 11, 1})
|
||||
table.insert( vCmd, { 11, CalcCharStatus( 'Y', dYDeltaF)})
|
||||
-- la morsa al carico è adesso in posizione
|
||||
dYDeltaI = dYDeltaF
|
||||
end
|
||||
@@ -1723,7 +1742,7 @@ function SpecAdjustCarriages( vCmd, dTPosI, dYDeltaI, dVDeltaI, dTPosF, dYDeltaF
|
||||
dTPosI = dTPosA
|
||||
|
||||
-- blocco la morsa
|
||||
table.insert( vCmd, { 11, 1})
|
||||
table.insert( vCmd, { 11, CalcCharStatus( 'Y', dYDeltaF)})
|
||||
|
||||
-- imposto i nuovi parametri di aggancio
|
||||
if EMC.YDELTANEXT and EMC.VDELTANEXT then
|
||||
@@ -1733,7 +1752,7 @@ function SpecAdjustCarriages( vCmd, dTPosI, dYDeltaI, dVDeltaI, dTPosF, dYDeltaF
|
||||
dYPosA = dTPosF + dYDeltaF
|
||||
dVPosA = dTPosF + dVDeltaF
|
||||
table.insert( vCmd, { 3, 'Y', dYPosA , 'T', dTPosA, 'V', dVPosA})
|
||||
table.insert( vCmd, { 12, 1})
|
||||
table.insert( vCmd, { 12, CalcCharStatus( 'V', dVDeltaF)})
|
||||
-- la morsa al carico è adesso in posizione
|
||||
dVDeltaI = dVDeltaF
|
||||
end
|
||||
@@ -1745,7 +1764,7 @@ function SpecAdjustCarriages( vCmd, dTPosI, dYDeltaI, dVDeltaI, dTPosF, dYDeltaF
|
||||
dTPosA = dVPosA - dVDeltaF
|
||||
dYPosA = dTPosA + dYDeltaF
|
||||
table.insert( vCmd, { 3, 'Y', dYPosA , 'T', dTPosA, 'V', dVPosA})
|
||||
table.insert( vCmd, { 12, 1})
|
||||
table.insert( vCmd, { 12, CalcCharStatus( 'V', dVDeltaF)})
|
||||
-- la morsa al carico è adesso in posizione
|
||||
dVDeltaI = dVDeltaF
|
||||
end
|
||||
@@ -1858,7 +1877,7 @@ function SpecAdjustCarriages( vCmd, dTPosI, dYDeltaI, dVDeltaI, dTPosF, dYDeltaF
|
||||
dTPosA = dTPosI - dVPosI + MinV
|
||||
dYPosA = dYDeltaF + dTPosA
|
||||
table.insert( vCmd, { 3, 'Y', dYPosA , 'T', dTPosA, 'V', dVPosA})
|
||||
table.insert( vCmd, { 11, 1})
|
||||
table.insert( vCmd, { 11, CalcCharStatus( 'Y', dYDeltaF)})
|
||||
table.insert( vCmd, { 12, 0})
|
||||
dTPosI = dTPosA
|
||||
EMC.YDELTA = dYDeltaF
|
||||
@@ -1875,7 +1894,7 @@ function SpecAdjustCarriages( vCmd, dTPosI, dYDeltaI, dVDeltaI, dTPosF, dYDeltaF
|
||||
dVPosA = dTPosI + dVDeltaI - dTotMove
|
||||
dTPosA = dTPosI - dTotMove
|
||||
table.insert( vCmd, { 3, 'Y', dYPosA , 'T', dTPosA, 'V', dVPosA})
|
||||
table.insert( vCmd, { 11, 1})
|
||||
table.insert( vCmd, { 11, CalcCharStatus( 'Y', dYDeltaF)})
|
||||
table.insert( vCmd, { 12, 0})
|
||||
|
||||
-- aggiorno nuova posizione della morsa al carico dopo riposizionamento
|
||||
@@ -1903,12 +1922,12 @@ function SpecAdjustCarriages( vCmd, dTPosI, dYDeltaI, dVDeltaI, dTPosF, dYDeltaF
|
||||
|
||||
-- imposto i nuovi parametri di aggancio
|
||||
if EMC.YDELTANEXT and EMC.VDELTANEXT then
|
||||
table.insert( vCmd, { 12, 1})
|
||||
table.insert( vCmd, { 12, CalcCharStatus( 'V', dVDeltaF)})
|
||||
table.insert( vCmd, { 21, dYDeltaF, dVDeltaF})
|
||||
elseif EMC.YDELTANEXT then
|
||||
table.insert( vCmd, { 21, dYDeltaF, 0})
|
||||
else
|
||||
table.insert( vCmd, { 12, 1})
|
||||
table.insert( vCmd, { 12, CalcCharStatus( 'V', dVDeltaF)})
|
||||
table.insert( vCmd, { 11, 0})
|
||||
-- sposto il carrello Y in parcheggio
|
||||
table.insert( vCmd, { 1, 'Y', ParkY})
|
||||
@@ -1964,7 +1983,7 @@ function SpecAdjustCarriages( vCmd, dTPosI, dYDeltaI, dVDeltaI, dTPosF, dYDeltaF
|
||||
dTPosA = dTPosI + ( MaxY - dYPosI)
|
||||
dVPosA = dVDeltaF + dTPosA
|
||||
table.insert( vCmd, { 3, 'Y', dYPosA , 'T', dTPosA, 'V', dVPosA})
|
||||
table.insert( vCmd, { 12, 1})
|
||||
table.insert( vCmd, { 12, CalcCharStatus( 'V', dVDeltaF)})
|
||||
table.insert( vCmd, { 11, 0})
|
||||
dTPosI = dTPosA
|
||||
EMC.YDELTA = dYDeltaI
|
||||
@@ -1981,7 +2000,7 @@ function SpecAdjustCarriages( vCmd, dTPosI, dYDeltaI, dVDeltaI, dTPosF, dYDeltaF
|
||||
dVPosA = dTPosI + dVDeltaI - dTotMove
|
||||
dTPosA = dTPosI + dTotMove
|
||||
table.insert( vCmd, { 3, 'Y', dYPosA , 'T', dTPosA, 'V', dVPosA})
|
||||
table.insert( vCmd, { 12, 1})
|
||||
table.insert( vCmd, { 12, CalcCharStatus( 'V', dVDeltaF)})
|
||||
table.insert( vCmd, { 11, 0})
|
||||
|
||||
-- aggiorno nuova posizione della morsa allo scarico dopo riposizionamento
|
||||
@@ -2007,22 +2026,12 @@ function SpecAdjustCarriages( vCmd, dTPosI, dYDeltaI, dVDeltaI, dTPosF, dYDeltaF
|
||||
dYDeltaI = dYDeltaF
|
||||
end
|
||||
|
||||
-- sistemo apertura morse
|
||||
if EMC.YDELTANEXT then
|
||||
table.insert( vCmd, { 11, 1})
|
||||
end
|
||||
if not EMC.VDELTANEXT then
|
||||
table.insert( vCmd, { 12, 0})
|
||||
-- sposto il carrello Y in parcheggio
|
||||
table.insert( vCmd, { 1, 'V', ParkV})
|
||||
end
|
||||
|
||||
-- imposto i nuovi parametri di aggancio
|
||||
if EMC.YDELTANEXT and EMC.VDELTANEXT then
|
||||
table.insert( vCmd, { 11, 1})
|
||||
table.insert( vCmd, { 11, CalcCharStatus( 'Y', dYDeltaF)})
|
||||
table.insert( vCmd, { 21, dYDeltaF, dVDeltaF})
|
||||
elseif EMC.YDELTANEXT then
|
||||
table.insert( vCmd, { 11, 1})
|
||||
table.insert( vCmd, { 11, CalcCharStatus( 'Y', dYDeltaF)})
|
||||
-- sposto il carrello Y in parcheggio
|
||||
table.insert( vCmd, { 12, 0})
|
||||
table.insert( vCmd, { 1, 'V', ParkV})
|
||||
@@ -2277,17 +2286,6 @@ function SpecAdjustCarriagesOLD( dTPosI, dYDeltaI, dVDeltaI, dTPosF, dYDeltaF, d
|
||||
end
|
||||
end
|
||||
|
||||
---------------------------------------------------------------------
|
||||
local function CalcCharStatus( sType, dDelta)
|
||||
-- se per carrello Y
|
||||
if sType == 'Y' then
|
||||
return EgtIf( EMC.LB - dDelta < LenToPress, 1, 2)
|
||||
-- altrimenti per carrello V
|
||||
else
|
||||
return EgtIf( dDelta < LenToPress, 1, 2)
|
||||
end
|
||||
end
|
||||
|
||||
---------------------------------------------------------------------
|
||||
local function GetCorseDisp( dCorsaYfc, dCorsaVfc, dDistN, sSide)
|
||||
local dRecTotn = min( dDistN, dCorsaYfc+ dCorsaVfc) -- recupero possibile al netto di dCorsa..TrA)
|
||||
|
||||
+5
-40
@@ -3,50 +3,15 @@
|
||||
-- 2022/07/22 Ver.2.4g2 DS Modifiche per ribaltamento pezzo con molto scarto iniziale.
|
||||
-- 2023/01/16 Ver.2.5a1 DS/LM Modificata posizione home della testa H3.
|
||||
-- 2023/01/23 Ver.2.5a2 DS Allineamento con FAST (per problemi scorrimento carrelli rispetto a trave).In simulazione corretta visualizzazione Sega a catena.
|
||||
-- 2023/07/26 Ver.2.5g1 DS Per NUM aggiunta gestione rotazione in alto su pezzi alti (G101 EH1) come per TPA in versione 2.3f2.
|
||||
-- 2023/07/26 Ver.2.5g2 DS Per NUM tolta segnalazione errore rotazione a Zmax per pezzi alti non gestita (era su EMT.FLAG == 5).
|
||||
-- 2023/09/29 ver 2.5i1 In BeamData e mlde aggiunta la lettura di alcuni parametri da Ts3Data.
|
||||
-- 2024/01/17 Ver.2.6a1 DS Aggiunta gestione BlockHouse come in FAST.
|
||||
-- 2024/02/09 Ver 2.6b1 LM In BeamData aggiunta funzione GetBlockedAxis che sostituisce la GetChainSawBlockedAxis.
|
||||
-- 2024/02/22 Ver 2.6b2 LM In mlse corretto calcolo pinzaggio quando testa vicina.
|
||||
-- 2024/02/23 ver 2.6c1 Rimossa chiamata funzione EgtGetSourceDir
|
||||
-- Prima versione post common
|
||||
-- Allineamento con common ver. 2.6c3
|
||||
-- 2024/02/23 ver 2.6c2 Aggiornamento BeamData per visualizzazione in simulazione
|
||||
-- 2024/02/27 ver 2.6c3 Allineamento con common ver. 2.6c4. Aggiunto parametro 'SafeXRotAxes' per rotazione motosega con pezzi alti
|
||||
-- Parametro 'SecondSupport' gestito come intero
|
||||
-- 2024/02/29 ver 2.6c4 Allineamento con common ver. 2.6c4
|
||||
-- 2024/03/04 ver 2.6c5 Modificato log con nome macchina
|
||||
-- Allineamento con common ver. 2.6c6
|
||||
-- 2024/03/12 ver 2.6c6 Allineamento con common ver. 2.6c7
|
||||
-- Migliorie alla geometria macchina e suo caricamento
|
||||
-- 2024/03/28 ver 2.6d1 Allineamento con common ver. 2.6c8
|
||||
-- 2024/03/28 ver 2.6d2 Allineamento con common ver. 2.6d2
|
||||
-- 2024/04/30 ver 2.6e1 Allineamento con common ver. 2.6e1
|
||||
-- Aggiunta variabile WoodDensity per gestione WOOD_DENSITY
|
||||
-- 2024/05/06 ver 2.6e2 Allineamento con common ver. 2.6e2
|
||||
-- 2024/05/06 ver 2.6e3 Allineamento con common ver. 2.6e3
|
||||
-- Aggiunte variabili MinJoin(xx) per gestione MIN_JOIN_(xx)
|
||||
-- 2024/06/03 ver 2.6f1 Aggiunta funzione GetSetupInfo a BeamData per nuovo automatismo
|
||||
-- 2024/07/03 ver 2.6g1 Allineamento con common ver. 2.6g1
|
||||
-- 2024/09/02 ver 2.6i1 Allineamento con common ver. 2.6i1, Rimossi file "Common-"
|
||||
-- 2024/09/02 ver 2.6i2 Corretto file YML per compilare file "Common_"
|
||||
-- 2024/09/16 ver 2.6i3 Allineamento con common ver. 2.6i2
|
||||
-- 2024/09/18 ver 2.6i4 Modificato YAML per comunicazione versioni a LiMan. Aggiunta PP_NVER, versione macchina in formato numerico.
|
||||
-- 2024/09/24 ver 2.6i5 Allineamento con common ver. 2.6i4
|
||||
-- 2024/09/24 ver 2.6i6 Allineamento con common ver. 2.6i5
|
||||
-- 2024/09/25 ver 2.6i7 Allineamento con common ver. 2.6i6
|
||||
-- 2024/10/01 ver 2.6j1 Allineamento con common ver. 2.6j1
|
||||
-- 2024/10/03 AV ver 2.6j2 Allineamento con common ver. 2.6j2
|
||||
-- Aggiunta lettura parametro ROT90 da TS3 in BeamData
|
||||
-- 2024/10/04 LM ver 2.6j3 in BeamData corretta lettura ROT90 da TS3
|
||||
-- 2024/10/11 AV ver 2.6j4 Allineamento con common ver. 2.6j3
|
||||
-------------------------------------
|
||||
-- NOTE VERSIONI SUCCESSIVE IN GIT --
|
||||
-------------------------------------
|
||||
|
||||
require( 'EmtGenerator')
|
||||
EgtEnableDebug( false)
|
||||
|
||||
PP_VER = '2.6j4'
|
||||
PP_NVER = '2.6.10.4'
|
||||
PP_VER = '2.6j6'
|
||||
PP_NVER = '2.6.10.6'
|
||||
MIN_MACH_VER = '2.5k1'
|
||||
MACH_NAME = 'Essetre-FASTrl'
|
||||
|
||||
|
||||
@@ -1,5 +1,12 @@
|
||||
==== Common_FAST Update Log ====
|
||||
|
||||
Versione 2.6j5 (17/10/2024)
|
||||
- (SIM-GEN) Piccola correzione nuovo riposizionamento. Nel taglio dello scarto finale riposizionava nel vuoto. Ticket#2115
|
||||
|
||||
Versione 2.6j4 (15/10/2024)
|
||||
- (SIM-GEN) Piccola correzione nuovo riposizionamento. Non considerava i 50mm di tolleranza su primo pinzaggio dopo ribaltamento
|
||||
- (SIM-GEN) Gestione attivazione pressore verticale in nuovo riposizionamento
|
||||
|
||||
Versione 2.6j3 (11/10/2024)
|
||||
- (GEN) Corretta scrittura macro start/attesa movimenti per NUM. Veniva scritto codice per TPA.
|
||||
|
||||
|
||||
+1
-1
@@ -3,7 +3,7 @@
|
||||
|
||||
local InfoCommon_STD_PP = {
|
||||
NAME = 'Common_FAST', -- nome script PP standard
|
||||
VERSION = '2.6j3', -- versione script
|
||||
VERSION = '2.6j5', -- versione script
|
||||
MIN_MACH_VER_PP_COMMON = '2.5k1' -- versione minima kernel
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user