소스 검색

细节优化修改

Shun 2 년 전
부모
커밋
09a6575e81
68개의 변경된 파일1681개의 추가작업 그리고 1699개의 파일을 삭제
  1. 8 7
      src/YSAI.AllenBradley/AllenBradleyData.cs
  2. 21 20
      src/YSAI.AllenBradley/AllenBradleyOperate.cs
  3. 1 1
      src/YSAI.AllenBradley/YSAI.AllenBradley.csproj
  4. 6 5
      src/YSAI.Beckhoff/BeckhoffData.cs
  5. 31 30
      src/YSAI.Beckhoff/BeckhoffOperate.cs
  6. 1 1
      src/YSAI.Beckhoff/YSAI.Beckhoff.csproj
  7. 4 3
      src/YSAI.Can/CanData.cs
  8. 6 5
      src/YSAI.Can/CanOperate.cs
  9. 1 1
      src/YSAI.Can/YSAI.Can.csproj
  10. 4 3
      src/YSAI.DB/DBData.cs
  11. 6 5
      src/YSAI.DB/DBOperate.cs
  12. 1 1
      src/YSAI.DB/YSAI.DB.csproj
  13. 3 3
      src/YSAI.DaqManage/DaqManageOperate.cs
  14. 1 1
      src/YSAI.DaqManage/YSAI.DaqManage.csproj
  15. 2 3
      src/YSAI.Manage/Controllers/DaqOperateController.cs
  16. 1 1
      src/YSAI.Manage/Controllers/FileOperateController.cs
  17. 1 1
      src/YSAI.Manage/Controllers/InfoOperateController.cs
  18. 70 72
      src/YSAI.Manage/Controllers/RelayOperateController.cs
  19. 3 4
      src/YSAI.Manage/Program.cs
  20. 12 11
      src/YSAI.Mewtocol/MewtocolData.cs
  21. 40 39
      src/YSAI.Mewtocol/MewtocolOperate.cs
  22. 1 1
      src/YSAI.Mewtocol/YSAI.Mewtocol.csproj
  23. 9 8
      src/YSAI.Mitsubishi/MitsubishiData.cs
  24. 23 24
      src/YSAI.Mitsubishi/MitsubishiOperate.cs
  25. 1 1
      src/YSAI.Mitsubishi/YSAI.Mitsubishi.csproj
  26. 16 15
      src/YSAI.Modbus/ModbusData.cs
  27. 33 31
      src/YSAI.Modbus/ModbusOperate.cs
  28. 1 1
      src/YSAI.Modbus/YSAI.Modbus.csproj
  29. 2 2
      src/YSAI.Netty/client/NettyClientOperate.cs
  30. 12 11
      src/YSAI.Omron/OmronData.cs
  31. 21 22
      src/YSAI.Omron/OmronOperate.cs
  32. 1 1
      src/YSAI.Omron/YSAI.Omron.csproj
  33. 1 1
      src/YSAI.Opc/YSAI.Opc.csproj
  34. 8 7
      src/YSAI.Opc/da/client/OpcDaClientData.cs
  35. 8 8
      src/YSAI.Opc/da/client/OpcDaClientOperate.cs
  36. 6 5
      src/YSAI.Opc/da/http/OpcDaHttpData.cs
  37. 10 10
      src/YSAI.Opc/da/http/OpcDaHttpOperate.cs
  38. 17 16
      src/YSAI.Opc/ua/client/OpcUaClientData.cs
  39. 14 15
      src/YSAI.Opc/ua/client/OpcUaClientOperate.cs
  40. 1 1
      src/YSAI.Opc/ua/client/OpcUaClientReadController.cs
  41. 5 4
      src/YSAI.Opc/ua/service/OpcUaServiceData.cs
  42. 2 3
      src/YSAI.Opc/ua/service/OpcUaServiceOperate.cs
  43. 1 1
      src/YSAI.Opc/unility/OpcHelper.cs
  44. 1 1
      src/YSAI.Redis/YSAI.Redis.csproj
  45. 1 1
      src/YSAI.Reflection/YSAI.Reflection.csproj
  46. 3 4
      src/YSAI.RelayManage/RelayManageOperate.cs
  47. 1 1
      src/YSAI.RelayManage/YSAI.RelayManage.csproj
  48. 1 2
      src/YSAI.Rpc/YSAI.Rpc.csproj
  49. 1 1
      src/YSAI.Script/YSAI.Script.csproj
  50. 7 6
      src/YSAI.Siemens/SiemensData.cs
  51. 20 19
      src/YSAI.Siemens/SiemensOperate.cs
  52. 1 1
      src/YSAI.Siemens/YSAI.Siemens.csproj
  53. 14 14
      src/YSAI.Test.All/Program.cs
  54. 19 19
      src/YSAI.Test.Console/Program.cs
  55. 1177 1197
      src/YSAI.Test/UnitTest1.cs
  56. 1 1
      src/YSAI.Test/YSAI.Test.csproj
  57. 2 3
      src/YSAI.Tool.Core/can/CanToolController.cs
  58. 1 2
      src/YSAI.Tool.Core/mqtt/client/MqttClientToolController.cs
  59. 1 2
      src/YSAI.Tool.Core/mqtt/service/MqttServiceToolController.cs
  60. 1 2
      src/YSAI.Tool.Core/mqtt/service/webScoket/MqttWebSocketServiceToolController.cs
  61. 3 3
      src/YSAI.Tool.Core/opc/da/http/OpcDaHttpClientToolController.cs
  62. 1 2
      src/YSAI.Tool.Core/opc/ua/client/OpcUaClientToolController.cs
  63. 1 2
      src/YSAI.Tool.Core/opc/ua/service/OpcUaServiceToolController.cs
  64. 1 1
      src/YSAI.Tool.Core/serialport/SerialPortToolController.cs
  65. 1 2
      src/YSAI.Tool.Core/sockettcpclient/SocketTcpClientToolController.cs
  66. 1 2
      src/YSAI.Tool.Core/sockettcpserver/SocketTcpServerToolController.cs
  67. 1 2
      src/YSAI.Tool.Core/socketudp/SocketUdpToolController.cs
  68. 4 4
      src/YSAI.VT/Program.cs

+ 8 - 7
src/YSAI.AllenBradley/AllenBradleyData.cs

@@ -1,6 +1,7 @@
 using System.ComponentModel;
-using YSAI.Core.attribute;
 using YSAI.Core.subscription;
+using YSAI.Model.attribute;
+using YSAI.Model.data;
 using YSAI.Unility;
 
 namespace YSAI.AllenBradley
@@ -23,28 +24,28 @@ namespace YSAI.AllenBradley
             /// </summary>
             [Description("IP")]
             [Verify(@"^(25[0-4]|2[0-4]\\d]|[01]?\\d{2}|[1-9])\\.(25[0-5]|2[0-4]\\d]|[01]?\\d?\\d)\\.(25[0-5]|2[0-4]\\d]|[01]?\\d?\\d)\\.(25[0-4]|2[0-4]\\d]|[01]?\\d{2}|[1-9])$", "输入有误")]
-            [Display(true, true, true, Core.data.ParamStructure.dataCate.text)]
+            [Display(true, true, true, ParamStructure.dataCate.text)]
             public string? Ip { get; set; } = "127.0.0.1";
 
             /// <summary>
             /// 端口
             /// </summary>
             [Description("端口")]
-            [Display(true, true, true, Core.data.ParamStructure.dataCate.unmber)]
+            [Display(true, true, true, ParamStructure.dataCate.unmber)]
             public int Port { get; set; } = 6688;
 
             /// <summary>
             /// 插槽
             /// </summary>
             [Description("插槽")]
-            [Display(true, true, true, Core.data.ParamStructure.dataCate.unmber)]
+            [Display(true, true, true, ParamStructure.dataCate.unmber)]
             public int Slot { get; set; } = 0;
 
             /// <summary>
             /// 是否需要断开重新连接
             /// </summary>
             [Description("是否需要断开重新连接")]
-            [Display(true, true, true, Core.data.ParamStructure.dataCate.radio)]
+            [Display(true, true, true, ParamStructure.dataCate.radio)]
             public bool InterruptReconnection { get; set; } = true;
 
             /// <summary>
@@ -52,7 +53,7 @@ namespace YSAI.AllenBradley
             /// </summary>
             [Description("重连间隔")]
             [Unit("ms")]
-            [Display(true, true, true, Core.data.ParamStructure.dataCate.unmber)]
+            [Display(true, true, true, ParamStructure.dataCate.unmber)]
             public int ReconnectionInterval { get; set; } = 2000;
 
             /// <summary>
@@ -60,7 +61,7 @@ namespace YSAI.AllenBradley
             /// </summary>
             [Description("超时时间")]
             [Unit("ms")]
-            [Display(true, true, true, Core.data.ParamStructure.dataCate.unmber)]
+            [Display(true, true, true, ParamStructure.dataCate.unmber)]
             public int Timeout { get; set; } = 1000;
         }
     }

+ 21 - 20
src/YSAI.AllenBradley/AllenBradleyOperate.cs

@@ -1,12 +1,13 @@
 using System.Collections.Concurrent;
 using System.Text;
 using YSAI.Core.communication.net.tcp.client;
-using YSAI.Core.data;
-using YSAI.Core.handler;
-using YSAI.Core.@interface;
 using YSAI.Core.subscription;
 using YSAI.Core.virtualAddress;
 using YSAI.Log;
+using YSAI.Model.data;
+using YSAI.Model.@enum;
+using YSAI.Model.@interface;
+using YSAI.Model.tool;
 using YSAI.Unility;
 
 namespace YSAI.AllenBradley
