ITransferTarget.cs 1.4 KB

123456789101112131415161718192021222324252627282930
  1. using Aitex.Sorter.Common;
  2. using MECF.Framework.Common.Equipment;
  3. using MECF.Framework.Common.Schedulers;
  4. namespace MECF.Framework.RT.EquipmentLibrary.LogicUnits
  5. {
  6. public interface ITransferTarget
  7. {
  8. bool PrepareTransfer(ModuleName robot, Hand blade, int[] targetSlot, EnumTransferType transferType, out string reason);
  9. bool TransferHandoff(ModuleName robot, Hand blade, int[] targetSlot, EnumTransferType transferType, out string reason);
  10. bool PostTransfer(ModuleName robot, Hand blade, int[] targetSlot, EnumTransferType transferType, out string reason);
  11. bool CheckReadyForTransfer(ModuleName robot, Hand blade, int targetSlot, EnumTransferType transferType, out string reason);
  12. void NoteTransferStart(ModuleName robot, Hand blade, int targetSlot, EnumTransferType transferType);
  13. void NoteTransferStop(ModuleName robot, Hand blade, int targetSlot, EnumTransferType transferType);
  14. }
  15. public interface ITransferRobot
  16. {
  17. bool Pick(ModuleName target, Hand blade, int targetSlot, out string reason);
  18. bool Place(ModuleName target, Hand blade, int targetSlot, out string reason);
  19. bool PickAndPlace(ModuleName pickTarget, Hand pickHand, int pickSlot, ModuleName placeTarget, Hand placeHand, int placeSlot, out string reason);
  20. bool Goto(ModuleName target, Hand blade, int targetSlot, out string reason);
  21. }
  22. }