Esempio n. 1
0
        public static void CalculateL1(string formid)
        {
            if (L1KPI > 0.6)
            {
            }
            else
            {
            }

            DTFiller.UpdateRiseEqp(formid, L1TagID, EqpName.GetEqpName(L1TagID));

            Log.Info("[EqpKPI][CalculateL1][FormID] " + formid + "  L1TagID " + L1TagID);
        }
Esempio n. 2
0
        public static string CL1NewDTFiller(string RiseTagID, string RiseEqp, string RiseStatus, uint real)
        {
            string formid = FormID.GetFormID();

            try
            {
                KMStatus status = KAGStatus.GetStatus(real);

                DTFiller data = new DTFiller();
                data.Start_time  = DateTime.Now;
                data.End_time    = DateTime.Now.AddMinutes(0.3);
                data.create_time = DateTime.Now;
                data.Duration    = 0.2;
                data.FormID      = formid;
                data.PDate       = DateTime.Now;
                data.TagID       = "101001";
                data.LineID      = "CL1";
                data.DeviceID    = "Filler";
                if (status.ISDown)
                {
                    data.IsDown = "Y";
                }
                else
                {
                    data.IsDown = "N";
                }

                data.Status    = status.Status;
                data.Create_by = "DTCal";
                data.RiseEqp   = EqpName.GetEqpName(RiseTagID);
                data.RiseTagID = RiseTagID;

                DTFiller.CreateNew(data);
            }
            catch (Exception ex)
            {
                formid = null;
                Log.Error(ex.ToString());
            }



            return(formid);
        }
Esempio n. 3
0
        public static void CreatePasteurizerDown(string FormID, string Status)
        {
            DTFiller data = new DTFiller();

            data.FormID     = FormID;
            data.PDate      = DateTime.Now;
            data.LineID     = "CL1";
            data.DeviceID   = EqpName.Filler;
            data.Start_time = DateTime.Now;
            data.End_time   = DateTime.Now;
            data.Duration   = 0.2;
            data.TagID      = EqpName.FillerStatusTagID;
            data.IsDown     = "Y";
            data.Status     = KAGStatus.Status.Tailback.ToString();
            data.RiseEqp    = EqpName.Wrap;
            data.RiseStatus = Status;
            data.RiseTagID  = EqpName.WrapStatusTagID;
            data.Create_by  = "DTCal";
            DTFiller.CreateNew(data);
            HisFiller.Time    = DateTime.Now;
            HisFiller.refid   = DTFiller.GetMaxRefid(FormID);
            HisFiller.RiseEqp = EqpName.Wrap;
        }
Esempio n. 4
0
        //  int rv = 0;

        public static void Compare()
        {
            try
            {
                PLCHisData hisdata = null;
                foreach (var R in RealData.dic)
                {
                    if (R.Value == uint.MaxValue)  //判断是否断线
                    {
                        hisdata       = FrontData.dic[R.Key];
                        hisdata.refid = 0;
                        hisdata.Time  = DateTime.Now;
                        hisdata.Value = uint.MaxValue;
                    }
                    else
                    {
                        Log.Info("[JobDT] TagID: " + R.Key + "  Real Value  " + R.Value + "===" + FrontData.dic[R.Key].Value + "   HisData Value ");
                        if (R.Value == FrontData.dic[R.Key].Value)//设备状态没有变化
                        {
                            hisdata = FrontData.dic[R.Key];
                            TimeSpan span = DateTime.Now - hisdata.Time;
                            double   muni = span.TotalMinutes;
                            if (muni > 2)
                            {
                                DTKAG.PlusDT(hisdata.refid, muni);
                                hisdata.Time = DateTime.Now;
                                if (R.Key == EqpName.FillerStatusTagID)
                                {
                                    if (!string.IsNullOrEmpty(hisdata.formid))
                                    {
                                        DTFiller.DTPlusDuration(hisdata.formid, muni);
                                    }
                                }
                            }
                            //  hisdata.Value = R.Value;
                        }
                        else  //设备状态有变化
                        {
                            QMNCPLCS7.TraceDT.TraceCL1.CloseLoop();


                            hisdata = FrontData.dic[R.Key];
                            TimeSpan span = DateTime.Now - hisdata.Time;
                            double   muni = span.TotalMinutes;

                            DTKAG.PlusDTFinish(hisdata.refid, muni);                                    //结束上一状态

                            hisdata.refid = DTKAG.KAGCreateNewDT(hisdata.TagID, hisdata.type, R.Value); //创建新的状态
                            hisdata.Time  = DateTime.Now;                                               //更新 FrontData
                            hisdata.Value = R.Value;

                            if (R.Key == EqpName.FillerStatusTagID)  //如果是Filler 结束 FIller状态
                            {
                                if (!string.IsNullOrEmpty(hisdata.formid))
                                {
                                    DTFiller.DTPlusDurationFinish(hisdata.formid, muni);
                                    if (R.Value == 8)
                                    {
                                        hisdata.formid = QMNCPLCS7.TraceDT.PersisDTFiller.CL1NewDTFiller(EqpName.DepackStatusTagID, EqpName.Depack, "", RealData.dic[EqpName.FillerStatusTagID]);
                                    }
                                    else if (R.Value == 16)
                                    {
                                        QMNCPLCS7.TraceDT.TraceCL1.SetLoop();
                                        FuncAsyn.RunP1(QMNCPLCS7.TraceDT.TraceDownEqp.Run, hisdata.formid);
                                    }
                                    else if (R.Value == 128)
                                    {
                                    }
                                    else
                                    {
                                        hisdata.formid = QMNCPLCS7.TraceDT.PersisDTFiller.CL1NewDTFiller(EqpName.FillerStatusTagID, EqpName.Filler, "", RealData.dic[EqpName.FillerStatusTagID]);
                                    }
                                }
                            }
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                Log.Error(ex.ToString());
            }
        }