/// <summary> /// </summary> /// <param name="hb"/> /// <param name="handled"/> /// <param name="prevReturnValue"/> /// <returns/> public Time GET_TRANSFER_TIME0(Mozart.SeePlan.Simulation.IHandlingBatch hb, ref bool handled, Mozart.Simulation.Engine.Time prevReturnValue) { //FabLot lot = hb.Sample as FabLot; //if (lot.PreviousStep != null) // return Time.FromMinutes(lot.PreviousFabStep.TransferTime); return(Time.Zero); }
/// <summary> /// </summary> /// <param name="da"/> /// <param name="hb"/> /// <param name="handled"/> /// <param name="prevReturnValue"/> /// <returns/> public Time GET_HOLD_TIME0(Mozart.SeePlan.Simulation.DispatchingAgent da, Mozart.SeePlan.Simulation.IHandlingBatch hb, ref bool handled, Mozart.Simulation.Engine.Time prevReturnValue) { Time t = Time.Zero; FabLot lot = hb.ToFabLot(); FabWipInfo wip = lot.Wip; //FabPlanInfo plan = lot.CurrentFabPlan; if (lot.IsInitHold) { t = wip.AvailableTime - da.NowDT; lot.HoldStartTime = da.NowDT; lot.HoldTime = t; lot.IsInitHold = false; // Hold → ExitHold → IsHold 이므로 false로 설정해야됨. 바꿔주지 않을 경우 계속 Hold됨. } return(t); }
/// <summary> /// </summary> /// <param name="aeqp"/> /// <param name="wips"/> /// <param name="waitDownTime"/> /// <param name="handled"/> /// <param name="prevReturnValue"/> /// <returns/> public bool IS_PREVENT_DISPATCHING0(AoEquipment aeqp, IList <IHandlingBatch> wips, Mozart.Simulation.Engine.Time waitDownTime, ref bool handled, bool prevReturnValue) { return(false); }