lixun 2 лет назад
Родитель
Сommit
3500b768a4

+ 2 - 0
src/YSAI.DAQ/YSAI.DAQ.sln

@@ -35,6 +35,8 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "YSAI.Manage", "YSAI.Manage\
 EndProject
 EndProject
 Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "YSAI.Manage.Core", "YSAI.Manage.Core\YSAI.Manage.Core.csproj", "{57F9FF57-ADD3-40B0-AE20-C2F88A2784A0}"
 Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "YSAI.Manage.Core", "YSAI.Manage.Core\YSAI.Manage.Core.csproj", "{57F9FF57-ADD3-40B0-AE20-C2F88A2784A0}"
 EndProject
 EndProject
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "wpf", "wpf", "{6F526F44-A5B0-49D5-8E04-DBFDB5F8E6C6}"
+EndProject
 Global
 Global
 	GlobalSection(SolutionConfigurationPlatforms) = preSolution
 	GlobalSection(SolutionConfigurationPlatforms) = preSolution
 		Debug|Any CPU = Debug|Any CPU
 		Debug|Any CPU = Debug|Any CPU

+ 12 - 2
src/YSAI.DAQ/YSAI.Manage.Core/ManageOperate.cs

@@ -126,6 +126,10 @@ namespace YSAI.Manage.Core
                     ConfigFile.CopyToAsync(stream).Wait();
                     ConfigFile.CopyToAsync(stream).Wait();
                 }
                 }
 
 
+                //当配置更新时,底层统一管理将被释放
+                baseOperate?.Dispose();
+                baseOperate = null;
+
                 return Break("Update", true);
                 return Break("Update", true);
             }
             }
             catch (Exception ex)
             catch (Exception ex)
@@ -143,7 +147,7 @@ namespace YSAI.Manage.Core
         {
         {
             if (baseOperate == null)
             if (baseOperate == null)
             {
             {
-                Depart("Init");
+                
                 try
                 try
                 {
                 {
                     //配置赋值
                     //配置赋值
@@ -157,10 +161,16 @@ namespace YSAI.Manage.Core
                 }
                 }
                 catch (Exception ex)
                 catch (Exception ex)
                 {
                 {
+                    Depart("Init");
                     return Break("Init", false, ex.Message);
                     return Break("Init", false, ex.Message);
                 }
                 }
+                return baseOperate.Init();
+            }
+            else
+            {
+                Depart("Init");
+                return Break("Init", false, "已初始化");
             }
             }
-            return baseOperate.Init();
         }
         }
 
 
         public Task<OperateResult> InitAsync()
         public Task<OperateResult> InitAsync()

+ 21 - 0
src/YSAI.DAQ/YSAI.Manage.Core/base/ManageBaseOperate.cs

@@ -106,8 +106,24 @@ namespace YSAI.Manage.Core.@base
                     switch (manage.DType)
                     switch (manage.DType)
                     {
                     {
                         case DaqType.DB:
                         case DaqType.DB:
+
+                            DBData.Basics? dBData = manage.InstanceParam as DBData.Basics;
+                            if (dBData != null)
+                            {
+                                //获取一个实例
+                                DBOperate dBOperate = DBOperate.Instance(dBData);
+                                //把这个实例添加到集合中
+                                DBDaqObjArray.AddOrUpdate(dBData.SN, dBOperate, (k, v) => dBOperate);
+                            }
+                            else
+                            {
+                                return Break("Init",false,"数据库采集实例参数为空");   
+                            }
+
                             break;
                             break;
                         case DaqType.Modbus:
                         case DaqType.Modbus:
+
+
                             break;
                             break;
                         case DaqType.OpcUa:
                         case DaqType.OpcUa:
                             break;
                             break;
@@ -124,6 +140,7 @@ namespace YSAI.Manage.Core.@base
             {
             {
                 return Break("Init", false, ex.Message);
                 return Break("Init", false, ex.Message);
             }
             }
+            return Break("xx", false);
         }
         }
 
 
         public Task<OperateResult> InitAsync()
         public Task<OperateResult> InitAsync()
@@ -142,6 +159,7 @@ namespace YSAI.Manage.Core.@base
             {
             {
                 return Break("On", false, ex.Message);
                 return Break("On", false, ex.Message);
             }
             }
+            return Break("xx", false);
         }
         }
 
 
         public Task<OperateResult> OnAsync(DaqType? Name, string SN)
         public Task<OperateResult> OnAsync(DaqType? Name, string SN)
@@ -160,6 +178,7 @@ namespace YSAI.Manage.Core.@base
             {
             {
                 return Break("Off", false, ex.Message);
                 return Break("Off", false, ex.Message);
             }
             }
+            return Break("xx", false);
         }
         }
 
 
         public Task<OperateResult> OffAsync(DaqType? Name, string SN)
         public Task<OperateResult> OffAsync(DaqType? Name, string SN)
@@ -178,6 +197,7 @@ namespace YSAI.Manage.Core.@base
             {
             {
                 return Break("Read", false, ex.Message);
                 return Break("Read", false, ex.Message);
             }
             }
+            return Break("xx", false);
         }
         }
 
 
         public Task<OperateResult> ReadAsync(DaqType? Name, string SN, string AddressName)
         public Task<OperateResult> ReadAsync(DaqType? Name, string SN, string AddressName)
@@ -196,6 +216,7 @@ namespace YSAI.Manage.Core.@base
             {
             {
                 return Break("Write", false, ex.Message);
                 return Break("Write", false, ex.Message);
             }
             }
+            return Break("xx", false);
         }
         }
 
 
         public Task<OperateResult> WriteAsync(DaqType? Name, string SN, string AddressName, string Value, DataType DType)
         public Task<OperateResult> WriteAsync(DaqType? Name, string SN, string AddressName, string Value, DataType DType)

+ 0 - 25
src/YSAI.DAQ/YSAI.Mqtt/service/MqttServiceOperate.cs

@@ -160,31 +160,6 @@ namespace YSAI.Mqtt.service
             OnEventHandler?.Invoke(this, new Event() { Message = $"{LogHead}( {arg.ClientId} ) 身份验证成功", ClientId = arg.ClientId, Step = Steps.客户端身份验证事件 });
             OnEventHandler?.Invoke(this, new Event() { Message = $"{LogHead}( {arg.ClientId} ) 身份验证成功", ClientId = arg.ClientId, Step = Steps.客户端身份验证事件 });
             return Task.CompletedTask;
             return Task.CompletedTask;
         }
         }
-
-        /// <summary>
-        /// 自身类名
-        /// </summary>
-        private string ThisName = "MqttServiceOperate";
-
-        /// <summary>
-        /// 统一组织函数返回数据(带参数)
-        /// </summary>
-        /// <param name="Name">函数名</param>
-        /// <param name="State">状态</param>
-        /// <param name="Value">Value</param>
-        /// <param name="Message">信息</param>
-        /// <returns></returns>
-        private OperateResult Break(string Name, bool State, string? Message = null)
-        {
-            //返回运行时间(毫秒)
-            double milliseconds = RunTimeTool.Instance($"{ThisName}.{Name}").StopRecord().milliseconds;
-            //消息数据组织
-            string message = $"{LogHead} ( {Name} {(State ? "成功" : "异常")} ){(string.IsNullOrEmpty(Message) ? "" : $" : {Message}")}";
-            //异常则输出日志
-            if (!State) { LogHelper.Error(message, $"{ThisName}.log"); }
-            //返回状态
-            return new OperateResult(State, message, milliseconds);
-        }
         #endregion
         #endregion
 
 
         /// <summary>
         /// <summary>