using MECF.Framework.Common.Equipment; using VirgoRT.Modules.Schedulers; using VirgoRT.Scheduler; namespace VirgoRT.Modules { public class TransferModule { protected SchedulerEfemRobot _efemRobot = new SchedulerEfemRobot(); protected SchedulerLoadPort _lp1 = new SchedulerLoadPort(ModuleName.LP1); protected SchedulerLoadPort _lp2 = new SchedulerLoadPort(ModuleName.LP2); protected SchedulerAligner _aligner1 = new SchedulerAligner(ModuleName.Aligner1); protected SchedulerAligner _aligner2 = new SchedulerAligner(ModuleName.Aligner2); protected SchedulerAligner _cooling1 = new SchedulerAligner(ModuleName.Cooling1); protected SchedulerAligner _cooling2 = new SchedulerAligner(ModuleName.Cooling2); protected SchedulerPM _pma = new SchedulerPM(ModuleName.PMA); protected SchedulerPM _pmb = new SchedulerPM(ModuleName.PMB); public TransferModule() { } protected SchedulerModule GetModule(string name) { switch (ModuleHelper.Converter(name)) { case ModuleName.LP1: return _lp1; case ModuleName.LP2: return _lp2; case ModuleName.Aligner1: return _aligner1; case ModuleName.Aligner2: return _aligner2; case ModuleName.Cooling1: return _cooling1; case ModuleName.Cooling2: return _cooling2; case ModuleName.EfemRobot: return _efemRobot; case ModuleName.PMA: return _pma; case ModuleName.PMB: return _pmb; } return null; } protected SchedulerModule GetModule(ModuleName name) { switch (name) { case ModuleName.LP1: return _lp1; case ModuleName.LP2: return _lp2; case ModuleName.Aligner1: return _aligner1; case ModuleName.Aligner2: return _aligner2; case ModuleName.Cooling1: return _cooling1; case ModuleName.Cooling2: return _cooling2; case ModuleName.EfemRobot: return _efemRobot; case ModuleName.PMA: return _pma; case ModuleName.PMB: return _pmb; } return null; } } }