-
Вложений: 1
ПНР+АДАПТИВНЫЙ ПИД
Всем привет. Создал такую связку блок-автонастройщик W1_ANR и адаптивный пид DSP_A_PID. При первом запуске включаю ПНР он вроде бы настраивается и подбирает начальные коэффициенты. Потом запускаю адаптивный пид в работу. Есть две проблемы.Первая то что качество регулирования меня не очень устраивает а второе то, что в процессе работы коэффициенты, почему то не изменяются, хотя должны, это же адаптивный пид. Внешние возмущения на объект подавал. Объект-нагревательный элемент, возмущения-мощный вентилятор, контроллер-плк 154.Вложение 31320
-
Причём тут возмущения? Возмущения чего?
В системах с автонастройкой коэффициенты начнут меняться после изменения параметров самой системы.
Например, напряжение питания ТЭН-ов и их мощность входят в контур управления как часть коэффициента петлевого усиления, а масса нагреваемого вещества и масса гильзы термодатчика - как факторы запаздывания.
-
Ну наверное потому, что подув на объект или изменив его массу, мы изменяем его передаточную функцию, на что регулятор должен среагировать, изменив свои коэффициенты.
-
не меняются потому, что у Вас выходы автонастройки напрямую поданы на значения коэффициентов. после завершения автонастройки расчитываются коэффициенты, и должны быть однократно поданы в переменные К , I , D.
перменные подаются на вход блока АПИД. т.к. у него эти коэффициенты объявлены как In_Out он сможет их менять. а в вашем случае он может и меняет их , но прямая передача значения с выхода автонастройки перезаписывает расчитанные ей значения обратно в АПИД
-
Спасибо за ответ. Не подскажете как реализовать такую запись коэффициентов?
-
на CFC придётся немного пошаманить.
на complete АНР вешаете R_TRIG. добавляете 3 ФБ MOVE и на них через ПКМ включаете EN/ENO. выход АНР подаёте на вход MOVE , переменную на выход. на все EN вешаете выход R_TRIG. по переднему фронту complete произойдёт перемещение переменных. повторится только если заново запустит автонастройку и флаг завершения возведётся заново.
-
Вложений: 1
Артем, сделал как вы сказали, есть ошибки. Не подскажите пути устранения. Соединял напрямую к входам тоже ругается.Вложение 31340
-
переменная и имя ФБ не могут начинаться с цифры. у вас же имя "1"
и рекомендую на случай провала питания и перезагрузки системы объявить XP1 и другие коэф. как retain переменные. в такой сборке программы при последующей загрузке контроллера будут установлены последние актуальные значения. условия при запуске хоть и будут другими, что потребует постепенной адаптации ФБ, но он хотя бы стартанёт не с нуля. тут подумайте , как удобнее будет Вам.
UPD. установите последовательный порядок выполнения. ПКМ по полю - порядок выполнения - в соответствии с потоком данных.
-
Вложений: 1
Артем, спасибо большое за информацию. Про retain я понял, попробую сделать. Но есть вопрос опять. Все вроде бы работает и неплохо регулирует, но коэффициенты ПИД все равно не изменяются, и должны ли они меняться в этих полях?Вложение 31354
-
с течением времени или при происхождению какого то условия. к сожалению механики работы блока не знаю, поэтому точную информацию предоставить не могу.
однако, следуя описанию
XP, TD, TI, VPV, PV0, Pv1, Pv2, PMean_1, PMean_2, Ta_1, Ta_2 – см. входные параметры.
Примечание. Данные выходные параметры могут изменяться (перерассчитываются) по сравнению с аналогичными
входными, если используется функция подстройки ramp = 1 и EN_STAT = 1.
а у Вас rampr = false , поэтому скорее всего не подстраивается