И всё таки, мог бы мне кто-нибудь подсказать алгоритм "подбора" таймаутов для того или иного устройства? В тех.поддержке мне посоветовали методом "тыка"... Но вот было бы проще, если бы прослеживалась какая-нибудь закономерность. А так приходится брать значения буквально с потолка!
Надеюсь, кто-нибудь ответит) Или для того,чтобы обратить на себя внимание, надо "насорить" новой темой?)
Добрый день.
Могу дать пару советов:
1) Таймаут ответа должен быть не мене 600 мс (смотрим на спецификацию ModbusRTU);
2) Таймаут сообщения должен быть больше чем пауза окончания пакета (смотрим на логику);
3) Минимальный таймаут конца пакета рассчитываем из формулы 1/(Ваша скорость)*(кол-во бит + кол-во стоп бит + есть(1)/нет(0) чётность)*4;
4) Далее ориентируемся на ошибку: 255 - увеличиваем таймаут всего сообщения; Другие ошибки - увеличиваем таймаут конца пакета.
5) По опыту подключения шлюзов к различным устройствам предлагаю Вам следующие универсальные настройки: 115200, 8N1, 600 мс на пакет, 100 на паузу конца пакета.
6) Закономерности, которы вы хотите, только п.1 и п.2. В остальном зависимость от подключаемого Вами прибора и древности его разработки
Ведущий инженер проектов
Линейки шлюзов сетевых Пх210
Линейки модулей ввода/вывода Мх210