示例#1
0
        public static UInt64 NewDT(string LineID, string DeviceId, string TagID, bool IsDown, string Status, uint real)
        {
            DTRecord data = new DTRecord();

            data.LineID   = LineID;
            data.PDate    = DateTime.Now;
            data.TagID    = TagID;
            data.DeviceID = DeviceId;
            data.Value    = real;
            if (IsDown)
            {
                data.IsDown = "Y";
            }
            else
            {
                data.IsDown = "N";
            }

            data.Start_time = DateTime.Now;
            data.Duration   = 0.2;
            data.status     = Status;
            data.End_time   = DateTime.Now.AddMinutes(0.2);
            DTRecord.CreateNew(data);

            return(DTRecord.GetMaxRefid(DeviceId));
        }
示例#2
0
        public static UInt64 NewDT(string LineID, string DeviceId, bool IsDown, string Status)
        {
            DTRecord data = new DTRecord();

            data.LineID = LineID;
            data.PDate  = DateTime.Now;

            data.DeviceID = DeviceId;

            if (IsDown)
            {
                data.IsDown = "Y";
            }
            else
            {
                data.IsDown = "N";
            }

            data.Start_time = DateTime.Now;
            data.Duration   = 0;
            data.status     = Status;

            DTRecord.CreateNew(data);

            return(DTRecord.GetMaxRefid(DeviceId));
        }
示例#3
0
        public static UInt64 KAGCreateNewDT(string tagid, string type, uint real)
        {
            UInt64   refid   = 0;
            KMStatus status  = new KMStatus();
            TagData  taginfo = RowConfig.TagDic[tagid];

            try
            {
                if (taginfo == null)
                {
                    return(0);
                }

                if (type == "Status")
                {
                    status = KAGStatus.GetStatus(real);
                }
                else if (type == "Operation")
                {
                    status = KAGStatus.GetMode(real);
                }
                else if (type == "Program")
                {
                    status = KAGStatus.GetProgram(real);
                }
                else if (type == "CL1OEM")
                {
                    status = QMNCPLCS7.Status.CL1OEMStatus.GetStatus(real);
                }
                else
                {
                    status.Status = "UnKnow";
                }
                refid = NewDT(taginfo.LineID, taginfo.DeviceID, tagid, status.ISDown, status.Status, real);
            }
            catch (Exception ex)
            {
                Log.Error(ex.ToString());
                refid = DTRecord.GetMaxRefid(taginfo.DeviceID);
            }


            return(refid);
        }
示例#4
0
        public static EqpSpanDuration Get30MKPI(string tagid)
        {
            EqpSpanDuration data = new EqpSpanDuration();

            try
            {
                data.TagID = tagid;
                SpanStatus span   = DTRecord.GetSpanTimeStatus(tagid, -30);
                bool       ISDown = true;
                if (span != null)
                {
                    if (span.Status == "Operating" || span.Status == "Lack" || span.Status == "Tailback")
                    {
                        data.Run = span.Duration;
                        ISDown   = false;
                    }
                    else
                    {
                        data.Down = span.Duration;
                    }
                }

                if (ISDown)
                {
                    data.Down = data.Down + DTRecord.GetDownTime(tagid, -30);
                    data.Run  = 30 - data.Down;
                }
                else
                {
                    data.Down = DTRecord.GetDownTime(tagid, -30);
                    data.Run  = 30 - data.Down;
                }

                data.KPI = data.Run / 30;
            }
            catch (Exception ex)
            {
                Log.Error(ex.ToString());
                data = null;
            }

            return(data);
        }
示例#5
0
 public static void PlusDTFinish(UInt64 refid, double duration)
 {
     DTRecord.DTPlusDurationFinish(refid, duration);
 }