123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161 |
- using System.Collections.Generic;
- using MECF.Framework.Common.Equipment;
- using MECF.Framework.RT.ModuleLibrary.EfemModules;
- using MECF.Framework.RT.ModuleLibrary.SystemModules;
- using MECF.Framework.RT.ModuleLibrary.TMModules;
- using EfemDualSchedulerLib.Schedulers;
- namespace EfemDualSchedulerLib.Schedulers
- {
- public class SchedulerModuleFactory
- {
- protected SchedulerTM _tmRobot;
- protected SchedulerEFEM _efem;
- protected SchedulerLoadPort _lp1 = new SchedulerLoadPort(ModuleName.LP1);
- protected SchedulerLoadPort _lp2 = new SchedulerLoadPort(ModuleName.LP2);
- protected SchedulerLoadPort _lp3 = new SchedulerLoadPort(ModuleName.LP3);
- 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 SchedulerLoadPort _lp4 = new SchedulerLoadPort(ModuleName.LP4);
- protected SchedulerLoadLock _loadlockA = new SchedulerLoadLock(ModuleName.LLA);
- protected SchedulerLoadLock _loadlockB = new SchedulerLoadLock(ModuleName.LLB);
- protected SchedulerPM _pm1 = new SchedulerPM(ModuleName.PMA);
- protected SchedulerPM _pm2 = new SchedulerPM(ModuleName.PMB);
- //protected SchedulerPM _pm3 = new SchedulerPM(ModuleName.PMC);
- //protected List<SchedulerPM> _lstPms = new List<SchedulerPM>();
- //protected List<SchedulerLoadPort> _lstLps = new List<SchedulerLoadPort>();
- //protected List<SchedulerLoadLock> _lstLoadLocks = new List<SchedulerLoadLock>();
- public SchedulerModuleFactory()
- {
- _tmRobot = new SchedulerTM(EquipmentManager.Modules[ModuleName.TM] as TMModuleBase);
- _efem = new SchedulerEFEM(EquipmentManager.Modules[ModuleName.EFEM] as EfemModuleBase);
- _loadlockA = new SchedulerLoadLock(ModuleName.LLA);
- _loadlockB = new SchedulerLoadLock(ModuleName.LLB);
- _lp1 = new SchedulerLoadPort(ModuleName.LP1);
- _lp2 = new SchedulerLoadPort(ModuleName.LP2);
- _lp3 = new SchedulerLoadPort(ModuleName.LP3);
- _pm1 = new SchedulerPM(ModuleName.PMA);
- _pm2 = new SchedulerPM(ModuleName.PMB);
- _aligner1 = new SchedulerAligner(ModuleName.Aligner1);
- _aligner2 = new SchedulerAligner(ModuleName.Aligner2);
- _cooling1 = new SchedulerAligner(ModuleName.Cooling1);
- _cooling2 = new SchedulerAligner(ModuleName.Cooling2);
- //_pm3 = new SchedulerPM(ModuleName.PMC);
- //_lstLps.AddRange(new[] { _lp1, _lp2, _lp3 });
- //_lstLoadLocks.AddRange(new[] { _lla, _llb });
- //if (EquipmentManager.Modules[ModuleName.PMA].IsInstalled)
- // _lstPms.Add(_pm1);
- //if (EquipmentManager.Modules[ModuleName.PMB].IsInstalled)
- // _lstPms.Add(_pm2);
- //if (EquipmentManager.Modules[ModuleName.PMC].IsInstalled)
- // _lstPms.Add(_pm3);
- }
- protected SchedulerModule GetModule(string name)
- {
- switch (ModuleHelper.Converter(name))
- {
- case ModuleName.LP1:
- return _lp1;
- case ModuleName.LP2:
- return _lp2;
- case ModuleName.LP3:
- return _lp3;
- //case ModuleName.LP4:
- // return _lp4;
- case ModuleName.LLA:
- return _loadlockA;
- case ModuleName.LLB:
- return _loadlockB;
- case ModuleName.Aligner1:
- return _aligner1;
- case ModuleName.Aligner2:
- return _aligner2;
- case ModuleName.Cooling1:
- return _cooling1;
- case ModuleName.Cooling2:
- return _cooling2;
- case ModuleName.EfemRobot:
- case ModuleName.EFEM:
- return _efem;
- case ModuleName.TMRobot:
- case ModuleName.TM:
- return _tmRobot;
- case ModuleName.PMA:
- return _pm1;
- case ModuleName.PMB:
- return _pm2;
- //case ModuleName.PMC:
- // return _pm3;
- }
- return null;
- }
- protected SchedulerModule GetModule(ModuleName name)
- {
- switch (name)
- {
- case ModuleName.LP1:
- return _lp1;
- case ModuleName.LP2:
- return _lp2;
- case ModuleName.LP3:
- return _lp3;
- //case ModuleName.LP4:
- // return _lp4;
- case ModuleName.LLA:
- return _loadlockA;
- case ModuleName.LLB:
- return _loadlockB;
- case ModuleName.Aligner1:
- return _aligner1;
- case ModuleName.Aligner2:
- return _aligner2;
- case ModuleName.Cooling1:
- return _cooling1;
- case ModuleName.Cooling2:
- return _cooling2;
- case ModuleName.EfemRobot:
- case ModuleName.EFEM:
- return _efem;
- case ModuleName.TMRobot:
- case ModuleName.TM:
- return _tmRobot;
- case ModuleName.PMA:
- return _pm1;
- case ModuleName.PMB:
- return _pm2;
- //case ModuleName.PMC:
- // return _pm3;
- }
- return null;
- }
- }
- }
|