using System; using System.Collections.Generic; using System.Runtime.Remoting.Messaging; namespace VirgoCommon { public class DeviceName { //Eefem public const string EfemRobot = "EfemRobot"; } public enum EfemOperation { Home, //HomeLP, Pick, Place, Goto, Extend, Retract, Align, Map, Light, TurnOffBuzzer, //SwitchOnBuzzerAndRed, GetWaferInfo, Orgsh, Lift, SigStatus, Ready, Abort, ClearError, PmPinUp, PmPinDown, Load, Unload, CarrierId, Dock, Undock, Clamp, Unclamp, SetThickness, StateTrack, //WriteCarrierId, Grip, } public class EfemConstant { public static readonly Dictionary OperationString = new Dictionary() { { EfemOperation.Ready, "READY" }, { EfemOperation.Home, "INIT" }, { EfemOperation.Orgsh, "ORGSH" }, { EfemOperation.ClearError, "ERROR"}, //{ EfemOperation.HomeLP, "INIT" }, { EfemOperation.Map, "WAFSH" }, { EfemOperation.GetWaferInfo, "MAPDT" }, { EfemOperation.Pick, "LOAD" }, { EfemOperation.Place, "UNLOAD" }, { EfemOperation.Extend, "MPNT" }, { EfemOperation.Align, "ALIGN" }, { EfemOperation.SigStatus, "SIGSTAT" }, { EfemOperation.Lift, "LIFT" }, { EfemOperation.Light, "SIGOUT" }, { EfemOperation.Abort, "ABORT" }, { EfemOperation.Goto, "GOTO" }, { EfemOperation.Load, "OPEN" }, { EfemOperation.Unload, "CLOSE" }, { EfemOperation.CarrierId, "CSTID" }, { EfemOperation.Dock, "DOCK" }, { EfemOperation.Undock, "UNDOCK" }, { EfemOperation.Clamp, "LOCK" }, { EfemOperation.Unclamp, "UNLOCK" }, { EfemOperation.SetThickness, "THICKNESS" }, { EfemOperation.StateTrack, "STATE" }, { EfemOperation.Grip, "CLAMP" }, }; public static EfemOperation ToOperation(string str) { foreach (var item in OperationString) { if (item.Value == str) { return item.Key; } } return default(EfemOperation); } } }