|
|
@@ -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");
|