| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179 | 
							- using Aitex.Core.RT.SCCore;
 
- using MECF.Framework.Common.Equipment;
 
- using System.Collections.Generic;
 
- using System.Linq;
 
- namespace FurnaceRT.Equipments.Schedulers
 
- {
 
-     public class SchedulerModuleFactory
 
-     {
 
-         protected static SchedulerCarrierRobot _carrierRobot = new SchedulerCarrierRobot();
 
-         protected static SchedulerWaferRobot _waferRobot = new SchedulerWaferRobot();
 
-         protected static SchedulerFIMS _fims1 = new SchedulerFIMS(ModuleName.FIMS1);
 
-         protected static SchedulerFIMS _fims2 = new SchedulerFIMS(ModuleName.FIMS2);
 
-         protected static SchedulerPM _pm1 = new SchedulerPM(ModuleName.PM1);
 
-         protected static List<SchedulerPM> _lstPms;
 
-         protected static SchedulerLoadPort _lp1 = new SchedulerLoadPort(ModuleName.LP1);
 
-         protected static SchedulerLoadPort _lp2 = new SchedulerLoadPort(ModuleName.LP2);
 
-         protected static SchedulerLoadPort _lp3 = new SchedulerLoadPort(ModuleName.LP3);
 
-         protected static SchedulerLoadPort _lp4 = new SchedulerLoadPort(ModuleName.LP4);
 
-         protected List<SchedulerLoadPort> _lstLPs;
 
-         protected static List<SchedulerFIMS> _lstFIMSs;
 
-         //protected List<SchedulerStocker> _lstBatchAStocker;
 
-         //protected List<SchedulerStocker> _lstBatchBStocker;
 
-         protected List<SchedulerStocker> _lstExtraDummyStocker;
 
-         protected List<SchedulerStocker> _lstSideDummyStocker;
 
-         //protected List<SchedulerStocker> _lstMonitor1Stocker;
 
-         //protected List<SchedulerStocker> _lstMonitor2Stocker;
 
-         protected List<SchedulerStocker> _lstCurrentBatchStocker = new List<SchedulerStocker>();
 
-         protected List<SchedulerStocker> _lstCurrentMonitorStocker = new List<SchedulerStocker>();
 
-         protected List<SchedulerStocker> _lstTotlaStockers;
 
-         protected List<SchedulerStocker> _lstPlaceExtraDummyStockers;
 
-         protected List<SchedulerStocker> _lstPlaceSideDummyStocker;
 
-         protected List<SchedulerStocker> _lstPlaceMonitor1Stocker;
 
-         protected List<SchedulerStocker> _lstPlaceMonitor2Stocker;
 
-         protected List<SchedulerStocker> _lstPlaceCurrentBatchStocker;
 
-         protected List<SchedulerStocker> _lstPlaceXDStocker;
 
-         protected List<SchedulerStocker> _lstPlaceTStocker;
 
-         protected void InitModule()
 
-         {
 
-             _lstPms = new List<SchedulerPM>() { _pm1 };
 
-             _lstFIMSs = new List<SchedulerFIMS>();
 
-             if (SC.GetValue<bool>($"System.SetUp.IsFIMS1Installed"))
 
-             {
 
-                 _lstFIMSs.Add(_fims1);
 
-             }
 
-             if (SC.GetValue<bool>($"System.SetUp.IsFIMS2Installed"))
 
-             {
 
-                 _lstFIMSs.Add(_fims2);
 
-             }
 
-             _lstLPs = new List<SchedulerLoadPort>();
 
-             if (SC.GetValue<bool>($"System.SetUp.IsLP1Installed"))
 
-             {
 
-                 _lstLPs.Add(_lp1);
 
-             }
 
-             if (SC.GetValue<bool>($"System.SetUp.IsLP2Installed"))
 
-             {
 
-                 _lstLPs.Add(_lp2);
 
-             }
 
-             if (SC.GetValue<bool>($"System.SetUp.IsLP3Installed"))
 
-             {
 
-                 _lstLPs.Add(_lp3);
 
-             }
 
-             if (SC.GetValue<bool>($"System.SetUp.IsLP4Installed"))
 
-             {
 
-                 _lstLPs.Add(_lp4);
 
-             }
 
-             //_lstBatchAStocker = new List<SchedulerStocker>();
 
-             //_lstBatchBStocker = new List<SchedulerStocker>();
 
-             _lstExtraDummyStocker = new List<SchedulerStocker>();
 
-             _lstSideDummyStocker = new List<SchedulerStocker>();
 
-             //_lstMonitor1Stocker = new List<SchedulerStocker>();
 
-             //_lstMonitor2Stocker = new List<SchedulerStocker>();
 
-             _lstPlaceExtraDummyStockers = new List<SchedulerStocker>();
 
-             _lstPlaceSideDummyStocker = new List<SchedulerStocker>();
 
-             _lstPlaceMonitor1Stocker = new List<SchedulerStocker>();
 
-             _lstPlaceMonitor2Stocker = new List<SchedulerStocker>();
 
-             _lstPlaceCurrentBatchStocker = new List<SchedulerStocker>();
 
-             _lstPlaceXDStocker = new List<SchedulerStocker>();
 
-             _lstPlaceTStocker = new List<SchedulerStocker>();
 
-             _lstTotlaStockers = new List<SchedulerStocker>();
 
-             for(int i = 1; i < 30; i++)
 
-             {
 
-                 if (!SC.ContainsItem($"System.SetUp.IsStocker{i}Installed"))
 
-                     continue;
 
-                 if (SC.GetValue<bool>($"System.SetUp.IsStocker{i}Installed"))
 
-                 {
 
-                     _lstTotlaStockers.Add(new SchedulerStocker(ModuleHelper.Converter($"Stocker{i}")));
 
-                 }
 
-             }
 
-             foreach (var stokcer in _lstTotlaStockers)
 
-             {
 
-                 var type = SC.GetStringValue($"System.Stocker.{stokcer.Module}WaferType");
 
-                 switch (type)
 
-                 {
 
-                     case "P1":
 
-                         //_lstBatchAStocker.Add(stokcer);
 
-                         break;
 
-                     case "P2":
 
-                         //_lstBatchBStocker.Add(stokcer);
 
-                         break;
 
-                     case "M1":
 
-                         //_lstMonitor1Stocker.Add(stokcer);
 
-                         break;
 
-                     case "M2":
 
-                         //_lstMonitor2Stocker.Add(stokcer);
 
-                         break;
 
-                     case "ED":
 
-                         _lstExtraDummyStocker.Add(stokcer);
 
-                         break;
 
-                     case "SD":
 
-                         _lstSideDummyStocker.Add(stokcer);
 
-                         break;
 
-                     case "None":
 
-                         _lstSideDummyStocker.Add(stokcer);
 
-                         _lstExtraDummyStocker.Add(stokcer);
 
-                         break;
 
-                 }
 
-             }
 
-         }
 
-         protected SchedulerModule GetModule(string name)
 
-         {
 
-             switch (ModuleHelper.Converter(name))
 
-             {
 
-                 case ModuleName.PM1:
 
-                     return _pm1;
 
-                 case ModuleName.CarrierRobot:
 
-                     return _carrierRobot;
 
-                 case ModuleName.WaferRobot:
 
-                     return _waferRobot;
 
-                 case ModuleName.Stocker1:
 
-                 case ModuleName.Stocker2:
 
-                 case ModuleName.Stocker3:
 
-                 case ModuleName.Stocker4:
 
-                 case ModuleName.Stocker5:
 
-                 case ModuleName.Stocker6:
 
-                 case ModuleName.Stocker7:
 
-                 case ModuleName.Stocker8:
 
-                 case ModuleName.Stocker9:
 
-                 case ModuleName.Stocker10:
 
-                 case ModuleName.Stocker11:
 
-                 case ModuleName.Stocker12:
 
-                 case ModuleName.Stocker13:
 
-                 case ModuleName.Stocker14:
 
-                 case ModuleName.Stocker15:
 
-                 case ModuleName.Stocker16:
 
-                 case ModuleName.Stocker17:
 
-                 case ModuleName.Stocker18:
 
-                 case ModuleName.Stocker19:
 
-                 case ModuleName.Stocker20:
 
-                 case ModuleName.Stocker21:
 
-                     return _lstTotlaStockers.FirstOrDefault(x => x.Module == ModuleHelper.Converter(name));
 
-                 case ModuleName.FIMS1:
 
-                     return _fims1;
 
-                 case ModuleName.FIMS2:
 
-                     return _fims2;
 
-                 case ModuleName.LP1:
 
-                     return _lp1;
 
-                 case ModuleName.LP2:
 
-                     return _lp2;
 
-                 case ModuleName.LP3:
 
-                     return _lp3;
 
-                 case ModuleName.LP4:
 
-                     return _lp4;
 
-             }
 
-             return null;
 
-         }
 
-     }
 
- }
 
 
  |