diff --git a/IOB-WIN-NEXT/IOB-WIN-NEXT.csproj b/IOB-WIN-NEXT/IOB-WIN-NEXT.csproj index 48db5aa6..513a68b3 100644 --- a/IOB-WIN-NEXT/IOB-WIN-NEXT.csproj +++ b/IOB-WIN-NEXT/IOB-WIN-NEXT.csproj @@ -133,7 +133,9 @@ ..\packages\System.Formats.Asn1.5.0.0\lib\net461\System.Formats.Asn1.dll - + + ..\packages\System.IO.Compression.4.3.0\lib\net46\System.IO.Compression.dll + ..\packages\System.Memory.4.5.4\lib\net461\System.Memory.dll diff --git a/IOB-WIN-NEXT/IobGeneric.cs b/IOB-WIN-NEXT/IobGeneric.cs index a1cebc3d..5fe47712 100644 --- a/IOB-WIN-NEXT/IobGeneric.cs +++ b/IOB-WIN-NEXT/IobGeneric.cs @@ -111,7 +111,7 @@ namespace IOB_WIN_NEXT protected AdapterForm parentForm; /// - /// TImeout x ping al server + /// Timeout x ping al server /// protected int pingServerMsTimeout = utils.CRI("pingMsTimeout"); @@ -521,6 +521,7 @@ namespace IOB_WIN_NEXT { get { + lgInfo($"Test Server Ping"); IPStatus answ = IPStatus.Unknown; // se disabilitato salto... if (pingDisabled) @@ -531,6 +532,8 @@ namespace IOB_WIN_NEXT { IPAddress address; PingReply reply; + var rand = new Random(); + int pingTOut = 500; using (Ping pingSender = new Ping()) { address = IPAddress.Loopback; @@ -552,24 +555,27 @@ namespace IOB_WIN_NEXT // se != null --> uso address... if (address != null) { - reply = pingSender.Send(address, 300); + pingTOut = rand.Next(100, 200); + reply = pingSender.Send(address, pingServerMsTimeout + pingTOut); } else { - reply = pingSender.Send(cIobConf.cncIpAddr, 300); + pingTOut = rand.Next(200, 400); + reply = pingSender.Send(cIobConf.cncIpAddr, pingServerMsTimeout + pingTOut); } } - catch + catch (Exception exc) { - reply = pingSender.Send(IPAddress.Loopback, 300); + pingTOut = rand.Next(50, 100); + reply = pingSender.Send(IPAddress.Loopback, pingServerMsTimeout + pingTOut); + lgError($"ping to loopback addres per eccezione:{Environment.NewLine}{exc}"); } // se ho timeout riprovo... while (reply.Status != IPStatus.Success && numRetry < maxRetry) { lgInfo($"Server Ping KO | reply: {reply.Status} --> retry"); - var rand = new Random(); - Thread.Sleep(rand.Next(150, 500)); - reply = pingSender.Send(address, pingServerMsTimeout * numRetry / 2); + Thread.Sleep(rand.Next(300, 600)); + reply = pingSender.Send(address, pingServerMsTimeout * numRetry / 2 + pingTOut); numRetry++; if (reply.Status == IPStatus.Success) { @@ -4522,7 +4528,7 @@ namespace IOB_WIN_NEXT /// /// /// - public void saveValue(ref Dictionary outVal, double valore, string chiave) + public virtual void saveValue(ref Dictionary outVal, double valore, string chiave) { //check obj preliminare if (outVal == null) diff --git a/IOB-WIN-NEXT/IobKawasaki.cs b/IOB-WIN-NEXT/IobKawasaki.cs index 723c2e5a..e143c247 100644 --- a/IOB-WIN-NEXT/IobKawasaki.cs +++ b/IOB-WIN-NEXT/IobKawasaki.cs @@ -6,7 +6,7 @@ using System.Net.NetworkInformation; namespace IOB_WIN_NEXT { - public class IobKawasaki : IobGeneric + public class IobKawasaki : IobGeneric, IDisposable { #region Private Fields @@ -696,6 +696,14 @@ namespace IOB_WIN_NEXT #region Public Methods + /// + /// Metodo dispose x il currPLC contenuto + /// + public void Dispose() + { + KAWASAKI_ref.Dispose(); + } + /// /// Processo i task richiesti e li elimino dalla coda 1:1 /// diff --git a/IOB-WIN-NEXT/IobModbusTCP.cs b/IOB-WIN-NEXT/IobModbusTCP.cs index 0b4e065a..0db0ad0e 100644 --- a/IOB-WIN-NEXT/IobModbusTCP.cs +++ b/IOB-WIN-NEXT/IobModbusTCP.cs @@ -1166,7 +1166,7 @@ namespace IOB_WIN_NEXT /// /// /// - public void saveValue(ref Dictionary outVal, double valore, string chiave) + public override void saveValue(ref Dictionary outVal, double valore, string chiave) { //check obj preliminare if (outVal == null) diff --git a/IOB-WIN-NEXT/IobModbusTCPHam.cs b/IOB-WIN-NEXT/IobModbusTCPHam.cs index 532bf3d0..1bdc69c2 100644 --- a/IOB-WIN-NEXT/IobModbusTCPHam.cs +++ b/IOB-WIN-NEXT/IobModbusTCPHam.cs @@ -43,7 +43,9 @@ namespace IOB_WIN_NEXT processDynData(); } catch (Exception exc) - { } + { + lgError($"Eccezione in processDynData iniziale x ModBus TCP HAM:{Environment.NewLine}{exc}"); + } } } diff --git a/IOB-WIN-NEXT/IobSiemensComeca.cs b/IOB-WIN-NEXT/IobSiemensComeca.cs index 68316cf6..8dbdfe18 100644 --- a/IOB-WIN-NEXT/IobSiemensComeca.cs +++ b/IOB-WIN-NEXT/IobSiemensComeca.cs @@ -111,8 +111,8 @@ namespace IOB_WIN_NEXT * ----------------------------------------------------- */ - bool fatto = false; - ushort valW = 0; + //bool fatto = false; + //ushort valW = 0; var MemInt = new byte[2]; diff --git a/IOB-WIN-NEXT/IobSiemensCosmap.cs b/IOB-WIN-NEXT/IobSiemensCosmap.cs index 9bc31354..5724e365 100644 --- a/IOB-WIN-NEXT/IobSiemensCosmap.cs +++ b/IOB-WIN-NEXT/IobSiemensCosmap.cs @@ -71,10 +71,10 @@ namespace IOB_WIN_NEXT * ----------------------------------------------------- */ - bool fatto = false; + //bool fatto = false; ushort currStatus = 0; ushort allarme = 0; - ushort valW = 0; + //ushort valW = 0; var MemInt = new byte[2]; diff --git a/IOB-WIN-NEXT/packages.config b/IOB-WIN-NEXT/packages.config index 5d6bf35d..166cfa69 100644 --- a/IOB-WIN-NEXT/packages.config +++ b/IOB-WIN-NEXT/packages.config @@ -22,6 +22,7 @@ +