Просмотр полной версии : ПНР+АДАПТИВНЫЙ ПИД
Eugene_vd
23.05.2017, 22:30
Всем привет. Создал такую связку блок-автонастройщик W1_ANR и адаптивный пид DSP_A_PID. При первом запуске включаю ПНР он вроде бы настраивается и подбирает начальные коэффициенты. Потом запускаю адаптивный пид в работу. Есть две проблемы.Первая то что качество регулирования меня не очень устраивает а второе то, что в процессе работы коэффициенты, почему то не изменяются, хотя должны, это же адаптивный пид. Внешние возмущения на объект подавал. Объект-нагревательный элемент, возмущения-мощный вентилятор, контроллер-плк 154.31320
Причём тут возмущения? Возмущения чего?
В системах с автонастройкой коэффициенты начнут меняться после изменения параметров самой системы.
Например, напряжение питания ТЭН-ов и их мощность входят в контур управления как часть коэффициента петлевого усиления, а масса нагреваемого вещества и масса гильзы термодатчика - как факторы запаздывания.
Eugene_vd
24.05.2017, 11:58
Ну наверное потому, что подув на объект или изменив его массу, мы изменяем его передаточную функцию, на что регулятор должен среагировать, изменив свои коэффициенты.
Трофимов Артем
24.05.2017, 12:19
не меняются потому, что у Вас выходы автонастройки напрямую поданы на значения коэффициентов. после завершения автонастройки расчитываются коэффициенты, и должны быть однократно поданы в переменные К , I , D.
перменные подаются на вход блока АПИД. т.к. у него эти коэффициенты объявлены как In_Out он сможет их менять. а в вашем случае он может и меняет их , но прямая передача значения с выхода автонастройки перезаписывает расчитанные ей значения обратно в АПИД
Eugene_vd
24.05.2017, 12:38
Спасибо за ответ. Не подскажете как реализовать такую запись коэффициентов?
Трофимов Артем
24.05.2017, 13:11
на CFC придётся немного пошаманить.
на complete АНР вешаете R_TRIG. добавляете 3 ФБ MOVE и на них через ПКМ включаете EN/ENO. выход АНР подаёте на вход MOVE , переменную на выход. на все EN вешаете выход R_TRIG. по переднему фронту complete произойдёт перемещение переменных. повторится только если заново запустит автонастройку и флаг завершения возведётся заново.
Eugene_vd
24.05.2017, 14:08
Артем, сделал как вы сказали, есть ошибки. Не подскажите пути устранения. Соединял напрямую к входам тоже ругается.31340
Трофимов Артем
24.05.2017, 14:11
переменная и имя ФБ не могут начинаться с цифры. у вас же имя "1"
и рекомендую на случай провала питания и перезагрузки системы объявить XP1 и другие коэф. как retain переменные. в такой сборке программы при последующей загрузке контроллера будут установлены последние актуальные значения. условия при запуске хоть и будут другими, что потребует постепенной адаптации ФБ, но он хотя бы стартанёт не с нуля. тут подумайте , как удобнее будет Вам.
UPD. установите последовательный порядок выполнения. ПКМ по полю - порядок выполнения - в соответствии с потоком данных.
Eugene_vd
24.05.2017, 15:50
Артем, спасибо большое за информацию. Про retain я понял, попробую сделать. Но есть вопрос опять. Все вроде бы работает и неплохо регулирует, но коэффициенты ПИД все равно не изменяются, и должны ли они меняться в этих полях?31354
Трофимов Артем
24.05.2017, 16:13
с течением времени или при происхождению какого то условия. к сожалению механики работы блока не знаю, поэтому точную информацию предоставить не могу.
однако, следуя описанию
XP, TD, TI, VPV, PV0, Pv1, Pv2, PMean_1, PMean_2, Ta_1, Ta_2 – см. входные параметры.
Примечание. Данные выходные параметры могут изменяться (перерассчитываются) по сравнению с аналогичными
входными, если используется функция подстройки ramp = 1 и EN_STAT = 1.
а у Вас rampr = false , поэтому скорее всего не подстраивается
Гарчев Евгений
24.05.2017, 17:07
Ничего не утверждаю. т.к. "внутренностей" блока тоже не знаю, но по-моему, адаптивность этого ф.б. ПИД-а заключается в подстройке коэф-тов только при изменении уставки ...
Eugene_vd
26.05.2017, 15:22
Артем еще такой вопрос. Никак не могу добиться изменений коэффициентов. Возможно ли такое из за того что после цикла автонастройки на "проводах" или в поле для переменной остается константа и регулятор просто берет в расчет ее и не может изменить? и можно ли ее обнулять?
Трофимов Артем
26.05.2017, 15:50
уточнил информацию у коллег. коэффициенты меняются при смене уставки для оптимального перехода от одного режима к другому и поддержания второго.
Powered by vBulletin® Version 4.2.3 Copyright © 2025 vBulletin Solutions, Inc. All rights reserved. Перевод: zCarot