| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697 | 
							- using Aitex.Core.RT.Device;
 
- using Aitex.Core.RT.Routine;
 
- using Aitex.Core.Util;
 
- using MECF.Framework.Common.Equipment;
 
- using System.Collections.Generic;
 
- namespace FurnaceRT.Equipments.Systems
 
- {
 
-     public class HomeAll : IRoutine
 
-     {
 
-         List<List<IModuleDevice>> _lstModules = new List<List<IModuleDevice>>();
 
-         List<IModuleDevice> _homingModules = new List<IModuleDevice>();
 
-         public HomeAll()
 
-         {
 
-         }
 
-         public Result Start(params object[] objs)
 
-         {
 
-             _lstModules.Clear();
 
-             _lstModules.Add(new List<IModuleDevice>()
 
-             {
 
-                 Singleton<EquipmentManager>.Instance.Modules[ModuleName.CarrierRobot] as IModuleDevice,
 
-                 Singleton<EquipmentManager>.Instance.Modules[ModuleName.WaferRobot] as IModuleDevice,
 
-                 //Singleton<EquipmentManager>.Instance.Modules[ModuleName.LP1] as IModuleDevice,
 
-                 //Singleton<EquipmentManager>.Instance.Modules[ModuleName.LP2] as IModuleDevice,
 
-             });
 
-             var lstModules = new List<IModuleDevice>();
 
-             foreach (var device in Singleton<EquipmentManager>.Instance.Modules.Values)
 
-             {
 
-                 if (device.Module == ModuleName.WaferRobot.ToString() || device.Module == ModuleName.CarrierRobot.ToString())
 
-                     continue;
 
-                 lstModules.Add(device as IModuleDevice);
 
-             }
 
-             _lstModules.Add(lstModules);
 
-             _homingModules.Clear();
 
-             return Result.RUN;
 
-         }
 
-         public Result Monitor()
 
-         {
 
-             if (_homingModules.Count == 0 && _lstModules.Count == 0)
 
-                 return Result.DONE;
 
-             if (_homingModules.Count > 0)
 
-             {
 
-                 foreach (var module in _homingModules)
 
-                 {
 
-                     if (module.IsError)
 
-                         return Result.FAIL;
 
-                     if (!module.IsReady)
 
-                         return Result.RUN;
 
-                 }
 
-                 _homingModules.Clear();
 
-                 if (_lstModules.Count == 0)
 
-                     return Result.DONE;
 
-             }
 
-             if (_homingModules.Count == 0)
 
-             {
 
-                 foreach (var moduleEntity in _lstModules[0])
 
-                 {
 
-                     if (!moduleEntity.Home(out string reason))
 
-                         return Result.FAIL;
 
-                     _homingModules.Add(moduleEntity);
 
-                 }
 
-                 _lstModules.RemoveAt(0);
 
-             }
 
-             return Result.RUN;
 
-         }
 
-         public void Abort()
 
-         {
 
-             Clear();
 
-         }
 
-         public void Clear()
 
-         {
 
-             _lstModules.Clear();
 
-             _homingModules.Clear();
 
-         }
 
-     }
 
- }
 
 
  |