Вопрос перекочевал из чата. Думаю, будет полезно многим.
Обновившись на bullseye в поисках решения для увеличения скорости работы Modbus, приступил к записи “1” в регистр 114, ради чего и всё затевалось.
Первое моё удивление - после перегрузки по питанию регистры обнулились.
Ок, посмотрел в карту регистров - оказывается, надо записывать двойку, чтобы значение сохранялось.
Хорошо, давайте запишем двойки. Первые примерно 40 устройств (внешние устройства) всё шло гладко:
прочитано - “0”
записано - “2”
прочитано - “2”
Потом пошли щитовые устройства, с несколькими - всё было так же. Начались релейные модули WB-MR*:
прочитано - “0”
записана - “2”
прочитано - “1”
Что единицу, что двойку записываю - читаю “1”.
В итоге я написал в чат, там Александр подсказал, что так и должно быть: двойка должна “превращаться” в единицу. Я проверил: двойку перезагрузку по питанию устройства держат, а вот единицы (записанные через двойки) - обнуляются. Что-то не так.
В итоге по устройствам:
-
записывается “2” - читается “2”, сохраняется после перезагрузки:
WB-MAP3E (2.5.1), WB-MIO (1.6.0), WB-MCM8 (1.5.2), WB-MSW v.3 (4.29.5), WB-M1W2 (4.29.5). -
записываю “2” - читается “1”, обнуляется после перезагрузки:
WB-MR6C v.2 (1.19.2), WB-MR6CU v.2 (1.19.2), WB-MDM3 (2.6.5).
На всех устройствах загрузчик - 1.2.2. На всякий случай уточню: устройств одного типа - несколько, датчиков - около 30, релейных модулей - около 20. Все они ведут себя одинаково.
Хотелось бы понять - какое в итоге поведение задумано?
Что я понял из карты регистров - “2” должна сохранять режим сплошного чтения регистров включенным после перезагрузки. Для устройств, которые превращают “2” в “1” - оно обнуляется. Соотвественно, “2”-ка ничего не сохраняет. Питание устройств у нас резервируется, конечно, но это всё равно не выход, питание иногда приходится отключать, ну и вообще - всякое бывает…
P.S. С большим нетерпением ждали стабильного релиза для обновления. Проблема была в детекции коротких нажатий входов, отвязанных от реле (сценарные и всякие мастер кнопки). Очередь опроса была слишком большая, несмотря на все попытки разграничить время опроса для каналов/входов с разным приоритетом. Выключатели сенсорные, в итоге короткие нажатия WB7 просто не успевал замечать в 3-х случаях из 4-х. Были разные мысли о замене на WBIO, разные “костыльные” решения, но надежда на обновление всё же была. Первые впечатление после обновления всего и вся после пары-тройки часов использования - чудо: проблема с выключателями исчезла, отклик мгновенный. Будем тестировать ещё, но пока эффект очень положительный. В очередной раз восхищаюсь командой Wirenboard!