From 9feb0ed2d80b4cd3f33f7ff553b1857d12408f2f Mon Sep 17 00:00:00 2001 From: "Samuele E. Locatelli" Date: Thu, 6 Mar 2025 16:00:45 +0100 Subject: [PATCH] Correzione slow data e deadBand --- IOB-UT-NEXT/Config/Base/FluxLogDto.cs | 2 +- IOB-WIN-OPC-UA/DATA/CONF/TFT_RAMA_001.json | 16 ++++++++-------- IOB-WIN-OPC-UA/IobOpc/OpcUa.cs | 7 +++---- 3 files changed, 12 insertions(+), 13 deletions(-) diff --git a/IOB-UT-NEXT/Config/Base/FluxLogDto.cs b/IOB-UT-NEXT/Config/Base/FluxLogDto.cs index e7237a9f..fca73c27 100644 --- a/IOB-UT-NEXT/Config/Base/FluxLogDto.cs +++ b/IOB-UT-NEXT/Config/Base/FluxLogDto.cs @@ -19,7 +19,7 @@ namespace IOB_UT_NEXT.Config.Base /// /// Sample period generale (x evitare invii troppo frequenti) /// - public int SamplePeriod { get; set; } = 600; + public int SamplePeriod { get; set; } = 1800; /// /// Indica se inviare all'avvio applicazione tutti i valori diff --git a/IOB-WIN-OPC-UA/DATA/CONF/TFT_RAMA_001.json b/IOB-WIN-OPC-UA/DATA/CONF/TFT_RAMA_001.json index 35fb88a9..0c9f90a4 100644 --- a/IOB-WIN-OPC-UA/DATA/CONF/TFT_RAMA_001.json +++ b/IOB-WIN-OPC-UA/DATA/CONF/TFT_RAMA_001.json @@ -257,16 +257,16 @@ "rovrd": "PATH RAPID OVERRIDE" }, "paramsEndThresh": { - "Counter": 9, - "Temperature": 9, - "Weight": 9, - "Overfeeding": 9, - "Speed": 9, - "Master": 9 + "Counter": 10, + "Temperature": 10, + "Weight": 10, + "Overfeeding": 10, + "Speed": 10, + "Master": 10 }, "paramsContainsThresh": { - "Spindle ": 9, - "Humidity": 9 + "Spindle ": 10, + "Humidity": 10 }, "mMapWrite": { "setArt": { diff --git a/IOB-WIN-OPC-UA/IobOpc/OpcUa.cs b/IOB-WIN-OPC-UA/IobOpc/OpcUa.cs index 88edea98..b556e97e 100644 --- a/IOB-WIN-OPC-UA/IobOpc/OpcUa.cs +++ b/IOB-WIN-OPC-UA/IobOpc/OpcUa.cs @@ -1566,8 +1566,7 @@ namespace IOB_WIN_OPC_UA.IobOpc var currDataItemMem = FluxMem[uuid]; // controllo SE SIA scaduto il tempo massimo... int sendVeto = currDataItemMem.SamplePeriod > IOBConfFull.FluxLog.SamplePeriod ? currDataItemMem.SamplePeriod : IOBConfFull.FluxLog.SamplePeriod; - if (Math.Abs(currDataItemMem.LastUpdated.Subtract(adesso).TotalSe - conds) > sendVeto) + if (Math.Abs(currDataItemMem.LastUpdated.Subtract(adesso).TotalSeconds) > sendVeto) { answ = true; } @@ -1576,7 +1575,7 @@ namespace IOB_WIN_OPC_UA.IobOpc // ALTRIMENTI controllo SE diverso if (currDataItemMem.Value != $"{NotifyValue}") { - // controllo SE ho DeadBand.. + // controllo SE ho DeadBand.. forse si può evitare controllo.. double dBand = currDataItemMem.DeadBand > IOBConfFull.FluxLog.DeadBand ? currDataItemMem.DeadBand : IOBConfFull.FluxLog.DeadBand; if (dBand > 0) { @@ -1590,7 +1589,7 @@ namespace IOB_WIN_OPC_UA.IobOpc } else { - if (Math.Abs(newVal - oldVal) > dBand) + if (Math.Abs(newVal - oldVal) >= dBand) { // indico da salvare.. answ = true;