Browse Source

JobAuto状态 warning也要触发

jiangjy 1 month ago
parent
commit
29c9d34240

BIN
Furnace/FurnaceRT/Config/VIDs/Equipment_VIDs_20250604.xlsx


+ 12 - 6
Furnace/FurnaceRT/Equipments/Jobs/AutoTransfer.cs

@@ -5946,7 +5946,8 @@ namespace FurnaceRT.Equipments.Jobs
 
                         if (wafer.WaferType == WaferType.SD && maintenanceItemSDCarrierUseFreq.StartValue > 0 && wafer.UseCount > maintenanceItemSDCarrierUseFreq.StartValue && wafer.UseCount < maintenanceItemSDCarrierUseFreq.LimitValue)
                         {
-                            if (maintenanceItemSDCarrierUseFreq.MaintenanceProcessing == MaintenanceProcessingCommandEnum.AlarmReport.ToString())
+                            if (maintenanceItemSDCarrierUseFreq.MaintenanceProcessing == MaintenanceProcessingCommandEnum.AlarmReport.ToString()|| 
+                                maintenanceItemSDCarrierUseFreq.MaintenanceProcessing == MaintenanceProcessingCommandEnum.JobAutoStart.ToString())
                             {
                                 var msg = pm.GetAlarmWarningMsg(maintenanceItemSDCarrierUseFreq);
                                 Singleton<EquipmentManager>.Instance.SDWaferTypeUseCountWarning.Set(msg);
@@ -5956,7 +5957,8 @@ namespace FurnaceRT.Equipments.Jobs
                         if (wafer.WaferType == WaferType.SD && maintenanceItemSDWaferUserTime.StartValue > 0 && wafer.UseTime > maintenanceItemSDWaferUserTime.StartValue && wafer.UseTime < maintenanceItemSDWaferUserTime.LimitValue)
                         {
 
-                            if (maintenanceItemSDWaferUserTime.MaintenanceProcessing == MaintenanceProcessingCommandEnum.AlarmReport.ToString())
+                            if (maintenanceItemSDWaferUserTime.MaintenanceProcessing == MaintenanceProcessingCommandEnum.AlarmReport.ToString()||
+                                maintenanceItemSDWaferUserTime.MaintenanceProcessing == MaintenanceProcessingCommandEnum.JobAutoStart.ToString() ||)
                             {
                                 var currentValue = DateTimeUtil.SecondToHHmmss(maintenanceItemSDWaferUserTime.CurrentValue.ToString());
                                 var minValue = DateTimeUtil.SecondToHHmmss(maintenanceItemSDWaferUserTime.StartValue.ToString());
@@ -5968,7 +5970,8 @@ namespace FurnaceRT.Equipments.Jobs
 
                         if (wafer.WaferType == WaferType.SD && maintenanceItemSDWaferThickness.StartValue > 0 && wafer.UseThick > maintenanceItemSDWaferThickness.StartValue && wafer.UseThick < maintenanceItemSDWaferThickness.LimitValue)
                         {
-                            if (maintenanceItemSDWaferThickness.MaintenanceProcessing == MaintenanceProcessingCommandEnum.AlarmReport.ToString())
+                            if (maintenanceItemSDWaferThickness.MaintenanceProcessing == MaintenanceProcessingCommandEnum.AlarmReport.ToString()||
+                                maintenanceItemSDWaferThickness.MaintenanceProcessing == MaintenanceProcessingCommandEnum.JobAutoStart.ToString())
                             {
                                 var msg = pm.GetAlarmWarningMsg(maintenanceItemSDWaferThickness);
                                 Singleton<EquipmentManager>.Instance.SDWaferTypeThicknessWarning.Set(msg);
@@ -6077,7 +6080,8 @@ namespace FurnaceRT.Equipments.Jobs
 
                         if (wafer.WaferType == WaferType.ED && maintenanceItemEDCarrierUseFreq.StartValue > 0 && maintenanceItemEDCarrierUseFreq.CurrentValue > maintenanceItemEDCarrierUseFreq.StartValue && wafer.UseCount < maintenanceItemEDCarrierUseFreq.LimitValue)
                         {
-                            if (maintenanceItemEDCarrierUseFreq.MaintenanceProcessing == MaintenanceProcessingCommandEnum.AlarmReport.ToString())
+                            if (maintenanceItemEDCarrierUseFreq.MaintenanceProcessing == MaintenanceProcessingCommandEnum.AlarmReport.ToString()||
+                               maintenanceItemEDCarrierUseFreq.MaintenanceProcessing == MaintenanceProcessingCommandEnum.JobAutoStart.ToString())
                             {
                                 var msg = pm.GetAlarmWarningMsg(maintenanceItemEDCarrierUseFreq);
                                 Singleton<EquipmentManager>.Instance.FDWaferTypeUseCountWarning.Set(msg);
@@ -6087,7 +6091,8 @@ namespace FurnaceRT.Equipments.Jobs
                         if (wafer.WaferType == WaferType.ED && maintenanceItemEDWaferUserTime.StartValue > 0 && wafer.UseTime > maintenanceItemEDWaferUserTime.StartValue && wafer.UseTime < maintenanceItemEDWaferUserTime.LimitValue)
                         {
 
-                            if (maintenanceItemEDWaferUserTime.MaintenanceProcessing == MaintenanceProcessingCommandEnum.AlarmReport.ToString())
+                            if (maintenanceItemEDWaferUserTime.MaintenanceProcessing == MaintenanceProcessingCommandEnum.AlarmReport.ToString()||
+                                maintenanceItemEDWaferUserTime.MaintenanceProcessing == MaintenanceProcessingCommandEnum.JobAutoStart.ToString())
                             {
                                 var currentValue = DateTimeUtil.SecondToHHmmss(maintenanceItemEDWaferUserTime.CurrentValue.ToString());
                                 var minValue = DateTimeUtil.SecondToHHmmss(maintenanceItemEDWaferUserTime.StartValue.ToString());
@@ -6101,7 +6106,8 @@ namespace FurnaceRT.Equipments.Jobs
 
                         if (wafer.WaferType == WaferType.ED && maintenanceItemEDWaferThickness.StartValue > 0 && wafer.UseThick > maintenanceItemEDWaferThickness.StartValue && wafer.UseThick < maintenanceItemEDWaferThickness.LimitValue)
                         {
-                            if (maintenanceItemEDWaferThickness.MaintenanceProcessing == MaintenanceProcessingCommandEnum.AlarmReport.ToString())
+                            if (maintenanceItemEDWaferThickness.MaintenanceProcessing == MaintenanceProcessingCommandEnum.AlarmReport.ToString()||
+                                maintenanceItemEDWaferThickness.MaintenanceProcessing == MaintenanceProcessingCommandEnum.JobAutoStart.ToString())
                             {
                                 var msg = pm.GetAlarmWarningMsg(maintenanceItemEDWaferThickness);
                                 Singleton<EquipmentManager>.Instance.FDWaferTypeThicknessWarning.Set(msg);

+ 32 - 22
Furnace/FurnaceRT/Equipments/PMs/RecipeExecutions/PreProcess.cs

@@ -95,7 +95,8 @@ namespace FurnaceRT.Equipments.PMs.RecipeExecutions
 
                                 if (wafer.WaferType == WaferType.SD && maintenanceItemSDCarrierUseFreq.StartValue > 0 && wafer.UseCount > maintenanceItemSDCarrierUseFreq.StartValue && wafer.UseCount < maintenanceItemSDCarrierUseFreq.LimitValue)
                                 {
-                                    if (maintenanceItemSDCarrierUseFreq.MaintenanceProcessing == MaintenanceProcessingCommandEnum.AlarmReport.ToString())
+                                    if (maintenanceItemSDCarrierUseFreq.MaintenanceProcessing == MaintenanceProcessingCommandEnum.AlarmReport.ToString() ||
+                                        maintenanceItemSDCarrierUseFreq.MaintenanceProcessing == MaintenanceProcessingCommandEnum.JobAutoStart.ToString())
                                     {
                                         var msg = pm.GetAlarmWarningMsg(maintenanceItemSDCarrierUseFreq);
                                         Singleton<EquipmentManager>.Instance.SDWaferTypeUseCountWarning.Set(msg);
@@ -105,7 +106,8 @@ namespace FurnaceRT.Equipments.PMs.RecipeExecutions
                                 if (wafer.WaferType == WaferType.SD && maintenanceItemSDWaferUserTime.StartValue > 0 && wafer.UseTime > maintenanceItemSDWaferUserTime.StartValue && wafer.UseTime < maintenanceItemSDWaferUserTime.LimitValue)
                                 {
 
-                                    if (maintenanceItemSDWaferUserTime.MaintenanceProcessing == MaintenanceProcessingCommandEnum.AlarmReport.ToString())
+                                    if (maintenanceItemSDWaferUserTime.MaintenanceProcessing == MaintenanceProcessingCommandEnum.AlarmReport.ToString() ||
+                                        maintenanceItemSDWaferUserTime.MaintenanceProcessing == MaintenanceProcessingCommandEnum.JobAutoStart.ToString())
                                     {
                                         var currentValue = DateTimeUtil.SecondToHHmmss(maintenanceItemSDWaferUserTime.CurrentValue.ToString());
                                         var minValue = DateTimeUtil.SecondToHHmmss(maintenanceItemSDWaferUserTime.StartValue.ToString());
@@ -117,7 +119,9 @@ namespace FurnaceRT.Equipments.PMs.RecipeExecutions
 
                                 if (wafer.WaferType == WaferType.SD && maintenanceItemSDWaferThickness.StartValue > 0 && wafer.UseThick > maintenanceItemSDWaferThickness.StartValue && wafer.UseThick < maintenanceItemSDWaferThickness.LimitValue)
                                 {
-                                    if (maintenanceItemSDWaferThickness.MaintenanceProcessing == MaintenanceProcessingCommandEnum.AlarmReport.ToString())
+                                    if (maintenanceItemSDWaferThickness.MaintenanceProcessing == MaintenanceProcessingCommandEnum.AlarmReport.ToString() ||
+                                        maintenanceItemSDWaferThickness.MaintenanceProcessing == MaintenanceProcessingCommandEnum.JobAutoStart.ToString()
+                                        )
                                     {
                                         var msg = pm.GetAlarmWarningMsg(maintenanceItemSDWaferThickness);
                                         Singleton<EquipmentManager>.Instance.SDWaferTypeThicknessWarning.Set(msg);
@@ -133,7 +137,7 @@ namespace FurnaceRT.Equipments.PMs.RecipeExecutions
                                     {
                                         var msg = pm.GetAlarmWarningMsg(maintenanceItemSDCarrierUseFreq);
                                         Singleton<EquipmentManager>.Instance.SDWaferTypeUseCountAlarm.Set(msg);
-                                           return Result.FAIL;
+                                        return Result.FAIL;
                                     }
                                     else if (maintenanceItemSDCarrierUseFreq.MaintenanceProcessing == MaintenanceProcessingCommandEnum.JobAutoStart.ToString())
                                     {
@@ -142,14 +146,14 @@ namespace FurnaceRT.Equipments.PMs.RecipeExecutions
                                         if (string.IsNullOrEmpty(maintenanceItemSDCarrierUseFreq.AssociationProcessRecipeName))
                                         {
                                             Singleton<EquipmentManager>.Instance.SDWaferTypeUseCountAlarm.Set(msg);
-                                               return Result.FAIL;
+                                            return Result.FAIL;
                                         }
 
 
                                         Singleton<EquipmentManager>.Instance.SDWaferTypeUseCountAlarm.Set(msg);
                                         pm.TriggerJobAutoStart(maintenanceItemSDCarrierUseFreq.AssociationProcessRecipeName);
                                         LOG.Info($"{msg} Trigger {maintenanceItemSDCarrierUseFreq.AssociationProcessRecipeName}");
-                                           return Result.FAIL;
+                                        return Result.FAIL;
 
                                     }
                                 }
@@ -168,7 +172,7 @@ namespace FurnaceRT.Equipments.PMs.RecipeExecutions
                                     if (maintenanceItemSDWaferUserTime.MaintenanceProcessing == MaintenanceProcessingCommandEnum.AlarmReport.ToString())
                                     {
                                         Singleton<EquipmentManager>.Instance.SDWaferTypeUseTimeAlarm.Set(msg);
-                                           return Result.FAIL;
+                                        return Result.FAIL;
                                     }
                                     else if (maintenanceItemSDWaferUserTime.MaintenanceProcessing == MaintenanceProcessingCommandEnum.JobAutoStart.ToString())
                                     {
@@ -176,13 +180,13 @@ namespace FurnaceRT.Equipments.PMs.RecipeExecutions
                                         if (string.IsNullOrEmpty(maintenanceItemSDWaferUserTime.AssociationProcessRecipeName))
                                         {
                                             Singleton<EquipmentManager>.Instance.SDWaferTypeUseTimeAlarm.Set(msg);
-                                               return Result.FAIL;
+                                            return Result.FAIL;
                                         }
 
                                         Singleton<EquipmentManager>.Instance.SDWaferTypeUseTimeAlarm.Set(msg);
                                         pm.TriggerJobAutoStart(maintenanceItemSDWaferUserTime.AssociationProcessRecipeName);
                                         LOG.Info($"{msg} Trigger {maintenanceItemSDWaferUserTime.AssociationProcessRecipeName}");
-                                           return Result.FAIL;
+                                        return Result.FAIL;
 
                                     }
 
@@ -197,7 +201,7 @@ namespace FurnaceRT.Equipments.PMs.RecipeExecutions
                                     {
                                         var msg = pm.GetAlarmWarningMsg(maintenanceItemSDWaferThickness);
                                         Singleton<EquipmentManager>.Instance.SDWaferTypeThicknessAlarm.Set(msg);
-                                           return Result.FAIL;
+                                        return Result.FAIL;
                                     }
                                     else if (maintenanceItemSDWaferThickness.MaintenanceProcessing == MaintenanceProcessingCommandEnum.JobAutoStart.ToString())
                                     {
@@ -206,14 +210,14 @@ namespace FurnaceRT.Equipments.PMs.RecipeExecutions
                                         if (string.IsNullOrEmpty(maintenanceItemSDWaferThickness.AssociationProcessRecipeName))
                                         {
                                             Singleton<EquipmentManager>.Instance.SDWaferTypeThicknessAlarm.Set(msg);
-                                               return Result.FAIL;
+                                            return Result.FAIL;
                                         }
 
 
                                         Singleton<EquipmentManager>.Instance.SDWaferTypeThicknessAlarm.Set(msg);
                                         pm.TriggerJobAutoStart(maintenanceItemSDWaferThickness.AssociationProcessRecipeName);
                                         LOG.Info($"{msg} Trigger {maintenanceItemSDWaferThickness.AssociationProcessRecipeName}");
-                                           return Result.FAIL;
+                                        return Result.FAIL;
 
                                     }
                                 }
@@ -226,7 +230,9 @@ namespace FurnaceRT.Equipments.PMs.RecipeExecutions
 
                                 if (wafer.WaferType == WaferType.ED && maintenanceItemEDCarrierUseFreq.StartValue > 0 && maintenanceItemEDCarrierUseFreq.CurrentValue > maintenanceItemEDCarrierUseFreq.StartValue && wafer.UseCount < maintenanceItemEDCarrierUseFreq.LimitValue)
                                 {
-                                    if (maintenanceItemEDCarrierUseFreq.MaintenanceProcessing == MaintenanceProcessingCommandEnum.AlarmReport.ToString())
+                                    if (maintenanceItemEDCarrierUseFreq.MaintenanceProcessing == MaintenanceProcessingCommandEnum.AlarmReport.ToString()||
+                                        maintenanceItemEDCarrierUseFreq.MaintenanceProcessing == MaintenanceProcessingCommandEnum.JobAutoStart.ToString()
+                                        )
                                     {
                                         var msg = pm.GetAlarmWarningMsg(maintenanceItemEDCarrierUseFreq);
                                         Singleton<EquipmentManager>.Instance.FDWaferTypeUseCountWarning.Set(msg);
@@ -236,7 +242,10 @@ namespace FurnaceRT.Equipments.PMs.RecipeExecutions
                                 if (wafer.WaferType == WaferType.ED && maintenanceItemEDWaferUserTime.StartValue > 0 && wafer.UseTime > maintenanceItemEDWaferUserTime.StartValue && wafer.UseTime < maintenanceItemEDWaferUserTime.LimitValue)
                                 {
 
-                                    if (maintenanceItemEDWaferUserTime.MaintenanceProcessing == MaintenanceProcessingCommandEnum.AlarmReport.ToString())
+                                    if (maintenanceItemEDWaferUserTime.MaintenanceProcessing == MaintenanceProcessingCommandEnum.AlarmReport.ToString()||
+                                        maintenanceItemEDWaferUserTime.MaintenanceProcessing == MaintenanceProcessingCommandEnum.JobAutoStart.ToString()
+
+                                        )
                                     {
                                         var currentValue = DateTimeUtil.SecondToHHmmss(maintenanceItemEDWaferUserTime.CurrentValue.ToString());
                                         var minValue = DateTimeUtil.SecondToHHmmss(maintenanceItemEDWaferUserTime.StartValue.ToString());
@@ -250,7 +259,8 @@ namespace FurnaceRT.Equipments.PMs.RecipeExecutions
 
                                 if (wafer.WaferType == WaferType.ED && maintenanceItemEDWaferThickness.StartValue > 0 && wafer.UseThick > maintenanceItemEDWaferThickness.StartValue && wafer.UseThick < maintenanceItemEDWaferThickness.LimitValue)
                                 {
-                                    if (maintenanceItemEDWaferThickness.MaintenanceProcessing == MaintenanceProcessingCommandEnum.AlarmReport.ToString())
+                                    if (maintenanceItemEDWaferThickness.MaintenanceProcessing == MaintenanceProcessingCommandEnum.AlarmReport.ToString()||
+                                        maintenanceItemEDWaferThickness.MaintenanceProcessing == MaintenanceProcessingCommandEnum.AlarmReport.ToString())
                                     {
                                         var msg = pm.GetAlarmWarningMsg(maintenanceItemEDWaferThickness);
                                         Singleton<EquipmentManager>.Instance.FDWaferTypeThicknessWarning.Set(msg);
@@ -267,7 +277,7 @@ namespace FurnaceRT.Equipments.PMs.RecipeExecutions
                                     {
                                         var msg = pm.GetAlarmWarningMsg(maintenanceItemEDCarrierUseFreq);
                                         Singleton<EquipmentManager>.Instance.FDWaferTypeUseCountAlarm.Set(msg);
-                                           return Result.FAIL;
+                                        return Result.FAIL;
                                     }
                                     else if (maintenanceItemEDCarrierUseFreq.MaintenanceProcessing == MaintenanceProcessingCommandEnum.JobAutoStart.ToString())
                                     {
@@ -276,12 +286,12 @@ namespace FurnaceRT.Equipments.PMs.RecipeExecutions
                                         if (string.IsNullOrEmpty(maintenanceItemEDCarrierUseFreq.AssociationProcessRecipeName))
                                         {
                                             Singleton<EquipmentManager>.Instance.FDWaferTypeUseCountAlarm.Set(msg);
-                                               return Result.FAIL;
+                                            return Result.FAIL;
                                         }
                                         Singleton<EquipmentManager>.Instance.FDWaferTypeUseCountAlarm.Set(msg);
                                         pm.TriggerJobAutoStart(maintenanceItemEDCarrierUseFreq.AssociationProcessRecipeName);
                                         LOG.Info($"{msg} Trigger {maintenanceItemEDCarrierUseFreq.AssociationProcessRecipeName}");
-                                           return Result.FAIL;
+                                        return Result.FAIL;
 
                                     }
                                 }
@@ -299,7 +309,7 @@ namespace FurnaceRT.Equipments.PMs.RecipeExecutions
                                     if (maintenanceItemEDWaferUserTime.MaintenanceProcessing == MaintenanceProcessingCommandEnum.AlarmReport.ToString())
                                     {
                                         Singleton<EquipmentManager>.Instance.FDWaferTypeUseTimeAlarm.Set(msg);
-                                           return Result.FAIL;
+                                        return Result.FAIL;
                                     }
                                     else if (maintenanceItemEDWaferUserTime.MaintenanceProcessing == MaintenanceProcessingCommandEnum.JobAutoStart.ToString())
                                     {
@@ -307,13 +317,13 @@ namespace FurnaceRT.Equipments.PMs.RecipeExecutions
                                         if (string.IsNullOrEmpty(maintenanceItemEDWaferUserTime.AssociationProcessRecipeName))
                                         {
                                             Singleton<EquipmentManager>.Instance.FDWaferTypeUseTimeAlarm.Set(msg);
-                                               return Result.FAIL;
+                                            return Result.FAIL;
                                         }
 
                                         Singleton<EquipmentManager>.Instance.FDWaferTypeUseTimeAlarm.Set(msg);
                                         pm.TriggerJobAutoStart(maintenanceItemEDWaferUserTime.AssociationProcessRecipeName);
                                         LOG.Info($"{msg} Trigger {maintenanceItemEDWaferUserTime.AssociationProcessRecipeName}");
-                                           return Result.FAIL;
+                                        return Result.FAIL;
 
                                     }
                                 }
@@ -329,7 +339,7 @@ namespace FurnaceRT.Equipments.PMs.RecipeExecutions
                                     {
                                         var msg = pm.GetAlarmWarningMsg(maintenanceItemEDWaferThickness);
                                         Singleton<EquipmentManager>.Instance.FDWaferTypeThicknessAlarm.Set(msg);
-                                           return Result.FAIL;
+                                        return Result.FAIL;
                                     }
                                     else if (maintenanceItemEDWaferThickness.MaintenanceProcessing == MaintenanceProcessingCommandEnum.JobAutoStart.ToString())
                                     {