using System; using System.Collections.Generic; using System.Runtime.Serialization; using MECF.Framework.Common.Equipment; namespace Aitex.Sorter.Common { public enum Motion { [EnumMember] Pick = 0, //Lower arm [EnumMember] Place = 1, //Upper arm [EnumMember] Exchange = 2, [EnumMember] Alignment = 3, } public enum Hand { [EnumMember] Blade1 = 0, //Lower arm [EnumMember] Blade2 = 1, //Upper arm [EnumMember] Both = 2, } public enum MoveType { Move, //single move Swap, //Single swap SPSP, //double move seperate pick, seperate place SPDP, //double move seperate pick, double place DPSP, //double move. double pick, seperate place DPDP, //double move, double pick, double place } [Flags] public enum MoveOption { None = 0, //0000 Align = 1, //0001 ReadID = 2, //0010 ReadID2 = 4, //0100 Reader1 = 8, //1000 Reader2 = 16, //0001 0000 LoadLock1 = 32, //0010 0000 LoadLock2 = 64, //0100 0000 LoadLock3 = 128,//1000 0000 LoadLock4 = 256,//0001 0000 0000 Buffer = 512, //0010 0000 0000 Turnover = 1024, //0100 0000 0000 LoadLock5 = 2048, //1000 0000 0000 LoadLock6 = 4096, //0001 1000 0000 0000 LoadLock7 = 8192, //0010 1000 0000 0000 LoadLock8 = 16384 //0100 1000 0000 0000 } public enum LMReadOption { LMRead1 = 1, LMRead2 = 2 } [DataContract] public class TransferInfo { /// /// 源Wafer /// [DataMember] public string WaferID { get; set; } /// /// 源 /// [DataMember] public ModuleName Source { get; set; } /// /// 源槽位 /// [DataMember] public int SourceSlot { get; set; } /// /// 目的地 /// [DataMember] public ModuleName Station { get; set; } /// /// 目的地槽位 /// [DataMember] public int Slot { get; set; } [DataMember] public MoveOption Option { get; set; } [DataMember] public bool PreAlign { get; set; } [DataMember] public double Angle { get; set; } [DataMember] public bool VerifyAny { get; set; } [DataMember] public bool VerifyLaserMaker { get; set; } [DataMember] public bool VerifyLM1Checksum { get; set; } [DataMember] public string LaserMaker { get; set; } [DataMember] public bool VerifyT7Code { get; set; } [DataMember] public bool VerifyLM2Checksum { get; set; } [DataMember] public string T7Code { get; set; } [DataMember] public List LM1JobFile { get; set; } [DataMember] public List LM2JobFile { get; set; } [DataMember] public LMReadOption LM1Reader { get; set; } [DataMember] public LMReadOption LM2Reader { get; set; } [DataMember] public bool PostAlign { get; set; } [DataMember] public double PostAlignAngle { get; set; } } }