Добрый день. Написали новые правила для движка, загрузили, после этого перестали опрашиваться 2 устройства на разных шинах. Подумали, что проблема в правилах; все новые правила удалили, а ошибка “нет связи с устройством осталась”.
Также было изменено на канале: таймаут ответа на 50 мс.
В устройствах изменено:
минимальный интервал задержки между запросами на 10
таймаут ответа на 50
и доп канал заданный пользователем 120 регистр для перезагрузки
Добрый день.
Пока очень мало информации.
Установленные значения возможны на настроенной скорости шины? То есть - они соответствуют расчету для для количества опрашиваемых регистров?
Для диагностики проблемы пришлите, пожалуйста, архив с диагностической информацией контроллера. Создание архива описано в документации.
Скорость шины 115200; да соответствуют расчету.
diag_output_A7YKTPJ_2024-10-09-13.25.31.zip (151,4 КБ)
Насколько я помню опрос одного регистра на 115200 (расчетное) - 5мс. Вы планируете опросить несколько регистров измерителей за 10? Я немного не понимаю, приведите пожалуйста расчет для шины.
Ну - и - опрашиваются ли устройства с помощью modbus_client?
Линия не больше 20 метров, на ней находятся 8 устройств.
1 / 9600{115200} * 11 [бит] * (8 [байт в запросе] 4 [байт задержка перед ответом]) * 6 [запросов] = 82.5{6.9}мс
На линии с 8 устройствами будет 48 опросов.
82.5 * 8-6,9 * 8=604,8мс - выигрыш в оптимизации скорости.
По умолчанию 300мс задержка перед чтением данных.
Минимальный интервал задержки между запросами изменен на 10 для того, чтобы для 8 устройств задержки не было 300*8 = 2,4 секунды, а в 30 раз меньше.
И в этом плане все отлично работает на другой шине.
На этой же шине работа следующая:
scanner.txt (4,6 КБ)
Иногда в конфиг.файлы → Настройка драйвера serial-устройств появляется надпись на единственном устройстве, всегда одном и том же “Нет связи с устройством …”
Воспроизвести не смогли.
Обратите внимание: “error: wrong crc”
Даже при сканировании.
scanner.txt (1,3 КБ)
при запущенном wb-mqtt-serial хотя бы выдает все модули.
Пожалуйста, как писал выше проверьте связь с устройствами с помощью modbus_client.
Я не могу извлечь пользу из приведенных логов.
client.txt (4,7 КБ)
Так, отлично. Теперь - какие их этих устройств не опрашиваются из wb-mqtt-serial?
Не совсем понял вопроса, как уже писал выше, на фото, все регистры опрашиваются, но в “настройка serial устройств”, часто вылазит ошибка, что связи с устройством нет, в тот момент, когда все опрашивается(ошибку воспроизвести не смогли). И сканирование этой шины, где стоит устройство, с помощью wb-modbus-scanner не проходит.
Вот что выводит системный журнал.
Вот в моменты появления ошибок в журнале - и выводится, да.
Опрашивается ли устройство с помощью modbus_client?
В данный момент нет.
Если устройство не опрашивается - с ним нет связи. Проверьте соединение и наличие на нем питания.
Все подсоединено и работает.
тем не менее, опросите с помощью modbus_client. Если, как предполагаю - опрос будет удачен - восстановите умолчальные значения таймаутов для порта и проверьте запустив сервис с ними.