Kaynağa Gözat

版本更新

Shun 2 yıl önce
ebeveyn
işleme
4e5d21779f

+ 109 - 1
src/YSAI.DAQ/YSAI.Beckhoff/BeckhoffOperate.cs

@@ -7,6 +7,7 @@ using YSAI.Core.data;
 using YSAI.Core.@interface;
 using YSAI.Core.virtualAddress;
 using YSAI.Unility;
+using static YSAI.Unility.ReflexTool;
 
 namespace YSAI.Beckhoff
 {
@@ -60,12 +61,15 @@ namespace YSAI.Beckhoff
         /// <summary>
         /// 构造函数
         /// </summary>
-        /// <param name="basics"></param>
+        /// <param name="basics">基础数据</param>
         public BeckhoffOperate(BeckhoffData.Basics basics)
         {
             this.basics = basics;
         }
 
+        public BeckhoffOperate()
+        { }
+
         /// <summary>
         /// 基础数据
         /// </summary>
@@ -719,5 +723,109 @@ namespace YSAI.Beckhoff
         {
             return Task.Run(() => Write(Values));
         }
+
+        public OperateResult GetParam()
+        {
+            string SN = Depart("GetParam");
+            try
+            {
+                //通过反射得到参数信息
+                List<LibInstanceParam>? libInstanceParams = ReflexTool.GetClassAllPropertyData<BeckhoffData.Basics>();
+                string message = TAG.Replace("Operate", string.Empty);
+                string nameSpace = "YSAI.Beckhoff.BeckhoffOperate";
+                BeckhoffData.Basics beckhoffData = new BeckhoffData.Basics();
+                LibParamStructure? libParamStructure = new LibParamStructure()
+                {
+                    Code = message,
+                    Name = message,
+                    Description = message,
+                    Subset = new List<LibParamStructure.subset>
+                        {
+                            new LibParamStructure.subset
+                            {
+                                Description = message,
+                                Name = message,
+                                Propertie = new List<LibParamStructure.subset.propertie>()
+                            }
+                        }
+                };
+                libParamStructure.Subset[0].Propertie.Add(new LibParamStructure.subset.propertie
+                {
+                    PropertyName = "ServiceName",
+                    Description = "实现类名",
+                    IsShow = false,
+                    IsMust = false,
+                    Value = nameSpace,
+                    DataCate = LibParamStructure.subset.propertie.dataCate.text
+                });
+                foreach (var lib in libInstanceParams)
+                {
+                    string param = ReflexTool.GetModelValue(lib.Name, beckhoffData);
+                    LibParamStructure.subset.propertie propertie = new LibParamStructure.subset.propertie
+                    {
+                        PropertyName = lib.Name,
+                        Description = lib.Describe,
+                        IsShow = true,
+                        Default = param,
+                        Value = param
+                    };
+
+                    switch (lib.ParamType)
+                    {
+                        case "Enum":
+                            propertie.DataCate = LibParamStructure.subset.propertie.dataCate.select;
+                            propertie.Options = new List<LibParamStructure.subset.propertie.options>();
+                            foreach (var val in lib.EnumArray as List<dynamic>)
+                            {
+                                string des = val.Describe;
+                                if (!string.IsNullOrEmpty(des))
+                                {
+                                    des = $"({val.Describe})";
+                                }
+                                propertie.Options.Add(new LibParamStructure.subset.propertie.options
+                                {
+                                    Key = val.Name + des,
+                                    Value = val.Value,
+                                });
+                            }
+                            break;
+
+                        case "Int32":
+                            propertie.DataCate = LibParamStructure.subset.propertie.dataCate.unmber;
+                            break;
+
+                        case "String":
+                            propertie.DataCate = LibParamStructure.subset.propertie.dataCate.text;
+                            break;
+
+                        case "Boolean":
+                            propertie.DataCate = LibParamStructure.subset.propertie.dataCate.radio;
+                            propertie.Options = new List<LibParamStructure.subset.propertie.options>();
+                            propertie.Options.Add(new LibParamStructure.subset.propertie.options
+                            {
+                                Key = "是",
+                                Value = true,
+                            });
+                            propertie.Options.Add(new LibParamStructure.subset.propertie.options
+                            {
+                                Key = "否",
+                                Value = false,
+                            });
+                            break;
+                    }
+                    libParamStructure.Subset[0].Propertie.Add(propertie);
+                }
+                return Break(SN, true, libParamStructure.ToJson().JsonFormatting(), libParamStructure, Core.@enum.ResultType.Object);
+            }
+            catch (Exception ex)
+            {
+                return Break(SN, false, ex.Message, Exception: ex);
+            }
+        }
+
+        public Task<OperateResult> GetParamAsync()
+        {
+            return Task.Run(() => GetParam());
+        }
     }
 }

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

