Shun 2 yıl önce
ebeveyn
işleme
ba46403bbd

+ 0 - 144
src/YSAI.DAQ/YSAI.DaqManage/DaqManageData.cs

@@ -15,150 +15,6 @@ namespace YSAI.DaqManage
     /// </summary>
     public class DaqManageData
     {
-        /// <summary>
-        /// 数采管理
-        /// </summary>
-        public interface IDaqManage : IDisposable
-        {
-            /// <summary>
-            /// 设置库文件
-            /// </summary>
-            /// <param name="FormFiles">文件集合</param>
-            /// <returns>统一出参</returns>
-            OperateResult SettingLib(List<IFormFile> FormFiles);
-
-            /// <summary>
-            /// 删除文件
-            /// </summary>
-            /// <param name="FileNames">文件名集合</param>
-            /// <returns>统一出参</returns>
-            OperateResult DeleteFile(List<string> FileNames);
-
-            /// <summary>
-            /// 设置库配置文件
-            /// </summary>
-            /// <param name="FormFiles">文件集合</param>
-            /// <returns>统一出参</returns>
-            OperateResult SettingLibConfig(List<IFormFile> FormFiles);
-
-            /// <summary>
-            /// 修改库配置文件
-            /// </summary>
-            /// <param name="FormFiles">文件集合</param>
-            /// <returns>统一出参</returns>
-            OperateResult UpdateLibConfig(List<IFormFile> FormFiles);
-
-            /// <summary>
-            /// 程序集唯一标识符集合
-            /// </summary>
-            /// <returns>统一出参</returns>
-            List<string>? TypeSns();
-
-            /// <summary>
-            /// 实例唯一标识符集合
-            /// </summary>
-            /// <returns>统一出参</returns>
-            List<string>? InstanceSns();
-
-            /// <summary>
-            /// 释放指定实例
-            /// </summary>
-            /// <param name="ISn">实例唯一标识符</param>
-            /// <returns>统一出参</returns>
-            OperateResult DisposeISn(string ISn);
-
-            /// <summary>
-            /// 移除指定实例
-            /// </summary>
-            /// <param name="ISn">实例唯一标识符</param>
-            /// <returns>统一出参</returns>
-            OperateResult RemoveISn(string ISn);
-            /// <summary>
-            /// 打开
-            /// </summary>
-            /// <param name="ISn">实例唯一标识符</param>
-            /// <returns>统一出参</returns>
-            OperateResult On(string ISn);
-            /// <summary>
-            /// 关闭
-            /// </summary>
-            /// <param name="ISn">实例唯一标识符</param>
-            /// <returns>统一出参</returns>
-            OperateResult Off(string ISn);
-
-            /// <summary>
-            /// 读取
-            /// </summary>
-            /// <param name="FormFile">地址文件</param>
-            /// <param name="ISn">实例唯一标识符</param>
-            /// <returns>统一出参</returns>
-            OperateResult Read(IFormFile FormFile, string ISn);
-            /// <summary>
-            /// 读取
-            /// </summary>
-            /// <param name="address">地址</param>
-            /// <param name="ISn">实例唯一标识符</param>
-            /// <returns>统一出参</returns>
-            OperateResult Read(Address address, string ISn);
-            /// <summary>
-            /// 单点读取
-            /// </summary>
-            /// <param name="AddressName">地址名称</param>
-            /// <param name="ISn">实例唯一标识符</param>
-            /// <returns>统一出参</returns>
-            OperateResult Read(string AddressName, string ISn);
-
-            /// <summary>
-            /// 写入
-            /// </summary>
-            /// <typeparam name="V">数据类型</typeparam>
-            /// <param name="Values">键值</param>
-            /// <param name="ISn">实例唯一标识符</param>
-            /// <returns>统一出参</returns>
-            OperateResult Write<V>(ConcurrentDictionary<string, V> Values, string ISn);
-
-            /// <summary>
-            /// 单点写入
-            /// </summary>
-            /// <param name="AddressName">地址名称</param>
-            /// <param name="Value">值</param>
-            /// <param name="DaType">数据类型</param>
-            /// <param name="ISn">实例唯一标识符</param>
-            /// <returns>统一出参</returns>
-            OperateResult Write(string AddressName, string Value, DataType DaType, string ISn);
-
-            /// <summary>
-            /// 订阅
-            /// </summary>
-            /// <param name="FormFile">地址文件</param>
-            /// <param name="ISn">实例唯一标识符</param>
-            /// <returns>统一出参</returns>
-            OperateResult Subscribe(IFormFile FormFile, string ISn);
-            /// <summary>
-            /// 订阅
-            /// </summary>
-            /// <param name="address">地址</param>
-            /// <param name="ISn">实例唯一标识符</param>
-            /// <returns>统一出参</returns>
-            OperateResult Subscribe(Address address, string ISn);
-
-            /// <summary>
-            /// 取消订阅
-            /// </summary>
-            /// <param name="FormFile">地址文件</param>
-            /// <param name="ISn">实例唯一标识符</param>
-            /// <returns></returns>
-            OperateResult UnSubscribe(IFormFile FormFile, string ISn);
-
-            /// <summary>
-            /// 取消订阅
-            /// </summary>
-            /// <param name="FormFile">地址</param>
-            /// <param name="ISn">实例唯一标识符</param>
-            /// <returns></returns>
-            OperateResult UnSubscribe(Address address, string ISn);
-
-        }
         /// <summary>
         /// 基础数据
         /// </summary>

+ 106 - 1
src/YSAI.DAQ/YSAI.DaqManage/DaqManageOperate.cs

@@ -14,7 +14,7 @@ namespace YSAI.DaqManage
     /// 库:*.dll,
     /// 库配置:命名空间 + 类名.ISn.Config.json
     /// </summary>
-    public class DaqManageOperate : IBaseAbstract, IDaqManage
+    public class DaqManageOperate : IBaseAbstract, IDisposable
     {
         protected override string LogHead => "[ DaqManageOperate 操作 ]";
         protected override string ClassName => "DaqManageOperate";
@@ -608,6 +608,11 @@ namespace YSAI.DaqManage
             GC.SuppressFinalize(this);
             ThisObjList = null;
         }
+        /// <summary>
+        /// 释放指定实例
+        /// </summary>
+        /// <param name="ISn">实例唯一标识符</param>
+        /// <returns>统一出参</returns>
         public OperateResult DisposeISn(string ISn)
         {
             Depart("Dispose");
@@ -628,6 +633,10 @@ namespace YSAI.DaqManage
                 return Break("Dispose", false, ex.Message, Exc: ex);
             }
         }