@@ -422,37 +423,37 @@ namespace YSAI.AllenBradley
                         {
                             switch (item.AddressDataType)
                             {
-                                case Core.@enum.DataType.Bool:
+                                case DataType.Bool:
                                     Value = BitConverter.ToBoolean(R(item.AddressName, 1), 0).ToString();
                                     break;
-                                case Core.@enum.DataType.Short:
-                                case Core.@enum.DataType.Int16:
+                                case DataType.Short:
+                                case DataType.Int16:
                                     Value = BitConverter.ToInt16(R(item.AddressName, 2), 0).ToString();
                                     break;
-                                case Core.@enum.DataType.Ushort:
-                                case Core.@enum.DataType.UInt16:
+                                case DataType.Ushort:
+                                case DataType.UInt16:
                                     Value = BitConverter.ToUInt16(R(item.AddressName, 2), 0).ToString();
                                     break;
-                                case Core.@enum.DataType.Int:
-                                case Core.@enum.DataType.Int32:
+                                case DataType.Int:
+                                case DataType.Int32:
                                     Value = BitConverter.ToInt32(R(item.AddressName, 4), 0).ToString();
                                     break;
-                                case Core.@enum.DataType.Uint:
-                                case Core.@enum.DataType.UInt32:
+                                case DataType.Uint:
+                                case DataType.UInt32:
                                     Value = BitConverter.ToUInt32(R(item.AddressName, 4), 0).ToString();
                                     break;
-                                case Core.@enum.DataType.Long:
-                                case Core.@enum.DataType.Int64:
+                                case DataType.Long:
+                                case DataType.Int64:
                                     Value = BitConverter.ToInt64(R(item.AddressName, 8), 0).ToString();
                                     break;
-                                case Core.@enum.DataType.Ulong:
-                                case Core.@enum.DataType.UInt64:
+                                case DataType.Ulong:
+                                case DataType.UInt64:
                                     Value = BitConverter.ToUInt64(R(item.AddressName, 8), 0).ToString();
                                     break;
-                                case Core.@enum.DataType.Double:
+                                case DataType.Double:
                                     Value = BitConverter.ToDouble(R(item.AddressName, 8), 0).ToString();
                                     break;
-                                case Core.@enum.DataType.Float:
+                                case DataType.Float:
                                     Value = BitConverter.ToSingle(R(item.AddressName, 4), 0).ToString();
                                     break;
                                 default:
@@ -475,7 +476,7 @@ namespace YSAI.AllenBradley
                 if (param.Count > 0)
                 {
                     //返回读取的数据
-                    return Break(SN, true, RData: param, RType: Core.@enum.ResultType.KeyValue);
+                    return Break(SN, true, RData: param, RType: ResultType.KeyValue);
                 }
                 else
                 {
@@ -681,7 +682,7 @@ namespace YSAI.AllenBradley
                 //命名空间
                 string nameSpace = "YSAI.AllenBradley.AllenBradleyOperate";
                 //参数处理
-                OperateResult operateResult = ParamHandler.Get(new AllenBradleyData.Basics(), name, Properties: new List<ParamStructure.propertie>
+                OperateResult operateResult = ParamTool.Get(new AllenBradleyData.Basics(), name, Properties: new List<ParamStructure.propertie>
                 {
                     new ParamStructure.propertie
                     {

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

@@ -16,6 +16,6 @@
     <Description>$(DescriptionType):$(DescriptionName) ( $(DescriptionDetails) )</Description>
   </PropertyGroup>
   <ItemGroup>
-    <PackageReference Include="YSAI.Core" Version="23.327.26637" />
+    <PackageReference Include="YSAI.Core" Version="23.328.24076" />
   </ItemGroup>
 </Project>

+ 6 - 5
src/YSAI.Beckhoff/BeckhoffData.cs

@@ -1,5 +1,6 @@
 using System.ComponentModel;
-using YSAI.Core.attribute;
+using YSAI.Model.attribute;
+using YSAI.Model.data;
 using YSAI.Unility;
 
 namespace YSAI.Beckhoff
@@ -24,21 +25,21 @@ namespace YSAI.Beckhoff
             /// 设备的网络ID
             /// </summary>
             [Description("设备的网络ID")]
-            [Display(true, true, true, Core.data.ParamStructure.dataCate.text)]
+            [Display(true, true, true, ParamStructure.dataCate.text)]
             public string AmsNetID { get; set; } = "192.168.66.130.1.1";
 
             /// <summary>
             /// 端口
             /// </summary>
             [Description("端口")]
-            [Display(true, true, true, Core.data.ParamStructure.dataCate.unmber)]
+            [Display(true, true, true, ParamStructure.dataCate.unmber)]
             public int Port { get; set; } = 851;
 
             /// <summary>
             /// 任务数量
             /// </summary>
             [Description("任务数量")]
-            [Display(true, true, true, Core.data.ParamStructure.dataCate.unmber)]
+            [Display(true, true, true, ParamStructure.dataCate.unmber)]
             public int TaskNumber { get; set; } = 5;
 
             /// <summary>
@@ -46,7 +47,7 @@ namespace YSAI.Beckhoff
             /// </summary>
             [Description("任务处理间隔")]
             [Unit("ms")]
-            [Display(true, true, true, Core.data.ParamStructure.dataCate.unmber)]
+            [Display(true, true, true, ParamStructure.dataCate.unmber)]
             public int TaskHandleInterval { get; set; } = 100;
         }
     }

+ 31 - 30
src/YSAI.Beckhoff/BeckhoffOperate.cs

@@ -3,11 +3,12 @@ using TwinCAT;
 using TwinCAT.Ads;
 using TwinCAT.PlcOpen;
 using TwinCAT.TypeSystem;
-using YSAI.Core.data;
-using YSAI.Core.handler;
-using YSAI.Core.@interface;
 using YSAI.Core.virtualAddress;
 using YSAI.Log;
+using YSAI.Model.data;
+using YSAI.Model.@enum;
+using YSAI.Model.@interface;
+using YSAI.Model.tool;
 using YSAI.Unility;
 
 namespace YSAI.Beckhoff
@@ -138,7 +139,7 @@ namespace YSAI.Beckhoff
                                 param.AddOrUpdate(addressDetails.AddressName, addressValue, (k, v) => addressValue);
 
                                 //响应
-                                OnEventHandler(this, new EventResult(true, $"点位数据更新", param, Core.@enum.ResultType.KeyValue));
+                                OnEventHandler(this, new EventResult(true, $"点位数据更新", param, ResultType.KeyValue));
                             }
                             catch (Exception ex)
                             {
@@ -159,7 +160,7 @@ namespace YSAI.Beckhoff
         /// </summary>
         private void AdsClient_AdsSymbolVersionChanged(object? sender, AdsSymbolVersionChangedEventArgs e)
         {
-            OnEventHandler(sender, new EventResult(true, "版本更新", e, Core.@enum.ResultType.Object));
+            OnEventHandler(sender, new EventResult(true, "版本更新", e, ResultType.Object));
         }
 
         /// <summary>
@@ -167,7 +168,7 @@ namespace YSAI.Beckhoff
         /// </summary>
         private void AdsClient_AdsNotificationsInvalidated(object? sender, AdsNotificationsInvalidatedEventArgs e)
         {
-            OnEventHandler(sender, new EventResult(true, "订阅/取消订阅", e, Core.@enum.ResultType.Object));
+            OnEventHandler(sender, new EventResult(true, "订阅/取消订阅", e, ResultType.Object));
         }
 
         /// <summary>
@@ -192,7 +193,7 @@ namespace YSAI.Beckhoff
         /// </summary>
         private void AdsClient_AdsNotificationError(object? sender, AdsNotificationErrorEventArgs e)
         {
-            OnEventHandler(sender, new EventResult(true, "订阅发生异常", e, Core.@enum.ResultType.Object));
+            OnEventHandler(sender, new EventResult(true, "订阅发生异常", e, ResultType.Object));
         }
 
         /// <summary>
@@ -200,7 +201,7 @@ namespace YSAI.Beckhoff
         /// </summary>
         private void AdsClient_AdsStateChanged(object? sender, AdsStateChangedEventArgs e)
         {
-            OnEventHandler(sender, new EventResult(true, "状态已改变", e, Core.@enum.ResultType.Object));
+            OnEventHandler(sender, new EventResult(true, "状态已改变", e, ResultType.Object));
         }
 
         /// <summary>
@@ -208,7 +209,7 @@ namespace YSAI.Beckhoff
         /// </summary>
         private void AdsClient_ConnectionStateChanged(object? sender, ConnectionStateChangedEventArgs e)
         {
-            OnEventHandler(sender, new EventResult(true, "连接状态已改变", e, Core.@enum.ResultType.Object));
+            OnEventHandler(sender, new EventResult(true, "连接状态已改变", e, ResultType.Object));
         }
 
         /// <summary>
@@ -216,7 +217,7 @@ namespace YSAI.Beckhoff
         /// </summary>
         private void AdsClient_RouterStateChanged(object? sender, AmsRouterNotificationEventArgs e)
         {
-            OnEventHandler(sender, new EventResult(true, "路由器状态改变事件", e, Core.@enum.ResultType.Object));
+            OnEventHandler(sender, new EventResult(true, "路由器状态改变事件", e, ResultType.Object));
         }
 
         #endregion 事件
@@ -398,29 +399,29 @@ namespace YSAI.Beckhoff
                                 //获取到了句柄
                                 switch (item.AddressDataType)
                                 {
-                                    case Core.@enum.DataType.Bool:
+                                    case DataType.Bool:
                                         resultAnyValue = adsClient.ReadAnyAsync(handle.Handle, typeof(bool), Cts.Token).Result;
                                         break;
 
-                                    case Core.@enum.DataType.String:
-                                    case Core.@enum.DataType.Char:
+                                    case DataType.String:
+                                    case DataType.Char:
                                         resultAnyValue = adsClient.ReadAnyStringAsync(handle.Handle, byte.MaxValue, StringMarshaler.DefaultEncoding, Cts.Token).Result;
                                         break;
 
-                                    case Core.@enum.DataType.Double:
-                                    case Core.@enum.DataType.Float:
+                                    case DataType.Double:
+                                    case DataType.Float:
                                         resultAnyValue = adsClient.ReadAnyAsync(handle.Handle, typeof(double), Cts.Token).Result;
                                         break;
 
-                                    case Core.@enum.DataType.Int:
+                                    case DataType.Int:
                                         resultAnyValue = adsClient.ReadAnyAsync(handle.Handle, typeof(uint), Cts.Token).Result;
                                         break;
 
-                                    case Core.@enum.DataType.DateTime:
+                                    case DataType.DateTime:
                                         resultAnyValue = adsClient.ReadAnyAsync(handle.Handle, typeof(DateTime), Cts.Token).Result;
                                         break;
 
-                                    case Core.@enum.DataType.Time:
+                                    case DataType.Time:
                                         resultRead = adsClient.ReadAsync(handle.Handle, readBuffer.AsMemory(0, TimeBase.MarshalSize), Cts.Token).Result;
                                         if (resultRead.Succeeded)
                                         {
@@ -433,7 +434,7 @@ namespace YSAI.Beckhoff
                                         }
                                         break;
 
-                                    case Core.@enum.DataType.Date:
+                                    case DataType.Date:
                                         resultRead = adsClient.ReadAsync(handle.Handle, readBuffer.AsMemory(0, TimeBase.MarshalSize), Cts.Token).Result;
                                         if (resultRead.Succeeded)
                                         {
@@ -479,7 +480,7 @@ namespace YSAI.Beckhoff
                 if (param.Count > 0)
                 {
                     //返回读取的数据
-                    return Break(SN, true, RData: param, RType: Core.@enum.ResultType.KeyValue);
+                    return Break(SN, true, RData: param, RType: ResultType.KeyValue);
                 }
                 else
                 {
@@ -523,33 +524,33 @@ namespace YSAI.Beckhoff
                     Type type = null;
                     switch (item.AddressDataType)
                     {
-                        case Core.@enum.DataType.Bool:
+                        case DataType.Bool:
                             type = typeof(bool);
                             break;
 
-                        case Core.@enum.DataType.String:
-                        case Core.@enum.DataType.Char:
+                        case DataType.String:
+                        case DataType.Char:
                             type = typeof(string);
                             break;
 
-                        case Core.@enum.DataType.Double:
-                        case Core.@enum.DataType.Float:
+                        case DataType.Double:
+                        case DataType.Float:
                             type = typeof(double);
                             break;
 
-                        case Core.@enum.DataType.Int:
+                        case DataType.Int:
                             type = typeof(uint);
                             break;
 
-                        case Core.@enum.DataType.DateTime:
+                        case DataType.DateTime:
                             type = typeof(DateTime);
                             break;
 
-                        case Core.@enum.DataType.Date:
+                        case DataType.Date:
                             type = typeof(DateTimeOffset);
                             break;
 
-                        case Core.@enum.DataType.Time:
+                        case DataType.Time:
                             type = typeof(TimeSpan);
                             break;
                     }
@@ -741,7 +742,7 @@ namespace YSAI.Beckhoff
                 //命名空间
                 string nameSpace = "YSAI.Beckhoff.BeckhoffOperate";
                 //参数处理
-                OperateResult operateResult = ParamHandler.Get(new BeckhoffData.Basics(), name, Properties: new List<ParamStructure.propertie>
+                OperateResult operateResult = ParamTool.Get(new BeckhoffData.Basics(), name, Properties: new List<ParamStructure.propertie>
                 {
                     new ParamStructure.propertie
                     {

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

@@ -17,7 +17,7 @@
   </PropertyGroup>
   <ItemGroup>
     <PackageReference Include="Beckhoff.TwinCAT.Ads" Version="6.1.125" />
-    <PackageReference Include="YSAI.Core" Version="23.327.26637" />
+    <PackageReference Include="YSAI.Core" Version="23.328.24076" />
   </ItemGroup>
   <!--<ItemGroup>
     <ProjectReference Include="..\YSAI.Core\YSAI.Core.csproj" />

+ 4 - 3
src/YSAI.Can/CanData.cs

@@ -1,8 +1,9 @@
 using Newtonsoft.Json.Converters;
 using System.ComponentModel;
 using System.Text.Json.Serialization;
-using YSAI.Core.attribute;
 using YSAI.Core.subscription;
+using YSAI.Model.attribute;
+using YSAI.Model.data;
 using YSAI.Unility;
 
 namespace YSAI.Can
@@ -25,14 +26,14 @@ namespace YSAI.Can
             /// </summary>
             [Description("波特率")]
             [JsonConverter(typeof(StringEnumConverter))]
-            [Display(true, true, true, Core.data.ParamStructure.dataCate.select)]
+            [Display(true, true, true, ParamStructure.dataCate.select)]
             public CanBaudRate BaudRate { get; set; }
 
             /// <summary>
             /// CAN通道
             /// </summary>
             [Description("CAN通道")]
-            [Display(true, true, true, Core.data.ParamStructure.dataCate.unmber)]
+            [Display(true, true, true, ParamStructure.dataCate.unmber)]
             public int CanChannel { get; set; } = 0;
         }
 

+ 6 - 5
src/YSAI.Can/CanOperate.cs

@@ -1,10 +1,11 @@
 using Kvaser.CanLib;
 using System.Collections.Concurrent;
-using YSAI.Core.data;
-using YSAI.Core.handler;
-using YSAI.Core.@interface;
 using YSAI.Core.subscription;
 using YSAI.Core.virtualAddress;
+using YSAI.Model.data;
+using YSAI.Model.@enum;
+using YSAI.Model.@interface;
+using YSAI.Model.tool;
 using YSAI.Unility;
 
 namespace YSAI.Can
@@ -333,7 +334,7 @@ namespace YSAI.Can
                     }
                     if (param.Count > 0)
                     {
-                        return Break("Read", true, RData: param, RType: Core.@enum.ResultType.KeyValue);
+                        return Break("Read", true, RData: param, RType: ResultType.KeyValue);
                     }
                     else
                     {
@@ -470,7 +471,7 @@ namespace YSAI.Can
                 //命名空间
                 string nameSpace = "YSAI.Can.CanOperate";
                 //参数处理
-                OperateResult operateResult = ParamHandler.Get(new CanData.Basics(), name, Properties: new List<ParamStructure.propertie>
+                OperateResult operateResult = ParamTool.Get(new CanData.Basics(), name, Properties: new List<ParamStructure.propertie>
                 {
                     new ParamStructure.propertie
                     {

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

@@ -16,7 +16,7 @@
     <Description>$(DescriptionType):$(DescriptionName) ( $(DescriptionDetails) )</Description>
   </PropertyGroup>
   <ItemGroup>
-    <PackageReference Include="YSAI.Core" Version="23.327.26637" />
+    <PackageReference Include="YSAI.Core" Version="23.328.24076" />
   </ItemGroup>
   <ItemGroup>
     <Reference Include="Kvaser.CanLib">

+ 4 - 3
src/YSAI.DB/DBData.cs

@@ -1,8 +1,9 @@
 using Newtonsoft.Json;
 using Newtonsoft.Json.Converters;
 using System.ComponentModel;
-using YSAI.Core.attribute;
 using YSAI.Core.subscription;
+using YSAI.Model.attribute;
+using YSAI.Model.data;
 using YSAI.Unility;
 
 namespace YSAI.DB
@@ -24,7 +25,7 @@ namespace YSAI.DB
             /// 数据库连接字符串
             /// </summary>
             [Description("数据库连接字符串")]
-            [Display(true, true, true, Core.data.ParamStructure.dataCate.text)]
+            [Display(true, true, true, ParamStructure.dataCate.text)]
             public string ConnectStr { get; set; }
 
             /// <summary>
@@ -32,7 +33,7 @@ namespace YSAI.DB
             /// </summary>
             [Description("数据库类型")]
             [JsonConverter(typeof(StringEnumConverter))]
-            [Display(true, true, true, Core.data.ParamStructure.dataCate.select)]
+            [Display(true, true, true, ParamStructure.dataCate.select)]
             public DBType DBType { get; set; } = DBType.SqlServer;
         }
 

+ 6 - 5
src/YSAI.DB/DBOperate.cs

@@ -6,12 +6,13 @@ using System.Data;
 using System.Data.OracleClient;
 using System.Data.SqlClient;
 using System.Data.SQLite;
-using YSAI.Core.data;
-using YSAI.Core.handler;
-using YSAI.Core.@interface;
 using YSAI.Core.subscription;
 using YSAI.Core.virtualAddress;
 using YSAI.Log;
+using YSAI.Model.data;
+using YSAI.Model.@enum;
+using YSAI.Model.@interface;
+using YSAI.Model.tool;
 using YSAI.Unility;
 using static YSAI.DB.DBData;
 
@@ -707,7 +708,7 @@ namespace YSAI.DB
                 if (RetData.Count > 0)
                 {
                     //返回数据
-                    return Break("Read", true, RData: RetData, RType: Core.@enum.ResultType.KeyValueArray);
+                    return Break("Read", true, RData: RetData, RType: ResultType.KeyValueArray);
                 }
                 else
                 {
@@ -860,7 +861,7 @@ namespace YSAI.DB
                 //命名空间
                 string nameSpace = "YSAI.DB.DBOperate";
                 //参数处理
-                OperateResult operateResult = ParamHandler.Get(new DBData.Basics(), name, Properties: new List<ParamStructure.propertie>
+                OperateResult operateResult = ParamTool.Get(new DBData.Basics(), name, Properties: new List<ParamStructure.propertie>
                 {
                     new ParamStructure.propertie
                     {

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

@@ -21,7 +21,7 @@
     <PackageReference Include="System.Data.OracleClient" Version="1.0.8" />
     <PackageReference Include="System.Data.SqlClient" Version="4.8.5" />
     <PackageReference Include="System.Data.SQLite" Version="1.0.118" />
-    <PackageReference Include="YSAI.Core" Version="23.327.26637" />
+    <PackageReference Include="YSAI.Core" Version="23.328.24076" />
   </ItemGroup>
   <!--<ItemGroup>
 		<ProjectReference Include="..\YSAI.Core\YSAI.Core.csproj" />

+ 3 - 3
src/YSAI.DaqManage/DaqManageOperate.cs

@@ -3,9 +3,9 @@ using Newtonsoft.Json.Linq;
 using System.Collections.Concurrent;
 using System.IO.Compression;
 using System.Reflection;
-using YSAI.Core.data;
-using YSAI.Core.@enum;
-using YSAI.Core.@interface;
+using YSAI.Model.data;
+using YSAI.Model.@enum;
+using YSAI.Model.@interface;
 using YSAI.Unility;
 
 namespace YSAI.DaqManage

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

@@ -7,7 +7,7 @@
   </PropertyGroup>
 	<ItemGroup>
 		<FrameworkReference Include="Microsoft.AspNetCore.App" />
-		<PackageReference Include="YSAI.Core" Version="23.327.26637" />
+		<PackageReference Include="YSAI.Core" Version="23.328.24076" />
 	</ItemGroup>
 
 	<!--<ItemGroup>

+ 2 - 3
src/YSAI.Manage/Controllers/DaqOperateController.cs

@@ -1,8 +1,7 @@
 using Microsoft.AspNetCore.Mvc;
-using YSAI.Core.data;
-using YSAI.Core.@enum;
 using YSAI.DaqManage;
-
+using YSAI.Model.data;
+using YSAI.Model.@enum;
 namespace YSAI.Manage.Controllers
 {
     /// <summary>

+ 1 - 1
src/YSAI.Manage/Controllers/FileOperateController.cs

@@ -1,6 +1,6 @@
 using Microsoft.AspNetCore.Mvc;
-using YSAI.Core.data;
 using YSAI.DaqManage;
+using YSAI.Model.data;
 
 namespace YSAI.Manage.Controllers
 {

+ 1 - 1
src/YSAI.Manage/Controllers/InfoOperateController.cs

@@ -1,5 +1,5 @@
 using Microsoft.AspNetCore.Mvc;
-using YSAI.Core.data;
+using YSAI.Model.data;
 using YSAI.Unility;
 
 namespace YSAI.Manage.Controllers

+ 70 - 72
src/YSAI.Manage/Controllers/RelayOperateController.cs

@@ -1,6 +1,4 @@
 using Microsoft.AspNetCore.Mvc;
-using YSAI.Core.data;
-using YSAI.Core.handler;
 
 namespace YSAI.Manage.Controllers
 {
@@ -11,81 +9,81 @@ namespace YSAI.Manage.Controllers
     [Route("api/[controller]/[action]")]
     public class RelayOperateController : Controller
     {
-        /// <summary>
-        /// 打开
-        /// </summary>
-        /// <param name="ISn">实例唯一标识符</param>
-        /// <returns>统一出参</returns>
-        [HttpPost]
-        public OperateResult On(string ISn)
-        {
-            return RelayHandler.On(ISn);
-        }
+        ///// <summary>
+        ///// 打开
+        ///// </summary>
+        ///// <param name="ISn">实例唯一标识符</param>
+        ///// <returns>统一出参</returns>
+        //[HttpPost]
+        //public OperateResult On(string ISn)
+        //{
+        //    return RelayHandler.On(ISn);
+        //}
 
-        /// <summary>
-        /// 关闭
-        /// </summary>
-        /// <param name="ISn">实例唯一标识符</param>
-        /// <returns>统一出参</returns>
-        [HttpPost]
-        public OperateResult Off(string ISn)
-        {
-            return RelayHandler.Off(ISn);
-        }
+        ///// <summary>
+        ///// 关闭
+        ///// </summary>
+        ///// <param name="ISn">实例唯一标识符</param>
+        ///// <returns>统一出参</returns>
+        //[HttpPost]
+        //public OperateResult Off(string ISn)
+        //{
+        //    return RelayHandler.Off(ISn);
+        //}
 
-        /// <summary>
-        /// 程序集唯一标识符集合
-        /// </summary>
-        /// <returns>统一出参</returns>
-        [HttpPost]
-        public List<string>? TypeSns()
-        {
-            return RelayHandler.TypeSns();
-        }
+        ///// <summary>
+        ///// 程序集唯一标识符集合
+        ///// </summary>
+        ///// <returns>统一出参</returns>
+        //[HttpPost]
+        //public List<string>? TypeSns()
+        //{
+        //    //return RelayHandler.TypeSns();
+        //}
 
-        /// <summary>
-        /// 实例唯一标识符集合
-        /// </summary>
-        /// <returns>统一出参</returns>
-        [HttpPost]
-        public List<string>? InstanceSns()
-        {
-            return RelayHandler.InstanceSns();
-        }
+        ///// <summary>
+        ///// 实例唯一标识符集合
+        ///// </summary>
+        ///// <returns>统一出参</returns>
+        //[HttpPost]
+        //public List<string>? InstanceSns()
+        //{
+        //    //return RelayHandler.InstanceSns();
+        //}
 
-        /// <summary>
-        /// 释放指定实例
-        /// </summary>
-        /// <param name="ISn">实例唯一标识符</param>
-        /// <returns>统一出参</returns>
-        [HttpPost]
-        public OperateResult DisposeISn(string ISn)
-        {
-            return RelayHandler.DisposeISn(ISn);
-        }
+        ///// <summary>
+        ///// 释放指定实例
+        ///// </summary>
+        ///// <param name="ISn">实例唯一标识符</param>
+        ///// <returns>统一出参</returns>
+        //[HttpPost]
+        //public OperateResult DisposeISn(string ISn)
+        //{
+        //    //return RelayHandler.DisposeISn(ISn);
+        //}
 
-        /// <summary>
-        /// 移除指定实例
-        /// </summary>
-        /// <param name="ISn">实例唯一标识符</param>
-        /// <returns>统一出参</returns>
-        [HttpPost]
-        public OperateResult Remove(string ISn)
-        {
-            return RelayHandler.RemoveISn(ISn);
-        }
+        ///// <summary>
+        ///// 移除指定实例
+        ///// </summary>
+        ///// <param name="ISn">实例唯一标识符</param>
+        ///// <returns>统一出参</returns>
+        //[HttpPost]
+        //public OperateResult Remove(string ISn)
+        //{
+        //    //return RelayHandler.RemoveISn(ISn);
+        //}
 
-        /// <summary>
-        /// 数据转发
-        /// </summary>
-        /// <param name="Topic">主题</param>
-        /// <param name="Content">内容</param>
-        /// <param name="ISns">实例唯一标识符集合,空则全部发送</param>
-        /// <returns>统一出参</returns>
-        [HttpPost]
-        public OperateResult Relay(string Topic, string Content, List<string>? ISns = null)
-        {
-            return RelayHandler.Produce(Topic, Content, ISns);
-        }
+        ///// <summary>
+        ///// 数据转发
+        ///// </summary>
+        ///// <param name="Topic">主题</param>
+        ///// <param name="Content">内容</param>
+        ///// <param name="ISns">实例唯一标识符集合,空则全部发送</param>
+        ///// <returns>统一出参</returns>
+        //[HttpPost]
+        //public OperateResult Relay(string Topic, string Content, List<string>? ISns = null)
+        //{
+        //    //return RelayHandler.Produce(Topic, Content, ISns);
+        //}
     }
 }

+ 3 - 4
src/YSAI.Manage/Program.cs

@@ -1,8 +1,7 @@
 using System.Reflection;
 using System.Text.Json.Serialization;
-using YSAI.Core.data;
-using YSAI.Core.handler;
 using YSAI.DaqManage;
+using YSAI.Model.data;
 using YSAI.Unility;
 
 namespace YSAI.Manage
@@ -11,7 +10,7 @@ namespace YSAI.Manage
     {
         public static DaqManageOperate daqManageOperate;
 
-        private static void DaqEvent(object? sender, YSAI.Core.data.EventResult e)
+        private static void DaqEvent(object? sender, EventResult e)
         {
             Console.ForegroundColor = ConsoleColor.Green;
             Console.WriteLine(e.Message);
@@ -29,7 +28,7 @@ namespace YSAI.Manage
             //´´½¨ÊµÀý
             daqManageOperate = DaqManageOperate.Instance();
             daqManageOperate.OnEvent += DaqEvent;
-            RelayHandler.RelayEventRegister(RelayEvent);
+            //RelayHandler.RelayEventRegister(RelayEvent);
 
             var builder = WebApplication.CreateBuilder(args);
 

+ 12 - 11
src/YSAI.Mewtocol/MewtocolData.cs

@@ -3,8 +3,9 @@ using Newtonsoft.Json;
 using Newtonsoft.Json.Converters;
 using System.ComponentModel;
 using System.IO.Ports;
-using YSAI.Core.attribute;
 using YSAI.Core.subscription;
+using YSAI.Model.attribute;
+using YSAI.Model.data;
 using YSAI.Unility;
 
 namespace YSAI.Mewtocol
@@ -27,7 +28,7 @@ namespace YSAI.Mewtocol
             /// 站号
             /// </summary>
             [Description("站号")]
-            [Display(true, true, true, Core.data.ParamStructure.dataCate.unmber)]
+            [Display(true, true, true, ParamStructure.dataCate.unmber)]
             public int StationNumber { get; set; } = 238;
 
             /// <summary>
@@ -35,7 +36,7 @@ namespace YSAI.Mewtocol
             /// </summary>
             [Description("协议类型")]
             [JsonConverter(typeof(StringEnumConverter))]
-            [Display(true, true, true, Core.data.ParamStructure.dataCate.select)]
+            [Display(true, true, true, ParamStructure.dataCate.select)]
             public ProtocolType PType { get; set; } = ProtocolType.Tcp;
 
             /// <summary>
@@ -43,7 +44,7 @@ namespace YSAI.Mewtocol
             /// </summary>
             [Description("超时时间")]
             [Unit("ms")]
-            [Display(true, true, true, Core.data.ParamStructure.dataCate.unmber)]
+            [Display(true, true, true, ParamStructure.dataCate.unmber)]
             public int Timeout { get; set; } = 1000;
 
 
@@ -52,14 +53,14 @@ namespace YSAI.Mewtocol
             /// </summary>
             [Description("IP")]
             [Verify(@"^(25[0-4]|2[0-4]\\d]|[01]?\\d{2}|[1-9])\\.(25[0-5]|2[0-4]\\d]|[01]?\\d?\\d)\\.(25[0-5]|2[0-4]\\d]|[01]?\\d?\\d)\\.(25[0-4]|2[0-4]\\d]|[01]?\\d{2}|[1-9])$", "输入有误")]
-            [Display(true, true, true, Core.data.ParamStructure.dataCate.text)]
+            [Display(true, true, true, ParamStructure.dataCate.text)]
             public string? Ip { get; set; } = "127.0.0.1";
 
             /// <summary>
             /// 端口
             /// </summary>
             [Description("端口")]
-            [Display(true, true, true, Core.data.ParamStructure.dataCate.unmber)]
+            [Display(true, true, true, ParamStructure.dataCate.unmber)]
             public int Port { get; set; } = 6688;
 
 
@@ -69,14 +70,14 @@ namespace YSAI.Mewtocol
             /// 串口号
             /// </summary>
             [Description("串口号")]
-            [Display(true, true, true, Core.data.ParamStructure.dataCate.text)]
+            [Display(true, true, true, ParamStructure.dataCate.text)]
             public string? PortName { get; set; }
 
             /// <summary>
             /// 波特率
             /// </summary>
             [Description("波特率")]
-            [Display(true, true, true, Core.data.ParamStructure.dataCate.select)]
+            [Display(true, true, true, ParamStructure.dataCate.select)]
             public BaudRate BaudRate { get; set; } = BaudRate._19200;
 
             /// <summary>
@@ -84,14 +85,14 @@ namespace YSAI.Mewtocol
             /// </summary>
             [Description("校验位")]
             [JsonConverter(typeof(StringEnumConverter))]
-            [Display(true, true, true, Core.data.ParamStructure.dataCate.select)]
+            [Display(true, true, true, ParamStructure.dataCate.select)]
             public Parity ParityBit { get; set; } = Parity.Even;
 
             /// <summary>
             /// 数据位
             /// </summary>
             [Description("数据位")]
-            [Display(true, true, true, Core.data.ParamStructure.dataCate.select)]
+            [Display(true, true, true, ParamStructure.dataCate.select)]
             public DataBits DataBit { get; set; } = DataBits.Eight;
 
             /// <summary>
@@ -99,7 +100,7 @@ namespace YSAI.Mewtocol
             /// </summary>
             [Description("停止位")]
             [JsonConverter(typeof(StringEnumConverter))]
-            [Display(true, true, true, Core.data.ParamStructure.dataCate.select)]
+            [Display(true, true, true, ParamStructure.dataCate.select)]
             public StopBits StopBit { get; set; } = StopBits.One;
 
 

+ 40 - 39
src/YSAI.Mewtocol/MewtocolOperate.cs

@@ -1,12 +1,13 @@
 using MewtocolNet;
 using MewtocolNet.Registers;
 using System.Collections.Concurrent;
-using YSAI.Core.data;
-using YSAI.Core.handler;
-using YSAI.Core.@interface;
 using YSAI.Core.subscription;
 using YSAI.Core.virtualAddress;
 using YSAI.Log;
+using YSAI.Model.data;
+using YSAI.Model.@enum;
+using YSAI.Model.@interface;
+using YSAI.Model.tool;
 using YSAI.Unility;
 
 namespace YSAI.Mewtocol
@@ -131,7 +132,7 @@ namespace YSAI.Mewtocol
                                 {
                                     switch (item.AddressDataType)
                                     {
-                                        case Core.@enum.DataType.String:
+                                        case DataType.String:
                                             mmpi.WithRegisters(c =>
                                             {
                                                 //字符串 必须放数据长度
@@ -141,60 +142,60 @@ namespace YSAI.Mewtocol
                                                 Value = mValue?.ValueStr ?? string.Empty;
                                             });
                                             break;
-                                        case Core.@enum.DataType.Byte:
+                                        case DataType.Byte:
                                             mmpi.WithRegisters(c =>
                                             {
                                                 c.Struct<byte>(item.AddressName).Build(out IRegister<byte>? mValue);
                                                 Value = mValue?.ValueStr ?? string.Empty;
                                             });
                                             break;
-                                        case Core.@enum.DataType.Bool:
+                                        case DataType.Bool:
                                             mmpi.WithRegisters(c =>
                                             {
                                                 c.Bool(item.AddressName).Build(out IRegister<bool>? mValue);
                                                 Value = mValue?.ValueStr ?? string.Empty;
                                             });
                                             break;
-                                        case Core.@enum.DataType.Short:
-                                        case Core.@enum.DataType.Int16:
+                                        case DataType.Short:
+                                        case DataType.Int16:
                                             mmpi.WithRegisters(c =>
                                             {
                                                 c.Struct<short>(item.AddressName).Build(out IRegister<short>? mValue);
                                                 Value = mValue?.ValueStr ?? string.Empty;
                                             });
                                             break;
-                                        case Core.@enum.DataType.Ushort:
-                                        case Core.@enum.DataType.UInt16:
+                                        case DataType.Ushort:
+                                        case DataType.UInt16:
                                             mmpi.WithRegisters(c =>
                                             {
                                                 c.Struct<ushort>(item.AddressName).Build(out IRegister<ushort>? mValue);
                                                 Value = mValue?.ValueStr ?? string.Empty;
                                             });
                                             break;
-                                        case Core.@enum.DataType.Int:
-                                        case Core.@enum.DataType.Int32:
+                                        case DataType.Int:
+                                        case DataType.Int32:
                                             mmpi.WithRegisters(c =>
                                             {
                                                 c.Struct<Word>(item.AddressName).Build(out IRegister<Word>? mValue);
                                                 Value = mValue?.ValueStr ?? string.Empty;
                                             });
                                             break;
-                                        case Core.@enum.DataType.Uint:
-                                        case Core.@enum.DataType.UInt32:
+                                        case DataType.Uint:
+                                        case DataType.UInt32:
                                             mmpi.WithRegisters(c =>
                                             {
                                                 c.Struct<DWord>(item.AddressName).Build(out IRegister<DWord>? mValue);
                                                 Value = mValue?.ValueStr ?? string.Empty;
                                             });
                                             break;
-                                        case Core.@enum.DataType.Double:
+                                        case DataType.Double:
                                             mmpi.WithRegisters(c =>
                                             {
                                                 c.Struct<double>(item.AddressName).Build(out IRegister<double>? mValue);
                                                 Value = mValue?.ValueStr ?? string.Empty;
                                             });
                                             break;
-                                        case Core.@enum.DataType.Float:
+                                        case DataType.Float:
                                             mmpi.WithRegisters(c =>
                                             {
                                                 c.Struct<float>(item.AddressName).Build(out IRegister<float>? mValue);
@@ -245,7 +246,7 @@ namespace YSAI.Mewtocol
                                 {
                                     switch (item.AddressDataType)
                                     {
-                                        case Core.@enum.DataType.String:
+                                        case DataType.String:
                                             mmps.WithRegisters(c =>
                                             {
                                                 //字符串 必须放数据长度
@@ -255,14 +256,14 @@ namespace YSAI.Mewtocol
                                                 Value = mValue?.ValueStr ?? string.Empty;
                                             });
                                             break;
-                                        case Core.@enum.DataType.Byte:
+                                        case DataType.Byte:
                                             mmps.WithRegisters(c =>
                                             {
                                                 c.Struct<byte>(item.AddressName).Build(out IRegister<byte>? mValue);
                                                 Value = mValue?.ValueStr ?? string.Empty;
                                             });
                                             break;
-                                        case Core.@enum.DataType.Bool:
+                                        case DataType.Bool:
                                             mmps.WithRegisters(c =>
                                             {
                                                 c.Bool(item.AddressName).Build(out IRegister<bool>? mValue);
@@ -270,46 +271,46 @@ namespace YSAI.Mewtocol
 
                                             });
                                             break;
-                                        case Core.@enum.DataType.Short:
-                                        case Core.@enum.DataType.Int16:
+                                        case DataType.Short:
+                                        case DataType.Int16:
                                             mmps.WithRegisters(c =>
                                             {
                                                 c.Struct<short>(item.AddressName).Build(out IRegister<short>? mValue);
                                                 Value = mValue?.ValueStr ?? string.Empty;
                                             });
                                             break;
-                                        case Core.@enum.DataType.Ushort:
-                                        case Core.@enum.DataType.UInt16:
+                                        case DataType.Ushort:
+                                        case DataType.UInt16:
                                             mmps.WithRegisters(c =>
                                             {
                                                 c.Struct<ushort>(item.AddressName).Build(out IRegister<ushort>? mValue);
                                                 Value = mValue?.ValueStr ?? string.Empty;
                                             });
                                             break;
-                                        case Core.@enum.DataType.Int:
-                                        case Core.@enum.DataType.Int32:
+                                        case DataType.Int:
+                                        case DataType.Int32:
                                             mmps.WithRegisters(c =>
                                             {
                                                 c.Struct<Word>(item.AddressName).Build(out IRegister<Word>? mValue);
                                                 Value = mValue?.ValueStr ?? string.Empty;
                                             });
                                             break;
-                                        case Core.@enum.DataType.Uint:
-                                        case Core.@enum.DataType.UInt32:
+                                        case DataType.Uint:
+                                        case DataType.UInt32:
                                             mmps.WithRegisters(c =>
                                             {
                                                 c.Struct<DWord>(item.AddressName).Build(out IRegister<DWord>? mValue);
                                                 Value = mValue?.ValueStr ?? string.Empty;
                                             });
                                             break;
-                                        case Core.@enum.DataType.Double:
+                                        case DataType.Double:
                                             mmps.WithRegisters(c =>
                                             {
                                                 c.Struct<double>(item.AddressName).Build(out IRegister<double>? mValue);
                                                 Value = mValue?.ValueStr ?? string.Empty;
                                             });
                                             break;
-                                        case Core.@enum.DataType.Float:
+                                        case DataType.Float:
                                             mmps.WithRegisters(c =>
                                             {
                                                 c.Struct<float>(item.AddressName).Build(out IRegister<float>? mValue);
@@ -337,7 +338,7 @@ namespace YSAI.Mewtocol
                 if (param.Count > 0)
                 {
                     //返回读取的数据
-                    return Break(SN, true, RData: param, RType: Core.@enum.ResultType.KeyValue);
+                    return Break(SN, true, RData: param, RType: ResultType.KeyValue);
                 }
                 else
                 {
@@ -828,9 +829,9 @@ namespace YSAI.Mewtocol
                 //命名空间
                 string nameSpace = "YSAI.Mewtocol.MewtocolOperate";
                 //获取参数
-                OperateResult operateResult = ParamHandler.Get(new MewtocolData.Basics(), name, subclass: new List<ParamHandler.SubClass>
+                OperateResult operateResult = ParamTool.Get(new MewtocolData.Basics(), name, subclass: new List<ParamTool.SubClass>
                 {
-                    new ParamHandler.SubClass
+                    new ParamTool.SubClass
                     {
                         Name= "Mewtocol-Tcp",
                         Properties=new List<ParamStructure.propertie>
@@ -845,20 +846,20 @@ namespace YSAI.Mewtocol
                                 DataCate = null
                             }
                         },
-                        RGroups=new List<ParamHandler.RGroup>
+                        RGroups=new List<ParamTool.RGroup>
                         {
-                             new ParamHandler.RGroup
+                             new ParamTool.RGroup
                             {
                                 RIndex=6,
                                 RCount=5
                             },
-                              new ParamHandler.RGroup
+                              new ParamTool.RGroup
                             {
                                 RIndex=2,
                                 RCount=1
                             }
                         }
-                    },new ParamHandler.SubClass
+                    },new ParamTool.SubClass
                     {
                         Name= "Mewtocol-Serial",
                         Properties=new List<ParamStructure.propertie>
@@ -873,14 +874,14 @@ namespace YSAI.Mewtocol
                                 DataCate = null
                             }
                         },
-                        RGroups=new List<ParamHandler.RGroup>
+                        RGroups=new List<ParamTool.RGroup>
                         {
-                             new ParamHandler.RGroup
+                             new ParamTool.RGroup
                             {
                                 RIndex=4,
                                 RCount=2
                             },
-                              new ParamHandler.RGroup
+                              new ParamTool.RGroup
                             {
                                 RIndex=2,
                                 RCount=1

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

@@ -17,6 +17,6 @@
   </PropertyGroup>
   <ItemGroup>
     <PackageReference Include="Mewtocol.NET" Version="0.8.1" />
-    <PackageReference Include="YSAI.Core" Version="23.327.26637" />
+    <PackageReference Include="YSAI.Core" Version="23.328.24076" />
   </ItemGroup>
 </Project>

+ 9 - 8
src/YSAI.Mitsubishi/MitsubishiData.cs

@@ -1,9 +1,10 @@
 using Newtonsoft.Json;
 using Newtonsoft.Json.Converters;
 using System.ComponentModel;
-using YSAI.Core.attribute;
-using YSAI.Core.@enum;
 using YSAI.Core.subscription;
+using YSAI.Model.attribute;
+using YSAI.Model.data;
+using YSAI.Model.@enum;
 using YSAI.Unility;
 
 namespace YSAI.Mitsubishi
@@ -26,21 +27,21 @@ namespace YSAI.Mitsubishi
             /// </summary>
             [Description("IP")]
             [Verify(@"^(25[0-4]|2[0-4]\\d]|[01]?\\d{2}|[1-9])\\.(25[0-5]|2[0-4]\\d]|[01]?\\d?\\d)\\.(25[0-5]|2[0-4]\\d]|[01]?\\d?\\d)\\.(25[0-4]|2[0-4]\\d]|[01]?\\d{2}|[1-9])$", "输入有误")]
-            [Display(true, true, true, Core.data.ParamStructure.dataCate.text)]
+            [Display(true, true, true, ParamStructure.dataCate.text)]
             public string? Ip { get; set; } = "127.0.0.1";
 
             /// <summary>
             /// 端口
             /// </summary>
             [Description("端口")]
-            [Display(true, true, true, Core.data.ParamStructure.dataCate.unmber)]
+            [Display(true, true, true, ParamStructure.dataCate.unmber)]
             public int Port { get; set; } = 6688;
 
             /// <summary>
             /// 是否需要断开重新连接
             /// </summary>
             [Description("是否需要断开重新连接")]
-            [Display(true, true, true, Core.data.ParamStructure.dataCate.radio)]
+            [Display(true, true, true, ParamStructure.dataCate.radio)]
             public bool InterruptReconnection { get; set; } = true;
 
             /// <summary>
@@ -48,7 +49,7 @@ namespace YSAI.Mitsubishi
             /// </summary>
             [Description("重连间隔")]
             [Unit("ms")]
-            [Display(true, true, true, Core.data.ParamStructure.dataCate.unmber)]
+            [Display(true, true, true, ParamStructure.dataCate.unmber)]
             public int ReconnectionInterval { get; set; } = 2000;
 
             /// <summary>
@@ -56,7 +57,7 @@ namespace YSAI.Mitsubishi
             /// </summary>
             [Description("超时时间")]
             [Unit("ms")]
-            [Display(true, true, true, Core.data.ParamStructure.dataCate.unmber)]
+            [Display(true, true, true, ParamStructure.dataCate.unmber)]
             public int Timeout { get; set; } = 1000;
 
             /// <summary>
@@ -64,7 +65,7 @@ namespace YSAI.Mitsubishi
             /// </summary>
             [Description("协议类型")]
             [JsonConverter(typeof(StringEnumConverter))]
-            [Display(true, true, true, Core.data.ParamStructure.dataCate.select)]
+            [Display(true, true, true, ParamStructure.dataCate.select)]
             public ProtocolType PType { get; set; } = ProtocolType.A1E;
         }
 

+ 23 - 24
src/YSAI.Mitsubishi/MitsubishiOperate.cs

@@ -1,16 +1,15 @@
 using System.Collections.Concurrent;
 using System.Text;
 using YSAI.Core.communication.net.tcp.client;
-using YSAI.Core.data;
-using YSAI.Core.@enum;
-using YSAI.Core.handler;
-using YSAI.Core.@interface;
 using YSAI.Core.subscription;
 using YSAI.Core.virtualAddress;
 using YSAI.Log;
+using YSAI.Model.data;
+using YSAI.Model.@enum;
+using YSAI.Model.@interface;
+using YSAI.Model.tool;
 using YSAI.Unility;
 using static YSAI.Mitsubishi.MitsubishiData;
-
 namespace YSAI.Mitsubishi
 {
     /// <summary>
@@ -785,37 +784,37 @@ namespace YSAI.Mitsubishi
                             {
                                 switch (item.AddressDataType)
                                 {
-                                    case Core.@enum.DataType.Short:
-                                    case Core.@enum.DataType.Int16:
+                                    case DataType.Short:
+                                    case DataType.Int16:
                                         Value = BitConverter.ToInt16(R(addressData.addressName, 2), 0).ToString();
                                         break;
-                                    case Core.@enum.DataType.Bool:
+                                    case DataType.Bool:
                                         Value = ((R(addressData.addressName, 1)[0] & 0b00010000) != 0).ToString();
                                         break;
-                                    case Core.@enum.DataType.Ushort:
-                                    case Core.@enum.DataType.UInt16:
+                                    case DataType.Ushort:
+                                    case DataType.UInt16:
                                         Value = BitConverter.ToUInt16(R(addressData.addressName, 2), 0).ToString();
                                         break;
-                                    case Core.@enum.DataType.Int:
-                                    case Core.@enum.DataType.Int32:
+                                    case DataType.Int:
+                                    case DataType.Int32:
                                         Value = BitConverter.ToInt32(R(addressData.addressName, 4), 0).ToString();
                                         break;
-                                    case Core.@enum.DataType.Uint:
-                                    case Core.@enum.DataType.UInt32:
+                                    case DataType.Uint:
+                                    case DataType.UInt32:
                                         Value = BitConverter.ToUInt32(R(addressData.addressName, 4), 0).ToString();
                                         break;
-                                    case Core.@enum.DataType.Long:
-                                    case Core.@enum.DataType.Int64:
+                                    case DataType.Long:
+                                    case DataType.Int64:
                                         Value = BitConverter.ToInt64(R(addressData.addressName, 8), 0).ToString();
                                         break;
-                                    case Core.@enum.DataType.Ulong:
-                                    case Core.@enum.DataType.UInt64:
+                                    case DataType.Ulong:
+                                    case DataType.UInt64:
                                         Value = BitConverter.ToUInt64(R(addressData.addressName, 8), 0).ToString();
                                         break;
-                                    case Core.@enum.DataType.Double:
+                                    case DataType.Double:
                                         Value = BitConverter.ToDouble(R(addressData.addressName, 8), 0).ToString();
                                         break;
-                                    case Core.@enum.DataType.Float:
+                                    case DataType.Float:
                                         Value = BitConverter.ToSingle(R(addressData.addressName, 4), 0).ToString();
                                         break;
                                     default:
@@ -845,7 +844,7 @@ namespace YSAI.Mitsubishi
                             {
                                 switch (item.AddressDataType)
                                 {
-                                    case Core.@enum.DataType.Short:
+                                    case DataType.Short:
                                         len = 2;
                                         bytes = R(addressData.addressName, Convert.ToUInt16(len * addressData.count));
                                         for (int i = 0; i < addressData.count; i++)
@@ -858,7 +857,7 @@ namespace YSAI.Mitsubishi
                                         }
                                         Value = DValue.ToJson();
                                         break;
-                                    case Core.@enum.DataType.Bool:
+                                    case DataType.Bool:
                                         len = 1;
                                         bytes = R(addressData.addressName, Convert.ToUInt16(len * addressData.count));
                                         for (int i = 0; i < addressData.count; i++)
@@ -903,7 +902,7 @@ namespace YSAI.Mitsubishi
                 if (param.Count > 0)
                 {
                     //返回读取的数据
-                    return Break(SN, true, RData: param, RType: Core.@enum.ResultType.KeyValue);
+                    return Break(SN, true, RData: param, RType: ResultType.KeyValue);
                 }
                 else
                 {
@@ -1095,7 +1094,7 @@ namespace YSAI.Mitsubishi
                 //对象实例
                 MitsubishiData.Basics basics = new MitsubishiData.Basics();
                 //参数处理
-                OperateResult operateResult = ParamHandler.Get(new MitsubishiData.Basics(), name, Properties: new List<ParamStructure.propertie>
+                OperateResult operateResult = ParamTool.Get(new MitsubishiData.Basics(), name, Properties: new List<ParamStructure.propertie>
                 {
                     new ParamStructure.propertie
                     {

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

@@ -16,6 +16,6 @@
     <Description>$(DescriptionType):$(DescriptionName) ( $(DescriptionDetails) )</Description>
   </PropertyGroup>
   <ItemGroup>
-    <PackageReference Include="YSAI.Core" Version="23.327.26637" />
+    <PackageReference Include="YSAI.Core" Version="23.328.24076" />
   </ItemGroup>
 </Project>

+ 16 - 15
src/YSAI.Modbus/ModbusData.cs

@@ -2,8 +2,9 @@
 using Newtonsoft.Json.Converters;
 using System.ComponentModel;
 using System.IO.Ports;
-using YSAI.Core.attribute;
 using YSAI.Core.subscription;
+using YSAI.Model.attribute;
+using YSAI.Model.data;
 using YSAI.Unility;
 
 namespace YSAI.Modbus
@@ -85,7 +86,7 @@ namespace YSAI.Modbus
             /// 寄存器地址
             /// </summary>
             [Description("寄存器地址")]
-            [Display(true, true, true, Core.data.ParamStructure.dataCate.unmber)]
+            [Display(true, true, true, ParamStructure.dataCate.unmber)]
             public int SlaveAddress { get; set; } = 1;
 
             /// <summary>
@@ -93,7 +94,7 @@ namespace YSAI.Modbus
             /// </summary>
             [Description("协议类型")]
             [JsonConverter(typeof(StringEnumConverter))]
-            [Display(true, true, true, Core.data.ParamStructure.dataCate.select)]
+            [Display(true, true, true, ParamStructure.dataCate.select)]
             public ProtocolType PType { get; set; } = ProtocolType.Tcp;
 
             /// <summary>
@@ -101,7 +102,7 @@ namespace YSAI.Modbus
             /// </summary>
             [Description("读取超时时间")]
             [Unit("ms")]
-            [Display(true, true, true, Core.data.ParamStructure.dataCate.unmber)]
+            [Display(true, true, true, ParamStructure.dataCate.unmber)]
             public int ReadTimeOut { get; set; } = 2000;
 
             /// <summary>
@@ -109,7 +110,7 @@ namespace YSAI.Modbus
             /// </summary>
             [Description("写入超时时间")]
             [Unit("ms")]
-            [Display(true, true, true, Core.data.ParamStructure.dataCate.unmber)]
+            [Display(true, true, true, ParamStructure.dataCate.unmber)]
             public int WriteTimeOut { get; set; } = 2000;
 
             /// <summary>
@@ -117,7 +118,7 @@ namespace YSAI.Modbus
             /// </summary>
             [Description("读取类型")]
             [JsonConverter(typeof(StringEnumConverter))]
-            [Display(true, true, true, Core.data.ParamStructure.dataCate.select)]
+            [Display(true, true, true, ParamStructure.dataCate.select)]
             public ModbusReadType MRType { get; set; } = ModbusReadType.NULL;
 
             /// <summary>
@@ -125,7 +126,7 @@ namespace YSAI.Modbus
             /// </summary>
             [Description("写入类型")]
             [JsonConverter(typeof(StringEnumConverter))]
-            [Display(true, true, true, Core.data.ParamStructure.dataCate.select)]
+            [Display(true, true, true, ParamStructure.dataCate.select)]
             public ModbusWriteType MWType { get; set; } = ModbusWriteType.NULL;
 
             /// <summary>
@@ -133,35 +134,35 @@ namespace YSAI.Modbus
             /// </summary>
             [Description("IP")]
             [Verify(@"^(25[0-4]|2[0-4]\\d]|[01]?\\d{2}|[1-9])\\.(25[0-5]|2[0-4]\\d]|[01]?\\d?\\d)\\.(25[0-5]|2[0-4]\\d]|[01]?\\d?\\d)\\.(25[0-4]|2[0-4]\\d]|[01]?\\d{2}|[1-9])$", "输入有误")]
-            [Display(true, true, true, Core.data.ParamStructure.dataCate.text)]
+            [Display(true, true, true, ParamStructure.dataCate.text)]
             public string? Ip { get; set; } = "127.0.0.1";
 
             /// <summary>
             /// 端口
             /// </summary>
             [Description("端口")]
-            [Display(true, true, true, Core.data.ParamStructure.dataCate.unmber)]
+            [Display(true, true, true, ParamStructure.dataCate.unmber)]
             public int Port { get; set; } = 502;
 
             /// <summary>
             /// 连接超时时间
             /// </summary>
             [Description("连接超时时间")]
-            [Display(true, true, true, Core.data.ParamStructure.dataCate.unmber)]
+            [Display(true, true, true, ParamStructure.dataCate.unmber)]
             public int ConnectTimeOut { get; set; } = 5000;
 
             /// <summary>
             /// 串口号
             /// </summary>
             [Description("串口号")]
-            [Display(true, true, true, Core.data.ParamStructure.dataCate.text)]
+            [Display(true, true, true, ParamStructure.dataCate.text)]
             public string? PortName { get; set; }
 
             /// <summary>
             /// 波特率
             /// </summary>
             [Description("波特率")]
-            [Display(true, true, true, Core.data.ParamStructure.dataCate.unmber)]
+            [Display(true, true, true, ParamStructure.dataCate.unmber)]
             public int BaudRate { get; set; } = 19200;
 
             /// <summary>
@@ -169,14 +170,14 @@ namespace YSAI.Modbus
             /// </summary>
             [Description("校验位")]
             [JsonConverter(typeof(StringEnumConverter))]
-            [Display(true, true, true, Core.data.ParamStructure.dataCate.select)]
+            [Display(true, true, true, ParamStructure.dataCate.select)]
             public Parity ParityBit { get; set; } = Parity.Even;
 
             /// <summary>
             /// 数据位
             /// </summary>
             [Description("数据位")]
-            [Display(true, true, true, Core.data.ParamStructure.dataCate.unmber)]
+            [Display(true, true, true, ParamStructure.dataCate.unmber)]
             public int DataBit { get; set; } = 8;
 
             /// <summary>
@@ -184,7 +185,7 @@ namespace YSAI.Modbus
             /// </summary>
             [Description("停止位")]
             [JsonConverter(typeof(StringEnumConverter))]
-            [Display(true, true, true, Core.data.ParamStructure.dataCate.select)]
+            [Display(true, true, true, ParamStructure.dataCate.select)]
             public StopBits StopBit { get; set; } = StopBits.One;
         }
 

+ 33 - 31
src/YSAI.Modbus/ModbusOperate.cs

@@ -6,13 +6,15 @@ using System.Collections.Concurrent;
 using System.Globalization;
 using System.IO.Ports;
 using System.Net.Sockets;
-using YSAI.Core.data;
-using YSAI.Core.handler;
-using YSAI.Core.@interface;
 using YSAI.Core.subscription;
 using YSAI.Core.virtualAddress;
+using YSAI.Model.data;
+using YSAI.Model.@enum;
+using YSAI.Model.@interface;
+using YSAI.Model.tool;
 using YSAI.Unility;
 using static YSAI.Modbus.ModbusData;
+using DataType = YSAI.Modbus.ModbusData.DataType;
 
 namespace YSAI.Modbus
 {
@@ -502,7 +504,7 @@ namespace YSAI.Modbus
                 if (param.Count > 0)
                 {
                     //返回读取的数据
-                    return Break("ReadCoils", true, RData: param, RType: Core.@enum.ResultType.KeyValue);
+                    return Break("ReadCoils", true, RData: param, RType: ResultType.KeyValue);
                 }
                 return Break("ReadCoils", false, $"读取失败");
             }
@@ -588,7 +590,7 @@ namespace YSAI.Modbus
                 if (param.Count > 0)
                 {
                     //返回读取的数据
-                    return Break("ReadInputs", true, RData: param, RType: Core.@enum.ResultType.KeyValue);
+                    return Break("ReadInputs", true, RData: param, RType: ResultType.KeyValue);
                 }
                 return Break("ReadInputs", false, $"读取失败");
             }
@@ -674,7 +676,7 @@ namespace YSAI.Modbus
                 if (param.Count > 0)
                 {
                     //返回读取的数据
-                    return Break("ReadHoldingRegisters", true, RData: param, RType: Core.@enum.ResultType.KeyValue);
+                    return Break("ReadHoldingRegisters", true, RData: param, RType: ResultType.KeyValue);
                 }
                 return Break("ReadHoldingRegisters", false, $"读取失败");
             }
@@ -762,7 +764,7 @@ namespace YSAI.Modbus
                 if (param.Count > 0)
                 {
                     //返回读取的数据
-                    return Break("ReadInputRegisters", true, RData: param, RType: Core.@enum.ResultType.KeyValue);
+                    return Break("ReadInputRegisters", true, RData: param, RType: ResultType.KeyValue);
                 }
                 return Break("ReadInputRegisters", false, $"读取失败");
             }
@@ -1077,7 +1079,7 @@ namespace YSAI.Modbus
                 if (param.Count > 0)
                 {
                     //返回读取的数据
-                    return Break("ReadCharHoldingRegisters", true, RData: param, RType: Core.@enum.ResultType.KeyValue);
+                    return Break("ReadCharHoldingRegisters", true, RData: param, RType: ResultType.KeyValue);
                 }
                 return Break("ReadCharHoldingRegisters", false, $"读取失败");
             }
@@ -1146,7 +1148,7 @@ namespace YSAI.Modbus
                 if (param.Count > 0)
                 {
                     //返回读取的数据
-                    return Break("ReadUshortHoldingRegisters", true, RData: param, RType: Core.@enum.ResultType.KeyValue);
+                    return Break("ReadUshortHoldingRegisters", true, RData: param, RType: ResultType.KeyValue);
                 }
                 return Break("ReadUshortHoldingRegisters", false, $"读取失败");
             }
@@ -1215,7 +1217,7 @@ namespace YSAI.Modbus
                 if (param.Count > 0)
                 {
                     //返回读取的数据
-                    return Break("ReadShortHoldingRegisters", true, RData: param, RType: Core.@enum.ResultType.KeyValue);
+                    return Break("ReadShortHoldingRegisters", true, RData: param, RType: ResultType.KeyValue);
                 }
                 return Break("ReadShortHoldingRegisters", false, $"读取失败");
             }
@@ -1284,7 +1286,7 @@ namespace YSAI.Modbus
                 if (param.Count > 0)
                 {
                     //返回读取的数据
-                    return Break("ReadUintHoldingRegisters", true, RData: param, RType: Core.@enum.ResultType.KeyValue);
+                    return Break("ReadUintHoldingRegisters", true, RData: param, RType: ResultType.KeyValue);
                 }
                 return Break("ReadUintHoldingRegisters", false, $"读取失败");
             }
@@ -1353,7 +1355,7 @@ namespace YSAI.Modbus
                 if (param.Count > 0)
                 {
                     //返回读取的数据
-                    return Break("ReadIntHoldingRegisters", true, RData: param, RType: Core.@enum.ResultType.KeyValue);
+                    return Break("ReadIntHoldingRegisters", true, RData: param, RType: ResultType.KeyValue);
                 }
                 return Break("ReadIntHoldingRegisters", false, $"读取失败");
             }
@@ -1422,7 +1424,7 @@ namespace YSAI.Modbus
                 if (param.Count > 0)
                 {
                     //返回读取的数据
-                    return Break("ReadFloatHoldingRegisters", true, RData: param, RType: Core.@enum.ResultType.KeyValue);
+                    return Break("ReadFloatHoldingRegisters", true, RData: param, RType: ResultType.KeyValue);
                 }
                 return Break("ReadFloatHoldingRegisters", false, $"读取失败");
             }
@@ -1908,7 +1910,7 @@ namespace YSAI.Modbus
                 if (param.Count > 0)
                 {
                     //返回读取的数据
-                    return Break("ReadFloatInputRegisters", true, RData: param, RType: Core.@enum.ResultType.KeyValue);
+                    return Break("ReadFloatInputRegisters", true, RData: param, RType: ResultType.KeyValue);
                 }
                 return Break("ReadFloatInputRegisters", false, $"读取失败");
             }
@@ -2208,9 +2210,9 @@ namespace YSAI.Modbus
                 //命名空间
                 string nameSpace = "YSAI.Modbus.ModbusOperate";
                 //获取参数
-                OperateResult operateResult = ParamHandler.Get(new ModbusData.Basics(), name, subclass: new List<ParamHandler.SubClass>
+                OperateResult operateResult = ParamTool.Get(new ModbusData.Basics(), name, subclass: new List<ParamTool.SubClass>
                 {
-                    new ParamHandler.SubClass
+                    new ParamTool.SubClass
                     {
                         Name= "Modbus-Tcp",
                         Properties=new List<ParamStructure.propertie>
@@ -2225,20 +2227,20 @@ namespace YSAI.Modbus
                                 DataCate = null
                             }
                         },
-                        RGroups=new List<ParamHandler.RGroup>
+                        RGroups=new List<ParamTool.RGroup>
                         {
-                             new ParamHandler.RGroup
+                             new ParamTool.RGroup
                             {
                                 RIndex=10,
                                 RCount=5
                             },
-                              new ParamHandler.RGroup
+                              new ParamTool.RGroup
                             {
                                 RIndex=2,
                                 RCount=1
                             }
                         }
-                    },new ParamHandler.SubClass
+                    },new ParamTool.SubClass
                     {
                         Name= "Modbus-Udp",
                         Properties=new List<ParamStructure.propertie>
@@ -2253,21 +2255,21 @@ namespace YSAI.Modbus
                                 DataCate = null
                             }
                         },
-                        RGroups=new List<ParamHandler.RGroup>
+                        RGroups=new List<ParamTool.RGroup>
                         {
-                             new ParamHandler.RGroup
+                             new ParamTool.RGroup
                             {
                                 RIndex=10,
                                 RCount=5
                             },
-                               new ParamHandler.RGroup
+                               new ParamTool.RGroup
                             {
                                 RIndex=2,
                                 RCount=1
                             }
                         }
                     },
-                    new ParamHandler.SubClass
+                    new ParamTool.SubClass
                     {
                         Name= "Modbus-Rtu",
                         Properties=new List<ParamStructure.propertie>
@@ -2282,21 +2284,21 @@ namespace YSAI.Modbus
                                 DataCate = null
                             }
                         },
-                        RGroups=new List<ParamHandler.RGroup>
+                        RGroups=new List<ParamTool.RGroup>
                         {
-                            new ParamHandler.RGroup
+                            new ParamTool.RGroup
                             {
                                 RIndex=2,
                                 RCount=1
                             },
-                             new ParamHandler.RGroup
+                             new ParamTool.RGroup
                             {
                                 RIndex=7,
                                 RCount=3
                             }
                         }
                     },
-                    new ParamHandler.SubClass
+                    new ParamTool.SubClass
                     {
                         Name= "Modbus-Ascii",
                         Properties=new List<ParamStructure.propertie>
@@ -2311,14 +2313,14 @@ namespace YSAI.Modbus
                                 DataCate = null
                             }
                         },
-                        RGroups=new List<ParamHandler.RGroup>
+                        RGroups=new List<ParamTool.RGroup>
                         {
-                            new ParamHandler.RGroup
+                            new ParamTool.RGroup
                             {
                                 RIndex=2,
                                 RCount=1
                             },
-                             new ParamHandler.RGroup
+                             new ParamTool.RGroup
                             {
                                 RIndex=7,
                                 RCount=3

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

@@ -18,7 +18,7 @@
   <ItemGroup>
     <PackageReference Include="NModbus" Version="3.0.81" />
     <PackageReference Include="NModbus.Serial" Version="3.0.81" />
-    <PackageReference Include="YSAI.Core" Version="23.327.26637" />
+    <PackageReference Include="YSAI.Core" Version="23.328.24076" />
   </ItemGroup>
   <!--<ItemGroup>
 		<ProjectReference Include="..\YSAI.Core\YSAI.Core.csproj" />

+ 2 - 2
src/YSAI.Netty/client/NettyClientOperate.cs

@@ -227,12 +227,12 @@ namespace YSAI.Netty.client
 
                                         if (Content.IsJson())
                                         {
-                                            //OnEventHandler(this, new EventResult(true, $"{TAG} 接收到主题 ( {Topic} ) 内容 ( {Content} )", "{" + $"\"Topic\":\"{Topic}\",\"Content\":{Content},\"Terminal\":\"{Terminal}\"" + "}", Core.@enum.ResultType.Dynamic));
+                                            //OnEventHandler(this, new EventResult(true, $"{TAG} 接收到主题 ( {Topic} ) 内容 ( {Content} )", "{" + $"\"Topic\":\"{Topic}\",\"Content\":{Content},\"Terminal\":\"{Terminal}\"" + "}", ResultType.Dynamic));
                                             OnEventHandler(this, new EventResult(true, $"{TAG} 接收到主题 ( {Topic} ) 内容 ( {Content} )", "{" + $"\"Topic\":\"{Topic}\",\"Content\":{Content}" + "}", ResultType.Dynamic));
                                         }
                                         else
                                         {
-                                            //OnEventHandler(this, new EventResult(true, $"{TAG} 接收到主题 ( {Topic} ) 内容 ( {Content} )", "{" + $"\"Topic\":\"{Topic}\",\"Content\":\"{Content}\",\"Terminal\":\"{Terminal}\"" + "}", Core.@enum.ResultType.Dynamic));
+                                            //OnEventHandler(this, new EventResult(true, $"{TAG} 接收到主题 ( {Topic} ) 内容 ( {Content} )", "{" + $"\"Topic\":\"{Topic}\",\"Content\":\"{Content}\",\"Terminal\":\"{Terminal}\"" + "}", ResultType.Dynamic));
                                             OnEventHandler(this, new EventResult(true, $"{TAG} 接收到主题 ( {Topic} ) 内容 ( {Content} )", "{" + $"\"Topic\":\"{Topic}\",\"Content\":\"{Content}\"" + "}", ResultType.Dynamic));
                                         }
                                     }

+ 12 - 11
src/YSAI.Omron/OmronData.cs

@@ -1,9 +1,10 @@
 using Newtonsoft.Json;
 using Newtonsoft.Json.Converters;
 using System.ComponentModel;
-using YSAI.Core.attribute;
-using YSAI.Core.@enum;
 using YSAI.Core.subscription;
+using YSAI.Model.attribute;
+using YSAI.Model.data;
+using YSAI.Model.@enum;
 using YSAI.Unility;
 
 namespace YSAI.Omron
@@ -29,21 +30,21 @@ namespace YSAI.Omron
             /// </summary>
             [Description("IP")]
             [Verify(@"^(25[0-4]|2[0-4]\\d]|[01]?\\d{2}|[1-9])\\.(25[0-5]|2[0-4]\\d]|[01]?\\d?\\d)\\.(25[0-5]|2[0-4]\\d]|[01]?\\d?\\d)\\.(25[0-4]|2[0-4]\\d]|[01]?\\d{2}|[1-9])$", "输入有误")]
-            [Display(true, true, true, Core.data.ParamStructure.dataCate.text)]
+            [Display(true, true, true, ParamStructure.dataCate.text)]
             public string? Ip { get; set; } = "127.0.0.1";
 
             /// <summary>
             /// 端口
             /// </summary>
             [Description("端口")]
-            [Display(true, true, true, Core.data.ParamStructure.dataCate.unmber)]
+            [Display(true, true, true, ParamStructure.dataCate.unmber)]
             public int Port { get; set; } = 6688;
 
             /// <summary>
             /// 是否需要断开重新连接
             /// </summary>
             [Description("是否需要断开重新连接")]
-            [Display(true, true, true, Core.data.ParamStructure.dataCate.radio)]
+            [Display(true, true, true, ParamStructure.dataCate.radio)]
             public bool InterruptReconnection { get; set; } = true;
 
             /// <summary>
@@ -51,7 +52,7 @@ namespace YSAI.Omron
             /// </summary>
             [Description("重连间隔")]
             [Unit("ms")]
-            [Display(true, true, true, Core.data.ParamStructure.dataCate.unmber)]
+            [Display(true, true, true, ParamStructure.dataCate.unmber)]
             public int ReconnectionInterval { get; set; } = 2000;
 
             /// <summary>
@@ -59,7 +60,7 @@ namespace YSAI.Omron
             /// </summary>
             [Description("超时时间")]
             [Unit("ms")]
-            [Display(true, true, true, Core.data.ParamStructure.dataCate.unmber)]
+            [Display(true, true, true, ParamStructure.dataCate.unmber)]
             public int Timeout { get; set; } = 1000;
 
             /// <summary>
@@ -69,7 +70,7 @@ namespace YSAI.Omron
             /// 16~31:CPU总线单元 ,其值等于10 + 单元号(前端面板中配置的单元号)
             /// </summary>
             [Description("目标单元地址")]
-            [Display(true, true, true, Core.data.ParamStructure.dataCate.unmber)]
+            [Display(true, true, true, ParamStructure.dataCate.unmber)]
             public int UnitAddress { get; set; } = 0;
 
             /// <summary>
@@ -77,7 +78,7 @@ namespace YSAI.Omron
             /// SA1源节点编号,取值及含义同DA1字段
             /// </summary>
             [Description("SA1客户端节点编号")]
-            [Display(true, true, true, Core.data.ParamStructure.dataCate.unmber)]
+            [Display(true, true, true, ParamStructure.dataCate.unmber)]
             public int SA1 { get; set; } = 11;
 
             /// <summary>
@@ -85,7 +86,7 @@ namespace YSAI.Omron
             /// </summary>
             [Description("协议类型")]
             [JsonConverter(typeof(StringEnumConverter))]
-            [Display(true, true, true, Core.data.ParamStructure.dataCate.select)]
+            [Display(true, true, true, ParamStructure.dataCate.select)]
             public ProtocolType PType { get; set; } = ProtocolType.FINS;
 
             /// <summary>
@@ -93,7 +94,7 @@ namespace YSAI.Omron
             /// </summary>
             [Description("数据大小端")]
             [JsonConverter(typeof(StringEnumConverter))]
-            [Display(true, true, true, Core.data.ParamStructure.dataCate.select)]
+            [Display(true, true, true, ParamStructure.dataCate.select)]
             public eFormat EFormat { get; set; } = eFormat.CDAB;
 
         }

+ 21 - 22
src/YSAI.Omron/OmronOperate.cs

@@ -1,15 +1,14 @@
 using System.Collections.Concurrent;
 using YSAI.Core.communication.net.tcp.client;
-using YSAI.Core.data;
-using YSAI.Core.@enum;
-using YSAI.Core.handler;
-using YSAI.Core.@interface;
 using YSAI.Core.subscription;
 using YSAI.Core.virtualAddress;
 using YSAI.Log;
+using YSAI.Model.data;
+using YSAI.Model.@enum;
+using YSAI.Model.@interface;
+using YSAI.Model.tool;
 using YSAI.Unility;
 using static YSAI.Omron.OmronData;
-
 namespace YSAI.Omron
 {
     /// <summary>
@@ -716,37 +715,37 @@ namespace YSAI.Omron
                         {
                             switch (item.AddressDataType)
                             {
-                                case Core.@enum.DataType.Bool:
+                                case DataType.Bool:
                                     Value = BitConverter.ToBoolean(R(item.AddressName, 1, true)).ToString();
                                     break;
-                                case Core.@enum.DataType.Short:
-                                case Core.@enum.DataType.Int16:
+                                case DataType.Short:
+                                case DataType.Int16:
                                     Value = BitConverter.ToInt16(R(item.AddressName, 2), 0).ToString();
                                     break;
-                                case Core.@enum.DataType.Ushort:
-                                case Core.@enum.DataType.UInt16:
+                                case DataType.Ushort:
+                                case DataType.UInt16:
                                     Value = BitConverter.ToUInt16(R(item.AddressName, 2), 0).ToString();
                                     break;
-                                case Core.@enum.DataType.Int:
-                                case Core.@enum.DataType.Int32:
+                                case DataType.Int:
+                                case DataType.Int32:
                                     Value = BitConverter.ToInt32(R(item.AddressName, 4), 0).ToString();
                                     break;
-                                case Core.@enum.DataType.Uint:
-                                case Core.@enum.DataType.UInt32:
+                                case DataType.Uint:
+                                case DataType.UInt32:
                                     Value = BitConverter.ToUInt32(R(item.AddressName, 4), 0).ToString();
                                     break;
-                                case Core.@enum.DataType.Long:
-                                case Core.@enum.DataType.Int64:
+                                case DataType.Long:
+                                case DataType.Int64:
                                     Value = BitConverter.ToInt64(R(item.AddressName, 8), 0).ToString();
                                     break;
-                                case Core.@enum.DataType.Ulong:
-                                case Core.@enum.DataType.UInt64:
+                                case DataType.Ulong:
+                                case DataType.UInt64:
                                     Value = BitConverter.ToUInt64(R(item.AddressName, 8), 0).ToString();
                                     break;
-                                case Core.@enum.DataType.Double:
+                                case DataType.Double:
                                     Value = BitConverter.ToDouble(R(item.AddressName, 8), 0).ToString();
                                     break;
-                                case Core.@enum.DataType.Float:
+                                case DataType.Float:
                                     Value = BitConverter.ToSingle(R(item.AddressName, 4), 0).ToString();
                                     break;
                                 default:
@@ -769,7 +768,7 @@ namespace YSAI.Omron
                 if (param.Count > 0)
                 {
                     //返回读取的数据
-                    return Break(SN, true, RData: param, RType: Core.@enum.ResultType.KeyValue);
+                    return Break(SN, true, RData: param, RType: ResultType.KeyValue);
                 }
                 else
                 {
@@ -949,7 +948,7 @@ namespace YSAI.Omron
                 //命名空间
                 string nameSpace = "YSAI.Omron.OmronOperate";
                 //参数处理
-                OperateResult operateResult = ParamHandler.Get(new OmronData.Basics(), name, Properties: new List<ParamStructure.propertie>
+                OperateResult operateResult = ParamTool.Get(new OmronData.Basics(), name, Properties: new List<ParamStructure.propertie>
                 {
                     new ParamStructure.propertie
                     {

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

@@ -16,6 +16,6 @@
     <Description>$(DescriptionType):$(DescriptionName) ( $(DescriptionDetails) )</Description>
   </PropertyGroup>
   <ItemGroup>
-    <PackageReference Include="YSAI.Core" Version="23.327.26637" />
+    <PackageReference Include="YSAI.Core" Version="23.328.24076" />
   </ItemGroup>
 </Project>

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

@@ -21,7 +21,7 @@
   </ItemGroup>
   <ItemGroup>
     <PackageReference Include="OPCFoundation.NetStandard.Opc.Ua" Version="1.4.372.76" />
-    <PackageReference Include="YSAI.Core" Version="23.327.26637" />
+    <PackageReference Include="YSAI.Core" Version="23.328.24076" />
   </ItemGroup>
   <!--<ItemGroup>
 		<ProjectReference Include="..\YSAI.Core\YSAI.Core.csproj" />

+ 8 - 7
src/YSAI.Opc/da/client/OpcDaClientData.cs

@@ -1,7 +1,8 @@
 using Newtonsoft.Json;
 using Newtonsoft.Json.Converters;
 using System.ComponentModel;
-using YSAI.Core.attribute;
+using YSAI.Model.attribute;
+using YSAI.Model.data;
 using YSAI.Unility;
 
 namespace YSAI.Opc.da.client
@@ -26,7 +27,7 @@ namespace YSAI.Opc.da.client
             /// 服务名
             /// </summary>
             [Description("服务名")]
-            [Display(true, true, true, Core.data.ParamStructure.dataCate.text)]
+            [Display(true, true, true, ParamStructure.dataCate.text)]
             public string? SName { get; set; } = "Knight.OPC.Server.Demo";
 
             /// <summary>
@@ -34,7 +35,7 @@ namespace YSAI.Opc.da.client
             /// </summary>
             [Description("接口版本")]
             [JsonConverter(typeof(StringEnumConverter))]
-            [Display(true, true, true, Core.data.ParamStructure.dataCate.select)]
+            [Display(true, true, true, ParamStructure.dataCate.select)]
             public ApiVerType ApiVerType { get; set; } = ApiVerType.COM_DA_30;
 
             /// <summary>
@@ -42,7 +43,7 @@ namespace YSAI.Opc.da.client
             /// </summary>
             [Description("更新频率")]
             [Unit("ms")]
-            [Display(true, true, true, Core.data.ParamStructure.dataCate.unmber)]
+            [Display(true, true, true, ParamStructure.dataCate.unmber)]
             public int UpdateRate { get; set; } = 100;
 
             /// <summary>
@@ -52,14 +53,14 @@ namespace YSAI.Opc.da.client
             /// 数据是根据实际情况来定
             /// </summary>
             [Description("订阅单组最大数")]
-            [Display(true, true, true, Core.data.ParamStructure.dataCate.unmber)]
+            [Display(true, true, true, ParamStructure.dataCate.unmber)]
             public int SubscribeSingleGroupMaxCount { get; set; } = 0;
 
             /// <summary>
             /// 任务数量
             /// </summary>
             [Description("任务数量")]
-            [Display(true, true, true, Core.data.ParamStructure.dataCate.unmber)]
+            [Display(true, true, true, ParamStructure.dataCate.unmber)]
             public int TaskNumber { get; set; } = 5;
 
             /// <summary>
@@ -67,7 +68,7 @@ namespace YSAI.Opc.da.client
             /// </summary>
             [Description("任务处理间隔")]
             [Unit("ms")]
-            [Display(true, true, true, Core.data.ParamStructure.dataCate.unmber)]
+            [Display(true, true, true, ParamStructure.dataCate.unmber)]
             public int TaskHandleInterval { get; set; } = 100;
         }
 

+ 8 - 8
src/YSAI.Opc/da/client/OpcDaClientOperate.cs

@@ -1,12 +1,12 @@
 using OpcDaNetApi.Da;
 using System.Collections.Concurrent;
-using YSAI.Core.data;
-using YSAI.Core.handler;
-using YSAI.Core.@interface;
 using YSAI.Core.virtualAddress;
+using YSAI.Model.data;
+using YSAI.Model.@enum;
+using YSAI.Model.@interface;
+using YSAI.Model.tool;
 using YSAI.Opc.unility;
 using YSAI.Unility;
-
 namespace YSAI.Opc.da.client
 {
     /// <summary>
@@ -329,7 +329,7 @@ namespace YSAI.Opc.da.client
                         List<Item> items = new List<Item>();
                         foreach (var item in address.AddressArray)
                         {
-                            if (item.AddressType == Core.@enum.AddressType.Reality)
+                            if (item.AddressType == AddressType.Reality)
                             {
                                 if (keyValuePair.Value.Item2.Count > 0)
                                 {
@@ -656,7 +656,7 @@ namespace YSAI.Opc.da.client
                                         param.AddOrUpdate(addressDetails.AddressName, addressValue, (k, v) => addressValue);
 
                                         //响应
-                                        OnEventHandler(this, new EventResult(true, "[ 订阅通知 ]点位数据更新", param, Core.@enum.ResultType.KeyValue));
+                                        OnEventHandler(this, new EventResult(true, "[ 订阅通知 ]点位数据更新", param, ResultType.KeyValue));
                                     }
                                 }
                             }
@@ -866,7 +866,7 @@ namespace YSAI.Opc.da.client
                     if (param.Count > 0)
                     {
                         //返回读取的数据
-                        return Break("Read", true, RData: param, RType: Core.@enum.ResultType.KeyValue);
+                        return Break("Read", true, RData: param, RType: ResultType.KeyValue);
                     }
                     else
                     {
@@ -1047,7 +1047,7 @@ namespace YSAI.Opc.da.client
                 //命名空间
                 string nameSpace = "YSAI.Opc.da.client.OpcDaClientOperate";
                 //参数处理
-                OperateResult operateResult = ParamHandler.Get(new OpcDaClientData.Basics(), name, Properties: new List<ParamStructure.propertie>
+                OperateResult operateResult = ParamTool.Get(new OpcDaClientData.Basics(), name, Properties: new List<ParamStructure.propertie>
                 {
                     new ParamStructure.propertie
                     {

+ 6 - 5
src/YSAI.Opc/da/http/OpcDaHttpData.cs

@@ -1,8 +1,9 @@
 using Newtonsoft.Json;
 using Newtonsoft.Json.Converters;
 using System.ComponentModel;
-using YSAI.Core.attribute;
 using YSAI.Core.subscription;
+using YSAI.Model.attribute;
+using YSAI.Model.data;
 using YSAI.Unility;
 
 namespace YSAI.Opc.da.http
@@ -28,21 +29,21 @@ namespace YSAI.Opc.da.http
             /// </summary>
             [Description("服务地址")]
             [Verify(@"^(25[0-4]|2[0-4]\\d]|[01]?\\d{2}|[1-9])\\.(25[0-5]|2[0-4]\\d]|[01]?\\d?\\d)\\.(25[0-5]|2[0-4]\\d]|[01]?\\d?\\d)\\.(25[0-4]|2[0-4]\\d]|[01]?\\d{2}|[1-9])$", "输入有误")]
-            [Display(true, true, true, Core.data.ParamStructure.dataCate.text)]
+            [Display(true, true, true, ParamStructure.dataCate.text)]
             public string? Ip { get; set; } = "127.0.0.1";
 
             /// <summary>
             /// 端口
             /// </summary>
             [Description("端口")]
-            [Display(true, true, true, Core.data.ParamStructure.dataCate.unmber)]
+            [Display(true, true, true, ParamStructure.dataCate.unmber)]
             public int Port { get; set; } = 6688;
 
             /// <summary>
             /// 解密密钥
             /// </summary>
             [Description("解密密钥")]
-            [Display(true, true, true, Core.data.ParamStructure.dataCate.text)]
+            [Display(true, true, true, ParamStructure.dataCate.text)]
             public string? Key { get; set; }
 
             /// <summary>
@@ -50,7 +51,7 @@ namespace YSAI.Opc.da.http
             /// </summary>
             [Description("请求类型")]
             [JsonConverter(typeof(StringEnumConverter))]
-            [Display(true, true, true, Core.data.ParamStructure.dataCate.select)]
+            [Display(true, true, true, ParamStructure.dataCate.select)]
             public RequestType RequestType { get; set; }
         }
 

+ 10 - 10
src/YSAI.Opc/da/http/OpcDaHttpOperate.cs

@@ -3,14 +3,14 @@ using System.Collections.Concurrent;
 using System.Net;
 using System.Security.Cryptography;
 using System.Text;
-using YSAI.Core.data;
-using YSAI.Core.handler;
-using YSAI.Core.@interface;
 using YSAI.Core.subscription;
 using YSAI.Core.virtualAddress;
+using YSAI.Model.data;
+using YSAI.Model.@enum;
+using YSAI.Model.@interface;
+using YSAI.Model.tool;
 using YSAI.Opc.da.http.structure;
 using YSAI.Unility;
-
 namespace YSAI.Opc.da.http
 {
     public sealed class OpcDaHttpOperate : IBaseAbstract, IDaq
@@ -274,18 +274,18 @@ namespace YSAI.Opc.da.http
                             jsonObj = JsonTool.StringToJsonEntity<ReqWriteItemValue.Response>(ResponseData.ResponseData);
                             break;
                     }
-                    OnEventHandler(this, new EventResult(true, "请求成功", jsonObj, Core.@enum.ResultType.Json));  //事件抛出
-                    return Break("Request", true, RData: jsonObj, RType: Core.@enum.ResultType.Json);  //返回数据
+                    OnEventHandler(this, new EventResult(true, "请求成功", jsonObj, ResultType.Json));  //事件抛出
+                    return Break("Request", true, RData: jsonObj, RType: ResultType.Json);  //返回数据
                 }
                 else
                 {
-                    OnEventHandler(this, new EventResult(false, $"返回状态 [ {code} ] ,请求{(code.Equals("2") ? "失败" : code.Equals("3") ? "json格式错误" : "未知")}", request, Core.@enum.ResultType.Enum));  //事件抛出
+                    OnEventHandler(this, new EventResult(false, $"返回状态 [ {code} ] ,请求{(code.Equals("2") ? "失败" : code.Equals("3") ? "json格式错误" : "未知")}", request, ResultType.Enum));  //事件抛出
                     return Break("Request", false, $"返回状态 [ {code} ] ,请求{(code.Equals("2") ? "失败" : code.Equals("3") ? "json格式错误" : "未知")}");
                 }
             }
             catch (Exception ex)
             {
-                OnEventHandler(this, new EventResult(false, ex.Message, request, Core.@enum.ResultType.Enum));  //事件抛出
+                OnEventHandler(this, new EventResult(false, ex.Message, request, ResultType.Enum));  //事件抛出
                 return Break("Request", false, ex.Message, Exception: ex);
             }
         }
@@ -398,7 +398,7 @@ namespace YSAI.Opc.da.http
                         }
                     }
                 }
-                return Break("Read", true, RData: nodes, RType: Core.@enum.ResultType.KeyValue);
+                return Break("Read", true, RData: nodes, RType: ResultType.KeyValue);
             }
             catch (Exception ex)
             {
@@ -536,7 +536,7 @@ namespace YSAI.Opc.da.http
                 //命名空间
                 string nameSpace = "YSAI.DB.DBOperate";
                 //参数处理
-                OperateResult operateResult = ParamHandler.Get(new OpcDaHttpData.Basics(), name, Properties: new List<ParamStructure.propertie>
+                OperateResult operateResult = ParamTool.Get(new OpcDaHttpData.Basics(), name, Properties: new List<ParamStructure.propertie>
                 {
                     new ParamStructure.propertie
                     {

+ 17 - 16
src/YSAI.Opc/ua/client/OpcUaClientData.cs

@@ -1,5 +1,6 @@
 using System.ComponentModel;
-using YSAI.Core.attribute;
+using YSAI.Model.attribute;
+using YSAI.Model.data;
 using YSAI.Unility;
 
 namespace YSAI.Opc.ua.client
@@ -24,35 +25,35 @@ namespace YSAI.Opc.ua.client
             /// 用户名
             /// </summary>
             [Description("用户名")]
-            [Display(true, true, false, Core.data.ParamStructure.dataCate.text)]
+            [Display(true, true, false, ParamStructure.dataCate.text)]
             public string? UserName { get; set; }
 
             /// <summary>
             /// 密码
             /// </summary>
             [Description("密码")]
-            [Display(true, true, false, Core.data.ParamStructure.dataCate.text)]
+            [Display(true, true, false, ParamStructure.dataCate.text)]
             public string? Password { get; set; }
 
             /// <summary>
             /// 证书路径
             /// </summary>
             [Description("证书路径")]
-            [Display(true, true, false, Core.data.ParamStructure.dataCate.upload)]
+            [Display(true, true, false, ParamStructure.dataCate.upload)]
             public string? Cer { get; set; }
 
             /// <summary>
             /// 密钥
             /// </summary>
             [Description("密钥")]
-            [Display(true, true, false, Core.data.ParamStructure.dataCate.text)]
+            [Display(true, true, false, ParamStructure.dataCate.text)]
             public string? SecreKey { get; set; }
 
             /// <summary>
             /// 服务地址
             /// </summary>
             [Description("服务地址")]
-            [Display(true, true, true, Core.data.ParamStructure.dataCate.text)]
+            [Display(true, true, true, ParamStructure.dataCate.text)]
             public string? ServerUrl { get; set; }
 
             /// <summary>
@@ -60,7 +61,7 @@ namespace YSAI.Opc.ua.client
             /// </summary>
             [Description("客户端名称")]
             [Unit("唯一")]
-            [Display(true, true, true, Core.data.ParamStructure.dataCate.text)]
+            [Display(true, true, true, ParamStructure.dataCate.text)]
             public string? CustomName { get; set; } = Guid.NewGuid().ToLowerNString();
 
             /// <summary>
@@ -68,7 +69,7 @@ namespace YSAI.Opc.ua.client
             /// </summary>
             [Description("超时时间")]
             [Unit("ms")]
-            [Display(true, true, true, Core.data.ParamStructure.dataCate.unmber)]
+            [Display(true, true, true, ParamStructure.dataCate.unmber)]
             public int Timeout { get; set; } = 5000;
 
             /// <summary>
@@ -76,7 +77,7 @@ namespace YSAI.Opc.ua.client
             /// </summary>
             [Description("取样时间间隔")]
             [Unit("ms")]
-            [Display(true, true, true, Core.data.ParamStructure.dataCate.unmber)]
+            [Display(true, true, true, ParamStructure.dataCate.unmber)]
             public int SamplingInterval { get; set; } = 100;
 
             /// <summary>
@@ -84,7 +85,7 @@ namespace YSAI.Opc.ua.client
             /// </summary>
             [Description("发布时间间隔")]
             [Unit("ms")]
-            [Display(true, true, true, Core.data.ParamStructure.dataCate.unmber)]
+            [Display(true, true, true, ParamStructure.dataCate.unmber)]
             public int PublishingInterval { get; set; } = 1000;
 
             /// <summary>
@@ -92,7 +93,7 @@ namespace YSAI.Opc.ua.client
             /// 如果到发布周期但没有新数据,服务端会跳过但保活次数定义了最多可以跳过多少次,之后哪怕是空消息也要发给客户端,告诉客户的订阅仍然有效,但没数据
             /// </summary>
             [Description("保活计数")]
-            [Display(true, true, true, Core.data.ParamStructure.dataCate.unmber)]
+            [Display(true, true, true, ParamStructure.dataCate.unmber)]
             public int KeepAliveCount { get; set; } = byte.MaxValue * 1024;
 
             /// <summary>
@@ -101,14 +102,14 @@ namespace YSAI.Opc.ua.client
             /// 必须是【保活计数】的三倍以“上”
             /// </summary>
             [Description("寿命计数")]
-            [Display(true, true, true, Core.data.ParamStructure.dataCate.unmber)]
+            [Display(true, true, true, ParamStructure.dataCate.unmber)]
             public int LifetimeCount { get; set; } = (byte.MaxValue * 1024) * 3;
 
             /// <summary>
             /// 队列大小
             /// </summary>
             [Description("队列大小")]
-            [Display(true, true, true, Core.data.ParamStructure.dataCate.unmber)]
+            [Display(true, true, true, ParamStructure.dataCate.unmber)]
             public int QueueSize { get; set; } = byte.MaxValue * 4;
 
             /// <summary>
@@ -118,14 +119,14 @@ namespace YSAI.Opc.ua.client
             /// 数据是根据实际情况来定
             /// </summary>
             [Description("订阅单组最大数")]
-            [Display(true, true, true, Core.data.ParamStructure.dataCate.unmber)]
+            [Display(true, true, true, ParamStructure.dataCate.unmber)]
             public int SubscribeSingleGroupMaxCount { get; set; } = 0;
 
             /// <summary>
             /// 任务数量
             /// </summary>
             [Description("任务数量")]
-            [Display(true, true, true, Core.data.ParamStructure.dataCate.unmber)]
+            [Display(true, true, true, ParamStructure.dataCate.unmber)]
             public int TaskNumber { get; set; } = 5;
 
             /// <summary>
@@ -133,7 +134,7 @@ namespace YSAI.Opc.ua.client
             /// </summary>
             [Description("任务处理间隔")]
             [Unit("ms")]
-            [Display(true, true, true, Core.data.ParamStructure.dataCate.unmber)]
+            [Display(true, true, true, ParamStructure.dataCate.unmber)]
             public int TaskHandleInterval { get; set; } = 100;
         }
 

+ 14 - 15
src/YSAI.Opc/ua/client/OpcUaClientOperate.cs

@@ -4,17 +4,16 @@ using Opc.Ua.Configuration;
 using System.Collections.Concurrent;
 using System.Security.Cryptography.X509Certificates;
 using System.Text;
-using YSAI.Core.data;
-using YSAI.Core.@enum;
-using YSAI.Core.handler;
-using YSAI.Core.@interface;
 using YSAI.Core.virtualAddress;
 using YSAI.Log;
+using YSAI.Model.data;
+using YSAI.Model.@enum;
+using YSAI.Model.@interface;
+using YSAI.Model.tool;
 using YSAI.Opc.ua.client.unility;
 using YSAI.Opc.unility;
 using YSAI.Unility;
 using static YSAI.Opc.ua.client.OpcUaClientData;
-
 namespace YSAI.Opc.ua.client
 {
     /// <summary>
@@ -236,7 +235,7 @@ namespace YSAI.Opc.ua.client
         {
             string Message = EnumParse(e.Status.ToString(), EnumType.StateChanged);
             string MessageJson = "{" + $"\"Uri\":\"{basics.ServerUrl}\",\"CustomName\":\"{basics.CustomName}\",\"StatusCode\":\"{e.Status}\",\"StatusMessage\":\"{Message}\"" + "}";
-            OnEventHandler(subscription, new EventResult(true, "连接状态已改变", MessageJson, Core.@enum.ResultType.Json));
+            OnEventHandler(subscription, new EventResult(true, "连接状态已改变", MessageJson, ResultType.Json));
         }
 
         /// <summary>
@@ -246,7 +245,7 @@ namespace YSAI.Opc.ua.client
         {
             string Message = EnumParse(e.Status.ToString(), EnumType.PublishStatusChanged);
             string MessageJson = "{" + $"\"Uri\":\"{basics.ServerUrl}\",\"CustomName\":\"{basics.CustomName}\",\"StatusCode\":\"{e.Status}\",\"StatusMessage\":\"{Message}\"" + "}";
-            OnEventHandler(subscription, new EventResult(true, "指示订阅的发布状态已停止或已恢复", MessageJson, Core.@enum.ResultType.Json));
+            OnEventHandler(subscription, new EventResult(true, "指示订阅的发布状态已停止或已恢复", MessageJson, ResultType.Json));
         }
 
         /// <summary>
@@ -255,7 +254,7 @@ namespace YSAI.Opc.ua.client
         private void ClientSession_PublishError(ISession session, PublishErrorEventArgs e)
         {
             string MessageJson = "{" + $"\"Uri\":\"{basics.ServerUrl}\",\"CustomName\":\"{basics.CustomName}\",\"StatusCode\":\"{e.Status}\"" + "}";
-            OnEventHandler(session, new EventResult(true, "处理发布响应时发生异常", MessageJson, Core.@enum.ResultType.Json));
+            OnEventHandler(session, new EventResult(true, "处理发布响应时发生异常", MessageJson, ResultType.Json));
         }
 
         /// <summary>
@@ -264,7 +263,7 @@ namespace YSAI.Opc.ua.client
         private void ClientSession_PublishSequenceNumbersToAcknowledge(ISession session, PublishSequenceNumbersToAcknowledgeEventArgs e)
         {
             string MessageJson = "{" + $"\"Uri\":\"{basics.ServerUrl}\",\"CustomName\":\"{basics.CustomName}\"" + "}";
-            OnEventHandler(session, new EventResult(true, "发布请求即将确认序列号", MessageJson, Core.@enum.ResultType.Json));
+            OnEventHandler(session, new EventResult(true, "发布请求即将确认序列号", MessageJson, ResultType.Json));
         }
 
         /// <summary>
@@ -274,7 +273,7 @@ namespace YSAI.Opc.ua.client
         {
             string MessageJson = "{" + $"\"Uri\":\"{basics.ServerUrl}\",\"CustomName\":\"{basics.CustomName}\"" + "}";
             LogHelper.Verbose($"会话正在结束\r\n{MessageJson.JsonFormatting()}", $"{TAG}/SessionClosing.log");
-            OnEventHandler(sender, new EventResult(true, "会话正在结束", MessageJson, Core.@enum.ResultType.Json));
+            OnEventHandler(sender, new EventResult(true, "会话正在结束", MessageJson, ResultType.Json));
         }
 
         /// <summary>
@@ -283,7 +282,7 @@ namespace YSAI.Opc.ua.client
         private void ClientSession_SessionConfigurationChanged(object? sender, EventArgs e)
         {
             string MessageJson = "{" + $"\"Uri\":\"{basics.ServerUrl}\",\"CustomName\":\"{basics.CustomName}\"" + "}";
-            OnEventHandler(sender, new EventResult(true, "会话配置更改", MessageJson, Core.@enum.ResultType.Json));
+            OnEventHandler(sender, new EventResult(true, "会话配置更改", MessageJson, ResultType.Json));
         }
 
         /// <summary>
@@ -292,7 +291,7 @@ namespace YSAI.Opc.ua.client
         private void ClientSession_SubscriptionsChanged(object? sender, EventArgs e)
         {
             string MessageJson = "{" + $"\"Uri\":\"{basics.ServerUrl}\",\"CustomName\":\"{basics.CustomName}\"" + "}";
-            OnEventHandler(sender, new EventResult(true, "添加或删除订阅", MessageJson, Core.@enum.ResultType.Json));
+            OnEventHandler(sender, new EventResult(true, "添加或删除订阅", MessageJson, ResultType.Json));
         }
 
         private int ConnectedCounet = 0;
@@ -1400,7 +1399,7 @@ namespace YSAI.Opc.ua.client
                                 param.AddOrUpdate(queueData.addressDetails.AddressName, addressValue, (k, v) => addressValue);
 
                                 //响应
-                                OnEventHandler(this, new EventResult(true, $"[ {Steps.订阅通知} ]点位数据更新", param, Core.@enum.ResultType.KeyValue));
+                                OnEventHandler(this, new EventResult(true, $"[ {Steps.订阅通知} ]点位数据更新", param, ResultType.KeyValue));
                             }
                             catch (Exception ex)
                             {
@@ -1847,7 +1846,7 @@ namespace YSAI.Opc.ua.client
                 }
                 if (param.Count > 0)
                 {
-                    return Break("Read", true, RData: param, RType: Core.@enum.ResultType.KeyValue);
+                    return Break("Read", true, RData: param, RType: ResultType.KeyValue);
                 }
                 else
                 {
@@ -2003,7 +2002,7 @@ namespace YSAI.Opc.ua.client
                 //命名空间
                 string nameSpace = "YSAI.Opc.ua.client.OpcUaClientOperate";
                 //参数处理
-                OperateResult operateResult = ParamHandler.Get(new OpcUaClientData.Basics(), name, Properties: new List<ParamStructure.propertie>
+                OperateResult operateResult = ParamTool.Get(new OpcUaClientData.Basics(), name, Properties: new List<ParamStructure.propertie>
                 {
                     new ParamStructure.propertie
                     {

+ 1 - 1
src/YSAI.Opc/ua/client/OpcUaClientReadController.cs

@@ -1,5 +1,5 @@
 using System.Collections.Concurrent;
-using YSAI.Core.data;
+using YSAI.Model.data;
 using YSAI.Opc.unility;
 using YSAI.Unility;
 using static YSAI.Opc.ua.client.OpcUaClientData;

+ 5 - 4
src/YSAI.Opc/ua/service/OpcUaServiceData.cs

@@ -1,5 +1,6 @@
 using System.ComponentModel;
-using YSAI.Core.attribute;
+using YSAI.Model.attribute;
+using YSAI.Model.data;
 
 namespace YSAI.Opc.ua.service
 {
@@ -17,21 +18,21 @@ namespace YSAI.Opc.ua.service
             /// 是否应该接受和抑制为证书报告的当前错误
             /// </summary>
             [Description("是否应该接受和抑制为证书报告的当前错误")]
-            [Display(true, true, true, Core.data.ParamStructure.dataCate.radio)]
+            [Display(true, true, true, ParamStructure.dataCate.radio)]
             public bool AutoAccept { get; set; }
 
             /// <summary>
             /// 用户
             /// </summary>
             [Description("用户名")]
-            [Display(true, true, false, Core.data.ParamStructure.dataCate.text)]
+            [Display(true, true, false, ParamStructure.dataCate.text)]
             public string? UserName { get; set; }
 
             /// <summary>
             /// 密码
             /// </summary>
             [Description("密码")]
-            [Display(true, true, false, Core.data.ParamStructure.dataCate.text)]
+            [Display(true, true, false, ParamStructure.dataCate.text)]
             public string? Password { get; set; }
         }
     }

+ 2 - 3
src/YSAI.Opc/ua/service/OpcUaServiceOperate.cs

@@ -3,11 +3,10 @@ using Opc.Ua.Configuration;
 using Opc.Ua.Server;
 using System.Collections;
 using System.Text;
-using YSAI.Core.data;
-using YSAI.Core.@interface;
+using YSAI.Model.data;
+using YSAI.Model.@interface;
 using YSAI.Opc.ua.service.core;
 using YSAI.Unility;
-
 namespace YSAI.Opc.ua.service
 {
     /// <summary>

+ 1 - 1
src/YSAI.Opc/unility/OpcHelper.cs

@@ -1,5 +1,5 @@
 using System.Collections.Concurrent;
-using YSAI.Core.data;
+using YSAI.Model.data;
 using YSAI.Unility;
 
 namespace YSAI.Opc.unility

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

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

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

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

+ 3 - 4
src/YSAI.RelayManage/RelayManageOperate.cs

@@ -3,12 +3,11 @@ using Newtonsoft.Json.Linq;
 using System.Collections.Concurrent;
 using System.IO.Compression;
 using System.Reflection;
-using YSAI.Core.data;
-using YSAI.Core.@enum;
-using YSAI.Core.@interface;
 using YSAI.Log;
+using YSAI.Model.data;
+using YSAI.Model.@enum;
+using YSAI.Model.@interface;
 using YSAI.Unility;
-
 namespace YSAI.RelayManage
 {
     /// <summary>

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

@@ -9,7 +9,7 @@
 	<ItemGroup>
 		<PackageReference Include="RabbitMQ.Client" Version="6.7.0" />
 		<PackageReference Include="Confluent.Kafka" Version="2.3.0" />
-		<PackageReference Include="YSAI.Core" Version="23.327.26637" />
+		<PackageReference Include="YSAI.Core" Version="23.328.24076" />
 		<FrameworkReference Include="Microsoft.AspNetCore.App" />
 	</ItemGroup>
 

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

@@ -3,7 +3,7 @@
     <TargetFrameworks>net6.0;net8.0</TargetFrameworks>
     <ImplicitUsings>enable</ImplicitUsings>
     <Nullable>enable</Nullable>
-    <Version>23.328.18305</Version>
+    <Version>23.328.25741</Version>
     <PackageOutputPath Condition="'$(Configuration)' == 'Release'">../YSAI.Publish/Release</PackageOutputPath>
     <PackageOutputPath Condition="'$(Configuration)' == 'Debug'">../YSAI.Publish/Debug</PackageOutputPath>
     <Authors>Shun</Authors>
@@ -18,7 +18,6 @@
   <ItemGroup>
     <PackageReference Include="DotNetty.Codecs" Version="0.7.5" />
     <PackageReference Include="ImpromptuInterface" Version="8.0.4" />
-    <PackageReference Include="Newtonsoft.Json" Version="13.0.3" />
     <PackageReference Include="YSAI.Model" Version="23.328.22745" />
   </ItemGroup>
 </Project>

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

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

+ 7 - 6
src/YSAI.Siemens/SiemensData.cs

@@ -2,8 +2,9 @@
 using Newtonsoft.Json.Converters;
 using S7.Net;
 using System.ComponentModel;
-using YSAI.Core.attribute;
 using YSAI.Core.subscription;
+using YSAI.Model.attribute;
+using YSAI.Model.data;
 using YSAI.Unility;
 namespace YSAI.Siemens
 {
@@ -25,14 +26,14 @@ namespace YSAI.Siemens
             /// </summary>
             [Description("IP")]
             [Verify(@"^(25[0-4]|2[0-4]\\d]|[01]?\\d{2}|[1-9])\\.(25[0-5]|2[0-4]\\d]|[01]?\\d?\\d)\\.(25[0-5]|2[0-4]\\d]|[01]?\\d?\\d)\\.(25[0-4]|2[0-4]\\d]|[01]?\\d{2}|[1-9])$", "输入有误")]
-            [Display(true, true, true, Core.data.ParamStructure.dataCate.text)]
+            [Display(true, true, true, ParamStructure.dataCate.text)]
             public string? Ip { get; set; } = "127.0.0.1";
 
             /// <summary>
             /// 端口
             /// </summary>
             [Description("端口")]
-            [Display(true, true, true, Core.data.ParamStructure.dataCate.unmber)]
+            [Display(true, true, true, ParamStructure.dataCate.unmber)]
             public int Port { get; set; } = 6688;
 
             /// <summary>
@@ -40,7 +41,7 @@ namespace YSAI.Siemens
             /// </summary>
             [Description("CPU类型")]
             [JsonConverter(typeof(StringEnumConverter))]
-            [Display(true, true, true, Core.data.ParamStructure.dataCate.select)]
+            [Display(true, true, true, ParamStructure.dataCate.select)]
             public CpuType CType { get; set; }
 
             /// <summary>
@@ -49,7 +50,7 @@ namespace YSAI.Siemens
             /// 但检查Step7或TIA门户的硬件配置
             /// </summary>
             [Description("机架")]
-            [Display(true, true, true, Core.data.ParamStructure.dataCate.unmber)]
+            [Display(true, true, true, ParamStructure.dataCate.unmber)]
             public int Rack { get; set; } = 0;
 
             /// <summary>
@@ -58,7 +59,7 @@ namespace YSAI.Siemens
             /// S7-1200/S7-1500为0
             /// </summary>
             [Description("插槽")]
-            [Display(true, true, true, Core.data.ParamStructure.dataCate.unmber)]
+            [Display(true, true, true, ParamStructure.dataCate.unmber)]
             public int Slot { get; set; } = 0;
         }
     }

+ 20 - 19
src/YSAI.Siemens/SiemensOperate.cs

@@ -2,14 +2,15 @@
 using S7.Net.Types;
 using System.Collections.Concurrent;
 using System.Text;
-using YSAI.Core.data;
-using YSAI.Core.handler;
-using YSAI.Core.@interface;
 using YSAI.Core.subscription;
 using YSAI.Core.virtualAddress;
 using YSAI.Log;
+using YSAI.Model.data;
+using YSAI.Model.@enum;
+using YSAI.Model.@interface;
+using YSAI.Model.tool;
 using YSAI.Unility;
-
+using DataType = YSAI.Model.@enum.DataType;
 namespace YSAI.Siemens
 {
     /// <summary>
@@ -214,41 +215,41 @@ namespace YSAI.Siemens
                             {
                                 switch (item.AddressDataType)
                                 {
-                                    case Core.@enum.DataType.Bool:
+                                    case DataType.Bool:
                                         Value = PlcS7.ReadAsync(dataItem.DataType, dataItem.DB, dataItem.StartByteAdr, VarType.Bit, dataItem.Count).Result.ToString();
                                         break;
 
-                                    case Core.@enum.DataType.String:
+                                    case DataType.String:
                                         byte[]? head = PlcS7?.ReadBytes(dataItem.DataType, dataItem.DB, dataItem.StartByteAdr, 2);
                                         byte[]? bytes = PlcS7?.ReadBytes(dataItem.DataType, dataItem.DB, dataItem.StartByteAdr + 2, head[1]);
                                         Value = Encoding.ASCII.GetString(bytes).TrimEnd(new char[] { '\0' });
                                         break;
 
-                                    case Core.@enum.DataType.Byte:
+                                    case DataType.Byte:
                                         Value = PlcS7.ReadAsync(dataItem.DataType, dataItem.DB, dataItem.StartByteAdr, VarType.Byte, dataItem.Count).Result.ToString();
                                         break;
 
-                                    case Core.@enum.DataType.Double:
+                                    case DataType.Double:
                                         Value = PlcS7.ReadAsync(dataItem.DataType, dataItem.DB, dataItem.StartByteAdr, VarType.LReal, dataItem.Count).Result.ToString();
                                         break;
 
-                                    case Core.@enum.DataType.Float:
+                                    case DataType.Float:
                                         Value = PlcS7.ReadAsync(dataItem.DataType, dataItem.DB, dataItem.StartByteAdr, VarType.Real, dataItem.Count).Result.ToString();
                                         break;
-                                    case Core.@enum.DataType.Short:
-                                    case Core.@enum.DataType.Int16:
+                                    case DataType.Short:
+                                    case DataType.Int16:
                                         Value = PlcS7.ReadAsync(dataItem.DataType, dataItem.DB, dataItem.StartByteAdr, VarType.Int, dataItem.Count).Result.ToString();
                                         break;
-                                    case Core.@enum.DataType.Ushort:
-                                    case Core.@enum.DataType.UInt16:
+                                    case DataType.Ushort:
+                                    case DataType.UInt16:
                                         Value = PlcS7.ReadAsync(dataItem.DataType, dataItem.DB, dataItem.StartByteAdr, VarType.Word, dataItem.Count).Result.ToString();
                                         break;
-                                    case Core.@enum.DataType.Int:
-                                    case Core.@enum.DataType.Int32:
+                                    case DataType.Int:
+                                    case DataType.Int32:
                                         Value = PlcS7.ReadAsync(dataItem.DataType, dataItem.DB, dataItem.StartByteAdr, VarType.DInt, dataItem.Count).Result.ToString();
                                         break;
-                                    case Core.@enum.DataType.Uint:
-                                    case Core.@enum.DataType.UInt32:
+                                    case DataType.Uint:
+                                    case DataType.UInt32:
                                         Value = PlcS7.ReadAsync(dataItem.DataType, dataItem.DB, dataItem.StartByteAdr, VarType.DWord, dataItem.Count).Result.ToString();
                                         break;
                                     default:
@@ -271,7 +272,7 @@ namespace YSAI.Siemens
                     if (param.Count > 0)
                     {
                         //返回读取的数据
-                        return Break("Read", true, RData: param, RType: Core.@enum.ResultType.KeyValue);
+                        return Break("Read", true, RData: param, RType: ResultType.KeyValue);
                     }
                     else
                     {
@@ -443,7 +444,7 @@ namespace YSAI.Siemens
                 //命名空间
                 string nameSpace = "YSAI.Siemens.SiemensOperate";
                 //参数处理
-                OperateResult operateResult = ParamHandler.Get(new SiemensData.Basics(), name, Properties: new List<ParamStructure.propertie>
+                OperateResult operateResult = ParamTool.Get(new SiemensData.Basics(), name, Properties: new List<ParamStructure.propertie>
                 {
                     new ParamStructure.propertie
                     {

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

@@ -17,7 +17,7 @@
   </PropertyGroup>
   <ItemGroup>
     <PackageReference Include="S7netplus" Version="0.20.0" />
-    <PackageReference Include="YSAI.Core" Version="23.327.26637" />
+    <PackageReference Include="YSAI.Core" Version="23.328.24076" />
   </ItemGroup>
   <!--<ItemGroup>
 		<ProjectReference Include="..\YSAI.Core\YSAI.Core.csproj" />

+ 14 - 14
src/YSAI.Test.All/Program.cs

@@ -107,7 +107,7 @@ public class data
 
 
 
-//void TcpClientOperate_OnEvent(object? sender, YSAI.Core.data.EventResult e)
+//void TcpClientOperate_OnEvent(object? sender, YSAI.EventResult e)
 //{
 //    Console.WriteLine(e.ToJson().JsonFormatting());
 //}
@@ -143,7 +143,7 @@ public class data
 
 
 
-//void TcpClientOperate_OnEvent(object? sender, YSAI.Core.data.EventResult e)
+//void TcpClientOperate_OnEvent(object? sender, YSAI.EventResult e)
 //{
 //    Console.WriteLine(e.ToJson().JsonFormatting());
 //}
@@ -221,7 +221,7 @@ public class data
 //Console.ReadKey();
 
 
-//void NetMQClientOperate_OnEvent(object? sender, YSAI.Core.data.EventResult e)
+//void NetMQClientOperate_OnEvent(object? sender, YSAI.EventResult e)
 //{
 //    收++;
 //    //Console.WriteLine(e.ToJson());
@@ -251,7 +251,7 @@ public class data
 //         new AddressDetails
 //         {
 //               AddressName="D6402",
-//               AddressDataType=YSAI.Core.@enum.DataType.Double
+//               AddressDataType=YSAI.DataType.Double
 //         }
 //    }
 //};
@@ -309,14 +309,14 @@ public class data
 //    }).State.ToString());
 
 
-//    LogHelper.Debug(mitsubishiOperate.Read(new YSAI.Core.data.Address 
+//    LogHelper.Debug(mitsubishiOperate.Read(new YSAI.Address 
 //    {
-//        AddressArray=new List<YSAI.Core.data.AddressDetails> 
+//        AddressArray=new List<YSAI.AddressDetails> 
 //        {
-//            new YSAI.Core.data.AddressDetails
+//            new YSAI.AddressDetails
 //            {
 //                AddressName="M100,100",
-//                AddressDataType=YSAI.Core.@enum.DataType.String
+//                AddressDataType=YSAI.DataType.String
 //            }
 //        }
 //    }).RData.ToJson());
@@ -550,7 +550,7 @@ public class data
 //    Thread.Sleep(10000);
 //}
 
-//void SubscribeService_OnEvent(object? sender, YSAI.Core.data.EventResult e)
+//void SubscribeService_OnEvent(object? sender, YSAI.EventResult e)
 //{
 //    Console.WriteLine(e.ToJson().JsonFormatting());
 //}
@@ -585,7 +585,7 @@ public class data
 //address.AddressArray.Add(new AddressDetails()
 //{
 //    AddressName = "DB71.DBD4",
-//    AddressDataType = YSAI.Core.@enum.DataType.String,
+//    AddressDataType = YSAI.DataType.String,
 //    AddressType = AddressType.Reality
 //});
 
@@ -667,7 +667,7 @@ public class data
 //    address.AddressArray.Add(new AddressDetails()
 //    {
 //        AddressName = addresss[i].Trim(),
-//        AddressDataType = YSAI.Core.@enum.DataType.Float,
+//        AddressDataType = YSAI.DataType.Float,
 //        AddressDescribe = msgs[i],
 //        AddressType = AddressType.Reality
 //    });
@@ -963,7 +963,7 @@ public class data
 //{
 //    switch (e.RType)
 //    {
-//        case YSAI.Core.@enum.ResultType.KeyValue:
+//        case YSAI.ResultType.KeyValue:
 
 //            ConcurrentDictionary<string, AddressValue> pairs = e.GetRData<ConcurrentDictionary<string, AddressValue>>();
 //            foreach (var item in pairs)
@@ -1341,12 +1341,12 @@ public class data
 //            //数据处理
 //            AddressValue addressValue = AddressHandler.ExecuteDispose(item, new Random().NextDouble().ToString());
 
-//            //AddressValue addressValue = YSAI.Core.data.AddressHandler.ExecuteDispose(item, "1");
+//            //AddressValue addressValue = YSAI.AddressHandler.ExecuteDispose(item, "1");
 
 //            //数据添加
 //            param.AddOrUpdate(item.AddressName, addressValue, (k, v) => addressValue);
 //        }
-//        return Break("Read", true, RData: param, RType: YSAI.Core.@enum.ResultType.KeyValue);
+//        return Break("Read", true, RData: param, RType: YSAI.ResultType.KeyValue);
 //    }
 
 //}

+ 19 - 19
src/YSAI.Test.Console/Program.cs

@@ -192,7 +192,7 @@ Console.WriteLine();
 //    new AddressDetails()
 //    {
 //        AddressName = "Constants.bFPUSupport",
-//        AddressDataType = YSAI.Core.@enum.DataType.Bool
+//        AddressDataType = YSAI.DataType.Bool
 //    }
 //};
 
@@ -288,12 +288,12 @@ Console.WriteLine();
 //    new AddressDetails()
 //    {
 //        AddressName = "ns=2;s=YT6022_VALUE_SJ2147_P_CUR_9",
-//        AddressDataType = YSAI.Core.@enum.DataType.Float
+//        AddressDataType = YSAI.DataType.Float
 //    },
 //    new AddressDetails()
 //    {
 //         AddressName = "ns=2;s=YT6022_VALUE_SJ2147_W_P3",
-//        AddressDataType = YSAI.Core.@enum.DataType.Float
+//        AddressDataType = YSAI.DataType.Float
 //    }
 //};
 
@@ -353,31 +353,31 @@ Console.WriteLine();
 //        {
 //            SN=$"{Guid.NewGuid().ToNString()} - Factory",
 //            AddressName = "DB71.DBD4",
-//            AddressDataType = YSAI.Core.@enum.DataType.Float
+//            AddressDataType = YSAI.DataType.Float
 //        },
 //         new AddressDetails()//OpcUa点位地址
 //        {
 //            SN=$"{Guid.NewGuid().ToNString()} - Factory",
 //            AddressName = "ns=2;s=Scalar_Simulation_Float",
-//            AddressDataType = YSAI.Core.@enum.DataType.Float
+//            AddressDataType = YSAI.DataType.Float
 //        },
 //         new AddressDetails()//OpcDa点位地址
 //        {
 //            SN=$"{Guid.NewGuid().ToNString()} - Factory",
 //            AddressName = "a.a.a",
-//            AddressDataType = YSAI.Core.@enum.DataType.Float
+//            AddressDataType = YSAI.DataType.Float
 //        },
 //         new AddressDetails()//Modbus点位地址
 //        {
 //            SN=$"{Guid.NewGuid().ToNString()} - Factory",
 //            AddressName = "0,2",
-//            AddressDataType = YSAI.Core.@enum.DataType.Float
+//            AddressDataType = YSAI.DataType.Float
 //        },
 //         new AddressDetails()  //DB点位地址
 //        {
 //            SN=$"{Guid.NewGuid().ToNString()} - Factory",
 //            AddressName = "数据库采集",
-//            AddressDataType = YSAI.Core.@enum.DataType.String,
+//            AddressDataType = YSAI.DataType.String,
 //            AddressExtendParam=new DBData.ExtendParam.Read()
 //            {
 //               Sql = @"SELECT A,B,C,D FORM TABLE ORDER BY YPBH DESC  LIMIT 0,1",
@@ -388,7 +388,7 @@ Console.WriteLine();
 //        {
 //            SN=$"A88",                                              //可以理解成唯一标识符(可以存机台号、组名、车间、厂)
 //            AddressAnotherName="A_Name",                            //地址别名
-//            AddressDataType=YSAI.Core.@enum.DataType.Float,         //数据类型
+//            AddressDataType=YSAI.DataType.Float,         //数据类型
 //            AddressDescribe="NameDescribe",                         //地址描述
 //            AddressExtendParam=new object(),                        //扩展数据
 //            AddressName="Name",                                     //地址名称
@@ -494,7 +494,7 @@ Console.WriteLine();
 //address.AddressArray.Add(new AddressDetails()
 //{
 //    AddressName = "DB71.DBD4",
-//    AddressDataType = YSAI.Core.@enum.DataType.String,
+//    AddressDataType = YSAI.DataType.String,
 //    AddressType = AddressType.Reality
 //});
 
@@ -742,42 +742,42 @@ Console.WriteLine();
 ////address.AddressArray.Add(new AddressDetails()
 ////{
 ////    AddressName = "0,2",
-////    AddressDataType = YSAI.Core.@enum.DataType.Double,
+////    AddressDataType = YSAI.DataType.Double,
 ////    AddressType = AddressType.Reality,
 ////    AddressDescribe = "湿度"
 ////});
 ////address.AddressArray.Add(new AddressDetails()
 ////{
 ////    AddressName = "2,2",
-////    AddressDataType = YSAI.Core.@enum.DataType.Double,
+////    AddressDataType = YSAI.DataType.Double,
 ////    AddressType = AddressType.Reality,
 ////    AddressDescribe = "密度"
 ////});
 ////address.AddressArray.Add(new AddressDetails()
 ////{
 ////    AddressName = "4,2",
-////    AddressDataType = YSAI.Core.@enum.DataType.Double,
+////    AddressDataType = YSAI.DataType.Double,
 ////    AddressType = AddressType.Reality,
 ////    AddressDescribe = "上一次的温度"
 ////});
 ////address.AddressArray.Add(new AddressDetails()
 ////{
 ////    AddressName = "6,2",
-////    AddressDataType = YSAI.Core.@enum.DataType.Double,
+////    AddressDataType = YSAI.DataType.Double,
 ////    AddressType = AddressType.Reality,
 ////    AddressDescribe = "实时湿度"
 ////});
 ////address.AddressArray.Add(new AddressDetails()
 ////{
 ////    AddressName = "8,2",
-////    AddressDataType = YSAI.Core.@enum.DataType.Double,
+////    AddressDataType = YSAI.DataType.Double,
 ////    AddressType = AddressType.Reality,
 ////    AddressDescribe = "实时密度"
 ////});
 //address.AddressArray.Add(new AddressDetails()
 //{
 //    AddressName = "0,2",
-//    AddressDataType = YSAI.Core.@enum.DataType.Double,
+//    AddressDataType = YSAI.DataType.Double,
 //    AddressType = AddressType.Reality,
 //    AddressDescribe = "湿度,密度,长度"
 //});
@@ -822,7 +822,7 @@ Console.WriteLine();
 //address.AddressArray.Add(new AddressDetails()
 //{
 //    AddressName = "109",
-//    AddressDataType = YSAI.Core.@enum.DataType.Double,
+//    AddressDataType = YSAI.DataType.Double,
 //    AddressType = AddressType.Reality
 //});
 //ModbusClientOperate modbusClientOperate = ModbusClientOperate.Instance(new ModbusClientData.Basics
@@ -905,7 +905,7 @@ Console.WriteLine();
 //address.AddressArray.Add(new AddressDetails()
 //{
 //    AddressName = "DB71.DBD4",
-//    AddressDataType = YSAI.Core.@enum.DataType.Float,
+//    AddressDataType = YSAI.DataType.Float,
 //    AddressType = AddressType.Reality
 //});
 //OperateResult operateResult = s7ClientOperate.On();
@@ -1151,7 +1151,7 @@ Console.WriteLine();
 //    Console.ForegroundColor = ConsoleColor.Red;
 //    Console.WriteLine(result.Message);
 //}
-//void DaqEvent(object? sender, YSAI.Core.data.EventResult e)
+//void DaqEvent(object? sender, YSAI.EventResult e)
 //{
 //    if (e.Message == "点位数据更新")
 //        return;

파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 1177 - 1197
src/YSAI.Test/UnitTest1.cs


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

@@ -17,7 +17,7 @@
       <PrivateAssets>all</PrivateAssets>
       <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
     </PackageReference>
-	<PackageReference Include="YSAI.Core" Version="23.327.26637" />
+	<PackageReference Include="YSAI.Core" Version="23.328.24076" />
   </ItemGroup>
 
   <ItemGroup>

+ 2 - 3
src/YSAI.Tool.Core/can/CanToolController.cs

@@ -6,8 +6,8 @@ using System.Data;
 using System.Diagnostics;
 using System.Windows.Input;
 using YSAI.Can;
-using YSAI.Core.data;
 using YSAI.Langs;
+using YSAI.Model.data;
 using YSAI.Mvvm;
 using YSAI.Unility;
 using YSAI.Unility.Windows;
@@ -15,7 +15,6 @@ using YSAI.Window;
 using YSAI.WindowMessage;
 using static YSAI.Can.CanData;
 using FileTool = YSAI.Unility.Windows.FileTool;
-
 namespace YSAI.Tool.Core.can
 {
     /// <summary>
@@ -170,7 +169,7 @@ namespace YSAI.Tool.Core.can
             else
             {
                 canOperator.OnEvent += CanOperator_OnEvent;
-                operateResult = canOperator.Subscribe(new YSAI.Core.data.Address()
+                operateResult = canOperator.Subscribe(new YSAI.Model.data.Address()
                 {
                     AddressArray = new List<AddressDetails>
                     {

+ 1 - 2
src/YSAI.Tool.Core/mqtt/client/MqttClientToolController.cs

@@ -2,12 +2,11 @@
 using System;
 using System.IO;
 using System.Windows.Input;
-using YSAI.Core.data;
 using YSAI.Log;
+using YSAI.Model.data;
 using YSAI.Mqtt.client;
 using YSAI.Mvvm;
 using YSAI.Unility;
-
 namespace YSAI.Tool.Core.mqtt.client
 {
     /// <summary>

+ 1 - 2
src/YSAI.Tool.Core/mqtt/service/MqttServiceToolController.cs

@@ -1,12 +1,11 @@
 using System;
 using System.IO;
 using System.Windows.Input;
-using YSAI.Core.data;
 using YSAI.Log;
+using YSAI.Model.data;
 using YSAI.Mqtt.service;
 using YSAI.Mvvm;
 using YSAI.Unility;
-
 namespace YSAI.Tool.Core.mqtt.service
 {
     /// <summary>

+ 1 - 2
src/YSAI.Tool.Core/mqtt/service/webScoket/MqttWebSocketServiceToolController.cs

@@ -1,13 +1,12 @@
 using System;
 using System.IO;
 using System.Windows.Input;
-using YSAI.Core.data;
 using YSAI.Log;
+using YSAI.Model.data;
 using YSAI.Mqtt.service.websocket;
 using YSAI.Mvvm;
 using YSAI.Unility;
 using YSAI.WindowMessage;
-
 namespace YSAI.Tool.Core.mqtt.service.websocket
 {
     /// <summary>

+ 3 - 3
src/YSAI.Tool.Core/opc/da/http/OpcDaHttpClientToolController.cs

@@ -4,8 +4,8 @@ using System.Collections.Generic;
 using System.Collections.ObjectModel;
 using System.IO;
 using System.Windows.Input;
-using YSAI.Core.data;
 using YSAI.Log;
+using YSAI.Model.data;
 using YSAI.Mvvm;
 using YSAI.Opc.da.http;
 using YSAI.Opc.da.http.structure;
@@ -531,7 +531,7 @@ namespace YSAI.Tool.Core.opc.da.http
         public void OnSubscribe()
         {
             SubscribeIsEnabled = false;
-            OperateResult operateResult = Operate.Subscribe(new YSAI.Core.data.Address()
+            OperateResult operateResult = Operate.Subscribe(new YSAI.Model.data.Address()
             {
                 AddressArray = new List<AddressDetails>()
                 {
@@ -557,7 +557,7 @@ namespace YSAI.Tool.Core.opc.da.http
         public void OnUnSubscribe()
         {
             UnSubscribeIsEnabled = false;
-            OperateResult operateResult = Operate.UnSubscribe(new YSAI.Core.data.Address()
+            OperateResult operateResult = Operate.UnSubscribe(new YSAI.Model.data.Address()
             {
                 AddressArray = new List<AddressDetails>()
                 {

+ 1 - 2
src/YSAI.Tool.Core/opc/ua/client/OpcUaClientToolController.cs

@@ -10,15 +10,14 @@ using System.Windows;
 using System.Windows.Controls;
 using System.Windows.Input;
 using System.Windows.Media;
-using YSAI.Core.data;
 using YSAI.Log;
+using YSAI.Model.data;
 using YSAI.Mvvm;
 using YSAI.Opc.ua.client;
 using YSAI.Opc.ua.service.core;
 using YSAI.Tool.Core.opc.ua.client.data;
 using YSAI.Unility;
 using YSAI.Window;
-
 namespace YSAI.Tool.Core.opc.ua.client
 {
     /// <summary>

+ 1 - 2
src/YSAI.Tool.Core/opc/ua/service/OpcUaServiceToolController.cs

@@ -1,12 +1,11 @@
 using System;
 using System.IO;
 using System.Windows.Input;
-using YSAI.Core.data;
 using YSAI.Log;
+using YSAI.Model.data;
 using YSAI.Mvvm;
 using YSAI.Opc.ua.service;
 using YSAI.Unility;
-
 namespace YSAI.Tool.Core.opc.ua.service
 {
     /// <summary>

+ 1 - 1
src/YSAI.Tool.Core/serialport/SerialPortToolController.cs

@@ -408,7 +408,7 @@ namespace YSAI.Tool.Core.serialport
         //    }
         //}
 
-        //private void SerialPortOperator_OnEvent1(object? sender, YSAI.Core.data.EventResult e)
+        //private void SerialPortOperator_OnEvent1(object? sender, YSAI.EventResult e)
         //{
         //    throw new NotImplementedException();
         //}

+ 1 - 2
src/YSAI.Tool.Core/sockettcpclient/SocketTcpClientToolController.cs

@@ -1,12 +1,11 @@
 using System;
 using System.Text;
 using YSAI.Core.communication.net.tcp.client;
-using YSAI.Core.data;
 using YSAI.Langs;
+using YSAI.Model.data;
 using YSAI.Mvvm;
 using YSAI.Unility;
 using YSAI.WindowMessage;
-
 namespace YSAI.Tool.Core.sockettcpclient
 {
     public class SocketTcpClientToolController : NotifyObject

+ 1 - 2
src/YSAI.Tool.Core/sockettcpserver/SocketTcpServerToolController.cs

@@ -4,14 +4,13 @@ using System.Text;
 using System.Windows;
 using System.Windows.Controls;
 using YSAI.Core.communication.net.tcp.service;
-using YSAI.Core.data;
 using YSAI.Langs;
+using YSAI.Model.data;
 using YSAI.Mvvm;
 using YSAI.Unility;
 using YSAI.WindowMessage;
 using static YSAI.Core.communication.net.tcp.service.TcpServiceData;
 using MessageBox = YSAI.WindowMessage.MessageBox;
-
 namespace YSAI.Tool.Core.sockettcpserver
 {
     public class SocketTcpServerToolController : NotifyObject

+ 1 - 2
src/YSAI.Tool.Core/socketudp/SocketUdpToolController.cs

@@ -3,13 +3,12 @@ using System.Collections.ObjectModel;
 using System.Net;
 using System.Text;
 using YSAI.Core.communication.net.udp;
-using YSAI.Core.data;
 using YSAI.Langs;
+using YSAI.Model.data;
 using YSAI.Mvvm;
 using YSAI.Unility;
 using YSAI.WindowMessage;
 using static YSAI.Core.communication.net.udp.UdpData;
-
 namespace YSAI.Tool.Core.socketudp
 {
     public class SocketUdpToolController : NotifyObject

+ 4 - 4
src/YSAI.VT/Program.cs

@@ -15,16 +15,16 @@ namespace YSAI.VT
             List<string> strings = new List<string>
             {
 #if RELEASE
-                //"YSAI.Model",
-                "YSAI.Core",
-
                 //"YSAI.Unility",
                 //"YSAI.Log",
+
+                //"YSAI.Model",
+                //"YSAI.Core",
+
                 //"YSAI.Rpc",
                 //"YSAI.Redis",
                 //"YSAI.Reflection",
                 //"YSAI.Script",
-                //"YSAI.Handler"
 
                 //"YSAI.AllenBradley",
                 //"YSAI.Beckhoff",