TransferModule.cs 2.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697
  1. using MECF.Framework.Common.Equipment;
  2. using VirgoRT.Modules.Schedulers;
  3. using VirgoRT.Scheduler;
  4. namespace VirgoRT.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 _aligner1 = new SchedulerAligner(ModuleName.Aligner1);
  12. protected SchedulerAligner _aligner2 = new SchedulerAligner(ModuleName.Aligner2);
  13. protected SchedulerAligner _cooling1 = new SchedulerAligner(ModuleName.Cooling1);
  14. protected SchedulerAligner _cooling2 = new SchedulerAligner(ModuleName.Cooling2);
  15. protected SchedulerPM _pma = new SchedulerPM(ModuleName.PMA);
  16. protected SchedulerPM _pmb = new SchedulerPM(ModuleName.PMB);
  17. public TransferModule()
  18. {
  19. }
  20. protected SchedulerModule GetModule(string name)
  21. {
  22. switch (ModuleHelper.Converter(name))
  23. {
  24. case ModuleName.LP1:
  25. return _lp1;
  26. case ModuleName.LP2:
  27. return _lp2;
  28. case ModuleName.Aligner1:
  29. return _aligner1;
  30. case ModuleName.Aligner2:
  31. return _aligner2;
  32. case ModuleName.Cooling1:
  33. return _cooling1;
  34. case ModuleName.Cooling2:
  35. return _cooling2;
  36. case ModuleName.EfemRobot:
  37. return _efemRobot;
  38. case ModuleName.PMA:
  39. return _pma;
  40. case ModuleName.PMB:
  41. return _pmb;
  42. }
  43. return null;
  44. }
  45. protected SchedulerModule GetModule(ModuleName name)
  46. {
  47. switch (name)
  48. {
  49. case ModuleName.LP1:
  50. return _lp1;
  51. case ModuleName.LP2:
  52. return _lp2;
  53. case ModuleName.Aligner1:
  54. return _aligner1;
  55. case ModuleName.Aligner2:
  56. return _aligner2;
  57. case ModuleName.Cooling1:
  58. return _cooling1;
  59. case ModuleName.Cooling2:
  60. return _cooling2;
  61. case ModuleName.EfemRobot:
  62. return _efemRobot;
  63. case ModuleName.PMA:
  64. return _pma;
  65. case ModuleName.PMB:
  66. return _pmb;
  67. }
  68. return null;
  69. }
  70. }
  71. }