diff --git a/connect/EltraConnector/Agent/AgentConnector.cs b/connect/EltraConnector/Agent/AgentConnector.cs index 4bfd177..5452c0a 100644 --- a/connect/EltraConnector/Agent/AgentConnector.cs +++ b/connect/EltraConnector/Agent/AgentConnector.cs @@ -685,6 +685,7 @@ private DeviceVcs FindVcs(EltraDevice device) var vcsDevice = vcs.Item2.Device; if (vcsDevice != null && + vcsDevice.ChannelId == device.ChannelId && vcsDevice.NodeId == device.NodeId) { result = vcs.Item2; diff --git a/connect/EltraConnector/Agent/Parameters/ParameterUpdateManager.cs b/connect/EltraConnector/Agent/Parameters/ParameterUpdateManager.cs index fa0d298..34088fe 100644 --- a/connect/EltraConnector/Agent/Parameters/ParameterUpdateManager.cs +++ b/connect/EltraConnector/Agent/Parameters/ParameterUpdateManager.cs @@ -93,23 +93,25 @@ private void ProcessWsMessage(string json) if (parameterSet != null && parameterSet.Count > 0) { - foreach (var parameterEntry in parameterSet.Items) + foreach (var parameterUpdateValue in parameterSet.Items) { - OnParameterValueChanged(new ParameterValueChangedEventArgs(parameterEntry.NodeId, - parameterEntry.Index, - parameterEntry.SubIndex, - parameterEntry.ParameterValue)); + OnParameterValueChanged(new ParameterValueChangedEventArgs(parameterUpdateValue.ChannelId, + parameterUpdateValue.NodeId, + parameterUpdateValue.Index, + parameterUpdateValue.SubIndex, + parameterUpdateValue.ParameterValue)); } } else { - var parameterEntry = json.TryDeserializeObject(); + var parameterValueUpdate = json.TryDeserializeObject(); - if (parameterEntry != null) + if (parameterValueUpdate != null) { - OnParameterValueChanged(new ParameterValueChangedEventArgs(parameterEntry.NodeId, - parameterEntry.Index, - parameterEntry.SubIndex, parameterEntry.ParameterValue)); + OnParameterValueChanged(new ParameterValueChangedEventArgs(parameterValueUpdate.ChannelId, + parameterValueUpdate.NodeId, + parameterValueUpdate.Index, + parameterValueUpdate.SubIndex, parameterValueUpdate.ParameterValue)); } } }); diff --git a/connect/EltraConnector/Agent/UserAgent/Vcs/DeviceVcs.cs b/connect/EltraConnector/Agent/UserAgent/Vcs/DeviceVcs.cs index 332fde5..9afd399 100644 --- a/connect/EltraConnector/Agent/UserAgent/Vcs/DeviceVcs.cs +++ b/connect/EltraConnector/Agent/UserAgent/Vcs/DeviceVcs.cs @@ -155,8 +155,9 @@ public EltraDevice Device private void OnParameterValueChanged(object sender, ParameterValueChangedEventArgs e) { var objectDictionary = Device?.ObjectDictionary; + var channelId = Device?.ChannelId; - if(objectDictionary!=null) + if (objectDictionary != null && e.ChannelId == channelId) { var parameterBase = objectDictionary.SearchParameter(e.Index, e.SubIndex); diff --git a/connect/EltraConnector/EltraConnector.csproj b/connect/EltraConnector/EltraConnector.csproj index 525cfd2..db03c80 100644 --- a/connect/EltraConnector/EltraConnector.csproj +++ b/connect/EltraConnector/EltraConnector.csproj @@ -21,10 +21,10 @@ Eltra.Connector Eltra - CANOpen based IoT Framework - SDK CANOpen IoT Eltra OPCUA OPC - 3.2.3 - 3.2.3.0 + 3.2.4 + 3.2.4.0 eltra_logo.png - 3.2.3.0 + 3.2.4.0 Debug;Release; readme.md