WaferRobotModuleBase.cs 2.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. using Aitex.Core.RT.Device;
  2. using Aitex.Sorter.Common;
  3. using MECF.Framework.Common.Equipment;
  4. using MECF.Framework.Common.Schedulers;
  5. using MECF.Framework.RT.EquipmentLibrary.LogicUnits;
  6. using System;
  7. using FurnaceRT.Equipments.Systems;
  8. namespace FurnaceRT.Equipments.WaferRobots
  9. {
  10. public abstract class WaferRobotModuleBase : ModuleFsmDevice, ITransferTarget, IModuleDevice
  11. {
  12. public WaferRobotModuleBase()
  13. {
  14. }
  15. public override bool Initialize()
  16. {
  17. return base.Initialize();
  18. }
  19. //IModuleDevice
  20. public abstract bool IsReady { get; }
  21. public abstract bool IsError { get; }
  22. public abstract bool IsInit { get; }
  23. public abstract bool Home(out string reason);
  24. //Job Task
  25. public abstract void NoteJobStart();
  26. public abstract void NoteJobComplete();
  27. //Transfer
  28. public abstract bool PrepareTransfer(ModuleName robot, Hand blade, int targetSlot, EnumTransferType transferType, out string reason);
  29. public abstract bool TransferHandoff(ModuleName robot, Hand blade, int targetSlot, EnumTransferType transferType, out string reason);
  30. public abstract bool PostTransfer(ModuleName robot, Hand blade, int targetSlot, EnumTransferType transferType, out string reason);
  31. public abstract bool CheckReadyForTransfer(ModuleName robot, Hand blade, int targetSlot, EnumTransferType transferType, out string reason);
  32. public abstract void NoteTransferStart(ModuleName robot, Hand blade, int targetSlot, EnumTransferType transferType);
  33. public abstract void NoteTransferStop(ModuleName robot, Hand blade, int targetSlot, EnumTransferType transferType);
  34. public abstract bool CheckReadyForMap(ModuleName robot, Hand blade, out string reason);
  35. public abstract bool Pick(ModuleName target, Hand blade, int targetSlot, out string reason);
  36. public abstract bool Place(ModuleName target, Hand blade, int targetSlot, out string reason);
  37. public abstract bool Map(ModuleName target, Hand blade, int slotNumber, string slotMap, bool isCompareWithSlotMap, bool isCreateWafer, out string reason);
  38. }
  39. }