+        /// <summary>
+        /// 程序集唯一标识符集合
+        /// </summary>
+        /// <returns>统一出参</returns>
         public List<string>? TypeSns()
         {
             if (TypeIoc != null)
@@ -636,6 +645,10 @@ namespace YSAI.DaqManage
             }
             return null;
         }
+        /// <summary>
+        /// 实例唯一标识符集合
+        /// </summary>
+        /// <returns>统一出参</returns>
         public List<string>? InstanceSns()
         {
             if (InstanceIoc != null)
@@ -644,6 +657,11 @@ namespace YSAI.DaqManage
             }
             return null;
         }
+        /// <summary>
+        /// 移除指定实例
+        /// </summary>
+        /// <param name="ISn">实例唯一标识符</param>
+        /// <returns>统一出参</returns>
         public OperateResult RemoveISn(string ISn)
         {
             Depart("Remove");
@@ -676,6 +694,12 @@ namespace YSAI.DaqManage
                 return Break("Remove", false, ex.Message, Exc: ex);
             }
         }
+        /// <summary>
+        /// 读取
+        /// </summary>
+        /// <param name="FormFile">地址文件</param>
+        /// <param name="ISn">实例唯一标识符</param>
+        /// <returns>统一出参</returns>
         public OperateResult Read(IFormFile FormFile, string ISn)
         {
             Depart("Read");
@@ -709,6 +733,12 @@ namespace YSAI.DaqManage
                 return Break("Read", false, ex.Message, Exc: ex);
             }
         }
