internal static FabSubEqp FindSubEqp(this FabAoEquipment eqp, ChamberInfo chamber) { var targetEqp = eqp.TargetEqp; string subEqpID = chamber.Label; if (string.IsNullOrEmpty(subEqpID)) { return(null); } FabSubEqp subEqp; if (targetEqp.SubEqps.TryGetValue(subEqpID, out subEqp)) { return(subEqp); } return(subEqp); }
public void CHAMBER_LOADING_STATE_CHANGED0(Mozart.SeePlan.Simulation.AoEquipment aeqp, ChamberInfo chamber, IHandlingBatch hb, LoadingStates state, ref bool handled) { var eqp = aeqp.ToFabAoEquipment(); var now = eqp.NowDT; if (ModelContext.Current.EndTime == now) { return; } var subEqp = eqp.FindSubEqp(chamber); if (subEqp == null) { return; } var lot = hb.ToFabLot(); //if (eqp.EqpID == "THCVD300" && lot != null && lot.LotID == "TH011661N0H") // Console.WriteLine("B"); //PM/Down 이벤트 예외사항 처리 if (SimHelper.IgnoreStateChange(eqp, state)) { return; } if (state == LoadingStates.SETUP || state == LoadingStates.BUSY) { SetCurrentMask(eqp, lot); } subEqp.OnStateChanged(eqp, state, lot); }