using SKMC.Api.Common.Monitor; using System; namespace SKMC.Api.Machine.Monitor { /// /// 状态锁存管理器, 用于低频的状态判断并锁定 /// 例如总线连接状态、设备物料状态、是否长时间无人操作等 /// public abstract class MachineStateLatchMonitor : BaseMonitor { /// /// 添加任务,支持返回 bool 或可转换为 int 的数值类型 /// public abstract void AddTask(string key, Func task, Action callback = null, LatchMode mode = LatchMode.OpenMode); /// /// 获取任务信息 /// /// /// public abstract MachineLatchTask GetTask(string key); /// /// 获取累计结果 /// public abstract int GetResult(string key); /// /// 重置任务结果 /// public abstract void ResetResult(string key); } public enum LatchMode { /// /// 适用常闭模式:11101/11001返回-1,11111返回1 /// CloseMode, /// /// 适用常开模式:00010/00110返回-1,00000返回1 /// OpenMode } }