#region << 版 本 注 释 >> /*---------------------------------------------------------------- * 命名空间:WIDESEAWCS_QuartzJob * 创建者:胡童庆 * 创建时间:2024/8/2 16:13:36 * 版本:V1.0.0 * 描述:输送线接口层 * * ---------------------------------------------------------------- * 修改人: * 修改时间: * 版本:V1.0.1 * 修改说明: * *----------------------------------------------------------------*/ #endregion << 版 本 注 释 >> using HslCommunication; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using WIDESEAWCS_Communicator; using WIDESEAWCS_QuartzJob.DeviceBase; using WIDESEAWCS_QuartzJob.DTO; namespace WIDESEAWCS_QuartzJob { public interface IConveyorLine : IDevice { /// /// 输送线通讯对象 /// BaseCommunicator Communicator { get; } /// /// 输送线协议信息 /// List DeviceProDTOs { get; } /// /// 输送线协议明细信息 /// List DeviceProtocolDetailDTOs { get; } /// /// 与设备的心跳 /// void Heartbeat(); /// /// 读取PLC协议地址的数据 /// /// 协议信息的枚举对象信息。 /// 读取数据的类型对象信息。 /// 枚举值 /// 设备子编号 /// 读取到的数据 TRsult GetValue(TEnum value, string deviceChildCode) where TEnum : Enum; /// /// 根据参数名称、设备子编号写入对应的数据。 /// /// 参数名称枚举类型。 /// 要写入的数据类型。 /// 参数名称。 /// 要写入的数据。 /// 设备子编号写 /// 返回写入成功或失败 bool SetValue(TEnum @enum, TValue value, string deviceChildCode) where TEnum : Enum where TValue : notnull; /// /// 读取站台是否被占用 /// /// 设备子编号 /// bool IsOccupied(string deviceChildCode); /// /// 发送任务命令 /// /// 任务命令对象的类型泛型 /// 任务命令 /// bool SendCommand(T command, string deviceChildCode) where T : IDataTransfer, new(); } }