diff --git a/BPASmart.Model/RedisDataModel.cs b/BPASmart.Model/RedisDataModel.cs new file mode 100644 index 00000000..943d8ff9 --- /dev/null +++ b/BPASmart.Model/RedisDataModel.cs @@ -0,0 +1,14 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace BPASmart.Model +{ + public class ReeisDataModel + { + public string VarName { get; set; } + public string VarVaule { get; set; } + } +} diff --git a/BPASmart.Server/CommunicationServer.cs b/BPASmart.Server/CommunicationServer.cs index d4514729..92c6eb75 100644 --- a/BPASmart.Server/CommunicationServer.cs +++ b/BPASmart.Server/CommunicationServer.cs @@ -83,9 +83,6 @@ namespace BPASmart.Server } }), $"{item.DeviceName} 初始化连接"); }); - - - } private void SetValue(TArray[] arrays, string DeviceName, ReadDataModel readDataModel, ushort by) @@ -101,14 +98,23 @@ namespace BPASmart.Server int varIndex = Array.FindIndex(tempArray, p => p.RealAddress == readDataModel.StartAddress + (i * by)); if (varIndex >= 0 && varIndex < tempArray.Length) { - var Devicename = Json.Data.CommunicationDevices[index].DeviceName; - var varname = Json.Data.CommunicationDevices[index].VarTableModels[varIndex].VarName; - RedisHelper.GetInstance.SetValue($"{Devicename}.{varname}", arrays[i]); - Json.Data.CommunicationDevices.ElementAt(index).VarTableModels.ElementAt(varIndex).CurrentValue = arrays[i].ToString(); } } - + var Devicename = Json.Data.CommunicationDevices[index].DeviceName; + List reeisDataModels = new List(); + Json.Data.CommunicationDevices[index].VarTableModels.ToList().ForEach(tempVar => + { + if (tempVar.VarName.Length > 0) + { + reeisDataModels.Add(new ReeisDataModel() + { + VarName = tempVar.VarName, + VarVaule = tempVar.CurrentValue + }); + } + }); + RedisHelper.GetInstance.SetValue($"{Devicename}", reeisDataModels); } } }