| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166 | using System;using WCS.Entity.Protocol.RGV;namespace WCS.Entity.Protocol{    /// <summary>    /// RGV 读取协议 后缀 _1=1工位 _2=2工位 无=共用    /// </summary>    public interface IRGV521 : IProtocol    {        #region 一工位        /// <summary>        /// 任务号        /// </summary>        int TaskID_1 { get; set; }        /// <summary>        /// 任务类型        /// </summary>        RGVTaskType TaskType_1 { get; set; }        /// <summary>        /// 起始站台        /// </summary>        short StartPosition_1 { get; set; }        /// <summary>        /// 目标站台        /// </summary>        short DestPosition_1 { get; set; }        /// <summary>        /// 优先级        /// </summary>        short PRIORITY_1 { get; set; }        /// <summary>        /// 备用        /// </summary>        short RES1_1 { get; set; }        /// <summary>        /// 备用        /// </summary>        short RES2_1 { get; set; }        /// <summary>        /// 一工位状态        /// </summary>        RGVStatus Status_1 { get; set; }        /// <summary>        /// 触发信号 在通讯协议中为VoucherNo_1        /// </summary>        int Trigger_1 { get; set; }        #endregion 一工位        #region 二工位        /// <summary>        /// 任务号        /// </summary>        int TaskID_2 { get; set; }        /// <summary>        /// 任务类型        /// </summary>        RGVTaskType TaskType_2 { get; set; }        /// <summary>        /// 起始站台        /// </summary>        short StartPosition_2 { get; set; }        /// <summary>        /// 目标站台        /// </summary>        short DestPosition_2 { get; set; }        /// <summary>        /// 优先级        /// </summary>        short PRIORITY_2 { get; set; }        /// <summary>        /// 备用        /// </summary>        short RES1_2 { get; set; }        /// <summary>        /// 备用        /// </summary>        short RES2_2 { get; set; }        /// <summary>        /// 一工位状态        /// </summary>        RGVStatus Status_2 { get; set; }        /// <summary>        /// 触发信号 在通讯协议中为VoucherNo_1        /// </summary>        int Trigger_2 { get; set; }        #endregion 二工位        #region 共用        /// <summary>        /// RGV运行状态        /// </summary>        RGVRunStatus SystemStatus { get; set; }        /// <summary>        /// RGV运行模式        /// </summary>        RGVMode WorkMode { get; set; }        /// <summary>        /// 备用6        /// </summary>        short RES6 { get; set; }        /// <summary>        /// 位置        /// </summary>        float Position { get; set; }        /// <summary>        /// 里程        /// </summary>        [IgnoreChanging]        float Mileage { get; set; }        /// <summary>        /// 运行时长 (单位:小时,带小数)        /// </summary>        [IgnoreChanging]        float Runtime { get; set; }        #endregion 共用    }    [Flags]    public enum RGVStatus : ushort    {        光电 = 1 << 0,        RGV到站 = 1 << 1,        任务完成 = 1 << 2,        备用 = 1 << 3,        备用9 = 1 << 4,        备用10 = 1 << 5,        备用11 = 1 << 6,        备用12 = 1 << 7,        备用1 = 1 << 8,        备用2 = 1 << 9,        备用3 = 1 << 10,        备用4 = 1 << 11,        备用5 = 1 << 12,        备用6 = 1 << 13,        备用7 = 1 << 14,        备用8 = 1 << 15,    }}
 |