Изменения в архиве событий устройства

В версии R13 будет изменена структура записей в архиве событий устройства. Раньше для каждого события отображалось две записи - начальная и конечная, в которых только отличались даты. Теперь для одного события будет одна запись, с двумя датами - дата начала и дата окончания.

Про Lers Framework. Каждый экземпляр класса DeviceEventRecord мог представлять или начало события или его окончание, что определялось свойством IsStart. Теперь, каждому событию будет соответствовать всегда один экземпляр DeviceEventRecord вместо двух. Это позволит сразу узнать дату окончания события, тогда как раньше требовалось искать запись с окончанием вручную.

Теперь класс DeviceEventRecord выглядит следующим образом:

/// <summary>
/// Описывает запись из архива событий устройства.
/// </summary>
public sealed class DeviceEventRecord
{
 /// <summary>
 /// Возвращает тип архива, из которого считано событие.
 /// </summary>
 public DeviceEventArchiveType ArchiveType { get; private set; }
 
 /// <summary>
 /// Возвращает номер теплового ввода, в котором произошло событие. Значение 0 означает, что событие общее для всех тепловых вводов.
 /// </summary>
 public byte HeatLeadInNumber { get; private set; }
 
 /// <summary>
 /// Возвращает номер канала, к которому относится событие. 0 - событие общее для всех каналов.
 /// </summary>
 public byte ChannelNumber { get; private set; }

/// <summary>
/// Возвращает дату и время возникновения события.
/// </summary>
public DateTime DateTime { get; private set; }

/// <summary>
/// Возвращает признак начала или окончания события.
/// </summary>
public bool? IsStart { get; private set; }

/// <summary>
/// Возвращает дату и время возникновения события.
/// </summary>
public DateTime? StartDateTime { get; private set; }

/// <summary>
/// Возвращает дату и время окончания события.
/// </summary>
public DateTime? EndDateTime { get; private set; }
 
 /// <summary>
 /// Возвращает продолжительность события в минутах.
 /// </summary>
 public int? Duration { get; private set; }
 
 /// <summary>
 /// Возвращает код события, уникальный для этой модели устройства.
 /// </summary>
 public int Code { get; private set; }
 
 /// <summary>
 /// Возвращает текстовое описание события.
 /// </summary>
 public string Description { get; private set; }
}


Желтым цветом выделены изменения, зачеркнутым шрифтом - свойства, которые были удалены.

Из новой структуры, если необходимо, не проблема получить старую. Новая структура более компактная и удобная в использовании. Таблица с архивом событий в базе данных теперь занимает в два раза меньше места.

Если есть вопросы - задавайте их в комментариях к этой статье.

Комментарии

Популярные сообщения из этого блога

Ошибка установки соединения

Опрос электросчётчиков СЕ-301 и СЕ-303 через модемы Siemens

Сбор данных через GPRS