Уменьшение периода опроса на WB-MAP6S на прошивке 2.12.0

WB 8.5 (testing), WB-MAP6S, была прошивка 2.11.0, стоял период опроса Urms 1 секунда, работало корректно.
После обновления прошивки до 2.12.0 для Urms стали доступны только варианты “using Fast Modbus” и “do not read”, значения стали обновляться несколько раз в секунду при колебаниях менее 1 вольта.

  • в changelog об этом не сказано
  • в таблице регистров сказано, что “Событие Быстрого Modbus генерируется при изменении значения более чем на 2 В с прошлого события.”.

Это баг, или как теперь сделать, чтобы в нормальном состоянии данные обновлялись не чаще раза в 1 секунду? В WB-rules есть события на Urms + аналогично в подключенном по MQTT HA, из-за этого вырос LA контроллера и нагрузка на базу HA.

Добрый день! Изучу информацию, проверю и вернусь с ответом.

С описанием

Событие Быстрого Modbus генерируется при изменении значения более чем на 2 В с прошлого события

не сходится - похоже на багу.

root@wirenboard-ARA5L5AB:~# mosquitto_sub -t '/devices/wb-map6s_240/controls/Urms' -v
/devices/wb-map6s_240/controls/Urms 226.51
/devices/wb-map6s_240/controls/Urms 226.48
/devices/wb-map6s_240/controls/Urms 226.14
/devices/wb-map6s_240/controls/Urms 226.3
/devices/wb-map6s_240/controls/Urms 226.63
/devices/wb-map6s_240/controls/Urms 226.57
/devices/wb-map6s_240/controls/Urms 226.49

Проверю еще все параметры и передам разработчикам.

Здравствуйте!

У нас все событийные регистры могут также читаться как обычные регистры. В случае с напряжением (общий случай - аналоговая величина) - специально в wb-mqtt-serial сделан тип semi-sporadic, чтобы значение не выглядело “зависшим”. То есть оно меняется медленно (со скоростью опроса шины), а если отклоняется более чем на 2В - генерируется событие и это резкое изменение уже доходит до контроллера быстро.
То есть это так задумано.

Для этих регистров нет возможности ограничить период опроса и он будет зависеть от длины очереди, а так же скорости шины.

с этим надо что-то делать, нагрузка на контроллер увеличилась из-за этого в 4 раза!!! load average был 1.1 - 1.4, теперь меньше 5 не опускается.
это катастрофа !!!

То есть оно меняется медленно (со скоростью опроса шины)

это ни разу не медленно, особенно если скорость стоит 115200.

Зачем убрали выбор времени опроса?
Пусть бы оно осталось, а если приходит сообщение по fast modbus, то оно публикуется вне очереди.

Добрый день!

Разработчиками обсудили этот вопрос – решили вернуть настройки в конфигуратор.

Пока рекомендуют прописать “read_period_ms” в конфигурационном файле.

1 лайк

я правильно понимаю, что это надо вручную в файле wb-mqtt-serial.conf прописать?
если потом через web интерфейс что-то другое поменять, то это значение перезапишется же?

Правильно понимаете.
Это значение не затрется при конфигурировании из web интерфейса.

это решение не работает

Что именно не работет? Не применяется “read_period_ms” или перезаписывается при сохранении в WEB-UI?

Не применяется “read_period_ms”

Сделал, как рекомендовали коллеги, и получил ожидаемый результат для Urms.

В конфиг добавил:

{            
  "name" : "Urms",
  "read_period_ms" : 10000
 },

и получаю публикацию каждые 10 секунд + внеочередные события при изменении напряжения более чем 2 В:

mosquitto_sub -t '/devices/wb-map6s_240/controls/Urms' -v | ts "%.T"
09:02:37.907555 /devices/wb-map6s_240/controls/Urms 232.24
09:02:40.259147 /devices/wb-map6s_240/controls/Urms 230.51
09:03:00.268512 /devices/wb-map6s_240/controls/Urms 230.64
09:03:10.271056 /devices/wb-map6s_240/controls/Urms 230.34
09:03:16.799066 /devices/wb-map6s_240/controls/Urms 228.73
09:03:20.300505 /devices/wb-map6s_240/controls/Urms 230.14
09:03:28.353951 /devices/wb-map6s_240/controls/Urms 230.7
09:03:30.308862 /devices/wb-map6s_240/controls/Urms 230.85
09:03:40.319766 /devices/wb-map6s_240/controls/Urms 230.46
09:03:50.332397 /devices/wb-map6s_240/controls/Urms 230.87
09:04:00.333611 /devices/wb-map6s_240/controls/Urms 230.22
09:04:10.335425 /devices/wb-map6s_240/controls/Urms 230.28

Покажите, что у вас получилось. Пришлите конфиг.

Добрый день! Вопрос еще актуален?

У меня заработало по описанному вам примеру с добавлением read_period_ms, но хотелось бы чтобы эту настройку вернули в web-интерфейс. Возможно, было бы полезно рядом отображение сноски про наличие у параметра опроса по Fast Modbus, это как раз позволит принимать решение о понижении периода опроса в остальных случаях.

Да, как и писал выше, об этом уже сообщил разработчикам и добавил в список пожеланий.

сейчас работает, спасибо

2 сообщения были перенесены в новую тему: Параметр “read_period_ms” для регистров с “Быстрым Modbus”