Предлагаем протестировать wb-mqtt-serial 2.44.0 с новой логикой опроса регистров. Цель была дать возможность настроить опрос так, чтобы регистры опрашивались с заданным периодом или с периодом максимально близким к заданному. Это кнопки или датчики, на изменение значения которых надо отреагировать максимально быстро.
Изменения
“Интервал опроса” (poll_interval) теперь задаёт желаемый период опроса, и wb-mqtt-serial будет стараться опросить канал с этим периодом. Раньше это был минимальный период опроса, и реальный период мог существенно отличаться.
“Интервал опроса” у порта и у устройства упразднили, теперь можно задавать интервал опроса только каналам.
Каналы с заданным интервалом опроса имеют приоритет перед другими каналами. Если придёт время опрашивать более приоритетный канал, опрос менее приоритетного будет остановлен.
Если интервал опроса не задан, канал будет опрошен в свободное время. Никаких гарантий на период опроса нет, он будет зависеть от загруженности шины и настроек приоритетных каналов.
При настройке интервалов опроса надо руководствоваться здравым смыслом. Мы исходили из того, что приоритетных каналов в инсталляции не много, и их теоретически можно опросить с заданными интервалами. Если настроить 100 каналов с интервалом опроса 1мс на скорости 9600, то реальные интервалы будут существенно больше желаемого.
Установка
Для установки надо переключиться на testing и установить пакет из экспериментального репозитория:
если я на тестинге и так был, мне надо еще репозиторий экспериментальный подключать?
ну, видимо, да. считал, что тестинг это уже подразумевал. устанавливаю.
Исключительно опрометчивая идея.
Софтина обязана иметь точную (verbatim) обратную совместимость на протяжении минимум нескольких лет (контроллерная - десятилетий), чтобы простой апдейт не развалил сетап. Вы же де-факто меняете архитектуру построения сети устройств.
Кто-то и не заметит этого, а кто-то попадет в волчью яму, коих и сейчас немеряно. Я бы не стал добавлять еще одну или несколько, если бы меня спросили, конечно.
Однозначно сохранять совместимость. ВСЕГДА.
Учитывая свежие подвижки с вариативным конфигом устройств - отличная фича, кстати, - заложить ее технически труда не составит.
У меня, например, интервал опроса четко завязан на объем отдаваемого датчиками трафика по Сети, и перепахивать придется много. Но это лично я не был в отпуске/запое/коме и тему прочел, пока она не уехала в небытие. Знаю теперь, чего бояться.
А другой не прочел, развалил всю систему и попал на люли/бабло от заказчика.
Коллеги, я понимаю, что это ваш проект и вы развлекаетесь, как хотите вы, а не я. Но я всё еще надеюсь, что покупаю контроллеры, а не игровые консоли с прикольными нежданными изменениями в геймплее.
подождите, но ведь если вы на настроенной рабочей продакшн-системе зачем-то ставите новый софт, то это вы развлекаетесь, а не мы. Мы же не приходим и не ставим насильно на ваши контроллеры ничего.
Я вижу три сценария обновления:
вы настроили систему, всё работает, вы её больше не планируете трогать. Вы выбираете фиксированный релиз, типа wb-2111 и apt-ом вам прилетают только security-обновления, какие-то сверх-критичные заплатки на наш софт, может быть шаблоны для новых устройств
у вас система находится в обслуживании, проект развивается и доделывается. Вы оставляете stable канал и раз в три-шесть месяцев прилетают обновления, которые в том числе могут добавлять новую функциональность
вы находитесь на этапе проектирования или обкатываете свежий софт. Ставите testing-канал и получаете возможность проверить обновления до того, как они попадут в stable
То есть не сломать существующие инсталляции очень просто - надо просто их не трогать и они не сломаются. Чтобы защитить их от себя же - можно принудительно зафиксировать релиз, как в первом пункте.
А вы, кажется, предлагаете, чтобы у нас новые устройства с новым софтом вообще никак не менялись и лучше не становились.
Предлагаю абстрактные споры на этом закончить и вернуться к конкректным вещам. Прошу подробно и с техническими деталями написать, как именно wb-mqtt-serial с новым планировщиком осложнит вам жизнь. Мы для того и выложили здесь тестовую сборку, чтобы понять конкретные проблемы и их исправить.
Кто-нибудь уже устанавливал себе на контроллеры новую версию WB-MQTT-SERIAL с новым планировщиком опроса регистов? Прошу поделиться мнениями от использования. Как работает система после этого обновления?
А вот у меня реальный объект, на котором есть система работающая сейчас в режиме Stable.
И вот поэтому(что есть реальный объект, а не тестовый стенд) я сильно сомневаюсь и даже побаиваюсь ставить данное обновление и потом всё это дело оставлять в режиме testing.
Как считаете можно ли поставить обновлённую службу на оборудование конкретного объекта и потом оставлять систему на testing или всё-таки не стоит?
Проверил на WB6.6 с 10-ю WB-MR6C на скорости 115200
для каждого из 6 входов опрос в 1ms
Ошибок в log не сыпет, но и ожидаемого эффекта не получилось.
Хотелось сделать быстрый опрос нажатий, чтобы не было пропусков по Input.
Тем не менее разница ощутимая есть в длительности нажатия на кнопку с гарантированным считыванием
К сожалению, организовать опрос каждого входа раз в 1мс технически не получится. Если устройство отвечает мгновенно, и контроллер тоже мгновенно шлёт следующий запрос, один цикл опроса входов на одном устройстве занимает не менее 2мс. Дополнительно текущие прошивки MR6C требуют 8мс задержки перед опросом, в результате получаем чуть меньше 10мс на устройство. У вас 10 устройств, т.е. в идеале чаще, чем раз в 100мс, значения входов не получить. В реальности период будет ещё больше, т.к. есть время ответа устройства, время обработки в контроллере и опрос других регистров.