TMModuleBase.cs 2.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. using Aitex.Core.RT.Device;
  2. using Aitex.Sorter.Common;
  3. using MECF.Framework.Common.Equipment;
  4. using MECF.Framework.Common.SubstrateTrackings;
  5. using MECF.Framework.RT.EquipmentLibrary.LogicUnits;
  6. using MECF.Framework.RT.ModuleLibrary.Commons;
  7. namespace MECF.Framework.RT.ModuleLibrary.TMModules
  8. {
  9. public abstract class TMModuleBase : ModuleFsmDevice, ITransferRobot, IModuleDevice
  10. {
  11. private int _slot = 2;
  12. public TMModuleBase(int slot)
  13. {
  14. _slot = slot;
  15. }
  16. public override bool Initialize()
  17. {
  18. WaferManager.Instance.SubscribeLocation(Module, _slot);
  19. return base.Initialize();
  20. }
  21. //IModuleDevice
  22. public abstract bool IsReady { get; }
  23. public abstract bool IsError { get; }
  24. public abstract bool IsInit { get; }
  25. public abstract bool Home(out string reason);
  26. //ITransferRobot
  27. public abstract bool Pick(ModuleName target, Hand blade, int targetSlot, out string reason);
  28. public abstract bool Place(ModuleName target, Hand blade, int targetSlot, out string reason);
  29. public abstract bool Pick(ModuleName target, Hand blade, Pan pan, int[] targetSlot, double temp1, double temp2, bool EnableCheck, out string reason);
  30. public abstract bool Place(ModuleName target, Hand blade, Pan pan, int[] targetSlot, double temp1, double temp2, bool EnableCheck, out string reason);
  31. public abstract bool PickAndPlace(ModuleName pickTarget, Hand pickHand, Pan pickPan, int[] pickSlot, ModuleName placeTarget, Hand placeHand, Pan placePan, int[] placeSlot, double temp1, double temp2, out string reason);
  32. public abstract bool Goto(ModuleName target, Hand blade, int[] targetSlot, out string reason, Pan pickPan);
  33. public abstract bool Map(ModuleName target, out string reason);
  34. public virtual bool PickAndPlace(ModuleName pickTarget, Hand pickHand, int pickSlot, ModuleName placeTarget, Hand placeHand, int placeSlot, out string reason)
  35. {
  36. reason = string.Empty;
  37. return false;
  38. }
  39. public virtual bool Goto(ModuleName target, Hand blade, int targetSlot, out string reason)
  40. {
  41. reason = string.Empty;
  42. return false;
  43. }
  44. }
  45. }