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 TaskList { get; set; } = new List(); } [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 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().ToArray(); } } [DataContract] public class DeviceDataPack { [DataMember(Order = 0)] public DeviceDataCollection SCDatas { get; set; } [DataMember(Order = 1)] public DeviceDataCollection RGVDatas { get; set; } [DataMember(Order = 2)] public DeviceDataCollection StationDatas { get; set; } [DataMember(Order = 3)] public DeviceDataCollection RobotData { get; set; } [DataMember(Order = 4)] public DeviceDataCollection ProdLineData { get; set; } [DataMember(Order = 5)] public DateTime Frame { get; set; } /// /// 回放最早时间 /// [DataMember(Order = 6)] public int PlaybackSeconds { get; set; } } }