@@ -14,7 +14,7 @@
 
 	<ItemGroup>
 		<PackageReference Include="Beckhoff.TwinCAT.Ads" Version="6.1.86" />
-		<PackageReference Include="YSAI.Core" Version="1.0.0.70" />
+		<PackageReference Include="YSAI.Core" Version="1.0.0.71" />
 	</ItemGroup>
 
 	<!--<ItemGroup>

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

@@ -17,7 +17,7 @@
   </ItemGroup>
 
   <ItemGroup>
-    <PackageReference Include="YSAI.Core" Version="1.0.0.70" />
+    <PackageReference Include="YSAI.Core" Version="1.0.0.71" />
   </ItemGroup>
 
   <ItemGroup>

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

@@ -5,7 +5,7 @@
     <ImplicitUsings>enable</ImplicitUsings>
     <Nullable>enable</Nullable>
     <GeneratePackageOnBuild>True</GeneratePackageOnBuild>
-    <Version>1.0.0.71</Version>
+    <Version>1.0.0.72</Version>
     <Authors>Shun</Authors>
     <Company>YSAI</Company>
     <Product>SCADA</Product>

+ 1 - 1
src/YSAI.DAQ/YSAI.Core/interface/IOrAbstract.cs

@@ -82,7 +82,7 @@ namespace YSAI.Core.@interface
             //消息数据组织
             string message = $"[ {TAG} ]( {MethodName} {(State ? "成功" : "异常")} ){(string.IsNullOrEmpty(Message) ? string.Empty : $" : {Message}")}";
             //异常则输出日志
-            if (!State) { LogHelper.Error(message, $"{TAG}{MethodName}.log", Exception); }
+            if (!State) { LogHelper.Error(message, $"{TAG}/{MethodName}.log", Exception); }
             //返回状态
             return new OperateResult(State, message, runTime, RData, RType);
         }

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

@@ -18,7 +18,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="1.0.0.70" />
+		<PackageReference Include="YSAI.Core" Version="1.0.0.71" />
 	</ItemGroup>
 	<!--<ItemGroup>
 		<ProjectReference Include="..\YSAI.Core\YSAI.Core.csproj" />

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

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

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

@@ -14,7 +14,7 @@
 
   <ItemGroup>
     <PackageReference Include="Confluent.Kafka" Version="2.3.0" />
-    <PackageReference Include="YSAI.Core" Version="1.0.0.70" />
+    <PackageReference Include="YSAI.Core" Version="1.0.0.71" />
   </ItemGroup>
 	
 	<!--<ItemGroup>

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

@@ -15,7 +15,7 @@
 	<ItemGroup>
     <PackageReference Include="NModbus" Version="3.0.81" />
     <PackageReference Include="NModbus.Serial" Version="3.0.81" />
-    <PackageReference Include="YSAI.Core" Version="1.0.0.70" />
+    <PackageReference Include="YSAI.Core" Version="1.0.0.71" />
   </ItemGroup>
 
 	<!--<ItemGroup>

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

@@ -15,7 +15,7 @@
   <ItemGroup>
     <PackageReference Include="MQTTnet" Version="4.3.1.873" />
     <PackageReference Include="MQTTnet.AspNetCore" Version="4.3.1.873" />
-    <PackageReference Include="YSAI.Core" Version="1.0.0.70" />
+    <PackageReference Include="YSAI.Core" Version="1.0.0.71" />
   </ItemGroup>
 
 	<!--<ItemGroup>

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

@@ -14,6 +14,6 @@
 	<ItemGroup>
 		<PackageReference Include="DotNetty.Handlers" Version="0.7.5" />
 		<PackageReference Include="DotNetty.Transport" Version="0.7.5" />
-		<PackageReference Include="YSAI.Core" Version="1.0.0.70" />
+		<PackageReference Include="YSAI.Core" Version="1.0.0.71" />
 	</ItemGroup>
 </Project>

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

@@ -13,7 +13,7 @@
   </PropertyGroup>
   <ItemGroup>
     <PackageReference Include="OPCFoundation.NetStandard.Opc.Ua" Version="1.4.372.76" />
-	<PackageReference Include="YSAI.Core" Version="1.0.0.70" />
+	<PackageReference Include="YSAI.Core" Version="1.0.0.71" />
   </ItemGroup>
 
 

+ 2 - 2
src/YSAI.DAQ/YSAI.Opc/ua/client/OpcUaClientData.cs