+        /// <summary>
+        /// 读取
+        /// </summary>
+        /// <param name="FormFile">地址文件</param>
+        /// <param name="ISn">实例唯一标识符</param>
+        /// <returns>统一出参</returns>
         public OperateResult Read(Address address, string ISn)
         {
             Depart("Read");
@@ -728,6 +758,13 @@ namespace YSAI.DaqManage
                 return Break("Read", false, ex.Message, Exc: ex);
             }
         }
+        /// <summary>
+        /// 写入
+        /// </summary>
+        /// <typeparam name="V">数据类型</typeparam>
+        /// <param name="Values">键值</param>
+        /// <param name="ISn">实例唯一标识符</param>
+        /// <returns>统一出参</returns>
         public OperateResult Write<V>(ConcurrentDictionary<string, V> Values, string ISn)
         {
             Depart("Write");
@@ -747,6 +784,12 @@ namespace YSAI.DaqManage
                 return Break("Write", false, ex.Message, Exc: ex);
             }
         }
+        /// <summary>
+        /// 订阅
+        /// </summary>
+        /// <param name="FormFile">地址文件</param>
+        /// <param name="ISn">实例唯一标识符</param>
+        /// <returns>统一出参</returns>
         public OperateResult Subscribe(IFormFile FormFile, string ISn)
         {
             Depart("Subscribe");
@@ -780,6 +823,12 @@ namespace YSAI.DaqManage
                 return Break("Subscribe", false, ex.Message, Exc: ex);
             }
         }
+        /// <summary>
+        /// 订阅
+        /// </summary>
+        /// <param name="address">地址</param>
+        /// <param name="ISn">实例唯一标识符</param>
+        /// <returns>统一出参</returns>
         public OperateResult Subscribe(Address address, string ISn)
         {
             Depart("Subscribe");
@@ -799,6 +848,12 @@ namespace YSAI.DaqManage
                 return Break("Subscribe", false, ex.Message, Exc: ex);
             }
         }
+        /// <summary>
+        /// 取消订阅
+        /// </summary>
+        /// <param name="FormFile">地址文件</param>
+        /// <param name="ISn">实例唯一标识符</param>
+        /// <returns></returns>
         public OperateResult UnSubscribe(IFormFile FormFile, string ISn)
         {
             Depart("UnSubscribe");
@@ -832,6 +887,12 @@ namespace YSAI.DaqManage
                 return Break("UnSubscribe", false, ex.Message, Exc: ex);
             }
         }
+        /// <summary>
+        /// 取消订阅
+        /// </summary>
+        /// <param name="FormFile">地址</param>
+        /// <param name="ISn">实例唯一标识符</param>
+        /// <returns></returns>
         public OperateResult UnSubscribe(Address address, string ISn)
         {
             Depart("UnSubscribe");
@@ -851,6 +912,11 @@ namespace YSAI.DaqManage
                 return Break("UnSubscribe", false, ex.Message, Exc: ex);
             }
         }
+        /// <summary>
+        /// 打开
+        /// </summary>
+        /// <param name="ISn">实例唯一标识符</param>
+        /// <returns>统一出参</returns>
         public OperateResult On(string ISn)
         {
             Depart("On");
@@ -870,6 +936,11 @@ namespace YSAI.DaqManage
                 return Break("On", false, ex.Message, Exc: ex);
             }
         }
+        /// <summary>
+        /// 关闭
+        /// </summary>
+        /// <param name="ISn">实例唯一标识符</param>
+        /// <returns>统一出参</returns>
         public OperateResult Off(string ISn)
         {
             Depart("Off");
@@ -889,11 +960,25 @@ namespace YSAI.DaqManage
                 return Break("Off", false, ex.Message, Exc: ex);
             }
         }
+        /// <summary>
+        /// 单点读取
+        /// </summary>
+        /// <param name="AddressName">地址名称</param>
+        /// <param name="ISn">实例唯一标识符</param>
+        /// <returns>统一出参</returns>
         public OperateResult Read(string AddressName, string ISn)
         {
             Address address = new Address() { AddressArray = new List<AddressDetails> { new AddressDetails { AddressName = AddressName } } };
             return InstanceIoc[ISn].Read(address);
         }
