LoadPortModuleBase.cs 2.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  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 MECF.Framework.RT.ModuleLibrary.Commons;
  7. namespace MECF.Framework.RT.ModuleLibrary.LPModules
  8. {
  9. public abstract class LoadPortModuleBase : ModuleFsmDevice, ITransferTarget, IModuleDevice
  10. {
  11. public LoadPortModuleBase(int slot)
  12. {
  13. }
  14. public override bool Initialize()
  15. {
  16. return base.Initialize();
  17. }
  18. //IModuleDevice
  19. public abstract bool IsReady { get; }
  20. public abstract bool IsError { get; }
  21. public abstract bool IsInit { get; }
  22. public abstract bool Home(out string reason);
  23. //Job Task
  24. public abstract void NoteJobStart();
  25. public abstract void NoteJobComplete();
  26. //Transfer
  27. public abstract bool PrepareTransfer(ModuleName robot, Hand blade, int[] targetSlot, EnumTransferType transferType, out string reason);
  28. public abstract bool TransferHandoff(ModuleName robot, Hand blade, int[] targetSlot, EnumTransferType transferType, out string reason);
  29. public abstract bool PostTransfer(ModuleName robot, Hand blade, int[] targetSlot, EnumTransferType transferType, out string reason);
  30. public abstract bool CheckReadyForTransfer(ModuleName robot, Hand blade, int targetSlot, EnumTransferType transferType, out string reason);
  31. public abstract void NoteTransferStart(ModuleName robot, Hand blade, int targetSlot, EnumTransferType transferType);
  32. public abstract void NoteTransferStop(ModuleName robot, Hand blade, int targetSlot, EnumTransferType transferType);
  33. public abstract bool CheckReadyForMap(ModuleName robot, Hand blade, out string reason);
  34. public abstract bool IsLoaded { get; }
  35. public abstract bool IsUnloaded { get; }
  36. public abstract bool Load();
  37. public abstract bool Unload();
  38. public abstract bool IsClamped { get; }
  39. public abstract bool IsUnclamped { get; }
  40. public abstract bool Clamp();
  41. public abstract bool Unclamp();
  42. }
  43. }