@@ -50,9 +50,9 @@ namespace YSAI.Opc.ua.client
             public string? ServerUrl { get; set; }
 
             /// <summary>
-            /// 自定义名称(唯一)
+            /// 客户端名称(唯一)
             /// </summary>
-            [Description("自定义名称(唯一)")]
+            [Description("客户端名称(唯一)")]
             public string? CustomName { get; set; } = Guid.NewGuid().ToLowerNString();
 
             /// <summary>

+ 7 - 20
src/YSAI.DAQ/YSAI.Opc/ua/client/OpcUaClientOperate.cs

@@ -230,11 +230,9 @@ namespace YSAI.Opc.ua.client
         /// </summary>
         private void Subscription_StateChanged(Subscription subscription, SubscriptionStateChangedEventArgs e, string tag)
         {
-#if DEBUG
             string Message = EnumParse(e.Status.ToString(), EnumType.StateChanged);
             string MessageJson = "{" + $"\"Uri\":\"{basics.ServerUrl}\",\"CustomName\":\"{basics.CustomName}\",\"StatusCode\":\"{e.Status}\",\"StatusMessage\":\"{Message}\"" + "}";
-            LogHelper.Verbose($"订阅状态\r\n{MessageJson.JsonFormatting()}", $"{TAG}/StateChanged.log");
-#endif
+            OnEventHandler(subscription, new EventResult(true, "连接状态已改变", MessageJson, Core.@enum.ResultType.Json));
         }
 
         /// <summary>
@@ -242,11 +240,9 @@ namespace YSAI.Opc.ua.client
         /// </summary>
         private void Subscription_PublishStatusChanged(Subscription subscription, PublishStateChangedEventArgs e)
         {
-#if DEBUG
             string Message = EnumParse(e.Status.ToString(), EnumType.PublishStatusChanged);
             string MessageJson = "{" + $"\"Uri\":\"{basics.ServerUrl}\",\"CustomName\":\"{basics.CustomName}\",\"StatusCode\":\"{e.Status}\",\"StatusMessage\":\"{Message}\"" + "}";
-            LogHelper.Verbose($"指示订阅的发布状态已停止或已恢复\r\n{MessageJson.JsonFormatting()}", $"{TAG}/PublishError.log");
-#endif
+            OnEventHandler(subscription, new EventResult(true, "指示订阅的发布状态已停止或已恢复", MessageJson, Core.@enum.ResultType.Json));
         }
 
         /// <summary>
@@ -254,10 +250,8 @@ namespace YSAI.Opc.ua.client
         /// </summary>
         private void ClientSession_PublishError(ISession session, PublishErrorEventArgs e)
         {
-#if DEBUG
             string MessageJson = "{" + $"\"Uri\":\"{basics.ServerUrl}\",\"CustomName\":\"{basics.CustomName}\",\"StatusCode\":\"{e.Status}\"" + "}";
-            LogHelper.Verbose($"处理发布响应时发生异常\r\n{MessageJson.JsonFormatting()}", $"{TAG}/PublishError.log");
-#endif
+            OnEventHandler(session, new EventResult(true, "处理发布响应时发生异常", MessageJson, Core.@enum.ResultType.Json));
         }
 
         /// <summary>
@@ -265,10 +259,8 @@ namespace YSAI.Opc.ua.client
         /// </summary>
         private void ClientSession_PublishSequenceNumbersToAcknowledge(ISession session, PublishSequenceNumbersToAcknowledgeEventArgs e)
         {
-#if DEBUG
             string MessageJson = "{" + $"\"Uri\":\"{basics.ServerUrl}\",\"CustomName\":\"{basics.CustomName}\"" + "}";
-            LogHelper.Verbose($"发布请求即将确认序列号\r\n{MessageJson.JsonFormatting()}", $"{TAG}/PublishSequenceNumbersToAcknowledge.log");
-#endif
+            OnEventHandler(session, new EventResult(true, "发布请求即将确认序列号", MessageJson, Core.@enum.ResultType.Json));
         }
 
         /// <summary>
@@ -276,10 +268,9 @@ namespace YSAI.Opc.ua.client
         /// </summary>
         private void ClientSession_SessionClosing(object? sender, EventArgs e)
         {
-#if DEBUG
             string MessageJson = "{" + $"\"Uri\":\"{basics.ServerUrl}\",\"CustomName\":\"{basics.CustomName}\"" + "}";
             LogHelper.Verbose($"会话正在结束\r\n{MessageJson.JsonFormatting()}", $"{TAG}/SessionClosing.log");
-#endif
+            OnEventHandler(sender, new EventResult(true, "会话正在结束", MessageJson, Core.@enum.ResultType.Json));
         }
 
         /// <summary>
