diff --git a/framework/Foundation/ThingsGateway.Foundation.Adapter.OPCUA/OPCUAClient/OPCUAClient.cs b/framework/Foundation/ThingsGateway.Foundation.Adapter.OPCUA/OPCUAClient/OPCUAClient.cs
index 121eec622..b59d06a55 100644
--- a/framework/Foundation/ThingsGateway.Foundation.Adapter.OPCUA/OPCUAClient/OPCUAClient.cs
+++ b/framework/Foundation/ThingsGateway.Foundation.Adapter.OPCUA/OPCUAClient/OPCUAClient.cs
@@ -47,7 +47,7 @@ public class OPCUAClient : IDisposable
///
/// 当前保存的变量名称列表
///
- public List Variables = new();
+ public List> Variables = new();
///
/// 当前的变量名称/OPC变量节点
@@ -584,7 +584,12 @@ public class OPCUAClient : IDisposable
//如果是订阅模式,连接时添加订阅组
if (OPCNode.ActiveSubscribe)
- await AddSubscriptionAsync(Guid.NewGuid().ToString(), Variables.ToArray(), OPCNode.LoadType);
+ {
+ foreach (var item in Variables)
+ {
+ await AddSubscriptionAsync(Guid.NewGuid().ToString(), item.ToArray(), OPCNode.LoadType);
+ }
+ }
return m_session;
}
diff --git a/framework/Plugin/ThingsGateway.Plugin.OPCUA/OPCUAClient/OPCUAClient.cs b/framework/Plugin/ThingsGateway.Plugin.OPCUA/OPCUAClient/OPCUAClient.cs
index d1ef207fe..9f06334e7 100644
--- a/framework/Plugin/ThingsGateway.Plugin.OPCUA/OPCUAClient/OPCUAClient.cs
+++ b/framework/Plugin/ThingsGateway.Plugin.OPCUA/OPCUAClient/OPCUAClient.cs
@@ -78,8 +78,9 @@ public class OPCUAClient : CollectBase
public override List LoadSourceRead(List deviceVariables)
{
_deviceVariables = deviceVariables;
- _plc.Variables.AddRange(deviceVariables.Select(a => a.VariableAddress).ToList());
- var dataLists = deviceVariables.ChunkTrivialBetter(driverPropertys.GroupSize);
+ List> dataLists = deviceVariables.ChunkTrivialBetter(driverPropertys.GroupSize);
+ _plc.Variables = new();
+ _plc.Variables.AddRange(dataLists.Select(a => a.Select(a => a.VariableAddress).ToList()).ToList());
var dataResult = new List();
foreach (var variable in dataLists)
{