فهرست منبع

修改订阅问题

Shun 2 سال پیش
والد
کامیت
8d442f8849

+ 2 - 2
src/YSAI.Core/YSAI.Core.csproj

@@ -3,7 +3,7 @@
     <TargetFrameworks>net6.0;net8.0</TargetFrameworks>
     <ImplicitUsings>enable</ImplicitUsings>
     <Nullable>enable</Nullable>
-    <Version>23.342.3461</Version>
+    <Version>23.342.8197</Version>
     <PackageOutputPath Condition="'$(Configuration)' == 'Release'">../YSAI.Publish/Release</PackageOutputPath>
     <PackageOutputPath Condition="'$(Configuration)' == 'Debug'">../YSAI.Publish/Debug</PackageOutputPath>
     <Authors>Shun</Authors>
@@ -17,7 +17,7 @@
   </PropertyGroup>
   <ItemGroup>
     <PackageReference Include="System.IO.Ports" Version="8.0.0" />
-    <PackageReference Include="YSAI.Model" Version="23.338.16757" />
+    <PackageReference Include="YSAI.Model" Version="23.342.7875" />
     <PackageReference Include="Microsoft.ClearScript" Version="7.4.4" />
   </ItemGroup>
 </Project>

+ 4 - 1
src/YSAI.Core/subscribe/SubscribeOperate.cs

@@ -1,5 +1,6 @@
 using System.Collections.Concurrent;
 using YSAI.Core.subscribe.core;
+using YSAI.Log;
 using YSAI.Model.data;
 using YSAI.Model.@enum;
 using YSAI.Model.@interface;
@@ -404,7 +405,9 @@ namespace YSAI.Core.subscription
                     }
                     catch (Exception ex)
                     {
-                        OnEventHandler(this, new EventResult(false, $"自定义订阅轮询异常:{ex.Message}"));
+                        string msg = $"自定义订阅轮询异常:{ex.Message}";
+                        OnEventHandler(this, new EventResult(false, msg));
+                        LogHelper.Error(msg, $"{TAG}.log", exception: ex);
                     }
                     Thread.Sleep(basics.HandleInterval);
                 }

+ 1 - 1
src/YSAI.DAQ.Samples/YSAI.DAQ.Samples.csproj

@@ -99,7 +99,7 @@
 
   <ItemGroup>
     <PackageReference Include="YSAI.Mqtt" Version="23.338.17729" />
-    <PackageReference Include="YSAI.Opc" Version="23.338.19977" />
+    <PackageReference Include="YSAI.Opc" Version="23.342.4026" />
   </ItemGroup>
 
   <ItemGroup>

+ 1 - 1
src/YSAI.Kafka/YSAI.Kafka.csproj

@@ -17,6 +17,6 @@
   </PropertyGroup>
   <ItemGroup>
     <PackageReference Include="Confluent.Kafka" Version="2.3.0" />
-    <PackageReference Include="YSAI.Model" Version="23.338.16757" />
+    <PackageReference Include="YSAI.Model" Version="23.342.7875" />
   </ItemGroup>
 </Project>

+ 2 - 2
src/YSAI.Model/YSAI.Model.csproj

@@ -3,7 +3,7 @@
     <TargetFrameworks>net6.0;net8.0</TargetFrameworks>
     <ImplicitUsings>enable</ImplicitUsings>
     <Nullable>enable</Nullable>
-    <Version>23.338.16757</Version>
+    <Version>23.342.7875</Version>
     <PackageOutputPath Condition="'$(Configuration)' == 'Release'">../YSAI.Publish/Release</PackageOutputPath>
     <PackageOutputPath Condition="'$(Configuration)' == 'Debug'">../YSAI.Publish/Debug</PackageOutputPath>
     <Authors>Shun</Authors>
@@ -17,6 +17,6 @@
   </PropertyGroup>
   <ItemGroup>
     <PackageReference Include="YSAI.Log" Version="23.333.10146" />
-    <PackageReference Include="YSAI.Unility" Version="23.338.16401" />
+    <PackageReference Include="YSAI.Unility" Version="23.342.7559" />
   </ItemGroup>
 </Project>

+ 1 - 1
src/YSAI.Mqtt/YSAI.Mqtt.csproj

@@ -18,6 +18,6 @@
   <ItemGroup>
     <PackageReference Include="MQTTnet" Version="4.3.2.930" />
     <PackageReference Include="MQTTnet.AspNetCore" Version="4.3.2.930" />
-    <PackageReference Include="YSAI.Model" Version="23.338.16757" />
+    <PackageReference Include="YSAI.Model" Version="23.342.7875" />
   </ItemGroup>
 </Project>

