Вход

Просмотр полной версии : Некорректная работа ПИД регулятора в ручном режиме. Помогите!



Алексей КИПОВЕЦ
22.03.2021, 16:25
Добрый день, уважаемые форумчане. Поделитесь опытом обвязки стандартного классического ПИД регулятора их библиотеки Util.lib codesys. Меня смущает, что при переводе из автоматического режима в ручной, на выходе ПИД-регулятора становиться 0 и не остается текущее значение процесса регулирования. А хотелось бы что бы оставалось текущее значение процесса регулирования с возможностью дальнейшей подстройки в ручном режиме. ПИД регулятор в проекте выполняет функцию терморегулятора и управляет ИМ сигналом 0-10В через модуль аналогового вывода ОВЕН МУ 110.6У. Поделитесь советом кто как устраняет данную ошибку в работе регулятора, т.к. такая работа регулятора меня не устраивает.

YuriBel
22.03.2021, 18:12
Интересный у вас подход. Если что-то работает не так, как вам нужно. то это вовсе не означает, что это работает неправильно, или с ошибкой. Есть отдельный вход у ФБ, на который подается значение, которое передается на выход при переключении в режим "ручной". Потрудитесь туда передать необходимую вам величину непосредственно перед переключением в режим "ручной" и всё будет так, как вам хочется.

Алексей КИПОВЕЦ
22.03.2021, 19:20
Вот посмотрите мой откорректированный проект. Правильно ли я вас понял и если что то не так с обвязкой регулятора подкорректируйте меня. Спасибо!

ferret_maybe
23.03.2021, 10:31
Вот посмотрите мой откорректированный проект. Правильно ли я вас понял и если что то не так с обвязкой регулятора подкорректируйте меня. Спасибо!
Посмотрите изменения в вашем проекте.
Идея безударного переключения - при переходе из автоматического режима значения выхода приравнивается значению ручного задания, при переходе из ручного управления значения уставки становиться равным текущему значению физической величины.

54154

Алексей КИПОВЕЦ
23.03.2021, 10:49
В таком случае получается, что при переходе в ручной режим на выходе регулятора становиться 0, а это для меня недопустимо. Задавать значение в ручном режиме я не планирую. Мне достаточно чтобы при переходе в ручной режим выход регулятора не сбрасывался в 0, а сохранял текущее значение. У меня в системе стоят приводы Belimo которые можно крутить вручную. Но идею я вашу понял.

YuriBel
23.03.2021, 11:09
Насчет безударности переключения из ручного в автоматический режим - есть сомнения. Если вы приравниваете SP и PV, то в выходном сигнале убирается пропорциональная составляющая, и его величина определяется интегральной и дифференциальной составляющими, а какими они стали в процессе ручного регулирования - вообще говоря вопрос. Тут нужно смотреть поведение регулятора в ручном режиме, как ведут себя интегральная и дифференциальная составляющие. Ну и саму технологию, точнее говоря, задачу ручного регулирования тоже нужно себе четко представлять.

ferret_maybe
23.03.2021, 11:21
Насчет безударности переключения из ручного в автоматический режим - есть сомнения. Если вы приравниваете SP и PV, то в выходном сигнале убирается пропорциональная составляющая, и его величина определяется интегральной и дифференциальной составляющими, а какими они стали в процессе ручного регулирования - вообще говоря вопрос. Тут нужно смотреть поведение регулятора в ручном режиме, как ведут себя интегральная и дифференциальная составляющие. Ну и саму технологию, точнее говоря, задачу ручного регулирования тоже нужно себе четко представлять.
Немного поправлю в отношении пропорциональной составляющей - она никуда "не убирается" просто ошибка в результате приравнивания уменьшается, если система была стабильной на момент переключения, то переключения режима никак не должно сказаться на работе. Кстати можно сбросить интегральную составляющую входом Reset блока ПИД в момент переключения режимов дополнительно, но это уже по желанию.

YuriBel
23.03.2021, 11:57
Ошибка в результате приравнивания не просто уменьшается, а уменьшается до нуля, со всеми вытекающими для пропорциональной составляющей последствиями. И если еще и обнулить интегральную составляющую ресетом, то на выходе точно будет ноль, никакой безударности.

ferret_maybe
23.03.2021, 12:48
Ошибка в результате приравнивания не просто уменьшается, а уменьшается до нуля, со всеми вытекающими для пропорциональной составляющей последствиями. И если еще и обнулить интегральную составляющую ресетом, то на выходе точно будет ноль, никакой безударности.
Вы конечно правы с нулем, не буду вам ничего доказывать, но в природе не бывает "идеальных объектов" всегда будет какая-то маленькая, но ошибка. Ошибка АЦП, ошибка в преобразовании величин в ПЛК, ошибка в преобразовании ЦАП выхода ПЛК...
В данном случае не зная объекта управления сложно утверждать, что получиться безударно или не получиться...опять же не факт, что регулятор будет настроен качественно относительно желаемого результата. Не бывает наилучших решений, бывают хорошие решения относительно требуемых параметров.