From 15bdde06b5c3f04c2cc5fc3c5418671cb37dd7ca Mon Sep 17 00:00:00 2001 From: Samuele Locatelli Date: Wed, 15 Jun 2022 11:29:03 +0200 Subject: [PATCH] Aggiunto disab controllo range valori --- IOB-WIN-NEXT/IobGeneric.cs | 16 +++++++++++++++- IOB-WIN-NEXT/IobModbusTCP.cs | 4 ++-- IOB-WIN-NEXT/IobOpcUa.cs | 2 +- 3 files changed, 18 insertions(+), 4 deletions(-) diff --git a/IOB-WIN-NEXT/IobGeneric.cs b/IOB-WIN-NEXT/IobGeneric.cs index 66840aeb..3f621fe7 100644 --- a/IOB-WIN-NEXT/IobGeneric.cs +++ b/IOB-WIN-NEXT/IobGeneric.cs @@ -2563,7 +2563,7 @@ namespace IOB_WIN_NEXT // controllo contatore invio "keepalive"... invio solo a scadenza if (DateTime.Now.Subtract(lastDisconnCheck).TotalSeconds > utils.CRI("disconMaxSec")) { - // resetto tutti i vlaori BYTE IN/PREV/OUT... così invio macchina spenta... + // resetto tutti i valori BYTE IN/PREV/OUT... così invio macchina spenta... B_input = 0; B_output = 0; B_previous = 0; @@ -3628,6 +3628,12 @@ namespace IOB_WIN_NEXT #endregion Public Methods + #region Internal Properties + + internal bool disDynDataRangeCheck { get; set; } = false; + + #endregion Internal Properties + #region Protected Fields /// @@ -4430,6 +4436,14 @@ namespace IOB_WIN_NEXT lgError("loadMemConf: parametro ENABLE_SEND_PZC_BLOCK non trovato, verificare anche MAX_SEND_PZC_BLOCK e MIN_SEND_PZC_BLOCK"); } + // disabilitazione controllo range valori DynData + if (!string.IsNullOrEmpty(getOptPar("disDynDataRangeCheck"))) + { + bool checkDis = false; + bool.TryParse(getOptPar("disDynDataRangeCheck"), out checkDis); + disDynDataRangeCheck = checkDis; + } + // inizializzo LUT decodifica PARAMETRI string jsonParams = getOptPar("PARAM_CONF"); if (!string.IsNullOrEmpty(jsonParams)) diff --git a/IOB-WIN-NEXT/IobModbusTCP.cs b/IOB-WIN-NEXT/IobModbusTCP.cs index 4c1d8279..2679fd03 100644 --- a/IOB-WIN-NEXT/IobModbusTCP.cs +++ b/IOB-WIN-NEXT/IobModbusTCP.cs @@ -626,7 +626,7 @@ namespace IOB_WIN_NEXT // bit status: // - allarmi che iniziano per # IGNORATI // - altri allarmi con un countdown da MAX_COUNTER_BLINK a 0 per il - // fronte di discesa + // fronte di discesa if (item.isChanged(i, (uint)currStatus)) { // registro gli allarmi attivi e trasmetto... @@ -1213,7 +1213,7 @@ namespace IOB_WIN_NEXT } // verifica limite... con delta da impianto dataOk = (valore > (item.Value.minVal + deltaVal) && valore < (item.Value.maxVal - deltaVal)); - if (dataOk) + if (dataOk || disDynDataRangeCheck) { // moltiplico x fattore conversione... valoreScal = valore * item.Value.factor; diff --git a/IOB-WIN-NEXT/IobOpcUa.cs b/IOB-WIN-NEXT/IobOpcUa.cs index e3049e89..dfa8e7e5 100644 --- a/IOB-WIN-NEXT/IobOpcUa.cs +++ b/IOB-WIN-NEXT/IobOpcUa.cs @@ -549,7 +549,7 @@ namespace IOB_WIN_NEXT protected DateTime lastCurrent = DateTime.Now; /// - /// Oggetto MAIN x connessione MTC + /// Oggetto MAIN x connessione OPC-UA /// protected UAClient UA_ref;