| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124 | using System;using System.Collections.Generic;using System.Linq;using System.Runtime.Serialization;using WCS.Entity.Protocol.Station;namespace WCS.Entity.Protocol{    [DataContract]    public class ProdLineData : DeviceData    {        [DataMember(Order = 3)]        public List<WCS_AGVTask> TaskList { get; set; } = new List<WCS_AGVTask>();    }    [DataContract]    public class StationData : DeviceData    {        [DataMember(Order = 3)]        public WCS_Station520 D520 { get; set; }        [DataMember(Order = 4)]        public WCS_Station521 D521 { get; set; }        [DataMember(Order = 5)]        public WCS_Station523 D523 { get; set; }        //[DataMember(Order = 4)]        //public WCS_RobotStation RobotStation { get; set; }    }    [DataContract]    public class RGVData : DeviceData    {        [DataMember(Order = 5)]        public WCS_RGV520 D520 { get; set; }        [DataMember(Order = 3)]        public WCS_RGV521 D521 { get; set; }        [DataMember(Order = 4)]        public WCS_RGV523 D523 { get; set; }    }    [DataContract]    public class SCData : DeviceData    {        [DataMember(Order = 5)]        public WCS_SRM520 D520 { get; set; }        [DataMember(Order = 3)]        public WCS_SRM521 D521 { get; set; }        [DataMember(Order = 4)]        public WCS_SRM537 D537 { get; set; }    }    [DataContract]    public class RobotData : DeviceData    {        //[DataMember(Order = 3)]        //public WCS_Robot Data { get; set; }    }    [DataContract]    public class DeviceData    {        [DataMember(Order = 0)]        public string Code { get; set; }        [DataMember(Order = 1)]        public DateTime Frame { get; set; }        [DataMember(Order = 2)]        public string Info { get; set; } = "";    }    [DataContract]    public class DeviceDataCollection<T> where T : DeviceData    {        [DataMember(Order = 0)]        public DateTime Frame { get; set; }        [DataMember(Order = 1)]        public T[] Datas { get; set; }        public DeviceDataCollection()        { }        public DeviceDataCollection(DateTime frame, object[] datas)        {            this.Frame = frame;            this.Datas = datas.OfType<T>().ToArray();        }    }    [DataContract]    public class DeviceDataPack    {        [DataMember(Order = 0)]        public DeviceDataCollection<SCData> SCDatas { get; set; }        [DataMember(Order = 1)]        public DeviceDataCollection<RGVData> RGVDatas { get; set; }        [DataMember(Order = 2)]        public DeviceDataCollection<StationData> StationDatas { get; set; }        [DataMember(Order = 3)]        public DeviceDataCollection<RobotData> RobotData { get; set; }        [DataMember(Order = 4)]        public DeviceDataCollection<ProdLineData> ProdLineData { get; set; }        [DataMember(Order = 5)]        public DateTime Frame { get; set; }        /// <summary>        /// 回放最早时间        /// </summary>        [DataMember(Order = 6)]        public int PlaybackSeconds { get; set; }    }}
 |