Esempio n. 1
0
        public static void getRecordedValues(DateTime dt1, DateTime dt2, int maxPointsCount, SortedList<string, TagInfo> tagInfoArray, Report report)
        {
            /*dt1 = dt1.AddSeconds(-dt1.Second);
            dt2 = dt2.AddSeconds(-dt2.Second);*/
            foreach (TagInfoPI ti in tagInfoArray.Values) {
                PISDK.PIValues vals=null;
                if (ti.TagMode == TagModeEnum.tag) {
                    TagInfoTag tagInfo = ti as TagInfoTag;
                    PISDK.PIPoint point = tagInfo.Point;
                    PISDK.IPIData2 data = point.Data as PISDK.IPIData2;
                    vals = data.RecordedValues(dt1.ToString(), dt2.ToString());

                    if (vals != null) {
                        processVals(dt1, dt2, vals, ti, maxPointsCount, report,false);
                    }
                } else {
                    Tag tag=new Tag(ti, 0, dt1);
                    report.addTag(tag);
                }
            }
        }
Esempio n. 2
0
        protected static void processVals(DateTime dt1, DateTime dt2, PIValues vals, TagInfo ti, int maxPointsCount, Report report,bool addMinutes=true)
        {
            if (vals.Count > maxPointsCount) {
                report.addTag(new Tag(ti, 0, dt1));
                report.addTag(new Tag(ti, 0, dt2));
                return;
            }
            Array vs;
            Array times;
            Array attrs;

            PISDK.IPIValues2 vals2=vals as PISDK.IPIValues2;
            vals2.GetValueArrays(out vs, out times, out attrs);

            for (int i=0; i < vs.Length; i++) {
                double time=(double)times.GetValue(i);
                PITimeServer.PITimeFormat tc=new PITimeServer.PITimeFormat();
                tc.UTCSeconds = time;
                int add=addMinutes?ti.AddMinutes:0;
                DateTime dt=tc.LocalDate.AddMinutes(add);

                object v=vs.GetValue(i);
                double value=getDoubleVal(v);
                Tag tag = new Tag(ti, value, dt);
                report.addTag(tag);
            }
        }