Перейти к содержанию

Навигация

Test: различия между версиями

Нет описания правки
Строка 1: Строка 1:
{{Draft}}
{{Draft}}
== Создание шаблона ==
Рассказать драйверу wb-mqtt-serial, который в контроллере работает с Modbus-устройствами можно двумя способами:
Рассказать драйверу wb-mqtt-serial, который в контроллере работает с Modbus-устройствами можно двумя способами:
# Добавить регистры устройства прямо в веб-интерфейсе контроллера по [[RS-485:Configuration_via_Web_Interface#without-template|инструкции]]. Этот способ удобен для быстрой проверки работы.
# Добавить регистры устройства прямо в веб-интерфейсе контроллера по [[RS-485:Configuration_via_Web_Interface#without-template|инструкции]]. Этот способ удобен для быстрой проверки работы.
Строка 114: Строка 115:


Далее идёте в настройки драйвера и выбираете шаблон. Все это хорошо описано в инструкции [[RS-485:Configuration_via_Web_Interface||Начальное конфигурирование устройств через веб-интерфейс]].
Далее идёте в настройки драйвера и выбираете шаблон. Все это хорошо описано в инструкции [[RS-485:Configuration_via_Web_Interface||Начальное конфигурирование устройств через веб-интерфейс]].
== Решение возможных проблем ==
Стандартом Modbus RTU предусмотрен обязательный интервал тишины в 3.5 символа между фреймами данных (под символом подразумевается посылка, состоящая из стартового бита, битов данных, бита четности и стоп-битов).
Для ускорения опроса устройств Wiren Board мы соблюдаем этот интервал только перед первым запросом к следующему в цикле опроса устройству (параметр ''frame_timeout_ms'' в шаблонах устройств).
Поэтому, чтобы соответствовать требованиям протокола Modbus-RTU, нужно для сторонних устройств задавать параметр ''guard_interval_us''. Этот параметр задает задержку перед записью каждого запроса в порт.
Нужное значение рассчитывается по формуле:
<syntaxhighlight lang="bash">
guard_interval_us = (3.5*11*106)/(скорость в бит/с).
</syntaxhighlight>
Например, для скорости 9600 бит/с <code>guard_interval_us = (3.5*11*106)/9600 = 4000 мкс</code>. При проблемах с подключением стороннего устройства для теста это значение можно увеличить (например до 100000 мкс), так как сторонние устройства иногда работают не совсем корректно.