Beispiel #1
0
        internal static void WriteAcidDensityLog(FabAoEquipment eqp, FabLot lot, AcidAlter alter, float alterQty, DateTime inTime, string status)
        {
            Outputs.AcidDensityLog row = new AcidDensityLog();

            row.VERSION_ID = ModelContext.Current.VersionNo;

            row.FACTORY_ID = eqp.FactoryID;
            row.SHOP_ID    = eqp.ShopID;
            row.EQP_ID     = eqp.EqpID;
            row.EQP_GROUP  = eqp.TargetEqp.EqpGroup;
            row.IN_TIME    = inTime;
            row.STATUS     = status;

            row.LOT_ID     = lot.LotID;
            row.PRODUCT_ID = lot.CurrentProductID;
            row.STEP_ID    = lot.CurrentStepID;
            row.UNIT_QTY   = lot.UnitQty;

            row.CURRENT_DENSITY = eqp.AcidDensity.CurrentAcid;
            row.USED_DENSITY    = alterQty;
            row.ALTER_DENCITY   = alter != null ? alter.DENSITY_ALTER : 0;
            row.INIT_DENSITY    = eqp.AcidDensity.InitAcid;
            row.MAX_DENSITY     = eqp.AcidDensity.ChangeDensity;

            OutputMart.Instance.AcidDensityLog.Add(row);
        }
Beispiel #2
0
        internal static void OnBegingProcessing(AoEquipment aeqp, FabLot lot)
        {
            FabAoEquipment eqp = aeqp.ToFabAoEquipment();

            AcidAlter alter = GetAcidAlter(eqp.ShopID, eqp.TargetEqp.EqpGroup, lot.CurrentProductID, lot.CurrentStepID);

            if (alter == null)
            {
                return;
            }

            float alterQty = alter.DENSITY_ALTER * lot.UnitQty;

            if (alter.ALTER_TYPE != "UP")
            {
                eqp.AcidDensity.CurrentAcid -= alterQty;
            }
            else
            {
                eqp.AcidDensity.CurrentAcid += alterQty;
                WriteAcidDensityLog(eqp, lot, alter, alterQty, aeqp.NowDT, "BUSY");
            }
        }