using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using Aitex.Core.RT.Routine; using Aitex.Sorter.Common; using MECF.Framework.Common.Equipment; using MECF.Framework.RT.EquipmentLibrary.HardwareUnits.CarrierIdReaders.OmronRFID; namespace Aitex.Sorter.RT.EFEMs.Servers { public interface IEfemEquipment { /// /// Report event by Sigstat /// bool IsSigStatEventMode { get; } bool IsEMSStop { get; set; } bool IsMaintenanceMode { get; } bool IsError { get; } bool IsIdle { get; } bool IsRunning { get; } int EfemPort { get; } bool IsMapLoadPortByRobot { get; } bool IsEnableMapWhileWaferOnArm { get; } double SendReadyInterval { get; } Dictionary GetEventData(); Dictionary> GetSigStatData(); bool ConverterEfemLLParameter(ModuleName moduleIn, int slotIn, out ModuleName moduleOut, out int slotOut); bool ConverterEfemBufferParameter(ModuleName moduleIn, int slotIn, out ModuleName moduleOut, out int slotOut); void EnableTowerLocalMode(bool v); bool CheckIsError(ModuleName module); int Invoke(string v1, string v2, int v3, Hand arm); bool CheckAcked(int token); void InvokeMoveWafer(string v, object[] parameters); IEnumerable GetInstallModules(); Result GetTaskState(string v); int Invoke(string v, string name); OmronRfidReader GetRfidReader(string device); bool Home(ModuleName system, out string reason); bool MapWafer(string device); bool CheckVacuumError(); bool ClearError(); bool CheckLinkOk(ModuleName module); bool CheckIsInitialized(ModuleName module); bool CheckIsBusy(ModuleName module); bool CheckIsIdle(ModuleName module); bool Init(ModuleName module, out string reason); string GetSlotMap(ModuleName module); bool Close(ModuleName module); void Map(ModuleName module); void Open(ModuleName module); bool OpenDoor(ModuleName module); bool CloseDoor(ModuleName module); bool Undock(ModuleName module); bool Dock(ModuleName module); bool Lock(ModuleName module); bool Unlock(ModuleName module); bool Init(ModuleName module); bool Home(ModuleName module); bool CheckLLCanNotExtended(); bool CheckLoadLockDoorClosed(); bool CheckIsMapped(ModuleName moduleName); bool Grip(ModuleName robot, Hand arm, out string result); bool Release(ModuleName robot, Hand arm, out string result); bool CheckArmExtended(ModuleName robot, string device); string GetStateTrack(); } public interface IEfemModule { } public interface IEfemRobot:IEfemModule { } public interface IEfemAligner : IEfemModule { } public interface IEfemBuffer : IEfemModule { } public interface IEfemStage : IEfemModule { } public interface IEfemSystem : IEfemModule { } }