123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104 |
- using Aitex.Core.Common;
- using Aitex.Core.Util;
- using PunkHPX8_RT.Dispatch;
- using MECF.Framework.Common.Equipment;
- using MECF.Framework.Common.Jobs;
- using MECF.Framework.Common.SubstrateTrackings;
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- using System.Threading.Tasks;
- namespace PunkHPX8_RT.Modules
- {
- public class FaModuleNotifier : Singleton<FaModuleNotifier>
- {
- /// <summary>
- /// FA回复
- /// </summary>
- private SchedulerFACallback _schedulerFACallback = new SchedulerFACallback();
- /// <summary>
- /// 上报SRD Recipe启动
- /// </summary>
- /// <param name="waferInfo"></param>
- /// <param name="recipeId"></param>
- public void NotifySRDRecipeStart(ModuleName srdModule, string recipeId)
- {
- if (WaferManager.Instance.CheckNoWafer(srdModule, 0))
- {
- return;
- }
- WaferInfo waferInfo = WaferManager.Instance.GetWafer(srdModule, 0);
- if (waferInfo == null || waferInfo.IsEmpty)
- {
- return;
- }
- if (waferInfo.ProcessJob == null)
- {
- return;
- }
- ControlJobInfo controlJobInfo = JobProcesser.Instance.GetControlJobInfoByName(waferInfo.ProcessJob.ControlJobName);
- if (controlJobInfo == null)
- {
- return;
- }
- _schedulerFACallback.SrdRecipeStart(controlJobInfo, waferInfo.SequenceName, recipeId, ((ModuleName)waferInfo.Station).ToString(), waferInfo.Slot);
- }
- /// <summary>
- /// 上报SRD Recipe结束
- /// </summary>
- /// <param name="waferInfo"></param>
- /// <param name="recipeId"></param>
- public void NotifySRDRecipeEnd(ModuleName srdModule, string recipeId)
- {
- if (WaferManager.Instance.CheckNoWafer(srdModule, 0))
- {
- return;
- }
- WaferInfo waferInfo = WaferManager.Instance.GetWafer(srdModule, 0);
- if (waferInfo == null || waferInfo.IsEmpty)
- {
- return;
- }
- if (waferInfo.ProcessJob == null)
- {
- return;
- }
- ControlJobInfo controlJobInfo = JobProcesser.Instance.GetControlJobInfoByName(waferInfo.ProcessJob.ControlJobName);
- if (controlJobInfo == null)
- {
- return;
- }
- _schedulerFACallback.SrdRecipeEnd(controlJobInfo, waferInfo.SequenceName, recipeId, ((ModuleName)waferInfo.Station).ToString(), waferInfo.Slot);
- }
- /// <summary>
- /// 上报SRD Recipe失败
- /// </summary>
- /// <param name="waferInfo"></param>
- /// <param name="recipeId"></param>
- public void NotifySRDRecipeFailed(ModuleName srdModule, string recipeId)
- {
- if (WaferManager.Instance.CheckNoWafer(srdModule, 0))
- {
- return;
- }
- WaferInfo waferInfo = WaferManager.Instance.GetWafer(srdModule, 0);
- if (waferInfo == null || waferInfo.IsEmpty)
- {
- return;
- }
- if (waferInfo.ProcessJob == null)
- {
- return;
- }
- ControlJobInfo controlJobInfo = JobProcesser.Instance.GetControlJobInfoByName(waferInfo.ProcessJob.ControlJobName);
- if (controlJobInfo == null)
- {
- return;
- }
- _schedulerFACallback.SrdRecipeFailed(controlJobInfo, waferInfo.SequenceName, recipeId, ((ModuleName)waferInfo.Station).ToString(), waferInfo.Slot);
- }
- }
- }
|