This is topic Время определения коэффициентов адаптивного ПИД-регулятор in forum Языки программирования в TRACE MODE 6 / Algorithm Programming Languages at Форум TRACE MODE: техническая поддержка.
Сколько примерно времени нужно адаптивному ПИД-регулятору, чтобы определить коэффициенты (чтобы на выходе STS значения прошли от 100 до 1)? От чего это зависит? Регулятор уже работает около 10 минут, но выход STS показывает только 99. Просто пока нет реальных данных от датчиков температуры, расхода и.т.д, поэтому входной сигнал изменяю, подавая на контроллер от 4 до 20 мА. Как нужно изменять знчения контролируемого параметра, чтобы определение прошло быстрее? Коэффициенты, которые определит АПИД попадут на выход только когда значение на STS дойдет до 1, или же они будут динмически меняться, пока значение STS будет падать со 100 до 1. Также выход Q сначала растет с 37 до 57, потом падает до 37, затем снова растет, и.т.д. Что это означает?
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
У Вас контур замкнут? Если не замкнут, то никакого толку от этого не будет. То, что АПИД "качает" выход как раз и есть "раскачивание" объекта, чтобы по кривой вычилить характеристики объекта и сами коэффициенты. Коэфф. попадают на выходы блока только при достижении STS=1. Далее, чтобы они были приняты регулятором его необходимо перевести в 10-й режим через управляющий вход.
В принципе - если у Вас получится подключиться, то вот по этому адресу у нас запущен он-лайп проект виртуальной лаборатории по адаптивной логике на основе наших алгоритмов: http://www.online.tracemode.ru/adaptive/adaptive_rus.htm
Там уже готовые лабораторные модели для дистанционного изучения принципов работы разного рода адаптивных блоков нашей системы. Посмотрите, может получится подключиться, а то бывает не у всех работает.
Posted by DreamWeaver (Участник № / Member № 1485) on :
Вот теперь понятно. Контур действительно не замкнут, так как проект пока разрабатывается в офисе и нет возможности все опробовать на реальных насосах, емкостях. Подключить не получилось, не грузится апплет.
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
Тогда возьмите блок Объекта первого порядка и создайте закнутый контур на нем.
Posted by DreamWeaver (Участник № / Member № 1485) on :
Попробовал, нормально определились KP и KI, но вот KD постоянно равняется 0 (пробовал несколько вариантов с различными настройками коэффициента усиления, задержки). Это нормально? Появился еще один вопрос: На вход INP блока APID нужно подавать реальное значение контроллируемого параметра. А что нужно подавать на вход ZDN? Я так полагаю, что нужно подавать задание для этого контролируемого параметра, то есть тот уровень, на котором этот контроллируемый параметр должен оставаться. Но вот что пока происходит: Блок АПИД контроллирует расход, который должен удерживаться на уровне 7 м3/час. Этот расход достигается при открытии клапана где-то на 70 %. Я вручную открываю клапан на 70 % и расход примерно держится на 7. На вход INP блока АПИД подаю реальное значение расхода. На вход ZDN подаю уставку для расхода 7. Затем перевожу клапан на автоматической управление и подаю на вход REG блока АПИД значение 6 для того чтобы он определили коэффициенты. На данном этапе клапаном управленет именно блок АПИД. Блок АПИД начианает "качать" контур, но качает он его не в области 70 % (чтобы выход АПИД меняется от 65% до 85%), а в области 7 % (от 5% до 9%). Получается что в ручном режиме на клапан подавали значение 70% и расход держался на 7. В режиме автоматического определения коэффициентов на клапан подается значение от 5% до 7% (от есть клапан практически закрыт), и естественно расход резко упал с 7 до 1. Учитывая что определение коэффициентов происходит около 10 минут (тестил при помощи бюлока OBJ), это недопустимо. Также пробовал удерживать температуру, но уставка для температуры, которую подавал на вход ZDN блока АПИД около 300 градусов. Поэтому АПИД-регулятор, наверное вытается выдасть на клапан значени в районе 300. На благодаря ограничению на выходе постоянно держится 100%, поэтому нокакой прокачки не происходит. Может на вход ZDN нужно подавать не уставку для контролируемого параметра, а примерный % открытия клапана, в районе которого блок АПИД должен качать параметр? Или может нужно подавать реальное положения клапана?
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
Я же Вам говорил уже, что ZDN задается в процентах!
Posted by DreamWeaver (Участник № / Member № 1485) on :
Понял. Теперь все работает нормально. А по поводу того, что KD постоянно равняется 0 можете что-нибудь сказать? Попробовал несколько вариантов настройки блока OBJ, но все-равно KD=0. И еще вопрос по выходу STS. Во время определения коэффициентов он должен показывать значения от 100 до 2, тем самым показывая близось момента окончания процесса определения коэффициентов. Но фактически этот выход блока STS первые 8 минут принимает значение 100. Затем минуты 2 он равен 7-10. Чем объясняется такое неравномерное уменьшение значения выхода STS? А вообще, 10 минут на определение коэффициентов это много или нет?
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
Длительность определения коэффициентов, а также поведения выхода STS обуславливаются как динамическими характеристиками объекта регулирования, так и самим внутренним алгоритмом самонастройки, поэтому сказать долго это или нет - нельзя, на одних процессах это занимает секунды, а на других он может занимать часы, и даже дни. Все определяется динамикой объекта. Относительно KD пока ничего сказать не могу - мне необходимо провести проверку. Так что - беру пока таймаут.
Posted by DreamWeaver (Участник № / Member № 1485) on :
Коэффициетны АПИД-регулятор определяет (все кроме PD). Но все-равно АПИД-регулятор просто "качает" параметр, поданный на вход ZDN (уставка для контроллируемого параметра). И причем он это делает постоянно в режиме 6 и никакого регулирования реально не происходит, потому, что если подать на вход ZDN значение 30%, например, то на выходе будут значения из диапазона(30%-значение, 30%+значение) ВНЕ ЗАВИСИМОСТИ ОТ РЕАЛЬНОГО ЗНАЧЕНИЯ КОНТРОЛЛИРУЕМОГО ПАРАМЕТРА, подаваемого на вход INP. На входе INP может быть значение 10%, а может быть и 90%, но все-равно выход АПИД-регулятора будет показывать значения в районе 30%. Что это за регулирование? Согласен, что для расхода это, возможно и прокатит. Например расходомер показывает значения от 0 до 10 метров кубических в час. Делаем уставку в 7 метров кубических. Соответственно на вход ZDN АПИД-регулятора подаю значение 70%, и АПИД-регулятор на выходе "качает" параметр в районе 70% (в режиме 6), что соответствует действительности, так как для того чтобы установить расход равный 7 (если учитывать, что максимально возможный расход равен 10) нужно открыть клапан на 70%. Но вот ситуация с цистерной. Представьте цистерну с нефтью. В эту цистерну постоянно насосом накачивается нефть. На выходе из цистерны стоит регулируемый клапан, который должен поддерживать уровень нефти в этой цистерне. Пусть приход нефти такой, что для того чтобы достичь соответствующего расхода нужно, чтобы клапан на выходе из цистерны был открыт на 70%. Делаю уставку на уровень нефти в цистерне равный 200 м3. Соответственно на вход ZDN АПИД регулятора подаю занчение 20% (максимальный объем цистерны 1000 м3). Но в режиме 6 выход АПИД-регулятора будет качаться в районе 20%. Эти "выходые" 20% подаются на клапан, который открывается всего на 20% (напомню, что для поддержания уровня он должен быть открыт на 70%). В итоге уровень в цистерне подымется через некоторе время, например, до 600 м3. На вход INP АПИД-регулятора подается значение 60%, но складывается такое ощущение, что это входное значение просто игнорируется. На выходе значение все-равно качается только в районе 20%. И через некоторое время цистерна будет полностью наполнена, а выход АПИД-регулятора будет все-равно в районе 20%. На регулирование это совсем не похоже. Я так полагаю, что АПИД регулятор должен "сообразить", что если на вход INP подается значение 60%, а на вход ZDN (уставка) подано значение 20%, и что если при уменьшении выхода, реальное значение, поданное на вход INP увеличивается (отдаляется от уставки), то выходное значение нужно увеличивать, то есть открывать клапан, но этого реально не просиходит. Выход просто качается в районе 20% (в районе уставки). Если бы коэффициенты определялись в течении минуты, то это еще терпимо. Можно было бы найденные коэффициенты подать на обычный ПИД-регулятор и нормально работать, но если коэффициенты будут определяться сутки, то такой подход ен годится. Но с другой стороны, насколько я понял, блок АПИД должен сам производить регрулирование в режиме 6, но он просто качает выходное значение в райне входного значения ZDN. Возможно я что-то неправильно делаю. Опишите, как нужно правильно сделать в выше привиденном примере.
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
1) Проверил работу АПИД относительно определения коэффициента Кд - все работает, коэффициент определяется. 2) Прежде чем решить, что использоваться будет именно ПИД-закон регулирования сначала надо знать динамические характеристики объекта регулирования. Дело в том, что ПИД-закон не всегда оптимален, и оптимальные настройки вычисляются при соотношении времени запаздывания к постоянной времени объекта не более 0,5. Если этот показатель выше целесообразнее применять модальный регулятор!
Прежде чем ставить подобные эксперименты нужна достоверная модель объекта - без нее Вы не добьетесь никаких результатов! Настоятельно рекомендую сначала создать достоверную модуль объекта регулирования, провести исследования этой модели. Затем решить какой именно зако регулирования будет оптимален для этой модели, а уж затем создавать регулятор и исследовать его работу в различных режимах.
Posted by DreamWeaver (Участник № / Member № 1485) on :
А Вы проверяли работу АПИД при помощи объекта OBJ? Если так, то вышлете пожалуйста проект на dreamweaver@petron.ru. Да вопрос пока не в том, что результаты будут немного неоптимальными. Я хочу понять сам принцип работы. На практике пока получается, что реально регулировать (параллено с определением коэффициентов (в режиме 6)) АПИД начинает только после того, как определит первую партию коэффициентов. А сразу после запуска МРВ выход Q АПИД-а изменяется в районе уставки ZDN (вне зависимости от входа INP). После того как определятся коэффициенты, начинается регулирование. Если коэффициенты определятся за 10-15 минут, то все нормально, но если они будут определяться 2-ое суток, то недопустимо чтобы в течении этого времени контур находился без регулирования. Может можно как-нибудь задать началное значение выходных коэффициентов для блока АПИД? В таком случае можно, наугад поставить, например, KP=1.5, KD=0.75, KI=0.01. Конечно регулирование будет очень неоптимальным (по крайней мере после нескольких экспериментов можно было бы подобрать коэффициенты, при которых параметр будет кое-как удерживаться в течении 2 суток). Но преимуществом будет то, что регулирование будет (пусть и очень плохое).Я так полагаю, что плохое регулирование намного лучше варианта, когда выход Q просто меняется, например от 17% до 23% (если ZDN=20%), то есть фактически регулирования не происходит, а блок АПИД занимается только "изучением" динамики изменения контролируемого параметра.
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
Пример своего проекта выслал на Ваш E-mail. Первый регулятор - это идеальный случай, на нем можно быстро проверить работу блока и попробовать поиграть с параметрами модели, а также режимами АПИД-блока. Второй регулятор - это пример модели емкости в которую вливается поток жидкости и регулятор управляет выходным клапаном по уровню. Очень инерционный объект - на нем как раз видно, что АПИД здесь не оптимален: трудно настроиться на объект, а кроме того его постоянно уводит в автоколебания. Для такого объекта лучшим решением будет модальный регулятор с блоком идентификации на объект.
Posted by DreamWeaver (Участник № / Member № 1485) on :
А существуют ли объеты, к которым не подойдет ни АПИД-регулятор, ни модальный регулятор? На данный момент нет возможности проверить все в реальных условиях, поэтому, если я реализую возможность регулирования по АПИД-закону и при помощи модального регулятора, можно ли с уверенностью сказать, что один из этих регуляторов точно подойдет и будет оптимальным?
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
Как я уже говорил ранее - определить тип наиболее подходящего алгоритма регулирования можно только зная параметры объекта регулирования: динамические характеристики и мат. модель.