Aumento freq proc DynData + gestione try/catch x scovare errore...

This commit is contained in:
Samuele E. Locatelli
2019-04-26 17:29:27 +02:00
parent c065ee7b7c
commit 40560bd179
3 changed files with 45 additions and 29 deletions
+25 -16
View File
@@ -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<string, string> currDynData = new Dictionary<string, string>();
if (enableByApp || enableByIob)
{
Dictionary<string, string> currDynData = new Dictionary<string, string>();
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");
}
}
}
/// <summary>
@@ -2182,9 +2188,12 @@ namespace IOB_WIN
/// </summary>
public virtual void processOverride()
{
if (utils.CRB("enableOverrides"))
bool enableByApp = utils.CRB("enableOverrides");
bool enableByIob = (getOptPar("ENABLE_OVERRIDES") == "TRUE");
Dictionary<string, string> currOverride = new Dictionary<string, string>();
if (enableByApp || enableByIob)
{
Dictionary<string, string> currOverride = new Dictionary<string, string>();
lgInfo("Inizio processOverride");
if (connectionOk)
{
currOverride = getOverrides();
+19 -12
View File
@@ -94,20 +94,27 @@ namespace IOB_WIN
{
lgInfo("Chiamata getDynData x Siemens Aprochim!");
Dictionary<string, string> outVal = new Dictionary<string, string>();
/* ----------------------------------------------------------
* 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;
}
Vendored
+1 -1
View File
@@ -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'