Speed up device polling: различия между версиями
Matveevrj (обсуждение | вклад) |
Matveevrj (обсуждение | вклад) (Новая страница: «{{Draft}} {{DISPLAYTITLE:Ускорение опроса modbus-устройств}} = Ускорение опроса modbus-устройств = На этой странице описаны методы, с помощью которых вы можете ускорить опрос устройств, подключенных к контроллеру Wiren Board по шине RS-485. Чтобы ускорить работу шины при больш...») |
||
(не показано 10 промежуточных версий 2 участников) | |||
Строка 1: | Строка 1: | ||
{{Draft}} | {{Draft}} | ||
{{DISPLAYTITLE:Ускорение опроса modbus-устройств}} | {{DISPLAYTITLE:Ускорение опроса modbus-устройств}} | ||
= Ускорение опроса modbus-устройств = | |||
На этой странице описаны методы, с помощью которых вы можете ускорить опрос устройств, подключенных к контроллеру Wiren Board по шине [[RS-485]]. Чтобы ускорить работу шины при большом количестве опрашиваемых устройств, используйте приведенные рекомендации в комплексе. | |||
== Увеличение скорости обмена до 115200 бит/с == | |||
Для ускорения отклика устройств на шине RS-485 рекомендуем поднять скорость обмена до 115 200 бит/с. | |||
Отметим, что низкая скорость обмена прощает многие ошибки построения шины, но на высоких скоростях выполнение [[RS-485:Физическое подключение | рекомендаций по построению шины]] обязательно. | |||
[[Image: WebUI Change Baud Rate.png |250px|thumb|right| Выбор желаемой скорости обмена в настройках устройства ]] | |||
Увеличим скорость обмена в Modbus-устройствах Wiren Board со значения по умолчанию до 115 200 бит/с: | |||
*Подключите и настройте все устройства на скорости 9600 бит/с, которая стоит у них по умолчанию. | |||
*Убедитесь, что все работает как надо: данные идут со всех устройств, каналы не горят красным, в системном журнале нет ошибок порта. | |||
*Откройте [[Wiren_Board_Web_Interface | веб-интерфейс]] контроллера и перейдите '''Settings''' → '''Configs''' → '''Serial Device Driver Configuration'''. | |||
*Выберите нужный порт, в параметрах устройства в группе '''General''' поставьте флажок '''Baud rate''' и выберите желаемую скорость обмена: 115 200 бит/с. Скорость порта пока оставьте прежней. | |||
*Вверху страницы нажмите на кнопку '''Save''', это запустит запись нового значения скорости в устройство. | |||
*Как только новое значение будет записано, каналы устройства на вкладке '''Devices''' станут красными. Если вы меняли настройки нескольких устройств, дождитесь, пока они все не «покраснеют». | |||
*Укажите в настройках порта ту же скорость, которую вы выбрали в настройках устройства: 115 200 бит/с. | |||
*Снова сохраните настройки. Теперь настройки устройства и порта совпадают, устройство должно начать отвечать. | |||
== Отключение ненужных каналов == | |||
Отключите опрос тех каналов устройства, которые вы не используете — это снизит нагрузку на шину RS-485. | |||
Для этого выполните следующие действия. | |||
*Откройте веб-интерфейс контроллера и перейдите '''Settings''' → '''Configs''' → '''Serial Device Driver Configuration'''. | |||
*Выберите нужный порт и в поле '''Poll''' установите значение '''do not read'''. | |||
*Вверху страницы нажмите на кнопку '''Save''', это запустит запись нового значения скорости в устройство. | |||
<gallery widths=180px heights=150px perrow=4 caption="Настройки модуля WB-MRGBW-D в веб-интерфейсе контроллера Wiren Board"> | |||
Image: WB-MRGBW-D Webui configs Inputs.png | Настройка входов | |||
Image: WB-MRGBW-D Webui configs Channels rgb+w.png | Настройка каналов в режиме RGB+W | |||
Image: WB-MRGBW-D Webui configs Channels Independent.png | Настройка каналов в режиме раздельного управления | |||
Image: WB-MRGBW-D Webui configs HW Info.png | Информация об устройстве | |||
</gallery> | |||
== Увеличение периода опроса== | |||
Вы можете задать желаемый период опроса и драйвер будет стараться его выдержать, а если заданный период выдержать не получится — он сообщит об этом в карточке устройства. | |||
Точная настройка периода опроса может быть полезна, если какие-то каналы нужно опрашивать часто или наоборот — редко. | |||
Чтобы указать период опроса, перейдите в веб-интерфейсе в настройки драйвера 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 так же подключите отдельно или с оборудованием, не требующим быстрой реакции. В счетчиках очень много параметров, опрос идет медленно. | |||
*При большом количестве устройств разделите их на несколько портов. При прочих равных скорость вырастет кратно количеству портов. |
Версия 20:44, 20 сентября 2022
Это черновик страницы. Последняя правка сделана 20.09.2022 пользователем Matveevrj.
Ускорение опроса modbus-устройств
На этой странице описаны методы, с помощью которых вы можете ускорить опрос устройств, подключенных к контроллеру Wiren Board по шине RS-485. Чтобы ускорить работу шины при большом количестве опрашиваемых устройств, используйте приведенные рекомендации в комплексе.
Увеличение скорости обмена до 115200 бит/с
Для ускорения отклика устройств на шине RS-485 рекомендуем поднять скорость обмена до 115 200 бит/с.
Отметим, что низкая скорость обмена прощает многие ошибки построения шины, но на высоких скоростях выполнение рекомендаций по построению шины обязательно.
Увеличим скорость обмена в Modbus-устройствах Wiren Board со значения по умолчанию до 115 200 бит/с:
- Подключите и настройте все устройства на скорости 9600 бит/с, которая стоит у них по умолчанию.
- Убедитесь, что все работает как надо: данные идут со всех устройств, каналы не горят красным, в системном журнале нет ошибок порта.
- Откройте веб-интерфейс контроллера и перейдите Settings → Configs → Serial Device Driver Configuration.
- Выберите нужный порт, в параметрах устройства в группе General поставьте флажок Baud rate и выберите желаемую скорость обмена: 115 200 бит/с. Скорость порта пока оставьте прежней.
- Вверху страницы нажмите на кнопку Save, это запустит запись нового значения скорости в устройство.
- Как только новое значение будет записано, каналы устройства на вкладке Devices станут красными. Если вы меняли настройки нескольких устройств, дождитесь, пока они все не «покраснеют».
- Укажите в настройках порта ту же скорость, которую вы выбрали в настройках устройства: 115 200 бит/с.
- Снова сохраните настройки. Теперь настройки устройства и порта совпадают, устройство должно начать отвечать.
Отключение ненужных каналов
Отключите опрос тех каналов устройства, которые вы не используете — это снизит нагрузку на шину RS-485.
Для этого выполните следующие действия.
- Откройте веб-интерфейс контроллера и перейдите Settings → Configs → Serial Device Driver Configuration.
- Выберите нужный порт и в поле Poll установите значение do not read.
- Вверху страницы нажмите на кнопку Save, это запустит запись нового значения скорости в устройство.
Увеличение периода опроса
Вы можете задать желаемый период опроса и драйвер будет стараться его выдержать, а если заданный период выдержать не получится — он сообщит об этом в карточке устройства.
Точная настройка периода опроса может быть полезна, если какие-то каналы нужно опрашивать часто или наоборот — редко.
Чтобы указать период опроса, перейдите в веб-интерфейсе в настройки драйвера serial-устройств и укажите желаемое значение для любого канала.
Рекомендации:
- Поднимите скорость шины до 115 200 бит/с.
- Для ускорения опроса рекомендуем устанавливать период не меньше 100–300 мс и не более, чем для 10-15 каналов на порт. Здесь нужно учитывать, что драйвер оптимизирует запросы, например, состояние всех шести входов одного реле он может считать за один раз, а значит максимальное количество каналов нужно подбирать опытным путём и оно может быть сильно больше 15 штук.
- Проверьте, чтобы в записях драйвера wb-mqtt-serial в системном журнале не было ошибок, предупреждений и информации о недоступных устройствах. Если вы физически отключили какое-то устройство, то выключите его опрос в настройках драйвера.
- Если вы столкнулись с тем, что желаемый период выдержать не получается — увеличьте период опроса или пересмотрите количество каналов.
Разделение устройств по типам и портам
В контроллере 2 порта RS-485 и еще 3 можно добавить модулями расширения. Для ускорения опроса выполните следующие действия:
- Устройства, не поддерживающие скорость 115200 бит/с, подключите отдельно.
- Счетчики MAP так же подключите отдельно или с оборудованием, не требующим быстрой реакции. В счетчиках очень много параметров, опрос идет медленно.
- При большом количестве устройств разделите их на несколько портов. При прочих равных скорость вырастет кратно количеству портов.