132 lines
3.1 KiB
C#
132 lines
3.1 KiB
C#
|
using System;
|
|||
|
using System.Collections.Generic;
|
|||
|
using System.Linq;
|
|||
|
using System.Text;
|
|||
|
using System.Threading.Tasks;
|
|||
|
|
|||
|
namespace MECF.Framework.Common.Aitex.Core.RT.EMS
|
|||
|
{
|
|||
|
/// <summary>
|
|||
|
/// 观察者:对某一参数进行观察记录,观察到参数达到阈值时,进行一系列动作
|
|||
|
/// </summary>
|
|||
|
public interface IObserver
|
|||
|
{
|
|||
|
#region Properties
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// 观察者名称(要保证唯一性)
|
|||
|
/// </summary>
|
|||
|
string Name { get; set; }
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// 观察者模组
|
|||
|
/// </summary>
|
|||
|
string Module { get; set; }
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// 观察者序号
|
|||
|
/// </summary>
|
|||
|
int Index { get; set; }
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// 描述
|
|||
|
/// </summary>
|
|||
|
string Description { get; set; }
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// 是否使能
|
|||
|
/// </summary>
|
|||
|
bool Enable { get; set; }
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// 是否超时
|
|||
|
/// </summary>
|
|||
|
bool IsTrigger { get; }
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// 是否计时中
|
|||
|
/// </summary>
|
|||
|
bool IsProcessing { get; }
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// 开始观察时间
|
|||
|
/// </summary>
|
|||
|
DateTime StartDate { get; }
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// 记录值
|
|||
|
/// </summary>
|
|||
|
double Value { get; }
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// 阈值
|
|||
|
/// </summary>
|
|||
|
double Threshold { get; }
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// 触发时间
|
|||
|
/// </summary>
|
|||
|
DateTime? TrigDate { get; }
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// 超时时间
|
|||
|
/// </summary>
|
|||
|
double TimeExceeded { get; }
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// 超时单位
|
|||
|
/// </summary>
|
|||
|
TimeUnit TimeDisplayUnit { get; set; }
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// 超出阈值量
|
|||
|
/// </summary>
|
|||
|
double ValueExceeded { get; }
|
|||
|
|
|||
|
#endregion
|
|||
|
|
|||
|
#region Methods
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// 复位观察者
|
|||
|
/// </summary>
|
|||
|
/// <returns>操作结果</returns>
|
|||
|
bool Reset();
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// 复位条件
|
|||
|
/// </summary>
|
|||
|
/// <returns></returns>
|
|||
|
bool CanReset();
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// 监控运行
|
|||
|
/// </summary>
|
|||
|
void Monitor();
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// 设置阈值
|
|||
|
/// </summary>
|
|||
|
/// <returns>操作结果</returns>
|
|||
|
bool SetThreshold(double threshold);
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// 设置开始时间
|
|||
|
/// </summary>
|
|||
|
/// <param name="t">开始日期</param>
|
|||
|
/// <returns>操作结果</returns>
|
|||
|
bool SetStartDate(DateTime t);
|
|||
|
|
|||
|
bool SetMaintain(string parentname, string name, int itemid, DateTime date);
|
|||
|
|
|||
|
public Dictionary<string, List<MaintainerItem>> GetAllMaintainerItemsDic();
|
|||
|
|
|||
|
public bool SetMaintainerItemEnable(string parentname, string name, int itemid, bool enable);
|
|||
|
|
|||
|
public void AddMaintainerItem(string parentname, MaintainerItem item);
|
|||
|
|
|||
|
public void RemoveMaintainerItem(string parentname, string itemname, int id);
|
|||
|
#endregion
|
|||
|
}
|
|||
|
}
|