![]() | Получение данных по точке учета |
Получение данных интегральной активной энергии в прямом направлении за 30 минут по точке учета, установленной на вводе указанной ТП.
// Поиск ТП var substation = LowVoltageSubstation.GetInstances().First(x => x.AttributeCaption == "ТП-1234"); // Поиск ячейки ввода Т-1 var cubicle = substation.AttributeSwitchgears.GetValues() .SelectMany(x => x.AttributeBusbarSections.GetValues()) .SelectMany(x => x.AttributeCubicles.GetValues()) .OfType<CubiclePowerTransformerLowSide>() .First(x => x.AttributeCaption == "Т-1"); // Поиск ТУ ячейки var meterPoint = cubicle.AttributeMeterPoint; // Вывод информации о получасовом потреблении активной энергии за вчерашний день foreach(var val in meterPoint.GetMeterPointFinalData(DirectionBasedParameter.Instances.EnergyActiveForward30Min, new DayIntervalData { StartDt = DateTime.Today.AddDays(-1), EndDt = DateTime.Today } )) Console.WriteLine("{0} {1}", val.ValueDt.GetValueOrDefault(), val.Value);
Получение данных о текущих параметрах электрической сети по точке учёта.
// Массив текущих параметров электрической сети var momentParameters = new Parameter[] { ThreePhaseParameter.Instances.VoltagePhase1, ThreePhaseParameter.Instances.VoltagePhase2, ThreePhaseParameter.Instances.VoltagePhase3, ThreePhaseParameter.Instances.CurrentPhase1, ThreePhaseParameter.Instances.CurrentPhase2, ThreePhaseParameter.Instances.CurrentPhase3, ThreePhaseParameter.Instances.ActivePowerPhase1, ThreePhaseParameter.Instances.ActivePowerPhase2, ThreePhaseParameter.Instances.ActivePowerPhase3, ThreePhaseParameter.Instances.ActivePowerSummary, ThreePhaseParameter.Instances.ReactivePowerPhase1, ThreePhaseParameter.Instances.ReactivePowerPhase2, ThreePhaseParameter.Instances.ReactivePowerPhase3, ThreePhaseParameter.Instances.ReactivePowerSummary, ThreePhaseParameter.Instances.ApparentPowerPhase1, ThreePhaseParameter.Instances.ApparentPowerPhase2, ThreePhaseParameter.Instances.ApparentPowerPhase3, ThreePhaseParameter.Instances.ApparentPowerPhaseSummary, ThreePhaseParameter.Instances.PowerFactorPhase1, ThreePhaseParameter.Instances.PowerFactorPhase2, ThreePhaseParameter.Instances.PowerFactorPhase3, ThreePhaseParameter.Instances.VoltageCurrentAnglePhase1, ThreePhaseParameter.Instances.VoltageCurrentAnglePhase2, ThreePhaseParameter.Instances.VoltageCurrentAnglePhase3, InterphaseBasedParameter.Instances.VoltageAngle12, InterphaseBasedParameter.Instances.VoltageAngle23, InterphaseBasedParameter.Instances.VoltageAngle31, Parameter.Instances.Frequency }; // Последовательный запрос данных по каждому из параметров сети foreach(var val in momentParameters.Select(x => new { momentParameter = x, result = meterPoint.GetMeterPointFinalData(x).FirstOrDefault() } )) { if (val.result == null) continue; // Вывод результатов Console.WriteLine(string.Format("{0} - {1}", val.momentParameter, val.result.Value)); }
Получение данных о зафиксированных показаниях активной энергии в прямом направлении по точке учета, включая суммарные показания и показания по тарифным зонам.
// Вывод суточных показаний А+ за 10 дней, включая показания по тарифам // Поиск параметров "Показания А+ на начало суток" по всем тарифным зонам var tariffZonesParameters = TariffZoneBasedParameter.Instances.EnergyActiveForwardTotalFixDay.RelationsTariffZoneBasedParameterAttributeClonedFrom; // Затем формирование итогового списка параметров var totalParameters = tariffZonesParameters.Concat(new [] { TariffZoneBasedParameter.Instances.EnergyActiveForwardTotalFixDay }); // Последовательный запрос данных по каждому из параметров за 10 дней foreach (var par in totalParameters) { Console.WriteLine(par.Caption); foreach(var val in meterPoint.GetMeterPointFinalData(par, new DayIntervalData { StartDt = DateTime.Today.AddDays(-10), EndDt = DateTime.Today } )) // Вывод результатов Console.WriteLine("{0} {1}", val.ValueDt.GetValueOrDefault(), val.Value); }