+ 1 - 1
src/YSAI.NetMQ/YSAI.NetMQ.csproj

@@ -18,6 +18,6 @@
   </PropertyGroup>
   <ItemGroup>
     <PackageReference Include="NetMQ" Version="4.0.1.13" />
-    <PackageReference Include="YSAI.Model" Version="23.338.16757" />
+    <PackageReference Include="YSAI.Model" Version="23.342.7875" />
   </ItemGroup>
 </Project>

+ 1 - 1
src/YSAI.Netty/YSAI.Netty.csproj

@@ -18,6 +18,6 @@
   <ItemGroup>
     <PackageReference Include="DotNetty.Handlers" Version="0.7.5" />
     <PackageReference Include="DotNetty.Transport" Version="0.7.5" />
-    <PackageReference Include="YSAI.Model" Version="23.338.16757" />
+    <PackageReference Include="YSAI.Model" Version="23.342.7875" />
   </ItemGroup>
 </Project>

+ 1 - 1
src/YSAI.RabbitMQ/YSAI.RabbitMQ.csproj

@@ -17,6 +17,6 @@
   </PropertyGroup>
   <ItemGroup>
     <PackageReference Include="RabbitMQ.Client" Version="6.7.0" />
-    <PackageReference Include="YSAI.Model" Version="23.338.16757" />
+    <PackageReference Include="YSAI.Model" Version="23.342.7875" />
   </ItemGroup>
 </Project>

+ 1 - 1
src/YSAI.Redis/YSAI.Redis.csproj

@@ -17,6 +17,6 @@
   </PropertyGroup>
   <ItemGroup>
     <PackageReference Include="StackExchange.Redis" Version="2.7.4" />
-    <PackageReference Include="YSAI.Model" Version="23.338.16757" />
+    <PackageReference Include="YSAI.Model" Version="23.342.7875" />
   </ItemGroup>
 </Project>

+ 1 - 1
src/YSAI.Rpc/YSAI.Rpc.csproj

@@ -18,6 +18,6 @@
   <ItemGroup>
     <PackageReference Include="DotNetty.Codecs" Version="0.7.5" />
     <PackageReference Include="ImpromptuInterface" Version="8.0.4" />
-    <PackageReference Include="YSAI.Model" Version="23.338.16757" />
+    <PackageReference Include="YSAI.Model" Version="23.342.7875" />
   </ItemGroup>
 </Project>

+ 196 - 92
src/YSAI.Tests/Program.cs

@@ -1,4 +1,108 @@
-
+using YSAI.Log;
+using YSAI.Modbus;
+using YSAI.Model.data;
+using YSAI.Model.@enum;
+using YSAI.Unility;
+
+ModbusOperate modbusOperate = ModbusOperate.Instance(new ModbusData.Basics
+{
+    Ip = "127.0.0.1",
+    Port = 502,
+    PType = ModbusData.ProtocolType.Tcp,
+    MRType = ModbusData.ModbusReadType.FloatHoldingRegisters,
+    MWType = ModbusData.ModbusWriteType.FloatHoldingRegisters
+});
+LogHelper.Info(modbusOperate.On().ToJson().JsonFormatting());
+
+
+
+//点位地址
+Address address = new Address();
+address.SN = Guid.NewGuid().ToString();
+address.CreationTime = DateTime.Now.ToLocalTime();
+address.AddressArray = new List<AddressDetails>();
+address.AddressArray.Add(new AddressDetails()
+{
+    AddressName = "1",
+    AddressDataType = DataType.Float,
+    AddressType = AddressType.Reality
+});
+address.AddressArray.Add(new AddressDetails()
+{
+    AddressName = "3",
+    AddressDataType = DataType.Float,
+    AddressType = AddressType.Reality
+});
+address.AddressArray.Add(new AddressDetails()
+{
+    AddressName = "5",
+    AddressDataType = DataType.Float,
+    AddressType = AddressType.Reality
+});
+address.AddressArray.Add(new AddressDetails()
+{
+    AddressName = "7",
+    AddressDataType = DataType.Float,
+    AddressType = AddressType.Reality
+});
+address.AddressArray.Add(new AddressDetails()
+{
+    AddressName = "9",
+    AddressDataType = DataType.Float,
+    AddressType = AddressType.Reality
+});
+address.AddressArray.Add(new AddressDetails()
+{
+    AddressName = "11",
+    AddressDataType = DataType.Float,
+    AddressType = AddressType.Reality
+});
+address.AddressArray.Add(new AddressDetails()
+{
+    AddressName = "13",
+    AddressDataType = DataType.Float,
+    AddressType = AddressType.Reality
+});
+LogHelper.Info(modbusOperate.Read(address).ToJson().JsonFormatting());
+
+//连续读取
+Address lxdq_address = new Address();
+lxdq_address.SN = Guid.NewGuid().ToString();
+lxdq_address.CreationTime = DateTime.Now.ToLocalTime();
+lxdq_address.AddressArray = new List<AddressDetails>();
+lxdq_address.AddressArray.Add(new AddressDetails()
+{
+    AddressName = "0,6",
+    AddressDataType = DataType.String,
+    AddressType = AddressType.Reality
+});
+
+LogHelper.Info(modbusOperate.Read(lxdq_address).ToJson().JsonFormatting());
+
+//订阅
+modbusOperate.OnEvent += ModbusOperate_OnEvent;
+LogHelper.Info(modbusOperate.Subscribe(address).ToJson().JsonFormatting());
+//订阅连续读取
+LogHelper.Info(modbusOperate.Subscribe(lxdq_address).ToJson().JsonFormatting());
+
+void ModbusOperate_OnEvent(object? sender, EventResult e)
+{
+    LogHelper.Debug(e.ToJson().JsonFormatting());
+}
+
+while (true)
+{
+    Console.ReadLine();
+}
+
+
+
+
+
+
+
+
+
 
 //using YSAI.Log;
 //using YSAI.Model.data;
