namespace Aitex.Core.RT.IOCore;
///
/// 互锁限制条件对象接口。
///
public interface IInterlockLimit
{
///
/// 返回互锁限制条件的唯一识别码。
///
/// 该唯一识别码用于创建字典时,作为字典的Key值使用。
///
/// 该值由Name+LimitValue组成。
///
///
string UniqueId { get; }
///
/// 返回当前Limit对应的IO的名称。
///
string Name { get; }
///
/// 返回当前Limit描述,用于输出用户信息。
///
string Description { get; }
///
/// 返回互锁限制条件触发原因。
///
string LimitReason { get; }
///
/// 返回守护条件满足时输出的信息。
///
string DaemonReason { get; }
///
/// 返回当前互锁条件提示信息。
///
string Tip { get; }
/*///
/// 判断两个互锁限制条件是否相等。
///
/// 待比较的互锁限制条件。
///
/// True: 相同;False:不同。
///
bool IsSame(object interlockLimit);*/
///
/// 返回互锁限制监测的信号当前值和期望值不相等的条件是否触发。
///
/// 捕获当前值和期望值不相等信号的上升沿,当上升沿到达时触发输出Q。
///
///
///
bool IsTriggered();
///
/// 根据互锁条件判断是否允许DO输出。
///
/// 如果禁止DO输出,返回互锁原因。
///
bool CanDo(out string reason);
///
/// 获取指定互锁限制条件中限制条件的内容。
///
///
string GetLimitValue();
///
/// 获取指定互锁限制条件中当前IO状态。
///
///
string GetCurrentValue();
}