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) {