From ff6968ecb48edbf08399da67bb7e0b3f9685eede Mon Sep 17 00:00:00 2001 From: "Samuele E. locatelli" Date: Wed, 27 Nov 2019 12:48:29 +0100 Subject: [PATCH] Fix iniziale omron e stab con rete dati ballerina --- IOB-WIN/IobGeneric.cs | 13 ++++++++++++- IOB-WIN/IobOmron.cs | 29 +++++++++++++++++++++++------ 2 files changed, 35 insertions(+), 7 deletions(-) diff --git a/IOB-WIN/IobGeneric.cs b/IOB-WIN/IobGeneric.cs index fb82cb91..bc350539 100644 --- a/IOB-WIN/IobGeneric.cs +++ b/IOB-WIN/IobGeneric.cs @@ -832,7 +832,7 @@ namespace IOB_WIN protected string getParamws2write() { string answ = ""; - if (checkServerAlive) + if (checkServerAlive || true) { string url2call = $"{urlGetParams2Write}"; if (verboseLog) @@ -840,6 +840,11 @@ namespace IOB_WIN lgInfo("chiamata URL " + url2call); } answ = utils.callUrlNow(url2call); + // se vuoto faccio seconda prova... + if(answ=="") + { + answ = utils.callUrlNow(url2call); + } } return answ; } @@ -1451,6 +1456,7 @@ namespace IOB_WIN answ += $" | Parameter {item.uid} --> {item.reqValue}"; // sistemo valori item.value = item.reqValue; + lgInfo($"Effettuato update parametro: actVal = {item.value} | reqVal = {item.reqValue}"); item.reqValue = ""; // salvo in lista da ritrasmettere updatedPar.Add(item); @@ -2496,6 +2502,11 @@ namespace IOB_WIN string ipAdrr = cIobConf.serverData.MPIP.Replace("http://", "").Replace("https://", ""); IPAddress.TryParse(ipAdrr, out address); reply = pingSender.Send(address, pingServerMsTimeout); + // se ho timeout riprovo... + if(reply.Status== IPStatus.TimedOut) + { + reply = pingSender.Send(address, pingServerMsTimeout); + } answ = reply.Status; return answ; } diff --git a/IOB-WIN/IobOmron.cs b/IOB-WIN/IobOmron.cs index 4b53cf50..73ff8732 100644 --- a/IOB-WIN/IobOmron.cs +++ b/IOB-WIN/IobOmron.cs @@ -129,6 +129,9 @@ namespace IOB_WIN pzCountDelay = utils.CRI("pzCountDelay"); lastPzCountSend = DateTime.Now; lastWarnODL = DateTime.Now; + + // imposto i parametri PLC + setParamPlc(); } /// /// Processo i task richiesti e li elimino dalla coda 1:1 @@ -264,7 +267,9 @@ namespace IOB_WIN parentForm.commPlcActive = true; short esitoLink = doConnect(); lgInfo($"szStatusConnection OMRON, esitoLink: {esitoLink}"); - parentForm.commPlcActive = false; + parentForm.commPlcActive = false; + // imposto i parametri... + setParamPlc(); connectionOk = true; // refresh stato allarmi!!! if (connectionOk) @@ -707,26 +712,38 @@ namespace IOB_WIN { // controllo i parametri... ne gestisco 4... foreach (var item in updatedPar) - { + { + lgInfo($"Richiesti processing plcWriteParams per {item.name} | valore richiesto {item.reqValue} | valore attuale {item.value}"); + string readBackVal = ""; switch (item.uid) { case "kgRich": - int.TryParse(item.reqValue, out valInt); + int.TryParse(item.value, out valInt); pesoRichiesto = valInt; + readBackVal = pesoRichiesto.ToString(); break; case "kgLotto": - int.TryParse(item.reqValue, out valInt); + int.TryParse(item.value, out valInt); quantitaLotto = valInt; + readBackVal = quantitaLotto.ToString(); break; case "portata": - int.TryParse(item.reqValue, out valInt); + int.TryParse(item.value, out valInt); portata = valInt; + readBackVal = portata.ToString(); break; case "setComm": - commessa = item.reqValue; + commessa = item.value; + readBackVal = commessa; break; default: break; + } + // SE non corrispondessero LOGGO ERRORE... + readBackVal.Replace("\0", ""); + if (item.value != readBackVal) + { + lgError($"Errore in plcWriteParams: uid {item.uid} | Wrote {item.value} | ReadBack {readBackVal}"); } } }