using Aitex.Core.Common.DeviceData; using Aitex.Core.RT.DataCenter; using Aitex.Core.RT.Event; using Aitex.Core.RT.IOCore; using Aitex.Core.RT.Log; using Aitex.Core.RT.OperationCenter; using Aitex.Core.RT.SCCore; using Aitex.Core.Util; using MECF.Framework.Common.DataCenter; using MECF.Framework.Common.Event; using MECF.Framework.Common.OperationCenter; using System; using System.Collections; using System.Collections.Generic; using System.Diagnostics; using System.Linq; namespace FurnaceRT.Equipments.PMs { public partial class PMModule { private Dictionary _stepThickness; private ScheduleMaintenanceData _sdCarrierUseFreq; private ScheduleMaintenanceData _sdWaferThickness; private ScheduleMaintenanceData _sdUsableWafer; private ScheduleMaintenanceData _sdBufferRackStayTime; private ScheduleMaintenanceData _fdCarrierUseFreq; private ScheduleMaintenanceData _fdWaferThickness; private ScheduleMaintenanceData _fdUsableWafer; private ScheduleMaintenanceData _fdBufferRackStayTime; private ScheduleMaintenanceData _onBoatDummyWaferUse; private ScheduleMaintenanceData _onBoatDummyWaferThick; private ScheduleMaintenanceData _boatRecipeThickness1; private ScheduleMaintenanceData _boatRecipeThickness2; private ScheduleMaintenanceData _boatRecipeThickness3; private ScheduleMaintenanceData _nonOperationTime1; private ScheduleMaintenanceData _nonOperationTime2; private ScheduleMaintenanceData _recipeExecuteFreq; private ScheduleMaintenanceData _recipeThickness; private ScheduleMaintenanceData _recipeStepExecuteFreq1; private ScheduleMaintenanceData _recipeStepExecuteFreq2; private ScheduleMaintenanceData _recipeStepExecuteFreq3; private ScheduleMaintenanceData _recipeStepExecuteTime1; private ScheduleMaintenanceData _recipeStepExecuteTime2; private ScheduleMaintenanceData _recipeStepExecuteTime3; private ScheduleMaintenanceData _recipeStepExecuteTime4; private ScheduleMaintenanceData _recipeStepExecuteTime5; private ScheduleMaintenanceData _recipeStepExecuteTime6; private ScheduleMaintenanceData _recipeStepExecuteTime7; private ScheduleMaintenanceData _recipeStepExecuteTime8; private ScheduleMaintenanceData _recipeStepThickness1; private ScheduleMaintenanceData _recipeStepThickness2; private ScheduleMaintenanceData _recipeStepThickness3; private ScheduleMaintenanceData _recipeStepThickness4; private ScheduleMaintenanceData _recipeStepThickness5; private ScheduleMaintenanceData _recipeStepThickness6; private ScheduleMaintenanceData _recipeStepThickness7; private ScheduleMaintenanceData _recipeStepThickness8; private void InitScheduleMaintenance() { _sdCarrierUseFreq = new ScheduleMaintenanceData("SDCarrierUseFreq", "SDCarrierUseFreq", "Times", 0, 0, "None", "CarrierWafer.SieDummy", "Carrier Kind", "Side Dummy"); _sdWaferThickness = new ScheduleMaintenanceData("SDWaferThickness", "SDWaferThickness", "Å", 0, 0, "None", "CarrierWafer.SieDummy", "Carrier Kind", "Side Dummy"); _sdUsableWafer = new ScheduleMaintenanceData("SDUsableDummyWafer", "SDWaferRemain", "Sheets", 0, 0, "None", "CarrierWafer.SieDummy", "Carrier Kind", "Side Dummy"); _sdBufferRackStayTime = new ScheduleMaintenanceData("SDBufferRackStayTime", "SDCarrierStay", "h:m", 0, 0, "None", "CarrierWafer.SieDummy", "Carrier Kind", "Side Dummy"); _fdCarrierUseFreq = new ScheduleMaintenanceData("FDCarrierUseFreq", "FDCarrierUseFreq", "Times", 0, 0, "None", "CarrierWafer.FillDummy", "Carrier Kind", "Fill Dummy"); _fdWaferThickness = new ScheduleMaintenanceData("FDWaferThickness", "FDWaferThickness", "Å", 0, 0, "None", "CarrierWafer.FillDummy", "Carrier Kind", "Fill Dummy"); _fdUsableWafer = new ScheduleMaintenanceData("FDUsableDummyWafer", "FDWaferRemain", "Sheets", 0, 0, "None", "CarrierWafer.FillDummy", "Carrier Kind", "Fill Dummy"); _fdBufferRackStayTime = new ScheduleMaintenanceData("FDBufferRackStayTime", "FDCarrierStay", "h:m", 0, 0, "None", "CarrierWafer.FillDummy", "Carrier Kind", "Fill Dummy"); _onBoatDummyWaferUse = new ScheduleMaintenanceData("OnBoatDummyWaferUse", "OnBoatDummyWaferUse", "Times", 0, 0, "None", "Boat", "", ""); _onBoatDummyWaferThick = new ScheduleMaintenanceData("OnBoatDummyWaferThick", "OnBoatDummyWaferThick", "Å", 0, 0, "None", "Boat", "", ""); _boatRecipeThickness1 = new ScheduleMaintenanceData("BoatRecipeThickness1", "BoatRecipeThickness1", "Å", 0, 0, "None", "Boat", "", ""); _boatRecipeThickness2 = new ScheduleMaintenanceData("BoatRecipeThickness2", "BoatRecipeThickness2", "Å", 0, 0, "None", "Boat", "", ""); _boatRecipeThickness3 = new ScheduleMaintenanceData("BoatRecipeThickness3", "BoatRecipeThickness3", "Å", 0, 0, "None", "Boat", "", ""); _nonOperationTime1 = new ScheduleMaintenanceData("NonOperationTime1", "NonOperationTime1", "h:m", 0, 0, "None", "Conditioning", "", ""); _nonOperationTime2 = new ScheduleMaintenanceData("NonOperationTime2", "NonOperationTime2", "h:m", 0, 0, "None", "Conditioning", "", ""); _recipeExecuteFreq = new ScheduleMaintenanceData("RecipeExecuteFreq", "Recipe Run Freq", "Times", 0, 0, "None", "Reactor.Recipe", "", ""); _recipeThickness = new ScheduleMaintenanceData("RecipeThickness", "Recipe Thickness", "Å", 0, 0, "None", "Reactor.Recipe", "", ""); _recipeStepExecuteFreq1 = new ScheduleMaintenanceData("RecipeStepExecuteFreq1", "Recipe StepRunTime1", "Times", 0, 0, "None", "Reactor.StepRunFreq", "Step ID", ""); _recipeStepExecuteFreq2 = new ScheduleMaintenanceData("RecipeStepExecuteFreq2", "Recipe StepRunTime2", "Times", 0, 0, "None", "Reactor.StepRunFreq", "Step ID", ""); _recipeStepExecuteFreq3 = new ScheduleMaintenanceData("RecipeStepExecuteFreq3", "Recipe StepRunTime3", "Times", 0, 0, "None", "Reactor.StepRunFreq", "Step ID", ""); _recipeStepExecuteTime1 = new ScheduleMaintenanceData("RecipeStepExecuteTime1", "Recipe StepRunTime1", "h:m", 0, 0, "None", "Reactor.StepRunTime", "Step ID", ""); _recipeStepExecuteTime2 = new ScheduleMaintenanceData("RecipeStepExecuteTime2", "Recipe StepRunTime2", "h:m", 0, 0, "None", "Reactor.StepRunTime", "Step ID", ""); _recipeStepExecuteTime3 = new ScheduleMaintenanceData("RecipeStepExecuteTime3", "Recipe StepRunTime3", "h:m", 0, 0, "None", "Reactor.StepRunTime", "Step ID", ""); _recipeStepExecuteTime4 = new ScheduleMaintenanceData("RecipeStepExecuteTime4", "Recipe StepRunTime4", "h:m", 0, 0, "None", "Reactor.StepRunTime", "Step ID", ""); _recipeStepExecuteTime5 = new ScheduleMaintenanceData("RecipeStepExecuteTime5", "Recipe StepRunTime5", "h:m", 0, 0, "None", "Reactor.StepRunTime", "Step ID", ""); _recipeStepExecuteTime6 = new ScheduleMaintenanceData("RecipeStepExecuteTime6", "Recipe StepRunTime6", "h:m", 0, 0, "None", "Reactor.StepRunTime", "Step ID", ""); _recipeStepExecuteTime7 = new ScheduleMaintenanceData("RecipeStepExecuteTime7", "Recipe StepRunTime7", "h:m", 0, 0, "None", "Reactor.StepRunTime", "Step ID", ""); _recipeStepExecuteTime8 = new ScheduleMaintenanceData("RecipeStepExecuteTime8", "Recipe StepRunTime8", "h:m", 0, 0, "None", "Reactor.StepRunTime", "Step ID", ""); _recipeStepThickness1 = new ScheduleMaintenanceData("Recipe Thickness1(Step)", "Recipe StepThickness1", "Å", 0, 0, "None", "Reactor.StepThickness", "Step Group", "Group 1"); _recipeStepThickness2 = new ScheduleMaintenanceData("Recipe Thickness2(Step)", "Recipe StepThickness2", "Å", 0, 0, "None", "Reactor.StepThickness", "Step Group", "Group 2"); _recipeStepThickness3 = new ScheduleMaintenanceData("Recipe Thickness3(Step)", "Recipe StepThickness3", "Å", 0, 0, "None", "Reactor.StepThickness", "Step Group", "Group 3"); _recipeStepThickness4 = new ScheduleMaintenanceData("Recipe Thickness4(Step)", "Recipe StepThickness4", "Å", 0, 0, "None", "Reactor.StepThickness", "Step Group", "Group 4"); _recipeStepThickness5 = new ScheduleMaintenanceData("Recipe Thickness5(Step)", "Recipe StepThickness5", "Å", 0, 0, "None", "Reactor.StepThickness", "Step Group", "Group 5"); _recipeStepThickness6 = new ScheduleMaintenanceData("Recipe Thickness6(Step)", "Recipe StepThickness6", "Å", 0, 0, "None", "Reactor.StepThickness", "Step Group", "Group 6"); _recipeStepThickness7 = new ScheduleMaintenanceData("Recipe Thickness7(Step)", "Recipe StepThickness7", "Å", 0, 0, "None", "Reactor.StepThickness", "Step Group", "Group 7"); _recipeStepThickness8 = new ScheduleMaintenanceData("Recipe Thickness8(Step)", "Recipe StepThickness8", "Å", 0, 0, "None", "Reactor.StepThickness", "Step Group", "Group 8"); _stepThickness = new Dictionary() { {"1","WAIT"}, {"2","Name"}, }; } public void UpdateRecipeTotalThickness(string recipeName, float thickness) { } public void UpdateRecipeStepThicknessAndTime(string stepName, float thickness, float timeS) { if (string.IsNullOrEmpty(stepName)) return; var checkName = stepName; var nameParas = stepName.Split(':'); if (nameParas != null && nameParas.Length > 1) checkName = nameParas[1]; } public bool CheckScheduleMaintenanceBeforeJobStart(out string reason) { reason = ""; return true; } private void ProcessMaintenanceProcessingCommand(string command) { switch(command) { case "None": break; case "Alarm Report": break; case "JobProhibition": break; case "JobManualStart": break; case "JobAutoStart": break; } } } }