Пример #1
0
        public override void Initialize(MeterDataSet meterDataSet)
        {
            DataGroupsResource dataGroupsResource = meterDataSet.GetResource <DataGroupsResource>();
            CycleDataResource  cycleDataResource  = meterDataSet.GetResource <CycleDataResource>();
            FaultDataResource  faultDataResource  = meterDataSet.GetResource <FaultDataResource>();

            for (int i = 0; i < cycleDataResource.DataGroups.Count; i++)
            {
                DataGroup   dataGroup   = cycleDataResource.DataGroups[i];
                VIDataGroup viDataGroup = cycleDataResource.VIDataGroups[i];
                FaultGroup  faultGroup;

                if (!faultDataResource.FaultLookup.TryGetValue(dataGroup, out faultGroup))
                {
                    faultGroup = null;
                }

                m_classifications.Add(dataGroup, Classify(meterDataSet, dataGroup, viDataGroup, faultGroup));
            }

            foreach (DataGroup dataGroup in dataGroupsResource.DataGroups)
            {
                if (dataGroup.DataSeries.Count > 0)
                {
                    continue;
                }

                m_classifications.Add(dataGroup, Classify(meterDataSet, dataGroup));
            }
        }
Пример #2
0
        public override void Initialize(MeterDataSet meterDataSet)
        {
            DataGroupsResource dataGroupsResource = meterDataSet.GetResource <DataGroupsResource>();
            Stopwatch          stopwatch          = new Stopwatch();

            m_dataGroups = dataGroupsResource.DataGroups
                           .Where(dataGroup => dataGroup.Classification == DataClassification.Event)
                           .ToList();

            Log.Info(string.Format("Found data for {0} events.", m_dataGroups.Count));

            m_viDataGroups = m_dataGroups
                             .Select(dataGroup => new VIDataGroup(dataGroup))
                             .ToList();

            Log.Info(string.Format("Calculating cycle data for all {0} events.", m_dataGroups.Count));

            stopwatch.Start();

            m_viCycleDataGroups = m_viDataGroups
                                  .Select(viDataGroup => Transform.ToVICycleDataGroup(viDataGroup, m_systemFrequency))
                                  .ToList();

            Log.Debug(string.Format("Cycle data calculated in {0}.", stopwatch.Elapsed));
        }
Пример #3
0
        public override void Initialize(MeterDataSet meterDataSet)
        {
            MeterInfoDataContext meterInfo          = m_dbAdapterContainer.GetAdapter <MeterInfoDataContext>();
            DataGroupsResource   dataGroupsResource = meterDataSet.GetResource <DataGroupsResource>();
            Stopwatch            stopwatch          = new Stopwatch();

            m_dataGroups = dataGroupsResource.DataGroups
                           .Where(dataGroup => dataGroup.Classification == DataClassification.Event)
                           .Where(dataGroup => dataGroup.SamplesPerSecond / m_systemFrequency >= 3.999D)
                           .ToList();

            Log.Info(string.Format("Found data for {0} events.", m_dataGroups.Count));

            m_viDataGroups = m_dataGroups
                             .Select(dataGroup =>
            {
                VIDataGroup viDataGroup = new VIDataGroup(dataGroup);
                dataGroup.Add(viDataGroup.CalculateMissingCurrentChannel(meterInfo));
                return(viDataGroup);
            })
                             .ToList();

            Log.Info(string.Format("Calculating cycle data for all {0} events.", m_dataGroups.Count));

            stopwatch.Start();

            m_viCycleDataGroups = m_viDataGroups
                                  .Select(viDataGroup => Transform.ToVICycleDataGroup(viDataGroup, m_systemFrequency))
                                  .ToList();

            Log.Debug(string.Format("Cycle data calculated in {0}.", stopwatch.Elapsed));
        }