|
@@ -85,263 +85,266 @@ namespace FurnaceRT.Equipments.PMs.RecipeExecutions
|
|
|
#region New
|
|
|
if (isScheduleMaintenance)
|
|
|
{
|
|
|
- #region SD Dummy 时间/次数/膜厚限制
|
|
|
-
|
|
|
- var maintenanceItemSDCarrierUseFreq = ScheduleMaintenanceDataManager.Instance.GetItem(MaintenanceItemEnum.SDCarrierUseFreq.ToString());
|
|
|
- var maintenanceItemSDWaferThickness = ScheduleMaintenanceDataManager.Instance.GetItem(MaintenanceItemEnum.SDWaferThickness.ToString());
|
|
|
- var maintenanceItemSDWaferUserTime = ScheduleMaintenanceDataManager.Instance.GetItem(MaintenanceItemEnum.SDWaferUserTime.ToString());
|
|
|
-
|
|
|
-
|
|
|
|
|
|
- if (wafer.WaferType == WaferType.SD && maintenanceItemSDCarrierUseFreq.StartValue > 0 && wafer.UseCount > maintenanceItemSDCarrierUseFreq.StartValue && wafer.UseCount < maintenanceItemSDCarrierUseFreq.LimitValue)
|
|
|
- {
|
|
|
- if (maintenanceItemSDCarrierUseFreq.MaintenanceProcessing == MaintenanceProcessingCommandEnum.AlarmReport.ToString() ||
|
|
|
- maintenanceItemSDCarrierUseFreq.MaintenanceProcessing == MaintenanceProcessingCommandEnum.JobAutoStart.ToString())
|
|
|
- {
|
|
|
- var msg = pm.GetAlarmWarningMsg(maintenanceItemSDCarrierUseFreq);
|
|
|
- Singleton<EquipmentManager>.Instance.SDWaferTypeUseCountWarning.Set(msg);
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- if (wafer.WaferType == WaferType.SD && maintenanceItemSDWaferUserTime.StartValue > 0 && wafer.UseTime > maintenanceItemSDWaferUserTime.StartValue && wafer.UseTime < maintenanceItemSDWaferUserTime.LimitValue)
|
|
|
+ #region SD Dummy 时间/次数/膜厚限制
|
|
|
+ if (wafer.WaferType == WaferType.SD)
|
|
|
{
|
|
|
+ var maintenanceItemCarrierUseFreq = ScheduleMaintenanceDataManager.Instance.GetItem(MaintenanceItemEnum.SDCarrierUseFreq.ToString());
|
|
|
+ var maintenanceItemWaferThickness = ScheduleMaintenanceDataManager.Instance.GetItem(MaintenanceItemEnum.SDWaferThickness.ToString());
|
|
|
+ var maintenanceItemWaferUserTime = ScheduleMaintenanceDataManager.Instance.GetItem(MaintenanceItemEnum.SDWaferUserTime.ToString());
|
|
|
|
|
|
- if (maintenanceItemSDWaferUserTime.MaintenanceProcessing == MaintenanceProcessingCommandEnum.AlarmReport.ToString() ||
|
|
|
- maintenanceItemSDWaferUserTime.MaintenanceProcessing == MaintenanceProcessingCommandEnum.JobAutoStart.ToString())
|
|
|
+ if (maintenanceItemCarrierUseFreq.StartValue > 0 && wafer.UseCount > maintenanceItemCarrierUseFreq.StartValue && wafer.UseCount < maintenanceItemCarrierUseFreq.LimitValue)
|
|
|
{
|
|
|
- var currentValue = DateTimeUtil.SecondToHHmmss(maintenanceItemSDWaferUserTime.CurrentValue.ToString());
|
|
|
- var minValue = DateTimeUtil.SecondToHHmmss(maintenanceItemSDWaferUserTime.StartValue.ToString());
|
|
|
- var maxValue = DateTimeUtil.SecondToHHmmss(maintenanceItemSDWaferUserTime.LimitValue.ToString());
|
|
|
- var msg = pm.GetAlarmWarningMsg(maintenanceItemSDWaferUserTime, true, currentValue, minValue, maxValue);
|
|
|
- Singleton<EquipmentManager>.Instance.SDWaferTypeUseTimeWarning.Set(msg);
|
|
|
+ if (maintenanceItemCarrierUseFreq.MaintenanceProcessing == MaintenanceProcessingCommandEnum.AlarmReport.ToString() ||
|
|
|
+ maintenanceItemCarrierUseFreq.MaintenanceProcessing == MaintenanceProcessingCommandEnum.JobAutoStart.ToString())
|
|
|
+ {
|
|
|
+ var msg = pm.GetAlarmWarningMsg(maintenanceItemCarrierUseFreq, false, wafer.UseCount.ToString(), maintenanceItemCarrierUseFreq.StartValue.ToString(), maintenanceItemCarrierUseFreq.LimitValue.ToString());
|
|
|
+ Singleton<EquipmentManager>.Instance.SDWaferTypeUseCountWarning.Set(msg);
|
|
|
+ }
|
|
|
}
|
|
|
- }
|
|
|
|
|
|
- if (wafer.WaferType == WaferType.SD && maintenanceItemSDWaferThickness.StartValue > 0 && wafer.UseThick > maintenanceItemSDWaferThickness.StartValue && wafer.UseThick < maintenanceItemSDWaferThickness.LimitValue)
|
|
|
- {
|
|
|
- if (maintenanceItemSDWaferThickness.MaintenanceProcessing == MaintenanceProcessingCommandEnum.AlarmReport.ToString() ||
|
|
|
- maintenanceItemSDWaferThickness.MaintenanceProcessing == MaintenanceProcessingCommandEnum.JobAutoStart.ToString()
|
|
|
- )
|
|
|
+ if (maintenanceItemWaferUserTime.StartValue > 0 && wafer.UseTime > maintenanceItemWaferUserTime.StartValue && wafer.UseTime < maintenanceItemWaferUserTime.LimitValue)
|
|
|
{
|
|
|
- var msg = pm.GetAlarmWarningMsg(maintenanceItemSDWaferThickness);
|
|
|
- Singleton<EquipmentManager>.Instance.SDWaferTypeThicknessWarning.Set(msg);
|
|
|
- }
|
|
|
- }
|
|
|
|
|
|
- if (wafer.WaferType == WaferType.SD && maintenanceItemSDCarrierUseFreq.StartValue > 0 && wafer.UseCount >= maintenanceItemSDCarrierUseFreq.LimitValue)
|
|
|
- {
|
|
|
+ if (maintenanceItemWaferUserTime.MaintenanceProcessing == MaintenanceProcessingCommandEnum.AlarmReport.ToString() ||
|
|
|
+ maintenanceItemWaferUserTime.MaintenanceProcessing == MaintenanceProcessingCommandEnum.JobAutoStart.ToString())
|
|
|
+ {
|
|
|
+ var currentValue = DateTimeUtil.SecondToHHmmss(maintenanceItemWaferUserTime.CurrentValue.ToString());
|
|
|
+ var minValue = DateTimeUtil.SecondToHHmmss(maintenanceItemWaferUserTime.StartValue.ToString());
|
|
|
+ var maxValue = DateTimeUtil.SecondToHHmmss(maintenanceItemWaferUserTime.LimitValue.ToString());
|
|
|
+ var msg = pm.GetAlarmWarningMsg(maintenanceItemWaferUserTime, true, currentValue, minValue, maxValue);
|
|
|
+ Singleton<EquipmentManager>.Instance.SDWaferTypeUseTimeWarning.Set(msg);
|
|
|
+ }
|
|
|
+ }
|
|
|
|
|
|
- if (maintenanceItemSDCarrierUseFreq.MaintenanceProcessing == MaintenanceProcessingCommandEnum.AlarmReport.ToString())
|
|
|
+ if (maintenanceItemWaferThickness.StartValue > 0 && wafer.UseThick > maintenanceItemWaferThickness.StartValue && wafer.UseThick < maintenanceItemWaferThickness.LimitValue)
|
|
|
{
|
|
|
- var msg = pm.GetAlarmWarningMsg(maintenanceItemSDCarrierUseFreq);
|
|
|
- Singleton<EquipmentManager>.Instance.SDWaferTypeUseCountAlarm.Set(msg);
|
|
|
- return Result.FAIL;
|
|
|
+ if (maintenanceItemWaferThickness.MaintenanceProcessing == MaintenanceProcessingCommandEnum.AlarmReport.ToString() ||
|
|
|
+ maintenanceItemWaferThickness.MaintenanceProcessing == MaintenanceProcessingCommandEnum.JobAutoStart.ToString())
|
|
|
+ {
|
|
|
+ var msg = pm.GetAlarmWarningMsg(maintenanceItemWaferThickness, false, wafer.UseThick.ToString(), maintenanceItemWaferThickness.StartValue.ToString(), maintenanceItemWaferThickness.LimitValue.ToString());
|
|
|
+ Singleton<EquipmentManager>.Instance.SDWaferTypeThicknessWarning.Set(msg);
|
|
|
+ }
|
|
|
}
|
|
|
- else if (maintenanceItemSDCarrierUseFreq.MaintenanceProcessing == MaintenanceProcessingCommandEnum.JobAutoStart.ToString())
|
|
|
- {
|
|
|
- var msg = pm.GetAlarmWarningMsg(maintenanceItemSDCarrierUseFreq, true);
|
|
|
|
|
|
- if (string.IsNullOrEmpty(maintenanceItemSDCarrierUseFreq.AssociationProcessRecipeName))
|
|
|
+ if (maintenanceItemCarrierUseFreq.StartValue > 0 && wafer.UseCount >= maintenanceItemCarrierUseFreq.LimitValue)
|
|
|
+ {
|
|
|
+ if (maintenanceItemCarrierUseFreq.MaintenanceProcessing == MaintenanceProcessingCommandEnum.AlarmReport.ToString())
|
|
|
{
|
|
|
+ var msg = pm.GetAlarmWarningMsg(maintenanceItemCarrierUseFreq, false, wafer.UseCount.ToString(), maintenanceItemCarrierUseFreq.StartValue.ToString(), maintenanceItemCarrierUseFreq.LimitValue.ToString());
|
|
|
Singleton<EquipmentManager>.Instance.SDWaferTypeUseCountAlarm.Set(msg);
|
|
|
return Result.FAIL;
|
|
|
}
|
|
|
+ else if (maintenanceItemCarrierUseFreq.MaintenanceProcessing == MaintenanceProcessingCommandEnum.JobAutoStart.ToString())
|
|
|
+ {
|
|
|
+ var msg = pm.GetAlarmWarningMsg(maintenanceItemCarrierUseFreq, true);
|
|
|
|
|
|
+ if (string.IsNullOrEmpty(maintenanceItemCarrierUseFreq.AssociationProcessRecipeName))
|
|
|
+ {
|
|
|
+ Singleton<EquipmentManager>.Instance.SDWaferTypeUseCountAlarm.Set(msg);
|
|
|
+ return Result.FAIL;
|
|
|
+ }
|
|
|
|
|
|
- Singleton<EquipmentManager>.Instance.SDWaferTypeUseCountAlarm.Set(msg);
|
|
|
- pm.TriggerJobAutoStart(maintenanceItemSDCarrierUseFreq.AssociationProcessRecipeName, RecipeExecEntryEnum.SDWaferRangeTrigger);
|
|
|
- LOG.Info($"{msg} Trigger {maintenanceItemSDCarrierUseFreq.AssociationProcessRecipeName}");
|
|
|
- return Result.FAIL;
|
|
|
-
|
|
|
- }
|
|
|
- }
|
|
|
|
|
|
- if (wafer.WaferType == WaferType.SD && maintenanceItemSDWaferUserTime.StartValue > 0 && wafer.UseTime >= maintenanceItemSDWaferUserTime.LimitValue)
|
|
|
- {
|
|
|
- var currentValue = DateTimeUtil.SecondToHHmmss(maintenanceItemSDWaferUserTime.CurrentValue.ToString());
|
|
|
- var minValue = DateTimeUtil.SecondToHHmmss(maintenanceItemSDWaferUserTime.StartValue.ToString());
|
|
|
- var maxValue = DateTimeUtil.SecondToHHmmss(maintenanceItemSDWaferUserTime.LimitValue.ToString());
|
|
|
- var msg = pm.GetAlarmWarningMsg(maintenanceItemSDWaferUserTime, true, currentValue, minValue, maxValue);
|
|
|
+ Singleton<EquipmentManager>.Instance.SDWaferTypeUseCountAlarm.Set(msg);
|
|
|
+ pm.TriggerJobAutoStart(maintenanceItemCarrierUseFreq.AssociationProcessRecipeName, RecipeExecEntryEnum.SDWaferRangeTrigger);
|
|
|
+ LOG.Info($"{msg} Trigger {maintenanceItemCarrierUseFreq.AssociationProcessRecipeName}");
|
|
|
+ return Result.FAIL;
|
|
|
|
|
|
- if (maintenanceItemSDWaferUserTime.MaintenanceProcessing == MaintenanceProcessingCommandEnum.AlarmReport.ToString())
|
|
|
- {
|
|
|
- Singleton<EquipmentManager>.Instance.SDWaferTypeUseTimeAlarm.Set(msg);
|
|
|
- return Result.FAIL;
|
|
|
+ }
|
|
|
}
|
|
|
- else if (maintenanceItemSDWaferUserTime.MaintenanceProcessing == MaintenanceProcessingCommandEnum.JobAutoStart.ToString())
|
|
|
+
|
|
|
+ if (maintenanceItemWaferUserTime.StartValue > 0 && wafer.UseTime >= maintenanceItemWaferUserTime.LimitValue)
|
|
|
{
|
|
|
+ var currentValue = DateTimeUtil.SecondToHHmmss(maintenanceItemWaferUserTime.CurrentValue.ToString());
|
|
|
+ var minValue = DateTimeUtil.SecondToHHmmss(maintenanceItemWaferUserTime.StartValue.ToString());
|
|
|
+ var maxValue = DateTimeUtil.SecondToHHmmss(maintenanceItemWaferUserTime.LimitValue.ToString());
|
|
|
+ var msg = pm.GetAlarmWarningMsg(maintenanceItemWaferUserTime, true, currentValue, minValue, maxValue);
|
|
|
|
|
|
- if (string.IsNullOrEmpty(maintenanceItemSDWaferUserTime.AssociationProcessRecipeName))
|
|
|
+ if (maintenanceItemWaferUserTime.MaintenanceProcessing == MaintenanceProcessingCommandEnum.AlarmReport.ToString())
|
|
|
{
|
|
|
Singleton<EquipmentManager>.Instance.SDWaferTypeUseTimeAlarm.Set(msg);
|
|
|
return Result.FAIL;
|
|
|
}
|
|
|
+ else if (maintenanceItemWaferUserTime.MaintenanceProcessing == MaintenanceProcessingCommandEnum.JobAutoStart.ToString())
|
|
|
+ {
|
|
|
|
|
|
- Singleton<EquipmentManager>.Instance.SDWaferTypeUseTimeAlarm.Set(msg);
|
|
|
- pm.TriggerJobAutoStart(maintenanceItemSDWaferUserTime.AssociationProcessRecipeName, RecipeExecEntryEnum.SDWaferRangeTrigger);
|
|
|
- LOG.Info($"{msg} Trigger {maintenanceItemSDWaferUserTime.AssociationProcessRecipeName}");
|
|
|
- return Result.FAIL;
|
|
|
-
|
|
|
- }
|
|
|
+ if (string.IsNullOrEmpty(maintenanceItemWaferUserTime.AssociationProcessRecipeName))
|
|
|
+ {
|
|
|
+ Singleton<EquipmentManager>.Instance.SDWaferTypeUseTimeAlarm.Set(msg);
|
|
|
+ return Result.FAIL;
|
|
|
+ }
|
|
|
|
|
|
- }
|
|
|
+ Singleton<EquipmentManager>.Instance.SDWaferTypeUseTimeAlarm.Set(msg);
|
|
|
+ pm.TriggerJobAutoStart(maintenanceItemWaferUserTime.AssociationProcessRecipeName, RecipeExecEntryEnum.SDWaferRangeTrigger);
|
|
|
+ LOG.Info($"{msg} Trigger {maintenanceItemWaferUserTime.AssociationProcessRecipeName}");
|
|
|
+ return Result.FAIL;
|
|
|
|
|
|
- if (wafer.WaferType == WaferType.SD && maintenanceItemSDWaferThickness.StartValue > 0 && wafer.UseThick >= maintenanceItemSDWaferThickness.LimitValue)
|
|
|
- {
|
|
|
+ }
|
|
|
|
|
|
- if (maintenanceItemSDWaferThickness.MaintenanceProcessing == MaintenanceProcessingCommandEnum.AlarmReport.ToString())
|
|
|
- {
|
|
|
- var msg = pm.GetAlarmWarningMsg(maintenanceItemSDWaferThickness);
|
|
|
- Singleton<EquipmentManager>.Instance.SDWaferTypeThicknessAlarm.Set(msg);
|
|
|
- return Result.FAIL;
|
|
|
}
|
|
|
- else if (maintenanceItemSDWaferThickness.MaintenanceProcessing == MaintenanceProcessingCommandEnum.JobAutoStart.ToString())
|
|
|
+
|
|
|
+ if (maintenanceItemWaferThickness.StartValue > 0 && wafer.UseThick >= maintenanceItemWaferThickness.LimitValue)
|
|
|
{
|
|
|
- var msg = pm.GetAlarmWarningMsg(maintenanceItemSDWaferThickness, true);
|
|
|
|
|
|
- if (string.IsNullOrEmpty(maintenanceItemSDWaferThickness.AssociationProcessRecipeName))
|
|
|
+ if (maintenanceItemWaferThickness.MaintenanceProcessing == MaintenanceProcessingCommandEnum.AlarmReport.ToString())
|
|
|
{
|
|
|
+ var msg = pm.GetAlarmWarningMsg(maintenanceItemWaferThickness, false, wafer.UseThick.ToString(), maintenanceItemWaferThickness.StartValue.ToString(), maintenanceItemWaferThickness.LimitValue.ToString());
|
|
|
Singleton<EquipmentManager>.Instance.SDWaferTypeThicknessAlarm.Set(msg);
|
|
|
return Result.FAIL;
|
|
|
}
|
|
|
+ else if (maintenanceItemWaferThickness.MaintenanceProcessing == MaintenanceProcessingCommandEnum.JobAutoStart.ToString())
|
|
|
+ {
|
|
|
+ var msg = pm.GetAlarmWarningMsg(maintenanceItemWaferThickness, true);
|
|
|
+
|
|
|
+ if (string.IsNullOrEmpty(maintenanceItemWaferThickness.AssociationProcessRecipeName))
|
|
|
+ {
|
|
|
+ Singleton<EquipmentManager>.Instance.SDWaferTypeThicknessAlarm.Set(msg);
|
|
|
+ return Result.FAIL;
|
|
|
+ }
|
|
|
|
|
|
|
|
|
- Singleton<EquipmentManager>.Instance.SDWaferTypeThicknessAlarm.Set(msg);
|
|
|
- pm.TriggerJobAutoStart(maintenanceItemSDWaferThickness.AssociationProcessRecipeName, RecipeExecEntryEnum.SDWaferRangeTrigger);
|
|
|
- LOG.Info($"{msg} Trigger {maintenanceItemSDWaferThickness.AssociationProcessRecipeName}");
|
|
|
- return Result.FAIL;
|
|
|
+ Singleton<EquipmentManager>.Instance.SDWaferTypeThicknessAlarm.Set(msg);
|
|
|
+ pm.TriggerJobAutoStart(maintenanceItemWaferThickness.AssociationProcessRecipeName, RecipeExecEntryEnum.SDWaferRangeTrigger);
|
|
|
+ LOG.Info($"{msg} Trigger {maintenanceItemWaferThickness.AssociationProcessRecipeName}");
|
|
|
+ return Result.FAIL;
|
|
|
|
|
|
+ }
|
|
|
}
|
|
|
+
|
|
|
}
|
|
|
+
|
|
|
#endregion
|
|
|
|
|
|
#region ED
|
|
|
- var maintenanceItemEDCarrierUseFreq = ScheduleMaintenanceDataManager.Instance.GetItem(MaintenanceItemEnum.FDCarrierUseFreq.ToString());
|
|
|
- var maintenanceItemEDWaferThickness = ScheduleMaintenanceDataManager.Instance.GetItem(MaintenanceItemEnum.FDWaferThickness.ToString());
|
|
|
- var maintenanceItemEDWaferUserTime = ScheduleMaintenanceDataManager.Instance.GetItem(MaintenanceItemEnum.FDWaferUserTime.ToString());
|
|
|
-
|
|
|
- if (wafer.WaferType == WaferType.ED && maintenanceItemEDCarrierUseFreq.StartValue > 0 && wafer.UseCount > maintenanceItemEDCarrierUseFreq.StartValue && wafer.UseCount < maintenanceItemEDCarrierUseFreq.LimitValue)
|
|
|
+ if (wafer.WaferType == WaferType.ED)
|
|
|
{
|
|
|
- if (maintenanceItemEDCarrierUseFreq.MaintenanceProcessing == MaintenanceProcessingCommandEnum.AlarmReport.ToString() ||
|
|
|
- maintenanceItemEDCarrierUseFreq.MaintenanceProcessing == MaintenanceProcessingCommandEnum.JobAutoStart.ToString()
|
|
|
- )
|
|
|
+ var maintenanceItemCarrierUseFreq = ScheduleMaintenanceDataManager.Instance.GetItem(MaintenanceItemEnum.FDCarrierUseFreq.ToString());
|
|
|
+ var maintenanceItemWaferThickness = ScheduleMaintenanceDataManager.Instance.GetItem(MaintenanceItemEnum.FDWaferThickness.ToString());
|
|
|
+ var maintenanceItemWaferUserTime = ScheduleMaintenanceDataManager.Instance.GetItem(MaintenanceItemEnum.FDWaferUserTime.ToString());
|
|
|
+
|
|
|
+ if (maintenanceItemCarrierUseFreq.StartValue > 0 && wafer.UseCount > maintenanceItemCarrierUseFreq.StartValue && wafer.UseCount < maintenanceItemCarrierUseFreq.LimitValue)
|
|
|
{
|
|
|
- var msg = pm.GetAlarmWarningMsg(maintenanceItemEDCarrierUseFreq);
|
|
|
- Singleton<EquipmentManager>.Instance.FDWaferTypeUseCountWarning.Set(msg);
|
|
|
+ if (maintenanceItemCarrierUseFreq.MaintenanceProcessing == MaintenanceProcessingCommandEnum.AlarmReport.ToString() ||
|
|
|
+ maintenanceItemCarrierUseFreq.MaintenanceProcessing == MaintenanceProcessingCommandEnum.JobAutoStart.ToString())
|
|
|
+ {
|
|
|
+ var msg = pm.GetAlarmWarningMsg(maintenanceItemCarrierUseFreq, false, wafer.UseCount.ToString(), maintenanceItemCarrierUseFreq.StartValue.ToString(), maintenanceItemCarrierUseFreq.LimitValue.ToString());
|
|
|
+ Singleton<EquipmentManager>.Instance.FDWaferTypeUseCountWarning.Set(msg);
|
|
|
+ }
|
|
|
}
|
|
|
- }
|
|
|
|
|
|
- if (wafer.WaferType == WaferType.ED && maintenanceItemEDWaferUserTime.StartValue > 0 && wafer.UseTime > maintenanceItemEDWaferUserTime.StartValue && wafer.UseTime < maintenanceItemEDWaferUserTime.LimitValue)
|
|
|
- {
|
|
|
-
|
|
|
- if (maintenanceItemEDWaferUserTime.MaintenanceProcessing == MaintenanceProcessingCommandEnum.AlarmReport.ToString() ||
|
|
|
- maintenanceItemEDWaferUserTime.MaintenanceProcessing == MaintenanceProcessingCommandEnum.JobAutoStart.ToString()
|
|
|
-
|
|
|
- )
|
|
|
+ if (maintenanceItemWaferUserTime.StartValue > 0 && wafer.UseTime > maintenanceItemWaferUserTime.StartValue && wafer.UseTime < maintenanceItemWaferUserTime.LimitValue)
|
|
|
{
|
|
|
- var currentValue = DateTimeUtil.SecondToHHmmss(maintenanceItemEDWaferUserTime.CurrentValue.ToString());
|
|
|
- var minValue = DateTimeUtil.SecondToHHmmss(maintenanceItemEDWaferUserTime.StartValue.ToString());
|
|
|
- var maxValue = DateTimeUtil.SecondToHHmmss(maintenanceItemEDWaferUserTime.LimitValue.ToString());
|
|
|
- var msg = pm.GetAlarmWarningMsg(maintenanceItemEDWaferUserTime, true, currentValue, minValue, maxValue);
|
|
|
|
|
|
- Singleton<EquipmentManager>.Instance.FDWaferTypeUseTimeWarning.Set(msg);
|
|
|
- }
|
|
|
+ if (maintenanceItemWaferUserTime.MaintenanceProcessing == MaintenanceProcessingCommandEnum.AlarmReport.ToString() ||
|
|
|
+ maintenanceItemWaferUserTime.MaintenanceProcessing == MaintenanceProcessingCommandEnum.JobAutoStart.ToString())
|
|
|
+ {
|
|
|
+ var currentValue = DateTimeUtil.SecondToHHmmss(maintenanceItemWaferUserTime.CurrentValue.ToString());
|
|
|
+ var minValue = DateTimeUtil.SecondToHHmmss(maintenanceItemWaferUserTime.StartValue.ToString());
|
|
|
+ var maxValue = DateTimeUtil.SecondToHHmmss(maintenanceItemWaferUserTime.LimitValue.ToString());
|
|
|
+ var msg = pm.GetAlarmWarningMsg(maintenanceItemWaferUserTime, true, currentValue, minValue, maxValue);
|
|
|
|
|
|
- }
|
|
|
+ Singleton<EquipmentManager>.Instance.FDWaferTypeUseTimeWarning.Set(msg);
|
|
|
+ }
|
|
|
|
|
|
- if (wafer.WaferType == WaferType.ED && maintenanceItemEDWaferThickness.StartValue > 0 && wafer.UseThick > maintenanceItemEDWaferThickness.StartValue && wafer.UseThick < maintenanceItemEDWaferThickness.LimitValue)
|
|
|
- {
|
|
|
- if (maintenanceItemEDWaferThickness.MaintenanceProcessing == MaintenanceProcessingCommandEnum.AlarmReport.ToString() ||
|
|
|
- maintenanceItemEDWaferThickness.MaintenanceProcessing == MaintenanceProcessingCommandEnum.AlarmReport.ToString())
|
|
|
- {
|
|
|
- var msg = pm.GetAlarmWarningMsg(maintenanceItemEDWaferThickness);
|
|
|
- Singleton<EquipmentManager>.Instance.FDWaferTypeThicknessWarning.Set(msg);
|
|
|
}
|
|
|
- }
|
|
|
|
|
|
- if (wafer.WaferType == WaferType.ED && maintenanceItemEDCarrierUseFreq.StartValue > 0 && wafer.UseCount >= maintenanceItemEDCarrierUseFreq.LimitValue)
|
|
|
- {
|
|
|
-
|
|
|
- if (maintenanceItemEDCarrierUseFreq.MaintenanceProcessing == MaintenanceProcessingCommandEnum.AlarmReport.ToString())
|
|
|
+ if (maintenanceItemWaferThickness.StartValue > 0 && wafer.UseThick > maintenanceItemWaferThickness.StartValue && wafer.UseThick < maintenanceItemWaferThickness.LimitValue)
|
|
|
{
|
|
|
- var msg = pm.GetAlarmWarningMsg(maintenanceItemEDCarrierUseFreq);
|
|
|
- Singleton<EquipmentManager>.Instance.FDWaferTypeUseCountAlarm.Set(msg);
|
|
|
- return Result.FAIL;
|
|
|
+ if (maintenanceItemWaferThickness.MaintenanceProcessing == MaintenanceProcessingCommandEnum.AlarmReport.ToString() ||
|
|
|
+ maintenanceItemWaferThickness.MaintenanceProcessing == MaintenanceProcessingCommandEnum.JobAutoStart.ToString())
|
|
|
+ {
|
|
|
+ var msg = pm.GetAlarmWarningMsg(maintenanceItemWaferThickness, false, wafer.UseThick.ToString(), maintenanceItemWaferThickness.StartValue.ToString(), maintenanceItemWaferThickness.LimitValue.ToString());
|
|
|
+ Singleton<EquipmentManager>.Instance.FDWaferTypeThicknessWarning.Set(msg);
|
|
|
+ }
|
|
|
}
|
|
|
- else if (maintenanceItemEDCarrierUseFreq.MaintenanceProcessing == MaintenanceProcessingCommandEnum.JobAutoStart.ToString())
|
|
|
+
|
|
|
+ if (maintenanceItemCarrierUseFreq.StartValue > 0 && wafer.UseCount >= maintenanceItemCarrierUseFreq.LimitValue)
|
|
|
{
|
|
|
- var msg = pm.GetAlarmWarningMsg(maintenanceItemEDCarrierUseFreq);
|
|
|
|
|
|
- if (string.IsNullOrEmpty(maintenanceItemEDCarrierUseFreq.AssociationProcessRecipeName))
|
|
|
+ if (maintenanceItemCarrierUseFreq.MaintenanceProcessing == MaintenanceProcessingCommandEnum.AlarmReport.ToString())
|
|
|
{
|
|
|
+ var msg = pm.GetAlarmWarningMsg(maintenanceItemCarrierUseFreq, false, wafer.UseCount.ToString(), maintenanceItemCarrierUseFreq.StartValue.ToString(), maintenanceItemCarrierUseFreq.LimitValue.ToString());
|
|
|
Singleton<EquipmentManager>.Instance.FDWaferTypeUseCountAlarm.Set(msg);
|
|
|
return Result.FAIL;
|
|
|
}
|
|
|
- Singleton<EquipmentManager>.Instance.FDWaferTypeUseCountAlarm.Set(msg);
|
|
|
- pm.TriggerJobAutoStart(maintenanceItemEDCarrierUseFreq.AssociationProcessRecipeName, RecipeExecEntryEnum.EDWaferRangeTrigger);
|
|
|
- LOG.Info($"{msg} Trigger {maintenanceItemEDCarrierUseFreq.AssociationProcessRecipeName}");
|
|
|
- return Result.FAIL;
|
|
|
+ else if (maintenanceItemCarrierUseFreq.MaintenanceProcessing == MaintenanceProcessingCommandEnum.JobAutoStart.ToString())
|
|
|
+ {
|
|
|
+ var msg = pm.GetAlarmWarningMsg(maintenanceItemCarrierUseFreq);
|
|
|
+
|
|
|
+ if (string.IsNullOrEmpty(maintenanceItemCarrierUseFreq.AssociationProcessRecipeName))
|
|
|
+ {
|
|
|
+ Singleton<EquipmentManager>.Instance.FDWaferTypeUseCountAlarm.Set(msg);
|
|
|
+ return Result.FAIL;
|
|
|
+ }
|
|
|
+ Singleton<EquipmentManager>.Instance.FDWaferTypeUseCountAlarm.Set(msg);
|
|
|
+ pm.TriggerJobAutoStart(maintenanceItemCarrierUseFreq.AssociationProcessRecipeName, RecipeExecEntryEnum.EDWaferRangeTrigger);
|
|
|
+ LOG.Info($"{msg} Trigger {maintenanceItemCarrierUseFreq.AssociationProcessRecipeName}");
|
|
|
+ return Result.FAIL;
|
|
|
|
|
|
+ }
|
|
|
}
|
|
|
- }
|
|
|
|
|
|
- if (wafer.WaferType == WaferType.ED && maintenanceItemEDWaferUserTime.StartValue > 0 && wafer.UseTime >= maintenanceItemEDWaferUserTime.LimitValue)
|
|
|
- {
|
|
|
+ if (maintenanceItemWaferUserTime.StartValue > 0 && wafer.UseTime >= maintenanceItemWaferUserTime.LimitValue)
|
|
|
+ {
|
|
|
|
|
|
- var currentValue = DateTimeUtil.SecondToHHmmss(maintenanceItemEDWaferUserTime.CurrentValue.ToString());
|
|
|
- var minValue = DateTimeUtil.SecondToHHmmss(maintenanceItemEDWaferUserTime.StartValue.ToString());
|
|
|
- var maxValue = DateTimeUtil.SecondToHHmmss(maintenanceItemEDWaferUserTime.LimitValue.ToString());
|
|
|
- var msg = pm.GetAlarmWarningMsg(maintenanceItemEDWaferUserTime, true, currentValue, minValue, maxValue);
|
|
|
|
|
|
- if (maintenanceItemEDWaferUserTime.MaintenanceProcessing == MaintenanceProcessingCommandEnum.AlarmReport.ToString())
|
|
|
- {
|
|
|
- Singleton<EquipmentManager>.Instance.FDWaferTypeUseTimeAlarm.Set(msg);
|
|
|
- return Result.FAIL;
|
|
|
- }
|
|
|
- else if (maintenanceItemEDWaferUserTime.MaintenanceProcessing == MaintenanceProcessingCommandEnum.JobAutoStart.ToString())
|
|
|
- {
|
|
|
+ var currentValue = DateTimeUtil.SecondToHHmmss(maintenanceItemWaferUserTime.CurrentValue.ToString());
|
|
|
+ var minValue = DateTimeUtil.SecondToHHmmss(maintenanceItemWaferUserTime.StartValue.ToString());
|
|
|
+ var maxValue = DateTimeUtil.SecondToHHmmss(maintenanceItemWaferUserTime.LimitValue.ToString());
|
|
|
+ var msg = pm.GetAlarmWarningMsg(maintenanceItemWaferUserTime, true, currentValue, minValue, maxValue);
|
|
|
|
|
|
- if (string.IsNullOrEmpty(maintenanceItemEDWaferUserTime.AssociationProcessRecipeName))
|
|
|
+ if (maintenanceItemWaferUserTime.MaintenanceProcessing == MaintenanceProcessingCommandEnum.AlarmReport.ToString())
|
|
|
{
|
|
|
Singleton<EquipmentManager>.Instance.FDWaferTypeUseTimeAlarm.Set(msg);
|
|
|
return Result.FAIL;
|
|
|
}
|
|
|
+ else if (maintenanceItemWaferUserTime.MaintenanceProcessing == MaintenanceProcessingCommandEnum.JobAutoStart.ToString())
|
|
|
+ {
|
|
|
|
|
|
- Singleton<EquipmentManager>.Instance.FDWaferTypeUseTimeAlarm.Set(msg);
|
|
|
- pm.TriggerJobAutoStart(maintenanceItemEDWaferUserTime.AssociationProcessRecipeName, RecipeExecEntryEnum.EDWaferRangeTrigger);
|
|
|
- LOG.Info($"{msg} Trigger {maintenanceItemEDWaferUserTime.AssociationProcessRecipeName}");
|
|
|
- return Result.FAIL;
|
|
|
-
|
|
|
- }
|
|
|
- }
|
|
|
+ if (string.IsNullOrEmpty(maintenanceItemWaferUserTime.AssociationProcessRecipeName))
|
|
|
+ {
|
|
|
+ Singleton<EquipmentManager>.Instance.FDWaferTypeUseTimeAlarm.Set(msg);
|
|
|
+ return Result.FAIL;
|
|
|
+ }
|
|
|
|
|
|
- if (wafer.WaferType == WaferType.ED && maintenanceItemEDWaferThickness.StartValue > 0 && wafer.UseThick >= maintenanceItemEDWaferThickness.LimitValue)
|
|
|
- {
|
|
|
+ Singleton<EquipmentManager>.Instance.FDWaferTypeUseTimeAlarm.Set(msg);
|
|
|
+ pm.TriggerJobAutoStart(maintenanceItemWaferUserTime.AssociationProcessRecipeName, RecipeExecEntryEnum.EDWaferRangeTrigger);
|
|
|
+ LOG.Info($"{msg} Trigger {maintenanceItemWaferUserTime.AssociationProcessRecipeName}");
|
|
|
+ return Result.FAIL;
|
|
|
|
|
|
- if (maintenanceItemEDWaferThickness.MaintenanceProcessing == MaintenanceProcessingCommandEnum.AlarmReport.ToString())
|
|
|
- {
|
|
|
- var msg = pm.GetAlarmWarningMsg(maintenanceItemEDWaferThickness);
|
|
|
- Singleton<EquipmentManager>.Instance.FDWaferTypeThicknessAlarm.Set(msg);
|
|
|
- return Result.FAIL;
|
|
|
+ }
|
|
|
}
|
|
|
- else if (maintenanceItemEDWaferThickness.MaintenanceProcessing == MaintenanceProcessingCommandEnum.JobAutoStart.ToString())
|
|
|
+
|
|
|
+ if (maintenanceItemWaferThickness.StartValue > 0 && wafer.UseThick >= maintenanceItemWaferThickness.LimitValue)
|
|
|
{
|
|
|
- var msg = pm.GetAlarmWarningMsg(maintenanceItemEDWaferThickness, true);
|
|
|
|
|
|
- if (string.IsNullOrEmpty(maintenanceItemEDWaferThickness.AssociationProcessRecipeName))
|
|
|
+ if (maintenanceItemWaferThickness.MaintenanceProcessing == MaintenanceProcessingCommandEnum.AlarmReport.ToString())
|
|
|
{
|
|
|
+ var msg = pm.GetAlarmWarningMsg(maintenanceItemWaferThickness, false, wafer.UseThick.ToString(), maintenanceItemWaferThickness.StartValue.ToString(), maintenanceItemWaferThickness.LimitValue.ToString());
|
|
|
Singleton<EquipmentManager>.Instance.FDWaferTypeThicknessAlarm.Set(msg);
|
|
|
return Result.FAIL;
|
|
|
}
|
|
|
- Singleton<EquipmentManager>.Instance.FDWaferTypeThicknessAlarm.Set(msg);
|
|
|
- pm.TriggerJobAutoStart(maintenanceItemEDWaferThickness.AssociationProcessRecipeName, RecipeExecEntryEnum.EDWaferRangeTrigger);
|
|
|
- LOG.Info($"{msg} Trigger {maintenanceItemEDWaferThickness.AssociationProcessRecipeName}");
|
|
|
- return Result.FAIL;
|
|
|
+ else if (maintenanceItemWaferThickness.MaintenanceProcessing == MaintenanceProcessingCommandEnum.JobAutoStart.ToString())
|
|
|
+ {
|
|
|
+ var msg = pm.GetAlarmWarningMsg(maintenanceItemWaferThickness, true);
|
|
|
+
|
|
|
+ if (string.IsNullOrEmpty(maintenanceItemWaferThickness.AssociationProcessRecipeName))
|
|
|
+ {
|
|
|
+ Singleton<EquipmentManager>.Instance.FDWaferTypeThicknessAlarm.Set(msg);
|
|
|
+ return Result.FAIL;
|
|
|
+ }
|
|
|
+ Singleton<EquipmentManager>.Instance.FDWaferTypeThicknessAlarm.Set(msg);
|
|
|
+ pm.TriggerJobAutoStart(maintenanceItemWaferThickness.AssociationProcessRecipeName, RecipeExecEntryEnum.EDWaferRangeTrigger);
|
|
|
+ LOG.Info($"{msg} Trigger {maintenanceItemWaferThickness.AssociationProcessRecipeName}");
|
|
|
+ return Result.FAIL;
|
|
|
|
|
|
+ }
|
|
|
}
|
|
|
+
|
|
|
}
|
|
|
- #endregion
|
|
|
|
|
|
+ #endregion
|
|
|
}
|
|
|
#endregion
|
|
|
}
|