Начало работы с LERS Framework
Приведём простой пример работы с LERS Framework, который покажет основные шаги по работе с ним.
На компьютер, на котором вы будете вести разработку, необходимо установить ЛЭРС УЧЁТ. Можно поставить любой компонент системы, Framework будет установлен вместе с ним. Можно установить только рабочее место оператора.
Cоздайте проект .NET-приложения. В этом примере мы создадим простое консольное приложение, которое получит данные с сервера ЛЭРС УЧЁТ и выведет их на экран. Мы будем использовать среду разработки Microsoft Visual Studio 2015. Вы можете использовать бесплатную редакцию Community Edition.
Когда проект будет создан, щёлкните на нём правой кнопкой и выберите пункт меню Manage NuGet Packages...
.
В открывшемся менеджере пакетов в строке поиска введите Lers.Framework
и установите найденный пакет.
Пример кода для получения архивных данных по точке учёта
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}т.");
}
}