1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162 |
- using Aitex.Core.RT.Device;
- using Aitex.Sorter.Common;
- using MECF.Framework.Common.Equipment;
- using MECF.Framework.Common.Schedulers;
- using MECF.Framework.Common.SubstrateTrackings;
- using MECF.Framework.RT.EquipmentLibrary.LogicUnits;
- using FurnaceRT.Equipments.Systems;
- namespace FurnaceRT.Equipments.PMs
- {
- public abstract class PMModuleBase : ModuleFsmDevice, ITransferTarget, IModuleDevice
- {
- private int _slot = 1;
- public PMModuleBase(int slot)
- {
- _slot = slot;
- }
- public override bool Initialize()
- {
- WaferManager.Instance.SubscribeLocation(Module, _slot);
- return base.Initialize();
- }
- public abstract double ChamberPressure { get; }
-
- public abstract bool CheckAcked(int entityTaskToken);
- //IModuleDevice
- public abstract bool IsReady { get; }
- public abstract bool IsError { get; }
- public abstract bool IsInit { get; }
- public abstract bool Home(out string reason);
- //ITransferTarget
- public abstract bool PrepareTransfer(ModuleName robot, Hand blade, int targetSlot, EnumTransferType transferType, out string reason);
- public abstract bool TransferHandoff(ModuleName robot, Hand blade, int targetSlot, EnumTransferType transferType, out string reason);
- public abstract bool PostTransfer(ModuleName robot, Hand blade, int targetSlot, EnumTransferType transferType, out string reason);
- public abstract bool CheckReadyForTransfer(ModuleName robot, Hand blade, int targetSlot, EnumTransferType transferType, out string reason);
- public abstract void NoteTransferStart(ModuleName robot, Hand blade, int targetSlot, EnumTransferType transferType);
- public abstract void NoteTransferStop(ModuleName robot, Hand blade, int targetSlot, EnumTransferType transferType);
-
- //Process
- public abstract bool Process(string recipeName, bool isCleanRecipe, bool withWafer, out string reason);
- public abstract bool Standby(string recipeName, out string reason);
- public abstract bool CheckPrepareProcess();
- public abstract bool CheckProcessFinished();
- public abstract bool CheckStandbyCondition();
- //Pump
- public abstract bool TurnOnPump(out string reason);
- public abstract bool CheckPumpIsOn();
- public abstract bool CheckSlitValveClose();
-
- //Lid
- public abstract bool CheckLidClosed();
- }
- }
|