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