Дизайнът на предсказуем контролер на модел обикновено изисква известна настройка на тежестите на разходната функция. Тази тема предоставя съвети за настройка. Вижте Задача за оптимизация за подробности относно уравненията на функцията на разходите.

Първоначална настройка

Преди да настроите теглата на разходната функция, посочете коефициенти на мащаба за всяка променлива на входа и изхода на инсталацията. Дръжте тези фактори на мащаба постоянни, докато настройвате контролера. Вижте Специфициране на мащабни фактори за повече информация.

По време на настройката използвайте командите за чувствителност и преглед, за да получите обратна връзка за диагностика. Командата за чувствителност има за цел да помогне при избора на тегло на функцията на разходите.

Променете тежестта, като зададете подходящото свойство на контролера, както следва:

За да промените това тегло Задайте това свойство на контролераArray size
Референтно проследяване на OV (w y) Тежести.OV p-by- ny
MV справочно проследяване (w u) Тежести.MV p-by- nu
Потискане на нарастването на MV (w Δu) Тежести.MVRate p-by- nu

Тук MV е манипулирана от растението променлива, а nu е броят на MV. OV е растителна производствена променлива и ny е броят на OV. И накрая, p е броят на стъпките в хоризонта на прогнозата.

Ако масив с тегло съдържа n p реда, контролерът дублира последния ред, за да получи пълен масив от p реда. По подразбиране (n = 1) минимизира броя на параметрите, които трябва да бъдат настроени, и поради това се препоръчва. За алтернатива вижте Променливи във времето тегла и ограничения.

Съвети за задаване на OV тежести

Като се имат предвид ny OVs, да предположим, че nyc трябва да се държи на или близо до референтна стойност (зададена точка). Ако i-тият OV не е в тази група, задайте Weights.OV (:, i) = 0.

Ако nu ≥ nyc, обикновено е възможно да се постигне нулева грешка при проследяване на OV при стабилно състояние, ако поне MVs на nyc не са ограничени. По подразбиране Weights.OV = ones (1, ny) е добра отправна точка в този случай.

Ако nu> nyc обаче, имате излишни степени на свобода. Следователно, ако не предприемете превантивни мерки, MVs може да се отклони, дори когато OVs са близо до референтните си стойности.

Най-често срещаната превантивна мярка е да се определят референтни стойности (цели) за броя на излишните MV, които имате, nu - nyc. Такива цели могат да представляват икономически или технически желани стойности в стабилно състояние.

Алтернативна мярка е да се зададе w∆u> 0 за най-малко нулеви MV, за да се обезкуражи контролерът да не ги променя.

Ако nu nyc, нямате достатъчно степени на свобода, за да поддържате всички необходими OV в зададена точка. В този случай помислете за приоритизиране на референтното проследяване. За да направите това, задайте Weights.OV (:, i)> 0, за да зададете приоритета за i-то OV. Грубите насоки за това са както следва:

0,05 - Нисък приоритет: Приемлива е голяма грешка при проследяване

0,2 - приоритет под средния

1 - Среден приоритет - по подразбиране. Използвайте тази стойност, ако nyc = 1.

5 - Приоритет над средния

20 - Висок приоритет: Желана е малка грешка при проследяване

Съвети за задаване на MV тегла

По подразбиране Weights.MV = нули (1, nu). Ако някои MV имат цели, съответните референтни тегла на MV за проследяване трябва да са ненулеви. В противен случай целите се игнорират. Ако броят на MV целите е по-малък от (nu - nyc), опитайте да използвате еднакво тегло за всяка. Предложената стойност е 0,2, същото като проследяването на OV под средното. Тази стойност позволява на MVs временно да се отдалечат от целите си, за да подобрят проследяването на OV.

