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

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


# Проверить [[RS-485:Физическое подключение | физическое подключение]] и отсутствие ошибок.
=== Увеличение скорости обмена до 115200 бит/с ===
# [[UART_Communication_Settings#Изменение скорости обмена | Увеличить скорость обмена]] до 115 200 бит/с. При этом выполнение [[RS-485:Физическое подключение | рекомендаций по построению шины]] обязательно.
Для ускорения отклика устройств на шине RS-485 рекомендуем поднять скорость обмена до 115 200 бит/с.  
# [[RS-485:Configuration_via_Web_Interface#Отключение каналов, смена режимов и настройка параметров | Отключить опрос]] тех каналов устройства, которые вы не используете — это снизит нагрузку на шину RS-485.  
 
# Увеличить [[RS-485:Configuration_via_Web_Interface#Настройка периода опроса | период опроса]]. Точная настройка периода опроса может быть полезна, если какие-то каналы нужно опрашивать часто или наоборот — редко.
Отметим, что низкая скорость обмена прощает многие ошибки построения шины, но на высоких скоростях выполнение [[RS-485:Физическое подключение | рекомендаций по построению шины]] обязательно.
# Разделить устройства по [[RS-485#Как_ускорить_опрос_устройств | типам и портам]]. В контроллере 2 порта RS-485 и еще 3 можно добавить модулями расширения. «Быстрые» устройства можно подключить к одному порту, «медленные» — к другому.
 
{{Wbincludes:Modbus baud rate}}
 
=== Отключение ненужных каналов ===
Отключите опрос тех каналов устройства, которые вы не используете — это снизит нагрузку на шину RS-485.
 
Для этого выполните следующие действия.
# Откройте веб-интерфейс контроллера и перейдите '''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 так же подключите отдельно или с оборудованием, не требующим быстрой реакции. В счетчиках очень много параметров, опрос идет медленно.
# При большом количестве устройств разделите их на несколько портов. При прочих равных скорость вырастет кратно количеству портов.

Версия 15:09, 21 сентября 2022

Это черновик страницы. Последняя правка сделана 21.09.2022 пользователем Brainroot.

Ускорение опроса modbus-устройств

На этой странице описаны методы, с помощью которых вы можете ускорить опрос устройств, подключенных к контроллеру Wiren Board по шине RS-485. Чтобы ускорить работу шины при большом количестве опрашиваемых устройств, используйте приведенные рекомендации в комплексе.

Увеличение скорости обмена до 115200 бит/с

Для ускорения отклика устройств на шине RS-485 рекомендуем поднять скорость обмена до 115 200 бит/с.

Отметим, что низкая скорость обмена прощает многие ошибки построения шины, но на высоких скоростях выполнение рекомендаций по построению шины обязательно.

Wbincludes:Modbus baud rate

Отключение ненужных каналов

Отключите опрос тех каналов устройства, которые вы не используете — это снизит нагрузку на шину RS-485.

Для этого выполните следующие действия.

  1. Откройте веб-интерфейс контроллера и перейдите SettingsConfigsSerial Device Driver Configuration.
  2. Выберите нужный порт и в поле Poll установите значение do not read.
  3. Вверху страницы нажмите на кнопку Save, это запустит запись нового значения скорости в устройство.

Увеличение периода опроса

Вы можете задать желаемый период опроса и драйвер будет стараться его выдержать, а если заданный период выдержать не получится — он сообщит об этом в карточке устройства (воскличательный знак). При этом meta/error контрола имеет значение "p".

Точная настройка периода опроса может быть полезна, если какие-то каналы нужно опрашивать часто или наоборот — редко.

Чтобы указать период опроса, перейдите в веб-интерфейсе в настройки драйвера serial-устройств и укажите желаемое значение для любого канала.

Рекомендации:

  1. Поднимите скорость шины до 115 200 бит/с.
  2. Для ускорения опроса рекомендуем устанавливать период не меньше 100–300 мс и не более, чем для 10-15 каналов на порт. Здесь нужно учитывать, что драйвер оптимизирует запросы, например, состояние всех шести входов одного реле он может считать за один раз, а значит максимальное количество каналов нужно подбирать опытным путём и оно может быть сильно больше 15 штук.
  3. Проверьте, чтобы в записях драйвера wb-mqtt-serial в системном журнале не было ошибок, предупреждений и информации о недоступных устройствах. Если вы физически отключили какое-то устройство, то выключите его опрос в настройках драйвера.
  4. Если вы столкнулись с тем, что желаемый период выдержать не получается — увеличьте период опроса или пересмотрите количество каналов.

Разделение устройств по типам и портам

В контроллере 2 порта RS-485 и еще 3 можно добавить модулями расширения. Для ускорения опроса выполните следующие действия:

  1. Устройства, не поддерживающие скорость 115200 бит/с, подключите отдельно.
  2. Счетчики MAP так же подключите отдельно или с оборудованием, не требующим быстрой реакции. В счетчиках очень много параметров, опрос идет медленно.
  3. При большом количестве устройств разделите их на несколько портов. При прочих равных скорость вырастет кратно количеству портов.