+        /// <summary>
+        /// 单点写入
+        /// </summary>
+        /// <param name="AddressName">地址名称</param>
+        /// <param name="Value">值</param>
+        /// <param name="DaType">数据类型</param>
+        /// <param name="ISn">实例唯一标识符</param>
+        /// <returns>统一出参</returns>
         public OperateResult Write(string AddressName, string Value, DataType DaType, string ISn)
         {
             Depart("Write");
@@ -924,6 +1009,11 @@ namespace YSAI.DaqManage
             }
             return Write(pairs, ISn);
         }
+        /// <summary>
+        /// 设置库文件
+        /// </summary>
+        /// <param name="FormFiles">文件集合</param>
+        /// <returns>统一出参</returns>
         public OperateResult SettingLib(List<IFormFile> FormFiles)
         {
             Depart("SettingLib");
@@ -956,6 +1046,11 @@ namespace YSAI.DaqManage
                 return Break("SettingLib", false, ex.Message, Exc: ex);
             }
         }
+        /// <summary>
+        /// 删除文件
+        /// </summary>
+        /// <param name="FileNames">文件名集合</param>
+        /// <returns>统一出参</returns>
         public OperateResult DeleteFile(List<string> FileNames)
         {
             Depart("DeleteFile");
@@ -986,6 +1081,11 @@ namespace YSAI.DaqManage
                 return Break("DeleteFile", false, ex.Message, Exc: ex);
             }
         }
+        /// <summary>
+        /// 设置库配置文件
+        /// </summary>
+        /// <param name="FormFiles">文件集合</param>
+        /// <returns>统一出参</returns>
         public OperateResult SettingLibConfig(List<IFormFile> FormFiles)
         {
             Depart("SettingLibConfig");
@@ -1018,6 +1118,11 @@ namespace YSAI.DaqManage
                 return Break("SettingLibConfig", false, ex.Message, Exc: ex);
             }
         }
