Форум » » ПИ-регулятор » Ответить

ПИ-регулятор

Riddick: Хотел бы научиться писать на Simpl+, прошу помощи в написании следующего блока ПИ-регулятора Структура ПИ-регулятора Входы блока: E - разрешение на работу блока Ts - заданная температура Ti - измеренная температура Kp - коэффициент пропорциональности Ki - коэффициент интегральной части Ta - время дискретизации Tm - время полного открытия исполнительного механизма Выходы блока Y - положение исполнительного механизма Up - команда на открытие ИМ, сек Down 1. Если Разрешение на работу включено, то выполняем следующее иначе регулятор выключен 2. Подаем импульс длиной 1,5 от Tm на релейный выход Down // Вывод ИМ в нулевое положение 3. Обнуляем значения переменных 4. Начало цикла 5. Формула e = Ts-Ti q0=Kp+Ki*Ta q1=-Kp y=yold+q0*e+q1*eold eold=e; yold=y; 6 Приведение выхода к 100% Ограничение выхода не больше 32700 ? 7. Ty = y*Tm/100 Вычисление длительности импульса на исполнительный механизм 8. Если Ts>Ti отправить команду на Up иначе Down с вычисленной длительностью импульса 9. Задержка Ta 10. Переход в начало цикла Возможно у кого-то будут идеи, замечания - пишите

Ответов - 4

Chikalov: Можно обойтись только Simpl модулями или убедить заказчика, что это ему не надо.

Игорь K.: Chikalov, полностью согласен! Я бы сначала попытался убедить, что это не нужно. А подход к исполнению это дело вкуса.

Riddick: После пересмотра задачи оказалось, что для управления трехточечным ИМ для отопления достаточно применения трехпозиционного регулятора с зоной нечувствительности. Обновленный алгоритм. 1. Закрытие ИМ при инициализации работы регулятора 120 с 2. Вычисление сигнала рассогласования e=Ts-Ti 3. Если е меньше зоны нечувствительности, то ничего не делаем, Иначе 4. Управляющее воздействие y=Kp*e 5. Перевод ИМ Ty=y*Tm/100 6. Включение реле на длительность Ty 7. Переход на п.2 раз 60 сек Предполагаю, что это все можно сделать на Simpl. Помогите, подскажите из каких функциональных блоков можно собрать данный алгоритм. Заранее спасибо


Igor: Riddick пишет: из каких функциональных блоков можно собрать данный алгоритм. Buffer, модуль вычисления разности (элементарно пишется на SIMPL+), Analog Compare, Analog divmod, модуль умножения (элементарно пишется на SIMPL+), Oscillator, Stepper with progress & reset.



полная версия страницы