namespace Aitex.Core.RT.IOCore;

/// <summary>
/// 互锁限制条件数据供应器。
/// </summary>
public interface IInterlockLimitDataProvider
{
    /// <summary>
    /// 返回供应器名称。
    /// <remarks>
    /// 对于IO类型的Provider，返回IO名称，例如PMx.DO_xxxxxx。
    /// <br/>
    /// 对于DataPoll类型的Provider，返回拉取的数据路径。
    /// </remarks>
    /// </summary>
    string Name { get; }

    /// <summary>
    /// 返回供应器名称。
    /// <remarks>
    /// 对于IO类型的Provider，返回包含地址的IO名称，例如(DO-xx)PMx.DO_xxxxxx。
    /// <br/>
    /// 对于DataPoll类型的Provider，返回拉取的数据路径。
    /// </remarks>
    /// </summary>
    string Description { get; }
    
    /// <summary>
    /// 获取数据。
    /// </summary>
    /// <returns></returns>
    object GetValue();
}