В противен случай целите за проследяване на референтни MV и OV вероятно ще си противоречат. Приоритизирайте, като зададете стойностите Weights.MV (:, i) по начин, подобен на този, предложен за Weights.OV (вижте по-горе). Типичната практика задава средния приоритет за проследяване на MV по-нисък от средния приоритет за проследяване на OV (напр. 0,2 ith MV няма цел, задайте тежести. MV (:, i) = 0 (по подразбиране).

Съвети за задаване на MVRate тегла

По подразбиране Weights.MVRate = 0,1 * единици (1, nu). Причините за това по подразбиране включват:

Ако централата е стабилна с отворен цикъл, големи увеличения са ненужни и вероятно нежелани. Например, когато прогнозите на модела са несъвършени, както винаги е на практика, по-консервативните стъпки обикновено осигуряват по-стабилна производителност на контролера, но по-лошо референтно проследяване.

Тези стойности принуждават QP хесианската матрица да бъде положително определена, така че QP има уникално решение, ако няма активни ограничения.

За да насърчите контролера да използва още по-малки стъпки за i-то MV, увеличете стойността на Weights.MVRate (:, i).

Ако инсталацията е нестабилна с отворен цикъл, може да се наложи да намалите средното тегло. Стойността на MVRate, за да позволи достатъчно бърза реакция на разстройства.

Съвети за задаване на ECR тежести

Вижте Омекотяване на ограничения за съвети относно свойството Weights.ECR.

Тестване и усъвършенстване

За да се съсредоточите върху настройването на индивидуалните тегла на функцията на разходите, изпълнете симулационни тестове със затворен цикъл при следните условия:

Няма грешка в прогнозата. Моделът за прогнозиране на контролера трябва да бъде идентичен с модела на инсталацията. И двамата MPC Designer app и функцията sim предоставят възможност за симулация при тези условия.

Използвайте промени в референтните и измерените сигнали за смущения (ако има такива), за да принудите динамичен отговор. Въз основа на резултатите от всеки тест, помислете за промяна на величините на избраните тегла.

Един от предложените подходи е да се използват постоянни Weights.OV (:, i) = 1, за да се обозначи „среден приоритет на проследяване на OV“ и да се коригират всички други тегла, за да бъдат спрямо тази стойност. Използвайте командата за чувствителност за насоки. Използвайте командата review, за да проверите за типични проблеми с настройката, като липса на стабилност в затворен цикъл.

Вижте Регулиране на модели на смущения и шум за тестове, фокусирани върху способността на контролера да отхвърля смущения.

Здравина

След като имате тежести, които работят добре при горните условия, проверете за чувствителност към грешка в прогнозата. Има няколко начина да го направите:

Ако имате нелинеен заводски модел на вашата система, като модел Simulink ®, симулирайте производителността на затворения контур в работни точки, различни от тази, за която се прилага LTI моделът за прогнозиране.

Като алтернатива, изпълнете симулации със затворен цикъл, при които LTI моделът, представящ инсталацията, се различава (например по структура или стойности на параметрите) от този, използван в модела за прогнозиране на MPC. И двамата MPC Designer app и функцията sim предоставят възможност за симулация при тези условия. За пример вижте Устойчивост на тестовия контролер.

Ако производителността на контролера изглежда значително се влошава в сравнение с тестовете без грешка в прогнозата, за стабилна инсталация с отворен цикъл, помислете за това да направите контролера по-малко агресивен.

В MPC Designer, на настройката раздела, можете да го направите, като използвате изпълнението на затворен цикъл плъзгач.

грешка прогнозата

Придвижването към по-стабилен контрол намалява тежестите на OV/MV и увеличава тежестите на MV Rate, което води до спокоен контрол на изходите и по-консервативни ходове за управление.

В командния ред можете да направите следните промени, за да намалите агресивността на контролера:

Увеличете всички стойности на Weight.MVRate с мултипликационен коефициент от порядък 2.

Намалете всички стойности на Weight.OV и Weight.MV, като разделите на един и същ коефициент.

След регулиране на тежестите, преоценете производителността както със, така и без грешка в прогнозата.

Ако и двете са приемливи, спрете да настройвате тежестите.

Ако има подобрение, но все още твърде много влошаване с грешка в модела, увеличете допълнително здравината на контролера.

Ако промяната не подобри значително производителността, възстановете първоначалните тегла и се съсредоточете върху настройката на оценителя на състоянието (вижте Регулиране на модели на смущения и шум).

И накрая, ако промените за настройка не осигуряват адекватна стабилност, помислете за една от следните опции: