Speed up device polling: различия между версиями

Нет описания правки
Строка 1: Строка 1:
{{Draft}}
{{Draft}}
{{DISPLAYTITLE:Ускорение опроса modbus-устройств}}
{{DISPLAYTITLE:Ускорение опроса modbus-устройств}}
== Ускорение опроса modbus-устройств ==
При подключении большого количества modbus-устройств к контроллеру Wiren Baord со стандартными настройками подключения может возникнуть уменьшение скорости опроса. На этой странице перечислены меры, которые вы можете предпринять, чтобы не допустить замедления или ускорить опрос устройств, подключенных по шине RS-485. Рекомендуем выполнять указанные мероприятия в комплексе.
На этой странице описаны методы, с помощью которых вы можете ускорить опрос устройств, подключенных к контроллеру Wiren Board по шине [[RS-485]]. Чтобы ускорить работу шины при большом количестве опрашиваемых устройств, используйте приведенные рекомендации в комплексе.


=== Увеличение скорости обмена до 115200 бит/с ===
Предполагается, что замедление опроса имеет только программные причины и монтаж на физическом уровне выполнен с учетом [[RS-485:Физическое подключение | рекомендаций по построению шины]].
Для ускорения отклика устройств на шине RS-485 рекомендуем поднять скорость обмена до 115 200 бит/с.  


Отметим, что низкая скорость обмена прощает многие ошибки построения шины, но на высоких скоростях выполнение [[RS-485:Физическое подключение | рекомендаций по построению шины]] обязательно.
Для ускорения опроса устройств можно сделать следующее:


{{Wbincludes:Modbus baud rate}}
# [[UART_Communication_Settings#Изменение скорости обмена | Увеличить скорость обмена]] до 115 200 бит/с. При этом выполнение [[RS-485:Физическое подключение | рекомендаций по построению шины]] обязательно.
 
# [[RS-485:Configuration_via_Web_Interface#Отключение каналов, смена режимов и настройка параметров | Отключить опрос]] тех каналов устройства, которые вы не используете — это снизит нагрузку на шину RS-485.  
=== Отключение ненужных каналов ===
# Увеличить [[RS-485:Configuration_via_Web_Interface#Настройка периода опроса | период опроса]]. Точная настройка периода опроса может быть полезна, если какие-то каналы нужно опрашивать часто или наоборот — редко.
Отключите опрос тех каналов устройства, которые вы не используете — это снизит нагрузку на шину RS-485.
# Разделить устройства по [[RS-485#Как_ускорить_опрос_устройств | типам и портам]]. В контроллере 2 порта RS-485 и еще 3 можно добавить модулями расширения. «Быстрые» устройства можно подключить к одному порту, «медленные» — к другому.
 
Для этого выполните следующие действия.
# Откройте веб-интерфейс контроллера и перейдите '''Settings''' → '''Configs''' → '''Serial Device Driver Configuration'''.
# Выберите нужный порт и в поле '''Poll''' установите значение '''do not read'''.
# Вверху страницы нажмите на кнопку '''Save''', это запустит запись нового значения скорости в устройство.
 
=== Увеличение периода опроса ===
 
Вы можете задать желаемый период опроса и драйвер будет стараться его выдержать, а если заданный период выдержать не получится — он сообщит об этом в карточке устройства (восклицательный знак). При этом meta/error контрола имеет значение "p".
 
Точная настройка периода опроса может быть полезна, если какие-то каналы нужно опрашивать часто или наоборот — редко.  
 
Чтобы указать период опроса, перейдите в веб-интерфейсе в настройки драйвера serial-устройств и укажите желаемое значение для любого канала.
 
Рекомендации:
# Поднимите скорость шины до 115 200 бит/с. Убедитесь что нет ошибок на шине, большая скорость требует установки терминатора.
# Для ускорения опроса рекомендуем устанавливать период не меньше 100–300 мс и не более, чем для 10-15 каналов на порт. Здесь нужно учитывать, что драйвер оптимизирует запросы, например, состояние всех шести входов одного реле он может считать за один раз, а значит максимальное количество каналов нужно подбирать опытным путём и оно может быть сильно больше 15 штук.
# Проверьте, чтобы в записях драйвера wb-mqtt-serial в [[Wiren_Board_Web_Interface#logs | системном журнале]] не было ошибок, предупреждений и информации о недоступных устройствах. Если вы физически отключили какое-то устройство, то выключите его опрос в настройках драйвера.
# Если вы столкнулись с тем, что желаемый период выдержать не получается — увеличьте период опроса или пересмотрите количество каналов.
 
<gallery mode="packed" heights="260px" caption="Настройка периода опроса">
Image: Poll Period wb-mqtt-serial in Settings.png | Выбор периода для опроса канала
Image: Poll Period wb-mqtt-serial in Devices.png | Предупреждение о том, что период опроса канала ''Input 1'' выдержать не получается
</gallery>
 
=== Разделение устройств по типам и портам ===
В контроллере 2 порта RS-485 и еще 3 можно добавить модулями расширения. Для ускорения опроса выполните следующие действия:
# Устройства, не поддерживающие скорость 115200 бит/с, подключите отдельно.
# Счетчики MAP так же подключите отдельно или с оборудованием, не требующим быстрой реакции. В счетчиках очень много параметров, опрос идет медленно.
# При большом количестве устройств разделите их на несколько портов. При прочих равных скорость вырастет кратно количеству портов.
translator, wb_editors
4251

правка