Sic.Framework-Nanjing-Baishi/MECF.Framework.Common/Aitex/Core/RT/IOCore/Interfaces/IInterlockLimit.cs

76 lines
2.1 KiB
C#
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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