From f026cc980d0ef8eb5bd9ba11a15bb34aae03b0e1 Mon Sep 17 00:00:00 2001 From: Samuele Locatelli Date: Wed, 3 Nov 2021 13:13:31 +0100 Subject: [PATCH 1/6] Aggiunta calcolo mediana in valori acquisiti --- IOB-WIN-NEXT/DATA/CONF/PIZ04.json | 20 ++++++++++---------- IOB-WIN-NEXT/IobGeneric.cs | 23 +++++------------------ IOB-WIN-NEXT/packages.config | 7 ++++--- 3 files changed, 19 insertions(+), 31 deletions(-) diff --git a/IOB-WIN-NEXT/DATA/CONF/PIZ04.json b/IOB-WIN-NEXT/DATA/CONF/PIZ04.json index 0d6a3129..d2a17418 100644 --- a/IOB-WIN-NEXT/DATA/CONF/PIZ04.json +++ b/IOB-WIN-NEXT/DATA/CONF/PIZ04.json @@ -53,7 +53,7 @@ "tipoMem": "Real", "index": 1, "size": 2, - "func": "MAX", + "func": "MEDIAN", "period": 60, "factor": 360, "minVal": 0, @@ -67,7 +67,7 @@ "tipoMem": "Real", "index": 3, "size": 2, - "func": "MAX", + "func": "MEDIAN", "period": 60, "factor": 1, "minVal": 0, @@ -81,7 +81,7 @@ "tipoMem": "Real", "index": 19, "size": 2, - "func": "MAX", + "func": "MEDIAN", "period": 60, "factor": 1, "minVal": 0, @@ -95,7 +95,7 @@ "tipoMem": "Real", "index": 21, "size": 2, - "func": "MAX", + "func": "MEDIAN", "period": 60, "factor": 1, "minVal": 0, @@ -109,7 +109,7 @@ "tipoMem": "Real", "index": 27, "size": 2, - "func": "MAX", + "func": "MEDIAN", "period": 60, "factor": 1, "minVal": -200, @@ -123,7 +123,7 @@ "tipoMem": "Real", "index": 11, "size": 2, - "func": "MAX", + "func": "MEDIAN", "period": 60, "factor": 1, "minVal": -200, @@ -137,7 +137,7 @@ "tipoMem": "Real", "index": 489, "size": 2, - "func": "MAX", + "func": "MEDIAN", "period": 60, "factor": 1, "minVal": -200, @@ -151,7 +151,7 @@ "tipoMem": "Real", "index": 491, "size": 2, - "func": "MAX", + "func": "MEDIAN", "period": 60, "factor": 1, "minVal": -200, @@ -165,7 +165,7 @@ "tipoMem": "Real", "index": 421, "size": 2, - "func": "MAX", + "func": "MEDIAN", "period": 60, "factor": 1, "minVal": -200, @@ -179,7 +179,7 @@ "tipoMem": "Real", "index": 423, "size": 2, - "func": "MAX", + "func": "MEDIAN", "period": 60, "factor": 1, "minVal": -200, diff --git a/IOB-WIN-NEXT/IobGeneric.cs b/IOB-WIN-NEXT/IobGeneric.cs index c455cc88..418f4f7d 100644 --- a/IOB-WIN-NEXT/IobGeneric.cs +++ b/IOB-WIN-NEXT/IobGeneric.cs @@ -1,5 +1,6 @@ using IOB_UT_NEXT; using MapoSDK; +using MathNet.Numerics.Statistics; using Newtonsoft.Json; using NLog; using System; @@ -21,7 +22,6 @@ namespace IOB_WIN_NEXT { public class IobGeneric { - #region Protected Fields /// @@ -3696,27 +3696,17 @@ namespace IOB_WIN_NEXT answ = TSVC_Data[VCName].dataArray.Average(); break; + case VC_func.MEDIAN: + answ = TSVC_Data[VCName].dataArray.Median(); + break; + case VC_func.MIN: answ = TSVC_Data[VCName].dataArray.Min(); -#if false - answ = Double.MaxValue; - foreach (var item in TSVC_Data[VCName].dataArray) - { - answ = item > answ ? item : answ; - } -#endif break; case VC_func.MAX: default: answ = TSVC_Data[VCName].dataArray.Max(); -#if false - answ = Double.MinValue; - foreach (var item in TSVC_Data[VCName].dataArray) - { - answ = item > answ ? item : answ; - } -#endif break; } } @@ -5158,7 +5148,6 @@ namespace IOB_WIN_NEXT } #endregion Public Methods - } /// @@ -5166,7 +5155,6 @@ namespace IOB_WIN_NEXT /// public class iobRefreshedEventArgs : EventArgs { - #region Private Fields /// @@ -5200,6 +5188,5 @@ namespace IOB_WIN_NEXT } #endregion Public Properties - } } \ No newline at end of file diff --git a/IOB-WIN-NEXT/packages.config b/IOB-WIN-NEXT/packages.config index fe109f19..18e22bed 100644 --- a/IOB-WIN-NEXT/packages.config +++ b/IOB-WIN-NEXT/packages.config @@ -2,7 +2,8 @@ - + + @@ -15,11 +16,11 @@ - + - + From 29998d943c87740f9f7bdbb681e76d8d65c94181 Mon Sep 17 00:00:00 2001 From: Samuele Locatelli Date: Wed, 3 Nov 2021 13:13:41 +0100 Subject: [PATCH 2/6] Aggiunta Math.Net --- IOB-WIN-NEXT/IOB-WIN-NEXT.csproj | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/IOB-WIN-NEXT/IOB-WIN-NEXT.csproj b/IOB-WIN-NEXT/IOB-WIN-NEXT.csproj index a7ec83fe..57662873 100644 --- a/IOB-WIN-NEXT/IOB-WIN-NEXT.csproj +++ b/IOB-WIN-NEXT/IOB-WIN-NEXT.csproj @@ -90,8 +90,11 @@ False ExtLib\krcc.dll - - ..\packages\MapoSDK.6.14.2110.2619\lib\net40\MapoSDK.dll + + ..\packages\MapoSDK.6.14.2111.313\lib\net40\MapoSDK.dll + + + ..\packages\MathNet.Numerics.4.15.0\lib\net461\MathNet.Numerics.dll ..\packages\MTConnect.NET.2.9.1.28314\lib\net40\MTConnect-NET.dll @@ -118,8 +121,8 @@ ..\packages\OPCFoundation.NetStandard.Opc.Ua.Security.Certificates.1.4.367.42\lib\net462\Opc.Ua.Security.Certificates.dll - - ..\packages\RestSharp.106.12.0\lib\net452\RestSharp.dll + + ..\packages\RestSharp.106.13.0\lib\net452\RestSharp.dll ..\packages\S7netplus.0.1.9\lib\net45\S7.Net.dll @@ -817,10 +820,10 @@ - + - + \ No newline at end of file From d9d17233030a9d813408ac3b360fba8d49cb3345 Mon Sep 17 00:00:00 2001 From: Samuele Locatelli Date: Wed, 3 Nov 2021 13:18:32 +0100 Subject: [PATCH 3/6] Pulizia conf soluzione --- IOB-WIN-NEXT.sln | 88 ------------------------------------------------ 1 file changed, 88 deletions(-) diff --git a/IOB-WIN-NEXT.sln b/IOB-WIN-NEXT.sln index 7627d817..af7b9d05 100644 --- a/IOB-WIN-NEXT.sln +++ b/IOB-WIN-NEXT.sln @@ -20,36 +20,16 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "IOB-WIN-NEXT", "IOB-WIN-NEX EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution - CMS-FANUC|Any CPU = CMS-FANUC|Any CPU - CMS-FANUC|x86 = CMS-FANUC|x86 - CMS-OSAI|Any CPU = CMS-OSAI|Any CPU - CMS-OSAI|x86 = CMS-OSAI|x86 - CMS-SIEMENS|Any CPU = CMS-SIEMENS|Any CPU - CMS-SIEMENS|x86 = CMS-SIEMENS|x86 Debug|Any CPU = Debug|Any CPU Debug|x86 = Debug|x86 FANUC|Any CPU = FANUC|Any CPU FANUC|x86 = FANUC|x86 Release|Any CPU = Release|Any CPU Release|x86 = Release|x86 - SCM-ESA|Any CPU = SCM-ESA|Any CPU - SCM-ESA|x86 = SCM-ESA|x86 SIEMENS|Any CPU = SIEMENS|Any CPU SIEMENS|x86 = SIEMENS|x86 EndGlobalSection GlobalSection(ProjectConfigurationPlatforms) = postSolution - {58E399F3-9D4E-49D3-AB35-9ED536543D50}.CMS-FANUC|Any CPU.ActiveCfg = Release|Any CPU - {58E399F3-9D4E-49D3-AB35-9ED536543D50}.CMS-FANUC|Any CPU.Build.0 = Release|Any CPU - {58E399F3-9D4E-49D3-AB35-9ED536543D50}.CMS-FANUC|x86.ActiveCfg = Debug|Any CPU - {58E399F3-9D4E-49D3-AB35-9ED536543D50}.CMS-FANUC|x86.Build.0 = Debug|Any CPU - {58E399F3-9D4E-49D3-AB35-9ED536543D50}.CMS-OSAI|Any CPU.ActiveCfg = Release|Any CPU - {58E399F3-9D4E-49D3-AB35-9ED536543D50}.CMS-OSAI|Any CPU.Build.0 = Release|Any CPU - {58E399F3-9D4E-49D3-AB35-9ED536543D50}.CMS-OSAI|x86.ActiveCfg = Debug|Any CPU - {58E399F3-9D4E-49D3-AB35-9ED536543D50}.CMS-OSAI|x86.Build.0 = Debug|Any CPU - {58E399F3-9D4E-49D3-AB35-9ED536543D50}.CMS-SIEMENS|Any CPU.ActiveCfg = Release|Any CPU - {58E399F3-9D4E-49D3-AB35-9ED536543D50}.CMS-SIEMENS|Any CPU.Build.0 = Release|Any CPU - {58E399F3-9D4E-49D3-AB35-9ED536543D50}.CMS-SIEMENS|x86.ActiveCfg = Debug|Any CPU - {58E399F3-9D4E-49D3-AB35-9ED536543D50}.CMS-SIEMENS|x86.Build.0 = Debug|Any CPU {58E399F3-9D4E-49D3-AB35-9ED536543D50}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {58E399F3-9D4E-49D3-AB35-9ED536543D50}.Debug|Any CPU.Build.0 = Debug|Any CPU {58E399F3-9D4E-49D3-AB35-9ED536543D50}.Debug|x86.ActiveCfg = Debug|Any CPU @@ -62,26 +42,10 @@ Global {58E399F3-9D4E-49D3-AB35-9ED536543D50}.Release|Any CPU.Build.0 = Release|Any CPU {58E399F3-9D4E-49D3-AB35-9ED536543D50}.Release|x86.ActiveCfg = Release|x86 {58E399F3-9D4E-49D3-AB35-9ED536543D50}.Release|x86.Build.0 = Release|x86 - {58E399F3-9D4E-49D3-AB35-9ED536543D50}.SCM-ESA|Any CPU.ActiveCfg = Release|Any CPU - {58E399F3-9D4E-49D3-AB35-9ED536543D50}.SCM-ESA|Any CPU.Build.0 = Release|Any CPU - {58E399F3-9D4E-49D3-AB35-9ED536543D50}.SCM-ESA|x86.ActiveCfg = Debug|Any CPU - {58E399F3-9D4E-49D3-AB35-9ED536543D50}.SCM-ESA|x86.Build.0 = Debug|Any CPU {58E399F3-9D4E-49D3-AB35-9ED536543D50}.SIEMENS|Any CPU.ActiveCfg = Release|Any CPU {58E399F3-9D4E-49D3-AB35-9ED536543D50}.SIEMENS|Any CPU.Build.0 = Release|Any CPU {58E399F3-9D4E-49D3-AB35-9ED536543D50}.SIEMENS|x86.ActiveCfg = Debug|Any CPU {58E399F3-9D4E-49D3-AB35-9ED536543D50}.SIEMENS|x86.Build.0 = Debug|Any CPU - {2D769FFD-1122-4276-A115-29246E6D23C5}.CMS-FANUC|Any CPU.ActiveCfg = FANUC|Any CPU - {2D769FFD-1122-4276-A115-29246E6D23C5}.CMS-FANUC|Any CPU.Build.0 = FANUC|Any CPU - {2D769FFD-1122-4276-A115-29246E6D23C5}.CMS-FANUC|x86.ActiveCfg = FANUC|Any CPU - {2D769FFD-1122-4276-A115-29246E6D23C5}.CMS-FANUC|x86.Build.0 = FANUC|Any CPU - {2D769FFD-1122-4276-A115-29246E6D23C5}.CMS-OSAI|Any CPU.ActiveCfg = OSAI|Any CPU - {2D769FFD-1122-4276-A115-29246E6D23C5}.CMS-OSAI|Any CPU.Build.0 = OSAI|Any CPU - {2D769FFD-1122-4276-A115-29246E6D23C5}.CMS-OSAI|x86.ActiveCfg = OSAI|Any CPU - {2D769FFD-1122-4276-A115-29246E6D23C5}.CMS-OSAI|x86.Build.0 = OSAI|Any CPU - {2D769FFD-1122-4276-A115-29246E6D23C5}.CMS-SIEMENS|Any CPU.ActiveCfg = SIEMENS|Any CPU - {2D769FFD-1122-4276-A115-29246E6D23C5}.CMS-SIEMENS|Any CPU.Build.0 = SIEMENS|Any CPU - {2D769FFD-1122-4276-A115-29246E6D23C5}.CMS-SIEMENS|x86.ActiveCfg = SIEMENS|Any CPU - {2D769FFD-1122-4276-A115-29246E6D23C5}.CMS-SIEMENS|x86.Build.0 = SIEMENS|Any CPU {2D769FFD-1122-4276-A115-29246E6D23C5}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {2D769FFD-1122-4276-A115-29246E6D23C5}.Debug|Any CPU.Build.0 = Debug|Any CPU {2D769FFD-1122-4276-A115-29246E6D23C5}.Debug|x86.ActiveCfg = Debug|Any CPU @@ -94,26 +58,10 @@ Global {2D769FFD-1122-4276-A115-29246E6D23C5}.Release|Any CPU.Build.0 = Release|Any CPU {2D769FFD-1122-4276-A115-29246E6D23C5}.Release|x86.ActiveCfg = Release|x86 {2D769FFD-1122-4276-A115-29246E6D23C5}.Release|x86.Build.0 = Release|x86 - {2D769FFD-1122-4276-A115-29246E6D23C5}.SCM-ESA|Any CPU.ActiveCfg = ESA|Any CPU - {2D769FFD-1122-4276-A115-29246E6D23C5}.SCM-ESA|Any CPU.Build.0 = ESA|Any CPU - {2D769FFD-1122-4276-A115-29246E6D23C5}.SCM-ESA|x86.ActiveCfg = ESA|Any CPU - {2D769FFD-1122-4276-A115-29246E6D23C5}.SCM-ESA|x86.Build.0 = ESA|Any CPU {2D769FFD-1122-4276-A115-29246E6D23C5}.SIEMENS|Any CPU.ActiveCfg = SIEMENS|Any CPU {2D769FFD-1122-4276-A115-29246E6D23C5}.SIEMENS|Any CPU.Build.0 = SIEMENS|Any CPU {2D769FFD-1122-4276-A115-29246E6D23C5}.SIEMENS|x86.ActiveCfg = SIEMENS|Any CPU {2D769FFD-1122-4276-A115-29246E6D23C5}.SIEMENS|x86.Build.0 = SIEMENS|Any CPU - {DC6B309E-F8E9-4BA2-A621-4F617C072533}.CMS-FANUC|Any CPU.ActiveCfg = Release|Any CPU - {DC6B309E-F8E9-4BA2-A621-4F617C072533}.CMS-FANUC|Any CPU.Build.0 = Release|Any CPU - {DC6B309E-F8E9-4BA2-A621-4F617C072533}.CMS-FANUC|x86.ActiveCfg = Release|x86 - {DC6B309E-F8E9-4BA2-A621-4F617C072533}.CMS-FANUC|x86.Build.0 = Release|x86 - {DC6B309E-F8E9-4BA2-A621-4F617C072533}.CMS-OSAI|Any CPU.ActiveCfg = Release|Any CPU - {DC6B309E-F8E9-4BA2-A621-4F617C072533}.CMS-OSAI|Any CPU.Build.0 = Release|Any CPU - {DC6B309E-F8E9-4BA2-A621-4F617C072533}.CMS-OSAI|x86.ActiveCfg = Release|x86 - {DC6B309E-F8E9-4BA2-A621-4F617C072533}.CMS-OSAI|x86.Build.0 = Release|x86 - {DC6B309E-F8E9-4BA2-A621-4F617C072533}.CMS-SIEMENS|Any CPU.ActiveCfg = Release|Any CPU - {DC6B309E-F8E9-4BA2-A621-4F617C072533}.CMS-SIEMENS|Any CPU.Build.0 = Release|Any CPU - {DC6B309E-F8E9-4BA2-A621-4F617C072533}.CMS-SIEMENS|x86.ActiveCfg = Release|x86 - {DC6B309E-F8E9-4BA2-A621-4F617C072533}.CMS-SIEMENS|x86.Build.0 = Release|x86 {DC6B309E-F8E9-4BA2-A621-4F617C072533}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {DC6B309E-F8E9-4BA2-A621-4F617C072533}.Debug|Any CPU.Build.0 = Debug|Any CPU {DC6B309E-F8E9-4BA2-A621-4F617C072533}.Debug|x86.ActiveCfg = Debug|x86 @@ -126,26 +74,10 @@ Global {DC6B309E-F8E9-4BA2-A621-4F617C072533}.Release|Any CPU.Build.0 = Release|Any CPU {DC6B309E-F8E9-4BA2-A621-4F617C072533}.Release|x86.ActiveCfg = Release|x86 {DC6B309E-F8E9-4BA2-A621-4F617C072533}.Release|x86.Build.0 = Release|x86 - {DC6B309E-F8E9-4BA2-A621-4F617C072533}.SCM-ESA|Any CPU.ActiveCfg = Release|Any CPU - {DC6B309E-F8E9-4BA2-A621-4F617C072533}.SCM-ESA|Any CPU.Build.0 = Release|Any CPU - {DC6B309E-F8E9-4BA2-A621-4F617C072533}.SCM-ESA|x86.ActiveCfg = Release|x86 - {DC6B309E-F8E9-4BA2-A621-4F617C072533}.SCM-ESA|x86.Build.0 = Release|x86 {DC6B309E-F8E9-4BA2-A621-4F617C072533}.SIEMENS|Any CPU.ActiveCfg = Release|Any CPU {DC6B309E-F8E9-4BA2-A621-4F617C072533}.SIEMENS|Any CPU.Build.0 = Release|Any CPU {DC6B309E-F8E9-4BA2-A621-4F617C072533}.SIEMENS|x86.ActiveCfg = Release|x86 {DC6B309E-F8E9-4BA2-A621-4F617C072533}.SIEMENS|x86.Build.0 = Release|x86 - {90512E12-29FC-460D-94CC-648C2A072DBD}.CMS-FANUC|Any CPU.ActiveCfg = Release|Any CPU - {90512E12-29FC-460D-94CC-648C2A072DBD}.CMS-FANUC|Any CPU.Build.0 = Release|Any CPU - {90512E12-29FC-460D-94CC-648C2A072DBD}.CMS-FANUC|x86.ActiveCfg = Debug|x86 - {90512E12-29FC-460D-94CC-648C2A072DBD}.CMS-FANUC|x86.Build.0 = Debug|x86 - {90512E12-29FC-460D-94CC-648C2A072DBD}.CMS-OSAI|Any CPU.ActiveCfg = Release|Any CPU - {90512E12-29FC-460D-94CC-648C2A072DBD}.CMS-OSAI|Any CPU.Build.0 = Release|Any CPU - {90512E12-29FC-460D-94CC-648C2A072DBD}.CMS-OSAI|x86.ActiveCfg = Debug|x86 - {90512E12-29FC-460D-94CC-648C2A072DBD}.CMS-OSAI|x86.Build.0 = Debug|x86 - {90512E12-29FC-460D-94CC-648C2A072DBD}.CMS-SIEMENS|Any CPU.ActiveCfg = Release|Any CPU - {90512E12-29FC-460D-94CC-648C2A072DBD}.CMS-SIEMENS|Any CPU.Build.0 = Release|Any CPU - {90512E12-29FC-460D-94CC-648C2A072DBD}.CMS-SIEMENS|x86.ActiveCfg = Debug|x86 - {90512E12-29FC-460D-94CC-648C2A072DBD}.CMS-SIEMENS|x86.Build.0 = Debug|x86 {90512E12-29FC-460D-94CC-648C2A072DBD}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {90512E12-29FC-460D-94CC-648C2A072DBD}.Debug|Any CPU.Build.0 = Debug|Any CPU {90512E12-29FC-460D-94CC-648C2A072DBD}.Debug|x86.ActiveCfg = Debug|x86 @@ -158,26 +90,10 @@ Global {90512E12-29FC-460D-94CC-648C2A072DBD}.Release|Any CPU.Build.0 = Release|Any CPU {90512E12-29FC-460D-94CC-648C2A072DBD}.Release|x86.ActiveCfg = Release|x86 {90512E12-29FC-460D-94CC-648C2A072DBD}.Release|x86.Build.0 = Release|x86 - {90512E12-29FC-460D-94CC-648C2A072DBD}.SCM-ESA|Any CPU.ActiveCfg = Release|Any CPU - {90512E12-29FC-460D-94CC-648C2A072DBD}.SCM-ESA|Any CPU.Build.0 = Release|Any CPU - {90512E12-29FC-460D-94CC-648C2A072DBD}.SCM-ESA|x86.ActiveCfg = Debug|x86 - {90512E12-29FC-460D-94CC-648C2A072DBD}.SCM-ESA|x86.Build.0 = Debug|x86 {90512E12-29FC-460D-94CC-648C2A072DBD}.SIEMENS|Any CPU.ActiveCfg = Release|Any CPU {90512E12-29FC-460D-94CC-648C2A072DBD}.SIEMENS|Any CPU.Build.0 = Release|Any CPU {90512E12-29FC-460D-94CC-648C2A072DBD}.SIEMENS|x86.ActiveCfg = Debug|x86 {90512E12-29FC-460D-94CC-648C2A072DBD}.SIEMENS|x86.Build.0 = Debug|x86 - {B2ABB009-C046-4F9C-956C-52DCAA9FE5A9}.CMS-FANUC|Any CPU.ActiveCfg = Release|Any CPU - {B2ABB009-C046-4F9C-956C-52DCAA9FE5A9}.CMS-FANUC|Any CPU.Build.0 = Release|Any CPU - {B2ABB009-C046-4F9C-956C-52DCAA9FE5A9}.CMS-FANUC|x86.ActiveCfg = Debug|x86 - {B2ABB009-C046-4F9C-956C-52DCAA9FE5A9}.CMS-FANUC|x86.Build.0 = Debug|x86 - {B2ABB009-C046-4F9C-956C-52DCAA9FE5A9}.CMS-OSAI|Any CPU.ActiveCfg = Release|Any CPU - {B2ABB009-C046-4F9C-956C-52DCAA9FE5A9}.CMS-OSAI|Any CPU.Build.0 = Release|Any CPU - {B2ABB009-C046-4F9C-956C-52DCAA9FE5A9}.CMS-OSAI|x86.ActiveCfg = Debug|x86 - {B2ABB009-C046-4F9C-956C-52DCAA9FE5A9}.CMS-OSAI|x86.Build.0 = Debug|x86 - {B2ABB009-C046-4F9C-956C-52DCAA9FE5A9}.CMS-SIEMENS|Any CPU.ActiveCfg = Release|Any CPU - {B2ABB009-C046-4F9C-956C-52DCAA9FE5A9}.CMS-SIEMENS|Any CPU.Build.0 = Release|Any CPU - {B2ABB009-C046-4F9C-956C-52DCAA9FE5A9}.CMS-SIEMENS|x86.ActiveCfg = Debug|x86 - {B2ABB009-C046-4F9C-956C-52DCAA9FE5A9}.CMS-SIEMENS|x86.Build.0 = Debug|x86 {B2ABB009-C046-4F9C-956C-52DCAA9FE5A9}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {B2ABB009-C046-4F9C-956C-52DCAA9FE5A9}.Debug|Any CPU.Build.0 = Debug|Any CPU {B2ABB009-C046-4F9C-956C-52DCAA9FE5A9}.Debug|x86.ActiveCfg = Debug|x86 @@ -190,10 +106,6 @@ Global {B2ABB009-C046-4F9C-956C-52DCAA9FE5A9}.Release|Any CPU.Build.0 = Release|Any CPU {B2ABB009-C046-4F9C-956C-52DCAA9FE5A9}.Release|x86.ActiveCfg = Release|x86 {B2ABB009-C046-4F9C-956C-52DCAA9FE5A9}.Release|x86.Build.0 = Release|x86 - {B2ABB009-C046-4F9C-956C-52DCAA9FE5A9}.SCM-ESA|Any CPU.ActiveCfg = Release|Any CPU - {B2ABB009-C046-4F9C-956C-52DCAA9FE5A9}.SCM-ESA|Any CPU.Build.0 = Release|Any CPU - {B2ABB009-C046-4F9C-956C-52DCAA9FE5A9}.SCM-ESA|x86.ActiveCfg = Debug|x86 - {B2ABB009-C046-4F9C-956C-52DCAA9FE5A9}.SCM-ESA|x86.Build.0 = Debug|x86 {B2ABB009-C046-4F9C-956C-52DCAA9FE5A9}.SIEMENS|Any CPU.ActiveCfg = Release|Any CPU {B2ABB009-C046-4F9C-956C-52DCAA9FE5A9}.SIEMENS|Any CPU.Build.0 = Release|Any CPU {B2ABB009-C046-4F9C-956C-52DCAA9FE5A9}.SIEMENS|x86.ActiveCfg = Debug|x86 From f344797678d0219cb77f11b6309f914029a6cbb4 Mon Sep 17 00:00:00 2001 From: Samuele Locatelli Date: Wed, 3 Nov 2021 15:20:36 +0100 Subject: [PATCH 4/6] commentato allarme ballerino cavitazione su plant 1 --- IOB-WIN-NEXT/DATA/CONF/PIZ03_alarm.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/IOB-WIN-NEXT/DATA/CONF/PIZ03_alarm.json b/IOB-WIN-NEXT/DATA/CONF/PIZ03_alarm.json index 464db0ff..a9e1b755 100644 --- a/IOB-WIN-NEXT/DATA/CONF/PIZ03_alarm.json +++ b/IOB-WIN-NEXT/DATA/CONF/PIZ03_alarm.json @@ -91,7 +91,7 @@ "Ritardo Avvio Pompa PC1B", "##252.1", "Temperatura Freddo TE1B NON Raggiunta", - "HH Temperatura Cavitazione TE3B", + "##HH Temperatura Cavitazione TE3B", "Allarme Temperatura Tenute Pompa TE2B", "LL Temperatura Ingresso Stoccaggio TE06", "Allarme Temperatura Ingresso Stoccaggio TE07", From f6b6c7985a2aa3db69b53764ca685054697dbc77 Mon Sep 17 00:00:00 2001 From: Samuele Locatelli Date: Wed, 3 Nov 2021 15:20:53 +0100 Subject: [PATCH 5/6] periodo campionamento a 120 sec x ModBus HAM --- IOB-WIN-NEXT/DATA/CONF/PIZ04.json | 20 ++++++++++---------- IOB-WIN-NEXT/DATA/CONF/PIZ05.json | 20 ++++++++++---------- 2 files changed, 20 insertions(+), 20 deletions(-) diff --git a/IOB-WIN-NEXT/DATA/CONF/PIZ04.json b/IOB-WIN-NEXT/DATA/CONF/PIZ04.json index d2a17418..44bf0e8b 100644 --- a/IOB-WIN-NEXT/DATA/CONF/PIZ04.json +++ b/IOB-WIN-NEXT/DATA/CONF/PIZ04.json @@ -54,7 +54,7 @@ "index": 1, "size": 2, "func": "MEDIAN", - "period": 60, + "period": 120, "factor": 360, "minVal": 0, "maxVal": 100, @@ -68,7 +68,7 @@ "index": 3, "size": 2, "func": "MEDIAN", - "period": 60, + "period": 120, "factor": 1, "minVal": 0, "maxVal": 400, @@ -82,7 +82,7 @@ "index": 19, "size": 2, "func": "MEDIAN", - "period": 60, + "period": 120, "factor": 1, "minVal": 0, "maxVal": 400, @@ -96,7 +96,7 @@ "index": 21, "size": 2, "func": "MEDIAN", - "period": 60, + "period": 120, "factor": 1, "minVal": 0, "maxVal": 400, @@ -110,7 +110,7 @@ "index": 27, "size": 2, "func": "MEDIAN", - "period": 60, + "period": 120, "factor": 1, "minVal": -200, "maxVal": 200, @@ -124,7 +124,7 @@ "index": 11, "size": 2, "func": "MEDIAN", - "period": 60, + "period": 120, "factor": 1, "minVal": -200, "maxVal": 200, @@ -138,7 +138,7 @@ "index": 489, "size": 2, "func": "MEDIAN", - "period": 60, + "period": 120, "factor": 1, "minVal": -200, "maxVal": 200, @@ -152,7 +152,7 @@ "index": 491, "size": 2, "func": "MEDIAN", - "period": 60, + "period": 120, "factor": 1, "minVal": -200, "maxVal": 200, @@ -166,7 +166,7 @@ "index": 421, "size": 2, "func": "MEDIAN", - "period": 60, + "period": 120, "factor": 1, "minVal": -200, "maxVal": 200, @@ -180,7 +180,7 @@ "index": 423, "size": 2, "func": "MEDIAN", - "period": 60, + "period": 120, "factor": 1, "minVal": -200, "maxVal": 200, diff --git a/IOB-WIN-NEXT/DATA/CONF/PIZ05.json b/IOB-WIN-NEXT/DATA/CONF/PIZ05.json index ff8260ec..994c5db7 100644 --- a/IOB-WIN-NEXT/DATA/CONF/PIZ05.json +++ b/IOB-WIN-NEXT/DATA/CONF/PIZ05.json @@ -54,7 +54,7 @@ "index": 1, "size": 2, "func": "MAX", - "period": 60, + "period": 120, "factor": 270, "minVal": 0, "maxVal": 100, @@ -68,7 +68,7 @@ "index": 3, "size": 2, "func": "MAX", - "period": 60, + "period": 120, "factor": 1, "minVal": 0, "maxVal": 400, @@ -82,7 +82,7 @@ "index": 19, "size": 2, "func": "MAX", - "period": 60, + "period": 120, "factor": 1, "minVal": 0, "maxVal": 400, @@ -96,7 +96,7 @@ "index": 21, "size": 2, "func": "MAX", - "period": 60, + "period": 120, "factor": 1, "minVal": 0, "maxVal": 400, @@ -110,7 +110,7 @@ "index": 27, "size": 2, "func": "MAX", - "period": 60, + "period": 120, "factor": 1, "minVal": -200, "maxVal": 200, @@ -124,7 +124,7 @@ "index": 11, "size": 2, "func": "MAX", - "period": 60, + "period": 120, "factor": 1, "minVal": -200, "maxVal": 200, @@ -138,7 +138,7 @@ "index": 489, "size": 2, "func": "MAX", - "period": 60, + "period": 120, "factor": 1, "minVal": -200, "maxVal": 200, @@ -152,7 +152,7 @@ "index": 491, "size": 2, "func": "MAX", - "period": 60, + "period": 120, "factor": 1, "minVal": -200, "maxVal": 200, @@ -166,7 +166,7 @@ "index": 421, "size": 2, "func": "MAX", - "period": 60, + "period": 120, "factor": 1, "minVal": -200, "maxVal": 200, @@ -180,7 +180,7 @@ "index": 423, "size": 2, "func": "MAX", - "period": 60, + "period": 120, "factor": 1, "minVal": -200, "maxVal": 200, From b1a0aa5406dad0beb6394fdec9ea2ee38eae1ce9 Mon Sep 17 00:00:00 2001 From: Samuele Locatelli Date: Wed, 3 Nov 2021 15:21:23 +0100 Subject: [PATCH 6/6] reset outval x modbus --- IOB-UT-NEXT/ToMapo.cs | 2 +- IOB-WIN-NEXT/IobGeneric.cs | 10 +++-- IOB-WIN-NEXT/IobModbusTCP.cs | 18 +++++--- IOB-WIN-NEXT/IobModbusTCPHam.cs | 77 --------------------------------- 4 files changed, 18 insertions(+), 89 deletions(-) diff --git a/IOB-UT-NEXT/ToMapo.cs b/IOB-UT-NEXT/ToMapo.cs index 25c7a879..cac2af0e 100644 --- a/IOB-UT-NEXT/ToMapo.cs +++ b/IOB-UT-NEXT/ToMapo.cs @@ -26,7 +26,7 @@ namespace IOB_UT_NEXT #region Public Properties /// - /// Elenco dei contatori blink (x gestione caso frponte salita/discesa segnale hce blinka) + /// Elenco dei contatori blink (x gestione caso fronte salita/discesa segnale che blinka) /// public int[] alarmsBlinkCounter { get; set; } diff --git a/IOB-WIN-NEXT/IobGeneric.cs b/IOB-WIN-NEXT/IobGeneric.cs index 418f4f7d..3e72adce 100644 --- a/IOB-WIN-NEXT/IobGeneric.cs +++ b/IOB-WIN-NEXT/IobGeneric.cs @@ -541,6 +541,11 @@ namespace IOB_WIN_NEXT int maxRetry = maxPingRetry + 1; int numRetry = 1; string ipAddr = cIobConf.serverData.MPIP.Replace($"{cIobConf.serverData.TRANSP}://", ""); + // fix se fosse ip + porta... + if (ipAddr.IndexOf(":") >= 0) + { + ipAddr = ipAddr.Substring(0, ipAddr.IndexOf(":")); + } IPAddress.TryParse(ipAddr, out address); // se null --> provo DNS... if (address == null) @@ -4127,10 +4132,7 @@ namespace IOB_WIN_NEXT if (enableByApp || enableByIob) { - if (periodicLog) - { - lgInfo("Inizio processDynData"); - } + lgInfo("Inizio processDynData"); if (connectionOk) { currDynData = getDynData(); diff --git a/IOB-WIN-NEXT/IobModbusTCP.cs b/IOB-WIN-NEXT/IobModbusTCP.cs index 0874ca84..7d798664 100644 --- a/IOB-WIN-NEXT/IobModbusTCP.cs +++ b/IOB-WIN-NEXT/IobModbusTCP.cs @@ -222,6 +222,7 @@ namespace IOB_WIN_NEXT foreach (var item in memItemList) { double valore = 0; + double valoreScal = 0; bool dataOk = false; // in primis DEVO determinare di quale TIPO di valore ho bisogno... dalla PRIMA cifra di memAddr... modBusAddrType memAddrType = getAddrType(item.Value.memAddr); @@ -257,12 +258,13 @@ namespace IOB_WIN_NEXT if (dataOk) { // moltiplico x fattore conversione... - valore = valore * item.Value.factor; - saveValue(ref outVal, valore, item.Key); + valoreScal = valore * item.Value.factor; + saveValue(ref outVal, valoreScal, item.Key); + lgInfo($"getDynData: valore ricevuto | {item.Key} | val: {valore} | valoreScal: {valoreScal}"); } else { - lgError($"getDynData: valore scartato x limiti min/max | {item.Key} | val: {valore} | min-max: {item.Value.minVal}-{item.Value.maxVal} | deltaVal: {deltaVal}"); + lgError($"getDynData: valore scartato x limiti min/max | {item.Key} | val: {valore} | valoreScal: {valoreScal} | min-max: {item.Value.minVal}-{item.Value.maxVal} | deltaVal: {deltaVal}"); readErrorList.Add(item.Key, item.Value); lgInfo($"--> rimesso in coda lettura | parametro: {item.Key} | index: {item.Value.index} | size: {item.Value.size}"); } @@ -779,15 +781,16 @@ namespace IOB_WIN_NEXT // se qualcosa è andato storto riprovo a caricare SOLO gli errori... 1 sola volta if (readErrorList.Count > 0) { + lgInfo($"Effettuo rilettura per {readErrorList.Count} variabili"); readErrorListRepeat = getDataDictionary(readErrorList, ref outVal); } - // se avessi acnora errori --> disconnetto + // se avessi ancora errori --> disconnetto if (readErrorListRepeat.Count > 0) { - lgInfo("Trovati valori non validi al secondo tentativo --> resetto adapter con tryDisconnect!"); - //// rendo non valida lettura dati - //lastReadPLC = DateTime.Now.AddMinutes(-4); + lgInfo("Trovati valori non validi al secondo tentativo --> invalido valori letti e resetto adapter con tryDisconnect!"); tryDisconnect(); + // invalido output + outVal = new Dictionary(); tryConnect(); } else @@ -804,6 +807,7 @@ namespace IOB_WIN_NEXT { lgError(exc, "Errore in getDynData x ModBus TCP PLC --> ciclo disconnect/reconnect"); tryDisconnect(); + outVal = new Dictionary(); tryConnect(); } } diff --git a/IOB-WIN-NEXT/IobModbusTCPHam.cs b/IOB-WIN-NEXT/IobModbusTCPHam.cs index 749664e4..f25353d8 100644 --- a/IOB-WIN-NEXT/IobModbusTCPHam.cs +++ b/IOB-WIN-NEXT/IobModbusTCPHam.cs @@ -185,83 +185,6 @@ namespace IOB_WIN_NEXT #endregion Protected Methods -#if false - /// - /// Processo i task richiesti e li elimino dalla coda 1:1 - /// - /// - public override Dictionary executeTasks(Dictionary task2exe) - { - lgInfo($"Chiamata executeTasks specifica ModBus TCP HAM: {task2exe.Count} task ricevuti"); - // Verificare il protocollo: dovrebeb togliere SOLO i task eseguiti... - Dictionary taskDone = new Dictionary(); - bool taskOk = false; - string taskVal = ""; - // inizio con 1 byte di default - byte[] MemBlock = new byte[1]; - string memAddrWrite = ""; - if (task2exe != null) - { - // cerco task specifici - foreach (var item in task2exe) - { - taskOk = false; - taskVal = ""; - // converto richiesta in enum... - taskType tName = taskType.nihil; - Enum.TryParse(item.Key, out tName); - // controllo sulla KEY - switch (tName) - { - case taskType.nihil: - case taskType.fixStopSetup: - case taskType.forceResetPzCount: - case taskType.forceSetPzCount: - case taskType.setProg: - case taskType.sendWatchDogMes2Plc: - case taskType.startSetup: - case taskType.stopSetup: - case taskType.setPzComm: - case taskType.setArt: - case taskType.setComm: - taskVal = $"taskReq: {tName} | key: {item.Key} | val: {item.Value} | SKIPPED | NO EXEC"; - break; - - case taskType.setParameter: - // richiedo da URL i parametri WRITE da popolare - lgInfo("Chiamata processMemWriteRequests"); - - taskVal = processMemWriteRequests(); - // se restituiscce "" faccio altra prova... - if (string.IsNullOrEmpty(taskVal)) - { - // i parametri me li aspetto come stringa composta paramName|paramvalue - if (item.Value.Contains("|")) - { - string[] paramsJob = item.Value.Split('|'); - taskVal = $"REQUEST SET PARAMETERS: {paramsJob[0]} --> {paramsJob[1]}"; - } - else - { - taskVal = $"WRONG REQUEST FOR SET PARAMETERS: {item.Value} doesnt contain pipe for splitting key/value"; - } - } - - break; - - default: - taskVal = "SKIPPED | NO EXEC"; - break; - } - // aggiungo task! - taskDone.Add(item.Key, taskVal); - taskOk = true; - } - } - return taskDone; - } -#endif - #region Public Methods ///