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;
}
}
}