DummyWaferManager.cs 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. using Aitex.Core.Common;
  2. using Aitex.Core.Util;
  3. using MECF.Framework.Common.Equipment;
  4. using MECF.Framework.Common.SubstrateTrackings;
  5. using PunkHPX8_RT.Modules.Dummy;
  6. using PunkHPX8_RT.Modules;
  7. using System;
  8. using System.Collections.Generic;
  9. using System.Linq;
  10. using System.Text;
  11. using System.Threading.Tasks;
  12. using Aitex.Core.RT.Fsm;
  13. using MECF.Framework.Common.ToolLayout;
  14. using MECF.Framework.RT.Core.Equipments;
  15. namespace PunkHPX8_RT.Dispatch
  16. {
  17. public class DummyWaferManager : Singleton<DummyWaferManager>
  18. {
  19. /// <summary>
  20. /// 通过Dummy模块加载DummyWafer
  21. /// </summary>
  22. /// <param name="moduleName"></param>
  23. /// <param name="orginalModuleName"></param>
  24. /// <param name="waferInfos"></param>
  25. private void LoadDummyWaferByDummyModule(ModuleName dummyModuleName,string waferHolderId,List<WaferInfo> waferInfos)
  26. {
  27. DummyEntity dummyEntity = Singleton<RouteManager>.Instance.GetModule<DummyEntity>(dummyModuleName.ToString());
  28. if (dummyEntity == null)
  29. {
  30. return;
  31. }
  32. for (int i = 0; i < dummyEntity.MaxSlotNumber; i++)
  33. {
  34. if (WaferManager.Instance.CheckNoWafer(dummyModuleName, i))
  35. {
  36. continue;
  37. }
  38. WaferInfo waferInfo = WaferManager.Instance.GetWafer(dummyModuleName, i);
  39. if (waferInfo == null)
  40. {
  41. continue;
  42. }
  43. if (waferInfo.OrginalWaferHolder == waferHolderId)
  44. {
  45. waferInfos.Add(waferInfo);
  46. }
  47. }
  48. }
  49. }
  50. }