Для изменения размера нажмите или перетащите

Получение событий по устройству

Пример

Получение событий по каналообразующему оборудованию с указанным серийным номером, а также событий всех подключенных к нему приборов учёта.

C#
// Поиск устройства СИКОН С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));
}
См. также