@@ -518,102 +622,102 @@
 
 
 
-using S7.Net;
-using System.Collections.Concurrent;
-using YSAI.Model.data;
-using YSAI.Model.@enum;
-using YSAI.Siemens;
-using YSAI.Unility;
-using DataType = YSAI.Model.@enum.DataType;
+//using S7.Net;
+//using System.Collections.Concurrent;
+//using YSAI.Model.data;
+//using YSAI.Model.@enum;
+//using YSAI.Siemens;
+//using YSAI.Unility;
+//using DataType = YSAI.Model.@enum.DataType;
 
-SiemensOperate s7ClientOperate = SiemensOperate.Instance(new SiemensData.Basics()
-{
-    Ip = "192.168.2.20",
-    Port = 102,
-    Rack = 0,
-    Slot = 1,
-    CType = CpuType.S71200,
-    ChangeOut = true,
-    SN = Guid.NewGuid().ToString()
-}); ;
-
-//打开
-OperateResult operateResult = s7ClientOperate.On();
-Console.WriteLine(operateResult.Message);
+//SiemensOperate s7ClientOperate = SiemensOperate.Instance(new SiemensData.Basics()
+//{
+//    Ip = "192.168.2.20",
+//    Port = 102,
+//    Rack = 0,
+//    Slot = 1,
+//    CType = CpuType.S71200,
+//    ChangeOut = true,
+//    SN = Guid.NewGuid().ToString()
+//}); ;
 
-//点位地址
-Address address = new Address();
-address.SN = Guid.NewGuid().ToString();
-address.CreationTime = DateTime.Now.ToLocalTime();
-address.AddressArray = new List<AddressDetails>();
-address.AddressArray.Add(new AddressDetails()
-{
-    AddressName = "DB71.DBD420",    //地址格式  DB*.DBD*
-    AddressDataType = DataType.Float,
-    AddressType = AddressType.Reality
-});
-address.AddressArray.Add(new AddressDetails()
-{
-    AddressName = "DB71.DBD424",    //地址格式  DB*.DBD*
-    AddressDataType = DataType.Float,
-    AddressType = AddressType.Reality
-});
-address.AddressArray.Add(new AddressDetails()
-{
-    AddressName = "DB71.DBD428",    //地址格式  DB*.DBD*
-    AddressDataType = DataType.Float,
-    AddressType = AddressType.Reality
-});
-address.AddressArray.Add(new AddressDetails()
-{
-    AddressName = "DB72.DBD114",    //地址格式  DB*.DBD*
-    AddressDataType = DataType.Float,
-    AddressType = AddressType.Reality
-});
-address.AddressArray.Add(new AddressDetails()
-{
-    AddressName = "DB72.DBD110",    //地址格式  DB*.DBD*
-    AddressDataType = DataType.Float,
-    AddressType = AddressType.Reality
-});
-address.AddressArray.Add(new AddressDetails()
-{
-    AddressName = "DB71.DBD256",    //地址格式  DB*.DBD*
-    AddressDataType = DataType.Float,
-    AddressType = AddressType.Reality
-});
-address.AddressArray.Add(new AddressDetails()
-{
-    AddressName = "DB71.DBD388",    //地址格式  DB*.DBD*
-    AddressDataType = DataType.Float,
-    AddressType = AddressType.Reality
-});
+////打开
+//OperateResult operateResult = s7ClientOperate.On();
+//Console.WriteLine(operateResult.Message);
 
