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