При нажатии прилетает состояние с сильной задержкой (3-8сек).
mosquitto_sub регистрирует тоже с такой же задержкой.
modbus_client считывает без задержки.
Если поставить опрос 100мс, то задержка пропадает.
Удалил устройство, поставил заново, но задержка сохраняется.
Пока оставлю 100мс, но как заставить работать с Быстрым модбасом?
приложен диагностический архив, доступен только сотрудникам поддержки
Пока что связываю это с большим количеством регистров в опросе.
Входы на другом устройстве (например WB-MR3) ведут себя нормально? Задержка возникает только с WB-MCM8?
Не нахожу в логах ничего, относящегося к это проблеме.
Какая версия прошивки у вашего модуля WB-MCM8?
Может быть вы заметили после каких действий стали наблюдаться задержки?
Если временно отключить опрос остальных устройств на шине, то поведение изменится?
Версия прошивки 1.7.0
При отключении опроса остальных устройств и выставлении опроса на mcm8 “в порядке очереди” поступление отклика нормальное - без задержки.
Не могу точно сказать сколько именно ответ длится. Заметил, что на остальных каналах приходит уведомление, что время отклика не укладывается в заданное (100мс)
В вашем случае могу порекомендовать увеличить скорость порта, насколько позволяет длина шины (в устройствах тоже потребуется изменить) и (или) убрать лишние регистры из опроса и тогда отклик будет быстрее.
Может помочь увеличение скорости или уменьшение регистров в опросе. Если есть возможность, то переключите WB-MCM8 на менее нагруженный порт /dev/ttyRS485-1.
Актуальная версия прошивки WB-MCM8 сейчас 1.8.0, рекомендую обновить, но это не решит проблему с откликом.
Выставляя любое значение отличное от «В порядке очереди» вы повышаете приоритет опроса событий. При этом регистры входов модуля так и продолжают опрашиваться по Быстрому Modbus.
Проверьте в шаблоне к WB-MCM8 чтобы был включен параметр “sporadic”: true,
Так же еще можно присвоить для WB-MCM8 меньший slave ID. WB-MR6CU имеет “slave_id” : “1”, а WB-MCM8 “slave_id” : “39”. Поменяйте их и проверьте результат.
В логе несколько раз зафиксированы ошибки времени ожидания, такие как Poll time for <modbus:2:coil: 0> is too long, что свидетельствует о том, что запросы не успевают обработаться за допустимое время. (у вас поэтому и уведомления в виджете).
Так же присутствуют следующие значения:
DEBUG: [port] /dev/ttyRS485-2: ReadFrame: ff ff ff ff ff ff ff fd 46 12 52 5d что похоже на наличие некорректных данных в результате неправильно работающего устройства или помех.