Esempio n. 1
0
        /// <summary>
        /// </summary>
        /// <param name="aeqp"/>
        /// <param name="hb"/>
        /// <param name="state">SETUP/BUSY/IDLERUN/IDLE/WAIT_SETUP(PM/DOUWN 호출 안됨)</param>
        /// <param name="handled"/>
        public void LOADING_STATE_CHANGED0(Mozart.SeePlan.Simulation.AoEquipment aeqp, Mozart.SeePlan.Simulation.IHandlingBatch hb, Mozart.SeePlan.Simulation.LoadingStates state, ref bool handled)
        {
            var eqp = aeqp.ToFabAoEquipment();
            var now = eqp.NowDT;

            if (eqp.IsParallelChamber)
            {
                return;
            }

            if (ModelContext.Current.EndTime == now)
            {
                return;
            }

            //PM/Down 이벤트 예외사항 처리
            if (SimHelper.IgnoreStateChange(eqp, state))
            {
                return;
            }

            var lot = hb.ToFabLot();

            if (state == LoadingStates.SETUP || state == LoadingStates.BUSY)
            {
                SetCurrentMask(eqp, lot);
            }

            eqp.OnStateChanged(state, lot);
        }
Esempio n. 2
0
        /// <summary>
        /// </summary>
        /// <param name="sheet"/>
        /// <param name="entity"/>
        /// <param name="aeqp"/>
        /// <param name="state"/>
        /// <returns/>
        public bool FILTER(Mozart.SeePlan.StatModel.StatSheet <LoadHistory> sheet, Mozart.Simulation.Engine.ISimEntity entity, ActiveObject aeqp, Mozart.SeePlan.Simulation.LoadingStates state)
        {
            if (ModelContext.Current.EndTime == aeqp.NowDT && state != LoadingStates.IDLE)
            {
                return(true);
            }

            return(false);
        }