| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144 | 
							- using Aitex.Core.RT.Event;
 
- using MECF.Framework.Common.Equipment;
 
- using MECF.Framework.Common.Schedulers;
 
- using MECF.Framework.Common.SubstrateTrackings;
 
- namespace FurnaceRT.Equipments.Schedulers
 
- {
 
-     public class SchedulerModule
 
-     {
 
-         protected enum TaskType
 
-         {
 
-             None,
 
-             PrepareTransfer,
 
-             Pick,
 
-             Place,
 
-             Map,
 
-             Goto,
 
-             PickAndPlace,
 
-             Preprocess,
 
-             Process,
 
-             PostProcess,
 
-             Standby,
 
-             OpenCover,
 
-             CloseCover,
 
-             Load,
 
-             Unload,
 
-             Align,
 
-             TransferTarget,
 
-             Cooling,
 
-         }
 
-         public ModuleName Module
 
-         {
 
-             get { return ModuleHelper.Converter(_module); }
 
-         }
 
-         public virtual bool IsAvailable { get; }
 
-         public virtual bool IsOnline { get; }
 
-         public virtual bool IsError { get; }
 
-         protected string _module;
 
-         protected TaskType _task = TaskType.None;
 
-         protected ModuleName _inProcessRobot;
 
-         public SchedulerModule(string module)
 
-         {
 
-             _module = module;
 
-         }
 
-         protected void LogTaskStart(TaskType cmd, string message)
 
-         {
 
-             EV.PostInfoLog("Scheduler", $"Task start:{_module},{cmd} {message}");
 
-         }
 
-         protected void LogTaskDone(TaskType cmd, string message)
 
-         {
 
-             EV.PostInfoLog("Scheduler", $"Task done:{_module},{cmd} {message}");
 
-         }
 
-         public virtual void ResetTask()
 
-         {
 
-             _task = TaskType.None;
 
-         }
 
-         public bool WaitTransfer(ModuleName robot)
 
-         {
 
-             _task = TaskType.TransferTarget;
 
-             _inProcessRobot = robot;
 
-             LogTaskStart(_task, $"Note {robot} in transfer");
 
-             return true;
 
-         }
 
-         public bool IsWaitTransfer(ModuleName robot)
 
-         {
 
-             return _task == TaskType.TransferTarget && _inProcessRobot == robot;
 
-         }
 
-         public bool StopWaitTransfer(ModuleName robot)
 
-         {
 
-             LogTaskDone(_task, $"Note {robot} transfer complete");
 
-             _inProcessRobot = ModuleName.System;
 
-             _task = TaskType.None;
 
-             return true;
 
-         }
 
-         public bool HasWafer(int slot)
 
-         {
 
-             return WaferManager.Instance.CheckHasWafer(ModuleHelper.Converter(_module), slot);
 
-         }
 
-         public bool NoWafer(int slot)
 
-         {
 
-             return WaferManager.Instance.CheckNoWafer(ModuleHelper.Converter(_module), slot);
 
-         }
 
-         public virtual bool IsReadyForPick(ModuleName robot, int slot)
 
-         {
 
-             return true;
 
-         }
 
-         public virtual bool IsReadyForPlace(ModuleName robot, int slot)
 
-         {
 
-             return true;
 
-         }
 
-         public virtual bool PrepareTransfer(ModuleName robot, EnumTransferType type, int slot)
 
-         {
 
-             return true;
 
-         }
 
-         public virtual bool PostTransfer(ModuleName robot, EnumTransferType type, int slot)
 
-         {
 
-             return true;
 
-         }
 
-         public virtual bool Process(string recipeName, bool isCleanRecipe, bool withDummyWafer)
 
-         {
 
-             return true;
 
-         }
 
-         public virtual bool Standby(string recipeName)
 
-         {
 
-             return true;
 
-         }
 
-         public virtual bool Cooling(int coolingTime)
 
-         {
 
-             return true;
 
-         }
 
-     }
 
- }
 
 
  |