Я думал вот так...
Если соблюдаются условия, то значит можно запустить ПИД регулятор, который расчитает требуемую мощность. Далее он передаст данные на ШИМ и тот включает нагреватель.
Условия для запуска ПИД регулятора это Режим Зима, Команда Старт и !Команда Стоп. На выходе 0 или 1, то есть ПИД включен или выключен, не зависимо от показателей и уставок температур, то есть он считает нужную мощность. В ПИД регуляторе если я ставил min/max значения, то глядя на условия запуска ПИД регулятора, он будет вклчюен всегда, то есть на выходе, даже если не нужно нагревать, может быть минимальный показатель. И он будет передаватся на ШИМ. Тут как раз и нужно отдельное условие для запуска ШИМ, а не запуск одной командой и ПИД и ШИМ.
То есть для примера, если я задам мин мощность 20%, при этом ПИД и ШИМ будет включатся одной командой, и если по показателям температуры не нужно будет нагревать, то на выходе ПИД будет 20%, соответственно и ШИМ будет работать на 20%. В любом случае нужно еще делать какое-то дополнительное условие, чтобы учитывать минимальную мощность и необходимость греть / не греть, и по этим условиям вкл/выкл или ПИД или ШИМ. Но кажется результат будет такой же, только по другому сделан.
Поэтому я подумал что ПИД может работать в любом случае, если соблюдаются базовые условия запуска нагрева. То есть по факту он будет просто считать нужную мощность. А вот ШИМ включать с дополнительными условиями.
Вот так получается, но есть момент, если реально расчитаная мощность 20% и при этом нужно греть, то по такому условию как на скриншоте это не получится. То есть на выходе ПИД 20% может быть в случае когда нагревать нужно и когда не нужно, в зависимости от этого ШИМ нужно вкл/выкл. Надо еще подумать.
Screenshot_16.png





Ответить с цитированием