Example #1
0
        //Chamber생성
        internal static void InitializeParallelChamber(AoEquipment aeqp)
        {
            var eqp = aeqp.ToFabAoEquipment();

            if (eqp.IsParallelChamber == false)
            {
                return;
            }

            FabEqp taretEqp = aeqp.Target as FabEqp;

            AoChamberProc2 proc     = eqp.FirstProcess <AoChamberProc2>();
            var            chambers = proc.Chambers;

            if (chambers != null)
            {
                int count = chambers.Length;
                eqp.SubEqps = new FabSubEqp[count];

                for (int i = 0; i < count; i++)
                {
                    var    chamberInfo = chambers[i];
                    string subEqpID    = chamberInfo.Label;

                    var subEqp = taretEqp.GetSubEqp(subEqpID) as FabSubEqp;
                    subEqp.ChamberInfo = chamberInfo;

                    eqp.SubEqps[i] = subEqp;

                    subEqp.LastPlan             = SimHelper.CreateInitLastPlan(subEqp.StatusInfo);
                    subEqp.LastIdleRunStartTime = aeqp.NowDT;
                    subEqp.LastIdleStartTime    = aeqp.NowDT;
                }
            }
        }
Example #2
0
        public static void SetInitEqpStatus(this FabEqp targetEqp, FabAoEquipment eqp)
        {
            EqpStatusInfo info = targetEqp.StatusInfo;

            if (info == null)
            {
                return;
            }

            eqp.ContinuousQty = info.LastContinuousQty;

            //down 이후 setup 필요 (2020.01.14 - by.liujian(유건))
            //if (targetEqp.State == ResourceState.Down && info.OrigineStatus != MesEqpStatus.IDLE)
            //    return;

            var status = info.MesStatus;

            if (status == MesEqpStatus.RUN || status == MesEqpStatus.Set_Up ||
                status == MesEqpStatus.E_RUN || info.OrigineStatus == MesEqpStatus.IDLE ||
                info.OrigineStatus == MesEqpStatus.DOWN)
            {
                eqp.LastPlan = SimHelper.CreateInitLastPlan(info);
            }
        }