diff --git a/Thermo.Active.NC/NcAdapter.cs b/Thermo.Active.NC/NcAdapter.cs index 4e9c4a09..41c1e383 100644 --- a/Thermo.Active.NC/NcAdapter.cs +++ b/Thermo.Active.NC/NcAdapter.cs @@ -1543,7 +1543,8 @@ namespace Thermo.Active.NC } bool changeNumPz = LastProdPanelData.NumDone != lastProdInfoData.NumDone; bool changeNumTarget = lastProdInfoData.NumTarget != LastProdPanelData.NumTarget; - dataChanged = changeNumPz || changeSetpoint || changeNumTarget; + bool changeNumPreHot = lastProdInfoData.NumPreHot != LastProdPanelData.NumPreHot; + dataChanged = changeNumPz || changeSetpoint || changeNumTarget || changeNumPreHot; } } if (dataChanged) @@ -1695,31 +1696,31 @@ namespace Thermo.Active.NC lastProdInfoData = prodInfoRawData; } - // se ho update da strobe... sennò restituisco ultima lettura... - if (ThermoProdUpdatedStr) + // do comparison with old record and if changed --> persist on DB! + if (!prodInfoRawData.Equals(lastProdInfoData)) { - // do comparison with old record and if changed --> persist on DB! - if (!prodInfoRawData.Equals(lastProdInfoData)) - { - // save on DB! attenzione: RAW DATA perché salvo pezzo PRECEDENTE... - using (ProdInfoController prodInfoController = new ProdInfoController()) - { - prodInfoController.Create(prodInfoRawData.NumTarget, prodInfoRawData.NumDone, prodInfoRawData.TimeWarm, prodInfoRawData.TimeVent, prodInfoRawData.TimeVacuum, prodInfoRawData.TimeCycleGross, prodInfoRawData.TimeCycleNet, prodInfoRawData.MaterialTempEndWarm, prodInfoRawData.MaterialTempEndVent, prodInfoRawData.MoldTemp, prodInfoRawData.VacuumReadVal, prodInfoRawData.MouldEnergyOUT, prodInfoRawData.MouldEnergyIN, false); - } - // update last info data - lastProdInfoData = prodInfoRawData; - - // manage strobe/ack! - libraryError = numericalControl.PLC_WAckProdUpdate(); - if (libraryError.IsError()) - return libraryError; - } + // update last info data + lastProdInfoData = prodInfoRawData; } else { prodInfoRawData = lastProdInfoData; } + // se ho update da strobe... sennò restituisco ultima lettura... + if (ThermoProdUpdatedStr) + { + // save on DB! attenzione: RAW DATA perché salvo pezzo PRECEDENTE... + using (ProdInfoController prodInfoController = new ProdInfoController()) + { + prodInfoController.Create(prodInfoRawData.NumTarget, prodInfoRawData.NumDone, prodInfoRawData.TimeWarm, prodInfoRawData.TimeVent, prodInfoRawData.TimeVacuum, prodInfoRawData.TimeCycleGross, prodInfoRawData.TimeCycleNet, prodInfoRawData.MaterialTempEndWarm, prodInfoRawData.MaterialTempEndVent, prodInfoRawData.MoldTemp, prodInfoRawData.VacuumReadVal, prodInfoRawData.MouldEnergyOUT, prodInfoRawData.MouldEnergyIN, false); + } + // manage strobe/ack! + libraryError = numericalControl.PLC_WAckProdUpdate(); + if (libraryError.IsError()) + return libraryError; + } + // ora controllo inizio/fine produzione if (ThermoProdStartStr) {