-//Source array was not long enough. Check the source index, length, and the array's lower bounds. (Parameter 'sourceArray')
+////点位地址
+//Address address = new Address();
+//address.SN = Guid.NewGuid().ToString();
+//address.CreationTime = DateTime.Now.ToLocalTime();
+//address.AddressArray = new List<AddressDetails>();
+//address.AddressArray.Add(new AddressDetails()
+//{
+//    AddressName = "DB71.DBD420",    //地址格式  DB*.DBD*
+//    AddressDataType = DataType.Float,
+//    AddressType = AddressType.Reality
+//});
+//address.AddressArray.Add(new AddressDetails()
+//{
+//    AddressName = "DB71.DBD424",    //地址格式  DB*.DBD*
+//    AddressDataType = DataType.Float,
+//    AddressType = AddressType.Reality
+//});
+//address.AddressArray.Add(new AddressDetails()
+//{
+//    AddressName = "DB71.DBD428",    //地址格式  DB*.DBD*
+//    AddressDataType = DataType.Float,
+//    AddressType = AddressType.Reality
+//});
+//address.AddressArray.Add(new AddressDetails()
+//{
+//    AddressName = "DB72.DBD114",    //地址格式  DB*.DBD*
+//    AddressDataType = DataType.Float,
+//    AddressType = AddressType.Reality
+//});
+//address.AddressArray.Add(new AddressDetails()
+//{
+//    AddressName = "DB72.DBD110",    //地址格式  DB*.DBD*
+//    AddressDataType = DataType.Float,
+//    AddressType = AddressType.Reality
+//});
+//address.AddressArray.Add(new AddressDetails()
+//{
+//    AddressName = "DB71.DBD256",    //地址格式  DB*.DBD*
+//    AddressDataType = DataType.Float,
+//    AddressType = AddressType.Reality
+//});
+//address.AddressArray.Add(new AddressDetails()
+//{
+//    AddressName = "DB71.DBD388",    //地址格式  DB*.DBD*
+//    AddressDataType = DataType.Float,
+//    AddressType = AddressType.Reality
+//});
 
-//读取
-operateResult = s7ClientOperate.Read(address);
-Console.WriteLine(operateResult.Message);
-if (operateResult.State)
-{
-    foreach (var item in operateResult.GetRData<ConcurrentDictionary<string, AddressValue>>())
-    {
-        Console.WriteLine(item.Key);
-        Console.WriteLine(item.Value.Value);
-    }
-}
+////Source array was not long enough. Check the source index, length, and the array's lower bounds. (Parameter 'sourceArray')
 
-//订阅
-s7ClientOperate.OnEvent += S7ClientOperate_OnEvent;
-s7ClientOperate.Subscribe(address);
+////读取
+//operateResult = s7ClientOperate.Read(address);
+//Console.WriteLine(operateResult.Message);
+//if (operateResult.State)
+//{
+//    foreach (var item in operateResult.GetRData<ConcurrentDictionary<string, AddressValue>>())
+//    {
+//        Console.WriteLine(item.Key);
+//        Console.WriteLine(item.Value.Value);
+//    }
+//}
 
-while (true)
-{
-    Console.ReadLine();
-}
+////订阅
+//s7ClientOperate.OnEvent += S7ClientOperate_OnEvent;
+//s7ClientOperate.Subscribe(address);
 
-void S7ClientOperate_OnEvent(object? sender, EventResult e)
-{
-    Console.WriteLine(e.ToJson());
-}
+//while (true)
+//{
+//    Console.ReadLine();
+//}
+
+//void S7ClientOperate_OnEvent(object? sender, EventResult e)
+//{
+//    Console.WriteLine(e.ToJson());
+//}
 

+ 4 - 4
src/YSAI.Tests/YSAI.Tests.csproj

@@ -110,15 +110,15 @@
 		<ProjectReference Include="..\YSAI.DB\YSAI.DB.csproj" />
 		<ProjectReference Include="..\YSAI.Kafka\YSAI.Kafka.csproj" />
 		<ProjectReference Include="..\YSAI.Mewtocol\YSAI.Mewtocol.csproj" />
-		<ProjectReference Include="..\YSAI.Mitsubishi\YSAI.Mitsubishi.csproj" />
+		<ProjectReference Include="..\YSAI.Mitsubishi\YSAI.Mitsubishi.csproj" />-->
 		<ProjectReference Include="..\YSAI.Modbus\YSAI.Modbus.csproj" />
