IRobot.cs 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Threading.Tasks;
  6. namespace MECF.Framework.RT.EquipmentLibrary.HardwareUnits.Robots
  7. {
  8. public interface IRobot
  9. {
  10. RobotStateEnum RobotState { get; }
  11. RobotArmWaferStateEnum GetWaferState(RobotArmEnum arm);
  12. string[] GetStationsInUse();
  13. bool Home();
  14. //-------------------------------------------------------------------------
  15. // Single arm operations
  16. bool ApproachForPick(RobotArmEnum arm, string station, int slot);
  17. bool ApproachForPlace(RobotArmEnum arm, string station, int slot);
  18. bool Pick(RobotArmEnum arm, string station, int slot);
  19. bool Place(RobotArmEnum arm, string station, int slot);
  20. bool Swap(RobotArmEnum pickArm, string station, int slot);
  21. bool Transfer(RobotArmEnum arm, string sourceStation, int sourceSlot, string destStation, int destSlot);
  22. //-------------------------------------------------------------------------
  23. // Dual arm operations
  24. bool DualPick(string station, int lowerSlot);
  25. bool DualPlace(string station, int lowerSlot);
  26. bool DualSwap(string station, int lowerSlotPlaceTo, int lowerSlotPickFrom);
  27. bool DualTransfer(string sourceStation, int sourceLowerSlot, string destStation, int destLowerSlot);
  28. }
  29. }