示例#1
0
        /// <summary>
        /// </summary>
        /// <param name="aeqp"/>
        /// <param name="proc"/>
        /// <param name="handled"/>
        public void ON_BEGIN_PROCESSING0(Mozart.SeePlan.Simulation.AoEquipment aeqp, Mozart.SeePlan.Simulation.AoProcess proc, ref bool handled)
        {
            IHandlingBatch hb  = proc.Entity as IHandlingBatch;
            FabLot         lot = hb.Sample as FabLot;

            lot.CurrentFabPlan.EqpInStartTime = aeqp.NowDT;

            if (lot.IsRunWipFirstPlan())
            {
                lot.CurrentFabPlan.EqpInStartTime = lot.Wip.LastTrackInTime;
                lot.CurrentFabPlan.IsInitRunWip   = true;
            }

            AcidMaster.OnBegingProcessing(aeqp, lot);
        }
示例#2
0
        /// <summary>
        /// </summary>
        /// <param name="aeqp"/>
        /// <param name="proc"/>
        /// <param name="handled"/>
        public void ON_BEGIN_SETUP0(Mozart.SeePlan.Simulation.AoEquipment aeqp, Mozart.SeePlan.Simulation.AoProcess proc, ref bool handled)
        {
            FabAoEquipment  eqp  = aeqp.ToFabAoEquipment();
            EqpDispatchInfo info = aeqp.EqpDispatchInfo;
            FabLot          lot  = proc.Entity as FabLot;

            bool isAheadSetup = eqp.AvailableSetupTime < aeqp.NowDT;

            if (isAheadSetup)
            {
                DispatchLogHelper.UpdateDispatchLogByAheadSetup(eqp, info);
            }


            if (eqp.IsAcidConst && eqp.AcidDensity.IsSetupMark)
            {
                DateTime inTime = isAheadSetup ? eqp.AvailableSetupTime : eqp.NowDT;

                AcidMaster.ResetAcidDensity(eqp, lot, inTime);
            }
        }
示例#3
0
 /// <summary>
 /// </summary>
 /// <param name="aeqp"/>
 /// <param name="proc"/>
 /// <param name="handled"/>
 public void ON_END_SETUP0(Mozart.SeePlan.Simulation.AoEquipment aeqp, Mozart.SeePlan.Simulation.AoProcess proc, ref bool handled)
 {
 }