From 5491ea4abdae9b70d1889b4a30b1894cb89b97fc Mon Sep 17 00:00:00 2001 From: Samuele Locatelli Date: Mon, 28 Sep 2020 19:13:54 +0200 Subject: [PATCH] fix calcoli stima durata e tempi ciclo x casi riscaldo ed in generale... --- Thermo.Active.NC/NcAdapter.cs | 15 +++++++++------ .../Listeners/SignalR/SignalRListener.cs | 1 - 2 files changed, 9 insertions(+), 7 deletions(-) diff --git a/Thermo.Active.NC/NcAdapter.cs b/Thermo.Active.NC/NcAdapter.cs index 6ebeee56..5e0af795 100644 --- a/Thermo.Active.NC/NcAdapter.cs +++ b/Thermo.Active.NC/NcAdapter.cs @@ -37,7 +37,7 @@ namespace Thermo.Active.NC /// /// Avvio prod lotto /// - public DateTime lottoStart; + public DateTime lottoStart = DateTime.Today; /// /// Ultimo avvio prod pz /// @@ -1511,10 +1511,13 @@ namespace Thermo.Active.NC // salvo anche nei live data della ricetta... RecipeLiveData.TC_last = lastCycle; - // stima durata da pz fatti... - //currentProdPanel.StimaDurata = Math.Round((currentProdPanel.NumTarget - currentProdPanel.NumDone) * currentProdPanel.LastTCiclo, 2); - // 2020.09.03 uso dati da ricetta corrente... stimata con EWMA, in SECONDI! - currentProdPanel.StimaDurata = Math.Round((currentProdPanel.NumTarget - currentProdPanel.NumDone) * lastCycle, 2); + // stima durata da pz fatti... SOLO SE il NumTarget รจ > 0 + currentProdPanel.StimaDurata = 0; + if (currentProdPanel.NumTarget > 0) + { + // 2020.09.03 uso dati da ricetta corrente... stimata con EWMA, in SECONDI! + currentProdPanel.StimaDurata = Math.Round((currentProdPanel.NumTarget - currentProdPanel.NumDone) * lastCycle, 2); + } // se stima negativa (+ pezzi di quanti richiesti...) --> ZERO! currentProdPanel.StimaDurata = currentProdPanel.StimaDurata < 0 ? 0 : currentProdPanel.StimaDurata; } @@ -1527,7 +1530,7 @@ namespace Thermo.Active.NC currentProdPanel.TempSetpoint = lastRecipe["pyrometer_pyrometer_setpoint"].SetpointPLC; } } - // dal DB recupero i dati dei TC storici... cablato a last 30 x ora... + // dal DB recupero i dati dei TC storici... cablato a last 30 x ora... ma CALCOLO SOLO i cicli "positivi" = NON i riscaldi... if (currentProdPanel.NumDone > 0) { libraryError = GetHistProdInfoData(out List prodInfoDataList, currentProdPanel.NumDone, numRecProdPanelGraph); diff --git a/Thermo.Active/Listeners/SignalR/SignalRListener.cs b/Thermo.Active/Listeners/SignalR/SignalRListener.cs index de8890bb..54119fbc 100644 --- a/Thermo.Active/Listeners/SignalR/SignalRListener.cs +++ b/Thermo.Active/Listeners/SignalR/SignalRListener.cs @@ -251,7 +251,6 @@ namespace Thermo.Active.Listeners.SignalR if (diffData.Count > 0) { // salvo update CLONANDO - //LastRecipeFullData = currRecipeFull; LastRecipeFullData = currRecipeFull.Keys.ToDictionary(_ => _, _ => currRecipeFull[_].Clone()); var context = GlobalHost.ConnectionManager.GetHubContext();