WB-MGE v.2 и v.3 ни с чем не живёт на одной шине

  • поставил "enable_wb_continuous_read": false

  • записал 28му в 114 регистр 0

  • перезапустил wb-mqtt-serial

  • разрешил 205й

  • ноль остался

  • но и ошибка тоже

Jul 08 23:33:03 wirenboard-AFRC2C6E wb-mqtt-serial[773231]: WARNING: [modbus] failed to read 2 holding(s) @ 97 of device modbus:28: Serial protocol error: request timed out
Jul 08 23:33:04 wirenboard-AFRC2C6E wb-mqtt-serial[773231]: WARNING: [modbus] failed to read 2 holding(s) @ 97 of device modbus:28: Serial protocol error: request timed out
Jul 08 23:33:05 wirenboard-AFRC2C6E wb-mqtt-serial[773231]: WARNING: [modbus] failed to read 2 holding(s) @ 97 of device modbus:28: Serial protocol error: request timed out
Jul 08 23:33:06 wirenboard-AFRC2C6E wb-mqtt-serial[773231]: WARNING: [modbus] failed to read 2 holding(s) @ 97 of device modbus:28: Serial protocol error: request timed out
  • записал 0 в 114 всем MSW (включая 205)

  • перезапустил wb-mqtt-serial

  • 0 держится

  • ошибка тоже

  • запретил опрос 205

  • ошибка пропала

Добрый день!

Собрал стенд, воспроизводящий сценарий из тикета — ближнее и дальнее устройство одновременно на шине с MGE. Не один в один, у нас достаточно отличий. Я на тестинге, чтобы установить максимально свежие прошивки устройств, у меня физически нет столько MSW, поэтому я набирал девайсы количественно, и я не стал создавать топологию звезды, дальний МГЕ - это общая шина. Оборудование у меня следующее:

  • контроллер WB8 (релиз unstable.latest, ядро 6.8.0-wb160);

  • два WB-MGE v.3 в режиме прозрачного моста (ближний — клиент, дальний — сервер), порт RS485-1<->RS485-1, прошивка шлюзов 1.1.0 (f0de124_main);

  • 1 устройство на ближней стороне (шлейфом на контроллере): WB-MRWL3;

  • 7 устройств на дальней стороне через мост: WB-MR3, WB-MWAC-v2, WB-LED, WB-MDM3, WB-MAP3EV, WB-MAO4, WB-MSW v.4;

  • скорость шины 9600 8N2;

  • версия драйвера wb-mqtt-serial: 2.260.1.

Прошивки MCU самих устройств (MR3, MWAC, LED, MDM3, MAP3EV, MAO4, MSW, MRWL3) на стенде не сверял отдельно. Каждая железка была обновлена до последней доступной версии в процессе работы над стендом.

Нашёл конфигурацию, при которой ошибки полностью пропадают:

  1. На порту RS485 в контроллере выставил «Таймаут ответа» = 1000 мс и «Задержка перед записью в порт» = 100000 мкс. Оба значения подбирал эмпирически под задержку моста и число устройств на шине — при изменении состава устройств стоит перепроверять заново.

  2. На каждом устройстве выставил enable_wb_continuous_read: false .

  3. Для каждого канала, у которого в шаблоне устройства задан событийный режим (sporadic / semi-sporadic — то есть Быстрый Modbus), явно выставил sporadic: false в конфиге самого устройства.

При такой настройке — 0 ошибок за длительное тестирование (несколько контрольных 30-минутных и минутных окон), все каналы всех 8 устройств опрашиваются штатно.

Прикладываю файл конфигурации /etc/wb-mqtt-serial.conf с моего стенда как референс. Прошу прислать свой актуальный файл конфигурации — сравню настройки и посмотрю, в чём может быть отличие от вашей установки. Отдельно нашёл интересную особенность: при добавлении нового устройства через веб-интерфейс контроллера enable_wb_continuous_read у ранее настроенных устройств незаметно возвращается обратно во включённое состояние.

wb-mqtt-serial.conf (15,0 КБ)

Добрый день

да, различие сильное, вплоть до того, что релизы разные

смысл изменений, я так понимаю, замедление чтения… вопрос, конечно, не станут ли заметны тормоза по реакции от датчика движения…

вот мой конфиг

wb-mqtt-serial.conf (20.5 KB)

хорошо, что ещё попутно ошибку наковыряли

я тоже не отстаю - в ближнем MGE стал использовать сторой канал под низкую скорость 9600 с доступом по TCP - регулярно опрос отваливается и MGE пишет “Inactive”

и для E-bus нет-нет да и проскакивают тайм-аут. хотя казалось тут-то откуда - он сам по себе в MOD3

ну да это отдельно напишу систематизировав

Павел, вы можете похулиганить с моей версией conf-файла? Я там отключил спорадику для устройств, отключил continious read и прописал явно временные задержки.

wb-mqtt-serial_client_fixed.conf (22,8 КБ)

похулиганить это вам её гуашью раскрасить и обратно прислать ? :)))

заменить ею свою, разумеется не могу, но могу попробовать внести такие же изменния

попробую сегодня, но не обещаю