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