|
@@ -449,6 +449,7 @@ namespace FurnaceRT.Equipments.PMs
|
|
|
var maintenanceItemSDWaferThickness = ScheduleMaintenanceDataManager.Instance.GetItem(MaintenanceItemEnum.SDWaferThickness.ToString());
|
|
|
var maintenanceItemSDWaferUserTime = ScheduleMaintenanceDataManager.Instance.GetItem(MaintenanceItemEnum.SDWaferUserTime.ToString());
|
|
|
|
|
|
+
|
|
|
int SDCountWarning = (int)maintenanceItemSDCarrierUseFreq.StartValue;
|
|
|
int SDCountAlarm = (int)maintenanceItemSDCarrierUseFreq.LimitValue;
|
|
|
bool IsEnableSDWaferUseCountWarning = SDCountWarning > 0;
|
|
@@ -484,13 +485,17 @@ namespace FurnaceRT.Equipments.PMs
|
|
|
|
|
|
if (wafer.WaferType == WaferType.SD && IsEnableSDWaferUseCountWarning && wafer.UseCount >= SDCountAlarm)
|
|
|
{
|
|
|
- pm.MaintenanceProcessingCommandExec(maintenanceItemSDCarrierUseFreq, new AlarmReportItem(Singleton<EquipmentManager>.Instance.SDWaferTypeUseCountAlarm.Set, $"more than {SDCountAlarm} 次"));
|
|
|
+ if (maintenanceItemSDCarrierUseFreq.MaintenanceProcessing == MaintenanceProcessingCommandEnum.None.ToString())
|
|
|
+ return true;
|
|
|
|
|
|
+ pm.MaintenanceProcessingCommandExec(maintenanceItemSDCarrierUseFreq, new AlarmReportItem(Singleton<EquipmentManager>.Instance.SDWaferTypeUseCountAlarm.Set, $"more than {SDCountAlarm} 次"));
|
|
|
return false;
|
|
|
}
|
|
|
|
|
|
if (wafer.WaferType == WaferType.SD && IsEnableSDWaferUseTimeWarning && wafer.UseTime >= SDTimeAlarm)
|
|
|
{
|
|
|
+ if (maintenanceItemSDWaferUserTime.MaintenanceProcessing == MaintenanceProcessingCommandEnum.None.ToString())
|
|
|
+ return true;
|
|
|
|
|
|
DateTimeUtil.ConvertSecondsToHoursAndMinutes(SDTimeAlarm, out var hours, out var minutes);
|
|
|
pm.MaintenanceProcessingCommandExec(maintenanceItemSDWaferUserTime, new AlarmReportItem(Singleton<EquipmentManager>.Instance.SDWaferTypeUseTimeAlarm.Set, $"more than {hours} hour {minutes}"));
|
|
@@ -500,6 +505,9 @@ namespace FurnaceRT.Equipments.PMs
|
|
|
|
|
|
if (wafer.WaferType == WaferType.SD && IsEnableSDWaferThicknessWarning && wafer.UseThick >= SDThicknessAlarm)
|
|
|
{
|
|
|
+ if (maintenanceItemSDWaferThickness.MaintenanceProcessing == MaintenanceProcessingCommandEnum.None.ToString())
|
|
|
+ return true;
|
|
|
+
|
|
|
pm.MaintenanceProcessingCommandExec(maintenanceItemSDWaferThickness, new AlarmReportItem(Singleton<EquipmentManager>.Instance.SDWaferTypeThicknessAlarm.Set, $"more than {SDThicknessAlarm} nm"));
|
|
|
|
|
|
return false;
|
|
@@ -549,12 +557,19 @@ namespace FurnaceRT.Equipments.PMs
|
|
|
|
|
|
if (wafer.WaferType == WaferType.ED && IsEnableEDWaferUseCountWarning && wafer.UseCount >= EDCountAlarm)
|
|
|
{
|
|
|
+ if (maintenanceItemEDCarrierUseFreq.MaintenanceProcessing == MaintenanceProcessingCommandEnum.None.ToString())
|
|
|
+ return true;
|
|
|
+
|
|
|
pm.MaintenanceProcessingCommandExec(maintenanceItemEDCarrierUseFreq, new AlarmReportItem(Singleton<EquipmentManager>.Instance.EDWaferTypeUseCountAlarm.Set, $"more than {EDCountAlarm} 次"));
|
|
|
return false;
|
|
|
}
|
|
|
|
|
|
if (wafer.WaferType == WaferType.ED && IsEnableEDWaferUseTimeWarning && wafer.UseTime >= EDTimeAlarm)
|
|
|
{
|
|
|
+
|
|
|
+ if (maintenanceItemEDWaferUserTime.MaintenanceProcessing == MaintenanceProcessingCommandEnum.None.ToString())
|
|
|
+ return true;
|
|
|
+
|
|
|
DateTimeUtil.ConvertSecondsToHoursAndMinutes(EDTimeAlarm, out var hours, out var minutes);
|
|
|
pm.MaintenanceProcessingCommandExec(maintenanceItemEDWaferUserTime, new AlarmReportItem(Singleton<EquipmentManager>.Instance.EDWaferTypeUseTimeAlarm.Set, $"more than {hours} hour {minutes}"));
|
|
|
return false;
|
|
@@ -562,6 +577,10 @@ namespace FurnaceRT.Equipments.PMs
|
|
|
|
|
|
if (wafer.WaferType == WaferType.ED && IsEnableEDWaferThicknessWarning && wafer.UseThick >= EDThicknessAlarm)
|
|
|
{
|
|
|
+
|
|
|
+ if (maintenanceItemEDWaferThickness.MaintenanceProcessing == MaintenanceProcessingCommandEnum.None.ToString())
|
|
|
+ return true;
|
|
|
+
|
|
|
pm.MaintenanceProcessingCommandExec(maintenanceItemEDWaferThickness, new AlarmReportItem(Singleton<EquipmentManager>.Instance.EDWaferTypeThicknessAlarm.Set, $"more than {EDThicknessAlarm} nm"));
|
|
|
return false;
|
|
|
}
|