Автонастройка PID

Захват, обработка и генерирование сигнала
Ответить
Artem.spb

Activity Автор
professor
professor
Сообщения: 3406
Зарегистрирован: 31 июл 2011, 23:05
Награды: 2
Версия LabVIEW: 12-18
Благодарил (а): 49 раз
Поблагодарили: 176 раз
Контактная информация:

Автонастройка PID

Сообщение Artem.spb »

Подскажите по PID-регулятору, нужен регулятор по температуре, при этом с возможностью автоматичекой настройки.

Т.е. пользователь нажимает кнопку "настроить", горит лампочка "настраиваю", когда коэффициенты найдены, лампочка гаснет, коэффициенты используются вместо старых.
нашёл функцию PID Autotuning (Temperature) VI, вроде как то, что мне нужно.
с трудом нашёл пример её использования: Autotuning Smith Predictor.vi, но там не совсем автомат: пользователь нажимает кнопку "принять коэффициенты".
По какому критерию пользователь (в моём случае, программа) должен понять, что коэффициенты его устраивают?
в других примерах ситуация схожая, коэффициенты принимаются после подтверждения пользователем.

дальше ещё непонятно: флаг "автотюнинг" и "tuning completed?"
Заглядываю в исходник функции, там если автотюнинг, то выходной флаг никогда не появится, значит, "автотюнинг" только раз подать надо, а потом F и чего-то ждать? а чего именно?
Аватара пользователя
Andrew Lunev

Activity Professionalism
VIP
VIP
Сообщения: 957
Зарегистрирован: 11 дек 2010, 12:31
Награды: 2
Версия LabVIEW: 2014-2021
Откуда: Москва
Благодарил (а): 4 раза
Поблагодарили: 10 раз

Re: Автонастройка PID

Сообщение Andrew Lunev »

Если бы на самом деле существовал универсальный регулятор с автоматической настройкой, то таких наук, как ТАР (теория автоматического регулирования), САУ (системы автоматического управления) не существовало бы и им не обучали бы в университетах. Поставил такой регулятор и сразу все работает.
Существуют регуляторы с автонастройкой, но обычно они обеспечивают автонастройку хуже, чем может обеспечить специалист. И самое главное, для очень узкого класса объектов. Например для асинхронных двигателей или для температуры. Для более сложных объектов надо и сложность регулятора увеличивать.
Опять же, надо как-то объяснить регулятору, что вы от него хотите. Ведь настроить можно по разным критериям. Например максимальная точность в режиме стабилизации или максимальное быстродействие. Обеспечить одновременно два критерия не получится. А есть еще десятки критериев.

У NI регулятор настраивается методом Зиглера-Николса. Это самый простой метод, который NI просто автоматизировали. Идентификация объекта управления происходит не постоянно, а только на режиме автонастройки. В это время регулятор работает крайне плохо, так как идентификация происходит по разомкнутой системе. То есть вы определили раз параметры регулятора и затем он их уже не меняет. Нет постоянной подстройки под изменения объекта управления.

Опять же, практически все контуры управления по температуре имеют разные параметры для нагрева и для охлаждения. Обычно нагрев управляемый, а охлаждение не управляемо (отключаем регулятор и ждем, когда само остынет). Из-за этого динамика разная и автонастройка может не сработать. У меня при попытке настроить регулятор на охлаждении (пример от NI) выдал вообще отрицательный коэффициент для пропорциональной части. Потенциально это может привести к потере устойчивости контура управления.

В общем, пробуйте, но я слабо верю, что этим регулятором можно реально настроить контур и управлять им. Слишком много нюансов. И если настраивать будет не специалист, то большая вероятность получить систему намного хуже, чем была бы при ручной настройке. Будет работать для очень простых объектов, но для них и в ручную параметры регулятора находятся за несколько итераций.
Artem.spb

Activity Автор
professor
professor
Сообщения: 3406
Зарегистрирован: 31 июл 2011, 23:05
Награды: 2
Версия LabVIEW: 12-18
Благодарил (а): 49 раз
Поблагодарили: 176 раз
Контактная информация:

Re: Автонастройка PID

Сообщение Artem.spb »

Гм. неожиданный поворот событий :(

Спасибо.
Ответить

Вернуться в «Обработка сигнала»