Exemple #1
0
        /// <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);
        }
Exemple #2
0
        /// <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);
        }
Exemple #3
0
 /// <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);
 }