using System.ComponentModel;

namespace WCS.Entity.Protocol.RGV
{
    /// <summary>
    ///  RGV521
    /// </summary>
    /// <typeparam name="cmdType">任务类型</typeparam>
    /// <typeparam name="systemStatus">RGV运行状态</typeparam>
    /// <typeparam name="workMode">RGV运行模式</typeparam>
    /// <typeparam name="status">RGV状态</typeparam>
    public interface IRGV521 : IProtocol
    {
        /// <summary>
        ///  任务号
        /// </summary>
        [Description("任务号")]
        int TaskNumber { get; set; }

        /// <summary>
        /// 任务类型
        /// </summary>
        [Description("任务类型 ")]
        RGVCmdType CmdType { get; set; }

        /// <summary>
        /// 起始地址 环穿RGV无起始地址，只有目标地址
        /// </summary>
        [Description("起始地址 环穿RGV无起始地址，只有目标地址")]
        short StartPosition { get; set; }

        /// <summary>
        /// 目标地址
        /// </summary>
        [Description("目标地址")]
        short DestPosition { get; set; }

        /// <summary>
        /// 备用
        /// </summary>
        [Description("备用")]
        short RES1 { get; set; }

        /// <summary>
        /// 备用
        /// </summary>
        [Description("备用")]
        short RES2 { get; set; }

        /// <summary>
        /// 凭证号 每次累加
        /// </summary>
        [Description("凭证号")]
        short VoucherNo { get; set; }

        /// <summary>
        /// RGV运行状态
        /// </summary>
        [Description("RGV运行状态")]
        RGVSystemStatus SystemStatus { get; set; }

        /// <summary>
        /// RGV运行模式
        /// </summary>
        [Description("RGV运行模式 ")]
        RGVWorkMode WorkMode { get; set; }

        /// <summary>
        ///  位置
        /// </summary>
        [Description("位置")]
        float Position { get; set; }

        /// <summary>
        ///  里程
        /// </summary>
        [Description("里程")]
        float Mileage { get; set; }

        /// <summary>
        ///  运行总时长
        /// </summary>
        [Description("运行总时长")]
        float RunTime { get; set; }

        /// <summary>
        /// RGV状态
        /// </summary>
        [Description("RGV状态")]
        RGVStatus Status { get; set; }
    }
}
