From 40560bd179510b628805e00546dc39cc76cf37b5 Mon Sep 17 00:00:00 2001 From: "Samuele E. Locatelli" Date: Fri, 26 Apr 2019 17:29:27 +0200 Subject: [PATCH] Aumento freq proc DynData + gestione try/catch x scovare errore... --- IOB-WIN/IobGeneric.cs | 41 +++++++++++++++++++++-------------- IOB-WIN/IobSiemensAprochim.cs | 31 ++++++++++++++++---------- Jenkinsfile | 2 +- 3 files changed, 45 insertions(+), 29 deletions(-) diff --git a/IOB-WIN/IobGeneric.cs b/IOB-WIN/IobGeneric.cs index 53875fe0..a33adc09 100644 --- a/IOB-WIN/IobGeneric.cs +++ b/IOB-WIN/IobGeneric.cs @@ -727,6 +727,7 @@ namespace IOB_WIN processOverride(); processContapezzi(); processCncAlarms(); + processDynData(); } else if (ciclo == gatherCycle.LF) { @@ -742,8 +743,6 @@ namespace IOB_WIN // refresh associazione Macchina - IOB sendM2IOB(); } - // dati dinamici - processDynData(); // recupero dati SETUP (sysinfo) e li invio/mostro se variati... processSysInfo(); // checkLogDir x shrink! @@ -2105,11 +2104,11 @@ namespace IOB_WIN { bool enableByApp = utils.CRB("enableDynData"); bool enableByIob = (getOptPar("ENABLE_DYN_DATA") == "TRUE"); + Dictionary currDynData = new Dictionary(); if (enableByApp || enableByIob) { - Dictionary currDynData = new Dictionary(); - + lgInfo("Inizio processDynData"); if (connectionOk) { currDynData = getDynData(); @@ -2118,20 +2117,27 @@ namespace IOB_WIN { lgError("Errore connessione mancante x getDynData"); } - // verifico SE sia cambiato il programma... - if (lastDynData != currDynData["DYNDATA"]) + try { - // salvo! - lastDynData = currDynData["DYNDATA"]; - // per ogni valore del dizionario mostro ed accodo! - string sVal = ""; - foreach (var item in currDynData) + // verifico SE sia cambiato il programma... + if (lastDynData != currDynData["DYNDATA"]) { - sVal = string.Format("[DYNDATA]{0}|{1}", item.Key, item.Value); - // chiamo accodamento... - accodaFLog(sVal, qEncodeFLog(item.Key, item.Value)); + // salvo! + lastDynData = currDynData["DYNDATA"]; + // per ogni valore del dizionario mostro ed accodo! + string sVal = ""; + foreach (var item in currDynData) + { + sVal = string.Format("[DYNDATA]{0}|{1}", item.Key, item.Value); + // chiamo accodamento... + accodaFLog(sVal, qEncodeFLog(item.Key, item.Value)); + } } } + catch (Exception exc) + { + lgError(exc, "Eccezione in processDynData"); + } } } /// @@ -2182,9 +2188,12 @@ namespace IOB_WIN /// public virtual void processOverride() { - if (utils.CRB("enableOverrides")) + bool enableByApp = utils.CRB("enableOverrides"); + bool enableByIob = (getOptPar("ENABLE_OVERRIDES") == "TRUE"); + Dictionary currOverride = new Dictionary(); + if (enableByApp || enableByIob) { - Dictionary currOverride = new Dictionary(); + lgInfo("Inizio processOverride"); if (connectionOk) { currOverride = getOverrides(); diff --git a/IOB-WIN/IobSiemensAprochim.cs b/IOB-WIN/IobSiemensAprochim.cs index fee79207..b2324535 100644 --- a/IOB-WIN/IobSiemensAprochim.cs +++ b/IOB-WIN/IobSiemensAprochim.cs @@ -94,20 +94,27 @@ namespace IOB_WIN { lgInfo("Chiamata getDynData x Siemens Aprochim!"); Dictionary outVal = new Dictionary(); - /* ---------------------------------------------------------- - * DB60.DBD6: pressione camera filtrante (salvataggio del MAX ogni minuto) | var testVal = S7.Net.Types.Double.FromByteArray(memByteRead.Skip(0).Take(4).ToArray()); - * DB60.DBD10: pressione linea utenze (salvataggio del MAX ogni minuto) - * DB60.DBD14: temperatura acqua pulita (salvataggio del MAX ogni minuto) - * */ + try + { + /* ---------------------------------------------------------- + * DB60.DBD6: pressione camera filtrante (salvataggio del MAX ogni minuto) | var testVal = S7.Net.Types.Double.FromByteArray(memByteRead.Skip(0).Take(4).ToArray()); + * DB60.DBD10: pressione linea utenze (salvataggio del MAX ogni minuto) + * DB60.DBD14: temperatura acqua pulita (salvataggio del MAX ogni minuto) + * */ - Byte[] memByteRead = currPLC.ReadBytes(DataType.DataBlock, 60, 0, 18); - double pressCamFilt = S7.Net.Types.Double.FromByteArray(memByteRead.Skip(6).Take(4).ToArray()); - double pressLinUt = S7.Net.Types.Double.FromByteArray(memByteRead.Skip(10).Take(4).ToArray()); - double tempH2O = S7.Net.Types.Double.FromByteArray(memByteRead.Skip(14).Take(4).ToArray()); + Byte[] memByteRead = currPLC.ReadBytes(DataType.DataBlock, 60, 0, 18); + double pressCamFilt = S7.Net.Types.Double.FromByteArray(memByteRead.Skip(6).Take(4).ToArray()); + double pressLinUt = S7.Net.Types.Double.FromByteArray(memByteRead.Skip(10).Take(4).ToArray()); + double tempH2O = S7.Net.Types.Double.FromByteArray(memByteRead.Skip(14).Take(4).ToArray()); - outVal.Add("pressCamFilt", pressCamFilt.ToString("{0:N6}")); - outVal.Add("pressLinUt", pressCamFilt.ToString("{0:N6}")); - outVal.Add("tempH2O", tempH2O.ToString("{0:N3}")); + outVal.Add("pressCamFilt", pressCamFilt.ToString("{0:N6}")); + outVal.Add("pressLinUt", pressCamFilt.ToString("{0:N6}")); + outVal.Add("tempH2O", tempH2O.ToString("{0:N3}")); + } + catch (Exception exc) + { + lgError(exc, "Errore in getDynData x Siemens Aprochim"); + } return outVal; } diff --git a/Jenkinsfile b/Jenkinsfile index 11e8ec91..dcd13da9 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -16,7 +16,7 @@ pipeline { /* calcolo numero versione... diverso x branch MASTER/DEVELOP */ script { - withEnv(['NEXT_BUILD_NUMBER=393']) { + withEnv(['NEXT_BUILD_NUMBER=394']) { // env.versionNumber = VersionNumber(versionNumberString : '2.3.${BUILD_DATE_FORMATTED, "yyMM"}.${BUILDS_ALL_TIME}', projectStartDate : '2006-01-01', skipFailedBuilds: true) env.versionNumber = VersionNumber(versionNumberString : '2.3.${BUILD_DATE_FORMATTED, "yyMM"}.${BUILDS_ALL_TIME}', projectStartDate : '2006-01-01', skipFailedBuilds: true, overrideBuildsAllTime: '${NEXT_BUILD_NUMBER}') env.APP_NAME = 'MAPO-IOB-WIN'