TransferModule.cs 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. using MECF.Framework.Common.Equipment;
  2. using Virgo_DRT.Modules.Schedulers;
  3. using Virgo_DRT.Scheduler;
  4. namespace Virgo_DRT.Modules
  5. {
  6. public class TransferModule
  7. {
  8. protected SchedulerEfemRobot _efemRobot = new SchedulerEfemRobot();
  9. protected SchedulerLoadPort _lp1 = new SchedulerLoadPort(ModuleName.LP1);
  10. protected SchedulerLoadPort _lp2 = new SchedulerLoadPort(ModuleName.LP2);
  11. protected SchedulerAligner _buffer1 = new SchedulerAligner(ModuleName.Aligner1);
  12. protected SchedulerAligner _buffer2 = new SchedulerAligner(ModuleName.Aligner2);
  13. protected SchedulerPM _pma = new SchedulerPM(ModuleName.PMA);
  14. protected SchedulerPM _pmb = new SchedulerPM(ModuleName.PMB);
  15. public TransferModule()
  16. {
  17. }
  18. protected SchedulerModule GetModule(string name)
  19. {
  20. switch (ModuleHelper.Converter(name))
  21. {
  22. case ModuleName.LP1:
  23. return _lp1;
  24. case ModuleName.LP2:
  25. return _lp2;
  26. case ModuleName.Aligner1:
  27. return _buffer1;
  28. case ModuleName.Aligner2:
  29. return _buffer2;
  30. case ModuleName.EfemRobot:
  31. return _efemRobot;
  32. case ModuleName.PMA:
  33. return _pma;
  34. case ModuleName.PMB:
  35. return _pmb;
  36. }
  37. return null;
  38. }
  39. }
  40. }