#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();
}
}