Добрый день.
Из примеров по работе с LERS Framework получилось подключиться к серверу, и запросить архивы по id точки доступа.
Не могу найти в документации, точнее не совсем понимаю что мне нужно прописать, чтобы запустить ручной опрос прибора точки учета… :smu:sche_nie:
По примеру окна “ручного опроса” в клиенте LERS, хотел бы запросе LERS Framework указать:
Период опроса за месяц
var endDate = DateTime.Now;
var startDate = endDate.AddMonths(-1);
Тип получения архива: месячный, суточный, часовой, текущие показания.
Тип задания на опрос.
Lers.Poll.PollTaskType = 2;
Параметр связи с оборудованием. Точка доступа имеет два подключения к одному прибору по GPRS и CSD каналу. Подскажите как выбирать подключение по типу (GPRS / CSD).
И как затем проверить статус установленного задания? т.е. “в очереди”, “Выполняется”, “Выполнен”… или лог опроса задания.
Подскажите, для чего вам иметь возможность запуска ручного опроса, если можно настроить автоопрос и настроить программу на автоматический опрос приборов?
Мы опрашиваем газовые узлы с приборами СПГ741 и СПГ742. Газовые узлы стоят на производствах, и энергетики хотят в течении дня зайти на сайт и запросить текущие показания с прибора t1, Q1, Qp1, P1, и накопительные значения V и Vp1.
Авто опрос стоит раз в сутки на скачивание всех видов архива. Энергетикам мы предоставляем доступ к архивам через свой сайт (кабинет). Сейчас по их запросу думаю как реализовать опрос данных с прибора “по кнопке”.
Про методы для опроса текущих показаний.
Метод MeasurePoint.PollCurrent я понял как вызвать, а как указать опции опроса? (Lers.CoreMeasurePointPollCurrentOptions) в скобках через запятую? или иначе? можно пример пожалуйста? :smu:sche_nie:
У класса MeasurePointPollCurrentOptions есть поле StartMode типа PollManualStartMode. Данный тип представляет собой перечисление со следующим набором именованных констант:
Обычный запуск опроса.
Если все порты опроса заняты - возвратиться ошибка.
Normal = 0,
Принудительный запуск.
Если все порты опроса заняты, то опрос на каком-либо порту будет принудительно завершен и запущено задание.
Force = 1,
Постановка в очередь.
Задание ставится в очередь на принудительный опрос и будет запущено как только освободится занятый порт опроса.
Enqueue = 2
Вам нужно создать экземпляр класса MeasurePointPollCurrentOptions, инициализировать в нем поле StartMode одним из вышеперечисленных значений и передать его в метод MeasurePoint.PollCurrent.
Извините, я плохо знаю C#, поэтому торможу и не пойму как правильно прописать “Параметры опроса текущих данных по точке учета”…
Пишу вот так, понимаю что не верно, поправьте пожалуйста:
MeasurePoint measurePoint = await server.MeasurePoints.GetByNumberAsync(54);
if (measurePoint != null);
{
MeasurePointPollCurrentOptions currentOptions = new MeasurePointPollCurrentOptions();
var pollCurrent = measurePoint.PollCurrent(currentOptions.StartMode.GetType(2));
}
Еще вопрос. Вы писали что нельзя через Lers Framework запускать ручной опрос.
Но по описанию работы Lers Framework, нашел http://support.lers.ru/manual/fw/html/e47a8889-73e8-8d70-c518-c9941219d682.htm
PollTaskType = Forced (2) - Задание принудительного опроса. Попадает в очередь для автоматического опроса. Будет удалено после завершения выполнения задания.
Это же означает что есть возможность создать задание с параметрами для внеочередного опроса прибора? Верно? Или это для другого?
Можно пример как это будет выглядеть в виде кода? Ну или пример с github если есть…