diff --git a/IOB-WIN/AdapterForm.cs b/IOB-WIN/AdapterForm.cs
index 80d0c379..9b4074eb 100644
--- a/IOB-WIN/AdapterForm.cs
+++ b/IOB-WIN/AdapterForm.cs
@@ -373,9 +373,10 @@ namespace IOB_WIN
}
else
{
- double currWait = DateTime.Now.Subtract(lastStartTry).TotalMilliseconds;
- if (iobObj.adpTryRestart && currWait > utils.CRI("waitRecMSec"))
+ DateTime dtVeto = lastStartTry.AddMilliseconds(utils.CRI("waitRecMSec"));
+ if (iobObj.adpTryRestart && (DateTime.Now > dtVeto))
{
+ lgInfo("Retry Time Elapsed --> tryConnect");
lastStartTry = DateTime.Now;
iobObj.tryConnect();
}
@@ -383,13 +384,13 @@ namespace IOB_WIN
}
else
{
- if (iobObj.verboseLog)
+ if (iobObj.periodicLog)
{
- lgInfo("PLC <--> IOB Not connected");
+ lgInfo("Adapter stopped");
}
- // verifico SE debba tentare il riavvio, ovvero NON running ma tryReconn e non ho riprovato x oltre waitRecMSec
- double currWait = DateTime.Now.Subtract(lastStartTry).TotalMilliseconds;
- if (iobObj.adpTryRestart && currWait > utils.CRI("waitRecMSec"))
+ // verifico SE debba tentare il riavvio, ovvero NON running ma adpTryRestart e non ho riprovato x oltre waitRecMSec
+ DateTime dtVeto = lastStartTry.AddMilliseconds(utils.CRI("waitRecMSec"));
+ if (iobObj.adpTryRestart && (DateTime.Now > dtVeto))
{
lastStartTry = DateTime.Now;
avviaAdapter(chkForceDequeue.Checked);
diff --git a/IOB-WIN/IobSiemens.cs b/IOB-WIN/IobSiemens.cs
index 423702b5..aed21c7d 100644
--- a/IOB-WIN/IobSiemens.cs
+++ b/IOB-WIN/IobSiemens.cs
@@ -364,6 +364,7 @@ namespace IOB_WIN
///
public override void tryConnect()
{
+ bool doLog = (verboseLog || periodicLog);
if (!connectionOk)
{
// reimporto parametri PLC se necessario...
@@ -371,7 +372,7 @@ namespace IOB_WIN
// controllo che il ping sia stato tentato almeno pingTestSec fa...
if (DateTime.Now.Subtract(lastPING).TotalSeconds > utils.CRI("pingTestSec"))
{
- if (verboseLog || periodicLog)
+ if (doLog)
{
lgInfo("SIEMENS: ConnKO - tryConnect");
}
@@ -420,7 +421,7 @@ namespace IOB_WIN
{
// loggo no risposta ping ...
connectionOk = false;
- if (verboseLog || periodicLog)
+ if (doLog)
{
lgInfo(string.Format("Attenzione: SIEMENS controllo PING fallito per IP {0}", cIobConf.cncIpAddr));
}
diff --git a/IOB-WIN/IobSiemensTorri.cs b/IOB-WIN/IobSiemensTorri.cs
index e818bf6a..d1d9d77d 100644
--- a/IOB-WIN/IobSiemensTorri.cs
+++ b/IOB-WIN/IobSiemensTorri.cs
@@ -4,7 +4,6 @@ using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.Linq;
-using System.Net;
using System.Net.NetworkInformation;
namespace IOB_WIN
@@ -34,10 +33,6 @@ namespace IOB_WIN
///
protected Plc currPLC;
///
- /// indica se serva refresh parametri e quindi PLC...
- ///
- bool needRefresh = true;
- ///
/// Oggetto cronometro x test vari...
///
protected Stopwatch sw = new Stopwatch();
@@ -235,23 +230,6 @@ namespace IOB_WIN
return answ;
}
///
- /// test ping all'indirizzo impostato nei parametri
- ///
- ///
- private IPStatus testPing()
- {
- IPStatus answ = IPStatus.Unknown; ;
- IPAddress address;
- PingReply reply;
- Ping pingSender = new Ping();
- address = IPAddress.Loopback;
- IPAddress.TryParse(parametri.ipAdrr, out address);
- int pingMsTimeout = parametri.pingMsTimeout;
- reply = pingSender.Send(address, pingMsTimeout);
- answ = reply.Status;
- return answ;
- }
- ///
/// Imposto parametri PLC
///
private void setParamPlc()
@@ -381,12 +359,15 @@ namespace IOB_WIN
///
public override void tryConnect()
{
+ bool doLog = (verboseLog || periodicLog);
if (!connectionOk)
{
+ // reimporto parametri PLC se necessario...
+ setParamPlc();
// controllo che il ping sia stato tentato almeno pingTestSec fa...
if (DateTime.Now.Subtract(lastPING).TotalSeconds > utils.CRI("pingTestSec"))
{
- if (verboseLog || periodicLog)
+ if (doLog)
{
lgInfo("SIEMENS-TORRI: ConnKO - tryConnect");
}
@@ -435,7 +416,7 @@ namespace IOB_WIN
{
// loggo no risposta ping ...
connectionOk = false;
- if (verboseLog || periodicLog)
+ if (doLog)
{
lgInfo(string.Format("Attenzione: SIEMENS-TORRI controllo PING fallito per IP {0}", cIobConf.cncIpAddr));
}
@@ -757,7 +738,7 @@ namespace IOB_WIN
// resetto timer...
lastPzCountSend = DateTime.Now;
}
- }
+ }
// log opzionale!
if (verboseLog)