+        /// <summary>
+        /// 修改库配置文件
+        /// </summary>
+        /// <param name="FormFiles">文件集合</param>
+        /// <returns>统一出参</returns>
         public OperateResult UpdateLibConfig(List<IFormFile> FormFiles)
         {
             Depart("UpdateLibConfig");

+ 0 - 96
src/YSAI.DAQ/YSAI.RelayManage/RelayManageData.cs

@@ -6,102 +6,6 @@ namespace YSAI.RelayManage
 {
     public class RelayManageData
     {
-        /// <summary>
-        /// <summary>
-        /// 转发管理
-        /// </summary>
-        public interface IRelayManage : IDisposable
-        {
-            /// <summary>
-            /// 设置库文件
-            /// </summary>
-            /// <param name="FormFiles">文件集合</param>
-            /// <returns>统一出参</returns>
-            OperateResult SettingLib(List<IFormFile> FormFiles);
-
-            /// <summary>
-            /// 删除文件
-            /// </summary>
-            /// <param name="FileNames">文件名集合</param>
-            /// <returns>统一出参</returns>
-            OperateResult DeleteFile(List<string> FileNames);
-
-            /// <summary>
-            /// 设置库配置文件
-            /// </summary>
-            /// <param name="FormFiles">文件集合</param>
-            /// <returns>统一出参</returns>
-            OperateResult SettingLibConfig(List<IFormFile> FormFiles);
-
-            /// <summary>
-            /// 修改库配置文件
-            /// </summary>
-            /// <param name="FormFiles">文件集合</param>
-            /// <returns>统一出参</returns>
-            OperateResult UpdateLibConfig(List<IFormFile> FormFiles);
-
-            /// <summary>
-            /// 程序集唯一标识符集合
-            /// </summary>
-            /// <returns>统一出参</returns>
-            List<string>? TypeSns();
-
-            /// <summary>
-            /// 实例唯一标识符集合
-            /// </summary>
-            /// <returns>统一出参</returns>
-            List<string>? InstanceSns();
-
-            /// <summary>
-            /// 释放指定实例
-            /// </summary>
-            /// <param name="ISn">实例唯一标识符</param>
-            /// <returns>统一出参</returns>
-            OperateResult DisposeISn(string ISn);
-
-            /// <summary>
-            /// 移除指定实例
-            /// </summary>
-            /// <param name="ISn">实例唯一标识符</param>
-            /// <returns>统一出参</returns>
-            OperateResult RemoveISn(string ISn);
-            /// <summary>
-            /// 打开
-            /// </summary>
-            /// <param name="ISn">实例唯一标识符</param>
-            /// <returns>统一出参</returns>
-            OperateResult On(string ISn);
-            /// <summary>
-            /// 关闭
-            /// </summary>
-            /// <param name="ISn">实例唯一标识符</param>
-            /// <returns>统一出参</returns>
-            OperateResult Off(string ISn);
-            /// <summary>
-            /// 生产
-            /// </summary>
-            /// <param name="Topic">主题</param>
-            /// <param name="Content">内容</param>
-            /// <param name="ISns">实例唯一标识符集合,空则全部发送</param>
-            /// <returns>统一出参</returns>
-            OperateResult Produce(string Topic, string Content, List<string>? ISns = null);
-
-            /// <summary>
-            /// 添加订阅
-            /// </summary>
-            /// <param name="Topic">主题</param>
-            /// <param name="ISn">实例唯一标识符</param>
-            /// <returns>统一结果</returns>
-            OperateResult Subscribe(string Topic, string ISn);
-
-            /// <summary>
-            /// 移除订阅
-            /// </summary>
-            /// <param name="Topic">主题</param>
-            /// <param name="ISn">实例唯一标识符</param>
-            /// <returns>统一结果</returns>
-            OperateResult UnSubscribe(string Topic, string ISn);
-        }
         /// <summary>
         /// 基础数据
         /// </summary>

+ 70 - 1
src/YSAI.DAQ/YSAI.RelayManage/RelayManageOperate.cs

@@ -22,7 +22,7 @@ namespace YSAI.RelayManage
     /// 库:*.dll,
     /// 库配置:命名空间 + 类名.ISn.Config.json
     /// </summary>
-    public class RelayManageOperate : IBaseAbstract, IRelayManage
+    public class RelayManageOperate : IBaseAbstract, IDisposable
     {
         protected override string LogHead => "[ RelayManageOperate 操作 ]";
         protected override string ClassName => "RelayManageOperate";
@@ -686,6 +686,11 @@ namespace YSAI.RelayManage
             GC.SuppressFinalize(this);
             ThisObjList = null;
         }
+        /// <summary>
+        /// 设置库文件
+        /// </summary>
+        /// <param name="FormFiles">文件集合</param>
+        /// <returns>统一出参</returns>
         public OperateResult SettingLib(List<IFormFile> FormFiles)
         {
             Depart("SettingLib");
@@ -718,6 +723,11 @@ namespace YSAI.RelayManage
                 return Break("SettingLib", false, ex.Message, Exc: ex);
             }
         }
+        /// <summary>
+        /// 删除文件
+        /// </summary>
+        /// <param name="FileNames">文件名集合</param>
+        /// <returns>统一出参</returns>
         public OperateResult DeleteFile(List<string> FileNames)
         {
             Depart("DeleteFile");
@@ -748,6 +758,11 @@ namespace YSAI.RelayManage
                 return Break("DeleteFile", false, ex.Message, Exc: ex);
             }
         }
+        /// <summary>
+        /// 设置库配置文件
+        /// </summary>
+        /// <param name="FormFiles">文件集合</param>
+        /// <returns>统一出参</returns>
         public OperateResult SettingLibConfig(List<IFormFile> FormFiles)
         {
             Depart("SettingLibConfig");
@@ -780,6 +795,11 @@ namespace YSAI.RelayManage
                 return Break("SettingLibConfig", false, ex.Message, Exc: ex);
             }
         }
+        /// <summary>
+        /// 修改库配置文件
+        /// </summary>
+        /// <param name="FormFiles">文件集合</param>
+        /// <returns>统一出参</returns>
         public OperateResult UpdateLibConfig(List<IFormFile> FormFiles)
         {
             Depart("UpdateLibConfig");
@@ -812,6 +832,11 @@ namespace YSAI.RelayManage
                 return Break("UpdateLibConfig", false, ex.Message, Exc: ex);
             }
         }
