Хочу реализовать следующий алгоритм управления трехточечным ИМ для отопления или охлаждения.
Будет работать, как думаете?

Какой регулятор при этом получается в теории?

Входы:

E - разрешение на работу блока
Ts - заданная температура
Ti - измеренная температура
Kp - коэффициент пропорциональности
Ta - время дискретизации (период расчета управляющего воздействия)
Tm - время полного открытия исполнительного механизма (120 с по умолчанию)
Te- зона нечувствительности С, 2 С по умолчанию, 1 С вверх от зад значения и 1 С вниз от задания

Выходы блока
Y - виртуальное положение исполнительного механизма (0-100%)
Up - команда на открытие ИМ, сек
Down команда на закрытие ИМ, сек


Алгоритм

1. Если Разрешение на работу =1, то включаем регулятор, иначе все выходы 0
Если регулятор работал, и пришла команда на отключение то ИМ должен закрыться с импульсом Tm +20 c


2. Закрытие ИМ (для определения положения ИМ). Подача сигнала на выход Down длинной Tm +20 c (для гарантированного закрытия)


3. Вычисление сигнала рассогласования e=Ts-Ti

4. Если Ts больше Ti, то Флаг открытия = 1, иначе 0

5. Если е меньше зоны нечувствительности, то ничего не делаем,, т.е. Y= Y на пред шаге Иначе

6. Вычисляем прирост управляющего воздействия dy =Kp*e

7. Y=Y на пред. шаге + dy

8. Вычисление длительности импульса ИМ Ty=dy*Tm/100 , минимальная длина импульса 1 с

9. Если Флаг открытия =1 то подача импульса на выход Up длительностью Ty
иначе подача импульса на выход Down длительностью Ty

10. Выполнение следующего воздействия в п.3 через Ta, c по умолчанию 60 с