![]() | Получение событий по устройству |
Получение событий по каналообразующему оборудованию с указанным серийным номером, а также событий всех подключенных к нему приборов учёта.
// Поиск устройства СИКОН С70 по серийному номеру var rtu = SiconC70.GetInstances().First(x => x.AttributeSerialNumber == "1234567890"); // Подготовка описания интервала глубиной 10 дней var requestInterval = new DayIntervalData { StartDt = DateTime.Today.AddDays(-10), EndDt = DateTime.Today }; // Вывод событий СИКОН С70 foreach(var eventInfo in rtu.ReceiveEvents(null, requestInterval)) Console.WriteLine(string.Format("{0} {1}", eventInfo.EventType, eventInfo.EventDt)); // Перебор всех подключенных к найденному устройству приборов foreach(var equipment in rtu.RelationsNonDirectRouteAttributeChannelizingEquipment.Select(x => x.OwnerInstance).OfType<IEventsSource>()) { // Вывод наименования подключенного прибора Console.WriteLine(equipment); // Запрос и вывод событий подключенного прибора foreach(var eventInfo in equipment.ReceiveEvents(null, requestInterval)) Console.WriteLine(string.Format("{0} {1}", eventInfo.EventType, eventInfo.EventDt)); }