-		<ProjectReference Include="..\YSAI.Mqtt\YSAI.Mqtt.csproj" />
+		<!--<ProjectReference Include="..\YSAI.Mqtt\YSAI.Mqtt.csproj" />
 		<ProjectReference Include="..\YSAI.NetMQ\YSAI.NetMQ.csproj" />
 		<ProjectReference Include="..\YSAI.Netty\YSAI.Netty.csproj" />
 		<ProjectReference Include="..\YSAI.Omron\YSAI.Omron.csproj" />
 		<ProjectReference Include="..\YSAI.Opc\YSAI.Opc.csproj" />
-		<ProjectReference Include="..\YSAI.RabbitMQ\YSAI.RabbitMQ.csproj" />-->
-		<ProjectReference Include="..\YSAI.Siemens\YSAI.Siemens.csproj" />
+		<ProjectReference Include="..\YSAI.RabbitMQ\YSAI.RabbitMQ.csproj" />
+		<ProjectReference Include="..\YSAI.Siemens\YSAI.Siemens.csproj" />-->
 	</ItemGroup>
 	
 </Project>

+ 10 - 18
src/YSAI.Unility/ExtensionTool.cs

@@ -40,10 +40,6 @@ namespace YSAI.Unility
             stopTime.Stop();
         }
 
-        /// <summary>
-        /// 对象比对器
-        /// </summary>
-        private static CompareLogic compare;
 
         /// <summary>
         /// 对象比对器
@@ -55,24 +51,24 @@ namespace YSAI.Unility
         /// <returns>(是否一致,不一致的原因)</returns>
         public static (bool result, string message) Comparer<T>(this T a, T b, string[]? ignoreMember = null)
         {
-            if (compare == null)
-            {
-                compare = new CompareLogic();
-                //使用识别对象比较
-                compare.Config.UseHashCodeIdentifier = true;
-                //对象比较
-                compare.Config.IgnoreObjectTypes = true;
-                //执行深比较
-                compare.Config.CompareChildren = true;
-            }
+            CompareLogic compare = new CompareLogic();
+            //使用识别对象比较
+            compare.Config.UseHashCodeIdentifier = true;
+            //对象比较
+            compare.Config.IgnoreObjectTypes = true;
+            //执行深比较
+            compare.Config.CompareChildren = true;
+
             //操作结果
             (bool result, string message) OR = new(false, string.Empty);
 
             //忽略比对成员
             if (ignoreMember != null && ignoreMember.Length > 0)
             {
+                //在进行添加
                 compare.Config.MembersToIgnore.AddRange(ignoreMember.ToList());
             }
+
             //进行比对
             ComparisonResult result = compare.Compare(a, b);
             //结果状态
@@ -82,11 +78,7 @@ namespace YSAI.Unility
                 //不同之处
                 OR.message = result.DifferencesString;
             }
-            //清空按名称忽略特定成员
-            compare.Config.MembersToIgnore.Clear();
-            //返回结果
             return OR;
-
         }
 
 

+ 1 - 1
src/YSAI.Unility/YSAI.Unility.csproj

@@ -3,7 +3,7 @@
     <TargetFrameworks>net6.0;net8.0</TargetFrameworks>
     <ImplicitUsings>enable</ImplicitUsings>
     <Nullable>enable</Nullable>
-    <Version>23.338.16401</Version>
+    <Version>23.342.7559</Version>
     <PackageOutputPath Condition="'$(Configuration)' == 'Release'">../YSAI.Publish/Release</PackageOutputPath>
     <PackageOutputPath Condition="'$(Configuration)' == 'Debug'">../YSAI.Publish/Debug</PackageOutputPath>
     <Authors>Shun</Authors>

+ 8 - 8
src/YSAI.Ver.Manage.Tool/Program.cs

@@ -13,14 +13,14 @@ List<string> strings = new List<string>
 
     //"YSAI.Core",
 
-    //"YSAI.Rpc",
-    //"YSAI.Redis",
-
-    //"YSAI.Kafka",
-    //"YSAI.Mqtt",
-    //"YSAI.NetMQ",
-    //"YSAI.Netty",
-    //"YSAI.RabbitMQ",
+    "YSAI.Rpc",
+    "YSAI.Redis",
+
+    "YSAI.Kafka",
+    "YSAI.Mqtt",
+    "YSAI.NetMQ",
+    "YSAI.Netty",
+    "YSAI.RabbitMQ",
 
     "YSAI.AllenBradley",
     "YSAI.Beckhoff",