diff --git a/Common_PF1250.TPA.mlpe b/Common_PF1250.TPA.mlpe index 7d5779a..3a24362 100644 --- a/Common_PF1250.TPA.mlpe +++ b/Common_PF1250.TPA.mlpe @@ -289,7 +289,11 @@ function OnDispositionEnd() -- altrimenti disposizione finale, eventuale scarico pezzo lavorato se non ci sono lavorazioni else if #EMT.MDCHAR > 0 then - EmitRemark( 'PART UNLOAD') + if EMT.AUXTYPE == 'R' and UnloadOnLoadPos then + EmitRemark( 'PART UNLOAD ON LOAD POSITION') + else + EmitRemark( 'PART UNLOAD') + end end for i = 1, #EMT.MDCHAR do -- Se è un'istruzione del piano ferma pezzo @@ -316,6 +320,9 @@ function OnDispositionEnd() local sEnd= 'M113 P1='..tostring( EMT.PRODID)..' P2='..tostring( EMT.PATTID)..' P3='..tostring( EMT.CUTID)..' P4=2' MyOutput( sEnd) end + if UnloadOnLoadPos then + MyOutput('M77') + end end EMT.MDCHAR = {} EMT.AUXTYPE = nil @@ -494,6 +501,10 @@ function OnMachiningEnd() elseif EMT.AUXTYPE == 'U' then EmitRemark( 'PART UNLOAD') elseif EMT.AUXTYPE == 'P' then + local nNextPathId + local nNextMchId + if EMT.PATHID then nNextPathId = EgtGetNextActiveOperation( EMT.PATHID) end + if EMT.MCHID then nNextMchId = EgtGetNextActiveOperation( EMT.MCHID) end if EMT.PREROT then EmitZmax( false, true, EMT.R1, EMT.R2, false, false, false) EMT.ZMAX = true @@ -505,6 +516,10 @@ function OnMachiningEnd() EMT.TO_ZMAX = nil end EmitRemark( 'PART FALL') + elseif UnloadOnLoadPos and not nNextPathId and not nNextMchId then + EmitZmax( false, true, EMT.R1, EMT.R2, false, false, false) + EMT.ZMAX = true + EmitRemark( 'PART UNLOAD ON LOAD POSITION') else EmitZmax( false, true, EMT.R1, EMT.R2, false, false, false) EMT.ZMAX = true diff --git a/Common_PF1250.mlse b/Common_PF1250.mlse index f6348dd..f36c5d2 100644 --- a/Common_PF1250.mlse +++ b/Common_PF1250.mlse @@ -276,8 +276,7 @@ local DIST_Y1MAX_LOAD = 100 -- distanza carrello Y1 da massimo asse al ca ----------------------- Variabili ----------------------------------- local Test = false local SPLIT ---ToDo - la variabile sarà letta da una info probabilmente sul pezzo, intanto la forziamo -local UnloadOnLoadPos = true -- EgtGetInfo( EgtGetFirstNameInGroup( GDB_ID.ROOT, 'BtlInfo'), 'Output', 'b') -- se il pezzo dev'essere scaricato al carico +UnloadOnLoadPos = EgtGetInfo( EgtGetFirstNameInGroup( GDB_ID.ROOT, 'BtlInfo'), 'Output', 'b') == 1 -- se il pezzo dev'essere scaricato al carico --------------------------------------------------------------------- local function PrepareClGroup( nParentId) @@ -569,6 +568,10 @@ function OnSpecialApplyDisposition() end -- eseguo scarico SpecSetCarrPosFromCmds( vCmd2) + -- determino posizione testa trave + local nLastEntId = EgtGetLastInGroup( EgtGetLastInGroup( EgtGetFirstNameInGroup( EgtGetPrev( EMC.DISPID), 'CL'))) + local vAxes = EmtGetAxesPos( nLastEntId) + if #vAxes > 0 then EMC.TPOS = vAxes[1] end local vCmd3 = SpecCalcUnload() -- unisco ed emetto i comandi vCmd = EgtJoinTables( vCmd, vCmd2) @@ -908,11 +911,6 @@ function SpecApplyPath( bPreSplit, bSplitting, bPreCut, bCutting, bUnload) -- Se previsto scarico, lo eseguo if bUnload then - -- determino posizione testa trave - local nLastEntId = EgtGetLastInGroup( EMC.PATHID) - local vAxes = EmtGetAxesPos( nLastEntId) - if #vAxes > 0 then EMC.TPOS = vAxes[1] end - EMC.LB = b3Raw:getDimX() local vCmdTmp = SpecCalcUnload() vCmd = EgtJoinTables( vCmd, vCmdTmp) end diff --git a/Essetre-PF1250-3T_5Ax.mlde b/Essetre-PF1250-3T_5Ax.mlde index 969b497..aa01f34 100644 --- a/Essetre-PF1250-3T_5Ax.mlde +++ b/Essetre-PF1250-3T_5Ax.mlde @@ -5,7 +5,7 @@ require( 'EmtGenerator') EgtEnableDebug( false) -PP_VER = '3.1a2_DEV1' +PP_VER = '3.1a2_DEV3' PP_NVER = '3.1.1.2' MIN_MACH_VER = '2.7d2' MACH_NAME = EgtGetCurrMachineName() @@ -173,6 +173,7 @@ EstimationRapidMultiplier = 1 DistZClampToTable = 5 -- distanza tra la tavola e il punto più basso della morsa ClampingCoeffMin = nil -- coefficiente di fissaggio, se 0 o nil non fa controllo, per il momento da inizializzare da Ts3Data MinBeamLenUnloadInLine = 2400 -- se lo scarico è su una linea deve scaricare il pezzo al massimo e deve essere maggiore del valore della variabile +UnloadOnLoadPos = nil -- Aggiornamento con dati da TechnoEssetre7 local sTs3Data = EgtGetStringFromIni( 'Beam', 'DATA_DIR', "C:\\TechnoEssetre7\\EgtData", EgtGetIniFile()).."\\Essetre-PF1250-3T_5Ax.data"