Здравствуйте! С какой частотой работает функция whenChanged?
Спасибо !
Здравствуйте.
Функция whenChanged в движке правил wb-rules не имеет фиксированной частоты выполнения, она срабатывает только в момент изменения значения указанного объекта (например, входа, выхода, или виртуального устройства).
Например.
whenChanged("wb-gpio/EXT1_IN1")означает: правило выполнится только тогда, когда значение топикаwb-gpio/EXT1_IN1изменится (например, с0на1или наоборот).- Если значение не меняется, правило не вызывается.
- Таким образом, частота выполнения полностью зависит от частоты изменения самого параметра, а не от таймера или опроса со стороны движка правил.
Тогда возникает следующий вопрос, с какой частотой контроллер WB опрашивает все свои slave устройства и какая точность используется для топиков типа value чтобы запускать функцию whenChanged?
На оба ваших вопроса однозначно ответить невозможно. Длительность внутреннего цикла wb-rules зависит и от того, сколько правил вы напишете, и от того, сколько кода внутри самих правил. От количества Modbus-устройств, общего количества регистров и ваших настроек опроса зависит то, как часто опрашивается конкретный регистр.
Здравствуйте.
Если у вас остались вопросы - пишите, постараемся помочь.
Добрый день!
Ещё дополню.
Имеете ввиду modbus-устройства, верно? Зависит от многих параметров: количество устройств, параметры порта, настройки драйвера wb-mqtt-serial.
Может речь о каком-то конкретном регистре? Если окажется, что для него настроены события быстрого модбас, то время его “опроса” около 50 мс.
В целом можете рассчитать очень примерно цикл опроса всех регистров исходя из количества регистров и baud rate. Если будете считать, что один запрос на один регистр - время цикла выйдет больше, чем на самом деле. (Из-за быстрых регистров и от того, что с одного запроса могут опрашиваться несколько).
На любое изменение реагирует.
Предлагаю вам описать, что конкретно вас беспокоит и конкретное применение, для чего вам всё это нужно, если не секрет. Может, тогда мы сможем качественнее ответить.
Сейчас очень теоретический разговор получается, где много неизвестных.
Здравствуйте! Большое спасибо за предоставленные ответы. Хочу использовать комбинированные датчики MSW для сигнализации проникновения в дом (текущее движение, шум). Планирую протестировать вечером. Контроль за температурой (управление сервоприводами на коллекторах), по датчикам температуры уже реализовал, вентиляцией по датчикам CO2 и влажности (реализовал). Всего 9 датчиков + много других блоков. Хотел узнать не перегружу ли систему.
Очень понравилось писать и отлаживать скрипты через ваш облачный сервис. намного комфортнее себя чувствуешь когда занимаешься этим дома, а не с лаптопом на стройке.