Example #1
0
        /// <summary>
        /// 설비 초기화를 합니다. GetEqpList 직후 호출됨
        /// </summary>
        /// <param name="aeqp"/>
        /// <param name="handled"/>
        public void INITIALIZE_EQUIPMENT0(Mozart.SeePlan.Simulation.AoEquipment aeqp, ref bool handled)
        {
            //※ Inline 설비의 경우 설정확인 (true : ProessTime 사용, False : FlowTime 사용)
            aeqp.UseProcessingTime = false;

            //AoEqp 초기화
            FabAoEquipment eqp = aeqp.ToFabAoEquipment();

            var now = eqp.NowDT;

            eqp.LoadInfos            = new List <FabLoadInfo>();
            eqp.LastIdleStartTime    = now;
            eqp.LastIdleRunStartTime = now;
            eqp.AvailablePMTime      = DateTime.MaxValue;

            eqp.InitAcidDensity();

            ResHelper.AddEqpByGroup(eqp);

            //FabEqp 초기화
            FabEqp targetEqp = eqp.TargetEqp;

            targetEqp.InitPM();
            targetEqp.SetInitEqpStatus(eqp);

            //패럴러챔버 초기화
            if (aeqp.IsParallelChamber)
            {
                ChamberMaster.InitializeParallelChamber(eqp);
            }

            //설비상태가 Down 설정
            if (targetEqp.StatusInfo.Status == ResourceState.Down)
            {
                targetEqp.State = ResourceState.Down;
            }
        }