@@ -287,10 +278,8 @@ namespace YSAI.Opc.ua.client
         /// </summary>
         private void ClientSession_SessionConfigurationChanged(object? sender, EventArgs e)
         {
-#if DEBUG
             string MessageJson = "{" + $"\"Uri\":\"{basics.ServerUrl}\",\"CustomName\":\"{basics.CustomName}\"" + "}";
-            LogHelper.Verbose($"会话配置更改\r\n{MessageJson.JsonFormatting()}", $"{TAG}/SessionConfigurationChanged.log");
-#endif
+            OnEventHandler(sender, new EventResult(true, "会话配置更改", MessageJson, Core.@enum.ResultType.Json));
         }
 
         /// <summary>
@@ -298,10 +287,8 @@ namespace YSAI.Opc.ua.client
         /// </summary>
         private void ClientSession_SubscriptionsChanged(object? sender, EventArgs e)
         {
-#if DEBUG
             string MessageJson = "{" + $"\"Uri\":\"{basics.ServerUrl}\",\"CustomName\":\"{basics.CustomName}\"" + "}";
-            LogHelper.Verbose($"添加或删除订阅\r\n{MessageJson.JsonFormatting()}", $"{TAG}/SubscriptionsChanged.log");
-#endif
+            OnEventHandler(sender, new EventResult(true, "添加或删除订阅", MessageJson, Core.@enum.ResultType.Json));
         }
 
         private int ConnectedCounet = 0;

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

@@ -14,7 +14,7 @@
 
   <ItemGroup>
     <PackageReference Include="RabbitMQ.Client" Version="6.6.0" />
-    <PackageReference Include="YSAI.Core" Version="1.0.0.70" />
+    <PackageReference Include="YSAI.Core" Version="1.0.0.71" />
   </ItemGroup>
 
   <ItemGroup>

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

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

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

@@ -14,7 +14,7 @@
 
 	<ItemGroup>
     <PackageReference Include="S7netplus" Version="0.20.0" />
-    <PackageReference Include="YSAI.Core" Version="1.0.0.70" />
+    <PackageReference Include="YSAI.Core" Version="1.0.0.71" />
   </ItemGroup>
 
 	<!--<ItemGroup>

+ 19 - 12
src/YSAI.DAQ/YSAI.Test.All/Program.cs

@@ -1,4 +1,11 @@
-//using System.Text;
+using YSAI.Beckhoff;
+using YSAI.Core.data;
+
+OperateResult operateResult = new BeckhoffOperate().GetParam();
+
+Console.WriteLine();
+
+//using System.Text;
 //using YSAI.Core.communication.net.tcp.client;
 //using YSAI.Core.data;
 
@@ -12,22 +19,22 @@
 //OperateResult operateResult = tcpClientOperate.SendWait(Encoding.ASCII.GetBytes("S"));
 //Console.WriteLine();
 
-using YSAI.Log;
+//using YSAI.Log;
 
-LogHelper.Debug("111", consoleShow: false);
+//LogHelper.Debug("111", consoleShow: false);
 
-LogHelper.Debug("666", consoleShow: true);
+//LogHelper.Debug("666", consoleShow: true);
 
-LogHelper.Debug("111", consoleShow: true);
+//LogHelper.Debug("111", consoleShow: true);
 
-LogHelper.Debug("666", consoleShow: false);
+//LogHelper.Debug("666", consoleShow: false);
 
-while (true)
-{
-    Console.ReadLine();
-    LogHelper.Debug("666", consoleShow: true);
-    Console.ReadLine();
-}
+//while (true)
+//{
+//    Console.ReadLine();
+//    LogHelper.Debug("666", consoleShow: true);
+//    Console.ReadLine();
+//}
 
 //using System.Diagnostics;
 //using YSAI.Unility;

+ 1 - 3
src/YSAI.DAQ/YSAI.Test.All/YSAI.Test.All.csproj

@@ -13,9 +13,7 @@
   </ItemGroup>
 
   <ItemGroup>
-    <ProjectReference Include="..\YSAI.Log\YSAI.Log.csproj" />
-    <!--<ProjectReference Include="..\YSAI.Netty\YSAI.Netty.csproj" />
-    <ProjectReference Include="..\YSAI.Opc\YSAI.Opc.csproj" />-->
+    <ProjectReference Include="..\YSAI.Beckhoff\YSAI.Beckhoff.csproj" />
   </ItemGroup>
 
 

+ 1 - 1
src/YSAI.DAQ/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="1.0.0.70" />
+	<PackageReference Include="YSAI.Core" Version="1.0.0.71" />
   </ItemGroup>
 
   <ItemGroup>