diff --git a/IOB-UT-NEXT/ToMapo.cs b/IOB-UT-NEXT/ToMapo.cs
index 53f48f6c..7516a485 100644
--- a/IOB-UT-NEXT/ToMapo.cs
+++ b/IOB-UT-NEXT/ToMapo.cs
@@ -713,7 +713,7 @@ namespace IOB_UT_NEXT
///
/// Numero massimo di letture null prima di disconnettere il client
///
- public int maxNullRead { get; set; } = 1000;
+ public int MaxNullRead { get; set; } = 1000;
///
/// Base del namespace da mascherare in invio OPC
diff --git a/IOB-WIN-NEXT/App.config b/IOB-WIN-NEXT/App.config
index f83fb883..a8e80481 100644
--- a/IOB-WIN-NEXT/App.config
+++ b/IOB-WIN-NEXT/App.config
@@ -183,6 +183,14 @@
+
+
+
+
+
+
+
+
diff --git a/IOB-WIN-NEXT/IOB-WIN-NEXT.csproj b/IOB-WIN-NEXT/IOB-WIN-NEXT.csproj
index 128db3ec..10ad323e 100644
--- a/IOB-WIN-NEXT/IOB-WIN-NEXT.csproj
+++ b/IOB-WIN-NEXT/IOB-WIN-NEXT.csproj
@@ -101,6 +101,9 @@
..\packages\Portable.BouncyCastle.1.9.0\lib\net40\BouncyCastle.Crypto.dll
+
+ ..\packages\BouncyCastle.Cryptography.2.4.0\lib\net461\BouncyCastle.Cryptography.dll
+
..\EgwProxy.MultiCncLib\ExtLib\CndexLinkDotNet.dll
@@ -156,8 +159,11 @@
..\packages\Microsoft.Bcl.AsyncInterfaces.8.0.0\lib\net462\Microsoft.Bcl.AsyncInterfaces.dll
-
- ..\packages\Microsoft.Extensions.Logging.Abstractions.2.1.0\lib\netstandard2.0\Microsoft.Extensions.Logging.Abstractions.dll
+
+ ..\packages\Microsoft.Bcl.HashCode.1.1.1\lib\net461\Microsoft.Bcl.HashCode.dll
+
+
+ ..\packages\Microsoft.Extensions.Logging.Abstractions.3.1.32\lib\netstandard2.0\Microsoft.Extensions.Logging.Abstractions.dll
..\packages\Microsoft.IdentityModel.Abstractions.6.19.0\lib\net461\Microsoft.IdentityModel.Abstractions.dll
@@ -194,17 +200,17 @@
..\packages\OmronFinsTCP.Net.3.0.0.0\lib\net40\OmronFinsTCP.Net.dll
-
- ..\packages\OPCFoundation.NetStandard.Opc.Ua.Client.1.4.367.75\lib\net462\Opc.Ua.Client.dll
+
+ ..\packages\OPCFoundation.NetStandard.Opc.Ua.Client.1.5.374.126\lib\netstandard2.0\Opc.Ua.Client.dll
-
- ..\packages\OPCFoundation.NetStandard.Opc.Ua.Configuration.1.4.367.75\lib\net462\Opc.Ua.Configuration.dll
+
+ ..\packages\OPCFoundation.NetStandard.Opc.Ua.Configuration.1.5.374.126\lib\netstandard2.0\Opc.Ua.Configuration.dll
-
- ..\packages\OPCFoundation.NetStandard.Opc.Ua.Core.1.4.367.75\lib\net462\Opc.Ua.Core.dll
+
+ ..\packages\OPCFoundation.NetStandard.Opc.Ua.Core.1.5.374.126\lib\netstandard2.0\Opc.Ua.Core.dll
-
- ..\packages\OPCFoundation.NetStandard.Opc.Ua.Security.Certificates.1.4.367.75\lib\net462\Opc.Ua.Security.Certificates.dll
+
+ ..\packages\OPCFoundation.NetStandard.Opc.Ua.Security.Certificates.1.5.374.126\lib\netstandard2.0\Opc.Ua.Security.Certificates.dll
@@ -231,8 +237,8 @@
True
-
- ..\packages\System.Diagnostics.DiagnosticSource.4.3.0\lib\net46\System.Diagnostics.DiagnosticSource.dll
+
+ ..\packages\System.Diagnostics.DiagnosticSource.6.0.1\lib\net461\System.Diagnostics.DiagnosticSource.dll
..\packages\System.Diagnostics.Tracing.4.3.0\lib\net462\System.Diagnostics.Tracing.dll
@@ -242,8 +248,8 @@
..\packages\System.Drawing.Common.7.0.0\lib\net462\System.Drawing.Common.dll
-
- ..\packages\System.Formats.Asn1.6.0.0\lib\net461\System.Formats.Asn1.dll
+
+ ..\packages\System.Formats.Asn1.8.0.1\lib\net462\System.Formats.Asn1.dll
..\packages\System.Globalization.Calendars.4.3.0\lib\net46\System.Globalization.Calendars.dll
diff --git a/IOB-WIN-NEXT/IobOpc/OpcUa.cs b/IOB-WIN-NEXT/IobOpc/OpcUa.cs
index 5635e0bc..553a3fbc 100644
--- a/IOB-WIN-NEXT/IobOpc/OpcUa.cs
+++ b/IOB-WIN-NEXT/IobOpc/OpcUa.cs
@@ -594,7 +594,7 @@ namespace IOB_WIN_NEXT.IobOpc
lgDebug(sVal);
// verifico se salvare
- changed = checkSaveValue(MonIt, currVal, true) || forceSend;
+ changed = checkSaveValue(MonIt, currVal, NotifyValue, true) || forceSend;
// cerco se non sia un dato filtrato in FLUXLOG...
bool isFiltered = opcUaParams.fluxLogVeto.Contains(uuid);
// cerco filtro ANCHE PER solo display name x contains...
@@ -999,14 +999,34 @@ namespace IOB_WIN_NEXT.IobOpc
return answ;
}
+
///
/// Verifica / Salva valore e restitusice SE sia variato (e quindi da inviare...)
///
///
///
- ///
+ ///
+ ///
///
- protected bool checkSaveValue(Opc.Ua.Client.MonitoredItem dataItem, string NotifyValue, bool sendItemList)
+ protected bool checkSaveValue(Opc.Ua.Client.MonitoredItem dataItem, string NotifyValue, byte[] RawByteVal, bool SendItemList)
+ {
+ bool answ = checkSaveValue(dataItem, NotifyValue, SendItemList);
+ if(answ)
+ {
+ string uuid = calcID($"{dataItem.StartNodeId.Identifier}", $"{dataItem.DisplayName}");
+ dataItemMem[uuid].rawByte = RawByteVal;
+ }
+ return answ;
+ }
+
+ ///
+ /// Verifica / Salva valore e restitusice SE sia variato (e quindi da inviare...)
+ ///
+ ///
+ ///
+ ///
+ ///
+ protected bool checkSaveValue(Opc.Ua.Client.MonitoredItem dataItem, string NotifyValue, bool SendItemList)
{
bool answ = !enableDataFilter;
double oldVal = 0;
@@ -1087,7 +1107,7 @@ namespace IOB_WIN_NEXT.IobOpc
currDataItem.valueTimestamp = adesso;
// aggiungo
dataItemMem.Add(uuid, currDataItem);
- if (sendItemList)
+ if (SendItemList)
{
sendDataItemListToServer(dataItem.StartNodeId);
}
@@ -1531,7 +1551,7 @@ namespace IOB_WIN_NEXT.IobOpc
lgInfo($"Chiamata UAClient con configurazione standard: {application.ApplicationConfiguration.ApplicationName}");
string userName = opcUaParams == null || opcUaParams.Identity == null ? "" : opcUaParams.Identity.UserName;
string passwd = opcUaParams == null || opcUaParams.Identity == null ? "" : opcUaParams.Identity.Passwd;
- UA_ref = new UAClient(application.ApplicationConfiguration, cIobConf.codIOB, userName, passwd, isVerboseLog, ClientBase.ValidateResponse, opcUaParams.maxNullRead);
+ UA_ref = new UAClient(application.ApplicationConfiguration, cIobConf.codIOB, userName, passwd, isVerboseLog, ClientBase.ValidateResponse, opcUaParams.MaxNullRead);
lgInfo($"Chiamata apertura OpcUa Client: {cIobConf.cncIpAddr}:{port}");
UA_ref.ServerUrl = $"opc.tcp://{cIobConf.cncIpAddr}:{port}";
diff --git a/IOB-WIN-NEXT/IobOpc/OpcUaSiemensRama.cs b/IOB-WIN-NEXT/IobOpc/OpcUaSiemensRama.cs
index 9ee79a5b..fdd4a611 100644
--- a/IOB-WIN-NEXT/IobOpc/OpcUaSiemensRama.cs
+++ b/IOB-WIN-NEXT/IobOpc/OpcUaSiemensRama.cs
@@ -24,6 +24,8 @@ namespace IOB_WIN_NEXT.IobOpc
public OpcUaSiemensRama(AdapterForm caller, IobConfiguration IOBConf) : base(caller, IOBConf)
{
lgInfo("Init OpcUa Siemens x RAMA");
+ doByteRead = true;
+#if false
// inizializzo classe base...
if (!string.IsNullOrEmpty(getOptPar("CHANGE_ODL_MODE")))
{
@@ -38,7 +40,8 @@ namespace IOB_WIN_NEXT.IobOpc
if (!string.IsNullOrEmpty(getOptPar("MAX_ELAPSED_TIME_SEC")))
{
int.TryParse(getOptPar("MAX_ELAPSED_TIME_SEC"), out lastCurrentMaxElapsed);
- }
+ }
+#endif
sendKeyRichiesta = true;
}
diff --git a/IOB-WIN-NEXT/packages.config b/IOB-WIN-NEXT/packages.config
index c8d2b4a7..5b841885 100644
--- a/IOB-WIN-NEXT/packages.config
+++ b/IOB-WIN-NEXT/packages.config
@@ -1,6 +1,7 @@
+
@@ -15,8 +16,9 @@
+
-
+
@@ -29,10 +31,10 @@
-
-
-
-
+
+
+
+
@@ -46,11 +48,11 @@
-
+
-
+
diff --git a/IOB-WIN-NEXT/postBuildTgt.bat b/IOB-WIN-NEXT/postBuildTgt.bat
index f510f543..36a4c99c 100644
--- a/IOB-WIN-NEXT/postBuildTgt.bat
+++ b/IOB-WIN-NEXT/postBuildTgt.bat
@@ -71,7 +71,8 @@ REM ROBOCOPY . \\IOB-WIN-SIMULA\Steamware\IOB-WIN-NEXT-DEB /MIR
REM IOBVPN4MACHINE
REM ROBOCOPY . \\10.51.90.5\Steamware\IOB-WIN-NEXT-DEB /MIR
-ROBOCOPY . \\10.51.90.5\Steamware\IOB-WIN-NEXT-DEB /MIR /log:RobocopyTransfer.log
+REM ROBOCOPY . \\10.51.90.5\Steamware\IOB-WIN-NEXT-DEB /MIR /log:RobocopyTransfer.log
+ROBOCOPY . \\10.51.90.5\Steamware\IOB-WIN-NEXT-DEB /MIR
goto END