Скорость rs-485 для различных устройств WB

Про регистры понял. Про логи из консоли тоже понял. Спасибо! Буду экспериментировать

Добрый день! Возникла ситуация, когда с модулей WB-MR6C на контроллер WB6 нужно оперативно получать информацию о нажатии кнопок со входов. И если кнопка нажата и отжата в промежутке времени между опросом, то в системе этот момент не отследить. В линию RS485-1 подключены следующие модули:
WB-M1W2 - 3 шт
WB-MR6C - 11 шт
WB-MRGBW-D - 5 шт
WB-MRPS6/S - 1 шт
WB-MAP6S - 1 шт
WB-MCM16 - 1 шт
WB-MSW - 7 шт
Скорость по этой линии установлена 115200, из шаблонов удалены неиспользуемые регистры, “tail -f /var/log/messages” ошибок модулей не показывает.
На линию RS485-2 подключены 3 модуля WB-MR6C, параметры установлены такие же как у RS485-1. Там нормально с временем опроса, но как только подключить 4-й модуль, то скорость существенно падает, поэтому подключены модули наиболее критичные по времени опроса.
Возможно ли что-то еще сделать, чтобы увеличить скорость опроса на линии RS485-1 ?
Или можно ли тогда взять, например, такой модуль WBIO-DI-WD-14 и переключить кнопки на него ? Правильно ли понимаю, что по шине WBIO скорость значительно выше ?

Arti-san, добрый день!
Есть разные подходы, чтобы получать оперативную информацию о входах, кроме увеличения скорости передачи данных и уменьшения опрашиваемых регистров, которые вы перечислили
:

  1. Подключать релейные модули к разным портам, в том числе создать дополнительные с использованием преобразователей Преобразователь интерфейсов WB-MGE.
  2. Ориентироваться не на состояние входов, а на счетчики замыкания. Тогда даже если не удалось “отловить” момент нажатия, мы будем располагать информацией постфактум.
  3. Использовать боковые модули входов, подключенные непосредственно к контроллеру. Каждое изменение входа генерирует прерывание, которое гарантированно отрабатывается и отправляется в MQTT-очередь.

я на DI-DR не увидел полей-счетчиков. Они есть, но не вынесены в шаблон? У меня кнопки к ним подключены…

Добрый день! Счетчики есть в шаблоне, когда вы подключаете модуль через MIO(-E). При подключении непосредственно к контроллеру счетчиков нет. Можно считать движком правил по изменению состояния.

если движком, то смысл теряется. Понял, спасибо.

Импульсы считает MIO-E, в самом DR такого функционала нет.

Подскажите пожалуйста, как по пт2 удалить ненужные регистры из шаблонов?
Искал и в вики и здесь - не нашел.
Открываю конфиг как JSON, в нем вижу только, что указаны устройства с адресами, ргистров нет. Откуда взять шаблоны устройств со всеми регистрами и выкинуть оттуда ненужные?

Прошивка от 20 января 2021, все прошивски всех устройств актуальные.

Все шаблоны лежат на контроллере в папке /usr/share/wb-mqtt-serial/templates/

Ещё они хранятся на нашем Github: wb-mqtt-serial/wb-mqtt-serial-templates at master · wirenboard/wb-mqtt-serial · GitHub
Можете скопировать любой из них, изменить название, отредактировать и сложить в ту же папку на контроллере. После этого удалите устройство со старым шаблоном и добавьте с новым.

Также можете посмотреть статью Драйвер wb-mqtt-serial:Примеры написания шаблонов — Wiren Board

2 лайка