Стартовая страница › Форумы › Разработка и интеграция › NeedRequest в SendComands
- В этой теме 20 ответов, 4 участника, последнее обновление 1 год, 1 месяц назад сделано
manjey73.
-
АвторЗаписи
-
25.07.2025 в 11:33 #39779
manjey73УчастникДобавьте на будущее возможность использования NeedRequest аналогично и в команды.
Полезно при чтении архивов будет.25.07.2025 в 15:52 #39781
MikhailМодераторАналогично чему?
25.07.2025 в 16:07 #39782
manjey73УчастникАналогично Session. Я попробовал сделать запрос в SendCommand через NeedRequest — ничего не получил…
Без него запрос-ответ проходят.25.07.2025 в 19:00 #39783
manjey73УчастникХм, вопрос иного плана, как делегировать запросы из команды в Session?
Оказалось, что максимум можно прочитать архив только за 3 часа одним запросом.
Хочу отправить команду, прочитать первые 3 часа, потом остальные вычитывать внутри сессий28.07.2025 в 14:15 #39797
MikhailМодераторОпросом управляет Коммуникатор. Чтобы выполнить опрос, можно отправить соответствующую команду на линию связи из какой-либо части кода. Из драйвера, насколько я помню, команду можно отправить либо в целом в Коммуникатор, либо на конкретную линию, что бывает более оптимально.
28.07.2025 в 14:34 #39799
manjey73УчастникШтатный опрос не предполагает чтение архивов из диапазона времени, для этого нужна команда так или иначе. Команда отправляется драйверу вручную, но по команде при запросе большого диапазона времени сразу будет затык в опросе надолго.
Чтение суточного архива это +8 секунд, а чтение за месяц + 4 минуты.Вот о чем речь. пока только мысли. Сделать настройку количества запросов за один раз при команде запроса архивов. Например 2 (6 часов), и каждую сессию будет опрашиваться по 6 часов. Если сессии раз в 30 сек, то как-то нормально я думаю.
Учитывая, что драйвер контролирует наступление часа и считывает архивы ежечасно.
28.07.2025 в 15:02 #39800
JurasskParkУчастникА что драйверу мешает самостоятельно контролировать наступления часа и самостоятельно отправлять команды?
28.07.2025 в 15:18 #39801
manjey73Участникничего не мешает, он так и делает, час наступил, считал архив.
А вот не было связи 3 часа с прибором, там накопился архив за 3 часа?
А вот решил я получить данные за прошлые 2 месяца, которые не были прочитаны? по причине позднего ввода в эксплуатацию при ПНР и т.д.28.07.2025 в 15:30 #39802
JurasskParkУчастникСоздать команду, которая при получение числа интегер (количество часов) будет высчитывать сколько команд и какой длины нужно создать в списке и передавать их навыполнение.
28.07.2025 в 15:35 #39803
manjey73УчастникТак вот и пытаюсь прикрутить..
1. при команде опрос Х часов от настроек
2. еще Х часов если стоит внеочередной опрос после команды
3. остальные по Х часов каждые последующие сессии+ проверка самим драйвером, если были пропуски связи по тому же алгоритму, только уже без команды просто внутри Сессий
ну и вариант положить на все, пока не прочитает. пока особо не рассматриваю.
Да, приходится химичить, так как окна ввода команд с вводом диапазона дат нет.28.07.2025 в 15:38 #39806
JurasskParkУчастникА если нужно чтобы не все сразу…
То создать файл в папке Config коммуникатора командной и записать список всех нужных команд. И после выполнения основных команд смотреть есть ли в каталоге такой файл. Читать его. Брать самую верхнюю строку в виде массивв байт (она же команда) и отправлять. После успешного выполненям удалять из файла верхнюю строку и сохранять файло.
После того как в файле не осталось строк, удалять файл.28.07.2025 в 15:41 #39807
manjey73Участника смысл заморачиваться с файлом? точнее он у меня и так есть, в принципе могу туда добавить «раздел» какое время прочитано по команде и сколько там осталось…
Возможно это идея, с точки зрения если Сервер может перезапускаться, пока не рассматривал такой вариант, но идея хорошая
28.07.2025 в 15:42 #39808
JurasskParkУчастникДиапазон дат нет, а строку кто мешает отправить и разбить на две даты?
В форме ввода отправить строку
2025-01-01 00:00:00 — 2025-01-01 05:00:00А драйвер превращает строку в две даты.
28.07.2025 в 15:43 #39809
manjey73Участник<?xml version="1.0" encoding="utf-8"?> <SaveParam HourDt="28.07.2025 19:00:00" DayDt="27.07.2025 23:00:00" verifiDt="18.09.2025; 26.09.2025; 19.09.2025" />сейчас вот так. Прочитанные часовые и суточные. + даты поверок сохраняются.
Могу туда добавить после выполнения команды диапазон и после выполнения на уровне сессии корректировать.28.07.2025 в 15:44 #39810
manjey73Участникя строку и отправляю, только с разделителем
;но хотелось бы ее вводить через календарь, а не строкой. Вот я о чем.Понятно, что можно сделать 3 расчетных канала, ввести две даты, а потом «Отправить», но блин это расточительство какое-то 🙂
-
Ответ изменён 1 год, 1 месяц назад пользователем
manjey73.
-
Ответ изменён 1 год, 1 месяц назад пользователем
-
АвторЗаписи
- Для ответа в этой теме необходимо авторизоваться.