Table of Contents

Начало работы с LERS Framework

Приведём простой пример работы с LERS Framework, который покажет основные шаги по работе с ним.

На компьютер, на котором вы будете вести разработку, необходимо установить ЛЭРС УЧЁТ. Можно поставить любой компонент системы, Framework будет установлен вместе с ним. Можно установить только рабочее место оператора.

Cоздайте проект .NET-приложения. В этом примере мы создадим простое консольное приложение, которое получит данные с сервера ЛЭРС УЧЁТ и выведет их на экран. Мы будем использовать среду разработки Microsoft Visual Studio 2015. Вы можете использовать бесплатную редакцию Community Edition.

new console

Когда проект будет создан, щёлкните на нём правой кнопкой и выберите пункт меню Manage NuGet Packages....

В открывшемся менеджере пакетов в строке поиска введите Lers.Framework и установите найденный пакет.

nuget

Пример кода для получения архивных данных по точке учёта

static void Main(string[] args)
{
    // Создаём объект для подключения к серверу
    var server = new Lers.LersServer();
 
    // Информация для аутентификации (логин и пароль учётной записи)
    var authInfo = new Lers.Networking.BasicAuthenticationInfo("login", Lers.Networking.SecureStringHelper.ConvertToSecureString("password"));
 
    // Устанавливаем подключение к серверу
    server.Connect("localhost", 10000, authInfo);
 
    // Ищем точку учёта. В этом примере мы получем её по номеру.
    var measurePoint = server.MeasurePoints.GetByNumber(727);
 
    // Определяем интервал за который запрашиваются данные. В данном случае - за один месяц.
    var endDate = DateTime.Now;
    var startDate = endDate.AddMonths(-1);
 
    // Запрашиваем суточные данные за указанный интервал
    var consumptionData = measurePoint.Data.GetConsumption(startDate, endDate, Lers.Data.DeviceDataType.Day);
 
    // Выводим на экран массовый расход
    foreach (var consumptionRecord in consumptionData)
    {
        double? value = consumptionRecord.GetValue(Lers.Data.DataParameter.M_delta);
        string stringValue = value.HasValue ? value.Value.ToString() : "<нет данных>";
        Console.WriteLine($"Дата: {consumptionRecord.DateTime}. dM = {value}т.");
    }
}