Добрый день.
Ранее все сценарии делали в нодред для контроллера wirenboard, сейчас стоит задача автоматизации бассейна и с точки зрения отказоустойчивости хотим сделать все на движке правил. Прошу помочь так как с правилами работаю первый раз. Взяли за основу пример вашего описанного правила для термостата:
Вопросы:
1 Можно ли установить минимальное значение для уставки?
2 Вместо реле мы будем использовать димер для плавной регулировки. Как сделать чтоб при отклонении к примеру на 0.1 градус димер открывал привод на 20%? при отклонении на 0.2 открывался на 30% и так далее…
У нас стоит задача сделать температуру максимально близкую к уставке.
А какой смысл в плавной регулировке? Для плавной регулировки нужно, чтобы постоянно работала рециркуляция и котел (если источник тепла - котельная). Это и потери энергии (насос рециркуляции достаточно мощный), и издевательство над котлом в летнее время. Я еще не встречал человека, который был бы недоволен точностью поддержанию температуры воды в бассейне при управлении по гистерезису.
У нас не котел, у нас термальная горячая вода прямо со скважины. То есть мы ее не греем, а только регулируем подачу воды, а дальше она через перелив уходит в канализацию. И количество подаваемой воды в летнее и зимнее время нужно разное. Да и несколько бассейнов у нас, поэтому и принято решение чтоб алгоритм сам подстраивался под условия окружающей среды. То есть летом хватит на поддержание 20% открытие клапана, а когда начинает холодать и температура в бассейне “выходит” за рамки гистерезис то клапан должен открыться на 30%, и так далее.
Ну и еще важный момент хотим сделать плавной регулировку, чтоб не получилось так что вода то на максимум включена то отключена. Есть проблема что если на максимум включаешь начинает идти грязь со скважины, поэтому нужно максимально оптимальная подача воды.
Так если все-таки вернуться к первоначальному вопросу, можно описать правило так чтоб было несколько условий, к примеру гистерезис 0.5 градуса, и каждое последующее отклонение от уставки на 0.1 градус открывает дополнительно клапан на 10%?
Вообще я вижу это так:
Я ставка к примеру 38 градусов
Гастерезис 0.5
При этом при 38 градусов открыт клапан на 20% (20% это примерно мы сейчас понимаем что столько в среднем нужно открыть клапан чтоб поддерживалась температура)
Если температура стала 38 - гистерезис, то включить 30%
Если температура стала 38 - гистерезис - 0.1, то включить 40%
И так далее…
В процессе получения статистики мы уже подберем нужные нам параметры.
Итого я думаю что кран должен будет найти оптимальное свое местоположение и быть почти всегда зафиксирован на уровне к примеру 20-30%
Если температура стала 38 + гистерезис, то закрыть клапан.
Не проще ли такую логику построить нежели пид регулирование?
Несколько спорное утверждение имхо
Стороннее ПО для чего?
Для дебиана набортного видимо?
Дык тогда и модули и ПО WB - они тоже сторонние по факту.
Три года на NodeRed работает система управления климатикой
в теплице круглогодичной, включающая в себя управление
угольным котлом автоматом, газовым резервным котлом,
тепловым аккумулятором на 9 кубов, контурами фанкойлов,
теплого пола. Ну и вентиляция там, освещение и прочее такое.
Пока ничего сказать плохого про связку Node-Red и WB не могу
в части надёжности и устойчивости решения.
Зато в плане реализации алгоритмов и правки каких сценариев - решение крайне гибкое оказалось и удобное.
Ну, тут 90% процентов успеха зависит все ж не от движка а от того как его приготовить, то есть “от повара”.
Неоднократно видел как решения на NR, в которых используются сторонние (третьих разработчиков) модули текли, вешали систему, просто переставали работать.