+        /// <summary>
+        /// 释放指定实例
+        /// </summary>
+        /// <param name="ISn">实例唯一标识符</param>
+        /// <returns>统一出参</returns>
         public OperateResult DisposeISn(string ISn)
         {
             Depart("Dispose");
@@ -832,6 +857,11 @@ namespace YSAI.RelayManage
                 return Break("Dispose", false, ex.Message, Exc: ex);
             }
         }
+
+        /// <summary>
+        /// 程序集唯一标识符集合
+        /// </summary>
+        /// <returns>统一出参</returns>
         public List<string>? TypeSns()
         {
             if (TypeIoc != null)
@@ -840,6 +870,11 @@ namespace YSAI.RelayManage
             }
             return null;
         }
+
+        /// <summary>
+        /// 实例唯一标识符集合
+        /// </summary>
+        /// <returns>统一出参</returns>
         public List<string>? InstanceSns()
         {
             if (InstanceIoc != null)
@@ -848,6 +883,11 @@ namespace YSAI.RelayManage
             }
             return null;
         }
+        /// <summary>
+        /// 移除指定实例
+        /// </summary>
+        /// <param name="ISn">实例唯一标识符</param>
+        /// <returns>统一出参</returns>
         public OperateResult RemoveISn(string ISn)
         {
             Depart("Remove");
@@ -880,6 +920,11 @@ namespace YSAI.RelayManage
                 return Break("Remove", false, ex.Message, Exc: ex);
             }
         }
+        /// <summary>
+        /// 打开
+        /// </summary>
+        /// <param name="ISn">实例唯一标识符</param>
+        /// <returns>统一出参</returns>
         public OperateResult On(string ISn)
         {
             Depart("On");
@@ -899,6 +944,11 @@ namespace YSAI.RelayManage
                 return Break("On", false, ex.Message, Exc: ex);
             }
         }
+        /// <summary>
+        /// 关闭
+        /// </summary>
+        /// <param name="ISn">实例唯一标识符</param>
+        /// <returns>统一出参</returns>
         public OperateResult Off(string ISn)
         {
             Depart("Off");
@@ -918,6 +968,13 @@ namespace YSAI.RelayManage
                 return Break("Off", false, ex.Message, Exc: ex);
             }
         }
+        /// <summary>
+        /// 生产
+        /// </summary>
+        /// <param name="Topic">主题</param>
+        /// <param name="Content">内容</param>
+        /// <param name="ISns">实例唯一标识符集合,空则全部发送</param>
+        /// <returns>统一出参</returns>
         public OperateResult Produce(string Topic, string Content, List<string>? ISns = null)
         {
             Depart("Produce");
@@ -973,6 +1030,12 @@ namespace YSAI.RelayManage
                 return Break("Produce", false, ex.Message, Exc: ex);
             }
         }
+        /// <summary>
+        /// 添加订阅
+        /// </summary>
+        /// <param name="Topic">主题</param>
+        /// <param name="ISn">实例唯一标识符</param>
+        /// <returns>统一结果</returns>
         public OperateResult Subscribe(string Topic, string ISn)
         {
             Depart("Subscribe");
@@ -992,6 +1055,12 @@ namespace YSAI.RelayManage
                 return Break("Subscribe", false, ex.Message, Exc: ex);
             }
         }
+        /// <summary>
+        /// 移除订阅
+        /// </summary>
+        /// <param name="Topic">主题</param>
+        /// <param name="ISn">实例唯一标识符</param>
+        /// <returns>统一结果</returns>
         public OperateResult UnSubscribe(string Topic, string ISn)
         {
             Depart("UnSubscribe");

+ 1 - 1
src/YSAI.DAQ/YSAI.Test.Console/Program.cs

@@ -231,7 +231,7 @@ void ModbusClientOperate_OnEvent(object? sender, EventResult e)
     List<RetValue> retValues = JsonTool.StringToJsonEntity<List<RetValue>>((e.RData as ConcurrentDictionary<string, AddressValue>)["0,2"].Value);
 
 
-    float a = ModbusUtility.GetSingle(int.Parse(retValues[1].Value).ToUshort(), int.Parse(retValues[0].Value).ToUshort());
+    float a = modbusClientOperate.GetFloat(int.Parse(retValues[1].Value).ToUshort(), int.Parse(retValues[0].Value).ToUshort());
 
 
     Console.WriteLine(a);